两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種文字修正方法及系統(tǒng)的制作方法

文檔序號(hào):6513473閱讀:234來(lái)源:國(guó)知局
一種文字修正方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】一種文字修正方法及系統(tǒng),獲取文檔中文字的至少一種字體,對(duì)于每種字體,根據(jù)該字體中的文字的字寬,選擇出字形描述信息錯(cuò)誤的字體,對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正。通過(guò)字寬信息很好的表達(dá)出其字形描述信息,然后進(jìn)行修正,用以解決排版過(guò)程中可能出現(xiàn)的行間距不均勻、文字間隙過(guò)大或文字重疊等問(wèn)題,通過(guò)等寬文字和非等寬文字的特性,分別進(jìn)行修正處理,有效提高了內(nèi)容的可讀性與美觀性。
【專(zhuān)利說(shuō)明】一種文字修正方法及系統(tǒng)

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種計(jì)算機(jī)文本處理領(lǐng)域,具體地說(shuō)是一種具有文字修正發(fā)明發(fā)及系 統(tǒng)。

【背景技術(shù)】
[0002] 計(jì)算機(jī)字體簡(jiǎn)稱(chēng)字體,是一種包含了字形集、字符碼集的數(shù)據(jù)集合。它包含了字符 碼到字形的映射關(guān)系,以及各個(gè)字形的描述信息。通過(guò)字形描述信息可以繪制出字形位圖。 計(jì)算機(jī)字符普遍通過(guò)文檔的形式呈現(xiàn)給用戶(hù)。流式文檔是指無(wú)固定版式的、內(nèi)容可依據(jù)其 展現(xiàn)媒介的實(shí)際大小而進(jìn)行內(nèi)容排布的文檔。ePub和TXT是常用的兩種流式文檔。帶有結(jié) 構(gòu)化信息的PDF和CEBX也可視為流式文檔。
[0003] 隨著智能手機(jī)的普及和移動(dòng)互聯(lián)網(wǎng)的興起,越來(lái)越多的人選擇使用移動(dòng)設(shè)備進(jìn)行 移動(dòng)閱讀,而流式文檔是最適合移動(dòng)閱讀的方案,因?yàn)橐苿?dòng)設(shè)備的產(chǎn)品種類(lèi)繁多,屏幕分辨 率與尺寸各不相同,流式內(nèi)容的"可重排性"使得它可以根據(jù)實(shí)際設(shè)備的情況來(lái)合理的展現(xiàn) 其內(nèi)容,這就極大的提高了內(nèi)容的可讀性與美觀性。
[0004] 但是,由于歷史原因?qū)е虏糠至魇轿募邪胁粐?yán)謹(jǐn)?shù)膬?nèi)嵌字體,這些字體含 有錯(cuò)誤的字形描述信息,有的是含有錯(cuò)誤的行高信息,有的是含有錯(cuò)誤的字寬信息等,這都 給正常的排版過(guò)程帶來(lái)了問(wèn)題,排出來(lái)的內(nèi)容出現(xiàn)行間距不均勻、文字間隙過(guò)大甚至文字 重疊在一起的現(xiàn)象。這極大的影響了內(nèi)容的可讀性與美觀性。
[0005] 為此,在現(xiàn)有技術(shù)中也出現(xiàn)了一些針對(duì)終端閱讀文檔的排版方法,在移動(dòng)終端的 網(wǎng)頁(yè)排版啟動(dòng)時(shí)或者網(wǎng)頁(yè)排版過(guò)程中字體發(fā)生改變時(shí),判斷待排版字符是否可以等寬處 理,如果可以等寬處理,則通過(guò)調(diào)用移動(dòng)終端中預(yù)先保存的字符寬度數(shù)據(jù)進(jìn)行字符的排版。 該方案中通過(guò)比較基準(zhǔn)字符串的長(zhǎng)度與實(shí)際待排版的字符長(zhǎng)度和來(lái)判斷待排版字是否可 以等寬處理,此方法可以實(shí)現(xiàn)對(duì)等寬文字如中文、日文、韓文的處理,但是對(duì)于同時(shí)存在等 寬文字和非等寬文字(如英語(yǔ)、德語(yǔ))的文檔,由于非等寬文字根據(jù)其包含的字符多少,其 寬度差別很大,該方法無(wú)法適用。此外,在這些方案中,對(duì)于含有錯(cuò)誤字形描述信息的文檔, 無(wú)法有效識(shí)別并進(jìn)行相應(yīng)的處理,因此對(duì)于含有錯(cuò)誤字形描述信息的文檔,無(wú)法有效識(shí)別 字形描述信息是否錯(cuò)誤,也無(wú)法進(jìn)行分別處理,導(dǎo)致對(duì)于等寬文字和非等寬文字的排版錯(cuò) 誤不能很好的發(fā)現(xiàn),字體排版效果差。


【發(fā)明內(nèi)容】

