gnome-console裡的字體設置 (已解決,詳細方法在11樓)

系统字体配置、中文显示和输入法问题
回复
头像
xxdaystar
帖子: 225
注册时间: 2006-07-28 14:58
来自: 廣州

gnome-console裡的字體設置 (已解決,詳細方法在11樓)

#1

帖子 xxdaystar » 2009-03-26 1:08

我點編輯->當前配制文件裡有個字體設置,但我設了我想要的中文,英文就難看,設了英文,中文就難看,因為只有一個可以選,是怎麼解決的?
上次由 xxdaystar 在 2009-03-27 12:48,总共编辑 1 次。
头像
qiang_liu8183
论坛版主
帖子: 10699
注册时间: 2006-09-10 22:36
系统: Arch Debian
来自: 北京

Re: gnome-console裡的字體設置

#2

帖子 qiang_liu8183 » 2009-03-26 2:37

06年注册,问这种问题?不说什么了
看破、放下、自在、随缘、念佛
真诚、清净、平等、正觉、慈悲
头像
xxdaystar
帖子: 225
注册时间: 2006-07-28 14:58
来自: 廣州

Re: gnome-console裡的字體設置

#3

帖子 xxdaystar » 2009-03-26 7:22

是嗎,我把論壇所有關鍵字 終端 字體設置 都搜索了一下,沒看到想要的信息。
把selector也調了一下,還是不行。
以前沒怎麼美化過不太清楚啊~
celedate
帖子: 2
注册时间: 2009-03-26 14:54

Re: gnome-console裡的字體設置

#4

帖子 celedate » 2009-03-26 15:12

支持一下。我也被ubuntu控制台字体折腾了很久,一直无法解决,希望这里有高手能给出有效的解决方法

我的ubuntu是装在vmware里面,然后安装了微软的雅黑字体,在gedit里面,英文字体很好看,可是在控制台里,字体非常难看,而且出现有些字母会互相遮挡,有时分不出m和n

在网上搜索,一般的建议都是用命令sudo dpkg-reconfigure console-setup,但是通过这个命令来回改了很多次,基本上所有的参数都试过了,还是无法解决。
头像
greco
帖子: 2487
注册时间: 2007-04-06 10:24
来自: ~/Shanghai

Re: gnome-console裡的字體設置

#5

帖子 greco » 2009-03-26 15:43

控制台菜单里面有设置

自己找

换个字体就好了
http://silenceisdefeat.com/~greco

代码: 全选

''.join([chr(ord(c)-2) for c in 'O{"G/ockn"ku<"itgeq0ujkBiockn0eqo'])
echo -n "Z3JlY28uc2hpQGdtYWlsLmNvbQ==" | base64 -d
头像
想入非非
帖子: 8078
注册时间: 2008-07-14 22:42
来自: Beijing
联系:

Re: gnome-console裡的字體設置

#6

帖子 想入非非 » 2009-03-26 16:18

一直用的就是宋体。。。难道我 :em06
Ubuntu User
头像
xxdaystar
帖子: 225
注册时间: 2006-07-28 14:58
来自: 廣州

Re: gnome-console裡的字體設置

#7

帖子 xxdaystar » 2009-03-26 19:12

我继续摸索调整了一下selector,是可以改变的,先前可能有些地方没太注意。
不过我也不太清楚其到底是怎样调用的。

8.04

/etc/fonts/conf.d/69-language-selector-zh-cn.conf

代码: 全选

<fontconfig>

	<match target="pattern">
		<test qual="any" name="family">
			<string>serif</string>
		</test>
		<edit name="family" mode="prepend" binding="strong">
			<string>WenQuanYi Bitmap Song</string>
			<string>Microsoft YaHei</string>
			<string>AR PL UMing CN</string>
			<string>AR PL ShanHeiSun Uni</string>
			<string>simsun</string>
			<string>Bitstream Vera Serif</string>
			<string>DejaVu Serif</string>
			<string>AR PL UKai CN</string>
			<string>AR PL ZenKai Uni</string>
		</edit>
	</match> 
	<match target="pattern">
		<test qual="any" name="family">
			<string>sans-serif</string>
		</test>
		<edit name="family" mode="prepend" binding="strong">
			<string>Bitstream Vera Sans</string>
			<string>WenQuanYi Bitmap Song</string>
			<string>Microsoft YaHei</string>
			<string>DejaVu Sans</string>
			<string>WenQuanYi Zen Hei</string>
			<string>simsun</string>
			<string>AR PL UMing CN</string>
			<string>AR PL ShanHeiSun Uni</string>
			<string>AR PL UKai CN</string>
			<string>AR PL ZenKai Uni</string>
		</edit>
	</match> 
	<match target="pattern">
		<test qual="any" name="family">
			<string>monospace</string>
		</test>
		<edit name="family" mode="prepend" binding="strong">
			<string>Bitstream Vera Sans Mono</string>
			<string>DejaVu Sans Mono</string>
			<string>Microsoft YaHei</string>
			<string>WenQuanYi Zen Hei</string>
			<string>simsun</string>
			<string>AR PL UMing CN</string>
			<string>AR PL ShanHeiSun Uni</string>
			<string>WenQuanYi Bitmap Song</string>
			<string>AR PL UKai CN</string>
			<string>AR PL ZenKai Uni</string>
		</edit>
	</match> 

