• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

完美的RH8+gnome+KDE使用simsun的方案

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: 互连网

软件测试论坛讨论

领测软件测试网

  我的意图不安装任何补丁和不屏蔽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)。


  不一定要改的地方:



  < !--
  Accept 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 </string >
    < /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文件


  第一处修改:



  chinput.gb18030font = -misc-simsun-medium-r-normal--0-0-0-0-c-0-iso10646- 1


 


  这一行如不改也可以,但我是改了的。


  第二处修改:



  xft.on = YES
  !xft.font.family = zysong18030
  xft.font.family = simsun
  xft.font.size = 11
  xft.anti-aliasing = YES
 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网