[0006] 為此,本發(fā)明所要解決的技術(shù)問(wèn)題在于現(xiàn)有技術(shù)中的排版方式無(wú)法對(duì)同時(shí)存在等 寬文字和非等寬文字的字形描述信息的錯(cuò)誤很好的發(fā)現(xiàn)并及時(shí)修正的問(wèn)題,從而提出一種 可以對(duì)存在等寬文字和非等寬文字的文檔進(jìn)行糾錯(cuò)的帶有糾錯(cuò)功能的文字修正方法及系 統(tǒng)。
[0007] 為解決上述技術(shù)問(wèn)題,本發(fā)明的提供一種文字修正方法及系統(tǒng), 一種文字修正方法,包括: 獲取文檔中文字的至少一種字體; 對(duì)于每種字體,根據(jù)該字體中的文字的字寬,選擇出字形描述信息錯(cuò)誤的字體; 對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正。
[0008] 本發(fā)明所述的文本排版方法,所述根據(jù)該字體中的文字的字寬,選擇出字形描述 信息錯(cuò)誤的字體的處理包括: 選取該字體中的至少兩個(gè)文字,計(jì)算每個(gè)文字的字寬值與該文字的字形邊框矩形寬度 的比值,并計(jì)算平均值; 根據(jù)所述平均值是否超出閾值,確定所述字體的字形描述信息是否錯(cuò)誤。
[0009] 本發(fā)明所述的文本排版方法,對(duì)于等寬文字,所述閾值為0. 9-1. 1 ;對(duì)于非等寬文 字,所述閾值為1.2-1. 4。
[0010] 本發(fā)明所述的文字修正方法,所述對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正 的處理包括: 根據(jù)文字的字形邊框矩形寬度,對(duì)所述文字的字寬進(jìn)行修正。
[0011] 本發(fā)明所述的文字修正方法,對(duì)所述文字的字寬進(jìn)行修正時(shí),利用下述公式進(jìn)行 修正:W=DXa :W為修正后的字寬值,D為該文字的字形邊框矩形寬度值,a為修正系數(shù),對(duì)于 等寬文字,a=l. 01-1. 1,對(duì)于非等寬文字a=l. 22-1. 35。
[0012] 本發(fā)明所述的文字修正方法,對(duì)于等寬文字,修正系數(shù)a=l. 05,對(duì)于非等寬文字修 正系數(shù)a=l. 3。
[0013] 本發(fā)明所述的文字修正方法,所述對(duì)于每種字體,根據(jù)該字體中的文字的字寬, 選擇出字形描述信息錯(cuò)誤的字體的過(guò)程中,針對(duì)內(nèi)嵌字體進(jìn)行處理。
[0014] 本發(fā)明所述的文字修正方法,所述對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正 的過(guò)程,包括:對(duì)于字形描述信息錯(cuò)誤的字體中的文字,首先判斷其是否為等寬文字,對(duì)于 等寬文字計(jì)算樣本均值并進(jìn)行修正,對(duì)于非等寬文字獲取字符的字形邊框矩形寬度值并進(jìn) 行修正。
[0015] 本發(fā)明所述的文字修正方法,對(duì)于等寬文字計(jì)算樣本均值并進(jìn)行修正的過(guò)程如 下: 首先,判斷該文字的字寬是否已經(jīng)計(jì)算,若未計(jì)算則選取使用該字體的等寬文字樣本, 然后獲取樣本的字形邊框?qū)挾戎挡⒂?jì)算出均值,再用修正系數(shù)予以修正獲得修正后寬度 值;若已經(jīng)計(jì)算,則直接調(diào)用之前的計(jì)算結(jié)果。
[0016] 本發(fā)明所述的文字修正方法,還包括排版步驟,對(duì)字形描述信息錯(cuò)誤的字體中的 文字進(jìn)行修正后進(jìn)行排版,對(duì)于不含字形描述信息錯(cuò)誤的字體的文字直接獲取字寬值后排 版,排版過(guò)程為將當(dāng)前字寬累加至當(dāng)前已排文字寬度,如果大于排版區(qū)域?qū)挾?,則重置當(dāng)前 已排文字寬度并將行基線累加一個(gè)行高度,然后在當(dāng)前行尾排下此文字;如果不大于排版 區(qū)域?qū)挾葎t直接在當(dāng)前行尾排下此文字。
[0017] 一種文字修正系統(tǒng),包括: 獲取單元:獲取文檔中文字的至少一種字體; 選擇單元:對(duì)于每種字體,根據(jù)該字體中的文字的字寬,選擇出字形描述信息錯(cuò)誤的字 體; 修正單元:對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正。
[0018] 本發(fā)明所述的文本排版系統(tǒng),所述選擇單元包括: 均值計(jì)算模塊:選取該字體中的至少兩個(gè)文字,計(jì)算每個(gè)文字的字寬值與該文字的字 形邊框矩形寬度的比值,并計(jì)算平均值; 判斷模塊:根據(jù)所述平均值是否超出閾值,確定所述字體的字形描述信息是否錯(cuò)誤。
[0019] 本發(fā)明所述的文本排版系統(tǒng),對(duì)于等寬文字,所述閾值為0. 9-1. 1 ;對(duì)于非等寬文 字,所述閾值為1.2-1. 4。
[0020] 本發(fā)明所述的文字修正系統(tǒng),所述修正單元包括:修正模塊,根據(jù)文字的字形邊框 矩形寬度,對(duì)所述文字的字寬進(jìn)行修正。
[0021] 本發(fā)明文字修正系統(tǒng),所述修正模塊中,利用下述公式進(jìn)行修正:W=D X a : W為 修正后的字寬值,D為該文字的字形邊框矩形寬度值,a為修正系數(shù),對(duì)于等寬文字, a=l. Ol-L 1,對(duì)于非等寬文字 a=l. 22-1. 35。
[0022] 本發(fā)明所述的文字修正系統(tǒng),對(duì)于等寬文字,修正系數(shù)a=l. 05,對(duì)于非等寬文字修 正系數(shù)a=l. 3。
[0023] 本發(fā)明所述的文字修正系統(tǒng),所述選擇單元中,針對(duì)內(nèi)嵌字體進(jìn)行處理。
[0024] 本發(fā)明所述的文字修正系統(tǒng),所述修正單元包括 判斷模塊,對(duì)于字形描述信息錯(cuò)誤的字體中的文字,首先判斷其是否為等寬文字; 等寬文字修正模塊:對(duì)于等寬文字計(jì)算樣本均值并進(jìn)行修正; 非等寬文字修正模塊:對(duì)于非等寬文字獲取字符的字形邊框矩形寬度值并進(jìn)行修正。
[0025] 本發(fā)明所述的文字修正系統(tǒng),所述等寬文字修正模塊中包括: 判斷子模塊:判斷該文字的字寬是否已經(jīng)計(jì)算, 計(jì)算子模塊:若未計(jì)算則選取使用該字體的等寬文字樣本,然后獲取樣本的字形邊框 寬度值并計(jì)算出均值,再用修正系數(shù)予以修正獲得修正后寬度值; 調(diào)用子模塊:若已經(jīng)計(jì)算,則直接調(diào)用之前的計(jì)算結(jié)果。
[0026] 本發(fā)明所述的文字修正系統(tǒng),還包括排版單元,對(duì)字形描述信息錯(cuò)誤的字體中的 文字進(jìn)行修正后進(jìn)行排版,對(duì)于不含字形描述信息錯(cuò)誤的字體的文字直接獲取字寬值后排 版,排版過(guò)程為將當(dāng)前字寬累加至當(dāng)前已排文字寬度,如果大于排版區(qū)域?qū)挾?,則重置當(dāng)前 已排文字寬度并將行基線累加一個(gè)行高度,然后在當(dāng)前行尾排下此文字;如果不大于排版 區(qū)域?qū)挾葎t直接在當(dāng)前行尾排下此文字。
[0027] 本發(fā)明的上述技術(shù)方案相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn), (1)本發(fā)明所述的一種文字修正方法及系統(tǒng),獲取文檔中文字的至少一種字體,對(duì)于每 種字體,根據(jù)該字體中的文字的字寬,選擇出字形描述信息錯(cuò)誤的字體,對(duì)字形描述信息錯(cuò) 誤的字體中的文字進(jìn)行修正。通過(guò)字寬信息很好的表達(dá)出其字形描述信息,然后進(jìn)行修正, 用以解決排版過(guò)程中可能出現(xiàn)的行間距不均勻、文字間隙過(guò)大或文字重疊等問(wèn)題,有效提 高了內(nèi)容的可讀性與美觀性。
[0028] (2)本發(fā)明所述的文字修正方法,字形描述信息錯(cuò)誤的字體通過(guò)以下方式獲得: 選取該字體中的至少兩個(gè)文字,計(jì)算每個(gè)文字的字寬值與該文字的字形邊框矩形寬度的比 值,并計(jì)算平均值;根據(jù)所述平均值是否超出閾值,確定所述字體的字形描述信息是否錯(cuò) 誤。對(duì)于等寬文字,所述閾值為〇. 9-1. 1 ;對(duì)于非等寬文字,所述閾值為1. 2-1. 4,采用該方 法可以有效的獲得字形描述信息是否發(fā)生了錯(cuò)誤,提高了錯(cuò)誤的識(shí)別率。
[0029] (3)本發(fā)明所述的文字修正方法,根據(jù)文字的字形邊框矩形寬度,對(duì)所述文字的字 寬進(jìn)行修正,利用下述公式進(jìn)行修正:W=DXa :W為修正后的字寬值,D為該文字的字形邊框 矩形寬度值,a為修正系數(shù),對(duì)于等寬文字,a=l. 01-1. 1,優(yōu)選修正系數(shù)a=l. 05。對(duì)于非等寬 文字a=l. 22-1. 35,優(yōu)選a=l. 3。通過(guò)修正系數(shù)對(duì)等寬文字和非等寬文字分別修正,提高了 修正后文字的整齊和美觀性。
[0030] (4)本發(fā)明所述的文字修正方法,針對(duì)內(nèi)嵌字體進(jìn)行處理,由于非內(nèi)嵌字體無(wú)需處 理即可正常排版,對(duì)于字形描述信息正確的內(nèi)嵌字體也無(wú)需處理,因此通過(guò)上述方法獲得 含有錯(cuò)誤字形描述信息的內(nèi)嵌字體,并有針對(duì)性的處理,減少了處理量,提高了處理速度, 此外,通過(guò)樣本統(tǒng)計(jì)的方式,使得該方法具有普遍的適用性,且實(shí)現(xiàn)起來(lái)簡(jiǎn)單方便。
[0031] (5)本發(fā)明所述的文字修正方法,對(duì)于使用含有錯(cuò)誤字形描述信息字體的文字,首 先判斷其是否為等寬文字,對(duì)于等寬文字計(jì)算樣本均值并進(jìn)行修正,對(duì)于非等寬文字獲取 字符的字形邊框矩形寬度值并進(jìn)行修正。針對(duì)等寬和非等寬文字,采取不同的修正策略, 由于等寬文字如中文、韓文,其本身等寬,因此一次計(jì)算后,后續(xù)可直接調(diào)用;針對(duì)非等寬文 字,等需要單獨(dú)針對(duì)每個(gè)字符進(jìn)行處理,這樣,通過(guò)針對(duì)性的修正,提高了其計(jì)算的準(zhǔn)確性。
[0032] (6)本發(fā)明所述的文字修正方法,對(duì)于含有錯(cuò)誤字形描述信息的字體,通過(guò)修正得 到字寬值,將當(dāng)前的字寬累加到當(dāng)前已排版文字寬度,然后將該寬度與排版區(qū)域?qū)挾缺容^, 不大于則直接插入,否則換行插入,這樣就保證了文字依序順次插入,保證了排版效果。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0033] 為了使本發(fā)明的內(nèi)容更容易被清楚的理解,下面根據(jù)本發(fā)明的具體實(shí)施例并結(jié)合 附圖,對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明,其中 圖1是本發(fā)明的一個(gè)實(shí)施例1的文字修正方法的流程圖; 圖2是本發(fā)明的另外一個(gè)實(shí)施例的文字修正方法的流程圖; 圖3是本發(fā)明的實(shí)施例中的文字修正系統(tǒng)的結(jié)構(gòu)圖; 圖4是本發(fā)明的實(shí)施例中判斷步驟的方法流程圖; 圖5是本發(fā)明的實(shí)施例中糾錯(cuò)步驟的方法流程圖; 圖6是本發(fā)明的實(shí)施例中排版步驟的方法流程圖; 圖7是本發(fā)明的實(shí)施例所述的使用文字修正方法排版后的效果圖。

