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 水墨屏显示中文之全量字库的更多相关文章

  1. QT中关于窗口全屏显示与退出全屏的实现

    近期在学习QT时遇到了很多问题这也是其中一个,个人通过在各种书籍和网络上的查阅找到了一些关于这方面的答案,希望能给大家一些帮助. 首先,在QT中对于窗口显示常用的有这么几个方法可以调用: Qt全屏显示 ...

  2. 在VC++6.0开发中实现全屏显示

    全屏显示是一些应用软件程序必不可少的功能.比如在用VC++编辑工程源文件或编辑对话框等资源时,选择菜单“View\Full Screen”,即可进入全屏显示状态,按“Esc”键后会退出全屏显示状态. ...

  3. Qt全屏显示窗口、子窗口的相关函数

    Qt全屏显示函数         window.showFullScreen() Qt最大化显示函数         window.showMaximized() Qt最小化显示函数         ...

  4. Qt on Android:让 Qt Widgets 和 Qt Quick 应用全屏显示

    Android 系统版本号非常多,较新的 4.4 ,较老的 2.3 ,都有人用. Qt on Android 开发的 Android 应用.默认在 Android 设备上是非全屏的. 而有些应用的需求 ...

  5. JavaScript:让浏览器全屏显示

    并不是所有人都会按F11让浏览器全屏显示~~~ 一.直接上代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xh ...

  6. Android 全屏显示的方法(不包含状态栏)

    我们都知道在Android中某些功能的实现往往有两种方法:一种是在xml文件中设置相应属性,另一种是用代码实现.同样Android实现全屏显示也可以通过这两种方法实现: 1.在AndroidManif ...

  7. Android 全屏显示

    Android全屏显示: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst ...

  8. QT5中全屏显示子窗口和取消全屏的方法

    问题描述:用QT5做了个MDI多窗体应用程序,想把子窗体全屏显示,用网上的方法,但总是遇到问题. 网上的解决方法原文在这:http://www.cnblogs.com/Rick-w/archive/2 ...

  9. 启动app时全屏显示Default.png

    一直很喜欢MJ的讲课视频,今天看了他的博客学到了些东西顺便记录下来. 在默认情况下,app显示Default.png时并非真正的"全屏显示",因为顶部的状态栏并没有被隐藏,比如下面 ...

  10. 【温故而知新-Javascript】窗口效果 (全屏显示窗口、定时关闭窗口)

    1.全屏显示窗口 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

随机推荐

  1. 随着Web3.0的到来,IPFS能否成为未来?

    IPFS能否成为未来互联网存储市场的霸主? 首先在说IPFS之前,我们有必要先聊一聊HTTP,因为目前我们从互联网上看到的,用的,基本上都是HTTP,自从1991年发明了HTTP,到现在已经多了30多 ...

  2. ArmSoM-W3应用开发之安装docker

    1. 简介 RK3588从入门到精通系列专题 开发板:ArmSoM-W3 Kernel:5.10.160 OS:Debian11 本⽂介绍ArmSoM-W3在Debian11下如何安装使用docker ...

  3. 【VMware NSX-T】在vCenter内直接将Manager设备删除后,ESXi上还遗留N-VDS交换机及网卡被占用等问题的解决方法。

    由于之前在实验平台安装了NSX-T的测试环境,但是由于太忙了没怎么测试,后来实验环境出了点小问题,索性就将上面所有虚拟机给清空了.但是没想到上面遗留了NSX-T上创建的N-VDS交换机,还占用了服务器 ...

  4. Django的staticfiles库

    staticfiles 库是 Django 提供的一个用于管理静态文件的库,它提供了一些工具和函数来帮助开发者在 Django 应用程序中管理和提供静态文件服务. 在 Django 应用程序中,静态文 ...

  5. stm32存储器:Flash

    先擦除后写入,stm32内置flash擦或写时,必须打开外部/内部高速振荡器. 擦除操作 以页为单位,每页1024个字节 起始地址0x0800 0000 擦写时要避开用户程序存储区 最多擦写10万次 ...

  6. Head First Java学习:第八章-接口和抽象类

    第八章:接口和抽象类 深入多态 1.抽象类:有些类不应该被初始化 在类声明前面加上抽象类的关键字,abstract. 防止类被初始化,即不能被"new"创建该类的实例(要求) 还是 ...

  7. 深入 K8s 网络原理(一)- Flannel VXLAN 模式分析

    目录 1. 概述 2. TL;DR 3. Pod 间通信问题的由来 4. 测试环境准备 5. 从 veth 设备聊起 6. 网桥 cni0 6.1 在 Pod 内看网卡信息 6.2 在 host 上看 ...

  8. StingBuilder与StringBuffer包含的常见方法(图示)

    StingBuilder与StringBuffer包含的常见方法

  9. ASR项目实战-数据

    使用机器学习方法来训练模型,使用训练得到的模型来预测语音数据,进而得到识别的结果文本,这是实现语音识别产品的一般思路. 本文着重介绍通用语音识别产品对于数据的诉求. 对数据的要求 训练集 相关要求,如 ...

  10. MD5 or Bcrypt?

    MD5 or Bcrypt? 摘要 首先是一个错误的认识观念问题,很多人觉得MD5是一个加密算法.不然,他实则是一种摘要算法,也可以叫哈希函数.他的作用是将目标文本转换成具有相同长度.不可逆的杂凑字符 ...