【STM32】标准库-LTDC-DMA2D

2023-05-16

LTDC

STM32F429 系列芯片内部自带一个 LTDC 液晶控制器,使用 SDRAM 的部分空间作为显存,可直
接控制液晶面板,无需额外增加液晶控制器芯片。

STM32 的 LTDC 液晶控制器最高支持 800x600分辨率的屏幕;可支持多种颜色格式,包括 RGB888、RGB565、ARGB8888 和 ARGB1555 等 (其中的“A”是指透明像素);支持 2 层显示数据混合,利用这个特性,可高效地做出背景和前景分离的显示效果,如以视频为背景,在前景显示弹幕。
在这里插入图片描述

  1. AHB 接口:用于将数据从存储器传输到 FIFO。
  2. 层 FIFO:每层一个 64x32 位 FIFO(根据设定的像素格式从AHB中获取数据)。
  3. PFC:执行像素格式转换的像素格式转换器,从层的所选输入像素格式转换为字(ARGB888)。
  4. “混合单元”把两层数据合并起来,最终混合得到的是单层要显示的数据(ARGB888),通过信号线输出到液晶面板

在输出前混合单元的数据还经过一个“抖动单元”,它的作用是当像素数据格式的色深大于液晶面板实际色深时,对像素数据颜色进行舍入操作

LTDC的时钟

LTDC 外设使用 3 种时钟信号,包括 AHB 时钟、APB2 时钟及像素时钟 LCD_CLK。AHB 时钟
用于驱动数据从存储器存储到 FIFO,APB2 时钟用于驱动 LTDC 的寄存器。而 LCD_CLK 用于
生成与液晶面板通讯的同步时钟
在这里插入图片描述

LTDC接口

显示器控制器提供并行数字 RGB(红色、绿色、蓝色)以及水平同步、垂直同步、像素时钟和数据使能信号
在这里插入图片描述

LTDC的配置参数

在这里插入图片描述
在这里插入图片描述

恒定的背景色

这个背景指的是LTDC的背景色,而不是前景层和背景层的颜色
LTDC 背景色配置寄存器 (LTDC_BCCR)
在这里插入图片描述
每层都有其自己的默认颜色
每层可具有 ARGB 格式的默认颜色,该颜色在定义的层窗口外使用或在层禁止时使用。
默认颜色通过 LTDC_LxDCCR 寄存器配置。

重载影子寄存器

对活动寄存器执行写操作时,或在 LTDC_SRCR 寄存器配置阶段之后的垂直消隐周期开始时,可将影子寄存器值立即重载到活动寄存器中。
影子寄存器均为第 1 层和第 2 层寄存器。

这句话的意思是,起作用的活动寄存器,我们可以通过重载影子寄存器来将寄存器的值传递到活动寄存器。重载影子寄存器将更新第1层和第2层的寄存器,使得我们的配置生效

如果选择了立即重载配置,则只应在所有新寄存器完成写操作后激活重载。

层混合

LTDC共有3层,分别为:LTDC背景层(颜色恒定),第一层(背景层),第二层(前景层)

混合顺序固定,即由下至上。如果使能了两层,首先第 1 层将与背景色混合,随后第 2 层与
第 1 层和背景的混合颜色结果再次混合。在这里插入图片描述

混合操作始终有效,两层可按照 LTDC_LxBFCRLTDC 第 x 层恒定 Alpha 配置寄存器 (LTDC_LxCACR)(其中 x=1..2) 寄存器中配置的混合系数进行混合。

始终在两层间执行混合操作,即便其中一层禁止也是如此。要避免层禁止时显示默认颜色,
需将 LTDC_LxBFCR 寄存器中此层的混合系数设置为其复位值。

真正的混合系数为除以255后得到的值
在这里插入图片描述
混合公式
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

前面提到两层数据源混合时可根据混合因子设置只使用恒定 Alpha 运算,还是把
像素的 Alpha 也加入到运算中。对于第 1 层数据源,我们不希望 LTDC 的默认
背景层参与到混合运算中,而希望第 1 层直接作为背景 (因为第 1 层的数据每个
像素点都是可控的,而背景层所有像素点都是同一个颜色)。因此我们把恒定 Alpha 值 (LTDC_ConstantAlpha) 设置为 255,即完全不透明,混合因子 BF1/BF2 参数
(LTDC_BlendingFactor_1/2) 都配置成 LTDC_BlendingFactor1/2_CA,即只使用恒定 Alpha 值运算,这样配置的结果是第 1 层的数据颜色直接等于它像素本身的 RGB 值,不
受像素中的 Alpha 值及背景影响。

DMA2D

在实际使用 LTDC 控制器控制液晶屏时,使 LTDC 正常工作后,往配置好的显存地址写入要显示的像素数据,LTDC 就会把这些数据从显存搬运到液晶面板进行显示,而显示数据的容量非常大,所以我们希望能用 DMA 来操作,针对这个需求,STM32 专门定制了 DMA2D 外设,它可用于快速绘制矩形、直线、分层数据混合、数据复制以及进行图像数据格式转换,可以把它理解为图形专用的 DMA。
在这里插入图片描述

