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的默认字库不支持中文造成的. 应对办法: ...
随机推荐
- 前端每日实战:12# 视频演示如何用纯 CSS 创作一种文字断开的交互特效
效果预览 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/LmjNgL 可交互视频教程 此视频是可以交 ...
- flask基础之一
flask基础之一 hello world #从flask这个包中导入Flask这个类 #Flask这个类是项目的核心,以后的很多操作都是基于这个类的对象 #注册url,注册蓝图都是这个类的对象 fr ...
- 基于vue上传base64图片,通过canvas压缩base64
其实和vue关系不大,和我们之前做上传压缩性质是一样的 当然下面的代码是没有处理ios横屏拍照的bug的 有兴趣的可以多搜一下 网上都有相应的解答 .. var that = this if (e. ...
- MySQL数据库4Python操作mysql、索引、慢查询日志
目录 一.Python 操作 mysql 1.1python 操作 mysql 1.2查询数据 1.3增加(添加.更新)数据 1.4修改数据 1.5删除数据 1.6SQL注入问题 1.6.1问题的引入 ...
- [每日一讲] Python系列:字符串(上)
字符串作为人类最常处理的内容,在计算中决定了其占有重要的地位.在 Python 中,字符串的操作和处理往往需要根据实际问题,结合其他操作才可以完成目标.在复杂世界仅仅是字符串 API 还无法完成工作. ...
- 使用Spring.Net进行Webservice开发&发布遇到的问题
发布遇到的问题1: HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理. 最终解决时IIS的设置情况: 1.应用程序池的高级设置中 启用32 ...
- java 用RGB生成图片动态命名
import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java. ...
- font-size:0; 消除空白间隙
使用font-size:0解决设置inline-block引起的空白间隙问题 一.空白间隙问题 在进行页面布局的时候为了页面代码所谓整洁刻度,往往会设置缩进或是换行,但是元素display为inlin ...
- 解决:@Auarowired为null
使用@Auarowired时程序报空指针.如图: 将private 更改为 public 即可
- 数据库-SqlServer 行转列,列转行
两篇行转列,列转行的实例文章: 第1篇:https://www.cnblogs.com/cpcpc/archive/2013/04/08/3009021.html 第2篇:https://mp.wei ...