bigcat00 发表于 2005-11-15 23:33:51

3N在嘛?向你请教个问题,关于Firefox+Tahoma

昨天刚刚编译了freetype的SRPM以打开hinting,今天上网时发现个问题:使用Tahoma+simsun的情况下,在浏览很多网站时,发现鼠标移到文字上时显示正常,如果鼠标不在,它就有可能会出现少最右边的字(似乎是宽带变大了些),但是如果把字体设成Lucida则显示完全正常。
不解ing……

bigcat00 发表于 2005-11-15 23:37:31

贴两个图证明吧,第一个是鼠标未移到链接附近的情况。

bigcat00 发表于 2005-11-15 23:38:16

这是第二图,是鼠标移到它附近时的显示情况。可以看出,原来缺失的最后一个字现在出现了。
这还是在公社上的情况,我在有的论坛上看时,鼠标一划过,屏幕上象起了阵风一样……整个一文字动画。 :x

bigcat00 发表于 2005-11-15 23:44:15

下面是我的fonts.conf,红色部分是我自己添加或修改的:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>

<!--
        DO NOT EDIT THIS FILE.
        IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
        LOCAL CHANGES BELONG IN 'local.conf'.

        The intent of this standard configuration file is to be adequate for
        most environments.If you have a reasonably normal environment and
        have found problems with this configuration, they are probably
        things that others will also want fixed.Please submit any
        problems to the fontconfig bugzilla system located at fontconfig.org

        Note that the normal 'make install' procedure for fontconfig is to
        replace any existing fonts.conf file with the new version.Place
        any local customizations in local.conf which this file references.

        Keith Packard
-->

<!-- Font directory list configured on Sun Nov 28 00:06:00 CST 2004 -->

        <dir>/usr/share/fonts</dir>
        <dir>/usr/X11R6/lib/X11/fonts</dir>
        <dir>~/.fonts</dir>

<!--
Accept deprecated 'mono' alias, replacing it with 'monospace'
-->
        <match target="pattern">
                <test qual="any" name="family">
                        <string>mono</string>
                </test>
                <edit name="family" mode="assign">
                        <string>monospace</string>
                </edit>
        </match>

<!--
Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
-->
        <match target="pattern">
                <test qual="any" name="family">
                        <string>sans serif</string>
                </test>
                <edit name="family" mode="assign">
                        <string>sans-serif</string>
                </edit>
        </match>

<!--
Accept deprecated 'sans' alias, replacing it with 'sans-serif'
-->
        <match target="pattern">
                <test qual="any" name="family">
                        <string>sans</string>
                </test>
                <edit name="family" mode="assign">
                        <string>sans-serif</string>
                </edit>
        </match>

<!--
      Add by bigcat00
-->
<match target="pattern">
   <test qual="any" name="family">
      <string>sans-serif</string>
   </test>
   <edit name="family" mode="append" binding="strong">
      <string>Tahoma</string>
   </edit>
</match>

<match target="pattern">
    <test qual="any" name="family">
      <string>serif</string>
    </test>
    <edit name="family" mode="append" binding="strong">
      <string>Tahoma</string>
    </edit>
</match>

<match target="pattern">
    <test qual="any" name="family">
                       <string>sans</string>
    </test>
    <edit name="family" mode="append" binding="strong">
       <string>Tahoma</string>
    </edit>
</match>

<match target="pattern">
    <test qual="any" name="family">
       <string>monospace</string>
    </test>
    <edit name="family" mode="append" binding="strong">
       <string>Tahoma</string>
    </edit>
</match>


<!--
Mark common families with their generics so we'll get
something reasonable
-->

<!--
Serif faces
-->
        <alias>
                <family>Tahoma</family>
                <family>Bitstream Vera Serif</family>
                <family>Times</family>
                <family>Times New Roman</family>
                <family>Nimbus Roman No9 L</family>
                <family>Luxi Serif</family>
                <family>Kochi Mincho</family>
                <family>AR PL SungtiL GB</family>
                <family>AR PL Mingti2L Big5</family>
                <family>Baekmuk Batang</family>                       
                <default><family>serif</family></default>
        </alias>
<!--
Sans-serif faces
-->
        <alias>
    <family>Tahoma</family>
                <family>Bitstream Vera Sans</family>
                <family>Helvetica</family>
                <family>Arial</family>
                <family>Verdana</family>
                <family>Nimbus Sans L</family>
                <family>Luxi Sans</family>
                <family>Kochi Gothic</family>
                <family>AR PL KaitiM GB</family>
                <family>AR PL KaitiM Big5</family>
                <family>Baekmuk Dotum</family>
                <family>SimSun</family>
                <default><family>sans-serif</family></default>
        </alias>