在这里插入图片描述

DMA2D 前景层 (FG) FG FIFO 和背景层 (BG) FIFO 获取要复制和/或处理的输入数据。这些 FIFO 根据相应像素格式转换器 (PFC) 中定义的颜色格式获取像素。前景层像素和背景层像素的原始颜色格式分别通过DMA2D_FGPFCCR 和 DMA2D_BGPFCCR 的 CM[3:0] 位来配置。

FG PFC(FG Pixel Format Convertor) 与 BG PFC(BG Pixel Format Convertor) 是两个像素格式转换器,分别用于前景层和背景层的像素格式转换,不管从 FIFO 的数据源格式如何,都把它转化成字的格式 (即 32 位),ARGB8888。

混合器:FIFO 中的数据源经过 PFC 像素格式转换器后,前景层和背景层的图像都输入到混合器中运算
混合器不需要任何配置寄存器。是否使用混合器取决于 DMA2D_CR 寄存器的 MODE[1:0] 字段中定义的 DMA2D 工作模式。
在这里插入图片描述
OUT PFC 是输出像素格式转换器,它把混合器转换得到的图像转换成目标格式,如 ARGB8888、RGB888、RGB565、ARGB1555 或 ARGB4444,具体的格式可根据需要在输出 PFC 控制寄存器DMA2D_OPFCCR 中选择。

输出 FIFO:输出 FIFO 根据输出 PFC 中定义的颜色格式对像素进行编程。

DMA工作模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DMA行偏移的配置

前景层,背景层,输出层的行偏移意义都一样,照着下面代码改就行了
行偏移的意思是一行结束到下一行开始的距离,单位像素个数

/**
  * @brief  使用 DMA2D 来填充颜色
  * @param  x:起始点
  * @param  y:起始点
  * @param  width:宽度
  * @param  height:高度
  * @param  alpha:透明度
  * @param  reg:红色分量
  * @param  green:绿色分量
  * @param  blue:蓝色分量
  * @retval 0:成功
  *         1:失败
  */
int LCD_Fill(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint8_t alpha, uint8_t red, uint8_t green, uint8_t blue)
{
    uint32_t timeout = 0;
    DMA2D_InitTypeDef DMA2D_InitStruct = {0};

    /* 检查函数参数 */
    if((x + width) > LCD_PIXEL_WIDTH || (y + height) > LCD_PIXEL_HEIGHT)
    {
        return -1;
    }
    
    /* 检查 DMA2D 是否在运行 */
    while(READ_BIT(DMA2D->CR, DMA2D_CR_START) != RESET)
    {
        timeout++;
        if(timeout >= LTDC_DMA2D_TIMEOUT)
        {
            return -1;
        }
    }
    
    /* DMA2D配置 */
    /* DMA2D 的工作模式 */
    DMA2D_InitStruct.DMA2D_Mode = DMA2D_R2M;
    /* DMA2D 的输出 PFC 颜色格式,即它将要传输给显存的格式 */
    DMA2D_InitStruct.DMA2D_CMode = LCD_LAYER2_PIXEL_FORMAT;
    /* 配置 DMA2D 的寄存器颜色值,
       若 DMA2D 工作在寄存器到存储器(DMA2D_R2M)模式时,
       这个颜色值作为数据源,被 DMA2D 复制到显存空间 */
    DMA2D_InitStruct.DMA2D_OutputBlue = blue;
    DMA2D_InitStruct.DMA2D_OutputGreen = green;
    DMA2D_InitStruct.DMA2D_OutputRed = red;
    DMA2D_InitStruct.DMA2D_OutputAlpha = alpha;
    /* 配置 DMA2D 的输出 FIFO 的地址,内存地址
       DMA2D 的数据会被搬运到该空间,
       一般把它设置为本次传输显示位置的起始地址 */
    /* 公式:显存起始地址 + LCD 横向分辨率 * 像素点占用的字节数 * y + 像素点占用的字节数 * x */
    DMA2D_InitStruct.DMA2D_OutputMemoryAdd = LCD_LAYER2_VIDEO_BUFF_ADDR + LCD_PIXEL_WIDTH * LCD_LAYER2_PIXEL_BYTES * y + LCD_LAYER2_PIXEL_BYTES * x;
    /* 配置行偏移 (以像素为单位),行偏移会被添加到各行的结尾,
       用于确定下一行的起始地址 */
    /* 行偏移的意思是一行结束到下一行开始的距离,单位像素个数 */
    /* 公式:LCD 横向分辨率 - width */
    DMA2D_InitStruct.DMA2D_OutputOffset = LCD_PIXEL_WIDTH - width;
    /* 配置 DMA2D 一共要传输多少行数据 */
    /* 公式:height */
    DMA2D_InitStruct.DMA2D_NumberOfLine = height;
    /* 配置要传输区域的每行像素数。 */
    /* 公式:width */
    DMA2D_InitStruct.DMA2D_PixelPerLine = width;
    DMA2D_Init(&DMA2D_InitStruct);
    
    /* 开启DMA2D传输 */
    DMA2D_StartTransfer();

    return 0;
}

