|
|
发表于 2006-5-20 15:40:45
|
显示全部楼层
让我来表述地清晰一点: 为了实验,我已经把字体减少到可以忍受的最低限度。
我的愿望:
GUI字体:
英文部分:Lucida Grande
中文部分:STXihei (华文细黑)
(学Mac)
现在~/.qtrc中未加任何字体替换。
如果直接从kcmshell fonts中选择"Lucida Grande",中文部分一律是PMingLiU(新細明體)。
如果从kcmshell fonts中选择"Sans Serif",英文部分是Arial,中文则是STXihei(华文黑体)
如果从kcmshell fonts中选择"Times New Roman",中文还是用的PMingLiU(新細明體)。
如果从kcmshell fonts中选择"Serif",英文是"Times New Roman",中文则依旧是PMingLiU(新細明體)。
下面看fc-match的结果:
fc-match "Lucida Grande" --sort
- LucidaGrande-modified.ttf: "Lucida Grande" "Regular"
- LucidaGrande-Bold-modified.ttf: "Lucida Grande" "Bold"
- STXiHei.ttf: "STXihei" "Regular"
- ...
复制代码
- fc-match "Sans Serif" --sort
- fc-match "Sans Serif" --sort
- STXiHei.ttf: "STXihei" "Regular"
- LucidaGrande-modified.ttf: "Lucida Grande" "Regular"
- LucidaGrande-Bold-modified.ttf: "Lucida Grande" "Bold"
- arial.ttf: "Arial" "Regular"
- ...
复制代码
- fc-match "Times New Roman" --sort
- times.ttf: "Times New Roman" "Regular"
- simsun.ttc: "SimSun" "Regular"
- mingliu.ttc: "PMingLiU" "Regular"
- ...
复制代码
- fc-match "Serif" --sort
- simsun.ttc: "SimSun" "Regular"
- times.ttf: "Times New Roman" "Regular"
- mingliu.ttc: "PMingLiU" "Regular"
- ...
复制代码
可见QT没有遵循fontconfig匹配的结果
我现在摸到一些QT中字体优先顺序的规律
我有哪些中文字体呢,简繁体都算在内
- fc-list :lang=zh
- PMingLiU,新細明體:style=Regular
- KaiTi_GB2312,楷体_GB2312:style=Regular
- NSimSun,新宋体:style=Regular
- FangSong_GB2312,仿宋_GB2312:style=Regular
- SimSun,宋体:style=Regular
- SimHei,黑体:style=Regular
- MingLiU,細明體:style=Regular
- STXihei,华文细黑:style=Regular
复制代码
可见,QT选择字体的顺序和fc-list列出的次序一致,如果删除新細明體,那么楷体_GB2312的优先级肯定最高,所以很多人都抱怨KDE中中文字体都变成楷体了。
我的QT版本是3.3.6,locale是zh_CN.UTF-8。 |
|