25、字符缩放显示任意大小(LCD|OLED)

在常见的显示屏中无论是 ASCII 字符还是 GB2312 的字符,都只能显示字库中设定的字体大小,例如,我们想显示一些像素大小为 48x48 的字符,那我们又得制作相应的字库,非常麻烦。为此在野火的基础上编写了一些函数,简便地实现显示任意大小字符的目的。
显示任意大小字符的功能,其核心是缩放字模,通过 LCD_zoomChar 函数对原始字模数据进行缩放
直接上代码:
使用说明:
1、更改LCD参数宏
2、选择字符取模宏:dDislay_Scheme
3、调用LCD_DisplayString(0, 0, 128, 128, (uint8_t )“4”, 1);函数显示所需字符串,中英文都可以,尺寸最大128128

/**********************************************************************
*file:LCD显示屏缩放显示应用文件
*author:残梦
*versions:V1.0
*date:2023.09.15
*note:使用说明:
	1、更改LCD参数宏
	2、选择字符取模宏:dDislay_Scheme
	3、调用LCD_DisplayString(0, 0, 128, 128, (uint8_t *)"4", 1);函数显示所需字符串,中英文都可以,尺寸最大128*128
**********************************************************************/

#include "stdio.h"
#include "stdint.h"

//LCD参数宏
#define dLCD_Width 240 //显示屏宽度
#define dLCD_Height 240 //显示屏高度

