LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 902|回复: 4

SUSE9.2字体美化无敌招

[复制链接]
发表于 2005-1-20 19:03:09 | 显示全部楼层 |阅读模式
首先说明一下 ,安装的时候选择中文简体(不然安装完了那个Scim输入法不能用)

其次我们打开控制中心---> 系统管理---->字体安装程序 进入truetype文件夹。把字体"simsun.ttf ,tahoma.ttf,tahomabd.ttf"(在windows下的/windows/fonts下)
其中simsun.ttc要改后缀名为.ttf


接下来介绍一下linux下的字体原理:

我们要理解X的字体引擎. X中支持Truetype字体(一种可放缩字体) 的主要有四种引擎. freetype, xtt, xfs和Xft.


首先, 我们要理解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 (比较老的显卡).

[/color=red] SUSE9.2下是在/etc/x11/XF86Config用你喜欢的文本编辑器打开, 如 kedit或gedit.

打开后我们发现配置文件分成很多个Section, 我们首先要配置的就是 Section "Files" , 这个部分描述了X所要调用的文件信息.

要加入一个字体目录, 只需在里面插入一行 FontPath "目录名" 就可以了, 如:

[/color=red] FontPath         "/truetype"

然后, 我们让X加载xtt字体引擎:

找到Section "Module", 像这样修改:

Section "Module"
# Load "dbe"  
# Load "v4l"  
Load "extmod"
Load "glx
# Load "type1" ( type1 模组是渲染type1字体的, 和xtt冲突, 必需屏蔽)
# Load "freetype" ( freetype 模组是渲染Truetype字体的, 和xtt冲突, 必需屏蔽 )
Load "xtt" ( 加入xtt模组引擎 )
EndSection


这样,这个模块就只剩下下面3句话起作用:


  Load         "extmod"
  Load         "glx"
  Load         "xtt"

好了, 现在xtt会自动去 /truetype 里找字体.

现在开始拷贝字体到 /truetype里去, 先要在根目录建一个truetype目录, 打

mkdir /truetype

就可以了.

从windows分区拷贝字体到这个文件夹
拷贝字体文件到 /truetype里
进入WINDOWS下的C盘的 C:\windows\fonts\
拷贝字体:

cp simsun.ttc /truetype/simsun.ttf
cp tahoma.ttf /truetype/
cp tahomabd.ttf /truetype/


这样就将我们所需要的字体文件拷贝到truetype 里了.

下一步我们要设置字体文件, Linux中X的字体设置很烦锁, 不像windows一拷贝就完事, 初级阶段嘛, 大家还是忍忍吧, 呵呵.
进入/truetype 也就是你建的那个目录  新建一个文本文件  取名为fonts.dir 用编辑器打开:拷贝如下信息进去 保存:

24
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-c-0-gb2312.1980-0
ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-c-0-gb2312.1980-0
ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-c-0-gb2312.1980-0
tahoma.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tahoma.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-iso8859-1
tahomabd.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tahomabd.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-iso8859-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gbk-0
ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-gbk-0
ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-gbk-0
ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-gbk-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-fcd8859-15
ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-fcd8859-15
ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-fcd8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-15
ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-iso8859-15
ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-iso8859-15
ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-iso8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-iso10646-1
ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-c-0-iso10646-1
ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-c-0-iso10646-1
ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-c-0-iso10646-1


第一行的24表示下面一共有24行设置 (好像有点傻) , 其他的格式都差不多
稍微给大家作下解释:
ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-gbk-0
  说明:
  simsun.ttf: 字体文件名  
ds=[yn]: ds是xtt的功能, 设成"y" 表示粗体, "n" 表示正常.  
ai=Real_number: 表示倾斜度. 不设表示自动.
  misc : 表示字体的类别
  SimSun : 是字体的名称
  bold : bold 表示粗体, 其他如medium表示正常,
  i : 表示斜体, r 是正常
  p: 可变长度, c 是正方形, m是固定宽度
  gbk: 字体编码
  这里大家发现我们还使用了tahoma英文字体, 这样替换, 系统读取Simsun英文字体的时候, 就会用pp的tahoma替代.
  好了, 现在存盘. 然后拷贝一个到fonts.scale
  cp fonts.dir fonts.scale
  然后拷贝编码文件 encodings.dir 到目录里来.
  cp /usr/X11R6/lib/X11/fonts/encodings/encodings.dir /truetype

  好, 重起机器, 把KDE, mozilla, galeon 等等所有默认字体都改成simsun,最下字体改成9号  适当     调整字体的大小 . 哈哈, 是不是比从前漂亮了很多?

  大家还是把这几个配置文件备份到windows下的分区去, 以后安装的时候就不用太麻烦了.
  
  最后大家如果这样设置出现什么问题 请在此跟帖说明。
 楼主| 发表于 2005-1-20 19:48:51 | 显示全部楼层
强烈要求置顶!~~~
回复 支持 反对

使用道具 举报

发表于 2005-1-20 20:27:22 | 显示全部楼层
标题吓死人。。。
老掉牙的东西,xtt在两年前的发行版默认就不用了???
simsun.ttc改成simsun.ttf会丢失一种字体???
四种引擎,xft居然是系统服务,xtt与type1冲突,。。?????你不懂的话,可以看suse的文档,suse网站上有关cjk文档,或是曾经装过redhat,花一两分种,看一下安装程序下面的“发行注记”,讲得很清楚 。。。

不知道从哪里抄,这要是置顶,不知道要误导多少人。
suse 9.2不需要任何所谓的美化了,中文支持十分完美,看不惯字体把win字体拷过来就行了。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-20 22:54:26 | 显示全部楼层
其实这些我也不了解 只是稍微对美化的过程作了些修改  原理性的东西我没动过 大概可能是原文有些时日了吧?
但是按照这样的美化效果是非常好的  大家不妨一试。。。呵呵
回复 支持 反对

使用道具 举报

发表于 2005-1-21 10:22:35 | 显示全部楼层
xorg6.8还支持xtt模块吗?好像已经不再支持了吧。
这种方法真是太落伍了。 :beat
回复 支持 反对

使用道具 举报

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

本版积分规则

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