专利名称:编码转换方法
技术领域:
本发明涉及一种编码转换方法,尤其是应用于不同编码方式的点阵字集间的转 换。
背景技术:
在世界上不同的区域皆有当地通用的文字编码方式,但这些不同的编码方式 间,即使是相同的字符,却常常无法正确地转换为另一种编码方式(例如日本的JIS, Shift-JIS,大陆的GB2312,台湾地区的Big5等),尤其是一些衍生出来的编码,可能不同的 出版社或者一些公司会常年按照自己的使用需求增补一些编码。自从Unicode的出现解决了不同区域的统一编码问题,使用Unicode作为数据编 码已经是一种趋势。然而目前有不少公司仍拥有一部分早期的产品或数据采用非Unicode 编码,这些产品及数据有很高的机率无法对应Unicode完成转换。针对这些无法转换为Unicode的编码方式,目前常见的作法是以整个字符进行全 图比对。然而,不同的编码之间,其所采用的字型差异可能相当大,虽然采用字型相近的字 集进行比对,其比对相当不易,再者,图形符号字符的转换相较于文字字符更是不易。
发明内容
本发明为解决背景技术中存在的上述技术问题,而提出编码转换方法。本发明的技术解决方案是本发明为一种编码转换方法,用于不同编码点阵字集的 辨识及转换,其特殊之处在于该方法包含以下步骤1)读入第一字集,并选取第一字符;2)读入第二字集,并选取第二字符;3)获取属于第一字符的第一笔划;4)获取属于第二字符的第二笔划;5)比对第一字符的第一笔划及第二字符的第二笔划;6)输出比对结果。上述步骤3)和步骤4)中获取笔划的具体步骤如下a)在各字符的位图中,扫描包含各字符的有效点的矩形范围;b)在矩形范围中建立二维坐标;c)将矩形范围分四个象限;d)根据由上至下,由左至右的原则,分别获取各字符的笔划。上述步骤d)中,根据由上至下,由左至右的原则是在位图中,按照至上而下、由左 至右的规则,由最高及最左点开始作为起点。上述步骤d)中,获取各笔划的步骤包括dl)由起点将扫描方向区分成八个方向上,下,左,右,左上,左下,右上,右下;d2)以起点为中心,沿紧邻八个方向扫描是否有邻近点,由邻近点方向推进至无连接邻近点;d3)完成笔划的扫描,记录笔划的基本笔划分类及所在象限位置。上述步骤d2)中当扫描时发现多个邻近点,则朝向原前进方向扫描前进。上述步骤d)之后还包括步骤e)获得各笔划的基本笔划类型及所在的象限位置。上述步骤5)的具体步骤如下5. 1)建立容许值,界定获取第一笔划与第二笔划始末以及转弯处可容许的杂点数量;5. 2)忽略杂点而不进行比对。上述步骤幻中若第一字符与第二字符相符合,则在步骤6)输出第二字符作为比 对结果。上述步骤幻中若第一字符与第二字符不符合,则重新执行步骤4)及步骤幻,选取 下一个第二字符进行比对。上述第一字符与第二字集比对无相对应第二字符,则输出第一字符至转换错误 表。通过本发明提供的,仅有少数的第一字符会无法找到对应的第二字符,而被记录 于转换错误表。仅有记录在转换错误表的第一字符需要通过人工比对,不需以人工逐字比 对每个第一字符与每个第二字符。根据本方法产生的编码转换表,可快速地将以第一字集 记录的电子数据,转换为以第二字集记录的电子数据。
图1为本发明流程图2为本发明八方向笔划搜寻方法示意图3为本发明笔划获取方法示意图(一);
图4为本发明笔划获取方法示意图(二);
图5为本发明笔划获取方法示意图(三);
图6为本发明笔划获取方法示意图(四);
图7为本发明笔划获取方法示意图(五);
图8为本发明笔划获取方法示意图(六);
图91为本发明笔划比对方法示意图(一);
图92为本发明笔划比对方法示意图(二);
图93为本发明笔划比对方法示意图(三);
图94为本发明笔划比对方法示意图(四);
图95为本发明笔划比对方法示意图(五);
图96为本发明笔划比对方法示意图(六)。
其中,110/120/130/140/150/160-第一字符“机”的第一笔210/220/'230/240/250/260-第二字符“初”的第二笔划,310/320/330/340/350/360-第二字符“ 机”的第二笔划,122/122/132/142-笔划起点,122/122/132/142-笔划终点;
具体实施例方式
本发明应用于转换装置,以进行不同编码字集的辨识及转换。基于字符位图,该转换装置比对不同字集中的字符,以找出不同字集中互相对应的字符。参见图1,本发明利用转换装置读入第一字集,并选取第一字符( 印10),接着读 入第二字集,并选取第二字符(Step 20)。其中第一字集中包含多个第一字符,第二字集中 包含多个第二字符。接着转换装置从第一字符中获取属于第一字符的一个或多个第一笔划,并获取第 二字符的一或多个第二笔划,以根据第一笔划及第二笔划,比对第一字符的第一笔划及第 二字符的第二笔划(St印30)。基于方便人们用笔书写,文字型态都是基于方便书写的原则所创造,因此每一个 字符都有其书写顺序,即笔顺。汉字书写顺序通常如下先横后竖、先左后右、先上后下,先 外后里、先撇后捺等基本原则。而汉字的构成可以按照边旁部首拆解,而边旁部首还可以按 照笔划肢解。基于前述笔顺,转换装置在字符的位图中,扫描包含字符的有效点的矩形范围,从 而在该矩形范围中建立二维坐标;接着按照二维坐标将该矩形范围分四个象限。依照中文 书写习惯“由上至下,由左至右”的原则,依照笔顺分别获取该字符的笔划。获取笔划的原则在于,能一笔书写下去,不会使用二笔;所有的笔划构成中尽量先 直行后拐弯。所有笔划一定是按照一个方向或者笔顺由起点书写至终点,不会先两头后中 间,或由中间朝两头书写。笔划依据汉字笔划原则,可大致分类为下列可一笔连成的基本笔划
点、圆点,长点,顿点,甩点,上挑点,短横点,短竖点横上仰横,下斜横,长横,拱弧横,短横竖长竖,短竖,左倾竖,右倾竖,左弯竖,右弯竖撇短撇,长撇捺真捺,直捺,拖尾捺,带挑捺,回锋捺挑点挑、斜挑、竖挑、撇挑折圆角折,尖角折,直角折钩藏钩,长尾钩,平钩,圆钩依据上述笔划分类,转换装置先辨识各字符中,各笔划所属的基本笔划分类。在找寻第一个笔划时,在位图中,按照至上而下、由左至右的规则,由最高最左点 开始作为第一个起点111,由起点11连续扩展扫描笔划。笔划的扫描顺序为由上而下、由左 而右、先撇后捺进行扫描顺序。扫描的重点在于取得每一笔划所属的基本笔划分类及所在 的象限位置,扫描顺序依循如图2的米字型态。图2所示为简体中文“机”字符的局部示意图,转换装置由起点111开始,将扫描方向区分成8个方向上B,下F,左H,右D,左上A,左下G,右上C,右下E。若以起点111为 中心,8个方向与起点111恰可形成汉字的米字。转换装置找出起点111之后,以起点111为中心,沿紧邻八个米字方向扫描是否有 邻近点,如果有则朝向该邻近点扫描前进,推进至无连接邻近点,即完成该笔划的扫描,记 录该笔划的基本笔划分类及所在象限位置。若扫描时发现多个邻近点,朝向原前进方向扫 描前进。以下以简体中文“机”字符,说明每个字符的完整扫描过程。参见图3所示,转换装置先找到最左最上的起点111,并得知起点111位于二维坐 标中的第二象限。接着转换装置以起点111为中心,沿紧邻八个米字方向扫描是否有邻近 的点;如果发现邻近点,则朝该邻近点扫描前进,且在具有多个邻近点时,以原前进方向优 先扫描前进。因此,图3可持续向下沿I方向推进至无连接像素,此第一个笔划101的终点 112在二维坐标第三象限,为“丨”笔划,则完成第一个笔划101的记录,纪录第一个笔划101 的基本笔划分类为“丨”笔划,所属象限为第二象限至第三象限。参见图4所示,回溯到前一“丨”笔划的扫描历程中段,在“丨”笔划的中间位置,其 中一点具有多个邻近点,即对于该点而言,其米字范围内有非向下的扫描方向。按照笔划从 左到右的顺序,优先往左相邻点推进,找到第二个笔划102的起点121,其位于二维坐标第 二象限。按照笔划从左到右的顺序,往右沿J方向推进至终点122,得到第二个笔划102为 第二象限到第二象限的“一”,完成第二个笔划102的记录,纪录第二个笔划102的基本笔划 分类为“一”笔划,所属象限为第二象限至第二象限。参见图5所示,同样回溯到前一“丨”笔划的扫描历程,回溯到米字范围内下一个 有非向下的像素位置,同样依据前述扫描过程找出第三个笔划的基本笔划分类为“)”,其 所属象限位置为第二象限至第三象限。此时依据所扫描的点发现,因为起点131和终点132 距离笔划中心不大于2个像素点。此短笔划在不同的字集中,可能会有位于不同象限的情 况,若依照原字集所得的象限置在另一个字集中搜寻,可能会漏失存在的笔划,造成比对不 合。因此,对于短笔划所属的象限位置,需要抖动假设,加大比对象限位置,上下相邻的二象 限的组合,皆列为短笔划所属的象限位置,因此第三个笔划103应记录为下列三种可能第 二象限至第二象限的“ j,,;第二象限至第三象限的“ j,,;第三象限至第三象限的“ J ”。参见图6,同样回溯到前一“丨”笔划的扫描历程,回溯到米字范围内下一个有非向 下的像素位置,同样依据前述扫描过程找出第四个笔划104的基本笔划分类为“、”。同样 地,因为起点141和终点142距离笔划中心不大于2个像素点,所以需要抖动假设,将第四 个笔划记录为下列三种可能第二象限至第二象限的“、”;第二象限至第三象限的“、”;第 三象限至第三象限的“、”。参见图7,剩余部分继续寻找最左最上点,并依据相邻位置往下搜寻。找到第五个 笔划105 第一象限至第三象限的“ J ”。参见图8,回溯到米字范围内下一个有非向下的像素位置,往非下方的其它方向推 进,向右方依一笔可能最长连贯原则推进至最右,再扫描发现向下有可推进的像素点,再继 续推进,依此方法推进至无连续像素点为止,获取到第六笔第一笔划106 “乙”。前述笔划获取方法,分别对第一字符及第二字符执行,取得第一字符的第一笔划 及第二字符的第二笔划,之后再比对第一笔划及第二笔划(St印30)。
如前所述,不同字集之间采用的字符,会有微小差异,并不会完全相同。特别是在 笔划的起始点、终点及转弯处常会有装饰字型用的杂点,因此在比对第一字符及第二字符 时,需先建立容许值(St印31),限定笔划在起始点、终点及转弯处可容许忽略一个像素半 径内的修饰用杂点,例如图9. 1中的第二字符第二笔划起始点处较第一笔划多出一个像素 的修饰点,因为在容许值范围内,故可视两者为相同笔划“丨”;同样地,如图9. 6中的第一笔 划与第二笔划可视为相同笔划“乙”。接着将此第一字符的第一笔划与第二字符的第二笔划逐笔比对(St印30),比对方 法详述于后。例如第一字符“机”与第二字符“初”,依笔顺逐笔比对。先检查是否有对等的第二字符(St印40),若有对等的第二字符则输出第二字符 (Step 41),本实施例中第二字符带有装饰字型用的杂点,比对之后发现第二字符“初”并非 对等的第二字符,接着代入容许值限制再重新比对笔划(St印42),比对历程如下说明。参见图9.1所示,第一个第一笔划110 “ [ ”依容许值限制与第一个第二笔划 210 “ [ ”的基本笔划类型及所属象限位置相符。参见图9. 2所示,第二个第一笔划120 “一”依容许值限制与第二个第二笔划 220 “一”的基本笔划类型及所属象限位置相符。参见图9. 3所示,第三个第一笔划130 “ J ”依抖动假设,可以落在三种象限位置, 而其基本笔划类型为“)”;而第三笔第二笔划230的基本笔划类型为“ j ”,且其所属象限 位置符合前述第三笔第一笔划130的三种象限位置其中之一,因此第三个第一笔划110与 第三个第二笔划相符。参见图9.4所示,同样地,依据抖动假设,,第四个第一笔划140的基本笔划类型 “、”及所属象限位置其中之一与第四个第二笔划MO的基本笔划类型“、”及所属象限位 置相符。参见图9. 5所示,第五个第一笔划150与第五个第二笔划250不相符。由于比对之后发现第一字符与所指定的第二字符并不相符,因此再检查第二字集 中的所有第二字符是否已比对完毕(St印43),若已比对完毕此第一字符在第二字集中仍 无找寻到对等的第二字符,则将此第一字符输出至转换错误表(St印44),此转换错误表包 含所有无对等第二字符的第一字符,以利执行人工校正程序;若尚有未比对的第二字符则 回溯至乂印20读取下一第二字符并重复执行比对程序,如后段所述。第一字符“机”与下一个第二字符“机”,依笔顺逐笔比对。先检查是否有对等的第二字符(St印40),本实施例中第二字符带有装饰字型用 的杂点,比对之后发现第二字符“机”并非对等的第二字符,接着代入容许值限制再重新比 对笔划(Step 42)。参见图9.1所示,第一个第一笔划110 “ [ ”依容许值限制与第一个第二笔划 310 “ [ ”的基本笔划类型及所属象限位置相符。参见图9. 2所示,第二个第一笔划120 “一”依容许值限制与第二个第二笔划 320 “一”的基本笔划类型及所属象限位置相符。参见图9. 3所示,第三个第一笔划130 " J ”依容许值限制与第三个第二笔划 330 “ J ”的基本笔划类型及所属象限位置相符。
参见图9. 4所示,第四个第一笔划140 “、”依容许值限制与第四个第二笔划 340 “、,,的基本笔划类型及所属象限位置相符。参见图9. 5所示,第五个第一笔划150 " J ”依容许值限制与第五个第二笔划 350 “ J,,的基本笔划类型及所属象限位置相符。参见图9. 6所示,第六个第一笔划160 “乙”依容许值限制与第六个第二笔划 360 “乙”的基本笔划类型及所属象限位置相符。第一字符中每个第一笔划皆在第二字符中找到相符合的第二笔划之后,此第二字 符即为第二字集中与第一字符相应的第二字符,将此第二字符输出(St印41)。最后,检查第一字集中的所有第一字符是否已比对完毕(St印50),若尚有未比对 的第一字符则读取下个第一字符并重复执行前述Step 10至Step50笔划获取及比对程序。当所有第一字符已比对完毕后,即可得到第一字集的第一字符,与第二字集的第 二字符的对应关系,以制作成编码转换表。通过本发明步骤,仅有少数的第一字符会无法找 到对应的第二字符,而被记录于转换错误表。仅有记录在转换错误表的第一字符需要通过 人工比对,不需以人工逐字比对每个第一字符与每个第二字符。根据本方法产生的编码转 换表,可快速地将以第一字集记录的电子数据,转换为以第二字集记录的电子数据。
权利要求
1.一种编码转换方法,用于不同编码点阵字集的辨识及转换,其特征在于该方法包 含以下步骤1)读入第一字集,并选取第一字符;2)读入第二字集,并选取第二字符;3)获取属于第一字符的第一笔划;4)获取属于第二字符的第二笔划;5)比对第一字符的第一笔划及第二字符的第二笔划;6)输出比对结果。
2.根据权利要求1所述的一种编码转换方法,其特征在于所述步骤幻和步骤4)中 获取笔划的具体步骤如下a)在各字符的位图中,扫描包含各字符的有效点的矩形范围;b)在矩形范围中建立二维坐标;c)将矩形范围分四个象限;d)根据由上至下,由左至右的原则,分别获取各字符的笔划。
3.根据权利要求2所述的一种编码转换方法,其特征在于所述步骤d)中,根据由上 至下,由左至右的原则是在位图中,按照至上而下、由左至右的规则,由最高及最左点开始 作为起点。
4.根据权利要求3所述的一种编码转换方法,其特征在于所述步骤d)中,获取各笔 划的步骤包括dl)由起点将扫描方向区分成八个方向上,下,左,右,左上,左下,右上,右下; d2)以起点为中心,沿紧邻八个方向扫描是否有邻近点,由邻近点方向推进至无连接邻 近点;d3)完成笔划的扫描,记录笔划的基本笔划分类及所在象限位置。
5.根据权利要求4所述的一种编码转换方法,其特征在于所述步骤d2)中当扫描时 发现多个邻近点,则朝向原前进方向扫描前进。
6.根据权利要求2或3或4或5所述的一种编码转换方法,其特征在于所述步骤d) 之后还包括步骤e)获得各笔划的基本笔划类型及所在的象限位置。
7.根据权利要求1所述的一种编码转换方法,其特征在于所述步骤幻的具体步骤如下5. 1)建立容许值,界定获取第一笔划与第二笔划始末以及转弯处可容许的杂点数量; 5. 2)忽略杂点而不进行比对。
8.根据权利要求7所述的一种编码转换方法,其特征在于所述步骤幻中若第一字符 与第二字符相符合,则在步骤6)输出第二字符作为比对结果。
9.根据权利要求7所述的一种编码转换方法,其特征在于所述步骤幻中若第一字符 与第二字符不符合,则重新执行步骤4)及步骤幻,选取下一个第二字符进行比对。
10.根据权利要求9所述的一种编码转换方法,其特征在于所述第一字符与第二字集 比对无相对应第二字符,则输出第一字符至转换错误表。
全文摘要
本发明提供一种编码转换方法,用于不同编码点阵字集的辨识及转换。根据该方法,转换装置先读入第一字集,并选取第一字符,接着读取读入第二字集,并选取第二字符。之后,转换装置分别获取属于第一字符的第一笔划及获取属于第二字符的第二笔划。最后,转换装置比对第一字符的第一笔划及第二字符的第二笔划,以确定第一字符及第二字符是否将对应,以输出比对结果。当完成所有第一字符比对后,即可制作出第一字符及第二字符对应关系的编码转换表。
文档编号G06F17/22GK102096662SQ20101057461
公开日2011年6月15日 申请日期2010年12月6日 优先权日2010年12月6日
发明者钟辉, 陈淮琰 申请人:无敌科技(西安)有限公司