使用了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 使用外部字库_emWin – 汉字字库生成及显示 | 学步园相关推荐

  1. java 生成多叉树_java中多叉树(tree)的生成与显示 | 学步园

    先看看多叉树的表示吧. 一. 多叉树的表示: 由于要表示多个孩子,不能像二叉树那样一个leftchild,一个rightchild.当然你也可以选择采用孩子兄弟表示法来将多叉树转化成二叉树.但java ...

  2. staruml透明_staruml生成C++代码 | 学步园

    本文将以类CTest为例说明如何使用StarUML生成C++代码 图1 类图 CTest类包含3个成员变量iAttr.bAttr.strAttr,其类型分别是int.BOOL.CString CTes ...

  3. java怎么把随机数放入数组_JAVA 生成随机数数组 | 学步园

    一.JAVA获取随机数的方法 //使用java.lang.Math类的random()方法 double a = Math.random(); System.out.println("0.0 ...

  4. emWin - 汉字字库生成及显示

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 如何借助“AI+边缘计算”助推能源产业智能化转型?这场直播给你答案 | 量子位·视点...
  2. 深入分析线程池的实现原理
  3. 转]SQLServerDBA十大必备工具
  4. 用python画一只可爱的皮卡丘_用python画一只可爱的皮卡丘实例
  5. 演练 动态数组存储学生对象 并且实现遍历 0119
  6. 小米php架构图,小米首页布局框架
  7. element上传图片校验尺寸
  8. android 百度地图 itemizedoverlay,[008] 百度地图API之ItemizedOverlay的使用(Android)
  9. 【python基础】递归函数
  10. 北邮信通2022C++大一上学期PTA汇总(含代码)(已完结)
  11. AspectJ介绍(一)
  12. 高效能人士的七个习惯 与成功有约
  13. 可穿戴设备数据安全及隐私保护概论
  14. u盘启动工具哪个好用
  15. 【恋恋不忘你xp主题】_8.4
  16. 叶酸修饰靶向性紫杉醇 PGA-TAXOL/羟基靶向修饰透明质酸接枝姜黄素 OH-HA-CUR/羧基靶向修饰透明质酸接枝姜黄素 COOH-HA-CUR
  17. 后台服务(Service)
  18. 科大讯飞语音工具类基于Java SDK的封装使用
  19. 国产 3A 大作《黑神话:悟空》兔年贺岁短片发布,确认 2024 年夏季发售
  20. 文件的读写,写入数据,读取数据,写文本 UltraEdit

热门文章

  1. 【BUG】MMCV的坑:ImportError: /xxxx/mmcv/_ext.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZN6caffe
  2. Photoshop类图片处理软件
  3. 用Python制作有声小说
  4. chartjs 表格刷新
  5. 什么人脸识别都弱爆了,你听说过心脏识别吗?
  6. 网站被百度K了怎么办
  7. java mybatis 返回map_Mybatis中返回Map
  8. Java项目开发——家教系统(附源码)
  9. 电脑PDF阅读器哪个好用?建议收藏这些阅读器
  10. 计算机实训word报告,计算机实训报告Mcrosoft Word 文档.doc