两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種動(dòng)態(tài)添加互斥區(qū)域的排版方法及系統(tǒng)的制作方法

文檔序號(hào):6585228閱讀:192來(lái)源:國(guó)知局
專利名稱:一種動(dòng)態(tài)添加互斥區(qū)域的排版方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)排版技術(shù)領(lǐng)域,尤其涉及一種動(dòng)態(tài)添加互斥區(qū)域的排版方法及 系統(tǒng)。
背景技術(shù)
目前,在計(jì)算機(jī)排版技術(shù)中,錨點(diǎn)功能被廣泛使用。通過(guò)錨點(diǎn)功能可將文字流中的 特定文本作為錨點(diǎn)在其與和與該錨點(diǎn)相關(guān)聯(lián)的對(duì)象之間建立錨定關(guān)系,從而當(dāng)作為錨點(diǎn)的 字符流動(dòng)時(shí),與之相關(guān)聯(lián)的對(duì)象也跟著流動(dòng)。這個(gè)對(duì)象稱為錨點(diǎn)對(duì)象,是附加或錨定到錨點(diǎn) 的對(duì)象,比如,與特定字詞相關(guān)聯(lián)的旁注、圖注、數(shù)字或圖標(biāo)。當(dāng)重排文字流時(shí),錨點(diǎn)對(duì)象隨 著包含錨點(diǎn)的文字流以一定的位置關(guān)系一起移動(dòng),從而實(shí)現(xiàn)圖文跟隨的效果。因此,錨點(diǎn)功 能豐富了排版領(lǐng)域中對(duì)象之間的關(guān)聯(lián)性,可以準(zhǔn)確地實(shí)現(xiàn)對(duì)象間的定位操作。在目前的排版技術(shù)中,通常是在排版之前先將文字排版區(qū)域劃分出來(lái),并計(jì)算好 文字排版區(qū)域的順序,在排版過(guò)程中根據(jù)事先劃分好的區(qū)域進(jìn)行文字排版即可。但是,對(duì)于 具有互斥屬性的錨點(diǎn)對(duì)象而言,由于其互斥區(qū)域在排版之前是不清楚的,在排版過(guò)程中當(dāng) 排版到錨點(diǎn)時(shí)才能確認(rèn),因此,不能在排版前劃分錨點(diǎn)對(duì)象文字排版區(qū)域。此外,對(duì)于向下互斥的錨點(diǎn)對(duì)象而言,由于排版后錨點(diǎn)本身在文字流的位置排在 錨點(diǎn)對(duì)象所在位置之前,所以很容易在保持錨點(diǎn)與錨點(diǎn)對(duì)象之間的相對(duì)位置關(guān)系不變的情 況下實(shí)現(xiàn)圖文混合繞排的效果。但是,如果要做成向上互斥的錨點(diǎn)對(duì)象,由于排版后錨點(diǎn)本 身在文字流的位置排在錨點(diǎn)對(duì)象所在位置之后,所以在做圖文跟隨效果時(shí),尤其是添加錨 點(diǎn)對(duì)象的互斥區(qū)域時(shí),由于對(duì)排版區(qū)域的互斥,會(huì)導(dǎo)致文字流內(nèi)的錨點(diǎn)位置發(fā)生動(dòng)態(tài)改變, 從而導(dǎo)致錨點(diǎn)和錨點(diǎn)對(duì)象之間的相對(duì)位置發(fā)生變化,因此,不容易在保持錨點(diǎn)與錨點(diǎn)對(duì)象 之間的相對(duì)位置關(guān)系不變的情況下實(shí)現(xiàn)圖文混合繞排的效果。因此,在現(xiàn)有的排版軟件中, 一般只支持向下互斥的圖文混合繞排的效果,而對(duì)于錨點(diǎn)對(duì)象向上互斥,一般都是將錨點(diǎn) 對(duì)象浮在文字上方,沒(méi)有文字繞排的效果。

