QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 37089|回复: 40

英文間距太大的解決方法

[复制链接]
发表于 2003-5-22 09:24:15 | 显示全部楼层 |阅读模式
首先,我先解釋為什麼會有英文間距過大的問題:

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

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

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

這裡提供一個方法,讓字型引擎忽略 CJK 字體指定的寬度,您可以將以下這段內容,複製到 /etc/fonts/fonts.conf 或是 /etc/fonts/local.conf 中:
[code:1]
<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>
[/code:1]
以上那段的意思是:當遇到 CJK 字型,又是等寬時,忽略系統內定寬度,這樣,當系統使用 CJK 等寬字時,便不會再有間距過大的問題。
发表于 2003-6-4 17:17:02 | 显示全部楼层
但是这样在运行OO,还有Kate的时候,英文间距还是大。
OO的菜单英文,Kate的命令行。英文字体间距都是比较大。
回复

使用道具 举报

发表于 2003-6-4 22:20:10 | 显示全部楼层
OO用的是自己的fontconfig...
Kate裡的命令行是調用Konsole,按右鍵修改字型為"自訂",在更改為非Fixed的字型即可...
回复

使用道具 举报

发表于 2003-6-5 12:45:10 | 显示全部楼层
可变字距有什么好的?为什么会加进这个功能阿?
回复

使用道具 举报

发表于 2003-8-10 07:19:15 | 显示全部楼层
[quote:333df4b8fd="lanjian98"]可变字距有什么好的?为什么会加进这个功能阿?[/quote]

嘿嘿,原因是大部分人认为可变的字距使文本更好看。为什么是这样土人我颗不动,这个你可能需要去问一问学美术或者学心里美学的人。
回复

使用道具 举报

发表于 2003-8-12 03:00:44 | 显示全部楼层
谢谢,谢谢,太谢谢了,找了几天了,终于在这里找到了,终端里的英语子母那么大,看着郁闷死了,嘿嘿,按照楼主斑竹的 方法成功解决!!!!!!!!!!!
愿公社更快的 发展,让我们这些小鸟成长的更快!@!!
回复

使用道具 举报

发表于 2003-8-21 03:56:31 | 显示全部楼层
奇怪,我的改了之后并没有出现任何变化,相反到是改变fonts.scale中的"c"为"p"可以解决部分问题.

其实现在也就剩下一个rxvt终端的字体没有解决,主要就是英文字体间距太大,只有在xtt下才会正常,freetype下一直搞不定,都有点灰心想回头用xtt了.
回复

使用道具 举报

发表于 2003-9-6 09:41:29 | 显示全部楼层
可是我用了楼主的方法之后,字体变得模糊不清了,只得又忍痛删掉
这是为什么呢?
回复

使用道具 举报

发表于 2003-10-30 22:25:06 | 显示全部楼层
怎么我用了之后没有一点的改变,还是和原来的一样,看看我这里的字体还是这样的宽!
g m p l a y e r这个是在终端里头的字的间距!
回复

使用道具 举报

发表于 2003-10-30 23:21:47 | 显示全部楼层
[code:1]<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>
                <edit name="spacing">
                        <const>proportional</const>
                </edit>
                <edit name="globaladvance">
                <bool>false</bool>
                </edit>
        </match>[/code:1]
回复

使用道具 举报

发表于 2003-12-18 20:37:36 | 显示全部楼层
我用楼主的代码没有解决问题
Kingo的代码能解决问题
回复

使用道具 举报

发表于 2004-1-26 17:44:02 | 显示全部楼层
两种方法都不行         
回复

使用道具 举报

发表于 2004-1-29 14:38:58 | 显示全部楼层
我试过了,可以!谢谢先!
不过还有一个问题就是大部分已经解决了,可是还有一部分字体是很宽的,
具体是在mozilla1.6的界面上有问题!





mozilla里面的菜单上的字体怎么设置阿?
回复

使用道具 举报

发表于 2004-2-16 14:14:46 | 显示全部楼层
果然解决了问题
回复

使用道具 举报

发表于 2004-2-17 00:58:31 | 显示全部楼层
[quote:54965e5734="vivo"]我试过了,可以!谢谢先!
不过还有一个问题就是大部分已经解决了,可是还有一部分字体是很宽的,
具体是在mozilla1.6的界面上有问题!

mozilla里面的菜单上的字体怎么设置阿?[/quote]

[code:1]
<match target="font">
                <edit name="spacing">
                        <const>proportional</const>
                </edit>
                <edit name="globaladvance">
                <bool>false</bool>
                </edit>
        </match>
[/code:1]
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-4-24 11:58 , Processed in 0.074169 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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