像素的存储格式

在这里插入图片描述

LTDC-DMA2D-填充与绘制图像Demo

使用 LTDC + DMA2D 仅使用一个缓冲区来存储显存,绘制图像Demo工程,有RGB888,ARGB8888,RGB565的图像。双图层的功能通过DMA2D的前景和背景实现,LTDC仅开启一个图层。
效果如下
**如果要绘制包含透明通道的图片,将DMA2D置与DMA2D_M2M_BLEND工作模式,具体如下
**

/* zfb 图像格式为ARGB8888,但是LCD_PFC_Copy不透明通道无效(DMA工作在DMA2D_M2M_BLEND),仅LCD_Mix_Copy生效(DMA工作在DMA2D_M2M_BLEND) */
LCD_PFC_Copy((uint32_t)gImage_zfb, LCD_VIDEO_BUFF0_ADDR, 0, 0, 0, 48, 48, 50, 0, LTDC_Pixelformat_ARGB8888);

LCD_Mix_Copy((uint32_t)gImage_zfb, LCD_VIDEO_BUFF0_ADDR, LCD_VIDEO_BUFF0_ADDR,    0, 1, 0, 0, 48, 48, 50, 50, 50, 50, LTDC_Pixelformat_ARGB8888, LTDC_Pixelformat_RGB888);

在这里插入图片描述

工程文件下载链接【STM32】标准库-LTDC-DMA2D-填充与绘制图像

绘制ASCII字符Demo

ASCII可打印字符如下
注意:第一个为空格字符

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

利用PC2LCD软件生成字模

在这里插入图片描述

