QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2294|回复: 22

今天解决我的hinting问题[怎么打开hinting?]

[复制链接]
发表于 2004-12-29 10:34:06 | 显示全部楼层 |阅读模式
是要装软件?改fonts.conf文件?还是要怎么作?哪位知道来说一句吧谢谢
发表于 2004-12-29 14:33:51 | 显示全部楼层
[code:1]<match target="font">
        <edit name="hinting" mode="assign">
                <bool>true</bool>
        </edit>
</match>[/code:1]
回复

使用道具 举报

 楼主| 发表于 2004-12-29 15:27:52 | 显示全部楼层
这是我的/etc/fonts/fonts.conf文件,里面有关于hinting的,但我不明白的是怎么用它们,好像论坛上一位兄弟说过还要重新编译什么东西。

[code:1]<?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
-->

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

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

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>mono</string>
             </test>
             <edit name="spacing" mode="assign">
                 <int>100</int>
             </edit>
         </match>

        <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>

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

<!--
  Serif faces
-->
        <alias>
                <family>SimSun</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>SimSun</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>
                <default><family>sans-serif</family></default>
        </alias>
<!--
  Monospace faces
-->
        <alias>
                <family>SimSun</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>

<!--
        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>alse</bool>
                        <bool>true</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>SimSun</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>AR PL SungtiL GB</family>
                        <family>AR PL Mingti2L Big5</family>
                        <family>Baekmuk Batang</family>
                </prefer>
        </alias>
        <alias>
                <family>sans-serif</family>
                <prefer>
                        <family>SimSun</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>AR PL KaitiM GB</family>
                        <family>AR PL KaitiM Big5</family>
                        <family>Baekmuk Dotum</family>
                </prefer>
        </alias>
        <alias>
                <family>monospace</family>
                <prefer>
                        <family>Bitstream Vera Sans Mono</family>
                        <family>SimSun</family>
                        <family>Andale Mono</family>
                        <family>Courier New</family>
                        <family>Luxi Mono</family>
                        <family>Nimbus Mono L</family>
                        <family>Kochi Gothic</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>

<!--
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]
  Disable "Global Advance" for all mono spacing fonts.
-->
        <match target="font">
                <test name="spacing" compare="eq">
                        <const>mono</const>
                </test>
                <edit name="globaladvance" mode="assign">
                        <bool>false</bool>
                </edit>
        </match>

<!--
  Add by [email protected]
  Enable "hinting & autohint" for all fonts.
-->
        <match target="font">
                <edit name="hinting" mode="assign">
                        <bool>true</bool>
                </edit>
                <edit name="autohint" mode="assign">
                        <bool>true</bool>
                </edit>
        </match>

   <match target="font">
       <edit name="antialias"><bool>true</bool></edit>
       <edit name="rgba" mode="assign"><const>rgb</const></edit>
       <edit name="hinting"><bool>true</bool></edit>
   </match>
<!--
  Add by [email protected]

  If you don't want to use emdebedbitmap first.
  you can set this "embed" with false.

        <match target="font">
                <edit name="embed" mode="assign">
                        <bool>false</bool>
                </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>
<!--
  Add by Firefly ([email protected])
  Output non English/Latin family name.
-->
                <other_family>
                        <bool>true</bool>
                </other_family>
        </config>
<!--刚加上的
__>

<!--
This expression is added by Akito Hirai<[email protected]> for convenience.
It can be used to make artificial bold versions in client libraries/applications.
-->
<match target="font">
<test name="weight">
<const>medium</const>
</test>
<test target="pattern" name="weight" compare="more">
<const>medium</const>
</test>
<edit name="weight" mode="assign">
<if>
<more>
<name>spacing</name>
<const>proportional</const>
</more>
<const>demibold</const>
<const>bold</const>
</if>
</edit>
</match>
<match target="font">
<test name="pixelsize" compare="less_eq">
<double>16</double>
</test>
<test name="pixelsize" compare="more_eq">
<double>8</double>
</test>
<edit name="antialias" mode="assign">
<bool>f</bool>
</edit>
</match>

</fontconfig>
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2004-12-29 16:29:01 | 显示全部楼层
我现在的主要问题是,数字的显示还有一点虚,图下如

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2004-12-29 16:30:21 | 显示全部楼层
不知道是我的眼有问题还是显示器还是我设置有问题,我看起,字母也是有一点虚的。
回复

