catinsnow 发表于 2006-5-7 18:04:34

解决Simsun字体英文字体代换及黑体破碎问题.

首先说明,这些问题只存在指定使用simsun或宋体的状况,比如一些中文网页.
关于simsun英文字体代换,一般是因为觉得simsun字体中的英文字体不好看,但现在一些新发行版本比如Ubuntu Dapper中和一些打补丁美化方案已经支持中文字体加粗,这时simsun英文字体加粗时会出现破碎现象,已不再是美观问题,而严重影响可读性.比如Hotmail.
查了一些解决方案,看到有人把simsun中的英文字体文件中的英文字体替换掉,我没有下载到.后来发现fontconfig的配置功能是很强大的,也可以解决这个问题.在家目录下的.fonts.conf文件(没有的话新建一个)或其它的fontconfig配置文件包含如下代码:
<match target="pattern">

       <test name="family">
         <string>SimSun</string>
                <string>宋体</string>
       </test>
       <edit name="family" mode="prepend" binding="same">
         <string>Verdana</string>
       </edit>
</match>
重新打开浏览器就可以看到效果了.这里是用Verdana字体代换,你可以用你觉得的好看的字体替换掉Verdana,比如Bitstream Vera Sans等.
如果需要的话可以试试,如发现不起作用或有什么副作用请跟贴说明.

参考:
http://www.higherorder.org/wiki/Fontconfig
http://www.linuxfans.org/nuke/modules.php?name=News&file=article&sid=1184&mode=thread&order=0&thold=0

w1ang 发表于 2006-5-7 20:59:06

在fc5中好像对firefox的网页不起作用。
另外数字还是很难看。

catinsnow 发表于 2006-5-7 22:06:19

Verdana不一定每个系统都有,确认这里替换为你机器里有的字体.
<string>Verdana</string>

w1ang 发表于 2006-5-7 22:14:18

绝对是有的,其实我中文默认用的是东文宋体,按你的代码改成了tahoma,但不行。
后来用ml的fontconfig替换了fc5的,就成功了,不知ml作了哪些修改?但kde还是不行。

catinsnow 发表于 2006-5-7 22:50:57

你是说fontconfig这个包吗?不太清楚.我用的是Ubuntu dapper,fontconfig版本是2.3.2
你的意思是按些代码替换东文宋体的英文字体吗?

w1ang 发表于 2006-5-7 23:04:38

对,现在在GNOME下基本没问题了,就是KDE还不行,必须手工在字体里设置为tahoma。

catinsnow 发表于 2006-5-7 23:22:31

KDE不太清楚.难道不用fontconfig?可能处理方式不一样.

cnhnln 发表于 2006-5-8 22:23:31


<match target="pattern">
        <test qual="any" name="family" compare="eq">
                <string>sans-serif</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
                <string>SimSun</string></edit>
        <edit name="family" mode="prepend_first" binding="strong">
                <string>Verdana</string>
        </edit>
</match>

<match target="pattern">
        <test qual="any" name="family" compare="eq">
                <string>sans-serif</string>
        </test>
        <edit name="family" mode="assign" binding="strong">
                <string>Verdana</string>
                <string>SimSun</string>
        </edit>
</match>

<match target="pattern">
        <test name="family">
                <string>Verdana</string>
        </test>
        <edit name="family" mode="append" binding="strong">
                <string>SimSun</string>
        </edit>
</match>

试试看

类似的再加上serif和monospace

w1ang 发表于 2006-5-10 13:07:35

3n果然乃此中高手,有效。

积木 发表于 2006-5-10 14:05:23

:oops::oops::oops:
建议都去学fonts.conf

w1ang 发表于 2006-5-10 14:51:14

:oops::oops::oops:
建议都去学fonts.conf
有点懒 :oops:
页: [1]
查看完整版本: 解决Simsun字体英文字体代换及黑体破碎问题.