QT and Fontconfig BUG?
先报告自己的系统:SuSE9.2, 升级到 Vanilla Kernel 2.6.12 and KDE 3.4.0问题是:我想让系统显示西文时用 SUSE Sans, 而在中文用 Vera Sans YuanTi 显示。缺省状态下,中文是用 FZSongTi 显示的。
我想到的第一个方法是用 QT 自带的 qtconfig 中的 Font Substitution 功能。
为此,我在 Font Substitution 中将 Vera Sans YuanTi 指定为 SUSE Sans 唯一的替换可能,可是重启之后依然如故,使用 SUSE Sans 时中文还是用 FZSongTi 显示。试了无数次之后我不得不放弃,因为 Font Substitution 功能好像一点用都没有。。。晕了~~
之后我就尝试用第二个办法,就是 Fontconfig
我先把 /etc/fonts 目录下所有配置文件的所有 FZSongTi 条目全都删了,然后又更改了 fonts.conf 文件如下:
<alias>
<family>Trebuchet</family>
<family>Segoe</family>
<family>Andale Sans</family>
<family>Albany AMT</family>
<family>SUSE Sans</family>
<default><family>sans-serif</family></default>
</alias>
........
<alias>
<family>sans-serif</family>
<prefer>
<family>Verdana</family>
<family>Arial</family>
<family>Albany AMT</family>
<family>SUSE Sans</family>
<family>Luxi Sans</family>
<family>Vera Sans YuanTi</family>
</prefer>
</alias>
但是重启之后我又傻眼了,KDE 的所有程序还都是使用 FZSongTi !!! 但是此时 GTK 程序达到我的要求了。
甚至我在 fonts.conf 中强制选定 Vera Sans YuanTi(够流氓了吧??~~)
<match target="pattern">
<edit name="family">
<string>Vera Sans YuanTi</string>
</edit>
</match>
KDE 程序还是不听话!!!(对 GTK 程序有效)
只有我把 FZSongTi 这个字体完全删除,才能让 KDE 彻底放弃它(无语),但这不是我想要的。
难道 KDE/QT 和 FZSongTi 内部有什么秘密协议??(不会吧~~)
到底该怎么办?大家出出注意吧!!! 以前有人问过suse的字体问题。当时就觉得suse的汉化真好啊 3n同学,我就是在网上无意之间看到你的那篇大作(就是关于制作 Vera Sans YuanTi 的那篇,佩服阿佩服)才燃起信心美化我的中文字体的,可是弄了整整一个礼拜竟然是这种结果,郁闷阿郁闷,请3n同学多多指教阿!!
PS1:对 Vera Sans YuanTi 我还有一点要建议,我在德国,所以要用到很多西欧变音字符,但是你从 SimSun 提取出来的那些点阵字体中的 ü 字符非常难看(真的很难看,你可以试着打 Brüder这个单词,就它最不协调,哈哈)所以我看着你的教程用 fontforge 把它和其他一些也很难看的变音字符都删掉了,先在 YuanTi 相当完美,呵呵,希望你能在下一版本中作同样改动
PS2:你原来的那个靓妹头像呢,看着挺可爱的, :mrgreen: 首先说句谢谢 :oops:
因为字体都是用的商业的字体,修改过程既无聊又费时,所以不打算再改了
而且字体不是最终目的,主要还是介绍一种字体美化方法
关于suse的问题你可以参考 http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=114702 。可惜最终仍无解
可以看看fonts.conf 都引用了那些配置文件,逐个修改。或者把“<include ignore_missing="yes">~/.fonts.conf</include>”之类的字段都删掉,只用fonts.conf:mrgreen:
PS1:你既然改好字体了,快些贴出来啊
PS2:他们说我恋童,所以不用了 :( 看了那个帖子,情况似乎比我还要严重得多~~ 看来 SuSE 这方面的漏洞蛮多的 :evil:
我本来想把改好的圆体传上来的,可是传了半天竟然告诉我“无法上传附加档案到 ./modules/Forums/files/bycourtesyof3n.tar.bz2”,估计是因为太大了,哎~~ :cry: SUSE对QT动过手脚,打了Patch,使得英文locale下中文字没法正常显示,
所有locale下中文字没法正常的字体代换。
页:
[1]