一种中文字母组字系统及其实现方法

文档序号:6451127阅读:182来源:国知局
专利名称:一种中文字母组字系统及其实现方法
技术领域
本发明涉及一种中文处理系统,特别是一种可以在多种信息处理设备中通过组字的方法实现汉字显示和打印的系统及其实现方法。
背景技术
随着信息技术的不断发展,中文处理,即如何在计算机等信息系统中输入、保存、显示和打印汉字,变得越来越重要。中文处理的核心就是汉字库的设计和实现方式。
目前世界上已经出现了很多种中文处理系统,但汉字库基本上只有三种点阵字库,矢量字库和曲线字库。
第一种是点阵字库,即每个汉字是以一个固定尺寸的点阵来表示的。这种字库的优点是汉字处理速度快,显示和输出都无需运算,直接将特定字的点阵读出来显示在屏幕上或送到打印机就可以了。它的缺点是无法改变字形和大小。由于点阵字库是根据特定尺寸的点阵制作的,只有在以同样尺寸的点阵显示或打印时才能有较好的效果,改变大小或比例都会产生失真。同时点阵字在处理如加黑、中空、变形和阴影等特殊字形方面也无法胜任。
第二种是矢量字库,即将汉字的每一个笔画用一定数量的直线段来模拟。矢量字库既可以描述汉字的外框,也可以描述汉字的骨架。矢量字库的优点是可以在一定范围内进行缩放和变形,处理速度(画直线和填充多边形)也比较快。矢量字库的缺点是字形不够美观,由于采用直线来描述笔画,字体会有一定程度的失真,尤其是放大到一定尺寸以后失真会非常严重。
第三种是曲线字库,即用二次或三次曲线来描述每一个笔画。这种方法的最大优点是字形美观,即使放大到很大也看不出任何失真。进行各种字形变换也很容易。其缺点则是处理速度很慢,由于画曲线和填充曲线围成的区域需要进行比较复杂的操作,曲线汉字的显示和输出比上述两种方法慢很多。
同时,上述三种汉字库还存在着存储空间需求过大和很难扩充的毛病。以UNICODE(包含超过20000个汉字)为例,对于每一种字体,点阵字库需要1-2MB的存储空间,矢量字库需要3-4MB的空间,而不进行压缩的曲线字库需要5-10MB的存储空间。一个中文处理系统通常要包含几套字体,光是汉字库就要占掉十几兆到几十兆的空间。这么大的存储空间对于现代的计算机来说也许不算什么,但对于手机、PDA、电子书、数码相机和数字电视等设备来说则很难提供。同时,由于在上述三种字库中要添加一个汉字都必须添加该汉字的完整信息(点阵、矢量或者曲线),非常麻烦。同时,要在中文处理系统中显示一个字库中没有的字也是不可能的,如果文档中存在这种字,只能以图像的形式或者括号括起来的方式处理,处理起来非常麻烦。
上述汉字库结构的核心问题是每个汉字都是独立存储的,而没有考虑到汉字之间的关联性。根据六书所载,汉字可以分为独体字和合体字,独体字一般是由象形或指事的方法造出来的,而合体字则是通过形声和会意通过两个或多个汉字拼成的。由于在汉字中,合体字占大多数,我们可以用少量的元件来拼出所有的汉字。据统计,只要用五百多个部件即可拼出目前超过99.9%的汉字(见国家语委1997年12月发布的《信息处理用GB13000.1字符集汉字部件规范》)。

