


/* ============================================================* 汉字字模数据结构 - 兼容 PCtoLCD2002 输出格式** 注意: 使用固定大小数组, 不使用灵活数组(FAM)* 原因: ESP8266 (xtensa-lx106-elf-gcc) 不支持 FAM 嵌套初始化** PCtoLCD2002 设置:* 取模方式: 逐行式* 自定义格式: C51 格式* ============================================================ */// 最大支持的字体尺寸 (用于数组分配)// 常用字号预设值// 汉字字模 (固定大小数组, 兼容 ESP8266)typedef struct {const char* index; // UTF-8 字符串指针 (如 "你")const char matrix[MAX_HEIGHT_FONT * MAX_WIDTH_FONT / 8]; // 点阵数据 [164]} CH_CN;// 中文字体集合typedef struct {const CH_CN* table; // 字模表uint16_t size; // 字模个数uint16_t ASCII_Width; // ASCII 字符宽度 (半角)uint16_t Width; // 汉字宽度uint16_t Height; // 汉字高度} cFONT;/* ------------------------------------------------------------* 计算字模表条目数的宏* 用法: FONT_CN_SIZE(Font24CN_Table, 32, 41)* ------------------------------------------------------------ */(sizeof(table) / (sizeof(CH_CN)))
FONT_CN_HFONT_CN_H/* ------------------------------------------------------------* 绘制中英文字符串 (模板函数, 适用于任何有 drawPixel() 的对象)** @param gfx LovyanGFX 对象引用* @param x, y 起始坐标* @param pString UTF-8 编码字符串* @param font cFONT 字体指针* @param color 前景色* @param bg_color 背景色 (设为 color 可实现透明背景)* @param letter_spacing ASCII字符间距 (默认2像素)* @param cn_spacing 中文字符间距 (默认2像素)** 用法:* #include "fonts.h"* drawStringCN(myDisplay, 10, 50, "你好世界", &Font24CN, TFT_BLACK, TFT_WHITE);* ------------------------------------------------------------ */template<typename T>void drawStringCN(T& gfx, int32_t x, int32_t y,const char* pString, const cFONT* font,uint32_t color, uint32_t bg_color,int32_t letter_spacing = 2, int32_t cn_spacing = 2) {if (!pString || !font || !font->table) return;const char* p_text = pString;int32_t cursor_x = x;int32_t cursor_y = y;while (*p_text != 0) {if ((uint8_t)*p_text <= 0x7F) {// ======== ASCII 字符 (单字节) ========for (uint16_t num = 0; num < font->size; num++) {if (*p_text == font->table[num].index[0]) {const uint8_t* ptr = (const uint8_t*)font->table[num].matrix;int ascii_w = font->ASCII_Width;// int bytes_per_row = (font->Width + 7) / 8;int bytes_per_row = (font->ASCII_Width + 7) / 8;for (int j = 0; j < font->Height; j++) {for (int i = 0; i < ascii_w; i++) {if (ptr[i / 8] & (0x80 >> (i % 8))) {gfx.drawPixel(cursor_x + i, cursor_y + j, color);} else if (bg_color != color) {gfx.drawPixel(cursor_x + i, cursor_y + j, bg_color);}}ptr += bytes_per_row;}break;}}p_text += 1;// cursor_x += font->ASCII_Width;cursor_x += font->ASCII_Width + letter_spacing;} else {// ======== 中文字符 (UTF-8, 3字节) ========for (uint16_t num = 0; num < font->size; num++) {if ((uint8_t)p_text[0] == (uint8_t)font->table[num].index[0] && (uint8_t)p_text[1] == (uint8_t)font->table[num].index[1] && (uint8_t)p_text[2] == (uint8_t)font->table[num].index[2]) {const uint8_t* ptr = (const uint8_t*)font->table[num].matrix;int w = font->Width;int h = font->Height;int bytes_per_row = (w + 7) / 8;for (int j = 0; j < h; j++) {for (int i = 0; i < w; i++) {if (ptr[i / 8] & (0x80 >> (i % 8))) {gfx.drawPixel(cursor_x + i, cursor_y + j, color);} else if (bg_color != color) {gfx.drawPixel(cursor_x + i, cursor_y + j, bg_color);}}ptr += bytes_per_row;}break;}}p_text += 3;// cursor_x += font->Width;cursor_x += font->Width + cn_spacing;}}}// 方法同上,使用PROGMEMtemplate<typename T>void drawStringCN_PROGMEM(T& gfx, int32_t x, int32_t y,const char* pString, const cFONT* font,uint32_t color, uint32_t bg_color,int32_t letter_spacing = 2, int32_t cn_spacing = 2) {if (!pString || !font || !font->table) return;const char* p_text = pString;int32_t cursor_x = x;int32_t cursor_y = y;while (*p_text != 0) {if ((uint8_t)*p_text <= 0x7F) {// ======== ASCII 字符 (单字节) ========for (uint16_t num = 0; num < font->size; num++) {const char* idx = (const char*)pgm_read_ptr(&font->table[num].index);if (*p_text == idx[0]) {int ascii_w = font->ASCII_Width;int bytes_per_row = (font->ASCII_Width + 7) / 8;for (int j = 0; j < font->Height; j++) {for (int i = 0; i < ascii_w; i++) {uint8_t byteVal = pgm_read_byte(&font->table[num].matrix[j * bytes_per_row + i / 8]);if (byteVal & (0x80 >> (i % 8))) {gfx.drawPixel(cursor_x + i, cursor_y + j, color);} else if (bg_color != color) {gfx.drawPixel(cursor_x + i, cursor_y + j, bg_color);}}}break;}}p_text += 1;cursor_x += font->ASCII_Width + letter_spacing;} else {// ======== 中文字符 (UTF-8, 3字节) ========for (uint16_t num = 0; num < font->size; num++) {const char* idx = (const char*)pgm_read_ptr(&font->table[num].index);if ((uint8_t)p_text[0] == (uint8_t)idx[0] && (uint8_t)p_text[1] == (uint8_t)idx[1] && (uint8_t)p_text[2] == (uint8_t)idx[2]) {int w = font->Width;int h = font->Height;int bytes_per_row = (w + 7) / 8;for (int j = 0; j < h; j++) {for (int i = 0; i < w; i++) {uint8_t byteVal = pgm_read_byte(&font->table[num].matrix[j * bytes_per_row + i / 8]);if (byteVal & (0x80 >> (i % 8))) {gfx.drawPixel(cursor_x + i, cursor_y + j, color);} else if (bg_color != color) {gfx.drawPixel(cursor_x + i, cursor_y + j, bg_color);}}}break;}}p_text += 3;cursor_x += font->Width + cn_spacing;}}}// FONT_CN_H__cplusplusextern "C" {// font24CN.c 中定义的字体变量extern cFONT Font16CN;extern cFONT Font24CN;extern cFONT Font32CN;extern cFONT Font48CN;__cplusplus}
font48CN.cpp(把PCtoLCD2002生成的数据按以下格式填入)
const CH_CN Font48CN_Table[] PROGMEM ={// 面(0) 对(1) 疾(2) 风(3) 吧(4) !(5){"面",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0xC0,0x00,0xFF,0xF8,0x00,0x00,0x00,0x01,0x80,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x01,0xBF,0xFF,0x80,0xFE,0x00,0x00,0xF8,0x3F,0xFF,0xFC,0x00,0x7F,0x00,0x00,0x7F,0xFF,0x80,0x1E,0x00,0x7F,0x00,0x00,0x7F,0x03,0xC0,0x1F,0x00,0x7F,0x00,0x00,0x7C,0x01,0xC0,0x1F,0x00,0x7E,0x00,0x00,0x3C,0x01,0xC0,0x1E,0x00,0x7C,0x00,0x00,0x3E,0x01,0xC7,0x9E,0x00,0x7C,0x00,0x00,0x3E,0x00,0xFF,0xDE,0x00,0x7C,0x00,0x00,0x1E,0x00,0xFF,0x1C,0x00,0x78,0x00,0x00,0x1E,0x00,0xC0,0x1C,0x00,0x78,0x00,0x00,0x1E,0x00,0xC0,0x1C,0x00,0x78,0x00,0x00,0x1E,0x00,0xC0,0x1C,0x00,0x78,0x00,0x00,0x1E,0x00,0xC0,0x1C,0x00,0xF8,0x00,0x00,0x0E,0x00,0xC7,0x9C,0x00,0xF8,0x00,0x00,0x0E,0x00,0xFF,0x9C,0x00,0xF8,0x00,0x00,0x0E,0x00,0xFF,0x1C,0x00,0xF0,0x00,0x00,0x0E,0x00,0xC0,0x1C,0x00,0xF0,0x00,0x00,0x0E,0x00,0xC0,0x18,0x00,0xF0,0x00,0x00,0x0E,0x00,0xC0,0x18,0x01,0xF0,0x00,0x00,0x0F,0x00,0xC0,0x18,0x01,0xF0,0x00,0x00,0x0F,0x00,0xC0,0x18,0x01,0xF0,0x00,0x00,0x0F,0x00,0xC0,0xFF,0xF3,0xF0,0x00,0x00,0x0F,0x00,0xFF,0xFF,0xFB,0xE0,0x00,0x00,0x0F,0xFF,0xFE,0x00,0x1F,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x07,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x06,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x06,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"面",0*/},{"对",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x0E,0x00,0x00,0x00,0x00,0x1F,0xE0,0x00,0x0E,0x00,0x00,0x00,0x00,0xFF,0xF0,0x00,0x0E,0x00,0x00,0x00,0x07,0xFF,0xE0,0x00,0x0E,0x00,0x00,0x01,0xFF,0xC7,0xC0,0x00,0x0E,0x00,0x00,0x00,0xFC,0x03,0xC0,0x00,0x0E,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x0E,0x07,0xC0,0x00,0x00,0x07,0x80,0x00,0x0F,0xFF,0xE0,0x00,0x00,0x07,0x80,0x00,0xFF,0xFF,0xF0,0x00,0x00,0x07,0x81,0xFF,0xFF,0xFF,0xC0,0x00,0x80,0x07,0x1F,0xFF,0xFE,0x00,0x00,0x00,0x60,0x0F,0x07,0xFE,0x0E,0x00,0x00,0x00,0x30,0x0F,0x01,0x80,0x0E,0x00,0x00,0x00,0x1C,0x0E,0x00,0x00,0x0E,0x00,0x00,0x00,0x0E,0x0E,0x00,0x00,0x0E,0x00,0x00,0x00,0x0F,0x1E,0x00,0x00,0x0E,0x00,0x00,0x00,0x07,0x9E,0x03,0x00,0x0E,0x00,0x00,0x00,0x03,0xFC,0x03,0xC0,0x0E,0x00,0x00,0x00,0x01,0xFC,0x03,0xF0,0x0E,0x00,0x00,0x00,0x00,0xFC,0x01,0xF8,0x0E,0x00,0x00,0x00,0x00,0x7C,0x00,0xF8,0x0E,0x00,0x00,0x00,0x00,0x7E,0x00,0x78,0x0E,0x00,0x00,0x00,0x00,0xFF,0x00,0x78,0x0E,0x00,0x00,0x00,0x01,0xFF,0x80,0x38,0x0F,0x00,0x00,0x00,0x01,0xEF,0x80,0x10,0x0F,0x00,0x00,0x00,0x03,0xC7,0xC0,0x00,0x0F,0x00,0x00,0x00,0x07,0x87,0xC0,0x00,0x0F,0x00,0x00,0x00,0x0F,0x03,0xE0,0x00,0x0F,0x00,0x00,0x00,0x1E,0x01,0xE0,0x00,0x0F,0x00,0x00,0x00,0x3C,0x01,0xE0,0x00,0x0F,0x00,0x00,0x00,0x78,0x00,0xE0,0x00,0x0F,0x00,0x00,0x00,0xF0,0x00,0x60,0x00,0x0F,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0x0F,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x08,0x00,0x00,0x00,0x06,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"对",1*/},{"疾",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xC0,0x00,0x00,0x00,0x08,0x01,0xFF,0xFE,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xF0,0x00,0x00,0x00,0x00,0x20,0x07,0x00,0xF8,0x00,0x00,0x00,0x00,0x7C,0x07,0x00,0xF8,0x00,0x00,0x00,0x00,0x3F,0x07,0x00,0xF0,0x00,0x00,0x00,0x00,0x1F,0x07,0x01,0xE0,0x1F,0x80,0x00,0x00,0x0F,0x87,0x01,0xC0,0xFF,0xC0,0x00,0x00,0x07,0x07,0x03,0xFF,0xFF,0x80,0x00,0x00,0x01,0x0F,0x07,0xFF,0xF8,0x00,0x00,0x00,0x00,0x0F,0x07,0x7F,0x80,0x00,0x00,0x00,0x00,0x0F,0x0E,0x0F,0x00,0x00,0x00,0x00,0x00,0x0F,0x18,0x0F,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x0E,0x00,0x1C,0x00,0x00,0x00,0x7E,0x00,0x0E,0x03,0xFF,0x00,0x00,0x01,0xFE,0x00,0x0F,0xFF,0xFF,0x80,0x00,0x07,0x9E,0x00,0x7F,0xFF,0xFF,0x80,0x00,0x1F,0x1F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0xFE,0x1C,0xFF,0xCE,0x00,0x00,0x00,0x07,0xF8,0x1C,0x70,0x0F,0x00,0x00,0x00,0x03,0xF0,0x3C,0x00,0x1D,0x80,0x00,0x00,0x01,0xE0,0x38,0x00,0x1D,0xC0,0x00,0x00,0x00,0xC0,0x38,0x00,0x1C,0xE0,0x00,0x00,0x00,0x00,0x78,0x00,0x3C,0x70,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x38,0x00,0x00,0x00,0x00,0xF0,0x00,0x78,0x3C,0x00,0x00,0x00,0x00,0xE0,0x00,0x70,0x1E,0x00,0x00,0x00,0x01,0xE0,0x00,0xF0,0x0F,0x00,0x00,0x00,0x01,0xC0,0x01,0xE0,0x0F,0x80,0x00,0x00,0x03,0x80,0x03,0xC0,0x07,0xE0,0x00,0x00,0x07,0x80,0x07,0x80,0x03,0xF8,0x00,0x00,0x0F,0x00,0x0F,0x00,0x03,0xFE,0x00,0x00,0x1E,0x00,0x3C,0x00,0x01,0xFF,0xC0,0x00,0x38,0x00,0x70,0x00,0x00,0xFF,0xF8,0x00,0x70,0x01,0x80,0x00,0x00,0x3E,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"疾",2*/},{"风",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x80,0x00,0x00,0x03,0xC1,0xFF,0xE0,0x3F,0x00,0x00,0x00,0x03,0xFF,0xF8,0x00,0x3E,0x00,0x00,0x00,0x01,0xF8,0x00,0x00,0x3E,0x00,0x00,0x00,0x01,0xE0,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0xE0,0x00,0x60,0x3C,0x00,0x00,0x00,0x00,0xE0,0x00,0x78,0x38,0x00,0x00,0x00,0x00,0xE0,0x00,0x7C,0x38,0x00,0x00,0x00,0x00,0xE0,0x00,0x7C,0x38,0x00,0x00,0x00,0x00,0xE0,0x00,0x7C,0x38,0x00,0x00,0x00,0x00,0xE0,0x00,0x78,0x38,0x00,0x00,0x00,0x00,0xE0,0x00,0x78,0x38,0x00,0x00,0x00,0x00,0xE1,0x00,0xF0,0x38,0x00,0x00,0x00,0x00,0xE1,0x80,0xF0,0x78,0x00,0x00,0x00,0x00,0xE0,0xC0,0xF0,0x78,0x00,0x00,0x00,0x00,0xE0,0x60,0xE0,0x78,0x00,0x00,0x00,0x00,0xE0,0x71,0xE0,0x78,0x00,0x00,0x00,0x00,0xE0,0x39,0xC0,0x78,0x00,0x00,0x00,0x00,0xE0,0x1F,0xC0,0x78,0x00,0x00,0x00,0x01,0xE0,0x1F,0xC0,0x78,0x00,0x00,0x00,0x01,0xE0,0x0F,0x80,0x38,0x00,0x00,0x00,0x01,0xE0,0x07,0x80,0x38,0x00,0x00,0x00,0x01,0xC0,0x07,0xC0,0x38,0x00,0x00,0x00,0x01,0xC0,0x0F,0xC0,0x38,0x00,0x00,0x00,0x01,0xC0,0x0F,0xE0,0x38,0x00,0x00,0x00,0x01,0xC0,0x1F,0xF0,0x38,0x00,0x00,0x00,0x03,0xC0,0x3C,0xF0,0x38,0x00,0x00,0x00,0x03,0x80,0x38,0xF8,0x38,0x00,0x00,0x00,0x03,0x80,0x70,0x7C,0x3C,0x00,0x00,0x00,0x07,0x80,0xE0,0x7C,0x1C,0x00,0x00,0x00,0x07,0x01,0xE0,0x3E,0x1C,0x00,0x00,0x00,0x07,0x03,0xC0,0x1E,0x1C,0x00,0x00,0x00,0x0F,0x07,0x00,0x1E,0x1E,0x00,0x20,0x00,0x0E,0x0E,0x00,0x0F,0x0E,0x00,0x20,0x00,0x1E,0x1C,0x00,0x0F,0x0F,0x00,0x20,0x00,0x1C,0x38,0x00,0x06,0x0F,0x80,0x60,0x00,0x38,0x60,0x00,0x00,0x07,0x80,0x60,0x00,0x70,0x00,0x00,0x00,0x03,0xC0,0xE0,0x00,0xE0,0x00,0x00,0x00,0x03,0xF0,0xE0,0x01,0xC0,0x00,0x00,0x00,0x01,0xF9,0xE0,0x03,0x80,0x00,0x00,0x00,0x00,0xFF,0xE0,0x06,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x08,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"风",3*/},{"吧",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x1F,0x83,0xF8,0x00,0x00,0x00,0x00,0x7F,0xFC,0x03,0xF0,0x00,0x00,0x00,0xE0,0x3F,0xEE,0x03,0xF0,0x00,0x00,0x03,0xF8,0x3E,0x0F,0x03,0xE0,0x00,0x00,0x0F,0xFC,0x3C,0x0F,0x03,0xC0,0x00,0x1F,0xFF,0xFE,0x1C,0x0F,0x03,0xC0,0x00,0x0F,0xF8,0xFC,0x1C,0x0E,0x03,0x80,0x00,0x0F,0x80,0xF8,0x18,0x0E,0x03,0x80,0x00,0x07,0x80,0x78,0x18,0x0E,0x07,0x00,0x00,0x07,0x80,0x78,0x18,0x0E,0x07,0x80,0x00,0x07,0x80,0x70,0x18,0x0E,0x3F,0xC0,0x00,0x03,0x80,0x70,0x18,0x0F,0xFF,0x80,0x00,0x03,0x80,0x70,0x18,0x0F,0xFC,0x00,0x00,0x03,0x80,0xE0,0x18,0x7F,0xC0,0x00,0x00,0x03,0x80,0xE0,0x1B,0xFC,0x00,0x00,0x00,0x03,0x80,0xE0,0x1F,0xC0,0x00,0x00,0x00,0x03,0x83,0xF0,0x1C,0x00,0x00,0x00,0x00,0x03,0x9F,0xF0,0x18,0x00,0x00,0x00,0x00,0x01,0xFF,0xC0,0x18,0x00,0x00,0x00,0x00,0x01,0xF8,0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0x07,0xC0,0x00,0x07,0xF8,0x00,0x00,0x00,0x07,0xF8,0x00,0x7F,0xF8,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"吧",4*/},{"!",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",5*/}};cFONT Font48CN = {Font48CN_Table,FONT_CN_SIZE(Font48CN_Table, FONT_48_WIDTH, FONT_48_HEIGHT), // ← 正确计算32, // ASCII_WidthFONT_48_WIDTH, // WidthFONT_48_HEIGHT, // Height};
用此方法可生成其它字体文件。
helloHINK.ino
ReadguyDriver myDisplay; //新建一个readguy对象, 用于显示驱动.void setup() {Serial.begin(115200); //初始化串口Serial.println("");myDisplay.init(1);myDisplay.setEpdDriver(true, true);myDisplay.fillScreen(TFT_WHITE); // 全屏填充颜色myDisplay.setTextColor(0, 1); //设置显示的颜色. 0代表黑色, 1代表白色drawStringCN_PROGMEM(myDisplay, 0, 10, "面对疾风吧!", &Font24CN, TFT_BLACK, TFT_WHITE);drawStringCN_PROGMEM(myDisplay, 20, 100, "面对疾风吧!", &Font48CN, TFT_BLACK, TFT_WHITE, 5, 10);myDisplay.display();myDisplay.sleepEPD(); //进入睡眠模式, 屏幕不再刷新.}void loop() {delay(10); // 降低CPU占用}