ASCC 16 x 24 字体Times New Roman 的字模库数据如下:

  (0) !(1) "(2) #(3) $(4) %(5) &(6) '(7) ((8) )(9) *(10) +(11) ,(12) -(13) .(14) /(15) 0(16) 1(17) 2(18) 3(19) 4(20) 5(21) 6(22) 7(23) 8(24) 9(25) :(26) ;(27) <(28) =(29) >(30) ?(31)
 @(32) A(33) B(34) C(35) D(36) E(37) F(38) G(39) H(40) I(41) J(42) K(43) L(44) M(45) N(46) O(47) P(48) Q(49) R(50) S(51) T(52) U(53) V(54) W(55) X(56) Y(57) Z(58) [(59) \(60) ](61) ^(62) _(63)
 `(64) a(65) b(66) c(67) d(68) e(69) f(70) g(71) h(72) i(73) j(74) k(75) l(76) m(77) n(78) o(79) p(80) q(81) r(82) s(83) t(84) u(85) v(86) w(87) x(88) y(89) z(90) {(91) |(92) }(93) ~(94)
 
const unsigned char gFont_Ascii_16X24_Times_New_Foman[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* " ", index = 0 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "!", index = 1 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x66, 0x00, 0x66, 0x00, 0x66, 0x00, 0x44, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* """, index = 2 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x08, 0x40, 0x10, 0x80, 0x10, 0x80, 0x10, 0x80, 0xFF, 0xE0, 0x10, 0x80, 0x21, 0x00, 0x21, 0x00, 0xFF, 0xE0, 0x21, 0x00, 0x21, 0x00, 0x42, 0x00, 
0x42, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "#", index = 3 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x1F, 0x00, 0x35, 0x80, 0x64, 0x80, 0x64, 0x80, 0x74, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x05, 0x80, 0x04, 0xC0, 0x44, 0xC0, 0x44, 0xC0, 
0x65, 0x80, 0x3F, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "$", index = 4 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x6C, 0x04, 0xC6, 0x08, 0xC6, 0x10, 0xC6, 0x20, 0xC6, 0x20, 0x6C, 0x47, 0x38, 0x8D, 0x01, 0x18, 0x01, 0x18, 0x02, 0x18, 0x04, 0x18, 
0x08, 0x0D, 0x10, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "%", index = 5 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x0C, 0x40, 0x0C, 0x40, 0x0C, 0x40, 0x0C, 0x80, 0x07, 0x3C, 0x0E, 0x18, 0x13, 0x10, 0x23, 0xA0, 0x61, 0xC0, 0x60, 0xC0, 0x60, 0xE3, 
0x71, 0x7E, 0x3E, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "&", index = 6 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "'", index = 7 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x30, 0x00, 0x20, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
0x30, 0x00, 0x30, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, /* "(", index = 8 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x18, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 
0x08, 0x00, 0x18, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, /* ")", index = 9 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x35, 0x80, 0x35, 0x80, 0x0E, 0x00, 0x35, 0x80, 0x35, 0x80, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "*", index = 10 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0xFF, 0xE0, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "+", index = 11 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ",", index = 12 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "-", index = 13 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ".", index = 14 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "/", index = 15 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x11, 0x00, 0x31, 0x80, 0x20, 0x80, 0x60, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x20, 0x80, 0x31, 0x80, 
0x11, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "0", index = 16 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x3C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 
0x0C, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "1", index = 17 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x3F, 0x00, 0x63, 0x80, 0x41, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x40, 
0x3F, 0xC0, 0x7F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "2", index = 18 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x27, 0x00, 0x43, 0x00, 0x03, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x1F, 0x00, 0x07, 0x00, 0x03, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 
0x63, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "3", index = 19 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x13, 0x00, 0x13, 0x00, 0x23, 0x00, 0x43, 0x00, 0x83, 0x00, 0xFF, 0xC0, 0x03, 0x00, 0x03, 0x00, 
0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "4", index = 20 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x1F, 0x00, 0x10, 0x00, 0x38, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x03, 0x80, 0x01, 0x80, 0x01, 0x80, 0x00, 0x80, 0x00, 0x80, 0x01, 0x00, 
0x62, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "5", index = 21 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x2F, 0x00, 0x71, 0x80, 0x61, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x30, 0x80, 
0x31, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "6", index = 22 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x3F, 0x80, 0x40, 0x80, 0x00, 0x80, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 
0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "7", index = 23 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x31, 0x80, 0x60, 0xC0, 0x60, 0xC0, 0x70, 0xC0, 0x39, 0x80, 0x1E, 0x00, 0x0F, 0x00, 0x33, 0x80, 0x61, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 
0x31, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "8", index = 24 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x31, 0x80, 0x21, 0x80, 0x60, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x70, 0xC0, 0x30, 0xC0, 0x1F, 0x80, 0x01, 0x80, 0x01, 0x00, 0x06, 0x00, 
0x0C, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "9", index = 25 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ":", index = 26 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x60, 0x00, 0x70, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ";", index = 27 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xC0, 0x07, 0x00, 0x18, 0x00, 0x60, 0x00, 0x80, 0x00, 0x60, 0x00, 0x18, 0x00, 0x07, 0x00, 0x00, 0xC0, 0x00, 0x20, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "<", index = 28 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "=", index = 29 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0x00, 0x1C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x20, 0x00, 0xC0, 0x03, 0x00, 0x1C, 0x00, 0x60, 0x00, 0x80, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ">", index = 30 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x23, 0x00, 0x41, 0x80, 0x61, 0x80, 0x61, 0x80, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 
0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "?", index = 31 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x06, 0x0C, 0x01, 0x18, 0x00, 0x10, 0x72, 0x20, 0xCE, 0x21, 0x86, 0x61, 0x84, 0x43, 0x04, 0x43, 0x0C, 0x46, 0x0C, 0x46, 0x18, 0x46, 0x18, 
0x46, 0x79, 0x23, 0x9E, 0x20, 0x00, 0x10, 0x00, 0x08, 0x01, 0x06, 0x06, 0x01, 0xF8, 0x00, 0x00, /* "@", index = 32 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03, 0x80, 0x05, 0x80, 0x04, 0xC0, 0x04, 0xC0, 0x08, 0xC0, 0x08, 0x60, 0x1F, 0xE0, 0x10, 0x60, 0x20, 0x30, 0x20, 0x30, 
0x60, 0x38, 0xF0, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "A", index = 33 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x30, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0x3F, 0xC0, 0x30, 0x70, 0x30, 0x38, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 
0x30, 0x30, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "B", index = 34 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC8, 0x0C, 0x38, 0x10, 0x18, 0x30, 0x18, 0x60, 0x08, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x30, 0x08, 0x30, 0x10, 
0x1C, 0x20, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "C", index = 35 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x30, 0x70, 0x30, 0x38, 0x30, 0x18, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x18, 0x30, 0x30, 
0x30, 0x60, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "D", index = 36 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x30, 0x30, 0x30, 0x10, 0x30, 0x00, 0x30, 0x40, 0x30, 0x40, 0x3F, 0xC0, 0x30, 0x40, 0x30, 0x40, 0x30, 0x00, 0x30, 0x08, 0x30, 0x10, 
0x30, 0x30, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "E", index = 37 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x30, 0x60, 0x30, 0x20, 0x30, 0x00, 0x30, 0x80, 0x30, 0x80, 0x3F, 0x80, 0x30, 0x80, 0x30, 0x80, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
0x30, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "F", index = 38 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC8, 0x0C, 0x38, 0x10, 0x18, 0x30, 0x08, 0x20, 0x00, 0x60, 0x00, 0x60, 0x7E, 0x60, 0x18, 0x60, 0x18, 0x60, 0x18, 0x30, 0x18, 0x38, 0x18, 
0x1C, 0x38, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "G", index = 39 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x7E, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 0x3F, 0xF8, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 
0x30, 0x18, 0xFC, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "H", index = 40 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
0x30, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "I", index = 41 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0xCC, 0x00, 
0xE8, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "J", index = 42 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x7C, 0x30, 0x30, 0x30, 0x40, 0x30, 0x80, 0x31, 0x00, 0x32, 0x00, 0x3E, 0x00, 0x37, 0x00, 0x33, 0x80, 0x31, 0xC0, 0x30, 0xE0, 0x30, 0x70, 
0x30, 0x38, 0xFC, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "K", index = 43 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x10, 0x30, 0x30, 
0x30, 0x60, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "L", index = 44 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x38, 0x07, 0x3C, 0x07, 0x2C, 0x0B, 0x2C, 0x0B, 0x2E, 0x0B, 0x26, 0x13, 0x27, 0x13, 0x23, 0x23, 0x23, 0x23, 0x21, 0xC3, 0x21, 0xC3, 
0x21, 0x83, 0xF8, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "M", index = 45 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x3E, 0x70, 0x08, 0x38, 0x08, 0x3C, 0x08, 0x2E, 0x08, 0x26, 0x08, 0x23, 0x08, 0x21, 0x88, 0x20, 0xC8, 0x20, 0x68, 0x20, 0x78, 0x20, 0x38, 
0x20, 0x18, 0xF8, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "N", index = 46 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x18, 0x30, 0x30, 0x18, 0x30, 0x18, 0x60, 0x0C, 0x60, 0x0C, 0x60, 0x0C, 0x60, 0x0C, 0x60, 0x0C, 0x60, 0x0C, 0x30, 0x18, 0x30, 0x18, 
0x18, 0x30, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "O", index = 47 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x30, 0xC0, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0xC0, 0x3F, 0x80, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
0x30, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "P", index = 48 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x18, 0x30, 0x30, 0x18, 0x30, 0x18, 0x60, 0x0C, 0x60, 0x0C, 0x60, 0x0C, 0x60, 0x0C, 0x60, 0x0C, 0x60, 0x0C, 0x30, 0x18, 0x30, 0x18, 
0x18, 0x30, 0x07, 0xC0, 0x03, 0x80, 0x00, 0xC0, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, /* "Q", index = 49 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x30, 0xC0, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0xC0, 0x3F, 0x80, 0x33, 0x00, 0x33, 0x80, 0x31, 0x80, 0x30, 0xC0, 0x30, 0xE0, 
0x30, 0x70, 0xFC, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "R", index = 50 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x80, 0x33, 0x80, 0x61, 0x80, 0x60, 0x80, 0x70, 0x80, 0x38, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x03, 0x80, 0x41, 0xC0, 0x40, 0xC0, 0x60, 0xC0, 
0x71, 0x80, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "S", index = 51 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0xC6, 0x30, 0x86, 0x10, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 
0x06, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "T", index = 52 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x3E, 0x30, 0x08, 0x30, 0x08, 0x30, 0x08, 0x30, 0x08, 0x30, 0x08, 0x30, 0x08, 0x30, 0x08, 0x30, 0x08, 0x30, 0x08, 0x30, 0x08, 0x18, 0x10, 
0x1C, 0x30, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "U", index = 53 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x1E, 0x38, 0x0C, 0x18, 0x08, 0x18, 0x08, 0x08, 0x10, 0x0C, 0x10, 0x0C, 0x10, 0x06, 0x20, 0x06, 0x20, 0x03, 0x40, 0x03, 0x40, 0x03, 0x40, 
0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "V", index = 54 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xF1, 0x70, 0xE0, 0x30, 0x60, 0x30, 0x60, 0x30, 0xB0, 0x18, 0xB1, 0x18, 0xB1, 0x19, 0x19, 0x0D, 0x1B, 0x0D, 0x1A, 0x0E, 0x0E, 0x06, 0x0E, 
0x06, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "W", index = 55 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7C, 0x38, 0x18, 0x18, 0x30, 0x0C, 0x20, 0x06, 0x40, 0x07, 0x80, 0x03, 0x00, 0x01, 0x80, 0x03, 0xC0, 0x04, 0xC0, 0x0C, 0x60, 0x08, 0x30, 
0x30, 0x38, 0xF8, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "X", index = 56 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x3E, 0x38, 0x08, 0x18, 0x10, 0x0C, 0x10, 0x06, 0x20, 0x06, 0x40, 0x03, 0x40, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 
0x01, 0x80, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "Y", index = 57 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE0, 0x60, 0xC0, 0x40, 0xC0, 0x41, 0x80, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x10, 0x60, 0x10, 
0x60, 0x30, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "Z", index = 58 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 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, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, /* "[", index = 59 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "\", index = 60 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 
0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, /* "]", index = 61 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x12, 0x00, 0x21, 0x00, 0x40, 0x80, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "^", index = 62 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xE0, 0x00, 0x00, 0x00, 0x00, /* "_", index = 63 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x30, 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, /* "`", index = 64 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x63, 0x00, 0x63, 0x00, 0x07, 0x00, 0x1B, 0x00, 0x33, 0x00, 0x63, 0x00, 0x63, 0x00, 
0x67, 0x00, 0x3B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "a", index = 65 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xE0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x00, 
0x73, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "b", index = 66 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x33, 0x00, 0x61, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x71, 0x00, 
0x3E, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "c", index = 67 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x03, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x1D, 0x80, 0x33, 0x80, 0x21, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 
0x33, 0xC0, 0x1D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "d", index = 68 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x33, 0x00, 0x61, 0x80, 0x7F, 0x80, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x70, 0x80, 
0x3F, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "e", index = 69 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x11, 0x80, 0x31, 0x80, 0x30, 0x00, 0x30, 0x00, 0xFC, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
0x30, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "f", index = 70 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x33, 0xC0, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x33, 0x00, 0x1E, 0x00, 0x60, 0x00, 
0x7F, 0x80, 0x3F, 0xC0, 0x40, 0x40, 0x80, 0x40, 0xC0, 0x80, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, /* "g", index = 71 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xE0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x67, 0x00, 0x79, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 
0x61, 0x80, 0xF3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "h", index = 72 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x70, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
0x30, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "i", index = 73 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x70, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, /* "j", index = 74 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xE0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x67, 0x80, 0x62, 0x00, 0x64, 0x00, 0x68, 0x00, 0x78, 0x00, 0x6C, 0x00, 0x66, 0x00, 0x63, 0x00, 
0x61, 0x80, 0xF3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "k", index = 75 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x70, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 
0x30, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "l", index = 76 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0xF9, 0xE6, 0x61, 0x86, 0x61, 0x86, 0x61, 0x86, 0x61, 0x86, 0x61, 0x86, 0x61, 0x86, 
0x61, 0x86, 0xF3, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "m", index = 77 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0xF9, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 
0x61, 0x80, 0xF3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "n", index = 78 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x33, 0x80, 0x21, 0x80, 0x60, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x30, 0x80, 
0x31, 0x80, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "o", index = 79 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0xF3, 0x00, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x00, 
0x73, 0x00, 0x6E, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, /* "p", index = 80 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x80, 0x33, 0x80, 0x21, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 
0x33, 0x80, 0x1D, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, /* "q", index = 81 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0xF6, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
0x60, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "r", index = 82 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x46, 0x00, 0x42, 0x00, 0x60, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x06, 0x00, 0x42, 0x00, 
0x62, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "s", index = 83 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x60, 0x00, 0x60, 0x00, 0xF8, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
0x64, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "t", index = 84 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE3, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 
0x63, 0xC0, 0x3D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "u", index = 85 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xC0, 0x60, 0x80, 0x30, 0x80, 0x31, 0x00, 0x31, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1A, 0x00, 
0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "v", index = 86 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xCE, 0x61, 0x84, 0x61, 0x84, 0x31, 0xC8, 0x32, 0xC8, 0x32, 0xD0, 0x1C, 0x70, 0x1C, 0x70, 
0x18, 0x60, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "w", index = 87 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xC0, 0x61, 0x00, 0x32, 0x00, 0x1C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x16, 0x00, 0x23, 0x00, 
0x41, 0x80, 0xE3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "x", index = 88 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x80, 0xE1, 0x00, 0x61, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x1C, 0x00, 0x1C, 0x00, 
0x0C, 0x00, 0x08, 0x00, 0x08, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, /* "y", index = 89 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x43, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x30, 0x00, 
0x60, 0x80, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "z", index = 90 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x20, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x0C, 0x00, 
0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* "{", index = 91 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, /* "|", index = 92 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x01, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x0C, 0x00, 
0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, /* "}", index = 93 */
/* (16 X 24 , Times New Roman )*/

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x20, 0x8E, 0x20, 0x81, 0xC0, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* "~", index = 94 */
/* (16 X 24 , Times New Roman )*/

};

