[CODE] 5*7, 5*12, and 7*12 fonts

1 post / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here are the definitions for two bitmap fonts intended for use on small graphics devices like LCD graphic displays.

Cut'n'paste to insert in your program. They're in C but easy to translate to assembler; they're only a lump of data. Neither of them carries any information for characters below ascii ' ' - 0x20 - the non-printing characters, to save space. They're formatted to suit the bitmap display of most of the common LCDs where 8-bit bytes are stacked vertically with bit0 at the top, with adjacent bytes in the next vertical column.

The first if 5 wide by 7 high, so no true descenders, but it fits in a 6 by 8 character cell. To display, subtract 0x20 from your ascii code, use the result as a pointer into the table, set up the address on the LCD chip, and write five bytes in sequence. Then write a zero to the next byte. The internal pointers will then look after themselves and you're ready for the next character. (You'll want to keep an eye on line position).

const unsigned char font[480] PROGMEM = {
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5f,0x00,0x00,	//  !
	0x00,0x03,0x00,0x03,0x00,0x14,0x7f,0x14,0x7f,0x14,	// "#
	0x24,0x2a,0x7f,0x2a,0x12,0x23,0x13,0x08,0x64,0x62,	// $%
	0x36,0x49,0x55,0x22,0x50,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,	// *+
	0x00,0x50,0x30,0x00,0x00,0x08,0x08,0x08,0x08,0x08,	// ,-
	0x00,0x60,0x60,0x00,0x00,0x20,0x10,0x08,0x04,0x02,	// ./
	0x3e,0x51,0x49,0x45,0x3e,0x00,0x42,0x7f,0x40,0x00,	// 01
	0x42,0x61,0x51,0x49,0x46,0x21,0x41,0x45,0x4b,0x31,	// 23
	0x18,0x14,0x12,0x7f,0x10,0x27,0x45,0x45,0x45,0x39,	// 45
	0x3c,0x4a,0x49,0x49,0x30,0x01,0x71,0x09,0x05,0x03,	// 67
	0x36,0x49,0x49,0x49,0x36,0x06,0x49,0x49,0x29,0x1e,	// 89
	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,	// >?
	0x32,0x49,0x79,0x41,0x3e,0x7e,0x11,0x11,0x11,0x7e,	//  @A
	0x7f,0x49,0x49,0x49,0x36,0x3e,0x41,0x41,0x41,0x22,	// BC
	0x7f,0x41,0x41,0x22,0x1c,0x7f,0x49,0x49,0x49,0x41,	// DE
	0x7f,0x09,0x09,0x09,0x01,0x3e,0x41,0x49,0x49,0x7a,	// FG
	0x7f,0x08,0x08,0x08,0x7f,0x00,0x41,0x7f,0x41,0x00,	// HI
	0x20,0x40,0x41,0x3f,0x01,0x7f,0x08,0x14,0x22,0x41,	// JK
	0x7f,0x40,0x40,0x40,0x40,0x7f,0x02,0x0c,0x02,0x7f,	// LM
	0x7f,0x04,0x08,0x10,0x7f,0x3e,0x41,0x41,0x41,0x3e,	// NO
	0x7f,0x09,0x09,0x09,0x06,0x3e,0x41,0x51,0x21,0x5e,	// PQ
	0x7f,0x09,0x19,0x29,0x46,0x46,0x49,0x49,0x49,0x31,	// RS
	0x01,0x01,0x7f,0x01,0x01,0x3f,0x40,0x40,0x40,0x3f,	// TU
	0x1f,0x20,0x40,0x20,0x1f,0x3f,0x40,0x38,0x40,0x3f,	// VW
	0x63,0x14,0x08,0x14,0x63,0x07,0x08,0x70,0x08,0x07,	// XY
	0x61,0x51,0x49,0x45,0x43,0x00,0x7f,0x41,0x41,0x00,	// Z[
	0x02,0x04,0x08,0x10,0x20,0x00,0x41,0x41,0x7f,0x00,	// \]
	0x04,0x02,0x01,0x02,0x04,0x40,0x40,0x40,0x40,0x40,	// ^_
	0x00,0x01,0x02,0x04,0x00,0x20,0x54,0x54,0x54,0x78,	// `a
	0x7f,0x48,0x44,0x44,0x38,0x38,0x44,0x44,0x44,0x20,	// bc
	0x38,0x44,0x44,0x48,0x7f,0x38,0x54,0x54,0x54,0x18,	// de
	0x08,0x7e,0x09,0x01,0x02,0x0c,0x52,0x52,0x52,0x3e,	// fg
	0x7f,0x08,0x04,0x04,0x78,0x00,0x44,0x7d,0x40,0x00,	// hi
	0x20,0x40,0x44,0x3d,0x00,0x7f,0x10,0x28,0x44,0x00,	// jk
	0x00,0x41,0x7f,0x40,0x00,0x7c,0x04,0x18,0x04,0x78,	// lm
	0x7c,0x08,0x04,0x04,0x78,0x38,0x44,0x44,0x44,0x38,	// no
	0x7c,0x14,0x14,0x14,0x08,0x08,0x14,0x14,0x18,0x7c,	// pq
	0x7c,0x08,0x04,0x04,0x08,0x48,0x54,0x54,0x54,0x20,	// rs
	0x04,0x3f,0x44,0x40,0x20,0x3c,0x40,0x40,0x20,0x7c,	// tu
	0x1c,0x20,0x40,0x20,0x1c,0x3c,0x40,0x30,0x40,0x3c,	// vw
	0x44,0x28,0x10,0x28,0x44,0x0c,0x50,0x50,0x50,0x3c,	// xy
	0x44,0x64,0x54,0x4c,0x44,0x00,0x08,0x36,0x41,0x00,	// z{
	0x00,0x00,0x7f,0x00,0x00,0x00,0x41,0x36,0x08,0x00,	// |}
	0x10,0x08,0x08,0x10,0x08,0x00,0x00,0x02,0x05,0x02};	// ^degree