發(fā)明內(nèi)容
為了解決上述圖文互斥的問(wèn)題,本發(fā)明提供一種動(dòng)態(tài)添加互斥區(qū)域的排版方法及 系統(tǒng),以在排版過(guò)程中動(dòng)態(tài)地添加互斥區(qū)域,實(shí)現(xiàn)多種圖文互斥的效果。為了實(shí)現(xiàn)以上目的,本發(fā)明提供的動(dòng)態(tài)添加互斥區(qū)域的方法包括以下步驟根據(jù) 用戶設(shè)置的錨點(diǎn)屬性參數(shù)值設(shè)置錨點(diǎn)對(duì)象的排版位置;保持錨點(diǎn)對(duì)象位于所設(shè)置的排版位 置不動(dòng),添加錨點(diǎn)對(duì)象互斥區(qū)域,計(jì)算重排點(diǎn);從重排點(diǎn)開(kāi)始排版。其中,計(jì)算重排點(diǎn)的步驟包括以下步驟對(duì)于錨點(diǎn)對(duì)象的排版位置在錨點(diǎn)之后的 互斥方式,將錨點(diǎn)的下一個(gè)字符作為重排點(diǎn);對(duì)于錨點(diǎn)對(duì)象的排版位置在錨點(diǎn)之前的互斥 方式,首先添加互斥區(qū)域,進(jìn)行區(qū)域劃分,計(jì)算將添加互斥區(qū)域后受到影響的需要重新排版 的文字流的起始位置作為重排點(diǎn)。然后,從該重排點(diǎn)進(jìn)行試排,當(dāng)排版到錨點(diǎn)時(shí),獲取此時(shí) 錨點(diǎn)和錨點(diǎn)對(duì)象的排版位置。如果不能按照所設(shè)置的位置關(guān)系排下錨點(diǎn)和錨點(diǎn)對(duì)象,則盡可能的保證錨點(diǎn)和錨點(diǎn)對(duì)象在同一個(gè)排版區(qū)域內(nèi)??赏ㄟ^(guò)先減小互斥區(qū)域大小,再重新計(jì) 算受到影響的需要重新排版的文字流的起始位置作為重排點(diǎn)的方式來(lái)使錨點(diǎn)和錨點(diǎn)對(duì)象 在同一個(gè)排版區(qū)域內(nèi)排下。相應(yīng)地,本發(fā)明提供一種支持動(dòng)態(tài)添加互斥區(qū)域的系統(tǒng),包括錨點(diǎn)參數(shù)設(shè)置界面、 排版單元、輸出單元、簡(jiǎn)單互斥添加單元和復(fù)雜互斥添加單元。簡(jiǎn)單互斥添加單元是指處理 錨點(diǎn)對(duì)象的排版位置在錨點(diǎn)之后的互斥方式的單元,復(fù)雜互斥添加單元是指處理錨點(diǎn)對(duì)象 的排版位置在錨點(diǎn)之前的互斥方式的單元。本發(fā)明通過(guò)在排版過(guò)程中根據(jù)用戶設(shè)置的錨點(diǎn)屬性參數(shù)值設(shè)定錨點(diǎn)對(duì)象位置,并 根據(jù)該位置添加互斥區(qū)域、劃分文字排版區(qū)域,然后計(jì)算受到影響的文字流的起始位置作 為重排點(diǎn),并從該重排點(diǎn)開(kāi)始按照區(qū)域劃分重新排版,從而實(shí)現(xiàn)互斥區(qū)域的動(dòng)態(tài)添加和多 種互斥方式的圖文混合繞排效果。并且,對(duì)于添加互斥區(qū)域后會(huì)導(dǎo)致錨點(diǎn)變化的互斥方式, 始終保持錨點(diǎn)和錨點(diǎn)對(duì)象位于同一個(gè)排版區(qū)域內(nèi)。