工程文件下载链接【STM32】标准库-LTDC-DMA2D-绘制 16X24 ASCII字符

工程文件下载链接【STM32】标准库-LTDC-DMA2D-绘制 24X24 ASCII 字符与GB2312汉字

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【STM32】标准库-LTDC-DMA2D 的相关文章

  • stm32的HAL库函数flash无法写入的问题

    记录一下对flash编程操作时出现的问题以及解决办法 问题 在使用HAL库中的HAL FLASH Program uint32 t TypeProgram uint32 t Address uint64 t Data 函数时发现总是没办法写
  • STM32在Debug时程序运行时间不对,Debug时定时器中断每次进入断点时间不对,定时器一开启就进入中断的解决办法

    一 Debug时程序时间不对解决办法 1 点击魔术棒 2 点击Debug 点击Settings 3 点击Trace 在Core Clock里修改为你的系统时钟 二 Debug时定时器中断每次进入断点时间不对 在Debug时 程序停下来 定时
  • 在 MCU 内部 FLASH 中从一个固件跳转到另一个固件

    我目前正在开发针对 STM32F030C8 的引导加载程序固件应用程序 我在分散文件中指定引导加载程序应用程序将占用主内存位置 0x08000000 到 0x08002FFF 扇区 0 到扇区 2 我还编写了一个主固件应用程序 存储在0x0
  • 如何让printf在STM32F103上工作?

    我是 STM32F103 世界的新手 我有一个STM32F103的演示代码 我正在使用arm none eabi来编译它 我尝试了在谷歌上可以找到的内容 但到目前为止没有任何效果 我已经花了三天时间来解决这个问题 任何人都可以给我一个运行良
  • STM32 F072上的软件如何跳转到bootloader(DFU模式)?

    STM32应用笔记2606对此进行了讨论 但没有简单的代码示例 该答案已使用 IAR EWARM 在 STM32F072 Nucleo 板上进行了测试 这个答案使用 STM32标准外设库 仅此而已 请注意 验证您是否成功进入引导加载程序模式
  • CMSIS 库是否应该包含在版本控制中? [复制]

    这个问题在这里已经有答案了 通常 我曾经在版本控制中包含芯片供应商 ST 提供的设备特定标头和源以及 CMSIS Core 标头 数量不多 也没有更新的习惯 我使用STM32微控制器 但我不使用立方体框架 or the 标准外设库 最近 我
  • 139-基于stm32单片机老人居家监护报警系统Proteus仿真+源程序

    资料编号 139 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 MQ4传感器 电位器模拟 MQ2传感器 电位器模拟 蜂鸣器 电机 制作一个基于stm32单片机老人居家监护报警系统Proteus仿真 2 通过MQ2传
  • rt-thread studio中新建5.02版本报错

    先吐槽一下 rt thread studio出现BUG真多 好多时间都是在找BUG 但里面用好多控件还是挺好用的 真是又爱又恨 所以一般使用功能不多的话还是用keil多一点 创建5 02版本工程之后直接进行编译 直接会报下面这个错误 资源
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • STM32F207 I2C 测试失败

    我正在使用 STM32F207 微控制器在 STM3220G EVAL 板上学习嵌入式开发 我尝试通过连接同一芯片上的两个 I2C2 和 I2C3 模块并发送 接收字符来测试 I2C 接口 这是我当前编写的代码 使用 mdk arm 5 i
  • 毕设开题分享 单片机智能教室系统(智能照明+人数统计)

    1 简介 Hi 大家好 今天向大家介绍一个学长做的单片机项目 单片机智能教室系统 智能照明 人数统计 大家可用于 课程设计 或 毕业设计 项目分享 https gitee com feifei1122 simulation project
  • Arm:objcopy 如何知道 elf 中的哪些部分要包含在二进制或 ihex 中?

    我正在开发一个项目 其中涉及解析arm elf 文件并从中提取部分 显然 elf 文件中有很多部分没有加载到闪存中 但我想知道 objcopy 到底如何知道要在二进制文件中包含哪些部分以直接闪存到闪存中 以arm elf文件的以下reade
  • for循环延时时间计算

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 之前做led点亮的实验 好像是被delay函数影响了 因为delay参数设置的不对
  • STM32H5 Nucleo-144 board开箱

    文章目录 开发板资料下载 目标 点亮LD1 绿 LD2 黄 和LD3 红 三个LED灯 开箱过程 博主使用的是STM32CubeMX配置生成代码 具体操作如下 打开STM32CubeMX File gt New project 选择开发板型
  • Cortex-M3与M4权威指南

    处理器类型 所有的ARM Cortex M 处理器是32位的精简指令集处理器 它们有 32位寄存器 32位内部数据路径 32位总线接口 除了32位数据 Cortex M处理器也可以有效地处理器8位和16位数据以及支持许多涉及64位数据的操作
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • STM32F0、ST-link v2、OpenOCD 0.9.0:打开失败

    我在用着发射台 http www ti com ww en launchpad about htmlgcc arm none eabi 4 9 2015q2 为 STM32F0 进行编译 现在我想使用该集合中的 arm none eabi
  • HAL_Delay() 陷入无限循环

    我被 HAL Delay 函数困住了 当我调用此函数 HAL Delay 时 控制陷入无限循环 在寻找问题的过程中 我发现了这个 http www openstm32 org forumthread2145 threadId2146 htt

