字体渲染顺序的问题

系统字体配置、中文显示和输入法问题
回复
strup
帖子: 652
注册时间: 2006-09-16 14:19

字体渲染顺序的问题

#1

帖子 strup » 2007-04-13 20:07

我在/etc/fonts/language-selector.conf里设置的顺序是

Serif
DejaVu Serif
WenQuanYi Bitmap Song
AR PL Shanheisun

Sans
DejaVu Sans
WenQuanYi Bitmap Song
AR PL Shanheisun

Monospace
Courier New
WenQuanYi Bitmap Song
AR PL Shanheisun

指定具体英文字体的时候可以正确用文泉驿来显示中文
但是指定sans,serif等字体的时候连英文也用文泉驿来显示,很难看
请问这是怎么回事,还有什么别的要设置的地方么?

ubuntu7.04
头像
xport
帖子: 1277
注册时间: 2006-05-19 21:23
联系:

#2

帖子 xport » 2007-04-13 20:13

有图么,我好奇,想看看效果是什么样子的?
其实我是一个演员!-http://blog.csdn.net/xport/
FangQ
帖子: 240
注册时间: 2006-03-05 13:50

#3

帖子 FangQ » 2007-04-14 5:24

更新为wqy官方版本0.8.1:
http://wenq.org/index.cgi?BitmapSong

0.8.1提供了新的fontconfig配置,可以使得英文英文矢量字体有高于wqy的优先权,在monospace时也会自动使用英文monospace字体来显示。

安装完成后,可能需要将你自己的一些设置先暂时屏蔽掉,看看效果。
FangQ
帖子: 240
注册时间: 2006-03-05 13:50

#4

帖子 FangQ » 2007-04-17 1:19

参见wqy 0.8.1官方版本的渲染效果顺序和效果:

http://wenq.org/forum/viewtopic.php?t=396
strup
帖子: 652
注册时间: 2006-09-16 14:19

#5

帖子 strup » 2007-05-06 21:33

貌似locale是zh_CN的时候就会用列表里第一个中文字体来显示所有的字
用英文的locale就没问题
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#6

帖子 BigSnake.NET » 2007-05-06 21:39

fontconfig的一个不合理之处..
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
strup
帖子: 652
注册时间: 2006-09-16 14:19

#7

帖子 strup » 2007-05-22 19:42

但是在mandriva下字体设置很正常阿,英文能用英文字体显示,中文能用中文字体显示
都是fontconfig2.4.2 , kde
strup
帖子: 652
注册时间: 2006-09-16 14:19

#8

帖子 strup » 2007-05-27 12:14

今天在另一台电脑装kubuntu时特意装了6.10
字体效果非常好,英文可以用dejavu sans显示,抗锯齿很漂亮,而中文也可以用清晰的点阵字体显示

7.04在字体方面确实有些退步


不知道把fontconfig降级到edgy的会怎么样 :lol:
strup
帖子: 652
注册时间: 2006-09-16 14:19

#9

帖子 strup » 2007-08-11 13:24

7.10 tribe 4还是这样,不过qt4/kde4是没有问题的
mason
帖子: 7
注册时间: 2006-11-12 3:14

#10

帖子 mason » 2007-08-14 17:29

我也是同样的问题,kubuntu 7.04 + 文泉驿 8.1 + fcitx。
目的很简单,想让桌面的英文用sans,中文用文泉驿。
我/etc/fonts/language-selector.conf和楼主的一模一样,
结果英文sans不能正常显示,全部显示成文泉驿的英文,很不好看。

似乎文泉驿升到8.1也不能解决问题,
自己试着调整过渲染次序,结果都不尽如人意。
发现如果把LC_CTYPE = "zh_CN" 改成 "en_US”,就可以解决问题,
不过这样以后非kde的程序就不能用fcitx。

头疼了很久,有没有高手解决了的?
forcotton
帖子: 57
注册时间: 2006-10-06 21:10

#11

帖子 forcotton » 2007-08-15 2:43

把英文字体从新匹配一遍,注意binding="strong" 就可以在中文locale用了

<match target="pattern">
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>DejaVu Sans</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend">
<string>Microsoft YaHei</string>
<string>Microsoft JhengHei</string>
<string>Meiryo</string>
</edit>
</match>
回复