ucgui漢字底部顯示不全解決辦法

在ucgui中移植漢字庫,我使用的是網上下載的字體轉換工具:UCGUIFontTool工具

他能夠將pc的字庫轉換成ucgui使用的字庫,假如使用的字體是「迷你彩雲」。字體

以一個漢字舉例:你ui

轉換後的編碼是:編碼

  
1 GUI_FLASH const unsigned char acFontHZMiniCaiYun_64_c4e3[ 632 ] = { /* 你 0xc4e3 */ 2 ________,________,________,________,________,________,________,________, 3 ________,________,________,________,________,________,________,________, 4 ________,________,________,________,________,________,________,________, 5 ________,________,________,________,________,________,________,________, 6 ________,________,________,________,________,________,________,________, 7 ________,________,________,________,________,________,________,________, 8 ________,________,________,________,________,________,________,________, 9 ________,________,________,________,________,________,________,________, 10 ________,________,________,________,________,________,________,________, 11 ________,________,________,________,________,________,________,________, 12 ________,________,________,________,________,________,________,________, 13 ________,________,___XXXXX,________,XXXXX___,________,________,________, 14 ________,________,_XXXXXXX,XXX___XX,XXXXXXXX,________,________,________, 15 ________,________,XXXXXXXX,XXXXXXXX,XXXXXXXX,X_______,________,________, 16 ________,_______X,XXX_____,__XXXXX_,______XX,XX______,________,________, 17 ________,______XX,XX______,___XXX__,________,XXX_____,________,________, 18 ________,______XX,X_______,___XXX__,________,XXXX____,________,________, 19 ________,_____XXX,________,__XXX___,________,_XXX____,________,________, 20 ________,_____XXX,________,__XXX___,________,_XXX____,________,________, 21 ________,_____XXX,________,__XXX___,________,_XXXXXXX,XXXXXXXX,XXXXX___, 22 ________,____XXX_,________,_XXX____,________,XXXXXXXX,XXXXXXXX,XXXXXXX_, 23 ________,____XXX_,________,_XXX____,________,________,________,____XXXX, 24 ________,___XXX__,________,XXX_____,________,________,________,_____XXX, 25 ________,___XXX__,________,XXX_____,________,________,________,______XX, 26 ________,___XXX__,_______X,XX______,________,________,________,______XX, 27 ________,__XXX___,_______X,XX______,________,________,________,_______X, 28 ________,__XXX___,______XX,X_______,________,________,________,_______X, 29 ________,_XXX____,______XX,X_______,________,________,________,_______X, 30 ________,_XXX____,_____XXX,________,________,________,________,______XX, 31 ________,XXX_____,_____XXX,________,________,________,________,______XX, 32 ________,XXX_____,_____XXX,________,________,________,________,______XX, 33 _______X,XX______,____XXX_,________,________,________,XX______,_____XXX, 34 _______X,XX______,____XXX_,________,___XXXX_,_______X,XX______,_____XXX, 35 ______XX,X_______,____XXXX,________,___XXXX_,_______X,XX______,____XXX_, 36 ______XX,X_______,_____XXX,________,__XXXXX_,_______X,XX______,____XXX_, 37 _____XXX,________,______XX,X_______,_XXXXXX_,_______X,XX______,___XXX__, 38 _____XXX,________,_______X,XXXX____,XXX_XXXX,______XX,XXXX____,__XXXX__, 39 ____XXX_,________,________,XXXXXXXX,XXX__XXX,X_____XX,XXXXXXXX,XXXXX___, 40 ____XXX_,________,________,_XXXXXXX,X_____XX,XX___XXX,___XXXXX,XXXXX___, 41 ____XXX_,________,________,_XXX____,_______X,XX___XXX,______XX,X_XXX___, 42 ____XXX_,________,________,XXXX____,_______X,XX___XXX,________,___XX___, 43 ____XXX_,________,________,XXX_____,_______X,XX___XXX,________,___XXX__, 44 ____XXX_,________,________,XXX_____,_______X,XX___XXX,________,___XXX__, 45 ____XXX_,________,_______X,XX______,_______X,X____XXX,________,___XXX__, 46 _____XXX,________,_______X,XX______,______XX,X_____XX,________,____XXX_, 47 _____XXX,X_______,_______X,XX______,______XX,X_____XX,X_______,____XXX_, 48 ______XX,XXX_____,______XX,X_______,______XX,X_____XX,X_______,____XXX_, 49 _______X,XXXXX___,______XX,X_______,_____XXX,______XX,X_______,_____XXX, 50 ________,_XXXX___,_____XXX,________,_____XXX,_______X,X_______,_____XXX, 51 ________,__XXX___,_____XXX,________,____XXX_,_______X,XX______,______XX, 52 ________,__XXX___,_____XXX,________,____XXX_,_______X,XX______,______XX, 53 ________,__XXX___,____XXX_,________,____XXX_,________,XX______,______XX, 54 ________,__XXX___,____XXX_,________,___XXXX_,________,XXX_____,_______X, 55 ________,__XXX___,____XXX_,________,___XXXX_,________,XXX_____,_______X, 56 ________,__XXX___,____XXX_,________,__XXXXX_,________,_XXX____,_______X, 57 ________,__XXX___,_____XXX,________,__XXXXX_,________,_XXX____,_______X, 58 ________,__XXX___,_____XXX,X_______,_XXXXXX_,________,_XXX____,______XX, 59 ________,__XXX___,______XX,XX______,XXXXXX__,________,__XXX___,_____XXX, 60 ________,__XXX___,_______X,XXXXXXXX,XX______,________,__XXXX__,___XXXXX, 61 ________,__XXX___,________,_XXXXXXX,X_______,________,__XXXXXX,XXXXXXX_, 62 ________,__XXX___,________,_XX__XXX,________,________,__XXXXXX,XXXXX___, 63 ________,__XXX___,________,_XX__XXX,________,________,__XXX___,________, 64 ________,__XXX___,________,_XX__XXX,________,________,__XXX___,________, 65 ________,__XXX___,________,_XX__XXX,________,________,__XXX___,________, 66 ________,__XXX___,________,_XX__XXX,________,________,__XXX___,________, 67 ________,__XXX___,________,_XX__XXX,________,________,__XXX___,________, 68 ________,___XX___,________,_XX___XX,________,________,_XXX____,________, 69 ________,___XXX__,________,XXX___XX,X_______,________,XXXX____,________, 70 ________,___XXXX_,______XX,XX_____X,XXX_____,_____XXX,XXX_____,________, 71 ________,____XXXX,XXXXXXXX,X_______,XXXXXXXX,XXXXXXXX,XX______,________, 72 ________,______XX,XXXXXXXX,________,__XXXXXX,XXXXXXX_,________,________, 73 ________,________,________,________,________,________,________,________, 74 ________,________,________,________,________,________,________,________, 75 ________,________,________,________,________,________,________,________, 76 ________,________,________,________,________,________,________,________, 77 ________,________,________,________,________,________,________,________, 78 ________,________,________,________,________,________,________,________, 79 ________,________,________,________,________,________,________,________, 80 ________,________,________,________,________,________,________,________, 81 };

