Arduino上U8g2库自制中文库

2023-12-24 22:37:51

U8g2最新版的本身自带中文库,之所以需要自制,是为了减小内存

文章最后会标一下u8g2自带的中文库不过有些板子不能用gb2312等大字体;

字体库需要的是需要的是下面的这种编码,而实现这种编码,就需要map文件和bdf文件;
实现这种编码的方法:
在这里插入图片描述

一、首先生成map文件

1、汉字转Unicode点击就能跳转

在这里插入图片描述

2、Unicode码放到文本编辑器(比如“记事本”)里,将"\u"替换成",$",并保存成map文件

在这里插入图片描述

二、 bdf文件生成

生成这个需要我们下载一个工具GUITool

1、windows系统一般在C:\Windows\Fonts目录内,找到您想要制作的字体,例如我们选择“新宋体”,拷贝到其他文件夹内备用,字体文件为simsun.ttc,拷贝到自己的新建文件夹内

2、用GUITool工具生成 bdf文件

在这里插入图片描述

三、 制作U8g2需要的字体代码

1、使用U8g2提供的工具bdfconv.exe生成字库文件代码,到u8g2-master目录\tools\font\bdfconv\内,把这个文件复制到自己的新建文件夹中;

2、新建txt文件写入代码并重命名 .bat文件。双击后,就生成了u8g2_font_hapiwan.c 文件

输入:
bdfconv.exe -v -b 0 -f 1 bdf文件路径 -M map文件路径 -n 生成的字体名称 -o 生成的字体.c文件 -d bdf文件路径

bdfconv.exe -v -b 0 -f 1 D:/newfont/simsun_U16.bdf -M D:/newfont/gb2312.map -n u8g2_font_hapiwan -o u8g2_font_hapiwan.c -d D:/newfont/simsun_U16.bdf

在这里插入图片描述

四、将字体代码放到u8g2中

1、找到u8g2的u8g2_fonts.c文件:一般在arduino库目录下的/libraries/u8g2/src/clib中,并将我们生成的代码放进去

在这里插入图片描述

2、找到u8g2的同目录下的u8g2.c文件:

在这里插入图片描述

结束,那么下面说一下u8g2都有哪些自带的中文库

u8g2_font_unifont_t_chinese1
u8g2_font_unifont_t_chinese2
u8g2_font_unifont_t_chinese3
u8g2_font_wqy12_t_chinese1
u8g2_font_wqy12_t_chinese2
u8g2_font_wqy12_t_chinese3
u8g2_font_wqy12_t_gb2312
u8g2_font_wqy12_t_gb2312a
u8g2_font_wqy12_t_gb2312b
u8g2_font_wqy13_t_chinese1
u8g2_font_wqy13_t_chinese2
u8g2_font_wqy13_t_chinese3
u8g2_font_wqy13_t_gb2312
u8g2_font_wqy13_t_gb2312a
u8g2_font_wqy13_t_gb2312b
u8g2_font_wqy14_t_chinese1
u8g2_font_wqy14_t_chinese2
u8g2_font_wqy14_t_chinese3
u8g2_font_wqy14_t_gb2312
u8g2_font_wqy14_t_gb2312a
u8g2_font_wqy14_t_gb2312b
u8g2_font_wqy15_t_chinese1
u8g2_font_wqy15_t_chinese2
u8g2_font_wqy15_t_chinese3
u8g2_font_wqy15_t_gb2312
u8g2_font_wqy15_t_gb2312a
u8g2_font_wqy15_t_gb2312b
u8g2_font_wqy16_t_chinese1
u8g2_font_wqy16_t_chinese2
u8g2_font_wqy16_t_chinese3
u8g2_font_wqy16_t_gb2312
u8g2_font_wqy16_t_gb2312a
u8g2_font_wqy16_t_gb2312b

文章来源:https://blog.csdn.net/wangzhae/article/details/135186533
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。