|
|
一、配置 UTF-8 环境
1、locale 设置
( 如果没有安装 locales, 先 aptitude install locales )- $ dpkg-reconfigure locales
- ......
- [*] en_US ISO-8859-1
- [color=red][*] en_US.UTF-8 UTF-8[/color]
- [color=red][*] zh_CN.UTF-8 UTF-8[/color]
- ......
复制代码 对于中文语言环境只需 zh_CN.UTF-8,英文语言环境则后两个都必须选上。- $ locale -a
- C
- en_US
- en_US.iso88591
- [color=red]en_US.utf8[/color]
- POSIX
- [color=red]zh_CN.utf8[/color]
复制代码
2、将下列 locale 环境变量写入 ~/.xsession 或 ~/.bashrc 文件中
分两种情况:
1) LANG=zh_CN.UTF-8, 即中文语言环境
# The value of this variable is used as the default value
# for all LC_* variables which are not explicitly set
export LANG=zh_CN.UTF-8
重启 X。
- $ locale
- LANG=zh_CN.UTF-8
- LC_CTYPE="zh_CN.UTF-8"
- LC_NUMERIC="zh_CN.UTF-8"
- LC_TIME="zh_CN.UTF-8"
- LC_COLLATE="zh_CN.UTF-8"
- LC_MONETARY="zh_CN.UTF-8"
- LC_MESSAGES="zh_CN.UTF-8"
- LC_PAPER="zh_CN.UTF-8"
- LC_NAME="zh_CN.UTF-8"
- LC_ADDRESS="zh_CN.UTF-8"
- LC_TELEPHONE="zh_CN.UTF-8"
- LC_MEASUREMENT="zh_CN.UTF-8"
- LC_IDENTIFICATION="zh_CN.UTF-8"
- LC_ALL=
复制代码 注意变量值带双引号和不带双引号的区别。不带双引号表示该值是显式设定的,如LANG=zh_CN.UTF-8。带双引号则表示隐式继承 LANG 的值,如 LC_CTYPE="zh_CN.UTF-8"。
2) LANG=en_US.UTF-8, 即英文语言环境
# The value of this variable is used as the default value
# for all LC_* variables which are not explicitly set
export LANG=en_US.UTF-8
# Character classification and case conversion.
# Also indicates the language which should be used with XIM
export LC_CTYPE=zh_CN.UTF-8
重启 X。
- $ locale
- LANG=en_US.UTF-8
- [color=red]LC_CTYPE=zh_CN.UTF-8[/color]
- LC_NUMERIC="en_US.UTF-8"
- LC_TIME="en_US.UTF-8"
- LC_COLLATE="en_US.UTF-8"
- LC_MONETARY="en_US.UTF-8"
- LC_MESSAGES="en_US.UTF-8"
- LC_PAPER="en_US.UTF-8"
- LC_NAME="en_US.UTF-8"
- LC_ADDRESS="en_US.UTF-8"
- LC_TELEPHONE="en_US.UTF-8"
- LC_MEASUREMENT="en_US.UTF-8"
- LC_IDENTIFICATION="en_US.UTF-8"
- LC_ALL=
复制代码 这里 LC_CTYPE 变量值不加引号,说明是显式设定的。 LC_CTYPE 对于在英文环境下使用中文,如 xmms, 输入法等很重要。
二、安装中文字体
这里我以 winxp 下的 simsun.ttc 为例,因为xmms 使用 gtk1.2, 故这里我们求助 defoma 来帮忙管理字体。- $ aptitude install x-ttcidfont-conf defoma dfontmgr
复制代码 x-ttcidfont-conf - Configure TrueType and CID fonts for X
defoma - Debian Font Manager -- automatic font configuration framework
dfontmgr - GUI frontend for Defoma, DEbian FOnt MAnager
当然你可以直接用 defoma 写好 simsun.ttc 的 hints 文件,然后再导入。
基本步骤:- defoma-hints truetype simsun.ttc > simsun.hints
- 修改字体路径 和 你希望的值。
- defoma-font register-all simsun.hints
复制代码
这里我偷懒直接通过 dfontmgr 注册 simsun.ttc 字体。完成后, hints 信息如下:- category truetype
- begin /usr/share/fonts/truetype/myfonts/simsun.ttc
- FaceNum = 2
- Family = SimSun
- FontName = SimSun-Regular
- Encoding = Unicode
- Location = English Chinese-China
- Charset = GB2312 GBK GB18030 ISO8859-1
- GeneralFamily = SimSun
- Weight = Book
- Width = Variable
- Shape = Serif Upright
- Alias = SimSun
- Foundry = ZhongYi
- Priority = 20
- Family1 = NSimSun
- FontName1 = NSimSun-Regular
- Encoding1 = Unicode
- Location1 = English Chinese-China
- Charset1 = GB2312 GBK GB18030 ISO8859-1
- GeneralFamily1 = SimSun
- Weight1 = Book
- Width1 = Variable
- Shape1 = Serif Upright
- Alias1 = NSimSun
- Foundry1 = ZhongYi
- Priority1 = 20
- end
复制代码 当然,如果你比我更懒的话,直接把以上 hints 信息拷贝下来,存成 simsun.hints,修改字体路径为 simsun.ttc 存放的位置,然后- defoma-font register-all simsun.hints
复制代码
同时检查 /etc/X11/xorg.conf 中的文件路径,确保已经加入 simsun.ttc 的文件存放路径,如下:- $ vi /etc/X11/xorg.conf
- Section "Files"
- ### path to defoma fonts
- FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
- ### path to my fonts
- FontPath "/usr/share/fonts/truetype/myfonts"
- ......
- EndSection
复制代码
重启 X。
- $ xlsfonts |grep simsun
- -zhongyi-nsimsun-book-r-normal--0-0-0-0-p-0-gb18030.2000-0
- -zhongyi-nsimsun-book-r-normal--0-0-0-0-p-0-gb2312.1980-0
- -zhongyi-nsimsun-book-r-normal--0-0-0-0-p-0-gbk-0
- -zhongyi-nsimsun-book-r-normal--0-0-0-0-p-0-iso8859-1
- -zhongyi-simsun-book-r-normal--0-0-0-0-p-0-gb18030.2000-0
- -zhongyi-simsun-book-r-normal--0-0-0-0-p-0-gb2312.1980-0
- -zhongyi-simsun-book-r-normal--0-0-0-0-p-0-gbk-0
- -zhongyi-simsun-book-r-normal--0-0-0-0-p-0-iso8859-1
复制代码
如果你看到和我类似的信息,恭喜你快成功了。
三 设置 Gtk
在 /etc/gtk 下建立新文件 gtkrc.zh_CN.utf8, 内容如下:- style "gtk-default-zh-cn-utf8" {
- fontset = "-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-1,\
- -zhongyi-simsun-book-r-normal--15-*-*-*-*-*-gb18030.2000-0"}
- class "GtkWidget" style "gtk-default-zh-cn-utf8"
复制代码 稍解释一下:
helvetica 为 Adobe family 的点阵(bitmap)字体,赫赫有名,windows 下满世界都看得到的 arial 字体就是它的翻版。我们将它放在前面作为英文字体,这样就可以避免使用 simsun 自带的英文衬线字体,当然前提是你觉得哪个更美,如果你不喜欢,可以将前半句删除,只保留后面的 simsun 部分。- $ xlsfonts |grep helvetica
复制代码 查看是否安装了 helvetica 字体。一般正常安装系统都会将它捎上,包含在如下包裹里:- $ dpkg -l |grep xfonts |grep dpi
- ii xfonts-100dpi 1.0.0-2 100 dpi fonts for X
- ii xfonts-75dpi 1.0.0-2 100 dpi fonts for X
复制代码 如果字体已经安装,可在下面位置找到,helvetica 为 pcf 点阵格式。 - $ cd /usr/share/fonts/X11/
- 100dpi/ 75dpi/
复制代码
数字 14 和 15 的位置是 pixel size, 即点阵大小, 你可以根据自己喜好设置数值。如果你改 14 后面的 * 号位置,则是 point size, 具体的区别,请 google, 注意只需改一处,另一处自动会换算出来,当然你还可以指定 dpi,这里就不再罗嗦了,简单用 * 号来代替。
四、安装和配置 xmms- $ aptitude install xmms xmms-skins
复制代码 运行 xmms, Options --> Preferences --> Fonts
见附件
此处可以任选 gb2312, gbk, gb10030。
大功告成,贴图:
见附件
附录:
有关网络下载的音乐文件信息显示错误问题。首先这个非 xmms 的问题,而是文件的 id3 信息编码问题。
见附件 3,此时可以通过禁用 id3v2 tags 来简单处理,方法如下:
Options --> preferences --> Audio I/O plugin --> MEPG 1/2/3 player -> Titles -> Disable ID3V2 tags
当然你也可以手动用 id3v2 工具或其它转码工具同一转换成 utf-8。
如果 disable id3v2 不能解决问题,另一行之有效的方法:
可在标题格式里只填上 %f , 默认是 %p-%t
两个地方可以改标题格式:
Options --> preferences --> Audio I/O plugin --> MEPG 1/2/3 player --> Titles --> Titles format
或
Options --> preferences --> Titles -> Titles format
这样只显示文件名,对于一般播放应该不成问题。
论坛里另一种方法,改换 xmms 自带的 xmms-mpg123 插件为 xmms-mpg123-ja, 在播放时自动进行编码的转换,如将 GB18030 转换为 utf-8。但有个缺点就是不能自动识别 id3 tag 的编码格式,只能针对一种编码进行转换。
http://www.linuxsir.cn/bbs/showthread.php?t=214985
后话:此文从网上收集和个人试验结果,在户外狂风暴雨下熬夜写成,纯属备忘,相当于系统中文化的一部分,仅供参考。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|