本發(fā)明涉及嵌入式設(shè)備的點(diǎn)陣字體顯示,尤其是指一種多層級點(diǎn)陣字庫生成及顯示方法。
背景技術(shù):
1、點(diǎn)陣字體是一種字體渲染技術(shù),也稱為像素字體或位圖字體。它使用像素矩陣(點(diǎn)陣)來表示每個(gè)字符的形狀,每個(gè)字符都被表示為一個(gè)二維的點(diǎn)陣圖像,其中每個(gè)像素表示一個(gè)點(diǎn)。這些點(diǎn)的組合形成了字符的輪廓和形狀。
2、點(diǎn)陣字體通常用于早期的計(jì)算機(jī)和顯示設(shè)備,特別是在像素圖形顯示器和打印機(jī)上。由于每個(gè)字符都以像素為單位定義,所以它們可以非常精確地呈現(xiàn)在屏幕或打印紙上,而不受分辨率的限制。然而,點(diǎn)陣字體的主要缺點(diǎn)是在不同分辨率下可能顯得模糊或鋸齒狀,因?yàn)樗鼈儫o法適應(yīng)不同分辨率的屏幕或打印設(shè)備。
3、隨著技術(shù)的進(jìn)步,矢量字體取代了點(diǎn)陣字體,矢量字體使用數(shù)學(xué)公式來描述字符的輪廓,因此在不同分辨率下能夠提供更好的呈現(xiàn)效果。不過,由于矢量字體需要占用更多的計(jì)算資源,點(diǎn)陣字體仍然在嵌入式領(lǐng)域有著廣泛的應(yīng)用。
4、需要說明的是,在上述背景技術(shù)部分公開的信息僅用于加強(qiáng)對本公開的背景的理解,因此可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實(shí)現(xiàn)思路
1、為此,本發(fā)明所要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)中點(diǎn)陣字體在不同分辨率下顯得模糊或呈鋸齒狀,因?yàn)樗鼈儫o法適應(yīng)不同分辨率的屏幕或打印設(shè)備。盡管矢量字體取代了點(diǎn)陣字體,但由于矢量字體需要占用更多的計(jì)算資源,點(diǎn)陣字體仍然在嵌入式領(lǐng)域有著廣泛的應(yīng)用。
2、為解決上述技術(shù)問題,本發(fā)明的第一方面提供了一種多層級點(diǎn)陣字庫生成方法,所述方法包括:
3、獲取存儲(chǔ)容量;
4、根據(jù)顯示字符確定最大字號(hào)和最小字號(hào);
5、根據(jù)所述最大字號(hào)、所述最小字號(hào)和所述存儲(chǔ)容量生成多個(gè)層級字號(hào);
6、根據(jù)所述層級字號(hào)生成點(diǎn)陣字體圖片;
7、將所述點(diǎn)陣字體圖片進(jìn)行整合生成多層級點(diǎn)陣字庫。
8、在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)所述最大字號(hào)、所述最小字號(hào)和所述存儲(chǔ)容量生成多個(gè)層級字號(hào)的步驟包括:
9、將所述最大字號(hào)縮小1/2,生成所述層級字號(hào),直至所述層級字號(hào)小于所述最小字號(hào)。
10、在本發(fā)明的一個(gè)實(shí)施例中,將所述點(diǎn)陣字體圖片進(jìn)行整合生成多層級點(diǎn)陣字庫的步驟包括:
11、將所述點(diǎn)陣字體圖片進(jìn)行整合,生成整合文件;
12、在所述整合文件的頭部加入層級總數(shù)、層級字號(hào)和層級點(diǎn)陣數(shù)據(jù)偏移,生成多層級點(diǎn)陣字庫。
13、本發(fā)明的第二方面提供了一種多層級點(diǎn)陣字庫顯示方法,所述方法包括:
14、獲取基于上述所述的多層級點(diǎn)陣字庫生成方法得到的多層級點(diǎn)陣字庫;
15、根據(jù)目標(biāo)字號(hào)在所述多層級點(diǎn)陣字庫中進(jìn)行查找,生成查找結(jié)果;
16、根據(jù)所述查找結(jié)果,生成點(diǎn)陣數(shù)據(jù);
17、根據(jù)所述點(diǎn)陣數(shù)據(jù)和字符編碼生成顯示數(shù)據(jù)。
18、在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)目標(biāo)字號(hào)在所述多層級點(diǎn)陣字庫中進(jìn)行查找,生成查找結(jié)果的步驟包括:
19、根據(jù)目標(biāo)字號(hào)在所述多層級點(diǎn)陣字庫的頭部進(jìn)行索引,查找所述目標(biāo)字號(hào)的對應(yīng)層級字號(hào)。
20、判斷所述目標(biāo)字號(hào)是否存在對應(yīng)層級字號(hào);
21、若所述目標(biāo)字號(hào)存在對應(yīng)層級字號(hào),則所述查找結(jié)果為查找成功;
22、若所述目標(biāo)字號(hào)不存在對應(yīng)層級字號(hào),則所述查找結(jié)果為查找失敗。
23、在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)所述查找結(jié)果,生成點(diǎn)陣數(shù)據(jù)的步驟包括:
24、若所述查找結(jié)果為查找成功,則根據(jù)對應(yīng)層級字號(hào)生成點(diǎn)陣數(shù)據(jù);
25、若所述查找結(jié)果為查找失敗,則獲取所述目標(biāo)字號(hào)相鄰的兩個(gè)層級字號(hào);
26、根據(jù)相鄰的兩個(gè)層級字號(hào)生成點(diǎn)陣數(shù)據(jù)。
27、在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)所述點(diǎn)陣數(shù)據(jù)和字符編碼生成顯示數(shù)據(jù)的步驟包括:
28、若所述查找結(jié)果為查找失敗;
29、根據(jù)所述字符編碼生成第一字符數(shù)據(jù)、第一字符字號(hào)、第二字符數(shù)據(jù)和第二字符字號(hào);
30、將所述第一字符數(shù)據(jù)按照所述第一字符字號(hào)比例縮放得到第一數(shù)據(jù);
31、將所述第二字符數(shù)據(jù)按照所述第二字符字號(hào)比例縮放得到第二數(shù)據(jù);
32、根據(jù)所述第一數(shù)據(jù)和所述第二數(shù)據(jù)生成目標(biāo)字號(hào)。
33、在本發(fā)明的一個(gè)實(shí)施例中,所述第一數(shù)據(jù)的計(jì)算公式如下:
34、ds1=st/s1*d1
35、其中,s1為第一字符字號(hào),d1為第一字符數(shù)據(jù)。
36、在本發(fā)明的一個(gè)實(shí)施例中,所述第二數(shù)據(jù)的計(jì)算公式如下:
37、ds2=st/s2*d2
38、其中,s2為第一字符字號(hào),d2為第一字符數(shù)據(jù)。
39、在本發(fā)明的一個(gè)實(shí)施例中,所述顯示數(shù)據(jù)的計(jì)算公式如下:
40、st=(st-s1)/(s2-s1)*ds1+(s2-st)/(s2-s1)*ds2
41、其中,s1為第一字符字號(hào),d1為第一字符數(shù)據(jù),s2為第一字符字號(hào),d2為第一字符數(shù)據(jù)。
42、本發(fā)明的上述技術(shù)方案相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):
43、本發(fā)明所述的一種多層級點(diǎn)陣字庫生成及顯示方法,通過顯示字符的最大字號(hào)和最小字號(hào)來得到層級字號(hào),進(jìn)而生成可以支持不同大小顯示尺寸的多層級點(diǎn)陣字庫,且在使用時(shí)減少了占用空間。通過目標(biāo)字號(hào)在多層級點(diǎn)陣字庫中進(jìn)行查找,根據(jù)查找結(jié)果計(jì)算顯示數(shù)據(jù),以使最終的顯示效果更好。
1.一種多層級點(diǎn)陣字庫生成方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的一種多層級點(diǎn)陣字庫生成方法,其特征在于,根據(jù)所述最大字號(hào)、所述最小字號(hào)和所述存儲(chǔ)容量生成多個(gè)層級字號(hào)的步驟包括:
3.根據(jù)權(quán)利要求2所述的一種多層級點(diǎn)陣字庫生成方法,其特征在于,將所述點(diǎn)陣字體圖片進(jìn)行整合生成多層級點(diǎn)陣字庫的步驟包括:
4.一種多層級點(diǎn)陣字庫顯示方法,其特征在于,包括:
5.根據(jù)權(quán)利要求4所述的一種多層級點(diǎn)陣字庫生成顯示方法,其特征在于,根據(jù)目標(biāo)字號(hào)在所述多層級點(diǎn)陣字庫中進(jìn)行查找,生成查找結(jié)果的步驟包括:
6.根據(jù)權(quán)利要求5所述的一種多層級點(diǎn)陣字庫生成顯示方法,其特征在于,根據(jù)所述查找結(jié)果,生成點(diǎn)陣數(shù)據(jù)的步驟包括:
7.根據(jù)權(quán)利要求6所述的一種多層級點(diǎn)陣字庫生成顯示方法,其特征在于,根據(jù)所述點(diǎn)陣數(shù)據(jù)和字符編碼生成顯示數(shù)據(jù)的步驟包括:
8.根據(jù)權(quán)利要求7所述的一種多層級點(diǎn)陣字庫生成顯示方法,其特征在于,所述第一數(shù)據(jù)的計(jì)算公式如下:
9.根據(jù)權(quán)利要求7所述的一種多層級點(diǎn)陣字庫生成顯示方法,其特征在于,所述第二數(shù)據(jù)的計(jì)算公式如下:
10.根據(jù)權(quán)利要求7所述的一種多層級點(diǎn)陣字庫生成顯示方法,其特征在于,所述顯示數(shù)據(jù)的計(jì)算公式如下: