Linux 环境下如何使 Chrome 浏览器字体更漂亮

Windows 就免谈了,本身字体渲染技术 Cleartype 以及 DirectWrite 就稀烂得一塌糊涂。Mac 下面本来字体渲染就很好,所以关键就是在 Linux 下如何使 Chrome 的字体渲染更漂亮?首先要明白一点,Chrome 的字体渲染依赖两点:Linux 操作系统的字体渲染设置以及 Chrome 自身的网页字体渲染控制。在 Fedora 22 GNOME 3.16 环境下,即使用 gnome-tweak-tool 设置了字体渲染微调为 none,抗锯齿为 Rgba 后,对 Chrome 却没有效果,Chrome 仍然用“完全”微调模式进行字体渲染,这会导致很多中文字体显示很丑陋。原因在于,Chrome 是读取 Linux 系统 fontconfig 配置的,默认情况下系统 fontconfig 中没有对字体全局 hint 进行配置,因此我们只需要在 /etc/fonts 目录下创建一个 local.conf,写入如下内容即可:

 <?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>none</const>
</edit>
</match>
</fontconfig>

保存后即可发现系统所有程序都能遵循这个设置,字体渲染微调关闭,中文字体渲染会非常好看。接着,在 Chrome 中安装 stylish 插件,创建一个针对所有网站都有效的样式,其应用范围为“全部”,内容如下:

 html, body {
font-family: "Source Han Sans CN";
}
pre, code, kbd, samp, var {
font-family: "Monospace", "Source Han Sans CN";
}

这可以保证 Chrome 对任何网站的访问都采用这个样式。当然,别忘了对 Chrome 自己的设置中将其字体设置为你喜欢的字体即可。

2016.05.27 修改注释:stylish 插件中的样式设置,取消了原有的 body * { ... } 这种写法,同时内部去掉了 !important,是为了能够保证 webfont 比如现在流行的 icon font(在 Bootstraps 中大量使用)能够正常显示,否则 icon font 都会显示出方框。

上一篇:【BZOJ】3669: [Noi2014]魔法森林(lct+特殊的技巧)


下一篇:linux 之进程间通信-------------InterProcess Communication