//为了减小内存,数据来源分两种方案:
//A-ASCII码全部都有,不支持汉字,耗用内存较大;
//B-需要使用到的字符,自己取模放置到FontsLibrary16x32数组、FontsList数组、FontsLibrary32x32数组中,消耗内存较小
#define dDislay_Scheme 0 //1--方案A,0--方案B
#if dDislay_Scheme//方案A
const uint8_t ASCII16x32_Table[] = {       //@conslons字体,阴码点阵格式,逐行顺向取摸

0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 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, 0x03,0x80,
0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80,
0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x00,0x00, 0x00,0x00, 0x03,0x80, 0x03,0xc0,
0x03,0x80, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x0e,0x70, 0x0e,0x70,
0x0e,0x70, 0x0e,0x70, 0x0e,0x70, 0x0c,0x30, 0x0c,0x30, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x06,0x18, 0x06,0x38, 0x06,0x30, 0x06,0x30, 0x7f,0xfe, 0x7f,0xfe, 0x0c,0x30, 0x0c,0x30,
0x0c,0x30, 0x0c,0x30, 0x7f,0xfe, 0x7f,0xfe, 0x0c,0x60, 0x1c,0x60, 0x18,0x60, 0x18,0x60,
0x18,0x60, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0xc0, 0x00,0xc0, 0x00,0xc0,
0x07,0xf8, 0x1f,0xf8, 0x38,0xc0, 0x31,0xc0, 0x31,0x80, 0x39,0x80, 0x3d,0x80, 0x1f,0x80,
0x07,0xf0, 0x01,0xf8, 0x03,0xbc, 0x03,0x1c, 0x03,0x0c, 0x03,0x1c, 0x23,0x3c, 0x3f,0xf8,
0x3f,0xe0, 0x07,0x00, 0x06,0x00, 0x06,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x1c,0x07, 0x7e,0x06,
0x63,0x0c, 0x63,0x18, 0x63,0x38, 0x63,0x30, 0x7e,0x60, 0x3c,0xe0, 0x00,0xc0, 0x01,0x80,
0x03,0x80, 0x03,0x38, 0x06,0x7e, 0x0c,0xc6, 0x1c,0xc6, 0x18,0xc6, 0x30,0xc6, 0x70,0xee,
0x60,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, 0x0f,0xc0,
0x1f,0xe0, 0x18,0x70, 0x38,0x70, 0x38,0x70, 0x18,0x70, 0x1c,0xe0, 0x0f,0xc0, 0x0f,0x00,
0x3f,0x8c, 0x3b,0x8c, 0x71,0xcc, 0x60,0xec, 0x60,0x7c, 0x70,0x38, 0x70,0x7c, 0x3f,0xfe,
0x1f,0xcf, 0x00,0x00, 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,0xc0, 0x03,0xc0,
0x03,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x30, 0x00,0x60,
0x00,0xe0, 0x01,0xc0, 0x03,0x80, 0x03,0x00, 0x07,0x00, 0x07,0x00, 0x06,0x00, 0x0e,0x00,
0x0e,0x00, 0x0e,0x00, 0x0e,0x00, 0x0e,0x00, 0x0e,0x00, 0x06,0x00, 0x07,0x00, 0x07,0x00,
0x03,0x80, 0x03,0x80, 0x01,0xc0, 0x00,0xe0, 0x00,0x70, 0x00,0x30, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x0c,0x00, 0x0e,0x00,
0x07,0x00, 0x03,0x80, 0x01,0xc0, 0x01,0xc0, 0x00,0xe0, 0x00,0xe0, 0x00,0x60, 0x00,0x70,
0x00,0x70, 0x00,0x70, 0x00,0x70, 0x00,0x70, 0x00,0x60, 0x00,0x60, 0x00,0xe0, 0x00,0xe0,
0x01,0xc0, 0x01,0xc0, 0x03,0x80, 0x07,0x00, 0x0e,0x00, 0x0c,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x01,0x80, 0x01,0x80,
0x01,0x88, 0x19,0x98, 0x0f,0xf8, 0x03,0xc0, 0x03,0xc0, 0x1f,0xf8, 0x19,0x98, 0x01,0x80,
0x01,0x80, 0x01,0x80, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 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,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80,
0x01,0x80, 0x7f,0xfe, 0x7f,0xfe, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 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, 0x03,0xc0, 0x03,0xc0,
0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x07,0x80, 0x1f,0x00, 0x10,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x0f,0xf0, 0x0f,0xf0, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 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,0xc0, 0x03,0xc0, 0x03,0xc0,
0x03,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,0x1c, 0x00,0x18,
0x00,0x38, 0x00,0x30, 0x00,0x70, 0x00,0x60, 0x00,0x60, 0x00,0xc0, 0x00,0xc0, 0x01,0xc0,
0x01,0x80, 0x03,0x80, 0x03,0x00, 0x07,0x00, 0x06,0x00, 0x0e,0x00, 0x0c,0x00, 0x0c,0x00,
0x18,0x00, 0x18,0x00, 0x38,0x00, 0x30,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x07,0xf0, 0x1f,0xf8, 0x18,0x38, 0x38,0x1c, 0x30,0x0c, 0x30,0x3c, 0x70,0x7e, 0x71,0xee,
0x73,0xce, 0x7f,0x0e, 0x7e,0x0e, 0x38,0x0c, 0x30,0x0c, 0x38,0x1c, 0x1c,0x38, 0x1f,0xf0,
0x07,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,
0x03,0xc0, 0x0f,0xc0, 0x3f,0xc0, 0x39,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0,
0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x3f,0xfc,
0x3f,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x0f,0xe0, 0x3f,0xf0, 0x18,0x38, 0x00,0x38, 0x00,0x18, 0x00,0x18, 0x00,0x38, 0x00,0x30,
0x00,0x70, 0x00,0xe0, 0x01,0xc0, 0x03,0x80, 0x07,0x00, 0x0e,0x00, 0x1c,0x00, 0x3f,0xfc,
0x3f,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x1f,0xe0, 0x1f,0xf0, 0x00,0x38, 0x00,0x38, 0x00,0x38, 0x00,0x38, 0x00,0x70, 0x07,0xe0,
0x07,0xf0, 0x00,0x78, 0x00,0x1c, 0x00,0x1c, 0x00,0x1c, 0x00,0x1c, 0x00,0x38, 0x3f,0xf0,
0x3f,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,0xf0, 0x01,0xf0, 0x01,0xb0, 0x03,0x30, 0x07,0x30, 0x06,0x30, 0x0c,0x30, 0x1c,0x30,
0x38,0x30, 0x30,0x30, 0x70,0x30, 0x7f,0xfe, 0x7f,0xfe, 0x00,0x30, 0x00,0x30, 0x00,0x30,
0x00,0x30, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x1f,0xf8, 0x1f,0xf8, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x1f,0xe0,
0x1f,0xf8, 0x00,0x38, 0x00,0x1c, 0x00,0x1c, 0x00,0x1c, 0x00,0x18, 0x00,0x38, 0x1f,0xf0,
0x1f,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,
0x01,0xf8, 0x07,0xf8, 0x0e,0x00, 0x1c,0x00, 0x18,0x00, 0x38,0x00, 0x31,0xc0, 0x3f,0xf8,
0x3e,0x3c, 0x30,0x1c, 0x30,0x0c, 0x30,0x0c, 0x38,0x0c, 0x38,0x0c, 0x1c,0x1c, 0x1f,0xf8,
0x07,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,
0x3f,0xfc, 0x3f,0xfc, 0x00,0x1c, 0x00,0x18, 0x00,0x38, 0x00,0x30, 0x00,0x70, 0x00,0x60,
0x00,0xe0, 0x00,0xc0, 0x01,0xc0, 0x01,0x80, 0x03,0x80, 0x07,0x00, 0x07,0x00, 0x0e,0x00,
0x0e,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x0f,0xf0, 0x1e,0x78, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x3c,0x18, 0x1e,0x78, 0x0f,0xe0,
0x07,0xe0, 0x1e,0x78, 0x3c,0x3c, 0x38,0x1c, 0x30,0x0c, 0x30,0x0c, 0x38,0x1c, 0x1f,0xf8,
0x0f,0xf0, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x0f,0xe0, 0x1e,0x78, 0x38,0x38, 0x30,0x1c, 0x70,0x1c, 0x70,0x0c, 0x30,0x0c, 0x38,0x1c,
0x3e,0xfc, 0x0f,0xec, 0x00,0x1c, 0x00,0x1c, 0x00,0x18, 0x00,0x38, 0x00,0xf0, 0x1f,0xe0,
0x1f,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
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,0xc0, 0x03,0xc0, 0x03,0xc0, 0x01,0x80,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x01,0x80, 0x03,0xc0, 0x03,0xc0,
0x03,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, 0x03,0xc0, 0x03,0xc0, 0x03,0xc0, 0x01,0x80,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x03,0xc0, 0x03,0xc0, 0x03,0xc0,
0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x07,0x80, 0x0f,0x00, 0x00,0x00, 0x00,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,0x38, 0x00,0x70, 0x01,0xe0, 0x03,0xc0, 0x07,0x00,
0x0e,0x00, 0x3c,0x00, 0x1c,0x00, 0x0e,0x00, 0x07,0x80, 0x01,0xc0, 0x00,0xe0, 0x00,0x78,
0x00,0x10, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x3f,0xfc,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x3f,0xfc, 0x3f,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x08,0x00, 0x1c,0x00, 0x0e,0x00, 0x07,0x00, 0x03,0xc0, 0x00,0xe0,
0x00,0x70, 0x00,0x3c, 0x00,0x38, 0x00,0x70, 0x01,0xe0, 0x03,0x80, 0x07,0x00, 0x1e,0x00,
0x08,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x0e,0x00, 0x0f,0xc0,
0x03,0xe0, 0x00,0x70, 0x00,0x38, 0x00,0x38, 0x00,0x38, 0x00,0x38, 0x00,0x78, 0x03,0xf0,
0x03,0xc0, 0x03,0x00, 0x03,0x00, 0x03,0x00, 0x00,0x00, 0x00,0x00, 0x07,0x00, 0x07,0x80,
0x07,0x00, 0x00,0x00, 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,0xe0, 0x07,0xf8,
0x0e,0x1c, 0x1c,0x0e, 0x18,0x06, 0x30,0x06, 0x30,0x03, 0x61,0xf3, 0x63,0xf3, 0x66,0x33,
0xe6,0x73, 0xce,0x63, 0xcc,0x63, 0xcc,0x66, 0xcc,0x66, 0xcc,0xe6, 0xcf,0xfc, 0xc7,0x3c,
0x60,0x00, 0x60,0x00, 0x60,0x00, 0x30,0x00, 0x3c,0x30, 0x1f,0xf0, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x03,0xc0, 0x03,0xc0, 0x07,0xe0, 0x06,0xe0, 0x06,0x60, 0x0e,0x70, 0x0c,0x70, 0x0c,0x30,
0x1c,0x38, 0x18,0x38, 0x38,0x1c, 0x3f,0xfc, 0x3f,0xfc, 0x70,0x0e, 0x70,0x0e, 0x60,0x06,
0xe0,0x07, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x3f,0xf0, 0x3f,0xf8, 0x38,0x38, 0x38,0x1c, 0x38,0x1c, 0x38,0x18, 0x38,0x38, 0x3f,0xf0,
0x3f,0xf0, 0x38,0x3c, 0x38,0x1c, 0x38,0x0c, 0x38,0x0c, 0x38,0x1c, 0x38,0x3c, 0x3f,0xf8,
0x3f,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,
0x07,0xfc, 0x0f,0xfc, 0x1e,0x00, 0x38,0x00, 0x38,0x00, 0x30,0x00, 0x70,0x00, 0x70,0x00,
0x70,0x00, 0x70,0x00, 0x70,0x00, 0x30,0x00, 0x38,0x00, 0x3c,0x00, 0x1e,0x04, 0x0f,0xfc,
0x03,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x3f,0xe0, 0x3f,0xf0, 0x30,0x38, 0x30,0x1c, 0x30,0x0c, 0x30,0x0e, 0x30,0x0e, 0x30,0x0e,
0x30,0x0e, 0x30,0x0e, 0x30,0x0e, 0x30,0x0c, 0x30,0x1c, 0x30,0x1c, 0x30,0x78, 0x3f,0xf0,
0x3f,0x80, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x1f,0xf8, 0x1f,0xf8, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x1f,0xf8,
0x1f,0xf8, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x1f,0xf8,
0x1f,0xf8, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x1f,0xf8, 0x1f,0xf8, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x1f,0xf8,
0x1f,0xf8, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00,
0x18,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x07,0xfc, 0x0f,0xfc, 0x1c,0x00, 0x38,0x00, 0x30,0x00, 0x70,0x00, 0x70,0x00, 0x70,0xfc,
0x70,0xfc, 0x70,0x0c, 0x70,0x0c, 0x70,0x0c, 0x30,0x0c, 0x38,0x0c, 0x1c,0x0c, 0x0f,0xfc,
0x07,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x3f,0xfc,
0x3f,0xfc, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c,
0x30,0x0c, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x3f,0xfc, 0x3f,0xfc, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80,
0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x3f,0xfc,
0x3f,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x1f,0xf0, 0x1f,0xf0, 0x00,0x30, 0x00,0x30, 0x00,0x30, 0x00,0x30, 0x00,0x30, 0x00,0x30,
0x00,0x30, 0x00,0x30, 0x00,0x30, 0x00,0x30, 0x00,0x30, 0x00,0x30, 0x10,0x70, 0x1f,0xe0,
0x1f,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,
0x38,0x1c, 0x38,0x38, 0x38,0x70, 0x38,0xe0, 0x38,0xc0, 0x39,0x80, 0x3b,0x00, 0x3f,0x00,
0x3f,0x00, 0x3b,0x00, 0x3b,0x80, 0x39,0xc0, 0x38,0xe0, 0x38,0x70, 0x38,0x38, 0x38,0x3c,
0x38,0x1c, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x1c,0x00, 0x1c,0x00, 0x1c,0x00, 0x1c,0x00, 0x1c,0x00, 0x1c,0x00, 0x1c,0x00, 0x1c,0x00,
0x1c,0x00, 0x1c,0x00, 0x1c,0x00, 0x1c,0x00, 0x1c,0x00, 0x1c,0x00, 0x1c,0x00, 0x1f,0xfc,
0x1f,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 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,0x1c, 0x38,0x1c, 0x6c,0x3e, 0x6c,0x3e, 0x6c,0x6e, 0x66,0x6e, 0x66,0x6e, 0x67,0xce,
0x63,0xce, 0x63,0x86, 0x61,0x86, 0x60,0x06, 0x60,0x06, 0x60,0x06, 0x60,0x06, 0x60,0x06,
0x60,0x06, 0x00,0x00, 0x00,0x00, 0x00,0x00, 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,0x0c, 0x3c,0x0c, 0x3c,0x0c, 0x3e,0x0c, 0x36,0x0c, 0x37,0x0c, 0x33,0x0c, 0x33,0x8c,
0x31,0x8c, 0x31,0xcc, 0x30,0xcc, 0x30,0xec, 0x30,0x6c, 0x30,0x7c, 0x30,0x3c, 0x30,0x3c,
0x30,0x1c, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x0f,0xf0, 0x1f,0xf8, 0x38,0x1c, 0x38,0x1c, 0x70,0x0e, 0x70,0x0e, 0x70,0x0e, 0x60,0x06,
0x60,0x06, 0x60,0x06, 0x70,0x0e, 0x70,0x0e, 0x70,0x0c, 0x38,0x1c, 0x3c,0x38, 0x1f,0xf8,
0x0f,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,
0x3f,0xe0, 0x3f,0xf8, 0x38,0x3c, 0x38,0x1c, 0x38,0x0c, 0x38,0x0c, 0x38,0x0c, 0x38,0x1c,
0x38,0x78, 0x3f,0xf0, 0x3f,0xc0, 0x38,0x00, 0x38,0x00, 0x38,0x00, 0x38,0x00, 0x38,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,
0x0f,0xf0, 0x1f,0xf8, 0x38,0x1c, 0x38,0x1c, 0x70,0x0e, 0x70,0x0e, 0x70,0x0e, 0x60,0x06,
0x60,0x06, 0x60,0x06, 0x70,0x0e, 0x70,0x0e, 0x70,0x0c, 0x38,0x1c, 0x3c,0x38, 0x1f,0xf8,
0x0f,0xe0, 0x01,0x80, 0x01,0x80, 0x01,0xe2, 0x00,0xff, 0x00,0x3c, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x3f,0xe0, 0x3f,0xf8, 0x38,0x38, 0x38,0x18, 0x38,0x18, 0x38,0x18, 0x38,0x38, 0x3f,0xf0,
0x3f,0xc0, 0x39,0xe0, 0x38,0x60, 0x38,0x70, 0x38,0x38, 0x38,0x38, 0x38,0x1c, 0x38,0x1c,
0x38,0x0e, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x0f,0xf8, 0x1f,0xf8, 0x38,0x00, 0x38,0x00, 0x30,0x00, 0x38,0x00, 0x1e,0x00, 0x0f,0x80,
0x07,0xf0, 0x00,0xf8, 0x00,0x3c, 0x00,0x1c, 0x00,0x1c, 0x00,0x1c, 0x00,0x3c, 0x3f,0xf8,
0x3f,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,
0x7f,0xfe, 0x7f,0xfe, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80,
0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80,
0x01,0x80, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c,
0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x0c, 0x30,0x1c, 0x38,0x1c, 0x1f,0xf8,
0x0f,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,
0xe0,0x07, 0x70,0x06, 0x70,0x0e, 0x70,0x0e, 0x38,0x0c, 0x38,0x1c, 0x38,0x18, 0x1c,0x18,
0x1c,0x38, 0x0c,0x30, 0x0e,0x70, 0x0e,0x70, 0x06,0x60, 0x07,0xe0, 0x07,0xe0, 0x03,0xc0,
0x03,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,
0x60,0x06, 0x60,0x06, 0x60,0x06, 0x60,0x06, 0x60,0x06, 0x60,0x06, 0x61,0x86, 0x63,0xc6,
0x73,0xc6, 0x73,0xce, 0x76,0xee, 0x36,0x6c, 0x36,0x6c, 0x3c,0x7c, 0x3c,0x3c, 0x3c,0x3c,
0x38,0x1c, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x70,0x0e, 0x38,0x1c, 0x1c,0x38, 0x1c,0x38, 0x0e,0x70, 0x06,0xe0, 0x07,0xe0, 0x03,0xc0,
0x03,0xc0, 0x03,0xc0, 0x07,0xe0, 0x0e,0x70, 0x1c,0x30, 0x1c,0x38, 0x38,0x1c, 0x70,0x1e,
0x70,0x0e, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0xe0,0x06, 0x70,0x0e, 0x38,0x0c, 0x38,0x1c, 0x1c,0x38, 0x1c,0x30, 0x0e,0x70, 0x06,0x60,
0x07,0xe0, 0x03,0xc0, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80,
0x01,0x80, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x3f,0xfc, 0x3f,0xfc, 0x00,0x1c, 0x00,0x38, 0x00,0x70, 0x00,0x60, 0x00,0xe0, 0x01,0xc0,
0x03,0x80, 0x03,0x80, 0x07,0x00, 0x0e,0x00, 0x0c,0x00, 0x1c,0x00, 0x38,0x00, 0x3f,0xfc,
0x3f,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x07,0xf0, 0x07,0xf0,
0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00,
0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00,
0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x07,0xf0, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x38,0x00, 0x18,0x00,
0x1c,0x00, 0x0c,0x00, 0x0c,0x00, 0x06,0x00, 0x06,0x00, 0x07,0x00, 0x03,0x00, 0x03,0x80,
0x01,0x80, 0x01,0xc0, 0x00,0xc0, 0x00,0xe0, 0x00,0x60, 0x00,0x60, 0x00,0x30, 0x00,0x30,
0x00,0x38, 0x00,0x18, 0x00,0x1c, 0x00,0x0c, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x0f,0xe0, 0x0f,0xe0,
0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60,
0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60,
0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60, 0x00,0x60, 0x0f,0xe0, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x03,0x80, 0x03,0xc0, 0x06,0xe0, 0x06,0x60, 0x0c,0x30, 0x1c,0x38, 0x18,0x18, 0x30,0x1c,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0xff,0xff, 0xff,0xff, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x1c,0x00, 0x0e,0x00,
0x07,0x00, 0x01,0x80, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x1f,0xf0, 0x1e,0xf8, 0x00,0x18, 0x00,0x1c,
0x00,0x1c, 0x07,0xfc, 0x1f,0xfc, 0x3c,0x1c, 0x38,0x1c, 0x30,0x1c, 0x38,0x7c, 0x3f,0xfc,
0x1f,0xdc, 0x00,0x00, 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, 0x38,0x00,
0x38,0x00, 0x38,0x00, 0x38,0x00, 0x38,0x00, 0x3b,0xf0, 0x3f,0xf8, 0x3e,0x1c, 0x38,0x0c,
0x38,0x0c, 0x38,0x0c, 0x38,0x0c, 0x38,0x0c, 0x38,0x0c, 0x38,0x1c, 0x38,0x38, 0x3f,0xf0,
0x1f,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, 0x03,0xf8, 0x0f,0xf8, 0x1e,0x00, 0x1c,0x00,
0x38,0x00, 0x38,0x00, 0x38,0x00, 0x38,0x00, 0x38,0x00, 0x1c,0x00, 0x1e,0x00, 0x0f,0xf8,
0x03,0xf8, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x1c, 0x00,0x1c,
0x00,0x1c, 0x00,0x1c, 0x00,0x1c, 0x00,0x1c, 0x07,0xfc, 0x1f,0xfc, 0x18,0x1c, 0x38,0x1c,
0x30,0x1c, 0x30,0x1c, 0x30,0x1c, 0x30,0x1c, 0x30,0x1c, 0x38,0x3c, 0x38,0x7c, 0x1f,0xdc,
0x0f,0x9c, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x07,0xf0, 0x1e,0x78, 0x18,0x1c, 0x38,0x1c,
0x30,0x0c, 0x3f,0xfc, 0x3f,0xfc, 0x30,0x00, 0x30,0x00, 0x38,0x00, 0x1c,0x00, 0x1f,0xfc,
0x07,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x7e, 0x01,0xfe,
0x03,0xc0, 0x03,0x80, 0x03,0x00, 0x03,0x00, 0x03,0x00, 0x03,0x00, 0x7f,0xfc, 0x7f,0xfc,
0x03,0x00, 0x03,0x00, 0x03,0x00, 0x03,0x00, 0x03,0x00, 0x03,0x00, 0x03,0x00, 0x03,0x00,
0x03,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x0f,0xfe, 0x1c,0x7e, 0x18,0x38, 0x38,0x18,
0x38,0x18, 0x38,0x38, 0x1c,0x78, 0x1f,0xf0, 0x3b,0x80, 0x30,0x00, 0x38,0x00, 0x1f,0xf8,
0x1f,0xfc, 0x30,0x0e, 0x70,0x0e, 0x70,0x0c, 0x3c,0x3c, 0x1f,0xf8, 0x01,0x80, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x38,0x00, 0x38,0x00,
0x38,0x00, 0x38,0x00, 0x38,0x00, 0x38,0x00, 0x3b,0xf0, 0x3f,0xf8, 0x3c,0x18, 0x38,0x1c,
0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c,
0x38,0x1c, 0x00,0x00, 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,0x80, 0x03,0xc0,
0x03,0xc0, 0x01,0x80, 0x00,0x00, 0x00,0x00, 0x1f,0xc0, 0x1f,0xc0, 0x01,0xc0, 0x01,0xc0,
0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x3f,0xfc,
0x3f,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x60, 0x00,0x70,
0x00,0x70, 0x00,0x70, 0x00,0x00, 0x00,0x00, 0x3f,0xf0, 0x3f,0xf0, 0x00,0x70, 0x00,0x70,
0x00,0x70, 0x00,0x70, 0x00,0x70, 0x00,0x70, 0x00,0x70, 0x00,0x70, 0x00,0x70, 0x00,0x70,
0x00,0x70, 0x00,0x70, 0x00,0x70, 0x00,0x60, 0x39,0xe0, 0x3f,0xc0, 0x06,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x18,0x00, 0x18,0x00,
0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x1c, 0x18,0x38, 0x18,0x70, 0x19,0xe0,
0x1b,0xc0, 0x1f,0x00, 0x1b,0x80, 0x19,0xc0, 0x19,0xe0, 0x18,0xf0, 0x18,0x78, 0x18,0x3c,
0x18,0x1e, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x1f,0xc0, 0x1f,0xc0,
0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0,
0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x3f,0xfc,
0x3f,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x6f,0x3c, 0x6f,0xec, 0x79,0xce, 0x71,0xce,
0x71,0x8e, 0x71,0x8e, 0x71,0x8e, 0x71,0x8e, 0x71,0x8e, 0x71,0x8e, 0x71,0x8e, 0x71,0x8e,
0x71,0x8e, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x33,0xf0, 0x3f,0xf8, 0x3c,0x18, 0x38,0x1c,
0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c,
0x38,0x1c, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x0f,0xf0, 0x1f,0xf8, 0x38,0x1c, 0x30,0x0c,
0x30,0x0c, 0x70,0x0e, 0x70,0x0e, 0x70,0x0e, 0x30,0x0c, 0x38,0x1c, 0x38,0x38, 0x1f,0xf8,
0x0f,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, 0x3b,0xf0, 0x3f,0xf8, 0x3e,0x1c, 0x38,0x0c,
0x38,0x0c, 0x38,0x0c, 0x38,0x0c, 0x38,0x0c, 0x38,0x0c, 0x38,0x1c, 0x38,0x38, 0x3f,0xf0,
0x3f,0xe0, 0x38,0x00, 0x38,0x00, 0x38,0x00, 0x38,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, 0x07,0xfc, 0x1f,0x7c, 0x18,0x1c, 0x38,0x1c,
0x30,0x1c, 0x30,0x1c, 0x30,0x1c, 0x30,0x1c, 0x30,0x1c, 0x38,0x3c, 0x38,0x7c, 0x1f,0xdc,
0x0f,0x9c, 0x00,0x1c, 0x00,0x1c, 0x00,0x1c, 0x00,0x1c, 0x00,0x1c, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x19,0xf8, 0x1b,0xfc, 0x1e,0x0c, 0x1c,0x0c,
0x18,0x0e, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00, 0x18,0x00,
0x18,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x0f,0xf8, 0x1e,0x38, 0x18,0x00, 0x18,0x00,
0x1c,0x00, 0x0f,0x80, 0x07,0xf0, 0x00,0xf8, 0x00,0x38, 0x00,0x1c, 0x00,0x18, 0x1f,0xf8,
0x1f,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,
0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x7f,0xfc, 0x7f,0xfc, 0x06,0x00, 0x06,0x00,
0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x06,0x00, 0x07,0x00, 0x03,0xfc,
0x01,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
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,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c,
0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x1c, 0x38,0x3c, 0x18,0x7c, 0x1f,0xfc,
0x0f,0x9c, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x70,0x0e, 0x30,0x0c, 0x38,0x1c, 0x18,0x18,
0x1c,0x38, 0x1c,0x30, 0x0c,0x30, 0x0e,0x70, 0x06,0x60, 0x07,0xe0, 0x07,0xc0, 0x03,0xc0,
0x03,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, 0x60,0x06, 0x60,0x06, 0x60,0x06, 0x61,0x86,
0x71,0x8e, 0x73,0xce, 0x33,0xcc, 0x32,0xec, 0x36,0x6c, 0x36,0x6c, 0x3c,0x7c, 0x3c,0x3c,
0x1c,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, 0x38,0x1c, 0x1c,0x18, 0x1c,0x38, 0x0e,0x70,
0x07,0xe0, 0x03,0xc0, 0x03,0xc0, 0x03,0xc0, 0x07,0xe0, 0x0e,0x70, 0x1c,0x38, 0x38,0x1c,
0x78,0x1e, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x70,0x0e, 0x30,0x0c, 0x38,0x1c, 0x18,0x18,
0x1c,0x38, 0x1c,0x38, 0x0e,0x30, 0x0e,0x70, 0x06,0x60, 0x07,0xe0, 0x03,0xe0, 0x03,0xc0,
0x03,0xc0, 0x03,0x80, 0x03,0x80, 0x07,0x00, 0x7e,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, 0x1f,0xf8, 0x1f,0xf8, 0x00,0x38, 0x00,0x70,
0x00,0xe0, 0x01,0xc0, 0x03,0x80, 0x03,0x00, 0x07,0x00, 0x0e,0x00, 0x1c,0x00, 0x3f,0xfc,
0x3f,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0xf8, 0x01,0xf8,
0x01,0x80, 0x03,0x80, 0x03,0x80, 0x03,0x80, 0x03,0x80, 0x03,0x80, 0x03,0x80, 0x03,0x00,
0x3f,0x00, 0x3c,0x00, 0x0f,0x00, 0x03,0x00, 0x03,0x80, 0x03,0x80, 0x03,0x80, 0x03,0x80,
0x03,0x80, 0x03,0x80, 0x03,0x80, 0x01,0x80, 0x01,0xe0, 0x00,0xf8, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80,
0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80,
0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80,
0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x01,0x80, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x1e,0x00, 0x1f,0x80,
0x01,0x80, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x00,0xc0,
0x00,0xfc, 0x00,0x3c, 0x00,0xe0, 0x00,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0xc0,
0x01,0xc0, 0x01,0xc0, 0x01,0xc0, 0x01,0x80, 0x07,0x80, 0x1f,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x1e,0x00,
0x3f,0x06, 0x73,0x86, 0x61,0xfc, 0x60,0xfc, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
};

