ty263 发表于 2004-10-22 19:01:03

请教一下如何去掉中文显示的平滑处理

小弟我的系统时suse 9.1。
刚刚装上了windows的simsun字体,现在可以显示中文了,但是汉字的显示模糊不清,发虚。好像时平滑处理的效果。
向大家请教如何去掉中文的平滑处理。

多谢了!!!!!!

cnhnln 发表于 2004-10-22 20:34:52

修改/etc/fonts/fonts.conf
<match target="font">
        <edit name="antialias" mode="assign">
                <bool>false</bool>
        </edit>
</match>

ty263 发表于 2004-10-23 00:00:29

是加上这句话还是改掉这句话呢?

cnhnln 发表于 2004-10-23 12:34:06

加上


<match target="font">
        <edit name="antialias" mode="assign">
                <bool>true</bool><---------改成true就是打开AA
        </edit>
</match>

ty263 发表于 2004-10-25 23:39:18

多谢大家的帮助
我按照大家的写法把这句话加到/etc/fonts/fonts.conf中了,中文的字体好了,可是英文的字体变的虚了,没有以前好了。
还请大家给讲一下

cnhnln 发表于 2004-10-26 12:57:55

1.重新编译freetype2

把源码中的, include/freetype/config/ftoption.h里面的
/* #defineTT_CONFIG_OPTION_BYTECODE_INTERPRETER */
改成
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
然后编译安装

或者下载freetype的src.rpm包
安装后把/usr/src/rpm/SPECS/freetype.spec里的
%define without_bytecode_interpreter    1
改成
%define without_bytecode_interpreter    0
然后rpmbuild -bb生成二进制的rpm,再安装



2.修改~/.fonts.conf
加入
<match target="font">
        <edit name="hinting" mode="assign"><bool>true</bool></edit>
</match>

<match target="font">
        <edit name="autohint" mode="assign"><bool>false</bool></edit>
</match>

lvscar 发表于 2004-10-27 23:20:09

谢谢cnhnln老大的解决方案   
但你的 实现英文AA环境下 取消中文AA的方法在我的系统上未能实现(debian testing)
是否是debian对freetype支持的问题 (debian软件库里的freetype早已过期 但一直没有更新)

最后还是在IRC里一大侠的帮助下 解决了 这个问题

原理:
   利用 font.conf脚本实现    AA不对其中某一种字体(simsun)起作用    然后设置这种字体为 浏览器默认中文字体   系统环境中使用 其它字体   
脚本:
   <match target="font">
<test name="slant" compare="not_eq">
   <const>Tahoma</const>
</test>
   <test name="family" compare="eq">
   <string>SimSun</string>
   </test>

<edit name="antialias" mode="assign">   
    <bool>false</bool>      
</edit>         
</match>         


系统环境 : debian 英文local XFCE4 firefox SIMSUN默认字体
供大家参考

cnhnln 发表于 2004-10-27 23:50:42

我用 debian sid,默认有hinting得支持。

只需要编辑配置文件即可:
<match target="font">
        <test name="family"><string>SimSun</string></test>
        <edit name="antialias"><bool>false</bool></edit>
        <edit name="hinting"><bool>true</bool></edit>
        <edit name="autohint"><bool>false</bool></edit>
</match>
关掉SimSun的 AA 和 autohint,并且打开hinting

<match target="font">
        <test name="family"><string>Tahoma</string></test>
        <edit name="antialias"><bool>false</bool></edit>
        <edit name="hinting"><bool>true</bool></edit>
        <edit name="autohint"><bool>false</bool></edit>
</match>
关掉Tahoma的 AA 和 autohint,并且打开hinting
Tahoma打开AA后有些粗,并且它也有很好的hinting。所以关掉AA、打开hinting
此时应该就和win下的Tahoma一样了

<match target="pattern">
        <test name="family">
                <string>Tahoma</string>
        </test>
        <edit name="family" mode="append" binding="strong">
                <string>SimSun</string>
        </edit>
</match>
再加入以上内容,应该就是Tahoma+SimSun的组合了

cnhnln 发表于 2004-10-27 23:57:25

<match target="font">
        <edit name="antialias" mode="assign"><bool>true</bool></edit>
</match>
<match target="font">
        <edit name="hinting" mode="assign"><bool>false</bool></edit>
</match>
<match target="font">
        <edit name="autohint" mode="assign"><bool>false</bool></edit>
</match>
之类的都是针对所有字体的,不是针对某一款字体的,所以效果可能不如意
用上面的方法,加一行
<test name="family"><string>字体名</string></test>
就是针对某一款字体的了
页: [1]
查看完整版本: 请教一下如何去掉中文显示的平滑处理