專利名稱:一種排版領(lǐng)域的圖文繞排方法
技術(shù)領(lǐng)域:
本發(fā)明涉及文字排版技術(shù)領(lǐng)域,尤其涉及一種排版領(lǐng)域的圖文繞排方法。
背景技術(shù):
目前排版領(lǐng)域一般的圖文繞排方法,通常是在矩形文字框中進(jìn)行對(duì)形狀簡(jiǎn)單的圖片進(jìn)行繞排,繞排的方法包括以下兩種一、不串文即圖文不混排,在文字框和繞排物件在垂直方向重疊的高度區(qū)域中全部都不排文字。
二、不分欄串文即文字所在的行穿過(guò)繞排區(qū)域繼續(xù)排版,但行和繞排區(qū)域重疊的部分不排文字。
上述第一種不串文排版方法導(dǎo)致的結(jié)果是繞排物件周圍存在大片空白區(qū)域,浪費(fèi)版面,且排版效果不夠美觀;第二種不分欄串文排版方法沒(méi)有空白區(qū)域,但是一行文字被分成不連續(xù)的幾段,如中國(guó)、日本和韓國(guó)等語(yǔ)種,通常對(duì)行連續(xù)性要求比較高,采用這種方法不符合用戶閱讀習(xí)慣,給閱讀帶來(lái)麻煩。
目前通用的文字軟件對(duì)在同一個(gè)文字框中加入繞排方式混合使用的情況處理得也不夠好。
發(fā)明內(nèi)容
本發(fā)明提供了一種排版領(lǐng)域的圖文繞排方法,用以解決現(xiàn)有技術(shù)中圖文繞排造成的浪費(fèi)版面以及不符合用戶閱讀習(xí)慣的問(wèn)題,同時(shí)本發(fā)明能夠和不串文、不分欄串文很好地融合在一起,實(shí)現(xiàn)一個(gè)文字框中有多種繞排方式的效果。
為解決上述問(wèn)題,本發(fā)明提出的技術(shù)方案如下一種排版領(lǐng)域的圖文繞排方法,包括以下步驟a、找出繞排部分的頂點(diǎn);
b、根據(jù)所述頂點(diǎn)將編輯區(qū)域劃分成不同的區(qū)域塊;c、在所述區(qū)域塊內(nèi)進(jìn)行文字排版。
所述步驟a所述繞排物體為多邊形物體。
所述步驟a中,所述頂點(diǎn)包括凹點(diǎn)和/或凸點(diǎn);所述步驟b包括以下步驟b1、對(duì)所述頂點(diǎn)按照第一方向排序;b2、根據(jù)所述第一方向排序結(jié)果,對(duì)所述頂點(diǎn)進(jìn)行第二方向排序;b3、根據(jù)所述第一方向和第二方向的排序結(jié)果,劃分出各個(gè)區(qū)域塊。
所述第一方向與所述第二方向?yàn)橄嗷ゴ怪标P(guān)系。
所述第一方向和第二方向分別與以下內(nèi)容之一相平齊水平線、垂直線、斜線。
劃分所述區(qū)域塊時(shí),如果兩個(gè)區(qū)域塊在豎直方向上相鄰,并且位于上部的區(qū)域塊的底邊和位于下部的區(qū)域塊的頂邊重合,則把這兩個(gè)區(qū)域塊合并成一個(gè)區(qū)域塊。
所述步驟c包括以下步驟c1、對(duì)所述區(qū)域塊按照規(guī)則進(jìn)行排序;c2、按照所述排序結(jié)果在各所述區(qū)域塊中進(jìn)行文字排版。
較佳的,所述步驟c1所述第一規(guī)則包括下述內(nèi)容之一從上到下、從左到右、從右到左、從上到下并從左到右、從上到下并從右到左。
較佳的,所述步驟c2中所述第二規(guī)則包括下述內(nèi)容之一從上到下、從左到右、從右到左、從上到下并從左到右、從上到下并從右到左。
所述步驟c2中,還包括如果所述區(qū)域塊中有不串文區(qū)域,則在這個(gè)區(qū)域塊里和不串文區(qū)域垂直方向重疊的高度區(qū)域保留空白,和/或如果所述區(qū)域塊中有不分欄串文區(qū)域,當(dāng)一行文字和不分欄串文區(qū)域有相交時(shí),該行文字排到相交區(qū)域左側(cè)后,直接跳過(guò)相交區(qū)域,到相交區(qū)域右側(cè)繼續(xù)排文字。
本發(fā)明能夠達(dá)到的有益效果如下本發(fā)明提供一種排版領(lǐng)域的圖文繞排方法,解決了現(xiàn)有技術(shù)中圖文繞排造成的浪費(fèi)版面以及不符合用戶閱讀習(xí)慣的問(wèn)題;同時(shí)本發(fā)明方法能夠和不串文、不分欄串文很好地融合在一起,實(shí)現(xiàn)一個(gè)文字框中有多種繞排方式的效果;本發(fā)明對(duì)各種文字框中的圖文繞排都適用。
圖1為本發(fā)明方法的流程示意圖;圖2為本發(fā)明實(shí)施例1的水平方向劃分區(qū)域塊時(shí)圖文繞排示意圖的過(guò)程圖;圖3為本發(fā)明實(shí)施例1的水平方向劃分區(qū)域塊時(shí)圖文繞排示意圖的最終結(jié)果圖;圖4為本發(fā)明實(shí)施例2的垂直方向劃分區(qū)域塊時(shí)圖文繞排示意圖;圖5為本發(fā)明實(shí)施例3的區(qū)域塊中有不串文區(qū)域時(shí)圖文繞排示意圖;圖6為本發(fā)明實(shí)施例4的區(qū)域塊中有不分欄串文區(qū)域時(shí)圖文繞排示意圖。
具體實(shí)施例方式
下面結(jié)合說(shuō)明書附圖來(lái)說(shuō)明本發(fā)明的
具體實(shí)施例方式如圖1所示流程圖,一種排版領(lǐng)域的圖文繞排方法,其步驟如下S101、找出繞排部分的頂點(diǎn);其中,所述繞排部分為多邊形物體。
所述的頂點(diǎn)包括凸點(diǎn)和凹點(diǎn),該凸點(diǎn)和凹點(diǎn)可以按照如下方式判斷
把滿足以下條件之一的多邊形頂點(diǎn)稱之為凸點(diǎn)1)在豎直方向,Y小于它的和Y大于它的水平掃描線從上到下掃描曲線得到的交點(diǎn)個(gè)數(shù)增加的點(diǎn),特點(diǎn)是它的前一個(gè)點(diǎn)和后一個(gè)不與其平行的點(diǎn)都在它的下方;2)在豎直方向,Y小于它的和Y大于它的水平掃描線從上到下掃描曲線得到的交點(diǎn)個(gè)數(shù)沒(méi)有變化的,但Y等于它的水平掃描線掃描曲線得到的交點(diǎn)個(gè)數(shù)卻增加的點(diǎn),特點(diǎn)是它的前一個(gè)點(diǎn)和后一個(gè)點(diǎn)有一個(gè)與其平行而另一個(gè)在它下方,但它的前一個(gè)點(diǎn)和后一個(gè)不與其平行的點(diǎn)在它的兩側(cè)。
把滿足以下條件之一的多變形頂點(diǎn)稱之為凹點(diǎn)1)在豎直方向,Y小于它的和Y大于它的水平掃描線從上到下掃描曲線得到的交點(diǎn)個(gè)數(shù)減少的點(diǎn),特點(diǎn)是它的前一個(gè)點(diǎn)和后一個(gè)不與其平行的點(diǎn)都在它的上方;2)在豎直方向,Y小于它的和Y大于它的水平掃描線從上到下掃描曲線得到的交點(diǎn)個(gè)數(shù)沒(méi)有變化的,但Y等于它的水平掃描線掃描曲線得到的交點(diǎn)個(gè)數(shù)卻增加的點(diǎn),特點(diǎn)是它的前一個(gè)點(diǎn)和后一個(gè)點(diǎn)有一個(gè)與其平行而另一個(gè)在它上方,但它的前一個(gè)點(diǎn)和后一個(gè)不與其平行的點(diǎn)在它的兩側(cè)。
S102、劃分區(qū)域塊;所述劃分區(qū)域塊包括以下步驟對(duì)所述凸點(diǎn)和凹點(diǎn)按照第一方向排序;根據(jù)所述第一方向排序結(jié)果,對(duì)所述凸點(diǎn)和凹點(diǎn)進(jìn)行第二方向排序;根據(jù)所述第一方向和第二方向的排序結(jié)果,劃分出各個(gè)區(qū)域塊;其中,所述第一方向與所述第二方向一般為相互垂直關(guān)系,但也可以存在其他互成一定的角度;其中,所述第一方向和第二方向可以分別與以下內(nèi)容之一相平齊水平線、垂直線、斜線。
如果第一方向與水平線相平齊,則第二方向與垂直線相平齊;如果第一方向與垂直線相平齊,則第二方向與水平線相平齊;如果第一方向與和水平線有一定夾角的斜線相平齊,則第二方向與和該斜線相垂直的斜線相平齊。
其中,在劃分所述區(qū)域塊時(shí),如果兩個(gè)區(qū)域塊在垂直方向上相鄰,并且上面的區(qū)域塊的底邊和下面的區(qū)域塊的頂邊完全重合,則可以把這兩個(gè)區(qū)域塊合并成一個(gè)區(qū)域塊。這樣可以增加區(qū)域塊的連續(xù)性,給用戶帶來(lái)更好的體驗(yàn)。
S103、在每個(gè)區(qū)域塊內(nèi)進(jìn)行文字排版;所述在每個(gè)區(qū)域塊內(nèi)進(jìn)行文字排版包括以下步驟對(duì)所述區(qū)域塊按照第一規(guī)則進(jìn)行排序;按照所述排序結(jié)果在各所述區(qū)域塊中按照第二規(guī)則進(jìn)行文字排版;其中,所述第一規(guī)則和第二規(guī)則根據(jù)排版者和閱讀者的習(xí)慣,可以選自于下述內(nèi)容之一從上到下、從左到右、從右到左、從上到下并從左到右、從上到下并從右到左。
如果所述區(qū)域塊中有不串文區(qū)域,則在這個(gè)區(qū)域塊里和不串文區(qū)域垂直方向重疊的高度區(qū)域保留空白。
如果所述區(qū)域塊中有不分欄串文區(qū)域,當(dāng)一行文字和不分欄串文區(qū)域有相交時(shí),該行文字排到相交區(qū)域左側(cè)后,直接跳過(guò)相交區(qū)域,到相交區(qū)域右側(cè)繼續(xù)排文字。
實(shí)施例一圖2、圖3所示為本發(fā)明方法的水平方向劃分區(qū)域塊時(shí)圖文繞排示意圖,具體實(shí)施方式
包括如下步驟找到繞排物體的凸點(diǎn)a’、c’和d’以及凹點(diǎn)b’;根據(jù)所述凸點(diǎn)、凹點(diǎn)將編輯區(qū)域劃分成不同的區(qū)域塊對(duì)所述凸點(diǎn)和凹點(diǎn)按照垂直方向進(jìn)行排序,即由上到下依次為a’、b’、c’、d’;
根據(jù)所述凸點(diǎn)和凹點(diǎn)畫出水平線,劃分出各個(gè)區(qū)域塊,即S201、S202、S203、S204、S205、S206、S207、S208、S209(如圖2所示),其中S202的底邊和S204的頂邊完全重合,因此把S202和S204合并成一個(gè)區(qū)域塊,同理,S203、S206和S208合并成一個(gè)區(qū)域塊,合并后的區(qū)域塊如圖3所示分別為S301、S302、S303、S304、S305、S306;在所述區(qū)域塊內(nèi)進(jìn)行文字排版對(duì)所述區(qū)域塊按照第一規(guī)則規(guī)則進(jìn)行排序,即按照從上到下并從左到右的順序,依次是S301、S302、S303、S304、S305、S306(如圖3所示);按所述順序在各所述區(qū)域塊中按照第二規(guī)則進(jìn)行文字排版,此時(shí)文字可以按照水平方向上的從左到右并從上到下或從右到左并從上到下排版,也可以按照垂直方向上的從上到下并從左到右或者從上到下并從右到左排版。
實(shí)施例二如圖4所示為本發(fā)明方法的垂直方向劃分區(qū)域塊時(shí)圖文繞排示意圖,其實(shí)施方式包括如下步驟找出繞排物體的凸點(diǎn),即矩形的四個(gè)頂點(diǎn);根據(jù)所述凸點(diǎn)將編輯區(qū)域劃分成不同的區(qū)域塊對(duì)所述凸點(diǎn)按照水平方向進(jìn)行排序;根據(jù)所述凸點(diǎn)畫出垂直線,劃分出各個(gè)區(qū)域塊,即S401、S402、S403、S404;在所述區(qū)域塊內(nèi)進(jìn)行文字排版對(duì)所述區(qū)域塊按照第一規(guī)則進(jìn)行排序,即按照從右到左并從上到下的順序依次是S401、S402、S403、S404;按所述順序在各所述區(qū)域塊中按照第二規(guī)則進(jìn)行文字排版,此時(shí)文字按照垂直方向上的從上到下并從右到左或者從上到下并從左到右排版,也可以按照水平方向上的從左到右并從上到下或者從右到左并從上到下排版。
實(shí)施例三如圖5所示為本發(fā)明方法的區(qū)域塊中有不串文區(qū)域時(shí)圖文繞排示意圖,其實(shí)施方式包括如下步驟找出繞排物體的凸點(diǎn);根據(jù)所述凸點(diǎn)將編輯區(qū)域劃分成不同的區(qū)域塊對(duì)所述凸點(diǎn)按照垂直方向進(jìn)行排序;根據(jù)所述凸點(diǎn)畫出水平線,劃分出各個(gè)區(qū)域塊,即S501、S502、S503、S504、S505、S506、S507。
在所述區(qū)域塊內(nèi)進(jìn)行文字排版對(duì)所述區(qū)域塊按照第一規(guī)則進(jìn)行排序,按照從上到下并從左到右的順序依次是S501、S502、S503、S504、S505、S506、S507;按所述順序在各所述區(qū)域塊中按照第二規(guī)則進(jìn)行文字排版,此時(shí)文字按照垂直方向上的從上到下并從右到左或者從上到下并從左到右排版,也可以按照水平方向上的從左到右并從上到下或者從右到左并從上到下排版。其中區(qū)域塊S502、S503和不串文區(qū)域垂直方向重疊,據(jù)此,區(qū)域塊S502、S503保留空白。
另外,在本實(shí)施例中,也可以把S501、S502、S503、S504看作是一個(gè)整體區(qū)域塊,而這個(gè)整體區(qū)域塊中有不串文區(qū)域,所以在這個(gè)區(qū)域塊里和不串文區(qū)域垂直方向重疊的高度區(qū)域保留空白,即在區(qū)域塊S502、S503內(nèi)不排文字。
實(shí)施例四如圖6所示為本發(fā)明方法的區(qū)域塊中有不分欄串文區(qū)域時(shí)圖文繞排示意圖,其實(shí)施方式包括如下步驟找出繞排物體的凸點(diǎn);根據(jù)所述凸點(diǎn)將編輯區(qū)域劃分成不同的區(qū)域塊對(duì)所述凸點(diǎn)按照垂直方向進(jìn)行排序;
根據(jù)所述凸點(diǎn)畫出水平線,劃分出各個(gè)區(qū)域塊,即S601、S602、S603、S604、S605、S606、S607。
在所述區(qū)域塊內(nèi)進(jìn)行文字排版對(duì)所述區(qū)域塊按照第一規(guī)則進(jìn)行排序,按照從上到下并從左到右的順序依次是S601、S602、S603、S604、S605、S606、S607;按所述順序在各所述區(qū)域塊中按照第二規(guī)則進(jìn)行文字排版,此時(shí)文字按照垂直方向上的從上到下并從右到左或者從上到下并從左到右排版,也可以按照水平方向上的從左到右并從上到下或者從右到左并從上到下排版。其中排到區(qū)域塊S602、S603時(shí),由于區(qū)域塊S602、S603和不分欄串文區(qū)域相交,所以當(dāng)一行文字在S602內(nèi)排到相交區(qū)域左側(cè)時(shí),直接跳過(guò)相交區(qū)域,到相交區(qū)域右側(cè)的S603內(nèi)繼續(xù)排文字。
另外,在本實(shí)施例中,也可以把S601、S602、S603、S604看作是一個(gè)整體的區(qū)域塊,在該整體區(qū)域塊內(nèi)排版文字時(shí),當(dāng)一行文字和不分欄串文區(qū)域有相交時(shí),該行文字排到相交區(qū)域左側(cè)后,直接跳過(guò)相交區(qū)域,到相交區(qū)域右側(cè)繼續(xù)排文字。
顯然,本領(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.一種排版領(lǐng)域的圖文繞排方法,其特征在于包括以下步驟a、找出繞排部分的頂點(diǎn);b、根據(jù)所述繞排部分的頂點(diǎn)將編輯區(qū)域劃分成不同的區(qū)域塊;c、在所述區(qū)域塊內(nèi)進(jìn)行文字排版。
2.如權(quán)利要求1所述方法,其特征在于,所述步驟a中所述繞排部分為多邊形。
3.如權(quán)利要求1所述方法,其特征在于,所述步驟a中,所述頂點(diǎn)為凹點(diǎn)和/或凸點(diǎn);所述步驟b進(jìn)一步包括b1、對(duì)所述頂點(diǎn)按照第一方向排序;b2、根據(jù)所述第一方向排序結(jié)果,對(duì)所述頂點(diǎn)進(jìn)行第二方向排序;b3、根據(jù)所述第一方向和第二方向的排序結(jié)果,劃分出各個(gè)區(qū)域塊。
4.如權(quán)利要求3所述方法,其特征在于,所述第一方向與所述第二方向?yàn)橄嗷ゴ怪被虺梢欢ń嵌汝P(guān)系。
5.如權(quán)利要求3或4所述方法,其特征在于,所述第一方向和第二方向分別與以下內(nèi)容之一相平齊水平線、垂直線和斜線。
6.如權(quán)利要求3所述方法,其特征在于,所述步驟b3中,還包括在劃分所述區(qū)域塊時(shí),如果兩個(gè)區(qū)域塊在豎直方向上相鄰,并且位于上部的區(qū)域塊的底邊和位于下部的區(qū)域塊的頂邊重合,則把這兩個(gè)區(qū)域塊合并成一個(gè)區(qū)域塊。
7.如權(quán)利要求1所述方法,其特征在于,所述步驟c包括以下步驟c1、對(duì)所述區(qū)域塊按照第一規(guī)則進(jìn)行排序;c2、按照所述排序結(jié)果在各所述區(qū)域塊中按照第二規(guī)則進(jìn)行文字排版。
8.如權(quán)利要求7所述方法,其特征在于,所述步驟c1中所述第一規(guī)則包括下述內(nèi)容之一從上到下、從左到右、從右到左、從上到下并從左到右、從上到下并從右到左。
9.如權(quán)利要求7所述的方法,其特征在于,所述步驟c2中所述第二規(guī)則包括下述內(nèi)容之一從上到下、從左到右、從右到左、從上到下并從左到右、從上到下并從右到左。
10.如權(quán)利要求7、8或9所述方法,其特征在于,所述步驟c2中,還包括如果所述區(qū)域塊中有不串文區(qū)域,則在這個(gè)區(qū)域塊里和不串文區(qū)域垂直方向重疊的高度區(qū)域保留空白,和/或如果所述區(qū)域塊中有不分欄串文區(qū)域,當(dāng)一行文字和不分欄串文區(qū)域有相交時(shí),該行文字排到相交區(qū)域左側(cè)后,直接跳過(guò)相交區(qū)域,到相交區(qū)域右側(cè)繼續(xù)排文字。
全文摘要
本發(fā)明公開(kāi)了一種排版領(lǐng)域的圖文繞排方法,屬于文字排版技術(shù)領(lǐng)域,用以解決現(xiàn)有技術(shù)中圖文繞排造成的浪費(fèi)版面以及不符合用戶閱讀習(xí)慣的問(wèn)題,同時(shí)本發(fā)明方法能夠和不串文、不分欄串文很好地融合在一起,實(shí)現(xiàn)一個(gè)文字框中有多種繞排方式的效果。本發(fā)明所述方法包括以下步驟a.找出繞排部分的頂點(diǎn);b.根據(jù)所述頂點(diǎn)將編輯區(qū)域劃分成不同的區(qū)域塊;c.在所述區(qū)域塊內(nèi)進(jìn)行文字排版。本發(fā)明適用于各種文字框的圖文繞排。
文檔編號(hào)G06F17/21GK101046798SQ200610066880
公開(kāi)日2007年10月3日 申請(qǐng)日期2006年3月31日 優(yōu)先權(quán)日2006年3月31日
發(fā)明者湯幟, 唐英敏, 鄭海棠, 姜來(lái) 申請(qǐng)人:北京北大方正電子有限公司, 北京大學(xué)