Archlinux-Font 配置
默认的配置,无论是英文还是中文,显示效果都不太满意。网上例子大都解释不清楚,不敢随意尝试,怕越改越乱。
系统配置 [/etc/fonts/*]
首先要了解的是系统将字体分为那几大类?
主要分为三大类,
衬型,非衬型和等宽,具体介绍和效果可以见这里
首先要了解的是系统是怎样选择字体的?
系统的配置文件位于
/etc/fonts/conf.d下, 通过阅读README, 了解这些配置前面数字的意义以及系统读取这些配置文件的顺序。
这些配置文件其实我们只需要了解两个: 49-sansserif.conf & 65-nonlatin.conf。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
上面的配置简单明了,将所有的字体归为了三大类,而不属于这三大类的字体,默认归为sans-serif。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
上面的配置文件则是各类字体在分别的类别中优先级,越靠前的字体,优先级越高。
从上面两个配置文件我们可以基本上了解为什么Linux系统装完wenquanyi zen hei字体后,系统的中文就”默认”成了该字体,然而该字体在linux下,稍显模糊。
相比较下,我更喜欢wenquanyi zen hei sharp, 十分适合终端显示,而wenquanyi micro hei则十分适合浏览器显示。
无图无真相,下面是系统的字体配置效果。

用户配置 [~/.config/fontconfig/fonts.conf]
SO?如何达成上面截图中所示的中文现实效果,直接贴配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
很简单吧,就像前面介绍的,我们只要把自己喜欢的中文字体放在各类别的前面就可以了。
这里再稍微解释一下为什么会有第一个match的配置,原因也很简单,Terminus字体属于不常见的字体,不在系统默认的字体分类里面。
根据前面的介绍,不在三大分类的字体会被默认分为sans-serif,因而中文显示会是wenquanyi micro hei。但是该字体在终端下表现不太好,因此我们需要给它加上相应中文字体的设定。
这里还要补充的一点是
mode的设定,是append,而不是prepend,前者是将字体的优先级设定在匹配字体的后面,即在匹配不到的时候作为第一候选,而后者相反。 因为中文字型大都包含英文字体,所以使得不仅中文是设定字体,英文都强制的使用了中文字型里的英文字体,实在是太难看,而且所有的英文字体都是如此。