1.一種用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,包括:
在當(dāng)前頁(yè)面上創(chuàng)建畫(huà)布;
在所述畫(huà)布上繪制預(yù)設(shè)圖形,所述預(yù)設(shè)圖形形成的區(qū)域?yàn)轭A(yù)設(shè)區(qū)域;
在所述畫(huà)布上分別采用默認(rèn)字體和指定字體填充文本,填充有文本的區(qū)域稱為文本填充區(qū)域,所述文本填充區(qū)域與所述預(yù)設(shè)區(qū)域具有重疊區(qū)域;
獲取所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù),所述像素?cái)?shù)據(jù)包括默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù);所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù)分別為在畫(huà)布上采用默認(rèn)字體和指定字體填充文本時(shí),采集的所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù);
根據(jù)所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù),判斷所述指定字體是否已安裝。
2.根據(jù)權(quán)利要求1所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述根據(jù)所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù),判斷所述指定字體是否已安裝,包括:
當(dāng)所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù)不相同時(shí),則判斷為所述指定字體已安裝。
3.根據(jù)權(quán)利要求1所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述根據(jù)所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù),判斷所述指定字體是否已安裝,包括:
當(dāng)所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù)相同時(shí),則執(zhí)行下述操作:
判斷所述默認(rèn)字體和所述指定字體的名稱是否相同;若不同,則判斷為所述指定字體未安裝。
4.根據(jù)權(quán)利要求3所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,當(dāng)所述默認(rèn)字體和所述指定字體的名稱相同,則所述指定字體已安裝,且所述指定字體與所述默認(rèn)字體的字體相同。
5.根據(jù)權(quán)利要求3所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,當(dāng)所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù)相同時(shí),首先執(zhí)行下述操作:
獲取所述默認(rèn)字體的名稱;
將所述默認(rèn)字體的名稱與所述指定字體的名稱比對(duì)。
6.根據(jù)權(quán)利要求5所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述獲取所述默認(rèn)字體的名稱是,采用瀏覽器內(nèi)置的應(yīng)用程序編程 接口獲取所述默認(rèn)字體的名稱。
7.根據(jù)權(quán)利要求1所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,當(dāng)所述重疊區(qū)域?yàn)樗鲱A(yù)設(shè)區(qū)域時(shí),所述重疊區(qū)域?yàn)樗鑫谋咎畛鋮^(qū)域中的部分區(qū)域;
相應(yīng)的,所述獲取所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù)是,采集所述文本填充區(qū)域中的部分區(qū)域,所述部分區(qū)域?yàn)樗鑫谋咎畛鋮^(qū)域中預(yù)先設(shè)定的用于表征文本特征的部分。
8.根據(jù)權(quán)利要求7所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述部分區(qū)域?yàn)樗鑫谋咎畛鋮^(qū)域中預(yù)先設(shè)定的用于表征文本特征的部分是指在所述重疊區(qū)域內(nèi)文本填充的區(qū)域占重疊區(qū)域的比例大于等于50%。
9.根據(jù)權(quán)利要求1所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述獲取所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù)步驟具體是:
確定所述重疊區(qū)域的區(qū)域范圍;
對(duì)所述區(qū)域范圍內(nèi)每個(gè)像素點(diǎn)進(jìn)行逐個(gè)掃描;
獲取每個(gè)像素點(diǎn)的像素?cái)?shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述獲取每個(gè)像素點(diǎn)的像素?cái)?shù)據(jù)是,通過(guò)應(yīng)用程序編程接口中的數(shù)據(jù)調(diào)用函數(shù)來(lái)獲取重疊區(qū)域內(nèi)每個(gè)像素點(diǎn)的像素?cái)?shù)據(jù)。
11.根據(jù)權(quán)利要求9所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述像素?cái)?shù)據(jù)是所述預(yù)設(shè)區(qū)域內(nèi)每個(gè)像素點(diǎn)的RGBA值,其中R為紅色通道參數(shù)值,G為綠色通道參數(shù)值,B為藍(lán)色通道參數(shù)值,A為色彩的不透明度參數(shù)值。
12.根據(jù)權(quán)利要求1所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述在所述畫(huà)布上繪制預(yù)設(shè)圖形是,在所述畫(huà)布上繪制兩個(gè)預(yù)設(shè)圖形,形成兩個(gè)預(yù)設(shè)區(qū)域;
相應(yīng)的,所述在所述畫(huà)布上分別采用默認(rèn)字體和指定字體填充文本包括在所述畫(huà)布的兩個(gè)文本填充區(qū)域分別采用默認(rèn)字體和指定字體填充文本;
兩個(gè)預(yù)設(shè)區(qū)域與兩個(gè)文本填充區(qū)域分別形成兩個(gè)重疊區(qū)域,所述獲取所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù)是同時(shí)獲取兩個(gè)重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù)。
13.根據(jù)權(quán)利要求1所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述在所述畫(huà)布上繪制預(yù)設(shè)圖形是,在所述畫(huà)布上繪制一個(gè)預(yù)設(shè)圖形,形成一個(gè)預(yù)設(shè)區(qū)域;
相應(yīng)的,所述在所述畫(huà)布上分別采用默認(rèn)字體和指定字體填充文本,獲取所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù)包括:
在所述畫(huà)布上采用默認(rèn)字體填充文本;
獲取采用默認(rèn)字體填充文本時(shí)所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù);
在所述畫(huà)布上采用指定字體填充文本;
獲取采用指定字體填充文本時(shí)所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù)。
14.根據(jù)權(quán)利要求1所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述在所述畫(huà)布上分別采用默認(rèn)字體和指定字體填充文本是采用文本填充方法以默認(rèn)字體和指定字體在畫(huà)布上填充文本。
15.根據(jù)權(quán)利要求1所述的用于支持canvas的瀏覽器的檢測(cè)字體的方法,其特征在于,所述在當(dāng)前頁(yè)面上創(chuàng)建畫(huà)布是采用canvas圖形容器和腳本命令生成畫(huà)布。
16.一種用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,包括:
畫(huà)布創(chuàng)建單元,用于在當(dāng)前頁(yè)面上創(chuàng)建畫(huà)布;
預(yù)設(shè)圖形繪制單元,用于在所述畫(huà)布上繪制預(yù)設(shè)圖形,所述預(yù)設(shè)圖形形成的區(qū)域?yàn)轭A(yù)設(shè)區(qū)域;
文本填充單元,用于在所述畫(huà)布上分別采用默認(rèn)字體和指定字體填充文本,填充有文本的區(qū)域稱為文本填充區(qū)域,所述文本填充區(qū)域與所述預(yù)設(shè)區(qū)域具有重疊區(qū)域;
像素?cái)?shù)據(jù)獲取單元,用于獲取所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù),所述像素?cái)?shù)據(jù)包括默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù);所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù)分別為在畫(huà)布上采用所述默認(rèn)字體和指定字體填充文本時(shí),采集的所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù);
判斷單元,用于根據(jù)所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù),判斷所述指定字體是否已安裝。
17.根據(jù)權(quán)利要求16所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述判斷單元具體用于,當(dāng)所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù)不相同時(shí),則判斷為所述指定字體已安裝。
18.根據(jù)權(quán)利要求16所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,當(dāng)所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù)相同時(shí),所述判斷單元還用于,判斷所述默認(rèn)字體和所述指定字體的名稱是否相同;若不同,則判斷為所述指定字體未安裝。
19.根據(jù)權(quán)利要求18所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述判斷單元中當(dāng)所述默認(rèn)字體和所述指定字體的名稱相同,則所述指定字體已安裝,且所述指定字體與所述默認(rèn)字體的字體相同。
20.根據(jù)權(quán)利要求18所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述判斷單元還包括:
默認(rèn)字體名稱獲取子單元,用于當(dāng)所述默認(rèn)字體數(shù)據(jù)和指定字體數(shù)據(jù)相同時(shí),獲取所述默認(rèn)字體的名稱;
字體名稱比對(duì)子單元,用于將所述默認(rèn)字體的名稱與所述指定字體的名稱比對(duì)。
21.根據(jù)權(quán)利要求20所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述默認(rèn)字體名稱獲取子單元具體是,采用瀏覽器內(nèi)置的應(yīng)用程序編程接口獲取所述默認(rèn)字體和所述指定字體的名稱。
22.根據(jù)權(quán)利要求16所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述文本填充單元中,當(dāng)所述重疊區(qū)域?yàn)樗鲱A(yù)設(shè)區(qū)域時(shí),所述重疊區(qū)域?yàn)樗鑫谋咎畛鋮^(qū)域的部分區(qū)域;
相應(yīng)的,所述像素?cái)?shù)據(jù)獲取單元具體用于,采集所述文本填充區(qū)域中的部分區(qū)域,所述部分區(qū)域?yàn)樗鑫谋咎畛鋮^(qū)域中預(yù)先設(shè)定的用于表征文本特征的部分。
23.根據(jù)權(quán)利要求16所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述像素?cái)?shù)據(jù)獲取單元包括:
區(qū)域范圍確定子單元,用于確定所述重疊區(qū)域的區(qū)域范圍;
掃描子單元,用于對(duì)所述區(qū)域范圍內(nèi)每個(gè)像素點(diǎn)進(jìn)行逐個(gè)掃描;
數(shù)據(jù)獲取子單元,用于獲取每個(gè)像素點(diǎn)的像素?cái)?shù)據(jù)。
24.根據(jù)權(quán)利要求23所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述數(shù)據(jù)獲取子單元中具體是通過(guò)應(yīng)用程序編程接口中的數(shù)據(jù)調(diào)用函數(shù)來(lái)獲取重疊區(qū)域內(nèi)每個(gè)像素點(diǎn)的像素?cái)?shù)據(jù)。
25.根據(jù)權(quán)利要求23所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述像素?cái)?shù)據(jù)是所述預(yù)設(shè)區(qū)域內(nèi)每個(gè)像素點(diǎn)的RGBA值,其中R為紅色通道參數(shù)值,G為綠色通道參數(shù)值,B為藍(lán)色通道參數(shù)值,A為色彩的不透明度參數(shù)值。
26.根據(jù)權(quán)利要求16所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述預(yù)設(shè)圖形繪制單元中繪制的預(yù)設(shè)圖形是,在所述畫(huà)布上繪制兩個(gè)預(yù)設(shè)圖形,形成兩個(gè)預(yù)設(shè)區(qū)域;
相應(yīng)的,所述文本填充單元具體用于在所述畫(huà)布的兩個(gè)文本填充區(qū)域分別采用默認(rèn)字體和指定字體填充文本;
兩個(gè)預(yù)設(shè)區(qū)域與兩個(gè)文本填充區(qū)域分別形成兩個(gè)重疊區(qū)域,所述像素?cái)?shù)據(jù)獲取單元具體用于同時(shí)獲取兩個(gè)重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù)。
27.根據(jù)權(quán)利要求16所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述預(yù)設(shè)圖形繪制單元中繪制的預(yù)設(shè)圖形是,在所述畫(huà)布上繪制一個(gè)預(yù)設(shè)圖形,形成一個(gè)預(yù)設(shè)區(qū)域;
文本填充單元包括默認(rèn)字體填充子單元和指定字體填充子單元,所述像素?cái)?shù)據(jù)獲取單元包括分別對(duì)應(yīng)默認(rèn)字體填充子單元和指定字體填充子單元的默認(rèn)字體像素獲取單元和指定字體像素獲取單元;
所述默認(rèn)字體填充子單元用于在所述畫(huà)布上采用默認(rèn)字體填充文本;
所述默認(rèn)字體像素獲取單元用于獲取采用默認(rèn)字體填充文本的所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù);
所述指定字體填充子單元用于在所述畫(huà)布上采用指定字體填充文本;
所述指定字體像素獲取單元用于獲取采用指定字體填充文本的所述重疊區(qū)域內(nèi)的像素?cái)?shù)據(jù)。
28.根據(jù)權(quán)利要求16所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置,其特征在于,所述文本填充單元具體是采用文本填充方法以默認(rèn)字體和指定字體在畫(huà)布上填充文本。
29.根據(jù)權(quán)利要求16所述的用于支持canvas的瀏覽器的檢測(cè)字體的裝置, 其特征在于,所述畫(huà)布創(chuàng)建單元具體是采用canvas圖形容器和腳本命令生成畫(huà)布。