一种文字修正方法及系统.pdf

上传人:li****8 文档编号:4054873 上传时间:2018-08-13 格式:PDF 页数:19 大小:1.38MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310447805.6

申请日:

2013.09.27

公开号:

CN104516859A

公开日:

2015.04.15

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/21申请日:20130927|||公开

IPC分类号:

G06F17/21; G06F17/25

主分类号:

G06F17/21

申请人:

北大方正集团有限公司; 北京方正阿帕比技术有限公司

发明人:

孙浩鹏; 丁力; 董宁

地址:

100871北京市海淀区成府路298号方正大厦9层

优先权:

专利代理机构:

北京三聚阳光知识产权代理有限公司11250

代理人:

寇海侠

PDF下载: PDF下载
内容摘要

一种文字修正方法及系统,获取文档中文字的至少一种字体,对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体,对字形描述信息错误的字体中的文字进行修正。通过字宽信息很好的表达出其字形描述信息,然后进行修正,用以解决排版过程中可能出现的行间距不均匀、文字间隙过大或文字重叠等问题,通过等宽文字和非等宽文字的特性,分别进行修正处理,有效提高了内容的可读性与美观性。

权利要求书

权利要求书
1.  一种文字修正方法,其特征在于,包括:
获取文档中文字的至少一种字体;
对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体;
对字形描述信息错误的字体中的文字进行修正。

2.  根据权利要求1所述的文本排版方法,其特征在于,所述根据该字体中的文字的字宽,选择出字形描述信息错误的字体的处理包括:
选取该字体中的至少两个文字,计算每个文字的字宽值与该文字的字形边框矩形宽度的比值,并计算平均值;
根据所述平均值是否超出阈值,确定所述字体的字形描述信息是否错误。

3.  根据权利要求2所述的文本排版方法,其特征在于,对于等宽文字,所述阈值为0.9-1.1;对于非等宽文字,所述阈值为1.2-1.4。

4.  根据权利要求1或2或3所述的文字修正方法,其特征在于,所述对字形描述信息错误的字体中的文字进行修正的处理包括:
根据文字的字形边框矩形宽度,对所述文字的字宽进行修正。

5.  根据权利要求4所述的文字修正方法,其特征在于,对所述文字的字宽进行修正时,利用下述公式进行修正:W=D×a:W为修正后的字宽值,D为该文字的字形边框矩形宽度值,a为修正系数,对于等宽文字,a=1.01-1.1,对于非等宽文字a=1.22-1.35。

6.  根据权利要求5所述的文字修正方法,其特征在于,对于等宽文字,修正系数a=1.05,对于非等宽文字修正系数a=1.3。

7.  根据权利要求1-6中的任一项所述的文字修正方法,其特征在于, 所述对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体的过程中,针对内嵌字体进行处理。

8.  根据权利要求1 -7任一所述的文字修正方法,其特征在于,所述对字形描述信息错误的字体中的文字进行修正的过程,包括:对于字形描述信息错误的字体中的文字,首先判断其是否为等宽文字,对于等宽文字计算样本均值并进行修正,对于非等宽文字获取字符的字形边框矩形宽度值并进行修正。

9.  根据权利要求8所述的文字修正方法,其特征在于,对于等宽文字计算样本均值并进行修正的过程如下:
首先,判断该文字的字宽是否已经计算,若未计算则选取使用该字体的等宽文字样本,然后获取样本的字形边框宽度值并计算出均值,再用修正系数予以修正获得修正后宽度值;若已经计算,则直接调用之前的计算结果。

10.  根据权利要求1-8中任一项所述的文字修正方法,其特征在于, 还包括排版步骤,对字形描述信息错误的字体中的文字进行修正后进行排版,对于不含字形描述信息错误的字体的文字直接获取字宽值后排版,排版过程为将当前字宽累加至当前已排文字宽度,如果大于排版区域宽度,则重置当前已排文字宽度并将行基线累加一个行高度,然后在当前行尾排下此文字;如果不大于排版区域宽度则直接在当前行尾排下此文字。

11.  一种文字修正系统,其特征在于,包括:
获取单元:获取文档中文字的至少一种字体;
选择单元:对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体;
修正单元:对字形描述信息错误的字体中的文字进行修正。

