LinuxSir.cn,穿越时空的Linuxsir!

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

关于debian的汉化问题!

[复制链接]
发表于 2006-8-16 16:12:01 | 显示全部楼层 |阅读模式
在浏览精华贴的时候,有一篇教《中文桌面快速构建》,其中一段话是这样

[color="Magenta"]在debian的中文美化时,基本可以按照我这样的步骤来做。我也是参考了香港debian桌面安装大赛时采用的方式,步骤顺序上做了调整,并在debian和gentoo系统上测试成功。

1.第一步,产生语系(locale)
如果没有安装locales的请安装locales:
代码:

#apt-get install locales

若已经安装了locales,就重新设定语系:
代码:

#dpkg-reconfiguer locales


选择生成下列语系的数据:
代码:

en_US.ISO-8859-1 en_US.UTF-8 zh_CN.GB2312 zh_CN.UTF-8 zh_CN.GBK zh_TW.BIG5 zh_TW.UTF-8


再将默认locale选择为“C”。然后用“locale -a”来查看现在系统中所有支持的语系


这个再将默认locale选择为“C”。是什么意思?怎么实现?我现在使用的是xfce4桌面,进入后菜单是英文,怎么样能完全汉化呢?
发表于 2006-8-16 17:22:14 | 显示全部楼层
选语系的时候选第一个none就行了。
如果你是装的testing/unstable,你参考的那篇文章有些地方已经用不上了,现在debian通过fontconfig+xft2管理字体,相当方便,也实现了粗斜体。

第2步的firefly补丁包不用装,可以考虑装一个firefly字体(强烈推荐,这套字体不错):
下载firefly字体的.deb包(应该是3.0版了),直接用#dpkg -i安装就行(我这里上不了香港的网站,所以没有通过安装源安装)。这个包会拷贝字体以及配置文件,记住配置文件是/etc/fonts/conf.d/ttf-arphic-newsung.conf,里面是关于小字体关反锯齿的设置,simsun字体需要参考之。

当然也可以直接装windows的simsun(若介意版权问题就不用装了,其他truetype字体的安装和他一样):
#cp simsun.ttc /usr/share/fonts/truetype/simsun.ttf
#fc-cache -f -v
编辑/etc/fonts/fonts.conf,参考《快速构建》一文,在调整字体顺序的地方所有中文字体前加上<family>SimSun</family>,这样simsun字体就优先显示了。
然后建立/etc/fonts/local.conf文件,里面的内容直接copy自ttf-arphic-newsung.conf,稍作修改,把里面的字体名改成SimSun,这样就设置了simsun小字体关反锯齿。

第5步不用了

第6步也不用,这样做就行:
#aptitude install scim scim-pinyin im-switch
scim是输入法,装了im-switch就不用配置输入法了。

注意:firefox可能不显示中文粗体,参考这个http://www.linuxsir.cn/bbs/showthread.php?t=268001
回复 支持 反对

使用道具 举报

发表于 2006-8-16 17:35:24 | 显示全部楼层
将默认的locale选择zh_CN.UTF-8
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-16 21:33:09 | 显示全部楼层
哈哈 装了个gnome后,菜单成了中文了!!真不错,非常感谢2楼朋友,以后还要向你多请教阿!
回复 支持 反对

使用道具 举报

发表于 2006-8-17 10:26:49 | 显示全部楼层
真希望哪位达人能写一篇最新的debian中文美化的教程,现在我还是晕,用simsun凑合着用。
回复 支持 反对

使用道具 举报

发表于 2006-8-17 12:21:44 | 显示全部楼层
Post by osbug
真希望哪位达人能写一篇最新的debian中文美化的教程,现在我还是晕,用simsun凑合着用。

其实你查一些资料,自己作个总结,就会对这个问题比较清楚。linuxsir上的资料很多,我一般用google这样搜索:
关键词 site:www.linuxsir.cn
下面是我参考网上众多美化文章做的总结的一部分,你可以参考一下。

这种中文化方法放弃使用传统的xtt模块,方法较简单,而且由于debian官方最近加入了粗体的支持,使得其显示效果有较大提升。

1.产生语系(locale)
若未安装locales则如下安装:
#aptitude install locales
若已经安装了locales,就重新设定语系:
#dpkg-reconfigure locales
选择生成下列语系的数据(酌情选择,我没有选en_US.UTF-8):

  1. en_US.ISO-8859-1
  2. en_US.UTF-8
  3. zh_CN.GB2312
  4. zh_CN.UTF-8
  5. zh_CN.GBK
  6. zh_TW.BIG5
  7. zh_TW.UTF-8
复制代码

再将默认locale选择为“C”(就是重设locale的时候选none,这会将root的locale设问C,用户的locale还是你安装时的那个,我的是zh_CN.UTF-8)。可以用“locale -a”命令查看现在系统中所有支持的语系,“locale”命令可以查看当前用户所使用的语系。在产生了语系后需重新登陆一次。

2.安装字体
首先安装必要的软件:
#aptitude install fontconfig fontconfig-config libfreetype6 libxft2 x-ttcidfont-conf
x-ttcidfont-conf不装的话打开某些软件好慢,如xterm,进x也很慢

