热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux的中文处理

Linux的中文处理--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
  其实这个帖子早在两周前就该写了,那个时候我刚刚在 slackware 上搞定了中文处理。

  Linux 中文处理的核心部分不过是中文显示,中文输入和字典工具。

  和我三年前刚接触 Linux 时相比,Linux 国际化有了相当的提高。这主要体现在 Linux 对多语言文字的机制的加强上面。随着 X window 的 xft 字体显示服务程序和 fontconfig 字体设置机制已经广泛应用,Linux 中文显示问题变得简单了;而 XIM(X Input Method) 则是被广泛采用的多语言输入机制。

  顺便插一句,目前 CLF 上面关于“机制”与“策略”(mechanism & policy) 上的讨论相当热烈,应用到本帖中就是:Linux 对于多语言的支持是一种“机制”,而具体怎么用则是“策略”问题。

  除了 Linux 本身对中文显示的支持,中文字体也是一个很重要的问题。以前我一直在感慨:堂堂简体中文世界,竟没有一种可以遵循 GPL 或类似开源协议的字体,导致我不得不借用 Windows 标准的 Simsun 字体来获得尚可忍受的显示效果。现在不同了,随着文泉驿计划的推出,简体中文自由字体的随之解决。

  Linux 中文显示的第二个重点就是中文输入。Linux 中文输入法很多,现在比较主流的就是 fcitx 和 scim。在这次重装之前我一直使用小巧快速的 fcitx ,不过这次我试了一下 scim。改变的原因主要是 fcitx 和 rxvt 都依赖 LC_CTYPE 这个环境变量来确定语言环境,同时使用 rxvt 和 fcitx 就无法实现在英文环境下输入中文了。而 scim 作为一种输入法平台,支持包括 CJK 在内的各种输入法,而且 fcitx 也被 port 到了 scim 这个平台,可以二者兼得。KDE 版本的 scim 叫 SKIM,刚一看到的时候我还颇迷惑了一阵。

  不过,作为一款输入法,scim 显得相当复杂,几近臃肿,比 fcitx 占用了更多的系统资源。

  现在我的中文输入还有一个问题就是 Input Method 默认的是 “default” ,而不是应该的 “X Input Method”。曾经在 Linuxsir.org 的 slackware 版看到需要设置一个变量,但是再找的时候却怎么也找不到了。不过还好,rxvt 中可以单独设置,Opera 更是默认就是 XIM,可以应付 80% 的中文输入了。人生就是这样,当你想找一件东西的时候却怎么找也找不到……

  其实 SCIM 和 fcitx 都很依赖 locale 的设置,看看 KXN 的《终于把SCIM又搞定了》就知道了。

  中文处理的第三个重点就是一个好用的字典了。Windows 下的金山词霸大概都不会陌生,Linux 有什么好用的字典吗?当然有,而且相当好用,这就是星际译王 StarDict。StarDict 其实是一个字典引擎,提供了一种字典查询机制。利用这个机制,你可以安装不同的字典文件,进行任意的翻译,可以是中英,可以是英中,也可以是中日,更可以是日韩,甚至可以是各种魔鬼字典。前段时间,StarDict 就新提供几部佛学词典。
推荐阅读
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Win10下游戏不能全屏的解决方法及兼容游戏列表
    本文介绍了Win10下游戏不能全屏的解决方法,包括修改注册表默认值和查看兼容游戏列表。同时提供了部分已经支持Win10的热门游戏列表,帮助玩家解决游戏不能全屏的问题。 ... [详细]
  • 如何在联想win10专业版中修改账户名称
    本文介绍了在联想win10专业版中修改账户名称的方法,包括在计算机管理中找到要修改的账户,通过重命名来修改登录名和属性来修改显示名称。同时指出了windows10家庭版无法使用此方法的限制。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 电脑公司win7剪切板位置及使用方法
    本文介绍了电脑公司win7剪切板的位置和使用方法。剪切板一般位于c:\windows\system32目录,程序名为clipbrd.exe。通过在搜索栏中输入cmd打开命令提示符窗口,并输入clip /?即可调用剪贴板查看器。赶紧来试试看吧!更多精彩文章请关注本站。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • win10系统搭建Java开发环境的操作方法
    本文介绍了win10系统搭建Java开发环境的详细操作方法,包括下载Windows10系统和Java SE,安装Java开发环境,设置变量等步骤。操作简单,只需按照指导进行即可。 ... [详细]
author-avatar
在海那边A-P
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有