在前一篇随笔中,我详细讨论了字体的分类及用途,也以Fedora 20为例,展示了字体配置的思路和方法。我在配置Fedora 20系统字体的时候,采用的是一种釜底抽薪的方法,完全抛开了系统原有的配置文件,所有的配置从头开始。事实上,任何一个Linux发行版本身已经做了很多的字体配置工作,完全将系统默认的配置弃之不用并不是最好的办法。配置系统字体还可以采用锦上添花的方式,也就是保持系统原有的配置文件不变,只针对我们自己的需求补充几个配置文件即可。
在这里,我准备将我新安装的Ubuntu 14.10系统的字体进行一点美化。考虑到很多人在使用Linux系统的时候喜欢和Windows系统进行对比,所以我决定借用Windows中的字体,将Ubuntu配置为和Windows相同的显示效果。基本思路如下:
1.在Ubuntu的界面中使用Tahoma字体搭配微软雅黑字体,英文为Tahoma字体,中文为微软雅黑;
2.控制台和编程的时候使用Consolas字体搭配微软雅黑字体,英文为Consolas,中文为微软雅黑;
3.借用Windows中常用的六套中文字体:宋体、仿宋、黑体、楷书、隶书、幼圆,这样在Ubuntu中进行排版工作的时候,可以达到和在Windows中排版一样的效果;
4.英文的Serif字体搭配中文的宋体,Sans-Serif字体搭配中文的微软雅黑;
5.对于小字号的宋体开启点阵,其它字体不需要开启点阵。
目标一旦确定,具体的配置工作就比较好进行了。下面开始具体的配置过程。
设置系统字体 设置系统字体需要一个工具,那就是Unity Tweak Tool。在Ubuntu系统下,该工具比Gnome Tweak Tool好用。安装该工具后,就可以使用它对系统字体进行配置。从下图可以看出,系统中用到字体的地方可以分为四类,其中默认字体和窗口标题字体我都将之设置为Ubuntu字体,大小为11pt。这里Ubuntu字体就是UI字体,经常用在程序的对话框、菜单栏等地方,Windows中与之对应的是Tahoma。文档字体我设置为11pt的Sans,等宽字体我设置为12pt的Monospace,Sans和Monospace都只能算是字体分类,具体对应什么字体就看我们的配置了。
微软是一个很不错的公司,它将其系统中使用的几套英文字体如Arial、Verdena等开放了,可以供大家免费使用。当然,这些开放的字体中不包含Tahoma和Consolas。在Ubuntu中,可以直接从软件源中安装ttf-mscorefonts-installer,该软件安装的时候会自动下载安装微软提供的几套英文字体。如下图:
系统的配置文件,除了/etc/fonts.conf外,其余的配置文件都在/etc/fonts/conf.d目录中。进入该目录ls一下,可以看到配置文件还真不少,其中每一个文件前面都有一个编号。如下图:
这些编号有什么用呢?或者说Ubuntu对字体的配置采取的是一个什么样的思路呢?这个问题很好回答,看一下README就可以了。如下图:
从上图可以看出,编号00到09的配置文件主要用来设置存放字体的目录,编号10到19的配置文件用来设置系统中的全局属性,比如hinting啊、antialias啊什么的,而编号20到29的配置文件用来设置某些字体的显示属性,30到39就是针对特定的字体进行替换,如果系统中有某些著名的字体没有安装的话,可以把它替换成其它与之相似的字体,40到49是对字体进行分类,50到59是载入其它的配置文件,60到69则是针对分类选择具体的字体,后面的懒得讲了。可以看出,这里的字体配置思路和我前面一篇随笔中使用的思路是一模一样的。呵呵,其实是我借鉴了它。
同时,通过50-user.conf文件可以看到,我们完全可以把自己的配置文件放到~/.fonts.conf.d目录中。在后面的配置过程中,我的配置文件将遵守同样的编号原则。
借用Windows的字体 微软只公开了几个英文字体,而Tahoma和Consolas以及所有的中文字体我们只有亲自动手去Windows系统下copy了。将借用的字体放到~/.fonts目录下,如下图:
最后,进入~/.fonts.conf.d目录,编写相应的配置文件。
第一步,设置dpi为96,因为这是一个全局设置,所以我取的文件名是10-dpi.conf。该配置文件内容很简单,如下图:
第二步,设置宋体在12px、13px、14px、15px、16px和18px的时候使用点阵,由于这是针对某个特定字体的配置,所以我取的文件名是26-simsun-render.conf。如下图:
第三步,设置等宽字体为consolas搭配微软雅黑,该配置内容也很简单,由于是为某个类别指定字体,所以我取的文件名是66-monospace.conf。如下图:
第四步,设置Sans-Serif为Verdana搭配微软雅黑,文件名为67-sans.conf。如果不想使用点阵就不用安装文泉驿点阵正黑,如果不喜欢微软雅黑就把Droid Sans Fallback放到微软雅黑的前面。如下图:
第五步,设置Serif的中文字体为宋体,文件名为68-serif.conf,如下图:
第六步,设置界面字体,将Ubuntu替换成Tahoma搭配微软雅黑,文件名为69-ui.conf,内容如下图:
配置完成后,fc-cache一下,就可以发现控制台中的字体从Dejavu Sans Mono变成Consolas了,中文为微软雅黑。打开网页看我之前编写的字体测试,发现显示效果也很不错哦。如下图:
和之前的那一篇随笔相比,这里使用的配置方法要简洁明了得多。可以说,只要掌握的字体配置的原理,在Linux系统下配置字体将再也不是什么难事。