enWin使用部分中文字库

在小型嵌入式设备中有时需要简单的人机2交互界面,小型GUI有很多,比较常用的有STenWin,UCGUI,enwin,Embedded Wizard GUI。对与STenWin和enWin区别主要在STenWin在ST芯片上商用也完全是免费的。本blog介绍enWin使用部分中文字库。
开发环境:
window10操作系统;
KEIL MDK 5.23
FontCvtST.exe.
开发工具;
window10电脑;
STM32F767IGT6学习板;
J-linkV9烧录器
软件资料;
enWin V5.32
STM32Cube_FW_F7_V1.6.0
首先制作字库,使用的软件FontCvtST.exe.

打开软件后,新建Standard字库,Encoding选择16 Bit UNICODE,然后点ok。

然后就是字体设置,大家根据需求自行设置。

下面讲解字库添加,首先点击Edit->Disable all characters,这样我们把字库所有中文失能了,然后我们新建以供文档,里面内容就是你需要用到的中文字,比如我要使用:万连集团欢迎访问buy.42iot.com,文件如下:

特别注意的是保存是编码一定要修改问Unicode,否则程序不能使用。

txt文档制作ok后,我们导入FontCvtST.exe。点击Edit->Read pattern file选择我们的txt文件。可以看到软件中我们需要的字背景变白色,则说明导入字ok;

现在可以生成.c文件,我们点击File->Save As就可以得到我们需要的文件;

最后我们把.c添加到文件的工程去,在enWin初始化时一定要添加GUI_UC_SetEncodeUTF8();
GUI_Init(); //GUI初始化
WM_MULTIBUF_Enable(1);
GUI_Clear(); //清除显示屏
WM_SetCallback(WM_HBKWIN, &_cbBkWindow); //设置背景回调函数
GUI_CURSOR_Show(); //开启鼠标显示
GUI_UC_SetEncodeUTF8(); //使能EncodeUTF8
把字库定义到要使用的文件中;
extern GUI_CONST_STORAGE GUI_FONT GUI_FontFont_HZ16;
必然我要把TEXT设置中文,和enWin设置其他字体一样,但要在字体前加取值符;
TEXT_SetFont(hItem, &GUI_FontFont_HZ16);
到处我们完成了enWin使用部分字库的实验,但我们编译发现有错误,由于使用汉字,我们需要把使用汉子的.c文件编码改为UTF-8。我们可以打开.c另存为在相同路径覆盖掉之前.c就可以了,以后每次修改此.c都要修改编码方式,这应该是keil 5的bug吧。

