A lib for accessing ST7626 based lcds. It provides a set_pixel function. It is only tested with one display.

Committer:
nullsub
Date:
Sun Jan 09 22:04:01 2011 +0000
Revision:
5:70dcbb284628
Parent:
4:a4925df73101

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nullsub 1:ae0b4880e9db 1
nullsub 1:ae0b4880e9db 2 #include "lcd.h"
nullsub 1:ae0b4880e9db 3
nullsub 5:70dcbb284628 4 #define BACKROUND_COLOR 0xFFFF
nullsub 1:ae0b4880e9db 5
nullsub 1:ae0b4880e9db 6
nullsub 1:ae0b4880e9db 7 void Display5x7Font(char letter, char x, char y, int16_t color) {
nullsub 1:ae0b4880e9db 8 //Schrift erstellen auf schwarzem Hintergrund
nullsub 1:ae0b4880e9db 9 unsigned char i, j;
nullsub 1:ae0b4880e9db 10 Write(COMMAND, 0x30); // Ext = 0
nullsub 1:ae0b4880e9db 11 Write(COMMAND, 0x15); // Column address set
nullsub 1:ae0b4880e9db 12 Write(DATA, x); // From column address
nullsub 2:04fb8af3ecb0 13 Write(DATA, x+4 ); //nit 5 da erste x addresse schon z�hlt
nullsub 1:ae0b4880e9db 14 Write(COMMAND, 0x75); // Page address set
nullsub 1:ae0b4880e9db 15 Write(DATA, y); // From page address
nullsub 2:04fb8af3ecb0 16 Write(DATA, y+7); //nit 8 , da ja die y Addresse schon z�hlt
nullsub 1:ae0b4880e9db 17 Write(COMMAND, 0x5c); // Entry Memory Write Mode
nullsub 1:ae0b4880e9db 18
nullsub 1:ae0b4880e9db 19 int sign = (letter - 0x20) * 5;
nullsub 1:ae0b4880e9db 20 unsigned char pos = 0x01;
nullsub 1:ae0b4880e9db 21 for (i = 0; i < 8 ; i++) {
nullsub 4:a4925df73101 22 for (j = 0 ; j < 5 ; j++) { //FIXME: is this aBUUUG?????
nullsub 1:ae0b4880e9db 23 char pixel = Font5x7[sign+j] & pos;
nullsub 1:ae0b4880e9db 24 if (pixel) {
nullsub 5:70dcbb284628 25 Write(DATA, (int8_t) color>>8);
nullsub 5:70dcbb284628 26 Write(DATA, (int8_t) color);
nullsub 1:ae0b4880e9db 27 } else {
nullsub 5:70dcbb284628 28 Write(DATA,(int8_t) (BACKROUND_COLOR>>8));
nullsub 5:70dcbb284628 29 Write(DATA,(int8_t) (BACKROUND_COLOR));
nullsub 1:ae0b4880e9db 30 }
nullsub 1:ae0b4880e9db 31 }
nullsub 1:ae0b4880e9db 32 if (pos < 0x80) {
nullsub 1:ae0b4880e9db 33 pos = pos << 1;
nullsub 1:ae0b4880e9db 34 } else {
nullsub 1:ae0b4880e9db 35 pos = 0x01;
nullsub 1:ae0b4880e9db 36 }
nullsub 1:ae0b4880e9db 37 }
nullsub 1:ae0b4880e9db 38 }
nullsub 1:ae0b4880e9db 39
nullsub 1:ae0b4880e9db 40
nullsub 1:ae0b4880e9db 41
nullsub 1:ae0b4880e9db 42 void DisplayAnother5x7Font(char letter, char x, char y, int16_t color) {
nullsub 1:ae0b4880e9db 43 //Schrift erstellen auf schwarzem Hintergrund
nullsub 1:ae0b4880e9db 44 unsigned char i, j;
nullsub 1:ae0b4880e9db 45 Write(COMMAND, 0x30); // Ext = 0
nullsub 1:ae0b4880e9db 46 Write(COMMAND, 0x15); // Column address set
nullsub 1:ae0b4880e9db 47 Write(DATA, x); // From column address
nullsub 2:04fb8af3ecb0 48 Write(DATA, x+4 ); //nit 5 da erste x addresse schon z&#65533;hlt
nullsub 1:ae0b4880e9db 49 Write(COMMAND, 0x75); // Page address set
nullsub 1:ae0b4880e9db 50 Write(DATA, y); // From page address
nullsub 2:04fb8af3ecb0 51 Write(DATA, y+7); //nit 8 , da ja die y Addresse schon z&#65533;hlt
nullsub 1:ae0b4880e9db 52 Write(COMMAND, 0x5c); // Entry Memory Write Mode
nullsub 1:ae0b4880e9db 53
nullsub 1:ae0b4880e9db 54 int sign = (letter - 0x20) * 5;
nullsub 1:ae0b4880e9db 55 unsigned char pos = 0x01;
nullsub 1:ae0b4880e9db 56 for (i = 0; i < 8 ; i++) {
nullsub 1:ae0b4880e9db 57 for (j = 0 ; j < 5 ; j++) {
nullsub 1:ae0b4880e9db 58 char pixel = AnotherFont5x7[sign+j] & pos;
nullsub 1:ae0b4880e9db 59 if (pixel) {
nullsub 5:70dcbb284628 60 Write(DATA, (int8_t) (color>>8));
nullsub 5:70dcbb284628 61 Write(DATA, (int8_t) (color));
nullsub 1:ae0b4880e9db 62 } else {
nullsub 5:70dcbb284628 63 Write(DATA,(int8_t) (BACKROUND_COLOR>>8));
nullsub 5:70dcbb284628 64 Write(DATA,(int8_t) (BACKROUND_COLOR));
nullsub 1:ae0b4880e9db 65 }
nullsub 1:ae0b4880e9db 66 }
nullsub 1:ae0b4880e9db 67 if (pos < 0x80) {
nullsub 1:ae0b4880e9db 68 pos = pos << 1;
nullsub 1:ae0b4880e9db 69 } else {
nullsub 1:ae0b4880e9db 70 pos = 0x01;
nullsub 1:ae0b4880e9db 71 }
nullsub 1:ae0b4880e9db 72 }
nullsub 1:ae0b4880e9db 73 }
nullsub 1:ae0b4880e9db 74
nullsub 1:ae0b4880e9db 75
nullsub 1:ae0b4880e9db 76
nullsub 1:ae0b4880e9db 77 void Display12x16Font(char letter, char x, char y, int16_t color) {
nullsub 1:ae0b4880e9db 78 //Schrift erstellen auf schwarzem Hintergrund
nullsub 1:ae0b4880e9db 79 unsigned char i, j;
nullsub 1:ae0b4880e9db 80 Write(COMMAND, 0x30); // Ext = 0
nullsub 1:ae0b4880e9db 81 Write(COMMAND, 0x15); // Column address set
nullsub 1:ae0b4880e9db 82 Write(DATA, x); // From column address
nullsub 2:04fb8af3ecb0 83 Write(DATA, x+11 ); //nit 12 da erste x addresse schon z&#65533;hlt
nullsub 1:ae0b4880e9db 84 Write(COMMAND, 0x75); // Page address set
nullsub 1:ae0b4880e9db 85 Write(DATA, y); // From page address
nullsub 2:04fb8af3ecb0 86 Write(DATA, y+7); //nit 16 , da ja die y Addresse schon z&#65533;hlt
nullsub 1:ae0b4880e9db 87 Write(COMMAND, 0x5c); // Entry Memory Write Mode
nullsub 1:ae0b4880e9db 88
nullsub 1:ae0b4880e9db 89 int sign = (letter - 0x20) * 24;
nullsub 1:ae0b4880e9db 90 unsigned char pos = 0x01;
nullsub 1:ae0b4880e9db 91 for (i = 0; i < 8 ; i++) {
nullsub 1:ae0b4880e9db 92 for (j = 0 ; j < 12 ; j++) {
nullsub 1:ae0b4880e9db 93 char pixel = Font12x16[sign+(j*2)] & pos;
nullsub 1:ae0b4880e9db 94 if (pixel) {
nullsub 5:70dcbb284628 95 Write(DATA, (int8_t) (color>>8));
nullsub 5:70dcbb284628 96 Write(DATA, (int8_t) (color));
nullsub 1:ae0b4880e9db 97 } else {
nullsub 5:70dcbb284628 98 Write(DATA,(int8_t) (BACKROUND_COLOR>>8));
nullsub 5:70dcbb284628 99 Write(DATA,(int8_t) (BACKROUND_COLOR));
nullsub 1:ae0b4880e9db 100 }
nullsub 1:ae0b4880e9db 101 }
nullsub 1:ae0b4880e9db 102 if (pos < 0x80) {
nullsub 1:ae0b4880e9db 103 pos = pos << 1;
nullsub 1:ae0b4880e9db 104 } else {
nullsub 1:ae0b4880e9db 105 pos = 0x01;
nullsub 1:ae0b4880e9db 106 }
nullsub 1:ae0b4880e9db 107 }
nullsub 1:ae0b4880e9db 108
nullsub 1:ae0b4880e9db 109
nullsub 1:ae0b4880e9db 110
nullsub 1:ae0b4880e9db 111 Write(COMMAND, 0x30); // Ext = 0
nullsub 1:ae0b4880e9db 112 Write(COMMAND, 0x15); // Column address set
nullsub 1:ae0b4880e9db 113 Write(DATA, x); // From column address
nullsub 2:04fb8af3ecb0 114 Write(DATA, x+11 ); //nit 12 da erste x addresse schon z&#65533;hlt
nullsub 1:ae0b4880e9db 115 Write(COMMAND, 0x75); // Page address set
nullsub 1:ae0b4880e9db 116 Write(DATA, y+8); // From page address
nullsub 2:04fb8af3ecb0 117 Write(DATA, y+15); //nit 16 , da ja die y Addresse schon z&#65533;hlt
nullsub 1:ae0b4880e9db 118 Write(COMMAND, 0x5c); // Entry Memory Write Mode
nullsub 1:ae0b4880e9db 119
nullsub 1:ae0b4880e9db 120 sign = (letter - 0x20) * 24;
nullsub 1:ae0b4880e9db 121 pos = 0x01;
nullsub 1:ae0b4880e9db 122 for (i = 0; i < 8 ; i++) {
nullsub 1:ae0b4880e9db 123 for (j = 0 ; j < 12 ; j++) {
nullsub 1:ae0b4880e9db 124 char pixel = Font12x16[sign+(j*2)+1] & pos;
nullsub 1:ae0b4880e9db 125 if (pixel) {
nullsub 5:70dcbb284628 126 Write(DATA, (int8_t) (color>>8));
nullsub 5:70dcbb284628 127 Write(DATA, (int8_t) (color));
nullsub 1:ae0b4880e9db 128 } else {
nullsub 5:70dcbb284628 129 Write(DATA,(int8_t) (BACKROUND_COLOR>>8));
nullsub 5:70dcbb284628 130 Write(DATA,(int8_t) (BACKROUND_COLOR));
nullsub 1:ae0b4880e9db 131 }
nullsub 1:ae0b4880e9db 132 }
nullsub 1:ae0b4880e9db 133 if (pos < 0x80) {
nullsub 1:ae0b4880e9db 134 pos = pos << 1;
nullsub 1:ae0b4880e9db 135 } else {
nullsub 1:ae0b4880e9db 136 pos = 0x01;
nullsub 1:ae0b4880e9db 137 }
nullsub 1:ae0b4880e9db 138 }
nullsub 1:ae0b4880e9db 139 }
nullsub 1:ae0b4880e9db 140 ///////////////////////////////////////////////////////////////////////////
nullsub 1:ae0b4880e9db 141
nullsub 1:ae0b4880e9db 142
nullsub 1:ae0b4880e9db 143 const char Font5x7[] = {
nullsub 1:ae0b4880e9db 144 0x00, 0x00, 0x00, 0x00, 0x00,// (space)
nullsub 1:ae0b4880e9db 145 0x00, 0x00, 0x5F, 0x00, 0x00,// !
nullsub 1:ae0b4880e9db 146 0x00, 0x07, 0x00, 0x07, 0x00,// "
nullsub 1:ae0b4880e9db 147 0x14, 0x7F, 0x14, 0x7F, 0x14,// #
nullsub 1:ae0b4880e9db 148 0x24, 0x2A, 0x7F, 0x2A, 0x12,// $
nullsub 1:ae0b4880e9db 149 0x23, 0x13, 0x08, 0x64, 0x62,// %
nullsub 1:ae0b4880e9db 150 0x36, 0x49, 0x55, 0x22, 0x50,// &
nullsub 1:ae0b4880e9db 151 0x00, 0x05, 0x03, 0x00, 0x00,// '
nullsub 1:ae0b4880e9db 152 0x00, 0x1C, 0x22, 0x41, 0x00,// (
nullsub 1:ae0b4880e9db 153 0x00, 0x41, 0x22, 0x1C, 0x00,// )
nullsub 1:ae0b4880e9db 154 0x08, 0x2A, 0x1C, 0x2A, 0x08,// *
nullsub 1:ae0b4880e9db 155 0x08, 0x08, 0x3E, 0x08, 0x08,// +
nullsub 1:ae0b4880e9db 156 0x00, 0x50, 0x30, 0x00, 0x00,// ,
nullsub 1:ae0b4880e9db 157 0x08, 0x08, 0x08, 0x08, 0x08,// -
nullsub 1:ae0b4880e9db 158 0x00, 0x60, 0x60, 0x00, 0x00,// .
nullsub 1:ae0b4880e9db 159 0x20, 0x10, 0x08, 0x04, 0x02,// /
nullsub 1:ae0b4880e9db 160 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
nullsub 1:ae0b4880e9db 161 0x00, 0x42, 0x7F, 0x40, 0x00,// 1
nullsub 1:ae0b4880e9db 162 0x42, 0x61, 0x51, 0x49, 0x46,// 2
nullsub 1:ae0b4880e9db 163 0x21, 0x41, 0x45, 0x4B, 0x31,// 3
nullsub 1:ae0b4880e9db 164 0x18, 0x14, 0x12, 0x7F, 0x10,// 4
nullsub 1:ae0b4880e9db 165 0x27, 0x45, 0x45, 0x45, 0x39,// 5
nullsub 1:ae0b4880e9db 166 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
nullsub 1:ae0b4880e9db 167 0x01, 0x71, 0x09, 0x05, 0x03,// 7
nullsub 1:ae0b4880e9db 168 0x36, 0x49, 0x49, 0x49, 0x36,// 8
nullsub 1:ae0b4880e9db 169 0x06, 0x49, 0x49, 0x29, 0x1E,// 9
nullsub 1:ae0b4880e9db 170 0x00, 0x36, 0x36, 0x00, 0x00,// :
nullsub 1:ae0b4880e9db 171 0x00, 0x56, 0x36, 0x00, 0x00,// ;
nullsub 1:ae0b4880e9db 172 0x00, 0x08, 0x14, 0x22, 0x41,// <
nullsub 1:ae0b4880e9db 173 0x14, 0x14, 0x14, 0x14, 0x14,// =
nullsub 1:ae0b4880e9db 174 0x41, 0x22, 0x14, 0x08, 0x00,// >
nullsub 1:ae0b4880e9db 175 0x02, 0x01, 0x51, 0x09, 0x06,// ?
nullsub 1:ae0b4880e9db 176 0x32, 0x49, 0x79, 0x41, 0x3E,// @
nullsub 1:ae0b4880e9db 177 0x7E, 0x11, 0x11, 0x11, 0x7E,// A
nullsub 1:ae0b4880e9db 178 0x7F, 0x49, 0x49, 0x49, 0x36,// B
nullsub 1:ae0b4880e9db 179 0x3E, 0x41, 0x41, 0x41, 0x22,// C
nullsub 1:ae0b4880e9db 180 0x7F, 0x41, 0x41, 0x22, 0x1C,// D
nullsub 1:ae0b4880e9db 181 0x7F, 0x49, 0x49, 0x49, 0x41,// E
nullsub 1:ae0b4880e9db 182 0x7F, 0x09, 0x09, 0x01, 0x01,// F
nullsub 1:ae0b4880e9db 183 0x3E, 0x41, 0x41, 0x51, 0x32,// G
nullsub 1:ae0b4880e9db 184 0x7F, 0x08, 0x08, 0x08, 0x7F,// H
nullsub 1:ae0b4880e9db 185 0x00, 0x41, 0x7F, 0x41, 0x00,// I
nullsub 1:ae0b4880e9db 186 0x20, 0x40, 0x41, 0x3F, 0x01,// J
nullsub 1:ae0b4880e9db 187 0x7F, 0x08, 0x14, 0x22, 0x41,// K
nullsub 1:ae0b4880e9db 188 0x7F, 0x40, 0x40, 0x40, 0x40,// L
nullsub 1:ae0b4880e9db 189 0x7F, 0x02, 0x04, 0x02, 0x7F,// M
nullsub 1:ae0b4880e9db 190 0x7F, 0x04, 0x08, 0x10, 0x7F,// N
nullsub 1:ae0b4880e9db 191 0x3E, 0x41, 0x41, 0x41, 0x3E,// O
nullsub 1:ae0b4880e9db 192 0x7F, 0x09, 0x09, 0x09, 0x06,// P
nullsub 1:ae0b4880e9db 193 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
nullsub 1:ae0b4880e9db 194 0x7F, 0x09, 0x19, 0x29, 0x46,// R
nullsub 1:ae0b4880e9db 195 0x46, 0x49, 0x49, 0x49, 0x31,// S
nullsub 1:ae0b4880e9db 196 0x01, 0x01, 0x7F, 0x01, 0x01,// T
nullsub 1:ae0b4880e9db 197 0x3F, 0x40, 0x40, 0x40, 0x3F,// U
nullsub 1:ae0b4880e9db 198 0x1F, 0x20, 0x40, 0x20, 0x1F,// V
nullsub 1:ae0b4880e9db 199 0x7F, 0x20, 0x18, 0x20, 0x7F,// W
nullsub 1:ae0b4880e9db 200 0x63, 0x14, 0x08, 0x14, 0x63,// X
nullsub 1:ae0b4880e9db 201 0x03, 0x04, 0x78, 0x04, 0x03,// Y
nullsub 1:ae0b4880e9db 202 0x61, 0x51, 0x49, 0x45, 0x43,// Z
nullsub 1:ae0b4880e9db 203 0x00, 0x00, 0x7F, 0x41, 0x41,// [
nullsub 1:ae0b4880e9db 204 0x02, 0x04, 0x08, 0x10, 0x20,// "\"
nullsub 1:ae0b4880e9db 205 0x41, 0x41, 0x7F, 0x00, 0x00,// ]
nullsub 1:ae0b4880e9db 206 0x04, 0x02, 0x01, 0x02, 0x04,// ^
nullsub 1:ae0b4880e9db 207 0x40, 0x40, 0x40, 0x40, 0x40,// _
nullsub 1:ae0b4880e9db 208 0x00, 0x01, 0x02, 0x04, 0x00,// `
nullsub 1:ae0b4880e9db 209 0x20, 0x54, 0x54, 0x54, 0x78,// a
nullsub 1:ae0b4880e9db 210 0x7F, 0x48, 0x44, 0x44, 0x38,// b
nullsub 1:ae0b4880e9db 211 0x38, 0x44, 0x44, 0x44, 0x20,// c
nullsub 1:ae0b4880e9db 212 0x38, 0x44, 0x44, 0x48, 0x7F,// d
nullsub 1:ae0b4880e9db 213 0x38, 0x54, 0x54, 0x54, 0x18,// e
nullsub 1:ae0b4880e9db 214 0x08, 0x7E, 0x09, 0x01, 0x02,// f
nullsub 1:ae0b4880e9db 215 0x08, 0x14, 0x54, 0x54, 0x3C,// g
nullsub 1:ae0b4880e9db 216 0x7F, 0x08, 0x04, 0x04, 0x78,// h
nullsub 1:ae0b4880e9db 217 0x00, 0x44, 0x7D, 0x40, 0x00,// i
nullsub 1:ae0b4880e9db 218 0x20, 0x40, 0x44, 0x3D, 0x00,// j
nullsub 1:ae0b4880e9db 219 0x00, 0x7F, 0x10, 0x28, 0x44,// k
nullsub 1:ae0b4880e9db 220 0x00, 0x41, 0x7F, 0x40, 0x00,// l
nullsub 1:ae0b4880e9db 221 0x7C, 0x04, 0x18, 0x04, 0x78,// m
nullsub 1:ae0b4880e9db 222 0x7C, 0x08, 0x04, 0x04, 0x78,// n
nullsub 1:ae0b4880e9db 223 0x38, 0x44, 0x44, 0x44, 0x38,// o
nullsub 1:ae0b4880e9db 224 0x7C, 0x14, 0x14, 0x14, 0x08,// p
nullsub 1:ae0b4880e9db 225 0x08, 0x14, 0x14, 0x18, 0x7C,// q
nullsub 1:ae0b4880e9db 226 0x7C, 0x08, 0x04, 0x04, 0x08,// r
nullsub 1:ae0b4880e9db 227 0x48, 0x54, 0x54, 0x54, 0x20,// s
nullsub 1:ae0b4880e9db 228 0x04, 0x3F, 0x44, 0x40, 0x20,// t
nullsub 1:ae0b4880e9db 229 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
nullsub 1:ae0b4880e9db 230 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
nullsub 1:ae0b4880e9db 231 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
nullsub 1:ae0b4880e9db 232 0x44, 0x28, 0x10, 0x28, 0x44,// x
nullsub 1:ae0b4880e9db 233 0x0C, 0x50, 0x50, 0x50, 0x3C,// y
nullsub 1:ae0b4880e9db 234 0x44, 0x64, 0x54, 0x4C, 0x44,// z
nullsub 1:ae0b4880e9db 235 0x00, 0x08, 0x36, 0x41, 0x00,// {
nullsub 1:ae0b4880e9db 236 0x00, 0x00, 0x7F, 0x00, 0x00,// |
nullsub 1:ae0b4880e9db 237 0x00, 0x41, 0x36, 0x08, 0x00,// }
nullsub 1:ae0b4880e9db 238 0x08, 0x08, 0x2A, 0x1C, 0x08,// ->
nullsub 1:ae0b4880e9db 239 0x08, 0x1C, 0x2A, 0x08, 0x08 // <-
nullsub 1:ae0b4880e9db 240 };
nullsub 1:ae0b4880e9db 241
nullsub 1:ae0b4880e9db 242 const char Font12x16[] = {
nullsub 1:ae0b4880e9db 243 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "(space)"
nullsub 1:ae0b4880e9db 244 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0xFF, 0x33, 0xFF, 0x33, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "!"
nullsub 1:ae0b4880e9db 245 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // """
nullsub 1:ae0b4880e9db 246 0x00, 0x00, 0x00, 0x02, 0x10, 0x1E, 0x90, 0x1F, 0xF0, 0x03, 0x7E, 0x02, 0x1E, 0x1E, 0x90, 0x1F, 0xF0, 0x03, 0x7E, 0x02, 0x1E, 0x00, 0x10, 0x00, // "#"
nullsub 1:ae0b4880e9db 247 0x00, 0x00, 0x00, 0x00, 0x78, 0x04, 0xFC, 0x0C, 0xCC, 0x0C, 0xFF, 0x3F, 0xFF, 0x3F, 0xCC, 0x0C, 0xCC, 0x0F, 0x88, 0x07, 0x00, 0x00, 0x00, 0x00, // "$"
nullsub 1:ae0b4880e9db 248 0x00, 0x00, 0x00, 0x30, 0x38, 0x38, 0x38, 0x1C, 0x38, 0x0E, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x38, 0x70, 0x38, 0x38, 0x38, 0x1C, 0x00, // "%"
nullsub 1:ae0b4880e9db 249 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xB8, 0x3F, 0xFC, 0x31, 0xC6, 0x21, 0xE2, 0x37, 0x3E, 0x1E, 0x1C, 0x1C, 0x00, 0x36, 0x00, 0x22, 0x00, 0x00, // "&"
nullsub 1:ae0b4880e9db 250 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x3F, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "'"
nullsub 1:ae0b4880e9db 251 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xFC, 0x0F, 0xFE, 0x1F, 0x07, 0x38, 0x01, 0x20, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "("
nullsub 1:ae0b4880e9db 252 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x01, 0x20, 0x07, 0x38, 0xFE, 0x1F, 0xFC, 0x0F, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ")"
nullsub 1:ae0b4880e9db 253 0x00, 0x00, 0x00, 0x00, 0x98, 0x0C, 0xB8, 0x0E, 0xE0, 0x03, 0xF8, 0x0F, 0xF8, 0x0F, 0xE0, 0x03, 0xB8, 0x0E, 0x98, 0x0C, 0x00, 0x00, 0x00, 0x00, // "*"
nullsub 1:ae0b4880e9db 254 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xF0, 0x0F, 0xF0, 0x0F, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, // "+"
nullsub 1:ae0b4880e9db 255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0x00, 0xF8, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ","
nullsub 1:ae0b4880e9db 256 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, // "-"
nullsub 1:ae0b4880e9db 257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "."
nullsub 1:ae0b4880e9db 258 0x00, 0x00, 0x00, 0x18, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x01, 0xE0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, // "/"
nullsub 1:ae0b4880e9db 259 0x00, 0x00, 0xF8, 0x07, 0xFE, 0x1F, 0x06, 0x1E, 0x03, 0x33, 0x83, 0x31, 0xC3, 0x30, 0x63, 0x30, 0x33, 0x30, 0x1E, 0x18, 0xFE, 0x1F, 0xF8, 0x07, // "0"
nullsub 1:ae0b4880e9db 260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x30, 0x0C, 0x30, 0x0E, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, // "1"
nullsub 1:ae0b4880e9db 261 0x00, 0x00, 0x1C, 0x30, 0x1E, 0x38, 0x07, 0x3C, 0x03, 0x3E, 0x03, 0x37, 0x83, 0x33, 0xC3, 0x31, 0xE3, 0x30, 0x77, 0x30, 0x3E, 0x30, 0x1C, 0x30, // "2"
nullsub 1:ae0b4880e9db 262 0x00, 0x00, 0x0C, 0x0C, 0x0E, 0x1C, 0x07, 0x38, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xE7, 0x39, 0x7E, 0x1F, 0x3C, 0x0E, // "3"
nullsub 1:ae0b4880e9db 263 0x00, 0x00, 0xC0, 0x03, 0xE0, 0x03, 0x70, 0x03, 0x38, 0x03, 0x1C, 0x03, 0x0E, 0x03, 0x07, 0x03, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x03, 0x00, 0x03, // "4"
nullsub 1:ae0b4880e9db 264 0x00, 0x00, 0x3F, 0x0C, 0x7F, 0x1C, 0x63, 0x38, 0x63, 0x30, 0x63, 0x30, 0x63, 0x30, 0x63, 0x30, 0x63, 0x30, 0xE3, 0x38, 0xC3, 0x1F, 0x83, 0x0F, // "5"
nullsub 1:ae0b4880e9db 265 0x00, 0x00, 0xC0, 0x0F, 0xF0, 0x1F, 0xF8, 0x39, 0xDC, 0x30, 0xCE, 0x30, 0xC7, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x39, 0x80, 0x1F, 0x00, 0x0F, // "6"
nullsub 1:ae0b4880e9db 266 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x30, 0x03, 0x3C, 0x03, 0x0F, 0xC3, 0x03, 0xF3, 0x00, 0x3F, 0x00, 0x0F, 0x00, 0x03, 0x00, // "7"
nullsub 1:ae0b4880e9db 267 0x00, 0x00, 0x00, 0x0F, 0xBC, 0x1F, 0xFE, 0x39, 0xE7, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xE7, 0x30, 0xFE, 0x39, 0xBC, 0x1F, 0x00, 0x0F, // "8"
nullsub 1:ae0b4880e9db 268 0x00, 0x00, 0x3C, 0x00, 0x7E, 0x00, 0xE7, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x38, 0xC3, 0x1C, 0xC3, 0x0E, 0xE7, 0x07, 0xFE, 0x03, 0xFC, 0x00, // "9"
nullsub 1:ae0b4880e9db 269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1C, 0x70, 0x1C, 0x70, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ":"
nullsub 1:ae0b4880e9db 270 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x9C, 0x70, 0xFC, 0x70, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ";"
nullsub 1:ae0b4880e9db 271 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xE0, 0x01, 0xF0, 0x03, 0x38, 0x07, 0x1C, 0x0E, 0x0E, 0x1C, 0x07, 0x38, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, // "<"
nullsub 1:ae0b4880e9db 272 0x00, 0x00, 0x00, 0x00, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x00, 0x00, // "="
nullsub 1:ae0b4880e9db 273 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x07, 0x38, 0x0E, 0x1C, 0x1C, 0x0E, 0x38, 0x07, 0xF0, 0x03, 0xE0, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, // ">"
nullsub 1:ae0b4880e9db 274 0x00, 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x07, 0x00, 0x03, 0x00, 0x83, 0x37, 0xC3, 0x37, 0xE3, 0x00, 0x77, 0x00, 0x3E, 0x00, 0x1C, 0x00, 0x00, 0x00, // "?"
nullsub 1:ae0b4880e9db 275 0x00, 0x00, 0xF8, 0x07, 0xFE, 0x1F, 0x07, 0x18, 0xF3, 0x33, 0xFB, 0x37, 0x1B, 0x36, 0xFB, 0x37, 0xFB, 0x37, 0x07, 0x36, 0xFE, 0x03, 0xF8, 0x01, // "@"
nullsub 1:ae0b4880e9db 276 0x00, 0x00, 0x00, 0x38, 0x00, 0x3F, 0xE0, 0x07, 0xFC, 0x06, 0x1F, 0x06, 0x1F, 0x06, 0xFC, 0x06, 0xE0, 0x07, 0x00, 0x3F, 0x00, 0x38, 0x00, 0x00, // "A"
nullsub 1:ae0b4880e9db 277 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xE7, 0x30, 0xFE, 0x39, 0xBC, 0x1F, 0x00, 0x0F, 0x00, 0x00, // "B"
nullsub 1:ae0b4880e9db 278 0x00, 0x00, 0xF0, 0x03, 0xFC, 0x0F, 0x0E, 0x1C, 0x07, 0x38, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x07, 0x38, 0x0E, 0x1C, 0x0C, 0x0C, 0x00, 0x00, // "C"
nullsub 1:ae0b4880e9db 279 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x07, 0x38, 0x0E, 0x1C, 0xFC, 0x0F, 0xF0, 0x03, 0x00, 0x00, // "D"
nullsub 1:ae0b4880e9db 280 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x03, 0x30, 0x03, 0x30, 0x00, 0x00, // "E"
nullsub 1:ae0b4880e9db 281 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, // "F"
nullsub 1:ae0b4880e9db 282 0x00, 0x00, 0xF0, 0x03, 0xFC, 0x0F, 0x0E, 0x1C, 0x07, 0x38, 0x03, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC7, 0x3F, 0xC6, 0x3F, 0x00, 0x00, // "G"
nullsub 1:ae0b4880e9db 283 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, // "H"
nullsub 1:ae0b4880e9db 284 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x03, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x30, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "I"
nullsub 1:ae0b4880e9db 285 0x00, 0x00, 0x00, 0x0E, 0x00, 0x1E, 0x00, 0x38, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x38, 0xFF, 0x1F, 0xFF, 0x07, 0x00, 0x00, // "J"
nullsub 1:ae0b4880e9db 286 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x00, 0xE0, 0x01, 0xF0, 0x03, 0x38, 0x07, 0x1C, 0x0E, 0x0E, 0x1C, 0x07, 0x38, 0x03, 0x30, 0x00, 0x00, // "K"
nullsub 1:ae0b4880e9db 287 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, // "L"
nullsub 1:ae0b4880e9db 288 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x1E, 0x00, 0x78, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0x78, 0x00, 0x1E, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, // "M"
nullsub 1:ae0b4880e9db 289 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x0E, 0x00, 0x38, 0x00, 0xF0, 0x00, 0xC0, 0x03, 0x00, 0x07, 0x00, 0x1C, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, // "N"
nullsub 1:ae0b4880e9db 290 0x00, 0x00, 0xF0, 0x03, 0xFC, 0x0F, 0x0E, 0x1C, 0x07, 0x38, 0x03, 0x30, 0x03, 0x30, 0x07, 0x38, 0x0E, 0x1C, 0xFC, 0x0F, 0xF0, 0x03, 0x00, 0x00, // "O"
nullsub 1:ae0b4880e9db 291 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xC7, 0x01, 0xFE, 0x00, 0x7C, 0x00, 0x00, 0x00, // "P"
nullsub 1:ae0b4880e9db 292 0x00, 0x00, 0xF0, 0x03, 0xFC, 0x0F, 0x0E, 0x1C, 0x07, 0x38, 0x03, 0x30, 0x03, 0x36, 0x07, 0x3E, 0x0E, 0x1C, 0xFC, 0x3F, 0xF0, 0x33, 0x00, 0x00, // "Q"
nullsub 1:ae0b4880e9db 293 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x83, 0x01, 0x83, 0x01, 0x83, 0x03, 0x83, 0x07, 0x83, 0x0F, 0xC7, 0x1D, 0xFE, 0x38, 0x7C, 0x30, 0x00, 0x00, // "R"
nullsub 1:ae0b4880e9db 294 0x00, 0x00, 0x3C, 0x0C, 0x7E, 0x1C, 0xE7, 0x38, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC7, 0x39, 0x8E, 0x1F, 0x0C, 0x0F, 0x00, 0x00, // "S"
nullsub 1:ae0b4880e9db 295 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // "T"
nullsub 1:ae0b4880e9db 296 0x00, 0x00, 0xFF, 0x07, 0xFF, 0x1F, 0x00, 0x38, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x38, 0xFF, 0x1F, 0xFF, 0x07, 0x00, 0x00, // "U"
nullsub 1:ae0b4880e9db 297 0x00, 0x00, 0x07, 0x00, 0x3F, 0x00, 0xF8, 0x01, 0xC0, 0x0F, 0x00, 0x3E, 0x00, 0x3E, 0xC0, 0x0F, 0xF8, 0x01, 0x3F, 0x00, 0x07, 0x00, 0x00, 0x00, // "V"
nullsub 1:ae0b4880e9db 298 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x1C, 0x00, 0x06, 0x80, 0x03, 0x80, 0x03, 0x00, 0x06, 0x00, 0x1C, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, // "W"
nullsub 1:ae0b4880e9db 299 0x00, 0x00, 0x03, 0x30, 0x0F, 0x3C, 0x1C, 0x0E, 0x30, 0x03, 0xE0, 0x01, 0xE0, 0x01, 0x30, 0x03, 0x1C, 0x0E, 0x0F, 0x3C, 0x03, 0x30, 0x00, 0x00, // "X"
nullsub 1:ae0b4880e9db 300 0x00, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x00, 0xC0, 0x3F, 0xC0, 0x3F, 0xF0, 0x00, 0x3C, 0x00, 0x0F, 0x00, 0x03, 0x00, 0x00, 0x00, // "Y"
nullsub 1:ae0b4880e9db 301 0x00, 0x00, 0x03, 0x30, 0x03, 0x3C, 0x03, 0x3E, 0x03, 0x33, 0xC3, 0x31, 0xE3, 0x30, 0x33, 0x30, 0x1F, 0x30, 0x0F, 0x30, 0x03, 0x30, 0x00, 0x00, // "Z"
nullsub 1:ae0b4880e9db 302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "["
nullsub 1:ae0b4880e9db 303 0x00, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x18, // "\"
nullsub 1:ae0b4880e9db 304 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "]"
nullsub 1:ae0b4880e9db 305 0x00, 0x00, 0x60, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0x60, 0x00, // "^"
nullsub 1:ae0b4880e9db 306 0x00, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, // "_"
nullsub 1:ae0b4880e9db 307 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x7E, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "`"
nullsub 1:ae0b4880e9db 308 0x00, 0x00, 0x00, 0x1C, 0x40, 0x3E, 0x60, 0x33, 0x60, 0x33, 0x60, 0x33, 0x60, 0x33, 0x60, 0x33, 0x60, 0x33, 0xE0, 0x3F, 0xC0, 0x3F, 0x00, 0x00, // "a"
nullsub 1:ae0b4880e9db 309 0x00, 0x00, 0xFF, 0x7F, 0xFF, 0x7F, 0x80, 0x61, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x60, 0xC0, 0x71, 0x80, 0x3F, 0x00, 0x1F, 0x00, 0x00, // "b"
nullsub 1:ae0b4880e9db 310 0x00, 0x00, 0x80, 0x0F, 0xC0, 0x1F, 0xE0, 0x38, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0xC0, 0x18, 0x80, 0x08, 0x00, 0x00, // "c"
nullsub 1:ae0b4880e9db 311 0x00, 0x00, 0x80, 0x0F, 0xC0, 0x1F, 0xE0, 0x38, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0xE0, 0x30, 0xC0, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, // "d"
nullsub 1:ae0b4880e9db 312 0x00, 0x00, 0x80, 0x0F, 0xC0, 0x1F, 0xE0, 0x3B, 0x60, 0x33, 0x60, 0x33, 0x60, 0x33, 0x60, 0x33, 0x60, 0x33, 0xC0, 0x13, 0x80, 0x01, 0x00, 0x00, // "e"
nullsub 1:ae0b4880e9db 313 0x00, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xFC, 0x3F, 0xFE, 0x3F, 0xC7, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "f"
nullsub 1:ae0b4880e9db 314 0x00, 0x00, 0x80, 0x03, 0xC0, 0xC7, 0xE0, 0xCE, 0x60, 0xCC, 0x60, 0xCC, 0x60, 0xCC, 0x60, 0xCC, 0x60, 0xE6, 0xE0, 0x7F, 0xE0, 0x3F, 0x00, 0x00, // "g"
nullsub 1:ae0b4880e9db 315 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x80, 0x01, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0x80, 0x3F, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, // "h"
nullsub 1:ae0b4880e9db 316 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60, 0x30, 0xEC, 0x3F, 0xEC, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "i"
nullsub 1:ae0b4880e9db 317 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xC0, 0x60, 0xC0, 0xEC, 0xFF, 0xEC, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "j"
nullsub 1:ae0b4880e9db 318 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x03, 0x80, 0x07, 0xC0, 0x0F, 0xE0, 0x1C, 0x70, 0x38, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, // "k"
nullsub 1:ae0b4880e9db 319 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x03, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "l"
nullsub 1:ae0b4880e9db 320 0x00, 0x00, 0xE0, 0x3F, 0xC0, 0x3F, 0xE0, 0x00, 0xE0, 0x00, 0xC0, 0x3F, 0xC0, 0x3F, 0xE0, 0x00, 0xE0, 0x00, 0xC0, 0x3F, 0x80, 0x3F, 0x00, 0x00, // "m"
nullsub 1:ae0b4880e9db 321 0x00, 0x00, 0x00, 0x00, 0xE0, 0x3F, 0xE0, 0x3F, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xC0, 0x3F, 0x80, 0x3F, 0x00, 0x00, // "n"
nullsub 1:ae0b4880e9db 322 0x00, 0x00, 0x80, 0x0F, 0xC0, 0x1F, 0xE0, 0x38, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0xE0, 0x38, 0xC0, 0x1F, 0x80, 0x0F, 0x00, 0x00, // "o"
nullsub 1:ae0b4880e9db 323 0x00, 0x00, 0xE0, 0xFF, 0xE0, 0xFF, 0x60, 0x0C, 0x60, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60, 0x18, 0xE0, 0x1C, 0xC0, 0x0F, 0x80, 0x07, 0x00, 0x00, // "p"
nullsub 1:ae0b4880e9db 324 0x00, 0x00, 0x80, 0x07, 0xC0, 0x0F, 0xE0, 0x1C, 0x60, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60, 0x0C, 0xE0, 0xFF, 0xE0, 0xFF, 0x00, 0x00, // "q"
nullsub 1:ae0b4880e9db 325 0x00, 0x00, 0x00, 0x00, 0xE0, 0x3F, 0xE0, 0x3F, 0xC0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xC0, 0x00, 0x00, 0x00, // "r"
nullsub 1:ae0b4880e9db 326 0x00, 0x00, 0xC0, 0x11, 0xE0, 0x33, 0x60, 0x33, 0x60, 0x33, 0x60, 0x33, 0x60, 0x33, 0x60, 0x3F, 0x40, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "s"
nullsub 1:ae0b4880e9db 327 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0xFE, 0x1F, 0xFE, 0x3F, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "t"
nullsub 1:ae0b4880e9db 328 0x00, 0x00, 0xE0, 0x0F, 0xE0, 0x1F, 0x00, 0x38, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x18, 0xE0, 0x3F, 0xE0, 0x3F, 0x00, 0x00, // "u"
nullsub 1:ae0b4880e9db 329 0x00, 0x00, 0x60, 0x00, 0xE0, 0x01, 0x80, 0x07, 0x00, 0x1E, 0x00, 0x38, 0x00, 0x38, 0x00, 0x1E, 0x80, 0x07, 0xE0, 0x01, 0x60, 0x00, 0x00, 0x00, // "v"
nullsub 1:ae0b4880e9db 330 0x00, 0x00, 0xE0, 0x07, 0xE0, 0x1F, 0x00, 0x38, 0x00, 0x1C, 0xE0, 0x0F, 0xE0, 0x0F, 0x00, 0x1C, 0x00, 0x38, 0xE0, 0x1F, 0xE0, 0x07, 0x00, 0x00, // "w"
nullsub 1:ae0b4880e9db 331 0x00, 0x00, 0x60, 0x30, 0xE0, 0x38, 0xC0, 0x1D, 0x80, 0x0F, 0x00, 0x07, 0x80, 0x0F, 0xC0, 0x1D, 0xE0, 0x38, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, // "x"
nullsub 1:ae0b4880e9db 332 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xE0, 0x81, 0x80, 0xE7, 0x00, 0x7E, 0x00, 0x1E, 0x80, 0x07, 0xE0, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, // "y"
nullsub 1:ae0b4880e9db 333 0x00, 0x00, 0x60, 0x30, 0x60, 0x38, 0x60, 0x3C, 0x60, 0x36, 0x60, 0x33, 0xE0, 0x31, 0xE0, 0x30, 0x60, 0x30, 0x20, 0x30, 0x00, 0x00, 0x00, 0x00, // "z"
nullsub 1:ae0b4880e9db 334 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xC0, 0x01, 0xFC, 0x1F, 0x7E, 0x3F, 0x07, 0x70, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60, 0x00, 0x00, 0x00, 0x00, // "{"
nullsub 1:ae0b4880e9db 335 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "|"
nullsub 1:ae0b4880e9db 336 0x00, 0x00, 0x00, 0x00, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60, 0x07, 0x70, 0x7E, 0x3F, 0xFC, 0x1F, 0xC0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, // "}"
nullsub 1:ae0b4880e9db 337 0x00, 0x00, 0x10, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x10, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x00, // "~"
nullsub 1:ae0b4880e9db 338 0x00, 0x00, 0x00, 0x0F, 0x80, 0x0F, 0xC0, 0x0C, 0x60, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x60, 0x0C, 0xC0, 0x0C, 0x80, 0x0F, 0x00, 0x0F, 0x00, 0x00 // "ein Haus :)"
nullsub 1:ae0b4880e9db 339 };
nullsub 1:ae0b4880e9db 340
nullsub 1:ae0b4880e9db 341
nullsub 1:ae0b4880e9db 342 const char AnotherFont5x7[510] = {
nullsub 1:ae0b4880e9db 343 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char
nullsub 1:ae0b4880e9db 344 0x00, 0x00, 0x00, 0x00, 0x5F, // Code for char !
nullsub 1:ae0b4880e9db 345 0x00, 0x00, 0x03, 0x00, 0x03, // Code for char "
nullsub 1:ae0b4880e9db 346 0x24, 0x7E, 0x24, 0x7E, 0x24, // Code for char #
nullsub 1:ae0b4880e9db 347 0x12, 0x25, 0x7F, 0x29, 0x12, // Code for char $
nullsub 1:ae0b4880e9db 348 0x03, 0x33, 0x0C, 0x33, 0x30, // Code for char %
nullsub 1:ae0b4880e9db 349 0x10, 0x2A, 0x25, 0x7A, 0x20, // Code for char &
nullsub 1:ae0b4880e9db 350 0x00, 0x00, 0x00, 0x00, 0x03, // Code for char '
nullsub 1:ae0b4880e9db 351 0x00, 0x00, 0x1C, 0x22, 0x41, // Code for char (
nullsub 1:ae0b4880e9db 352 0x00, 0x00, 0x41, 0x22, 0x1C, // Code for char )
nullsub 1:ae0b4880e9db 353 0x04, 0x1E, 0x0C, 0x1E, 0x04, // Code for char *
nullsub 1:ae0b4880e9db 354 0x08, 0x08, 0x3E, 0x08, 0x08, // Code for char +
nullsub 1:ae0b4880e9db 355 0x00, 0x00, 0x00, 0x40, 0x20, // Code for char ,
nullsub 1:ae0b4880e9db 356 0x08, 0x08, 0x08, 0x08, 0x08, // Code for char -
nullsub 1:ae0b4880e9db 357 0x00, 0x00, 0x00, 0x00, 0x20, // Code for char .
nullsub 1:ae0b4880e9db 358 0x00, 0x00, 0x30, 0x0C, 0x03, // Code for char /
nullsub 1:ae0b4880e9db 359 0x1E, 0x31, 0x2D, 0x23, 0x1E, // Code for char 0
nullsub 1:ae0b4880e9db 360 0x00, 0x00, 0x02, 0x01, 0x3F, // Code for char 1
nullsub 1:ae0b4880e9db 361 0x22, 0x31, 0x29, 0x25, 0x22, // Code for char 2
nullsub 1:ae0b4880e9db 362 0x00, 0x21, 0x25, 0x25, 0x1E, // Code for char 3
nullsub 1:ae0b4880e9db 363 0x18, 0x14, 0x12, 0x3F, 0x10, // Code for char 4
nullsub 1:ae0b4880e9db 364 0x17, 0x25, 0x25, 0x25, 0x19, // Code for char 5
nullsub 1:ae0b4880e9db 365 0x1E, 0x25, 0x25, 0x25, 0x18, // Code for char 6
nullsub 1:ae0b4880e9db 366 0x01, 0x31, 0x09, 0x05, 0x03, // Code for char 7
nullsub 1:ae0b4880e9db 367 0x1A, 0x25, 0x25, 0x25, 0x1A, // Code for char 8
nullsub 1:ae0b4880e9db 368 0x06, 0x29, 0x29, 0x29, 0x1E, // Code for char 9
nullsub 1:ae0b4880e9db 369 0x00, 0x00, 0x00, 0x00, 0x28, // Code for char :
nullsub 1:ae0b4880e9db 370 0x00, 0x00, 0x00, 0x40, 0x28, // Code for char ;
nullsub 1:ae0b4880e9db 371 0x00, 0x00, 0x08, 0x14, 0x22, // Code for char <
nullsub 1:ae0b4880e9db 372 0x14, 0x14, 0x14, 0x14, 0x14, // Code for char =
nullsub 1:ae0b4880e9db 373 0x00, 0x00, 0x22, 0x14, 0x08, // Code for char >
nullsub 1:ae0b4880e9db 374 0x02, 0x01, 0x51, 0x09, 0x06, // Code for char ?
nullsub 1:ae0b4880e9db 375 0x1C, 0x2A, 0x36, 0x36, 0x2C, // Code for char @
nullsub 1:ae0b4880e9db 376 0x3C, 0x0A, 0x09, 0x0A, 0x3C, // Code for char A
nullsub 1:ae0b4880e9db 377 0x3F, 0x25, 0x25, 0x25, 0x1A, // Code for char B
nullsub 1:ae0b4880e9db 378 0x00, 0x1E, 0x21, 0x21, 0x21, // Code for char C
nullsub 1:ae0b4880e9db 379 0x00, 0x3F, 0x21, 0x21, 0x1E, // Code for char D
nullsub 1:ae0b4880e9db 380 0x00, 0x3F, 0x25, 0x25, 0x21, // Code for char E
nullsub 1:ae0b4880e9db 381 0x00, 0x3F, 0x05, 0x05, 0x01, // Code for char F
nullsub 1:ae0b4880e9db 382 0x00, 0x1E, 0x21, 0x29, 0x19, // Code for char G
nullsub 1:ae0b4880e9db 383 0x00, 0x3F, 0x04, 0x04, 0x3F, // Code for char H
nullsub 1:ae0b4880e9db 384 0x00, 0x00, 0x21, 0x3F, 0x21, // Code for char I
nullsub 1:ae0b4880e9db 385 0x00, 0x01, 0x41, 0x41, 0x3F, // Code for char J
nullsub 1:ae0b4880e9db 386 0x00, 0x3F, 0x0C, 0x12, 0x21, // Code for char K
nullsub 1:ae0b4880e9db 387 0x00, 0x00, 0x3F, 0x20, 0x20, // Code for char L
nullsub 1:ae0b4880e9db 388 0x3F, 0x02, 0x04, 0x02, 0x3F, // Code for char M
nullsub 1:ae0b4880e9db 389 0x3F, 0x03, 0x0C, 0x30, 0x3F, // Code for char N
nullsub 1:ae0b4880e9db 390 0x1E, 0x21, 0x21, 0x21, 0x1E, // Code for char O
nullsub 1:ae0b4880e9db 391 0x00, 0x3F, 0x05, 0x05, 0x02, // Code for char P
nullsub 1:ae0b4880e9db 392 0x1E, 0x21, 0x29, 0x31, 0x3E, // Code for char Q
nullsub 1:ae0b4880e9db 393 0x00, 0x3F, 0x0D, 0x15, 0x22, // Code for char R
nullsub 1:ae0b4880e9db 394 0x00, 0x16, 0x25, 0x29, 0x1A, // Code for char S
nullsub 1:ae0b4880e9db 395 0x01, 0x01, 0x3F, 0x01, 0x01, // Code for char T
nullsub 1:ae0b4880e9db 396 0x1F, 0x20, 0x20, 0x20, 0x1F, // Code for char U
nullsub 1:ae0b4880e9db 397 0x0F, 0x10, 0x20, 0x10, 0x0F, // Code for char V
nullsub 1:ae0b4880e9db 398 0x3F, 0x10, 0x08, 0x10, 0x3F, // Code for char W
nullsub 1:ae0b4880e9db 399 0x21, 0x12, 0x0C, 0x12, 0x21, // Code for char X
nullsub 1:ae0b4880e9db 400 0x03, 0x34, 0x18, 0x04, 0x03, // Code for char Y
nullsub 1:ae0b4880e9db 401 0x21, 0x31, 0x29, 0x25, 0x23, // Code for char Z
nullsub 1:ae0b4880e9db 402 0x00, 0x00, 0x00, 0x7F, 0x41, // Code for char [
nullsub 1:ae0b4880e9db 403 0x00, 0x00, 0x03, 0x0C, 0x30, // Code for char BackSlash
nullsub 1:ae0b4880e9db 404 0x00, 0x00, 0x00, 0x41, 0x7F, // Code for char ]
nullsub 1:ae0b4880e9db 405 0x00, 0x00, 0x02, 0x01, 0x02, // Code for char ^
nullsub 1:ae0b4880e9db 406 0x00, 0x20, 0x20, 0x20, 0x20, // Code for char _
nullsub 1:ae0b4880e9db 407 0x00, 0x00, 0x00, 0x01, 0x02, // Code for char `
nullsub 1:ae0b4880e9db 408 0x00, 0x18, 0x24, 0x24, 0x3C, // Code for char a
nullsub 1:ae0b4880e9db 409 0x00, 0x3F, 0x24, 0x24, 0x18, // Code for char b
nullsub 1:ae0b4880e9db 410 0x00, 0x00, 0x18, 0x24, 0x24, // Code for char c
nullsub 1:ae0b4880e9db 411 0x00, 0x18, 0x24, 0x24, 0x3F, // Code for char d
nullsub 1:ae0b4880e9db 412 0x00, 0x18, 0x2C, 0x2C, 0x28, // Code for char e
nullsub 1:ae0b4880e9db 413 0x00, 0x00, 0x08, 0x7C, 0x0A, // Code for char f
nullsub 1:ae0b4880e9db 414 0x00, 0x00, 0x08, 0x54, 0x3C, // Code for char g
nullsub 1:ae0b4880e9db 415 0x00, 0x3F, 0x08, 0x04, 0x38, // Code for char h
nullsub 1:ae0b4880e9db 416 0x00, 0x00, 0x00, 0x08, 0x3A, // Code for char i
nullsub 1:ae0b4880e9db 417 0x00, 0x00, 0x00, 0x48, 0x3A, // Code for char j
nullsub 1:ae0b4880e9db 418 0x00, 0x3F, 0x08, 0x14, 0x20, // Code for char k
nullsub 1:ae0b4880e9db 419 0x00, 0x00, 0x00, 0x3F, 0x20, // Code for char l
nullsub 1:ae0b4880e9db 420 0x3C, 0x04, 0x38, 0x04, 0x38, // Code for char m
nullsub 1:ae0b4880e9db 421 0x00, 0x3C, 0x04, 0x04, 0x38, // Code for char n
nullsub 1:ae0b4880e9db 422 0x00, 0x18, 0x24, 0x24, 0x18, // Code for char o
nullsub 1:ae0b4880e9db 423 0x00, 0x78, 0x24, 0x24, 0x18, // Code for char p
nullsub 1:ae0b4880e9db 424 0x00, 0x18, 0x24, 0x24, 0x78, // Code for char q
nullsub 1:ae0b4880e9db 425 0x00, 0x00, 0x3C, 0x08, 0x04, // Code for char r
nullsub 1:ae0b4880e9db 426 0x00, 0x00, 0x2C, 0x2C, 0x34, // Code for char s
nullsub 1:ae0b4880e9db 427 0x00, 0x00, 0x04, 0x1E, 0x24, // Code for char t
nullsub 1:ae0b4880e9db 428 0x00, 0x1C, 0x20, 0x20, 0x3C, // Code for char u
nullsub 1:ae0b4880e9db 429 0x00, 0x00, 0x0C, 0x30, 0x0C, // Code for char v
nullsub 1:ae0b4880e9db 430 0x1C, 0x20, 0x38, 0x20, 0x1C, // Code for char w
nullsub 1:ae0b4880e9db 431 0x00, 0x00, 0x24, 0x18, 0x24, // Code for char x
nullsub 1:ae0b4880e9db 432 0x00, 0x00, 0x4C, 0x30, 0x0C, // Code for char y
nullsub 1:ae0b4880e9db 433 0x00, 0x24, 0x34, 0x2C, 0x24, // Code for char z
nullsub 1:ae0b4880e9db 434 0x00, 0x00, 0x08, 0x36, 0x41, // Code for char {
nullsub 1:ae0b4880e9db 435 0x00, 0x00, 0x00, 0x00, 0x7F, // Code for char |
nullsub 1:ae0b4880e9db 436 0x00, 0x00, 0x41, 0x36, 0x08, // Code for char }
nullsub 1:ae0b4880e9db 437 0x08, 0x04, 0x08, 0x10, 0x08, // Code for char ~
nullsub 1:ae0b4880e9db 438 0x00, 0x19, 0x24, 0x24, 0x3D, // Code for char ?
nullsub 1:ae0b4880e9db 439 0x00, 0x1A, 0x24, 0x24, 0x1A, // Code for char ?
nullsub 1:ae0b4880e9db 440 0x00, 0x1D, 0x20, 0x20, 0x3D, // Code for char ?
nullsub 1:ae0b4880e9db 441 0x3D, 0x0A, 0x09, 0x0A, 0x3D, // Code for char A
nullsub 1:ae0b4880e9db 442 0x1D, 0x22, 0x22, 0x22, 0x1D, // Code for char ?
nullsub 1:ae0b4880e9db 443 0x1D, 0x20, 0x20, 0x20, 0x1D, // Code for char ?
nullsub 1:ae0b4880e9db 444 0x00, 0x7E, 0x25, 0x2A, 0x10 // Code for char ?
nullsub 1:ae0b4880e9db 445 };