typedef struct _tFont
{
	const uint8_t *table;
	uint16_t Width;
	uint16_t Height;

} sFONT;

sFONT Font16x32 = {
  ASCII16x32_Table,
  16, /* Width */
  32, /* Height */
};
#else//方案B--取模方式:宋体-阴码-逐行式-32*32-顺向(高位在前)
#define dFontsSize32x32 (32*32/8)//格式32*32,字符时宽度/2
//所有取模的字符
uint8_t AsciiLibrary16x32[12][dFontsSize32x32/2 + 1] = {\
	{'0', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x06, 0x20, 0x0C, 0x30, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, \
		0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x18, 0x08, 0x18, 0x18, 0x18, 0x18, 0x0C, 0x30, 0x06, 0x20, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },/*"0",0*/
	{ '1',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x80,0x1F,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80 ,\
		 0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x03,0xC0,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },/*"1",1*/
	{ '2',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x08,0x38,0x10,0x18,0x20,0x0C,0x20,0x0C,0x30,0x0C,0x30,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18 ,\
		 0x00,0x30,0x00,0x60,0x00,0xC0,0x01,0x80,0x03,0x00,0x02,0x00,0x04,0x04,0x08,0x04,0x10,0x04,0x20,0x0C,0x3F,0xF8,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },/*"2",2*/
	{ '3',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x18,0x60,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x00,0x18,0x00,0x18,0x00,0x30,0x00,0x60 ,\
		 0x03,0xC0,0x00,0x70,0x00,0x18,0x00,0x08,0x00,0x0C,0x00,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x08,0x30,0x18,0x18,0x30,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },/*"3",3*/
	{ '4',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0xE0,0x00,0xE0,0x01,0x60,0x01,0x60,0x02,0x60,0x04,0x60,0x04,0x60,0x08,0x60 ,\
		 0x08,0x60,0x10,0x60,0x30,0x60,0x20,0x60,0x40,0x60,0x7F,0xFC,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x03,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },/*"4",4*/
	{ '5',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x0F,0xFC,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x13,0xE0,0x14,0x30 ,\
		 0x18,0x18,0x10,0x08,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x30,0x0C,0x30,0x0C,0x20,0x18,0x20,0x18,0x18,0x30,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },/*"5",5*/
	{ '6',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x06,0x18,0x0C,0x18,0x08,0x18,0x18,0x00,0x10,0x00,0x10,0x00,0x30,0x00,0x33,0xE0,0x36,0x30 ,\
		 0x38,0x18,0x38,0x08,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x18,0x0C,0x18,0x08,0x0C,0x18,0x0E,0x30,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },/*"6",6*/
	{ '7',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xFC,0x10,0x08,0x30,0x10,0x20,0x10,0x20,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x40 ,\
		 0x00,0x80,0x00,0x80,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },/*"7",7*/
	{ '8',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x0C,0x30,0x18,0x18,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x38,0x0C,0x38,0x08,0x1E,0x18,0x0F,0x20 ,\
		 0x07,0xC0,0x18,0xF0,0x30,0x78,0x30,0x38,0x60,0x1C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x30,0x18,0x18,0x30,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },/*"8",8*/
	{ '9',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x18,0x20,0x30,0x10,0x30,0x18,0x60,0x08,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x60,0x0C ,\
		 0x70,0x1C,0x30,0x2C,0x18,0x6C,0x0F,0x8C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x10,0x30,0x30,0x30,0x60,0x30,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },/*"9",9*/
	{ '-',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,\
		 0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },/*"-",10*/
	{ '.',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,\
		 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x3C,0x00,0x3C,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }/*".",11*/
};