<!--
Monospace faces
-->
        <alias>
    <family>Tahoma</family>
                <family>Bitstream Vera Sans Mono</family>
                <family>Courier</family>
                <family>Courier New</family>
                <family>Andale Mono</family>
                <family>Luxi Mono</family>
                <family>Nimbus Mono L</family>
                <family>NSimSun</family>
                <default><family>monospace</family></default>
        </alias>
<!--
If the font still has no generic name, add sans-serif
-->
        <match target="pattern">
                <test qual="all" name="family" compare="not_eq">
                        <string>sans-serif</string>
                </test>
                <test qual="all" name="family" compare="not_eq">
                        <string>serif</string>
                </test>
                <test qual="all" name="family" compare="not_eq">
                        <string>monospace</string>
                </test>
                <edit name="family" mode="append_last">
                        <string>sans-serif</string>
                </edit>
        </match>
       
<!--
Some Asian fonts misadvertise themselves as monospaced when
in fact they are dual-spaced (half and full).This makes
FreeType very confused as it forces all widths to match.
Undo this magic by disabling the width forcing code -->
        <match target="font">
                <test name="family"><string>GulimChe</string></test>
                <edit name="globaladvance"><bool>false</bool></edit>
        </match>
       
        <match target="font">
                <test name="family"><string>DotumChe</string></test>
                <edit name="globaladvance"><bool>false</bool></edit>
        </match>

        <match target="font">
                <test name="family"><string>BatangChe</string></test>
                <edit name="globaladvance"><bool>false</bool></edit>
        </match>

        <match target="font">
                <test name="family"><string>GungsuhChe</string></test>
                <edit name="globaladvance"><bool>false</bool></edit>
        </match>

<!--
        The Bitstream Vera fonts have GASP entries suggesting that hinting be
        disabled below 8 ppem, but FreeType ignores those, preferring to use
        the data found in the instructed hints.The initial Vera release
        didn't include the right instructions in the 'prep' table. Fix this
        by disabling hinting manually at smaller sizes (< 8ppem)
-->
       
        <match target="font">
                <test name="family">
                        <string>Bitstream Vera Sans</string>
                </test>
                <test name="pixelsize" compare="less">
                        <double>7.5</double>
                </test>
                <edit name="hinting">
                        <bool>false</bool>
                </edit>
        </match>
       
        <match target="font">
                <test name="family">
                        <string>Bitstream Vera Serif</string>
                </test>
                <test name="pixelsize" compare="less">
                        <double>7.5</double>
                </test>
                <edit name="hinting">
                        <bool>false</bool>
                </edit>
        </match>
       
        <match target="font">
                <test name="family">
                        <string>Bitstream Vera Sans Mono</string>
                </test>
                <test name="pixelsize" compare="less">
                        <double>7.5</double>
                </test>
                <edit name="hinting">
                        <bool>false</bool>
                </edit>
        </match>
       
<!--
Load per-user customization file
-->
        <include ignore_missing="yes">~/.fonts.conf</include>

<!--
Load local system customization file
-->
        <include ignore_missing="yes">local.conf</include>

<!--
Alias well known font names to available TrueType fonts
-->
        <alias>
                <family>Times</family>
                <accept><family>Times New Roman</family></accept>
        </alias>
        <alias>
                <family>Helvetica</family>
                <accept><family>Verdana</family></accept>
        </alias>
        <alias>
                <family>Arial</family>
                <accept><family>Verdana</family></accept>
        </alias>
        <alias>
                <family>Courier</family>
                <accept><family>Courier New</family></accept>
        </alias>

<!--
Check user preference to avoid bitmap fonts and replace
bitmap face names with equivalent scalable fonts
-->

        <match target="pattern">
                <test name="prefer_outline">
                      <bool>true</bool>
                </test>
                <test name="family">
                      <string>Helvetica</string>
                </test>
                <edit name="family" mode="prepend" binding="same">
                      <string>Arial</string>
                </edit>
        </match>

        <match target="pattern">
                <test name="prefer_outline">
                      <bool>true</bool>
                </test>
                <test name="family">
                      <string>Times</string>
                </test>
                <edit name="family" mode="prepend" binding="same">
                      <string>Times New Roman</string>
                </edit>
        </match>