我们重新编译就ok了,至此我们就完全完成了实验
enWin使用部分中文字库的更多相关文章
- PDF 补丁丁 0.4.1 版:新增嵌入中文字库、替换文档字库的功能
PDF 补丁丁 0.4.1 版新增了嵌入中文字库.替换文档字库的功能. 嵌入汉字字库 历史上有一批黄底黑字的 PDF 文档.这批文档都具有相同的问题:没有嵌入字库.在一些设备上阅读时显示乱码.复制文本 ...
- Tesseract 3.02中文字库训练
Tesseract 3.02中文字库训练 下载chi_sim.traindata字库下载tesseract-ocr-setup-3.02.02.exe 下载jTessBoxEditor用于修改box文 ...
- [转]Tesseract 3.02中文字库训练
下载chi_sim.traindata字库下载tesseract-ocr-setup-3.02.02.exe 下载地址:http://code.google.com/p/tesseract-ocr/d ...
- PDF 补丁丁 0.4.1 版将增加嵌入中文字库的功能
有不少用户反映,部分老 PDF 文件由于在制作时没有嵌入字库,导致该文件在某些阅读器上显示为乱码.即使他们用 Acrobat 嵌入了相应的字库,文件仍然无法正确显示. 这些老 PDF 看起来具有如下相 ...
- linux追加中文字库,解决imagemagick 中文乱码的问题。
Windows下的字体丰富多样,而且显示的工整.漂亮. 所以自己想把windows上的字体移到Ubuntu下来.Windows下字体库的位置为C:\Windows\fonts,这里面包含所有windo ...
- 网站中使用中文个性字库字体--@font-face解决方案探索 l(转)
最近的项目有用到特别中文字体,最终效果如下图: 红线标记处均为字体,可选中,交互起来,比图片方便太多了. 解决思路就是将体积巨大的中文字库,取子集,只包涵要使用的那部分文字,因此体积就很小了(包含10 ...
- JFreechart在linux下不显示及中文乱码问题
一.使用JFreeChart建的报表,在window下能正常显示,但是放到linux下就报错,而且有时候会把tomcat挂掉, 原因是jfreechart的在linux系统中需要访问java awt库 ...
- 【转帖】嵌入式4412开发板QT5.7编译安装到arm
QT5.7.0+UBUNTU16.04+ARM-NONE-LINUX-GNUEABI4.8+busybox最小LINUX系统 Orandragon记录 本文转自迅为4412开发板群:http://to ...
- 妙方之解决matplotlib的图例里的中文呈现小方形
妙方之解决matplotlib的图例里的中文呈现小方形 分析思路: 每个中文都对应地呈现一个小方形, 不多也不少. 不能说是乱码. 应该是matplotlib的默认字库不支持中文造成的. 应对办法: ...
随机推荐
- Set 的合集 并集 差集
合集 ,,,,,,]; ,,]; function union() { //先将数组去重 let s1 = new Set(arr1); let s2 = new Set(arr2); //[...s ...
- Python---进阶---捕获异常
一.编写一个计算减法的方法,当第一个数小于第二个数时,抛出“被减数不能小于减数”的异常 ------------------------------------------------- def ji ...
- NOIP模拟赛(by hzwer) T1 小奇挖矿
[题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值 w)的飞船,按既定 路线依次飞过喵星系的 n 个星球. [问题描述] 星球分为 2 类:资源型和维修型. 1. 资源型:含矿物质量 ...
- CF1051F The Shortest Statement Dijkstra + 性质分析
动态询问连通图任意两点间最短路,单次询问. 显然,肯定有一些巧妙地性质(不然你就发明了新的最短路算法了233)有一点很奇怪:边数最多只比点数多 $20$ 个,那么就可以将这个图看作是一个生成树,上面连 ...
- 特征提取算法(1)——纹理特征提取算法LBP
模式识别中进行匹配识别或者分类器分类识别时,判断的依据就是图像特征.用提取的特征表示整幅图像内容,根据特征匹配或者分类图像目标. 常见的特征提取算法主要分为以下3类: 基于颜色特征:如颜色直方图.颜色 ...
- uploadify加ASP.NET MVC3.0上传文件(可多条)
页面代码: <div id="fileQueuePlug"></div> <input type="file" name=&quo ...
- 【转】i18n实现前端国际化(实例)
源地址:https://www.jianshu.com/p/ea93efef5155 i18n实现前端国际化(实例) 0.1442018.08.27 16:25:10字数 246阅读 10563 在今 ...
- mui初级入门教程(六)— 模板页面实现原理及多端适配指南
文章来源:小青年原创发布时间:2016-07-26关键词:mui,webview,template,os,多端适配转载需标注本文原始地址: http://zhaomenghuan.github.io. ...
- 百度地图 API 及使用
如果我们想使用地图的功能,我们就得使用别人的接口,百度地图无疑是个不错的选择 百度地图的网址:http://lbsyun.baidu.com/ 我们想使用里面的功能,就必须要获取密钥 如果时第一次使用 ...
- SSH 连接慢 等好久
SSH连接慢,要等好久好久,有时出现输入密码提示符,输入密码回车立即就超时了. ssh -v xxx.xxx.xxx.xxx 看到是GSS的问题. 解决办法,在两边SSH上配置,UseDNS如果被 ...