【具體實(shí)施方式】
[0034] 下面給出本發(fā)明所述的文字修正方法及系統(tǒng)的具體的實(shí)施方式,將配合附圖及實(shí) 施例來(lái)詳細(xì)說(shuō)明,借此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題并達(dá)到技術(shù)功效的實(shí)現(xiàn) 過(guò)程能充分理解并據(jù)以實(shí)現(xiàn)。
[0035] 實(shí)施例1 : 本實(shí)施例中提供一種文字修正方法,流程圖如圖1所示,包括: (1) 獲取文檔中文字的至少一種字體; (2) 對(duì)于每種字體,根據(jù)該字體中的文字的字寬,選擇出字形描述信息錯(cuò)誤的字體。具 體過(guò)程如下: 選取該字體中的至少兩個(gè)文字,計(jì)算每個(gè)文字的字寬值與該文字的字形邊框矩形寬度 的比值,并計(jì)算平均值;根據(jù)所述平均值是否超出閾值,確定所述字體的字形描述信息是否 錯(cuò)誤。對(duì)于等寬文字,所述閾值取0.9或1或I. 1 ;對(duì)于非等寬文字,所述閾值為1.2或1.3 或 1. 4。
[0036] (3)對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正。根據(jù)文字的字形邊框矩形寬 度,對(duì)所述文字的字寬進(jìn)行修正。修正利用下述公式進(jìn)行修正:W=DXa,其中W為修正后的 字寬值,D為該文字的字形邊框矩形寬度值,對(duì)于等寬文字,修正系數(shù)a=l. 05,對(duì)于非等寬 文字修正系數(shù)a=1.3。
[0037] 在其他的實(shí)施方式中,修正系數(shù)a可以根據(jù)需要選擇,對(duì)于等寬文字,a-般取值 為:1. 01-1. 1,對(duì)于非等寬文字a -般取值范圍為1. 22-1. 35. 實(shí)施例2 : 本實(shí)施例中提供一種與實(shí)施例1對(duì)應(yīng)的文字修正系統(tǒng),包括: (1) 獲取單元:獲取文檔中文字的至少一種字體; (2) 選擇單元:對(duì)于每種字體,根據(jù)該字體中的文字的字寬,選擇出字形描述信息錯(cuò)誤 的字體。具體過(guò)程如下: 選取該字體中的至少兩個(gè)文字,計(jì)算每個(gè)文字的字寬值與該文字的字形邊框矩形寬度 的比值,并計(jì)算平均值;根據(jù)所述平均值是否超出閾值,確定所述字體的字形描述信息是否 錯(cuò)誤。對(duì)于等寬文字,所述閾值取0.9或1或I. 1 ;對(duì)于非等寬文字,所述閾值為1.2或1.3 或 1. 4。
[0038] (3)修正單元:對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正。根據(jù)文字的字形 邊框矩形寬度,對(duì)所述文字的字寬進(jìn)行修正。修正利用下述公式進(jìn)行修正:W=DXa,其中W 為修正后的字寬值,D為該文字的字形邊框矩形寬度值,對(duì)于等寬文字,修正系數(shù)a=l. 05, 對(duì)于非等寬文字修正系數(shù)a=l. 3。
[0039] 在其他的實(shí)施方式中,修正單元中的修正系數(shù)a可以根據(jù)需要選擇,對(duì)于等寬文 字,a-般取值為:1.01-1. 1,對(duì)于非等寬文字a-般取值范圍為1.22-1.35. 實(shí)施例3 : 本實(shí)施例中提供另外一種文字修正方法,包括: (1) 獲取文檔中文字的至少一種字體; (2) 對(duì)于每種字體,針對(duì)內(nèi)嵌字體進(jìn)行處理,對(duì)于內(nèi)嵌字體,根據(jù)該字體中的文字的字 寬,選擇出字形描述信息錯(cuò)誤的字體。
[0040] 選取該字體中的五個(gè)文字作為樣本,計(jì)算每個(gè)文字的字寬值與該文字的字形邊框 矩形寬度的比值,并計(jì)算平均值;根據(jù)所述平均值是否超出閾值,確定所述字體的字形描述 信息是否錯(cuò)誤。對(duì)于等寬文字,所述閾值取I. 1 ;對(duì)于非等寬文字,所述閾值為1. 3。
[0041] (3)對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正。對(duì)于字形描述信息錯(cuò)誤的字 體中的文字,首先判斷其是否為等寬文字, 對(duì)于等寬文字計(jì)算樣本均值并進(jìn)行修正,過(guò)程如下: 首先,判斷該文字的字寬是否已經(jīng)計(jì)算,若未計(jì)算則選取使用該字體的等寬文字樣本, 然后獲取樣本的字形邊框?qū)挾戎挡⒂?jì)算出均值,再用修正系數(shù)予以修正獲得修正后寬度 值,修正利用下述公式進(jìn)行修正:W=DXa,其中W為修正后的字寬值,D為該文字的字形邊框 矩形寬度值的樣本均值,修正系數(shù)a=l. 07 ;若已經(jīng)計(jì)算,則直接調(diào)用之前的計(jì)算結(jié)果。
[0042] 對(duì)于非等寬文字獲取字符的字形邊框矩形寬度值并通過(guò)修正系數(shù)進(jìn)行修正。 W=DXa,W為修正后的字寬值,D為該文字的字形邊框矩形寬度值,a=l. 25. 作為其他實(shí)施方式,上述修正過(guò)程后還包括排版步驟,如圖2所示,對(duì)字形描述信息錯(cuò) 誤的字體中的文字進(jìn)行修正后進(jìn)行排版,對(duì)于不含字形描述信息錯(cuò)誤的字體的文字直接獲 取字寬值后排版,排版過(guò)程為將當(dāng)前字寬累加至當(dāng)前已排文字寬度,如果大于排版區(qū)域?qū)?度,則重置當(dāng)前已排文字寬度并將行基線累加一個(gè)行高度,然后在當(dāng)前行尾排下此文字;如 果不大于排版區(qū)域?qū)挾葎t直接在當(dāng)前行尾排下此文字。
[0043] 實(shí)施例4 : 本實(shí)施例提供一種文字修正系統(tǒng),包括: (1) 解析單元(也可稱(chēng)為獲取單元):獲取文檔中文字的至少一種字體; (2) 判斷單元(或稱(chēng)為選擇單元):對(duì)于每種字體,根據(jù)該字體中的文字的字寬,選擇出 字形描述信息錯(cuò)誤的字體。包括: 均值計(jì)算模塊:選取該字體中的至少兩個(gè)文字,計(jì)算每個(gè)文字的字寬值與該文字的字 形邊框矩形寬度的比值,并計(jì)算平均值。
[0044] 判斷模塊:根據(jù)所述平均值是否超出閾值,確定所述字體的字形描述信息是否錯(cuò) 誤。
[0045] (3)糾錯(cuò)單元(或稱(chēng)為修正單元):對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正, 包括 3.1、判斷模塊,對(duì)于字形描述信息錯(cuò)誤的字體中的文字,首先判斷其是否為等寬文字。
[0046] 3. 2、等寬文字修正模塊:對(duì)于等寬文字計(jì)算樣本均值并進(jìn)行修正,包括: 判斷子模塊:判斷該文字的字寬是否已經(jīng)計(jì)算, 計(jì)算子模塊:若未計(jì)算則選取使用該字體的等寬文字樣本,然后獲取樣本的字形邊框 寬度值并計(jì)算出均值,再用修正系數(shù)予以修正獲得修正后寬度值; 調(diào)用子模塊:若已經(jīng)計(jì)算,則直接調(diào)用之前的計(jì)算結(jié)果。
[0047] 3. 3、非等寬文字修正模塊:對(duì)于非等寬文字獲取字符的字形邊框矩形寬度值并進(jìn) 行修正。
[0048] (4)排版單元,對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正后進(jìn)行排版,對(duì)于不 含字形描述信息錯(cuò)誤的字體的文字直接獲取字寬值后排版,排版過(guò)程為將當(dāng)前字寬累加至 當(dāng)前已排文字寬度,如果大于排版區(qū)域?qū)挾?,則重置當(dāng)前已排文字寬度并將行基線累加一 個(gè)行高度,然后在當(dāng)前行尾排下此文字;如果不大于排版區(qū)域?qū)挾葎t直接在當(dāng)前行尾排下 此文字。
[0049] 實(shí)施例5 : 下面給出本發(fā)明的一個(gè)【具體實(shí)施方式】,一種文字修正方法,包括如下步驟: (1)解析步驟:接收文檔的文字信息,如接收一流式文字內(nèi)容,本實(shí)施例中為ePub流式 文檔,解析出其中的字體資源以及文字內(nèi)容,見(jiàn)圖2中205步。
[0050] 所述字體資源為字體數(shù)據(jù),是一種包含了字形集、字符碼集的數(shù)據(jù)集合,它描述了 字符碼到字形的映射關(guān)系,以及各個(gè)字形的描述信息。簡(jiǎn)單來(lái)說(shuō)字體描述了每個(gè)字畫(huà)成什 么樣以及它的寬度、高度等信息。字體可以以獨(dú)立文件的形式存在,也可以?xún)?nèi)嵌到文檔中成 為文檔的一部分。
[0051] 所述文字內(nèi)容為文字的順序、系統(tǒng)為字體分配的用于標(biāo)識(shí)字體的字體名稱(chēng)或編 號(hào)、用于描述文字被繪制時(shí)的尺寸大小的字號(hào)、以及各個(gè)文字所對(duì)應(yīng)的的Unicode編碼值。 也可以認(rèn)為文字內(nèi)容就是文字描述的集合,一個(gè)文字描述主要包括它的碼值(通過(guò)碼值確 定具體是哪個(gè)字),還有它使用了哪個(gè)字體。通過(guò)解析步驟可以將接收到的數(shù)據(jù)內(nèi)容解析為 字體資源及文字內(nèi)容。本實(shí)施例中,針對(duì)不同的字體數(shù)據(jù)分別進(jìn)行處理,由于不同的字體有 不同字寬以及不同的修正參數(shù),針對(duì)不同的字體數(shù)據(jù)分別處理,可以提高對(duì)各個(gè)字體的判 斷結(jié)果,并提高修正效果,從而大大更好的排版效果。
[0052] (2)判斷步驟:找出含有錯(cuò)誤字形描述信息的內(nèi)嵌字體。在此步驟中,針對(duì)每種字 體資源依次進(jìn)行判斷,判斷出含有錯(cuò)誤字形描述信息的字體,見(jiàn)圖2中210步驟。首先判 斷當(dāng)前待分析字體是否為內(nèi)嵌字體,如果當(dāng)前待判斷字體是非內(nèi)嵌字體,則可認(rèn)為是正確 字體;對(duì)于內(nèi)嵌字體則進(jìn)行處理:從解析出的文字內(nèi)容中選取一定數(shù)量的文字樣本,這些 文字樣本都屬于該待判斷的字體,且它們不是標(biāo)點(diǎn)符號(hào),然后對(duì)這些文字樣本分別獲取同 一字號(hào)的字寬值和字形邊框矩形寬度值,計(jì)算出每個(gè)樣本中文字的字寬值與字形邊框矩形 寬度值的比值,并統(tǒng)計(jì)平均值,然后判斷所述平均值是否超出閾值,若平均值超出閾值范圍 (過(guò)大或過(guò)小),則標(biāo)記此字體為含有錯(cuò)誤字形描述信息的內(nèi)嵌字體。
[0053] 本步驟中,通過(guò)統(tǒng)計(jì)樣本中字寬值與字形邊框矩形寬度的比值的平均值,與閾值 范圍進(jìn)行比較,從而獲得含有錯(cuò)誤字形描述信息的內(nèi)嵌字體,由于非內(nèi)嵌字體無(wú)需處理即 可正常排版,對(duì)于字形描述信息正確的內(nèi)嵌字體也無(wú)需處理,因此通過(guò)上述方法獲得含有 錯(cuò)誤字形描述信息的內(nèi)嵌字體,并有針對(duì)性的處理,減少了處理量,提高了處理速度,此外, 通過(guò)樣本統(tǒng)計(jì)的方式,使得該方法具有普遍的適用性,且實(shí)現(xiàn)起來(lái)簡(jiǎn)單方便。
[0054] (3)糾錯(cuò)步驟:對(duì)于使用含有錯(cuò)誤字形描述信息字體的文字,首先判斷其是否為等 寬文字,根據(jù)判斷結(jié)果,分別對(duì)使用了判斷步驟中被判為含有錯(cuò)誤字形描述信息字體的那 些文字進(jìn)行修正,見(jiàn)圖2中步驟215。首先對(duì)于使用含有錯(cuò)誤字形描述信息的字體的文字, 根據(jù)其Unicode編碼值判斷該內(nèi)嵌字體是否屬于等寬文字(如中文、日文、韓文等),還是屬 于其他非等寬文字。對(duì)于等寬文字,每一個(gè)字體只需要計(jì)算一次字寬,取一定數(shù)量文字樣 本的字形邊框矩形寬度值平均值,再用修正系數(shù)(根據(jù)經(jīng)驗(yàn)確定的經(jīng)驗(yàn)值)對(duì)平均值進(jìn)行修 正,即算出此字體所有等寬文字的字寬。由于每一個(gè)字體只需要計(jì)算一次字寬,在后續(xù)判斷 中,首先,判斷該文字的字寬是否已經(jīng)計(jì)算,若未計(jì)算則選取使用該字體的等寬文字樣本, 然后獲取樣本的字形邊框?qū)挾戎挡⒂?jì)算出均值,再用修正系數(shù)予以修正。如果已經(jīng)計(jì)算過(guò), 則直接調(diào)用之前計(jì)算出的此字體所有等寬文字的字寬。對(duì)于非等寬文字,需要為每個(gè)字符 單元計(jì)算字寬,先獲取字符的字形邊框矩形寬度值,在用修正系數(shù)(經(jīng)驗(yàn)值)進(jìn)行修正。修正 后寬度值乘以字號(hào)得到實(shí)際字寬,所述實(shí)際字寬為正確的字寬值。
[0055] 在此糾錯(cuò)步驟中,首先對(duì)于使用含有錯(cuò)誤字形描述信息字體的文字,首先判斷其 是否為等寬文字,對(duì)于等寬文字計(jì)算樣本均值并進(jìn)行修正,對(duì)于非等寬文字獲取字符的字 形邊框矩形寬度值并進(jìn)行修正。針對(duì)等寬和非等寬文字,采取不同的修正策略,由于等寬文 字如中文、韓文,其本身等寬,因此一次計(jì)算后,后續(xù)可直接調(diào)用;針對(duì)非等寬文字,等需要 單獨(dú)針對(duì)每個(gè)字符進(jìn)行處理,這樣,通過(guò)針對(duì)性的修正,提高了其計(jì)算的準(zhǔn)確性。由于在修 正過(guò)程中,是以相對(duì)值為標(biāo)準(zhǔn)進(jìn)行的修正,因此修正完畢后,需要乘以字號(hào)得到實(shí)際字寬。
[0056] (4)排版步驟:將所有文字進(jìn)行排版。排版是將文字流中的文字逐個(gè)放置到適合 展示媒介大小的排版區(qū)域上,即將流式文字進(jìn)行排布和斷行,依據(jù)修正后的字寬信息將文 字逐個(gè)排布,從而確定每個(gè)文字在展示媒介上的具體坐標(biāo),見(jiàn)圖2中步驟220。首先,依次處 理文字流中的每一個(gè)文字;對(duì)于含有錯(cuò)誤字形描述信息的內(nèi)嵌字體通過(guò)糾錯(cuò)步驟得到正確 的字寬值,對(duì)于不含錯(cuò)誤字形描述信息的內(nèi)嵌字體以及非內(nèi)嵌字體,直接獲取字寬值;然后 將當(dāng)前字寬累加至當(dāng)前行已排文字寬度,用此寬度與排版區(qū)域?qū)挾冗M(jìn)行比較,如果大于排 版區(qū)域?qū)挾?,則重置當(dāng)前行已排文字寬度并將行基線累加一個(gè)行高度,然后在當(dāng)前行尾排 下此文字,行高等于前一行排布的文字高度的最大值;如果不大于排版區(qū)域?qū)挾葎t直接在 當(dāng)前行尾排下此文字。具體流程圖參見(jiàn)圖5。本步驟中,對(duì)于含有錯(cuò)誤字形描述信息的內(nèi) 嵌字體,通過(guò)糾錯(cuò)步驟得到字寬值,將當(dāng)前的字寬累加到當(dāng)前已排版文字寬度,然后將該寬 度與排版區(qū)域?qū)挾缺容^,不大于則直接插入,否則換行插入,這樣就保證了文字依序順次插 入,保證了排版效果。
[0057] 本實(shí)施例所述的文字修正方法,包括解析步驟、判斷步驟、糾錯(cuò)步驟以及排版步 驟,首先解析出文字資源以及文字內(nèi)容,然后根據(jù)評(píng)判標(biāo)準(zhǔn)找出含有錯(cuò)誤字形描述信息的 內(nèi)嵌字體,然后針對(duì)該內(nèi)嵌字體進(jìn)行等寬判斷,針對(duì)是否等寬分別進(jìn)行修正,將等寬文字和 非等寬文字區(qū)別開(kāi)來(lái)進(jìn)行修正,用以解決排版過(guò)程中可能出現(xiàn)的行間距不均勻、文字間隙 過(guò)大或文字重疊等問(wèn)題,有效提高了內(nèi)容的可讀性與美觀性。
[0058] 實(shí)施例6 : 本發(fā)明中本實(shí)施例的重點(diǎn)針對(duì)排版過(guò)程中需要依賴(lài)字形描述信息計(jì)算排字位置的過(guò) 程,具體實(shí)施中涉及到的更細(xì)化的排版規(guī)則在本實(shí)施例中未有提及。本實(shí)施例中結(jié)合一個(gè) 具體的應(yīng)用實(shí)例,進(jìn)行說(shuō)明。
[0059] 本實(shí)施例中給出一個(gè)ePub文檔,排版后的效果如圖7所示。它包含了 3種字體, 分別是標(biāo)題的字體1,正文里的中文字體2和正文里的英文字體3,其中字體1是正確字體, 字體2和字體3是含有錯(cuò)誤字寬信息的字體。
[0060] 本實(shí)施例中采用帶有糾錯(cuò)功能的文本排版系統(tǒng),參見(jiàn)圖3,使用其對(duì)應(yīng)的文字修正 方法,流程圖參見(jiàn)圖2。首先解析出文檔使用的3種字體資源以及文字流(步驟205);然后 對(duì)解析出的3種字體分別進(jìn)行判斷(步驟210),判斷出字體2和字體3是錯(cuò)誤字體;然后計(jì) 算出字體2中的等寬字(中文以及中文標(biāo)點(diǎn)符號(hào))字寬值(步驟215);最后通過(guò)排版單元將 文字流進(jìn)行排版(步驟220)。
[0061] 具體過(guò)程如下: (1)接收待分析的文檔,如圖7所示,解析出其中的字體資源以及文字內(nèi)容。它包含了 3種字體,分別是標(biāo)題的字體1,正文里的中文字體2和正文里的英文字體3,其中字體1是 正確字體,字體2和字體3是含有錯(cuò)誤字寬信息的字體。
[0062] (2)判斷過(guò)程參照?qǐng)D4,依次對(duì)3種字體進(jìn)行評(píng)估(步驟305),判斷字體是否為內(nèi)嵌 字體(步驟310),由于字體1是非內(nèi)嵌字體,標(biāo)記其為正確字體(步驟335)。
[0063] 字體2和字體3都是內(nèi)嵌字體,設(shè)定樣本數(shù)為5,從各自的文字內(nèi)容中選取5個(gè)文 字樣本(步驟315),對(duì)于字體2選取的文字樣本是"冰"、"與"、"火"、"之"、"歌",對(duì)于字體3 選取的文字樣本是"6"、"?"、"1"、"〇"、竹"。分別獲取這些文字樣本字號(hào)1時(shí)的字寬值和字 形邊框矩形寬度值,具體數(shù)值如表1和表2所示。計(jì)算可得字體2與字體3的字寬值與字 形邊框?qū)挾戎当戎稻捣謩e是0.57和0.66 (步驟320)。字體2屬于中文字體,根據(jù)經(jīng)驗(yàn) 預(yù)設(shè)閾值范圍為0. 9-1. 1,字體3屬于英文字體,根據(jù)經(jīng)驗(yàn)預(yù)設(shè)閾值范圍為I. 2-1. 4。將字 體2和字體3的比值均值與其所對(duì)應(yīng)的閾值范圍做對(duì)比(步驟325),兩個(gè)字體都超出了閾值 范圍,將它們標(biāo)記為含有錯(cuò)誤字形描述信息的字體(步驟330)。
[0064] 表1、字體2文字樣本字寬數(shù)值

