專利名稱::一種精簡電子書字庫的方法及電子書處理裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)字出版領(lǐng)域,尤其是涉及一種精簡電子書字庫的方法及電子書處理>J-Uρα裝直。
背景技術(shù):
:當(dāng)涉及到數(shù)字出版的可閱讀性和電子出版的美觀性時,漢字字形的美觀和豐富是電子書最重要的特征。電子書的大小很大程度上由電子書格式描述文件如EPUB(electronicpublication)、Mobi等,及字庫文件的大小決定。電子書的閱讀一般是通過網(wǎng)絡(luò)下載到本地設(shè)備后閱讀,也可以通過云端解析后傳輸?shù)皆O(shè)備的閱讀。當(dāng)前的電子書可以使用系統(tǒng)字庫,一般系統(tǒng)字庫自帶一到二種GB18030-2000的字庫,如果不帶自有字形字庫的電子書,會自動索引系統(tǒng)字庫,如此的電子書會導(dǎo)致電子書的千遍一律的感覺,美觀性和獨(dú)特性無法顯現(xiàn)。因此,電子書一般會自帶字庫。但是,漢字字庫字庫量非常大,已有標(biāo)準(zhǔn)收集的漢字字形從GB2312-80的6763個字形到GB18030-2000的27533個漢字字形不等。由于漢字?jǐn)?shù)量大,一套字形的漢字字庫(以TrueType字庫文件為例)的文件大小在3M到20M不等(具體字庫文件大小和字?jǐn)?shù)以及字形相關(guān))。這樣,在一本電子書中,帶有一套18030-2000的字庫,字庫占有空間超過90%以上,大量占有字庫應(yīng)用資源,特別是占用了網(wǎng)絡(luò)的傳輸資源,而大量字形附帶而成為占用資源的數(shù)據(jù)包褓,所以當(dāng)前迫切需要一種可以精簡電子書字庫大小的方法。
發(fā)明內(nèi)容有鑒于此,本發(fā)明實(shí)施例的目的是提供一種精簡電子書字庫的方法及電子書處理裝置,以解決目前電子書字庫占用較大空間的問題。一方面,本發(fā)明實(shí)施例公開了一種精簡電子書字庫的方法,所述方法包括通過解析電子書的格式描述文件獲取所述格式描述文件中的漢字內(nèi)碼,并按指定編碼順序排序,形成所述格式描述文件的碼位順序表;根據(jù)所述碼位順序表和所述電子書的原字庫文件,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式生成新字庫文件;用所述新字庫文件替換所述原字庫文件,以完成電子書字庫的精簡。優(yōu)選的,所述格式描述文件具體為EPUB文件。優(yōu)選的,所述通過解析電子書的格式描述文件獲取所述格式描述文件中的漢字內(nèi)碼,并按指定編碼順序排序,形成所述格式描述文件的碼位順序表,具體包括通過解析所述電子書的所述EPUB文件獲取所述EPUB文件中鏈表登記部分;遍歷所述鏈表登記部分,將各個頁面文件的段落內(nèi)容作UTF-8轉(zhuǎn)向UNICODE轉(zhuǎn)換和排序,形成所述碼位順序表。優(yōu)選的,所述新字庫文件和所述原字庫文件具體為TTF字庫文件或OTF字庫文件。優(yōu)選的,所述根據(jù)所述碼位順序表和所述電子書的原字庫文件,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式生成新字庫文件,具體包括獲取原字庫文件中的所有數(shù)據(jù)表項(xiàng),所述所有數(shù)據(jù)表項(xiàng)包括編碼映射表和其他表項(xiàng);將所述碼位順序表和所述編碼映射表進(jìn)行比對,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式,生成新的編碼映射表;根據(jù)所述新的編碼映射表生成新的其他表項(xiàng);根據(jù)所述新的編碼映射表和所述新的其他表項(xiàng),合成新字庫文件。優(yōu)選的,所述用所述新字庫文件替換所述原字庫文件,以完成電子書字庫的精簡,具體包括修改所述格式描述文件中的字庫選擇以定位到所述新字庫文件;將修改后的所述格式描述文件和所述新字庫文件替換原來的所述格式描述文件和所述原字庫文件,以完成電子書字庫的精簡。另一方面,本發(fā)明實(shí)施例還公開一種電子書處理裝置,用于精簡電子書的字庫文件,所述裝置包括碼位順序表生成單元,用于通過解析所述電子書的格式描述文件獲取所述格式描述文件中的漢字內(nèi)碼,并按指定編碼順序排序,形成所述格式描述文件的碼位順序表;新字庫文件生成單元,用于根據(jù)所述碼位順序表和所述電子書的原字庫文件,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式生成新字庫文件;字庫替換單元,用于用所述新字庫文件替換所述原字庫文件,以完成電子書字庫的精簡。優(yōu)選的,所述格式描述文件具體為EPUB文件,所述碼位順序表生成單元具體包括鏈表登記部分獲取子單元,用于通過解析所述電子書的所述EPUB文件獲取所述EPUB文件中鏈表登記部分;碼位順序表獲取子單元,用于遍歷所述鏈表登記部分,將各個頁面文件的段落內(nèi)容作UTF-8轉(zhuǎn)向UNICODE轉(zhuǎn)換和排序,形成所述碼位順序表。優(yōu)選的,所述新字庫文件和所述原字庫文件具體為TTF字庫文件或OTF字庫文件,所述新字庫文件生成單元具體包括數(shù)據(jù)表項(xiàng)獲取子單元,用于獲取原字庫文件中的所有數(shù)據(jù)表項(xiàng),所述所有數(shù)據(jù)表項(xiàng)包括編碼映射表和其他表項(xiàng);編碼映射表生成子單元,用于將所述碼位順序表和所述編碼映射表進(jìn)行比對,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式,生成新的編碼映射表;其他表項(xiàng)生成子單元,用于根據(jù)所述新的編碼映射表生成新的其他表項(xiàng);字庫文件合成子單元,用于根據(jù)所述新的編碼映射表和所述新的其他表項(xiàng),合成新字庫文件。優(yōu)選的,所述字庫替換單元具體包括格式描述文件修改子單元,用于修改所述格式描述文件中的字庫選擇以定位到所述新子庫文件;文件替換子單元,用于將修改后的所述格式描述文件和所述新字庫文件替換原來的所述格式描述文件和所述原字庫文件,以完成電子書字庫的精簡。本發(fā)明實(shí)施例通過獲取一本電子書的漢字內(nèi)碼序列,并以此生成該電子書專用的字形字庫的方法,將該電子書用不到的字形濾掉,解決了電子書漢字字庫的數(shù)據(jù)冗余問題,使得電子書字庫文件大幅降低,精簡后的電子書平均為原來電子書(帶有一套18030-2000字庫)大小的20%以下。這樣,便大幅降低了電子書存取和傳輸?shù)馁Y源占用,富豐了漢字字形的應(yīng)用,為漢字字形在數(shù)字出版廣泛應(yīng)用提供了技術(shù)手段,增強(qiáng)了數(shù)字出版的美觀和用漢字字形強(qiáng)化電子書的個性化特征,提升了電子書的閱讀效果,推進(jìn)字形技術(shù)和數(shù)字出版的共同發(fā)展。為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明實(shí)施例一方法的主流程圖;圖2是本發(fā)明實(shí)施例一步驟SlOl內(nèi)部流程圖;圖3是本發(fā)明實(shí)施例一步驟S102內(nèi)部流程圖;圖4是本發(fā)明實(shí)施例一步驟S103內(nèi)部流程圖;圖5是本發(fā)明實(shí)施例二裝置的示意圖。具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一首先,在敘述本發(fā)明實(shí)施例之前,先簡單介紹一下本文所涉及的一些概念及術(shù)語Windows系統(tǒng)指微軟的視窗平臺軟件系統(tǒng)。iOS:是指蘋果公司的平臺系統(tǒng),包括Mac、iPad、iPhone等。Android:是指Google公司推出的,當(dāng)前很多產(chǎn)商支持移動設(shè)備的平臺系統(tǒng),如三星、聯(lián)想等。EPUB:是本文非常重要的一個概念。EPUB為一本電子書的格式描述文件,包括該電子書的漢字編碼、書版格式等信息。具體來講,EPUB文件是開放的文件標(biāo)準(zhǔn),EPUB文件主要描述書版的版面排版控制信息,使用漢字的編碼標(biāo)準(zhǔn)、漢字內(nèi)碼、字形、大小、位置等,對于EPUB的解釋,就是獲取編碼標(biāo)準(zhǔn)和內(nèi)碼,并根據(jù)編碼標(biāo)準(zhǔn)對應(yīng)到GB18030的順序中,進(jìn)行排序。Mobi:是亞馬遜kindle推出后使用的電子書格式描述文件,原理同于EPUB格式。spine鏈表在EPUB文件中和漢字編碼相關(guān)的部分,該表是鏈?zhǔn)接涗浗Y(jié)構(gòu),順序包含EPUB所包含所有章節(jié)索引信息,以及編碼標(biāo)準(zhǔn)和漢字內(nèi)碼信息。UTF-8編碼方法以8位為單位來標(biāo)識文字,可變字節(jié)的編碼方法,根據(jù)這個符號的UNICODE編碼來決定,最多4個字節(jié)。對不同范圍的字符使用不同長度的編碼。對于0x00-0x7F之間的字符,UTF-8編碼與ASCII編碼完全相同。TrueType字庫=Windows和iOS系統(tǒng)的標(biāo)準(zhǔn)字庫格式字庫,系統(tǒng)已完成對于字庫的還原和解釋,簡稱TTF文件(字庫)。OpenType字庫兼容AdobepostscriptTypel和TrueType格式的標(biāo)準(zhǔn)字庫格式,簡稱OTF文件(字庫)。PostscriptTypel是Adobe定義的字庫標(biāo)準(zhǔn),和Adobe的頁面描述語言Postscript完全兼容。GB2312-80:漢字編碼標(biāo)準(zhǔn),涵蓋6763個漢字。GB12345-90:對應(yīng)GB2312-80的繁體擴(kuò)充,共有6866個漢字。GBK:漢字編碼標(biāo)準(zhǔn),基于GB2312-80擴(kuò)充,共有20902個漢字。GB18030GB18030-2000漢字編碼標(biāo)準(zhǔn),在GBK基礎(chǔ)上的擴(kuò)充,共收集27533個漢字,當(dāng)前通用系統(tǒng)都支持該標(biāo)準(zhǔn)編碼。GB18030-2005基于該標(biāo)準(zhǔn)的擴(kuò)充集字形已達(dá)75000左右的字形。日常實(shí)際使用的常用漢字基本在3000個漢字左右,一般一本電子書使用的漢字也是在此數(shù)量上。于是發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),對于電子書來說,用到的字?jǐn)?shù)其實(shí)一般僅是GB2312-80的40%左右,GB13080-2000的10%左右,而對于已經(jīng)形成的電子書來說,其使用的字?jǐn)?shù)更加是確定的,可見當(dāng)前的電子書字庫中存在很大冗余,本發(fā)明即基于此原理而產(chǎn)生。參見圖1,為本發(fā)明實(shí)施例一方法的流程圖。本實(shí)施例公開了一種精簡電子書字庫的方法,所述方法包括SlOl:通過解析電子書的格式描述文件獲取所述格式描述文件中的漢字內(nèi)碼,并按指定編碼順序排序,形成所述格式描述文件的碼位順序表。簡言之,這一步即對于電子書的格式描述文件進(jìn)行解析,以獲取格式描述文件所發(fā)生的漢字內(nèi)碼,并按如GB18030等指定的編碼順序排序,從而形成該格式描述文件的碼位順序表。下面具體以EPUB這種格式描述文件格式為例,對本步驟進(jìn)行詳細(xì)的說明。而Mobi等格式的處理方法與EPUB基本相同,不再贅述。參見圖2所示,優(yōu)選的,步驟SlOl具體可以包括SlOll:通過解析所述電子書的所述EPUB文件獲取所述EPUB文件中鏈表登記部分;S1012:遍歷所述鏈表登記部分,將各個頁面文件的段落內(nèi)容作UTF-8轉(zhuǎn)向UNICODE轉(zhuǎn)換和排序,形成所述碼位順序表。具體來講,首先需要讀取電子書EPUB文件并進(jìn)行解析,包括壓縮格式的解包,然后讀取主要結(jié)構(gòu)信息,包括完整的排版信息,以及漢字編碼信息等。然后解析出所有漢字內(nèi)碼。漢字編碼信息的獲取是通過解析spine鏈?zhǔn)接涗浗Y(jié)構(gòu),并獲取所有相關(guān)的編碼信息,并收集到緩存中。再編排成序的UNICODE編碼結(jié)果。對于UTF-8編碼的進(jìn)行UNICODE轉(zhuǎn)換和排序,獲取按順序排放的編碼信息。在EPUB文件中,統(tǒng)計(jì)的漢字信息部分時,只需要統(tǒng)計(jì)在EPUB文件中鏈表登記部分即可,即spine鏈表登記部分。spine是EPUB文件中和漢字編碼相關(guān)的部分,該表是鏈?zhǔn)接涗浗Y(jié)構(gòu),順序包含EPUB所包含所有章節(jié)索引信息,以及編碼標(biāo)準(zhǔn)和漢字內(nèi)碼信息。對EPUB解析的做法是,對于UTF-8編碼的進(jìn)行解析,對各個頁面文件的段落內(nèi)容作UTF-8轉(zhuǎn)向UNICODE轉(zhuǎn)換。首先根據(jù)spine結(jié)構(gòu)遍歷鏈表,只要不到鏈表末尾,就取出數(shù)據(jù),以二進(jìn)制形式存入緩沖區(qū),然后對此章節(jié)進(jìn)行轉(zhuǎn)碼。對于漢字內(nèi)碼的轉(zhuǎn)碼是讀取EPUB數(shù)據(jù)的目的,技術(shù)上根據(jù)UTF-8的編碼規(guī)則逐個字節(jié)判斷字母的首位值,如果小于127,必為英文或數(shù)字過半角符號,跳過不計(jì)。如果首位與OxEO做&運(yùn)算結(jié)果為OxCO,且次字節(jié)與OxCO做&運(yùn)算不等于0x80則為2字節(jié)UTF-8漢字,按順序存儲2個字節(jié)即可。如果首位與OxR)做&運(yùn)算結(jié)果為OxCO,且次字節(jié)及再次字節(jié)與OxCO做&運(yùn)算不等于0x80則為3字節(jié)UTF-8漢字,按順序存儲3個字節(jié)即可。然后利用Win32APIMultiByteToffideChar(系統(tǒng)資源調(diào)用函數(shù))前2個參數(shù)CPUTF8可轉(zhuǎn)為UNICODE的編碼列表結(jié)果。S102:根據(jù)所述碼位順序表和所述電子書的原字庫文件,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式生成新字庫文件。簡言之,這一步即按照上一步獲取的漢字內(nèi)碼GB18030的文件,重新生成碼位映射表,把存在的字形索引出來,沒被索引的字形就不用存放在字庫中,封裝成精簡的TTF(或OpenType)字庫,這樣生成的字庫和EPUB文件完全對應(yīng)。對于新字表的字碼映射排序是生成精簡字庫的關(guān)鍵,封裝成的精簡字庫(TTF/0TF字庫)要和原來字庫完成一致,只是去除了無關(guān)字形的數(shù)據(jù)。下面具體以TTF字庫文件為例,對本步驟進(jìn)行詳細(xì)的說明。而OTF字庫文件與TTF字庫文件基本相同。參見圖3所示,優(yōu)選的,步驟S102具體可以包括S1021:獲取原字庫文件中的所有數(shù)據(jù)表項(xiàng),所述所有數(shù)據(jù)表項(xiàng)包括編碼映射表和其他表項(xiàng);S1022:將所述碼位順序表和所述編碼映射表進(jìn)行比對,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式,生成新的編碼映射表;S1023:根據(jù)所述新的編碼映射表生成新的其他表項(xiàng);S1024:根據(jù)所述新的編碼映射表和所述新的其他表項(xiàng),合成新字庫文件。簡言之,即分解原TTF字庫的文件結(jié)構(gòu),然后修改所有數(shù)據(jù)表項(xiàng),最后合并成新的TTF字庫。包括讀取電子書指定的TTF(OTF)字庫文件中的所有表數(shù)據(jù),然后根據(jù)UNICODE結(jié)果以及讀取的cmap數(shù)據(jù)轉(zhuǎn)化成新的精簡cmap表,再重新生成字形描述部分的glyf表數(shù)據(jù),保留需要的字形,然后根據(jù)cmap和glyf表,重新生成文件定位Ioca表,對其他相關(guān)表的修改和生成,最后完成各表的合成,得到電子書指定TTF(OTF)的精簡字庫文件。其中涉及根據(jù)EPUB解析后的UNICODE的編碼列表,和原字庫的編碼映射表(cmaptable)進(jìn)行比對和分析,并自動生成精簡的編碼映射表,并根據(jù)新的編碼映射表修正其他表項(xiàng),如位移表(locatable),字形表(glyftable),以及其他相關(guān)表的修改。TrueTypeFont(TTF)文件由若干表組成,分析TTF表,并根據(jù)需要重構(gòu)TTF文件是生成精簡字庫的關(guān)鍵。字形描述表是表述TTF字形輪廓的主要數(shù)據(jù)項(xiàng),TTF輪廓是由二次Bezier樣條函數(shù)構(gòu)成,輪廓由起點(diǎn)、曲線點(diǎn)和直線點(diǎn)構(gòu)成,點(diǎn)的前后順序構(gòu)成輪廓的方向,逆時針方向?yàn)橥廨喞?,順時針方向?yàn)閮?nèi)輪廓。一個漢字描述由若干個輪廓組成,該漢字的數(shù)據(jù)索引被locatable中定義。而漢字內(nèi)碼和locatable的映射是通過cmaptable來完成的,所有漢字的輪廓數(shù)據(jù)描述放在glyftable中。當(dāng)我們讀出電子書漢字內(nèi)碼后,把發(fā)生的漢字的輪廓數(shù)據(jù)保留在glyftable中,把沒有發(fā)生的漢字輪廓數(shù)據(jù)不再存放,這樣glyftable就變小了,同時locatable和cmaptable也變小了,都需要根據(jù)新的字表重組出來。這樣的重新生成的字庫就是針對特定電子書的精簡字庫。OTF的精簡字庫生成原理和TTF的完全一樣,OTF字庫和TTF字庫完全兼容,主要差異是OTF是兼容AdobePostscriptTypel的字庫格式。OTF也是由輪廓組成,和TTF輪廓的差異是用三次Bezier曲線和一次直線描述,在解釋OTF字庫文件時,處理方式和TTF一樣。S103:用所述新字庫文件替換所述原字庫文件,以完成電子書字庫的精簡。參見圖4所示,優(yōu)選的步驟S103具體可以包括S1031:修改所述格式描述文件中的字庫選擇以定位到所述新字庫文件。S1032:將修改后的所述格式描述文件和所述新字庫文件替換原來的所述格式描述文件和所述原字庫文件,以完成電子書字庫的精簡。簡言之,本實(shí)施例方法的輸入為EPUB文件、TTF字庫,輸出為EPUB文件、精簡TTF字庫。而以上精簡TTF/0TF字庫、修改EPUB以替換原電子書的技術(shù)方法,可以作為云端服務(wù)方案。實(shí)施例二參見圖4,為本發(fā)明實(shí)施例二裝置的示意圖。本實(shí)施例公開了一種電子書處理裝置,用于精簡電子書的字庫文件,所述裝置包括碼位順序表生成單元501,用于通過解析所述電子書的格式描述文件獲取所述格式描述文件中的漢字內(nèi)碼,并按指定編碼順序排序,形成所述格式描述文件的碼位順序表;新字庫文件生成單元502,用于根據(jù)所述碼位順序表和所述電子書的原字庫文件,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式生成新字庫文件;字庫替換單元503,用于用所述新字庫文件替換所述原字庫文件,以完成電子書字庫的精簡。優(yōu)選的,所述格式描述文件具體為EPUB文件,所述碼位順序表生成單元具體包括鏈表登記部分獲取子單元5011,用于通過解析所述電子書的所述EPUB文件獲取所述EPUB文件中鏈表登記部分;碼位順序表獲取子單元5012,用于遍歷所述鏈表登記部分,將各個頁面文件的段落內(nèi)容作UTF-8轉(zhuǎn)向UNICODE轉(zhuǎn)換和排序,形成所述碼位順序表。優(yōu)選的,所述新字庫文件和所述原字庫文件具體為TTF字庫文件或OTF字庫文件,所述新字庫文件生成單元具體包括數(shù)據(jù)表項(xiàng)獲取子單元5021,用于獲取原字庫文件中的所有數(shù)據(jù)表項(xiàng),所述所有數(shù)據(jù)表項(xiàng)包括編碼映射表和其他表項(xiàng);編碼映射表生成子單元5022,用于將所述碼位順序表和所述編碼映射表進(jìn)行比對,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式,生成新的編碼映射表;其他表項(xiàng)生成子單元5023,用于根據(jù)所述新的編碼映射表生成新的其他表項(xiàng);字庫文件合成子單元5024,用于根據(jù)所述新的編碼映射表和所述新的其他表項(xiàng),合成新字庫文件。優(yōu)選的,所述字庫替換單元具體包括格式描述文件修改子單元5031,用于修改所述格式描述文件中的字庫選擇以定位到所述新字庫文件;文件替換子單元5032,用于將修改后的所述格式描述文件和所述新字庫文件替換原來的所述格式描述文件和所述原字庫文件,以完成電子書字庫的精簡。對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計(jì)算機(jī)可讀取存儲介質(zhì)中,這里所稱得的存儲介質(zhì),如R0M、RAM、磁碟、光盤等。還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了閘述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。權(quán)利要求1.一種精簡電子書字庫的方法,其特征在于,所述方法包括通過解析電子書的格式描述文件獲取所述格式描述文件中的漢字內(nèi)碼,并按指定編碼順序排序,形成所述格式描述文件的碼位順序表;根據(jù)所述碼位順序表和所述電子書的原字庫文件,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式生成新字庫文件;用所述新字庫文件替換所述原字庫文件,以完成電子書字庫的精簡。2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述格式描述文件具體為EPUB文件。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述通過解析電子書的格式描述文件獲取所述格式描述文件中的漢字內(nèi)碼,并按指定編碼順序排序,形成所述格式描述文件的碼位順序表,具體包括·通過解析所述電子書的所述EPUB文件獲取所述EPUB文件中鏈表登記部分;遍歷所述鏈表登記部分,將各個頁面文件的段落內(nèi)容作UTF-8轉(zhuǎn)向UNICODE轉(zhuǎn)換和排序,形成所述碼位順序表。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述新字庫文件和所述原字庫文件具體為TTF字庫文件或OTF字庫文件。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述碼位順序表和所述電子書的原字庫文件,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式生成新字庫文件,具體包括獲取原字庫文件中的所有數(shù)據(jù)表項(xiàng),所述所有數(shù)據(jù)表項(xiàng)包括編碼映射表和其他表項(xiàng);將所述碼位順序表和所述編碼映射表進(jìn)行比對,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式,生成新的編碼映射表;根據(jù)所述新的編碼映射表生成新的其他表項(xiàng);根據(jù)所述新的編碼映射表和所述新的其他表項(xiàng),合成新字庫文件。6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述用所述新字庫文件替換所述原字庫文件,以完成電子書字庫的精簡,具體包括修改所述格式描述文件中的字庫選擇以定位到所述新字庫文件;將修改后的所述格式描述文件和所述新字庫文件替換原來的所述格式描述文件和所述原字庫文件,以完成電子書字庫的精簡。7.一種電子書處理裝置,其特征在于,用于精簡電子書的字庫文件,所述裝置包括碼位順序表生成單元,用于通過解析所述電子書的格式描述文件獲取所述格式描述文件中的漢字內(nèi)碼,并按指定編碼順序排序,形成所述格式描述文件的碼位順序表;新字庫文件生成單元,用于根據(jù)所述碼位順序表和所述電子書的原字庫文件,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式生成新字庫文件;字庫替換單元,用于用所述新字庫文件替換所述原字庫文件,以完成電子書字庫的精簡。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述格式描述文件具體為EPUB文件,所述碼位順序表生成單元具體包括鏈表登記部分獲取子單元,用于通過解析所述電子書的所述EPUB文件獲取所述EPUB文件中鏈表登記部分;碼位順序表獲取子單元,用于遍歷所述鏈表登記部分,將各個頁面文件的段落內(nèi)容作UTF-8轉(zhuǎn)向UNICODE轉(zhuǎn)換和排序,形成所述碼位順序表。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述新字庫文件和所述原字庫文件具體為TTF字庫文件或OTF字庫文件,所述新字庫文件生成單元具體包括數(shù)據(jù)表項(xiàng)獲取子單元,用于獲取原字庫文件中的所有數(shù)據(jù)表項(xiàng),所述所有數(shù)據(jù)表項(xiàng)包括編碼映射表和其他表項(xiàng);編碼映射表生成子單元,用于將所述碼位順序表和所述編碼映射表進(jìn)行比對,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式,生成新的編碼映射表;其他表項(xiàng)生成子單元,用于根據(jù)所述新的編碼映射表生成新的其他表項(xiàng);字庫文件合成子單元,用于根據(jù)所述新的編碼映射表和所述新的其他表項(xiàng),合成新字庫文件。10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述字庫替換單元具體包括格式描述文件修改子單元,用于修改所述格式描述文件中的字庫選擇以定位到所述新字庫文件;文件替換子單元,用于將修改后的所述格式描述文件和所述新字庫文件替換原來的所述格式描述文件和所述原字庫文件,以完成電子書字庫的精簡。全文摘要本發(fā)明實(shí)施例公開了一種精簡電子書字庫的方法及電子書處理裝置,其中所述方法包括通過解析電子書的格式描述文件獲取所述格式描述文件中的漢字內(nèi)碼,并按指定編碼順序排序,形成所述格式描述文件的碼位順序表;根據(jù)所述碼位順序表和所述電子書的原字庫文件,通過只索引所述格式描述文件中出現(xiàn)的漢字內(nèi)碼的方式生成新字庫文件;用所述新字庫文件替換所述原字庫文件,以完成電子書字庫的精簡。本發(fā)明實(shí)施例通過獲取一本電子書的漢字內(nèi)碼序列,并以此生成該電子書專用的字形字庫的方法,將該電子書用不到的字形濾掉,解決了電子書漢字字庫的數(shù)據(jù)冗余問題,使得電子書字庫文件大幅降低。文檔編號G06F17/30GK102880690SQ20121034809公開日2013年1月16日申請日期2012年9月18日優(yōu)先權(quán)日2012年9月18日發(fā)明者聞申生申請人:北京漢儀科印信息技術(shù)有限公司