uint8_t FontsList[] = "残梦";//所有取模的汉字
uint8_t FontsLibrary32x32[2][dFontsSize32x32] = {\
	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x1C,0x00,0x00,0x08,0x1B,0x00,0x3F,0xFC,0x18,0xC0,0x03,0x00,0x18,0xE0,0x03,0x00,0x18,0x60,
	 0x02,0x00,0x18,0x40,0x02,0x00,0x18,0x30,0x06,0x00,0x1B,0xF8,0x06,0x0B,0xFC,0x00,0x07,0xFC,0x18,0x00,0x04,0x18,0x18,0x00,0x0C,0x18,0x18,0x18,0x08,0x18,0x19,0xF8,
	 0x0E,0x10,0xFE,0x00,0x13,0x13,0x18,0x20,0x11,0xB0,0x18,0x30,0x21,0x30,0x08,0x60,0x41,0x20,0x0C,0xC0,0x00,0x60,0x0D,0x80,0x00,0x40,0x0F,0x00,0x00,0xC0,0x06,0x00,
	 0x00,0x80,0x0E,0x04,0x01,0x00,0x1B,0x04,0x03,0x00,0x71,0x84,0x06,0x00,0xC0,0xEC,0x08,0x03,0x00,0x7C,0x10,0x1C,0x00,0x3C,0x20,0x00,0x00,0x0C,0x00,0x00,0x00,0x00},/*"残",0*/

	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x08,0x00,0x00,0x70,0x0E,0x00,0x00,0x60,0x0C,0x00,0x00,0x60,0x0C,0x00,0x00,0x64,0x0C,0x30,0x1F,0xFE,0xFF,0xF8,
	 0x00,0x61,0x1E,0x00,0x00,0xF0,0x1E,0x00,0x00,0xEC,0x3D,0x00,0x01,0xEE,0x3C,0x80,0x03,0x66,0x6C,0xE0,0x02,0x60,0xCC,0x70,0x04,0x61,0x0C,0x3C,0x08,0x62,0x0C,0x10,
	 0x30,0x64,0x0C,0x00,0x00,0x4E,0x08,0x00,0x00,0x0C,0x00,0x80,0x00,0x1F,0xFF,0xC0,0x00,0x30,0x01,0xC0,0x00,0x60,0x03,0x80,0x00,0xD0,0x07,0x00,0x01,0x8C,0x0E,0x00,
	 0x02,0x06,0x1C,0x00,0x0C,0x06,0x30,0x00,0x10,0x04,0xE0,0x00,0x00,0x03,0x80,0x00,0x00,0x1E,0x00,0x00,0x00,0xF0,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/*"梦",1*/
};
#endif

