汉字造字方法和设备、构造字体库的方法

文档序号:6444824阅读:509来源:国知局
专利名称:汉字造字方法和设备、构造字体库的方法
技术领域
本发明属于字体库技术领域,具体涉及一种汉字造字方法和设备、构造字体库的方法。
背景技术
在电子设备中,汉字是以字符编码(如Unicode、GB2312等)形式表示的;但字符编码仅仅是电子设备内部的代码,一个汉字要被以一定字体(如黑体、宋体等)显示或打印出来必须要用到字形数据,字形数据可为轮廓图、点阵图、矢量图等形式,用于规定该汉字是什么“样子”的;而构造一个汉字的字形数据并将其与字符编码对应起来的过程就称为“造字”。显然,不同字体库中同一汉字的字形数据不同,因此当要构造一个新字体库时要进行大量的造字工作。现有的汉字造字方法通常是字体设计师先用一种字体设计出常用的几百个汉字,之后工作人员再以这些常用汉字为基础,根据感觉一笔一画的造出其它汉字的字形数据并进行调整。发明人发现,现有技术中至少存在如下问题:现有汉字造字方法是人工逐字进行的,效率低下、花费时间长(构造常规的万字左右的字体库通常需要数月),成本高,尤其当要为含几十万汉字的超大字体库(例如用于汉字研究领域的字体库)造字时,工作量就更加庞大;同时,字体库不论多大都不可能包括人们可能用到的全部汉字,故当用户用到一些字体库中没有的字(如生僻字或自造字),这些字就不能显示或不能按所需的字体显示。

