英文間距太大的解決方法

类别:软件工程 点击:0 评论:0 推荐:

首先,我先解釋為什麼會有英文間距過大的問題:

TrueType 字體分成兩種,一種是可變字距,也就是每個字符寬度不一樣,比如 "x" 與 "i",這兩個字符就不等寬,它是在每個字符中紀錄該字符的寬度,大多數的 TrueType 都是這種格式。

另一種就是固定字距。也就是每個字符寬度都一樣,這樣顯示或打印時,會有對齊效果,比較美觀,在英語環境中,不會有任何問題,聰明的您,知道問題所在了吧

沒錯!CJK 的等寬字體,包含『半寬英數字符』與『全寬 CJK 字符』,字型引擎會把全寬字寬度套用在半寬字上頭,造成半寬字看起來間距太大,這就是問題所在。

這裡提供一個方法,讓字型引擎忽略 CJK 字體指定的寬度,您可以將以下這段內容,複製到 /etc/fonts/fonts.conf 或是 /etc/fonts/local.conf 中:

代码:      

<match target="font">
    <test target="pattern" name="lang" compare="contains">
          <string>zh-tw</string>
          <string>zh-cn</string>
          <string>ja</string>
          <string>ko</string>
    </test>
    <test name="spacing" compare="eq">
          <const>mono</const>
    </test>
    <edit name="globaladvance" mode="assign">
          <bool>false</bool>
    </edit>
</match>
     

以上那段的意思是:當遇到 CJK 字型,又是等寬時,忽略系統內定寬度,這樣,當系統使用 CJK 等寬字時,便不會再有間距過大的問題。

本文地址:http://com.8s8s.com/it/it32288.htm