圖1是根據(jù)本發(fā)明的動(dòng)態(tài)添加互斥區(qū)域的排版方法的流程圖;圖2是根據(jù)本發(fā)明方法添加向下互斥的錨點(diǎn)對(duì)象的效果圖;圖3A是待添加向上互斥的錨點(diǎn)對(duì)象的排版文件的示圖;圖;3B是圖3A所示排版文件添加向上互斥的錨點(diǎn)對(duì)象的效果圖;圖4A是待添加向上互斥的錨點(diǎn)對(duì)象的另一排版文件的示圖;圖4B是圖4A所示排版文件添加向上互斥的錨點(diǎn)對(duì)象的效果圖;圖5是添加向上互斥的錨點(diǎn)對(duì)象的另一效果圖;圖6是根據(jù)本發(fā)明的動(dòng)態(tài)添加互斥區(qū)域的排版系統(tǒng)的框圖。
具體實(shí)施例方式本發(fā)明的主要目的是實(shí)現(xiàn)排版過(guò)程中互斥區(qū)域的動(dòng)態(tài)添加以及多種互斥方式的 錨點(diǎn)對(duì)象的圖文混合繞排的效果,同時(shí)使錨點(diǎn)和錨點(diǎn)對(duì)象在大多數(shù)情況下位于同一個(gè)排版 區(qū)域內(nèi)。以下,將結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。圖1是根據(jù)本發(fā)明的動(dòng)態(tài)添加互斥區(qū)域的排版方法的流程圖。參照?qǐng)D1,該方法包括以下步驟步驟Si、錨點(diǎn)對(duì)象設(shè)置步驟在該步驟中,根據(jù)用戶設(shè)置的錨點(diǎn)屬性參數(shù)值設(shè)置錨點(diǎn)對(duì)象的排版位置。其中, 所述錨點(diǎn)對(duì)象屬性參數(shù)用于對(duì)錨點(diǎn)對(duì)象進(jìn)行定位,主要包括錨點(diǎn)對(duì)象的錨定類型和偏移參 數(shù)、九宮位等。錨定類型定義錨點(diǎn)對(duì)象的參照對(duì)象,可設(shè)為頁(yè)、錨點(diǎn)、欄、框架等。比如,當(dāng)選 擇錨定類型為頁(yè)時(shí),偏移參數(shù)表示錨點(diǎn)對(duì)象相對(duì)于錨點(diǎn)所在頁(yè)的偏移數(shù)值,當(dāng)選擇錨定類 型為錨點(diǎn)時(shí),偏移參數(shù)表示錨點(diǎn)對(duì)象相對(duì)于錨點(diǎn)的偏移數(shù)值。九宮位表示錨點(diǎn)對(duì)象參照錨 定類型所指定的參照對(duì)象的參照點(diǎn),包括左上點(diǎn)、中上點(diǎn)、左右點(diǎn)、左中點(diǎn)、中間點(diǎn)、右中點(diǎn)、 左下點(diǎn)、中下點(diǎn)和右下點(diǎn)。由于本發(fā)明的目的是保持錨點(diǎn)對(duì)象和設(shè)定的固定參照物之間的 距離,即,針對(duì)錨點(diǎn)對(duì)象不會(huì)隨文字流改變而發(fā)生位置變化這種情況而提出,所以優(yōu)選設(shè)置 錨定類型為頁(yè),九宮位選擇錨點(diǎn)對(duì)象的左上點(diǎn)。在這種情況下,當(dāng)錨點(diǎn)在同一頁(yè)內(nèi)流動(dòng)時(shí),錨點(diǎn)對(duì)象與頁(yè)的距離是固定不變的。設(shè)置好錨點(diǎn)屬性參數(shù)值之后,根據(jù)此時(shí)錨點(diǎn)的位置和所設(shè)置的偏移參數(shù)就可設(shè)定 錨點(diǎn)對(duì)象位置。比如,在設(shè)置錨定類型為頁(yè)并且九宮位設(shè)置為左上點(diǎn)的情況下,偏移參數(shù)即 表示錨點(diǎn)對(duì)象相對(duì)于頁(yè)的左上點(diǎn)的偏移距離。比如,用戶設(shè)置錨點(diǎn)對(duì)象的位置與頁(yè)的偏移 距離參數(shù)X、Y為00,60),則錨點(diǎn)對(duì)象與錨點(diǎn)所在的頁(yè)的左上點(diǎn)的距離為00,60)。步驟S2、重排點(diǎn)計(jì)算步驟在該步驟中,保持錨點(diǎn)對(duì)象位于所設(shè)置的排版位置不動(dòng),添加錨點(diǎn)對(duì)象互斥區(qū)域, 進(jìn)行文字排版區(qū)域劃分,計(jì)算重排點(diǎn)。這里,重排點(diǎn)是指在該點(diǎn)位置之后的文字流需要按照 添加互斥區(qū)域之后所劃分的區(qū)域進(jìn)行重新排版,而該位置之前的文字流則不需要再重新排 版。利用重排點(diǎn)可設(shè)定從該點(diǎn)所在字符位置開(kāi)始排版,這樣對(duì)于不需要重新排版的文字可 以不重新排版,而只對(duì)排版結(jié)果的位置發(fā)生變化的文字進(jìn)行重新排版,能夠提高排版效率。具體地講,對(duì)于錨點(diǎn)對(duì)象的排版位置在錨點(diǎn)之后的互斥方式,比如,向下互斥,由 于是順次排版,所以錨點(diǎn)對(duì)象的排版位置不會(huì)影響錨點(diǎn)前的文字排版,因此,可將重排點(diǎn)設(shè) 置為錨點(diǎn)的下一個(gè)字符。對(duì)于錨點(diǎn)對(duì)象的排版位置在錨點(diǎn)之前的互斥方式,比如,向上互斥,由于添加互斥 區(qū)域后對(duì)排版區(qū)域的互斥,將會(huì)導(dǎo)致文字流內(nèi)的錨點(diǎn)的位置發(fā)生動(dòng)態(tài)變化,會(huì)影響錨點(diǎn)之 前的文字流的排版,所以需要計(jì)算添加互斥區(qū)域后受到影響的需要重新排版的文字流的起 始位置,并將該位置作為重排點(diǎn)。首先,添加互斥區(qū)域,進(jìn)行區(qū)域劃分,計(jì)算重排點(diǎn)。然后, 從該重排點(diǎn)進(jìn)行試排,當(dāng)排版到錨點(diǎn)時(shí),獲取此時(shí)錨點(diǎn)和錨點(diǎn)對(duì)象的排版位置,判斷在當(dāng)前 區(qū)域內(nèi)能否排下錨點(diǎn)和錨點(diǎn)對(duì)象。如果不能排下,則先減小互斥區(qū)域大小再添加減小的互 斥區(qū)域,進(jìn)行區(qū)域劃分,重新計(jì)算重排點(diǎn),以盡可能地將錨點(diǎn)和錨點(diǎn)對(duì)象排在當(dāng)前排版區(qū)域 內(nèi),此時(shí),錨點(diǎn)對(duì)象仍位于用戶所設(shè)置的相對(duì)于固定參照物(比如,頁(yè))的位置不變。其中, 添加互斥區(qū)域之后進(jìn)行區(qū)域劃分屬于現(xiàn)有技術(shù),因此,省略其描述(具體內(nèi)容可參見(jiàn)申請(qǐng) 號(hào)為200610066880. 8的中國(guó)專利申請(qǐng)“一種排版領(lǐng)域的圖文繞排方法”)。其中,可通過(guò)以下方式來(lái)計(jì)算上述重排點(diǎn)。由于錨點(diǎn)位置之前的文字已經(jīng)排版過(guò), 存在排版后的大樣信息。大樣是文字排版后的結(jié)果,大樣行用來(lái)記錄文字排版后的每一行 的位置及字符排版后的位置信息,因此可通過(guò)對(duì)大樣行位置和錨點(diǎn)對(duì)象的位置進(jìn)行比較來(lái) 計(jì)算重排點(diǎn)。大樣行的位置是相對(duì)于排版區(qū)域左上點(diǎn)的坐標(biāo)位置,可以以索引的方式來(lái)記 錄大樣行在整個(gè)文字排版結(jié)果中的位置,以便用來(lái)記錄大樣行與排版結(jié)果的對(duì)應(yīng)關(guān)系。其 中,索引可以是一個(gè)從0開(kāi)始依次排序的自然數(shù)。這樣,從索引為0的大樣行開(kāi)始在排版結(jié) 果中查找,找到第一個(gè)符合條件的大樣行,即,該大樣行的坐標(biāo)位置與錨點(diǎn)對(duì)象位置有交集 的大樣行,也就是添加錨點(diǎn)對(duì)象的互斥區(qū)域后影響了這行文字的排版結(jié)果、需要重新排版 的大樣行。找到該大樣行后,將該大樣行的行首字符設(shè)置為重排點(diǎn)。步驟S3、重排步驟在該步驟中,從重排點(diǎn)開(kāi)始按照文字排版區(qū)域劃分重新排版。該步驟屬于現(xiàn)有技 術(shù),因此,省略其描述。通過(guò)以上方法,可在排版過(guò)程中動(dòng)態(tài)地添加互斥區(qū)域,并且對(duì)于多種互斥方式的 錨點(diǎn)對(duì)象,可實(shí)現(xiàn)圖文混合繞排的效果。以下將結(jié)合幾個(gè)示例來(lái)對(duì)本發(fā)明方法進(jìn)行進(jìn)一步 的說(shuō)明。
圖2是添加向下互斥的錨點(diǎn)對(duì)象的效果圖示例。在圖2中,首先在“如圖1所示” 的后一位置設(shè)置錨點(diǎn)(如箭頭所示),然后設(shè)定錨點(diǎn)對(duì)象相對(duì)于頁(yè)的左上點(diǎn)的偏移距離為 (40,60)。然后保持錨點(diǎn)對(duì)象位于該位置不動(dòng),添加互斥區(qū)域,并根據(jù)排版區(qū)域大小、互斥區(qū) 域大小和錨點(diǎn)對(duì)象大小進(jìn)行文字排版區(qū)域劃分。從圖2可看出,互斥區(qū)域的添加不會(huì)改變 錨點(diǎn)位置之前的文字排版,所以設(shè)置錨點(diǎn)后的下一個(gè)字符“”作為重排點(diǎn),從這個(gè)字符開(kāi) 始排版。圖3A是待添加向上互斥的錨點(diǎn)對(duì)象的排版文件的示圖。在該排版文件中,當(dāng)排版 到“伍德羅·威爾遜”時(shí),在其后設(shè)置錨點(diǎn),并設(shè)定錨點(diǎn)對(duì)象相對(duì)于錨點(diǎn)所在頁(yè)的左上點(diǎn)的 偏移距離為(10,20)。然后保持錨點(diǎn)對(duì)象位于該位置不動(dòng),添加互斥區(qū)域,并根據(jù)排版區(qū)域 大小、互斥區(qū)域大小和錨點(diǎn)對(duì)象大小進(jìn)行文字排版區(qū)域劃分。從顯示互斥效果的圖3B可看 出,互斥區(qū)域的添加改變了錨點(diǎn)之前的文字排版,因此,需要根據(jù)受影響的需要重新排版的 文字流計(jì)算重排點(diǎn)。如上所述,第1個(gè)大樣行的坐標(biāo)位置為(0,0),第二個(gè)大樣行的坐標(biāo)位 置為(0,10),第2個(gè)大樣行的坐標(biāo)位置為(0,20)。由于是橫向排版,所以可只比較縱向坐 標(biāo)位置即可。從圖4B可看出,第3個(gè)大樣行(縱向坐標(biāo)位置為20)與錨點(diǎn)對(duì)象的位置有交 集,所以重排點(diǎn)為第3個(gè)大樣行的第一個(gè)字符,即“入住白宮后”的“后”這個(gè)字符。然后, 從這個(gè)字符對(duì)已經(jīng)排版過(guò)的字符進(jìn)行重新排版。圖4A是待添加向上互斥的錨點(diǎn)對(duì)象的另一排版文件的示圖。由于,所設(shè)置的錨 點(diǎn),即,“伍德羅·威爾遜”后面的字符的位置在當(dāng)前排版區(qū)域內(nèi)過(guò)于靠后,因此,不能按照 所設(shè)置的位置關(guān)系在當(dāng)前排版區(qū)域內(nèi)排下錨點(diǎn)和錨點(diǎn)對(duì)象。因此,減小互斥區(qū)域的大小,然 后,保持錨點(diǎn)對(duì)象位于用戶所設(shè)置的相對(duì)于頁(yè)的偏移位置為00,100)不動(dòng),添加大小減小 的互斥區(qū)域,進(jìn)行區(qū)域劃分,從而使錨點(diǎn)和錨點(diǎn)對(duì)象排在同一個(gè)排版區(qū)域內(nèi),互斥效果如圖 4B所示。圖5是向上互斥的又一個(gè)例子,錨點(diǎn)對(duì)象位于錨點(diǎn)左側(cè),相對(duì)于頁(yè)的偏移距離為 (40,0),文字形成繞排的效果。相應(yīng)地,本發(fā)明提供一種支持動(dòng)態(tài)添加互斥區(qū)域的排版系統(tǒng)。如圖6所示,該系統(tǒng) 包括錨點(diǎn)參數(shù)設(shè)置界面10、簡(jiǎn)單互斥添加單元20、復(fù)雜互斥添加單元30、排版單元40和 輸出單元50。簡(jiǎn)單互斥添加單元20根據(jù)用戶通過(guò)錨點(diǎn)參數(shù)設(shè)置界面10設(shè)置的錨點(diǎn)屬性參數(shù)值 設(shè)置錨點(diǎn)對(duì)象的排版位置,并將錨點(diǎn)的下一個(gè)字符作為重排點(diǎn)發(fā)送給排版單元20。復(fù)雜互斥添加單元30根據(jù)用戶通過(guò)錨點(diǎn)參數(shù)設(shè)置界面10設(shè)置的錨點(diǎn)屬性參數(shù)值 設(shè)置錨點(diǎn)對(duì)象的排版位置,添加互斥區(qū)域,進(jìn)行區(qū)域劃分,計(jì)算重排點(diǎn),并從該重排點(diǎn)開(kāi)始 試排,當(dāng)排版到錨點(diǎn)時(shí),獲取此時(shí)錨點(diǎn)和錨點(diǎn)對(duì)象的排版位置,并判斷在當(dāng)前排版區(qū)域內(nèi)能 否排下錨點(diǎn)和錨點(diǎn)對(duì)象。如果能夠按照所設(shè)置的位置關(guān)系排下錨點(diǎn)和錨點(diǎn)對(duì)象,則將計(jì)算 的重排點(diǎn)發(fā)送給排版單元40。如果不能按照所設(shè)置的位置關(guān)系排下錨點(diǎn)和錨點(diǎn)對(duì)象,則先 減小互斥區(qū)域大小,再添加大小減小的互斥區(qū)域,進(jìn)行文字排版區(qū)域劃分,并重新計(jì)算重排 點(diǎn),再次進(jìn)行試排,如此反復(fù)進(jìn)行重排點(diǎn)計(jì)算和試排,直到將錨點(diǎn)和錨點(diǎn)對(duì)象在當(dāng)前排版區(qū) 域內(nèi)排下。這里,重排點(diǎn)是指添加互斥區(qū)域后受到影響的需要重新排版的文字流的起始位 置。然后,將計(jì)算的重排點(diǎn)發(fā)送給排版單元40。其中,按照以下步驟執(zhí)行重排點(diǎn)計(jì)算操作 保持錨點(diǎn)對(duì)象位于所設(shè)置的排版位置不動(dòng),添加互斥區(qū)域;根據(jù)排版區(qū)域大小、互斥區(qū)域大 小和錨點(diǎn)對(duì)象大小進(jìn)行文字排版區(qū)域劃分;根據(jù)此時(shí)錨點(diǎn)位置之前的大樣行位置信息找到添加錨點(diǎn)對(duì)象的互斥區(qū)域后受到影響的需要重新排版的第一行文字,并將該行文字的行首 字符確定為重排點(diǎn)。排版單元40從簡(jiǎn)單互斥添加單元20和復(fù)雜互斥添加單元30接收到重排點(diǎn)后開(kāi) 始排版。從以上描述可看出,本發(fā)明通過(guò)在排版過(guò)程中根據(jù)用戶設(shè)置的錨點(diǎn)屬性參數(shù)值設(shè) 定錨點(diǎn)對(duì)象位置,并根據(jù)該位置添加互斥區(qū)域、劃分文字排版區(qū)域,然后計(jì)算受到影響的文 字流的起始位置作為重排點(diǎn),并從該重排點(diǎn)開(kāi)始按照區(qū)域劃分重新排版,從而實(shí)現(xiàn)互斥區(qū) 域的動(dòng)態(tài)添加和多種互斥方式的圖文混合繞排效果。并且,對(duì)于向上互斥的錨點(diǎn)對(duì)象,即, 添加互斥區(qū)域后會(huì)導(dǎo)致錨點(diǎn)變化的互斥方式,始終保持錨點(diǎn)和錨點(diǎn)對(duì)象位于同一個(gè)排版區(qū) 域內(nèi)。以上參考實(shí)施例描述了本發(fā)明。但是,本領(lǐng)域的技術(shù)人員應(yīng)該理解,本發(fā)明不限于 所公開(kāi)的實(shí)施例,在不脫離本發(fā)明的基本原理的情況下,任何類似的修改、替換或變形都應(yīng) 包括在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種動(dòng)態(tài)添加互斥區(qū)域的方法,包括以下步驟根據(jù)用戶設(shè)置的錨點(diǎn)屬性參數(shù)值設(shè)置錨點(diǎn)對(duì)象的排版位置;保持錨點(diǎn)對(duì)象位于所設(shè)置的排版位置不動(dòng),添加錨點(diǎn)對(duì)象互斥區(qū)域,進(jìn)行文字排版區(qū) 域劃分,并計(jì)算重排點(diǎn);從重排點(diǎn)開(kāi)始排版,其中,計(jì)算重排點(diǎn)的步驟包括以下步驟對(duì)于錨點(diǎn)對(duì)象的排版位置在錨點(diǎn)之后的互斥方式,將錨點(diǎn)的下一個(gè)字符作為重排點(diǎn);對(duì)于錨點(diǎn)對(duì)象的排版位置在錨點(diǎn)之前的互斥方式,計(jì)算添加互斥區(qū)域后受到影響的需 要重新排版的文字流的起始位置作為重排點(diǎn),然后從該重排點(diǎn)進(jìn)行試排,當(dāng)排版到錨點(diǎn)時(shí), 獲取此時(shí)錨點(diǎn)和錨點(diǎn)對(duì)象的排版位置,并判斷能否在當(dāng)前排版區(qū)域內(nèi)按照所設(shè)置的位置關(guān) 系排下錨點(diǎn)和錨點(diǎn)對(duì)象,如果能夠排下,則確定重排點(diǎn)為當(dāng)前計(jì)算的重排點(diǎn);如果不能排 下,則先減小互斥區(qū)域大小,再添加減小的互斥區(qū)域,進(jìn)行區(qū)域劃分,重新計(jì)算受到影響的 需要重新排版的文字流的起始位置作為重排點(diǎn)并再次進(jìn)行試排,如此反復(fù)進(jìn)行重排點(diǎn)計(jì)算 和試排,直到將錨點(diǎn)和錨點(diǎn)對(duì)象在當(dāng)前排版區(qū)域內(nèi)排下。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述計(jì)算添加互斥區(qū)域后受到影響的需 要重新排版的文字流的起始位置作為重排點(diǎn)重排點(diǎn)的步驟包括以下步驟根據(jù)當(dāng)前錨點(diǎn)位置之前的大樣行位置信息找到添加錨點(diǎn)對(duì)象的互斥區(qū)域后受到影響 的需要重新排版的第一行文字,并將該行文字的行首字符確定為重排點(diǎn)。
3.一種支持動(dòng)態(tài)添加互斥區(qū)域的系統(tǒng),包括錨點(diǎn)參數(shù)設(shè)置界面、排版單元和輸出單元, 其特征在于,還包括簡(jiǎn)單互斥添加單元,根據(jù)用戶通過(guò)錨點(diǎn)參數(shù)設(shè)置界面設(shè)置的錨點(diǎn)屬性參數(shù)值設(shè)置錨點(diǎn) 對(duì)象的排版位置,并將錨點(diǎn)的下一個(gè)字符作為重排點(diǎn)發(fā)送給排版單元;復(fù)雜互斥添加單元,根據(jù)用戶通過(guò)錨點(diǎn)參數(shù)設(shè)置界面設(shè)置的錨點(diǎn)屬性參數(shù)值設(shè)置錨點(diǎn) 對(duì)象的排版位置,添加互斥區(qū)域,進(jìn)行文字排版區(qū)域劃分,計(jì)算重排點(diǎn),并從該重排點(diǎn)開(kāi)始 試排,當(dāng)排版到錨點(diǎn)時(shí),獲取此時(shí)錨點(diǎn)和錨點(diǎn)對(duì)象的排版位置,并判斷在當(dāng)前排版區(qū)域內(nèi)能 否按照所設(shè)置的位置關(guān)系排下錨點(diǎn)和錨點(diǎn)對(duì)象,如果能夠排下,則將當(dāng)前計(jì)算的重排點(diǎn)發(fā) 送給排版單元;如果不能排下,則先減小互斥區(qū)域大小,再添加減小的互斥區(qū)域,進(jìn)行區(qū)域 劃分,計(jì)算重排點(diǎn)并再次進(jìn)行試排,如此反復(fù)進(jìn)行重排點(diǎn)計(jì)算和試排,直到將錨點(diǎn)和錨點(diǎn)對(duì) 象在當(dāng)前排版區(qū)域內(nèi)排下,這里,重排點(diǎn)是指添加互斥區(qū)域后受到影響的需要重新排版的 文字流的起始位置,然后,將計(jì)算的重排點(diǎn)發(fā)送給排版單元,此時(shí),排版單元從重排點(diǎn)開(kāi)始排版。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,復(fù)雜互斥添加單元執(zhí)行以下操作保持錨點(diǎn)對(duì)象位于所設(shè)置的排版位置不動(dòng),添加互斥區(qū)域;根據(jù)排版區(qū)域大小、互斥區(qū)域大小和錨點(diǎn)對(duì)象大小進(jìn)行文字排版區(qū)域劃分;根據(jù)當(dāng)前錨點(diǎn)位置之前的大樣行位置信息找到添加錨點(diǎn)對(duì)象的互斥區(qū)域后受到影響 的需要重新排版的第一行文字,并將該行文字的行首字符確定為重排點(diǎn)。
全文摘要
本發(fā)明提供一種動(dòng)態(tài)添加互斥區(qū)域的方法,包括根據(jù)用戶設(shè)置的錨點(diǎn)屬性參數(shù)值設(shè)置錨點(diǎn)對(duì)象的排版位置;保持錨點(diǎn)對(duì)象位于所設(shè)置的排版位置不動(dòng),添加錨點(diǎn)對(duì)象互斥區(qū)域,進(jìn)行文字排版區(qū)域劃分,并計(jì)算重排點(diǎn);從重排點(diǎn)開(kāi)始排版。其中,對(duì)于向下互斥,將錨點(diǎn)的下一個(gè)字符作為重排點(diǎn);對(duì)于向上互斥,將添加互斥區(qū)域后受到影響的需要重新排版的文字流的起始位置作為重排點(diǎn)。相應(yīng)地,本發(fā)明提供一種支持動(dòng)態(tài)添加互斥區(qū)域的系統(tǒng)。本發(fā)明可實(shí)現(xiàn)互斥區(qū)域的動(dòng)態(tài)添加和多種互斥方式的圖文混合繞排效果,并且,對(duì)于向上互斥始終保持錨點(diǎn)和錨點(diǎn)對(duì)象位于同一個(gè)排版區(qū)域內(nèi)。
文檔編號(hào)G06F17/25GK102103590SQ20091024289
公開(kāi)日2011年6月22日 申請(qǐng)日期2009年12月18日 優(yōu)先權(quán)日2009年12月18日
發(fā)明者周萍萍, 蘇勇, 閆國(guó)龍 申請(qǐng)人:北京北大方正電子有限公司, 北大方正集團(tuán)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
岑溪市| 兴仁县| 榆树市| 乌鲁木齐市| 宁化县| 通化县| 虹口区| 镇江市| 西乌珠穆沁旗| 叙永县| 大竹县| 鞍山市| 台南县| 全州县| 南漳县| 台湾省| 松滋市| 呼和浩特市| 西城区| 麦盖提县| 遂平县| 北辰区| 固始县| 工布江达县| 鄄城县| 武安市| 连州市| 镇平县| 马尔康县| 依安县| 南岸区| 温宿县| 敖汉旗| 上高县| 张家界市| 嘉义县| 新津县| 锡林郭勒盟| 新蔡县| 赤峰市| 宜丰县|