关闭

在 Ubuntu 英文界面下处理中文

标签: ubuntulinuxgenerics输入法语言encoding
14202人阅读 评论(0) 收藏 举报
分类:
在中文 Linux 社区中,除了讨论有关中文字体美化的问题之外,就属在 Linux 英文界面下进行中文处理的话题最热门了。得益于 Linux 良好的 i18n 特性,几乎所有的 Linux 发行版在安装之后,都可以自由地切换到任意语言的界面下进行工作。(而不似 Windows 那般,一个操作系统,居然还分成 N 种语言版本来销售。)

以前在 Redhat/Fedora Core 中弄过一样的事情,不过内中流程甚为繁琐。还好在 Ubuntu 中,这件事情变得简单易行。在 Linux 英文界面下处理中文,主要需要解决两件事情。首先是中文输入法的问题,其次是中文显示(美观)的问题。

在切换到英文界面之后,编辑配置文件 /etc/environment,增加或者修改相应的 locale 设置:
    LC_CTYPE="zh_CN.UTF-8"
    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=
    LANGUAGE="en_US:en"
    GST_ID3_TAG_ENCODING=GBK
    LANG=en_US.UTF-8

这样使得在需要使用中文的地方能够良好的表现中文,而其他地方能够展现英文。

然后编辑 X 的输入法配置文件 /etc/X11/Xsession.d/95input(如果没有这个文件,就创建一个):
    export XIM=SCIM
    export XMODIFIERS=@im=SCIM
    scim -d

(这一步在安装 SCIM 就应该做好了的。)

最后编辑字体配置文件 /etc/fonts/fonts.conf。我使用的中文字体是 Apple OS X 下的华文黑体,因而需要在此文件中定义一段:
    <!--
        OS X Heiti
    -->
        <match target="font">
                <test name="family">
                        <string>STHeiti</string>
                </test>
                <edit name="hinting">
                        <bool>false</bool>
                </edit>
        </match>

然后在此配置文件中找到
    <!--
      Mark common families with their generics so we'll get
      something reasonable
    -->

这么一段,在日文字体前加上你所要使用的中文字体(因为很多日文汉字也可以用来表示汉文汉字,所以如果不做这一步的话,在浏览网页的时候就会容易出现两种语言的汉字混合在一起显示的情况)。比如说 <family>Kochi Mincho</family> 明显的是日文字体的配置,那我们就可以在此之前加上
    <family>STHeiti</family>
的配置。之后还需要修改
    <!--
      Provide required aliases for standard names
    -->

下面的相应配置。

修改完毕之后,重启 X Server,重新登录就 OK 了。

Update@2007-08-21
自 Ubuntu 6.10 之后,可以只编辑 /etc/fonts/language-selector.conf 文件,即实现以上所需的功能。
通过这个途径,只需要简单地将
<family>STHeiti</family>
添加在文件最顶部的两个<prefer>标签中即可。

Update@2007-11-27
针对 Ubuntu 7.10,重新写了一篇此主题的文章(点击查看)。
0
0

猜你在找
深度学习基础与TensorFlow实践
【在线峰会】前端开发重点难点技术剖析与创新实践
【在线峰会】一天掌握物联网全栈开发之道
【在线峰会】如何高质高效的进行Android技术开发
机器学习40天精英计划
Python数据挖掘与分析速成班
微信小程序开发实战
JFinal极速开发企业实战
备战2017软考 系统集成项目管理工程师 学习套餐
Python大型网络爬虫项目开发实战(全套)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:349324次
    • 积分:4792
    • 等级:
    • 排名:第5652名
    • 原创:105篇
    • 转载:31篇
    • 译文:7篇
    • 评论:177条
    最新评论