一種基于亞像素技術(shù)的字體描繪方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于字體描繪技術(shù)領(lǐng)域,涉及基于亞像素技術(shù)的字體描繪方法。
【背景技術(shù)】
[0002]在顯示屏的分辨率不高的情況下,(例如車載娛樂(lè)系統(tǒng)的液晶顯示屏,其分辨率與手機(jī)等消費(fèi)類電子產(chǎn)品相比相對(duì)較低),如果采用一般的字體描繪技術(shù),顯示的字體會(huì)出現(xiàn)邊緣鋸齒狀、文字?jǐn)嗔?、筆劃重疊、滾動(dòng)不平滑等現(xiàn)象,字體容易走樣失真,嚴(yán)重影響用戶的使用和感觀。
[0003]為防止字體走樣,現(xiàn)有技術(shù)中存在一些常用的字體反走樣技術(shù),以Hint(校準(zhǔn))為代表的反走樣技術(shù)雖然能夠一定程度減輕字體的走樣程度,但是在分辨率低于800X480以及字號(hào)小于40Pt的情況下,仍然會(huì)出現(xiàn)失真。
[0004]以TrueType字體(也稱為“全真字體”)庫(kù)為例,其中記錄了文字的輪廓(Outline)信息和校準(zhǔn)(Hint)信息。其中校準(zhǔn)(Hint)信息可以使文字顯示更為逼真,其原理是對(duì)輪廓的關(guān)鍵點(diǎn)進(jìn)行強(qiáng)調(diào)。但是,當(dāng)文字較小時(shí),反而會(huì)出現(xiàn)比較明顯的走樣。圖1所示為分別表示文字的輪廓信息、Hint信息、以及文字走樣顯示的示意圖。如圖1所示,Hint信息(圖1中間的文字Z)強(qiáng)調(diào)了文字“Z”的左下角和右上角的折角;當(dāng)文字較小時(shí),由于強(qiáng)調(diào)折角,反而會(huì)導(dǎo)致Z文字看起來(lái)出現(xiàn)斷裂(如圖1右邊的顯示的文字Z)。
[0005]液晶顯示屏的每個(gè)像素點(diǎn)是由三個(gè)顏色分量構(gòu)成的:R (紅,Red)、G (綠,Green)、B (藍(lán),Blue),這三個(gè)顏色分量是像素的最小單元,并且在水平方向上可以單獨(dú)操縱的三個(gè)單元。每個(gè)可單獨(dú)操縱的單元被稱為亞像素。圖2所示為一個(gè)像素點(diǎn)的三個(gè)RGB亞像素。三個(gè)分量的值通過(guò)混合疊加而得到像素點(diǎn)的最終顏色,并顯示在液晶顯示屏上。亞像素技術(shù)使得對(duì)文字的定位突破了整數(shù)像素點(diǎn),可以精確到1/3個(gè)像素位置。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于,提高字體在較低分辨率且文字較小的顯示場(chǎng)合的顯示效果。
[0007]為實(shí)現(xiàn)以上目的或者其他目的,本發(fā)明提供一種基于亞像素技術(shù)的字體描繪方法,包括以下步驟:
從字體庫(kù)中提取需要描繪文字的輪廓信息;
根據(jù)輪廓信息將所述文字的輪廓轉(zhuǎn)換為顯示屏上的像素信息;
對(duì)與文字邊緣部分對(duì)應(yīng)的所有像素,計(jì)算每個(gè)像素中每個(gè)亞像素與文字有重疊的區(qū)域的面積(Sn);
對(duì)于每個(gè)像素,基于該重疊的區(qū)域的面積(Sn)在每個(gè)亞像素中的占比(sn/s),確定每個(gè)亞像素的亮度值;以及
對(duì)所有亞像素分別進(jìn)行描繪以繪制出文字邊緣部分。
[0008]按照本發(fā)明一實(shí)施例的字體描繪方法,其中,所述字體庫(kù)為全真字體庫(kù)。
[0009]在一實(shí)例中,在提取輪廓信息時(shí),從全真字體庫(kù)中提取需要描繪文字的信息,同時(shí)舍棄校準(zhǔn)信息以至少保留該信息中的輪廓信息。
[0010]具體地,每個(gè)像素由R、G、B三個(gè)亞像素組成。
[0011 ] 按照本發(fā)明又一實(shí)施例的字體描繪方法,其中,在轉(zhuǎn)換為屏幕上的像素信息時(shí),根據(jù)所述文字的前一個(gè)文字的位置信息和字體間隔信息,計(jì)算所述文字的開(kāi)始位置,并結(jié)合所述文字的輪廓信息,確定與所述文字的輪廓相交的像素。
[0012]可選地,所述顯示屏可以為分辨率小于或等于800X480的顯示屏。
[0013]具體地,所述顯示屏為車載液晶顯示屏。
[0014]可選地,從整數(shù)像素位置或非整數(shù)像素位置開(kāi)始描繪所述文字。
[0015]可選地,被描繪的相鄰文字之間的間隔可以小于I個(gè)像素。
[0016]可選地,被描繪的文字進(jìn)行文字滾動(dòng)時(shí),可以以非整數(shù)個(gè)像素為單位進(jìn)行滾動(dòng)。
[0017]本發(fā)明的技術(shù)效果是,通過(guò)在亞像素級(jí)別對(duì)灰度進(jìn)行調(diào)整來(lái)描繪字體,使得對(duì)文字的定位可以突破整數(shù)像素點(diǎn),這樣,可以在低分辨率的顯示屏上可以相對(duì)清晰描繪文字,并且文字的邊緣更加平滑,文字不易走樣,方便實(shí)現(xiàn)文字的自由縮放和平滑滾動(dòng)。該字體描繪方法尤其適合于在分辨率較低且文字較小的場(chǎng)合(例如,車載液晶顯示屏)顯示文字。
【附圖說(shuō)明】
[0018]從結(jié)合附圖的以下詳細(xì)說(shuō)明中,將會(huì)使本發(fā)明的上述和其他目的及優(yōu)點(diǎn)更加完整清楚,其中,相同或相似的要素采用相同的標(biāo)號(hào)表示。
[0019]圖1是分別表示文字的輪廓信息、Hint信息、以及文字走樣顯示的示意圖。
[0020]圖2是一個(gè)像素點(diǎn)的三個(gè)RGB亞像素。
[0021]圖3是按照本發(fā)明一實(shí)施例的字體描繪方法的流程示意圖。
[0022]圖4是圖3所示字體描繪方法的相應(yīng)圖形說(shuō)明,其中圖4 Ca)為提取的輪廓信息示意圖,圖4 (b)為顯示屏上的文字的像素信息,圖4 (c)為某一像素中每個(gè)亞像素與文字有重置的區(qū)域的面積不意圖。
[0023]圖5是經(jīng)過(guò)本發(fā)明實(shí)施例描繪方法處理后顯示的文字。
[0024]圖6是采用校準(zhǔn)信息和采用本申請(qǐng)的基于亞像素的字體描繪技術(shù)的文字顯示效果比對(duì)圖,其中圖6 (a)為采用校準(zhǔn)信息反走樣技術(shù)的文字顯示效果圖,圖6 (b)為基于亞像素的字體描繪技術(shù)的文字顯示效果圖。
【具體實(shí)施方式】
[0025]下面介紹的是本發(fā)明的多個(gè)可能實(shí)施例中的一些,旨在提供對(duì)本發(fā)明的基本了解,并不旨在確認(rèn)本發(fā)明的關(guān)鍵或決定性的要素或限定所要保護(hù)的范圍。容易理解,根據(jù)本發(fā)明的技術(shù)方案,在不變更本發(fā)明的實(shí)質(zhì)精神下,本領(lǐng)域的一般技術(shù)人員可以提出可相互替換的其他實(shí)現(xiàn)方式。因此,以下【具體實(shí)施方式】以及附圖僅是對(duì)本發(fā)明的技術(shù)方案的示例性說(shuō)明,而不應(yīng)當(dāng)視為本發(fā)明的全部或者視為對(duì)本發(fā)明技術(shù)方案的限定或限制。
[0026]圖3所示為按照本發(fā)明一實(shí)施例的字體描繪方法的流程示意圖;圖4所示為圖3所示字體描繪方法的相應(yīng)圖形說(shuō)明,其中圖4 (a)為提取的輪廓信息示意圖,圖4 (b)為顯示屏上的文字的像素信息,圖4 (c)為某一像素中每個(gè)亞像素與文字有重疊的區(qū)域的面積示意圖。該實(shí)施例中,以TrueType字體庫(kù)為示例進(jìn)行說(shuō)明,但是,需要理解的是,本領(lǐng)域技術(shù)人員根據(jù)該實(shí)施例的字體描繪方法的揭示,可以將該實(shí)施例的字體描述方法類推地應(yīng)用至其他任意字體庫(kù)。
[0027]如圖3和圖4所示,以需要描繪的文字為“A”進(jìn)行示例說(shuō)明。首先地,步驟S310,從TrueType字體庫(kù)中提取所述文字的輪廓信息,如圖4 Ca)所示,文字“A”的輪廓信息被提取出來(lái)。在該實(shí)施例中,從TrueType字體庫(kù)中提取需要描繪文字的信息,同時(shí)舍棄校準(zhǔn)(Hint)信息以至少保留該信息中的輪廓信息。
[0028]進(jìn)一步,步驟S320,如圖根據(jù)輪廓信息,對(duì)所述文字進(jìn)行光柵化,光柵化也即將文字的輪廓轉(zhuǎn)換為顯示屏上的像素信息。具體地,在轉(zhuǎn)換為屏幕上的像素信息時(shí),根據(jù)文字(A)的前一個(gè)文字的位置信息和字體間隔(Kerning)信息,計(jì)算文字(