安装自由中文字体
建议首先安装fireflysung字体!!香港和台湾的安装源有这个字体的最新版本,可以添加源并安装之。我不是这样装的,所以下面的只能作为参考:
在/etc/apt/sources.list中加上新宋字体的apt仓库源:
deb ftp://debian.linux.org.tw/pub/apt unstable main
或者 deb ftp://ftp.hk.debian.org/unoffical/dlot-apt unstable main
然后更新,就可以安装firefly的字体了。
#aptitude update
#aptitude install ttf-fireflysung

我是从网上下了一个firefly字体的.deb包(ttf-arphic-newsung_1.3.0-1_all.deb),然后安装:
#dpkg --install ttf-arphic-newsung_1.3.0-1_all.deb

linux中最常用的中文字体是文鼎的几套中文字体:
ttf-arphic-bsmi00lp - 文鼎PL细上海宋(AR PL Mingti2L Big5),包括了Big5中一万三千多个繁体字。
ttf-arphic-bkai00mp - 文鼎PL中楷(AR PL KaitiM Big5),包括了Big5中一万三千多个繁体字。
ttf-arphic-gbsn00lp - 文鼎PL简报宋(AR PL SungtiL GB),包括了GB2312中七千多个简体字。
ttf-arphic-gkai00mp - 文鼎PL简中楷(AR PL KaitiM GB),包括了GB2312中七千多个简体字。
ttf-arphic-uming - 文鼎PL上海宋Uni(AR PL ShanHeiSun Uni),包括了GB2312、Big5及HKSCS中二万多个繁简体字。
ttf-arphic-ukai - 文鼎PL中楷Uni(AR PL ZenKai Uni),包括了GB2312、Big5及HKSCS中二万多个繁简体字。
这些字体已经收进官方,可以直接安装。
#aptitude install ttf-arphic-bkai00mp ttf-arphic-bsmi00lp ttf-arphic-gbsn00lp \
ttf-arphic-gkai00mp ttf-arphic-uming ttf-arphic-ukai

安装英文字体(可选,这步我没做)
这两个字体效果不错,
#apt-get install ttf-bitstream-vera ttf-dejavu
为了提高对微软平台的兼容程度,也建议安装msttcorefonts这一套微软的英文字体。这套字体包含了Andal Mono、 Arial Black、Arial、Comic Sans MS、Georgia、Impact、Times New  Roman、Times、Trebuchet、Verdana和Webdings等11种字体。
#apt-get install msttcorefonts

安装其它字体(可选,想装simsun的参考这里)
若还想安装其它truetype字体,如windows下优秀的simsun字体(非GPL授权),或者文泉驿点阵字体(GPL授权),可参考如下方法:
a.下载字体并放在目录/usr/share/fonts/truetype中(可在其下自建目录)。
b.打"fc-cache -f -v"重设fontconfig的cache。
c.可用"fc-list"列出所有fontconfig管理的字体,以检查新字体是否成功安装。
注意:我发现这样装了以后/etc/fonts/fonts.conf文件里并没有关于新安装的字体描述,解决方案看2楼吧。

3.粗斜体问题以及firefly修正包
官方解决方案(注意不要与firefly补丁混用)
在粗体和斜体的实现问题上,主要有两种思路,一是通过算法,使基本字体表现出粗体和斜体的效果,二是通过直接使用粗体斜体的字体来实现粗斜体的显示。第一种已经有官方的支持,推荐使用,我也是用的这种方法。
这里只需安装libfreetype6 libxft2即可(第2步已经装了),使用默认的fonts.conf文件已经可以看到粗体,但是firefox中看不到粗体。需要修改/etc/fonts/fonts.conf中如下一段,把其中的200换成180即可。

  1. <!--
  2. Synthetic emboldening for fonts that do not have bold face available
  3. -->

  4.         <match target="font">
  5.                 <!-- check to see if the font is just regular -->
  6.                 <test name="weight" compare="less_eq">
  7.                         <int>100</int>
  8.                 </test>
  9.                 <!-- check to see if the pattern requests bold -->
  10.                 <test target="pattern" name="weight" compare="more_eq">
  11.                         <int>[color="Red"]200[/color]</int>
  12.                 </test>
  13.                 <!-- set the embolden flag -->
  14.                 <edit name="embolden" mode="assign">
  15.                         <bool>true</bool>
  16.                 </edit>
  17.         </match>
复制代码


