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 这个字体最大,汉字最全的库

  1. #include <GxEPD2_3C.h>
  2. #include <U8g2_for_Adafruit_GFX.h>
  3. #include "GxEPD2_display_selection_new_style.h"
  4. // 选择水墨屏的驱动,根据水墨屏型号选择
  5. 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
  6. U8G2_FOR_ADAFRUIT_GFX u8g2Fonts; // 导入字体
  7. void setup()
  8. {
  9. display.init(115200); // 初始化屏幕
  10. display.setRotation(3); // 设置屏幕旋转方向,分别有0,1,2,3这四个方向
  11. u8g2Fonts.begin(display);
  12. display.setTextWrap(false); // 设置文本是否自动换行,false则为不自动换行,如果文本溢出则显示异常或者不显示
  13. u8g2Fonts.setFontDirection(0); // 设置文字显示方向
  14. u8g2Fonts.setForegroundColor(GxEPD_BLACK); // 设置前景色
  15. u8g2Fonts.setBackgroundColor(GxEPD_WHITE); // 设置背景色
  16. u8g2Fonts.setFont(u8g2_font_wqy16_t_gb2312); // 设置文本字体
  17. display.setTextColor(GxEPD_BLACK); // 设置文本颜色
  18. display.setFullWindow(); // 设置全屏刷新,与之相对的是局部刷新
  19. display.firstPage(); // 显示开始
  20. // 通常来说,所有的显示都放在do while 循环中完成。
  21. // 主要原因是 水墨屏使用循环刷新,一次循环可能不会刷新所有显示内容
  22. do
  23. {
  24. u8g2Fonts.setCursor(10, 50); // 设置显示坐标 x=10, y=50
  25. String content = "中文显示测试";
  26. u8g2Fonts.println(content); // 显示文本
  27. }
  28. while (display.nextPage()); // 显示结束
  29. }
  30. 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. shopify本地开发 新的地方

    看了一些教程有些旧地方通不过,自己摸索下 1.创建app 点击Settings,再点击Apps and sales channels 点Allow custom app development 继续 ...

  2. ABAP 标准程序选择屏增强 文本显示异常问题处理 MB52 示例 INITIALIZATION. "变量参数:%_ + 屏幕选择字段变量 + _%_APP_%-TEXT %_SSKH_%_APP_%-TEXT = '所属客户'.

    数据筛选 文本 INITIALIZATION. "变量参数:%_ + 屏幕选择字段变量 + _%_APP_%-TEXT   %_SSKH_%_APP_%-TEXT = '所属客户'.

  3. AntDesignBlazor示例——列表查询条件

    本示例是AntDesign Blazor的入门示例,在学习的同时分享出来,以供新手参考. 示例代码仓库:https://gitee.com/known/AntDesignDemo 1. 学习目标 重构 ...

  4. 【UniApp】-uni-app-修改组件主题和样式

    前言 好,经过上个章节的介绍完毕之后,了解了一下 uni-app-扩展组件 那么了解完了uni-app-扩展组件之后,这篇文章来给大家介绍一下 uni-app-修改组件主题和样式 首先不管三七二十一, ...

  5. 串ababaaababaa的next和串ababaabab的nextval

    这个next求法我看了视频和网上的,发现有两种求法,一种是求最左边和最右边相等的最大个数, 就比如说串ababaaababaa,这个 所以这个3的位置为1,依次下来. 这个唯一要注意的是,是按照你选择 ...

  6. [ARC105E] Keep Graph Disconnected

    题目链接 好题. 如果 \(1\) 和 \(n\) 一直联通,开始即结束. 如果 \(n\mod 4=1\),那么 \(\frac 12x(x+1)+\frac12(n-x)(n-x+1)\) 为偶数 ...

  7. [CF1229E]Marek and Matching

    This is a harder version of the problem. In this version, \(n \le 7\). Marek is working hard on crea ...

  8. [P7880][Ynoi2006] rldcot

    [Ynoi2006] rldcot 题目描述 给定一棵 \(n\) 个节点的树,树根为 \(1\),每个点有一个编号,每条边有一个边权. 定义 \(dep(x)\) 表示一个点到根简单路径上边权的和, ...

  9. Vue绑定Style和Class写法

    vue2写法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  10. Java使用线程池和缓存提高接口QPS

    1.什么是QPS? QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒可以相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标 ...