Keil,emWin控件显示汉字,Win10环境,使用FontCvt

Win10

新建记事本文件,输入汉字“主菜单”,然后另存为,编码选择UTF-16 LE,如下图:

用STemWin提供的 STemWin_Library_V1.2.0\Libraries\STemWinLibrary532\Software\FontCvtST.exe

默认如红框,OK,

字体、字形、大小根据自己需要选择,unit size选Pixels,

确定后,进入如下界面,依次 Edit - Disabled all......

再依次点 Edit - Read pattern......

选择刚才保存的text文件,

再依次点击 File - Save As....

然后,更改一下文件名Song14.c,保存。然后复制到keil工程目录,

打开keil工程,把song14.c加到项目中,OK,

再 Edit - Configuration...,Encoding选择如图:

比如,dispaly.c用于GUI,某个窗口创建了以标题为“主菜单”的FrameWin,代码如下,

    extern GUI_CONST_STORAGE GUI_FONT GUI_Fontsong14;    //1、引用song14.c字体
 

    /**************************************
    .其他无关代码
    ***************************************/

      GUI_Init();
      GUI_UC_SetEncodeUTF8();    //2、加上此句

    /**************************************
    .其他无关代码
    ***************************************/

      hFramewin = FRAMEWIN_CreateEx(0,0,128,64,hWin,WM_CF_SHOW,0,GUI_ID_FRAMEWIN_01,"MAIN",NULL); //MAIN:not care
      FRAMEWIN_SetTextColor(hFramewin, GUI_BLACK);
      FRAMEWIN_SetText(hFramewin,"主菜单");  //3、先设置标题
      FRAMEWIN_SetFont(hFramewin, &GUI_Fontsong14); //再设置字体,另外注意是FRAMEWIN_SetFont,不是GUI_SetFont

注意:

1、源代码开始时 用extern引用song14.c中的字体 GUI_Fontsong14;

2、GUI_UC_SetEncodeUTF8(); 加到 GUI_init(); 后面;

3、设置FRAMEWIN的标题,设置FRAMEWIN的字体,另外设置字体用对应控件的API;

4、把这个带中文字符的c文件用记事本打开,另存为,编码选择“带有 BOM 的 UTF-8”。

编译,运行,只要代码逻辑正确即可显示:

 

另外,每次修改编译这个带中文的c代码后,需要重新用记事本另存为“带有 BOM 的 UTF-8”,否则编译报错,

结束。

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值