</fontconfig>
现在如果我的控制台选雅黑的话英文还是不能选择正确的mono字体。
但如果我选了Biitstream Vera Sans Mono的话中文就选了雅黑了。我觉得很奇怪,为什么不是文泉译呢,调用是按哪个顺序的?
Screenshot-3.png
我会继续摸索,把知道的贴上来~ :em20

先查查那个69-language-selector-zh-cn.conf和 99-language-selector-zh.conf 是干什么的。

ubuntu的中文字体机制如何运作的
celedate
帖子: 2
注册时间: 2009-03-26 14:54

Re: gnome-console裡的字體設置

#8

帖子 celedate » 2009-03-26 22:01

把终端的字体设置成楼上途中显示的“Bitstream Vera Sans Mono”,字体终于显示正常,不再有互相遮挡的情况
但是选择其他的字体,比如雅黑,或者mono,则会出现字母互相遮挡的情况
这是为什么呢?有没有高手解答一下

我的ubuntu是装了英文版,之后用了一个命令把语言设成了中文(具体的命令忘了,也是在这个网站的wiki上找的)
所以我的系统有点怪异,楼上说的这个文件我的系统就没有:/etc/fonts/conf.d/69-language-selector-zh-cn.conf

代码: 全选

:/etc/fonts/conf.d$ ls -a
.                                 49-sansserif.conf
..                                50-user.conf
10-antialias.conf                 51-local.conf
10-hinting.conf                   52-languageselector.conf
10-hinting-medium.conf            53-monospace-lcd-filter.conf
10-no-sub-pixel.conf              60-latin.conf
20-fix-globaladvance.conf         64-ttf-arphic-uming.conf
20-unhint-small-vera.conf         65-fonts-persian.conf
25-ttf-arphic-uming-bitmaps.conf  65-nonlatin.conf
25-ttf-arphic-uming-render.conf   65-ttf-thai-tlwg.conf
30-cjk-aliases.conf               69-unifont.conf
30-defoma.conf                    70-no-bitmaps.conf
30-metric-aliases.conf            80-delicious.conf
30-urw-aliases.conf               90-synthetic.conf
35-ttf-arphic-uming-aliases.conf  90-ttf-arphic-uming-embolden.conf
40-nonlatin.conf                  90-ttf-thai-tlwg-synthetic.conf
41-ttf-arphic-uming.conf          ttf-malayalam-fonts.conf
45-latin.conf
头像
rhfcaesar
帖子: 2996
注册时间: 2005-11-17 15:45
来自: 湖北

Re: gnome-console裡的字體設置

#9

帖子 rhfcaesar » 2009-03-27 4:56

你直接写个~/.fonts.conf,随便你想怎么调用都行。

代码: 全选

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<!-- /etc/fonts/local.conf file for local customizations -->

<fontconfig>

 <!--Default fonts -->
 <dir>/usr/share/fonts</dir>

 <alias>
  <family>serif</family>
  <prefer>
   <family>Bitstream Vera Serif</family>
   <family>LiHei Pro</family>
<family>STHeiti</family>
  </prefer>
 </alias>

 <alias>
  <family>sans-serif</family>
  <prefer>
   <family>Bitstream Vera Sans</family>
   <family>LiHei Pro</family>
<family>STHeiti</family>
  </prefer>
 </alias>

 <alias>
  <family>monospace</family>
  <prefer>
   <family>Bitstream Vera Sans Mono</family>
   <family>LiHei Pro</family>
<family>STHeiti</family>
  </prefer>
 </alias>

</fontconfig>
按顺序调用第一个汉字字体。

代码: 全选

枪杆子里面出政权
头像
xxdaystar
帖子: 225
注册时间: 2006-07-28 14:58
来自: 廣州

Re: gnome-console裡的字體設置

#10

帖子 xxdaystar » 2009-03-27 11:36

現在比較清楚了,其實很好理解,只是以前一直沒看過這面的東西。知道的不用往下看了。

吃完飯後再補上。 :em20
头像
xxdaystar
帖子: 225
注册时间: 2006-07-28 14:58
来自: 廣州

Re: gnome-console裡的字體設置

#11

帖子 xxdaystar » 2009-03-27 12:35

