这里以加入中文字体为例,说明如何建立字库,调用,并显示字体
1. 字体库的建立
打开macs文件中的emwinSoftware文件夹,打开FontCvtNXP.exe文件
选择Standard 点击OK
这里以微软雅黑为例,字号24,24字号表示一个英文字符宽12像素长24像素,而中文字符长宽都是24像素。
字体界面,默认所有字是启用的状态,左侧数字是字的字符标准编码
因为我们不建立有所有字体的字库(太大),因此先禁用所有的字体,Edit----Disable all character
右键点击选择Toggle character 即可切换启用/禁用字体,启用字体会以白色显示
如果是中文,可以通过工具转换成标准编码,然后使用Edit----Enable range of character进行切换
如果下次还要继续编辑,则需要保存启用字体列表,Edit-----Save pattern file ,在下次要接着编辑时候点击Readpattern file读取。有一种简单的方法是:利用这个pattern file也就是.text文件,按照它的格式写入想要的字。disable all character,然后直接read pattern file,这时候就会发现你想要的字都点亮了,然后保存成英文名的.c文件。
编辑完成后保存文件,文件名务必改成英文否则内部函数名称会出错乱码
使用Sublime text 打开保存的文件后可以看到字库
在keil项目中添加这一个文件,在需要调用这一个字库的文件位置添加extern GUI_CONST_STORAGE GUI_FONT GUI_Fontxxxxx;
【Xxxxx是字库文件的名称】
2.keil调用并显示文字
先设置文字模式为背景透明 GUI_SetTextMode(GUI_TM_TRANS);
下图演示了几种文字绘制模式。
设置文字的颜色位白色 GUI_SetColor(0xFFFFFF)
之后设置字体 GUI_SetFont(&GUI_Fontxxxxx);
在指定位置显示文字,在这之前我们需要先将文字转换成可以被emwin识别的字符串
打开emwinSoftware文件夹中的软件U2C.exe
选择文件,文件内填写我们需要的文字,保存时候选择UTF-8编码
保存后文件,复制字符到keil中
存储为静态字符类型
之后即可进行调用,方法示例GUI_DispStringAt(&chstr[0], x, y);