LinuxSir.cn,穿越时空的Linuxsir!

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

xmms 中文设置总结

[复制链接]
发表于 2006-7-14 04:46:41 | 显示全部楼层 |阅读模式
一、配置 UTF-8 环境
1、locale 设置
( 如果没有安装 locales, 先 aptitude install locales )
  1. $ dpkg-reconfigure locales
  2. ......
  3. [*] en_US ISO-8859-1
  4. [color=red][*] en_US.UTF-8 UTF-8[/color]
  5. [color=red][*] zh_CN.UTF-8 UTF-8[/color]
  6. ......
复制代码
对于中文语言环境只需 zh_CN.UTF-8,英文语言环境则后两个都必须选上。
  1. $ locale -a
  2. C
  3. en_US
  4. en_US.iso88591
  5. [color=red]en_US.utf8[/color]
  6. POSIX
  7. [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。
  1. $ locale
  2. LANG=zh_CN.UTF-8
  3. LC_CTYPE="zh_CN.UTF-8"
  4. LC_NUMERIC="zh_CN.UTF-8"
  5. LC_TIME="zh_CN.UTF-8"
  6. LC_COLLATE="zh_CN.UTF-8"
  7. LC_MONETARY="zh_CN.UTF-8"
  8. LC_MESSAGES="zh_CN.UTF-8"
  9. LC_PAPER="zh_CN.UTF-8"
  10. LC_NAME="zh_CN.UTF-8"
  11. LC_ADDRESS="zh_CN.UTF-8"
  12. LC_TELEPHONE="zh_CN.UTF-8"
  13. LC_MEASUREMENT="zh_CN.UTF-8"
  14. LC_IDENTIFICATION="zh_CN.UTF-8"
  15. 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。
  1. $ locale
  2. LANG=en_US.UTF-8
  3. [color=red]LC_CTYPE=zh_CN.UTF-8[/color]
  4. LC_NUMERIC="en_US.UTF-8"
  5. LC_TIME="en_US.UTF-8"
  6. LC_COLLATE="en_US.UTF-8"
  7. LC_MONETARY="en_US.UTF-8"
  8. LC_MESSAGES="en_US.UTF-8"
  9. LC_PAPER="en_US.UTF-8"
  10. LC_NAME="en_US.UTF-8"
  11. LC_ADDRESS="en_US.UTF-8"
  12. LC_TELEPHONE="en_US.UTF-8"
  13. LC_MEASUREMENT="en_US.UTF-8"
  14. LC_IDENTIFICATION="en_US.UTF-8"
  15. LC_ALL=
复制代码
这里  LC_CTYPE 变量值不加引号,说明是显式设定的。 LC_CTYPE 对于在英文环境下使用中文,如 xmms, 输入法等很重要。

二、安装中文字体
这里我以 winxp 下的 simsun.ttc 为例,因为xmms 使用 gtk1.2, 故这里我们求助 defoma 来帮忙管理字体。
  1. $ 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 文件,然后再导入。
基本步骤:
  1. defoma-hints truetype simsun.ttc > simsun.hints
  2. 修改字体路径 和 你希望的值。
  3. defoma-font register-all simsun.hints
复制代码

这里我偷懒直接通过 dfontmgr 注册 simsun.ttc 字体。完成后, hints 信息如下:
  1. category truetype
  2. begin /usr/share/fonts/truetype/myfonts/simsun.ttc
  3.   FaceNum = 2
  4.   Family = SimSun
  5.   FontName = SimSun-Regular
  6.   Encoding = Unicode
  7.   Location = English Chinese-China
  8.   Charset = GB2312 GBK GB18030 ISO8859-1
  9.   GeneralFamily = SimSun
  10.   Weight = Book
  11.   Width = Variable
  12.   Shape = Serif Upright
  13.   Alias = SimSun
  14.   Foundry = ZhongYi
  15.   Priority = 20
  16.   Family1 = NSimSun
  17.   FontName1 = NSimSun-Regular
  18.   Encoding1 = Unicode
  19.   Location1 = English Chinese-China
  20.   Charset1 = GB2312 GBK GB18030 ISO8859-1
  21.   GeneralFamily1 = SimSun
  22.   Weight1 = Book
  23.   Width1 = Variable
  24.   Shape1 = Serif Upright
  25.   Alias1 = NSimSun
  26.   Foundry1 = ZhongYi
  27.   Priority1 = 20
  28. end
复制代码
当然,如果你比我更懒的话,直接把以上 hints 信息拷贝下来,存成 simsun.hints,修改字体路径为 simsun.ttc 存放的位置,然后
  1. defoma-font register-all simsun.hints
复制代码

同时检查 /etc/X11/xorg.conf 中的文件路径,确保已经加入 simsun.ttc 的文件存放路径,如下:
  1. $ vi /etc/X11/xorg.conf
  2. Section "Files"
  3. ### path to defoma fonts
  4. FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
  5. ### path to my fonts
  6. FontPath "/usr/share/fonts/truetype/myfonts"
  7. ......
  8. EndSection
复制代码

重启 X。
  1. $ xlsfonts |grep simsun
  2. -zhongyi-nsimsun-book-r-normal--0-0-0-0-p-0-gb18030.2000-0
  3. -zhongyi-nsimsun-book-r-normal--0-0-0-0-p-0-gb2312.1980-0
  4. -zhongyi-nsimsun-book-r-normal--0-0-0-0-p-0-gbk-0
  5. -zhongyi-nsimsun-book-r-normal--0-0-0-0-p-0-iso8859-1
  6. -zhongyi-simsun-book-r-normal--0-0-0-0-p-0-gb18030.2000-0
  7. -zhongyi-simsun-book-r-normal--0-0-0-0-p-0-gb2312.1980-0
  8. -zhongyi-simsun-book-r-normal--0-0-0-0-p-0-gbk-0
  9. -zhongyi-simsun-book-r-normal--0-0-0-0-p-0-iso8859-1
复制代码

如果你看到和我类似的信息,恭喜你快成功了。

三 设置 Gtk  
在 /etc/gtk 下建立新文件 gtkrc.zh_CN.utf8, 内容如下:
  1. style "gtk-default-zh-cn-utf8" {
  2.         fontset = "-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-1,\
  3.                 -zhongyi-simsun-book-r-normal--15-*-*-*-*-*-gb18030.2000-0"}
  4. class "GtkWidget" style "gtk-default-zh-cn-utf8"
复制代码
稍解释一下:
helvetica 为 Adobe family 的点阵(bitmap)字体,赫赫有名,windows 下满世界都看得到的 arial 字体就是它的翻版。我们将它放在前面作为英文字体,这样就可以避免使用 simsun 自带的英文衬线字体,当然前提是你觉得哪个更美,如果你不喜欢,可以将前半句删除,只保留后面的 simsun 部分。
  1. $ xlsfonts |grep helvetica
复制代码
查看是否安装了 helvetica 字体。一般正常安装系统都会将它捎上,包含在如下包裹里:
  1. $ dpkg -l |grep xfonts |grep dpi
  2. ii  xfonts-100dpi                    1.0.0-2                      100  dpi fonts for X
  3. ii  xfonts-75dpi                     1.0.0-2                      100  dpi fonts for X
复制代码
如果字体已经安装,可在下面位置找到,helvetica 为 pcf 点阵格式。
  1. $ cd /usr/share/fonts/X11/
  2. 100dpi/    75dpi/
复制代码

数字 14 和 15 的位置是 pixel size, 即点阵大小, 你可以根据自己喜好设置数值。如果你改 14 后面的 * 号位置,则是 point size, 具体的区别,请 google, 注意只需改一处,另一处自动会换算出来,当然你还可以指定 dpi,这里就不再罗嗦了,简单用 * 号来代替。

四、安装和配置 xmms
  1. $ 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。
  1. aptitude install id3v2
复制代码

如果 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
发表于 2006-7-14 07:07:27 | 显示全部楼层
老一辈的人怎么都用xmms?
回复 支持 反对

使用道具 举报

发表于 2006-7-14 08:35:27 | 显示全部楼层
quanliking,  好久不见了阿!!!!
回复 支持 反对

使用道具 举报

发表于 2006-7-14 09:33:09 | 显示全部楼层

全都是乱码了

我原来装的xmms能够显示中文,就是播放列表是乱码,但看了这篇文章,照着作了一下,
全都是乱码了,

xlsfonts |grep simsun
没有反应,怎么解决
回复 支持 反对

使用道具 举报

发表于 2006-7-14 10:28:01 | 显示全部楼层
我一直用mpg321放歌。
我嫌弄个界面折腾人,
bmp没有double size后就不用了。
回复 支持 反对

使用道具 举报

发表于 2006-7-14 10:43:43 | 显示全部楼层
Post by 种草得草
老一辈的人怎么都用xmms?

兄弟在用什么顺手?
回复 支持 反对

使用道具 举报

发表于 2006-7-14 12:47:41 | 显示全部楼层
我用这个方法后也是xlsfonts |grep simsun没有反应。不但如此,我的字体显示还出现了问题,在浏览网页或是使用gedit浏览文件时,文件的内容总是显示不全,很多地方的内容显示不出来,只有在我用鼠标选中使其高亮显示后才可以看见是什么字!!惨呀!!有什么补救办法吗?
回复 支持 反对

使用道具 举报

发表于 2006-7-14 14:03:56 | 显示全部楼层
我的xmms界面字体倒是配置好了,现在的问题仅出现在我的utf8 locale与gb2312编码的ID3 Tag上。utf8启动xmms就看不到标签,用gb2312启动显示目录都是乱码……要是GTK1.2程序也能像GTK2程序(比如gedit)一样在gb2312下显示utf8编码就好了……

回去试一下楼主说的禁用ID3V2标签的办法,不过我总觉得和mp3文件本身有关,不一定总能成功~~
回复 支持 反对

使用道具 举报

发表于 2006-7-14 14:07:42 | 显示全部楼层
Post by huatf
我原来装的xmms能够显示中文,就是播放列表是乱码,但看了这篇文章,照着作了一下,
全都是乱码了,

xlsfonts |grep simsun
没有反应,怎么解决

装一下x-ttcidfont-conf包,单单装defoma似乎是不够的,我一直都是两个一起配合使用
原来升级到xorg 7.0的时候这个包坏过,结果xmms就全乱码了,所以我估计和这个有关
回复 支持 反对

使用道具 举报

发表于 2006-7-14 14:54:27 | 显示全部楼层
真麻烦
我前几天刚刚从新装了一次debian sid
只做了楼主的几步
就没有问题了
还是建议用libmpg123-jp+设定字体
是huahua的做法
其它的做的都是多余的
回复 支持 反对

使用道具 举报

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

本版积分规则

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