Linux中文化之构筑稳健的中文Linux(下)[1]

[入库:2005年9月19日] [更新:2007年3月25日]

本文简介:


  Linux是操作系统中的一朵奇葩,是中国软件发展的机遇。要使这朵奇葩在中国的大地上生根、发芽,开花,要想抓住Linux机遇,首先必须解决中文本地化的问题。上期我们已经介绍了中文Linux采用中文平台及Linux国际化中的用双字节/多字节编码代替单字节7位或8位编码、使用统一的大字符集ISO 10646等知识的介绍。要建筑稳健的中文Linux,我们还要认识Linux的本地化及Linux核心的修改等重要问题。
    3. 本地化数据库Locale DB
    国际化的第三个内容是搞好本地化数据库Locale DB。
    语言、字符集、文化习俗等组成一个软件运行时的本地环境Locale。一个Locale是从本地化特征中提取的执行环境。它包括语言、地域、字符集。Locale的格式是ZH_CN.GBK,表示中文(zh)、中国(CN)、字符集(GBK)。
    Locale可以一组Shell环境变量LANG、LC_ALL、LC_CTYPE、LC_COLLATE、LC_TIME、LC_MONETORY、LC_NUMERIC、LC_MESSAGES进行设置,也可以通过C语言国际标准中提供的setlocale()函数在应用程序中查询和设置。用户可以在运行时设置整个Locale的全部和部分。
    Setlocale()函数为应用程序开发者提供了一种具有设置所有或部分(称之为类别)本地化环境的工具,setlocale()函数的语法为:
    Char *setlocale (category,locale)
    Int category;
    Char *locale;
    其中category是五个类别之一的名字,这些类别的名字是:
    LC_CTYPE(提供字符分类和大小写区分功能);
    LC_COLLATE(提供字符串比较和排序功能);
    LC_TIME(提供日期和时间表示格式,如中国是年、月、日,美国是 月/日/年,英国是日/月/年);
    LC_MONETARY(提供货币表示格式,如中国为阿拉伯数字后加RMB,在财务表格中为$后写阿拉伯数字);
    LC_NUMERIC(提供数字表示格式)。
    另外,用LC_ALL的特殊值使setlocale()函数设置所有的类别。
    Locale数据库中除了上述本地环境服务,还包括消息服务和代码集转换。
    4. 输入、输出服务(I/O服务)
    输入法可分为两大类,即模式识别类和编码类。模式识别类包括声音输入法、光学字符识别(optical character recognition,OCR)、手写体识别等输入法。编码类主要是基于拼音、笔划、部首等输入法。
    图形界面的国际化与中文本地化,具体包括:
    建立中文输入模块的摘挂方法和界面;
    建立各种点阵汉字库、矢量轮廓汉字库、曲线轮廓汉字库的摘挂方法和界面;
    建立基于图形界面的汉字信息处理函数。
    图形界面的国际化处理主要在三个层次上:
    X字型服务器层(X Font Server)提供处理点阵、矢量轮廓、曲线轮廓文字;
    库函数层(Libarries)、提供有关X字型服务器的函数,如把字体装入服务器、调入、查询、释放字型;
    命令层(Commands)包括工具类和转换类命令:
    图形界面中文本地化提供以下应用程序:汉字造字工具、汉字图标编辑器、汉字图文编辑工具、汉字图形打印工具。
    Linux关于输入的标准还是限于键盘输入。在X11R6中,有XIM(X InputMehtod)标准。XIM是在应用程序和输入法之间的通信协议,目前还没有字符终端的输入法标准。
    本地化
    本地化(localization,L10n,取首尾两个字母,中间有10个字母)是向特定本地语言操作环境的转换。
    本地化工作主要包括:代码体系国家特征文件和输入、输出服务的具体实现。
    1.代码体系指采用的字符集,我国目前是GB2312、GBK、GB18030和GB13000。
    2.国家特征文件指Locale中的本地环境内容。
    3.输入、输出服务与国际化中的输入、输出服务密切相关。
    输入方法按其功能可分为:输入管理层、前端处理层、输入单元层、输入单元算法层、辅助区处理层。
    输入管理层是根据Locale环境自动到指定目录下找出所需的输入方法模块、将其启动或装入应用程序,并填入有关入口表,以便建立应用程序与输入方法之间的联系。
    前端处理层是对各个输入单元进行管理、负责解释特殊键的含义,切换输入单元,并把输入单元处理的结果存于相应的缓冲区中,以保证应用程序取走、或调辅助区处理层函数显示。

本文关键:Linux中文化之构筑稳健的中文Linux(下)
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top