位置:海鸟网 > IT > linux/Unix >

抓住机遇 构筑稳健的中文Linux系统2

2.使用统一的大字符集ISO 10646

使用统一的多八位大字符集ISO 10646是国际化的关键工作,也是国际化的核心工作。十分遗憾的是很多人对其重要性认识不足。

中国56个民族中使用汉字的人占绝大多数,有本民族语言的少数民族有17个。这些民族的文字属性及字量相差很大,目前对不同民族文字采用不同的编码方式。在中国使用人数最多的少数民族文字有七种:蒙古文、藏文、维吾尔文、哈萨克文、朝鲜文、彝文和壮文。其中蒙古文、哈萨克文、朝鲜文还须考虑和使用这些文字的其它国家如蒙古国、哈萨克斯坦共和国、朝鲜和韩国使用的编码一致。中文信息处理主要是汉字,但不只是汉字。它也应该而且必须包括少数民族语言的文字处理这一重要组成部分。这对加强民族团结、提高少数民族地区的经济、文化、科技发展,对于回击外国反华势力攻击中国不重视少数民族的谎言,都有十分重要的意义。为了在一个计算机系统内同时处理汉字和多种少数民族文字,就必须使用既有汉字、又有各少数民族文字的统一大字符集。

海内外华人使用的汉字有很大差异,这种差异不只是反映在简繁体和用词的不同,更重要的是编码和字符集不同,而要解决这个问题必须采用统一的大字符集。而且,国际化的要求也使得大字符集的使用更为迫切。

ISO 10646 信息技术通用多八位编码字符集(Information technology-Universal Multiple-

octet Coded Character Set,缩写为UCS)是国际标准化组织对全世界各国地区使用的书面语言文字及符号进行统一编码的编码字符集的国际标准。已于1993年5月正式审定公布了ISO 10646.1。我国根据等同采用国际标准的原则,也于1993年12月宣布为国家标准GB13000.1。

目前,该标准已收入了各国现行标准的文字符号近六万个,可用于世界上多种语言的书面形式及附加符号的表示、输入、显示、存储、处理、交换和传输。其中中文简繁体汉字、日文用汉字、朝鲜文用汉字(简称CJK汉字)共20902个。