随机推荐

  • 【C++ STL 容器】——vector

    概述 vector容器也被称作向量 xff0c 实现了动态的数组 xff0c 用于元素数量变化的对象数组 xff0c 算是比较常用的容器 常用函数 构造函数 vector 创建一个空vectorvector int size 创建一个vec
  • 2021-07-22

    MSP432在keil中通过CMSIS DAP下载程序出现cannot enter debug mode的解决办法 xff1a MSP432下载程序出现cannot enter debug mode 可以通过修改如下设置 Debug里面的两
  • 通信协议基础以及常用的串口通信协议

    通信协议 xff1a 串行通信和并行通信 在数据的通信方式中根据数据传输方式的不同可以分为 xff1a 串行通信和并行通信 串行通信 xff1a 串行通信是指使用一条数据线 xff0c 将数据一位一位地依次传输 xff0c 每一位数据占据一
  • Ubuntu安装ROS melodic,管理环境,创建工作空间

    一 安装ROS 1 设置源 xff1a sudo sh c 39 etc lsb release amp amp echo 34 deb http mirrors tuna tsinghua edu cn ros ubuntu 96 lsb
  • HTTP请求报文的结构组成及URL的结构组成

    HTTP请求报文 HTTP 超文本传输协议 Hypertext Transfer Protocol xff0c 简称HTTP 是应用层协议 HTTP 是一种请求 响应式的协议 xff0c 即一个客户端与服务器建立连接后 xff0c 向服务器
  • Qt之旅_001>>Qt常用窗口类之间的关系

    QApplication xff0c QGuiApplication QCoreApplication三者之间的关系 QCoreApplication处于core模块中 xff0c 为应用程序提供了一个非gui的时间循环 xff1b QGu
  • GPIO相关介绍

    文章目录 GPIO概念TXD与RXD GPIO的使用注意STM32IO口哪些兼容5V一定不要接超过5V的电压默认不能做输出的GPIO GPIO硬件原理图GPIO地址 GPIO的八种工作模式浮空输入带上拉输入带下拉输入模拟输入开漏输出推挽输出
  • STM32的常用C语言

    文章目录 一些被坑了的注意点 int16 define结构体与共用体指针 C语言发展史C语言概述C90 标准C99标准C11标准 C编译o代替c 条件语句else ifdo while 变量定义一个字符串字符串结尾 定义一个字符串数组sta
  • STM32应用霍尔转速传感器基于输入捕获

    这里我用通用定时器3的通道1来测量转速 霍尔转速传感器基本介绍霍尔传感器分类和原理关于为什么选用开关型常开PNP型霍尔传感器 STM32程序实现程序介绍程序源码TIM3 CAP HTIM3 CAP H解读TIM3 CAP CTIM3 CAP
  • Android so库开发——使用Studio生成自己的so库(一)

    一 创建Native项目 1 新建 Native 项目 1 xff09 新建项目 选择最下面的 Native C 43 43 下一步即可 2 xff09 填写项目信息 3 xff09 选择C 43 43 版本可以直接选择默认 2 下载并配置
  • C语言实现线性回归求斜率

    2020 11 22 修改 span class token comment 线性回归求斜率 注意数据类型 参数 count 数据个数 数组行 列 的个数 数组的行列数目相等 参数 dataCol X 数据的列数据 参数 dataRow Y
  • 【C语言】详解位域定义与使用

    位域的定义 span class token keyword struct span span class token class name bit span span class token punctuation span span c
  • C语言实现MQTT协议(一)协议讲解

    MQTT介绍 MQTT是一个客户端服务端架构的发布 订阅模式的消息传输协议 它的设计思想是轻巧 开放 简单 规范 xff0c 易于实现 这些特点使得它对很多场景来说都是很好的选择 xff0c 特别是对于受限的环境如机器与机器的通信 xff0
  • 【STM32】HAL库-外部中断

    外部中断框图 产生中断 硬件触发外部中断 配置中断屏蔽寄存器中的屏蔽位 xff0c 允许该外部中断请求 通过AFIO EXTICRx配置GPIO线上的外部中断 事件 xff0c 必须先使能AFIO时钟 选择外部中断的触发边沿 xff0c 上
  • 【STM32】HAL库-系统滴答定时器SysTick

    SysTick定时器被捆绑在NVIC中 xff0c 是一个简单的定时器 xff0c 对于CM3 CM4内核芯片 xff0c 都有Systick定时器 Systick定时器常用来做延时 xff0c 或者实时系统的心跳时钟 这样可以节省MCU资
  • 【STM32】HAL库-串口USART

    USART简介 通用同步异步收发器 USART 提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换 USART利用分数波特率发生器提供宽范围的波特率选择 一个波特率寄存器 USART BRR xff0c
  • 【STM32】HAL库-通用定时器

    简介 通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成 它适用于多种场合 xff0c 包括测量输入信号的脉冲长度 输入捕获 或者产生输出波形 输出比较和PWM 使用定时器预分频器和RCC时钟控制器预分频器 xff0c 脉冲长
  • 【STM32】HAL库-SPI

    3线全双工同步传输 带或不带第三根双向数据线的双线单工同步传输 8或16位传输帧格式选择 主或从操作 支持多主模式 8个主模式波特率预分频系数 最大为fPCLK 2 从模式频率 最大为fPCLK 2 主模式和从模式的快速通信 主模式和从模式
  • 【STM32】标准库-以太网外设-LAN8720A-LWIP-无操作系统

    TCP IP模型 TCP IP 只有四个分层 xff0c 分别为应用层 传输层 网络层以及网络访问层 xff08 物理层 xff09 实际上 xff0c 还有一个 TCP IP 混合模型 xff0c 分为五个层 它实际与 TCP IP四层模
  • 【STM32】标准库-LTDC-DMA2D

    LTDC STM32F429 系列芯片内部自带一个 LTDC 液晶控制器 xff0c 使用 SDRAM 的部分空间作为显存 xff0c 可直 接控制液晶面板 xff0c 无需额外增加液晶控制器芯片 STM32 的 LTDC 液晶控制器最高支