專利名稱:一種文字排版方法及系統的制作方法
技術領域:
本發明屬于排版技術領域,具體涉及一種文字排版方法及系統,特別適用于版面 內存在非文字排版區域時的文字排版。
背景技術:
在文字排版過程中,常常會遇到版面內存在圖形、圖片、文字塊等不能排入文字的 區域,即非文字排版區域。在這種情況下,排版文字時需要避開上述非文字排版區域。現有 技術中,通常的文字排版方法是在需要進行文字排版時才計算可以排版的區域以及各個文 字在排版區域中的位置,排版的速度較慢。中國專利申請(公開號CN 101046798A
公開日期2007年10月3日)公開了一 種排版領域的圖文繞排方法,該方法首先找出繞排部分(即非排版區域)的頂點,包括凸點 和凹點,根據頂點將編輯區域劃分成不同的區域塊、在區域塊內進行文字排版。由于該方法 找出繞排部分頂點的步驟計算復雜,而且在重新排版的情況下,需要重新計算繞排部分的 頂點,排版效率也不高。
發明內容
針對現有技術中存在的缺陷,本發明的目的是提供一種在版面內存在非文字排版 區域的情況下高效的文字排版方法及系統。為了實現上述目的,本發明采用的技術方案如下一種文字排版方法,包括以下步驟(1)按照文字的尺寸,將排版區域分割成M行N列的網格;(2)確定排版區域內非文字排版區域;(3)在可排入文字的排版區域按照文字流入方向對文字進行排版。如上所述的文字排版方法,步驟⑴中,所述排版區域是指版面內的整個排版區 域,或者版面內的部分排版區域。如上所述的文字排版方法,步驟(2)中,所述非文字排版區域是指任意形狀的閉 合區域。閉合區域邊界內所包含的網格以及邊界所經過的網格為非文字排版區域。按照行 方向或者列方向確定排版區域內非文字排版區域。如上所述的文字排版方法,步驟(3)中,在可排入文字的排版區域內,一個網格排 版一個文字。如上所述的文字排版方法,步驟(3)中,當遇到非文字排版區域時,換行排版,或 者跳過非文字排版區域繼續排版。一種文字排版系統,包括用于按照文字的尺寸將排版區域分割成M行N列的網格 的排版區域分割模塊(11);用于確定排版區域內非文字排版區域的非文字排版區域確定 模塊(12);以及用于在可排入文字的排版區域按照文字流入方向對文字進行排版的文字 排版模塊(13)。
本發明所述方法及系統,先確定非文字排版區域,再在可以排入文字的排版區域 進行排版,能夠快速地將文字排入排版區域,并能夠使文字排版效果更加直觀,而且判斷非 文字排版區域的方法簡單,排版的效率較高。
圖1是具體實施方式
中的排版系統結構圖;圖2是具體實施方式
中的排版方法流程圖;圖3是實施例1中排版區域被分割成8行10列的網格示意圖;圖4是實施例1中三角形的非文字排版區域示意圖;圖5是實施例1中排版效果示意圖;圖6是實施例2中排版效果示意圖。
具體實施例方式下面結合具體實施方式
和附圖,對本發明進行詳細描述。如圖1所示的文字排版系統,包括排版區域分割模塊11、非文字排版區域確定模 塊12和文字排版模塊13。排版區域分割模塊11用于按照待排版文字的尺寸將排版區域分割成M行N列的 網格。其中,排版區域可以是版面內整個排版區域,也可以是版面內部分排版區域;M和N為 正整數。排版區域內的文字尺寸相同,文字尺寸包括字高和字寬。非文字排版區域確定模塊12用于確定排版區域內不能夠排入文字的區域。其中, 非文字排版區域為版面內被障礙物覆蓋的區域,該區域可以是任意形狀的閉合區域,障礙 物可以是圖片、圖形或文字塊等。非文字排版區域包括上述閉合區域內所包含的網格以及 邊界所經過的網格。文字排版模塊13用于按照文字的流入方向將文字排入排版區域內能夠排入文字 的排版區域。其中,文字的流入方向可以為從左到右、從上到下,也可以為從右到左、從上倒 下,以及其他的組合。如圖2所示的文字排版方法,包括以下步驟(1)排版區域分割模塊11按照文字的尺寸,將排版區域分割成M行N列的網格。(2)非文字排版區域確定模塊12按照行方向或者列方向確定排版區域內的非文 字排版區域。按照行方向確定非文字排版區域,即是按照水平方向從左到右或從右到左依次掃 描每列網格,確定每列網格中與非文字排版區域邊界相交或者在非文字排版區域內的網 格;按照列方向確定非文字排版區域,即是按照豎直方向從上到下或者從下到上依次掃描 每行網格,確定每行網格中與非文字排版區域邊界相交或者在非文字排版區域內的網格。(3)按照文字流入方向,將文字排入能夠排入文字的排版區域。在可排入文字的排版區域內,一個網格排入一個文字。所述的文字應作廣義的理 解,它即可以指一個漢字,又可以指一個英文字母,還可以指標點符號或其他符號。例如,當 待排版文字為漢字時,一個網格可以排入一個漢字;當待排版文字為英文時,一個網格可以 排入一個英文字母;標點符號或者其他符號相當于一個文字,即一個標點符號或其他符號
4可以占用一個網格;其他文字可采用與漢字和英文類似的排版方式。在排版過程中,當遇到 非文字排版區域,即不能排入文字的網格時,換行排版或者跳過非文字排版區域繼續排版。實施例1如圖3所示,假設待排文字為5號字,首先由排版區域分割模塊11按照5號字的 字高和字寬將排版區域31分割成8行10列的網格,每個網格排入一個5號字。如圖4所示,非文字排版區域為三角形ABC所圍成的區域,該區域內所包含的網格 以及三角形ABC的邊AB、AC、BC所經過的網格均為非文字排版區域。假設網格采用(a,b) 形式表示,其中a表示行數、b表示列數,則按照列方向確定非文字排版區域如下三角形ABC所圍成的區域包含的網格為(4,5), (4,6), (5,5), (5,6), (6,4), (6,
5)、(6,6),(6,7);AB 邊所經過的網格為(7,3), (6,3), (5,3), (5,4), (4,4), (3,4), (3,5), (2,5), (1,5);BC 邊所經過的網格為(1,6), (2,6), (3,6), (3,7), (4,7), (5,7), (5,8), (6,8), (7,8);CA 邊所經過的網格為(7,8)、(7,7)、(7,6)、(7,5)、(7,4)、(7,3)。上述網格均為非文字排版區域,即圖4中的灰色區域。本實施例中,擬將待排版文字“這是一種對排版區域進行計算后再排版的方法”排 入到圖4所示的排版區域,文字的流入方向為從左到右、從上到下,一個網格內排入一個文 字,當遇到非文字排版區域時換行排版。排版后的效果如圖5所示。實施例2與實施例1不同的是按照行方向確定非文字排版區域,文字的流入方向從右到 左、從上到下,當遇到非文字排版區域時跳過后繼續排版。按照行方向確定非文字排版區域如下三角形ABC所圍成的區域包含的網格為(6,4), (4,5), (5,5), (6,5), (4,6), (5,
6)、(6,6);AB 邊所經過的網格為(5,3), (6,3), (7,3), (3,4), (4,4), (5,4), (1,5), (2,5), (3,5);BC 邊所經過的網格為(1,6), (2,6), (3,6), (3,7), (4,7), (5,7), (5,8), (6,8), (7,8);CA 邊所經過的網格為(7,8), (7,7), (7,6), (7,5), (7,4), (7,3)。本實施例中,排版后的效果如圖6所示。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精 神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其同等技術的范圍 之內,則本發明也意圖包含這些改動和變型在內。
權利要求
一種文字排版方法,包括以下步驟(1)按照文字的尺寸,將排版區域分割成M行N列的網格;(2)確定排版區域內非文字排版區域;(3)在可排入文字的排版區域按照文字流入方向對文字進行排版。
2.如權利要求1所述的一種文字排版方法,其特征在于步驟(1)中所述排版區域是 指版面內的整個排版區域,或者版面內的部分排版區域。
3.如權利要求1所述的一種文字排版方法,其特征在于步驟(2)中所述非文字排版 區域是指任意形狀的閉合區域。
4.如權利要求3所述的一種文字排版方法,其特征在于閉合區域邊界內所包含的網 格以及邊界所經過的網格為非文字排版區域。
5.如權利要求1至4之一所述的一種文字排版方法,其特征在于步驟(2)中,按照行 方向確定排版區域內非文字排版區域。
6.如權利要求1至4之一所述的一種文字排版方法,其特征在于步驟(2)中,按照列 方向確定排版區域內非文字排版區域。
7.如權利要求1至4之一所述的一種文字排版方法,其特征在于步驟(3)中,在可排 入文字的排版區域內,一個網格排版一個文字。
8.如權利要求1至4之一所述的一種文字排版方法,其特征在于步驟(3)中,當遇到 非文字排版區域時,換行排版。
9.如權利要求1至4之一所述的一種文字排版方法,其特征在于步驟(3)中,當遇到 非文字排版區域時,跳過非文字排版區域繼續排版。
10.一種文字排版系統,包括用于按照文字的尺寸將排版區域分割成M行N列的網格 的排版區域分割模塊(11),用于確定排版區域內非文字排版區域的非文字排版區域確定模 塊(12),以及用于在可排入文字的排版區域按照文字流入方向對文字進行排版的文字排版 模塊(13)。
全文摘要
本發明公開了一種文字排版方法及系統,屬于排版技術領域。現有的排版方法當版面內存在非文字排版區域時,排版文字的效率較低。本發明所述方法首先按照文字的尺寸,將排版區域分割成M行N列的網格;然后確定排版區域內非文字排版區域;最后在可排入文字的排版區域按照文字流入方向對文字進行排版。本發明所述系統包括用于按照文字的尺寸將排版區域分割成M行N列的網格的排版區域分割模塊,用于確定排版區域內非文字排版區域的非文字排版區域確定模塊,以及用于在可排入文字的排版區域按照文字流入方向對文字進行排版的文字排版模塊。采用本發明所述方法及系統可以提高版面內存在非文字排版區域時文字排版的效率。
文檔編號G06T11/60GK101937569SQ20091008678
公開日2011年1月5日 申請日期2009年6月30日 優先權日2009年6月30日
發明者劉暢, 劉繼新, 李平立, 鄭招云 申請人:北京大學;方正國際軟件(北京)有限公司