Ubuntu 9.04中文字体设置备忘

2009-11-06 11:24
    我在安装Ubuntu时选择了用English安装,装上后默认中文字体是AR PL UMing CN,看着中文怪怪的,我要把它改成文泉驿的宋体。看了网上的配置,大家都说要修改配置文件/etc/fonts/conf.d/69-language-selector-zh-cn.conf,我发现我的/etc/fonts/conf.d/下没有这个文件,/etc/fonts/conf.avail倒是有这个文件,好修改它,然后重启X,没有效果(当然没有效果,往下看)。就这样我对/etc/fonts/conf.avail/69-language-selector-zh-cn.conf进行了N次的修改与测试,一点效果也没有。
怎样才能知道应用程序到底加载了哪些字体呢?如果能知道这个,我就能找出原因来。于是我决定看看fonts-config的文档,发现了FC_DEBUG,把它设置为8就可以看到应用启动时加载字体的情况,把FC_DEBUG设置为1024,就可以看到应用程序加载的字体的配置文件。我真是要感谢设计font-config的人,想的太周到了。就我的测试好像应该先清空一下font cache,运行下面的命令:
设置FC_DEBUG为1024
$export FC_DEBUG=1024
$sudo fc-cache -vf
$gedit
这样我就能看到gedit加载了哪些字体的配置文件,我才发现gedit加载的全是/etc/fonts/conf.d下的文件,我恍然大悟,我应该在/etc/fonts/conf.d下建个符号链接指向/etc/fonts/conf.avail/69-language-selector-zh-cn.conf(请各位看官鄙视我!)。建立链接,重启X,一切OK。

我发现69-language-selector-zh-cn.conf有三个部分,分别是对serif,sans-serif和monospace字体的设置,这三种字体有什么区别呢?

在西方国家罗马字母阵营中,字体分为两大种类:Sans Serif和 Serif,打字机体虽然也属于 Sans Serif,但由于是等宽字体,所以另外独立出 Monospace 这一种类,例如在Web中,表示代码时常常要使用等宽字体。

Serif的意思是,在字的笔画开始及結束的地方有额外的装饰,而且笔画的粗细会因直橫的不同而有不同。相反的,Sans Serif则沒有这些额外的装饰,笔画粗细大致差不多。

可以看出,我们平时所用的Georgia、Times New Roman等就属于Serif字体,而Arial、Tahoma、Verdana等则属于Sans Serif字体。
对中文而言,同样存在这两大种类,宋体、细明体(繁体中常用)等就属于Serif,而黑体、幼圆等则属于Sans Serif。

Serif
英文字体:Georgia、Times New Roman等。Top 10 Serif Body Text Fonts
中文字体:宋体、细明体(繁体中常用)等。
Sans Serif
英文字体:Arial、Tahoma、Verdana等。Top 10 Sans Serif Body Text Fonts
中文字体:黑体、幼圆等。

按理来说应该这样配置:Serif部分,用文泉驿宋体,Sans Serif用文泉驿正黑或文泉驿微米黑,Monospace用文泉驿等宽正黑或文泉驿等宽微米黑.
可是gnome默认的字体是sans,中文会用文泉驿正黑或文泉驿微米黑,我喜欢文泉驿宋体,所以,Sans Serif我也用了文泉驿宋体,下面是我的配置文件。

<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>WenQuanYi Micro Hei</string>
<string>WenQuanYi Zen Hei</string>
<string>AR PL UMing CN</string>
<string>AR PL ShanHeiSun Uni</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>DejaVu Sans</string>
<string>WenQuanYi Bitmap Song</string>
<string>WenQuanYi Micro Hei</string>    
<string>WenQuanYi Zen Hei</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>WenQuanYi Micro Hei Mono</string>
<string>WenQuanYi Zen Hei Mono</string>
<string>WenQuanYi Bitmap Song</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> 

</fontconfig>

参考文献:
http://forum.ubuntu.org.cn/viewtopic.php?f=8&t=144940&start=0
http://hi.chinaunix.net/?uid-288152-action-viewspace-itemid-6533
http://blog.csdn.net/wuyao721/archive/2009/08/09/4428824.aspx

你可能感兴趣的:(ubuntu)