发明内容
针对上述问题,本发明提供一种中文组字系统,克服上述几种中文处理方法的不足。
本发明所述的一种中文字母组字系统包括一个信息处理设备,一个位于所述信息处理设备中负责存储汉字信息的中文字母汉字库,和一个与所述中文字母汉字库相连接、在打印和显示中文信息时将中文字母组合成所需要的汉字的中文字母组字模块。
本发明所述的信息处理设备既可以是计算机,也可以是手机、PDA、电子书、数码相机和数字电视机及机顶盒等可以进行信息显示和处理的设备。
本发明所述的中文字母汉字库中将所有汉字分为独体字和合体字两种分别存储。若汉字是独体字,则该汉字本身是一个末级部件(中文字母),在字库中存储的是该汉字的全部笔画信息。若汉字为合体字,则可以按照左右、上下、外内的自然分隔将该汉字分成多个部件,每个部件或者是一个末级部件(中文字母),或者是一个复合部件,该复合部件是汉字库中已经存在的一个汉字。对于合体字,汉字库中存储的是组成该汉字的部件及其位置信息。对于不是一个单独汉字的末级部件(中文字母),在汉字库中也存储其全部笔画信息。
此外,本发明所述中文字母汉字库中存储的中文字母的笔画信息既可以是矢量信息,即以直线段描述的笔画信息,也可以是曲线信息,即用二次或三次曲线描述的笔画信息。
本发明在所述汉字库中所存储的部件位置信息既可以用每个部件的绝对位置来表示,也可以用部件之间的相对位置及占整个汉字的比例来表示。
本发明所述的中文字母组字模块根据从中文字母汉字库中读出的组成汉字的部件及位置信息将汉字的笔画复原出来传送给信息处理设备进行汉字的显示或打印。
本发明所述的中文字母汉字库和中文字母组字模块既可以作为所述信息处理系统中的一组软件,也可以固化在芯片中作为所述信息处理系统的硬件组成部分。
本发明的另一方面提供一种显示和打印汉字时的中文字母组字的方法,该方法包括如下步骤当信息处理设备要显示或打印中文信息时,它按顺序将每一个汉字的编码传送给中文字母组字模块,中文字母组字模块根据汉字的编码从中文字母汉字库中读出该汉字的信息。若该汉字是独体字,所读出的信息就是该汉字的笔画信息,中文字母组字模块直接将该汉字的笔画信息传送给信息处理设备进行打印或显示。若该汉字是合体字,所读出的信息是组成汉字的部件及相应的位置信息,中文字母组字模块根据所存储部件的位置信息对所有组成该合体字的部件进行缩放后传送给信息处理设备进行显示或打印。
本发明所述的方法还包括若组成汉字的部件是末级部件(中文字母),中文字母组字模块直接根据该部件的位置信息对该部件的笔画信息进行缩放之后传送给信息处理设备进行打印或显示。
本发明所述的方法进一步包括若组成汉字的部件是复合部件,中文字母组字模块根据该复合部件的位置信息计算组成该复合部件的所有部件的位置信息,再根据计算所得的位置信息将每个部件进行缩放后传送给信息处理设备进行显示或打印。
本发明的优点在于汉字库中只需要存储末级部件(中文字母)的详细笔画信息,汉字库所占用的存储空间可以大为减小,同时,对于不同字体,只需要将末级部件(中文字母)进行相应的修改,而不需要修改字库中所有的汉字,大大减少中文字库占用的存储空间,从而能够在手机、PDA、电子书、数码相机和数字电视等信息处理设备中显示矢量或曲线汉字并直接进行打印。由于末级部件(中文字母)的数量有限,中文处理系统中可以将末级部件(中文字母)存储在内存中或实现为专用芯片,加速汉字的显示和打印速度。对于字库中没有的字,只需要提供组成该汉字的部件及位置信息,中文处理系统可以正常处理该汉字,无需对汉字库进行任何修改,使中文处理系统可以包含从古至今的所有汉字以及未来所有的汉字。