<!--
Provide required aliases for standard names
-->
        <alias>
                <family>serif</family>
                <prefer>
          <family>Tahoma</family>
                        <family>Bitstream Vera Serif</family>
                        <family>Times New Roman</family>
                        <family>Nimbus Roman No9 L</family>
                        <family>Luxi Serif</family>
                        <family>Times</family>
                        <family>Kochi Mincho</family>
                        <family>SimSun</family>
                        <family>AR PL SungtiL GB</family>
                        <family>AR PL Mingti2L Big5</family>
                        <family>Baekmuk Batang</family>                       
                </prefer>
        </alias>
        <alias>
                <family>sans-serif</family>
                <prefer>
          <family>Tahoma</family>
                        <family>Bitstream Vera Sans</family>
                        <family>Verdana</family>
                        <family>Nimbus Sans L</family>
                        <family>Luxi Sans</family>
                        <family>Arial</family>
                        <family>Helvetica</family>
                        <family>Kochi Gothic</family>
                        <family>SimSun</family>
                        <family>AR PL KaitiM GB</family>
                        <family>AR PL KaitiM Big5</family>
                        <family>Baekmuk Dotum</family>
                </prefer>
        </alias>
        <alias>
                <family>monospace</family>
                <prefer>
          <family>Tahoma</family>
                        <family>Bitstream Vera Sans Mono</family>
                        <family>Andale Mono</family>
                        <family>Courier New</family>
                        <family>Luxi Mono</family>
                        <family>Nimbus Mono L</family>
                        <family>Kochi Gothic</family>
                        <family>SimSun</family>
                        <family>AR PL KaitiM GB</family>
                        <family>Baekmuk Dotum</family>
                </prefer>
        </alias>

<!--
Artificial oblique for fonts without an italic or oblique version
-->

        <match target="font">
                <!-- check to see if the font is roman -->
                <test name="slant">
                        <const>roman</const>
                </test>
                <!-- check to see if the pattern requested non-roman -->
                <test target="pattern" name="slant" compare="not_eq">
                        <const>roman</const>
                </test>
                <!-- multiply the matrix to slant the font -->
                <edit name="matrix" mode="assign">
                        <times>
                                <name>matrix</name>
                                <matrix><double>1</double><double>0.2</double>
                                        <double>0</double><double>1</double>
                                </matrix>
                        </times>
                </edit>
                <!-- pretend the font is oblique now -->
                <edit name="slant" mode="assign">
                        <const>oblique</const>
                </edit>
        </match>

        <config>
