论文部分内容阅读
基于Linux国际化和标准化的开发实践,本文对系统软件国际化的总体结构和Linux国际化的一些关键问题进行研究,取得5个方面的主要成果:
第一,归纳了软件国际化需求,以服务分类的方式列出系统软件国际化功能,总结国内外研究开发的最新进展和相关技术,评介国际化相关标准,对Linux的国际化系统部件逐一分析其功能定位、相互联系和存在问题,给出了系统软件国际化研究现状的一个全景图像。
第二,对编码字符集标准进行了深入研究,首次引入有限状态机(FSM)模型对ISO2022标准进行形式化描述,使符合标准的文本成为该FSM接受的语言,为编码字符集标准研究引入了新的思路和手段;用FSM描述方法揭示了众多派生标准与ISO2022的内在联系,分析了在多语言环境中的局限性,从而在理论上阐明了使用Unicode的必要性;提出了一种对编码字符集以及实现方法进行分类的全新方法并用于归类现有标准。
第三,对X窗口系统国际化机制进行研究和应用,探讨了X窗口系统的体系结构特征对国际化的影响,从XLocale的数据构成和作用、Xlib内部文本表示和字符集划分处理、客户间通信机制、服务器方字体管理、XOM输出机制、XIM输入机制等方面深入分析了X国际化机制,从字体描述、匹配、配置、缓存方法以及文本输出处理等方面对Xft/Fontconfig国际化机制进行了研究。取得了两个实际的开发成果:利用现有X窗口系统国际化基础完成了支持蒙古文、藏文、维文的Linux平台建设,所开发的民文Linux系统已经实现产品化;全面调研了Linux系统对BMP外字符的支持情况,为进一步研究打下基础。
第四,进行了输入法引擎API标准化方面的研究和开发工作,现有XIM标准存在的问题导致了Linux系统上多种输入法框架并存的局面,输入法引擎API标准化采用了新的路线,对现状的分析表明了该标准化路线的合理性和可行性;标准完整定义了输入法引擎和框架之间的编程接口,相关实体被划分到四个部分,接口位置、相互关系、交互语义和时序都有明确规定。按照标准开发的三个示例实现证明了标准内容的可行性,设计和实践经验可用于开发符合标准的通用输入法引擎,模拟测试环境的构造为输入法框架的改动提供了基本参照。此研究成果被收入国家标准报批稿,并成为中日韩联合Linux标准草案的中方提案。
第五,研究并设计了X窗口系统输入整合模型,由于X窗口系统固有的分布特点,键盘输入相关处理功能被分散到系统不同位置实现,导致在国际化文本输入支持方面存在诸多不足。通过从功能分布和层次关系上对现有机制的分析,揭示了现存问题的症结所在;为此提出了输入整合模型,列举了期望提供的主要特性,给出了总体框架和运行机制说明,建议了可能的实现路线图,深入探讨了各部分的设计要点,为在公共基础层次解决输入问题指出了工作方向。
本文的研究致力于解决Linux系统国际化的公共问题,期望从平台构架方面提升Linux的国际化水平,并为相关研究打下良好基础。