ISO 10646标准颁布后,又经历了一系列的修改与扩充。经过中、日、韩等国的不懈努力,目前CJK汉字扩充集的6582个汉字、彝文和汉字结构符、汉字部首与构件编码已纳入BMP,蒙文和藏文编码也取得重要进展。目前正在制定辅助平面(可收入汉字的标准,辅助平面2将纳入CJK汉字扩充集Extension B的四万多汉字及Super CJK的六万多汉字。

其实,使用ISO 10646,中国是最大的受益国。但奇怪的是国外的公司为了软件的国际化对ISO 10646十分积极,而我国的部分企业却不重视。

但是国际化标准的制定进展太慢,可能是对“地方”的积极性没有发挥或发挥不够。特别是UCS中最大量、最困难的工作是汉字部分。在制定UCS标准时应充分重视中国的意见,并充分发挥中国的积极性。

在处理汉字字符集方面,考虑语言中的内在关系,哪些字是常用、次常用,如何排序(按汉语拼音、笔划、部首),如何寻求最佳方案等,最有研究、最有发言权的自然是中国人。当然,海外华人和日本、朝鲜、韩国也都使用汉字,他们对汉字字符也很有研究,也要充分考虑他们的意见,但最大的用户和市场是在中国。

国际化标准组织在汉字字符集中应以中国的意见为重,另外如IBM、SUN等大公司对汉字本地化也有很多研究,对国际化做出很大贡献,也应多和他们协商。

每个国家执行的是本国的国家标准,国际标准只有变为国家标准时才能被该国执行。国际标准是通过多国的国家标准来实现的。

国际化与本地化是一个辨证的关系。国际化是为了解决软件能在各个使用不同语言、不同风俗的国家和地区的编码字符集都能使用的问题,而对计算机程序作出的某些规定。简言之,国际化正是为了解决本地化。另一方面,本地化是国际化向特定本地语言环境的转换,本地化要适应国际化的规定。

国际化标准组织要充分尊重各国标准化组织的意见。汉字共有七八万个,从码位的占有率来看是绝大多数,而且汉字又有简体、繁体、日文用汉字、朝鲜文用汉字、韩国用汉字,可谓是最复杂的。国际化工作中最大量、最复杂的工作就是解决汉字本地化的问题,如果汉字本地化解决好了,国际化的工作就完成了一大半。汉字本地化解决得好坏是衡量国际化工作好坏的试金石。全世界使用汉字的人最多,汉字又是联合国使用的文字,解决好汉字本地化意义十分重大。国际化标准组织应该格外重视中国标准化组织的意见,而不只是听取各中文Linux厂商的意见。现在国际化组织的成果虽然已上网,但与中国标准化组织机构并未建立直接、畅通,有效的联系渠道。

而且对中文(汉字)最了解的还是中国人自己。中文本地化离开中国人是搞不好的,国际化离开中国人也是搞不好的。

另一方面,中国的标准化组织也应主动和Linux国际化组织取得联系,反映自己的意见,有问题和Linux国际化组织协商解决。

制定标准首先应考虑促进技术的发展,有利于整个行业的发展,而不仅仅是保护国内厂家的利益。事实证明单靠制定GB是挡不住国外大公司的。

经济全球化,软件国际化是趋势,Linux也正走向全球,走向国际化。

全球有四分之一的人使用中文,没有中国的“全球化”是不可想象的,所以Linux需要中国,而中国也需要Linux。解决好Linux的国际化和中文本地化对Linux的发展、对中国软件行业都是十分重要的事,意义是十分深远的。我们应抓住Linux机遇,从Linux的国际化和中文本地化突破,把软件行业的国际化/中文本地化来一个比较彻底地解决。

这里有一个很重要的问题是对Unicode怎么看待和对关于字符集的国家标准(GB)如何与国际接轨而又充分体现对中文本地化最有利?

Unicode现在也是国际标准了,而不再只是几家美国公司自己提的方案了。现在微软的产品已支持Unicode ,还有SUN、IBM等大公司都支持Unicode 。

汉字不只是中国人民的宝贵文化遗产,也是亚洲人民的宝贵遗产,而且也是世界文明的共同财富。汉字在很多方面是优于拼音文字的。如汉字能使人引起联想,而联想是一切发明之母,学习和使用汉字有利于大脑智力的开发;使用汉字能以最小的篇幅表达最多的内容;汉字具有美感等。

我国既然决定了要遵循国际化标准ISO 10646并发布了相应的GB13000标准。共收录了七八万个汉字。是尽快过渡到UCS国际标准呢,还是缓慢过渡到UCS国际标准?我看还是尽快过渡好。因为多一个过渡性的GB,就会多一批需转换的大量文件,也就是多一个大包袱。而且BMP已收录了两万七千多个汉字,能满足绝大多数人的使用。

应尽快采用国际标准的字符集和编码方法,以后就只需逐渐补充字型(font)就行了。

关于字符集的标准,有关部门应把重点放在与国际标准有关组织建立联系,把对汉字字符集、少数民族文字字符集和编码的有关意见和他们沟通、协商,争取在国际标准上反映出来。不要再搞新的字符集的GB了,以减少以后向国际化标准转换时的包袱。

标准制定的重点应放在应用程序界面(API)的规范、标准的制定上。制定标准的一个重要作用就是促进应用程序的开发。十分遗憾的是这项工作进展太缓慢了。为了加快进度,最近中科院软件所、红旗软件公司和一些关心API标准的人正在草拟一个标准初稿,准备供大家讨论、修改,以尽快拿出一个草稿供标准化组织讨论。

Linux是操作系统中的一朵奇葩,是中国软件发展的机遇。要使这朵奇葩在中国的大地上生根、发芽,开花,要想抓住Linux机遇,首先必须解决中文本地化的问题。上期我们已经介绍了中文Linux采用中文平台及Linux国际化中的用双字节/多字节编码代替单字节7位或8位编码、使用统一的大字符集ISO 10646等知识的介绍。要建筑稳健的中文Linux,我们还要认识Linux的本地化及Linux核心的修改等重要问题。