使用道具 举报

发表于 2004-12-29 23:59:48 | 显示全部楼层
有一些发行版因为涉及到专利的原因,默认没有编译出带hinting支持的freetype。例如RH、FC的

下载freetype2的源码,解压后,把 include/freetype/config/ftoption.h 里面的
/* #define  TT_CONFIG_OPTION_BYTECODE_INTERPRETER */

改成
#defineTT_CONFIG_OPTION_BYTECODE_INTERPRETER

然后编译,重新安装freetype2就行了
回复

使用道具 举报

发表于 2004-12-30 14:34:18 | 显示全部楼层
或者下载freetype2的src.rpm。rpm -ivh 安装以后。改/usr/src/redhat/SPECS/freetype.spec 的
%define without_bytecode_interpreter    1


%define without_bytecode_interpreter    0

然后
rpmbuild -bb /usr/src/redhat/SPECS/freetype.spec
cd /usr/src/redhat/RPMS/i386
rpm -ivh freetype*.rpm
回复

使用道具 举报

 楼主| 发表于 2004-12-31 15:33:34 | 显示全部楼层
[quote:47a8c91f0b="cnhnln"]有一些发行版因为涉及到专利的原因,默认没有编译出带hinting支持的freetype。例如RH、FC的

下载freetype2的源码,解压后,把 include/freetype/config/ftoption.h 里面的
/* #define  TT_CONFIG_OPTION_BYTECODE_INTERPRETER */

改成
#defineTT_CONFIG_OPTION_BYTECODE_INTERPRETER

然后编译,重新安装freetype2就行了[/quote]

[code:1]我按上面的方法做了以后,字体的显示有了大的改观,但是离完美或者说赶上windows的水平还不行,特别是那个数字的显示,其中特别是4的显示,还是虚的很,但这个4,只是在网页上的显示很差,在其它地方的可以的,再有说是字母的显示,还是有点虚,这个是通的,所有的字母都是这样,现在还请高人再指点一下,谢谢谢谢谢谢[/code:1]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2004-12-31 16:29:05 | 显示全部楼层
[code:1]<match target="font">
        <edit name="hinting" mode="assign">
                <bool>true</bool>
        </edit>
</match>[/code:1]
[code:1]<match target="font">
        <edit name="antialias" mode="assign">
                <bool>false</bool>
        </edit>
</match>[/code:1]
加到fonts.conf
回复

使用道具 举报

发表于 2004-12-31 16:44:28 | 显示全部楼层
这个AA和hinting不能一起来?     
回复

使用道具 举报

发表于 2004-12-31 16:53:17 | 显示全部楼层
[quote:848e7c46e2="fudaming"]这个AA和hinting不能一起来?     [/quote]
AA以后就不能使用内嵌的点阵了,hinting也应该没有了

可能不对阿,呵呵
回复

使用道具 举报

发表于 2004-12-31 17:00:44 | 显示全部楼层
    

这样啊,那我两种都试一下。
回复

使用道具 举报

发表于 2004-12-31 17:07:09 | 显示全部楼层
[quote:d87206d23e="cnhnln"][quote:d87206d23e="fudaming"]这个AA和hinting不能一起来?     [/quote]
AA以后就不能使用内嵌的点阵了,hinting也应该没有了

可能不对阿,呵呵[/quote]

关了以后惨不忍睹,还是都用上吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2004-12-31 17:11:57 | 显示全部楼层
是不是要把autohint关掉。
回复

使用道具 举报

 楼主| 发表于 2004-12-31 17:24:49 | 显示全部楼层
[code:1]好像没有效果,加在fonts.conf哪个位置都行?只要在最后一行之前.
那个数字4还是那个样子[/code:1]

[quote:1c195f4dc2="cnhnln"][code:1]<match target="font">
<edit name="hinting" mode="assign">
  <bool>true</bool>
</edit>
</match>[/code:1]
[code:1]<match target="font">
<edit name="antialias" mode="assign">
  <bool>false</bool>
</edit>
</match>[/code:1]
加到fonts.conf[/quote]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 00:29 , Processed in 0.062159 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表