本發(fā)明專利技術(shù)所述的版面空格的流式還原方法,獲取版面中依次相鄰的三個(gè)字符;計(jì)算相鄰兩個(gè)的字符間距并計(jì)算出字符間距差值;如果所述字符間距差值小于預(yù)設(shè)差值閾值,則不插入空格;否則,計(jì)算第一字符的右邊值和第二字符的左邊值的和作為邊值和,然后計(jì)算所述第一字符間距與所述邊值和的差值作為判斷值,如果所述判斷值大于第一字符所屬類型的空格符的字寬值,則在第一字符后插入空格,否則不插入空格。這樣,通過計(jì)算前后兩個(gè)字符之間的空白位置的間距,獲取該間距是由于排版導(dǎo)致的均勻間距還是由于存在空格字符導(dǎo)致的,如果前后兩處的字符間距的差值在閾值內(nèi),則說明其間隔均勻,不需要插入空格,如果間距的差值較大,則通過比較判斷是否插入,這樣,通過空格還原,將版面中需要的空格在流式轉(zhuǎn)換時(shí),增加所需的空格,這樣可以依據(jù)實(shí)際版面的呈現(xiàn)效果進(jìn)行流式空格的還原處理,使得版面的展示更加準(zhǔn)確。
【技術(shù)實(shí)現(xiàn)步驟摘要】
【專利摘要】本專利技術(shù)所述的版面空格的流式還原方法,獲取版面中依次相鄰的三個(gè)字符;計(jì)算相鄰兩個(gè)的字符間距并計(jì)算出字符間距差值;如果所述字符間距差值小于預(yù)設(shè)差值閾值,則不插入空格;否則,計(jì)算第一字符的右邊值和第二字符的左邊值的和作為邊值和,然后計(jì)算所述第一字符間距與所述邊值和的差值作為判斷值,如果所述判斷值大于第一字符所屬類型的空格符的字寬值,則在第一字符后插入空格,否則不插入空格。這樣,通過計(jì)算前后兩個(gè)字符之間的空白位置的間距,獲取該間距是由于排版導(dǎo)致的均勻間距還是由于存在空格字符導(dǎo)致的,如果前后兩處的字符間距的差值在閾值內(nèi),則說明其間隔均勻,不需要插入空格,如果間距的差值較大,則通過比較判斷是否插入,這樣,通過空格還原,將版面中需要的空格在流式轉(zhuǎn)換時(shí),增加所需的空格,這樣可以依據(jù)實(shí)際版面的呈現(xiàn)效果進(jìn)行流式空格的還原處理,使得版面的展示更加準(zhǔn)確。【專利說明】一種版面空格的流式還原方法與系統(tǒng)
本專利技術(shù)涉及電子文檔數(shù)據(jù)處理領(lǐng)域,具體地說是一種將版式文檔中邏輯空格還原為流式文檔中對(duì)應(yīng)空格的處理方法及系統(tǒng)。
技術(shù)介紹
版式文檔是一種獨(dú)立于軟件、硬件、操作系統(tǒng)、呈現(xiàn)或打印設(shè)備的文檔,例如pdf, ceb, cebx等格式的版式文檔。一個(gè)版式文檔可以包含多個(gè)頁(yè)面,每個(gè)頁(yè)面由與設(shè)備和分辨率無關(guān)的若干的圖元組成。版式技術(shù)是指將文字、圖形、圖像、音視頻等多種數(shù)字內(nèi)容對(duì)象按照一定的排版規(guī)則排版后進(jìn)行版面固化呈現(xiàn)的技術(shù)。版式文檔的特點(diǎn)是版面固定、不跑版,即所見即所得(What you see is what you get,簡(jiǎn)稱WYSIWYG),使電子文檔在使用過程中,呈現(xiàn)效果不因軟硬件環(huán)境、操作者的變化而變化,在版式、版面、字體、字號(hào)等方面與紙質(zhì)文件保持完全一致。版式文檔格式的特點(diǎn)使它成為電子文檔發(fā)布、數(shù)字化信息傳播和存檔的理想文檔格式。越來越多的電子圖書、產(chǎn)品說明、公司文告、網(wǎng)絡(luò)資料、電子郵件開始使用版式文檔,在國(guó)外,Adobe公司的PDF版式文檔格式目前已成為數(shù)字化信息事實(shí)上的一個(gè)工業(yè)標(biāo)準(zhǔn)。 流式排版顯示是指對(duì)文檔包含的文字、數(shù)字、表格和圖形圖像進(jìn)行特定的排版方式處理,保存后的內(nèi)容是原始的編輯元素,可以在不同的縮放比率間自適應(yīng)大小的顯示。目前的電子閱讀軟件既支持文檔的版式排版顯示,又支持流式排版顯示。流式文檔如Office文檔,它描述的不是排版后生成的具有版面呈現(xiàn)所需要的所有數(shù)據(jù)的文檔(即版式文檔),其相關(guān)(流式)數(shù)據(jù)通常不具有固定位置大小等版面信息,每次加載文檔時(shí)需要類似流水線式的對(duì)這些數(shù)據(jù)從頭到尾進(jìn)行重新排版計(jì)算得到相關(guān)位置信息,然后才能呈現(xiàn)出來。 在文檔的結(jié)構(gòu)化信息中,存儲(chǔ)有關(guān)于文檔(流式、版式等類型)的邏輯結(jié)構(gòu)的信息,包括文章、節(jié)、段落等邏輯結(jié)構(gòu),以及顯示樣式信息。結(jié)構(gòu)化信息可用于實(shí)現(xiàn)版面內(nèi)容的重排(Reflow),以適應(yīng)不同屏幕尺寸的設(shè)備特別是移動(dòng)設(shè)備的需求。常見粗粒度的邏輯結(jié)構(gòu)單元有:區(qū)域、排版框、段落、表格等。細(xì)粒度的基本邏輯結(jié)構(gòu)單元有:文本句、圖形、圖像、公式、圖表、多媒體對(duì)象、復(fù)合對(duì)象等。這些富有語(yǔ)義的邏輯數(shù)字內(nèi)容對(duì)象在流式文檔、版式文檔等中的數(shù)據(jù)邏輯結(jié)構(gòu)描述通常都是有差異的。 文本句(Run or Span),是指段落內(nèi)最小的邏輯文字單元,連續(xù)的文本以是否具有相同文字屬性為依據(jù)來劃分為若干個(gè)句。段落內(nèi)被其它單元對(duì)象如圖形圖像等錨點(diǎn)對(duì)象分割開始的即便有相同文字屬性也會(huì)劃分有不同的句。版式文檔中還允許通過嵌入字體以及字形變換方式來表達(dá)顯示文本,而不僅僅通過正常字體編碼對(duì)應(yīng)的文本串來表達(dá)顯示文本。版流式文檔在表達(dá)文本句方面存在若干差異,例如版式文檔中文本句首字符會(huì)給出版面上的X,y坐標(biāo),流式文檔文本句則無,此外流式文檔文本句不會(huì)對(duì)其進(jìn)行精確定位的描述,而版式文檔文本句則可能。顯示文本,即文字在輸出設(shè)備上的顯示結(jié)果通常由字體信息、文本句以及相關(guān)繪制式樣信息等決定。 字寬(Advance Width)是指版式文本的字寬,還可能通過嵌入字體的字寬表WidthTable來直接描述給出,默認(rèn)通過對(duì)應(yīng)字體中某字符對(duì)應(yīng)的字型Glyph可以獲取字寬值。 空格(space)在各種文檔中普遍存在,流式文檔中空格效果可以通過多種方式產(chǎn)生:空格鍵,Tab制表符,字間距charspace、kerning (pair),特殊版式精確定位描述等;版式文檔中的空格效果更多地通過各字符等圖元固定的X坐標(biāo)位置之間的差值計(jì)算出來,或通過額外的字間距charspace來拉伸或緊縮字符之間的距離,當(dāng)然也可以用真實(shí)的空格字符來表達(dá)。空格鍵產(chǎn)生的字符中包含了空格字符,因此在流式重排時(shí)容易識(shí)別,但是非真實(shí)空格字符如由Tab制表符,字間距等特殊形式形成的空白位置,由于不存在空格字符信息,因此很難識(shí)別成空格。 版式文檔的結(jié)構(gòu)化流式信息,尤其是其中英文文本段落在PC或各種移動(dòng)設(shè)備上呈現(xiàn)時(shí)常常出現(xiàn)有礙閱讀的幾種現(xiàn)象:英文單詞之間沒有空格、英文單詞內(nèi)部有多余的空格、幾乎所有英文字母之間都存在一定的間距。詳見圖1中原始樣圖與圖2、圖3中讀取后存在空格顯示錯(cuò)誤的樣圖,以及圖3的原始樣圖在圖4中存在空格錯(cuò)誤的顯示樣圖。 上述現(xiàn)象產(chǎn)生的原因是:(I)版式文檔中相關(guān)英文文本串中不存在空格字符,而是采用字符間距(charspace)或固定版式中字符的絕對(duì)坐標(biāo)位置來表達(dá)版式上的邏輯空格;(2)并且版式文檔的結(jié)構(gòu)化流式信息中也不存在空格等價(jià)的表達(dá)方式例如用Maker標(biāo)記符{Type=space, nCount=n空格數(shù)} ; (3)最終只能依靠版式文檔的結(jié)構(gòu)化流式信息在具體呈現(xiàn)(Render)時(shí)依據(jù)一定的排版規(guī)則繪制出來,但目前呈現(xiàn)出來的結(jié)果如圖2、圖3以及圖5所示,還是存在相關(guān)缺陷的:這是因?yàn)楝F(xiàn)有的繪制排版算法在樣式表渲染時(shí)利用了charspace信息;而利用版式字體信息渲染時(shí)忽略了 charspace,并且等分字間距。由于空格的產(chǎn)生原因很多,因此很難采用某一種方法將上述眾多原因產(chǎn)生的空格進(jìn)行還原。
技術(shù)實(shí)現(xiàn)思路
為此,本專利技術(shù)所要解決的技術(shù)問題在于將版式文檔轉(zhuǎn)化為流式文檔后,空格出現(xiàn)的位置不恰當(dāng)、出現(xiàn)多余的空格或該出現(xiàn)的位置未出現(xiàn),從而提出一種有效還原版面中空格、提高了空格出現(xiàn)準(zhǔn)確率的版面空格的還原方法和系統(tǒng)。 為解決上述技術(shù)問題,本專利技術(shù)的提供一種版面空格的還原方法和系統(tǒng)。 一種版面空格的流式還原方法,包括以下步驟: 獲取版面中依次相鄰的第一字符、第二字符、第三字符; 計(jì)算第一字符與第二字符之間的第一字符間距,并計(jì)算第二字符與第三字符之間的第二字符間距,再計(jì)算第一字符間距與第二字符間距的字符間距差值; 如果所述字符間距差值小于預(yù)設(shè)差值閾值,則不插入空格;否則,計(jì)算第一字符的右邊值和第二字符的左邊值的和作為邊值和,然后計(jì)算所述第一字符間距與所述邊值和的差值作為判斷值,如果所述判斷值大于第一字符所屬類型的空格符的字寬值,則在第一字符后插入空格,否則不插入空格。 所述版面空格的流式還原方法,所述計(jì)算第一字符與第二字符之間的第二字符間距的過程,包括: 獲得第一字符的坐標(biāo)xl、第二字符的坐標(biāo)x2,第一字符的字寬wl,則第一字符間距 dl=x2-xl-wlo 所述版面空格的流式還原方法,所述計(jì)算第二字符與第三字符之間本文檔來自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種版面空格的流式還原方法,其特征在于,包括以下步驟:獲取版面中依次相鄰的第一字符、第二字符、第三字符;計(jì)算第一字符與第二字符之間的第一字符間距,并計(jì)算第二字符與第三字符之間的第二字符間距,再計(jì)算第一字符間距與第二字符間距的字符間距差值;如果所述字符間距差值小于預(yù)設(shè)差值閾值,則不插入空格;否則,計(jì)算第一字符的右邊值和第二字符的左邊值的和作為邊值和,然后計(jì)算所述第一字符間距與所述邊值和的差值作為判斷值,如果所述判斷值大于第一字符所屬類型的空格符的字寬值,則在第一字符后插入空格,否則不插入空格。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:王長(zhǎng)勝,董寧,
申請(qǐng)(專利權(quán))人:北大方正集團(tuán)有限公司,北京方正阿帕比技術(shù)有限公司,
類型:發(fā)明
國(guó)別省市:北京;11
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。