请问firefox的字体工作原理
我的debian sid在一次升级之后firefox中的宋体小字(e.g. 12pxl)就不再是内嵌点阵了,而是曲线字型加上antialias的结果。与此同时,其它用gtk2和qt的程序都是正常的。修改fontconfig的配置会对firefox产生影响(比如粗宋替换成黑体,开关rgba等等),但是关掉simsun小字的抗拒齿不知道为什么就被firefox忽略过去了。我试图修改firefox里面about:config的内容,好像对firefox的行为方式根本也没影响。请问firefox中字体配置是怎么工作的呢?是不是除了fontconfig还有别的因素?谢谢指教
细节如下:
1. 我现在所用的库:
libfreetype6 2.1.7-2.3firefly
libfontconfig1 2.3.1
libxft2 2.1.7-1
2. 事情的起因就似乎是apt在升级中把xft2的firefly patch版本换成了debian的prebuild,但是奇怪的是其它程序还都是可以正常工作的。
我试图重新打firefly大大的补丁,但是fontconfig从2.2到2.3变化比较大,直接patch是不行,手工修补不仅工作量大,而且我不了解fontconfig,根本不知道会有什么后果。libxft的补丁需要打过补丁的fontconfig才能编译,所以我只能把补丁的问题先放到一边。
3. /etc/fonts/local.conf一段关于抗锯齿的部分是这么写的:
<match target="font">
<test name="family" compare="contains">
<string>SimSun</string>
<string>AR PL New Sung</string>
</test>
<test name="size" comprare="less_eq">
<double>16</double>
</test>
<edit name="antialias">
<bool>false</bool>
</edit>
</match>
不知道是不是firefox不理会match target="fonts"的标签?(可以肯定match target="pattern"包括alias都有作用。)
4. firefox里面的about:config中的选项我也试过了,主要是font.*,但是没起到什么作用。这些选项的文档很少,而且很多东西都搞不清什么意思。像font.FreeType2.enable这样的选项,开着关着好像都没什么差别么。
页:
[1]