static void LCD_ZoomChar(uint16_t in_width,uint16_t in_heig,uint16_t out_width,uint16_t out_heig,uint8_t *in_ptr,uint8_t *out_ptr,uint8_t en_cn);
static void LCD_DrawChar_Ex(uint16_t usX,uint16_t usY,uint16_t Font_width,uint16_t Font_Height,uint8_t *c,uint16_t DrawModel);
static int LCD_DisplaySchemeB_GetAscii(uint8_t ascii, uint16_t *pos);
static int LCD_DisplaySchemeB_GetFonts(uint16_t fonts, uint16_t *pos);

#define ZOOMMAXBUFF 16384//128*128
uint8_t zoomBuff[ZOOMMAXBUFF] = { 0 };	//用于缩放的缓存,最大支持到128*128
uint8_t zoomTempBuff[1024] = { 0 };
/**
 * @brief  缩放字模,缩放后的字模由1个像素点由8个数据位来表示
										0x01表示笔迹,0x00表示空白区
 * @param  in_width :原始字符宽度
 * @param  in_heig :原始字符高度
 * @param  out_width :缩放后的字符宽度
 * @param  out_heig:缩放后的字符高度
 * @param  in_ptr :字库输入指针	注意:1pixel 1bit
 * @param  out_ptr :缩放后的字符输出指针 注意: 1pixel 8bit
 *		out_ptr实际上没有正常输出,改成了直接输出到全局指针zoomBuff中
 * @param  en_cn :0为英文,1为中文
 * @retval 无
 */
