在上一篇文章当中,我向大家介绍了如何安装中文环境和输入法,不知道大家留意到没有,Gnome的桌面字体是非常难看的。想个办法让他好看一点吧。最好的办法当然是让Redhat接受TrueType字体。
如果你使用的不是Redhat 7.0的话,很不幸,他们所附带的Xf86对TrueType字体的支持并不是很好,甚至可以用非常的差来形容。所以,确定你的Xfree86版本是4.0以上版本是非常必要的。(RH 6.2的Xfree86是3.3.6版本)
注:网上有文章介绍如何让Xfree 3.3.6支持TrueType,我测试过了,好像并不怎么行,小弟不才,请高手指点!!
一.XFree86
1-1 确定Xfree86的版本
如果你使用的是Redhat 7.0以下的版本,你需要升级你的Xfree86.
1-2 获得Xfee86 4.01
下载下面这些软件包(from xree86.org)
Xlib.tgz
Xetc.tgz
Xdoc.tgz
Xf100.tgz
Xfcyr.tgz
Xfenc.tgz
Xflat2.tgz
Xfnon.tgz
Xfnts.tgz
Xfscl.tgz
Xfsrv.tgz
extract
Xinstall.sh
Xinstall.bin
Xjdoc.tgz
Xhtml.tgz
Xman.tgz
Xnest.tgz
Xprog.tgz
Xmod.tgz
Xprt.tgz
Xps.tgz
Xvar.tgz
Xvfb.tgz
Xxserv.tgz
总共大概是20M,一个多小时可以下载完毕!
1-3 升级Xfree86
其实Xfree86的升级是超级简单,但是在升级以前请备份下面的两个文件:
/etc/X11/xinitrc/Xclients -- 将来可以用他成为启动X的预读文件
/usr/X11R6/bin/startx -- 新的startx好像不会读取gnome的gtk资源文件.
到新的Xree86目录下面
./Xinstall.sh -- 安装XFree86
然后一路 [y] 下去就可以了.
然后,你就得用xf86config之类的命令来配置XF86Config文件.详细的方法不说了,请参考其他文章.
然后:
cp startx /usr/X11R6/bin/startx -- 用旧的startx覆盖新的.
cp Xclients /etc/X11/xinitrc/xinitrc -- startx会读取这个文件,选用给定的桌面.(一般是gnome)
修改/etc/xinitrc,注释掉文件最后这些
xclock -geometry 100x100-5+5 &
xterm -geometry 80x50-50+150 &
if [ -f /usr/bin/netscape -a -f /usr/doc/HTML/index.html ];
then netscape /usr/doc/HTML/index.html &
fi
if [ -f /usr/X11R6/bin/fvwm ]; then
exec fvwm
else exec twm
fi
(不同版本的RH可能会用一些不一样)
如果一切顺利,startx后会进入gnome环境!
二 字体
2-1 xfs
新的xfree86默认是不使用xfs,如果是想使用TrueType,我也不推荐使用xfs.所以 setup->system service->关闭xfs
2-2 得到TrueType字体
mkdir /usr/X11R6/lib/X11/fonts/trueType -- 建立TrueType的存放目录
cp /windows/fonts/simsun.ttf /usr/X11R6/lib/X11/fonts/TrueType
-- 将你win98下的simsun字体复制到linux下.
cd /usr/X11R6/lib/X11/fonts/TrueType
ttmkfdir>fonts.dir -- 生成fonts.dir
我使用的Windows 98是SE版本,将生成的fonts.dir改成了下面的样子.
3
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
生成fonts.scale:cat fonts.dir>fonts.scale
2-3 让XFree86能够解析TrueType
修改/etc/X11/XF86Config,找到解析Fonts的地方,由于FreeType和xtt解析不能够共存,所以我们关闭FreeType解析,打开xtt解析。
# This loads the Type1 and FreeType font modules
Load "type1"
# Load "freetype"
Load "xtt"
然后,还是修改/etc/X11/XF86Config,加入字体搜索路径:
FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/TrueType/" <-加入这一行
(注:默认条件,新的XFree86不使用xfs)
2-4 让gnome使用TrueType
修改/etc/gtk/gtkrc.zh_CN,让gtk使用TrueType字体。
style "gtk-default-zh-cn" {
"-misc-SimSun-medium-r-normal--12-0-0-0-p-0-*-*"
}
三 享受TrueType
到这里,你可以享受TrueType的乐趣了!
把LC_ALL环境变量设定为zh_CN.GB2312(关于中文环境及中文输入法的安装请参考上一章),startx看一下吧!!
让netscape使用TrueType
Edit->Preferance->Fonts 将相应的字体项目改为chinese的就够了。
汉化 GNOME 的菜单项:
在 /usr/share/gnome/apps/ 下,有一些以 .desktop 为后缀的文件,打开该文件,加入一行
Name[zh]=你想要的中文名
则可对相应的菜单项增加中文名,很容易,一看就会。
GNOME 的个人菜单项存放在 HOME 目录下的 .gnome/apps目录里,形式相同。
后记:
以上是本人安装TrueType字体支持的全过程。事情到这里看起来好像是非常完美了,X-Windows有了中文支持,有了中文输入法,可以使用TrueType字体。但是事实并不是这样的,BUGS很多,中文的支持也是非常的不完整:Gnome所附带的程序当中,好像就有一个gedit是支持vim协议的。在qt 1.42的时候,有一个zh_qt-1.4.2.patch可以让kde支持中文,1.44的qt加入更好的东方语系的支持但是好像还需要一个补丁,所以当你在gnome环境下看kde菜单的内容是中文的,但是一旦你使用kde桌面,就变成乱码了。gedit对TrueType的支持也不是太好,一旦把它的字体设置成为TrueType,他就会当掉。 我们选择Linux的原因是它的自由性,台湾人很无私的做到了这一点,我们目前所能够看到的合用到的中文支持,好多来自于台湾。我们又做了些什么?看看那些这个版本那个版本的中文Linux,充其量不过是把RedHat拿回来汉化了一遍而已,是如何汉化的呢?-不告诉你,因为这是他们赚钱的法宝!