4.设置fontconfig
这一步非常重要,也许你是安装了非常好看的字体,但是如果你不修正你的fontconfig,再好看的效果也不一定出来。
首先编辑/etc/fonts/fonts.conf文件,检查字体的使用顺序,把用到的效果最好的字体放在最前面。
重排Serif字体显示顺序(我把DejaVu Serif提到了第一,添加了AR PL New Sung(firefly的字体)和SimSun):

  1. <alias>
  2.       <family>serif</family>
  3.       <prefer>
  4.          <family>DejaVu Serif</family>
  5.          <family>Bitstream Vera Serif</family>
  6.          <family>Times New Roman</family>
  7.          <family>Times</family>
  8.          <family>Luxi Serif</family>         
  9.          <family>AR PL New Sung</family>
  10.          <family>SimSun</family>
  11.          <family>AR PL Mingti2L Big5</family>
  12.          <family>AR PL SungtiL GB</family>
  13.          <family>Ming(ISO10646)</family>
  14.          <family>Kochi Mincho</family>
  15.          <family>Baekmuk Batung</family>
  16.       </prefer>
  17.   </alias>
复制代码

重排sans-serif以及monospace的字体显示顺序,找到相应的描述段,操作和上面一样。需要注意的是,在fonts.conf文件的后面还有这样的描述段,也要改,我一共改了六个这样的描述段。

关于粗体,官方已经在fonts.conf里面添加了代码,不用修改。

关于关反锯齿,在/etc/local.conf或~/.fonts.conf里面设置吧,我只设了simsun的,firefly的字体已经自动设好,看2楼。我这里的设置是字体小于17px时关反锯齿,和网上的8-16px之间关反锯齿效果应该是一样的。

5.安装中文输入法
建议安装 SCIM 智能通用输入法平台,这些软件包必装:
scim - SCIM (智能通用输入法平台)
scim-chinese - SCIM中文智能汉语拼音输入模块(下一个版本会改名为 scim-pinying)
im-switch 有了这个就不用手动配置输入法了,装上im-switch即可自动配置。
sir上有文章说要在/etc/X11/XSession.d/目录下创建一个X的启动文件95locale-xinput-set,在此设定X的locale和中文输入法。我这里装了im-switch后什么都不用配置,照着那个做只会使你的X进不去。

6.其它应注意的事项
如果原来有windows下的文件,其编码是gbk,在utf-8下应先转换一下才能正常显示。用到的工具有:
iconv -f gbk -t utf8 file.txt > tofile.txt  ;这个用来转换文本文档编码。
convmv -f gbk -t utf8 --notest filename  ;转换文件名编码,对于目录需要加r参数。

终端我用的rxvt-unicode,建立~/.Xresources,添加如下内容之后就可以显示中文了,并且还比较好看。其中的Rxvt改成URxvt吧,我是直接拷的以前的配置,懒得修改。


  1. !! RXVT setting
  2. Rxvt.background:black
  3. Rxvt.foreground:white
  4. Rxvt.colorBD:yellow
  5. Rxvt.colorUL:green
  6. Rxvt.scrollBar:True
  7. Rxvt.scrollBar_right:True
  8. Rxvt.scrollBar_floating: False
  9. Rxvt.scrollstyle:next
  10. Rxvt.saveLines:3000
  11. Rxvt.color12:DodgerBlue
  12. !!Rxvt.font:xft:serif
  13. URxvt.font:7x14,xft:serif
  14. Rxvt.menu:/etc/X11/rxvt.menu
  15. Rxvt.preeditType:Root
复制代码


vim经过合适配置可以编辑各种中文编码的文档,我在~/.vimrc下添加了如下内容,至于原因可以参考ibm developerworks上的一篇文章,在http://www.ibm.com/developerworks/cn/上搜一下吧。

  1. "Carlos 大侠的 vimrc :让vi根据打开文件的编码自动进行设置。
  2. "现在打开gbk编码的文件没问题了。
  3. if has("multi_byte")
  4.   "set bomb
  5.   set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
  6.   " CJK environment detection and corresponding setting
  7.   if v:lang =~ "^zh_CN"
  8.     " Use cp936 to support GBK, euc-cn == gb2312
  9.     set encoding=cp936
  10.     set termencoding=cp936
  11.     set fileencoding=cp936
  12.   elseif v:lang =~ "^zh_TW"
  13.     " cp950, big5 or euc-tw
  14.     " Are they equal to each other?
  15.     set encoding=big5
  16.     set termencoding=big5
  17.     set fileencoding=big5
  18.   elseif v:lang =~ "^ko"
  19.     " Copied from someone's dotfile, untested
  20.     set encoding=euc-kr
  21.     set termencoding=euc-kr
  22.     set fileencoding=euc-kr
  23.   elseif v:lang =~ "^ja_JP"
  24.     " Copied from someone's dotfile, untested
  25.     set encoding=euc-jp
  26.     set termencoding=euc-jp
  27.     set fileencoding=euc-jp
  28.   endif
  29.   " Detect UTF-8 locale, and replace CJK setting if needed
  30.   if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
  31.     set encoding=utf-8
  32.     set termencoding=utf-8
  33.     set fileencoding=utf-8
  34.   endif
  35. else
  36.   echoerr "Sorry, this version of (g)vim was not compiled with multi_byte"
  37. endif
复制代码

能想到的就是这些了,icewm也没啥好说的,要善用google,多作总结。
回复 支持 反对

使用道具 举报

发表于 2006-8-17 14:29:03 | 显示全部楼层
注意资料的发表时间!
回复 支持 反对

使用道具 举报

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

本版积分规则

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