static void LCD_ZoomChar(uint16_t in_width,	//原始字符宽度
	uint16_t in_heig,		//原始字符高度
	uint16_t out_width,	//缩放后的字符宽度
	uint16_t out_heig,	//缩放后的字符高度
	uint8_t *in_ptr,	//字库输入指针	注意:1pixel 1bit
	uint8_t *out_ptr, //缩放后的字符输出指针 注意: 1pixel 8bit
	uint8_t en_cn)		//0为英文,1为中文	
{
	uint8_t *pts, *ots;
	//根据源字模及目标字模大小,设定运算比例因子,左移16是为了把浮点运算转成定点运算
	unsigned int xrIntFloat_16 = (in_width << 16) / out_width + 1;
	unsigned int yrIntFloat_16 = (in_heig << 16) / out_heig + 1;

	unsigned int srcy_16 = 0;
	unsigned int y, x;
	uint8_t *pSrcLine;

	uint16_t byteCount, bitCount;

	//检查参数是否合法
	if (in_width > 48) return;												//字库不允许超过48像素
	if (in_width * in_heig == 0) return;
	if (in_width * in_heig > 48 * 48) return; 					//限制输入最大 48*48

	if (out_width * out_heig == 0) return;
	if (out_width * out_heig >= ZOOMMAXBUFF) return; //限制最大缩放 128*128
	pts = (uint8_t*)&zoomTempBuff;

	//为方便运算,字库的数据由1 pixel/1bit 映射到1pixel/8bit
	//0x01表示笔迹,0x00表示空白区
	if (en_cn == 0x00)//英文
	{
		//英文和中文字库上下边界不对,可在此处调整。需要注意tempBuff防止溢出
		for (byteCount = 0; byteCount < in_heig*in_width / 8; byteCount++)
		{
			for (bitCount = 0; bitCount < 8; bitCount++)
			{
				//把源字模数据由位映射到字节
				//in_ptr里bitX为1,则pts里整个字节值为1
				//in_ptr里bitX为0,则pts里整个字节值为0
				*pts++ = (in_ptr[byteCount] & (0x80 >> bitCount)) ? 1 : 0;
			}
		}
	}
	else //中文
	{
		for (byteCount = 0; byteCount < in_heig*in_width / 8; byteCount++)
		{
			for (bitCount = 0; bitCount < 8; bitCount++)
			{
				//把源字模数据由位映射到字节
				//in_ptr里bitX为1,则pts里整个字节值为1
				//in_ptr里bitX为0,则pts里整个字节值为0
				*pts++ = (in_ptr[byteCount] & (0x80 >> bitCount)) ? 1 : 0;
			}
		}
	}

	//zoom过程
	pts = (uint8_t*)&zoomTempBuff;	//映射后的源数据指针
	ots = (uint8_t*)&zoomBuff;	//输出数据的指针
	for (y = 0; y < out_heig; y++)	/*行遍历*/
	{
		unsigned int srcx_16 = 0;
		pSrcLine = pts + in_width * (srcy_16 >> 16);
		for (x = 0; x < out_width; x++) /*行内像素遍历*/
		{
			ots[x] = pSrcLine[srcx_16 >> 16]; //把源字模数据复制到目标指针中
			srcx_16 += xrIntFloat_16;			//按比例偏移源像素点
		}
		srcy_16 += yrIntFloat_16;				  //按比例偏移源像素点
		ots += out_width;
	}
	/*!!!缩放后的字模数据直接存储到全局指针zoomBuff里了*/
	out_ptr = (uint8_t*)&zoomBuff;	//out_ptr没有正确传出,后面调用直接改成了全局变量指针!

	/*实际中如果使用out_ptr不需要下面这一句!!!
		只是因为out_ptr没有使用,会导致warning。强迫症*/
	out_ptr++;
}

