一种方便的实现藏文扩充集的方法及系统的制作方法

文档序号:6471246阅读:164来源:国知局
专利名称:一种方便的实现藏文扩充集的方法及系统的制作方法
技术领域
本发明属于计算机文字信息处理技术,具体涉及一种方便的实现藏文扩充集的方
法及系统。
背景技术
藏文是一种比较复杂的拼音文字,它自左到右横写,以"字元"为最小铅字印刷单 位,字元可以是一个字母,也可以是多个字母纵向叠加而成,纵向叠加字又叫做"整字",如 图l所示。由于整字是多个字母纵向叠加而成,其每个字母必然会产生位置和尺寸的变化, 相当于汉字的"北"、"田"、"共"在"冀"字中的变化。 1997年7月,在IS0/IEC JTC1第33届WG2会议上,藏文编码国际标准正式获得通 过,成为ISO/IEC 10646《信息技术通用多八位编码字符集》的重要组成部分。在IS0/IEC 10646中藏文字母位于基本多文种平面(BMP)的0x0F00-0x0FBF码区。1997年9月,我国 颁布国家标准GB/16959-1997《信息技术信息交换用藏文编码字符集基本集》,并于1998年 l月1日正式实施。在技术内容上,国家标准基本集与国际标准等同,以字母为单位编码。 在IS0/IEC 10646 :2000版中收录了包括藏文及梵文字母、标点符号、天文历算符号在内的 共195个藏文编码字母(俗称"小字符集"),其特点是通过动态组合方式,得到成千上万的 藏文及梵文字符。 由于小字符集只规定了字母编码,整字没有编码,无法显示变形后的整字,大多数 藏文系统各自为政,制定整字编码用于显示,造成各个系统互不兼容,因此,我国于2006年 10月颁布了 GB/T 20542-2006《信息技术藏文编码字符集扩充集A》,并于2007年3月1日 实施。扩充字符集A共有1536个整字(俗称大字符集)。现代藏文(三次规范后的藏文 书写形式)、古藏文(规范之前藏文书写形式)和已成为藏文部分的梵音转写藏文字符,共 962个字符。574个最常用梵音转写藏文字符。其编码范围为0xF300-0xF8FF,位于BMP专 用平面内。与基本集所存在的区别是,藏文扩充集在IS0/IEC10646编码体系结构的框架内 对藏文中由基本字符纵向叠加而成、具有稳定结构且使用频繁的藏文和梵文藏字字丁进行 了编码。 目前,《信息技术藏文编码字符集扩充集B》已经制定完成,正在审批过程中,不日 就将颁布,而且《信息技术藏文编码字符集扩充集C》也在制定过程中。藏文扩充集B是藏 文扩充集A的补充,收录了 5702个整字。 OpenType是Microsoft公司和Adobe公司联合开发的一种基于Unicode且与平 台无关的字体格式。它是TrueType字体格式的一种扩展,并融合了 PostScript字体技 术。OpenType的优势是其跨平台性,支持Unicode字符集和高级布局特征,能更好的支持 国际化的处理。OpenType字体在支持TrueType体系结构的基础上增加了一些高级排版特 征-OpenType布局表,支持将字符的替换和定位,能够很好的支持复杂文本的处理和藏文 及其他文字的处理,但是遇到新字时,必须更新OpenType字库。 目前的藏文系统有两类,分类依据为处理的编码范围,第一类系统能处理大字符集编码,称为扩充集系统,其基本结构如图2所示,优点是处理速度快,缺点是首先,每个
字元一个编码,存储量很大。第二,随着新的藏文扩充集的不断制定和颁布,需要修改处理
引擎以添加新的藏文字,系统升级复杂。第三,与国际藏文编码标准相悖。第二类系统只能
处理基本集编码,称为基本集系统,其结构如图3所示,这类系统可以是OpenType字库处理
引擎,也可以是支持OpenType排版功能的自有排版软件,它们都具备自动识别替换和定位
的能力,能够将一串基本集编码序列重新替换和定位为一个藏文整字。优点是存储量小、与
国际编码一致。缺点是不能识别扩充集编码,无法与扩充集系统兼容。 藏文经书中出现的字元多达上万个,而且藏文纵向叠加字是不封闭的,还在不断
的发现新的字元,因此系统经常需要补字,同时,国家也正在不断制定新的藏文编码扩充
集。而现有的藏文系统大多是第一类系统,采用大字符集,以扩充集标准为依据,以字元为
单位编码,需要经常的更新处理引擎,效率低且成本高。但是基本集系统以其存储量小,符
合国际标准,形式灵活的优点更加适合藏文不封闭的特点,这就使得基本集字库今后一定
会被更加普遍的使用。本发明正是在基本集系统的基础上,采用外挂的转换码表文件,使其
转换扩充集编码为基本集编码序列,完成显示,并且随着标准的增加,能够很方便的更新转
换码表。

