emwin 使用外部字库_emWin“移植全字库(GB2312或GBK编码)”
我总结了emWin实现中文显示的几种方案,如下表
实现方案编码方式存放媒介优点缺点适用范围建议
C格式Unicode内部Flash1、支持抗锯齿1、占用内部Flash适用于生成特定几个中文汉字
XBF格式Unicode任何存储介质1、支持抗锯齿
2、存放于任何储存介质1、采用UTF-8方式调用,需要把文件另存为UTF-8格式
2、需要将Unicode编码转化为UTF-8格式适用于非总线接口方式寻址的存储设备
SPI Flash、SD 卡、NAND Flash
SIF格式Unicode总线方式寻址的存储设备
SDRAM、SRAM、NOR Flash1、支持抗锯齿
2、比XBF方式稍快1、采用UTF-8方式调用,需要把文件另存为UTF-8格式
2、需要将Unicode编码转化为UTF-8格式适用于总线接口方式寻址的存储设备
SDRAM、SRAM、NOR Flash
矢量格式UnicodeSDRAM1、支持无损缩放1、消耗CPU和SDRAM资源巨大适用于要求字体矢量方式显示
移植全字库GB2312
GBK任何存储介质1、汉字操作方式与不用使用 GUI一样
2、对比XBF和SIF方式,不需把文件另存为UTF-8格式
3、存放于任何储存介质1、不支持抗锯齿
2、仅支持等宽字体适用于不习惯XBF和SIF操作方式
emWin 本身是不支持 GB2312 编码字符显示的,本文记录的是emWin“移植全字库(GB2312或GBK编码)”方案,即创建一种字体类型来实现GB2312 编码字符的显示,所采用的方式是早期 UCGUI3.98 时期遗留下来,但对那种方法进行了修改,以适合高版本 emWin5.xx 的使用。
1、将原emWin中文件夹【HanZi】复制到目标文件路径…\emWin\HanZi,如图1
图1
2、将原emWin中文件夹【fonts】复制到目标文件路径…\User\fonts,如图1
图2
3、在工程中建立文件夹及添加文件路径,添加完成,如图3
图3
4、修改emWin头文件【GUI_Type.h】,添加代码,如图4
图4
5、在文件【MainTask.h】中添加emWin字体的外部声明(这里使用的是宋体16),如图5
图5
6、把需要用到汉字的控件调用【&GUI_FontHZ16】,如LISTVIEW控件用到汉字显示,写成LISTVIEW_SetFont(hItem, &GUI_FontHZ16);并且屏蔽emWin自带的UTF-8界面方案,如代码1
/* 使能UTF-8解码用于汉字显示 */
//GUI_UC_SetEncodeUTF8();
代码1
注:在stm32h7上使用“移植全字库”方案一定要修改一个地方,具体见http://www.mazirong.com/?p=5308。原因是stm32h7硬件设计上的bug,不支持内存不对齐访问。
至此,编译0错误0警告,下载运行,可以在emWin上愉快的使用中文汉字了!如图6
图6
emwin 使用外部字库_emWin“移植全字库(GB2312或GBK编码)”相关推荐
- 高通 mtk 展讯等芯片机型读取 备份手机全字库分区 的一些操作解析
这个工具结合mtkclient对软件修改了多机型支持,支持 高通 mtk 展讯等芯片的字库备份等其他多功能选项 通过个人实测图示展现以下软件的几个功能 1---安卓各选项简单说明 第一个安卓界面是读取 ...
- 【第3版emWin教程】第32章 emWin6.x的矢量字体(支持汉字全字库,Unicode编码,QSPI Flash方案)
教程不断更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第32章 emWin6.x的矢量字体(支持汉字全字库 ...
- 【第3版emWin教程】第30章 emWin6.x的SIF格式全字库生成和使用方法(Unicode编码,QSPI Flash方案)
教程不断更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第30章 emWin6.x的SIF格式全字库生成和使 ...
- 【STM32H7】第20章 ThreadX GUIX汉字显示(QSPI Flash全字库)
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第20章 ThreadX GUIX汉字显示(QSPI ...
- 全字库说文解字字体_整理了10款免费商用中文字体,超好用
文章来源:logo设计视觉(ID:logoshijue) 字体不能随便用!大家应该经常有听到字体侵权索赔上几十上百万事吧!作为小小的设计师遇上了就倒霉啦!所以,我们要有足够版权意识,没事囤点免费可商用 ...
- 全字库说文解字字体_【180期】可商用字体大全,无版权纠纷!
大家好我是万能的向前 今天向前为你精选了 可商用字体最全收集免费,无版权纠纷 每个设计高手都离不开百变的字体,但是,如果审美不到位字库不全,找不到合适的字体,领导.客户就相不中!那就有可能被降薪,糟心 ...
- 【MTK芯片机型的备份单分区与全字库各种方法解析与相关教程
今天给初级友友码一个mtk芯片的教程.有兴趣的友友可以参阅下.mtk芯片的机型目前阶段来说.相对较少.当年mtk是以山寨机洒遍市场.换句话说.mtk芯片为当年品牌手机价格的下压有不可磨灭的功绩. 当你 ...
- emwin从外部flash中读取bmp图片显示
在emwin中有提供了一个从外部读取图片数据进行显示的函数,如下: 而且提供了官方例程,不过官方历程中从外部读取是从外部文件系统中进行读取的bmp图片进行显示,官方例程如下 /* ********** ...
- <STM32F103ZET6>通过串口更新flash字库(包括LVGL字库烧写)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.效果展示及相关准备步骤 二.准备工作 二.程序讲解 1.引入库 总结 前言 本编文章是作者用时三天抽时间调试成功的 ...
- 用python画小鸭,Python 处理输入法字库(五笔极点字库转小鸭字库)
Python 处理输入法字库(五笔极点字库转小鸭字库) Python 处理输入法字库(五笔极点字库转小鸭字库) 一直都是用的小鸭五笔,091新字库是极点格式的,刚开始懒得动,直接用极点五笔了,用了一段 ...
最新文章
- 如何安装apache服务器最新,云服务器如何安装apache
- 以太网接口保护方案设计图
- 北大教授郑也夫斗胆谈了7个天大的问题,每个都非常狠,也很现实
- 【Flink】did not rea ct to cancelling signal for 30 seconds, but is stuck No implementation was bound
- Semaphore (信号量)
- 通过xsl显示和输出XML数据
- webpack4.0学习笔记
- Discrete Cosine Transform Network for Guided Depth Map Super-Resolution
- 二重积分x^2+y^2_计算二重积分∫∫y^2dxdy,其中D是由圆周x^2+y^2=1所围成的闭区域...
- 面试必考之Java三大特性
- 想开发一套多人交友app必须知道的
- 【u盘提示:驱动器未格式化】如何解决?
- Wordvice推出人工智能工具 免费论文润色功能受欢迎
- android 自定义关机界面,怎么定制Android关机界面
- c语言程序设计数组实验报告,c语言程序设计实验报告(数组).doc
- mysql 索引超767_mysql Index column size too large 超过767错误解决方案(转)
- JavaScript实现抽奖(jQuery)
- 实验操作:Squid代理服务器应用(传统代理透明代理)--------------------------------------就整吧
- 面试积累(java配置环境变量)
- 网易云音乐真的是随机播放吗