/**
 * @brief  利用缩放后的字模显示字符
 * @param  Xpos :字符显示位置x
 * @param  Ypos :字符显示位置y
 * @param  Font_width :字符宽度
 * @param  Font_Heig:字符高度
 * @param  c :要显示的字模数据
 * @param  DrawModel :是否反色显示
 * @retval 无
 */
static void LCD_DrawChar_Ex(uint16_t usX, //字符显示位置x
	uint16_t usY, //字符显示位置y
	uint16_t Font_width, //字符宽度
	uint16_t Font_Height,//字符高度 
	uint8_t *c,			//字模数据
	uint16_t DrawModel)	//是否反色显示
{
	uint32_t index = 0, counter = 0;
	uint16_t x = 0, y = 0;

	//按字节读取字模数据
	//由于前面直接设置了显示窗口,显示数据会自动换行
	for (index = 0; index < Font_Height; index++)
	{
		y++; x = 0;
		if ((usY + y) >= dLCD_Height)return;
		//一位一位处理要显示的颜色
		for (counter = 0; counter < Font_width; counter++)
		{
			//缩放后的字模数据,以一个字节表示一个像素位
			//整个字节值为1表示该像素为笔迹
			//整个字节值为0表示该像素为背景
			if (*c++ == DrawModel)printf("*");
			//LCD_Fast_DrawPoint(usX + x, usY + y, POINT_COLOR);
			else
				printf(" ");//LCD_Fast_DrawPoint(usX + x, usY + y, BACK_COLOR);
			x++;
			if ((usX + x) >= dLCD_Width)return;
		}
		printf("\n");
	}
}

