/* Copyright 2023 Dual Tachyon
 * https://github.com/DualTachyon
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *     Unless required by applicable law or agreed to in writing, software
 *     distributed under the License is distributed on an "AS IS" BASIS,
 *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *     See the License for the specific language governing permissions and
 *     limitations under the License.
 */

#include "font.h"


#if 0

#elif 0

#else

const uint8_t gFontBigDigits[11][20] =
        {




//
//
                {/*0x00, 0x00,*/ 0xFC, 0xFE, 0xFE, 0x06, 0x86, 0xC6, 0xE6, 0xFE, 0xFE, 0xFC, /*0x00,*/     /*0x00, 0x00,*/ 0x3F, 0x7F, 0x7F, 0x67, 0x63, 0x61, 0x60, 0x7F, 0x7F, 0x3F, /*0x00*/},
                {/*0x00, 0x00,*/ 0x00, 0x00, 0x18, 0x1C, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, /*0x00,*/     /*0x00, 0x00,*/ 0x00, 0x00, 0x60, 0x60, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x00, /*0x00*/},
                {/*0x00, 0x00,*/ 0x1C, 0x1E, 0x1E, 0x06, 0x06, 0x06, 0x86, 0xFE, 0xFE, 0x7C, /*0x00,*/     /*0x00, 0x00,*/ 0x60, 0x70, 0x78, 0x7C, 0x6E, 0x67, 0x63, 0x61, 0x60, 0x60, /*0x00*/},
                {/*0x00, 0x00,*/ 0x0C, 0x0E, 0x0E, 0x86, 0x86, 0x86, 0x86, 0xFE, 0xFE, 0x7C, /*0x00,*/     /*0x00, 0x00,*/ 0x30, 0x70, 0x70, 0x61, 0x61, 0x61, 0x61, 0x7F, 0x7F, 0x3E, /*0x00*/},
                {/*0x00, 0x00,*/ 0x80, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0xFE, 0xFE, 0xFE, /*0x00,*/     /*0x00, 0x00,*/ 0x0F, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x7F, 0x7F, 0x7F, /*0x00*/},
                {/*0x00, 0x00,*/ 0xFE, 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x86, /*0x00,*/     /*0x00, 0x00,*/ 0x30, 0x70, 0x70, 0x60, 0x60, 0x60, 0x60, 0x7F, 0x7F, 0x3F, /*0x00*/},
                {/*0x00, 0x00,*/ 0xF8, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x80, /*0x00,*/     /*0x00, 0x00,*/ 0x3F, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x7F, 0x7F, 0x3F, /*0x00*/},
                {/*0x00, 0x00,*/ 0x0E, 0x0E, 0x0E, 0x06, 0x06, 0x86, 0xE6, 0xFE, 0x7E, 0x1E, /*0x00,*/     /*0x00, 0x00,*/ 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7F, 0x7F, 0x03, 0x00, 0x00, /*0x00*/},
                {/*0x00, 0x00,*/ 0x7C, 0xFE, 0xFE, 0x86, 0x86, 0x86, 0x86, 0xFE, 0xFE, 0x7C, /*0x00,*/     /*0x00, 0x00,*/ 0x3F, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x61, 0x7F, 0x7F, 0x3F, /*0x00*/},
                {/*0x00, 0x00,*/ 0xFC, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0xFC, /*0x00,*/     /*0x00, 0x00,*/ 0x01, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x7F, 0x3F, 0x1F, /*0x00*/},
                {/*0x00, 0x00,*/ 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, /*0x00,*/     /*0x00, 0x00,*/ 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, /*0x00*/}
        };
#endif