12.  根据权利要求11所述的文本排版系统,其特征在于,所述选择单元包括:
均值计算模块:选取该字体中的至少两个文字,计算每个文字的字宽值与该文字的字形边框矩形宽度的比值,并计算平均值;
判断模块:根据所述平均值是否超出阈值,确定所述字体的字形描述信息是否错误。

13.  根据权利要求12所述的文本排版系统,其特征在于,对于等宽文字,所述阈值为0.9-1.1;对于非等宽文字,所述阈值为1.2-1.4。

14.  根据权利要求11或12或13所述的文字修正系统,其特征在于,所述修正单元包括:修正模块,根据文字的字形边框矩形宽度,对所述文字的字宽进行修正。

15.  根据权利要求14所述的文字修正系统,其特征在于,所述修正模块中,利用下述公式进行修正:W=D×a:W为修正后的字宽值,D为该文字的字形边框矩形宽度值,a为修正系数,对于等宽文字,a=1.01-1.1,对于非等宽文字a=1.22-1.35。

说明书

说明书一种文字修正方法及系统
技术领域
本发明涉及一种计算机文本处理领域,具体地说是一种具有文字修正发明发及系统。
背景技术
计算机字体简称字体,是一种包含了字形集、字符码集的数据集合。它包含了字符码到字形的映射关系,以及各个字形的描述信息。通过字形描述信息可以绘制出字形位图。计算机字符普遍通过文档的形式呈现给用户。流式文档是指无固定版式的、内容可依据其展现媒介的实际大小而进行内容排布的文档。ePub和TXT是常用的两种流式文档。带有结构化信息的PDF和CEBX也可视为流式文档。
随着智能手机的普及和移动互联网的兴起,越来越多的人选择使用移动设备进行移动阅读,而流式文档是最适合移动阅读的方案,因为移动设备的产品种类繁多,屏幕分辨率与尺寸各不相同,流式内容的“可重排性”使得它可以根据实际设备的情况来合理的展现其内容,这就极大的提高了内容的可读性与美观性。
但是,由于历史原因导致部分流式文件中包含有不严谨的内嵌字体,这些字体含有错误的字形描述信息,有的是含有错误的行高信息,有的是含有错误的字宽信息等,这都给正常的排版过程带来了问题,排出来的内容出现行间距不均匀、文字间隙过大甚至文字重叠在一起的现象。这极大的影响了内容的可读性与美观性。
为此,在现有技术中也出现了一些针对终端阅读文档的排版方法,在移动终端的网页排版启动时或者网页排版过程中字体发生改变时,判断待排版字符是否可以等宽处理,如果可以等宽处理,则通过调用移动终端中预先保存的字符宽度数据进行字符的排版。该方案中通过比较基准字符串的长度与实际待排版的字符长度和来判断待排版字是否可以等宽处理,此方法可以实现对等宽文字如中文、日文、韩文的处理,但是对于同时存在等宽文字和非等宽文字(如英语、德语)的文档,由于非等宽文字根据其包含的字符多少,其宽度差别很大,该方法无法适用。此外,在这些方案中,对于含有错误字形描述信息的文档,无法有效识别并进行相应的处理,因此对于含有错误字形描述信息的文档,无法有效识别字形描述信息是否错误,也无法进行分别处理,导致对于等宽文字和非等宽文字的排版错误不能很好的发现,字体排版效果差。
发明内容
为此,本发明所要解决的技术问题在于现有技术中的排版方式无法对同时存在等宽文字和非等宽文字的字形描述信息的错误很好的发现并及时修正的问题,从而提出一种可以对存在等宽文字和非等宽文字的文档进行纠错的带有纠错功能的文字修正方法及系统。
为解决上述技术问题,本发明的提供一种文字修正方法及系统,
一种文字修正方法,包括:
获取文档中文字的至少一种字体;
对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体;
对字形描述信息错误的字体中的文字进行修正。
本发明所述的文本排版方法,所述根据该字体中的文字的字宽,选择出字形描述信息错误的字体的处理包括:
选取该字体中的至少两个文字,计算每个文字的字宽值与该文字的字形边框矩形宽度的比值,并计算平均值;
根据所述平均值是否超出阈值,确定所述字体的字形描述信息是否错误。
本发明所述的文本排版方法,对于等宽文字,所述阈值为0.9-1.1;对于非等宽文字,所述阈值为1.2-1.4。
本发明所述的文字修正方法,所述对字形描述信息错误的字体中的文字进行修正的处理包括:
根据文字的字形边框矩形宽度,对所述文字的字宽进行修正。
本发明所述的文字修正方法,对所述文字的字宽进行修正时,利用下述公式进行修正:W=D×a:W为修正后的字宽值,D为该文字的字形边框矩形宽度值,a为修正系数,对于等宽文字,a=1.01-1.1,对于非等宽文字a=1.22-1.35。
本发明所述的文字修正方法,对于等宽文字,修正系数a=1.05,对于非等宽文字修正系数a=1.3。
本发明所述的文字修正方法, 所述对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体的过程中,针对内嵌字体进行处理。
本发明所述的文字修正方法,所述对字形描述信息错误的字体中的文字进行修正的过程,包括:对于字形描述信息错误的字体中的文字,首先判断其是否为等宽文字,对于等宽文字计算样本均值并进行修正,对于非等宽文字获取字符的字形边框矩形宽度值并进行修正。
本发明所述的文字修正方法,对于等宽文字计算样本均值并进行修正的过程如下:
首先,判断该文字的字宽是否已经计算,若未计算则选取使用该字体的等宽文字样本,然后获取样本的字形边框宽度值并计算出均值,再用修正系数予以修正获得修正后宽度值;若已经计算,则直接调用之前的计算结果。
本发明所述的文字修正方法, 还包括排版步骤,对字形描述信息错误的字体中的文字进行修正后进行排版,对于不含字形描述信息错误的字体的文字直接获取字宽值后排版,排版过程为将当前字宽累加至当前已排文字宽度,如果大于排版区域宽度,则重置当前已排文字宽度并将行基线累加一个行高度,然后在当前行尾排下此文字;如果不大于排版区域宽度则直接在当前行尾排下此文字。
一种文字修正系统,包括:
获取单元:获取文档中文字的至少一种字体;
选择单元:对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体;
修正单元:对字形描述信息错误的字体中的文字进行修正。
本发明所述的文本排版系统,所述选择单元包括:
均值计算模块:选取该字体中的至少两个文字,计算每个文字的字宽值与该文字的字形边框矩形宽度的比值,并计算平均值;
判断模块:根据所述平均值是否超出阈值,确定所述字体的字形描述信息是否错误。
本发明所述的文本排版系统,对于等宽文字,所述阈值为0.9-1.1;对于非等宽文字,所述阈值为1.2-1.4。
本发明所述的文字修正系统,所述修正单元包括:修正模块,根据文字的字形边框矩形宽度,对所述文字的字宽进行修正。
本发明文字修正系统,所述修正模块中,利用下述公式进行修正:W=D×a:W为修正后的字宽值,D为该文字的字形边框矩形宽度值,a为修正系数,对于等宽文字,a=1.01-1.1,对于非等宽文字a=1.22-1.35。
本发明所述的文字修正系统,对于等宽文字,修正系数a=1.05,对于非等宽文字修正系数a=1.3。
本发明所述的文字修正系统,所述选择单元中,针对内嵌字体进行处理。
本发明所述的文字修正系统,所述修正单元包括
判断模块,对于字形描述信息错误的字体中的文字,首先判断其是否为等宽文字;
等宽文字修正模块:对于等宽文字计算样本均值并进行修正;
非等宽文字修正模块:对于非等宽文字获取字符的字形边框矩形宽度值并进行修正。
本发明所述的文字修正系统,所述等宽文字修正模块中包括:
判断子模块:判断该文字的字宽是否已经计算,
计算子模块:若未计算则选取使用该字体的等宽文字样本,然后获取样本的字形边框宽度值并计算出均值,再用修正系数予以修正获得修正后宽度值;
调用子模块:若已经计算,则直接调用之前的计算结果。
本发明所述的文字修正系统, 还包括排版单元,对字形描述信息错误的字体中的文字进行修正后进行排版,对于不含字形描述信息错误的字体的文字直接获取字宽值后排版,排版过程为将当前字宽累加至当前已排文字宽度,如果大于排版区域宽度,则重置当前已排文字宽度并将行基线累加一个行高度,然后在当前行尾排下此文字;如果不大于排版区域宽度则直接在当前行尾排下此文字。
本发明的上述技术方案相比现有技术具有以下优点,
(1)本发明所述的一种文字修正方法及系统,获取文档中文字的至少一种字体,对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体,对字形描述信息错误的字体中的文字进行修正。通过字宽信息很好的表达出其字形描述信息,然后进行修正,用以解决排版过程中可能出现的行间距不均匀、文字间隙过大或文字重叠等问题,有效提高了内容的可读性与美观性。
(2)本发明所述的文字修正方法,字形描述信息错误的字体通过以下方式获得:选取该字体中的至少两个文字,计算每个文字的字宽值与该文字的字形边框矩形宽度的比值,并计算平均值;根据所述平均值是否超出阈值,确定所述字体的字形描述信息是否错误。对于等宽文字,所述阈值为0.9-1.1;对于非等宽文字,所述阈值为1.2-1.4,采用该方法可以有效的获得字形描述信息是否发生了错误,提高了错误的识别率。
(3)本发明所述的文字修正方法,根据文字的字形边框矩形宽度,对所述文字的字宽进行修正,利用下述公式进行修正:W=D×a:W为修正后的字宽值,D为该文字的字形边框矩形宽度值,a为修正系数,对于等宽文字,a=1.01-1.1,优选修正系数a=1.05。对于非等宽文字a=1.22-1.35,优选a=1.3。通过修正系数对等宽文字和非等宽文字分别修正,提高了修正后文字的整齐和美观性。
(4)本发明所述的文字修正方法,针对内嵌字体进行处理,由于非内嵌字体无需处理即可正常排版,对于字形描述信息正确的内嵌字体也无需处理,因此通过上述方法获得含有错误字形描述信息的内嵌字体,并有针对性的处理,减少了处理量,提高了处理速度,此外,通过样本统计的方式,使得该方法具有普遍的适用性,且实现起来简单方便。
(5)本发明所述的文字修正方法,对于使用含有错误字形描述信息字体的文字,首先判断其是否为等宽文字,对于等宽文字计算样本均值并进行修正,对于非等宽文字获取字符的字形边框矩形宽度值并进行修正。针对等宽和非等宽文字,采取不同的修正策略,由于等宽文字如中文、韩文,其本身等宽,因此一次计算后,后续可直接调用;针对非等宽文字,等需要单独针对每个字符进行处理,这样,通过针对性的修正,提高了其计算的准确性。
(6)本发明所述的文字修正方法,对于含有错误字形描述信息的字体,通过修正得到字宽值,将当前的字宽累加到当前已排版文字宽度,然后将该宽度与排版区域宽度比较,不大于则直接插入,否则换行插入,这样就保证了文字依序顺次插入,保证了排版效果。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1  是本发明的一个实施例1的文字修正方法的流程图;
图2  是本发明的另外一个实施例的文字修正方法的流程图;
图3  是本发明的实施例中的文字修正系统的结构图;
图4  是本发明的实施例中判断步骤的方法流程图;
图5  是本发明的实施例中纠错步骤的方法流程图;
图6  是本发明的实施例中排版步骤的方法流程图;
图7  是本发明的实施例所述的使用文字修正方法排版后的效果图。
具体实施方式
下面给出本发明所述的文字修正方法及系统的具体的实施方式,将配合附图及实施例来详细说明,借此对本发明如何应用技术手段来解决技术问题并达到技术功效的实现过程能充分理解并据以实现。
实施例1:
本实施例中提供一种文字修正方法,流程图如图1所示,包括:
(1)获取文档中文字的至少一种字体;
(2)对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体。具体过程如下:
选取该字体中的至少两个文字,计算每个文字的字宽值与该文字的字形边框矩形宽度的比值,并计算平均值;根据所述平均值是否超出阈值,确定所述字体的字形描述信息是否错误。对于等宽文字,所述阈值取0.9或1或1.1;对于非等宽文字,所述阈值为1.2或1.3或1.4。
(3)对字形描述信息错误的字体中的文字进行修正。根据文字的字形边框矩形宽度,对所述文字的字宽进行修正。修正利用下述公式进行修正:W=D×a,其中W为修正后的字宽值,D为该文字的字形边框矩形宽度值,对于等宽文字,修正系数a=1.05,对于非等宽文字修正系数a=1.3。
在其他的实施方式中,修正系数a可以根据需要选择,对于等宽文字,a一般取值为:1.01-1.1,对于非等宽文字a一般取值范围为1.22-1.35.
实施例2:
本实施例中提供一种与实施例1对应的文字修正系统,包括:
(1)获取单元:获取文档中文字的至少一种字体;
(2)选择单元:对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体。具体过程如下:
选取该字体中的至少两个文字,计算每个文字的字宽值与该文字的字形边框矩形宽度的比值,并计算平均值;根据所述平均值是否超出阈值,确定所述字体的字形描述信息是否错误。对于等宽文字,所述阈值取0.9或1或1.1;对于非等宽文字,所述阈值为1.2或1.3或1.4。
(3)修正单元:对字形描述信息错误的字体中的文字进行修正。根据文字的字形边框矩形宽度,对所述文字的字宽进行修正。修正利用下述公式进行修正:W=D×a,其中W为修正后的字宽值,D为该文字的字形边框矩形宽度值,对于等宽文字,修正系数a=1.05,对于非等宽文字修正系数a=1.3。
在其他的实施方式中,修正单元中的修正系数a可以根据需要选择,对于等宽文字,a一般取值为:1.01-1.1,对于非等宽文字a一般取值范围为1.22-1.35.
实施例3:
本实施例中提供另外一种文字修正方法,包括:
(1)获取文档中文字的至少一种字体;
(2)对于每种字体,针对内嵌字体进行处理,对于内嵌字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体。
选取该字体中的五个文字作为样本,计算每个文字的字宽值与该文字的字形边框矩形宽度的比值,并计算平均值;根据所述平均值是否超出阈值,确定所述字体的字形描述信息是否错误。对于等宽文字,所述阈值取1.1;对于非等宽文字,所述阈值为1.3。
(3)对字形描述信息错误的字体中的文字进行修正。对于字形描述信息错误的字体中的文字,首先判断其是否为等宽文字,
对于等宽文字计算样本均值并进行修正,过程如下:
首先,判断该文字的字宽是否已经计算,若未计算则选取使用该字体的等宽文字样本,然后获取样本的字形边框宽度值并计算出均值,再用修正系数予以修正获得修正后宽度值,修正利用下述公式进行修正:W=D×a,其中W为修正后的字宽值,D为该文字的字形边框矩形宽度值的样本均值,修正系数a=1.07;若已经计算,则直接调用之前的计算结果。
对于非等宽文字获取字符的字形边框矩形宽度值并通过修正系数进行修正。W=D×a,W为修正后的字宽值,D为该文字的字形边框矩形宽度值, a=1.25.
作为其他实施方式,上述修正过程后还包括排版步骤,如图2所示,对字形描述信息错误的字体中的文字进行修正后进行排版,对于不含字形描述信息错误的字体的文字直接获取字宽值后排版,排版过程为将当前字宽累加至当前已排文字宽度,如果大于排版区域宽度,则重置当前已排文字宽度并将行基线累加一个行高度,然后在当前行尾排下此文字;如果不大于排版区域宽度则直接在当前行尾排下此文字。
实施例4:
本实施例提供一种文字修正系统,包括:
(1)解析单元(也可称为获取单元):获取文档中文字的至少一种字体;
(2)判断单元(或称为选择单元):对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体。包括:
均值计算模块:选取该字体中的至少两个文字,计算每个文字的字宽值与该文字的字形边框矩形宽度的比值,并计算平均值。
判断模块:根据所述平均值是否超出阈值,确定所述字体的字形描述信息是否错误。
(3)纠错单元(或称为修正单元):对字形描述信息错误的字体中的文字进行修正,包括
3.1、判断模块,对于字形描述信息错误的字体中的文字,首先判断其是否为等宽文字。
3.2、等宽文字修正模块:对于等宽文字计算样本均值并进行修正,包括:
判断子模块:判断该文字的字宽是否已经计算,
计算子模块:若未计算则选取使用该字体的等宽文字样本,然后获取样本的字形边框宽度值并计算出均值,再用修正系数予以修正获得修正后宽度值;
调用子模块:若已经计算,则直接调用之前的计算结果。
3.3、非等宽文字修正模块:对于非等宽文字获取字符的字形边框矩形宽度值并进行修正。
(4)排版单元,对字形描述信息错误的字体中的文字进行修正后进行排版,对于不含字形描述信息错误的字体的文字直接获取字宽值后排版,排版过程为将当前字宽累加至当前已排文字宽度,如果大于排版区域宽度,则重置当前已排文字宽度并将行基线累加一个行高度,然后在当前行尾排下此文字;如果不大于排版区域宽度则直接在当前行尾排下此文字。
实施例5:
下面给出本发明的一个具体实施方式,一种文字修正方法,包括如下步骤:
(1)解析步骤:接收文档的文字信息,如接收一流式文字内容,本实施例中为ePub流式文档,解析出其中的字体资源以及文字内容,见图2中205步。
所述字体资源为字体数据,是一种包含了字形集、字符码集的数据集合,它描述了字符码到字形的映射关系,以及各个字形的描述信息。简单来说字体描述了每个字画成什么样以及它的宽度、高度等信息。字体可以以独立文件的形式存在,也可以内嵌到文档中成为文档的一部分。
所述文字内容为文字的顺序、系统为字体分配的用于标识字体的字体名称或编号、用于描述文字被绘制时的尺寸大小的字号、以及各个文字所对应的的unicode编码值。也可以认为文字内容就是文字描述的集合,一个文字描述主要包括它的码值(通过码值确定具体是哪个字),还有它使用了哪个字体。通过解析步骤可以将接收到的数据内容解析为字体资源及文字内容。本实施例中,针对不同的字体数据分别进行处理,由于不同的字体有不同字宽以及不同的修正参数,针对不同的字体数据分别处理,可以提高对各个字体的判断结果,并提高修正效果,从而大大更好的排版效果。
(2)判断步骤:找出含有错误字形描述信息的内嵌字体。在此步骤中,针对每种字体资源依次进行判断,判断出含有错误字形描述信息的字体,见图2中210步骤。首先判断当前待分析字体是否为内嵌字体,如果当前待判断字体是非内嵌字体,则可认为是正确字体;对于内嵌字体则进行处理:从解析出的文字内容中选取一定数量的文字样本,这些文字样本都属于该待判断的字体,且它们不是标点符号,然后对这些文字样本分别获取同一字号的字宽值和字形边框矩形宽度值,计算出每个样本中文字的字宽值与字形边框矩形宽度值的比值,并统计平均值,然后判断所述平均值是否超出阈值,若平均值超出阈值范围(过大或过小),则标记此字体为含有错误字形描述信息的内嵌字体。
本步骤中,通过统计样本中字宽值与字形边框矩形宽度的比值的平均值,与阈值范围进行比较,从而获得含有错误字形描述信息的内嵌字体,由于非内嵌字体无需处理即可正常排版,对于字形描述信息正确的内嵌字体也无需处理,因此通过上述方法获得含有错误字形描述信息的内嵌字体,并有针对性的处理,减少了处理量,提高了处理速度,此外,通过样本统计的方式,使得该方法具有普遍的适用性,且实现起来简单方便。
(3)纠错步骤:对于使用含有错误字形描述信息字体的文字,首先判断其是否为等宽文字,根据判断结果,分别对使用了判断步骤中被判为含有错误字形描述信息字体的那些文字进行修正,见图2中步骤215。首先对于使用含有错误字形描述信息的字体的文字,根据其unicode编码值判断该内嵌字体是否属于等宽文字(如中文、日文、韩文等),还是属于其他非等宽文字。对于等宽文字,每一个字体只需要计算一次字宽,取一定数量文字样本的字形边框矩形宽度值平均值,再用修正系数(根据经验确定的经验值)对平均值进行修正,即算出此字体所有等宽文字的字宽。由于每一个字体只需要计算一次字宽,在后续判断中,首先,判断该文字的字宽是否已经计算,若未计算则选取使用该字体的等宽文字样本,然后获取样本的字形边框宽度值并计算出均值,再用修正系数予以修正。如果已经计算过,则直接调用之前计算出的此字体所有等宽文字的字宽。对于非等宽文字,需要为每个字符单元计算字宽,先获取字符的字形边框矩形宽度值,在用修正系数(经验值)进行修正。修正后宽度值乘以字号得到实际字宽,所述实际字宽为正确的字宽值。
在此纠错步骤中,首先对于使用含有错误字形描述信息字体的文字,首先判断其是否为等宽文字,对于等宽文字计算样本均值并进行修正,对于非等宽文字获取字符的字形边框矩形宽度值并进行修正。针对等宽和非等宽文字,采取不同的修正策略,由于等宽文字如中文、韩文,其本身等宽,因此一次计算后,后续可直接调用;针对非等宽文字,等需要单独针对每个字符进行处理,这样,通过针对性的修正,提高了其计算的准确性。由于在修正过程中,是以相对值为标准进行的修正,因此修正完毕后,需要乘以字号得到实际字宽。
(4)排版步骤:将所有文字进行排版。排版是将文字流中的文字逐个放置到适合展示媒介大小的排版区域上,即将流式文字进行排布和断行,依据修正后的字宽信息将文字逐个排布,从而确定每个文字在展示媒介上的具体坐标,见图2中步骤220。首先,依次处理文字流中的每一个文字;对于含有错误字形描述信息的内嵌字体通过纠错步骤得到正确的字宽值,对于不含错误字形描述信息的内嵌字体以及非内嵌字体,直接获取字宽值;然后将当前字宽累加至当前行已排文字宽度,用此宽度与排版区域宽度进行比较,如果大于排版区域宽度,则重置当前行已排文字宽度并将行基线累加一个行高度,然后在当前行尾排下此文字,行高等于前一行排布的文字高度的最大值;如果不大于排版区域宽度则直接在当前行尾排下此文字。具体流程图参见图5。本步骤中,对于含有错误字形描述信息的内嵌字体,通过纠错步骤得到字宽值,将当前的字宽累加到当前已排版文字宽度,然后将该宽度与排版区域宽度比较,不大于则直接插入,否则换行插入,这样就保证了文字依序顺次插入,保证了排版效果。
本实施例所述的文字修正方法,包括解析步骤、判断步骤、纠错步骤以及排版步骤,首先解析出文字资源以及文字内容,然后根据评判标准找出含有错误字形描述信息的内嵌字体,然后针对该内嵌字体进行等宽判断,针对是否等宽分别进行修正,将等宽文字和非等宽文字区别开来进行修正,用以解决排版过程中可能出现的行间距不均匀、文字间隙过大或文字重叠等问题,有效提高了内容的可读性与美观性。
实施例6:
本发明中本实施例的重点针对排版过程中需要依赖字形描述信息计算排字位置的过程,具体实施中涉及到的更细化的排版规则在本实施例中未有提及。本实施例中结合一个具体的应用实例,进行说明。
本实施例中给出一个ePub文档,排版后的效果如图7所示。它包含了3种字体,分别是标题的字体1,正文里的中文字体2和正文里的英文字体3,其中字体1是正确字体,字体2和字体3是含有错误字宽信息的字体。
本实施例中采用带有纠错功能的文本排版系统,参见图3,使用其对应的文字修正方法,流程图参见图2。首先解析出文档使用的3种字体资源以及文字流(步骤205);然后对解析出的3种字体分别进行判断(步骤210),判断出字体2和字体3是错误字体;然后计算出字体2中的等宽字(中文以及中文标点符号)字宽值(步骤215);最后通过排版单元将文字流进行排版(步骤220)。
具体过程如下:
(1)接收待分析的文档,如图7所示,解析出其中的字体资源以及文字内容。它包含了3种字体,分别是标题的字体1,正文里的中文字体2和正文里的英文字体3,其中字体1是正确字体,字体2和字体3是含有错误字宽信息的字体。
(2)判断过程参照图4,依次对3种字体进行评估(步骤305),判断字体是否为内嵌字体(步骤310),由于字体1是非内嵌字体,标记其为正确字体(步骤335)。
字体2和字体3都是内嵌字体,设定样本数为5,从各自的文字内容中选取5个文字样本(步骤315),对于字体2选取的文字样本是“冰”、“与”、“火”、“之”、“歌”,对于字体3选取的文字样本是“e”、“p”、“i”、“c”、“f”。分别获取这些文字样本字号1时的字宽值和字形边框矩形宽度值,具体数值如表1和表2所示。计算可得字体2与字体3的字宽值与字形边框宽度值比值均值分别是0.57和0.66(步骤320)。字体2属于中文字体,根据经验预设阈值范围为0.9-1.1,字体3属于英文字体,根据经验预设阈值范围为1.2-1.4。将字体2和字体3的比值均值与其所对应的阈值范围做对比(步骤325),两个字体都超出了阈值范围,将它们标记为含有错误字形描述信息的字体(步骤330)。
表1、 字体2文字样本字宽数值
  字宽值 0.5 0.5 0.5 0.5 0.5 字形边框矩形宽度值 0.95 0.95 0.95 0.95 0.95