從上面的代碼中就能夠看出來:spa

一行是8byte*8 = 64.net

一共是79行3d

下面的結構體是轉換後的字體c文件中描述字體信息的結構:code

默認的描述是字體高爲64orm

  
1 GUI_FLASH const GUI_FONT GUI_FontHZ_MiniCaiYun_64 = { 2 GUI_FONTTYPE_PROP_SJIS, /* type of font */ 3 64 , /* height of font */ 4 64 , /* space of font y */ 5 1 , /* magnification x */ 6 1 , /* magnification y */ 7 ( void GUI_FLASH * ) & GUI_FontHZMiniCaiYun_64_Prop0020 8 }; 9

顯示的效果以下:ip

image

漢字的底部被截去了一段。

這樣的狀況得修改上面的結構體中描述字體的高度那個參數:

從「你」字的編碼中能夠看到,這個漢字的高度是79,而不是上面結構體中所說的64,

因此咱們得修正一下,將默認的那個64,修改爲79,修改結果以下所示:

  
1 GUI_FLASH const GUI_FONT GUI_FontHZ_MiniCaiYun_64 = { 2 GUI_FONTTYPE_PROP_SJIS, /* type of font */ 3 79 , /* height of font */ 4 79 , /* space of font y */ 5 1 , /* magnification x */ 6 1 , /* magnification y */ 7 ( void GUI_FLASH * ) & GUI_FontHZMiniCaiYun_64_Prop0020 8 }; 9

再運行顯示效果:

image

相關文章
相關標籤/搜索