【權(quán)利要求】
1. 一種文字修正方法,其特征在于,包括: 獲取文檔中文字的至少一種字體; 對(duì)于每種字體,根據(jù)該字體中的文字的字寬,選擇出字形描述信息錯(cuò)誤的字體; 對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正。
2. 根據(jù)權(quán)利要求1所述的文本排版方法,其特征在于,所述根據(jù)該字體中的文字的字 寬,選擇出字形描述信息錯(cuò)誤的字體的處理包括: 選取該字體中的至少兩個(gè)文字,計(jì)算每個(gè)文字的字寬值與該文字的字形邊框矩形寬度 的比值,并計(jì)算平均值; 根據(jù)所述平均值是否超出閾值,確定所述字體的字形描述信息是否錯(cuò)誤。
3. 根據(jù)權(quán)利要求2所述的文本排版方法,其特征在于,對(duì)于等寬文字,所述閾值為 0. 9-1. 1 ;對(duì)于非等寬文字,所述閾值為1. 2-1. 4。
4. 根據(jù)權(quán)利要求1或2或3所述的文字修正方法,其特征在于,所述對(duì)字形描述信息錯(cuò) 誤的字體中的文字進(jìn)行修正的處理包括: 根據(jù)文字的字形邊框矩形寬度,對(duì)所述文字的字寬進(jìn)行修正。
5. 根據(jù)權(quán)利要求4所述的文字修正方法,其特征在于,對(duì)所述文字的字寬進(jìn)行修正時(shí), 利用下述公式進(jìn)行修正:W=DXa:W為修正后的字寬值,D為該文字的字形邊框矩形寬度值, a為修正系數(shù),對(duì)于等寬文字,a=l. 01-1. 1,對(duì)于非等寬文字a=l. 22-1. 35。
6. 根據(jù)權(quán)利要求5所述的文字修正方法,其特征在于,對(duì)于等寬文字,修正系數(shù) a=l. 05,對(duì)于非等寬文字修正系數(shù)a=l. 3。
7. 根據(jù)權(quán)利要求1-6中的任一項(xiàng)所述的文字修正方法,其特征在于,所述對(duì)于每種字 體,根據(jù)該字體中的文字的字寬,選擇出字形描述信息錯(cuò)誤的字體的過(guò)程中,針對(duì)內(nèi)嵌字體 進(jìn)行處理。
8. 根據(jù)權(quán)利要求1 _7任一所述的文字修正方法,其特征在于,所述對(duì)字形描述信息錯(cuò) 誤的字體中的文字進(jìn)行修正的過(guò)程,包括:對(duì)于字形描述信息錯(cuò)誤的字體中的文字,首先判 斷其是否為等寬文字,對(duì)于等寬文字計(jì)算樣本均值并進(jìn)行修正,對(duì)于非等寬文字獲取字符 的字形邊框矩形寬度值并進(jìn)行修正。
9. 根據(jù)權(quán)利要求8所述的文字修正方法,其特征在于,對(duì)于等寬文字計(jì)算樣本均值并 進(jìn)行修正的過(guò)程如下: 首先,判斷該文字的字寬是否已經(jīng)計(jì)算,若未計(jì)算則選取使用該字體的等寬文字樣本, 然后獲取樣本的字形邊框?qū)挾戎挡⒂?jì)算出均值,再用修正系數(shù)予以修正獲得修正后寬度 值;若已經(jīng)計(jì)算,則直接調(diào)用之前的計(jì)算結(jié)果。
10. 根據(jù)權(quán)利要求1-8中任一項(xiàng)所述的文字修正方法,其特征在于,還包括排版步驟, 對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正后進(jìn)行排版,對(duì)于不含字形描述信息錯(cuò)誤的 字體的文字直接獲取字寬值后排版,排版過(guò)程為將當(dāng)前字寬累加至當(dāng)前已排文字寬度,如 果大于排版區(qū)域?qū)挾?,則重置當(dāng)前已排文字寬度并將行基線累加一個(gè)行高度,然后在當(dāng)前 行尾排下此文字;如果不大于排版區(qū)域?qū)挾葎t直接在當(dāng)前行尾排下此文字。
11. 一種文字修正系統(tǒng),其特征在于,包括: 獲取單元:獲取文檔中文字的至少一種字體; 選擇單元:對(duì)于每種字體,根據(jù)該字體中的文字的字寬,選擇出字形描述信息錯(cuò)誤的字 體; 修正單元:對(duì)字形描述信息錯(cuò)誤的字體中的文字進(jìn)行修正。
12. 根據(jù)權(quán)利要求11所述的文本排版系統(tǒng),其特征在于,所述選擇單元包括: 均值計(jì)算模塊:選取該字體中的至少兩個(gè)文字,計(jì)算每個(gè)文字的字寬值與該文字的字 形邊框矩形寬度的比值,并計(jì)算平均值; 判斷模塊:根據(jù)所述平均值是否超出閾值,確定所述字體的字形描述信息是否錯(cuò)誤。
13. 根據(jù)權(quán)利要求12所述的文本排版系統(tǒng),其特征在于,對(duì)于等寬文字,所述閾值為 0. 9-1. 1 ;對(duì)于非等寬文字,所述閾值為1. 2-1. 4。
14. 根據(jù)權(quán)利要求11或12或13所述的文字修正系統(tǒng),其特征在于,所述修正單元包 括:修正模塊,根據(jù)文字的字形邊框矩形寬度,對(duì)所述文字的字寬進(jìn)行修正。
15. 根據(jù)權(quán)利要求14所述的文字修正系統(tǒng),其特征在于,所述修正模塊中,利用下述公 式進(jìn)行修正:W=DXa:W為修正后的字寬值,D為該文字的字形邊框矩形寬度值,a為修正系 數(shù),對(duì)于等寬文字,a=l. 01-1. 1,對(duì)于非等寬文字a=l. 22-1. 35。
【文檔編號(hào)】G06F17/25GK104516859SQ201310447805
【公開(kāi)日】2015年4月15日 申請(qǐng)日期:2013年9月27日 優(yōu)先權(quán)日:2013年9月27日
【發(fā)明者】孫浩鵬, 丁力, 董寧 申請(qǐng)人:北大方正集團(tuán)有限公司, 北京方正阿帕比技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
夹江县| 武汉市| 宁国市| 墨脱县| 田东县| 马边| 万源市| 高安市| 怀安县| 大厂| 保康县| 紫阳县| 六安市| 井研县| 永顺县| 靖边县| 广水市| 乐山市| 隆回县| 碌曲县| 客服| 南岸区| 镇平县| 房产| 新田县| 准格尔旗| 广南县| 南雄市| 大洼县| 类乌齐县| 杭锦后旗| 页游| 大余县| 蚌埠市| 岳池县| 旌德县| 正阳县| 呼图壁县| 长海县| 沧源| 涟水县|