SID版本中升级FontConfig的问题

今天对系统进行升级,重启之后发现出现英文与中文同宽的现象,就好象是在Windows中英文用了全角的样子,控制台、Firefox等程序都出现了这个现象,于是上网寻找解决方案,结果发现是升级了FontConfig造成的。在BBS中讨论了一下,基本上解决的办法有以下两种:

  1. 强制FontConfig降级至Testing版,这样的话,只要重启就OK了。只是要降级时注意,一定要覆盖掉新版本生成的Font.conf和Local.conf文件(文件Local.conf在新版本中并不存在,新版本只是简单地将其删除)
  2. 自已创建一个Local.conf文件(可以在升级前做一个拷贝),并在其中加入以下代码:
      <match target="font"> 
         <edit name="spacing"> 
            <const>proportional</const> 
         </edit> 
         <edit name="globaladvance"> 
            <bool>false</bool> 
         </edit> 
      </match>
    然后重启X-Window即可!
    另:附上我的Local.conf文件(有的朋友可能没有保留先前的备份,这份文件是未做过任何修改的Local.conf文件加上上述代码的,比较干净!:P)
    <?xml version="1.0"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <fontconfig>
      <include ignore_missing="yes">/var/lib/defoma/fontconfig.d/fonts.conf</include>
    <!-- Uncomment below to enable bitmapped fonts -->
    <!--
      <dir>/usr/X11R6/lib/X11/fonts</dir>
    -->
      <match target="font">
        <test qual="all" name="rgba">
          <const>unknown</const>
        </test>
        <edit name="rgba" mode="assign"><const>rgb</const></edit>
      </match>
    <!-- Uncomment below to enable the freetype autohinter module -->
    <!--
      <match target="font">
        <edit name="autohint" mode="assign">
          <bool>true</bool>
        </edit>
      </match>
    -->
      <match target="font"> 
         <edit name="spacing"> 
            <const>proportional</const> 
         </edit> 
         <edit name="globaladvance"> 
            <bool>false</bool> 
         </edit> 
      </match> 
    </fontconfig>

本文转自 firehare 51CTO博客,原文链接:http://blog.51cto.com/firehare/588057,如需转载请自行联系原作者
上一篇:理解 Memory barrier(内存屏障)【转】


下一篇:.NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)