发明内容
本发明所要解决的技术问题包括,针对现有技术中的汉字造字方法效率低、成本高、无法实时造字的问题,提供一种效率高、成本低、可实时造字的汉字造字方法。解决本发明技术问题所采用的技术方案是一种汉字造字方法,包括:获取所要构造的汉字的字符编码、部件编码、结构编码,并根据所述部件编码从汉字部件库中提取相应的汉字部件,其中所述结构编码规定所述汉字的结构及所述汉字部件在所述汉字中的位置;用所述汉字部件根据所述结构编码生成所述汉字的字形数据,并将所述汉字的字形数据与字符编码相对应。其中,“汉字部件”是指汉字中相对独立的结构单元,其可按不同的方法划分。例如,汉字部件可以是“笔画”,如横、点等,也可以是“偏旁部首”,如单人旁、利刀旁、宝盖头等,还可以是汉字的组成部分,如“发”字下边的“又”以及去掉“又”后剩余的“夕”可分别作为一个汉字部件。值得注意的是,汉字部件还与其大小、形状有关,故笔画和结构相同的单元可能是不同的汉字部件,例如,“可”字和“于”字最上边一笔都是“横”,但这两横的宽度、形状不同,故可被认定为两个汉字部件;再如,“国”字和“喝”字中均有“ 口 ”,但二者的尺寸、形状不同,故可被认定为两个汉字部件。当然,由于汉字数量极多,因此不可能将每个汉字的每个结构单元都认定为单独的汉字部件,对多个相似度较高的结构单元,可只选取其中的一个作为汉字部件;比如,若认为“晶”字中的三个“日”部件形态虽有差别但差别不大,可只选取其中的一个作为汉字部件。总之,汉字部件的划分没有绝对的标准,但从方便的角度说,通常可将汉字中较常见的、相对独立的、形态较相似的结构单元作为一个汉字部件。优选的是,在所述获取所要构造的汉字的字符编码、部件编码、结构编码之前,还包括:从汉字部件获取单元获取汉字部件,为所述汉字部件赋予部件编码以构造汉字部件库。进一步优选的是,所述汉字部件获取单元包括笔迹记录单元、图像获取单元、图像处理单元、数据存储单元中的至少一种。进一步优选的是,所述构造汉字部件库还包括:获取所述汉字部件库中的汉字部件的部件参数,所述部件参数包括部件高度、部件宽度、部件高宽比、部件面积、部件黑白t匕、部件重心、部件来源字符、部件原位置、部件推荐位置中的至少一种。优选的是,所述结构编码为ISO 10646标准中的IDS属性的结构编码。优选的是,所述获取所要构造的汉字的字符编码、部件编码、结构编码包括:通过输入设备获取所要构造的汉字的字符编码、部件编码、结构编码;或通过预存的编码对应表获取所要构造的汉字的字符编码、部件编码、结构编码,所述编码对应表中存储有所要构造的汉字的字符编码、部件编码、结构编码的对应关系。优选的是,所述用所述汉字部件根据所述结构编码生成所述汉字的字形数据包括:步骤1、根据所述结构编码将所述汉字部件置于指定位置,得到中间字形;步骤2、判断所述中间字形的字形参数是否符合预订值,是则进行步骤5,否则进行步骤3 ;步骤3、根据所述字形参数与预订值的差别调整所述中间字形;步骤4、判断调整后的所述中间字形的字形参数是否符合预订值,以及调整次数是否超出限制,有至少一项是则进行步骤5,均否则进行步骤3 ;步骤5、根据当前的所述中间字形生成所述汉字的字形数据。进一步优选的是,所述字形参数包括:汉字高度、汉字宽度、汉字高宽比、汉字面积、汉字黑白比、汉字重心、部件高度、部件宽度、部件高宽比、部件面积、部件黑白比、部件重心、部件距离、部件尺寸比中的至少一种。进一步优选的是,所述调整所述中间字形包括下列调整操作中的至少一种:调整汉字高度、调整汉字宽度、调整汉字面积、调整汉字黑白比、调整部件高度、调整部件宽度、调整部件面积、调整部件黑白比、调整部件位置。在本发明的汉字造字方法中,可利用汉字部件库自动完成造字过程,从而大大提高了造字效率,减少了造字时间,降低了造字成本;同时,当用户要用到字体库中没有的生僻字和自造字等时,可自行造字,将所需的汉字加入字体库中,使用方便。本发明所要解决的技术问题还包括,针对现有技术中的构造字体库的方法效率低、成本闻、无法实时造字的问题,提供一种效率闻、成本低、可实时造字的构造字体库的方法。
解决本发明技术问题所采用的技术方案是构造字体库的方法,包括:用上述汉字造字方法生成对应的汉字的字形数据与字符编码;用所得的汉字的字形数据构造字体库。在本发明的构造字体库的方法中,可利用汉字部件库自动完成造字过程并据此构造字体库,从而大大提高了构造字体库的效率,减少了构造字体库的时间,降低了构造字体库的成本,尤其对于超大字体库更是如此;同时,当用户要用到字体库中没有的生僻字和自造字等时,可自行造字,将所需的汉字加入字体库中,使用方便。本发明所要解决的技术问题还包括,针对现有技术中的汉字造字技术效率低、成本闻、无法实时造字的问题,提供一种效率闻、成本低、可实时造字的构造字体库的设备。解决本发明技术问题所采用的技术方案是一种汉字造字设备,包括:汉字部件库存储单元,用于存储汉字部件库,所述汉字部件库中存储有对应的汉字部件和部件编号;编码获取单元,用于获取所要构造的汉字的字符编码、部件编码、结构编码,其中所述结构编码规定所述汉字的结构及所述汉字部件在所述汉字中的位置;字形数据生成单元,用于根据所述汉字的部件编码和结构编码生成所述汉字的字形数据,并将所述字形数据与所述汉字的字符编码相对应。优选的是,还包括:汉字部件获取单元,用于获取所述汉字部件并将其提供给所述汉字部件库存储单
J Li ο使用本发明的汉字造字设备可自动完成造字过程,从而大大提高造字效率,减少造字时间,降低造字成本;同时,当用户要用到字体库中没有的生僻字和自造字等时,可自行造字,将所需的汉字加入字体库中,使用方便。本发明特别适用于构造超大字体库。


