硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4648|回复: 2
收起左侧

[emWin] 模拟器上成功使用汉字的简单方法

[复制链接]

3

主题

1

回帖

10

积分

新手上路

积分
10
发表于 2021-7-25 18:05:43 | 显示全部楼层 |阅读模式
参考《第70章      附件E--emWin模拟器显示汉字方法》
模拟器上面显示汉字,一种是使用emWin5.32模拟器提供的,路径如下
file:///C:/Users/pengy/AppData/Local/Temp/enhtmlclip/Image.png

file:///C:/Users/pengy/AppData/Local/Temp/enhtmlclip/Image(1).png

解析这个函数
我来自中国。
"\n\n\xe6\x88\x91\xe6\x9d\xa5\xe8\x87\xaa\xe4\xb8\xad\xe5\x9b\xbd\xe3\x80\x82",

http://tool.chinaz.com/tools/urlencode.aspx
file:///C:/Users/pengy/AppData/Local/Temp/enhtmlclip/Image(2).png
file:///C:/Users/pengy/AppData/Local/Temp/enhtmlclip/Image(3).png
%E6%88%91%E6%9D%A5%E8%87%AA%E4%B8%AD%E5%9B%BD%E3%80%82

file:///C:/Users/pengy/AppData/Local/Temp/enhtmlclip/Image(4).png

file:///C:/Users/pengy/AppData/Local/Temp/enhtmlclip/Image(5).png

\xE6\x88\x91\xE6\x9D\xA5\xE8\x87\xAA\xE4\xB8\xAD\xE5\x9B\xBD\xE3\x80\x82
即 “我来自中国。” 的UrlEncode 编码

下面来找“我来自中国” 的 Unicode编码
\u6211\u6765\u81ea\u4e2d\u56fd
file:///C:/Users/pengy/AppData/Local/Temp/enhtmlclip/Image(6).png


了解了这些之后,我们开始做字库
参考 《第22章 C 文件格式的汉字生成和实现(Unicode编码)》

1、 win10 TXT 没有保存为unicode选项:
      win7旧版的“Unicode”相当于win10新版的“UTF-16 LE”(这是找不到“Unicode”选项的原因);
file:///C:/Users/pengy/AppData/Local/Temp/enhtmlclip/Image(7).png

2、 使用最新版FontCvt软件   “模拟器GUI_V618\Tool\FontCvtDemo.exe”;

3、 生成字库文件 方法 参考:《22.2使用 FontCvt 生成 C 文件格式小字库的方法》;

4、 生成之后.c 文件之后,在后面加上MainTask函数即可;
/********************************************************************
*
*       MainTask
*/
static char * _apText[] = {
       "\n\n\xE6\x88\x91\xE6\x9D\xA5\xE8\x87\xAA\xE5\xBE\xB7\xE5\x9B\xBD\xe3\x80\x82", //我来自德国
       "\n\n\xe6\x88\x91\xe6\x9d\xa5\xe8\x87\xaa\xe4\xb8\xad\xe5\x9b\xbd\xe3\x80\x82", //我来自中国
};
void MainTask(void) {
  GUI_Init();
  GUI_UC_SetEncodeUTF8();         // Enable UTF8 decoding
  GUI_SetFont(&GUI_Font24_ASCII);
  GUI_DispStringHCenterAt("Chinese language sample", 160, 5);
  GUI_SetFont(&GUI_Font48);     // Set Chinese font
  while (1)
  {
         unsigned i;
         GUI_SetColor(GUI_RED);
         GUI_SetColor(GUI_WHITE);
         for (i = 0; i < 2; i++)
         {
               GUI_DispStringHCenterAt(_apText, 160, 5);
               GUI_Delay(1000);
         }
  }
}
/*************************** End of file ****************************/

file:///C:/Users/pengy/AppData/Local/Temp/enhtmlclip/Image(8).png

附上源码,就一个文件,直接移到模拟器上就能显示


FONT_Chinese.zip

2.73 KB, 下载次数: 9

模拟器汉字显示

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115812
QQ
发表于 2021-7-26 12:18:52 | 显示全部楼层
谢谢楼主发分享。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115812
QQ
发表于 2021-7-26 12:19:48 | 显示全部楼层
使用这个帖子的方法也很方便。

emWin使用VS2019显示中文的简单方法
http://www.armbbs.cn/forum.php?m ... 6603&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-21 00:43 , Processed in 0.383943 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表