《中文Linux应用编程界面(API)规范》
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux 以其源代码的开放性已成为操作系统市场上的一支生力军,并成为促 进我国信息化建设和发展的新生力量。 “以 Linux 为契机,发展我国自主的操作 系统和应用软件”已成为我国信息产业内的一个共识。Linux 真正能够大规模地 应用还面临着标准化、兼容性以及应用软件支持等诸多问题考验。坚决做好 Linux 的标准化和产业化工作,只有通过标准和规范来确保 Linux 各版本间的兼 容和相对统一。要使 Linux 真正成为一个开放系统,必须吸收 POSIX 标准和国际 Linux 相关组织的研究成果,结合 Linux 的特点及中文信息处理的特殊性 对 Linux 操作系统中涉及中文信息处理的应用编程接口进行约定,以提高各 Linux 系统对中文应用程序的兼容性。该规范将使我国市场上基于 Linux 系统开 发的中文应用程序具有源码级的可移植性,从根本上避免重复开发。 2、本标准制订的依据
议规定。由于中文输入方法复杂又有众多不同的输入方法,即使是最常 用的也有若干种输入方法。为此,输入方法服务器也需要为输入方法编 写者提供接口。使用此接口编写的输入方法都能挂接至系统上。目前, 最流行的输入方法服务器是 X window 输入方法服务器(XIM) 。但是,广 泛使用的 XIM 协议也存在一些问题, 最突出的是: 首先, XIM 是 X Window 系统的一部分,其结构也跟 X Window 紧密相连。故使用 XIM 的系统必须 拥有 X Window。而 X Window 系统规模厖大,不太适用于一些嵌入式系 统。其次,它不支持多种语言。虽然,X Window 能使用 Unidode 的 UTF-8 编码,也即整个 GB18030 的多民族语言文字库都可以使用。可是,输入 法服务器不能通知客户端用户输入的是何种语言。此问题导致采用 XIM 协议,会阻碍应用软件支持多民族文字和多国语言。创造 XIM 协议的同 一组人员,觉察到这些问题,设计出一套新的协议,称为互联网-企业内 部网输入法协议-IIIM(Internet-Intranet Input Method Protocol)协 议。此协议已有实现者,且有日益扩展的趋势。故在本规范中同时提供 这两种协议。 4) 中文输入方法很多,为了使主流的中文输入方法能用于或移植到遵循本 规范的 Linux 系统上来,本规范规定了中文输入方法与中文输入服务器 的接口。 5) Linux 上的支撑软件很多,特别是桌面系统。这些软件各有特色且都在 发展。因而,Linux 上的打印很复杂,很难统一。但为了使应用程序能 正确打印出中文。本标准对系统配置的主要中文字库规定了规范名称, 也规定了字库的存放目录。 四、验证情况 从 2006 年 8 月启动对相关 Linux 产品的规范符合性测试,主要目标是验证 规范的合理性和测试方法的可行性。目前已经进行的本规范符合性测试产品包 括:中标服务器操作系统 3.0、红旗服务器操作系统 5.0、中标桌面操作系统 3.0、 红旗桌面操作系统 5.0,通过这些测试证明了规范要求全面、合理,符合性测试 方法可行。
国际正在大力进行 Linux Base Specification(LSB)的制订工作。已由 2001 年 7 月发布的 LSB 1.0,发展到 2003 年初发布的 LSB 1.3。而且, 已经有若干重要的 Linux 版本提供商通过了 LSB 1.3 的符合性测试。 2004 年月正式发布了 LSB 2.0。LSB 2.0 是一个重大事件,它比 LSB 1.x 系 列有重大的发展、提高和变化。
1) 多年来 ISO/IEC 和 IEEE 对开放系统的标准进行了大量的研究和制订工
作, 已经形成了 POSIX 标准体系。 各种开发厂商和组织也都声称以 POSIX 标准为依据进行开发。Linux 也是按 POSIX 的规定进行开发的开放系统。 这些都为本规范的制订打下了基础。
2) 为了规范 Linux 发行版本,尽可ຫໍສະໝຸດ Baidu地实现各种 Linux 的兼容性,Linux
3) 为了使 Linux 能适用于各个国家和各种文字, Linux 国际也在制订 Linux
国际化标准。从 LI18NUX 2000,到现在的 OpenI18N 1.3。为各国语言文 字在国际化的基础上实现本地化提供了依据。多年来我国中文信息处理 技术有了巨大的发展。在各种系统上(包括 Linux)在国际化的基础上 实现中文信息处理的本地化,已经有了丰富的经验。而且我国已经制订 了国标《开放系统中文界面规范》 (于 1996 年制订,2003 年修订) 。这 些都为本规范的制订打下了基础。 3、标准中的几个重要问题 1) 关于 LSB 的遵循性问题。国际标准化组织在制订开放系统的标准时,首 先提出的是应用程序源码级的可移植性。POSIX 标准也是以保证应用程 序源码级的可移植性为目标进行制订的。源码级可移植性也是应用程序 目标码级可移植性的基础。本规范的任务就是制订中文 Linux 应用编程 界面(API)规范。目标是实现进行中文信息处理的 Linux 应用程序在遵
循本规范的 Linux 系统上的源码级的可移植性。但是,在制订的过程中 发现,国际上许多重要的 UNIX 版本,都是声称遵循 POSIX 标准。而这些 版本往往互不兼容,很难真正实现源码级的可移植性,更不要说实现目 标码级的可移植性了。为了防止 Linux 走上 UNIX 版本不一致、不兼容, 使用户很难使用的老路。 Linux 国际决定制订 LSB, 实现目标码级的可移 植性。 Linux 国际这样做是有依据的。 这是由于对于 UNIX 来说, 先有 UNIX 的开发、后有标准。当标准制订时,已经有了各种 UNIX 的商业标准,虽 然厂商宣称遵循 POSIX 标准,但为了厂商的利益,这些版本确实很难统 一。而 Linux 是自由软件,而且核心的开发由 Linus 控制和发布。并且 gcc 等技术的发展也为实现目标码级的可移植性提供了可能。而且,LSB 的符合性测试也日趋成熟。我们没有必要另搞源码级可移植性的符合性 测试。 经过反复讨论, 工作组决定, 整个中文 Linux 标准应遵循 LSB 2.0。 遵循本规范的实现应通过 LSB 2.0 的符合性测试。LSB 2.0 在制订过程 中发现, 针对不同的需要, LSB 除了分为 LSB 规格说明的公共部分-gLSB 和 LSB 规格说明的体系结构部分 – archLSB 两大部分外,就是 gLSB 也分为:LSB – generic 和 LSB – Graphics 等。本规范虽然是 API, 但为了不割裂 LSB 文档,决定完整引用 LSB – generic 和 LSB – Graphics 这两部分。关于如何引用有几种不同意见,有在正文中引用 LSB 的主要内容、在正文中只提引用哪些内容,把 LSB 2.0 的译文放在 附录中等等。我们也提供了几种版本。最后确定,只在正文中指出引用 LSB 2.0 的哪些内容。 不在附录中放进 LSB 2.0 的参考译文 (LSB 2.0 译 稿初稿已完成) 。 2) 在制订国标《开放系统中文界面规范》时,当时的工作组曾邀请两岸三 地(大陆、香港和台湾)的有关中文信息处理的专家开了几次会。结果 是在上述标准中规定了中文所需要而在别的标准中尚未提供的有关半 角、全角转换、注音等 6 个函数。在制订本规范时考虑到《开放系统中 文界面规范》 中规定的字符界面和图形界面的有关函数在 LSB 2.0 中已 包含,而这 6 个函数是独特的,故把它们包含在本规范中。但有的意见 认为:这 6 个函数尚未在产品中实现,有的可以用别的 C 库函数替代。 是否不需要了。在本送审稿中尚保留,请专家门审定。 3) 关于输入方法服务器。中文输入方法是比较复杂的,可以说是各件语言 文件中最复杂的一种输入方法。而且中文输入方法又非常多。为方便与 各种输入方法接口,能实现主流的中文输入方法,系统中必须提供输入 方法服务器。输入方法服务器为应用程序编写者提供接口,这主要由协
Linux 标准工作组 2007 年 6 月 11 日
《中文 Linux 应用编程界面(API)规范》 编制说明
一、任务来源 根据国家 863 计划信息技术领域,软件重大专项,中文 Linux 和办公软件相 关标准与规范课题研究开发任务的规定,和根据国家质检总局和信息产业部 2003 年放国家标准和行业标准制、修订计划安排,制订《中文 Linux 应用编程 界面(API)规范》 。该项目由中软网络技术股份有限公司负责起草,项目计划代 号为 二、工作过程 在国家任务下达后, 中软网络技术股份有限公司就组织了工作组,在前期工 作的基础上, 收集与翻译了国际上有关 Linux 的主要标准的最新版本 LSB 1.3 目 ( 前的最新版本为 LSB 2.0)和 OpenI13N 1.3。总结了多年来在 Linux 开发工作 和标准制订工作的经验。在“非典”肆虐期间,编写了制订《中文 Linux 应用编 程界面(API)规范》的计划和大纲。 在“四所”的组织下成立了“中文 Linux 标准”工作组。在工作组的统一安 排下,确定了编写工作的计划与大纲。于 2003 年 9 月初,编写了《中文 Linux 应用编程界面(API)规范》初稿,提交工作组讨论。工作组前后经过了近 10 次讨论,几经修改,先后提交了三次修改稿,才形成了《征求意见稿》《征求意 。 见稿》通过在网上和有关单位广泛征求意见,收集了许多很好的意见。工作组又 组织了有 FSG 和 OpenI18N 有关人员和国内的 Linux 厂商、专家及有关人员参加 的“Linux 标准研讨会” 。 2004 年 4 月信息产业部成立 Linux 标准工作组,组织更大范围的企业参与 标准的制定工作。在此基础上工作组对“意见汇众”进行了深入的整理、分析和 讨论,确定了修改意见。根据这些意见,经过修改,我们提交了《中文 Linux 应用编程界面(API)规范》的《送审稿》 。 2006 年在发展基金及国家十五项目的支持下,中国电子技术标准化研究所 组织国内主要 Linux 操作系统发布商,对标准的符合性测试展开研究,并根据测 试研究的结果对标准做中描述不够严谨的地方做出相应调整。 三、主要说明 1、标准的目的