專利名稱:一種段落內(nèi)文字對齊的排版方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及印刷排版技術(shù)領(lǐng)域,尤其涉及一種段落內(nèi)文字對齊的排版方法
及裝置。
背景技術(shù):
段落內(nèi)文字對齊是指在印刷排版時,將具有條目性質(zhì)的文字段落以列表的 形式排版,將條目的編號和名稱排在段落首行的頭部,而在編號和名稱后開始 排版條目的內(nèi)容,并且在文字換行時自動與內(nèi)容起始位置對齊。
現(xiàn)有的調(diào)整段落內(nèi)文字對齊的方法主要有兩種,其中一種是使用對齊標(biāo) 記,另一種是使用項目編號模式。
(1) 使用對齊標(biāo)記
該方法是根據(jù)在排版過程插入的對齊起始標(biāo)記和對齊結(jié)束標(biāo)記,確定段落
內(nèi)文字的排版區(qū)域。該方案的具體操作是在預(yù)定的排版區(qū)域內(nèi)排版段落內(nèi)的 文字,當(dāng)遇到一個對齊起始標(biāo)記時,在后續(xù)行的排版中,段落文字的可排區(qū)域 為該對齊起始標(biāo)記所對應(yīng)的位置到排版區(qū)域結(jié)束的位置,段落文字在確定的每 行可排區(qū)域內(nèi)排版,直到遇到一個對齊結(jié)束標(biāo)記時,結(jié)束這種對齊格式的排版。 這種方案需要操作人員在排版時在每個需要對齊的條目內(nèi)容的開始處插 入對齊起始標(biāo)記,在條目的內(nèi)容結(jié)束處插入對齊結(jié)束標(biāo)記。當(dāng)條目數(shù)量很大, 使用該方法進(jìn)行對齊調(diào)節(jié),會浪費人力和時間,從而降低排版的效率。
(2) 使用項目編號樣式
該方法中,對首行和非首行的對齊位置設(shè)置好參數(shù),在使用時,輸入相應(yīng) 的參數(shù)值,就可實現(xiàn)段落文字的對齊,設(shè)置好一個條目的樣式,其它條目可以 套用該樣式,而不用再次進(jìn)行設(shè)定,因此,這種方法的效率比較高。但這種方
4法只適合于只有編號或條目名稱唯一的情況,不能一次處理含有不同條目名稱 的段落文字。
以上現(xiàn)有技術(shù)方案都可以在一定程度上實現(xiàn)段落內(nèi)文字對齊,但方法1雖 然可以處理含有編號和不同名稱的情況,但由于需要對每個條目插入一個起始
對齊標(biāo)記和一個對齊結(jié)束標(biāo)記,操作繁瑣,費時費力,降低了排版的效率;而 方法2雖然可以提高排版的效率,但卻不能處理每個段落的條目名稱不同的情 況,因而可能出現(xiàn)對段落內(nèi)文字的調(diào)整效果不理想的問題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供一種段落內(nèi)文字對齊的排版方法,用以解決 現(xiàn)有技術(shù)中存在的排版效率低或調(diào)整效果不理想的問題。
本發(fā)明實施例提供的一種段落內(nèi)文字對齊的排版方法,包括
A、 根據(jù)當(dāng)前段落行號與當(dāng)前行是否段落首行的對應(yīng)關(guān)系,確定待排版的 當(dāng)前行是否為段落首行,如果是,則該行在寬度方向的可排區(qū)域為從排版區(qū)域 在寬度方向的起始位置到所述排版區(qū)域在寬度方向的結(jié)束位置;否則
從已排版的該段落的文字中獲取標(biāo)記字符,則該行在寬度方向的可排區(qū)域 為從該字符在寬度方向之后的位置到所述排版區(qū)域在寬度方向的結(jié)束位置,其 中所述標(biāo)記字符是所述段落中的一個字符,在錄入該段落內(nèi)的文字時輸入的;
B、 在所述可排區(qū)域內(nèi)排版該段落內(nèi)的文字。 本發(fā)明實施例提供的一種實現(xiàn)段落內(nèi)文字對齊的排版裝置,包括 可排區(qū)域獲取模塊,用于在確定待排版的當(dāng)前行為段落首行時,根據(jù)排版
區(qū)域在寬度方向的起始位置和結(jié)束位置確定該行在寬度方向的可排區(qū)域;在確 定待排版的當(dāng)前行為非段落首行時,從已排版的該段落的文字中獲取標(biāo)記字 符,根據(jù)所述標(biāo)記字符在寬度方向的位置和所述排版區(qū)域在寬度方向的結(jié)束位 置,確定該行在寬度方向的可排區(qū)域;
文字排版模塊,用于在所述可排區(qū)域獲取it塊所確定的可排區(qū)域內(nèi)排版該段落內(nèi)的文字。
本發(fā)明實施例中,在段落文字錄入時,在需要對齊的文字前輸入一個標(biāo)記 字符,按照然后標(biāo)記字符的位置和當(dāng)前行是否為段落首行,確定當(dāng)前行的可排 區(qū)域,然后在該可排區(qū)域內(nèi)排版段落文字,排版操作簡單,且適用于任何行式 的條目性文字段落的排版,因而,不僅能提高排版的效率,也能確保調(diào)整效果。
圖1為本發(fā)明實施例中對一段文字進(jìn)行排版的流程圖; 圖2A為本發(fā)明實施例中對包含條目編號的段落文字橫排時實現(xiàn)文字對齊 的效果示意圖2B為本發(fā)明實施例中對包含條目編號的段落文字豎排時實現(xiàn)文字對齊 的效果示意圖3A為本發(fā)明實施例中對包含項目編號和名稱的4爻落文字橫排時實現(xiàn)文 字對齊的效果示意圖3B為本發(fā)明實施例中對包含項目編號和名稱的段落文字橫排時實現(xiàn)文 字對齊的效果示意圖4為本發(fā)明實施例中一種實現(xiàn)段落內(nèi)文字對齊的排版裝置的結(jié)構(gòu)示意圖。
具體實施例方式
本發(fā)明實施例中,在段落文字錄入時,在需要對齊的文字前,輸入一個標(biāo) 記字符,在排版時,首先根據(jù)當(dāng)前段落行號與當(dāng)前行是否為段落首行的對應(yīng)關(guān) 系,判斷當(dāng)前行是否為段落首行,如果當(dāng)前行為段落首行,則該行在寬度方向 的可排區(qū)域為[Xo, Xm),其中Xo為排版區(qū)域的寬度方向的起始坐標(biāo),Xm為排 版區(qū)域的寬度方向的結(jié)束坐標(biāo),然后在所述可排區(qū)域內(nèi)排版包含錄入的標(biāo)記字 符在內(nèi)的段落文字;如果當(dāng)前行為非段落首行,則在已排版的該段落文字中查找標(biāo)記字符Gr,獲得其后繼的寬度方向的坐標(biāo)Xe,則該行的可排區(qū)域為[Xc, Xm),然后在這個可排區(qū)域內(nèi)排版該段落內(nèi)的剩余文字。這種排版方法操作簡 單,可以同時對多個條目性段落進(jìn)行排版,能提高排版的效率。而且不論是只 有編號的條目性段落文字,還是帶名稱的條目性段落文字,都可以采用這種方 法。
圖1示出采用該排版方法對一段已錄入標(biāo)記字符的段落文字進(jìn)行排版的具 體方案流程圖,如圖1所示,主要包括以下步驟
步驟101:根據(jù)當(dāng)前段落內(nèi)的行號與當(dāng)前行是否為段落首行的對應(yīng)關(guān)系, 判斷待排版的當(dāng)前行是否為段落首行,如果是,則繼續(xù)步驟102,否則,進(jìn)入 步驟104。
其中,當(dāng)前段落內(nèi)的行號是在排版時設(shè)定的,可將其初始值設(shè)置為0,如 果是段落首行,則當(dāng)前段落內(nèi)的行號為0或1,當(dāng)該段落內(nèi)的文字每排版滿一 行,其段落內(nèi)的行號就加1或其它固定值,直到遇到一個段落結(jié)束符,將段落 內(nèi)的行號重新設(shè)置為初始值。
步驟102:獲取排版區(qū)域的寬度方向的起始坐標(biāo)Xo和結(jié)束坐標(biāo)Xm,從而 確定該行在寬度方向的可排區(qū)域為[Xo, Xm)。
其中,當(dāng)該段落文字的排版方向為豎排,則所迷寬度方向為縱向;當(dāng)該段 落文字的排版方向為橫排,則所述寬度方向為橫向。
步驟103:在該可排區(qū)域內(nèi)排版包含標(biāo)記字符Cr在內(nèi)的該段落內(nèi)的文字。 其中的標(biāo)記字符CT是預(yù)先設(shè)好的,可以為空格符,也可以是其它字符,該標(biāo) 記字符是在文字錄入時輸入的,其位置是在需要對齊的位置之前。
步驟104:當(dāng)確定當(dāng)前行為非段落首行時,則在已排版的該段落文符中查 找是否存在標(biāo)記字符Or,如果存在,則繼續(xù)步驟105;否則,將該行視為段落 首行,進(jìn)入步驟102。
步驟105:獲取所查找到的標(biāo)記字符CT在寬度方向的后續(xù)坐標(biāo)Xc,進(jìn)而 確定該行在寬度方向的可排區(qū)域為[Xc, Xm)。步驟106:在該可排區(qū)域內(nèi)排版該段落內(nèi)剩余的未排版文字。
步驟107:判斷排版在當(dāng)前行內(nèi)的最后一個字符是否是段落結(jié)束符,如果
是,則說明當(dāng)前的文字段落的排版已完成,則進(jìn)入步驟110,否則,進(jìn)入步驟
亂
步驟108:判斷排版在所述可排區(qū)域內(nèi)的最后一個字符之后的位置在寬度 方向的坐標(biāo)是否小于Xm,如果是,則該行沒有排滿,當(dāng)前段落內(nèi)的文字已排 版完畢,進(jìn)入步驟110,否則,說明該行已經(jīng)排版,當(dāng)前l(fā)殳落內(nèi)的文字還沒有 排完,繼續(xù)步驟109。
步驟109:在排版區(qū)域內(nèi)的下行繼續(xù)排版該段落內(nèi)剩余的文字。
步驟110:結(jié)束該段落內(nèi)文字的排版,將當(dāng)前段落的行號置為初始值,開 始下一段落的排版。
下面以具體的例子對本發(fā)明實施例的方案進(jìn)行詳細(xì)說明。假設(shè)要對以下輸 入的段落進(jìn)行排版
"冬季購房的好處
(1) 經(jīng)過前期的開發(fā)建設(shè),大部分冬季的房子基本已經(jīng)封頂,是現(xiàn)房。 百姓可以看到房子的原始面貌。
(2) 對住宅陽光、通風(fēng)、保溫、采暖問題及工程質(zhì)量等在冬季均能做 到最直觀的考察,對于這些影響居住的重要因素,唯有經(jīng)歷冬季的檢驗, 才能證明所購房屋是否真金。
(3) 冬季到年根兒,趕上過節(jié),買房優(yōu)惠多。"
其中輸入的標(biāo)記字符Or為空格符,如果排版方向為橫排,則寬度方向 為橫向,如圖2A中箭頭所指示的方向,其排版區(qū)域內(nèi)圖中長方形所包含的 區(qū)域,則X。、 Xm為該長方形區(qū)域在橫向上的起始坐標(biāo)和結(jié)束坐標(biāo),Xc為標(biāo) 記字符Gr之后的橫向坐標(biāo),其具體位置如圖2A中所示,排版時,首行在寬度 方向的可排區(qū)域為[Xo, Xm),非首行在寬度方向的可排區(qū)域為[Xc, Xm), 在確定的每行的可排區(qū)域內(nèi)排版上述各個段落內(nèi)的文字,最后的排版效果如圖如果排版方向為豎排,則寬度方向為縱向,如圖2B中箭頭所指示的方向, 排版區(qū)域為圖中長方形所包含的區(qū)域,則Xo、 Xm為該長方形區(qū)域在縱向上的 起始坐標(biāo)和結(jié)束坐標(biāo),Xc為標(biāo)記字符Cr之后的縱向坐標(biāo),其具體位置如圖 2B中所示,排版時,首行在寬度方向的可排區(qū)域為[Xo, Xm),非首行在寬度 方向的可排區(qū)域為[Xc, Xm),最后的排版效果如圖2B。
如果需要排版的段落文字還包含名稱,則該段落的對齊位置應(yīng)在每個段落 的名稱后面,假如要對下面的段落文字進(jìn)行排版
"女外觀無論高端、還是低端,車的外觀造型都是吸引客戶至關(guān) 重要的因素,市場成敗的關(guān)鍵。
*品牌車是大宗消費品,品牌因素在購買過程中起到很大的作 用,幾萬元級別的車型不能跟十幾二十萬的比品牌,但橫向的比較還 是有的。"
其中,輸入的標(biāo)記字符CT仍為空格符,如果排版的方向為橫向,則寬度 方向為橫向,如圖3A中箭頭所指示的方向,排版區(qū)域為圖3A中長方形包含 的區(qū)域,則XQ、 Xm為該長方形區(qū)域在橫向上的起始坐標(biāo)和結(jié)束坐標(biāo),Xc為 標(biāo)記字符Or之后的橫向坐標(biāo),其具體位置如圖3A所示,在排版過程中,首行 在寬度方向的可排區(qū)域為[Xo, Xm),非首行在寬度方向的可排區(qū)域為[Xc, Xm),在每行的可排區(qū)域內(nèi)排版上述的各個段落內(nèi)的文字,最后的排版效果 如圖3A。
如果豎向排版,則寬度方向為縱向,如圖3B中箭頭所指示的方向,Xc為 該方向上標(biāo)記字符Or后續(xù)的坐標(biāo),排版區(qū)域為圖3B中長方形包含的區(qū)域,則 Xo、Xm的位置如圖3B所示,在排版過程中,首行在寬度方向的可排區(qū)域為[Xo, Xm),非首行在寬度方向的可排區(qū)域為[Xc, Xm),最后的排版效果如圖3B。
參見圖4,本發(fā)明實施例中一種實現(xiàn)段落內(nèi)文字對齊的排版裝置結(jié)構(gòu)示意 圖,包括可排區(qū)域獲取模塊和文字排版模塊。其中,可排區(qū)域獲取模塊,用于在確定待排版的當(dāng)前行為段落首行時,根據(jù)排版區(qū)域在寬度方向的起始位置
和結(jié)束位置確定該行在寬度方向的可排區(qū)域;在確定待排版的當(dāng)前行為非段落 首行時,從已排版的該段落的文字中獲取標(biāo)記字符,根據(jù)所述標(biāo)記字符在寬度 方向的位置和所述排版區(qū)域在寬度方向的結(jié)束位置,確定該行在寬度方向的可 排區(qū)域;文字排版模塊,用于在所述可排區(qū)域獲取模塊所確定的可排區(qū)域內(nèi)排 版該段落內(nèi)的文字。
進(jìn)一步地,該排版裝置還包括段落判斷模塊,用于在所述文字排版^f莫塊在 當(dāng)前行的所述可排區(qū)域內(nèi)排版完文字時,判斷該段落內(nèi)的文字是否排版完畢。
如果所述段落判斷模塊確定該段落內(nèi)的文字已排版完畢,則結(jié)束該段落文 字的排版;如果所述段落判斷模塊確定該段落內(nèi)的文字還沒排版完成,則繼續(xù) 處理下一行。
進(jìn)一步地,所述段落判斷模塊,包括第一判斷模塊和第二判斷模塊。其 中,第一判斷模塊,用于判斷排版在所述可排區(qū)域內(nèi)的最后一個字符是否為段 落結(jié)束符;第二判斷模塊,用于在所述第一判斷才莫塊確定排版在所述可排區(qū)域 內(nèi)的最后一個字符為非段落結(jié)束符時,判斷排版在所述可排區(qū)域內(nèi)的最后一個 字符在寬度方向之后的位置是否到達(dá)所述排版區(qū)域在寬度方向的結(jié)束位置。
當(dāng)?shù)谝慌袛嗄K確定排版在所述可排區(qū)域內(nèi)的最后一個字符為段落結(jié)束 符,則說明該段落文字已排版完畢;如果第一判斷模塊確定排版在所述可排區(qū) 域內(nèi)的最后一個字符不是段落結(jié)束符,則第二判斷模塊進(jìn)一步判斷排版在所述 可排區(qū)域內(nèi)的最后 一個字符在寬度方向之后的位置是否到達(dá)所述排版區(qū)域在 寬度方向的結(jié)束位置,如果所述第二判斷^t塊確定排版在所述可排區(qū)域內(nèi)的最 后一個字符在寬度方向之后的位置沒有達(dá)到所述排版區(qū)域在寬度方向的結(jié)束 位置,則說明該段落文字也已排版完畢。
本發(fā)明實施例在段落文字需要對齊的文字前,輸入一個標(biāo)記字符,在排版 時,根據(jù)當(dāng)前行的屬性及該標(biāo)記字符的位置,確定當(dāng)前行的可排區(qū)域,然后在 該行的可排區(qū)域內(nèi)排版段落文字,這種方法即可用于包含條目編號的段落對齊,也可用于包含條目編號和名稱的段落對齊,且使用簡單、方便,因而提高 了排版的效率,同時也保證了排版的效果。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā) 明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、一種段落內(nèi)文字對齊的排版方法,其特征在于,包括A、根據(jù)當(dāng)前段落行號與當(dāng)前行是否段落首行的對應(yīng)關(guān)系,確定待排版的當(dāng)前行是否為段落首行,如果是,則該行在寬度方向的可排區(qū)域為從排版區(qū)域在寬度方向的起始位置到所述排版區(qū)域在寬度方向的結(jié)束位置;否則從已排版的該段落的文字中獲取標(biāo)記字符,則該行在寬度方向的可排區(qū)域為從該字符在寬度方向之后的位置到所述排版區(qū)域在寬度方向的結(jié)束位置,其中所述標(biāo)記字符是所述段落中的一個字符,在錄入該段落內(nèi)的文字時輸入的;B、在所述可排區(qū)域內(nèi)排版該段落內(nèi)的文字。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟B之后,該方 法進(jìn)一步包括C、 判斷該段落內(nèi)的文字是否排版完畢,如果是,則結(jié)束該段落文字的排 版;否則,返回步驟A繼續(xù)處理下一行。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述判斷該段落內(nèi)的文字 是否排版完畢,包括判斷排版在所述可排區(qū)域內(nèi)的最后一個字符是否為段落結(jié)束符,如果是, 則該段落內(nèi)的文字已排版完畢,否則,判斷排版在所述可排區(qū)域內(nèi)的最后一個字符在寬度方向之后的位置是否 到達(dá)所述排版區(qū)域在寬度方向的結(jié)束位置,如果是,則該段落內(nèi)的文字已排版 完畢,否則,該段落內(nèi)的文字還沒排版完畢。
4、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟C進(jìn)一步包括 在確定該段落內(nèi)的文字排版完畢時,將所述段落行號設(shè)置為初始值;否則,將所述段落行號加一個固定值。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,如果該段落文字的排版方 向為橫排,則所述寬度方向為橫向。
6、 根據(jù)權(quán)利要求1所述的方法,其特征在于,如果該段落文字的排版方向為豎排,則所述寬度方向為縱向。
7、 一種實現(xiàn)段落內(nèi)文字對齊的排版裝置,其特征在于,包括可排區(qū)域獲取模塊,用于在確定待排版的當(dāng)前行為段落首行時,根據(jù)排版 區(qū)域在寬度方向的起始位置和結(jié)束位置確定該行在寬度方向的可排區(qū)域;在確 定待排版的當(dāng)前行為非段落首行時,從已排版的該段落的文字中獲取標(biāo)記字 符,根據(jù)所述標(biāo)記字符在寬度方向的位置和所述排版區(qū)域在寬度方向的結(jié)束位 置,確定該行在寬度方向的可排區(qū)域;文字排版;漠塊,用于在所述可排區(qū)域獲取模塊所確定的可排區(qū)域內(nèi)排版該 段落內(nèi)的文字。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,該裝置進(jìn)一步包括 段落判斷模塊,用于在所述文字排版模塊在當(dāng)前行的所述可排區(qū)域內(nèi)排版完文字時,判斷該段落內(nèi)的文字是否排版完畢。
9、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述段落判斷模塊,包括 第 一判斷模塊,用于判斷排版在所述可排區(qū)域內(nèi)的最后一個字符是否為段落結(jié)束符;第二判斷模塊,用于在所述第一判斷模塊確定排版在所述可排區(qū)域內(nèi)的最 后一個字符為非段落結(jié)束符時,判斷排版在所述可排區(qū)域內(nèi)的最后一個字符在 寬度方向之后的位置是否到達(dá)所述排版區(qū)域在寬度方向的結(jié)束位置。
全文摘要
本發(fā)明公開了一種段落內(nèi)文字對齊的排版方法及裝置,用以解決現(xiàn)有技術(shù)中存在的排版效率低或調(diào)整效果不理想的問題。該方法根據(jù)段落中錄入的標(biāo)記字符和當(dāng)前行的屬性,確定該行的可排區(qū)域,然后在所述可排區(qū)域內(nèi)排版該段落內(nèi)的文字。根據(jù)本發(fā)明提出的方案,不僅能提高排版的效率,也能確保調(diào)整效果。
文檔編號G06F17/25GK101452445SQ20071017899
公開日2009年6月10日 申請日期2007年12月7日 優(yōu)先權(quán)日2007年12月7日
發(fā)明者唐耀珺, 楊燕菲, 王全鵬 申請人:北大方正集團有限公司;北京北大方正電子有限公司