经过这几天对fonts.conf这学习,终于把长久以来的字体问题搞定了。要有漂亮的显示,理解书写~/.fonts.conf才是王道。
试过许多字体,其中Microsoft YaHei与Bitstream, DejaVu系列最为满意。
DejaVu是Bitstream的补充。
中文: Microsoft YaHei
在近乎完美的hint下达到了近乎完美的效果。Yahei要开启中档的hint才会变的异常犀利漂亮。唯一遗憾的是若是免费使微软雅黑,那么您将是盗版软件的受害者。
英文: DejaVu 系列
1、Mono区分0oOliI1,程序员必备
2、带hint,比autohint的字体更加漂亮。在hint medium下也能正常工作。
1、安装微软雅黑6.02与ttf-dejavu-core
安装过程略
在命令行运行
fc-list|grep -E ‘YaHei|DejaVu’
若输出YaHei与DejaVu表示正确安装。
2、设定gnome字体
dpi(重要),dpi液晶简单算法 25.4/点距 如点距0.282那么dpi为25.4/0.284=90 dpi 3、修改.fonts.conf 若没有则新建
修改.fonts.conf使之对字体进行清空式强力替换。
因2中的设定只对gnome相关的有效,而如chromium的网页渲染等则不受其影响。所以还要在.fonts.conf设定hintstyle等
代码片段:
代码: 全选
<match target="font">
<test name="family">
<string>DejaVu Serif</string>
<string>Microsoft YaHei</string>
<string>DejaVu Sans Mono</string>
<string>DejaVu Sans</string>
</test>
<edit name="antialias" binding="strong">
<bool>true</bool>
</edit>
<edit name="hinting" binding="strong">
<bool>true</bool>
</edit>
<edit name="autohint" binding="strong">
<bool>false</bool>
</edit>
<edit name="lcdfilter" binding="strong">
<const>lcdlegacy</const>
</edit>
<edit name="hintstyle" binding="strong">
<const>hintmedium</const>
</edit>
</match>
右击另存下面文档并解压缩到 ~/.fonts.conf
文件: .fonts.conf里强力替换的是最常见的英文字体和宋体。
摘自 http://www.codestyle.org/css/font-famil ... ults.shtml
4、修改/etc/fonts/conf.d/49-sansserif.conf (重要)
修改此文件后,chromium与flash的中文才能正常显示,而不是错误的方块。
代码: 全选
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--
If the font still has no generic name, add sans-serif
-->
<match target="pattern">
<test qual="all" name="family" compare="not_eq">
<string>sans-serif</string>
</test>
<test qual="all" name="family" compare="not_eq">
<string>serif</string>
</test>
<test qual="all" name="family" compare="not_eq">
<string>monospace</string>
</test>
<edit name="family" mode="append_last">
<string>DejaVu Sans</string>
<string>Microsoft YaHei</string>
</edit>
</match>
</fontconfig>
在中文LC_ALL=zh_CN.xxx下,chromium对于小于12px强制为12px。对中文阅读相当有帮助。因为本文之前一直在英文环境下,所以不清楚哪个版本开始支持。本人使用的chromium是6.0.408.10 (48939) 6、使用其他字体代替Microsoft YaHei
若要更使用别的字体作为中文字体,只要把49-sansserif.conf与.fonts.conf里的Microsoft YaHei替换成所期望字体,并修改字体的.fonts.conf中的hint信息等即可。
7、相关链接 简易字体测试
.fonts.conf 参考文档