#if dDislay_Scheme == 0
/****************************************************
@function:在库中查找ascii的位置
@param:ascii--待查找字符
		pos--库中位置
@return:-1--不存在,0--查找成功
@note:
****************************************************/
static int LCD_DisplaySchemeB_GetAscii(uint8_t ascii,uint16_t *pos)
{
	unsigned int FontsLibrarySize = 0, i = 0;
	unsigned char status = 0;

	//判断字符在库中存在不
	FontsLibrarySize = sizeof(AsciiLibrary16x32) / (dFontsSize32x32/2 + 1);
	i = 0;
	status = 0;
	while (i < FontsLibrarySize)
	{
		if (ascii == AsciiLibrary16x32[i][0]) { status = 1; break; }
		i++;
	}
	if (status == 0) return -1; //不存在
	*pos = i;
	return 0;
}

/****************************************************
@function:在库中查找fonts的位置
@param:fonts--待查找字符
		pos--库中位置
@return:-1--不存在,0--查找成功
@note:
****************************************************/
static int LCD_DisplaySchemeB_GetFonts(uint16_t fonts, uint16_t *pos)
{
	unsigned int FontsLibrarySize = 0, i = 0;
	unsigned char status = 0;
	uint16_t usCh = 0;  //中文

	//判断字符在库中存在不
	FontsLibrarySize = (sizeof(FontsList) - 1) / 2;
	i = 0;
	status = 0;
	while (i < FontsLibrarySize)
	{
		usCh = *(uint16_t *)(&FontsList[i*2]);
		usCh = (usCh << 8) + (usCh >> 8);
		if (usCh == fonts) { status = 1; break; }
		i++;
	}
	if (status == 0) return -1; //不存在
	*pos = i;
	return 0;
}
#endif

/****************************************************
@function:显示中英文字符串
@param: x,y--显示位置
		FontsWidth,FontsHeight--字体宽度、高度,最大128*128
		ptr--待显示的字符串
		DrawModel--是否反色显示
@return:-1--不存在,0--查找成功
@note:LCD_DisplayString(0, 0, 64, 64, (uint8_t *)"4梦0", 1);
****************************************************/
void LCD_DisplayZoomString(uint16_t x, uint16_t y, uint16_t FontsWidth, uint16_t FontsHeight, uint8_t *ptr, uint16_t DrawModel)
{
	uint8_t status = 0;

	uint16_t Charwidth = FontsWidth; //默认为Font_width,英文宽度为中文宽度的一半
	uint8_t *psr = NULL;
	uint16_t usCh = 0;  //中文
	uint8_t Ascii = 0;	//英文
	uint8_t *pAddress = NULL;
	uint16_t pos = 0;

	while (*ptr != '\0')
	{
		if (*ptr > 0x80)//如果是中文
		{
			Charwidth = FontsWidth;
			usCh = *(uint16_t *)ptr;
			usCh = (usCh << 8) + (usCh >> 8);
			status = 0;
			#if dDislay_Scheme
			{

			}
			#else
			{
				if (LCD_DisplaySchemeB_GetFonts(usCh, &pos) == 0)//去取模的库中查找
				{
					status = 1;
					pAddress = FontsLibrary32x32[pos];
				}
			}
			#endif

			//显示此中文
			if (status == 1)
			{
				LCD_ZoomChar(32, 32, Charwidth, FontsHeight, pAddress, psr, 0);//使用32*32字体缩放字模数据
				LCD_DrawChar_Ex(x, y, Charwidth, FontsHeight, (uint8_t*)&zoomBuff, DrawModel);//显示单个字符
			}
			x += Charwidth;
			ptr += 2;
		}
		else
		{
			Charwidth = FontsWidth / 2;
			Ascii = *ptr;

			status = 0;
			#if dDislay_Scheme
			{
				pAddress = (uint8_t *)&Font16x32.table[(Ascii - 32) * Font16x32.Height*Font16x32.Width / 8];
				status = 1;
			}
			#else
			{
				if (LCD_DisplaySchemeB_GetAscii(Ascii, &pos) == 0)
				{
					status = 1;
					pAddress = &AsciiLibrary16x32[pos][1];
				}
			}
			#endif

			if (status == 1)
			{
				LCD_ZoomChar(16, 32, Charwidth, FontsHeight, pAddress, psr, 0);//使用16*32字体缩放字模数据
				LCD_DrawChar_Ex(x, y, Charwidth, FontsHeight, (uint8_t*)&zoomBuff, DrawModel);//显示单个字符
			}
			x += Charwidth;
			ptr++;
		}
	}
}

使用示例:


int main()
{
	LCD_DisplayZoomString(0, 0, 64, 64, (uint8_t *)"4梦0123456789-.", 1);
	while (1);
}

25、字符缩放显示任意大小(LCD|OLED)_第1张图片
25、字符缩放显示任意大小(LCD|OLED)_第2张图片

你可能感兴趣的:(STM32,算法)