專利名稱:一種矩陣文字框適應(yīng)文字內(nèi)容的排版方法
技術(shù)領(lǐng)域:
本發(fā)明屬于印刷排版技術(shù)領(lǐng)域,具體涉及一種矩陣文字框適應(yīng)文字內(nèi)容的排版方法。
背景技術(shù):
目前,在印刷排版行業(yè)中,在對(duì)文字內(nèi)容進(jìn)行排版處理時(shí),絕大多數(shù)文字排版是將文字排在矩形文字框中,如果文字內(nèi)容和可以排入的區(qū)域不是剛好排下時(shí),常出現(xiàn)排版區(qū)域過(guò)大(過(guò)高或過(guò)寬),造成空白區(qū)域過(guò)多;或者排版區(qū)域過(guò)小,造成文字內(nèi)容沒(méi)有完全排入;這種情況常需要排版人員手動(dòng)對(duì)文字框進(jìn)行調(diào)整,使矩形文字框的大小與文字內(nèi)容相適應(yīng)。
目前,調(diào)整矩形文字框適應(yīng)文字內(nèi)容的方法主要有以下幾種(1)手動(dòng)調(diào)整。排版人員根據(jù)版式對(duì)文字框的要求和文字內(nèi)容的多少對(duì)文字框的長(zhǎng)、寬進(jìn)行手動(dòng)調(diào)整,使文字框大小剛好能夠排下文字內(nèi)容。
(2)菜單命令調(diào)整。排版人員使用排版軟件提供的功能,在菜單中選擇相應(yīng)命令,使文字框能夠適應(yīng)文字內(nèi)容。但是,目前僅有部分軟件提供此功能,并且應(yīng)用比較局限,只能對(duì)普通未分欄的文字框進(jìn)行調(diào)整,調(diào)整的方式如下固定文字框的寬度不變,如果文字內(nèi)容沒(méi)有排滿,則文字框高度以文字內(nèi)容的上下邊緣為基準(zhǔn)減小到合適的高度;如果文字內(nèi)容沒(méi)有排完(有續(xù)排),則調(diào)整文字框下邊的高度,使文字框適應(yīng)內(nèi)容。另外,對(duì)于分欄的文字框,只能手動(dòng)調(diào)整大小。
以上調(diào)整文字框適應(yīng)內(nèi)容方法的缺點(diǎn)是手動(dòng)調(diào)整費(fèi)時(shí)費(fèi)力,降低了排版的效率;而菜單命令調(diào)整在很多時(shí)候都不是排版人員希望得到的結(jié)果。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的是提供一種省時(shí)、省力的矩形文字框的排版方法以適應(yīng)文字框內(nèi)的文字內(nèi)容,該方法能夠迅速地將矩形文字框大小調(diào)整到剛好排入文字的狀態(tài),解決現(xiàn)有技術(shù)中調(diào)整文字框費(fèi)時(shí)費(fèi)力的問(wèn)題。
為達(dá)到以上目的,本發(fā)明采用的技術(shù)方案是一種矩陣文字框適應(yīng)文字內(nèi)容的排版方法,包括以下步驟
(1)在文字框中排入文字內(nèi)容時(shí),判斷文字內(nèi)容是否能在文字框內(nèi)全部排完,如果是轉(zhuǎn)入步驟(2)或(3),否則轉(zhuǎn)入步驟(4);(2)如果文字框?yàn)閱螜?,則獲取排入文字內(nèi)容的高度和寬度,重新設(shè)置矩形文字框的高度和寬度,使文字框大小適合文字內(nèi)容,否則轉(zhuǎn)入步驟(3);(3)如果文字框?yàn)槎鄼?,則確定多欄文字框的臨界高度,然后調(diào)整多欄文字框的高度為臨界高度并將文字內(nèi)容排入多欄文字框,所述的臨界高度是指文字全部排入文字框時(shí)的文字框的最小高度,否則轉(zhuǎn)入步驟(4);(4)如果文字內(nèi)容在文字框內(nèi)未完全排完,則調(diào)整文字框的高度為最大高度,所述的最大高度為版面高度,重新進(jìn)行排版;如果文字內(nèi)容在文字框內(nèi)完全排完,則重復(fù)步驟(2)或(3)找到最佳高度位置;否則提示文字內(nèi)容過(guò)多,調(diào)整失敗。
進(jìn)一步,步驟(2)中,在調(diào)整文字框的高度時(shí),保持文字框上邊位置不變,調(diào)整下邊的位置;在調(diào)整文字框的寬度時(shí),保持文字框左邊位置不變,調(diào)整右邊的位置;進(jìn)一步,步驟(3)中確定多欄文字框的臨界高度時(shí)采用的方法包括以下步驟1)根據(jù)排入文字的行數(shù)信息,計(jì)算獲取排入文字內(nèi)容的面積S;2)獲取文字框分欄后的寬度W,分欄后的文字框?qū)挾萕=每欄的寬度×分欄數(shù);3)根據(jù)這兩項(xiàng)信息計(jì)算文字框參考的排版高度H0=S/W;4)記錄原文字框第一欄所有行的高度值的數(shù)組arrH[n],其中n為正整數(shù),計(jì)算原文字框高度arrH[n]與計(jì)算出的文字框的參考高度H0的高度差最小的高度值arrH[i],其中,在高度arrH[i]下,第一欄文字內(nèi)容的行數(shù)為i,調(diào)整文字框的高度為arrH[i]即高度為i行;5)調(diào)整后,如果在新的文字框高度i下,文字內(nèi)容排完,則調(diào)整文字框高度為i-1,否則轉(zhuǎn)入步驟6)a.如果文字內(nèi)容沒(méi)有排完,則文字框臨界高度確定為i,調(diào)整結(jié)束;b.如果文字內(nèi)容排完,i=i-1,則重復(fù)步驟5),直到找到臨界高度為止;6)調(diào)整文字框高度為i+1c.如果文字內(nèi)容排完,則文字框臨界高度確定為i+1,調(diào)整結(jié)束;d.如果文字內(nèi)容仍沒(méi)有排完,i=i+1,則重復(fù)步驟6),直到找到臨界高度為止。
進(jìn)一步,當(dāng)存在圖文互斥時(shí),即圖像塊與文字框部分區(qū)域重疊,此時(shí)文字框的重疊區(qū)域不允許排入文字。
進(jìn)一步,如果版面的排版方向?yàn)樨Q排時(shí),取豎排的橫向?yàn)楦叨?,取豎排的縱向?yàn)閷挾取?br>
本發(fā)明的效果在于采用本發(fā)明所述的方法,能夠輕易地調(diào)整矩形文字框的大小,從而很好地適應(yīng)文字框內(nèi)的文字內(nèi)容。該方法能夠迅速地將矩形文字框大小調(diào)整到剛好排入文字的狀態(tài),解決了現(xiàn)有技術(shù)中調(diào)整文字框費(fèi)時(shí)費(fèi)力或者效果不理想的問(wèn)題。
圖1是矩形文字框適應(yīng)文字內(nèi)容流程圖;圖2是單欄未排滿矩形文字框適應(yīng)文字內(nèi)容效果示意圖;圖3是單欄排滿矩形文字框適應(yīng)文字內(nèi)容效果示意圖;圖4是多欄未排滿矩形文字框適應(yīng)文字內(nèi)容效果示意圖;圖5是多欄排滿矩形文字框適應(yīng)文字內(nèi)容效果示意圖;圖6是單欄排滿矩形文字框(圖文互斥)適應(yīng)文字內(nèi)容效果示意圖;圖7是多欄排滿矩形文字框(圖文互斥)適應(yīng)文字內(nèi)容效果示意圖;圖8是多欄排滿矩形文字框(豎排)適應(yīng)文字內(nèi)容效果示意圖。
具體實(shí)施例方式
下面結(jié)合實(shí)施例和附圖,對(duì)本發(fā)明作進(jìn)一步的闡述如圖1所示,一種矩陣文字框適應(yīng)文字內(nèi)容的排版方法,包括以下步驟(1)在文字框中排入文字內(nèi)容時(shí),判斷文字內(nèi)容是否在文字框內(nèi)排完,如果是轉(zhuǎn)入步驟(2)或(3),否則轉(zhuǎn)入步驟(4);(2)如果文字框?yàn)閱螜?,則獲取排入文字內(nèi)容的高度和寬度,重新設(shè)置矩形文字框的高度和寬度,使文字框大小適合文字內(nèi)容,否則轉(zhuǎn)入步驟(3);本實(shí)施例中重新設(shè)置矩形文字框的高度和寬度是這樣實(shí)現(xiàn)的,首先獲取欄中最后一行的底部位置高度為排入文字內(nèi)容的高度,同比欄中所有行的寬度,獲得欄最大行寬為排入文字內(nèi)容的寬度,然后重新設(shè)置矩形文字框的高度和寬度,使文字框大小適合文字內(nèi)容;在調(diào)整文字框適應(yīng)文字內(nèi)容的過(guò)程中,在調(diào)整高度時(shí),保持文字框上邊位置不變,調(diào)整下邊的位置;在調(diào)整寬度時(shí),保持文字框左邊位置不變,調(diào)整右邊的位置;當(dāng)存在圖文互斥效果時(shí),步驟(2)的方法同樣可以準(zhǔn)確獲取矩形文字框的高度和寬度,使文字框大小適應(yīng)文字內(nèi)容。
如圖2所示,單欄未排滿矩形文字框適應(yīng)文字內(nèi)容效果圖,就是處理流程經(jīng)過(guò)圖1中的過(guò)程11調(diào)整成功的結(jié)果;如果文字內(nèi)容在文字框內(nèi)完全排完,得到調(diào)整成功的效果;如圖3所示,單欄排滿矩形文字框適應(yīng)文字內(nèi)容效果圖,以及如圖6所示,存在圖文互斥的單欄排滿矩形文字框適應(yīng)文字內(nèi)容效果意圖,就是處理流程經(jīng)過(guò)圖1中的過(guò)程12,再經(jīng)過(guò)程11,最后調(diào)整成功的結(jié)果;如果文字內(nèi)容在文字框內(nèi)未完全排完,則提示用戶文字內(nèi)容過(guò)多,無(wú)法排入的信息,用戶可以通過(guò)調(diào)整文字框?qū)挾鹊确椒ㄖ匦逻M(jìn)行文字框適應(yīng)文字內(nèi)容的操作,使文字框適應(yīng)文字內(nèi)容;如果用戶調(diào)整文字框?qū)挾葹樽畲蟾叨群?,文字?nèi)容仍然無(wú)法全部排入文字框,則矩形文字框調(diào)整為原來(lái)高度,彈出調(diào)整超出范圍的提示,顯示調(diào)整失敗的結(jié)果。
(3)如果文字框?yàn)槎鄼冢瑒t確定多欄文字框的臨界高度,然后調(diào)整多欄文字框的高度為臨界高度并將文字內(nèi)容排入多欄文字框,所述的臨界高度是指文字全部排入文字框時(shí)的文字框的最小高度,否則轉(zhuǎn)入步驟(4);本實(shí)施例中,確定多欄文字框的臨界高度時(shí)采用的方法包括以下步驟1)根據(jù)排入文字的行數(shù)信息,計(jì)算獲取排入文字內(nèi)容的面積S;2)獲取文字框分欄后的寬度W,分欄后的文字框?qū)挾萕=每欄的寬度×分欄數(shù);3)根據(jù)這兩項(xiàng)信息計(jì)算文字框參考的排版高度H0=S/W;當(dāng)存在圖文互斥效果時(shí),1)方法中計(jì)算的面積S沒(méi)有考慮重疊區(qū)域的面積,此時(shí)在3)步驟中獲得的參考高度H0可能偏小,但不會(huì)影響下面正確獲取最佳高度;4)記錄原文字框第一欄所有行的高度值的數(shù)組arrH[n],其中n為正整數(shù),計(jì)算原文字框高度arrH[n]與計(jì)算出的文字框的參考高度H0的高度差最小的高度值arrH[i],其中,在高度arrH[i]下,第一欄文字內(nèi)容的行數(shù)為i,調(diào)整文字框的高度為arrH[i]即高度為i行;5)調(diào)整后,如果在新的文字框高度i下,文字內(nèi)容排完,則調(diào)整文字框高度為i-1,否則轉(zhuǎn)入步驟6)a.如果文字內(nèi)容沒(méi)有排完,則文字框臨界高度確定為i,調(diào)整結(jié)束;b.如果文字內(nèi)容排完,i=i-1,則重復(fù)步驟5),直到找到臨界高度為止;6)調(diào)整文字框高度為i+1c.如果文字內(nèi)容排完,則文字框臨界高度確定為i+1,調(diào)整結(jié)束;d.如果文字內(nèi)容仍沒(méi)有排完,i=i+1,則重復(fù)步驟6),直到找到臨界高度為止。
如圖4所示,多欄未排滿矩形文字框適應(yīng)文字內(nèi)容效果圖,就是處理流程經(jīng)過(guò)圖1中的過(guò)程13,最后調(diào)整成功的結(jié)果;如圖5所示,多欄排滿矩形文字框適應(yīng)文字內(nèi)容效果圖,以及如圖7所示,存在圖文互斥的多欄排滿矩形文字框適應(yīng)文字內(nèi)容效果圖,就是處理流程經(jīng)過(guò)圖1中的過(guò)程12,再經(jīng)過(guò)程13,最后調(diào)整成功的結(jié)果;(4)如果文字內(nèi)容在文字框內(nèi)未完全排完,則調(diào)整文字框的高度為最大高度,所述的最大高度為版面高度,重新進(jìn)行排版;如果文字內(nèi)容在文字框內(nèi)完全排完,則重復(fù)步驟(2)或(3)找到最佳高度位置;否則提示文字內(nèi)容過(guò)多,調(diào)整失敗。
當(dāng)版面的排版方向?yàn)樨Q排時(shí),豎排的高度取橫向?yàn)楦叨?,同橫排時(shí)候的寬度方向,豎排的寬度取縱向?yàn)閷挾?,同橫排時(shí)候的高度方向;同樣的方法也可以做到文字框適應(yīng)文字內(nèi)容的大小的效果。
如圖8所示,豎排情況的多欄排滿矩形文字框適應(yīng)文字內(nèi)容效果示意圖,就是處理流程經(jīng)過(guò)圖1中的過(guò)程12,再經(jīng)過(guò)程13,最后調(diào)整成功的結(jié)果。
圖2-圖8是矩形文字框的各種效果示意圖,每一張圖的第一張小圖為調(diào)整前矩形文字框的狀態(tài);后一張圖為采用本發(fā)明所述的方法進(jìn)行文字框適應(yīng)文字內(nèi)容操作后矩形文字框的狀態(tài)。
本發(fā)明所述的方法并不限于具體實(shí)施方式
中所述的實(shí)施例,本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出其他的實(shí)施方式,同樣屬于本發(fā)明的技術(shù)創(chuàng)新范圍。
權(quán)利要求
1.一種矩陣文字框適應(yīng)文字內(nèi)容的排版方法,包括以下步驟(1)在文字框中排入文字內(nèi)容時(shí),判斷文字內(nèi)容是否能在文字框內(nèi)全部排完,如果是轉(zhuǎn)入步驟(2)或(3),否則轉(zhuǎn)入步驟(4);(2)如果文字框?yàn)閱螜?,則獲取排入文字內(nèi)容的高度和寬度,重新設(shè)置矩形文字框的高度和寬度,使文字框大小適合文字內(nèi)容,否則轉(zhuǎn)入步驟(3);(3)如果文字框?yàn)槎鄼?,則確定多欄文字框的臨界高度,然后調(diào)整多欄文字框的高度為臨界高度并將文字內(nèi)容排入多欄文字框,所述的臨界高度是指文字全部排入文字框時(shí)的文字框的最小高度,否則轉(zhuǎn)入步驟(4);(4)如果文字內(nèi)容在文字框內(nèi)未完全排完,則調(diào)整文字框的高度為最大高度,所述的最大高度為版面高度,重新進(jìn)行排版;如果文字內(nèi)容在文字框內(nèi)完全排完,則重復(fù)步驟(2)或(3)找到最佳高度位置;否則提示文字內(nèi)容過(guò)多,調(diào)整失敗。
2.如權(quán)利要求1所述的一種矩陣文字框適應(yīng)文字內(nèi)容的排版方法,其特征是步驟(2)中,在調(diào)整文字框的高度時(shí),保持文字框上邊位置不變,調(diào)整下邊的位置;在調(diào)整文字框的寬度時(shí),保持文字框左邊位置不變,調(diào)整右邊的位置。
3.如權(quán)利要求1或2所述的一種矩陣文字框適應(yīng)文字內(nèi)容的排版方法,其特征是步驟(3)中確定多欄文字框的臨界高度時(shí)采用的方法包括以下步驟1)根據(jù)排入文字的行數(shù)信息,計(jì)算獲取排入文字內(nèi)容的面積S;2)獲取文字框分欄后的寬度W,分欄后的文字框?qū)挾萕=每欄的寬度×分欄數(shù);3)根據(jù)這兩項(xiàng)信息計(jì)算文字框參考的排版高度H0=S/W;4)記錄原文字框第一欄所有行的高度值的數(shù)組arrH[n],其中n為正整數(shù),計(jì)算原文字框高度arrH[n]與計(jì)算出的文字框的參考高度H0的高度差最小的高度值arrH[i],其中,在高度arrH[i]下,第一欄文字內(nèi)容的行數(shù)為i,調(diào)整文字框的高度為arrH[i]即高度為i行;5)調(diào)整后,如果在新的文字框高度i下,文字內(nèi)容排完,則調(diào)整文字框高度為i-1,否則轉(zhuǎn)入步驟6)a.如果文字內(nèi)容沒(méi)有排完,則文字框臨界高度確定為i,調(diào)整結(jié)束;b.如果文字內(nèi)容排完,i=i-1,則重復(fù)步驟5),直到找到臨界高度為止;6)調(diào)整文字框高度為i+1c.如果文字內(nèi)容排完,則文字框臨界高度確定為i+1,調(diào)整結(jié)束;d.如果文字內(nèi)容仍沒(méi)有排完,i=i+1,則重復(fù)步驟6),直到找到臨界高度為止。
4.如權(quán)利要求1、2或3所述的一種矩陣文字框適應(yīng)文字內(nèi)容的排版方法,其特征是當(dāng)存在圖文互斥時(shí),即圖像塊與文字框部分區(qū)域重疊,此時(shí)文字框的重疊區(qū)域不允許排入文字。
5.如權(quán)利要求1、2或3所述的一種矩陣文字框適應(yīng)文字內(nèi)容的排版方法,其特征是如果版面的排版方向?yàn)樨Q排時(shí),取豎排的橫向?yàn)楦叨?,取豎排的縱向?yàn)閷挾取?br>
全文摘要
本發(fā)明涉及一種矩陣文字框適應(yīng)文字內(nèi)容的排版方法,屬于印刷排版技術(shù)領(lǐng)域。現(xiàn)有技術(shù)中,手動(dòng)調(diào)整文字框適應(yīng)內(nèi)容方法費(fèi)時(shí)費(fèi)力,降低了排版的效率;而菜單命令調(diào)整在很多時(shí)候都不是很理想。本發(fā)明所述的方法通過(guò)計(jì)算完全排入文字的排版區(qū)域面積以及結(jié)合文字框的排版寬度,再計(jì)算得到較接近的參考高度值;根據(jù)矩形圖形特征,結(jié)合參考高度值從已經(jīng)排入的某欄中的行高度位置,迅速找到文字框最佳的高度位置調(diào)整文字框高度,從而使文字框調(diào)整到剛好排入文字內(nèi)容的狀態(tài)。采用本發(fā)明所述的方法,可以迅速地將矩形文字框大小調(diào)整到剛好排入文字的狀態(tài),解決了現(xiàn)有技術(shù)中調(diào)整文字框費(fèi)時(shí)費(fèi)力或者效果不理想的問(wèn)題。
文檔編號(hào)G06F17/25GK1828580SQ20061007232
公開(kāi)日2006年9月6日 申請(qǐng)日期2006年4月14日 優(yōu)先權(quán)日2006年4月14日
發(fā)明者湯幟, 魏丕, 蘇勇, 鄭海棠 申請(qǐng)人:北京北大方正電子有限公司, 北京大學(xué)