總得來說,字體分為三種:Serif, Sans Serif 和 MonoSpace, 中文叫襯線,無襯線和等寬字體。
Serif的意思是,在字的笔画开始及結束的地方有额外的装饰,而且笔画的粗细会因直橫的不同而有不同。
相反的,Sans Serif则沒有这些额外的装饰,笔画粗细大致差不多。
Monospace表示等寬,即每個字體所占的寬度一樣,像英文的i和o非等寬的話寬度相差很大。
入下圖:
ccc.jpg
ccc.jpg (10.06 KiB) 查看 1855 次
常用的Serif比如有 BitStream Vera Serif, Times New Roman等
常用的Sans Serif比如有 Bitstream Vera Sans等
常用的monospace比如有 Bitstream Vera Sans Mono等 中文字體應該都是等寬的。
大家可以根據字體的喜好試一下。如何知道自己系統上有那些字體?$fc-list

對於一個程序而言,選擇字體有一定的順序,比如說程序有字體設置的話將會使用這個字體,找不到再去比如說~/.fonts.conf裡找,最後在/etc/fonts/conf.d/69-language-selector-zh-cn.conf(ubuntu8.04),我沒有~/.fonts.conf,所以我直接編輯69-language-selector-zh-cn.conf,文件內容:

代码: 全选

     1	<fontconfig>
     2	
     3		<match target="pattern">
     4			<test qual="any" name="family">
     5				<string>serif</string>
     6			</test>
     7			<edit name="family" mode="prepend" binding="strong">
     8				<string>Bitstream Vera Serif</string>
     9				<string>WenQuanYi Bitmap Song</string>
    10			<string>Microsoft YaHei</string>
    11			</edit>
    12		</match> 
    13		<match target="pattern">
    14			<test qual="any" name="family">
    15				<string>sans-serif</string>
    16			</test>
    17			<edit name="family" mode="prepend" binding="strong">
    18				<string>Bitstream Vera Sans</string>
    19				<string>WenQuanYi Bitmap Song</string>
    20				<string>Microsoft YaHei</string>
    21			</edit>
    22		</match> 
    23		<match target="pattern">
    24			<test qual="any" name="family">
    25				<string>monospace</string>
    26			</test>
    27			<edit name="family" mode="prepend" binding="strong">
    28				<string>Bitstream Vera Sans Mono</string>
    29				<string>Microsoft YaHei</string>
    30			</edit>
    31		</match> 
    32	
    33	</fontconfig>
裡面的順序就是查找字體的順序,比如說一個程序沒有自己的字體設置時,但又要用到monospace字體,它會按上面按上面28-29行的順序進行匹配,如果Bitstream Vera Sans Monof能夠滿足則用它,如果用到了中文或英文之外的字體(因為Bitstream Vera Sans Mono只是英文字體)則繼續向下,這裡是Microsoft YaHei。如此類推。

對於終端而言,使用的是mono字體。如果在終端設置裡選擇了一個字體,他將會使用這個字體,比如“Microsoft YaHei”,但問題是“Microsoft YaHei”的英文並不是等寬的,沒辦法,也只好硬著頭皮上了,所以看到的結果是英文不行,中文ok。那麼既想要設置英文又要設置中文如何辦?這就需要在某個尋找順序的文件上將英文字體放在中文字體的前面,比如說我的69-language-selector-zh-cn.conf的28-29行。當匹配完英文後發現不能匹配中文就繼續向下查找和匹配。對於前面說的gnome-terminal而言,可以在設置界面裡選一個自己喜歡的英文mono字體,因為不是中文的,所以它會到上面文件裡的23-31查找順序,直到找到第一個 中文字體為止,這裡是雅黑字體(29行)。

:em05

celedate說的沒那個文件,是因為你用的是8.04之前的版本嗎?你可以自己找一下,有個相應的文件,好像在/etc/fonts/下面一個叫selector的文件,8.04只是把這個文件分為了4個而已,69****是其中的一個。

或者你也可以按9樓的方法在家目錄下建一個,他的優先應該排在/etc/下設置文件的前面。
头像
rhfcaesar
帖子: 2996
注册时间: 2005-11-17 15:45
来自: 湖北

Re: gnome-console裡的字體設置 (已解決,詳細方法在11樓)

#12

帖子 rhfcaesar » 2009-03-27 17:11

嗯,很好的经验。 :em11

代码: 全选

枪杆子里面出政权
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: gnome-console裡的字體設置 (已解決,詳細方法在11樓)

#13

帖子 adagio » 2009-03-27 17:16

学习了 :em11
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
pentie
帖子: 228
注册时间: 2007-08-27 22:03
来自: http://apt-blog.co.cc/

Re: gnome-console裡的字體設置 (已解決,詳細方法在11樓)

#14

帖子 pentie » 2009-03-30 17:19

terminal跟console不同一回事吧?
回复