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的默认字库不支持中文造成的. 应对办法: ...
随机推荐
- 用递归将嵌套的JSON对象遍历出来,转为二维数组 或一维数组
var map = new Array();//二维数组 var map2 = new Array();//一维数组 for (var i = 0; i < e.Data.length; i++ ...
- 正确重写hashCode方法
https://blog.csdn.net/HD243608836/article/details/87367763 到这里,对象写完了,开始描述问题. 计算hashCode的注意事项: 1.不能包含 ...
- javaScript中的 call 和 apply
call 和apply都可以实现函数的调用 // 普通函数的调用 function foo() { console.log('foo'); } foo(); // foo foo.call(); // ...
- SpringBoot整合AOP
一.创建LogComponent类 类上加上@Component和@Aspect 表示把该类注册成spring组件和aop 二.创建6个方法 2.1 @Poin ...
- 使用Hybris Commerce User API读取用户信息时,电话字段没有返回
在使用Hybris Commerce User API读取一个user信息时,我遇到一个问题,在API返回的结构里没有包含期望看到的Phone字段. 仔细观察Swagger里对response结构的说 ...
- HRESULT: 0x80040228
When run the arcgis engine codes in the console application, may come to the exception: HRESULT: 0x8 ...
- Ajax中浏览器的缓存问题解决方法
我们在做项目中,一般提交请求都会通过ajax来提交,但是测试的时候发现,每次提交后得到的数据都是一样的,调试可以排除后台代码的问题,所以问题肯定是出在前台 每次清除缓存后,就会得到一个新的数据,所以归 ...
- springboot集成mongoDB需要认证
报错: Mon Nov 25 01:09:48 CST 2019 There was an unexpected error (type=Internal Server Error, status=5 ...
- 特征提取算法(4)——Harris角点提取
1.角点 1.1 特征点与角点 特征点是计算机视觉算法的基础,使用特征点来代表图像的内容. 角点是一类重要的点特征,图像分析的角度来定义: 角点可以是两个边缘的角点: 角点是邻域内具有两个主方向的特征 ...
- RedisTemplate访问Redis数据结构(二)——List
RedisTemplate使用ListOperations专门操作list列表.首先初始化spring工厂获得redisTemplate和opsForList private RedisTemplat ...