MTK 點陣字型和適量字型的實現

2021-06-07 10:03:39 字數 1234 閱讀 6725

字型的查詢:

mmi_lm_arabic_draw_cluster()

-->mmi_fe_show_single_cluster()

-->mmi_fe_show_font_data()

-->mmi_fe_shaper()

-->mmi_fe_get_font_data()        //根據使用的是向量字型還是點陣字型,獲取相應的字型資料

mmi_fe_get_font_data_internal()  //點陣字型資訊

-->mmi_fe_show_thai_char_internal()           //查詢字型對應的點陣資料

-->getlangindex()     //查詢字型型別索引和字型在字型檔的rangeoffset值和rangedata對應的範圍min值

-->searchindexinlist()   //二分法在rangedata通過ch範圍查詢對應的索引下標,再跟據該標號找到rangeoffset 查詢偏移量

字型的顯示:

mmi_fe_show_font_data()      //根據使用的是向量字型還是點陣字型,採用對應的繪圖方法

--> gdi_show_char()    //點陣字型的顯示

---> g2d_draw_font()

1.verdor/font/inc 下面標頭檔案儲存字型相關資訊,字型檔資料

2.verdor/font/fontres.c 中定義系統使用字型檔相關資料資訊

const u16 mtk_gmaxdeployedlangs;

好多語言字型種類:類似下面的內容重複

scustfontdata pluto_ch;

scustfontdata pluto_ch_small;

scustfontdata pluto_ch_large;

sfontfamily pluto_ch_standardfamily = };

const slanguagedetails mtk_glanguagearray[max_languages];

3.. 資料結構fontres.h 語言列表資訊

typedef struct _languagedetails

slanguagedetails;

2.typedef struct _fontfamily

sfontfamily;

3.typedef struct _custfontdata

scustfontdata;

TTF字型 獲取TTF字型的點陣資訊

獲取ttf字型的點陣資訊還是使用getglyphoutline 看 cclientdc dc this hdc hdc dc.getsafehdc 建立字型 cfont font verify font.createfont 32,0,0,0,fw normal,false,false,0,ansi...

關於字型和字型微調(Hinting )的知識

點陣字型與向量字型點陣字型也叫點陣圖字型,其中每個字形都以一組二維畫素 資訊表示。由於點陣圖的原故,點陣字型很難進行縮放,特定的點陣字型只能清晰地顯示在相應的字型大小下。但對於 12 16px 這樣小的漢字,點陣字型常常比其它型別的字型在螢幕上更好的顯示效果。常見的點陣字型有 bdf,pcf,fnt...

關於字型和字型微調(Hinting )的知識

點陣字型與向量字型點陣字型也叫點陣圖字型,其中每個字形都以一組二維畫素 資訊表示。由於點陣圖的原故,點陣字型很難進行縮放,特定的點陣字型只能清晰地顯示在相應的字型大小下。但對於 12 16px 這樣小的漢字,點陣字型常常比其它型別的字型在螢幕上更好的顯示效果。常見的點陣字型有 bdf,pcf,fnt...