如何使Linux桌面正确显示和输入中文, 一直是令Linux初学者头痛的事情. 目前有很多汉化的文章, 但大多只讲步骤而不谈道理, 让初学者云里来雾里去. 这篇文章将从X的字体原理入手,帮助大家理解X的字体机制,在汉化中学习。
首先, 我们要理解X的字体引擎. X中支持Truetype字体(一种可放缩字体) 的主要有四种引擎。freetype, xtt, xfs和Xft. 其中freetype 和 xtt 是 X 的内部模块. 使用的都是freetype1渲染引擎。Xfs 和xft 是外部服务程序. xfs 是系统级的字体服务程序, 也可以作为X的内部模块, 使用的是X 内部的freetype2. Xft 和其他类库一样, 只有被调用的时候才被加载. 其中只有xft才有antialias 支持。
这里有必要讲讲freetype. Freetype 是开源字体渲染引擎, 并不只为X设计。它的功能就是读取Truetype字体信息, 如大小, 分辨率, 编码等, 然后渲染成所需的位图数据输出. Freetype 现在的版本是 2.x, 与1.0 相比, 最大的差别就是加入了抗锯齿功能。
有这么多引擎,到底要用哪个好? 其实我们目前为止, 支持中文最好的还是xtt. 因为小字体的时候, 用函数描述法算出来的中文字体效果不能让人满意, 所以很多中文字体公司就在Truetype字体里嵌入了位图字体. 这些位图字体需要用特殊的方式读出来, 所有的引擎中就只有xtt能做到这一点。我们下一步就是将字体添加到X中, 使xtt可以正确读取, 这样就可以了。
首先, 由于要配置Linux系统文件, 我们需要用root帐号进入, 相当于windows下的administrator。X的配置文件是/etc/XF86Config-4 (比较新的显卡) 或者是 XF86Config (比较老的显卡). 用你喜欢的文本编辑器打开, 如 kedit或gedit。打开后我们发现配置文件分成很多个Section, 我们首先要配置的就是 Section "Files" , 这个部分描述了X所要调用的文件信息。要加入一个字体目录, 只需在里面插入一行 FontPath "目录名" 就可以了, 如:
|
然后, 我们让X加载xtt字体引擎,找到Section "Module", 像这样修改:
|
好了, 现在xtt会自动去 /truetype 里找字体。现在开始拷贝字体到 /truetype里去, 先要在根目录建一个truetype目录, mkdir /truetype就可以了。从windows分区拷贝要先mount, 就是作一个联接, 将Linux目录连到windows分区. 在根目录下建一个"c"目录。mkdir /c然后mount /dev/hda1 /c这样就将windows下的C盘 联接到我们Linux下的/c目录了, 进入/c, 应该可以看到你C盘的文件。然后, 进入/c 中的字体文件目录, 一般在window下面的Fonts里, 注意目录名大小写在Linux下面是有区别的。拷贝字体文件到 /truetype里:
|
[1] [2] 下一页