JohnnyHo 发表于 2005-4-18 18:53:55

请问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]
查看完整版本: 请问firefox的字体工作原理