andot 发表于 2005-10-24 22:52:20

关于 3n 的 Vera Sans YuanTi

3n 提供的Vera Sans YuanTi 中有等宽和非等宽两种字体,其实区别只有其中的英文。所以,我写了一个 local.conf,用这个配置文件,就不需要 Vera Sans YuanTi Mono 那套字体了。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

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

        <match target="font">
                <test qual="any" name="family">
                        <string>Vera Sans YuanTi</string>
                </test>
                <test name="pixelsize" compare="more_eq">
                        <int>12</int>
                </test>
                <test name="pixelsize" compare="less_eq">
                        <int>17</int>
                </test>
                <edit name="antialias" mode="assign">
                        <bool>false</bool>
                </edit>
        </match>

        <match target="font">
                <test qual="any" name="family">
                        <string>Vera Sans YuanTi</string>
                </test>
                <test name="pixelsize" compare="more_eq">
                        <int>18</int>
                </test>
                <test name="pixelsize" compare="less_eq">
                        <int>19</int>
                </test>
                <edit name="antialias" mode="assign">
                        <bool>false</bool>
                </edit>
        </match>

        <match target="pattern">
                <test qual="any" name="family">
                        <string>serif</string>
                </test>
                <edit name="family" mode="append" binding="strong">
                        <string>Vera Sans YuanTi</string>
                </edit>
                <edit name="family" mode="append" binding="strong">
                        <string>Bitstream Vera Serif</string>
                </edit>
        </match>

        <match target="pattern">
                <test qual="any" name="family">
                        <string>sans-serif</string>
                </test>
                <edit name="family" mode="append" binding="strong">
                        <string>Vera Sans YuanTi</string>
                </edit>
                <edit name="family" mode="append" binding="strong">
                        <string>Bitstream Vera Sans</string>
                </edit>
        </match>

        <match target="pattern">
                <test qual="any" name="family">
                        <string>monospace</string>
                </test>
                <edit name="family" mode="append" binding="strong">
                        <string>Vera Sans YuanTi</string>
                </edit>
                <edit name="family" mode="append" binding="strong">
                        <string>Bitstream Vera Sans Mono</string>
                </edit>
        </match>

</fontconfig>

wolf0403 发表于 2005-10-25 00:08:53

3n 的字体就是造福偶这种懒得去改 fontconfig 配置文件的人的……

hejux 发表于 2005-10-25 08:34:26

为什么两个AA的设置要分开写呢?

为何不写在一起?12-17 18-19

andot 发表于 2005-10-25 09:07:50

因为 12、13、14、15、16、18 px的字有点阵字,但是 17px 的字没有点阵字。还有就是 fontconfig 中的字体单位 pixelsize 跟 px 好像有点差别,如果把

      <test name="pixelsize" compare="more_eq">
         <int>18</int>
      </test>
      <test name="pixelsize" compare="less_eq">
         <int>19</int>
      </test>

写成

      <test name="pixelsize" compare="eq">
         <int>18</int>
      </test>

就没有效果。我也不知为什么。

andot 发表于 2005-10-25 09:11:10

3n 的字体就是造福偶这种懒得去改 fontconfig 配置文件的人的……

加上这个 local.conf 是给更懒的人用的,因为有了它,任何 GTK+ 2.0 的软件都不需要单独设置字体了(包括系统字体也不需要设置)。而且效果比单独设置成 Vera Sans YuanTi 要好。把字体单独设置成 Vera Sans YuanTi 的话,英文会有锯齿。

月下刀客 发表于 2005-10-25 11:42:08

这么好?如果真的话应该加精啊 :-)

cnhnln 发表于 2005-10-25 12:30:52

为什么很多人喜欢点阵和AA混合的效果 :?

andot 发表于 2005-10-25 12:33:33

这么好?如果真的话应该加精啊 :-)
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=134641&postdays=0&postorder=asc&start=0

这里你看到的桌面我就是这么设置的。

jl789 发表于 2005-10-25 15:31:52

为什么要把Vera Sans YuanTi放在Bitstream Vera Sans Mono前面,这样的话不是默认用Vera Sans YuanTi了吗?这样英文就没有AA的效果了!

mick221 发表于 2005-10-25 16:45:52

我试了一下,在我这里英文没有AA。
最近为了字体花了太多时间了,感觉不值啊, :-(

PS:andot,我在Opera官方论坛上也看到你了, :P

andot 发表于 2005-10-25 18:16:01

我这里的字体英文有AA效果啊。

andot 发表于 2005-10-25 18:19:38

你字体选择serif、serif-sans、monospace 时,英文就有 AA 效果了。就是说不需要在程序中指定用 Vera Sans YuanTi,如果英文没有 AA,应该就是你指定了使用Vera Sans YuanTi 字体的原因。

mick221 发表于 2005-10-25 19:19:00

你字体选择serif、serif-sans、monospace 时,英文就有 AA 效果了。就是说不需要在程序中指定用 Vera Sans YuanTi,如果英文没有 AA,应该就是你指定了使用Vera Sans YuanTi 字体的原因。

确实是我疏忽了,呵呵。

非常感谢andot,用了你的代码之后,一般的软件显示效果都正常了,非常好,建议版主加精。

不过,顽固的Opera的显示效果仍然没有什么改观,一是因为Opera的网页显示字体中没有serif、serif-sans、monospace这样的可以选择,所以只能直接使用Vera Sans YuanTi;二,如果使用静态版本的Opera,菜单字体只有设为Vera Sans YuanTi Mono时才有比较好的效果。不过这些能做到现在这样我已经很满意了,再次表示感谢。

andot 发表于 2005-10-25 20:34:30

Opera那个东西比较邪门,建议安装wqy字体,然后把Opera的所有字体都设置成wqy,看上去会稍微舒服点。在我这里其实感觉Opera和Firefox速度差不多,只是Opera启动速度快点,我大部分情况下都是用Firefox的,只有测试我开发的系统时,才打开Opera。

cnhnln 发表于 2005-10-25 21:31:38

直接改“rh_prefer_bitmaps”之类“优先使用内嵌点阵”的变量值就能达到英文AA,中文点阵的效果了。试试看



<match target="font">
        <edit name="antialias" mode="assign"><bool>true</bool></edit>
        <edit name="hinting" mode="assign"><bool>false</bool></edit>
        <edit name="autohint" mode="assign"><bool>false</bool></edit>
        <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
        <edit name="rh_prefer_bitmaps" mode="assign"><bool>false</bool></edit>
</match>
<match target="font">
        <test name="family" compare="eq" qual="any"><string>Vera Sans YuanTi</string></test>
        <test name="pixelsize" compare="more_eq" qual="any" ><double>12</double></test>
        <test name="pixelsize" compare="less_eq" qual="any" ><double>16</double></test>
        <edit name="rh_prefer_bitmaps" mode="assign"><bool>true</bool></edit>
</match>


不同的系统“优先使用内嵌点阵”的变量写法有些不一样。firefly的补丁好像是“embeddedbitmap”,老的补丁好像是“embed”,还有的是“prefer_bitmap”。一般的都是“rh_prefer_bitmaps”。自己试试看,如果不行的话,就加上“prefer_bitmap”、“embeddedbitmap”之类的
页: [1] 2 3
查看完整版本: 关于 3n 的 Vera Sans YuanTi