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

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

原因是因为使用原版汉字字库,字库的大小超过了板子的存储。
如果想要显示全部的汉字,需要处理的步骤如下:
一、导入修改的库文件
从群里下载修改版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() {};
可以看到能够展示全部汉字

到这里基本上所有的汉字都能够展示了,但是对于某些屏幕来说还会有一个问题,那就是字体大小。以7.5寸屏幕来说,即使是16的字体看起来也很小,如果想显示更大的字体,还需要调整。
esp8266 水墨屏显示中文之全量字库的更多相关文章
- QT中关于窗口全屏显示与退出全屏的实现
近期在学习QT时遇到了很多问题这也是其中一个,个人通过在各种书籍和网络上的查阅找到了一些关于这方面的答案,希望能给大家一些帮助. 首先,在QT中对于窗口显示常用的有这么几个方法可以调用: Qt全屏显示 ...
- 在VC++6.0开发中实现全屏显示
全屏显示是一些应用软件程序必不可少的功能.比如在用VC++编辑工程源文件或编辑对话框等资源时,选择菜单“View\Full Screen”,即可进入全屏显示状态,按“Esc”键后会退出全屏显示状态. ...
- Qt全屏显示窗口、子窗口的相关函数
Qt全屏显示函数 window.showFullScreen() Qt最大化显示函数 window.showMaximized() Qt最小化显示函数 ...
- Qt on Android:让 Qt Widgets 和 Qt Quick 应用全屏显示
Android 系统版本号非常多,较新的 4.4 ,较老的 2.3 ,都有人用. Qt on Android 开发的 Android 应用.默认在 Android 设备上是非全屏的. 而有些应用的需求 ...
- JavaScript:让浏览器全屏显示
并不是所有人都会按F11让浏览器全屏显示~~~ 一.直接上代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xh ...
- Android 全屏显示的方法(不包含状态栏)
我们都知道在Android中某些功能的实现往往有两种方法:一种是在xml文件中设置相应属性,另一种是用代码实现.同样Android实现全屏显示也可以通过这两种方法实现: 1.在AndroidManif ...
- Android 全屏显示
Android全屏显示: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst ...
- QT5中全屏显示子窗口和取消全屏的方法
问题描述:用QT5做了个MDI多窗体应用程序,想把子窗体全屏显示,用网上的方法,但总是遇到问题. 网上的解决方法原文在这:http://www.cnblogs.com/Rick-w/archive/2 ...
- 启动app时全屏显示Default.png
一直很喜欢MJ的讲课视频,今天看了他的博客学到了些东西顺便记录下来. 在默认情况下,app显示Default.png时并非真正的"全屏显示",因为顶部的状态栏并没有被隐藏,比如下面 ...
- 【温故而知新-Javascript】窗口效果 (全屏显示窗口、定时关闭窗口)
1.全屏显示窗口 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
随机推荐
- 什么是PIO
PIO,最早是我在raspberry pi pico的介绍中偶然看到的一个新词 转载来在[https://zhuanlan.zhihu.com/p/347948344] 关于PIO的介绍如下: MCU ...
- 操作PDF的方法
PDF的内容提取.转换见上篇 PDF操作: 旋转 删除 合并 拆分 转成图片 导出内嵌资源图片 两页合并成一页 添加.去除密码 添加水印 PDF旋转某一页 var document = pdfView ...
- 手撕Vuex-安装模块方法
前言 经过上一篇文章的介绍,我们实现了将模块安装到 store 中,那么本章我们就来介绍一下怎么安装模块当中的方法也就是 actions.mutations.getters. 所以本次文章的目标就是将 ...
- 用友NC产品接口开发,通过轻易云数据集成平台快速调用
通过用友NC产品的 UAP V63平台.插件相关处理.相关业务逻辑处理课程目标与要求课程内容课程目标与要求业务逻辑处理外部系统信息设置节点新建外部系统默认匹配规则:仅按对照表:外部系统数据与UAP.接 ...
- Java自定义ClassLoader实现插件类隔离加载 - 原理篇
书接上回 在 Java自定义ClassLoader实现插件类隔离加载文章中,我们通过 自定义ClassLoader + 插件独立打包引入的方式,实现了同依赖不同版本的隔离加载 这次咱们来分析下具体实现 ...
- serdes级联时钟
级联时钟在其他的IP领域下很少见到,在serdes中时个基本的功能. 因为高密场景下需要时钟数几十个IP,一般摆放在芯片边缘位置. 而SOC的管脚资源非常有限.因此就需要多个IP之间的ref clk进 ...
- What's past is prologue
凡是过去,皆为序章.爱所有人,信任少数人,不负任何人.我荒废了时间,时间便把我荒废了. 在灰暗的日子中,不要让冷酷的命运窃喜:命运既然来凌辱我们,就应该用处之泰然的态度予以报复.明智的人决不坐下来为失 ...
- Python 潮流周刊第一季完结(1~30)
你好,我是猫哥.庆祝 Python 潮流周刊在几天前顺利更新到了第 30 期! 我觉得这是一个很有意义的时间节点,不太短也不漫长,很适合作一个小小的总结. 我打算今后每 30 期作为一季,都给大家做一 ...
- 24、Go语言中的OOP思想
1.是什么? OOP:面向对象 Go语言的解构体嵌套 1.模拟集成性:is - a type A struct { field } type B struct { A // 匿名字段 } 这种方式就会 ...
- 可视化学习:CSS transform与仿射变换
引言 在几年前,我就在一些博客中看到关于CSS中transform的分析,讲到它与线性代数中矩阵的关系,但当时由于使用transform比较少,再加上我毕竟是个数学学渣,对数学有点畏难心理,就有点看不 ...