表2、字体3文字样本字宽数值
  e p i c f 字宽值 0.25 0.25 0.1 0.25 0.2 字形边框矩形宽度值 0.38 0.38 0.15 0.38 0.31
(3)纠错过程参照图5,对于使用字体1的所有文字,不需要进行纠错。对于使用字体2的文字,以“冰”字为例说明,首先判断出其unicode属于等宽文字范围(步骤405),再判断它所使用的字体2是否已计算等宽文字字宽(步骤410),由于它是第一个被纠错的文字,尚未进行计算,则执行计算过程。选取字体2的等宽文字样本,仍然取用“冰”、“与”、“火”、“之”、“歌”这5个文字作为样本(步骤420),获取它们的字形边框宽度值并计算出均值0.95,再乘以修正系数1.05(经验值)进行修正,得到字体2的修正后的等宽字字宽1(步骤425)。乘以文字“冰”的字号10得到其实际字宽10(步骤430),使用字体2的其他等宽文字再纠正字宽时直接执行步骤430即可。对于使用字体3的文字,以“e”字为例说明,首先判断出其unicode不属于等宽文字范围(步骤410),获取此文字的字形边框矩形宽度值0.38,使用修正系数1.3(经验值)进行修正得到0.49(步骤415)。乘以文字“e”的字号10得到其实际字宽4.9(步骤430)。
(4)排版过程参照图6,此文档中的前四个字是标题文字,这里不展开说明标题的排版规则。接下来说明正文的排版过程。依次处理正文文字(步骤505),以“冰”字为例说明,判断出它使用错误字体(步骤510),然后通过纠错单元获得其正确字宽值10(步骤515),将当前文字的字宽累加至当前已排文字宽度,由30增长为40(步骤525),判断其小于排版区域宽度340(步骤530),则在当前行尾排下“冰”字(步骤540)。重复上述步骤直到文字“j”,获取到它的字宽2.5(步骤515),将其累加至当前已排文字宽度,由340增长至342.5(步骤525),判断其已经大于排版区域宽度(步骤530),则重置当前已排文字宽度为0,并将行基线累加一个行高度15(步骤535),然后在新的一行排下文字“j”。重复此过程直至排完所有文字。排版后的效果如图6所示。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

一种文字修正方法及系统.pdf_第1页
第1页 / 共19页
一种文字修正方法及系统.pdf_第2页
第2页 / 共19页
一种文字修正方法及系统.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《一种文字修正方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种文字修正方法及系统.pdf(19页珍藏版)》请在专利查询网上搜索。

一种文字修正方法及系统,获取文档中文字的至少一种字体,对于每种字体,根据该字体中的文字的字宽,选择出字形描述信息错误的字体,对字形描述信息错误的字体中的文字进行修正。通过字宽信息很好的表达出其字形描述信息,然后进行修正,用以解决排版过程中可能出现的行间距不均匀、文字间隙过大或文字重叠等问题,通过等宽文字和非等宽文字的特性,分别进行修正处理,有效提高了内容的可读性与美观性。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1