君子剑的密室

Thursday, July 06, 2006

Linux桌面应用(一)

今天来说说字体的事儿。

字体配置是很多中文朋友对Linux颇有微词的地方,往往要耗费掉大家很多精力,却仍然得不到还算满意的效果。那么为什么Linux下的中文字体配置会如此麻烦呢?是Linux的字体渲染方面的工作做得不够好么?其实,这个并不能完全怪Linux。

Linux下中文字体配置的难处之一:缺少合适的中文字体
由于历史原因,中文字符的编码有两大类,一类是流行于台湾、香港、澳门以及海外华人社区的繁体中文编码(其代表是BIG5编码方案);另一类是建国以后,在祖国大陆地区实行的简体中文编码。最初颁布的简体中文编码国家标准是GB2312标准,该标准实际上只含有6千多个汉字和常用字符,并不能完全胜任简体中文用户的日常文字处理需求。我们需要更大的字符集。微软后来所开发的简体中文Windows系统中使用的就是被称为GBK的编码标准。该标准本身并不是国标,但是由于成功的商业运作,其等效的国家标准被设置为了国家推荐标准。GBK字符集要比GB2312大得多,而且不但包含了简体中文字符,而且包含了繁体中文字符(注意,同样的一个字,在GBK和BIG5中的编码并不一定相同)。最新的中文编码方面的国家标准是GB18030,该标准属于强制执行性标准。GB18030的字符集要更大一些,比GBK还要全面,可以说是中华人民共和国所有民族的语言的字符都被纳入了该标准。
好了,有了这些背景了解,我们就可以继续讨论Linux下的中文字体配置问题了。在相当长的时间里,没有可供Linux发行版免费使用的符合GBK/GB18030字体。这就是问题所在。Linux用户不得不委屈地使用GB2312来处理简体中文字符,并且随时要准备着遇到那些超出了GB2312范围的汉字(比如前国家总理朱镕基的名字);或者以触犯法律为代价,偷偷地使用其它未授权的GBK/GB18030字体(比如Windows中的simsun.ttc/ttf)。作为各个Linux发行版,除了那些商业版本有可能合法地购买并提供商业字体外,其它的发行版显然没有这个能力。
目前,这个形式已经有了很大的改善。文泉驿项目已经开发出了符合自由软件精神的GBK点阵字体;也有项目在文鼎公司提供的简体GB2312/繁体BIG5字体基础上开发出了Uming/Ukai字体。可以说,除了美学角度上的问题外,可供Linux发行版自由使用的GBK/GB18030字体已经出现了。
预知后事如何,且听下回分解

0 Comments:

Post a Comment

<< Home