Difference between revisions of "Localization/Simplified Chinese (简体中文)"
Line 248: | Line 248: | ||
首先需要安装CJK包,然后需要安装合适的字体。具体可以参考 | 首先需要安装CJK包,然后需要安装合适的字体。具体可以参考 | ||
*http://www.ctex.org | *http://www.ctex.org | ||
− | *http://www.newsmth. | + | *http://www.newsmth.net 的Tex版 |
==JAVA界面乱码== | ==JAVA界面乱码== |
Revision as of 09:14, 23 April 2006
请再仔细看看Arch的哲学"Arch之道":
这意味着我们不会为你配置好一切,因为“喜好和需求,每人皆不同”,但是我们会尽量确保让你自行配置时,方便和简单。事实上,甚至远比你使用一些可能的Linux中文版本容易。
第一次使用ArchLinux时,用户通常会遇上这些(典型)的问题:
Contents
怎么显示中文的界面?
要正确实现中文,必需设置正确的locale和安装合适的中文字体。
locale的设定
Linux中通过locale来设置程序运行的不同环境。一般常用的中文locale有:
zh_CN.GBK zh_CN.GB2312 zh_CN.UTF-8
推荐使用UTF8的locale。需要注意的是,对于glibc(>=2.3.6),需要修改/etc/locale.gen文件来设定系统中可以使用的locale
en_US.UTF8 UTF-8 zh_CN.UTF8 UTF-8 zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030
然后执行locale-gen命令,这样便可以在系统中使用zh_CN.UTF8,zh_CN.GBK,zh_CN.GB2312,zh_CN.GB18030,en_US.UTF8等locale。可以通过locale命令来查看当前使用的locale
locale
可以通过locale命令来查看目前可以使用的locale
locale -a
Archlinux中,通过rc.conf文件可以设置全局有效的locale:
LOCALE=en_US.UTF-8
对于个人用户,还可以在.bashrc或.xprofile中设置自己的用户环境,不同之处在于:
.bashrc: 每次终端登录时读取并运用里面的设置。 .xinitrc: 每次startx启动X界面时读取并运用里面的设置 .xprofile: 每次使用gdm等图形登录时读取并运用里面的设置
在终端(文字)界面下也可以显示和输入中文,但需要安装cce和zhcon。 更多的locale信息可以参见:
安装中文字体
除了设置好locale,你还需要安装中文字体:
pacman -S ttf-arphic-uming
常用的免费(GPL或兼容版权)中文字体有
ttf-arphic-ukai ttf-arphic-uming ttf-fireflysung
另外文泉驿的中文点阵字体也非常不错,你可以从http://www.linuxsir.org 上的Archlinux版上下载文泉驿点阵字体的PKGBUILD来自行安装。
系统字体将默认安装到/usr/share/fonts,如果你没有root权限或者只打算自己使用某些字体,你可以直接复制这些字体到.fonts(或者其他)目录下面,并把该路径加入/etc/fonts/local.conf中,参见后面章节。
已知问题:
- 官方软件库中没有文泉驿字体包,你需要自己下载。
- ttf-fireflysung错误的依赖了xorg-clients-utils而不是xorg-fonts-utiles,参见bug报告:
fontconfig设置
安装好字体以后,你可能对中文自己的显示不太满意。这时需要对fontconfig做某些设置。你可以在~/.font.config中设定,也可以在/etc/fonts/conf.d中设定。
重排字型的显示顺序
Serifs字型
<alias> <family>serif</family> <prefer> <family>Bitstream Vera Serif</family> <family>Times New Roman</family> <family>Nimbus Roman No9 L</family> <family>Luxi Serif</family> <family>Times</family> <family>WenQuanYi Bitmap Song</family> <family>AR PL ShanHeiSun Uni</family> <family>AR PL New Sung</family> <family>AR PL ZenKai Uni</family> <family>Ming(ISO10646)</family> <family>Kochi Mincho</family> <family>Baekmuk Batung</family> </prefer> </alias>
Sans字型
<alias> <family>sans-serif</family> <prefer> <family>Bitstream Vera Sans</family> <family>Verdana</family> <family>Arial</family> <family>Tahoma</family> <family>WenQuanYi Bitmap Song</family> <family>AR PL ShanHeiSun Uni</family> <family>AR PL New Sung</family> <family>AR PL ZenKai Uni</family> <family>Helvetica</family> <family>Ming(ISO10646)</family> <family>Kochi Gothic</family> <family>Baekmuk Dotum</family> </prefer> </alias>
Mononspace字型
<alias> <family>monospace</family> <prefer> <family>Bitstream Vera Sans Mono</family> <family>Courier</family> <family>Courier New</family> <family>Andale Mono</family> <family>Luxi Mono</family> <family>Nimbus Mono L</family> <family>WenQuanYi Bitmap Song</family> <family>AR PL ShanHeiSun Uni</family> <family>AR PL New Sung</family> <family>AR PL ZenKai Uni</family> <family>Ming(ISO10646)</family> <family>Kochi Mincho</family> <family>Baekmuk Batung</family> </prefer> </alias>
开启点阵字体
对于比较小的字体,用点阵字体实现比较清楚
<match target="font" > <test compare="eq" name="family" qual="any" > <string>AR PL New Sung</string> <string>AR PL ShanHeiSun Uni</string> <string>AR PL ZenKai Uni</string> <string>AR PL Mingti2L Big5</string> <string>AR PL SungtiL Big5</string> <string>MingLiu</string> <string>PMingLiu</string> </test> <test compare="more_eq" name="pixelsize" > <double>8</double> </test> <test compare="less_eq" name="pixelsize" > <double>15</double> </test> <edit name="antialias" > <bool>false</bool> </edit> <edit name="hinting" > <bool>true</bool> </edit> </match>
参考文档
- Fontconfig用户手册 http://www.chinalinuxpub.com/read.php?wid=634
- 令Debian支援中文 http://wiki.linux.org.hk/w/Make_Debian_support_Chinese
- http://www.higherorder.org/wiki/Fontconfig
怎么输入中文?
解决方法:安装相应的输入法,如:
pacman -S scim-pinyin
简体中文的用户推荐:智能拼音:scim-pinyin 五笔:scim-tables 繁体中文的用户推荐:
- 为什么我们推荐使用SCIM?
因为到目前为止,SCIM是惟一的“傻瓜式”输入法(感谢作者付出的很多努力,最终让我们打包和维护相当的轻松,而且对于用户来说,也基本不需要什么设置)。你可以参见:
要使用scim,还应该设置以下的环境变量(以scim为例),(可在xinitrc, .bashrc或.xprofile中设置)
export XIM="SCIM" export XMODIFIERS=@im=SCIM #设置scim为xim默认输入法 export GTK_IM_MODULE=scim #设置scim为gtk程序默认的输入法 export QT_IM_MODULE=scim #设置scim为gtk程序默认的输入法 export XIM_PROGRAM="scim -d" #使可以自动启动
已知问题:
- 由于SCIM的ABI兼容性问题,目前可能会造成一些软件拒绝运行,这些软件包括但不限于:Acrobat Reader, openoffice,直接从mozilla.org下载的firefox, thunderbird,以及realplay。权宜之计: 在程序的启动文件头输入:
- 目前scim在QT程序中还不能做到光标跟随
中文显示很模糊(淡),或没有中文粗体?
在正常情况下,gnome本身已经转由cairo+pango来渲染字体,不存在这个问题了,但是你很可能在浏览一些网页时,还会发生这些问题。
解决方法:使用了下面的local.conf文件替换系统默认的local.conf文件。
cp local.conf /etc/fonts/
或者,自行编译fontconfig2.3.92以上的版本,并打开local.conf中的autohint
KDE环境:对不起,我不知道,我已经超过1年多没有用KDE了。欢迎各位的补充 其他环境:见上。
- 官方新版本的mozila firefox(大于1.5.0.1)已经使用cairo+pango,但是在某些网站时会相当的慢。
怎么无法看到影片的中文字幕?
mplayer
修改~/.mplayer/config
font=/usr/share/fonts/TTF/uming.ttf subcp=cp936
可以使用下面的命令手动加载字幕
mplayer xxx.avi -sub xxxxx.srt
同时,你还可以设置mplayer自动加载字幕。如果你无法在gmplayer的选项中找到这个选项(天知道你会有这样粗心),直接修改~/.mplayer/gui.conf如下:
sub_auto_load = "yes" sub_unicode = "yes" sub_pos = "100" sub_overlap = "no" sub_cp = "cp936" font_factor = "0.750000" font_encoding = "unicode"
- mplayer cvs(2005.12以后)已经使用了gtk2的界面,但是很遗憾的是并没有完全利用gtk2良好的国际支持,甚至没有使用gtk.filechooser。
xine
xine也可以显示中文字幕,但需要制作自己的中文字体。具体可以询问google。
gstreamer
在totem 1.4.0,由于使用gstreamer0.10,应该是可以自动加载同名的srt字幕。
windows分区下的中文文件是乱码?
如果使用了hal,应该是没有问题了,但是如果没有,请不妨试一下:
在/etc/rc.conf中的daemon一段中添加hal。
或者直接修改/etc/fstab,注意危险,你如果不懂,就不要学我:-)。如果locale是utf8,挂载windows分区时应该做如下设置
/dev/hdc5 / reiserfs defaults iocharset=utf8 0 0
如果locale是GBK,则应该是
iocharset=cp936
已知问题:
Office或是其他文本文档无法打开或显示不正常?
解决方法: 安装openoffice。
pacman -S openoffice-zh_cn
- 小贴士:如果你打算使用英文版的openoffice,你只需要安装openoffice-base包。
已知问题:官方库中的openoffice
pdf乱码
xpdf
arcobat
ftp乱码
很多ftp站点是GBK编码,如果使用UTF8的locale,下载的文件名可能会乱码。对于lftp,在.lftp/rc下做如下设置
set ftp:charset "gbk" set file:charset "UTF-8"
对于gftp,可以在.gftp/gftprc中做如下设置即可正确显示服务器端gbk编码的文件名
remote_charsets=gb2312
但下载下来的文件名仍然是乱码,此时需要打补丁。补丁地址为: http://www.teatime.com.tw/%7Etommy/linux/gftp_remote_charsets.patch
MP3文件在播放器中都显示成了乱码了?
解决方法: 对于Rhythmbox,设置如下的环境变量后正确读取mp3中GBK编码的id3 tag。
export GST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030 export GST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030
- 小贴士:适用于所有用gstreamer做后端的播放器。
对于Beep media player,可以在pefenrence->plugins->media中选中MPEG Audio plugin然后点击下方的Penfenrences,此时会出现一个对话框,选择title,将Disable ID3v2和Convert non-UTF8 ID3 tags to UTF8前的选择框选中。然后在ID3 encoding中填入 gbk。这样bmp就能正确显示GBK编码的ID3 tag。
Latex中如何使用中文
首先需要安装CJK包,然后需要安装合适的字体。具体可以参考
JAVA界面乱码
对于java 1.5来说,只要在/opt/java/jre/lib/fonts中建立fallback目录,然后链接或拷贝若干中文字体到该目录就能使java程序正确显示中文
应用程序的设置
vim
如果locale是utf8编码,用vim显示gbk编码的文件可能会乱码。因此需要在.vimrc做如下设置
"Chinese GBK support set fileencodings=utf8,gbk