腳注排版的實現(xiàn)方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及排版技術(shù)領(lǐng)域,具體而言,涉及腳注排版的實現(xiàn)方法和裝置。
【背景技術(shù)】
[0002]在傳統(tǒng)的腳注排版中,每條腳注信息通常會占用獨立一行;例如在利用word軟件進行腳注排版時,多個腳注的排版效果如圖1所示。
[0003]圖1中的“李白”、“桃花潭”以及“汪倫”后面的數(shù)字標記為正文腳注標記,正文腳注標記是正文中標記存在腳注的編號;圖1中的“人名”和“地名”為腳注文章的腳注內(nèi)容,腳注文章是記錄一篇文章內(nèi)所有腳注內(nèi)容的容器。
[0004]發(fā)明人在實現(xiàn)本發(fā)明過程中發(fā)現(xiàn),當一頁之中的腳注數(shù)量較多時,現(xiàn)有的這種腳注排版方式會存在腳注內(nèi)容占用較多的顯示版面的現(xiàn)象,從而會使排版效果較差。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的是提供腳注排版的實現(xiàn)方法和裝置。采用本發(fā)明的方法和裝置,可有效避免腳注內(nèi)容占用較多的顯示版面的現(xiàn)象,從而改善排版效果。
[0006]為了實現(xiàn)以上目的,本發(fā)明提供的腳注排版的實現(xiàn)方法包括以下步驟:獲取當前顯示頁的腳注內(nèi)容顯示區(qū)域記載的信息;根據(jù)所述信息將當前顯示頁正文內(nèi)的多個或者所有腳注標記的腳注內(nèi)容排版在同一個段落中顯示;其中,所述腳注內(nèi)容顯示區(qū)域記載的信息包括:腳注標記對應(yīng)的腳注內(nèi)容的位置信息以及腳注內(nèi)容。
[0007]本發(fā)明提供的腳注排版的實現(xiàn)裝置包括:獲取模塊,用于獲取當前顯示頁的腳注內(nèi)容顯示區(qū)域記載的信息;排版顯示模塊,根據(jù)所述信息將當前顯示頁正文內(nèi)的多個或者所有腳注標記的腳注內(nèi)容排版在同一個段落中顯示;其中,所述腳注內(nèi)容顯示區(qū)域記載的信息包括:腳注標記對應(yīng)的腳注內(nèi)容的位置信息以及腳注內(nèi)容。
[0008]本發(fā)明的效果在于:通過將當前顯示頁正文內(nèi)的多個或者所有腳注標記的腳注內(nèi)容排版在同一個段落中,有效避免了在一頁之中的腳注數(shù)量較多的情況下,腳注內(nèi)容占用較多顯示版面的現(xiàn)象,從而改善了排版效果。
【附圖說明】
[0009]圖1示出了傳統(tǒng)的多個腳注排版的效果圖;
[0010]圖2示出了本發(fā)明實施例的連續(xù)多個腳注排版的效果圖;
[0011]圖3是本發(fā)明實施例的基于連續(xù)腳注的插入腳注時的腳注文章構(gòu)建的流程圖;
[0012]圖4是本發(fā)明實施例的連續(xù)腳注的排版流程圖。
【具體實施方式】
[0013]本發(fā)明是將當前顯示的一頁正文中的多個腳注或者所有腳注的腳注內(nèi)容排版在一個段落中;由于現(xiàn)有的當前顯示的正文中的每一個腳注內(nèi)容均會占用獨立一行,因此,相比較而言,現(xiàn)有的腳注排版可以稱為非連續(xù)腳注排版,而本發(fā)明的腳注排版可以稱為連續(xù)腳注排版。
[0014]下面將參考附圖并結(jié)合實施例,來詳細說明本發(fā)明。
[0015]一個完整的連續(xù)腳注的排版流程可以被分為兩部分,第一部分是正文同腳注文章內(nèi)容的構(gòu)建過程;第二部分是根據(jù)第一部分構(gòu)建的信息調(diào)用排版函數(shù)來形成顯示結(jié)果。在下述描述中,會著重闡述同原有的非連續(xù)腳注的排版流程的區(qū)別部分。
[0016]一、腳注文章內(nèi)容的構(gòu)建過程;該構(gòu)建過程主要包含兩方面內(nèi)容,第一方面內(nèi)容是插入腳注,第二方面內(nèi)容是刪除腳注;下面分別對在插入腳注和刪除腳注的情況下,如何構(gòu)建腳注文章內(nèi)容進行詳細說明。
[0017]A、插入腳注:
[0018]現(xiàn)有的腳注排版方式都是以段為單位來區(qū)分每一條腳注;而在本發(fā)明實施例的連續(xù)腳注中,一頁正文對應(yīng)的多個腳注內(nèi)容甚至所有腳注內(nèi)容都在同一段落中。本發(fā)明實施例采用添加腳注標記的方式來實現(xiàn)腳注插入。
[0019]在當前顯示頁正文內(nèi)每插入一條腳注標記時,首先,應(yīng)在當前顯示頁的正文中查找該插入的腳注標記在本頁內(nèi)的上一個腳注標記;在查找到上一個腳注標記的情況下,應(yīng)從該查找到的上一個腳注標記在腳注內(nèi)容顯示區(qū)域記載的信息中獲取該上一個腳注標記對應(yīng)的腳注內(nèi)容在腳注文章中的位置,并將該位置的末尾(即上一個腳注標記對應(yīng)的腳注內(nèi)容的結(jié)束位置)定位為這條新插入的腳注標記對應(yīng)的腳注內(nèi)容的起始位置;在本頁內(nèi)不存在上一條腳注標記的情況下,即在本頁內(nèi)沒有查找到上一個腳注標記的情況下,則應(yīng)將在當前顯示頁的腳注內(nèi)容顯示區(qū)域起始位置定位為這條新插入的腳注標記對應(yīng)的腳注內(nèi)容的起始位置。
[0020]在定位了新插入的腳注標記對應(yīng)的腳注內(nèi)容的起始位置后,在該定位的起始位置處插入一個特殊的占位對象,此占位對象不會顯示,只是用來標記該位置是一條腳注標記對應(yīng)的腳注內(nèi)容的起始點;在插入了占位對象之后,在該占位對象后的位置插入此條腳注標記對應(yīng)的腳注內(nèi)容的文字信息(即腳注內(nèi)容)。
[0021]最后,在該插入的腳注標記中記錄這個占位對象在腳注內(nèi)容顯示區(qū)域中的位置信肩、O
[0022]插入腳注標記的大致流程如圖3所示,即在插入一條腳注標記時,先判斷是否存在腳注文章,如果不存在腳注文章,則創(chuàng)建一個新的腳注文章,并將該腳注標記的腳注內(nèi)容存在該新創(chuàng)建的腳注文章中;如果已經(jīng)存在腳注文章,則將該腳注標記的腳注內(nèi)容存在在該已經(jīng)存在的腳注文章中;之后,可以啟動排版過程。
[0023]B、刪除腳注:
[0024]在當前顯示頁正文內(nèi),每刪除一條腳注標記,都可能會存在如下兩種情況之一:
[0025]第一種情況是,需要刪除當前顯示頁正文中的腳注標記和腳注內(nèi)容;此時,需要先在當前顯示頁的腳注內(nèi)容顯示區(qū)域中查找這條需要刪除的腳注標記的占位對象,刪除這個查找到的占位對象到下一個占位對象之間的內(nèi)容,并將刪除的區(qū)域的結(jié)束位置設(shè)置為下一個腳注標記的腳注內(nèi)容的起始位置,刪除腳注文章中存儲的對應(yīng)的腳注內(nèi)容,且刪除當前顯示頁正文中對應(yīng)的腳注標記。
[0026]第二種情況是,刪除腳注文章中的腳注內(nèi)容。如果選中的需要刪除的腳注內(nèi)容中包含有腳注標記的占位對象,則需要找到當前顯示頁正文中該需要刪除的腳注內(nèi)容對應(yīng)的腳注標記,并將該找到的腳注標記一并刪除,調(diào)整腳注文章中的刪除位置的結(jié)尾到下一個腳注標記的起始位置前,以確保所刪除的腳注內(nèi)容的完整性。如果選中的需要刪除的腳注內(nèi)容中沒有占位對象,則可以直接刪除腳注文章中存儲的需要刪除的腳注內(nèi)容,而不對正文中的腳注標記進行處理。
[0027]二、腳注部分的排版過程:該排版過程同原有的排版流程比較接近,但有,一些地方需要做特別的處理。
[0028]在排版過程中,非連續(xù)腳注是以段落為單位的,即當前顯示頁正文中每排入一條腳注,在腳注塊(即腳注文章)中就相應(yīng)排入一段;而對于連續(xù)腳注而言,由于同一當前顯示頁的所有腳注內(nèi)容可以都放置在同一段落內(nèi),所以,需要以當前顯示頁的正文中的腳注標記來判斷每次排入的結(jié)束位置。
[0029]在正文排入一個腳注標記后,找到該腳注標記在腳注文章中對應(yīng)的占位對象;然后一直往后遍歷直到下一占位對象前,將該位置設(shè)置為該找到的腳注標記在腳注文章中排版的結(jié)束位置,之后再調(diào)用排版函數(shù)進行相應(yīng)的處理。
[0030]具體的排版過程的一個具體例子如圖4所示。
[0031]圖4中,首先,根據(jù)排版區(qū)域的大小逐行排入文章的內(nèi)容。在排入當前行的文章內(nèi)容的過程中,會判斷當前排入的行中是否存在腳注標記,如果不存在腳注標記,則到后續(xù)判斷正文內(nèi)容是否排版完畢的步驟;如果存在腳注標記,則判斷是否已經(jīng)構(gòu)建當前文字塊附屬的腳注塊(即當前頁的腳注塊),如果沒有構(gòu)建該腳注塊,則創(chuàng)建新的腳注塊,并到后續(xù)定位插入位置的步驟;如果已經(jīng)構(gòu)建了該腳注塊,則到定位插入位置的步驟,即依據(jù)該腳注標記在正文中的位置定位該腳注標記的腳注內(nèi)容在腳注區(qū)域(即腳注塊)中的插入位置;之后,在該腳注塊中插入該腳注標記的占位對象以及腳注內(nèi)容;進行該腳注塊的排版操作,并判斷腳注塊是否存在續(xù)排,如果存在續(xù)排,則移除主文字塊最后一行內(nèi)容以及最后一行內(nèi)容對應(yīng)的腳注塊中的內(nèi)容,切換到下一個文字塊繼續(xù)排版當前行,并返回到判斷當前排入行是否存在腳注標記的步驟;如果不存在續(xù)排,則調(diào)整腳注塊的高度到自適應(yīng)文,并移動腳注塊與主文字塊底部齊平,在正文的該腳注標記中記錄占位對象的索引值;之后,判斷正文內(nèi)容是否排版完畢,如果已排版完畢則本次排版過程結(jié)束,如果沒有排版完畢,則繼續(xù)下一行的排版過程。
[0032]本發(fā)明提供的腳注排版的實現(xiàn)裝置主要包括:獲取模塊、排版顯示模塊、查找模塊、第一插入模塊、第二插入模塊、第一刪除模塊以及第二刪除模塊。
[0033]獲取模塊與排版顯示模塊連接;該獲取模塊主要用于獲取當前顯示頁的腳注內(nèi)容顯示區(qū)域記載的信息,如腳注標記對應(yīng)的腳注內(nèi)容的位置信息以及腳注內(nèi)容。