|
根据论坛帖子和ERIC的教程,采用FontCvt.exe取模工具生成中文字,但是一直无法正常显示。不知道原因再哪?
下面代码是从ERIC的教程抠出来的,放到我程序,按钮和TEXT都无法显示中文字,求救~~~跑的是裸机,是不是还有其他地方要设置的?
GUI_CONST_STORAGE unsigned char acGUI_FontSongFont16_5B50[ 32] = { /* code 5B50 */
________,________,
__XXXXXX,XXXX____,
________,__X_____,
________,_X______,
________,X_______,
_______X,________,
_______X,________,
_______X,_____X__,
XXXXXXXX,XXXXXXX_,
_______X,________,
_______X,________,
_______X,________,
_______X,________,
_______X,________,
_____X_X,________,
______X_,________};
GUI_CONST_STORAGE unsigned char acGUI_FontSongFont16_5B89[ 32] = { /* code 5B89 */
______X_,________,
_______X,________,
__XXXXXX,XXXXXXX_,
__X_____,_____X__,
_X___X__,____X___,
_____XX_,________,
_____X__,________,
XXXXXXXX,XXXXXXX_,
____X___,__X_____,
____X___,__X_____,
____X___,_X______,
_____XX_,X_______,
_______X,________,
_____XX_,XX______,
___XX___,__XXX___,
XXX_____,___X____};
GUI_CONST_STORAGE unsigned char acGUI_FontSongFont16_7535[ 32] = { /* code 7535 */
_______X,________,
_______X,________,
_______X,________,
__XXXXXX,XXXXX___,
__X____X,____X___,
__X____X,____X___,
__XXXXXX,XXXXX___,
__X____X,____X___,
__X____X,____X___,
__X____X,____X___,
__XXXXXX,XXXXX___,
__X____X,____X___,
_______X,______X_,
_______X,______X_,
________,XXXXXXX_,
________,________};
GUI_CONST_STORAGE unsigned char acGUI_FontSongFont16_798F[ 32] = { /* code 798F */
__X_____,________,
___X__XX,XXXXXXX_,
___X____,________,
XXXXXX_X,XXXXXX__,
_____X_X,_____X__,
____X__X,_____X__,
___X___X,XXXXXX__,
__XX____,________,
_X_XX_XX,XXXXXXX_,
X__X_XX_,__X___X_,
___X__X_,__X___X_,
___X__XX,XXXXXXX_,
___X__X_,__X___X_,
___X__X_,__X___X_,
___X__XX,XXXXXXX_,
___X__X_,______X_};
GUI_CONST_STORAGE unsigned char acGUI_FontSongFont16_83B1[ 32] = { /* code 83B1 */
_____X__,__X_____,
_____X__,__X_____,
_XXXXXXX,XXXXXXX_,
_____X__,__X_____,
_____X_X,__X_____,
__XXXXXX,XXXXXX__,
___X___X,___X____,
____X__X,___X____,
____X__X,__X_____,
XXXXXXXX,XXXXXXX_,
_____X_X,_X______,
____X__X,__X_____,
___X___X,___XX___,
__X____X,____XXX_,
_X_____X,_____X__,
_______X,________};
GUI_CONST_STORAGE GUI_CHARINFO GUI_FontSongFont16_CharInfo[5] = {
{ 16, 16, 2, acGUI_FontSongFont16_5B50 } /* code 5B50 */
,{ 16, 16, 2, acGUI_FontSongFont16_5B89 } /* code 5B89 */
,{ 16, 16, 2, acGUI_FontSongFont16_7535 } /* code 7535 */
,{ 16, 16, 2, acGUI_FontSongFont16_798F } /* code 798F */
,{ 16, 16, 2, acGUI_FontSongFont16_83B1 } /* code 83B1 */
};
GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontSongFont16_Prop5 = {
0x83B1 /* first character */
,0x83B1 /* last character */
,&GUI_FontSongFont16_CharInfo[ 4] /* address of first character */
,(GUI_CONST_STORAGE GUI_FONT_PROP *)0 /* pointer to next GUI_FONT_PROP */
};
GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontSongFont16_Prop4 = {
0x798F /* first character */
,0x798F /* last character */
,&GUI_FontSongFont16_CharInfo[ 3] /* address of first character */
,&GUI_FontSongFont16_Prop5 /* pointer to next GUI_FONT_PROP */
};
GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontSongFont16_Prop3 = {
0x7535 /* first character */
,0x7535 /* last character */
,&GUI_FontSongFont16_CharInfo[ 2] /* address of first character */
,&GUI_FontSongFont16_Prop4 /* pointer to next GUI_FONT_PROP */
};
GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontSongFont16_Prop2 = {
0x5B89 /* first character */
,0x5B89 /* last character */
,&GUI_FontSongFont16_CharInfo[ 1] /* address of first character */
,&GUI_FontSongFont16_Prop3 /* pointer to next GUI_FONT_PROP */
};
GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontSongFont16_Prop1 = {
0x5B50 /* first character */
,0x5B50 /* last character */
,&GUI_FontSongFont16_CharInfo[ 0] /* address of first character */
,&GUI_FontSongFont16_Prop2 /* pointer to next GUI_FONT_PROP */
};
GUI_CONST_STORAGE GUI_FONT GUI_FontSongFont16 = {
GUI_FONTTYPE_PROP /* type of font */
,16 /* height of font */
,16 /* space of font y */
,1 /* magnification x */
,1 /* magnification y */
,{&GUI_FontSongFont16_Prop1}
,14 /* Baseline */
,7 /* Height of lowercase characters */
,11 /* Height of capital characters */
};
//*********************************************
//3õê¼»ˉoˉêy
//*********************************************
void InitDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
//
//GUI_ID_BUTTON0
//
GUI_UC_SetEncodeUTF8();
BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON0),&GUI_FontSongFont16);
//
//GUI_ID_TEXT0
//
TEXT_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_TEXT0), GUI_RED);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT0),&GUI_FontSongFont16);
// GUI_UC_SetEncodeNone();
}
void PaintDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
}
//*************************************************************
//»Øμ÷oˉêy
//*************************************************************
static void _cbCallback(WM_MESSAGE * pMsg)
{
int NCode, Id;
WM_HWIN hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_PAINT:
PaintDialog(pMsg);
break;
case WM_INIT_DIALOG:
InitDialog(pMsg);
break;
case WM_KEY:
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
{
case GUI_KEY_ESCAPE:
GUI_EndDialog(hWin, 1);
break;
case GUI_KEY_ENTER:
GUI_EndDialog(hWin, 0);
break;
}
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch (Id)
{
case GUI_ID_OK:
if(NCode==WM_NOTIFICATION_RELEASED)
GUI_EndDialog(hWin, 0);
break;
case GUI_ID_CANCEL:
if(NCode==WM_NOTIFICATION_RELEASED)
GUI_EndDialog(hWin, 0);
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
}
//*************************************************************
//Ö′DDoˉêy
//*************************************************************
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, "armfly", 0, 0, 100, 480,172,FRAMEWIN_CF_MOVEABLE,0},
{ BUTTON_CreateIndirect, "°2¸£à3μç×ó", GUI_ID_BUTTON0, 0,0,200,50,0,0},
{ TEXT_CreateIndirect, "°2", GUI_ID_TEXT0, 0, 0, 200, 33, 0,0},
};
void d_iconview_test(void)
{
//button = BUTTON_CreateEx(0, 100, 80, 90, WM_HBKWIN, WM_CF_SHOW, 0, 0x88);
//BUTTON_SetText(button, "à3");
//GUI_UC_SetEncodeUTF8();
//BUTTON_SetFont(button,&GUI_FontSongFont16);
GUI_Init();
WM_SetDesktopColor(GUI_WHITE); /* Automacally update desktop window */
WM_SetCreateFlags(WM_CF_MEMDEV); /* Use memory devices on all windows to avoid flicker */
PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);
PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);
//CHECKBOX_SetDefaultSkin(CHECKBOX_SKIN_FLEX);
DROPDOWN_SetDefaultSkin(DROPDOWN_SKIN_FLEX);
SCROLLBAR_SetDefaultSkin(SCROLLBAR_SKIN_FLEX);
SLIDER_SetDefaultSkin(SLIDER_SKIN_FLEX);
HEADER_SetDefaultSkin(HEADER_SKIN_FLEX);
//RADIO_SetDefaultSkin(RADIO_SKIN_FLEX);
GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbCallback, 0, 0, 0);
//ICONVIEW_SetFont(hWin, &GUI_FontSongFont16);
} |
|