esp8266 水墨屏显示中文之全量字库

https://gitee.com/CHN_ZC/u8g2_wqy 项目中可以显示的中文字体有如下,以gb2312结尾的都是能够显示所有汉字的。

image.png

但是这些字体的容量都比较大,可能esp8266装不小,编译过程会报错:

image.png

原因是因为使用原版汉字字库,字库的大小超过了板子的存储。

如果想要显示全部的汉字,需要处理的步骤如下:
一、导入修改的库文件
从群里下载修改版U8g2_for_Adafruit_GFX-02库 和 U8g2_wqy_Arduino-0.0.1库,导入两个库,同时将原相关的库要删除掉。链接: https://pan.baidu.com/s/1fCQRGWlMpT3egIvzQ-s5OQ 提取码: 9p45
注意导入方式,一个直接导入压缩文件,一个需要拷贝库文件到arduino的Library里。

二、修改字库,上传文件
使用u8g2_font_wqy16_t_gb2312 这个字体最大,汉字最全的库

#include <GxEPD2_3C.h> #include <U8g2_for_Adafruit_GFX.h> #include "GxEPD2_display_selection_new_style.h" // 选择水墨屏的驱动,根据水墨屏型号选择 GxEPD2_3C < GxEPD2_750c_Z08, GxEPD2_750c_Z08::HEIGHT / 4 > display(GxEPD2_750c_Z08(/*CS=D8*/ SS, /*DC=D3*/ 0, /*RST=D4*/ 2, /*BUSY=D2*/ 4)); // GDEW075Z08 800x480, GD7965 U8G2_FOR_ADAFRUIT_GFX u8g2Fonts; // 导入字体 void setup() { display.init(115200); // 初始化屏幕 display.setRotation(3); // 设置屏幕旋转方向,分别有0,1,2,3这四个方向 u8g2Fonts.begin(display); display.setTextWrap(false); // 设置文本是否自动换行,false则为不自动换行,如果文本溢出则显示异常或者不显示 u8g2Fonts.setFontDirection(0); // 设置文字显示方向 u8g2Fonts.setForegroundColor(GxEPD_BLACK); // 设置前景色 u8g2Fonts.setBackgroundColor(GxEPD_WHITE); // 设置背景色 u8g2Fonts.setFont(u8g2_font_wqy16_t_gb2312); // 设置文本字体 display.setTextColor(GxEPD_BLACK); // 设置文本颜色 display.setFullWindow(); // 设置全屏刷新,与之相对的是局部刷新 display.firstPage(); // 显示开始 // 通常来说,所有的显示都放在do while 循环中完成。 // 主要原因是 水墨屏使用循环刷新,一次循环可能不会刷新所有显示内容 do { u8g2Fonts.setCursor(10, 50); // 设置显示坐标 x=10, y=50 String content = "中文显示测试"; u8g2Fonts.println(content); // 显示文本 } while (display.nextPage()); // 显示结束 } void loop() {};

可以看到能够展示全部汉字

image.png

到这里基本上所有的汉字都能够展示了,但是对于某些屏幕来说还会有一个问题,那就是字体大小。以7.5寸屏幕来说,即使是16的字体看起来也很小,如果想显示更大的字体,还需要调整。


__EOF__

本文作者goldsunshine
本文链接https://www.cnblogs.com/goldsunshine/p/17403345.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   金色旭光  阅读(1277)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示