const uint8_t gFontSmall[95-1][6] =
        {
//  {0x00, 0x00, 0x00, 0x00, 0x00, 0x00},    // ' '
                {0x00, 0x00, 0x5E, 0x00, 0x00, 0x00},    // '!'0
                {0x00, 0x06, 0x00, 0x06, 0x00, 0x00},    // '"'
                {0x14, 0x3E, 0x14, 0x3E, 0x14, 0x00},    // '#'
                {0x26, 0x49, 0x7F, 0x49, 0x32, 0x00},    // '$'
                {0x63, 0x13, 0x08, 0x04, 0x62, 0x61},    // '%'0
                {0x30, 0x4B, 0x4D, 0x55, 0x22, 0x50},    // '&'
                {0x00, 0x00, 0x07, 0x07, 0x00, 0x00},    // '''
                {0x00, 0x1C, 0x22, 0x41, 0x00, 0x00},    // '('
                {0x00, 0x41, 0x22, 0x1C, 0x00, 0x00},    // ')'
                {0x00, 0x2A, 0x1C, 0x1C, 0x2A, 0x00},    // '*'
                {0x08, 0x08, 0x3E, 0x08, 0x08, 0x00},    // '+'0
                {0x00, 0x40, 0x60, 0x20, 0x00, 0x00},    // ','
                {0x00, 0x08, 0x08, 0x08, 0x08, 0x00},    // '-'0
                {0x00, 0x00, 0x60, 0x60, 0x00, 0x00},    // '.'0
                {0x40, 0x20, 0x10, 0x08, 0x04, 0x02},    // '/'0
                {0x3E, 0x41, 0x41, 0x41, 0x41, 0x3E},    // '0'
                {0x00, 0x40, 0x42, 0x7F, 0x40, 0x40},    // '1'
                {0x62, 0x51, 0x51, 0x49, 0x49, 0x46},    // '2'
                {0x22, 0x41, 0x49, 0x49, 0x49, 0x36},    // '3'
                {0x18, 0x14, 0x12, 0x11, 0x7F, 0x10},    // '4'
                {0x27, 0x45, 0x45, 0x45, 0x45, 0x39},    // '5'
                {0x3E, 0x49, 0x49, 0x49, 0x49, 0x32},    // '6'
                {0x01, 0x01, 0x71, 0x09, 0x05, 0x03},    // '7'
                {0x36, 0x49, 0x49, 0x49, 0x49, 0x36},    // '8'
                {0x46, 0x49, 0x49, 0x49, 0x29, 0x1E},    // '9'
                {0x00, 0x00, 0x6C, 0x6C, 0x00, 0x00},    // ':'
                {0x00, 0x40, 0x6C, 0x2C, 0x00, 0x00},    // ';'
                {0x08, 0x14, 0x22, 0x41, 0x00, 0x00},    // '<'
                {0x14, 0x14, 0x14, 0x14, 0x14, 0x00},    // '='
                {0x00, 0x41, 0x22, 0x14, 0x08, 0x00},    // '>'
                {0x02, 0x01, 0x51, 0x09, 0x06, 0x00},    // '?'
                {0x30, 0x4A, 0x4A, 0x52, 0x3C, 0x00},    // '@'
                {0x7E, 0x09, 0x09, 0x09, 0x09, 0x7E},    // 'A'
                {0x7F, 0x49, 0x49, 0x49, 0x49, 0x36},    // 'B'
                {0x3E, 0x41, 0x41, 0x41, 0x41, 0x22},    // 'C'
                {0x7F, 0x41, 0x41, 0x41, 0x41, 0x3E},    // 'D'
                {0x7F, 0x49, 0x49, 0x49, 0x49, 0x41},    // 'E'
                {0x7F, 0x09, 0x09, 0x09, 0x09, 0x01},    // 'F'
                {0x3E, 0x41, 0x49, 0x49, 0x49, 0x3A},    // 'G'
                {0x7F, 0x08, 0x08, 0x08, 0x08, 0x7F},    // 'H'
                {0x41, 0x41, 0x7F, 0x41, 0x41, 0x00},    // 'I'
                {0x20, 0x41, 0x41, 0x3F, 0x01, 0x01},    // 'J'
                {0x7F, 0x08, 0x0C, 0x12, 0x21, 0x40},    // 'K'
                {0x7F, 0x40, 0x40, 0x40, 0x40, 0x40},    // 'L'
                {0x7F, 0x02, 0x04, 0x04, 0x02, 0x7F},    // 'M'
                {0x7F, 0x02, 0x04, 0x08, 0x10, 0x7F},    // 'N'
                {0x3E, 0x41, 0x41, 0x41, 0x41, 0x3E},    // 'O'
                {0x7F, 0x09, 0x09, 0x09, 0x09, 0x06},    // 'P'
                {0x3E, 0x41, 0x51, 0x61, 0x41, 0x3E},    // 'Q'
                {0x7F, 0x09, 0x09, 0x19, 0x29, 0x46},    // 'R'
                {0x26, 0x49, 0x49, 0x49, 0x49, 0x32},    // 'S'
                {0x01, 0x01, 0x7F, 0x01, 0x01, 0x00},    // 'T'
                {0x3F, 0x40, 0x40, 0x40, 0x40, 0x3F},    // 'U'
                {0x07, 0x38, 0x40, 0x40, 0x38, 0x07},    // 'V'
                {0x3F, 0x40, 0x30, 0x30, 0x40, 0x3F},    // 'W'
                {0x63, 0x14, 0x08, 0x08, 0x14, 0x63},    // 'X'
                {0x07, 0x08, 0x70, 0x08, 0x07, 0x00},    // 'Y'
                {0x61, 0x51, 0x49, 0x45, 0x43, 0x41},    // 'Z'
                {0x00, 0x7F, 0x41, 0x41, 0x00, 0x00},    // '['
                {0x01, 0x02, 0x04, 0x08, 0x10, 0x60},    // '"\'
                {0x00, 0x00, 0x41, 0x41, 0x7F, 0x00},    // ']'
                {0x04, 0x02, 0x01, 0x02, 0x04, 0x00},    // '^'
                {0x40, 0x40, 0x40, 0x40, 0x40, 0x40},    // '_'
                {0x00, 0x03, 0x07, 0x06, 0x00, 0x00},    // '`'
                {0x20, 0x54, 0x54, 0x54, 0x78, 0x00},    // 'a'
                {0x7F, 0x44, 0x44, 0x44, 0x38, 0x00},    // 'b'
                {0x38, 0x44, 0x44, 0x44, 0x28, 0x00},    // 'c'
                {0x38, 0x44, 0x44, 0x44, 0x7F, 0x00},    // 'd'
                {0x38, 0x54, 0x54, 0x54, 0x48, 0x00},    // 'e'
                {0x7C, 0x0A, 0x0A, 0x0A, 0x02, 0x00},    // 'f'
                {0x58, 0x54, 0x54, 0x54, 0x3C, 0x00},    // 'g'
                {0x7F, 0x04, 0x04, 0x04, 0x78, 0x00},    // 'h'
                {0x00, 0x00, 0x7A, 0x00, 0x00, 0x00},    // 'i'
                {0x20, 0x40, 0x40, 0x3D, 0x00, 0x00},    // 'j'
                {0x00, 0x7F, 0x10, 0x28, 0x44, 0x00},    // 'k'
                {0x00, 0x00, 0x3F, 0x40, 0x00, 0x00},    // 'l'
                {0x7C, 0x08, 0x10, 0x10, 0x08, 0x7C},    // 'm'
                {0x7C, 0x04, 0x04, 0x04, 0x78, 0x00},    // 'n'
                {0x38, 0x44, 0x44, 0x44, 0x38, 0x00},    // 'o'
                {0x7C, 0x14, 0x14, 0x14, 0x08, 0x00},    // 'p'
                {0x08, 0x14, 0x14, 0x14, 0x7C, 0x40},    // 'q'
                {0x7C, 0x04, 0x04, 0x04, 0x08, 0x00},    // 'r'
                {0x08, 0x54, 0x54, 0x54, 0x20, 0x00},    // 's'
                {0x3F, 0x44, 0x44, 0x44, 0x40, 0x00},    // 't'
                {0x3C, 0x40, 0x40, 0x40, 0x3C, 0x00},    // 'u'
                {0x0C, 0x30, 0x40, 0x30, 0x0C, 0x00},    // 'v'
                {0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00},    // 'w'
                {0x44, 0x28, 0x10, 0x28, 0x44, 0x00},    // 'x'
                {0x0C, 0x50, 0x50, 0x50, 0x3C, 0x00},    // 'y'
                {0x44, 0x64, 0x54, 0x4C, 0x44, 0x00},    // 'z'
                {0x08, 0x36, 0x41, 0x00, 0x00, 0x00},    // '{'
                {0x00, 0x00, 0x7F, 0x00, 0x00, 0x00},    // '|'
                {0x00, 0x00, 0x41, 0x36, 0x08, 0x00},    // '}'
                {0x04, 0x02, 0x04, 0x08, 0x04, 0x00}     // '->'
        };

