本發(fā)明涉及計算機
技術領域:
,特別涉及一種字體參數(shù)配置方法及裝置。
背景技術:
:在一個程序的窗口元素中,會包含多個不同的顯示文件內容元素,如文字按鈕、文字鏈接、編輯框、提示文字等。這些控件存在一定的層級和關聯(lián)關系,所使用的字體既有相同的參數(shù),也可能存在不同的參數(shù),如文字鏈接一般會有下劃線,而文字按鈕就沒有下劃線,但文字鏈接和文字按鈕的字號可能是一樣的。目前在Windows環(huán)境下使用C++語言進行界面開發(fā),Windows的基礎類庫中并沒有提供一套通用的字體管理方案,因此,需要開發(fā)者在開發(fā)時實現(xiàn)對字體的管理。在一些簡單的界面開發(fā)中,一般并不對這些字體進行規(guī)劃,而是在用到字體的控件中直接配置字體的相關參數(shù)。為了提高字體的管理效率,一般會對字體進行預先定義,即對字體進行統(tǒng)一管理。這種方法,會保存所有字體的集合,并通過唯一標識符來標識和查找一個字體。每一種字體都會對字體的參數(shù)進行設置,如果沒有設置的,將使用默認值。使用同樣字體的界面元素,可通過字體標識(此處使用的是name參數(shù))查找字體,然后使用字體繪制文字。字體的一般參數(shù)如下表1所示。表1但目前的字體參數(shù)配置方法普遍存在一個問題,即每一個字體都是獨立的個體,即使兩個字體僅有一個參數(shù)不一樣,也是兩個不同的字體,如果它們的參數(shù)都發(fā)生變化,可能需要對每一個字體的參數(shù)進行修改。如下表2是一個字體集合,這幾個字體的很多參數(shù)都是相同的,如果要把所有字體的underline都修改為1,則需要修改4處。如果字體較多時,那么修改起來就更加繁瑣,修改的效率就更低。表2namefamilysizeboldunderlineitalicfont1宋體14000font2宋體14100font3宋體12000font4微軟雅黑12000技術實現(xiàn)要素:有鑒于此,本發(fā)明提供一種字體參數(shù)配置方法及裝置,通過在字體之間建立參數(shù)繼承關系,可提高修改字體參數(shù)配置的效率。本發(fā)明實施例提供一種字體參數(shù)配置方法,包括:讀取字體集合中所有字體的參數(shù)配置數(shù)據(jù),所述字體集合中所有字體的結構為樹狀結構,所述參數(shù)配置數(shù)據(jù)包括所述樹狀結構中根節(jié)點字體的通用參數(shù)數(shù)據(jù)、每一層級的各子節(jié)點字體的參數(shù)數(shù)據(jù),所述子節(jié)點字體的參數(shù)數(shù)據(jù)包括:繼承參數(shù)數(shù)據(jù)以及所述子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),所述繼承參數(shù)數(shù)據(jù)用于定義所述子節(jié)點字體與對應的父節(jié)點字體之間的參數(shù)繼承關系;根據(jù)所述 根節(jié)點字體的通用參數(shù)數(shù)據(jù),對所述根節(jié)點字體的參數(shù)進行配置;根據(jù)所述繼承參數(shù)數(shù)據(jù)以及所述子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對所述子節(jié)點字體的參數(shù)進行配置。本發(fā)明實施例提供一種字體參數(shù)配置裝置,包括:讀取模塊,用于讀取字體集合中所有字體的參數(shù)配置數(shù)據(jù),所述字體集合中所有字體的結構為樹狀結構,所述參數(shù)配置數(shù)據(jù)包括所述樹狀結構中根節(jié)點字體的通用參數(shù)數(shù)據(jù)、每一層級的各子節(jié)點字體的參數(shù)數(shù)據(jù),所述子節(jié)點字體的參數(shù)數(shù)據(jù)包括:繼承參數(shù)數(shù)據(jù)以及所述子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),所述繼承參數(shù)數(shù)據(jù)用于定義所述子節(jié)點字體與對應的父節(jié)點字體之間的參數(shù)繼承關系;根節(jié)點字體配置模塊,用于根據(jù)所述讀取模塊讀取的所述根節(jié)點字體的通用參數(shù)數(shù)據(jù),對所述根節(jié)點字體的參數(shù)進行配置;子節(jié)點字體配置模塊,用于根據(jù)所述讀取模塊讀取的所述繼承參數(shù)數(shù)據(jù)以及所述子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對所述子節(jié)點字體的參數(shù)進行配置。根據(jù)上述實施例的字體參數(shù)配置方法及裝置,通過在字體之間建立參數(shù)繼承關系,可對字體進行分級處理,子節(jié)點字體可繼承其對應的父節(jié)點字體的參數(shù)數(shù)據(jù),當父節(jié)點字體的參數(shù)數(shù)據(jù)發(fā)生變化時,其對應的子、孫節(jié)點字體的參數(shù)也隨之變化,從而可減少字體的參數(shù)配置,提高字體參數(shù)配置的效率。為讓本發(fā)明的上述和其他目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附圖式,作詳細說明如下。附圖說明圖1示出一種終端設備的結構示意圖;圖2為本發(fā)明第一實施例提供的一種字體參數(shù)配置方法的流程圖;圖3為本發(fā)明第一實施例提供的一種字體參數(shù)配置方法中樹狀結構的示意圖;圖4為本發(fā)明第二實施例提供的一種字體參數(shù)配置方法的流程圖;圖5為本發(fā)明第二實施例提供的一種字體參數(shù)配置方法中部分步驟的細節(jié)流程圖;圖6為本發(fā)明第三實施例提供的一種字體參數(shù)配置裝置的結構示意圖;圖7為本發(fā)明第四實施例提供的一種字體參數(shù)配置裝置的結構示意圖。具體實施方式為更進一步闡述本發(fā)明為實現(xiàn)預定發(fā)明目的所采取的技術手段及功效,以下結合附圖及較佳實施例,對依據(jù)本發(fā)明的具體實施方式、結構、特征及其功效,詳細說明如后。請參閱圖1,圖1為一種終端設備的結構示意圖。其中,終端設備包括支持字體參數(shù)配置的各類智能手機、平板電腦、筆記本電腦等移動終端設備以及臺式計算機等非移動終端設備。如圖1所示,終端設備100包括存儲器102、存儲控制器104,一個或多個(圖中僅示出一個)處理器106、外設接口108、射頻模塊110、定位模塊112、攝像模塊114、音頻模塊116、屏幕模塊118以及按鍵模塊120。這些組件通過一條或多條通訊總線/信號線122相互通訊??梢岳斫?,圖1所示的結構僅為示意,終端設備100還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。圖1中所示的各組件可以采用硬件、軟件或其組合實現(xiàn)。存儲器102可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的字體參數(shù)配置方法及裝置對應的程序指令/模塊,處理器106通過運行存儲在存儲器102內的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述字體參數(shù)配置方法。存儲器102可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些 實例中,存儲器102可進一步包括相對于處理器106遠程設置的存儲器,這些遠程存儲器可以通過網絡連接至終端設備100。上述網絡的實例包括但不限于互聯(lián)網、企業(yè)內部網、局域網、移動通信網及其組合。處理器106以及其他可能的組件對存儲器102的訪問可在存儲控制器104的控制下進行。外設接口108將各種輸入/輸入裝置耦合至CPU以及存儲器102。處理器106運行存儲器102內的各種軟件、指令以執(zhí)行終端設備100的各種功能以及進行數(shù)據(jù)處理。在一些實施例中,外設接口108,處理器106以及存儲控制器104可以在單個芯片中實現(xiàn)。在其他一些實例中,他們可以分別由獨立的芯片實現(xiàn)。射頻模塊110用于接收以及發(fā)送電磁波,實現(xiàn)電磁波與電信號的相互轉換,從而與通訊網絡或者其他設備進行通訊。射頻模塊110可包括各種現(xiàn)有的用于執(zhí)行這些功能的電路元件,例如,天線、射頻收發(fā)器、數(shù)字信號處理器、加密/解密芯片、用戶身份模塊(SIM)卡、存儲器等等。射頻模塊110可與各種網絡如互聯(lián)網、企業(yè)內部網、無線網絡進行通訊或者通過無線網絡與其他設備進行通訊。上述的無線網絡可包括蜂窩式電話網、無線局域網或者城域網。上述的無線網絡可以使用各種通信標準、協(xié)議及技術,包括但并不限于全球移動通信系統(tǒng)(GlobalSystemforMobileCommunication,GSM)、增強型移動通信技術(EnhancedDataGSMEnvironment,EDGE),寬帶碼分多址技術(widebandcodedivisionmultipleaccess,W-CDMA),碼分多址技術(Codedivisionaccess,CDMA)、時分多址技術(timedivisionmultipleaccess,TDMA),藍牙,無線保真技術(Wireless,Fidelity,WiFi)(如美國電氣和電子工程師協(xié)會標準IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、網絡電話(Voiceoverinternetprotocal,VoIP)、全球微波互聯(lián)接入(WorldwideInteroperabilityforMicrowaveAccess,Wi-Max)、其他 用于郵件、即時通訊及短消息的協(xié)議,以及任何其他合適的通訊協(xié)議,甚至可包括那些當前仍未被開發(fā)出來的協(xié)議。定位模塊112用于獲取終端設備100的當前位置。定位模塊112的實例包括但不限于全球衛(wèi)星定位系統(tǒng)(GPS)、基于無線局域網或者移動通信網的定位技術。攝像模塊114用于拍攝照片或者視頻。拍攝的照片或者視頻可以存儲至存儲器102內,并可通過射頻模塊110發(fā)送。音頻模塊116向用戶提供音頻接口,其可包括一個或多個麥克風、一個或者多個揚聲器以及音頻電路。音頻電路從外設接口108處接收聲音數(shù)據(jù),將聲音數(shù)據(jù)轉換為電信息,將電信息傳輸至揚聲器。揚聲器將電信息轉換為人耳能聽到的聲波。音頻電路還從麥克風處接收電信息,將電信號轉換為聲音數(shù)據(jù),并將聲音數(shù)據(jù)傳輸至外設接口108中以進行進一步的處理。音頻數(shù)據(jù)可以從存儲器102處或者通過射頻模塊110獲取。此外,音頻數(shù)據(jù)也可以存儲至存儲器102中或者通過射頻模塊110進行發(fā)送。在一些實例中,音頻模塊116還可包括一個耳機播孔,用于向耳機或者其他設備提供音頻接口。屏幕模塊118在終端設備100與用戶之間同時提供一個輸出及輸入界面。具體地,屏幕模塊118向用戶顯示視頻輸出,這些視頻輸出的內容可包括文字、圖形、視頻、及其任意組合。一些輸出結果是對應于一些用戶界面對象。屏幕模塊118還接收用戶的輸入,例如用戶的點擊、滑動等手勢操作,以便用戶界面對象對這些用戶的輸入做出響應。檢測用戶輸入的技術可以是基于電阻式、電容式或者其他任意可能的觸控檢測技術。屏幕模塊118顯示單元的具體實例包括但并不限于液晶顯示器或發(fā)光聚合物顯示器??梢岳斫獾兀聊荒K118也可以只在終端設備100與用戶之間提供一個輸出界面。按鍵模塊120同樣提供用戶向終端設備100進行輸入的接口,用戶可 以通過按下不同的按鍵以使終端設備100執(zhí)行不同的功能。第一實施例請參閱圖2,為本發(fā)明第一實施例提供的一種字體參數(shù)配置方法的流程圖。本方法可應用于圖1所示的終端設備100中,以實現(xiàn)對預置字體集合中所有字體的配置。如圖2所示,該方法包括:S11、讀取字體集合中所有字體的參數(shù)配置數(shù)據(jù),該字體集合中所有字體的結構為樹狀結構,該參數(shù)配置數(shù)據(jù)包括該樹狀結構中根節(jié)點字體的通用參數(shù)數(shù)據(jù)、每一層級的各子節(jié)點字體的參數(shù)數(shù)據(jù),該子節(jié)點字體的參數(shù)數(shù)據(jù)包括:繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),該繼承參數(shù)數(shù)據(jù)用于定義該子節(jié)點字體與對應的父節(jié)點字體之間的參數(shù)繼承關系;如圖3所示,待配置的字體集合中所有字體的結構為樹狀結構,即包括:一個根節(jié)點字體(如:默認字體)、以及至少一層級的子節(jié)點字體及其對應的父節(jié)點字體,其中一個父節(jié)點字體對應至少一個子節(jié)點字體,如圖3中的作為父節(jié)點字體的字體1即對應作為多個子節(jié)點字體的字體11、…、字體1n。當只有一層級的子節(jié)點字體時,根節(jié)點字體即為該層子節(jié)點字體對應的父節(jié)點字體。具體地,樹狀結構中根節(jié)點字體的通用參數(shù)數(shù)據(jù)可以但不限于包括:根節(jié)點字體的name、family、size、bold、underline以及italic等等。子節(jié)點字體的參數(shù)數(shù)據(jù)包括:繼承(parent)參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù)。其中,parent參數(shù)用于定義該子節(jié)點字體與對應的父節(jié)點字體之間的參數(shù)繼承關系。具體地,parent參數(shù)的值可為該子節(jié)點字體對應的父節(jié)點字體的唯一身份標識(如:名稱)。父節(jié)點字體的參數(shù)數(shù)據(jù)可被其對應的子、孫節(jié)點字體(即,節(jié)點字體及該子節(jié)點字體的子節(jié)點字體)繼承。如:圖3中作為父節(jié)點字體的字體1的參數(shù)數(shù)據(jù)可被作為其子節(jié)點字體的字體11、…、字體1n以及作為其孫節(jié) 點字體的字體1n1、…、字體1nn繼承??梢岳斫獾?,默認字體作為根節(jié)點字體,其參數(shù)數(shù)據(jù)可被除該默認字體本身以外的其余所有字體繼承,也即,當默認字體的參數(shù)發(fā)生變化時,其變化的值將會影響到其余所有字體。進一步地,parent參數(shù)的值可根據(jù)用戶觸發(fā)的設置指令設置,或,根據(jù)預置的父字體設置條件設置,例如:自動將滿足子節(jié)點字體對應的父字體設置條件的字體設置為該子節(jié)點字體的父節(jié)點字體。子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),可以但不限于包括:該子節(jié)點字體的name及其與family、size、bold、underline以及italic等等中的任一個或多個的組合,但上述各參數(shù)的值為該子節(jié)點字體所特有,其區(qū)別于該子節(jié)點字體對應的父節(jié)點字體的相同參數(shù)的值。上述字體集合中所有字體的參數(shù)配置數(shù)據(jù)可以在代碼或指定類型的文件中定義。其中,指定類型的文件可以但不限于包括:XML(ExtensibleMarkupLanguage,可擴展標記語言)文件、JSON(JavaScriptObjectNotation,一種輕量級的數(shù)據(jù)交換格式)文件、或其他類似類型的文件。S12、根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù),對該根節(jié)點字體的參數(shù)進行配置;根據(jù)根節(jié)點字體的通用參數(shù)數(shù)據(jù),對作為根節(jié)點字體的默認字體的參數(shù)進行配置,即,初始化默認字體。S13、根據(jù)該繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置。具體地,逐一讀取各子節(jié)點字體的參數(shù)數(shù)據(jù),根據(jù)該參數(shù)數(shù)據(jù)中的繼承參數(shù)數(shù)據(jù),判斷子節(jié)點字體是否具有對應的父節(jié)點字體,即,該子節(jié)點字體對應的parent參數(shù)的值是否為指定值或為空值,若是,則判定該子節(jié)點字體不具有對應的父節(jié)點字體,若不是,則判定該子節(jié)點字體具有對應的父節(jié)點字體。若該子節(jié)點字體具有對應的父節(jié)點字體,則根據(jù)該繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置。具體地,首先根據(jù)該繼承參數(shù)數(shù)據(jù)的值,從該樹狀結構中查找對應的父節(jié)點字體,并獲取該父節(jié)點字體的參數(shù)數(shù)據(jù);然后,根據(jù)該父節(jié)點字體的參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置;之后,根據(jù)該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),更新該子節(jié)點字體的參數(shù)。若該子節(jié)點字體不具有對應的父節(jié)點字體,則將該根節(jié)點字體設置為該子節(jié)點字體的父節(jié)點字體,并根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù),以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置。具體地,首先根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置;然后,再根據(jù)該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),更新該子節(jié)點字體的參數(shù)。本實施例提供的一種字體參數(shù)配置方法,通過在字體之間建立參數(shù)繼承關系,可對字體進行分級處理,子節(jié)點字體可繼承其對應的父節(jié)點字體的參數(shù)數(shù)據(jù),當父節(jié)點字體的參數(shù)數(shù)據(jù)發(fā)生變化時,其對應的子、孫節(jié)點字體的參數(shù)也隨之變化,從而可減少字體的參數(shù)配置,提高字體參數(shù)配置的效率。第二實施例請參閱圖4,為本發(fā)明第二實施例提供的一種字體參數(shù)配置方法的流程圖。本方法可應用于圖1所示的終端設備100中,以實現(xiàn)對預置字體集合中所有字體的配置。如圖4所示,該方法包括:S21、讀取字體集合中所有字體的參數(shù)配置數(shù)據(jù),該字體集合中所有字體的結構為樹狀結構,該參數(shù)配置數(shù)據(jù)包括該樹狀結構中根節(jié)點字體的通用參數(shù)數(shù)據(jù)、每一層級的各子節(jié)點字體的參數(shù)數(shù)據(jù),該子節(jié)點字體的參數(shù)數(shù)據(jù)包括:繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),該繼承參數(shù)數(shù)據(jù)用于定義該子節(jié)點字體與對應的父節(jié)點字體之間的參數(shù)繼承關 系;如圖3所示,待配置的字體集合中所有字體的結構為樹狀結構,即包括:一個根節(jié)點字體(如:默認字體)、以及至少一層級的子節(jié)點字體及其對應的父節(jié)點字體,其中一個父節(jié)點字體對應至少一個子節(jié)點字體,如圖3中的作為父節(jié)點字體的字體1即對應作為多個子節(jié)點字體的字體11、…、字體1n。當只有一層級的子節(jié)點字體時,根節(jié)點字體即為該層子節(jié)點字體對應的父節(jié)點字體。具體地,樹狀結構中根節(jié)點字體的通用參數(shù)數(shù)據(jù)可以但不限于包括:根節(jié)點字體的name、family、size、bold、underline以及italic等等。子節(jié)點字體的參數(shù)數(shù)據(jù)包括:繼承(parent)參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù)。其中,parent參數(shù)用于定義該子節(jié)點字體與對應的父節(jié)點字體之間的參數(shù)繼承關系。具體地,parent參數(shù)的值可為該子節(jié)點字體對應的父節(jié)點字體的唯一身份標識,如:父節(jié)點字體的名稱(即,該父節(jié)點字體對應的name參數(shù)的值)。父節(jié)點字體的參數(shù)數(shù)據(jù)可被其對應的子、孫節(jié)點字體(即,節(jié)點字體及該子節(jié)點字體的子節(jié)點字體)繼承。如:圖3中作為父節(jié)點字體的字體1的參數(shù)數(shù)據(jù)可被作為其子節(jié)點字體的字體11、…、字體1n以及作為其孫節(jié)點字體的字體1n1、…、字體1nn繼承。可以理解地,默認字體作為根節(jié)點字體,其參數(shù)數(shù)據(jù)可被除該默認字體本身以外的其余所有字體繼承,也即,當默認字體的參數(shù)發(fā)生變化時,其變化的值將會影響到其余所有字體。進一步地,parent參數(shù)的值可根據(jù)用戶觸發(fā)的設置指令設置,或,根據(jù)預置的父字體設置條件設置,例如:自動將滿足子節(jié)點字體對應的父字體設置條件的字體設置為該子節(jié)點字體的父節(jié)點字體。該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),可以但不限于包括:該子節(jié)點字體的name及其與family、size、bold、underline以及italic等等中的 任一個或多個的組合,但上述各參數(shù)的值為該子節(jié)點字體所特有,其區(qū)別于該子節(jié)點字體對應的父節(jié)點字體的相同參數(shù)的值。上述字體集合中所有字體的參數(shù)配置數(shù)據(jù)可以在代碼或指定類型的文件中定義。其中,指定類型的文件可以但不限于包括:XML文件、JSON文件、或其他類似類型的文件。優(yōu)選地,根據(jù)預置的劃分規(guī)則,將字體集合中的字體劃分為第一類字體與第二類字體。其中,該第一類字體包括參數(shù)數(shù)據(jù)較少改動的字體,如:根節(jié)點字體。該第二類字體包括參數(shù)數(shù)據(jù)需要頻繁改動的字體。將該第一類字體的參數(shù)配置數(shù)據(jù)在代碼中定義,將該第二類字體的參數(shù)配置數(shù)據(jù)在指定類型的文件中定義,也即,該字體集合中所有字體的參數(shù)配置數(shù)據(jù)包括:代碼形式的參數(shù)配置數(shù)據(jù)與文件形式的參數(shù)配置數(shù)據(jù)。像這樣,通過不同的定義方式對不同類型的字體的參數(shù)配置數(shù)據(jù)進行定義,可綜合代碼定義與文件定義這兩種定義方式的優(yōu)點,在具有較高的讀取效率的同時,簡化字體的參數(shù)配置數(shù)據(jù)修改的步驟,即對于頻繁需要改動的字體不再需要重新編譯、發(fā)布代碼,并且當該字體的參數(shù)修改后,保存該字體的參數(shù)再重啟相應的程序,即可看到該字體的變化。進一步地,終端設備從服務器獲取該字體集合中所有字體的參數(shù)配置數(shù)據(jù)的更新數(shù)據(jù)包,根據(jù)該更新數(shù)據(jù)包中的數(shù)據(jù)更新該所有字體的參數(shù)配置數(shù)據(jù),并保存更新后的參數(shù)配置數(shù)據(jù),以便在客戶端程序啟動時,根據(jù)該更新后的參數(shù)配置數(shù)據(jù),對該字體集合中各字體的參數(shù)進行配置。其中,該更新數(shù)據(jù)包是對該字體集合中所有字體的參數(shù)配置數(shù)據(jù)中部分參數(shù)數(shù)據(jù)的更新、補充、修改。上述獲取更新數(shù)據(jù)包的方式可以但不限于包括:終端設備定期或定時或當檢測到客戶端程序啟動時向服務器發(fā)送獲取更新數(shù)據(jù)的請求,以從該服務器獲取該更新數(shù)據(jù)包;或者,終端設備接收服務器定期推送的該更新數(shù)據(jù)包。S22、根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù),對該根節(jié)點字體的參數(shù)進行 配置;根據(jù)根節(jié)點字體的通用參數(shù)數(shù)據(jù),對作為根節(jié)點字體的默認字體的參數(shù)進行配置,即,初始化默認字體。S23、根據(jù)該繼承參數(shù)數(shù)據(jù),判斷該子節(jié)點字體是否具有對應的父節(jié)點字體;具體地,根據(jù)子節(jié)點對應的parent參數(shù)的值,判斷該子節(jié)點字體是否具有對應的父節(jié)點字體;若parent參數(shù)的值不為指定值或不為空值,則判定該子節(jié)點字體具有對應的父節(jié)點字體,執(zhí)行步驟S204;若parent參數(shù)的值為指定值或為空值,則判定該子節(jié)點字體不具有對應的父節(jié)點字體,執(zhí)行步驟S205。S24、若該子節(jié)點字體具有對應的父節(jié)點字體,則根據(jù)該繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置;具體地,如圖5所示,根據(jù)該繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置包括:S241、根據(jù)該繼承參數(shù)數(shù)據(jù),從該樹狀結構中查找該父節(jié)點字體;根據(jù)作為parent參數(shù)的值的待配置的子節(jié)點字體對應的父節(jié)點字體的唯一身份標識,從樹狀結構中查找該唯一身份標識對應的字體,作為待配置的子節(jié)點字體對應的父節(jié)點字體。S242、若該父節(jié)點字體存在,則獲取該父節(jié)點字體的參數(shù)數(shù)據(jù),根據(jù)該父節(jié)點字體的參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置;若從樹狀結構中查找到與parent參數(shù)的值對應的字體,則確認字體集合中存在待配置的子節(jié)點字體對應的父節(jié)點字體,獲取該父節(jié)點字體的參數(shù)數(shù)據(jù),根據(jù)該父節(jié)點字體的參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置??梢岳斫獾?,若該父節(jié)點字體也有對應的父節(jié)點字體,則根據(jù)該父節(jié)點字體對應的父節(jié)點字體的參數(shù)數(shù)據(jù)與該父節(jié)點字體的個性參數(shù)數(shù),對該子節(jié)點字體進行配置。S243、根據(jù)該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),更新該子節(jié)點字體的參數(shù);根據(jù)子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),將待配置的子節(jié)點字體的參數(shù)的值配置為對應的個性參數(shù)的值。進一步地,在參數(shù)更新后,檢測更新后的該子節(jié)點字體的參數(shù)是否符合預置的規(guī)則(即合法性檢查,如:name參數(shù)的值是否唯一),若不符合,則判定該子節(jié)點字體初始化失敗,結束對該子節(jié)點字體的參數(shù)配置。S244、若該父節(jié)點字體不存在,則將該根節(jié)點字體設置為該子節(jié)點字體對應的父節(jié)點字體;若從樹狀結構中未查找到與parent參數(shù)的值對應的字體,則確認字體集合中不存在待配置的子節(jié)點字體對應的父節(jié)點字體,此時將作為根節(jié)點字體的默認字體設置為該子節(jié)點字體對應的父節(jié)點字體。S245、根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置;S246、根據(jù)該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),更新該子節(jié)點字體的參數(shù)。同樣地,在參數(shù)更新后,檢測更新后的該子節(jié)點字體的參數(shù)是否符合預置的規(guī)則,若不符合,則判定該子節(jié)點字體初始化失敗,結束對該子節(jié)點字體的參數(shù)配置。進一步地,若該父節(jié)點字體不存在,也可判定該子節(jié)點字體初始化失敗,結束對該子節(jié)點字體的參數(shù)配置。可以理解地,當該子節(jié)點字體初始化失敗后,客戶端程序生成并保存初始化失敗的相關數(shù)據(jù)(如:導致初始化失敗產生的原因對應的錯誤代碼),然后對下一個子節(jié)點字體的參數(shù)進行配置。S25、若該子節(jié)點字體不具有對應的父節(jié)點字體,則將該根節(jié)點字體設置為該子節(jié)點字體的父節(jié)點字體,并根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù), 以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置。若待配置的子節(jié)點字體不具有對應的父節(jié)點字體,則將根節(jié)點字體設置為該子節(jié)點字體的父節(jié)點字體,根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù),對子節(jié)點字體的參數(shù)進行配置,根據(jù)該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),更新該子節(jié)點字體的參數(shù)。同樣地,在參數(shù)更新后,檢測更新后的該子節(jié)點字體的參數(shù)是否符合預置的規(guī)則,若不符合,則判定該子節(jié)點字體初始化失敗,結束對該子節(jié)點字體的參數(shù)配置。在逐一配置完字體集合中的所有字體的參數(shù)后,即,完成該字體集合中的所有字體的初始化之后,存儲配置后的各字體的參數(shù)數(shù)據(jù),以便客戶端程序的窗口元素通過字體的name參數(shù)查找相應的字體,并使用該字體的各項參數(shù)數(shù)據(jù)繪制文字。為進一步說明本發(fā)明,舉例來說,假定字體集合中包含的各字體的參數(shù)數(shù)據(jù)如下表3所示,其中,根節(jié)點字體為default(默認字體),子節(jié)點字體為font1、font2、font3以及font4,X表示對應的子節(jié)點字體的參數(shù)數(shù)據(jù)繼承自其父節(jié)點字體的相同參數(shù),故無需額外配置。表3具體地,終端設備100首先讀取表3所示字體集合中所有字體default、font1、font2、font3以及font4的參數(shù)配置數(shù)據(jù);然后,根據(jù)讀取的default的通用參數(shù)數(shù)據(jù)配置根節(jié)點字體default的參數(shù);之后,根據(jù)讀取的font1 的參數(shù)數(shù)據(jù)中parent參數(shù)的值判斷font1是否具有對應的父節(jié)點字體,根據(jù)表3可知,font1對應的parent參數(shù)的值為default,因此可確定font1具有對應的父節(jié)點字體,于是獲取default的通用參數(shù)數(shù)據(jù),根據(jù)該通用參數(shù)數(shù)據(jù)配置font1的參數(shù),然后根據(jù)font1對應的個性參數(shù)數(shù)據(jù)(如表3中的family參數(shù)、size參數(shù)、bold參數(shù)、underline參數(shù)以及italic參數(shù)),將font1的所有參數(shù)中與上述個性參數(shù)數(shù)據(jù)對應的參數(shù)的值更新為上述個性參數(shù)數(shù)據(jù)對應的值;接著,根據(jù)與配置font1的參數(shù)相同的方式逐一對font2、font3與font4進行參數(shù)配置。從表3可以看出,由于子節(jié)點字體可繼承其父節(jié)點字體的參數(shù)數(shù)據(jù),因此能夠有效的減小參數(shù)的配置,并且在參數(shù)發(fā)生變更時,只需要修改較少部分的參數(shù),例如:當font1、font2、font3以及font4的underline參數(shù)都需要修改為1時,由于font2與font3對應的父節(jié)點字體為font1,font4對應的父節(jié)點字體為font3,也即font4是font1的孫節(jié)點字體,而父節(jié)點字體的參數(shù)數(shù)據(jù)可被其子、孫節(jié)點字體繼承,因此只需要修改font1這1處即可完成修改。本實施例提供的一種字體參數(shù)配置方法,通過在字體之間建立參數(shù)繼承關系,可對字體進行分級處理,子節(jié)點字體可繼承其對應的父節(jié)點字體的參數(shù)數(shù)據(jù),當父節(jié)點字體的參數(shù)數(shù)據(jù)發(fā)生變化時,其對應的子、孫節(jié)點字體的參數(shù)也隨之變化,從而可減少字體的參數(shù)配置,提高字體參數(shù)配置的效率。第三實施例請參閱圖6,為本發(fā)明第三實施例提供的一種字體參數(shù)配置裝置的結構示意圖,可運行于圖1所示的終端設備100中,用于實現(xiàn)上述實施例中的字體參數(shù)配置方法。如圖6所示,字體參數(shù)配置裝置30包括:讀取模塊31,用于讀取字體集合中所有字體的參數(shù)配置數(shù)據(jù),該字體集合中所有字體的結構為樹狀結構,該參數(shù)配置數(shù)據(jù)包括該樹狀結構中根 節(jié)點字體的通用參數(shù)數(shù)據(jù)、每一層級的各子節(jié)點字體的參數(shù)數(shù)據(jù),該子節(jié)點字體的參數(shù)數(shù)據(jù)包括:繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),該繼承參數(shù)數(shù)據(jù)用于定義該子節(jié)點字體與對應的父節(jié)點字體之間的參數(shù)繼承關系;根節(jié)點字體配置模塊32,用于根據(jù)讀取模塊31讀取的該根節(jié)點字體的通用參數(shù)數(shù)據(jù),對該根節(jié)點字體的參數(shù)進行配置;子節(jié)點字體配置模塊33,用于根據(jù)讀取模塊31讀取的該繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置。本實施例對字體參數(shù)配置裝置30的各功能模塊實現(xiàn)各自功能的具體過程,請參見上述圖1至圖5所示實施例中描述的具體內容,此處不再贅述。本實施例提供的一種字體參數(shù)配置裝置,通過在字體之間建立參數(shù)繼承關系,可對字體進行分級處理,子節(jié)點字體可繼承其對應的父節(jié)點字體的參數(shù)數(shù)據(jù),當父節(jié)點字體的參數(shù)數(shù)據(jù)發(fā)生變化時,其對應的子、孫節(jié)點字體的參數(shù)也隨之變化,從而可減少字體的參數(shù)配置,提高字體參數(shù)配置的效率。第四實施例請參閱圖7,為本發(fā)明第四實施例提供的一種字體參數(shù)配置裝置的結構示意圖,可運行于圖1所示的終端設備100中,用于實現(xiàn)上述實施例中的字體參數(shù)配置方法。如圖7所示,字體參數(shù)配置裝置40包括:讀取模塊31,用于讀取字體集合中所有字體的參數(shù)配置數(shù)據(jù),該字體集合中所有字體的結構為樹狀結構,該參數(shù)配置數(shù)據(jù)包括該樹狀結構中根節(jié)點字體的通用參數(shù)數(shù)據(jù)、每一層級的各子節(jié)點字體的參數(shù)數(shù)據(jù),該子節(jié)點字體的參數(shù)數(shù)據(jù)包括:繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),該繼承參數(shù)數(shù)據(jù)用于定義該子節(jié)點字體與對應的父節(jié)點字體之間的參數(shù)繼承關系;根節(jié)點字體配置模塊32,用于根據(jù)讀取模塊31讀取的該根節(jié)點字體的 通用參數(shù)數(shù)據(jù),對該根節(jié)點字體的參數(shù)進行配置;子節(jié)點字體配置模塊33,用于根據(jù)讀取模塊31讀取的該繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置。進一步地,字體參數(shù)配置裝置40還包括:判斷模塊41,用于根據(jù)該繼承參數(shù)數(shù)據(jù),判斷該子節(jié)點字體是否具有對應的父節(jié)點字體;子節(jié)點字體配置模塊33,還用于若該判斷模塊的判斷結果為該子節(jié)點字體具有對應的父節(jié)點字體,則根據(jù)該繼承參數(shù)數(shù)據(jù)以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置;子節(jié)點字體配置模塊33,還用于若該判斷模塊的判斷結果為該子節(jié)點字體不具有對應的父節(jié)點字體,則將該根節(jié)點字體設置為該子節(jié)點字體的父節(jié)點字體,并根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù),以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置。進一步地,該繼承參數(shù)數(shù)據(jù)包括該子節(jié)點字體對應的父節(jié)點字體的唯一身份標識。進一步地,子節(jié)點字體配置模塊33包括:查找模塊331,用于根據(jù)該父節(jié)點字體的唯一身份標識,從該樹狀結構中查找該父節(jié)點字體;參數(shù)數(shù)據(jù)獲取模塊332,用于若查找模塊331的查找結果為該父節(jié)點字體存在,則獲取該父節(jié)點字體的參數(shù)數(shù)據(jù);配置子模塊333,用于根據(jù)參數(shù)數(shù)據(jù)獲取模塊332獲取的該父節(jié)點字體的參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置,根據(jù)該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),更新該配置模塊根據(jù)該父節(jié)點字體的參數(shù)數(shù)據(jù)配置的該子節(jié)點字體的參數(shù)。進一步地,配置子模塊333,還用于若查找模塊331的查找結果為該父節(jié)點字體不存在,則將該根節(jié)點字體設置為該子節(jié)點字體對應的父節(jié)點字 體,并根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù),以及該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置。進一步地,配置子模塊333,還用于根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù),對該子節(jié)點字體的參數(shù)進行配置,根據(jù)該子節(jié)點字體對應的個性參數(shù)數(shù)據(jù),更新該配置模塊根據(jù)該根節(jié)點字體的通用參數(shù)數(shù)據(jù)配置的該子節(jié)點字體的參數(shù)。進一步,該字體集合中的字體包括第一類字體與第二類字體,其中該第一類字體的參數(shù)配置數(shù)據(jù)在代碼中定義,該第二類字體的參數(shù)配置數(shù)據(jù)在指定類型的文件中定義。進一步地,該指定類型的文件包括:XML文件以及JSON文件。進一步地,字體參數(shù)配置裝置40還包括:更新數(shù)據(jù)包獲取模塊42,用于從服務器獲取該參數(shù)配置數(shù)據(jù)的更新數(shù)據(jù)包;更新模塊43,用于根據(jù)更新數(shù)據(jù)包獲取模塊42獲取的該更新數(shù)據(jù)包中的數(shù)據(jù)更新該參數(shù)配置數(shù)據(jù)并保存。本實施例對字體參數(shù)配置裝置40的各功能模塊實現(xiàn)各自功能的具體過程,請參見上述圖1至圖5所示實施例中描述的具體內容,此處不再贅述。本實施例提供的一種字體參數(shù)配置裝置,通過在字體之間建立參數(shù)繼承關系,可對字體進行分級處理,子節(jié)點字體可繼承其對應的父節(jié)點字體的參數(shù)數(shù)據(jù),當父節(jié)點字體的參數(shù)數(shù)據(jù)發(fā)生變化時,其對應的子、孫節(jié)點字體的參數(shù)也隨之變化,從而可減少字體的參數(shù)配置,提高字體參數(shù)配置的效率。需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即 可。需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括要素的過程、方法、物品或者裝置中還存在另外的相同要素。本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,該程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。以上,僅是本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術人員,在不脫離本發(fā)明技術方案范圍內,當可利用上述揭示的技術內容做出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本發(fā)明技術方案內容,依據(jù)本發(fā)明的技術實質對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術方案的范圍內。當前第1頁1 2 3