今天对系统进行升级,重启之后发现出现英文与中文同宽的现象,就好象是在Windows中英文用了全角的样子,控制台、Firefox等程序都出现了这个现象,于是上网寻找解决方案,结果发现是升级了FontConfig造成的。在BBS中讨论了一下,基本上解决的办法有以下两种:
- 强制FontConfig降级至Testing版,这样的话,只要重启就OK了。只是要降级时注意,一定要覆盖掉新版本生成的Font.conf和Local.conf文件(文件Local.conf在新版本中并不存在,新版本只是简单地将其删除)
- 自已创建一个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,如需转载请自行联系原作者