#ifdef ENABLE_SMALL_BOLD
const uint8_t gFontSmallBold[95 - 1][6] =
	{
//  	{0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
		{0x00, 0x00, 0x5E, 0x5E, 0x00, 0x00},
		{0x06, 0x06, 0x00, 0x06, 0x06, 0x00},
		{0x14, 0x3E, 0x14, 0x3E, 0x14, 0x00},
		{0x2E, 0x6B, 0x7F, 0x6B, 0x3A, 0x00},
		{0x63, 0x33, 0x18, 0x0C, 0x66, 0x63},
		{0x30, 0x4B, 0x4D, 0x55, 0x22, 0x50},
		{0x00, 0x00, 0x07, 0x07, 0x00, 0x00},
		{0x00, 0x1C, 0x3E, 0x63, 0x41, 0x00},
		{0x00, 0x41, 0x63, 0x3E, 0x1C, 0x00},
		{0x00, 0x2A, 0x1C, 0x1C, 0x2A, 0x00},
		{0x18, 0x18, 0x7E, 0x7E, 0x18, 0x18},
		{0x00, 0x40, 0x60, 0x20, 0x00, 0x00},
		{0x00, 0x18, 0x18, 0x18, 0x18, 0x00},
		{0x00, 0x00, 0x60, 0x60, 0x00, 0x00},
		{0x60, 0x30, 0x18, 0x0C, 0x06, 0x03},
		{0x3E, 0x7F, 0x63, 0x63, 0x7F, 0x3E},
		{0x64, 0x66, 0x7F, 0x7F, 0x60, 0x60},
		{0x62, 0x73, 0x7B, 0x7B, 0x6F, 0x66},
		{0x63, 0x63, 0x6B, 0x6B, 0x7F, 0x36},
		{0x38, 0x3C, 0x36, 0x7F, 0x7F, 0x30},
		{0x6F, 0x6F, 0x6B, 0x6B, 0x7B, 0x33},
		{0x3E, 0x7F, 0x6B, 0x6B, 0x7B, 0x32},
		{0x03, 0x03, 0x73, 0x7B, 0x0F, 0x07},
		{0x36, 0x7F, 0x6B, 0x6B, 0x7F, 0x36},
		{0x06, 0x6F, 0x6B, 0x6B, 0x7F, 0x3E},
		{0x00, 0x00, 0x6C, 0x6C, 0x00, 0x00},
		{0x00, 0x40, 0x6C, 0x2C, 0x00, 0x00},
		{0x08, 0x14, 0x22, 0x41, 0x00, 0x00},
		{0x36, 0x36, 0x36, 0x36, 0x36, 0x00},
		{0x00, 0x41, 0x22, 0x14, 0x08, 0x00},
		{0x06, 0x07, 0x53, 0x5B, 0x1F, 0x0E},
		{0x30, 0x7B, 0x6B, 0x7B, 0x7F, 0x3E},
		{0x7E, 0x7F, 0x1B, 0x1B, 0x7F, 0x7E},
		{0x7F, 0x7F, 0x6B, 0x6B, 0x7F, 0x36},
		{0x3E, 0x7F, 0x63, 0x63, 0x63, 0x36},
		{0x7F, 0x7F, 0x63, 0x63, 0x7F, 0x3E},
		{0x7F, 0x7F, 0x6B, 0x6B, 0x6B, 0x63},
		{0x7F, 0x7F, 0x1B, 0x1B, 0x1B, 0x03},
		{0x3E, 0x7F, 0x63, 0x6B, 0x7B, 0x3A},
		{0x7F, 0x7F, 0x0C, 0x0C, 0x7F, 0x7F},
		{0x63, 0x63, 0x7F, 0x7F, 0x63, 0x63},
		{0x30, 0x73, 0x63, 0x7F, 0x3F, 0x03},
		{0x7F, 0x7F, 0x1C, 0x36, 0x63, 0x41},
		{0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60},
		{0x7F, 0x7F, 0x06, 0x06, 0x7F, 0x7F},
		{0x7F, 0x7F, 0x0C, 0x18, 0x7F, 0x7F},
		{0x3E, 0x7F, 0x63, 0x63, 0x7F, 0x3E},
		{0x7F, 0x7F, 0x1B, 0x1B, 0x1F, 0x0E},
		{0x3E, 0x7F, 0x63, 0x73, 0x7F, 0x7E},
		{0x7F, 0x7F, 0x1B, 0x3B, 0x7F, 0x66},
		{0x66, 0x6F, 0x6B, 0x6B, 0x7B, 0x33},
		{0x03, 0x03, 0x7F, 0x7F, 0x03, 0x03},
		{0x3F, 0x7F, 0x60, 0x60, 0x7F, 0x3F},
		{0x1F, 0x3F, 0x60, 0x60, 0x3F, 0x1F},
		{0x3F, 0x7F, 0x30, 0x30, 0x7F, 0x3F},
		{0x63, 0x77, 0x1C, 0x1C, 0x77, 0x63},
		{0x07, 0x0F, 0x78, 0x78, 0x0F, 0x07},
		{0x63, 0x73, 0x7B, 0x6F, 0x67, 0x63},
		{0x00, 0x7F, 0x7F, 0x63, 0x63, 0x00},
		{0x01, 0x02, 0x04, 0x08, 0x10, 0x60},
		{0x00, 0x63, 0x63, 0x7F, 0x7F, 0x00},
		{0x0C, 0x0E, 0x03, 0x03, 0x0E, 0x0C},
		{0x60, 0x60, 0x60, 0x60, 0x60, 0x60},
		{0x00, 0x03, 0x07, 0x06, 0x00, 0x00},
		{0x20, 0x76, 0x56, 0x56, 0x7E, 0x3C},
		{0x7F, 0x7F, 0x6C, 0x6C, 0x7C, 0x38},
		{0x38, 0x7C, 0x6C, 0x6C, 0x6C, 0x00},
		{0x38, 0x7C, 0x6C, 0x6C, 0x7F, 0x7F},
		{0x3C, 0x7E, 0x56, 0x56, 0x5E, 0x0C},
		{0x7E, 0x7F, 0x1B, 0x1B, 0x02, 0x00},
		{0x0C, 0x5E, 0x56, 0x56, 0x7E, 0x3C},
		{0x7F, 0x7F, 0x0C, 0x0C, 0x7C, 0x78},
		{0x00, 0x00, 0x7A, 0x7A, 0x00, 0x00},
		{0x30, 0x60, 0x60, 0x7D, 0x3D, 0x00},
		{0x7F, 0x7F, 0x18, 0x3C, 0x7E, 0x66},
		{0x00, 0x3F, 0x7F, 0x40, 0x00, 0x00},
		{0x7C, 0x7C, 0x18, 0x18, 0x7C, 0x7C},
		{0x7C, 0x7C, 0x0C, 0x0C, 0x7C, 0x78},
		{0x3C, 0x7E, 0x66, 0x66, 0x7E, 0x3C},
		{0x7E, 0x7E, 0x36, 0x36, 0x3E, 0x1C},
		{0x1C, 0x3E, 0x36, 0x7E, 0x7E, 0x60},
		{0x7C, 0x7C, 0x0C, 0x0C, 0x18, 0x00},
		{0x4C, 0x5E, 0x56, 0x56, 0x76, 0x20},
		{0x3F, 0x7F, 0x6C, 0x6C, 0x60, 0x00},
		{0x3C, 0x7C, 0x60, 0x60, 0x7C, 0x3C},
		{0x0C, 0x3C, 0x70, 0x70, 0x3C, 0x0C},
		{0x3C, 0x7C, 0x30, 0x30, 0x7C, 0x3C},
		{0x44, 0x6C, 0x38, 0x38, 0x6C, 0x44},
		{0x06, 0x6E, 0x68, 0x68, 0x7E, 0x3E},
		{0x66, 0x76, 0x7E, 0x6E, 0x66, 0x00},
		{0x08, 0x3E, 0x77, 0x41, 0x00, 0x00},
		{0x00, 0x00, 0x7F, 0x00, 0x00, 0x00},
		{0x00, 0x41, 0x77, 0x3E, 0x08, 0x00},
		{0x0C, 0x06, 0x0C, 0x18, 0x0C, 0x00}
	};
