一种字形识别方法及装置的制造方法

文档序号:9727738阅读:343来源:国知局
一种字形识别方法及装置的制造方法
【技术领域】
[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] 该步骤中,通过再次遍历所有类别,对每个类别合并
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1