亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于網(wǎng)頁顯示中的排版的方法和裝置與流程

文檔序號:12011563閱讀:189來源:國知局
用于網(wǎng)頁顯示中的排版的方法和裝置與流程
本發(fā)明涉及移動終端領(lǐng)域,特別涉及一種用于網(wǎng)頁顯示中的排版的方法和裝置。

背景技術(shù):
隨著移動終端的發(fā)展,用戶越來越多的使用移動終端上網(wǎng)瀏覽網(wǎng)頁,而在移動終端的上網(wǎng)過程中,當(dāng)下載到網(wǎng)頁數(shù)據(jù)時,需要根據(jù)應(yīng)用瀏覽器的樣式進(jìn)行排版,最終顯示在移動終端的瀏覽器窗口中。移動終端排版的順序是從上至下,也就是說,先決定第一行排什么,再決定第二行排什么,一直到最后一個網(wǎng)頁元素被排下。每一行都包括一個或多個網(wǎng)頁元素,有些元素還會橫跨多行,比如text(文本)元素。每一個網(wǎng)頁元素的位置都依賴于前一個元素的位置和大小。在排版過程中,需要經(jīng)常查詢某個字符串占用的高度和寬度(像素值),來決定一行的開始和結(jié)束位置,也就是說當(dāng)前行從哪個網(wǎng)頁元素開始,以哪個網(wǎng)頁元素結(jié)束,以及下一行的開始坐標(biāo)。在移動終端上,查詢字符串寬高的操作是比較耗時的,由于在排版過程中存在大量查詢字符串寬高的操作,查詢所需的時間長,會導(dǎo)致網(wǎng)頁數(shù)據(jù)的排序緩慢,移動終端的顯示不流暢,影響了用戶瀏覽網(wǎng)頁的體驗。