#endif

#ifdef ENABLE_SPECTRUM
const uint8_t gFont3x5[][3] =
	{
		{0x00, 0x00, 0x00}, //  32 - space
		{0x00, 0x17, 0x00}, //  33 - exclam
		{0x03, 0x00, 0x03}, //  34 - quotedbl
		{0x1f, 0x0a, 0x1f}, //  35 - numbersign
		{0x0a, 0x1f, 0x05}, //  36 - dollar
		{0x09, 0x04, 0x12}, //  37 - percent
		{0x0f, 0x17, 0x1c}, //  38 - ampersand
		{0x00, 0x03, 0x00}, //  39 - quotesingle
		{0x00, 0x0e, 0x11}, //  40 - parenleft
		{0x11, 0x0e, 0x00}, //  41 - parenright
		{0x05, 0x02, 0x05}, //  42 - asterisk
		{0x04, 0x0e, 0x04}, //  43 - plus
		{0x10, 0x08, 0x00}, //  44 - comma
		{0x04, 0x04, 0x04}, //  45 - hyphen
		{0x00, 0x10, 0x00}, //  46 - period
		{0x18, 0x04, 0x03}, //  47 - slash
		{0x1e, 0x11, 0x0f}, //  48 - zero
		{0x02, 0x1f, 0x00}, //  49 - one
		{0x19, 0x15, 0x12}, //  50 - two
		{0x11, 0x15, 0x0a}, //  51 - three
		{0x07, 0x04, 0x1f}, //  52 - four
		{0x17, 0x15, 0x09}, //  53 - five
		{0x1e, 0x15, 0x1d}, //  54 - six
		{0x19, 0x05, 0x03}, //  55 - seven
		{0x1f, 0x15, 0x1f}, //  56 - eight
		{0x17, 0x15, 0x0f}, //  57 - nine
		{0x00, 0x0a, 0x00}, //  58 - colon
		{0x10, 0x0a, 0x00}, //  59 - semicolon
		{0x04, 0x0a, 0x11}, //  60 - less
		{0x0a, 0x0a, 0x0a}, //  61 - equal
		{0x11, 0x0a, 0x04}, //  62 - greater
		{0x01, 0x15, 0x03}, //  63 - question
		{0x0e, 0x15, 0x16}, //  64 - at
		{0x1e, 0x05, 0x1e}, //  65 - A
		{0x1f, 0x15, 0x0a}, //  66 - B
		{0x0e, 0x11, 0x11}, //  67 - C
		{0x1f, 0x11, 0x0e}, //  68 - D
		{0x1f, 0x15, 0x15}, //  69 - E
		{0x1f, 0x05, 0x05}, //  70 - F
		{0x0e, 0x15, 0x1d}, //  71 - G
		{0x1f, 0x04, 0x1f}, //  72 - H
		{0x11, 0x1f, 0x11}, //  73 - I
		{0x08, 0x10, 0x0f}, //  74 - J
		{0x1f, 0x04, 0x1b}, //  75 - K
		{0x1f, 0x10, 0x10}, //  76 - L
		{0x1f, 0x06, 0x1f}, //  77 - M
		{0x1f, 0x0e, 0x1f}, //  78 - N
		{0x0e, 0x11, 0x0e}, //  79 - O
		{0x1f, 0x05, 0x02}, //  80 - P
		{0x0e, 0x19, 0x1e}, //  81 - Q
		{0x1f, 0x0d, 0x16}, //  82 - R
		{0x12, 0x15, 0x09}, //  83 - S
		{0x01, 0x1f, 0x01}, //  84 - T
		{0x0f, 0x10, 0x1f}, //  85 - U
		{0x07, 0x18, 0x07}, //  86 - V
		{0x1f, 0x0c, 0x1f}, //  87 - W
		{0x1b, 0x04, 0x1b}, //  88 - X
		{0x03, 0x1c, 0x03}, //  89 - Y
		{0x19, 0x15, 0x13}, //  90 - Z
		{0x1f, 0x11, 0x11}, //  91 - bracketleft
		{0x02, 0x04, 0x08}, //  92 - backslash
		{0x11, 0x11, 0x1f}, //  93 - bracketright
		{0x02, 0x01, 0x02}, //  94 - asciicircum
		{0x10, 0x10, 0x10}, //  95 - underscore
		{0x01, 0x02, 0x00}, //  96 - grave
		{0x1a, 0x16, 0x1c}, //  97 - a
		{0x1f, 0x12, 0x0c}, //  98 - b
		{0x0c, 0x12, 0x12}, //  99 - c
		{0x0c, 0x12, 0x1f}, // 100 - d
		{0x0c, 0x1a, 0x16}, // 101 - e
		{0x04, 0x1e, 0x05}, // 102 - f
		{0x0c, 0x2a, 0x1e}, // 103 - g
		{0x1f, 0x02, 0x1c}, // 104 - h
		{0x00, 0x1d, 0x00}, // 105 - i
		{0x10, 0x20, 0x1d}, // 106 - j
		{0x1f, 0x0c, 0x12}, // 107 - k
		{0x11, 0x1f, 0x10}, // 108 - l
		{0x1e, 0x0e, 0x1e}, // 109 - m
		{0x1e, 0x02, 0x1c}, // 110 - n
		{0x0c, 0x12, 0x0c}, // 111 - o
		{0x3e, 0x12, 0x0c}, // 112 - p
		{0x0c, 0x12, 0x3e}, // 113 - q
		{0x1c, 0x02, 0x02}, // 114 - r
		{0x14, 0x1e, 0x0a}, // 115 - s
		{0x02, 0x1f, 0x12}, // 116 - t
		{0x0e, 0x10, 0x1e}, // 117 - u
		{0x0e, 0x18, 0x0e}, // 118 - v
		{0x1e, 0x1c, 0x1e}, // 119 - w
		{0x12, 0x0c, 0x12}, // 120 - x
		{0x06, 0x28, 0x1e}, // 121 - y
		{0x1a, 0x1e, 0x16}, // 122 - z
		{0x04, 0x1b, 0x11}, // 123 - braceleft
		{0x00, 0x1b, 0x00}, // 124 - bar
		{0x11, 0x1b, 0x04}, // 125 - braceright
		{0x02, 0x03, 0x01}, // 126 - asciitilde
		{0x12, 0x17, 0x12}, // 127 - plusminus

	};