<!--
These are the default Unicode chars that are expected to be blank
in fonts.All other blank chars are assumed to be broken and
won't appear in the resulting charsets
-->
                <blank>
                        <int>0x0020</int>        <!-- SPACE -->
                        <int>0x00a0</int>        <!-- NO-BREAK SPACE -->
                        <int>0x00ad</int>        <!-- SOFT HYPHEN -->
                        <int>0x115f</int>        <!-- HANGUL CHOSEONG FILLER -->
                        <int>0x1160</int>        <!-- HANGUL JUNGSEONG FILLER -->
                        <int>0x1680</int>        <!-- OGHAM SPACE MARK -->
                        <int>0x2000</int>        <!-- EN QUAD -->
                        <int>0x2001</int>        <!-- EM QUAD -->
                        <int>0x2002</int>        <!-- EN SPACE -->
                        <int>0x2003</int>        <!-- EM SPACE -->
                        <int>0x2004</int>        <!-- THREE-PER-EM SPACE -->
                        <int>0x2005</int>        <!-- FOUR-PER-EM SPACE -->
                        <int>0x2006</int>        <!-- SIX-PER-EM SPACE -->
                        <int>0x2007</int>        <!-- FIGURE SPACE -->
                        <int>0x2008</int>        <!-- PUNCTUATION SPACE -->
                        <int>0x2009</int>        <!-- THIN SPACE -->
                        <int>0x200a</int>        <!-- HAIR SPACE -->
                        <int>0x200b</int>        <!-- ZERO WIDTH SPACE -->
                        <int>0x200c</int>        <!-- ZERO WIDTH NON-JOINER -->
                        <int>0x200d</int>        <!-- ZERO WIDTH JOINER -->
                        <int>0x200e</int>        <!-- LEFT-TO-RIGHT MARK -->
                        <int>0x200f</int>        <!-- RIGHT-TO-LEFT MARK -->
                        <int>0x2028</int>        <!-- LINE SEPARATOR -->
                        <int>0x2029</int>        <!-- PARAGRAPH SEPARATOR -->
                        <int>0x202a</int>        <!-- LEFT-TO-RIGHT EMBEDDING -->
                        <int>0x202b</int>        <!-- RIGHT-TO-LEFT EMBEDDING -->
                        <int>0x202c</int>        <!-- POP DIRECTIONAL FORMATTING -->
                        <int>0x202d</int>        <!-- LEFT-TO-RIGHT OVERRIDE -->
                        <int>0x202e</int>        <!-- RIGHT-TO-LEFT OVERRIDE -->
                        <int>0x202f</int>        <!-- NARROW NO-BREAK SPACE -->
                        <int>0x205f</int>        <!-- MEDIUM MATHEMATICAL SPACE -->
                        <int>0x2060</int>        <!-- WORD JOINER -->
                        <int>0x2061</int>        <!-- FUNCTION APPLICATION -->
                        <int>0x2062</int>        <!-- INVISIBLE TIMES -->
                        <int>0x2063</int>        <!-- INVISIBLE SEPARATOR -->
                        <int>0x206A</int>        <!-- INHIBIT SYMMETRIC SWAPPING -->
                        <int>0x206B</int>        <!-- ACTIVATE SYMMETRIC SWAPPING -->
                        <int>0x206C</int>        <!-- INHIBIT ARABIC FORM SHAPING -->
                        <int>0x206D</int>        <!-- ACTIVATE ARABIC FORM SHAPING -->
                        <int>0x206E</int>        <!-- NATIONAL DIGIT SHAPES -->
                        <int>0x206F</int>        <!-- NOMINAL DIGIT SHAPES -->
                        <int>0x3000</int>        <!-- IDEOGRAPHIC SPACE -->
                        <int>0x3164</int>        <!-- HANGUL FILLER -->
                        <int>0xfeff</int>        <!-- ZERO WIDTH NO-BREAK SPACE -->
                        <int>0xffa0</int>        <!-- HALFWIDTH HANGUL FILLER -->
                        <int>0xfff9</int>        <!-- INTERLINEAR ANNOTATION ANCHOR -->
                        <int>0xfffa</int>        <!-- INTERLINEAR ANNOTATION SEPARATOR -->
                        <int>0xfffb</int>        <!-- INTERLINEAR ANNOTATION TERMINATOR -->
                </blank>
<!--
Rescan configuration every 30 seconds when FcFontSetList is called
-->
                <rescan>
                        <int>30</int>
                </rescan>
        </config>

</fontconfig>

bigcat00 发表于 2005-11-15 23:47:43

这个是我的local.conf,同样──红色部分是我修改/添加的部分:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file for local customizations -->
<fontconfig>
<!--
Enable sub-pixel rendering
        <match target="font">
                <test qual="all" name="rgba">
                        <const>unknown</const>
                </test>
                <edit name="rgba" mode="assign"><const>rgb</const></edit>
        </match>
-->
<!--
Add by Firefly([email protected])
-->
      <match target="font">
                <edit name="embeddedbitmap" mod="assign">
                        <bool>true</bool>
                </edit>
        </match>

<!--
Add by Firefly([email protected])
Most of Asian fonts can't explain by freetype2,
so,if these fonts have dual width(half/full) and monospacing,
you need to disable globaladvance.
-->
        <match target="font">
                <test name="spacing" compare="more_eq">
                        <const>mono</const>
                </test>
                <edit name="globaladvance" mode="assign">
                        <bool>false</bool>
                </edit>
        </match>

<!--
Add by [email protected]
Artificial bold for fonts without a bold version.
-->
        <match target="font">
                <!-- check to see if the pattern requested > "medium" -->
                <test target="pattern" name="weight" compare="more">
                        <const>medium</const>
                </test>
                <!-- pretend the font is bold now -->
                <edit name="weight" mode="assign">
                        <const>bold</const>
                </edit>
        </match>

<!--
Add by [email protected]
-->
        <match target="pattern">
                <test name="lang" compare="contains">
                        <string>zh-tw</string>
                        <string>zh-cn</string>
                        <string>zh-hk</string>
                        <string>zh-mo</string>
                        <string>zh-sg</string>
                        <string>ja</string>
                        <string>ko</string>
                </test>
                <edit name="hinting" mode="assign">
                        <bool>true</bool>
                </edit>
                <edit name="usegamma" mode="assign">
                  <if>
                        <less>
                                <name>pixelsize</name>
                                <double>20</double>
                        </less>
                  </if>
                  <bool>true</bool>
                  <bool>false</bool>
                </edit>
        </match>

