專利名稱:一種基于無線終端系統(tǒng)的字庫壓縮及解壓方法
技術領域:
本發(fā)明涉及一種字庫的壓縮及解壓方法,尤其是一種基于無線終端系統(tǒng)的字庫壓 縮及解壓方法。
背景技術:
當前,各種便攜式電子設備在人們?nèi)粘I钪羞\用十分廣泛,例如移動電話、PDA、 掌上電腦等等。但是這些設備還無法同PC機相提并論,在運算性能、讀取速度、存儲空間等 方面都無法與PC機相比較。手機、PDA等無線手持設備的文字顯示功能是其多種功能中最基本的功能。而字 體的存儲和顯示的基本要求是存儲空間盡可能小,顯示速度盡可能快,而這兩者又是相互 矛盾的?,F(xiàn)有的字庫處理方式有兩種一.優(yōu)先考慮顯示效率,對字庫不進行壓縮。二.優(yōu)先考慮存儲空間,對字體點陣進行用高壓縮比算法進行壓縮。方法一不對字體進行壓縮,會占用比較大的存儲空間;方法二用高壓縮比算法,對 于低配置的無線手持設備來說,一來運算量太大,二來會嚴重降低顯示速度。所以需要一種 壓縮方式,既能有效的減小存儲空間,又能不影響顯示速度。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于無線終端系統(tǒng)的字庫壓縮及解壓的方法,該方法 利用字庫中連續(xù)0字節(jié)比較多的特點對字節(jié)0進行壓縮,既考慮了字體點陣的壓縮比,又兼 顧了字體的顯示效率。本發(fā)明所提供的一種基于無線終端系統(tǒng)的字庫壓縮方法,包括以下步驟(1)設計結構記錄每個字體的點陣信息,其中,為每個字體分配一個結構,用于記 錄字體點陣在字庫中的地址和字體點陣的長度;(2)處理每個字體的點陣,將字體點陣中連續(xù)的0記錄為(0,N)的形式,其中,N為 連續(xù)0的個數(shù);(3)將所有字體的結構信息按字體編碼順序?qū)懭胱謳煳募?,然后將壓縮后的字體 點陣按編碼順序依次寫入字庫文件。在步驟⑵中,如果字體點陣全為0,則記錄該字體點陣的地址為0 ;如果字體點陣 不全為0,則需在該字體結構中記錄下該字體在字庫中的地址和長度。本發(fā)明所提供一種對上述無線終端系統(tǒng)的字庫壓縮方法進行解壓的方法,包括以 下步驟(1)根據(jù)要顯示字體的編碼獲取字體的結構信息,從而得到字體壓縮后點陣的存 儲地址和長度;(2)根據(jù)字體點陣地址和長度得到壓縮后的點陣,然后遍歷點陣,得到字體點陣的未壓縮數(shù)據(jù),其中,遇到0則取得0后的下一個數(shù)據(jù)把0的數(shù)量進行擴展;(3)將解壓后的字體點陣在無線終端系統(tǒng)的顯示器上顯示。在步驟(2)中,如果字體結構的地址為0,說明此字體的點陣全部為0,如果字體結 構的地址不為0,則根據(jù)地址和長度字段得到該字體壓縮后的點陣。因為字體點陣中0的數(shù)量較多,本發(fā)明只對字體點陣中的0進行壓縮,將連續(xù)的0 記錄為(0,N),并對點陣全為0的字體進行標記,并不實際存儲這些數(shù)據(jù),所以能極大提高 壓縮率且不影響顯示效率。與現(xiàn)有的方法相比,本發(fā)明提供的壓縮及解壓方法,簡單有效 的對字庫進行了壓縮,解決了傳統(tǒng)方法不壓縮占用空間大和用高壓縮比算法壓縮顯示效率 低、解壓運算復雜等問題,非常適合低硬件配置的嵌入式設備中使用。
圖1是本發(fā)明的字庫壓縮方法的流程圖。圖2是本發(fā)明的字庫解壓方法的流程圖。
具體實施例方式下面結合附圖和具體實施方式
對本發(fā)明作進一步的闡述。請參閱圖1,一種基于無線終端系統(tǒng)的字庫壓縮方法,包括下列步驟(1)因為每個字體的點陣需要進行壓縮,每個字體點陣長度不再一樣,所以需要一 個結構記錄字體的開始位置和壓縮后字體點陣的長度。設計結構記錄每個字體的點陣信 息,為每個字體分配一個結構,用于存儲字體點陣在字庫中的地址和字體點陣的長度,然后 分配足夠的空間用于存儲所有的字體點陣。(2)處理每個字體的點陣,得到要壓縮的字體點陣。對于字體點陣全為0的字體,不需要記錄其具體的點陣,可以利用結構中的地址 字段,將其設置為0,來標志此字體的點陣全部為0。判斷字體點陣是否全部為0,如果字體點陣全為0,則記錄該字體結構點陣的地址 為0 ;如果字體點陣不全為0,則需在此字體結構中記錄下此字體在字庫中的地址和長度。 其中,將字體點陣中連續(xù)的0記錄為(0,N)的形式,N為連續(xù)0的個數(shù)。(3)計算出字體點陣在字庫中的地址和長度,填入字體結構。(4)字體壓縮完畢后,將所有字體的結構信息按字體編碼順序?qū)懭胱謳煳募?,然?將壓縮候字體點陣按編碼順序依次寫入字庫文件。在步驟(3)中,所述字體結構中的字體點陣的地址可以在寫入字庫文件之前通過 計算得到,計算方法為由于字庫中字體個數(shù)是確定的,每個字體結構大小是確定的,因此 通過字體個數(shù)和字體結構就可以計算出第一個字體點陣的起始地址,然后第一個字體的起 始地址加上第一個字體點陣的長度就可以得出第二個字體點陣的起始地址,依次類推可以 計算出所有字體在字庫中的地址。需要指出的是,本發(fā)明中所涉及的結構可以根據(jù)需要添加其他內(nèi)容,例如如果字 庫中每個字的編碼是不連續(xù)的,則在結構中添加字體的ID標識,以便進行查找。請參見圖2,一種對上述無線終端系統(tǒng)的字庫壓縮方法進行解壓的方法,包括以下 步驟
(1)根據(jù)要顯示字體的編碼獲取字體的結構信息,從而得到字體壓縮后點陣的存 儲地址和長度;(2)根據(jù)字體點陣地址和長度得到壓縮后的點陣,然后遍歷點陣,得到字體點陣的 未壓縮數(shù)據(jù),其中,遇到0則取得0后的下一個數(shù)據(jù)把0的數(shù)量進行擴展;(3)將解壓后的字體點陣在無線終端系統(tǒng)的顯示器上顯示。在步驟(2)中,如果字體結構的地址為0,說明此字體的點陣全部為0,如果字體結 構的地址不為0,則根據(jù)地址和長度字段得到該字體壓縮后的點陣。通過上述實施例,本發(fā)明目的已經(jīng)被完全有效的達到了。熟悉該項技藝的人士應 該明白本發(fā)明包括但不限于上面具體實施方式
中描述的內(nèi)容。任何不偏離本發(fā)明功能和結 構原理的修改都將包括在權利要求書的范圍中。
權利要求
一種基于無線終端系統(tǒng)的字庫壓縮方法,包括以下步驟(1)設計結構記錄每個字體的點陣信息,其中,為每個字體分配一個結構,用于記錄字體點陣在字庫中的地址和字體點陣的長度;(2)處理每個字體的點陣,將字體點陣中連續(xù)的0記錄為(0,N)的形式,其中,N為連續(xù)0的個數(shù);(3)將所有字體的結構信息按字體編碼順序?qū)懭胱謳煳募缓髮嚎s后的字體點陣按編碼順序依次寫入字庫文件。
2.如權利要求1所述的字庫壓縮方法,其特征在于,在步驟(2)中,如果字體點陣全為 0,則記錄該字體點陣的地址為0 ;如果字體點陣不全為0,則需在該字體結構中記錄下該字 體在字庫中的地址和長度。
3.如權利要求1或2所述的字庫壓縮方法,其特征在于,在步驟(1)中,所述字體結構 中的字體點陣的地址可以在寫入字庫文件之前通過計算得到,計算方法為由于字庫中字 體個數(shù)是確定的,每個字體結構大小是確定的,因此通過字體個數(shù)和字體結構就可以計算 出第一個字體點陣的起始地址,然后第一個字體的起始地址加上第一個字體點陣的長度就 可以得出第二個字體點陣的起始地址,依次類推可以計算出所有字體在字庫中的地址。
4.如權利要求1或2所述的字庫壓縮方法,其特征在于,如果字庫中每個字的編碼是不 連續(xù)的,則在結構中添加字體的ID標識,以便進行查找。
5.如權利要求3所述的字庫壓縮方法,其特征在于,如果字庫中每個字的編碼是不連 續(xù)的,則在結構中添加字體的ID標識,以便進行查找。
6.一種對權利要求1或2所述的字庫壓縮方法進行字庫解壓的方法,包括以下步驟(1)根據(jù)要顯示字體的編碼獲取字體的結構信息,從而得到字體壓縮后點陣的存儲地 址和長度;(2)根據(jù)字體點陣地址和長度得到壓縮后的點陣,然后遍歷點陣,得到字體點陣的未壓 縮數(shù)據(jù),其中,遇到0則取得0后的下一個數(shù)據(jù)把0的數(shù)量進行擴展;(3)將解壓后的字體點陣在無線終端系統(tǒng)的顯示器上顯示。
7.如權利要求6所述的字庫解壓方法,其特征在于,在步驟(2)中,如果字體結構的地 址為0,說明此字體的點陣全部為0,如果字體結構的地址不為0,則根據(jù)地址和長度字段得 到該字體壓縮后的點陣。
8.一種對權利要求3所述的字庫壓縮方法進行字庫解壓的方法,包括以下步驟(1)根據(jù)要顯示字體的編碼獲取字體的結構信息,從而得到字體壓縮后點陣的存儲地 址和長度;(2)根據(jù)字體點陣地址和長度得到壓縮后的點陣,然后遍歷點陣,得到字體點陣的未壓 縮數(shù)據(jù),其中,遇到0則取得0后的下一個數(shù)據(jù)把0的數(shù)量進行擴展;(3)將解壓后的字體點陣在無線終端系統(tǒng)的顯示器上顯示。
9.如權利要求8所述的字庫解壓方法,其特征在于,在步驟(2)中,如果字體結構的地 址為0,說明此字體的點陣全部為0,如果字體結構的地址不為0,則根據(jù)地址和長度字段得 到該字體壓縮后的點陣。
全文摘要
本發(fā)明涉及一種基于無線終端系統(tǒng)的字庫壓縮及解壓方法,該方法利用字體點陣中0的數(shù)量較多的特點,只對字體點陣中的0進行壓縮,將連續(xù)的0記錄為(0,N),N為0的個數(shù),并對點陣全為0的字體進行標記,并不實際存儲這些數(shù)據(jù)。本發(fā)明提供的壓縮及解壓方法,可以簡單有效的對字庫進行壓縮,適合低硬件配置的嵌入式設備中使用。
文檔編號G06F17/22GK101950283SQ20101027137
公開日2011年1月19日 申請日期2010年8月31日 優(yōu)先權日2010年8月31日
發(fā)明者周彥青 申請人:上海聞泰電子科技有限公司