发明内容
针对现有技术中存在的缺陷,本发明的目的是,根据藏文编码扩充集的不断颁布 和新的藏文编码的不断增加,为基本集系统提供一种能够兼容扩充集系统的方法,既能保 持与国际标准的一致,也使没有安装大字符集的基本集系统能够显示扩充集编码的字符, 并且在出现新的藏文字和新的藏文编码扩充集时,能够由系统用户在任意时刻方便的升级 更新转换码表。 为达到以上目的,本发明采用的技术方案是一种方便的实现藏文扩充集的方法, 包括以下步骤 (1)建立一个将扩充集编码转换为基本集编码的转换码表; (2)对于输入的藏文编码,判断是否是基本集编码,如果是,则直接将编码传递给 基本集藏文系统的处理引擎;否则 (3)打开转换码表,在转换码表中查找此编码; (4)如果找到相同的编码,将此编码对应的基本集编码序列传递给基本集藏文系 统的处理引擎;否则 (5)显示缺字,并更新转换码表。 进一步,如上所述的实现藏文扩充集的方法,步骤(1)中所述的转换码表位于系
统安装的根目录下,为txt类型文件;转换码表文件中每行代表一个记录,每个记录的第一
个字段是扩充集编码,其余字段为其对应的基本集编码序列,字段之间以空格为分界符。 进一步,在上述实现藏文扩充集的方法中,步骤(3)的具体操作过程如下 (a)查看转换码表文件是否已经读入内存,如果是则直接转至步骤(d);否则 (b)找到转换码表文件所在的位置; (c)打开转换码表文件,读入内存,设置已经打开标志; (d)以转换码表文件内容的第一列为查找对象,依次比较每行第一列的编码。
5
进一步,如上所述的实现藏文扩充集的方法,步骤(5)中更新转换码表的过程如 下 (i)通过系统提供的操作转换码表的可视化界面和命令,从系统中直接打开转换 码表文件; (ii)在新建编码输入框中,输入扩充集编码和相应的基本集编码序列; (iii)保存并关闭文件,系统自动将输入的扩充集编码和基本集编码序列追加到
转换码表最后。 另外,用户也可以从文件系统打开转换码表,将新的扩充集编码及其对应的基本
集编码序列添加在转换码表文件的最后。 —种方便的实现藏文扩充集的系统,包括-输入模块,用于输入藏文编码;-前端处理模块,用于判断编码的有效性,并格式化编码;-基本集藏文处理模块,用于将基本集编码序列重新替换和定位为藏文整字;
其特点是,该系统还包括-藏文编码判断模块,设在前端处理模块和基本集藏文处理模块之间,用于判断所 输入的藏文编码是否为基本集编码,-查表转换模块,设在藏文编码判断模块与基本集藏文处理模块之间,内设转换码 表,用于查找非基本集编码对应的基本集编码序列,并将其传递给基本集藏文处理模块。
本发明的有益效果在于本发明针对藏文编码扩充集的不断颁布和新的藏文编码 的不断增加,对支持0penType技术或者相关功能的藏文基本集系统,提供了将扩充集编码 转换为基本集编码序列的功能,能够识别并显示扩充集编码的藏文字,并提供了方便的更 新扩充集编码的功能,遇到新藏文字或者新的藏文编码扩充集颁布时,不必根据扩充集的 变化而更改处理引擎,或者更改字库,只需用户更新外挂的码表文件,向码表中添加新的编 码及其对应基本集序列即可。该方法使用效率高、易于维护,降低了软件升级成本,码表更 新方便快捷。