通过下面结合附图对本发明的中文字母组字系统和实现方法的实施例进行详细描述,可以更好地理解本发明的目的、特性和优点。
图1是表示本发明所述的中文字母组字系统的结构示意图;图2是表示本发明所述的中文字母组字方法的流程图;图3是表示本发明所述的中文字母组字方法的部件组合方法的流程图;具体实施方式
下面结合附图和实施例详细描述本发明的中文字母组字系统及其实现方法。
图1显示了本发明的中文字母组字系统的结构。中文字母组字系统是由信息处理设备3,中文字母汉字库1和中文字母组字模块2三个部分组成的。在中文字母汉字库1中将汉字分为独体字和合体字两部分,独体字直接存储其笔画信息,不单独构成汉字的其他末级部件(中文字母)也存储其笔画信息,合体字则根据左右、上下、外内的自然分隔将该合体字分成多个部件,并在存储部件的同时存储部件的位置信息。当信息处理设备3需要显示或打印中文信息时,它首先将每一个汉字送到中文组字模块2,中文组字模块2根据中文字母汉字库1中存储的信息进行汉字组字并将汉字的完整笔画信息传送给信息处理设备3进行显示或打印。
图2所示为本发明的中文字母组字的方法。在步骤S1中,信息处理设备3将中文信息中包含的每一个汉字编码(内码)传送给中文字母组字模块2要求组字。在步骤S2中,中文字母组字模块2根据该汉字的编码从中文字母汉字库1中读取该汉字的信息。在步骤S3中,中文字母组字模块判断该汉字是独体字还是合体字,如果该汉字是独体字,则在步骤S2中读出的就是它的详细笔画信息,在步骤S4中直接将所读出的笔画信息传送给信息处理设备3进行显示或打印即可。如果该汉字是合体字,则需要按照图3所示的方法在步骤S5、S6、和S7中将该汉字的所有部件组合,并将所得的笔画信息传送给信息处理处理设备3进行显示或打印(假设该汉字有3个部件)。
图3所示为本发明的汉字部件的组合方法。在步骤S8中,中文字母组字模块2首先计算该部件的位置和尺寸,如果该部件直接组成要显示或输出的汉字,则该部件的位置和尺寸可以直接从存储在汉字库中的位置信息计算而得,如果该部件是复合部件的一部份,则部件的位置和尺寸可以从复合部件的位置信息以及该部件在复合部件中的位置信息计算出来。在步骤S9中,判断该部件是末级部件(中文字母)还是复合部件,如果该部件是末级部件(中文字母),在步骤S10中中文字母组字模块2根据所计算出来的位置和尺寸对该部件的笔画信息进行缩放,然后将所得的笔画信息传送给信息处理设备3进行显示或打印。如果该部件是复合部件,则在步骤S9和S10中再用图3所示的方法组合该复合部件的每一个部件并传送给信息处理设备3进行显示或打印(假设该复合部件可以分为两个部件)。
本发明中所述的末级部件(中文字母)请参见国家语委1997年12月公布的《信息处理用GB13000.1字符集汉字部件规范》。
下面以具体实例来详细说明本发明。在以下实例中,每个汉字的尺寸为256×256,每个合体字用部件加字框来表示,字框为(X,Y,宽,长),其中X和Y表示部件左上角的位置,宽和长表示部件缩放的比例。末级部件(中文字母)则采用一组“指令,X,Y”格式的绘图指令来表示,其中指令0表示移动,1表示直线,2表示曲线。每一个移动指令也代表了一个笔画。
以“盟”为例,在字库中存储有“盟=明2A1BB280皿10ACE53C”,则需要在字框2A1BB280即(42,27,178,128)中显示“明”,而在10ACE53C(16,172,229,60)中显示“皿”。由于“明”是复合部件,在字库中存储有“明=日191645B0月661183DF”,即在字框191645B0(25,22,69,176)中显示“日”,字框661183DF(102,17,131,223)中显示“月”,换算到“盟”字中,“日”的字框为(59,38,48,88),“月”的字框为(113,36,91,112)。由于“日”和“月”均为末级部件,查字库得到日=00003C1A,00013CE9,00003C28,0001C128,0001C1E8,00003C77,0001C177,00003CCD,0001C1CD月=00005B15,000267DB,000124F4,00005E16,0001CB16,
0001CBE2,0002C4F2,00019DE8,00005E52,0001CB52,00005E92,0001CB92在相应的字框中画出“日”和“月”即完成了“盟”字上半部分的显示。
由于“皿”是末级部件,查字库有皿=00002A30,00012AD3,00002A31,0001CD31,0001CDD3,00005F32,00015FD3,00009530,0000195D3,000007D3,0001F4D3在字框中画出以上笔画即完成了“盟”字的显示。
再如“鈎=釒0E1660CF勾641385DB”,“勾=勹1408D3E9厶35647F67”,釒=00008415,00026253,00011968,0000811B,0002B231,0001D74C,00004A61,0001BE61,0000258A,0001CA8A,00007C61,00017CDF,0000399F,000153C4,0000BDA1,00019CC6,000030ED,0001C9CF勹=00005D12,00023B61,00011A7C,00004541,0001DC41,0002E6F1,0001B8EF,00018FE0厶=0000781C,00023FB5,00011FDD,0001D3CA,0000AD7B,0002D9C4,0001D8FB在字框(14,22,96,207)中画出“釒”,在字框(110,25,109,199)和(127,70,65,88)中分别画出“勹”和“厶”,即完成了“鈎”字的显示。
再如“棪=木120E4FE7炎5F0B92EB”,“炎=火0A0ED278火076EE88B”,木=00001D46,0001DF46,00008013,000180F0,00007347,000256A6,000109D8,00008C44,0002ADAC,0001EBC8火=00003E49,00023E83,0001268F,0000BF3C,00018E90,00007709,00027FCC,00010EFD,00007629,000290DD,0001DCE9在字框(18,14,79,231)中画出“木”字,在字框(100,23,119,110)和(62,111,132,127)中分别画出两个“火”即完成了“棪”字的显示。
又如,“镕”字在GB2312的字库里不存在,在目前GB2312的中文系统中无法对其进行处理。利用本专利所述的中文字母组字系统及其实现方法,在文档中只要以“钅06105CD6容67098AE3”进行存储,即可在GB2312中文系统中正确处理“镕”字。
本发明所述的中文字母组字系统既可以使用在计算机上,也可以使用在手机、PDA、电子书、数码相机和数字电视机中。
在手机中,目前的存储空间最多只有8M字节,除了汉字字库,还要存放手机必须的软件系统。由于受到存储空间的限制,目前只能采用一种字体的16×16点阵汉字进行中文处理,用户发送的短信也只能是单调的一种字体。随着手机的屏幕越来越大,功能越来越多,目前的汉字处理方式已经越来越无法适应用户的需要。同时,手机上的信息也无法直接打印出来。采用了本发明所述的中文字母组字系统,在手机中可以用很小的存储空间(几百K字节以内)存储几套中文字体。用户可以直接在手机中以多种字体、多种大小和形状编辑短信。当用户的手机的接收部件收到短信之后,如收到一个盟字,首先将该短信存储在存储器中,然后手机中的微控制器(MCU,负责控制手机的信息显示、拨号和电话本等部件的操作,另一块中央处理器DSP则负责话音的编解码和质量控制)将短信中的每一个汉字的内码,即盟的内码,传送给中文字母组字模块要求组字。中文字母组字模块根据该内码从中文字母汉字库中读出该汉字的具体信息“盟=明2A1BB280皿10ACE53C”。由于盟是合体字,则中文字母组字模块首先计算每个部件的位置,即需要在42,27,178,128)中显示“明”而在(16,172,229,60)中显示“皿”。由于“明”是复合部件,在字库中存储有“明=日191645B0月661183DF”,即在字框(25,22,69,176)中显示“日”,字框(102,17,131,223)中显示“月”,换算到“盟”字中,“日”的字框为(59,38,48,88),“月”的字框为(113,36,91,112)。由于“日”和“月”均为末级部件,查字库得到“日=00003C1A,00013CE9,00003C28,0001C128,0001C1E8,00003C77,0001C177,00003CCD,0001C1CD”,“月=00005B15,000267DB,000124F4,00005E16,0001CB16,0001CBE2,0002C4F2,00019DE8,00005E52,0001CB52,00005E92,0001CB92”,中文字母组字模块根据前面计算所得的字框对每一个笔画的XY坐标进行缩放和平移可以得到盟字上半部分的笔画信息。由于“皿”字是末级部件,查字库有“皿=00002A30,00012AD3,00002A31,0001CD31,0001CDD3,00005F32,00015FD3,00009530,0000195D3,000007D3,0001F4D3”,同样通过对每一个XY坐标的缩放和平移,中文字母组字模块可以计算出盟字下半部分的笔画信息。然后中文字母组字模块将盟字的全部笔画传送给手机的屏幕显示模块,手机的屏幕显示模块则根据所收到的笔画信息分别按照移位、画直线和画曲线的命令将每个笔画按照相应的XY坐标画在屏幕上,从而完成短信“盟”的显示。用户收到短信之后也可以直接将手机连接到打印机上(可以通过蓝牙、红外线或直接连线),将所收到的短信打印出来。具体的打印过程与屏幕显示过程基本相同,只是换成由打印机将每一个笔画画在打印纸上,这里就不再重复了。
在PDA和电子书中采用本发明所述的中文字母组字系统的方方基本上与手机中相同。这样做一方面可以提供更多的字体和更丰富的屏幕显示,另一方面也可以节省昂贵的存储空间,从而降低成本。
在数码相机中,目前通常只能在照片上加上拍摄的日期和时间,要制作特效或添加文字必须将照片传送到计算机中。采用了本发明所述的中文字母组字系统,一方面可以在照片上加上一些如拍摄的地点、有纪念意义的话语等信息,让照片更有意义。另一方面,还可以在数码相机中附加贺卡制作的功能,直接将刚刚拍摄完成的照片制成贺卡,再通过互联网传送给亲朋好友。
在数字电视机和机顶盒中,目前由于存储空间的限制,也只能采用点阵汉字。采用了本发明所述的中文字母组字系统,数字节目表的显示效果会更好,各种节目介绍、演员介绍、商品介绍等文字信息的显示也会更清晰,同时还可以直接连接打印机进行打印,对于数字电视的各种应用将会产生一个极大的推动作用。
以上所述仅为本发明的部分应用实例,而不应该被视为对本发明的局限。根据本发明所公开的概念,本领域的技术人员可以很容易地设计出其他类似的实施方案。本发明的权利要求书应被视为包含那些不背离本发明宗旨的类似设计。
权利要求
1.一种中文字母组字系统,其特征在于所述中文字母组字系统包括一个信息处理设备(3),一个位于所述信息处理设备(3)内部、用于存储汉字的中文字母汉字库(1)和一个与所述中文字母汉字库(1)相连接、根据中文字母汉字库(1)中存储的信息进行汉字组字的中文字母组字模块(2)。
2.根据权利要求1所述的中文字母组字系统,其特征在于所述中文字母汉字库(1)将所存储的每个汉字分为独体字和合体字,对于独体字,在中文字母汉字库(1)中存储该字的详细笔画信息;对于合体字,在中文字母汉字库(1)中存储组成该字的部件及位置信息;所述中文字母汉字库(1)中还存储不能单独构成汉字的末级部件的详细笔画信息。
3.根据权利要求1、2所述的中文字母组字系统,其特征在于所述中文字母汉字库(1)中所存储的合体字组成部件既可以是末级部件,也可以是复合部件,即在中文字母汉字库(1)中已经存在的合体字。
4.根据权利要求1、2所述的中文字母组字系统,其特征在于所述中文字母汉字库(1)中存储的笔画信息既可以是矢量信息,也可以是曲线信息。
5.根据权利要求1、2所述的建立中文字母组字系统,其特征在于所述中文字母汉字库(1)中存储的部件位置信息可以用部件的绝对位置来表示,也可以用部件在整个汉字中的相对位置来表示。
6.根据权利要求1所述的中文字母组字系统,其特征在于所述信息处理设备(3)既可以是计算机,也可以是手机、PDA、电子书、数码相机和数字电视机或机顶盒等能够处理信息的设备。
7.根据权利要求1所述的中文字母组字系统,其特征在于所述中文字母组字模块(2)根据从中文字母汉字库(1)中读出的组成汉字的部件及位置信息将汉字的笔画复原出来传送给信息处理设备(3)进行汉字的显示或打印。
8.根据权利要求1、2所述的中文字母组字系统,其特征在于所述的中文字母汉字库(1)和中文字母组字模块(2)即可以作为所述信息处理系统(3)中的一组软件,也可以固化在芯片中作为所述信息处理系统(3)的硬件组成部分。
9.一种中文字母组字的方法,其特征在于该方法包括如下步骤1)、信息处理设备(3)要显示或打印中文信息时,首先将中文信息中包含的每一个汉字的编码传送给中文字母组字模块(2)要求组字;2)、中文字母组字模块(2)根据汉字的编码从中文字母汉字库(1)中读出该汉字的信息;3)、中文字母组字模块(2)判断该汉字为独体字还是合体字;4)、如果汉字是独体字,则直接将所读出的笔画信息传送给信息处理设备(3)进行显示或打印;5)、如果汉字是合体字,则按照组成该汉字的每个部件的位置信息进行部件组合。
10.根据权利要求9所述的中文字母组字的方法,其特征在于所述合体字部件组合的方法包括如下步骤计算部件的位置和长宽比例;判断该部件为末级部件还是复合部件;如果该部件是末级部件,根据中文字母汉字库(1)中存储的笔画信息按照计算所得的位置和比例进行缩放后传送给信息处理设备(3)进行显示或打印;如果该部件是复合部件,按照计算所得的位置和比例队组成该部件的所有部件进行部件组合。
11.根据权利要求9、10所述的中文字母组字的方法,其特征在于中文字母汉字库(1)中没有的字可以通过存储部件和位置信息的方法正确显示和输出。
全文摘要
本发明介绍了一种中文字母组字系统及其实现方法,该系统包括一个信息处理设备,一个用于存储汉字的中文字母汉字库和一个进行汉字组字的中文字母组字模块。该方法是一种将汉字透过字形的递归拆解,将每一个字形回归到各种基本的、可以共享的末级部件或中文字母。使每一个字都可以从如零件般的字母或末级部件中,拼装成字架,让空间的储存更加精简的组字方法。这种系统和方法可以应用在计算机、手机、PDA等各种信息处理系统中,在保证空间占用很少的前提下提高汉字显示和打印的效果。
文档编号G06F17/30GK1534516SQ0312158
公开日2004年10月6日 申请日期2003年4月2日 优先权日2003年4月2日
发明者陈昌江, 陈阿民, 叶健欣, 刘锐, 孙勇 申请人:孙勇, 孙 勇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1