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