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