The second table use a character of 5 by 12 in a 6 by 16 cell - that is two bytes above each other in the LCD cell. For this font, you need to multiply the ascii value (minus 0x20, of course) by ten to get the pointer to the start of the character. The first five bytes write the top half of the character; the next five write the bottom half.

const unsigned char font[] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 	// ' '
	0x00, 0x00, 0x00, 0x00, 0x0B, 0xF8, 0x00, 0x00, 0x00, 0x00, 	// '!'
	0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 	// '"'
	0x02, 0x20, 0x0F, 0xF8, 0x02, 0x20, 0x0F, 0xF8, 0x02, 0x20, 	// '#'
	0x04, 0x60, 0x08, 0x90, 0x1F, 0xF8, 0x09, 0x10, 0x06, 0x20, 	// '$'
	0x06, 0x10, 0x01, 0x28, 0x04, 0x90, 0x0A, 0x40, 0x04, 0x30, 	// '%'
	0x07, 0x30, 0x08, 0xC8, 0x09, 0x30, 0x06, 0x00, 0x09, 0x00, 	// '&'
	0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 	// '''
	0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x10, 0x04, 0x00, 0x00, 	// '('
	0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x0F, 0xF8, 0x00, 0x00, 	// ')'
	0x01, 0x10, 0x00, 0xA0, 0x03, 0xF8, 0x00, 0xA0, 0x01, 0x10, 	// '*'
	0x01, 0x00, 0x01, 0x00, 0x07, 0xC0, 0x01, 0x00, 0x01, 0x00, 	// '+'
	0x00, 0x00, 0x2C, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 	// ','
	0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 	// '-'
	0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 	// '.'
	0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x38, 0x00, 0x00, 	// '/'
	0x07, 0xF0, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0xF0, 	// '0'
	0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x0F, 0xF8, 0x00, 0x00, 	// '1'
	0x0C, 0x10, 0x0A, 0x08, 0x09, 0x08, 0x08, 0x88, 0x08, 0x70, 	// '2'
	0x04, 0x10, 0x08, 0x08, 0x08, 0x88, 0x08, 0x88, 0x07, 0x70, 	// '3'
	0x03, 0x00, 0x02, 0xC0, 0x02, 0x30, 0x0F, 0xF8, 0x02, 0x00, 	// '4'
	0x04, 0xF8, 0x08, 0x48, 0x08, 0x48, 0x08, 0x48, 0x07, 0x88, 	// '5'
	0x07, 0xF0, 0x08, 0x88, 0x08, 0x88, 0x08, 0x88, 0x07, 0x10, 	// '6'
	0x00, 0x08, 0x0E, 0x08, 0x01, 0x88, 0x00, 0x68, 0x00, 0x18, 	// '7'
	0x07, 0x70, 0x08, 0x88, 0x08, 0x88, 0x08, 0x88, 0x07, 0x70, 	// '8'
	0x04, 0x70, 0x08, 0x88, 0x08, 0x88, 0x08, 0x88, 0x07, 0xF0, 	// '9'
	0x0C, 0xC0, 0x0C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 	// ':'
	0x00, 0x00, 0x2C, 0xC0, 0x1C, 0xC0, 0x00, 0x00, 0x00, 0x00, 	// ';'
	0x01, 0x00, 0x02, 0x80, 0x04, 0x40, 0x08, 0x20, 0x00, 0x00, 	// '<'
	0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 	// '='
	0x08, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01, 0x00, 0x00, 0x00, 	// '>'
	0x00, 0x10, 0x00, 0x08, 0x0B, 0x08, 0x00, 0x88, 0x00, 0x70, 	// '?'
	0x01, 0xE0, 0x02, 0x10, 0x04, 0xC8, 0x05, 0x28, 0x02, 0xF0, 	// '@'
	0x0F, 0x00, 0x02, 0xE0, 0x02, 0x18, 0x02, 0xE0, 0x0F, 0x00, 	// 'A'
	0x0F, 0xF8, 0x08, 0x88, 0x08, 0x88, 0x08, 0x88, 0x07, 0x70, 	// 'B'
	0x07, 0xF0, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x10, 	// 'C'
	0x0F, 0xF8, 0x08, 0x08, 0x08, 0x08, 0x04, 0x10, 0x03, 0xE0, 	// 'D'
	0x0F, 0xF8, 0x08, 0x88, 0x08, 0x88, 0x08, 0x08, 0x00, 0x00, 	// 'E'
	0x0F, 0xF8, 0x00, 0x88, 0x00, 0x88, 0x00, 0x08, 0x00, 0x00, 	// 'F'
	0x07, 0xF0, 0x08, 0x08, 0x08, 0x88, 0x04, 0x88, 0x0F, 0x90, 	// 'G'
	0x0F, 0xF8, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x0F, 0xF8, 	// 'H'
	0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 	// 'I'
	0x06, 0x00, 0x08, 0x00, 0x08, 0x00, 0x07, 0xF8, 0x00, 0x00, 	// 'J'
	0x0F, 0xF8, 0x00, 0xC0, 0x01, 0x20, 0x02, 0x10, 0x0C, 0x08, 	// 'K'
	0x0F, 0xF8, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 	// 'L'
	0x0F, 0xF8, 0x00, 0x70, 0x01, 0x80, 0x00, 0x70, 0x0F, 0xF8, 	// 'M'
	0x0F, 0xF8, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0F, 0xF8, 	// 'N'
	0x07, 0xF0, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0xF0, 	// 'O'
	0x0F, 0xF8, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x70, 	// 'P'
	0x07, 0xF0, 0x08, 0x08, 0x0A, 0x08, 0x0C, 0x08, 0x17, 0xF0, 	// 'Q'
	0x0F, 0xF8, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x0F, 0x70, 	// 'R'
	0x04, 0x70, 0x08, 0x88, 0x08, 0x88, 0x08, 0x88, 0x07, 0x10, 	// 'S'
	0x00, 0x08, 0x00, 0x08, 0x0F, 0xF8, 0x00, 0x08, 0x00, 0x08, 	// 'T'
	0x07, 0xF8, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x07, 0xF8, 	// 'U'
	0x00, 0x38, 0x03, 0xC0, 0x0C, 0x00, 0x03, 0xC0, 0x00, 0x38, 	// 'V'
	0x00, 0xF8, 0x0F, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0xF8, 	// 'W'
	0x0E, 0x38, 0x01, 0x40, 0x00, 0x80, 0x01, 0x40, 0x0E, 0x38, 	// 'X'
	0x00, 0x38, 0x00, 0x40, 0x0F, 0x80, 0x00, 0x40, 0x00, 0x38, 	// 'Y'
	0x0C, 0x08, 0x0B, 0x08, 0x08, 0x88, 0x08, 0x68, 0x08, 0x18, 	// 'Z'
	0x00, 0x00, 0x1F, 0xFC, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 	// '['
	0x00, 0x00, 0x00, 0x38, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, 	// '\'
	0x00, 0x00, 0x10, 0x04, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x00, 	// ']'
	0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 	// '^'
	0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 	// '_'
	0x00, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 	// '`'
	0x06, 0x00, 0x09, 0x40, 0x09, 0x40, 0x09, 0x40, 0x0F, 0x80, 	// 'a'
	0x0F, 0xF8, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x07, 0x80, 	// 'b'
	0x07, 0x80, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x04, 0x80, 	// 'c'
	0x07, 0x80, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x0F, 0xF8, 	// 'd'
	0x07, 0x80, 0x09, 0x40, 0x09, 0x40, 0x09, 0x40, 0x05, 0x80, 	// 'e'
	0x0F, 0xF0, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x10, 	// 'f'
	0x27, 0x80, 0x28, 0x40, 0x28, 0x40, 0x28, 0x40, 0x1F, 0xC0, 	// 'g'
	0x0F, 0xF8, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x0F, 0x80, 	// 'h'
	0x00, 0x00, 0x00, 0x00, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, 	// 'i'
	0x20, 0x00, 0x20, 0x00, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, 	// 'j'
	0x0F, 0xF8, 0x01, 0x00, 0x02, 0x80, 0x04, 0x40, 0x08, 0x00, 	// 'k'
	0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, 	// 'l'
	0x0F, 0xC0, 0x00, 0x40, 0x0F, 0x80, 0x00, 0x40, 0x0F, 0x80, 	// 'm'
	0x0F, 0xC0, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x0F, 0x80, 	// 'n'
	0x07, 0x80, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x07, 0x80, 	// 'o'
	0x3F, 0xC0, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x07, 0x80, 	// 'p'
	0x07, 0x80, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x3F, 0xC0, 	// 'q'
	0x0F, 0xC0, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 	// 'r'
	0x04, 0x80, 0x09, 0x40, 0x0A, 0x40, 0x04, 0x80, 0x00, 0x00, 	// 's'
	0x07, 0xF0, 0x08, 0x40, 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 	// 't'
	0x07, 0xC0, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x0F, 0xC0, 	// 'u'
	0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 	// 'v'
	0x01, 0xC0, 0x0E, 0x00, 0x01, 0xC0, 0x0E, 0x00, 0x01, 0xC0, 	// 'w'
	0x0C, 0xC0, 0x03, 0x00, 0x03, 0x00, 0x0C, 0xC0, 0x00, 0x00, 	// 'x'
	0x20, 0x00, 0x23, 0xC0, 0x1C, 0x00, 0x04, 0x00, 0x03, 0xC0, 	// 'y'
	0x0C, 0x40, 0x0A, 0x40, 0x09, 0x40, 0x08, 0xC0, 0x00, 0x00, 	// 'z'
	0x00, 0x00, 0x00, 0x80, 0x0F, 0x78, 0x10, 0x04, 0x00, 0x00, 	// '{'
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 	// '|'
	0x00, 0x00, 0x10, 0x04, 0x0F, 0x78, 0x00, 0x80, 0x00, 0x00, 	// '}'
	0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 	// '~'
	0x00, 0x38, 0x00, 0x44, 0x00, 0x44, 0x00, 0x44, 0x00, 0x38, 	// ''
	};

