crashtest-r0ket/lcd/smallfonts.c

557 lines
24 KiB
C

/* Partially based on original code for the KS0108 by Stephane Rey */
/**************************************************************************/
/*!
@file smallfonts.c
@author K. Townsend (microBuilder.eu)
@date 22 March 2010
@version 0.10
@section LICENSE
Software License Agreement (BSD License)
Copyright (c) 2010, microBuilder SARL
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holders nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**************************************************************************/
#include "smallfonts.h"
/* System 3x6 - UPPER CASE ONLY */
const uint8_t au8Font3x6[]= {
0x00,0x00,0x00, /* Space */
0x00,0x5C,0x00, /* ! */
0x0C,0x00,0x0C, /* " */
0x7C,0x28,0x7C, /* # */
0x7C,0x44,0x7C, /* $ */
0x24,0x10,0x48, /* % */
0x28,0x54,0x08, /* & */
0x00,0x0C,0x00, /* ' */
0x38,0x44,0x00, /* ( */
0x44,0x38,0x00, /* ) */
0x20,0x10,0x08, /* / */
0x10,0x38,0x10, /* + */
0x80,0x40,0x00, /* , */
0x10,0x10,0x10, /* - */
0x00,0x40,0x00, /* . */
0x20,0x10,0x08, /* / */
0x38,0x44,0x38, /* 0 */
0x00,0x7C,0x00, /* 1 */
0x64,0x54,0x48, /* 2 */
0x44,0x54,0x28, /* 3 */
0x1C,0x10,0x7C, /* 4 */
0x4C,0x54,0x24, /* 5 */
0x38,0x54,0x20, /* 6 */
0x04,0x74,0x0C, /* 7 */
0x28,0x54,0x28, /* 8 */
0x08,0x54,0x38, /* 9 */
0x00,0x50,0x00, /* : */
0x80,0x50,0x00, /* ; */
0x10,0x28,0x44, /* < */
0x28,0x28,0x28, /* = */
0x44,0x28,0x10, /* > */
0x04,0x54,0x08, /* ? */
0x38,0x4C,0x5C, /* @ */
0x78,0x14,0x78, /* A */
0x7C,0x54,0x28, /* B */
0x38,0x44,0x44, /* C */
0x7C,0x44,0x38, /* D */
0x7C,0x54,0x44, /* E */
0x7C,0x14,0x04, /* F */
0x38,0x44,0x34, /* G */
0x7C,0x10,0x7C, /* H */
0x00,0x7C,0x00, /* I */
0x20,0x40,0x3C, /* J */
0x7C,0x10,0x6C, /* K */
0x7C,0x40,0x40, /* L */
0x7C,0x08,0x7C, /* M */
0x7C,0x04,0x7C, /* N */
0x7C,0x44,0x7C, /* O */
0x7C,0x14,0x08, /* P */
0x38,0x44,0x78, /* Q */
0x7C,0x14,0x68, /* R */
0x48,0x54,0x24, /* S */
0x04,0x7C,0x04, /* T */
0x7C,0x40,0x7C, /* U */
0x3C,0x40,0x3C, /* V */
0x7C,0x20,0x7C, /* W */
0x6C,0x10,0x6C, /* X */
0x1C,0x60,0x1C, /* Y */
0x64,0x54,0x4C, /* Z */
0x7C,0x44,0x00, /* [ */
0x08,0x10,0x20, /* \ */
0x44,0x7C,0x00, /* ] */
0x08,0x04,0x08, /* ^ */
0x80,0x80,0x80, /* _ */
0x04,0x08,0x00 /* ` */
};
/* System 5x8 */
const uint8_t au8Font5x8[]=
{
0x00,0x00,0x00,0x00,0x00, /* Space */
0x00,0x00,0x4f,0x00,0x00, /* ! */
0x00,0x07,0x00,0x07,0x00, /* " */
0x14,0x7f,0x14,0x7f,0x14, /* # */
0x24,0x2a,0x7f,0x2a,0x12, /* $ */
0x23,0x13,0x08,0x64,0x62, /* % */
0x36,0x49,0x55,0x22,0x20, /* & */
0x00,0x05,0x03,0x00,0x00, /* ' */
0x00,0x1c,0x22,0x41,0x00, /* ( */
0x00,0x41,0x22,0x1c,0x00, /* ) */
0x14,0x08,0x3e,0x08,0x14, /* / */
0x08,0x08,0x3e,0x08,0x08, /* + */
0x50,0x30,0x00,0x00,0x00, /* , */
0x08,0x08,0x08,0x08,0x08, /* - */
0x00,0x60,0x60,0x00,0x00, /* . */
0x20,0x10,0x08,0x04,0x02, /* / */
0x3e,0x51,0x49,0x45,0x3e, /* 0 */
0x00,0x42,0x7f,0x40,0x00, /* 1 */
0x42,0x61,0x51,0x49,0x46, /* 2 */
0x21,0x41,0x45,0x4b,0x31, /* 3 */
0x18,0x14,0x12,0x7f,0x10, /* 4 */
0x27,0x45,0x45,0x45,0x39, /* 5 */
0x3c,0x4a,0x49,0x49,0x30, /* 6 */
0x01,0x71,0x09,0x05,0x03, /* 7 */
0x36,0x49,0x49,0x49,0x36, /* 8 */
0x06,0x49,0x49,0x29,0x1e, /* 9 */
0x00,0x36,0x36,0x00,0x00, /* : */
0x00,0x56,0x36,0x00,0x00, /* ; */
0x08,0x14,0x22,0x41,0x00, /* < */
0x14,0x14,0x14,0x14,0x14, /* = */
0x00,0x41,0x22,0x14,0x08, /* > */
0x02,0x01,0x51,0x09,0x06, /* ? */
0x3e,0x41,0x5d,0x55,0x1e, /* @ */
0x7e,0x11,0x11,0x11,0x7e, /* A */
0x7f,0x49,0x49,0x49,0x36, /* B */
0x3e,0x41,0x41,0x41,0x22, /* C */
0x7f,0x41,0x41,0x22,0x1c, /* D */
0x7f,0x49,0x49,0x49,0x41, /* E */
0x7f,0x09,0x09,0x09,0x01, /* F */
0x3e,0x41,0x49,0x49,0x7a, /* G */
0x7f,0x08,0x08,0x08,0x7f, /* H */
0x00,0x41,0x7f,0x41,0x00, /* I */
0x20,0x40,0x41,0x3f,0x01, /* J */
0x7f,0x08,0x14,0x22,0x41, /* K */
0x7f,0x40,0x40,0x40,0x40, /* L */
0x7f,0x02,0x0c,0x02,0x7f, /* M */
0x7f,0x04,0x08,0x10,0x7f, /* N */
0x3e,0x41,0x41,0x41,0x3e, /* O */
0x7f,0x09,0x09,0x09,0x06, /* P */
0x3e,0x41,0x51,0x21,0x5e, /* Q */
0x7f,0x09,0x19,0x29,0x46, /* R */
0x26,0x49,0x49,0x49,0x32, /* S */
0x01,0x01,0x7f,0x01,0x01, /* T */
0x3f,0x40,0x40,0x40,0x3f, /* U */
0x1f,0x20,0x40,0x20,0x1f, /* V */
0x3f,0x40,0x38,0x40,0x3f, /* W */
0x63,0x14,0x08,0x14,0x63, /* X */
0x07,0x08,0x70,0x08,0x07, /* Y */
0x61,0x51,0x49,0x45,0x43, /* Z */
0x00,0x7f,0x41,0x41,0x00, /* [ */
0x02,0x04,0x08,0x10,0x20, /* \ */
0x00,0x41,0x41,0x7f,0x00, /* ] */
0x04,0x02,0x01,0x02,0x04, /* ^ */
0x40,0x40,0x40,0x40,0x40, /* _ */
0x00,0x00,0x03,0x05,0x00, /* ` */
0x20,0x54,0x54,0x54,0x78, /* a */
0x7F,0x44,0x44,0x44,0x38, /* b */
0x38,0x44,0x44,0x44,0x44, /* c */
0x38,0x44,0x44,0x44,0x7f, /* d */
0x38,0x54,0x54,0x54,0x18, /* e */
0x04,0x04,0x7e,0x05,0x05, /* f */
0x08,0x54,0x54,0x54,0x3c, /* g */
0x7f,0x08,0x04,0x04,0x78, /* h */
0x00,0x44,0x7d,0x40,0x00, /* i */
0x20,0x40,0x44,0x3d,0x00, /* j */
0x7f,0x10,0x28,0x44,0x00, /* k */
0x00,0x41,0x7f,0x40,0x00, /* l */
0x7c,0x04,0x7c,0x04,0x78, /* m */
0x7c,0x08,0x04,0x04,0x78, /* n */
0x38,0x44,0x44,0x44,0x38, /* o */
0x7c,0x14,0x14,0x14,0x08, /* p */
0x08,0x14,0x14,0x14,0x7c, /* q */
0x7c,0x08,0x04,0x04,0x00, /* r */
0x48,0x54,0x54,0x54,0x24, /* s */
0x04,0x04,0x3f,0x44,0x44, /* t */
0x3c,0x40,0x40,0x20,0x7c, /* u */
0x1c,0x20,0x40,0x20,0x1c, /* v */
0x3c,0x40,0x30,0x40,0x3c, /* w */
0x44,0x28,0x10,0x28,0x44, /* x */
0x0c,0x50,0x50,0x50,0x3c, /* y */
0x44,0x64,0x54,0x4c,0x44, /* z */
0x08,0x36,0x41,0x41,0x00, /* { */
0x00,0x00,0x77,0x00,0x00, /* | */
0x00,0x41,0x41,0x36,0x08, /* } */
0x08,0x08,0x2a,0x1c,0x08, /* <- */
0x08,0x1c,0x2a,0x08,0x08, /* -> */
0xff,0xff,0xff,0xff,0xff, /* ^? */
};
/* System 7x8 */
const uint8_t au8Font7x8[]=
{
0, 0, 0, 0, 0, 0, 0, //' '
0, 6, 95, 95, 6, 0, 0, //'!'
0, 7, 7, 0, 7, 7, 0, //'"'
20, 127, 127, 20, 127, 127, 20, //'#'
36, 46, 107, 107, 58, 18, 0, //'$'
70, 102, 48, 24, 12, 102, 98, //'%'
48, 122, 79, 93, 55, 122, 72, //'&'
4, 7, 3, 0, 0, 0, 0, //'''
0, 28, 62, 99, 65, 0, 0, //'('
0, 65, 99, 62, 28, 0, 0, //')'
8, 42, 62, 28, 28, 62, 42, //'*'
8, 8, 62, 62, 8, 8, 0, //'+'
0, 128, 224, 96, 0, 0, 0, //','
8, 8, 8, 8, 8, 8, 0, //'-'
0, 0, 96, 96, 0, 0, 0, //'.'
96, 48, 24, 12, 6, 3, 1, //'/'
62, 127, 113, 89, 77, 127, 62, //'0'
64, 66, 127, 127, 64, 64, 0, //'1'
98, 115, 89, 73, 111, 102, 0, //'2'
34, 99, 73, 73, 127, 54, 0, //'3'
24, 28, 22, 83, 127, 127, 80, //'4'
39, 103, 69, 69, 125, 57, 0, //'5'
60, 126, 75, 73, 121, 48, 0, //'6'
3, 3, 113, 121, 15, 7, 0, //'7'
54, 127, 73, 73, 127, 54, 0, //'8'
6, 79, 73, 105, 63, 30, 0, //'9'
0, 0, 102, 102, 0, 0, 0, //':'
0, 128, 230, 102, 0, 0, 0, //';'
8, 28, 54, 99, 65, 0, 0, //'<'
36, 36, 36, 36, 36, 36, 0, //'='
0, 65, 99, 54, 28, 8, 0, //'>'
2, 3, 81, 89, 15, 6, 0, //'?'
62, 127, 65, 93, 93, 31, 30, //'@'
124,126, 19, 19, 126, 124, 0, //'A'
65, 127, 127, 73, 73, 127, 54, //'B'
28, 62, 99, 65, 65, 99, 34, //'C'
65, 127, 127, 65, 99, 62, 28, //'D'
65, 127, 127, 73, 93, 65, 99, //'E'
65, 127, 127, 73, 29, 1, 3, //'F'
28, 62, 99, 65, 81, 115, 114, //'G'
127,127, 8, 8, 127, 127, 0, //'H'
0, 65, 127, 127, 65, 0, 0, //'I'
48, 112, 64, 65, 127, 63, 1, //'J'
65, 127, 127, 8, 28, 119, 99, //'K'
65, 127, 127, 65, 64, 96, 112, //'L'
127,127, 14, 28, 14, 127, 127, //'M'
127,127, 6, 12, 24, 127, 127, //'N'
28, 62, 99, 65, 99, 62, 28, //'O'
65, 127, 127, 73, 9, 15, 6, //'P'
30, 63, 33, 113, 127, 94, 0, //'Q'
65, 127, 127, 9, 25, 127, 102, //'R'
38, 111, 77, 89, 115, 50, 0, //'S'
3, 65, 127, 127, 65, 3, 0, //'T'
127,127, 64, 64, 127, 127, 0, //'U'
31, 63, 96, 96, 63, 31, 0, //'V'
127,127, 48, 24, 48, 127, 127, //'W'
67, 103, 60, 24, 60, 103, 67, //'X'
7, 79, 120, 120, 79, 7, 0, //'Y'
71, 99, 113, 89, 77, 103, 115, //'Z'
0, 127, 127, 65, 65, 0, 0, //'['
1, 3, 6, 12, 24, 48, 96, //'\'
0, 65, 65, 127, 127, 0, 0, //']'
8, 12, 6, 3, 6, 12, 8, //'^'
128,128, 128, 128, 128, 128, 128, //'_'
0, 0, 3, 7, 4, 0, 0, //'`'
32, 116, 84, 84, 60, 120, 64, //'a'
65, 127, 63, 72, 72, 120, 48, //'b'
56, 124, 68, 68, 108, 40, 0, //'c'
48, 120, 72, 73, 63, 127, 64, //'d'
56, 124, 84, 84, 92, 24, 0, //'e'
72, 126, 127, 73, 3, 2, 0, //'f'
56, 188, 164, 164, 252, 120, 0, //'g'
65, 127, 127, 8, 4, 124, 120, //'h'
0, 68, 125, 125, 64, 0, 0, //'i'
96, 224, 128, 128, 253, 125, 0, //'j'
65, 127, 127, 16, 56, 108, 68, //'k'
0, 65, 127, 127, 64, 0, 0, //'l'
120,124, 28, 56, 28, 124, 120, //'m'
124,124, 4, 4, 124, 120, 0, //'n'
56, 124, 68, 68, 124, 56, 0, //'o'
0, 252, 252, 164, 36, 60, 24, //'p'
24, 60, 36, 164, 248, 252, 132, //'q'
68, 124, 120, 76, 4, 28, 24, //'r'
72, 92, 84, 84, 116, 36, 0, //'s'
0, 4, 62, 127, 68, 36, 0, //'t'
60, 124, 64, 64, 60, 124, 64, //'u'
28, 60, 96, 96, 60, 28, 0, //'v'
60, 124, 112, 56, 112, 124, 60, //'w'
68, 108, 56, 16, 56, 108, 68, //'x'
60, 188, 160, 160, 252, 124, 0, //'y'
76, 100, 116, 92, 76, 100, 0, //'z'
8, 8, 62, 119, 65, 65, 0, //'{'
0, 0, 0, 119, 119, 0, 0, //'|'
65, 65, 119, 62, 8, 8, 0, //'}'
2, 3, 1, 3, 2, 3, 1, //'~'
255,129, 129, 129, 129, 129, 255, //'^?'
14, 159, 145, 177, 251, 74, 0 //'?'
};
/* 8x8 Normal */
const uint8_t au8Font8x8[]= {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ASCII - 32
0x00,0x00,0x00,0x5F,0x5F,0x00,0x00,0x00, // ASCII - 33
0x00,0x00,0x03,0x07,0x00,0x07,0x03,0x00, // ASCII - 34
0x00,0x10,0x74,0x1C,0x77,0x1C,0x17,0x04, // ASCII - 35
0x00,0x24,0x2E,0x2A,0x7F,0x2A,0x3A,0x10, // ASCII - 36
0x00,0x4C,0x6A,0x76,0x1A,0x6A,0x56,0x33, // ASCII - 37
0x00,0x30,0x7A,0x4F,0x5D,0x37,0x7A,0x48, // ASCII - 38
0x00,0x00,0x04,0x07,0x03,0x00,0x00,0x00, // ASCII - 39
0x00,0x00,0x00,0x1C,0x3E,0x63,0x41,0x00, // ASCII - 40
0x00,0x00,0x41,0x63,0x3E,0x1C,0x00,0x00, // ASCII - 41
0x00,0x08,0x2A,0x3E,0x1C,0x3E,0x2A,0x08, // ASCII - 42
0x00,0x08,0x08,0x3E,0x3E,0x08,0x08,0x00, // ASCII - 43
0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00, // ASCII - 44
0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, // ASCII - 45
0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00, // ASCII - 46
0x00,0x60,0x30,0x18,0x0C,0x06,0x03,0x01, // ASCII - 47
0x00,0x1C,0x3E,0x61,0x43,0x3E,0x1C,0x00, // ASCII - 48
0x00,0x00,0x44,0x7F,0x7F,0x40,0x00,0x00, // ASCII - 49
0x00,0x46,0x67,0x71,0x59,0x4F,0x66,0x00, // ASCII - 50
0x00,0x22,0x63,0x49,0x4D,0x7F,0x32,0x00, // ASCII - 51
0x00,0x18,0x1C,0x52,0x7F,0x7F,0x50,0x00, // ASCII - 52
0x00,0x2F,0x6F,0x45,0x45,0x7D,0x39,0x00, // ASCII - 53
0x00,0x3C,0x7E,0x4B,0x49,0x79,0x30,0x00, // ASCII - 54
0x00,0x07,0x43,0x71,0x7D,0x0F,0x03,0x00, // ASCII - 55
0x00,0x36,0x7F,0x4D,0x59,0x7F,0x36,0x00, // ASCII - 56
0x00,0x06,0x4F,0x49,0x69,0x3F,0x1E,0x00, // ASCII - 57
0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00, // ASCII - 58
0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00, // ASCII - 59
0x00,0x00,0x08,0x1C,0x36,0x63,0x41,0x00, // ASCII - 60
0x00,0x14,0x14,0x14,0x14,0x14,0x14,0x00, // ASCII - 61
0x00,0x00,0x41,0x63,0x36,0x1C,0x08,0x00, // ASCII - 62
0x00,0x02,0x07,0x51,0x59,0x0F,0x06,0x00, // ASCII - 63
0x00,0x3E,0x41,0x5D,0x55,0x5D,0x51,0x1E, // ASCII - 64
0x00,0x40,0x70,0x1D,0x17,0x1F,0x78,0x60, // ASCII - 65
0x00,0x41,0x7F,0x7F,0x49,0x4F,0x7E,0x30, // ASCII - 66
0x00,0x1C,0x3E,0x63,0x41,0x41,0x42,0x27, // ASCII - 67
0x00,0x41,0x7F,0x7F,0x41,0x63,0x3E,0x1C, // ASCII - 68
0x00,0x41,0x7F,0x7F,0x49,0x5D,0x41,0x63, // ASCII - 69
0x00,0x41,0x7F,0x7F,0x49,0x1D,0x01,0x03, // ASCII - 70
0x00,0x1C,0x3E,0x63,0x41,0x51,0x72,0x77, // ASCII - 71
0x00,0x7F,0x7F,0x08,0x08,0x7F,0x7F,0x00, // ASCII - 72
0x00,0x00,0x41,0x7F,0x7F,0x41,0x00,0x00, // ASCII - 73
0x00,0x30,0x70,0x41,0x41,0x7F,0x3F,0x01, // ASCII - 74
0x00,0x7F,0x7F,0x08,0x1C,0x77,0x63,0x41, // ASCII - 75
0x00,0x41,0x7F,0x7F,0x41,0x40,0x60,0x70, // ASCII - 76
0x00,0x7F,0x7E,0x0C,0x18,0x0C,0x7E,0x7F, // ASCII - 77
0x00,0x7F,0x7E,0x0C,0x18,0x30,0x7F,0x7F, // ASCII - 78
0x00,0x1C,0x3E,0x63,0x41,0x63,0x3E,0x1C, // ASCII - 79
0x00,0x41,0x7F,0x7F,0x49,0x09,0x0F,0x06, // ASCII - 80
0x00,0x1C,0x3E,0x63,0x51,0x63,0x3E,0x1C, // ASCII - 81
0x00,0x7F,0x7F,0x09,0x19,0x7F,0x66,0x40, // ASCII - 82
0x00,0x66,0x6F,0x4D,0x59,0x7B,0x33,0x00, // ASCII - 83
0x00,0x03,0x41,0x7F,0x7F,0x41,0x03,0x00, // ASCII - 84
0x00,0x3F,0x7F,0x40,0x40,0x40,0x7F,0x3F, // ASCII - 85
0x00,0x03,0x0F,0x3D,0x70,0x1D,0x07,0x01, // ASCII - 86
0x00,0x0F,0x7F,0x30,0x1C,0x30,0x7F,0x0F, // ASCII - 87
0x00,0x63,0x77,0x1C,0x1C,0x77,0x63,0x00, // ASCII - 88
0x01,0x03,0x47,0x7C,0x78,0x47,0x03,0x01, // ASCII - 89
0x00,0x67,0x73,0x59,0x4D,0x67,0x73,0x00, // ASCII - 90
0x00,0x00,0x00,0x7F,0x7F,0x41,0x41,0x00, // ASCII - 91
0x00,0x01,0x03,0x06,0x0C,0x18,0x30,0x60, // ASCII - 92
0x00,0x00,0x41,0x41,0x7F,0x7F,0x00,0x00, // ASCII - 93
0x00,0x00,0x04,0x06,0x03,0x06,0x04,0x00, // ASCII - 94
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ASCII - 95
0x00,0x00,0x01,0x03,0x06,0x04,0x00,0x00, // ASCII - 96
0x00,0x68,0x6C,0x54,0x54,0x3C,0x78,0x40, // ASCII - 97
0x00,0x41,0x7F,0x3F,0x6C,0x44,0x7C,0x38, // ASCII - 98
0x00,0x38,0x7C,0x44,0x44,0x6C,0x2C,0x00, // ASCII - 99
0x00,0x38,0x7C,0x44,0x49,0x3F,0x7F,0x40, // ASCII - 100
0x00,0x38,0x7C,0x54,0x54,0x5C,0x58,0x00, // ASCII - 101
0x00,0x00,0x48,0x7E,0x7F,0x49,0x0B,0x02, // ASCII - 102
0x00,0x48,0x7C,0x34,0x34,0x2C,0x68,0x44, // ASCII - 103
0x00,0x41,0x7F,0x7F,0x08,0x04,0x7C,0x78, // ASCII - 104
0x00,0x00,0x44,0x7D,0x7D,0x40,0x00,0x00, // ASCII - 105
0x00,0x60,0x60,0x04,0x7D,0x7D,0x00,0x00, // ASCII - 106
0x00,0x41,0x7F,0x7F,0x10,0x78,0x6C,0x44, // ASCII - 107
0x00,0x00,0x41,0x7F,0x7F,0x40,0x00,0x00, // ASCII - 108
0x00,0x7C,0x7C,0x0C,0x78,0x0C,0x7C,0x78, // ASCII - 109
0x00,0x44,0x7C,0x7C,0x08,0x04,0x7C,0x78, // ASCII - 110
0x00,0x38,0x7C,0x44,0x44,0x7C,0x38,0x00, // ASCII - 111
0x00,0x04,0x7C,0x78,0x24,0x24,0x3C,0x18, // ASCII - 112
0x00,0x18,0x3C,0x24,0x24,0x78,0x7C,0x00, // ASCII - 113
0x00,0x44,0x7C,0x78,0x4C,0x04,0x1C,0x18, // ASCII - 114
0x00,0x48,0x5C,0x5C,0x74,0x74,0x24,0x00, // ASCII - 115
0x00,0x00,0x04,0x3E,0x7F,0x44,0x24,0x00, // ASCII - 116
0x00,0x3C,0x7C,0x40,0x40,0x3C,0x7C,0x40, // ASCII - 117
0x00,0x04,0x1C,0x3C,0x60,0x30,0x1C,0x04, // ASCII - 118
0x00,0x1C,0x7C,0x30,0x1C,0x30,0x7C,0x1C, // ASCII - 119
0x00,0x44,0x6C,0x3C,0x10,0x78,0x6C,0x44, // ASCII - 120
0x00,0x44,0x4C,0x1C,0x70,0x64,0x1C,0x0C, // ASCII - 121
0x00,0x4C,0x64,0x74,0x5C,0x4C,0x64,0x00, // ASCII - 122
0x00,0x08,0x08,0x3E,0x77,0x41,0x41,0x00, // ASCII - 123
0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00, // ASCII - 124
0x00,0x41,0x41,0x77,0x3E,0x08,0x08,0x00, // ASCII - 125
0x00,0x02,0x01,0x01,0x03,0x02,0x02,0x01, // ASCII - 126
0x00,0x60,0x78,0x4E,0x47,0x5E,0x78,0x60, // ASCII - 127
0x00,0x1C,0x3E,0x23,0x41,0x41,0x42,0x27, // ASCII - 128
0x00,0x3D,0x7D,0x40,0x41,0x3D,0x7C,0x40, // ASCII - 129
};
/* 8x8 Thin */
const uint8_t au8Font8x8Thin[]= {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,
0x00,0x14,0x7F,0x14,0x14,0x7F,0x14,0x00,
0x00,0x24,0x2A,0x6B,0x6B,0x2A,0x12,0x00,
0x00,0x46,0x26,0x10,0x08,0x64,0x62,0x00,
0x30,0x4A,0x45,0x4D,0x32,0x48,0x48,0x00,
0x00,0x00,0x04,0x03,0x00,0x00,0x00,0x00,
0x00,0x1C,0x22,0x41,0x00,0x00,0x00,0x00,
0x00,0x00,0x41,0x22,0x1C,0x00,0x00,0x00,
0x08,0x2A,0x1C,0x1C,0x1C,0x2A,0x08,0x00,
0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00,
0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,
0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00,
0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,
0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x00,
0x00,0x3E,0x61,0x51,0x49,0x45,0x3E,0x00,
0x00,0x44,0x42,0x7F,0x40,0x40,0x00,0x00,
0x00,0x62,0x51,0x51,0x49,0x49,0x66,0x00,
0x00,0x22,0x41,0x49,0x49,0x49,0x36,0x00,
0x10,0x18,0x14,0x52,0x7F,0x50,0x10,0x00,
0x00,0x27,0x45,0x45,0x45,0x45,0x39,0x00,
0x00,0x3C,0x4A,0x49,0x49,0x49,0x30,0x00,
0x00,0x03,0x01,0x71,0x09,0x05,0x03,0x00,
0x00,0x36,0x49,0x49,0x49,0x49,0x36,0x00,
0x00,0x06,0x49,0x49,0x49,0x29,0x1E,0x00,
0x00,0x00,0x00,0x66,0x00,0x00,0x00,0x00,
0x00,0x00,0x80,0x66,0x00,0x00,0x00,0x00,
0x00,0x08,0x14,0x22,0x41,0x00,0x00,0x00,
0x00,0x24,0x24,0x24,0x24,0x24,0x24,0x00,
0x00,0x00,0x00,0x41,0x22,0x14,0x08,0x00,
0x00,0x02,0x01,0x01,0x51,0x09,0x06,0x00,
0x00,0x3E,0x41,0x5D,0x55,0x55,0x1E,0x00,
0x00,0x7C,0x12,0x11,0x11,0x12,0x7C,0x00,
0x00,0x41,0x7F,0x49,0x49,0x49,0x36,0x00,
0x00,0x1C,0x22,0x41,0x41,0x41,0x22,0x00,
0x00,0x41,0x7F,0x41,0x41,0x22,0x1C,0x00,
0x00,0x41,0x7F,0x49,0x5D,0x41,0x63,0x00,
0x00,0x41,0x7F,0x49,0x1D,0x01,0x03,0x00,
0x00,0x1C,0x22,0x41,0x51,0x51,0x72,0x00,
0x00,0x7F,0x08,0x08,0x08,0x08,0x7F,0x00,
0x00,0x00,0x41,0x7F,0x41,0x00,0x00,0x00,
0x00,0x30,0x40,0x40,0x41,0x3F,0x01,0x00,
0x00,0x41,0x7F,0x08,0x14,0x22,0x41,0x40,
0x00,0x41,0x7F,0x41,0x40,0x40,0x60,0x00,
0x00,0x7F,0x01,0x02,0x04,0x02,0x01,0x7F,
0x00,0x7F,0x01,0x02,0x04,0x08,0x7F,0x00,
0x00,0x3E,0x41,0x41,0x41,0x41,0x3E,0x00,
0x00,0x41,0x7F,0x49,0x09,0x09,0x06,0x00,
0x00,0x1E,0x21,0x21,0x31,0x21,0x5E,0x40,
0x00,0x41,0x7F,0x49,0x19,0x29,0x46,0x00,
0x00,0x26,0x49,0x49,0x49,0x49,0x32,0x00,
0x00,0x03,0x01,0x41,0x7F,0x41,0x01,0x03,
0x00,0x3F,0x40,0x40,0x40,0x40,0x3F,0x00,
0x00,0x0F,0x10,0x20,0x40,0x20,0x10,0x0F,
0x00,0x3F,0x40,0x40,0x38,0x40,0x40,0x3F,
0x00,0x41,0x22,0x14,0x08,0x14,0x22,0x41,
0x00,0x01,0x02,0x44,0x78,0x44,0x02,0x01,
0x00,0x43,0x61,0x51,0x49,0x45,0x43,0x61,
0x00,0x7F,0x41,0x41,0x41,0x00,0x00,0x00,
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x00,
0x00,0x41,0x41,0x41,0x7F,0x00,0x00,0x00,
0x08,0x04,0x02,0x01,0x02,0x04,0x08,0x00,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x00,0x00,0x00,0x03,0x04,0x00,0x00,0x00,
0x00,0x20,0x54,0x54,0x54,0x54,0x78,0x40,
0x00,0x01,0x7F,0x30,0x48,0x48,0x48,0x30,
0x00,0x38,0x44,0x44,0x44,0x44,0x28,0x00,
0x00,0x30,0x48,0x48,0x48,0x31,0x7F,0x40,
0x00,0x38,0x54,0x54,0x54,0x54,0x18,0x00,
0x00,0x00,0x48,0x7E,0x49,0x01,0x02,0x00,
0x00,0x98,0xA4,0xA4,0xA4,0xA4,0x78,0x04,
0x00,0x41,0x7F,0x08,0x04,0x04,0x78,0x00,
0x00,0x00,0x44,0x7D,0x40,0x00,0x00,0x00,
0x00,0x60,0x80,0x80,0x80,0x84,0x7D,0x00,
0x00,0x01,0x7F,0x10,0x28,0x44,0x40,0x00,
0x00,0x00,0x41,0x7F,0x40,0x00,0x00,0x00,
0x00,0x7C,0x04,0x04,0x78,0x04,0x04,0x78,
0x00,0x7C,0x08,0x04,0x04,0x04,0x78,0x00,
0x00,0x38,0x44,0x44,0x44,0x44,0x38,0x00,
0x00,0x84,0xFC,0x98,0x24,0x24,0x18,0x00,
0x00,0x18,0x24,0x24,0x98,0xFC,0x84,0x00,
0x00,0x44,0x7C,0x48,0x04,0x04,0x18,0x00,
0x00,0x48,0x54,0x54,0x54,0x54,0x24,0x00,
0x00,0x04,0x04,0x3F,0x44,0x44,0x20,0x00,
0x00,0x3C,0x40,0x40,0x40,0x20,0x7C,0x00,
0x00,0x0C,0x10,0x20,0x40,0x20,0x10,0x0C,
0x00,0x3C,0x40,0x40,0x38,0x40,0x40,0x3C,
0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00,
0x00,0x9C,0xA0,0xA0,0xA0,0xA0,0x7C,0x00,
0x00,0x44,0x64,0x54,0x4C,0x44,0x00,0x00,
0x00,0x08,0x08,0x36,0x41,0x41,0x00,0x00,
0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00,
0x00,0x00,0x41,0x41,0x36,0x08,0x08,0x00,
0x00,0x02,0x01,0x01,0x02,0x02,0x01,0x00,
0x00,0x70,0x48,0x44,0x42,0x44,0x48,0x70,
0x00,0x0E,0x91,0x91,0xB1,0xB1,0x4A,0x00,
0x00,0x3A,0x40,0x40,0x40,0x7A,0x40,0x00,
0x00,0x38,0x54,0x54,0x55,0x55,0x18,0x00,
0x00,0x22,0x55,0x55,0x55,0x79,0x42,0x00,
0x00,0x21,0x54,0x54,0x54,0x78,0x41,0x00,
0x00,0x20,0x55,0x55,0x54,0x78,0x40,0x00,
0x00,0x20,0x54,0x55,0x54,0x78,0x40,0x00,
0x00,0x18,0x24,0xA4,0xA4,0xE4,0x40,0x00,
0x00,0x3A,0x55,0x55,0x55,0x55,0x1A,0x00,
0x00,0x39,0x54,0x54,0x54,0x54,0x19,0x00,
0x00,0x38,0x55,0x55,0x54,0x54,0x18,0x00,
0x00,0x00,0x01,0x44,0x7C,0x41,0x00,0x00,
0x02,0x01,0x45,0x7D,0x41,0x01,0x02,0x00,
0x00,0x00,0x01,0x45,0x7C,0x40,0x00,0x00,
0x00,0x79,0x14,0x12,0x12,0x14,0x79,0x00,
0x00,0x70,0x28,0x2B,0x2B,0x28,0x70,0x00,
0x00,0x44,0x7C,0x54,0x55,0x45,0x00,0x00,
0x00,0x20,0x54,0x54,0x58,0x38,0x54,0x54,
0x00,0x7C,0x0A,0x09,0x09,0x7F,0x49,0x49,
0x00,0x30,0x4A,0x49,0x49,0x4A,0x30,0x00,
0x00,0x32,0x48,0x48,0x48,0x48,0x32,0x00,
0x00,0x30,0x49,0x4A,0x48,0x48,0x30,0x00,
0x00,0x38,0x42,0x41,0x41,0x42,0x38,0x00,
0x00,0x38,0x41,0x42,0x40,0x40,0x38,0x00,
0x00,0x1A,0xA0,0xA0,0xA0,0xA0,0x7A,0x00,
0x00,0x19,0x24,0x42,0x42,0x24,0x19,0x00,
0x00,0x3D,0x40,0x40,0x40,0x40,0x3D,0x00,
0x00,0x18,0x24,0x24,0xE7,0x24,0x24,0x00,
0x00,0x68,0x5E,0x49,0x41,0x42,0x20,0x00,
0x00,0x15,0x16,0x7C,0x16,0x15,0x00,0x00,
0x81,0xFF,0x85,0x05,0x17,0xFA,0x90,0x50,
0x40,0x88,0x88,0x7F,0x09,0x09,0x02,0x00,
0x00,0x20,0x54,0x54,0x55,0x79,0x40,0x00,
};
/* Global variables */
const struct FONT_DEF Font_3x6 = {3, 6, 32, 96, au8Font3x6, NULL};
const struct FONT_DEF Font_5x8 = {5, 8, 32, 128, au8Font5x8, NULL};
const struct FONT_DEF Font_7x8 = {7, 8, 32, 128, au8Font7x8, NULL};
const struct FONT_DEF Font_8x8 = {8, 8, 32, 128, au8Font8x8, NULL};
const struct FONT_DEF Font_8x8Thin = {8, 8, 32, 128, au8Font8x8Thin, NULL};