emWin中文字体显示教程

问题描述:

emWin 中文字体显示

概述:本文档主要介绍STemWin 显示中文汉字的步骤,分为以下部分:汉字C 文件字库的制作,显示文字UTF-8码的制作,程序实现。

一,汉字C 文件字库的制作

第一步:

安装字体函数生成软件:如下

安装完成后:

电脑桌面显示图标如下

第二步:

创建自己想要的字体库:

1、 开始创建一个TXT 格式的文本文件

2、 打开文本文件输入想要调试EMWIN 界面显示的所需中文文字

3、 文字输入完成后,另存TXT 文件为Unicode 格式文件

注意:另存文件名最好不要使用中文(建议取字体类型:如宋体:songFont ),保存编码选项一定要选Unicode ,最后保存在自己创建的文件夹中,文件夹最好不用中文(建议:保存字库的文件夹放在工程项目文件夹中)

4、 另存好文件后,打开第一步安装好的软件,初始界面如下

字体类型选择

以下教程只做国际标准字体显示,其他字体类型相信步骤一样,因此选择

Standard

点击OK ,进入字体选项界面

1、字体选择

2字形

3字体大小

5、 黄色圆框(字体显示方式:Pixels:像素点;Points:点),其中选中Points 才可

以选择字体大小,设置完成点击确定。出现界面

6、 接下来:禁止所有字符

然后读取(添加)前面所创建另存为Unicode 编码格式的文件

添加自己的文件后,另存文件

保存文件在第二步-3的文件夹中,也可以重新创建,但前提是不用使用中文文件夹名,保存的.c 文件也不用中文。保存后在文件夹中会生成一个c_file(.c 文件)

打开文件有很多XXX 构成的实际中文字, 如上图就是我们所要显示正确的数据。如果看不清是什么字,如下图

:

那么你用的转换软件是试用版本,那你就要找到一个正版,如果找不到可联系我zbxiong@139.com。上面是一个正式版和试用版分别转换的同一个”发”字了。 致此,汉字C 文件字库的制作完成。

二,显示文字UTF-8码的制作

Step1:创建一个TXT 格式的文本文件,把要显示的汉字写入其中。

Step2:文字输入完成后,另存TXT 文件为UTF-8格式的文件,文件名为数字或英文字母。

Step3:

打开软件:

界面如下:

点击A ,进入文件选择,要选择的文件是Step2:中保存的文件,然后点击B 进行转换,这时,在同一文件夹中会出现与Step2同名的c_file(即.c 文件),此文件就是接下来复制到模拟器工程中需要显示的中文汉字UTF-8码,(格式如:

注:此步骤的转化方法多样:还可以在线网页等。

到此,显示文字UTF-8码的制作完成。

三,程序实现

首先向VS2013打开EMWIN 模拟器工程中添加中文字体库函数的.c 文件(c_file)

1、在VS2013工作界面

工程项目下的应用文件夹中添加“汉字C 文件字库的制作”生成的c_file文件,添加方法像用Keil 添加.C 程序文件一样,为方便工程文件的管理,相信可以字体在工程中新建一个文件目录用于专门放置字体c_file文件,以上添加字体库函数c_file文件步骤参照Keil 的文件添加步骤即可实现。

到这一步向工程中添加文件完成了,接下来是最后的程序调用。

在引用字体文件里加一句: 全局变量申明:此句不用自己编写,在我们往模拟器调试工程中添加的字体库函数中有,只需要复制粘贴到需调用字体的文件下即可。

注意:在程序初始化后加一句GUI_UC_SetEncodeUTF8(); //使用UTF8编码,此函数为EMWIN 官方的函数库中提供。

例子:

初始化:

例子:在Button 按键中显示汉字

要操作的步骤:把要显示汉字的UTF-8码代替原来的文本、把原来的字体改为需要显示字体地址,如下面红色圈圈。

当然,我们也可以先定义一个char 型指针变量或数组用于存放要显示汉字的UTF-8码,然后再进行显示操作,例如:

char *apButton_Return = "\xe8\xbf\x94\xe5\x9b\x9e";

BUTTON_SetText(hItem, apButton_Return);

BUTTON_SetFont(hItem, &GUI_FontsongFont_12);

至此,emWin 汉字显示介绍完毕, 是不是很简单了。

说明:上面是别人所写,

我只是完善了一下,谁写的我也不清楚, 在此表示感谢。

1个回答 分类:综合 2018-01-23

问题解答:

我来补答
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识