技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種用于網(wǎng)頁顯示中的排版的方法和裝置。所述技術(shù)方案如下:一種用于網(wǎng)頁顯示中的排版的方法,包括:根據(jù)字符串的字體信息,獲取特征值;根據(jù)所述特征值檢索字體信息數(shù)據(jù)庫;當(dāng)所述預(yù)存字體信息數(shù)據(jù)庫中包含所述特征值,從所述字體信息數(shù)據(jù)庫中獲取與所述特征值相對應(yīng)的第一尺寸;根據(jù)所述第一尺寸計算所述字符串占用的寬度和高度;根據(jù)計算得到的寬度和高度進(jìn)行排版。根據(jù)所述特征值檢索字體信息數(shù)據(jù)庫,之后還包括:當(dāng)所述字體信息數(shù)據(jù)庫中不包含所述特征值,根據(jù)所述字符串的字體信息,計算所述字符串中字符的第二尺寸;根據(jù)所述第二尺寸計算所述字符串占用的寬度和高度,并根據(jù)計算得到的寬度和高度進(jìn)行排版;將所述特征值與所述第二尺寸保存在所述字體信息數(shù)據(jù)庫中。根據(jù)所述第一尺寸計算所述字符串占用的寬度和高度,具體包括:將所述第一尺寸中的寬度和高度分別與所述字符串所包括的字符數(shù)相乘,得到所述字符串占用的寬度和高度。所述第一尺寸中的寬度和高度分別為符合所述字體信息的關(guān)鍵字符的高度和寬度。所述字體信息包括字號、字體名稱、樣式。一種用于網(wǎng)頁顯示中的排版的裝置,包括:特征值獲取模塊,用于根據(jù)字符串的字體信息,獲取特征值;檢索模塊,用于根據(jù)所述特征值檢索字體信息數(shù)據(jù)庫;尺寸獲取模塊,用于當(dāng)所述預(yù)存字體信息數(shù)據(jù)庫中包含所述特征值,從所述字體信息數(shù)據(jù)庫中獲取與所述特征值相對應(yīng)的第一尺寸;字符串計算模塊,用于根據(jù)所述第一尺寸計算所述字符串占用的寬度和高度;排版模塊,用于根據(jù)計算得到的寬度和高度進(jìn)行排版。所述裝置還包括:尺寸計算模塊,用于當(dāng)所述字體信息數(shù)據(jù)庫中不包含所述特征值,根據(jù)所述字符串的字體信息,計算所述字符串中字符的第二尺寸;所述字符串模塊,還用于根據(jù)所述第二尺寸計算所述字符串占用的寬度和高度;所述排版模塊,還用于根據(jù)計算得到的寬度和高度進(jìn)行排版;保存模塊,用于將所述特征值與所述第二尺寸保存在所述字體信息數(shù)據(jù)庫中。所述字符串計算模塊具體用于將所述第一尺寸中的寬度和高度分別與所述字符串所包括的字符數(shù)相乘,得到所述字符串占用的寬度和高度。所述第一尺寸中的寬度和高度分別為符合所述字體信息的關(guān)鍵字符的高度和寬度。所述字體信息包括字號、字體名稱、樣式。本發(fā)明實施例提供的用于網(wǎng)頁顯示中的排版的方法和裝置,通過根據(jù)字符串的字體信息,獲取特征值;根據(jù)所述特征值檢索字體信息數(shù)據(jù)庫;當(dāng)所述預(yù)存字體信息數(shù)據(jù)庫中包含所述特征值,從所述字體信息數(shù)據(jù)庫中獲取與所述特征值相對應(yīng)的第一尺寸;根據(jù)所述第一尺寸計算所述字符串占用的寬度和高度;根據(jù)計算得到的寬度和高度進(jìn)行排版。采用本發(fā)明的技術(shù)方案,避免了排版中出現(xiàn)大量的查詢字符串寬高的操作,能夠有效的減少排版所需的時間,從而加快整個網(wǎng)頁從加載到顯示的過程。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例提供的一種用于網(wǎng)頁顯示中的排版的方法的流程圖;圖2是本發(fā)明實施例提供的一種用于網(wǎng)頁顯示中的排版的方法的流程圖;圖3是本發(fā)明實施例提供的一種用于網(wǎng)頁顯示中的排版的裝置的結(jié)構(gòu)示意圖。具體實施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。圖1是本發(fā)明實施例提供的一種用于網(wǎng)頁顯示中的排版的方法的流程圖。該實施例的執(zhí)行主體為移動終端,參見圖1,該實施例包括:101、根據(jù)字符串的字體信息,獲取特征值;102、根據(jù)該特征值檢索字體信息數(shù)據(jù)庫;103、當(dāng)該預(yù)存字體信息數(shù)據(jù)庫中包含該特征值,從該字體信息數(shù)據(jù)庫中獲取與該特征值相對應(yīng)的第一尺寸;104、根據(jù)該第一尺寸計算該字符串占用的寬度和高度;105、根據(jù)計算得到的寬度和高度進(jìn)行排版??蛇x地,根據(jù)所述特征值檢索字體信息數(shù)據(jù)庫,之后還包括:當(dāng)所述字體信息數(shù)據(jù)庫中不包含所述特征值,根據(jù)所述字符串的字體信息,計算符合所述字體信息的關(guān)鍵字符的第二尺寸;根據(jù)所述第二尺寸計算所述字符串占用的寬度和高度,并根據(jù)計算得到的寬度和高度進(jìn)行排版;將所述特征值與所述第二尺寸保存在所述字體信息數(shù)據(jù)庫中??蛇x地,根據(jù)所述第一尺寸計算所述字符串占用的寬度和高度,具體包括:將所述第一尺寸中的寬度和高度分別與所述字符串所包括的字符數(shù)相乘,得到所述字符串占用的寬度和高度。可選地,所述第一尺寸中的寬度和高度分別為符合所述字體信息的關(guān)鍵字符的高度和寬度??蛇x地,所述字體信息包括字號、字體名稱、樣式。圖2是本發(fā)明實施例提供的一種用于網(wǎng)頁顯示中的排版的方法的流程圖。該實施例的執(zhí)行主體為移動終端,參見圖2,該實施例包括:201、根據(jù)字符串的字體信息,獲取特征值;其中,字體信息包括字號、字體名稱(如宋體、楷體、黑體等)、樣式(如粗細(xì)、帶下劃線,斜體等)。在本實施例中,該特征值能唯一代表一種字體,如果兩個字符串所用字體的特征值相同,則表示這兩個字符串處于同一種字體下,根據(jù)字符串的字號、字體名稱和樣式,應(yīng)用預(yù)設(shè)算法,獲取唯一的特征值,其中,預(yù)設(shè)算法可以為哈希HASH算法或其他映射算法,本實施例不做具體限定。在該實施例提供的排版方法之前,當(dāng)移動終端獲取到網(wǎng)頁文本后,進(jìn)行以下兩個步驟:(1)對網(wǎng)頁數(shù)據(jù)進(jìn)行解析,即將網(wǎng)頁文本轉(zhuǎn)化成一種方便后續(xù)處理的樹形結(jié)構(gòu),樹形結(jié)構(gòu)上每個節(jié)點與網(wǎng)頁元素一一對應(yīng),例如,“body”節(jié)點對應(yīng)網(wǎng)頁文本中的body元素(“<body>....</body>”)。(2)應(yīng)用樣式:把字體大小、背景顏色、邊距等等應(yīng)用到(1)生成的樹形結(jié)構(gòu)的每一個節(jié)點上,例如,把字體顏色“黑色”應(yīng)用到附圖一的“body”節(jié)點上。然后在根據(jù)本發(fā)明提供的方法確定每個網(wǎng)頁元素在移動終端提供的瀏覽器窗口里的位置,也就是距離瀏覽器左上角的(x,y)坐標(biāo)。這里所述的網(wǎng)頁元素即是本發(fā)明中的字符串。202、根據(jù)所述特征值檢索字體信息數(shù)據(jù)庫;其中,字體信息數(shù)據(jù)庫包括特征值及其對應(yīng)的尺寸信息。該字體信息數(shù)據(jù)庫可以由技術(shù)人員預(yù)先設(shè)置,不斷在移動終端的使用進(jìn)行更新。當(dāng)通過檢索獲知字體信息數(shù)據(jù)庫中包含該特征值,則說明字體信息數(shù)據(jù)庫中包含該特征值對應(yīng)的尺寸信息,當(dāng)通過檢索獲知字體信息數(shù)據(jù)庫中不包含該特征值,則說明字體信息數(shù)據(jù)庫中不包含該特征值對應(yīng)的尺寸信息。在實際場景中,字體信息數(shù)據(jù)庫在瀏覽器退出時被保存到移動終端,在瀏覽器啟動時讀取到內(nèi)存。203、當(dāng)所述字體信息數(shù)據(jù)庫中包含所述特征值,從所述字體信息數(shù)據(jù)庫中獲取與所述特征值相對應(yīng)的第一尺寸;根據(jù)該特征值,從字體信息數(shù)據(jù)庫中獲取與該特征值相對應(yīng)的第一尺寸,其中,第一尺寸中的寬度和高度分別為符合該字體信息的關(guān)鍵字符的高度和寬度。該關(guān)鍵字符由技術(shù)人員設(shè)置,該關(guān)鍵字符的高度和寬度可以作為在各種字體信息情況下單個字符的高度和寬度的基準(zhǔn)值。例如,對于中文,可以將“國”字設(shè)置為關(guān)鍵字符,在字體信息數(shù)據(jù)庫中保存“國”字的寬度和高度,相當(dāng)于把所有中文字符都看成是等寬、等高的。根據(jù)不同的內(nèi)存限制和精度要求,關(guān)鍵字符的選取范圍會有差別,對應(yīng)中文瀏覽器,可以選取所有可見的ASCII字符再加上“國”字作為關(guān)鍵字符。又例如,對于英文,可以在字體信息數(shù)據(jù)庫中保存“a”到“z”這26個字符中任一字母的寬度和高度,即可以取“a”到“z”這26個字符中任一字母作為關(guān)鍵字符。204、根據(jù)所述第一尺寸計算所述字符串占用的寬度和高度;將所述第一尺寸中的寬度和高度分別與所述字符串所包括的字符數(shù)相乘,得到所述字符串占用的寬度和高度。在步驟203中的例子的基礎(chǔ)上,比如計算“舉個例子”這個字符串的寬度和高度,只是簡單的把“國”字的寬度乘以4,得到字符串的寬度,而字符串的高度為“國”字的高度。某個字符串所占用的物理區(qū)域,即寬度和高度的像素值,是由該字符串本身,以及該字符串使用的字體信息,包括大小、粗細(xì)、名字,是否斜體、是否下劃線共同決定。字體信息決定了該字體下每個字符的高度和寬度,一般情況下,字符串的高度與單個字符的高度一致,整個字符串的寬度由組成該字符串的每個字符寬度疊加而成。因此,對于字符來說,只要它的字體信息是相同的,即字體大小、粗細(xì)、名字、是否斜體、是否下劃線完全一致,那么該字符可以為定值,而對于一個字符串來說,該字符串的高度等于字符的高度,該字符串的寬度等于組成該字符串的所有字符寬度的和。205、根據(jù)計算得到的寬度和高度進(jìn)行排版;本領(lǐng)域技術(shù)人員可以獲知,該排版是指確定每個字符串在瀏覽器窗口里的位置,也就是距離瀏覽器左上角的(x,y)坐標(biāo)。在后續(xù)的顯示過程中,則按照排版時確定的大小和位置,以及移動終端所應(yīng)用的樣式,顯示字符串。206、當(dāng)所述字體信息數(shù)據(jù)庫中不包含所述特征值,根據(jù)所述字符串的字體信息,計算符合所述字體信息的關(guān)鍵字符的第二尺寸;優(yōu)選地,當(dāng)所述字體信息數(shù)據(jù)庫中不包含所述特征值,暫停當(dāng)前的排版,計算符合該字體信息的關(guān)鍵字符的寬度和高度,得到第二尺寸,繼續(xù)排版過程。207、根據(jù)所述第二尺寸計算所述字符串占用的寬度和高度;該計算得到字符串占用的寬度和高度的過程與步驟204同理,在此不再贅述。208、根據(jù)計算得到的寬度和高度進(jìn)行排版;本領(lǐng)域技術(shù)人員可以獲知,該排版是指確定每個字符串在瀏覽器窗口里的位置,也就是距離瀏覽器左上角的(x,y)坐標(biāo)。在后續(xù)的顯示過程中,則按照排版時確定的大小和位置,以及移動終端所應(yīng)用的樣式,顯示字符串。在另一實施例中,在獲知字體信息數(shù)據(jù)庫中不包含該特征值時,該步驟206-208還可以為根據(jù)現(xiàn)有技術(shù)中查詢字符串占用高寬的操作獲取字符串占用的高度和寬度,并根據(jù)查詢到的高度和寬度進(jìn)行排版,具體包括:獲取當(dāng)前的繪制環(huán)境。將該字符串所用的字體信息,包括字體的大小、名稱(比如:宋體)、粗細(xì)、樣式(比如:帶下劃線,斜體),應(yīng)用到當(dāng)前環(huán)境中。調(diào)用獲取字符串所占寬高的函數(shù),傳入要查詢的字符串,得到字符串占用的寬度和高度,并根據(jù)查詢到的高度和寬度進(jìn)行排版。209、將所述特征值與所述第二尺寸保存在所述字體信息數(shù)據(jù)庫中。為了提高排版效率,將該特征值和第二尺寸保存在字體信息數(shù)據(jù)庫,以便后續(xù)排版過程中出現(xiàn)該字體信息時使用。調(diào)用系統(tǒng)函數(shù)查詢字符串寬高值的操作相對比較耗時,各個平臺略有差異,大概需要1至3毫秒,而簡單的比較操作只需要不到1納秒,兩者相差千倍。采用本實施例提供的方法,通過利用預(yù)設(shè)的字體信息數(shù)據(jù)庫所保存的字體信息與尺寸,進(jìn)行簡單的檢索和計算,避免了排版中出現(xiàn)大量的查詢字符串寬高的操作,能夠有效的減少排版所需的時間,從而加快整個網(wǎng)頁從加載到顯示的過程。圖3是本發(fā)明實施例提供的一種用于網(wǎng)頁顯示中的排版的裝置的結(jié)構(gòu)示意圖。參見圖3,該裝置包括:特征值獲取模塊301,用于根據(jù)字符串的字體信息,獲取特征值;檢索模塊302,用于根據(jù)所述特征值檢索字體信息數(shù)據(jù)庫;尺寸獲取模塊303,用于當(dāng)所述預(yù)存字體信息數(shù)據(jù)庫中包含所述特征值,從所述字體信息數(shù)據(jù)庫中獲取與所述特征值相對應(yīng)的第一尺寸;字符串計算模塊304,用于根據(jù)所述第一尺寸計算所述字符串占用的寬度和高度;排版模塊305,用于根據(jù)計算得到的寬度和高度進(jìn)行排版??蛇x地,所述裝置還包括:尺寸計算模塊306,用于當(dāng)所述字體信息數(shù)據(jù)庫中不包含所述特征值,根據(jù)所述字符串的字體信息,計算符合所述字體信息的關(guān)鍵字符的第二尺寸;所述字符串計算模塊304,還用于根據(jù)所述第二尺寸計算所述字符串占用的寬度和高度;所述排版模塊305,還用于根據(jù)計算得到的寬度和高度進(jìn)行排版;保存模塊307,用于將所述特征值與所述第二尺寸保存在所述字體信息數(shù)據(jù)庫中。所述字符串計算模塊304具體用于將所述第一尺寸中的寬度和高度分別與所述字符串所包括的字符數(shù)相乘,得到所述字符串占用的寬度和高度。所述第一尺寸中的寬度和高度分別為關(guān)鍵字符的高度和寬度,所述關(guān)鍵字符為符合所述字體信息的字符。所述字體信息包括字號、字體名稱、樣式。本實施例提供的裝置,與方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。本實施例提供的裝置,具體可以用于移動終端,如該移動終端可以為智能手機、平板電腦、MP3(MovingPictureExpertsGroupAudioLayerIII,動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、PDA(PersonalDigitalAssistant,個人數(shù)字助理)等。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1