sandysong 发表于 2004-1-17 14:10:30

帮帮忙,现在我的字体有些问题

如图,中文是好看了,可是英文怎么看上去像全角的字母?

jamako 发表于 2004-1-17 14:21:07

首先,我先解释为什么会有英文间距过大的问题:

TrueType 字体分成两种,一种是可变字距,也就是每个字符宽度不一样,比如 "x" 与 "i",这两个字符就不等宽,它是在每个字符中纪录该字符的宽度,大多数的 TrueType 都是这种格式。

另一种就是固定字距。也就是每个字符宽度都一样,这样显示或打印时,会有对齐效果,比较美观,在英语环境中,不会有任何问题,聪明的您,知道问题所在了吧

没错!CJK 的等宽字体,包含『半宽英数字符』与『全宽 CJK 字符』,字型引擎会把全宽字宽度套用在半宽字上头,造成半宽字看起来间距太大,这就是问题所在。

这里提供一个方法,让字型引擎忽略 CJK 字体指定的宽度,您可以将以下这段内容,复制到 /etc/fonts/fonts.conf 或是 /etc/fonts/local.conf 中:
Code:
&lt;match target="font"&gt;         &lt;test target="pattern" name="lang" compare="contains"&gt;               &lt;string&gt;zh-tw&lt;/string&gt;               &lt;string&gt;zh-cn&lt;/string&gt;               &lt;string&gt;ja&lt;/string&gt;               &lt;string&gt;ko&lt;/string&gt;         &lt;/test&gt;         &lt;test name="spacing" compare="eq"&gt;               &lt;const&gt;mono&lt;/const&gt;         &lt;/test&gt;         &lt;edit name="globaladvance" mode="assign"&gt;               <bool>false</bool>         &lt;/edit&gt; &lt;/match&gt;

以上那段的意思是:当遇到 CJK 字型,又是等宽时,忽略系统内定宽度,这样,当系统使用 CJK 等宽字时,便不会再有间距过大的问题。

Ivn 发表于 2004-1-17 14:21:07

这个现象是只在 mozilla 中呢 ? 还是整个系统的英文字体都这个样?
//
你的 mozilla 中的字体是怎么设置的?

sandysong 发表于 2004-1-17 14:32:35

系统中大部分英文都正常,但是浏览器,输入法中的英文就有问题了,不过浏览器中的英文也不都有问题,纯英文的网站有些就是好的.
页: [1]
查看完整版本: 帮帮忙,现在我的字体有些问题