使用文泉驿后,opera或firefox字体双重加粗的问题
Thursday, 12. October 2006, 12:45:52
在装文泉驿点阵宋体之前,用Opera访问某些页面会出现字体发虚的现象(比如加加论坛的帖子详情页面),改换字体也无法解决,于是“apt-get install xfonts-wqy”,这下字体发虚的问题解决了(同样适用于Firefox字体发虚问题,如果使用了文泉驿字体之后,Firefox仍有部分字体发虚,可参考这里),可又带来了一个新的问题。
所有粗体字都太粗了,黑压压的一片糊。刚开始以为是Opera字体设置的问题,因为Opera的字体设置是一件麻烦的事情(指的是linux下的版本,windows下则要好很多,详见opera字体问题的一篇笔记)。后来通过搜索论坛得知,这粗体的问题并不是Opera的错:
相关的字体配置代码并不对字体中是否本身含有粗体进行判断,所以,如果使用了类似文泉驿的这种本身含有粗体的字体,就会造成“双重加粗”现象,这个现象正是造成粗体太粗的罪魁祸首,该现象在Opera和FireFox下都存在。Ubuntu Dapper中的支持伪粗体的freetype对字体粗体判断有问题,其在文泉驿提供的“真粗体”的基础上再次加粗,造成firefox中“双重加粗”的现象。
要解决这个问题,办法有两个:1,去掉文泉驿字体的粗体;2,修改相关字体配置文件,让其在加粗之前,判断字体是否自带粗体。
第一种方法见这里,这种方法稍有些麻烦,请在认真阅读原帖和删除了已经安装的文泉驿字体之后再进行。倒是可以利用那个脚本来每日升级得到最新的文泉驿字体,如果不想删除粗体,把“sudo rm *b.pcf”去掉就行了。
第二种方法:
sudo gedit /usr/share/language-selector/fontconfig/zh_CN然后找到下面绿色部分的代码,把红色部分的代码添加到合适的位置即可。
<match target="font" >
<test name="family" compare="contains" >
<string>Song</string>
<string>Sun</string>
<string>Kai</string>
<string>Ming</string>
</test>
<test name="weight" compare="less_eq">
<int>100</int>
</test>
<test compare="more_eq" target="pattern" name="weight" >
<int>180</int>
</test>
<edit mode="assign" name="embolden" >
<bool>true</bool>
</edit>
</match>方法系转载,详情见这里
两种方法我都试过,改后的效果会有些不同,分析一下,可能第二种方法是用了文泉驿自己的粗体,而第一种方法没有用文泉驿的粗体。
于是我不得不得出和他一样的结论:发现中文字符间距不正常,小字间距过大,而大字又有重叠,那真是恭喜,我遇到过的问题你都遇到了,挺蓑。
firefox用两种方法都能解决双重加粗问题,而且没有新问题出现,看来至少opera的linux版本对中文的支持还是不够,要想随心所欲地用你设置的字体来渲染页面,基本上是不可能的……个人结论:opera的中文支持蛮糟的。







