使用了emWin之后,除了画图形或bmp之外,另外一个大头就是显示字符了。字符包括ASCII码,当然最重要的就是汉字显示了。

这里就介绍如何生成自定义的汉字字库,以及如何显示在TFT屏幕上。

硬件准备:GG DK3750或支持emWin的设备

软件准备: GG DK3750 -> Example -> guidemo, FontCvt.exe, U2C.exe

1. 打开Simplicity Studio目录下的reptile\emwin\exe文件夹,安装SetupFontCvt_V516.exe。

2. 安装完毕之后,双击打开Font converter for emWin, 点击File - > New,在弹出来的窗口中,选择Standard, Encoding 选择16 Bit UNICODE。点击OK。

3. 在字体窗口,选择合适的字体,这里选择常用的宋体。字形选择常规,大小一般选择16。最常用的汉字大小就是16*16像素的。

4. 默认生成的字库,是包含所有UNICODE字符的字库,那个可是很大的。记得应该是差不多800KB字节吧。这里先使用一些技巧,只产生我们需要的汉字的字库以及ASCII码的字库。

5. 点击Edit -> Disable all characters。 失能所有的字符.

6. 因为要显示英文,因此点击Edit -> Enable range of characters, 在弹出来的窗口中,选择范围0 ~ 7F。

7. 使用网络工具,查询需要的字符的UINCODE地址,然后右键,选择Toggle characters。

8. 用网络工具,查询如下的字串 "挪威能微公司上海办事处"

9. File -> Save,保存类型选择为C-files(*.c)。此处暂时命名为Songti16.c。到此,字符我们已经准备好了,接下来就是如何显示了。

10. emWin如何显示呢,需要将汉字转成emWin能识别的字串,才能显示。

11. 打开记事本,里面写入要显示的字串,例如这里写入 挪威能微公司上海办事处

12. 点击保存,保存的时候,编码要选择为UTF-8格式。

13. 打开U2C.exe, 载入12步创建的Txt档,然后点击Convert,产生相应的.c文档。

产生的内容:

"\xe6\x8c\xaa\xe5\xa8\x81\xe8\x83\xbd\xe5\xbe\xae\xe5\x85\xac\xe5\x8f\xb8\xe4\xb8\x8a\xe6\xb5\xb7\xe5\x8a\x9e\xe4\xba\x8b\xe5\xa4\x84"

14. 打开GG DK3750 -> example -> guidemo,用include包含Songti16.c。

15. 在main.c创建一个字符串,内容就是原先C文件里面的内容。

static const char * _apStrings[] = {
"\xe6\x8c\xaa\xe5\xa8\x81\xe8\x83\xbd\xe5\xbe\xae\xe5\x85\xac\xe5\x8f\xb8\xe4\xb8\x8a\xe6\xb5\xb7\xe5\x8a\x9e\xe4\xba\x8b\xe5\xa4\x84"
};

16.源代码如下:

#include "Songti16.c"

static const char * _apStrings[] = {
"\xe6\x8c\xaa\xe5\xa8\x81\xe8\x83\xbd\xe5\xbe\xae\xe5\x85\xac\xe5\x8f\xb8\xe4\xb8\x8a\xe6\xb5\xb7\xe5\x8a\x9e\xe4\xba\x8b\xe5\xa4\x84"
};

static const char * _apStringsE[] = {
    "Energy Micro AS"
};

int main(void)
{
    GUI_Init();
    GUI_Clear();
   
    unsigned long i;
    GUI_SetFont(&GUI_FontSongti16);
    GUI_UC_SetEncodeUTF8();
    GUI_SetColor(GUI_YELLOW);
    for (i = 0; i < GUI_COUNTOF(_apStrings); i++) {
        GUI_DispStringAt(_apStrings[i], 70, 0);
        GUI_DispNextLine();
    }
   
    GUI_SetColor(GUI_DARKCYAN);
    for (i = 0; i < GUI_COUNTOF(_apStrings); i++) {
        GUI_DispStringAt(_apStringsE[i], 70, 50);
        GUI_DispNextLine();
    }
   
    while(1);
}

17. 差不多结束了,咱来看看最终的结果。