Another font; this time 7 by 11 in an 8 by 16 cell (so it can be used in an 8 by 12 cell). This one is organised for a normal video raster display; individual bytes hold the dot pattern across the raster and sequential bytes hold the image moving down the character. Bit zero is on the right, but seven on the left - that is, if you're outputting these as a raster, you send the high bit first.

You'll note that this is in assembler, and the comment that the bytes must be assigned in pairs. I'd rather stack the bytes so you can see the shape of the letter, but if you define them on separate lines the assembler will align each to a word boundary (and complain at you).

// font8-12.inc
// note that for packing, bytes *must* be defined in pairs or
// multiples of two.

// ' '
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// !
	.db 0b00000000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b00010000,0b00010000,0b00000000
	.db 0b00010000,0b00010000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// "
	.db 0b00101000,0b00101000,0b00101000,0b00101000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// #
	.db 0b00000000,0b00010010,0b00010010,0b00010110
	.db 0b01111111,0b00100100,0b00100100,0b11111110
	.db 0b00101000,0b01001000,0b01001000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// $
	.db 0b00001000,0b00111110,0b01001001,0b01001000
	.db 0b00111000,0b00001110,0b00001001,0b01001001
	.db 0b00111110,0b00001000,0b00001000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// %
	.db 0b00000000,0b01100000,0b10010000,0b10010000
	.db 0b01100010,0b00011100,0b01100110,0b00001001
	.db 0b00001001,0b00000110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// &
	.db 0b00000000,0b00011100,0b00100000,0b00100000
	.db 0b00110000,0b01001001,0b01001101,0b01000101
	.db 0b01100010,0b00111101,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// '
	.db 0b00000000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// (
	.db 0b00001100,0b00001000,0b00001000,0b00010000
	.db 0b00010000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b00001000,0b00001000,0b00000100
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// )
	.db 0b00110000,0b00010000,0b00010000,0b00001000
	.db 0b00001000,0b00001000,0b00001000,0b00001000
	.db 0b00001000,0b00010000,0b00010000,0b00110000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// *
	.db 0b00000000,0b00000000,0b00001000,0b01001001
	.db 0b00111110,0b00011100,0b01101011,0b00001000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// +
	.db 0b00000000,0b00000000,0b00010000,0b00010000
	.db 0b00010000,0b11111110,0b00010000,0b00010000
	.db 0b00010000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// ,
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00011000
	.db 0b00011000,0b00010000,0b00100000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// -
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00111000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// .
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00011000
	.db 0b00011000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// /
	.db 0b00000010,0b00000100,0b00000100,0b00001000
	.db 0b00001000,0b00011000,0b00010000,0b00010000
	.db 0b00100000,0b00100000,0b01000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// 0
	.db 0b00000000,0b00011100,0b00100010,0b01000001
	.db 0b01000001,0b01001001,0b01000001,0b01000001
	.db 0b00100010,0b00011100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// 1
	.db 0b00000000,0b00111000,0b00001000,0b00001000
	.db 0b00001000,0b00001000,0b00001000,0b00001000
	.db 0b00001000,0b00111110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// 2
	.db 0b00000000,0b00111110,0b01000011,0b00000001
	.db 0b00000001,0b00000010,0b00001100,0b00011000
	.db 0b00100000,0b01111111,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// 3
	.db 0b00000000,0b00111110,0b01000001,0b00000001
	.db 0b00000011,0b00011100,0b00000011,0b00000001
	.db 0b01000011,0b00111110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// 4
	.db 0b00000000,0b00000110,0b00001010,0b00011010
	.db 0b00010010,0b00100010,0b01000010,0b01111111
	.db 0b00000010,0b00000010,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// 5
	.db 0b00000000,0b01111110,0b01000000,0b01000000
	.db 0b01111100,0b00000011,0b00000001,0b00000001
	.db 0b01000011,0b00111100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// 6
	.db 0b00000000,0b00011110,0b00100001,0b01000000
	.db 0b01011110,0b01100011,0b01000001,0b01000001
	.db 0b00100011,0b00011110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// 7
	.db 0b00000000,0b01111111,0b00000010,0b00000010
	.db 0b00000100,0b00000100,0b00001000,0b00011000

	.db 0b00010000,0b00100000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// 8
	.db 0b00000000,0b00111110,0b01000001,0b01000001
	.db 0b01000001,0b00111110,0b01000001,0b01000001
	.db 0b01100001,0b00111110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// 9
	.db 0b00000000,0b00111100,0b01100010,0b01000001
	.db 0b01000001,0b01100011,0b00111101,0b00000001
	.db 0b01000010,0b00111100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// :
	.db 0b00000000,0b00000000,0b00000000,0b00011000
	.db 0b00011000,0b00000000,0b00000000,0b00000000
	.db 0b00011000,0b00011000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// ;
	.db 0b00000000,0b00000000,0b00000000,0b00011000
	.db 0b00011000,0b00000000,0b00000000,0b00000000
	.db 0b00011000,0b00011000,0b00010000,0b00100000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// <
	.db 0b00000000,0b00000000,0b00000000,0b00000001
	.db 0b00001110,0b01110000,0b01110000,0b00001110
	.db 0b00000001,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// =
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b01111111,0b00000000,0b00000000,0b01111111
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// >
	.db 0b00000000,0b00000000,0b00000000,0b01000000
	.db 0b00111000,0b00000111,0b00000111,0b00111000
	.db 0b01000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// ?
	.db 0b00000000,0b00111000,0b01000100,0b00000100
	.db 0b00001000,0b00010000,0b00010000,0b00000000
	.db 0b00010000,0b00010000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// @
	.db 0b00000000,0b00011110,0b00110011,0b00100001
	.db 0b01000111,0b01001001,0b01001001,0b01001001
	.db 0b01000111,0b00100000,0b00110000,0b00011110
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// A
	.db 0b00000000,0b00001000,0b00010100,0b00010100
	.db 0b00010100,0b00100010,0b00100010,0b00111110
	.db 0b01100011,0b01000001,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// B
	.db 0b00000000,0b01111110,0b01000001,0b01000001
	.db 0b01000001,0b01111110,0b01000001,0b01000001
	.db 0b01000001,0b01111110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// C
	.db 0b00000000,0b00011110,0b00100001,0b01000000
	.db 0b01000000,0b01000000,0b01000000,0b01000000
	.db 0b00100001,0b00011110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// D
	.db 0b00000000,0b01111100,0b01000010,0b01000001
	.db 0b01000001,0b01000001,0b01000001,0b01000001
	.db 0b01000010,0b01111100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// E
	.db 0b00000000,0b01111111,0b01000000,0b01000000
	.db 0b01000000,0b01111111,0b01000000,0b01000000
	.db 0b01000000,0b01111111,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// F
	.db 0b00000000,0b01111111,0b01000000,0b01000000
	.db 0b01000000,0b01111111,0b01000000,0b01000000
	.db 0b01000000,0b01000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// G
	.db 0b00000000,0b00011110,0b00100001,0b01000000
	.db 0b01000000,0b01000011,0b01000001,0b01000001
	.db 0b00100001,0b00011110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// H
	.db 0b00000000,0b01000001,0b01000001,0b01000001
	.db 0b01000001,0b01111111,0b01000001,0b01000001
	.db 0b01000001,0b01000001,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// I
	.db 0b00000000,0b01111100,0b00010000,0b00010000
	.db 0b00010000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b01111100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// J
	.db 0b00000000,0b00011100,0b00000100,0b00000100
	.db 0b00000100,0b00000100,0b00000100,0b00000100
	.db 0b01000100,0b00111000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// K
	.db 0b00000000,0b01000010,0b01000100,0b01001000
	.db 0b01010000,0b01110000,0b01001000,0b01000100
	.db 0b01000100,0b01000010,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// L
	.db 0b00000000,0b01000000,0b01000000,0b01000000
	.db 0b01000000,0b01000000,0b01000000,0b01000000
	.db 0b01000000,0b01111111,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// M
	.db 0b00000000,0b01100011,0b01100011,0b01010101
	.db 0b01010101,0b01010101,0b01001001,0b01000001
	.db 0b01000001,0b01000001,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// N
	.db 0b00000000,0b01100001,0b01100001,0b01010001
	.db 0b01010001,0b01001001,0b01000101,0b01000101
	.db 0b01000011,0b01000011,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// O
	.db 0b00000000,0b00011100,0b00100010,0b01000001
	.db 0b01000001,0b01000001,0b01000001,0b01000001
	.db 0b00100010,0b00011100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// P
	.db 0b00000000,0b01111110,0b01000011,0b01000001
	.db 0b01000001,0b01000011,0b01111110,0b01000000
	.db 0b01000000,0b01000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// Q
	.db 0b00000000,0b00011100,0b00100010,0b01000001
	.db 0b01000001,0b01000001,0b01000001,0b01000001
	.db 0b00100010,0b00011110,0b00000110,0b00000010
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// R
	.db 0b00000000,0b01111110,0b01000011,0b01000001
	.db 0b01000001,0b01111110,0b01000010,0b01000001
	.db 0b01000001,0b01000001,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// S
	.db 0b00000000,0b00111110,0b01100001,0b01000000
	.db 0b01100000,0b00111110,0b00000011,0b00000001
	.db 0b01000011,0b00111110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// T
	.db 0b00000000,0b01111111,0b00001000,0b00001000
	.db 0b00001000,0b00001000,0b00001000,0b00001000
	.db 0b00001000,0b00001000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// U
	.db 0b00000000,0b01000001,0b01000001,0b01000001
	.db 0b01000001,0b01000001,0b01000001,0b01000001
	.db 0b01000001,0b00111110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// V
	.db 0b00000000,0b01000001,0b01100011,0b00100010
	.db 0b00100010,0b00100010,0b00010100,0b00010100
	.db 0b00010100,0b00001000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// W
	.db 0b00000000,0b10000001,0b10000001,0b10000001
	.db 0b01011010,0b01011010,0b01011010,0b01100110
	.db 0b01100110,0b01100110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// X
	.db 0b00000000,0b01100011,0b00100010,0b00010100
	.db 0b00011100,0b00001000,0b00010100,0b00110110
	.db 0b00100010,0b01000001,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// Y
	.db 0b00000000,0b01000001,0b00100010,0b00010100
	.db 0b00010100,0b00001000,0b00001000,0b00001000
	.db 0b00001000,0b00001000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	// Z
	.db 0b00000000,0b01111111,0b00000011,0b00000110
	.db 0b00000100,0b00001000,0b00010000,0b00110000
	.db 0b01100000,0b01111111,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// [
	.db 0b00011100,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b00010000,0b00010000,0b00011100
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// \
	.db 0b00000000,0b01000000,0b00100000,0b00100000
	.db 0b00010000,0b00010000,0b00011000,0b00001000
	.db 0b00001000,0b00000100,0b00000100,0b00000010
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// ]
	.db 0b00111000,0b00001000,0b00001000,0b00001000
	.db 0b00001000,0b00001000,0b00001000,0b00001000
	.db 0b00001000,0b00001000,0b00001000,0b00111000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// ^
	.db 0b00000000,0b00010000,0b00101000,0b01000100
	.db 0b11000110,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// _
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b11111111
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// `
	.db 0b00010000,0b00001000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// a
	.db 0b00000000,0b00000000,0b00000000,0b00011100
	.db 0b00100010,0b00000010,0b00111110,0b01000010
	.db 0b01000110,0b00111010,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// b,
	.db 0b00000000,0b01000000,0b01000000,0b01000000
	.db 0b01000000,0b01111100,0b01100110,0b01000010
	.db 0b01100110,0b01111100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// c
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00011100,0b00100010,0b01000000,0b01000000
	.db 0b00100010,0b00011100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// d
	.db 0b00000000,0b00000010,0b00000010,0b00000010
	.db 0b00000010,0b00111110,0b01100110,0b01000010
	.db 0b01100110,0b00111010,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// e
	.db 0b00000000,0b00000000,0b00000000,0b00111100
	.db 0b01100110,0b01000010,0b01111110,0b01000000
	.db 0b01100010,0b00111100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// f
	.db 0b00000000,0b00001100,0b00010000,0b00010000
	.db 0b00010000,0b01111100,0b00010000,0b00010000
	.db 0b00010000,0b00010000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// g
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00111110,0b01100110,0b01000010,0b01100110
	.db 0b00111010,0b00000010,0b00100010,0b00011100
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// h
	.db 0b00000000,0b01000000,0b01000000,0b01000000
	.db 0b01000000,0b01011100,0b01100010,0b01000010
	.db 0b01000010,0b01000010,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// i
	.db 0b00000000,0b00000000,0b00010000,0b00000000
	.db 0b01110000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b01111100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// j
	.db 0b00000000,0b00000000,0b00001000,0b00000000
	.db 0b00111000,0b00001000,0b00001000,0b00001000
	.db 0b00001000,0b00001000,0b00001000,0b01110000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// k
	.db 0b00000000,0b01000000,0b01000000,0b01000100
	.db 0b01001000,0b01010000,0b01110000,0b01001000
	.db 0b01000100,0b01000010,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// l
	.db 0b00000000,0b01110000,0b00010000,0b00010000
	.db 0b00010000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b00001110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// m
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b01111111,0b01001001,0b01001001
	.db 0b01001001,0b01001001,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// n
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b01011100,0b01100010,0b01000010
	.db 0b01000010,0b01000010,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// o
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00111100,0b01100110,0b01000010
	.db 0b01100110,0b00111100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// p
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b01111100,0b01100110,0b01000010
	.db 0b01100110,0b01111100,0b01000000,0b01000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// q
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00111110,0b01100110,0b01000010
	.db 0b01100110,0b00111010,0b00000010,0b00000010
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// r
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00111100,0b00110010,0b00100000,0b00100000
	.db 0b00100000,0b00100000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// s	
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00111100,0b01000010,0b00111100,0b00000010
	.db 0b01000010,0b00111100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// t
	.db 0b00000000,0b00010000,0b00010000,0b01111110
	.db 0b00010000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b00001110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// u
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b01000010,0b01000010,0b01000010,0b01000010
	.db 0b01000110,0b00111010,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// v
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b01000010,0b01100110,0b00100100,0b00111100
	.db 0b00011000,0b00011000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// w
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b10000001,0b10000001,0b01011010,0b01011010
	.db 0b00100100,0b00100100,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// x
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b01100110,0b00100100,0b00011000,0b00011000
	.db 0b00100100,0b01100110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// y
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b01000010,0b00100010,0b00100100,0b00010100
	.db 0b00011000,0b00001000,0b00010000,0b00110000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// z
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b01111110,0b00000110,0b00011000,0b00100000
	.db 0b01000000,0b01111110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// {
	.db 0b00011100,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b01100000,0b00010000,0b00010000
	.db 0b00010000,0b00010000,0b00010000,0b00001100
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// |
	.db 0b00010000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b00010000,0b00010000,0b00010000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// }
	.db 0b01110000,0b00010000,0b00010000,0b00010000
	.db 0b00010000,0b00001100,0b00010000,0b00010000
	.db 0b00010000,0b00010000,0b00010000,0b01100000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
// ^
	.db 0b00000000,0b00010000,0b00101000,0b01000100
	.db 0b11000110,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000

// ~
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00111001,0b01000110,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	.db 0b00000000,0b00000000,0b00000000,0b00000000
	

Neil