#endif
const uint8_t gFontChinese_out[1788]={
        0X88,0X48,0X2E,0X08,0X08,0X7F,0X8A,
        0X4A,0X2A,0X08,0X00,0XA8,0X06,
        0X40,0X82,0X3E,0X00,0X25,0XD5,
        0X0F,0XC5,0X3F,0X05,0X05,0X80,
        0XA9,0XAA,0XE2,0X84,0XF2,0XA7,
        0XA8,0X06,0XD0,0X77,0XD0,0X5F,
        0XD0,0XA7,0X01,0X46,0X0A,0XAA,
        0X4A,0X0A,0XCF,0XCB,0X0B,0X4B,
        0XAA,0X0A,0X02,0X00,0X0C,0X00,
        0X24,0XFF,0X14,0X00,0X2A,0XEE,
        0X3B,0XAA,0X6E,0X2A,0X00,0X8E,
        0X5A,0X8A,0X3F,0X20,0XD0,0X3F,
        0X00,0X02,0XC1,0X8E,0XB0,0X9F,
        0X00,0X30,0X68,0X59,0XE5,0XCC,
        0XF6,0XE5,0X54,0X8D,0XF0,0X47,
        0XC8,0X47,0XA0,0X95,0X46,0X3A,
        0X09,0X29,0X29,0X29,0XAD,0X6B,
        0X09,0X09,0X39,0X01,0X00,0X3A,
        0X00,0X19,0X61,0X01,0XFF,0X01,
        0X01,0XFF,0X01,0X61,0X19,0X00,
        0XEA,0XBA,0X0A,0X82,0X82,0XBB,
        0XEB,0XAA,0XAA,0XAB,0XBB,0X02,
        0X02,0X00,0XAC,0X3A,0X40,0X44,
        0XF3,0X4F,0X01,0XA4,0XF7,0XA5,
        0XFD,0XA6,0X07,0X04,0XA3,0X91,
        0X92,0XFC,0X53,0X00,0XF8,0X03,
        0X89,0X30,0X02,0XFF,0X00,0X38,
        0X60,0X90,0X04,0X87,0X64,0X1C,
        0X07,0X34,0XD4,0X55,0X35,0X02,
        0X04,0X86,0X56,0X69,0X82,0X3E,
        0X00,0X65,0XA5,0X9F,0X55,0X25,
        0X25,0X00,0X80,0XA9,0XAA,0X22,
        0XA1,0XA9,0XB7,0XE1,0XA5,0XB5,
        0XAD,0XA5,0X25,0X21,0X11,0XAA,
        0XAB,0X10,0X10,0X10,0X10,0XF6,
        0X51,0X50,0X50,0X50,0XD0,0X13,
        0X68,0X80,0X1A,0XFE,0X02,0X02,
        0XFA,0X8B,0X8A,0XFA,0X02,0X02,
        0XFE,0X00,0X03,0X80,0X0E,0X01,
        0XE1,0X1F,0X01,0X01,0X3F,0X80,
        0XBF,0X80,0X80,0XBF,0XA1,0X51,
        0X65,0XA3,0X2A,0XA1,0X63,0XB3,
        0X6B,0X22,0XA3,0X68,0X01,0XC0,
        0XEA,0X3A,0X44,0XC8,0X03,0XE0,
        0XA7,0XAE,0XF6,0XAF,0XA6,0XE2,
        0X03,0X98,0XEB,0XBA,0X09,0XFA,
        0X00,0X00,0X08,0XCA,0X4A,0X7E,
        0X49,0XC9,0X08,0X6C,0XAC,0X4E,
        0X82,0X3E,0XC0,0X7B,0X4B,0XEB,
        0X7F,0X6B,0XCB,0X3B,0X80,0XA9,
        0XAA,0XC2,0X01,0XF0,0X8F,0X00,
        0X40,0XC0,0X7F,0X40,0X40,0X40,
        0X00,0X03,0XAB,0X2A,0X59,0X7D,
        0X59,0X69,0X41,0X6B,0X59,0X7D,
        0X59,0X29,0X69,0X38,0XA4,0X00,
        0XFF,0X01,0X11,0X11,0XFD,0X11,
        0X51,0X91,0X01,0X00,0XA6,0XAE,
        0X8A,0XC4,0XBF,0X02,0X00,0X3E,
        0X01,0X41,0X01,0X01,0X01,0X00,
        0X63,0X00,0X20,0X22,0XA1,0X6F,
        0X30,0XA4,0XA4,0XA4,0XAE,0X25,
        0X24,0X00,0X03,0X0E,0X2C,0X34,
        0XB4,0XAF,0XF5,0XB7,0XAE,0XB4,
        0X37,0X2C,0X00,0XE8,0XFA,0X2B,
        0X08,0XFC,0X03,0X00,0X82,0XAA,
        0XAB,0XAA,0XAA,0X82,0X00,0X0C,
        0XAB,0X4E,0X82,0X3E,0X80,0X80,
        0XFE,0XB6,0XD5,0XB6,0XBE,0X00,
        0X80,0XA9,0XAA,0XF2,0X1F,0XF1,
        0X0F,0XF1,0X1F,0XF1,0X0F,0XE0,
        0X07,0XF0,0X1F,0X13,0X83,0XFF,
        0X07,0XFE,0X03,0X10,0X88,0XA6,
        0XE4,0XA7,0XA8,0X12,0X0C,0X84,
        0X43,0X08,0XE8,0X24,0XEA,0X0A,
        0XE9,0X2A,0X2A,0XE4,0X08,0X08,
        0X54,0X4C,0X01,0X00,0X21,0XB5,
        0XC8,0XBC,0X8E,0X8A,0X8A,0X09,
        0X08,0X78,0XC0,0XAA,0X4E,0XF2,
        0X4F,0X01,0X10,0X11,0X11,0X11,
        0X11,0X11,0XF1,0XEF,0XA0,0XAA,
        0X93,0XFC,0X53,0X00,0XE8,0X2B,
        0X3D,0XE9,0X2B,0X3D,0XE9,0X3B,
        0XAC,0XEB,0X21,0X19,0X0F,0X29,
        0XF9,0X00,0X7C,0X00,0X00,0XFF,
        0X00,0X68,0X80,0X0E,0X88,0X8A,
        0XAA,0XAA,0XDA,0X8F,0X9A,0XAA,
        0X8A,0X2A,0X08,0XB1,0X41,0X4A,
        0XF2,0X4F,0X01,0XE0,0XA1,0X05,
        0XFD,0X07,0XA5,0XED,0XE5,0XA0,
        0X97,0X62,0X28,0XAA,0XAA,0X6A,
        0X7F,0XAB,0X6A,0X2A,0X2A,0X60,
        0X68,0X0C,0X29,0X08,0XFC,0X03,
        0X4C,0X20,0X1A,0X66,0X43,0XFA,
        0X22,0X12,0X0C,0X68,0X24,0XE1,
        0XA0,0X97,0XBE,0X96,0X96,0X96,
        0XB6,0X97,0X00,0X80,0X6A,0XA5,
        0X42,0X41,0X41,0X4F,0X41,0X41,
        0X41,0XF0,0X43,0X5C,0X60,0XA8,
        0X5B,0X40,0X23,0XA8,0X2B,0XFC,
        0X2B,0X29,0X01,0XCC,0X47,0X56,
        0XDE,0X4F,0XA9,0XAA,0XFE,0X12,
        0X12,0XFE,0X00,0X04,0X14,0X64,
        0X04,0XFF,0X04,0X55,0X80,0X0E,
        0X85,0X44,0X3C,0X2A,0XEA,0X2B,
        0X6A,0XAB,0X3E,0X01,0X00,0XAC,
        0XEA,0XE0,0XA7,0XA4,0XA4,0XF4,
        0XAF,0XA4,0XA4,0XE4,0X07,0X00,
        0X08,0XB0,0XAA,0X43,0X48,0X6A,
        0X6A,0XEB,0X7D,0X69,0X69,0X6B,
        0X49,0X40,0XA8,0X56,0XAA,0X02,
        0X02,0X3A,0X2A,0XEA,0X2F,0XEA,
        0X2A,0X3A,0X02,0X82,0X6A,0X90,
        0X3A,0XC0,0X7F,0X40,0X61,0X52,
        0X4C,0X52,0X61,0XC0,0X3F,0X80,
        0X01,0X00,0X8D,0XE8,0X8F,0X08,
        0XE0,0XB1,0X2F,0XE5,0X3D,0XAB,
        0XEF,0X01,0XC0,0XEB,0X48,0X48,
        0X2F,0X29,0X0B,0X09,0X29,0X2F,
        0X49,0X4B,0X00,0XB8,0XEB,0X2E,
        0X20,0X5F,0X95,0XF5,0X15,0X15,
        0XF5,0X95,0X5F,0X20,0X00,0XEA,
        0XBA,0X0A,0X42,0X62,0X5A,0X42,
        0X42,0X7E,0X42,0X42,0X0A,0X12,
        0X62,0XA0,0X03,0X04,0X11,0X11,
        0XF9,0X17,0X11,0X11,0XF1,0X1F,
        0X11,0X01,0X81,0X01,0X0C,0X10,
        0XD1,0XFC,0X93,0X00,0XFC,0X07,
        0X04,0XFC,0X03,0X00,0XC2,0X18,
        0XEC,0X00,0XFE,0X52,0X52,0X52,
        0X53,0X52,0X52,0XFE,0X00,0X00,
        0XAC,0XAA,0X03,0XA2,0X9A,0X86,
        0XA2,0X32,0X00,0X01,0XE1,0X1F,
        0X01,0X7F,0X45,0X18,0X26,0XA1,
        0XF0,0X00,0X0F,0X05,0X05,0XF5,
        0X2E,0X11,0X81,0X00,0X5C,0X0D,
        0X40,0X48,0X50,0X60,0XC3,0X7C,
        0XC0,0X63,0X50,0X48,0X40,0X6A,
        0XC0,0XEA,0X32,0X12,0X16,0XDA,
        0X1B,0X1A,0XDA,0X16,0X12,0X32,
        0X00,0X1A,0XB0,0X0E,0X80,0XBF,
        0X82,0X92,0XF7,0X96,0X96,0XB7,
        0X92,0X00,0X80,0XA9,0XA5,0X82,
        0XC4,0XB6,0X85,0X44,0X40,0X4D,
        0XF5,0X45,0X45,0X4D,0XA0,0XC5,
        0XEA,0X08,0XE8,0XA8,0XAA,0XA9,
        0XFC,0XAB,0XA9,0XAA,0XE8,0X08,
        0X14,0X30,0X94,0X00,0XFF,0X05,
        0XA5,0XB5,0XB5,0XF5,0X5D,0X55,
        0X45,0X47,0X06,0XB0,0X3A,0X41,
        0XB2,0X00,0X40,0XBE,0XEA,0X2B,
        0X2A,0XAB,0X7E,0XC0,0XC0,0X80,
        0X93,0XA0,0X0F,0X40,0X40,0X41,
        0X4B,0XF8,0X4F,0X40,0X00,0X60,
        0XAA,0XAA,0XF2,0X90,0X90,0X90,
        0X90,0XFC,0X93,0X90,0X90,0X90,
        0XF0,0X00,0X30,0X00,0X6C,0X53,
        0X48,0X00,0XFF,0X00,0XD6,0X38,
        0XFE,0X38,0XD6,0X1A,0XAB,0X2A,
        0XC9,0X3F,0X05,0X80,0X85,0XD4,
        0XAE,0XA4,0X9C,0X05,0X80,0X83,
        0X9A,0XCA,0XB2,0XAF,0X42,0X90,
        0X0F,0XA0,0XA2,0XFA,0XAF,0XEA,
        0XC3,0XB2,0XBA,0XFE,0X57,0X54,
        0X7D,0X02,0X00,0XFC,0X07,0X05,
        0XFE,0X01,0X6C,0XC4,0X00,0XFE,
        0X82,0XFE,0X00,0X24,0X26,0X2A,
        0XFF,0X21,0X29,0X24,0X00,0XE0,
        0X00,0X10,0X90,0X9F,0XD2,0X96,
        0XB6,0X94,0X3F,0X08,0X04,0X80,
        0X5A,0X38,0X80,0XC0,0X3F,0X80,
        0X40,0X39,0X07,0X31,0X41,0X8F,
        0X00,0XC0,0X18,0X1A,0X24,0XF4,
        0X2F,0XE4,0X03,0X04,0X7E,0X46,
        0X7E,0XC0,0X03,0X50,0X81,0X1A,
        0X00,0X00,0X00,0X00,0X00,0XFF,
        0X08,0X08,0X08,0X00,0X00,0XAA,
        0XAE,0X2A,0X16,0XDD,0X14,0X12,
        0X00,0X0A,0XCA,0X1F,0X65,0XA5,
        0X95,0X16,0X5A,0X1E,0X10,0X10,
        0X10,0XF0,0X1F,0X90,0X10,0X11,
        0X12,0X00,0X00,0X30,0X00,0XF8,
        0X07,0XF8,0X09,0XE8,0X0B,0XF8,
        0X01,0XF8,0X01,0XFC,0X8F,0X91,
        0XE8,0XFE,0X82,0XFE,0X00,0XFC,
        0X04,0XF6,0X95,0XF4,0X04,0XFC,
        0X00,0X03,0X38,0X80,0XBF,0X80,
        0X84,0X98,0XC2,0X8C,0XB0,0X8E,
        0X00,0X80,0XA9,0XBA,0X82,0XC0,
        0X3F,0X40,0XC0,0X43,0X5C,0X60,
        0X40,0XCC,0X43,0XC0,0XA8,0XAE,
        0X26,0X34,0XF4,0X2F,0XE5,0X00,
        0XF4,0X15,0XFC,0X17,0XF4,0XE5,
        0X80,0X91,0X28,0X7A,0X5A,0XFF,
        0X5A,0X6A,0X08,0X3F,0XC8,0X29,
        0X9A,0XD5,0X65,0X34,0X40,0XB2,
        0X04,0X00,0XBF,0X81,0X8C,0XD4,
        0XA7,0X94,0XCD,0X60,0X18,0X19,
        0XF0,0X5F,0XFA,0X0F,0X04,0X50,
        0X62,0XC2,0X6F,0X52,0X12,0X0C,
        0X46,0X82,0X88,0XE8,0XEA,0XD8,
        0XC8,0XAB,0X94,0X46,0X80,0X00,
        0X14,0X38,0X14,0X00,0X00,0X80,
        0X60,0X18,0X07,0X18,0XE0,0X00,
        0X00,0X00,0X06,0X00,0X89,0X84,
        0XFD,0X97,0X95,0X3C,0X04,0XD5,
        0X95,0X3F,0X15,0X1F,0XD7,0XE0,
        0XE0,0X2F,0XE8,0X0F,0XC0,0X49,
        0XF9,0X59,0XFC,0X49,0XC9,0X09,
        0X68,0X4C,0X12,0X4D,0X59,0X69,
        0X4B,0X51,0X4D,0XE9,0X49,0X5B,
        0X69,0X01,0X84,0X0E,0X6C,0X5B,
        0X40,0X00,0X00,0X81,0X7F,0X41,
        0X89,0X4F,0X38,0X1A,0X66,0X24,
        0X80,0XBF,0X4A,0X20,0X82,0X49,
        0X54,0X64,0X94,0X09,0X42,0X07,
        0X46,0X42,0XAF,0XBA,0XAF,0X6A,
        0X0F,0X90,0X74,0X16,0X9F,0XF4,
        0X10,0X39,0X75,0X31,0XED,0X2B,
        0X01,0XE4,0X29,0X20,0XBE,0X21,
        0X2A,0XE4,0X71,0X18,0X90,0X40,
        0X7E,0XCB,0X52,0XFE,0X00,0X04,
        0X64,0X04,0XFF,0X04,0X86,0X83,
        0X0E,0X42,0XB4,0X00,0X00,0X84,
        0X3F,0XC2,0X1F,0X02,0X09,0XEF,
        0X00,0XAB,0X9E,0XA0,0X0F,0X00,
        0XF0,0X1F,0X50,0XFE,0X5B,0X1E,
        0XF0,0XCF,0X16,0XA0,0X13,0X10,
        0X10,0X92,0X7D,0X90,0X10,0X11,
        0X12,0X10,0X00,0X68,0X00,0X29,
        0X40,0X30,0X0C,0X00,0X00,0XFF,
        0X00,0X00,0X04,0X18,0X60,0X80,
        0X0E,0X00,0X14,0X95,0X6D,0X25,
        0X2F,0X1D,0X95,0X2C,0X15,0X14,
        0X00,0XAA,0X05,0X80,0XC0,0X3F,
        0X00,0XE0,0XAF,0XAA,0XBE,0XAA,
        0XAE,0XEA,0XCE,0X38,0X33,0X4B,
        0XCA,0XF9,0X47,0X01,0X52,0XE9,
        0XCE,0XC8,0XA8,0X9A,0XC1,0XA8,
        0X05,0X20,0X24,0X25,0XA6,0X7C,
        0X64,0XA6,0X25,0X24,0X20,0X00,
        0X1A,0X40,0X4A,0XBE,0X00,0X64,
        0X64,0X54,0X7F,0X44,0X44,0X44,
        0XC0,0XFF,0X80,0X03,0X0E,0X00,
        0XE8,0XA7,0XAE,0XA2,0XB2,0XA2,
        0XA2,0XE2,0X0E,0X60,0XAC,0XEA,
        0X28,0XAA,0XF9,0X27,0X01,0X70,
        0X00,0XFC,0X00,0X12,0XA1,0XC0,
        0X60,0X01,0X10,0X08,0X14,0X93,
        0X70,0X10,0X13,0XF4,0X08,0X10,
        0X00,0X1A,0X60,0X00,0X00,0X01,
        0X09,0X49,0X89,0X3F,0X09,0X09,
        0X09,0X01,0X00,0XAA,0XAB,0X72,
        0X90,0X19,0X96,0X79,0X00,0X70,
        0X90,0X19,0X96,0X79,0X60,0X24,
        0X46,0X86,0XB7,0XA6,0XB6,0X97,
        0XB6,0X86,0X03,0XF0,0X01,0XFC,
        0XAF,0XEB,0XE8,0X20,0X20,0X2F,
        0XE9,0XA9,0XA9,0XA9,0XAF,0XA0,
        0X20,0X00,0X00,0XA8,0X01,0X80,
        0XBF,0X82,0XBA,0X8A,0X4A,0X4A,
        0X4A,0X3A,0X02,0X80,0XB1,0XEA,
        0X80,0XC0,0X3F,0X00,0X20,0X23,
        0X65,0X75,0X6D,0X25,0X25,0XC3,
        0X80,0X0E,0X00,0X00,0XE0,0X03,
        0X00,0XFC,0X23,0X20,0X20,0X00,
        0X00,0XE8,0XBA,0XAA,0X8A,0X6A,
        0XFE,0X29,0X81,0X6C,0X03,0XFE,
        0X02,0X32,0XC6,0X30,0XE0,0X40,
        0X48,0X48,0X44,0X42,0XFF,0X40,
        0X42,0X44,0X48,0X10,0X00,0XC0,
        0X00,0X40,0X48,0X44,0XCA,0X49,
        0XF8,0X4F,0XC8,0X49,0X4A,0X44,
        0X08,0XC0,0X00,0X20,0XFC,0X23,
        0X01,0X80,0XF8,0X43,0XFC,0XA1,
        0X20,0XE1,0X05,0XB0,0XEA,0X2C,
        0XFB,0X2A,0X00,0X28,0XA4,0XA2,
        0XA9,0XA2,0XA4,0X28,0X2C,0XA0,
        0XC1,0X7F,0X40,0X40,0X5E,0X52,
        0X52,0X5E,0X40,0XC0,0X3F,0XC0,
        0XAA,0XAA,0XC3,0X43,0XF2,0X4F,
        0XC2,0X0B,0X80,0XA0,0XF4,0XAE,
        0X84,0XE0,0X35,0XBA,0XFA,0X0B,
        0X0A,0XFA,0X03,0XF8,0X03,0X02,
        0X02,0XFD,0X03,0X00,0X00,0X30,
        0X08,0X04,0X44,0X4A,0X4A,0XF9,
        0X4A,0X4A,0X44,0X04,0X08,0XA8,
        0XAE,0X0A,0X84,0XB4,0XD6,0X94,
        0X96,0X34,0XC4,0X7F,0X62,0XE2,
        0X1D,0XAB,0X33,0X00,0XF0,0X9F,
        0X94,0X94,0XF4,0X9F,0X94,0X94,
        0XF4,0X0F,0X60,0XC0,0XE0,0X10,
        0XF8,0X07,0XE4,0X93,0X88,0X88,
        0XF8,0X8B,0X84,0X00,0X30,0X99,
        0X64,0X10,0X10,0XFF,0X10,0X18,
        0X54,0X92,0X11,0X10,0X10,0X00,
        0XB0,0X41,0X8A,0XBC,0X84,0X85,
        0XB6,0XD6,0X96,0XB6,0X85,0X84,
        0X3C,0XC0,0X50,0X85,0X03
};