emWin - 汉字字库生成及显示相关推荐

  1. emwin 使用外部字库_emWin – 汉字字库生成及显示 | 学步园

    使用了emWin之后,除了画图形或bmp之外,另外一个大头就是显示字符了.字符包括ASCII码,当然最重要的就是汉字显示了. 这里就介绍如何生成自定义的汉字字库,以及如何显示在TFT屏幕上. 硬件准备 ...

  2. 【第3版emWin教程】第30章 emWin6.x的SIF格式全字库生成和使用方法(Unicode编码,QSPI Flash方案)

    教程不断更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第30章       emWin6.x的SIF格式全字库生成和使 ...

  3. stm32汉字字库显示实验与OLED的使用(开始于2021-09-01)

    stm32汉字字库显示实验与OLED的使用 1.字库的使用 GBK字库的简介: GBK库的由两部分组成,如下图: 高位从0x81开始是为了兼容ASII字符,因为未扩展的ASII字符是从0-128,即0 ...

  4. Python生成汉字字库文字,以及转换为文字图片

    笔者小白在收集印刷体汉字的深度学习训练集的时候,一开始就遇到的了一个十分棘手的问题,就是如何获取神经网络的训练集数据.通过上网搜素,笔者没有找到可用的现成的可下载的汉字的训练集,于是笔者采用了代码自建 ...

  5. python字库转文字图片_对Python生成汉字字库文字,以及转换为文字图片的实例详解...

    对Python生成汉字字库文字,以及转换为文字图片的实例详解 发布时间:2020-10-05 17:20:03

  6. 嵌入式的汉字原来是这样显示的?

    摘要:LCD是嵌入式常见设备,如何在LCD上显示汉字和英文?矢量字体和点阵字体有何不同?同一个字符为何有多种编码?GB2312.GB18030指什么?他们之间有关系吗?嵌入式设备如何支持多国语言?从哪 ...

  7. 华科计算机组成原理 存储系统实验 汉字字库Logsim实验

    华科计算机组成原理 存储系统实验 汉字字库 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自 ...

  8. LittleVGL (LVGL)干货入门教程四之制作和使用中文汉字字库

    LittleVGL (LVGL)干货入门教程四之制作和使用中文汉字字库 前言: 阅读前,请确保你至少拥有以下条件: 已实现显示API(教程一已实现, 链接:LittleVGL (LVGL)入门教程一之 ...

  9. 单片机作业1_为OLED制作汉字字库_第4部分

    本部分2个工作: ① 向 AT25F4096 写入部分 HZK8x16 转化后的 "列行式" 数据 ② 解码 GB2312 字符,根据码值,去 AT25F4096 中寻找对应的点阵 ...

最新文章

  1. javascript onclick中post提交
  2. C# Windows CE使用小技巧实例
  3. 互联网人的平均时长,居然这么短...
  4. 2-4. BCD解密(10)
  5. SAP FI常用事务码
  6. iOS12-Swift5-Date转化为String:DateFormatter
  7. abstract类_012、Java的抽象方法、接口和String类
  8. R语言与非参数检验之单样本位置检验
  9. [Abp vNext 源码分析] - 18. 单元测试
  10. 前端学习(173):格式化文本二
  11. 2018诺贝尔奖预测:美国11人,日本1人,中国无人入围
  12. VC++任意格式时间字符串转换为CTime类型以及计算时差
  13. get方法报空指针_C++基础教程之指针拷贝详解
  14. android 画布抗锯齿,android – 如何在画布和路径中进行抗锯齿处理
  15. 英语常用九种时态记忆要点
  16. 中国最美的十大宗教名山(图)
  17. 求职招聘平台(脉脉、BOSS、拉钩、猎聘)之功能体验
  18. C# 使用正则表达式提取文字
  19. 教你分析快递揽收后,第二条物流是否超过12小时
  20. 湖南大学计算机研究生值不值得读,一个很现实的问题:二本院校的研究生究竟值不值得去读?...

热门文章

  1. 如何在jieba分词中加自定义词典_R-数据挖掘 | jiebaR 分词
  2. 写程序很难之去除字符串的空白字符
  3. 再读米老师的教学思想方法
  4. [渝粤教育] 西南科技大学 公共政策学 在线考试复习资料
  5. Google三大论文之GFS
  6. 完美天空下载站php程序,天空下载站(skycn)程序存在SQL注入漏洞及最新解决方案...
  7. 第十二部分 项目相关方管理
  8. andorid g13 刷机
  9. 【纪中20200606】寻找星座
  10. (原创)游戏 openGL+win32 《体验版 古墓丽影》