图1为本发明的实施例的汉字造字方法的一个造字过程的示意图;图2为本发明的实施例的汉字造字方法的一个造字过程的示意图;图3为本发明的实施例2的汉字造字方法的流程图;图4为本发明的实施例2的汉字造字方法的中生成字形数据的具体过程的流程图。
具体实施例方式为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式
对本发明作进一步详细描述。实施例1:本实施例提供一种汉字造字方法,包括:获取所要构造的汉字的字符编码、部件编码、结构编码,并根据部件编码从汉字部件库中提取相应的汉字部件,其中结构编码规定汉字的结构及汉字部件在汉字中的位置;用汉字部件根据结构编码生成汉字的字形数据,并将汉字的字形数据与字符编码相对应。在本实施例的汉字造字方法中,可利用汉字部件库自动完成造字过程,从而大大提高了造字效率,减少了造字时间,降低了造字成本;同时,当用户要用到字体库中没有的生僻字和自造字等时,可自行造字,将所需的汉字加入字体库中,使用方便。实施例2:本实施例提供一种汉字造字方法,包括以下步骤:S01、从汉字部件获取单元获取汉字部件;也就是说,获取各种汉字部件的字形数据,从而为用汉字部件造字提供基础。优选的,汉字部件获取单元为笔迹记录单元、图像获取单元、图像处理单元、数据存储单元中至少一种。显然,获取汉字部件的具体方法可根据汉字部件获取单元的不同而不同;比如,当使用笔迹记录单元时,可由字形设计师直接手写特定的汉字部件(或汉字),而笔迹记录单元获取所写的汉字部件的数据;使用图像获取单元时,可由字形设计师在纸上写下汉字部件(或汉字),再通过扫描、照相等方式获得汉字部件的数据;使用图像处理单元时,可将字体设计师设计的汉字或者现有字体库中的汉字的图像“拆分”为不同的汉字部件;使用数据存储单元时,则可将之前存储的汉字部件数据直接导入。S02、为获取的汉字部件赋予部件编码以构造汉字部件库;也就是说,将汉字部件与部件编码对应起来,并构成特定格式的数据库。在赋予部件编码的过程中,通常可为多个类似的汉字部件(例如多种同形状的“ + ”部件)赋予一个部件编码,这样的方法比较适于与现有技术相结合,且编码量少,易于掌握,但其需要在后续的步骤中从多个汉字部件中进行进一步的选择;当然,为每个汉字部件赋予一个独立的部件编码也是可行的。显然,由于字部件的数量比汉字的数量少得多,因此,获取某种字体的汉字部件(或者构造汉字部件库)的操作显然比构造该种字体的全部汉字要简单得多;同时,由于汉字是由各种汉字部件构成的,故在构造汉字部件库后,即可利用其中的汉字部件自动组合出大量的该字体的汉字,从而大大提高汉字造字工作的效率,降低成本。S03、优选的,获取汉字部件的部件参数;获取部件参数可为后续步骤提供便利,例如要从一个部件编码下的多个汉字部件中选择一个进行造字时,就可以根据它们的部件参数进行选择。其中,部件参数可通过对汉字部件库中的汉字部件的数据进行计算得到,由于该计算过程可为常规的对图像进行分析处理的方法,故在此不再详细描述;当然,部件参数也可在获取汉字部件的同时计算或获取(如输入)。优选的,部件参数包括部件高度、部件宽度、部件高宽比、部件面积、部件黑白比、部件重心、部件来源字符、部件原位置、部件推荐位置中的至少一种。其中,部件高度、部件宽度、部件高宽比、部件面积等很好理解,不再具体解释;部件黑白比是指在汉字部件的图形中,黑色部分(或者说被笔画占据的部分)与剩余空白部分的面积比,其体现了汉字部件是不是被笔画占的很“满”;部件重心则表示若以汉字部件的笔画为重量均匀的实体,汉字部件整体重心所处的位置;部件来源字符和部件原位置表示该汉字部件是从哪个汉字的哪个部分提取的,部件推荐位置则表示该汉字部件优选用于什么结构的汉字(如左右结构、半包围结构等)的什么位处置(如上方、左方等),这三个参数均可帮助选择最合适的汉字部件进行造字(例如来自上下结构汉字上方的汉字部件显然最可能适用于其它上下结构汉字的上方)。S04、获取所要构造的汉字的字符编码、部件编码、结构编码,并根据部件编码从汉字部件库中提取相应的汉字部件;也就是说,通过获取字符编码、部件编码、结构编码确定目前要构造什么汉字,以及这个汉字由什么汉字部件组成、各部件位于什么位置。例如在图1中,选择位于上边的“a”部件和位于下边的“子”部件以构造“字”字;而在图2中,选择位于左边的“日”部件和位于右边的“月”部件以构造“明”字。其中,字符编码可为Unicode、GB2312、GB18030、GB13000(即 GBK)、Big5 等常规的汉字编码,其用来表示所要构造的是哪个汉字。而结构编码规定汉字的结构及汉各字部件在汉字中的位置。优选的,结构编码可为ISO 10646标准中的IDS属性的结构编码,该IDS属性是对汉字结构属性的一种编码,不同的编码代表汉字为不同结构(如左右结构、上下结构、左中右结构、半包围结构等)。显然,由于一个汉字可能由多个汉字部件构成(即具有多个部件编码),故可通过一定的规则确定汉字部件的位置,例如结构编码表示汉字为左右结构时,可规定先输入的部件编码代表左边的汉字部件,而后输入的部件编码代表右边的汉字部件等。显然,当一个部件编码代表了多个汉字部件时,若要从汉字部件库中提取相应的汉字部件,还可让用户进一步选择具体使用哪个汉字部件;比如客户输入了 “ + ”部件的部件编码后,系统可给出多个不同形式的“ + ”部件的图像以及相应的部件参数信息供用户选择,用户选定某个“ + ”部件后系统再从汉字部件库中提取相应的汉字部件。优选的,字符编码、部件编码、结构编码是通过输入设备获取的。显然,字符编码、部件编码、结构编码等具体的输入方法是多样的;例如,可通过键盘输入,也可通过语音识别设备、笔记识别设备等输入;可先输入字符编码后再输入对应的部件编码和结构编码,也可先输入部件编码和结构编码后再输入字符编码;输入的内容可以是直接的编码,也可输入语言或符号后系统自动将其转换为编码,如要输入“啊”字时,可直接输入其Unicode字符编码“21834”,也可通过拼音输入法等输入“啊”字;再如,要输入“a”部件的部件编码时,可直接输入其编码,也可输入“宝盖头”字样而系统自动将其转换为部件编码。本实施例的方法在用户自造字时特别适用,当用户要用到某个字体库中没有的字时,即可用本实施例的方法进行造字并将其添加入字体库中。当然,在构造完整的字体库时,也可使用本实施例的造字方法,或者也可由系统逐一给出不同汉字(或字符编码),再人工选择相应的部件编码、结构编码。S05、用汉字部件根据结构编码生成汉字的字形数据;也就是说,根据结构编码将所选的汉字部件放在特定位置处,以形成所需汉字的字形数据。优选的,本步骤还包括用循环运算对字形数据进行优化的过程,其具体方法可包括:S051、根据结构编码将汉字部件置于指定位置处,得到中间字形;例如,将“ ”部件置于上方,将“子”部件置于下方,组合得到图1中右起第3个“字”字;或者,将“日”部件置于左方,将“月”部件置于右方,组合得到图2中右起第4个“明”字。S052、判断中间字形的字形参数是否符合预订值,是则进行步骤S055,否则进行步骤S053;其中,字形参数可通过对中间字形进行分析计算得到,也可通过对部件参数进行计算得到。本步骤的目的在于判断当前中间字形的优劣(如是否美观、是否符合人们的阅读习惯等),以确定是否要对其进行调整。显然,人们认为“美观”的汉字的结构通常具有一定的共性,比如整个字的高度、宽度、面积在一定范围内,高宽比接近于1,整个字的重心接近于汉字的几何中心,各汉字部件间的距离较小、尺寸比例适当、分布均匀等;而且,这些共性经常可通过一定的参数体现出来。因此,可以设定一些字形参数的预定值,并用中间字形的字形参数是否符合这些预定值来判断该字形的优劣。当然,预定值的选择和具体数值会根据汉字结构等的不同有所不同(比如独立结构的字就无需使用部件距离参数,再如上下结构的字和上中下结构的字的部件距离参数的预订值肯定不同)。同时,判断字形参数是否符合预定值的方法也是多样的,比如可以判断多个字形参数是否均分别符合相应预定值,也可判断由多个字形参数计算得到的综合值是否符合一个预定值,也可先对某个(或某些)字形参数进行优先判断,在其合格(或不合格)时才对其它的字形参数进行判断。优选的,字形参数包括汉字高度、汉字宽度、汉字高宽比、汉字面积、汉字黑白比、汉字重心、部件高度、部件宽度、部件高宽比、部件面积、部件黑白比、部件重心、部件距离、部件尺寸比中的至少一种。其中,汉字宽度、汉字高度等参数指中间字形整体的相应参数,而部件面积、部件黑白比等指中间字形中各汉字部件的相应参数;部件距离指中间字形中各汉字部件间的距离(可为汉字部件边框间的距离,也可为汉字部件中心间的距离),其能体现各汉字部件的位置是否合理;部件尺寸比则指各汉字部件的尺寸的比例(可为面积t匕、高度比等),可体现汉字中各汉字部件的大小是否合适。例如,S051步骤得到的图1中右起第3个“字”字,看起来感觉其上下分离,从而计算时可发现其部件距离(上下距离)偏大,不符合预定值;同样,S051步骤得到的图2中右起第4个“明”字也是部件距离(左右距离)偏大,不符合预定值。S053、根据字形参数与预订值的差别调整中间字形;即根据S052步骤的判断结果,确定中间字形具体哪里不合适,并进行相应的调整,从而得到新的中间字形。显然,本步骤中进行的调整应当是根据字形参数与预订值的差别进行的;比如,如果发现汉字高度偏大,就应进行能够降低汉字高度的调整操作。优选的,调整中间字形的操作包括调整汉字高度、调整汉字宽度、调整汉字面积、调整汉字黑白比、调整部件高度、调整部件宽度、调整部件面积、调整部件黑白比、调整部件位置中的至少一种。其中,调整汉字高度、调整汉字宽度等是指对汉字整体进行调整,调整部件高度、调整部件位置等是指对汉字中的各汉字部件单独进行调整;调整汉字黑白比和调整部件黑白比是指改变字形中笔画的“粗细”,从而改变笔画所占的比例;调整汉字面积和调整部件面积是指在不改变高宽比的情况下放大、缩小汉字部件或汉字;调整部件位置是指移动汉字部件在中间字形中的位置。当然,调整中间字形的操作还有很多其它类型(例如使汉字或汉字部件倾斜或扭曲);在此就不再逐一说明。显然,调整操作与字形参数并不一一对应,一个字形参数可通过多种不同的操作调整,一个调整操作也可用于改变多种字形参数。例如,中间字形的汉字重心参数不合格时,可用调整部件位置的操作解决,也可用调整部件面积的操作解决,还可用调整部件高度、调整部件宽度、调整汉字高度、调整汉字宽度等操作解决;同样,调整部件位置的操作即可用于调整汉字重心,也可用于调整部件距离,还可用于调整汉字高度、汉字宽度等。例如,S052步骤判断出图1中右起第3个“字”字的部件距离(上下距离)偏大,故进行调整部件位置的操作,将上下两个汉字部件“拉近”,得到右起第2个“字”字;而5052步骤判断出图2中“明”字部件距离(左右距离)偏大,故进行调整部件位置的操作,将其左右两个汉字部件“拉近”,得到右起第3个“明”字。显然,虽然在图1、图2的例子中,本步骤中均只进行了一个调整操作,但在本步骤中进行多项调整操作也是可行的。S054、判断调整后的中间字形的字形参数是否符合预订值,以及调整次数是否超出限制,有至少一项为是则进行步骤S055,均为否则进行步骤S053 ;也就是说,对调整后的中间字形的字形参数进行再次判断,如果仍不合格则继续进行循环调整,直到字形参数合格或调整次数超出限制为止。例如,图1中右起第2个“字”字经一次调整后字形参数全部合格,故直接进入S055步骤;而图2中右起第3个“明”经一次调整后,虽然部件距离合格,但其左侧的“日”部件明显偏宽、偏矮,即其部件高宽比仍不合格,故要返回步骤S053中,对“日”部件进行调整部件高度和调整部件宽度的操作,得到右起第2个“明”字,而这个“明”字的字形参数均合格,可进入S055步骤。当然,如前所述,如果在S052步骤中直接判断出图2中右起第4个“明”字的部件距离和部件高宽比均不合格,并在步骤S053中同时进行了调整部件距离、调整部件高度、调整部件宽度的操作,一次就得到图2中右起第2个“明”字,则就不必进行循环调整了 ;由此可见,具体的字形参数判断、中间字形调整过程可以是多样的。显然,上述调整毕竟不同于人工操作,对有些字形参数可能难以进行合理的调整,或者将一个自行参数调整合格的同时可能导致其它字形参数变成不合格的,因此这种调整有可能耗费很长时间(即进行很多次循环),甚至可能陷入死循环而一直进行下去;为避免这种现象,可记录调整的次数(如每进行一次调整则将调整次数加1,或每进行一次调整将剩余调整次数减I),并判断调整次数是否超出限制(如调整次数过多),如果是则不论自行参数是否合格,强行进入S055步骤而终止调整。S055、以当前的中间字生成该汉字的字形数据;也就是生成字体库中所用的点阵图、矢量图、轮廓图等形式的字形数据。例如,以图1中最右边的“字”字、图2中最右边的“明”字作为最终的字形数据。S06、将所得的字形数据与该汉字的字符编码对应起来;即明确该字形数据代表的是哪个汉字,完成造字。实施例3:本实施例提供一种汉字造字方法,其与实施例2的汉字造字方法类似,区别在于:其步骤S04中,不是由用户输入字符编码、部件编码、结构编码,而是通过预存的编码对应表获取所要构造的汉字的字符编码、部件编码、结构编码;该编码对应表中存储有所要构造的汉字的字符编码、部件编码、结构编码的对应关系。也就是说,可预先构造一个编码对应表(可专门构造,也可在之前的造字过程中同时生成),之后再进行造字时,系统即可从该编码对应表逐一读取字符编码以及相应的部件编码、结构编码,并自动完成造字过程。这样,在完成了 一个字体库(尤其是超大字体库)的构造后,即可同时获取该字体库的编码对应表,从而可用该编码对应表全自动的完成其它许多字库的造字工作(当然,这要求各造字过程中所用的汉字部件库的编码规则一致),进一步大幅提闻造字效率。实施例4:本实施例提供一种构造字体库的方法,包括以下步骤:用上述各实施例的汉字造字方法生成对应的汉字的字形数据与字符编码;即用上述的汉字造字方法造出字体库中所需的汉字。其中,如果使用上述实施例3的方法,则本步骤可全自动进行,如果使用上述实施例2的方法,则可由系统逐一给出(当然也可由用户输入)不同的汉字或汉字编码,再让用户选择相应的部件编码和结构编码。用所得的字形数据构造字体库;即按照字体库所需的格式将字形数据“装库”,得到可用的字体库文件。在本实施例的构造字体库的方法中,可利用汉字部件库自动完成造字过程并据此构造字体库,从而大大提高了构造字体库的效率,减少了构造字体库的时间,降低了构造字体库的成本,尤其对于超大字体库更是如此;同时,当用户要用到字体库中没有的生僻字和自造字等时,可自行造字,将所需的汉字加入字体库中,使用方便。实施例5:本实施例提供一种汉字造字设备,包括:汉字部件库存储单元,用于存储汉字部件库,汉字部件库中存储有对应的汉字部件和部件编号。编码获取单元,用于获取所要构造的汉字的字符编码、部件编码、结构编码,其中结构编码规定汉字的结构及汉字部件在汉字中的位置。字形数据生成单元,用于根据汉字的部件编码和结构编码生成汉字的字形数据,并将该字形数据与汉字的字符编码相对应。优选的,汉字造字设备还包括汉字部件获取单元,用于获取汉字部件并将其提供给汉字部件库存储单元;该汉字部件获取单元可为笔迹记录单元、图像获取单元、图像处理单元、数据存储单元等。当然,汉字造字设备中还可包括与上述各实施例的汉字造字方法相对应的功能单元,如计算部件参数的单元,计算字形参数的单元、调整中间字形的单元等;汉字造字设备的各单元可以是独立的,也可集成为一体,例如集成为一个处理器和一个存储器等。使用本实施例的汉字造字设备可自动完成造字过程,从而大大提高造字效率,减少造字时间,降低造字成本;同时,当用户要用到字体库中没有的生僻字和自造字等时,可自行造字,将所需的汉字加入字体库中,使用方便。可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
权利要求
1.一种汉字造字方法,其特征在于,包括: 获取所要构造的汉字的字符编码、部件编码、结构编码,并根据所述部件编码从汉字部件库中提取相应的汉字部件,其中所述结构编码规定所述汉字的结构及所述汉字部件在所述汉字中的位置; 用所述汉字部件根据所述结构编码生成所述汉字的字形数据,并将所述汉字的字形数据与字符编码相对应。
2.根据权利要求1所述的汉字造字方法,其特征在于,在所述获取所要构造的汉字的字符编码、部件编码、结构编码之前,还包括: 从汉字部件获取单元获取汉字部件,为所述汉字部件赋予部件编码以构造汉字部件库。
3.根据权利要求2所述的汉字造字方法,其特征在于,所述汉字部件获取单元包括笔迹记录单元、图像获取单元、图像处理单元、数据存储单元中的至少一种。
4.根据权利要求2所述的汉字造字方法,其特征在于,所述构造汉字部件库还包括: 获取所述汉字部件库中的汉字部件的部件参数,所述部件参数包括部件高度、部件宽度、部件高宽比、部件面积、部件黑白比、部件重心、部件来源字符、部件原位置、部件推荐位置中的至少一种。
5.根据权利要求1所述的汉字造字方法,其特征在于,所述结构编码为ISO10646标准中的IDS属性的结构编码。
6.根据权利要求1所述的 汉字造字方法,其特征在于,所述获取所要构造的汉字的字符编码、部件编码、结构编码包括: 通过输入设备获取所要构造的汉字的字符编码、部件编码、结构编码; 或 通过预存的编码对应表获取所要构造的汉字的字符编码、部件编码、结构编码,所述编码对应表中存储有所要构造的汉字的字符编码、部件编码、结构编码的对应关系。
7.根据权利要求1至6中任意一项所述的汉字造字方法,其特征在于,所述用所述汉字部件根据所述结构编码生成所述汉字的字形数据包括: 步骤1、根据所述结构编码将所述汉字部件置于指定位置,得到中间字形; 步骤2、判断所述中间字形的字形参数是否符合预订值,是则进行步骤5,否则进行步骤3 ; 步骤3、根据所述字形参数与预订值的差别调整所述中间字形; 步骤4、判断调整后的所述中间字形的字形参数是否符合预订值,以及调整次数是否超出限制,有至少一项是则进行步骤5,均否则进行步骤3 ; 步骤5、根据当前的所述中间字形生成所述汉字的字形数据。
8.根据权利要求7所述的汉字造字方法,其特征在于,所述字形参数包括:汉字高度、汉字宽度、汉字高宽比、汉字面积、汉字黑白比、汉字重心、部件高度、部件宽度、部件高宽t匕、部件面积、部件黑白比、部件重心、部件距离、部件尺寸比中的至少一种。
9.根据权利要求7所述的汉字造字方法,其特征在于,所述调整所述中间字形包括下列调整操作中的至少一种: 调整汉字高度、调整汉字宽度、调整汉字面积、调整汉字黑白比、调整部件高度、调整部件宽度、调整部件面积、调整部件黑白比、调整部件位置。
10.一种构造字体库的方法,其特征在于,包括: 用权利要求1至9中任意一项所述的汉字造字方法生成对应的汉字的字形数据与字符编码; 用所得的汉字的字形数据构造字体库。
11.一种汉字造字设备,其特征在于,包括: 汉字部件库存储单元,用于存储汉字部件库,所述汉字部件库中存储有对应的汉字部件和部件编号; 编码获取单元,用于获取所要构造的汉字的字符编码、部件编码、结构编码,其中所述结构编码规定所述汉字的结构及所述汉字部件在所述汉字中的位置; 字形数据生成单元,用于根据所述汉字的部件编码和结构编码生成所述汉字的字形数据,并将所述字形数据与所述汉字的字符编码相对应。
12.根据权利要求11所述的汉字造字设备,其特征在于,还包括: 汉字部件获取单元,用于获取所述汉字部件并将其提供给所述汉字部件库存储单元。
全文摘要
本发明提供一种汉字造字方法和设备、构造字体库的方法,属于字体库技术领域,其可解决现有的汉字造字技术效率低、成本高、不能实时造字的问题。本发明的汉字造字方法包括获取所要构造的汉字的字符编码、部件编码、结构编码,根据部件编码从汉字部件库中提取汉字部件,其中结构编码规定了汉字的结构及汉字部件在汉字中的位置;用汉字部件根据结构编码生成汉字的字形数据,并将字形数据与字符编码对应。本发明的构造字体库的方法包括用上述汉字造字方法生成对应的汉字的字形数据与字符编码,并用所得的字形数据构造字体库。本发明的汉字造字设备包括与上述方法相应的单元。本发明可用于构造超大字体库。
文档编号G06F17/22GK103186511SQ201110459270
公开日2013年7月3日 申请日期2011年12月31日 优先权日2011年12月31日
发明者唐英敏, 马蕾, 刘洋, 王晨曦, 刘金妮, 栾瑛, 于萍萍 申请人:北京大学, 北大方正集团有限公司, 北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1