如果您像我一样:安装的是英文的无版图(Ubuntu),然后添加兼容中文的输入支援。在应用的过程中,您一定会发现,在这样的英文界面上,遇到要输入中文时,总有几个汉字在显示上,有些怪怪的……例如:门、复、径等这些汉字。不是显示为半角,就是显示犹如日本字的笔画写法。如下图:
实际上,这些都不是汉字,这是日文。怎么会这样?怎么解决?
在网络上,有许多人提出这样的问题。可是,回复的答案不外是通过Ubuntu Tweak,或者Unity Tweak Tool修改字体的显示:
可是,这样的修改,虽然界面上如您所愿,在阅读的界面上依照您自己的设定字体字形显示,但是,实际上,并没有彻底解决问题。怎么证明?
当您应用中文输入时,您就会发现这个问题。无论您是采用Ubuntu所提供的拼音输入法,或者自行安装的谷歌输入法,或者许多人应用的搜狗输入法,您会发现,在输入条上的显示,这几个字还是阴魂不散地在那儿显示……
在英文的无版图论坛,没有人问这个问题。在中文的论坛上,有人问了,但是没有人回答……
我对程式语言,一窍不通,当然无法自己去找答案。
后来遇到一位江湖大哥,他说:我不懂中文。这应该是系统字体的应用问题。建议我到下面的几个文件夹里去找找:
/home/[user]/.config/fonts
/etc/fonts/
于是,我像海底捞针一样,把这些文件夹的文件,应用最愚笨的方法:一个个打开来——找、找、找……
终于,皇天不负有心人,终于找到了解决的办法:问题是出在这个文件:64-language-selector-prefer.conf里有关语文预读的先后次序。只要修改了这个先后的次序,就解决了这个问题了。
我的这个64-language-selector-prefer.conf文件,就在/etc/fonts/conf.avail/里。
修改的步骤如下:
1)用管理员的权限,用文本编辑器打开这个在 /etc/fonts/conf.avail/ 目录下的 64-language-selector-prefer.conf 文件。
2)文件的内容是:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans CJK JP</family>
<family>Noto Sans CJK SC</family>
<family>Noto Sans CJK TC</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Sans Mono CJK JP</family>
<family>Noto Sans Mono CJK SC</family>
<family>Noto Sans Mono CJK TC</family>
</prefer>
</alias>
</fontconfig>
如图:
修改的地方,我想不懂程序的朋友都可以胜任愉快。就是把这三行的次序,做些微的调整即可。
Noto Sans CJK JP
Noto Sans CJK SC
Noto Sans CJK TC
这个次序是要系统先读取Noto Sans CJK JP字库。这个是日本字库,难怪系统显示的是日文!终于恍然大悟。这个我还稍微懂一点,因为常常接触到这三个字库:
Noto Sans CJK SC 是思源的中文简体字库;
Noto Sans CJK TC 是思源的中文繁体字库;
Noto Sans CJK JP 是思源的日文字库。
动手把它们的读取次序改一改即可:
次序应该是这样:
Noto Sans CJK SC
Noto Sans CJK TC
Noto Sans CJK JP
修改后的文件内容应该是这样:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans CJK SC</family>
<family>Noto Sans CJK TC</family>
<family>Noto Sans CJK JP</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Sans Mono CJK SC</family>
<family>Noto Sans Mono CJK TC</family>
<family>Noto Sans Mono CJK JP</family>
</prefer>
</alias>
</fontconfig>
如图:
3)修改后,记得要保存这个文件。
4)重启系统。大功告成。
如图:
事实上,其他的什么都不必改,只要修改这个文件就可以解决这个问题了。
当然,您如果对字体有偏好,要修改显示的字库,那么,请听尊便。因为,跟这个我提的问题一点关系也没有。
用了一年多的无版图(Ubuntu),越来越觉得这个系统——太好了。
作者:李前南(新加坡)
(版权所有,商业用途请勿翻印)