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,写入如下内容即可:
1 <?xml version="1.0"?> 2 <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> 3 <fontconfig> 4 <match target="font"> 5 <edit name="autohint" mode="assign"> 6 <bool>false</bool> 7 </edit> 8 <edit name="hinting" mode="assign"> 9 <bool>false</bool> 10 </edit> 11 <edit name="hintstyle" mode="assign"> 12 <const>none</const> 13 </edit> 14 </match> 15 </fontconfig>
保存后即可发现系统所有程序都能遵循这个设置,字体渲染微调关闭,中文字体渲染会非常好看。接着,在 Chrome 中安装 stylish 插件,创建一个针对所有网站都有效的样式,其应用范围为“全部”,内容如下:
1 body * { 2 font-family: "Source Han Sans CN" !important; 3 } 4 pre, code, kbd, samp, var { 5 font-family: "Monospace", "Source Han Sans CN" !important; 6 }
这可以保证 Chrome 对任何网站的访问都采用这个样式。当然,别忘了对 Chrome 自己的设置中将其字体设置为你喜欢的字体即可。
时间: 2024-10-11 15:51:39