<match target="font">
<!--                <edit mode="assign" name="antialias" >
                        <bool>t</bool>
                </edit>
-->
                <edit mode="assign" name="hintstyle" >
                        <const>hintslight</const>
                </edit>
                <edit mode="assign" name="hinting" >
                        <bool>t</bool>
                </edit>
                <edit mode="assign" name="autohint" >
                        <bool>false</bool>
                </edit>
</match>


<match target="font">
<test compare="more_eq" name="size" qual="any" >
    <double>12</double>
</test>
<test compare="less" name="size" qual="any" >
    <double>16</double>
</test>
<edit mode="assign" name="antialias" >
    <bool>false</bool>
</edit>
</match>

<match target="font">
<test compare="more_eq" name="pixelsize" qual="any" >
    <double>12</double>
</test>
<test compare="less" name="pixelsize" qual="any" >
    <double>16</double>
</test>
<edit mode="assign" name="antialias" >
   <bool>false</bool>
</edit>
</match>


<match target="font">
<test compare="more" name="slant">
    <const>roman</const>
</test>
<test compare="less" name="slant">
    <const>oblique</const>
</test>
<edit mode="assign" name="antialias" >
   <bool>true</bool>
</edit>
</match>

<!--........................................................................-->       
        <config>
<!--
Add by Firefly ([email protected])
Output non English/Latin family name.
-->
                <familyoutput>
                        <const>auto</const>
                        <!--const>englishonly</const-->
                        <!--const>any</const-->
                </familyoutput>
        </config>

</fontconfig>

cnhnln 发表于 2005-11-16 01:52:11

改那么多阿。都删掉试试看 8)

bigcat00 发表于 2005-11-16 02:02:25

-_-!!
帅哥,你是认真的???

bigcat00 发表于 2005-11-16 02:39:46

多谢3N了,把 <match target="pattern">
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Tahoma</string>
</edit>
</match>

<match target="pattern">
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Tahoma</string>
</edit>
</match>

<match target="pattern">
<test qual="any" name="family">
<string>sans</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Tahoma</string>
</edit>
</match>

<match target="pattern">
<test qual="any" name="family">
<string>monospace</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Tahoma</string>
</edit>
</match> 这段代码删掉就可以了……不过就是有很多英文、数字用simsun来显示了,巨丑……有办法治不? :o

cnhnln 发表于 2005-11-16 13:19:30

不知道你要什么效果。tahoma+simsun吗? fonts.conf都不要改,然后字体设置里选tahoma。先试试看

wolf0403 发表于 2005-11-16 13:27:43

可怜的猫猫……

cnhnln 发表于 2005-11-16 13:45:48

不行就再加
<alias>
        <family>serif</family>
        <prefer><family>Tahoma</family></prefer>
</alias>
<alias>
        <family>sans</family>
        <prefer><family>Tahoma</family></prefer>
</alias>
<alias>

还不行就把上面的换成
<match target="pattern">
        <test name="family"><string>Tahoma</string></test>
        <edit name="family" mode="append" binding="same"><string>SimSun</string></edit>
</match>

bigcat00 发表于 2005-11-16 14:25:16

3N:现在屏幕上是不“刮风”了,可是在有些网站上的英文数字全用simsun里的来显示了,但是──十分难看,尽管我已经打开了freetype的bytecode,但还是难看!问问有什么办法让simsun显示得好看些?ML中是怎么解决的?

贴个对比图:

cnhnln 发表于 2005-11-16 16:19:49

嘿嘿,那就用tahoma吧

bigcat00 发表于 2005-11-16 17:51:39

嘿嘿,那就用tahoma吧
-_-#
用tahoma就会看到“风过湖面”的文字版了……3N有办法整治simsun的英文数字不?好象ML和红旗就有办法把simsun的英文数字显示效果整治到WIN的水平。问问ML或3N你是怎么办到的?

cnhnln 发表于 2005-11-16 20:37:32

没用过ML,红旗是用的点阵字 Helvetica

“风过湖面”?就是上面,就是上面说的掉字吗?你不是删掉那一段以后就可以了吗?
页: [1] 2
查看完整版本: 3N在嘛?向你请教个问题,关于Firefox+Tahoma