RH8+gnome+KDE使用simsun的方案

发表于:2007-06-22来源:作者:点击数: 标签:
摘要 我的意图不安装任何补丁和不屏蔽Xft来使用simsun字库显示gnome和KDE的汉字界面,而保留了RH8使用Xft的速度 性能 。依使用XTT来为GTK1程序提供汉字驱动,不管怎说目前它令simsun达到很佳的显示效果 我的意图不安装任何补丁和不屏蔽Xft来使用simsun字库显

   
  摘要
    我的意图不安装任何补丁和不屏蔽Xft来使用simsun字库显示gnome和KDE的汉字界面,而保留了RH8使用Xft的速度性能。依使用XTT来为GTK1程序提供汉字驱动,不管怎说目前它令simsun达到很佳的显示效果
  

    我的意图不安装任何补丁和不屏蔽Xft来使用simsun字库显示gnome和KDE的汉字界面,而保留了RH8使用Xft的速度性能。依使用XTT来为GTK1程序提供汉字驱动,不管怎说目前它令simsun达到很佳的显示效果。
  
    本贴的方法在RH8的gnome和KDE下使用成功。我的显示器分辨率800x600。
  
    本方案分为两个部份,第一部分是延续自RH71开始的汉化方案,第二部分是针对RH8的。
  
  第一部分:为Mozilla和一些GTK程序配置xtt
  
    一、创建simsun字库的目录和编辑fonts.dir文件。
  
    root注册
  
    这是第一步,目录的位置由自己定,我是放在/usr/local/下的目录名是zhfonts。为何要这样处理呢?我的Linux有两个分区,一是/分区、二是/usr/local/分区,这样做的好处是/usr/local实际上是个备份区。
  
    编辑/usr/local/zhfonts/fonts.dir文件。这是基本功,simsun的显示效果和黑体、斜体的产生就看它了。方法不再说明,大家看一下相关的文章
  
    要强调的是务必要加上
  
    simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-c-0-iso10646-1
  
    之类的字体信息(正常体、斜体、黑体、黑斜体等)。
  
    但gnome2并不需要配置fonts.dir文件。
  
    在/usr/local/zhfonts目录下:
  
  
     cp fonts.dir fonts.scale
  
    二、修改/etc/X11/XF86Config ,/etc/gtk/gtkrc.zh_CN ,/etc/gnome/gtkrc.zh_CN 三个文件
  
    1、/etc/X11/XF86Config
  
    对这个文件的修改和以前一样, 大家注意在相关位置进行修改:
  
    Section "Files"
      RgbPath "/usr/X11R6/lib/X11/rgb"
      FontPath "/usr/local/zhfonts"
      FontPath "unix/:7100"
    EndSection
  
    Section "Module"
      Load "xtt"
      Load "dbe"
      Load "extmod"
      Load "fbdevhw"
      Load "dri"
      Load "glx"
      # Load "freetype"
      # Load "type1"
      # Load "record"
    EndSection
  
    2、 /etc/gtk/gtkrc.zh_CN
  
  
    style "gtk-default-zh-cn" {
      -*-*-medium-r-normal--12-*-*-*-*-*-iso10646-1,*-r-*"
    }
    class "GtkWidget" style "gtk-default-zh-cn"
  
    经测试,如此修改可以很好的解决Gaim不能显示GBK字符集的问题,大家可以试试看能在Gaim中输入(拼音jun)“珺、碅、雋”吗。
  
    3、/etc/gnome/gtkrc.zh_CN
  
    将所由字体改成
  
    fontset = "-misc-simsun-medium-r-normal--12-*-*-*-*-*-iso10646-1"
  
    这一步也是常规的修改,自RH71来几乎没有变化。
  
  第二部分:为gnome2和KDE配置simsun字体
  
    这是我们要注意的重点,本人经过多次测试特奉献给大家。
  
    三、修改/etc/fonts/fonts.conf文件
  
    这是一个很关键的文件。
  
    必需修改的第一处:
  
    < !-- Font directory list configured on Mon Sep 9 15:24:30 EDT 2002 -- >
  
    < dir >/usr/local/zhfonts< /dir >
    < dir >/usr/X11R6/lib/X11/fonts/Type1< /dir >
    < dir >/usr/share/fonts< /dir >
    < dir >~/.fonts< /dir >
  
    < dir >/usr/local/zhfonts< /dir>
  一行就是指定你的simsun.ttf所在的目录。
  
    必需修改的第二处:
  
    < !--
    If the font still has no generic name, add sans-serif
    -- >
    < match target="pattern" >
    < test qual="all" name="family" compare="not_eq" >
      < string >Simsun< /string >
    < /test >
    < test qual="all" name="family" compare="not_eq" >
      < string >Simsun< /string >
    < /test >
    < test qual="all" name="family" compare="not_eq" >
      < string >Simsun< /string >
    < /test >
    < edit name="family" mode="append_last" >
      < string >Simsun< /string >
    < /edit >
    < /match >
  
    此处的修改可让不支持汉字的字库使用SimSun字库 ,非常有用。
  
    此处也很有必要修改:
  
  
     < match target="font" >
  < test name="lang" compare="contains" >
  < string >ko< /string >
  < /test >
  < edit name="hinting" mode="assign" >
  < bool >false< /bool >
  < /edit >
  < /match >
  < match target="font" >
  < test name="lang" compare="contains" >
  < string >zh< /string >
  < /test >
  < edit name="hinting" mode="assign" >
  < bool >true< /bool >
  < /edit >
  < /match >
  
    去掉中文(zh)字体的平滑功能(将fale改成true)。
  
    不一定要改的地方:
  
    < !--
    Aclearcase/" target="_blank" >ccept deprecated 'mono' alias, replacing it with 'monospace'
    -- >
    < match target="pattern" >
      < test qual="any" name="family" >
        < string >mono< /string >
      < /test >
      < edit name="family" mode="assign" >
        < string >Simsun< /string >
      < /edit >
    < /match >
  
    < !--
    Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
    -- >
    < match target="pattern" >
      < test qual="any" name="family" >
        < string >sans serif< /string >
      < /test >
      < edit name="family" mode="assign" >
        < string >Simsun< /string >
      < /edit >
    < /match >
  
    < !--
    Accept deprecated 'sans' alias, replacing it with 'sans-serif'
    -- >
    < match target="pattern" >
      < test qual="any" name="family" >
        < string >sans
      < /test >
      < edit name="family" mode="assign" >
        < string >Simsun< /string >
      < /edit >
    < /match >
  
    本来sans和monospace是可以显示汉字的,经这一改它就无条件的显示SimSun了。当然这样改也许不是很有必要,多几种中文字体总是好事。我就没有改,并用sans来显示桌面的文字。
  
    到此对文件的修改结束,可以重启X-windows进入gnome了。
  
    四-1、在gnome内的调整。
  
    使用“首选项”的“字体”
  
    (可以看到字体列表里已有了SimSun)
  
    点击“细节”进入字体绘制细节,将分辨率改成72 点击“关闭”回到字体主窗口
  
    你也不一定要改这里,在分辨率为96是,9号子相当于我说的12号字。
  
    以下是选用的参数:
  
    应用程序字体: Century Schoolbook L 12 反正中文是SimSun就只看英文的效果了。
  
    桌面字体: Sans 16 为的是保留原RH8的风格
  
    窗口标题字体: Century Schoolbook L 12
  
    终端字体 : Ar PL KaitiM GB 14 经比较它用在这最好看
  
    字体绘制: 最佳形态
  
    这里实际是指定英文字体,你可以反复的比较最佳的效果,但终端的字体必需支持汉字。
  
    当然也可以将windows的一些ttf字库考出来,如果只想给gnome2用的话就不需要编辑fonts.dir文件,只要在/etc/fonts/fonts.conf文件中指出路径就可以了。取消字体绘制总有点感到少了RH8的个性。
  
    当然你也可以全部使用SimSun字体,但要注意这个设置:
  
    字体绘制: 单色
  
    这样修改后你的gnome和KDE的汉字界面显示和Xtt驱动SimSun字体的汉字界面显示几乎没二异。
  
    当你改完了这一切再来看看效果,十分的完美。
  
    四-2、在KDE下的调整:
  
    取消字体平滑后选用SimSun字体。
  
    五、调整mozilla字体:
  
    将简体中文字体改为:simsun-gb18030.2000-0或simsun-gbk-0,据我的使用来看效果很好。
  
    不推荐使用gb2312.1980字符集,在有些网站会照成汉字显示问题。
  
    六、对miniChinput的修改:
  
    修改/usr/lib/Chinput/Chinput.at文件
  
    第一处

原文转自:http://www.ltesting.net