图1是一个藏文字的结构示意图; 图2是扩充集藏文系统机构图; 图3是基本集藏文系统结构图; 图4是本发明所述系统的结构示意图; 图5是本发明的查转换码表的流程图; 图6是本发明的更新转换码表的流程图。
具体实施例方式
下面结合附图和实施例对本发明进行详细的描述。 如图4所示,本发明所提供的一种方便的实现藏文扩充集的方法,包括以下步骤
(1)建立一个将扩充集编码转换为基本集编码的转换码表; (2)对于输入的藏文编码,判断是否是基本集编码,如果是,则直接将编码传递给
6基本集藏文系统的处理引擎;否则 (3)打开转换码表,在转换码表中查找此编码; (4)如果找到相同的编码,将此编码对应的基本集编码序列传递给基本集藏文系 统的处理引擎;否则 (5)显示缺字,并更新转换码表。
实现上述方法的系统包括如下结构
-输入模块,用于输入藏文编码;-前端处理模块,用于判断编码的有效性,并格式化编码,将之转换为十六进制,编 码中的字母统一为大写;-基本集藏文处理模块,用于将基本集编码序列重新替换和定位为藏文整字;
-藏文编码判断模块,设在前端处理模块和基本集藏文处理模块之间,用于判断所 输入的藏文编码是否为基本集编码,-查表转换模块,设在藏文编码判断模块与基本集藏文处理模块之间,内设转换码 表,用于查找非基本集编码对应的基本集编码序列,并将其传递给基本集藏文处理模块。
其中,输入模块、前端处理模块、基本集藏文处理模块为现有基本集藏文系统的组 成结构;藏文编码判断模块和查表转换模块为本发明所特有的结构。 转换码表文件位于本系统安装的根目录下,类型为txt文件,名称为TranCode. txt。转换码表位置和名称均可配置,配置信息在本系统安装目录下的config. xml配置文 件的〈TranFile〉属性中。 转换码表文件中每行代表一个记录,记录格式为扩充集编码基本集编码1基本 集编码2…基本集编码i。其中第一个字段是扩充集编码,其余字段为其对应的基本集编码 序列,字段之间以空格为分界符。 如图5所示,在转换码表中进行查寻的步骤如下 (a)查看转换码表文件是否已经读入内存,如果是则直接转至步骤(d);否则
(b)根据配置文件的〈TranFile〉属性,找到转换码表文件所在的位置;
(c)打开转换码表文件,读入内存,设置已经打开标志; (d)以转换码表文件内容的第一列为查找对象,依次比较第一列每行的编码。
如图6所示,更新转换码表的步骤如下 (i)通过系统提供的操作转换码表的可视化界面和命令,从系统中直接打开转换 码表文件; (ii)在新建编码输入框中,输入扩充集编码和相应的基本集编码序列; (iii)保存并关闭文件,系统自动将输入的扩充集编码和基本集编码序列追加到
转换码表最后。 系统操作界面的设计以及命令项的设置对于软件设计人员来说是公知技术,此处 不再进行过多描述。 为了更清楚的理解本发明的技术内容,特举以下实例进行详细说明。本发明由处 理引擎调用其外挂文件,实现所述功能。 藏文整字^由字母,和字母g组成,其中字母^的基本集编码为0x0F40,字母g的 基本集编码为0x0FBl,整字3没有基本集编码,其扩充集编码为OxEOOO,其对应的基本集编码序列应为0x0F40+0x0FBl。处理过程如下 (1)前端处理模块将格式化后的编码OxEOOO传递给藏文编码判断模块,判断是否 是基本集编码; (2)如果是,则直接返回编码给基本集藏文处理模块; (3)判断结果为不是,打开转换码表,依次查找转换码表的每一行的第一列字段;
(4)如果找到相同的编码OxEOOO,说明此编码已经存在于转换码表中,传递此编 码对应的基本集编码序列0x0F400x0FBl给处理引擎; (5)如果没有找到这个编码,说明此编码不在转换码表中,显示缺字。此时用户可 以选择更新转换码表。 —般在新的藏文扩充集颁布时或者新字出现需要补字时都要进行更新转换码表 的操作。 更新转换码表过程步骤如下 (1)从系统的"更新码表"命令中,直接打开转换码表文件; (2)在新建编码输入框中,输入扩充集编码OxEOOO和相应的基本集编码序列 0x0F40 OxOFBl ; (3)保存并关闭文件,系统自动将输入的扩充集编码和基本集编码序列追加到转 换码表最后。 在实际操作中,用户可以主动的从文件系统打开转换码表,及时添加新的扩充集 编码及其对应基本集编码序列,这样在输入界面输入编码时,就可以直接找到这个编码,而 不会出现缺字。 本发明所述的方法及系统并不限于具体实施方式
中所述的实施例,本领域技术人 员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
8
权利要求
一种方便的实现藏文扩充集的方法,包括以下步骤(1)建立一个将扩充集编码转换为基本集编码的转换码表;(2)对于输入的藏文编码,判断是否是基本集编码,如果是,则直接将编码传递给基本集藏文系统的处理引擎;否则(3)打开转换码表,在转换码表中查找此编码;(4)如果找到相同的编码,将此编码对应的基本集编码序列传递给基本集藏文系统的处理引擎;否则(5)显示缺字,并更新转换码表。
2. 如权利要求1所述的实现藏文扩充集的方法,其特征在于步骤(1)中所述的转换 码表的文件位于系统安装的根目录下,为txt类型文件。
3. 如权利要求2所述的实现藏文扩充集的方法,其特征在于所述的转换码表文件中 每行代表一个记录,每个记录的第一个字段是扩充集编码,其余字段为其对应的基本集编 码序列,字段之间以空格为分界符。
4. 如权利要求1或2或3所述的实现藏文扩充集的方法,其特征在于步骤(3)的具 体操作过程如下(a) 查看转换码表文件是否已经读入内存,如果是则直接转至步骤(d);否则(b) 找到转换码表文件所在的位置;(C)打开转换码表文件,读入内存,设置已经打开标志;(d)以转换码表文件内容的第一列为查找对象,依次比较每行第一列的编码。
5. 如权利要求4所述的实现藏文扩充集的方法,其特征在于步骤(5)中更新转换码 表的过程如下(i) 通过系统提供的操作转换码表的可视化界面和命令,从系统中直接打开转换码表 文件;(ii) 在新建编码输入框中,输入扩充集编码和相应的基本集编码序列;(iii) 保存并关闭文件,系统自动将输入的扩充集编码和基本集编码序列追加到转换 码表最后。
6. 如权利要求4所述的实现藏文扩充集的方法,其特征在于步骤(5)中更新转换码 表时,用户从文件系统打开转换码表,将新的扩充集编码及其对应的基本集编码序列添加 在转换码表文件的最后。
7. —种方便的实现藏文扩充集的系统,包括 -输入模块,用于输入藏文编码;-前端处理模块,用于判断编码的有效性,并格式化编码;_基本集藏文处理模块,用于将基本集编码序列重新替换和定位为藏文整字; 其特征在于,该系统还包括-藏文编码判断模块,设在前端处理模块和基本集藏文处理模块之间,用于判断所输入 的藏文编码是否为基本集编码,_查表转换模块,设在藏文编码判断模块与基本集藏文处理模块之间,内设转换码表, 用于查找非基本集编码对应的基本集编码序列,并将其传递给基本集藏文处理模块。
8 如权利要求7所述的实现藏文扩充集的系统,其特征在于查表转换模块中所设置的转换码表为txt类型文件,文件中每行代表一个记录,每个记录的第一个字段是扩充集 编码,其余字段为其对应的基本集编码序列,字段之间以空格为分界符。
全文摘要
本发明涉及一种方便的实现藏文扩充集的方法及系统,属于计算机文字信息处理技术。针对国家连续制订了多个藏文字符编码扩充集,对藏文纵向叠加字单独编码,只包含基本集编码的藏文处理引擎无法识别扩充集的编码,即使包含了扩充集编码,随着新字的出现和新的扩充集的颁布,也需要不断的升级处理引擎,造成开发和使用的不便。本发明所述的方法提供一个外挂的转换码表,将扩充集编码转换为基本集编码序列。采用本发明所述的方法,针对藏文编码扩充集的不断颁布和新的藏文编码的不断增加,只需要将新的编码添加到该转换码表中,无需升级处理引擎,就可以显示该编码对应的藏文字,使用效率高、易于维护,降低了软件升级成本,码表更新方便快捷。
文档编号G06F17/22GK101739389SQ200810227210
公开日2010年6月16日 申请日期2008年11月25日 优先权日2008年11月25日
发明者唐英敏, 赵青 申请人:北京大学;北大方正集团有限公司;北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1