一种字形识别方法及装置的制造方法
【技术领域】
[0001 ]本发明设及文字识别领域,具体设及一种字形识别方法及装置。
【背景技术】
[0002] 随着信息技术的发展,越来越多的书籍、报纸逐渐电子化,由原来的纸质图书转变 成各种PC、手持设备的电子阅读器。在报社、出版社等行业,电子文档也成为了一种主流的 阅读资源,便于打印和印刷。但是运些文档在生成过程中因为字体嵌入等原因可能导致没 有字符编码或者字符编码并非标准编码(如UNICODE编码、GBK等),运类没有编码或非标准 编码的文档在版式呈现时能正常显示,但文档在进行复制、捜索等功能时出现乱码,效果不 佳。
[0003] 为了解决上述问题,需要通过字形识别来获取正确的字符编码,提高用户体验。目 前,一般是通过对运类文件进行转换优化来还原字符编码。还原字符编码的通用做法是:对 文档进行逐页绘制,采用OCR技术对页面上的文字进行识别,把识别的文字结果放回到页面 对应位置并隐藏,形成"双层PDf'或类似文档,从而提供文字复制、捜索功能。
[0004] 上述字符编码还原办法的不足之处在于:需对文档进行逐页绘制并识别,同一页 或不同页上的相同字符需要重复识别,从而导致效率低下,使得字形识别的时间成本过高。
【发明内容】
[0005] 因此,本发明要解决的技术问题在于克服现有技术中的字形识别方法中识别效率 低、时间成本高的缺陷。
[0006] 本发明提供一种字形识别方法,包括如下步骤:
[0007] 获取目标文档,提取目标文档中的字体信息及其对应的内嵌字体的字体数据;
[000引按照字体名称对所述字体数据进行聚类,得到多个分类;
[0009] 针对每个类别内的字体数据进行合并;
[0010] 对每个类别中合并后的字体数据对应的各个字形进行分别识别,获得每个字形的 编码;
[0011] 根据所述编码还原目标文档中每个文字对应的编码。
[0012] 优选地,所述按照字体名称对所述字体数据进行聚类的步骤,包括
[0013] 将字体名称相同的字体数据聚合为一个类别。
[0014] 优选地,所述针对每个类别内的字体数据进行合并的步骤包括:
[0015] 删除重复的字形,生成合并的字体数据和字形索引;
[0016] 建立所删除的字形对应的别名和字形索引与合并后的字形索引的对应关系,存入 内嵌字体表。
[0017] 优选地,对每个类别中合并后的字体数据对应的各个字形进行分别识别,获得每 个字形的编码的步骤,包括:
[0018] 对各个字形分别进行识别,记录下识别得到的字符编码作为该字形的标砖编码, 形成字形编码对应表,加入内嵌字体表。
[0019] 优选地,所述根据所述编码还原目标文档中每个文字对应的编码的步骤,包括:
[0020] 对于目标文档中的各个文字,根据其对应的字体信息及内嵌字体表查找字体信 息,根据所述字体信息查找标准编码,将查找到的标准编码加入文档中。
[0021 ]本发明提供一种字形识别装置,包括:
[0022] 信息提取单元,用于获取目标文档,提取目标文档中的字体信息及其对应的内嵌 字体的字体数据;
[0023] 聚类单元,用于按照字体名称对所述字体数据进行聚类,得到多个分类;
[0024] 合并单元,针对每个类别内的字体数据进行合并;
[0025] 字形识别单元,对每个类别中合并后的字体数据对应的各个字形进行分别识别, 获得每个字形的编码;
[0026] 编码更新单元,根据所述编码还原目标文档中每个文字对应的编码。
[0027] 优选地,所述聚类单元包括
[0028] 将字体名称相同的字体数据聚合为一个类别。
[0029] 优选地,所述合并单元包括
[0030] 删除子单元,删除重复的字形,生成合并的字体数据和字形索引;
[0031] 内嵌子单元,建立所删除的字形对应的别名和字形索引与合并后的字形索引的对 应关系,存入内嵌字体表。
[0032] 优选地,所述字形识别单元包括:对各个字形分别进行识别,记录下识别得到的字 符编码作为该字形的标砖编码,形成字形编码对应表,加入内嵌字体表。
[0033] 优选地,所述编码更新单元包括:对于目标文档中的各个文字,根据其对应的字体 信息及内嵌字体表查找字体信息,根据所述字体信息查找标准编码,将查找到的标准编码 加入文档中。
[0034] 本发明技术方案,具有如下优点:
[0035] 本发明提供的一种字形识别方法,获取目标文档,提取目标文档中的字体信息及 其对应的内嵌字体的字体数据;按照字体名称对所述字体数据进行聚类,得到多个分类;针 对每个类别内的字体数据进行合并;对每个类别中合并后的字体数据对应的各个字形进行 分别识别,获得每个字形的编码;根据所述编码还原目标文档中每个文字对应的编码。该方 案在现有技术的基础上,通过字体合并的方式,减少字形识别的时间,大幅提升字形识别的 效率,W减少字形识别的时间成本,使其能更广泛的被应用。所有拥有内嵌字体数据的文档 均可应用此方法进行处理,包括PDF、CEBX、0抑等。
【附图说明】
[0036] 为了更清楚地说明本发明【具体实施方式】或现有技术中的技术方案,下面将对具体 实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的 附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前 提下,还可W根据运些附图获得其他的附图。
[0037] 图1为本发明实施例1中字形识别方法的流程图;
[0038] 图2为本发明实施例2中字形识别装置的结构框图。
【具体实施方式】
[0039] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施 例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040] 对于本领域的普通技术人员而言,可W具体情况理解上述术语在本发明中的具体 含义。
[0041] 此外,下面所描述的本发明不同实施方式中所设及的技术特征只要彼此之间未构 成冲突就可W相互结合。
[0042] 实施例1
[0043] 本实施例中提供一种字形识别方法,用于对具有内嵌字体数据的版式文档进行处 理,如PDF、CEBX、0抑等,该方法流程图如图1所示,包括如下步骤:
[0044] S1、获取目标文档,提取目标文档中的字体信息及其对应的内嵌字体的字体数据。
[0045] 该步骤中,导入含字体信息与内嵌字体数据的文档,遍历所有页面,提取文档中各 页面所有的字体信息(如字符对应的字宽、高等信息)与内嵌字体的字体数据(即内嵌字体 文件),例如根据页面中字体信息对应的内嵌字体文件中的信息,可W获得字体的名称。此 夕h在字体信息也可W获取字体名称W及字体PS名称,此处获取的方式可W根据需要合理 选择。记录字体名称与内嵌字体数据的对应关系,形成内嵌字体表,表中每项包括字体PS名 称、字体名称、字形数据、字形索引等内容,具体格式形如表1所示。
[0046] 表1:原始内嵌字体表
[0047]
[0048] 如对应某本PDF书籍,该步骤包括导入该PDF书籍文档,遍历所有页面,提取文档中 各页面所有的字体信息与内嵌字体的字体数据,记录字体名称与内嵌字体数据的对应关 系,形成内嵌字体表。即如附表1所示,整个PDF中所有页面共含有Ξ个字体信息。
[0049] S2、按照字体名称对所述字体数据进行聚类,得到多个分类。其中,将字体名称相 同的字体数据聚合为一个类别。
[0050] 对内嵌字体表按字体名称进行聚类,每个类别中可能包括一个或多个具有相同字 体名称但不同字体PS名称。S名称为字体名称的一个别名)的内嵌字体数据,形如表2。 [00 51]表2:聚类后的内嵌字体表
[0化2]
[0053] 如将字体名称同为"Fontr的字体信息聚合在一起,将字体名称为"Font2"的字体 信息聚合在一起,形成一张聚合后的内嵌字体表。
[0054] S3、针对每个类别内的字体数据进行合并。合并的过程包括:首先,删除重复的字 形,生成合并的字体数据和字形索引;然后建立所删除的字形对应的别名和字形索引与合 并后的字形索引的对应关系,存入内嵌字体表。
[0055] 合并时,需要遍历聚类后形成的所有类别,对每个类别的多项内嵌字体数据进行 合并。合并时,需要删除重复字形,生成合并后的内嵌字体数据及字形索引表,并记录合并 前字体PS名称及其字形索引与合并后的字形索引的对应关系,即每个字体PS名称对应的新 旧字形索引表,继而修改相应的内嵌字体表,如表3。对于只包含一项数据的类别,不进行合 并操作。
[0056]表3:修改后的内嵌字体表
[0化7]
[0化引如将同为"Fontr的字体数据"Datal"和"Data2"进行合并,删除其中的重复字形, 形成新的字体数据"Merge化tal" W及新的字形索引表"MergeMapl",并且记录下对应每个 旧字体的新旧字形索引表%IdToNewMapT与%ldToNewMap2%例如,在"PS_r对应的 "Datal"字体数据中,文字"一"对应的字形索引为"Γ,而在合并生成了子徒数据 "MergeDatar后,文字"一"对应的字形索引为"5",则在新旧字形索引表%IdToNewMapr 中,有一项即为"1^5"。对于只包含一项数据的类别,不进行合并操作。整个操作的结果如 表2所示。
[0059] S4、对每个类别中合并后的字体数据对应的各个字形进行分别识别,获得每个字 形的编码。该过程包括:对各个字形分别进行识别,记录下识别得到的字符编码作为该字形 的标砖编码,形成字形编码对应表,加入内嵌字体表。
[0060] 该步骤中,通过再次遍历所有类别,对每个类别合并
生成的内嵌字体数据中各个 字形逐个进行识别(即OCR),并记录下识别得到的字符编码,作为该字形的标准编码,形成 字形编码对应表,并将其加入内嵌字体表中,形成最终的内嵌字体表,如表4所示。
[0061] 表4:最终的内嵌字体表
[0062]
[0063] 例如对于字体"Font Γ,我们对于"Merge化化Γ中的所有字形逐一进行识别,并记 录下识别得到的字符编码,W形成字形编码对应表。如对于"Merge化化Γ中字形索引为"5" 的字,我们字形识别的结果为其标准编码为"\u4e00",则"OCRMapT中有一项为"5^\ u4e00"。最终形成的内嵌字体表如表4所不。
[0064] S5、根据所述编码还原目标文档中每个文字对应的编码。过程为,首先对于目标文 档中的各个文字,根据其对应的字体信息及内嵌字体表查找字体信息,然后根据所述字体 信息查找标准编码,将查找到的标准编码加入文档中。
[0065] 具体为,遍历文档中所有页面,对于页面中的各个文字,根据其对应的字体信息及 最终的的内嵌字体表找到相应的合并后的字体信息,进而根据其字体编码或字形索引,结 合字体信息中的字形索引表、新旧字形索引表与字形编码对应表,查找其标准编码,把查找 到的编码替换或追加到文档中的文字中。
[0066] 如对于某页中的某个文字,其对应字体信息中字体PS名称为"PS_r,其字形索引 为1,则找到内嵌字体表中字体PS名称为"ps_r的项,通过新旧字形索引表的到其新的字形 索引为"5",再到字形编码对应表中查到字形索引"5"对应的标准编码为"\u4e00",便得到 该文字对应的标准编码为"\u4e00",最后将文档中该文字的字符编码修正或追加为"\ u4e00",完成该文字的字符编码纠正和更新。
[0067] 本方案中,首先需要导入含字体信息的文档,遍历所有页面,并记录其中所有的字 体信息(包括字体名称、字体PS名称等字体相关数据)与对应内嵌字体数据;接着,将拥有相 同字体名称的字体信息聚类;接下来,将聚类的字体信息对应的内嵌字体数据进行合并,删 除重复字形并记录合并前后字体数据对应关系;然后,对合并完成的字体数据中各个字形 逐个进行识别(即OCR),并记录下识别后的编码(可W是化icode或G服等标准编码);最后, 通过OCR结果还原文档中各个文字对应的字符编码。
[0068] 该方案在现有技术的基础上,通过字体合并的方式,减少字形识别的时间,大幅提 升字形识别的效率,W减少字形识别的时间成本,使其能更广泛的被应用。所有拥有内嵌字 体数据的文档均可应用此方法进行处理,包括PDF、CEBX、0抑等。
[0069] 实施例2:
[0070] 本实施例中提供一种字形识别装置,结构框图如图2所示,包括:
[0071 ]信息提取单元01,用于获取目标文档,提取目标文档中的字体信息及其对应的内 嵌字体的字体数据;
[0072] 聚类单元02,用于按照字体名称对所述字体数据进行聚类,得到多个分类;
[0073] 合并单元03,针对每个类别内的字体数据进行合并;
[0074] 字形识别单元04,对每个类别中合并后的字体数据对应的各个字形进行分别识 另IJ,获得每个字形的编码;
[0075] 编码更新单元05,根据所述编码还原目标文档中每个文字对应的编码。
[0076] 其中,所述聚类单元包括将字体名称相同的字体数据聚合为一个类别。
[0077] 所述合并单元包括删除子单元,删除重复的字形,生成合并的字体数据和字形索 引;
[0078] 内嵌子单元,建立所删除的字形对应的别名和字形索引与合并后的字形索引的对 应关系,存入内嵌字体表。
[0079] 所述字形识别单元包括:对各个字形分别进行识别,记录下识别得到的字符编码 作为该字形的标砖编码,形成字形编码对应表,加入内嵌字体表。
[0080] 所述编码更新单元包括:对于目标文档中的各个文字,根据其对应的字体信息及 内嵌字体表查找字体信息,根据所述字体信息查找标准编码,将查找到的标准编码加入文 档中。
[0081] 该方案中,采用字体聚类的方式,通过字体合并,消减文本中的重复字形,减少进 行字形识别的字形的数量,大幅提升字形识别的效率。
[0082] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产 品的形式。
[0083] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流 程和/或方框、W及流程图和/或方框图中的流程和/或方框的结合。可提供运些计算机程序 指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器W产 生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实 现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0084] 运些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备W特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0085] 运些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤W产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能的步骤。
[0086] 显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对 于所属领域的普通技术人员来说,在上述说明的基础上还可W做出其它不同形式的变化或 变动。运里无需也无法对所有的实施方式予W穷举。而由此所引伸出的显而易见的变化或 变动仍处于本发明创造的保护范围之中。
【主权项】
1. 一种字形识别方法,其特征在于,包括如下步骤: 获取目标文档,提取目标文档中的字体信息及其对应的内嵌字体的字体数据; 按照字体名称对所述字体数据进行聚类,得到多个分类; 针对每个类别内的字体数据进行合并; 对每个类别中合并后的字体数据对应的各个字形进行分别识别,获得每个字形的编 码; 根据所述编码还原目标文档中每个文字对应的编码。2. 根据权利要求1所述的方法,其特征在于:所述按照字体名称对所述字体数据进行聚 类的步骤,包括 将字体名称相同的字体数据聚合为一个类别。3. 根据权利要求1或2所述的方法,其特征在于:所述针对每个类别内的字体数据进行 合并的步骤包括: 删除重复的字形,生成合并的字体数据和字形索引; 建立所删除的字形对应的别名和字形索引与合并后的字形索引的对应关系,存入内嵌 字体表。4. 根据权利要求3所述的方法,其特征在于:对每个类别中合并后的字体数据对应的各 个字形进行分别识别,获得每个字形的编码的步骤,包括: 对各个字形分别进行识别,记录下识别得到的字符编码作为该字形的标砖编码,形成 字形编码对应表,加入内嵌字体表。5. 根据权利要求4所述的方法,其特征在于,所述根据所述编码还原目标文档中每个文 字对应的编码的步骤,包括: 对于目标文档中的各个文字,根据其对应的字体信息及内嵌字体表查找字体信息,根 据所述字体信息查找标准编码,将查找到的标准编码加入文档中。6. -种字形识别装置,其特征在于,包括: 信息提取单元,用于获取目标文档,提取目标文档中的字体信息及其对应的内嵌字体 的字体数据; 聚类单元,用于按照字体名称对所述字体数据进行聚类,得到多个分类; 合并单元,针对每个类别内的字体数据进行合并; 字形识别单元,对每个类别中合并后的字体数据对应的各个字形进行分别识别,获得 每个字形的编码; 编码更新单元,根据所述编码还原目标文档中每个文字对应的编码。7. 根据权利要求6所述的装置,其特征在于:所述聚类单元包括 将字体名称相同的字体数据聚合为一个类别。8. 根据权利要求7所述的装置,其特征在于:所述合并单元包括 删除子单元,删除重复的字形,生成合并的字体数据和字形索引; 内嵌子单元,建立所删除的字形对应的别名和字形索引与合并后的字形索引的对应关 系,存入内嵌字体表。9. 根据权利要求6或7或8所述的装置,其特征在于,所述字形识别单元包括:对各个字 形分别进行识别,记录下识别得到的字符编码作为该字形的标砖编码,形成字形编码对应 表,加入内嵌字体表。10.根据权利要求9所述的装置,其特征在于,所述编码更新单元包括:对于目标文档中 的各个文字,根据其对应的字体信息及内嵌字体表查找字体信息,根据所述字体信息查找 标准编码,将查找到的标准编码加入文档中。
【专利摘要】本发明提供的一种字形识别方法,获取目标文档,提取目标文档中的字体信息及其对应的内嵌字体的字体数据;按照字体名称对所述字体数据进行聚类,得到多个分类;针对每个类别内的字体数据进行合并;对每个类别中合并后的字体数据对应的各个字形进行分别识别,获得每个字形的编码;根据所述编码还原目标文档中每个文字对应的编码。该方案在现有技术的基础上,通过字体合并的方式,减少字形识别的时间,大幅提升字形识别的效率,以减少字形识别的时间成本,使其能更广泛的被应用。所有拥有内嵌字体数据的文档均可应用此方法进行处理,包括PDF、CEBX、OFD等。
【IPC分类】G06K9/00, G06K9/62
【公开号】CN105488471
【申请号】CN201510857445
【发明人】徐剑波, 易珏玲, 林欣欣
【申请人】北大方正集团有限公司, 北京方正阿帕比技术有限公司
【公开日】2016年4月13日
【申请日】2015年11月30日