本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種更換系統(tǒng)字體的方法及用戶終端。
背景技術(shù):
隨著科學(xué)技術(shù)的持續(xù)發(fā)展和人們生活水平的不斷提高,諸如手機(jī)、筆記本電腦、平板電腦、臺式電腦等智能用戶終端設(shè)備已成為人們?nèi)粘I钪斜夭豢缮俚墓ぞ?,給人們的生活、學(xué)習(xí)、工作等帶來了極大的便利。一般來說,用戶終端設(shè)備上都搭載有一操作系統(tǒng),且同一操作系統(tǒng)中的默認(rèn)系統(tǒng)字體是相同的,長期使用具有相同操作系統(tǒng)的用戶終端時,難免對默認(rèn)的系統(tǒng)字體產(chǎn)生枯燥感,或者用戶出于個性化、美觀等方面的需求,都想要對系統(tǒng)默認(rèn)的字體進(jìn)行更換。目前普遍采用的系統(tǒng)字體更換方法是:字體提供方提供支持某種語言的字體,并將此字體上傳至服務(wù)器,工作人員對服務(wù)器端的字體按支持的語言進(jìn)行分類存儲,用戶根據(jù)當(dāng)前用戶終端支持的語言向服務(wù)器端請求下發(fā)對應(yīng)的語言的字體,用戶選擇對應(yīng)語言的字體進(jìn)行下載,最后在用戶終端應(yīng)用該種字體。此種方法具有以下缺陷:一方面是必須在連接網(wǎng)絡(luò)的情況下,才能從服務(wù)器端下載對應(yīng)語言的字體,當(dāng)用戶處于沒有網(wǎng)絡(luò)或是網(wǎng)絡(luò)較差的環(huán)境時,無法更換系統(tǒng)字體,用戶體驗(yàn)較差;另一方面是下載的字體可能不支持用戶終端當(dāng)前的語言環(huán)境,導(dǎo)致根本不能應(yīng)用;還有就是某些語言字符集相同,比如葡萄牙語和西班牙語,因此這兩種語言的字體實(shí)際上是通用的,然而,從服務(wù)器端下載的字體一般都只支持一種語言,當(dāng)系統(tǒng)語言切換時,則需要重新下載,通用性較差。因此,如何在沒有網(wǎng)絡(luò)的環(huán)境下更換系統(tǒng)字體,使得更換后的字體能夠很好的適應(yīng)當(dāng)前語言環(huán)境,是目前亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種更換系統(tǒng)字體的方法及用戶終端,用以解決在沒有網(wǎng)絡(luò)的環(huán)境下不能更換系統(tǒng)字體的問題,并使得更換后的字體能夠很好的適應(yīng)當(dāng)前語言環(huán)境,提高用戶體驗(yàn)。
為了解決上述問題,本發(fā)明提供了一種更換系統(tǒng)字體的方法及用戶終端,包括如下步驟:檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件,若否,則掃描本地已安裝的應(yīng)用程序內(nèi)的字體文件;判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言,若是,則將所述應(yīng)用程序內(nèi)的字體文件添加至字體列表;接收用戶從所述字體列表中選擇的目標(biāo)字體;應(yīng)用目標(biāo)字體于當(dāng)前系統(tǒng)。
優(yōu)選的,所述更換系統(tǒng)字體的方法還包括如下步驟:檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件,若是,則將所述字體文件添加至字體列表;接收用戶從所述字體列表中選擇的目標(biāo)字體;應(yīng)用目標(biāo)字體于當(dāng)前系統(tǒng)。
優(yōu)選的,所述掃描本地已安裝的應(yīng)用程序內(nèi)的字體文件的步驟包括:獲取所述應(yīng)用程序包名;根據(jù)所述包名查找所述應(yīng)用程序的ASSETS文件夾中的字體文件。
優(yōu)選的,所述判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言的步驟包括:根據(jù)所述應(yīng)用程序內(nèi)的字體文件中的CMAP表,判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言。
優(yōu)選的,所述檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件之前還包括如下步驟:檢測當(dāng)前操作系統(tǒng)是否開啟ROOT權(quán)限,若否,則提示用戶開啟。
本發(fā)明還提供了一種用戶終端,包括:控制模塊,用于檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件,若否,則掃描本地已安裝的應(yīng)用程序內(nèi)的字體文件;判斷模塊,連接控制模塊,用于判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言,若是,則將所述應(yīng)用程序內(nèi)的字體文件添加至字體列表;選擇模塊,連接控制模塊,用于接收用戶從所述字體列表中選擇的目標(biāo)字體;更換模塊,用于應(yīng)用目標(biāo)字體于當(dāng)前系統(tǒng)。
優(yōu)選的,所述用戶終端還包括存儲模塊,所述存儲模塊用于存儲支持當(dāng)前系統(tǒng)語言的字體文件。
優(yōu)選的,所述控制模塊包括獲取單元,所述獲取單元用于獲取所述應(yīng)用程序包名;所述控制模塊還包括查找單元,所述查找單元連接所述獲取單元,用于根據(jù)所述包名查找所述應(yīng)用程序的ASSETS文件夾中的字體文件。
優(yōu)選的,所述判斷模塊包括檢測單元,所述檢測單元用于根據(jù)所述應(yīng)用程序內(nèi)的字體文件中的CMAP表,判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言。
優(yōu)選的,所述用戶終端還包括識別模塊,所述識別模塊連接控制模塊,用于檢測當(dāng)前操作系統(tǒng)是否開啟ROOT權(quán)限,若否,則提示用戶開啟。
本發(fā)明提供了一種更換系統(tǒng)字體的方法及用戶終端,通過掃描用戶終端已安裝的應(yīng)用程序,來獲取本地字體文件,無需與網(wǎng)絡(luò)服務(wù)器進(jìn)行交互,減少用戶數(shù)據(jù)流量的使用,同時在判斷本地字體文件支持當(dāng)前語言的情況下才添加至字體列表,有效避免了字體文件與當(dāng)前語言不匹配的問題,使得更換后的字體能夠很好的適應(yīng)當(dāng)前語言環(huán)境,極大的提高了用戶體驗(yàn)。
附圖說明
附圖1是本發(fā)明具體實(shí)施方式的更換系統(tǒng)字體的方法流程圖;
附圖2是本發(fā)明具體實(shí)施方式的用戶終端結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明提供的更換系統(tǒng)字體的方法及用戶終端的具體實(shí)施方式做詳細(xì)說明。
本發(fā)明提供了一種更換系統(tǒng)字體的方法及用戶終端,附圖1是本發(fā)明具體實(shí)施方式的更換系統(tǒng)字體的方法流程圖,附圖2是本發(fā)明具體實(shí)施方式的用戶終端結(jié)構(gòu)示意圖。如圖1所示,本發(fā)明所述的更換系統(tǒng)字體的方法包括如下步驟:
步驟S11,檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件,若否,則掃描本地已安裝的應(yīng)用程序內(nèi)的字體文件。一般來說,現(xiàn)有的智能用戶終端上都搭載有操作系統(tǒng),每一操作系統(tǒng)都有一默認(rèn)的系統(tǒng)語言,但是該用戶終端的系統(tǒng)語言不是固定不變的,用戶可以根據(jù)自己的需要更改系統(tǒng)語言的種類,每一種系統(tǒng)語言可以與一種或多種字體文件對應(yīng),同時,每一種字體文件可能支持一種或多種語言,而只有當(dāng)字體文件支持當(dāng)前系統(tǒng)語言時,所述字體文件才能應(yīng)用于所述用戶終端的當(dāng)前系統(tǒng),否則會導(dǎo)致系統(tǒng)錯誤。本發(fā)明提供的用戶終端中設(shè)置有控制模塊21,所述控制模塊21用于檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件,若否,則掃描本地已安裝的應(yīng)用程序內(nèi)的字體文件。由于一般的應(yīng)用程序內(nèi)部都會自帶有字體文件,當(dāng)所述用戶終端內(nèi)部沒有存儲支持當(dāng)前語言的字體文件時,為了使得用戶可以更換當(dāng)前系統(tǒng)字體,所述控制模塊21則可以掃描本地已安裝的應(yīng)用程序。為了準(zhǔn)確的找到應(yīng)用程序內(nèi)部的字體文件,優(yōu)選的,所述掃描本地已安裝的應(yīng)用程序內(nèi)的字體文件的步驟包括:獲取所述應(yīng)用程序包名;根據(jù)所述包名查找所述應(yīng)用程序的ASSETS文件夾中的字體文件。應(yīng)用程序的包名是應(yīng)用程序的唯一識別標(biāo)識,所述控制模塊21中設(shè)置有獲取單元211和查找單元212,所述獲取單元211用于獲取所述應(yīng)用程序包名,所述查找單元212連接所述獲取單元211,用于根據(jù)所述包名查找所述應(yīng)用程序的ASSETS文件夾中的字體文件。其中,所述ASSETS文件用于存放應(yīng)用程序的靜態(tài)資源,例如字體、圖片、模板、層疊樣式表(CSS)等等。這樣,用戶即使在沒有網(wǎng)絡(luò)或者網(wǎng)絡(luò)較差的環(huán)境下,也能獲得字體文件,直接利用本地資源,避免了與網(wǎng)絡(luò)服務(wù)器的交互,極大的便利了用戶。
步驟S12,判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言,若是,則將所述應(yīng)用程序內(nèi)的字體文件添加至字體列表。一般來說,應(yīng)用程序內(nèi)的字體文件是針對該應(yīng)用程序設(shè)置的,能夠應(yīng)用于該應(yīng)用程序,但是,所述應(yīng)用程序內(nèi)的字體文件卻不一定支持當(dāng)前系統(tǒng)語言,因此,為了避免因應(yīng)用程序內(nèi)的字體文件不支持當(dāng)前系統(tǒng)語言而導(dǎo)致的系統(tǒng)錯誤,還需要對所述應(yīng)用程序內(nèi)的字體文件支持的語言種類進(jìn)行判斷。本發(fā)明的用戶終端還包括判斷模塊22,所述判斷模塊22連接控制模塊21,用于判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言,若是,則將所述應(yīng)用程序內(nèi)的字體文件添加至字體列表。為了實(shí)現(xiàn)準(zhǔn)確的判斷,優(yōu)選的,所述判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言的步驟包括:根據(jù)所述應(yīng)用程序內(nèi)的字體文件中的CMAP表,判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言。其中,所述CMAP表是包含Unicode碼到字符圖像的映射關(guān)系的表。
步驟S13,接收用戶從所述字體列表中選擇的目標(biāo)字體。通過掃描一個或多個應(yīng)用程序,將支持當(dāng)前系統(tǒng)語言的所有字體文件都添加至所述字體列表,所述字體列表將所有可適用于當(dāng)前系統(tǒng)語言的字體文件呈現(xiàn)給用戶。本發(fā)明的用戶終端還設(shè)置有選擇模塊23,所述選擇模塊23連接控制模塊21,用于接收用戶從所述字體列表中選擇的目標(biāo)字體。用戶通過選擇模塊23從字體列表中選擇字體。
步驟S14,應(yīng)用目標(biāo)字體于當(dāng)前系統(tǒng)。所述用戶終端還包括更換模塊24,所述更換模塊24用于將用戶選擇的目標(biāo)字體應(yīng)用于當(dāng)前系統(tǒng)。
在實(shí)際應(yīng)用中,一些特定的操作系統(tǒng)(例如Android)可能需要開放了ROOT權(quán)限之后,才允許對一些系統(tǒng)的原有設(shè)置進(jìn)行更換,因此,為了使得用戶可以更換系統(tǒng)字體,優(yōu)選的,所述檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件之前還包括如下步驟:檢測當(dāng)前操作系統(tǒng)是否開啟ROOT權(quán)限,若否,則提示用戶開啟。其中,ROOT存在于Linux系統(tǒng)、UNIX系統(tǒng)和類UNIX系統(tǒng)(如Android系統(tǒng))中,是系統(tǒng)中唯一的超級用戶,相當(dāng)于Windows系統(tǒng)中的SYSTEM用戶,其具有系統(tǒng)中所有的權(quán)限,如啟動或停止一個進(jìn)程,刪除或增加用戶,增加或者禁用硬件等等。具體來說,所述用戶終端中還設(shè)置有識別模塊25,所述識別模塊25連接控制模塊21,用于檢測當(dāng)前操作系統(tǒng)是否開啟ROOT權(quán)限,若否,則提示用戶開啟。其中,所述提示方式可以是以彈窗的形式提醒用戶開啟ROOT權(quán)限,但是,提示方式并不限于彈窗,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況設(shè)置其他的提示方式。
為了提高系統(tǒng)字體更換的速度,優(yōu)選的,所述更換系統(tǒng)字體的方法還包括如下步驟:檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件,若是,則將所述字體文件添加至字體列表;接收用戶從所述字體列表中選擇的目標(biāo)字體;應(yīng)用目標(biāo)字體于當(dāng)前系統(tǒng)。其中,所述用戶終端中還設(shè)置有存儲模塊26,所述存儲模塊26用于存儲支持當(dāng)前系統(tǒng)語言的字體文件。這樣,用戶僅需要檢測本地存儲模塊26中存儲的字體就可以快速的更新字體列表,過程簡單、快速,極大的提高了用戶體驗(yàn)。其中,所述存儲模塊26中存儲的字體文件可以是用戶向網(wǎng)絡(luò)服務(wù)器請求下發(fā)的,也可以是用戶終端生產(chǎn)商提前存儲在終端內(nèi)部的。
本發(fā)明提供了一種更換系統(tǒng)字體的方法,通過掃描用戶終端已安裝的應(yīng)用程序,來獲取本地字體文件,無需與網(wǎng)絡(luò)服務(wù)器進(jìn)行交互,減少用戶數(shù)據(jù)流量的使用,同時在判斷本地字體文件支持當(dāng)前語言的情況下才添加至字體列表,有效避免了字體文件與當(dāng)前語言不匹配的問題,使得更換后的字體能夠很好的適應(yīng)當(dāng)前語言環(huán)境,極大的提高了用戶體驗(yàn)。
不僅如此,本發(fā)明還提供了一種用戶終端,如圖2所示,所述用戶終端包括控制模塊21、判斷模塊22、選擇模塊23和更換模塊24。
所述控制模塊21,用于檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件,若否,則掃描本地已安裝的應(yīng)用程序內(nèi)的字體文件。一般來說,現(xiàn)有的智能用戶終端上都搭載有操作系統(tǒng),每一操作系統(tǒng)都有一默認(rèn)的系統(tǒng)語言,但是該用戶終端的系統(tǒng)語言不是固定不變的,用戶可以根據(jù)自己的需要更改系統(tǒng)語言的種類,每一種系統(tǒng)語言可以與一種或多種字體文件對應(yīng),同時,每一種字體文件可能支持一種或多種語言,而只有當(dāng)字體文件支持當(dāng)前系統(tǒng)語言時,所述字體文件才能應(yīng)用于所述用戶終端的當(dāng)前系統(tǒng),否則會導(dǎo)致系統(tǒng)錯誤。本發(fā)明提供的用戶終端中設(shè)置有控制模塊21,所述控制模塊21,用于檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件,若否,則掃描本地已安裝的應(yīng)用程序內(nèi)的字體文件。由于一般的應(yīng)用程序內(nèi)部都會自帶有字體文件,當(dāng)所述用戶終端內(nèi)部沒有存儲支持當(dāng)前語言的字體文件時,為了使得用戶可以更換當(dāng)前系統(tǒng)字體,所述控制模塊21則可以掃描本地已安裝的應(yīng)用程序。為了準(zhǔn)確的找到應(yīng)用程序內(nèi)部的字體文件,優(yōu)選的,所述控制模塊21中設(shè)置有獲取單元211和查找單元212,所述獲取單元211用于獲取所述應(yīng)用程序包名,所述查找單元212連接所述獲取單元211,用于根據(jù)所述包名查找所述應(yīng)用程序的ASSETS文件夾中的字體文件。其中,應(yīng)用程序的包名是應(yīng)用程序的唯一識別標(biāo)識,所述ASSETS文件用于存放應(yīng)用程序的靜態(tài)資源,例如字體、圖片、模板、層疊樣式表(CSS)等等。這樣,用戶即使在沒有網(wǎng)絡(luò)或者網(wǎng)絡(luò)較差的環(huán)境下,也能獲得字體文件,直接利用本地資源,避免了與網(wǎng)絡(luò)服務(wù)器的交互,極大的便利了用戶。
所述判斷模塊22,連接控制模塊21,用于判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言,若是,則將所述應(yīng)用程序內(nèi)的字體文件添加至字體列表。一般來說,應(yīng)用程序內(nèi)的字體文件是針對該應(yīng)用程序設(shè)置的,能夠應(yīng)用于該應(yīng)用程序,但是,所述應(yīng)用程序內(nèi)的字體文件卻不一定支持當(dāng)前系統(tǒng)語言,因此,為了避免因應(yīng)用程序內(nèi)的字體文件不支持當(dāng)前系統(tǒng)語言而導(dǎo)致的系統(tǒng)錯誤,還需要對所述應(yīng)用程序內(nèi)的字體文件支持的語言種類進(jìn)行判斷。本發(fā)明的用戶終端還包括判斷模塊22,所述判斷模塊22連接控制模塊21,用于判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言,若是,則將所述應(yīng)用程序內(nèi)的字體文件添加至字體列表。為了實(shí)現(xiàn)準(zhǔn)確的判斷,優(yōu)選的,所述判斷模塊21包括檢測單元221,所述檢測單元221用于根據(jù)所述應(yīng)用程序內(nèi)的字體文件中的CMAP表,判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言。其具體的實(shí)現(xiàn)步驟為:所述檢測單元221根據(jù)所述應(yīng)用程序內(nèi)的字體文件中的CMAP表,判斷所述應(yīng)用程序內(nèi)的字體文件是否支持當(dāng)前系統(tǒng)語言。其中,所述CMAP表是包含Unicode碼到字符圖像的映射關(guān)系的表。
所述選擇模塊23,連接控制模塊21,用于接收用戶從所述字體列表中選擇的目標(biāo)字體。通過掃描一個或多個應(yīng)用程序,將支持當(dāng)前系統(tǒng)語言的所有字體文件都添加至所述字體列表,所述字體列表將所有可適用于當(dāng)前系統(tǒng)語言的字體文件呈現(xiàn)給用戶。本發(fā)明的用戶終端還設(shè)置有選擇模塊23,所述選擇模塊23連接控制模塊21,用于接收用戶從所述字體列表中選擇的目標(biāo)字體。用戶通過選擇模塊23從字體列表中選擇字體。
所述更換模塊24,用于應(yīng)用目標(biāo)字體于當(dāng)前系統(tǒng)。所述更換模塊24用于將用戶選擇的目標(biāo)字體應(yīng)用于當(dāng)前系統(tǒng)。
在實(shí)際應(yīng)用中,一些特定的操作系統(tǒng)(例如Android)可能需要開放了ROOT權(quán)限之后,才允許對一些系統(tǒng)的原有設(shè)置進(jìn)行更換,因此,為了使得用戶可以更換系統(tǒng)字體,優(yōu)選的,所述用戶終端中還設(shè)置有識別模塊25,所述識別模塊25連接控制模塊21,用于檢測當(dāng)前操作系統(tǒng)是否開啟ROOT權(quán)限,若否,則提示用戶開啟。其中,ROOT存在于Linux系統(tǒng)、UNIX系統(tǒng)和類UNIX系統(tǒng)(如Android系統(tǒng))中,是系統(tǒng)中唯一的超級用戶,相當(dāng)于Windows系統(tǒng)中的SYSTEM用戶,其具有系統(tǒng)中所有的權(quán)限,如啟動或停止一個進(jìn)程,刪除或增加用戶,增加或者禁用硬件等等。其中,所述提示方式可以是以彈窗的形式提醒用戶開啟ROOT權(quán)限,但是,提示方式并不限于彈窗,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況設(shè)置其他的提示方式。
為了提高系統(tǒng)字體更換的速度,優(yōu)選的,所述用戶終端中還設(shè)置有存儲模塊26,所述存儲模塊26用于存儲支持當(dāng)前系統(tǒng)語言的字體文件。其具體的實(shí)現(xiàn)步驟為:檢測用戶終端內(nèi)是否存儲有支持當(dāng)前系統(tǒng)語言的字體文件,若是,則將所述字體文件添加至字體列表;接收用戶從所述字體列表中選擇的目標(biāo)字體;應(yīng)用目標(biāo)字體于當(dāng)前系統(tǒng)。這樣,用戶僅需要檢測本地存儲模塊26中存儲的字體就可以快速的更新字體列表,過程簡單、快速,極大的提高了用戶體驗(yàn)。其中,所述存儲模塊26中存儲的字體文件可以是用戶向網(wǎng)絡(luò)服務(wù)器請求下發(fā)的,也可以是用戶終端生產(chǎn)商提前存儲在終端內(nèi)部的。
本發(fā)明提供了一種更換系統(tǒng)字體的方法,通過掃描用戶終端已安裝的應(yīng)用程序,來獲取本地字體文件,無需與網(wǎng)絡(luò)服務(wù)器進(jìn)行交互,減少用戶數(shù)據(jù)流量的使用,同時在判斷本地字體文件支持當(dāng)前語言的情況下才添加至字體列表,有效避免了字體文件與當(dāng)前語言不匹配的問題,使得更換后的字體能夠很好的適應(yīng)當(dāng)前語言環(huán)境,極大的提高了用戶體驗(yàn)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。