emWin中⽂字库显⽰详细教程(简单直接)
emWin中⽂字库显⽰详细教程(简单直接)
unicode字符转中文准备⼯作:
1、运⾏平台:成功移植emWin的硬件设备或者emWin模拟器
2、软件⼩⼯具:、(下⾯是两个新旧版本V530和V548⾃带的⼯具列表,V548少了⼀些⼯具),两个版本的⼯具在本⽂最后有提供
准备⼯作做好后,下⾯开始⼀步步介绍中⽂字库的建⽴和汉字的显⽰
1、建⽴所需⽂字字体库
1.1、导⼊需要显⽰的⽂字
⾸先打开记事本并输⼊需要显⽰的⽂字,然后另存为,编码⽅式选择Unicode编码,如保存为。
1.2、然后打开字体库转换软件,设置好需要显⽰的字体,然后点击Edit>>Disable all characters屏蔽所有字符(默认是选择所有全字库,我们按需选择),接着点击Edit>>Read ,在对话框中选择我们上⼀步建⽴的⽂本,我们可以在程序界⾯看到我们之前⽂本中的输⼊的字符处于选中状态,下图中只显⽰了英⽂字符的⼀部分,如果需要查看中⽂字符是否被选中可以先将中⽂字符转换为unicode码,再在程序中到对应的位置即可,Unicode编码转换⽹址如:
1.3、成功导⼊⽂本后,在点击File>>Save as另存为c⽂件,这个C⽂件就是我们建⽴的⼩字体库
2、把⽣成的字体库Font.c加⼊⼯程中并在⼯程需要调⽤的⽂件中对字体进⾏声明,代码(eMwin模拟器
代码)⽰例如下:
#include "GUI.h"
//字体声明
extern GUI_CONST_STORAGE GUI_FONT GUI_FontFont;
static const char* _apText[] = {
"Op Fancy's Blog",
"\xe4\xb8\xad\xe5\x8d\x8e\xe5\xa5\xbd\xe5\xb0\x91\xe5\xb9\xb4"//中华好少年
};
void MainTask(void) {
unsigned i;
GUI_Init();
GUI_UC_SetEncodeUTF8();
GUI_SetFont(&GUI_FontFont);
GUI_DispStringAt(_apText[0], 70, 40);
GUI_DispStringAt(_apText[1], 70, 90);
while (1) {
GUI_Delay(150);
}
}
运⾏结果如下图,其中字体都存在边框的原因是emWin官⽅提供的库⽂件包中的⼯具是Demo版的,使⽤有些限制,如果需要⽆边框的当然要收费的,有需要的可以购买,另外emWin官⽅和ST合作开发的⼀个版本STemWin⾥⾯的⼩⼯具功能很齐全(如),⽣成的字体库没有边框,可以在ST官⽹下载,在本⽂最后都会提供下载链接。
注意:上例程中的“中华好少年”编码是通过⽂件编码转换得到的,转换过程如下图,⾸先新建⽂本⽂件输⼊字库对应的⽂本如“中华好少年”,选择UTF-8编码保存,再利⽤⼩程序进⾏转换就可以得到相应的C⽂件,⾥⾯有⽂本的编码字符串
----------------------------------⾄此整个中⽂显⽰教程结束,下⾯是相关⼯具或软件包的下载链接-------------------------------------
-
1、emWin官⽅下载链接:
2、STemWin官⽅下载链接(需登录):
3、emWin(V5.48、V5.30、STemWin1.2.0以及以上各个版本库单独的⼯具⼩程序):链接:提取码:be72
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论