diff --git a/lcd/Makefile b/lcd/Makefile index 1d20b3f..c854539 100644 --- a/lcd/Makefile +++ b/lcd/Makefile @@ -8,7 +8,16 @@ TARGET = LPC13xx OBJS = OBJS += smallfonts.o + +OBJS += dejavusans9.o +OBJS += dejavusansbold9.o +OBJS += dejavusanscondensed9.o +OBJS += dejavusansmono8.o +OBJS += dejavusansmonobold8.o +OBJS += veramono11.o OBJS += veramono9.o +OBJS += veramonobold11.o +OBJS += veramonobold9.o OBJS += display.o OBJS += render.o diff --git a/lcd/dejavusans9.c b/lcd/dejavusans9.c new file mode 100644 index 0000000..57eeae6 --- /dev/null +++ b/lcd/dejavusans9.c @@ -0,0 +1,823 @@ +#include "dejavusans9.h" + +/* +** Font data for DejaVu Sans 9pt +*/ + +/* Character bitmaps for DejaVu Sans 9pt */ +const uint8_t dejaVuSans9ptCharBitmaps[] = +{ + /* @0 ' ' (5 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @10 '!' (1 pixels wide) */ + 0x1B, 0xF0, /* ## ###### */ + + /* @12 '"' (3 pixels wide) */ + 0x00, 0x70, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x70, /* ### */ + + /* @18 '#' (8 pixels wide) */ + 0x04, 0x00, /* # */ + 0x14, 0x80, /* # # # */ + 0x0F, 0x80, /* ##### */ + 0x04, 0xE0, /* # ### */ + 0x1C, 0x80, /* ### # */ + 0x07, 0xC0, /* ##### */ + 0x04, 0xA0, /* # # # */ + 0x00, 0x80, /* # */ + + /* @34 '$' (5 pixels wide) */ + 0x09, 0xC0, /* # ### */ + 0x11, 0x20, /* # # # */ + 0x7F, 0xF0, /* ########### */ + 0x12, 0x20, /* # # # */ + 0x0E, 0x40, /* ### # */ + + /* @44 '%' (10 pixels wide) */ + 0x00, 0xE0, /* ### */ + 0x01, 0x10, /* # # */ + 0x11, 0x10, /* # # # */ + 0x0C, 0xE0, /* ## ### */ + 0x03, 0x00, /* ## */ + 0x01, 0x80, /* ## */ + 0x0E, 0x60, /* ### ## */ + 0x11, 0x10, /* # # # */ + 0x11, 0x00, /* # # */ + 0x0E, 0x00, /* ### */ + + /* @64 '&' (8 pixels wide) */ + 0x0E, 0x00, /* ### */ + 0x19, 0xE0, /* ## #### */ + 0x10, 0x90, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x12, 0x20, /* # # # */ + 0x0C, 0x00, /* ## */ + 0x14, 0x00, /* # # */ + 0x13, 0x00, /* # ## */ + + /* @80 ''' (1 pixels wide) */ + 0x00, 0x70, /* ### */ + + /* @82 '(' (3 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x38, 0x38, /* ### ### */ + 0x20, 0x08, /* # # */ + + /* @88 ')' (3 pixels wide) */ + 0x20, 0x08, /* # # */ + 0x38, 0x38, /* ### ### */ + 0x07, 0xC0, /* ##### */ + + /* @94 '*' (5 pixels wide) */ + 0x01, 0x20, /* # # */ + 0x00, 0xC0, /* ## */ + 0x03, 0xF0, /* ###### */ + 0x00, 0xC0, /* ## */ + 0x01, 0x20, /* # # */ + + /* @104 '+' (7 pixels wide) */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + + /* @118 ',' (1 pixels wide) */ + 0x38, 0x00, /* ### */ + + /* @120 '-' (3 pixels wide) */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + + /* @126 '.' (1 pixels wide) */ + 0x18, 0x00, /* ## */ + + /* @128 '/' (4 pixels wide) */ + 0x30, 0x00, /* ## */ + 0x0E, 0x00, /* ### */ + 0x01, 0xC0, /* ### */ + 0x00, 0x30, /* ## */ + + /* @136 '0' (6 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x18, 0x30, /* ## ## */ + 0x07, 0xC0, /* ##### */ + + /* @148 '1' (5 pixels wide) */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + + /* @158 '2' (6 pixels wide) */ + 0x10, 0x20, /* # # */ + 0x18, 0x10, /* ## # */ + 0x14, 0x10, /* # # # */ + 0x12, 0x10, /* # # # */ + 0x11, 0x30, /* # # ## */ + 0x10, 0xE0, /* # ### */ + + /* @170 '3' (6 pixels wide) */ + 0x08, 0x20, /* # # */ + 0x10, 0x10, /* # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x0E, 0xE0, /* ### ### */ + + /* @182 '4' (6 pixels wide) */ + 0x06, 0x00, /* ## */ + 0x05, 0x80, /* # ## */ + 0x04, 0x40, /* # # */ + 0x04, 0x30, /* # ## */ + 0x1F, 0xF0, /* ######### */ + 0x04, 0x00, /* # */ + + /* @194 '5' (6 pixels wide) */ + 0x08, 0xF0, /* # #### */ + 0x10, 0x90, /* # # # */ + 0x10, 0x90, /* # # # */ + 0x10, 0x90, /* # # # */ + 0x19, 0x90, /* ## ## # */ + 0x0F, 0x00, /* #### */ + + /* @206 '6' (6 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x19, 0x20, /* ## # # */ + 0x10, 0x90, /* # # # */ + 0x10, 0x90, /* # # # */ + 0x19, 0x90, /* ## ## # */ + 0x0F, 0x20, /* #### # */ + + /* @218 '7' (6 pixels wide) */ + 0x00, 0x10, /* # */ + 0x10, 0x10, /* # # */ + 0x0C, 0x10, /* ## # */ + 0x03, 0x10, /* ## # */ + 0x00, 0xD0, /* ## # */ + 0x00, 0x30, /* ## */ + + /* @230 '8' (6 pixels wide) */ + 0x0E, 0xE0, /* ### ### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x0E, 0xE0, /* ### ### */ + + /* @242 '9' (6 pixels wide) */ + 0x09, 0xE0, /* # #### */ + 0x13, 0x30, /* # ## ## */ + 0x12, 0x10, /* # # # */ + 0x12, 0x10, /* # # # */ + 0x09, 0x30, /* # # ## */ + 0x07, 0xC0, /* ##### */ + + /* @254 ':' (1 pixels wide) */ + 0x19, 0x80, /* ## ## */ + + /* @256 ';' (1 pixels wide) */ + 0x39, 0x80, /* ### ## */ + + /* @258 '<' (8 pixels wide) */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x04, 0x80, /* # # */ + 0x04, 0x80, /* # # */ + 0x04, 0x80, /* # # */ + 0x0C, 0xC0, /* ## ## */ + 0x08, 0x40, /* # # */ + + /* @274 '=' (8 pixels wide) */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + + /* @290 '>' (8 pixels wide) */ + 0x08, 0x40, /* # # */ + 0x0C, 0xC0, /* ## ## */ + 0x04, 0x80, /* # # */ + 0x04, 0x80, /* # # */ + 0x04, 0x80, /* # # */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + + /* @306 '?' (5 pixels wide) */ + 0x00, 0x20, /* # */ + 0x00, 0x10, /* # */ + 0x1B, 0x10, /* ## ## # */ + 0x00, 0x90, /* # # */ + 0x00, 0x60, /* ## */ + + /* @316 '@' (11 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x10, 0x40, /* # # */ + 0x20, 0x20, /* # # */ + 0x47, 0x10, /* # ### # */ + 0x48, 0x90, /* # # # # */ + 0x48, 0x90, /* # # # # */ + 0x48, 0x90, /* # # # # */ + 0x4F, 0x90, /* # ##### # */ + 0x28, 0x20, /* # # # */ + 0x04, 0x60, /* # ## */ + 0x03, 0x80, /* ### */ + + /* @338 'A' (8 pixels wide) */ + 0x10, 0x00, /* # */ + 0x0E, 0x00, /* ### */ + 0x05, 0xC0, /* # ### */ + 0x04, 0x30, /* # ## */ + 0x04, 0x30, /* # ## */ + 0x05, 0xC0, /* # ### */ + 0x0E, 0x00, /* ### */ + 0x10, 0x00, /* # */ + + /* @354 'B' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x0E, 0xE0, /* ### ### */ + + /* @366 'C' (6 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x08, 0x20, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x08, 0x20, /* # # */ + + /* @378 'D' (7 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x08, 0x20, /* # # */ + 0x07, 0xC0, /* ##### */ + + /* @392 'E' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + + /* @404 'F' (5 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + + /* @414 'G' (7 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x08, 0x20, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x0F, 0x20, /* #### # */ + + /* @428 'H' (7 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x1F, 0xF0, /* ######### */ + + /* @442 'I' (1 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + + /* @444 'J' (3 pixels wide) */ + 0x40, 0x00, /* # */ + 0x40, 0x00, /* # */ + 0x3F, 0xF0, /* ########## */ + + /* @450 'K' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x00, /* # */ + 0x02, 0x80, /* # # */ + 0x04, 0x40, /* # # */ + 0x08, 0x20, /* # # */ + 0x10, 0x10, /* # # */ + + /* @462 'L' (5 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + + /* @472 'M' (8 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x60, /* ## */ + 0x01, 0x80, /* ## */ + 0x06, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x01, 0x80, /* ## */ + 0x00, 0x60, /* ## */ + 0x1F, 0xF0, /* ######### */ + + /* @488 'N' (7 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x30, /* ## */ + 0x00, 0xC0, /* ## */ + 0x01, 0x00, /* # */ + 0x06, 0x00, /* ## */ + 0x18, 0x00, /* ## */ + 0x1F, 0xF0, /* ######### */ + + /* @502 'O' (7 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x08, 0x20, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x08, 0x20, /* # # */ + 0x07, 0xC0, /* ##### */ + + /* @516 'P' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x00, 0xE0, /* ### */ + + /* @528 'Q' (7 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x08, 0x20, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x30, 0x10, /* ## # */ + 0x48, 0x20, /* # # # */ + 0x07, 0xC0, /* ##### */ + + /* @542 'R' (7 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x03, 0x10, /* ## # */ + 0x0C, 0xE0, /* ## ### */ + 0x10, 0x00, /* # */ + + /* @556 'S' (6 pixels wide) */ + 0x08, 0xE0, /* # ### */ + 0x11, 0x90, /* # ## # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x0E, 0x20, /* ### # */ + + /* @568 'T' (7 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + + /* @582 'U' (7 pixels wide) */ + 0x0F, 0xF0, /* ######## */ + 0x18, 0x00, /* ## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x18, 0x00, /* ## */ + 0x0F, 0xF0, /* ######## */ + + /* @596 'V' (8 pixels wide) */ + 0x00, 0x30, /* ## */ + 0x01, 0xC0, /* ### */ + 0x06, 0x00, /* ## */ + 0x18, 0x00, /* ## */ + 0x18, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x01, 0xC0, /* ### */ + 0x00, 0x30, /* ## */ + + /* @612 'W' (11 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0xE0, /* ### */ + 0x07, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x07, 0x80, /* #### */ + 0x00, 0x70, /* ### */ + 0x07, 0x80, /* #### */ + 0x18, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x00, 0xE0, /* ### */ + 0x00, 0x10, /* # */ + + /* @634 'X' (7 pixels wide) */ + 0x10, 0x10, /* # # */ + 0x08, 0x30, /* # ## */ + 0x06, 0xC0, /* ## ## */ + 0x01, 0x00, /* # */ + 0x06, 0xC0, /* ## ## */ + 0x08, 0x30, /* # ## */ + 0x10, 0x10, /* # # */ + + /* @648 'Y' (7 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0x60, /* ## */ + 0x01, 0x80, /* ## */ + 0x1E, 0x00, /* #### */ + 0x01, 0x80, /* ## */ + 0x00, 0x60, /* ## */ + 0x00, 0x10, /* # */ + + /* @662 'Z' (7 pixels wide) */ + 0x18, 0x10, /* ## # */ + 0x14, 0x10, /* # # # */ + 0x12, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x10, 0x90, /* # # # */ + 0x10, 0x50, /* # # # */ + 0x10, 0x30, /* # ## */ + + /* @676 '[' (2 pixels wide) */ + 0x7F, 0xF0, /* ########### */ + 0x40, 0x10, /* # # */ + + /* @680 '\' (4 pixels wide) */ + 0x00, 0x30, /* ## */ + 0x01, 0xC0, /* ### */ + 0x0E, 0x00, /* ### */ + 0x30, 0x00, /* ## */ + + /* @688 ']' (2 pixels wide) */ + 0x40, 0x10, /* # # */ + 0x7F, 0xF0, /* ########### */ + + /* @692 '^' (6 pixels wide) */ + 0x00, 0x40, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x40, /* # */ + + /* @704 '_' (6 pixels wide) */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + + /* @716 '`' (2 pixels wide) */ + 0x00, 0x08, /* # */ + 0x00, 0x10, /* # */ + + /* @720 'a' (6 pixels wide) */ + 0x0C, 0x80, /* ## # */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x0A, 0x40, /* # # # */ + 0x1F, 0x80, /* ###### */ + + /* @732 'b' (6 pixels wide) */ + 0x1F, 0xF8, /* ########## */ + 0x18, 0xC0, /* ## ## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x18, 0xC0, /* ## ## */ + 0x0F, 0x80, /* ##### */ + + /* @744 'c' (5 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x18, 0xC0, /* ## ## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x08, 0x80, /* # # */ + + /* @754 'd' (6 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x18, 0xC0, /* ## ## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x18, 0xC0, /* ## ## */ + 0x1F, 0xF8, /* ########## */ + + /* @766 'e' (6 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x0A, 0xC0, /* # # ## */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x12, 0xC0, /* # # ## */ + 0x0B, 0x80, /* # ### */ + + /* @778 'f' (4 pixels wide) */ + 0x00, 0x40, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x48, /* # # */ + 0x00, 0x48, /* # # */ + + /* @786 'g' (6 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x58, 0xC0, /* # ## ## */ + 0x90, 0x40, /* # # # */ + 0x90, 0x40, /* # # # */ + 0xD8, 0xC0, /* ## ## ## */ + 0x7F, 0xC0, /* ######### */ + + /* @798 'h' (6 pixels wide) */ + 0x1F, 0xF8, /* ########## */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0x80, /* ###### */ + + /* @810 'i' (1 pixels wide) */ + 0x1F, 0xD0, /* ####### # */ + + /* @812 'j' (2 pixels wide) */ + 0x80, 0x00, /* # */ + 0xFF, 0xD0, /* ########## # */ + + /* @816 'k' (5 pixels wide) */ + 0x1F, 0xF8, /* ########## */ + 0x02, 0x00, /* # */ + 0x05, 0x00, /* # # */ + 0x08, 0x80, /* # # */ + 0x10, 0x40, /* # # */ + + /* @826 'l' (1 pixels wide) */ + 0x1F, 0xF8, /* ########## */ + + /* @828 'm' (9 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0x80, /* ###### */ + + /* @846 'n' (6 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0x80, /* ###### */ + + /* @858 'o' (6 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x18, 0xC0, /* ## ## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x18, 0xC0, /* ## ## */ + 0x0F, 0x80, /* ##### */ + + /* @870 'p' (6 pixels wide) */ + 0xFF, 0xC0, /* ########## */ + 0x18, 0xC0, /* ## ## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x18, 0xC0, /* ## ## */ + 0x0F, 0x80, /* ##### */ + + /* @882 'q' (6 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x18, 0xC0, /* ## ## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x18, 0xC0, /* ## ## */ + 0xFF, 0xC0, /* ########## */ + + /* @894 'r' (4 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + + /* @902 's' (5 pixels wide) */ + 0x09, 0x80, /* # ## */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x0C, 0x80, /* ## # */ + + /* @912 't' (4 pixels wide) */ + 0x00, 0x40, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + + /* @920 'u' (6 pixels wide) */ + 0x0F, 0xC0, /* ###### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x1F, 0xC0, /* ####### */ + + /* @932 'v' (6 pixels wide) */ + 0x00, 0xC0, /* ## */ + 0x07, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x18, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x00, 0xC0, /* ## */ + + /* @944 'w' (9 pixels wide) */ + 0x00, 0xC0, /* ## */ + 0x07, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x00, 0xC0, /* ## */ + 0x07, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x00, 0xC0, /* ## */ + + /* @962 'x' (6 pixels wide) */ + 0x10, 0x40, /* # # */ + 0x0D, 0x80, /* ## ## */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x0D, 0x80, /* ## ## */ + 0x10, 0x40, /* # # */ + + /* @974 'y' (6 pixels wide) */ + 0x80, 0xC0, /* # ## */ + 0x83, 0x00, /* # ## */ + 0x4C, 0x00, /* # ## */ + 0x38, 0x00, /* ### */ + 0x07, 0x00, /* ### */ + 0x00, 0xC0, /* ## */ + + /* @986 'z' (5 pixels wide) */ + 0x18, 0x40, /* ## # */ + 0x14, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x11, 0x40, /* # # # */ + 0x10, 0xC0, /* # ## */ + + /* @996 '{' (5 pixels wide) */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x7D, 0xF0, /* ##### ##### */ + 0x40, 0x10, /* # # */ + 0x40, 0x10, /* # # */ + + /* @1006 '|' (1 pixels wide) */ + 0xFF, 0xF0, /* ############ */ + + /* @1008 '}' (5 pixels wide) */ + 0x40, 0x10, /* # # */ + 0x40, 0x10, /* # # */ + 0x7D, 0xF0, /* ##### ##### */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + + /* @1018 '~' (8 pixels wide) */ + 0x02, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x01, 0x00, /* # */ +}; + +/* Character descriptors for DejaVu Sans 9pt */ +/* { [Char width in bits], [Offset into dejaVuSans9ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO dejaVuSans9ptCharDescriptors[] = +{ + {5, 0}, /* */ + {1, 10}, /* ! */ + {3, 12}, /* " */ + {8, 18}, /* # */ + {5, 34}, /* $ */ + {10, 44}, /* % */ + {8, 64}, /* & */ + {1, 80}, /* ' */ + {3, 82}, /* ( */ + {3, 88}, /* ) */ + {5, 94}, /* * */ + {7, 104}, /* + */ + {1, 118}, /* , */ + {3, 120}, /* - */ + {1, 126}, /* . */ + {4, 128}, /* / */ + {6, 136}, /* 0 */ + {5, 148}, /* 1 */ + {6, 158}, /* 2 */ + {6, 170}, /* 3 */ + {6, 182}, /* 4 */ + {6, 194}, /* 5 */ + {6, 206}, /* 6 */ + {6, 218}, /* 7 */ + {6, 230}, /* 8 */ + {6, 242}, /* 9 */ + {1, 254}, /* : */ + {1, 256}, /* ; */ + {8, 258}, /* < */ + {8, 274}, /* = */ + {8, 290}, /* > */ + {5, 306}, /* ? */ + {11, 316}, /* @ */ + {8, 338}, /* A */ + {6, 354}, /* B */ + {6, 366}, /* C */ + {7, 378}, /* D */ + {6, 392}, /* E */ + {5, 404}, /* F */ + {7, 414}, /* G */ + {7, 428}, /* H */ + {1, 442}, /* I */ + {3, 444}, /* J */ + {6, 450}, /* K */ + {5, 462}, /* L */ + {8, 472}, /* M */ + {7, 488}, /* N */ + {7, 502}, /* O */ + {6, 516}, /* P */ + {7, 528}, /* Q */ + {7, 542}, /* R */ + {6, 556}, /* S */ + {7, 568}, /* T */ + {7, 582}, /* U */ + {8, 596}, /* V */ + {11, 612}, /* W */ + {7, 634}, /* X */ + {7, 648}, /* Y */ + {7, 662}, /* Z */ + {2, 676}, /* [ */ + {4, 680}, /* \ */ + {2, 688}, /* ] */ + {6, 692}, /* ^ */ + {6, 704}, /* _ */ + {2, 716}, /* ` */ + {6, 720}, /* a */ + {6, 732}, /* b */ + {5, 744}, /* c */ + {6, 754}, /* d */ + {6, 766}, /* e */ + {4, 778}, /* f */ + {6, 786}, /* g */ + {6, 798}, /* h */ + {1, 810}, /* i */ + {2, 812}, /* j */ + {5, 816}, /* k */ + {1, 826}, /* l */ + {9, 828}, /* m */ + {6, 846}, /* n */ + {6, 858}, /* o */ + {6, 870}, /* p */ + {6, 882}, /* q */ + {4, 894}, /* r */ + {5, 902}, /* s */ + {4, 912}, /* t */ + {6, 920}, /* u */ + {6, 932}, /* v */ + {9, 944}, /* w */ + {6, 962}, /* x */ + {6, 974}, /* y */ + {5, 986}, /* z */ + {5, 996}, /* { */ + {1, 1006}, /* | */ + {5, 1008}, /* } */ + {8, 1018}, /* ~ */ +}; + +/* Font information for DejaVu Sans 9pt */ +const struct FONT_DEF Font_dejaVu9pt = {0,16,' ','~', + dejaVuSans9ptCharBitmaps, /* Character bitmap array */ + dejaVuSans9ptCharDescriptors, /* Character decriptor array */ +}; diff --git a/lcd/dejavusans9.h b/lcd/dejavusans9.h new file mode 100644 index 0000000..9da45b1 --- /dev/null +++ b/lcd/dejavusans9.h @@ -0,0 +1,8 @@ +#ifndef __DEJA_VU_SANS_9__ +#define __DEJA_VU_SANS_9__ + +#include "fonts.h" + +extern const struct FONT_DEF Font_dejaVu9pt; + +#endif diff --git a/lcd/dejavusansbold9.c b/lcd/dejavusansbold9.c new file mode 100644 index 0000000..d4a71b1 --- /dev/null +++ b/lcd/dejavusansbold9.c @@ -0,0 +1,910 @@ +#include "dejavusansbold9.h" + +/* +** Font data for DejaVu Sans Bold 9pt +*/ + +/* Character bitmaps for DejaVu Sans Bold 9pt */ +const uint8_t dejaVuSansBold9ptCharBitmaps[] = +{ + /* @0 ' ' (5 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @10 '!' (2 pixels wide) */ + 0x1B, 0xF0, /* ## ###### */ + 0x1B, 0xF0, /* ## ###### */ + + /* @14 '"' (3 pixels wide) */ + 0x00, 0x70, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x70, /* ### */ + + /* @20 '#' (8 pixels wide) */ + 0x02, 0x00, /* # */ + 0x1E, 0x40, /* #### # */ + 0x0F, 0xC0, /* ###### */ + 0x02, 0x70, /* # ### */ + 0x1E, 0x40, /* #### # */ + 0x03, 0xE0, /* ##### */ + 0x02, 0x70, /* # ### */ + 0x00, 0x40, /* # */ + + /* @36 '$' (7 pixels wide) */ + 0x11, 0xC0, /* # ### */ + 0x13, 0xE0, /* # ##### */ + 0x13, 0xA0, /* # ### # */ + 0x7F, 0xF0, /* ########### */ + 0x17, 0x20, /* # ### # */ + 0x1F, 0x20, /* ##### # */ + 0x0E, 0x00, /* ### */ + + /* @50 '%' (11 pixels wide) */ + 0x00, 0xE0, /* ### */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x19, 0x10, /* ## # # */ + 0x06, 0xE0, /* ## ### */ + 0x03, 0x80, /* ### */ + 0x0E, 0xC0, /* ### ## */ + 0x11, 0x30, /* # # ## */ + 0x11, 0x00, /* # # */ + 0x11, 0x00, /* # # */ + 0x0E, 0x00, /* ### */ + + /* @72 '&' (9 pixels wide) */ + 0x0E, 0x00, /* ### */ + 0x1F, 0x60, /* ##### ## */ + 0x11, 0xF0, /* # ##### */ + 0x13, 0x90, /* # ### # */ + 0x17, 0x10, /* # ### # */ + 0x1E, 0x20, /* #### # */ + 0x0C, 0x00, /* ## */ + 0x1F, 0x00, /* ##### */ + 0x13, 0x00, /* # ## */ + + /* @90 ''' (1 pixels wide) */ + 0x00, 0x70, /* ### */ + + /* @92 '(' (4 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x3F, 0xF8, /* ########### */ + 0x38, 0x38, /* ### ### */ + 0x20, 0x08, /* # # */ + + /* @100 ')' (4 pixels wide) */ + 0x20, 0x08, /* # # */ + 0x38, 0x38, /* ### ### */ + 0x3F, 0xF8, /* ########### */ + 0x07, 0xC0, /* ##### */ + + /* @108 '*' (5 pixels wide) */ + 0x01, 0x20, /* # # */ + 0x00, 0xC0, /* ## */ + 0x03, 0xF0, /* ###### */ + 0x00, 0xC0, /* ## */ + 0x01, 0x20, /* # # */ + + /* @118 '+' (7 pixels wide) */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + + /* @132 ',' (3 pixels wide) */ + 0x40, 0x00, /* # */ + 0x38, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + + /* @138 '-' (4 pixels wide) */ + 0x06, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + + /* @146 '.' (2 pixels wide) */ + 0x18, 0x00, /* ## */ + 0x18, 0x00, /* ## */ + + /* @150 '/' (4 pixels wide) */ + 0x30, 0x00, /* ## */ + 0x1E, 0x00, /* #### */ + 0x01, 0xE0, /* #### */ + 0x00, 0x30, /* ## */ + + /* @158 '0' (7 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x10, /* # # */ + 0x18, 0x30, /* ## ## */ + 0x0F, 0xE0, /* ####### */ + 0x07, 0xC0, /* ##### */ + + /* @172 '1' (6 pixels wide) */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + + /* @184 '2' (7 pixels wide) */ + 0x10, 0x20, /* # # */ + 0x18, 0x10, /* ## # */ + 0x1C, 0x10, /* ### # */ + 0x16, 0x10, /* # ## # */ + 0x13, 0x10, /* # ## # */ + 0x11, 0xF0, /* # ##### */ + 0x10, 0xE0, /* # ### */ + + /* @198 '3' (7 pixels wide) */ + 0x08, 0x20, /* # # */ + 0x10, 0x10, /* # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x1F, 0xF0, /* ######### */ + 0x0E, 0xE0, /* ### ### */ + + /* @212 '4' (7 pixels wide) */ + 0x07, 0x00, /* ### */ + 0x05, 0x80, /* # ## */ + 0x04, 0x60, /* # ## */ + 0x04, 0x30, /* # ## */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x04, 0x00, /* # */ + + /* @226 '5' (7 pixels wide) */ + 0x10, 0xF0, /* # #### */ + 0x10, 0xF0, /* # #### */ + 0x10, 0x90, /* # # # */ + 0x10, 0x90, /* # # # */ + 0x19, 0x90, /* ## ## # */ + 0x1F, 0x90, /* ###### # */ + 0x0F, 0x00, /* #### */ + + /* @240 '6' (7 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x0F, 0xE0, /* ####### */ + 0x10, 0xB0, /* # # ## */ + 0x10, 0x90, /* # # # */ + 0x10, 0x90, /* # # # */ + 0x1F, 0x90, /* ###### # */ + 0x0F, 0x00, /* #### */ + + /* @254 '7' (7 pixels wide) */ + 0x00, 0x10, /* # */ + 0x10, 0x10, /* # # */ + 0x1C, 0x10, /* ### # */ + 0x0F, 0x10, /* #### # */ + 0x03, 0xD0, /* #### # */ + 0x00, 0xF0, /* #### */ + 0x00, 0x30, /* ## */ + + /* @268 '8' (7 pixels wide) */ + 0x0E, 0xE0, /* ### ### */ + 0x1E, 0xF0, /* #### #### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x1E, 0xF0, /* #### #### */ + 0x0E, 0xE0, /* ### ### */ + + /* @282 '9' (7 pixels wide) */ + 0x01, 0xE0, /* #### */ + 0x13, 0xF0, /* # ###### */ + 0x12, 0x10, /* # # # */ + 0x12, 0x10, /* # # # */ + 0x1A, 0x10, /* ## # # */ + 0x0F, 0xE0, /* ####### */ + 0x07, 0xC0, /* ##### */ + + /* @296 ':' (2 pixels wide) */ + 0x18, 0xC0, /* ## ## */ + 0x18, 0xC0, /* ## ## */ + + /* @300 ';' (3 pixels wide) */ + 0x40, 0x00, /* # */ + 0x38, 0xC0, /* ### ## */ + 0x18, 0xC0, /* ## ## */ + + /* @306 '<' (8 pixels wide) */ + 0x02, 0x00, /* # */ + 0x07, 0x00, /* ### */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x0D, 0x80, /* ## ## */ + 0x08, 0x80, /* # # */ + 0x08, 0x80, /* # # */ + 0x18, 0xC0, /* ## ## */ + + /* @322 '=' (8 pixels wide) */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + + /* @338 '>' (8 pixels wide) */ + 0x18, 0xC0, /* ## ## */ + 0x08, 0x80, /* # # */ + 0x08, 0x80, /* # # */ + 0x0D, 0x80, /* ## ## */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x07, 0x00, /* ### */ + 0x02, 0x00, /* # */ + + /* @354 '?' (5 pixels wide) */ + 0x00, 0x10, /* # */ + 0x1B, 0x10, /* ## ## # */ + 0x1B, 0x90, /* ## ### # */ + 0x00, 0xF0, /* #### */ + 0x00, 0x60, /* ## */ + + /* @364 '@' (10 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x10, 0x40, /* # # */ + 0x20, 0x20, /* # # */ + 0x47, 0x10, /* # ### # */ + 0x48, 0x90, /* # # # # */ + 0x48, 0x90, /* # # # # */ + 0x4F, 0x90, /* # ##### # */ + 0x68, 0x20, /* ## # # */ + 0x0C, 0x60, /* ## ## */ + 0x07, 0x80, /* #### */ + + /* @384 'A' (9 pixels wide) */ + 0x10, 0x00, /* # */ + 0x1E, 0x00, /* #### */ + 0x0F, 0xC0, /* ###### */ + 0x05, 0xF0, /* # ##### */ + 0x04, 0x30, /* # ## */ + 0x05, 0xF0, /* # ##### */ + 0x0F, 0xC0, /* ###### */ + 0x1E, 0x00, /* #### */ + 0x10, 0x00, /* # */ + + /* @402 'B' (7 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x1F, 0xF0, /* ######### */ + 0x0E, 0xE0, /* ### ### */ + + /* @416 'C' (7 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x18, 0x30, /* ## ## */ + + /* @430 'D' (8 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x18, 0x30, /* ## ## */ + 0x0F, 0xE0, /* ####### */ + 0x07, 0xC0, /* ##### */ + + /* @446 'E' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + + /* @458 'F' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + + /* @470 'G' (8 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x11, 0x10, /* # # # */ + 0x1F, 0x10, /* ##### # */ + 0x1F, 0x30, /* ##### ## */ + + /* @486 'H' (8 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + + /* @502 'I' (2 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + + /* @506 'J' (4 pixels wide) */ + 0x40, 0x00, /* # */ + 0x40, 0x00, /* # */ + 0x7F, 0xF0, /* ########### */ + 0x3F, 0xF0, /* ########## */ + + /* @514 'K' (8 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x00, /* # */ + 0x03, 0x80, /* ### */ + 0x06, 0xC0, /* ## ## */ + 0x0C, 0x60, /* ## ## */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x10, /* # # */ + + /* @530 'L' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + + /* @542 'M' (10 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x70, /* ### */ + 0x01, 0xC0, /* ### */ + 0x07, 0x00, /* ### */ + 0x07, 0x00, /* ### */ + 0x01, 0xC0, /* ### */ + 0x00, 0x70, /* ### */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + + /* @562 'N' (8 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x70, /* ### */ + 0x01, 0xC0, /* ### */ + 0x07, 0x00, /* ### */ + 0x1C, 0x00, /* ### */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + + /* @578 'O' (9 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x18, 0x30, /* ## ## */ + 0x0F, 0xE0, /* ####### */ + 0x07, 0xC0, /* ##### */ + + /* @596 'P' (7 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x02, 0x10, /* # # */ + 0x02, 0x10, /* # # */ + 0x02, 0x10, /* # # */ + 0x03, 0xF0, /* ###### */ + 0x01, 0xE0, /* #### */ + + /* @610 'Q' (9 pixels wide) */ + 0x07, 0xC0, /* ##### */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x30, 0x10, /* ## # */ + 0x78, 0x30, /* #### ## */ + 0x4F, 0xE0, /* # ####### */ + 0x07, 0xC0, /* ##### */ + + /* @628 'R' (8 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x03, 0x10, /* ## # */ + 0x0F, 0xF0, /* ######## */ + 0x1C, 0xE0, /* ### ### */ + 0x10, 0x00, /* # */ + + /* @644 'S' (7 pixels wide) */ + 0x18, 0xE0, /* ## ### */ + 0x11, 0xF0, /* # ##### */ + 0x11, 0x90, /* # ## # */ + 0x11, 0x90, /* # ## # */ + 0x13, 0x10, /* # ## # */ + 0x1F, 0x30, /* ##### ## */ + 0x0E, 0x00, /* ### */ + + /* @658 'T' (8 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + + /* @674 'U' (8 pixels wide) */ + 0x0F, 0xF0, /* ######## */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x0F, 0xF0, /* ######## */ + + /* @690 'V' (9 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0xF0, /* #### */ + 0x07, 0xE0, /* ###### */ + 0x1F, 0x00, /* ##### */ + 0x18, 0x00, /* ## */ + 0x1F, 0x00, /* ##### */ + 0x07, 0xE0, /* ###### */ + 0x00, 0xF0, /* #### */ + 0x00, 0x10, /* # */ + + /* @708 'W' (12 pixels wide) */ + 0x00, 0x30, /* ## */ + 0x03, 0xF0, /* ###### */ + 0x1F, 0xC0, /* ####### */ + 0x1E, 0x00, /* #### */ + 0x07, 0xC0, /* ##### */ + 0x00, 0xF0, /* #### */ + 0x00, 0xF0, /* #### */ + 0x07, 0xC0, /* ##### */ + 0x1E, 0x00, /* #### */ + 0x1F, 0xC0, /* ####### */ + 0x03, 0xF0, /* ###### */ + 0x00, 0x30, /* ## */ + + /* @732 'X' (9 pixels wide) */ + 0x10, 0x10, /* # # */ + 0x18, 0x30, /* ## ## */ + 0x0E, 0xE0, /* ### ### */ + 0x07, 0xC0, /* ##### */ + 0x01, 0x00, /* # */ + 0x07, 0xC0, /* ##### */ + 0x0E, 0xE0, /* ### ### */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x10, /* # # */ + + /* @750 'Y' (8 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0x70, /* ### */ + 0x00, 0xE0, /* ### */ + 0x1F, 0x80, /* ###### */ + 0x1F, 0x80, /* ###### */ + 0x00, 0xE0, /* ### */ + 0x00, 0x70, /* ### */ + 0x00, 0x10, /* # */ + + /* @766 'Z' (8 pixels wide) */ + 0x18, 0x10, /* ## # */ + 0x1C, 0x10, /* ### # */ + 0x16, 0x10, /* # ## # */ + 0x13, 0x10, /* # ## # */ + 0x11, 0x90, /* # ## # */ + 0x10, 0xD0, /* # ## # */ + 0x10, 0x70, /* # ### */ + 0x10, 0x30, /* # ## */ + + /* @782 '[' (4 pixels wide) */ + 0x3F, 0xF8, /* ########### */ + 0x3F, 0xF8, /* ########### */ + 0x20, 0x08, /* # # */ + 0x20, 0x08, /* # # */ + + /* @790 '\' (4 pixels wide) */ + 0x00, 0x30, /* ## */ + 0x01, 0xE0, /* #### */ + 0x1E, 0x00, /* #### */ + 0x30, 0x00, /* ## */ + + /* @798 ']' (4 pixels wide) */ + 0x20, 0x08, /* # # */ + 0x20, 0x08, /* # # */ + 0x3F, 0xF8, /* ########### */ + 0x3F, 0xF8, /* ########### */ + + /* @806 '^' (6 pixels wide) */ + 0x00, 0x40, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x30, /* ## */ + 0x00, 0x30, /* ## */ + 0x00, 0x20, /* # */ + 0x00, 0x40, /* # */ + + /* @818 '_' (6 pixels wide) */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + + /* @830 '`' (3 pixels wide) */ + 0x00, 0x08, /* # */ + 0x00, 0x18, /* ## */ + 0x00, 0x10, /* # */ + + /* @836 'a' (7 pixels wide) */ + 0x0C, 0x00, /* ## */ + 0x1E, 0x80, /* #### # */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x1A, 0x40, /* ## # # */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0x80, /* ###### */ + + /* @850 'b' (7 pixels wide) */ + 0x1F, 0xF8, /* ########## */ + 0x1F, 0xF8, /* ########## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x1F, 0xC0, /* ####### */ + 0x0F, 0x80, /* ##### */ + + /* @864 'c' (6 pixels wide) */ + 0x07, 0x00, /* ### */ + 0x0F, 0x80, /* ##### */ + 0x18, 0xC0, /* ## ## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x08, 0x80, /* # # */ + + /* @876 'd' (7 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x1F, 0xC0, /* ####### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x1F, 0xF8, /* ########## */ + 0x1F, 0xF8, /* ########## */ + + /* @890 'e' (7 pixels wide) */ + 0x07, 0x00, /* ### */ + 0x0F, 0x80, /* ##### */ + 0x1A, 0xC0, /* ## # ## */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x13, 0xC0, /* # #### */ + 0x0B, 0x00, /* # ## */ + + /* @904 'f' (5 pixels wide) */ + 0x00, 0x40, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF8, /* ########## */ + 0x00, 0x48, /* # # */ + 0x00, 0x48, /* # # */ + + /* @914 'g' (7 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x5F, 0xC0, /* # ####### */ + 0x90, 0xC0, /* # # ## */ + 0x90, 0x40, /* # # # */ + 0x90, 0x40, /* # # # */ + 0xFF, 0xC0, /* ########## */ + 0x7F, 0xC0, /* ######### */ + + /* @928 'h' (7 pixels wide) */ + 0x1F, 0xF8, /* ########## */ + 0x1F, 0xF8, /* ########## */ + 0x00, 0xC0, /* ## */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0x80, /* ###### */ + + /* @942 'i' (2 pixels wide) */ + 0x1F, 0xD8, /* ####### ## */ + 0x1F, 0xD8, /* ####### ## */ + + /* @946 'j' (3 pixels wide) */ + 0x80, 0x00, /* # */ + 0xFF, 0xD8, /* ########## ## */ + 0x7F, 0xD8, /* ######### ## */ + + /* @952 'k' (7 pixels wide) */ + 0x1F, 0xF8, /* ########## */ + 0x1F, 0xF8, /* ########## */ + 0x03, 0x00, /* ## */ + 0x07, 0x80, /* #### */ + 0x0C, 0xC0, /* ## ## */ + 0x18, 0x40, /* ## # */ + 0x10, 0x00, /* # */ + + /* @966 'l' (2 pixels wide) */ + 0x1F, 0xF8, /* ########## */ + 0x1F, 0xF8, /* ########## */ + + /* @970 'm' (10 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0x80, /* ###### */ + + /* @990 'n' (7 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0xC0, /* ## */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0x80, /* ###### */ + + /* @1004 'o' (7 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x1F, 0xC0, /* ####### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x1F, 0xC0, /* ####### */ + 0x0F, 0x80, /* ##### */ + + /* @1018 'p' (7 pixels wide) */ + 0xFF, 0xC0, /* ########## */ + 0xFF, 0xC0, /* ########## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x1F, 0xC0, /* ####### */ + 0x0F, 0x80, /* ##### */ + + /* @1032 'q' (7 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x1F, 0xC0, /* ####### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0xFF, 0xC0, /* ########## */ + 0xFF, 0xC0, /* ########## */ + + /* @1046 'r' (5 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0xC0, /* ## */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + + /* @1056 's' (6 pixels wide) */ + 0x09, 0x80, /* # ## */ + 0x13, 0xC0, /* # #### */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x1E, 0x40, /* #### # */ + 0x0C, 0x80, /* ## # */ + + /* @1068 't' (5 pixels wide) */ + 0x00, 0x40, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + + /* @1078 'u' (7 pixels wide) */ + 0x0F, 0xC0, /* ###### */ + 0x1F, 0xC0, /* ####### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x18, 0x00, /* ## */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0xC0, /* ####### */ + + /* @1092 'v' (7 pixels wide) */ + 0x00, 0xC0, /* ## */ + 0x07, 0xC0, /* ##### */ + 0x1F, 0x00, /* ##### */ + 0x18, 0x00, /* ## */ + 0x1F, 0x00, /* ##### */ + 0x07, 0xC0, /* ##### */ + 0x00, 0xC0, /* ## */ + + /* @1106 'w' (10 pixels wide) */ + 0x01, 0xC0, /* ### */ + 0x0F, 0xC0, /* ###### */ + 0x1C, 0x00, /* ### */ + 0x1F, 0x00, /* ##### */ + 0x03, 0xC0, /* #### */ + 0x03, 0xC0, /* #### */ + 0x1F, 0x00, /* ##### */ + 0x1C, 0x00, /* ### */ + 0x0F, 0xC0, /* ###### */ + 0x01, 0xC0, /* ### */ + + /* @1126 'x' (7 pixels wide) */ + 0x10, 0x40, /* # # */ + 0x18, 0xC0, /* ## ## */ + 0x0F, 0x80, /* ##### */ + 0x07, 0x00, /* ### */ + 0x0F, 0x80, /* ##### */ + 0x18, 0xC0, /* ## ## */ + 0x10, 0x40, /* # # */ + + /* @1140 'y' (7 pixels wide) */ + 0x00, 0xC0, /* ## */ + 0x83, 0xC0, /* # #### */ + 0xCF, 0x00, /* ## #### */ + 0x7C, 0x00, /* ##### */ + 0x3F, 0x00, /* ###### */ + 0x07, 0xC0, /* ##### */ + 0x00, 0xC0, /* ## */ + + /* @1154 'z' (6 pixels wide) */ + 0x18, 0x40, /* ## # */ + 0x1C, 0x40, /* ### # */ + 0x16, 0x40, /* # ## # */ + 0x13, 0x40, /* # ## # */ + 0x11, 0xC0, /* # ### */ + 0x10, 0xC0, /* # ## */ + + /* @1166 '{' (6 pixels wide) */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x3E, 0xF8, /* ##### ##### */ + 0x20, 0x08, /* # # */ + 0x20, 0x08, /* # # */ + + /* @1178 '|' (1 pixels wide) */ + 0xFF, 0xF0, /* ############ */ + + /* @1180 '}' (6 pixels wide) */ + 0x20, 0x08, /* # # */ + 0x20, 0x08, /* # # */ + 0x3E, 0xF8, /* ##### ##### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + + /* @1192 '~' (8 pixels wide) */ + 0x02, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x01, 0x00, /* # */ +}; + +/* Character descriptors for DejaVu Sans 9pt */ +/* { [Char width in bits], [Offset into dejaVuSansBold9ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO dejaVuSansBold9ptCharDescriptors[] = +{ + {5, 0}, /* */ + {2, 10}, /* ! */ + {3, 14}, /* " */ + {8, 20}, /* # */ + {7, 36}, /* $ */ + {11, 50}, /* % */ + {9, 72}, /* & */ + {1, 90}, /* ' */ + {4, 92}, /* ( */ + {4, 100}, /* ) */ + {5, 108}, /* * */ + {7, 118}, /* + */ + {3, 132}, /* , */ + {4, 138}, /* - */ + {2, 146}, /* . */ + {4, 150}, /* / */ + {7, 158}, /* 0 */ + {6, 172}, /* 1 */ + {7, 184}, /* 2 */ + {7, 198}, /* 3 */ + {7, 212}, /* 4 */ + {7, 226}, /* 5 */ + {7, 240}, /* 6 */ + {7, 254}, /* 7 */ + {7, 268}, /* 8 */ + {7, 282}, /* 9 */ + {2, 296}, /* : */ + {3, 300}, /* ; */ + {8, 306}, /* < */ + {8, 322}, /* = */ + {8, 338}, /* > */ + {5, 354}, /* ? */ + {10, 364}, /* @ */ + {9, 384}, /* A */ + {7, 402}, /* B */ + {7, 416}, /* C */ + {8, 430}, /* D */ + {6, 446}, /* E */ + {6, 458}, /* F */ + {8, 470}, /* G */ + {8, 486}, /* H */ + {2, 502}, /* I */ + {4, 506}, /* J */ + {8, 514}, /* K */ + {6, 530}, /* L */ + {10, 542}, /* M */ + {8, 562}, /* N */ + {9, 578}, /* O */ + {7, 596}, /* P */ + {9, 610}, /* Q */ + {8, 628}, /* R */ + {7, 644}, /* S */ + {8, 658}, /* T */ + {8, 674}, /* U */ + {9, 690}, /* V */ + {12, 708}, /* W */ + {9, 732}, /* X */ + {8, 750}, /* Y */ + {8, 766}, /* Z */ + {4, 782}, /* [ */ + {4, 790}, /* \ */ + {4, 798}, /* ] */ + {6, 806}, /* ^ */ + {6, 818}, /* _ */ + {3, 830}, /* ` */ + {7, 836}, /* a */ + {7, 850}, /* b */ + {6, 864}, /* c */ + {7, 876}, /* d */ + {7, 890}, /* e */ + {5, 904}, /* f */ + {7, 914}, /* g */ + {7, 928}, /* h */ + {2, 942}, /* i */ + {3, 946}, /* j */ + {7, 952}, /* k */ + {2, 966}, /* l */ + {10, 970}, /* m */ + {7, 990}, /* n */ + {7, 1004}, /* o */ + {7, 1018}, /* p */ + {7, 1032}, /* q */ + {5, 1046}, /* r */ + {6, 1056}, /* s */ + {5, 1068}, /* t */ + {7, 1078}, /* u */ + {7, 1092}, /* v */ + {10, 1106}, /* w */ + {7, 1126}, /* x */ + {7, 1140}, /* y */ + {6, 1154}, /* z */ + {6, 1166}, /* { */ + {1, 1178}, /* | */ + {6, 1180}, /* } */ + {8, 1192}, /* ~ */ +}; + +/* Font information for DejaVu Sans 9pt */ +const struct FONT_DEF Font_dejaVuBold9pt = {0,16,' ','~', + dejaVuSansBold9ptCharBitmaps, /* Character bitmap array */ + dejaVuSansBold9ptCharDescriptors, /* Character decriptor array */ +}; diff --git a/lcd/dejavusansbold9.h b/lcd/dejavusansbold9.h new file mode 100644 index 0000000..e5627be --- /dev/null +++ b/lcd/dejavusansbold9.h @@ -0,0 +1,8 @@ +#ifndef __DEJA_VU_SANS_BOLD_9__ +#define __DEJA_VU_SANS_BOLD_9__ + +#include "fonts.h" + +extern const struct FONT_DEF Font_dejaVuBold9pt; + +#endif diff --git a/lcd/dejavusanscondensed9.c b/lcd/dejavusanscondensed9.c new file mode 100644 index 0000000..e866a6a --- /dev/null +++ b/lcd/dejavusanscondensed9.c @@ -0,0 +1,771 @@ +#include "dejavusanscondensed9.h" + +/* +** Font data for DejaVu Sans Condensed 9pt +*/ + +/* Character bitmaps for DejaVu Sans Condensed 9pt */ +const uint8_t dejaVuSansCondensed9ptCharBitmaps[] = +{ + /* @0 ' ' (5 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @10 '!' (1 pixels wide) */ + 0x13, 0xF0, /* # ###### */ + + /* @12 '"' (3 pixels wide) */ + 0x00, 0xF0, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0xF0, /* #### */ + + /* @18 '#' (7 pixels wide) */ + 0x04, 0x80, /* # # */ + 0x1C, 0x80, /* ### # */ + 0x07, 0xE0, /* ###### */ + 0x14, 0x90, /* # # # # */ + 0x0F, 0x80, /* ##### */ + 0x04, 0xF0, /* # #### */ + 0x04, 0x80, /* # # */ + + /* @32 '$' (5 pixels wide) */ + 0x11, 0xC0, /* # ### */ + 0x11, 0x20, /* # # # */ + 0x7F, 0xF0, /* ########### */ + 0x12, 0x20, /* # # # */ + 0x0E, 0x40, /* ### # */ + + /* @42 '%' (9 pixels wide) */ + 0x01, 0xF0, /* ##### */ + 0x11, 0x10, /* # # # */ + 0x08, 0xF0, /* # #### */ + 0x06, 0x00, /* ## */ + 0x01, 0x80, /* ## */ + 0x0E, 0x60, /* ### ## */ + 0x11, 0x10, /* # # # */ + 0x12, 0x00, /* # # */ + 0x0C, 0x00, /* ## */ + + /* @60 '&' (7 pixels wide) */ + 0x0F, 0x00, /* #### */ + 0x10, 0xF0, /* # #### */ + 0x11, 0x10, /* # # # */ + 0x12, 0x10, /* # # # */ + 0x1C, 0x00, /* ### */ + 0x1E, 0x00, /* #### */ + 0x11, 0x00, /* # # */ + + /* @74 ''' (1 pixels wide) */ + 0x00, 0xF0, /* #### */ + + /* @76 '(' (2 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x60, 0x30, /* ## ## */ + + /* @80 ')' (2 pixels wide) */ + 0x60, 0x10, /* ## # */ + 0x1F, 0xE0, /* ######## */ + + /* @84 '*' (5 pixels wide) */ + 0x00, 0x20, /* # */ + 0x00, 0xC0, /* ## */ + 0x03, 0xF0, /* ###### */ + 0x00, 0xC0, /* ## */ + 0x01, 0x20, /* # # */ + + /* @94 '+' (7 pixels wide) */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + + /* @108 ',' (1 pixels wide) */ + 0x30, 0x00, /* ## */ + + /* @110 '-' (2 pixels wide) */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + + /* @114 '.' (1 pixels wide) */ + 0x10, 0x00, /* # */ + + /* @116 '/' (4 pixels wide) */ + 0x30, 0x00, /* ## */ + 0x0F, 0x00, /* #### */ + 0x00, 0xE0, /* ### */ + 0x00, 0x10, /* # */ + + /* @124 '0' (5 pixels wide) */ + 0x0F, 0xE0, /* ####### */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x30, /* # ## */ + 0x0F, 0xE0, /* ####### */ + + /* @134 '1' (5 pixels wide) */ + 0x10, 0x20, /* # # */ + 0x10, 0x10, /* # # */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + + /* @144 '2' (5 pixels wide) */ + 0x18, 0x30, /* ## ## */ + 0x1C, 0x10, /* ### # */ + 0x12, 0x10, /* # # # */ + 0x11, 0xB0, /* # ## ## */ + 0x10, 0xE0, /* # ### */ + + /* @154 '3' (5 pixels wide) */ + 0x10, 0x10, /* # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0xB0, /* # ## ## */ + 0x0E, 0xE0, /* ### ### */ + + /* @164 '4' (5 pixels wide) */ + 0x07, 0x00, /* ### */ + 0x04, 0xC0, /* # ## */ + 0x04, 0x20, /* # # */ + 0x1F, 0xF0, /* ######### */ + 0x04, 0x00, /* # */ + + /* @174 '5' (5 pixels wide) */ + 0x10, 0xF0, /* # #### */ + 0x10, 0x90, /* # # # */ + 0x10, 0x90, /* # # # */ + 0x19, 0x10, /* ## # # */ + 0x0F, 0x00, /* #### */ + + /* @184 '6' (5 pixels wide) */ + 0x0F, 0xC0, /* ###### */ + 0x11, 0x20, /* # # # */ + 0x10, 0x90, /* # # # */ + 0x10, 0x90, /* # # # */ + 0x0F, 0x10, /* #### # */ + + /* @194 '7' (5 pixels wide) */ + 0x00, 0x10, /* # */ + 0x10, 0x10, /* # # */ + 0x0E, 0x10, /* ### # */ + 0x01, 0xD0, /* ### # */ + 0x00, 0x30, /* ## */ + + /* @204 '8' (5 pixels wide) */ + 0x1E, 0xE0, /* #### ### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x0E, 0xE0, /* ### ### */ + + /* @214 '9' (5 pixels wide) */ + 0x11, 0xE0, /* # #### */ + 0x12, 0x10, /* # # # */ + 0x12, 0x10, /* # # # */ + 0x1B, 0x30, /* ## ## ## */ + 0x0F, 0xE0, /* ####### */ + + /* @224 ':' (1 pixels wide) */ + 0x10, 0x80, /* # # */ + + /* @226 ';' (1 pixels wide) */ + 0x30, 0x80, /* ## # */ + + /* @228 '<' (7 pixels wide) */ + 0x02, 0x00, /* # */ + 0x03, 0x00, /* ## */ + 0x05, 0x00, /* # # */ + 0x04, 0x80, /* # # */ + 0x04, 0x80, /* # # */ + 0x08, 0x80, /* # # */ + 0x08, 0x40, /* # # */ + + /* @242 '=' (7 pixels wide) */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + + /* @256 '>' (7 pixels wide) */ + 0x08, 0x40, /* # # */ + 0x08, 0x80, /* # # */ + 0x04, 0x80, /* # # */ + 0x04, 0x80, /* # # */ + 0x05, 0x00, /* # # */ + 0x03, 0x00, /* ## */ + 0x02, 0x00, /* # */ + + /* @270 '?' (4 pixels wide) */ + 0x00, 0x10, /* # */ + 0x17, 0x10, /* # ### # */ + 0x01, 0x90, /* ## # */ + 0x00, 0x60, /* ## */ + + /* @278 '@' (9 pixels wide) */ + 0x1F, 0x80, /* ###### */ + 0x20, 0x40, /* # # */ + 0x47, 0x20, /* # ### # */ + 0x48, 0xA0, /* # # # # */ + 0x50, 0xA0, /* # # # # */ + 0x49, 0x20, /* # # # # */ + 0x4F, 0xA0, /* # ##### # */ + 0x08, 0x40, /* # # */ + 0x07, 0x80, /* #### */ + + /* @296 'A' (7 pixels wide) */ + 0x10, 0x00, /* # */ + 0x0E, 0x00, /* ### */ + 0x05, 0xC0, /* # ### */ + 0x04, 0x30, /* # ## */ + 0x04, 0xE0, /* # ### */ + 0x07, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + + /* @310 'B' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x1B, 0xE0, /* ## ##### */ + 0x04, 0x00, /* # */ + + /* @322 'C' (6 pixels wide) */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x20, /* ## # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x20, /* # # */ + + /* @334 'D' (7 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x18, 0x20, /* ## # */ + 0x0C, 0xE0, /* ## ### */ + 0x03, 0x80, /* ### */ + + /* @348 'E' (5 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + + /* @358 'F' (5 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x00, 0x10, /* # */ + + /* @368 'G' (6 pixels wide) */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x20, /* ## # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x11, 0x10, /* # # # */ + 0x1F, 0x30, /* ##### ## */ + + /* @380 'H' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x1F, 0xF0, /* ######### */ + + /* @392 'I' (1 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + + /* @394 'J' (3 pixels wide) */ + 0x40, 0x00, /* # */ + 0x40, 0x00, /* # */ + 0x7F, 0xF0, /* ########### */ + + /* @400 'K' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x00, /* # */ + 0x02, 0x80, /* # # */ + 0x04, 0x60, /* # ## */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x10, /* # # */ + + /* @412 'L' (5 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + + /* @422 'M' (7 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x70, /* ### */ + 0x03, 0x80, /* ### */ + 0x04, 0x00, /* # */ + 0x03, 0x80, /* ### */ + 0x00, 0x60, /* ## */ + 0x1F, 0xF0, /* ######### */ + + /* @436 'N' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x70, /* ### */ + 0x01, 0xC0, /* ### */ + 0x07, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x1F, 0xF0, /* ######### */ + + /* @448 'O' (7 pixels wide) */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x20, /* ## # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x0C, 0x60, /* ## ## */ + 0x07, 0xC0, /* ##### */ + + /* @462 'P' (5 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x02, 0x10, /* # # */ + 0x02, 0x10, /* # # */ + 0x01, 0x30, /* # ## */ + 0x01, 0xE0, /* #### */ + + /* @472 'Q' (7 pixels wide) */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x20, /* ## # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x30, 0x10, /* ## # */ + 0x4C, 0x60, /* # ## ## */ + 0x07, 0xC0, /* ##### */ + + /* @486 'R' (6 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x03, 0x30, /* ## ## */ + 0x0E, 0xE0, /* ### ### */ + 0x18, 0x00, /* ## */ + + /* @498 'S' (5 pixels wide) */ + 0x10, 0xE0, /* # ### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x1E, 0x30, /* #### ## */ + + /* @508 'T' (7 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + + /* @522 'U' (6 pixels wide) */ + 0x0F, 0xF0, /* ######## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x18, 0x00, /* ## */ + 0x0F, 0xF0, /* ######## */ + + /* @534 'V' (7 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0xE0, /* ### */ + 0x07, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x0E, 0x00, /* ### */ + 0x01, 0xC0, /* ### */ + 0x00, 0x70, /* ### */ + + /* @548 'W' (10 pixels wide) */ + 0x00, 0x10, /* # */ + 0x01, 0xE0, /* #### */ + 0x1E, 0x00, /* #### */ + 0x1E, 0x00, /* #### */ + 0x01, 0xE0, /* #### */ + 0x00, 0x70, /* ### */ + 0x07, 0x80, /* #### */ + 0x18, 0x00, /* ## */ + 0x0F, 0x00, /* #### */ + 0x00, 0xF0, /* #### */ + + /* @568 'X' (6 pixels wide) */ + 0x18, 0x30, /* ## ## */ + 0x06, 0x60, /* ## ## */ + 0x03, 0x80, /* ### */ + 0x06, 0xC0, /* ## ## */ + 0x0C, 0x60, /* ## ## */ + 0x10, 0x10, /* # # */ + + /* @580 'Y' (6 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0x60, /* ## */ + 0x00, 0x80, /* # */ + 0x1F, 0x00, /* ##### */ + 0x00, 0xC0, /* ## */ + 0x00, 0x30, /* ## */ + + /* @592 'Z' (7 pixels wide) */ + 0x10, 0x00, /* # */ + 0x18, 0x10, /* ## # */ + 0x16, 0x10, /* # ## # */ + 0x13, 0x10, /* # ## # */ + 0x10, 0x90, /* # # # */ + 0x10, 0x70, /* # ### */ + 0x10, 0x30, /* # ## */ + + /* @606 '[' (2 pixels wide) */ + 0x7F, 0xF0, /* ########### */ + 0x40, 0x10, /* # # */ + + /* @610 '\' (3 pixels wide) */ + 0x00, 0x30, /* ## */ + 0x03, 0xC0, /* #### */ + 0x3C, 0x00, /* #### */ + + /* @616 ']' (2 pixels wide) */ + 0x40, 0x10, /* # # */ + 0x7F, 0xF0, /* ########### */ + + /* @620 '^' (7 pixels wide) */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x80, /* # */ + + /* @634 '_' (6 pixels wide) */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + + /* @646 '`' (2 pixels wide) */ + 0x00, 0x08, /* # */ + 0x00, 0x10, /* # */ + + /* @650 'a' (5 pixels wide) */ + 0x1E, 0x80, /* #### # */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x0A, 0x80, /* # # # */ + 0x1F, 0x00, /* ##### */ + + /* @660 'b' (5 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x80, /* # # */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x0F, 0x80, /* ##### */ + + /* @670 'c' (4 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x10, 0xC0, /* # ## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + + /* @678 'd' (5 pixels wide) */ + 0x1F, 0x80, /* ###### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x10, 0x80, /* # # */ + 0x1F, 0xF0, /* ######### */ + + /* @688 'e' (5 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x12, 0xC0, /* # # ## */ + 0x13, 0x80, /* # ### */ + + /* @698 'f' (4 pixels wide) */ + 0x00, 0x40, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x50, /* # # */ + 0x00, 0x50, /* # # */ + + /* @706 'g' (5 pixels wide) */ + 0x4F, 0x80, /* # ##### */ + 0x90, 0x40, /* # # # */ + 0x90, 0x40, /* # # # */ + 0x48, 0x80, /* # # # */ + 0x3F, 0xC0, /* ######## */ + + /* @716 'h' (5 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0xC0, /* ## */ + 0x1F, 0x80, /* ###### */ + + /* @726 'i' (1 pixels wide) */ + 0x1F, 0xD0, /* ####### # */ + + /* @728 'j' (2 pixels wide) */ + 0x80, 0x00, /* # */ + 0x7F, 0xD0, /* ######### # */ + + /* @732 'k' (5 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + 0x02, 0x00, /* # */ + 0x05, 0x00, /* # # */ + 0x18, 0x80, /* ## # */ + 0x10, 0x40, /* # # */ + + /* @742 'l' (1 pixels wide) */ + 0x1F, 0xF0, /* ######### */ + + /* @744 'm' (9 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0xC0, /* ## */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0xC0, /* ## */ + 0x1F, 0x00, /* ##### */ + + /* @762 'n' (5 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0xC0, /* ## */ + 0x1F, 0x80, /* ###### */ + + /* @772 'o' (5 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x10, 0x80, /* # # */ + 0x0F, 0x80, /* ##### */ + + /* @782 'p' (5 pixels wide) */ + 0xFF, 0xC0, /* ########## */ + 0x10, 0x80, /* # # */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x0F, 0x80, /* ##### */ + + /* @792 'q' (5 pixels wide) */ + 0x1F, 0x80, /* ###### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x10, 0x80, /* # # */ + 0xFF, 0xC0, /* ########## */ + + /* @802 'r' (3 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + + /* @808 's' (4 pixels wide) */ + 0x13, 0x80, /* # ### */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x1C, 0x80, /* ### # */ + + /* @816 't' (4 pixels wide) */ + 0x00, 0x40, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + + /* @824 'u' (5 pixels wide) */ + 0x1F, 0xC0, /* ####### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x1F, 0xC0, /* ####### */ + + /* @834 'v' (6 pixels wide) */ + 0x00, 0x40, /* # */ + 0x03, 0x80, /* ### */ + 0x1C, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x00, 0xC0, /* ## */ + + /* @846 'w' (8 pixels wide) */ + 0x00, 0x40, /* # */ + 0x07, 0x80, /* #### */ + 0x18, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x01, 0xC0, /* ### */ + 0x0E, 0x00, /* ### */ + 0x1C, 0x00, /* ### */ + 0x03, 0xC0, /* #### */ + + /* @862 'x' (5 pixels wide) */ + 0x18, 0xC0, /* ## ## */ + 0x05, 0x00, /* # # */ + 0x07, 0x00, /* ### */ + 0x09, 0x80, /* # ## */ + 0x10, 0x40, /* # # */ + + /* @872 'y' (6 pixels wide) */ + 0x00, 0x40, /* # */ + 0x83, 0x80, /* # ### */ + 0x6C, 0x00, /* ## ## */ + 0x38, 0x00, /* ### */ + 0x07, 0x00, /* ### */ + 0x00, 0xC0, /* ## */ + + /* @884 'z' (5 pixels wide) */ + 0x10, 0x00, /* # */ + 0x18, 0x40, /* ## # */ + 0x16, 0x40, /* # ## # */ + 0x13, 0x40, /* # ## # */ + 0x10, 0xC0, /* # ## */ + + /* @894 '{' (5 pixels wide) */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x7D, 0xF0, /* ##### ##### */ + 0x40, 0x10, /* # # */ + 0x40, 0x10, /* # # */ + + /* @904 '|' (1 pixels wide) */ + 0xFF, 0xF0, /* ############ */ + + /* @906 '}' (5 pixels wide) */ + 0x40, 0x10, /* # # */ + 0x40, 0x10, /* # # */ + 0x3D, 0xF0, /* #### ##### */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + + /* @916 '~' (7 pixels wide) */ + 0x02, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ +}; + +/* Character descriptors for DejaVu Sans Condensed 9pt */ +/* { [Char width in bits], [Offset into dejaVuSansCondensed9ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO dejaVuSansCondensed9ptCharDescriptors[] = +{ + {5, 0}, /* */ + {1, 10}, /* ! */ + {3, 12}, /* " */ + {7, 18}, /* # */ + {5, 32}, /* $ */ + {9, 42}, /* % */ + {7, 60}, /* & */ + {1, 74}, /* ' */ + {2, 76}, /* ( */ + {2, 80}, /* ) */ + {5, 84}, /* * */ + {7, 94}, /* + */ + {1, 108}, /* , */ + {2, 110}, /* - */ + {1, 114}, /* . */ + {4, 116}, /* / */ + {5, 124}, /* 0 */ + {5, 134}, /* 1 */ + {5, 144}, /* 2 */ + {5, 154}, /* 3 */ + {5, 164}, /* 4 */ + {5, 174}, /* 5 */ + {5, 184}, /* 6 */ + {5, 194}, /* 7 */ + {5, 204}, /* 8 */ + {5, 214}, /* 9 */ + {1, 224}, /* : */ + {1, 226}, /* ; */ + {7, 228}, /* < */ + {7, 242}, /* = */ + {7, 256}, /* > */ + {4, 270}, /* ? */ + {9, 278}, /* @ */ + {7, 296}, /* A */ + {6, 310}, /* B */ + {6, 322}, /* C */ + {7, 334}, /* D */ + {5, 348}, /* E */ + {5, 358}, /* F */ + {6, 368}, /* G */ + {6, 380}, /* H */ + {1, 392}, /* I */ + {3, 394}, /* J */ + {6, 400}, /* K */ + {5, 412}, /* L */ + {7, 422}, /* M */ + {6, 436}, /* N */ + {7, 448}, /* O */ + {5, 462}, /* P */ + {7, 472}, /* Q */ + {6, 486}, /* R */ + {5, 498}, /* S */ + {7, 508}, /* T */ + {6, 522}, /* U */ + {7, 534}, /* V */ + {10, 548}, /* W */ + {6, 568}, /* X */ + {6, 580}, /* Y */ + {7, 592}, /* Z */ + {2, 606}, /* [ */ + {3, 610}, /* \ */ + {2, 616}, /* ] */ + {7, 620}, /* ^ */ + {6, 634}, /* _ */ + {2, 646}, /* ` */ + {5, 650}, /* a */ + {5, 660}, /* b */ + {4, 670}, /* c */ + {5, 678}, /* d */ + {5, 688}, /* e */ + {4, 698}, /* f */ + {5, 706}, /* g */ + {5, 716}, /* h */ + {1, 726}, /* i */ + {2, 728}, /* j */ + {5, 732}, /* k */ + {1, 742}, /* l */ + {9, 744}, /* m */ + {5, 762}, /* n */ + {5, 772}, /* o */ + {5, 782}, /* p */ + {5, 792}, /* q */ + {3, 802}, /* r */ + {4, 808}, /* s */ + {4, 816}, /* t */ + {5, 824}, /* u */ + {6, 834}, /* v */ + {8, 846}, /* w */ + {5, 862}, /* x */ + {6, 872}, /* y */ + {5, 884}, /* z */ + {5, 894}, /* { */ + {1, 904}, /* | */ + {5, 906}, /* } */ + {7, 916}, /* ~ */ +}; + +/* Font information for DejaVu Sans Condensed 9pt */ +const struct FONT_DEF Font_dejaVuCondensed9pt = {0,16,' ','~', + dejaVuSansCondensed9ptCharBitmaps, /* Character bitmap array */ + dejaVuSansCondensed9ptCharDescriptors, /* Character decriptor array */ +}; diff --git a/lcd/dejavusanscondensed9.h b/lcd/dejavusanscondensed9.h new file mode 100644 index 0000000..32c750b --- /dev/null +++ b/lcd/dejavusanscondensed9.h @@ -0,0 +1,8 @@ +#ifndef __DEJA_VU_SANS_CONDENSED_9__ +#define __DEJA_VU_SANS_CONDENSED_9__ + +#include "fonts.h" + +extern const struct FONT_DEF Font_dejaVuCondensed9pt; + +#endif diff --git a/lcd/dejavusansmono8.c b/lcd/dejavusansmono8.c new file mode 100644 index 0000000..aff40d3 --- /dev/null +++ b/lcd/dejavusansmono8.c @@ -0,0 +1,1066 @@ +#include "dejavusansmono8.h" + +/* +** Font data for DejaVu Sans Mono 8pt +*/ + +/* Character bitmaps for DejaVu Sans Mono 8pt */ +const uint8_t dejaVuSansMono8ptCharBitmaps[] = +{ + /* @0 ' ' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @16 '!' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x17, 0xE0, /* # ###### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @32 '"' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0xE0, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0xE0, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @48 '#' (8 pixels wide) */ + 0x04, 0x00, /* # */ + 0x1C, 0x80, /* ### # */ + 0x07, 0xC0, /* ##### */ + 0x14, 0xA0, /* # # # # */ + 0x0F, 0x80, /* ##### */ + 0x04, 0xE0, /* # ### */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + + /* @64 '$' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x11, 0x80, /* # ## */ + 0x12, 0x40, /* # # # */ + 0x7F, 0xE0, /* ########## */ + 0x12, 0x40, /* # # # */ + 0x0C, 0x40, /* ## # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @80 '%' (8 pixels wide) */ + 0x04, 0xE0, /* # ### */ + 0x04, 0xA0, /* # # # */ + 0x02, 0xE0, /* # ### */ + 0x1D, 0x00, /* ### # */ + 0x15, 0x00, /* # # # */ + 0x1C, 0x80, /* ### # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @96 '&' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0E, 0x00, /* ### */ + 0x11, 0xE0, /* # #### */ + 0x13, 0x20, /* # ## # */ + 0x16, 0x20, /* # ## # */ + 0x18, 0x00, /* ## */ + 0x16, 0x00, /* # ## */ + 0x00, 0x00, /* */ + + /* @112 ''' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0xE0, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @128 '(' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x20, 0x10, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @144 ')' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x30, 0x30, /* ## ## */ + 0x0F, 0xC0, /* ###### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @160 '*' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x02, 0x40, /* # # */ + 0x01, 0x80, /* ## */ + 0x07, 0xE0, /* ###### */ + 0x01, 0x80, /* ## */ + 0x02, 0x40, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @176 '+' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x0F, 0x80, /* ##### */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @192 ',' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x00, /* # */ + 0x18, 0x00, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @208 '-' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @224 '.' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x18, 0x00, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @240 '/' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x20, 0x00, /* # */ + 0x18, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x00, 0xC0, /* ## */ + 0x00, 0x20, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @256 '0' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xC0, /* ###### */ + 0x18, 0x60, /* ## ## */ + 0x10, 0x20, /* # # */ + 0x11, 0x20, /* # # # */ + 0x18, 0x60, /* ## ## */ + 0x0F, 0xC0, /* ###### */ + 0x00, 0x00, /* */ + + /* @272 '1' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @288 '2' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x40, /* # # */ + 0x18, 0x20, /* ## # */ + 0x14, 0x20, /* # # # */ + 0x16, 0x20, /* # ## # */ + 0x13, 0x20, /* # ## # */ + 0x11, 0xC0, /* # ### */ + 0x00, 0x00, /* */ + + /* @304 '3' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x40, /* # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x13, 0x20, /* # ## # */ + 0x0E, 0xC0, /* ### ## */ + 0x00, 0x00, /* */ + + /* @320 '4' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x06, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x04, 0x80, /* # # */ + 0x04, 0x60, /* # ## */ + 0x1F, 0xE0, /* ######## */ + 0x04, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @336 '5' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x11, 0xE0, /* # #### */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x13, 0x20, /* # ## # */ + 0x0E, 0x00, /* ### */ + 0x00, 0x00, /* */ + + /* @352 '6' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x80, /* ##### */ + 0x12, 0x40, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x0E, 0x20, /* ### # */ + 0x00, 0x00, /* */ + + /* @368 '7' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x20, /* # */ + 0x10, 0x20, /* # # */ + 0x0C, 0x20, /* ## # */ + 0x03, 0x20, /* ## # */ + 0x00, 0xE0, /* ### */ + 0x00, 0x20, /* # */ + 0x00, 0x00, /* */ + + /* @384 '8' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0E, 0xC0, /* ### ## */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x0E, 0xC0, /* ### ## */ + 0x00, 0x00, /* */ + + /* @400 '9' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x11, 0xC0, /* # ### */ + 0x12, 0x20, /* # # # */ + 0x12, 0x20, /* # # # */ + 0x12, 0x20, /* # # # */ + 0x0A, 0x20, /* # # # */ + 0x07, 0xC0, /* ##### */ + 0x00, 0x00, /* */ + + /* @416 ':' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x19, 0x80, /* ## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @432 ';' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x00, /* # */ + 0x19, 0x80, /* ## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @448 '<' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x09, 0x00, /* # # */ + 0x08, 0x80, /* # # */ + 0x00, 0x00, /* */ + + /* @464 '=' (8 pixels wide) */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @480 '>' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x80, /* # # */ + 0x09, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @496 '?' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x20, /* # */ + 0x17, 0x20, /* # ### # */ + 0x01, 0xA0, /* ## # */ + 0x00, 0xE0, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @512 '@' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0x80, /* ###### */ + 0x30, 0x40, /* ## # */ + 0x46, 0x20, /* # ## # */ + 0x49, 0x20, /* # # # # */ + 0x49, 0x60, /* # # # ## */ + 0x0F, 0xC0, /* ###### */ + 0x00, 0x00, /* */ + + /* @528 'A' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x18, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x04, 0xE0, /* # ### */ + 0x04, 0xE0, /* # ### */ + 0x07, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x00, 0x00, /* */ + + /* @544 'B' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x0E, 0xC0, /* ### ## */ + 0x00, 0x00, /* */ + + /* @560 'C' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0x80, /* #### */ + 0x08, 0x40, /* # # */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x08, 0x40, /* # # */ + 0x00, 0x00, /* */ + + /* @576 'D' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x08, 0x40, /* # # */ + 0x07, 0x80, /* #### */ + 0x00, 0x00, /* */ + + /* @592 'E' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x00, 0x00, /* */ + + /* @608 'F' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x00, 0x00, /* */ + + /* @624 'G' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0x80, /* #### */ + 0x08, 0x40, /* # # */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x12, 0x20, /* # # # */ + 0x0E, 0x40, /* ### # */ + 0x00, 0x00, /* */ + + /* @640 'H' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x00, /* */ + + /* @656 'I' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @672 'J' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @688 'K' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x01, 0x00, /* # */ + 0x02, 0x80, /* # # */ + 0x04, 0x40, /* # # */ + 0x08, 0x20, /* # # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @704 'L' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @720 'M' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0xC0, /* ## */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x00, 0xC0, /* ## */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x00, /* */ + + /* @736 'N' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x40, /* # */ + 0x01, 0x80, /* ## */ + 0x06, 0x00, /* ## */ + 0x08, 0x00, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x00, /* */ + + /* @752 'O' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xC0, /* ###### */ + 0x18, 0x60, /* ## ## */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x18, 0x60, /* ## ## */ + 0x0F, 0xC0, /* ###### */ + 0x00, 0x00, /* */ + + /* @768 'P' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x01, 0xC0, /* ### */ + 0x00, 0x00, /* */ + + /* @784 'Q' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xC0, /* ###### */ + 0x18, 0x60, /* ## ## */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x38, 0x60, /* ### ## */ + 0x2F, 0xC0, /* # ###### */ + 0x00, 0x00, /* */ + + /* @800 'R' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x06, 0x20, /* ## # */ + 0x09, 0xC0, /* # ### */ + 0x10, 0x00, /* # */ + + /* @816 'S' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x09, 0xC0, /* # ### */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x12, 0x20, /* # # # */ + 0x0E, 0x40, /* ### # */ + 0x00, 0x00, /* */ + + /* @832 'T' (8 pixels wide) */ + 0x00, 0x20, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x20, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x20, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x00, /* */ + + /* @848 'U' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xE0, /* ####### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + + /* @864 'V' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x60, /* ## */ + 0x03, 0x80, /* ### */ + 0x1C, 0x00, /* ### */ + 0x1C, 0x00, /* ### */ + 0x03, 0x80, /* ### */ + 0x00, 0x60, /* ## */ + 0x00, 0x00, /* */ + + /* @880 'W' (8 pixels wide) */ + 0x01, 0xE0, /* #### */ + 0x1E, 0x00, /* #### */ + 0x07, 0x00, /* ### */ + 0x00, 0xC0, /* ## */ + 0x07, 0x00, /* ### */ + 0x1E, 0x00, /* #### */ + 0x01, 0xE0, /* #### */ + 0x00, 0x00, /* */ + + /* @896 'X' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x20, /* # # */ + 0x0C, 0xC0, /* ## ## */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x0C, 0xC0, /* ## ## */ + 0x10, 0x20, /* # # */ + 0x00, 0x00, /* */ + + /* @912 'Y' (8 pixels wide) */ + 0x00, 0x20, /* # */ + 0x00, 0x60, /* ## */ + 0x01, 0x80, /* ## */ + 0x1F, 0x00, /* ##### */ + 0x01, 0x80, /* ## */ + 0x00, 0x60, /* ## */ + 0x00, 0x20, /* # */ + 0x00, 0x00, /* */ + + /* @928 'Z' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x20, /* # # */ + 0x1C, 0x20, /* ### # */ + 0x16, 0x20, /* # ## # */ + 0x11, 0x20, /* # # # */ + 0x10, 0xE0, /* # ### */ + 0x10, 0x20, /* # # */ + 0x00, 0x00, /* */ + + /* @944 '[' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x3F, 0xF0, /* ########## */ + 0x20, 0x10, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @960 '\' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x20, /* # */ + 0x00, 0xC0, /* ## */ + 0x07, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x20, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @976 ']' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x10, /* # # */ + 0x3F, 0xF0, /* ########## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @992 '^' (8 pixels wide) */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1008 '_' (8 pixels wide) */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1024 '`' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1040 'a' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0C, 0x80, /* ## # */ + 0x12, 0x80, /* # # # */ + 0x12, 0x80, /* # # # */ + 0x12, 0x80, /* # # # */ + 0x1F, 0x00, /* ##### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1056 'b' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x0F, 0x00, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1072 'c' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x19, 0x80, /* ## ## */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1088 'd' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1104 'e' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x12, 0x80, /* # # # */ + 0x12, 0x80, /* # # # */ + 0x12, 0x80, /* # # # */ + 0x13, 0x00, /* # ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1120 'f' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x90, /* # # */ + 0x00, 0x90, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1136 'g' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x50, 0x80, /* # # # */ + 0x50, 0x80, /* # # # */ + 0x50, 0x80, /* # # # */ + 0x3F, 0x80, /* ####### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1152 'h' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x00, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x1F, 0x00, /* ##### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1168 'i' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x1F, 0x90, /* ###### # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1184 'j' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x40, 0x80, /* # # */ + 0x40, 0x80, /* # # */ + 0x3F, 0x90, /* ####### # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1200 'k' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x02, 0x00, /* # */ + 0x05, 0x00, /* # # */ + 0x08, 0x80, /* # # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1216 'l' (8 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x0F, 0xF0, /* ######## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1232 'm' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x80, /* # */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x80, /* # */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1248 'n' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0x80, /* ###### */ + 0x01, 0x00, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x1F, 0x00, /* ##### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1264 'o' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x0F, 0x00, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1280 'p' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x7F, 0x80, /* ######## */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x0F, 0x00, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1296 'q' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x7F, 0x80, /* ######## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1312 'r' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x01, 0x80, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1328 's' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x13, 0x00, /* # ## */ + 0x12, 0x80, /* # # # */ + 0x12, 0x80, /* # # # */ + 0x14, 0x80, /* # # # */ + 0x0C, 0x80, /* ## # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1344 't' (8 pixels wide) */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1360 'u' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x80, /* ##### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1376 'v' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0x80, /* ## */ + 0x0E, 0x00, /* ### */ + 0x10, 0x00, /* # */ + 0x0E, 0x00, /* ### */ + 0x01, 0x80, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1392 'w' (8 pixels wide) */ + 0x01, 0x80, /* ## */ + 0x06, 0x00, /* ## */ + 0x18, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x18, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x01, 0x80, /* ## */ + 0x00, 0x00, /* */ + + /* @1408 'x' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x80, /* # # */ + 0x19, 0x80, /* ## ## */ + 0x06, 0x00, /* ## */ + 0x19, 0x80, /* ## ## */ + 0x10, 0x80, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1424 'y' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x41, 0x80, /* # ## */ + 0x6E, 0x00, /* ## ### */ + 0x18, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1440 'z' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x80, /* # # */ + 0x1C, 0x80, /* ### # */ + 0x16, 0x80, /* # ## # */ + 0x13, 0x80, /* # ### */ + 0x10, 0x80, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1456 '{' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x3E, 0xF0, /* ##### #### */ + 0x20, 0x10, /* # # */ + 0x20, 0x10, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1472 '|' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x7F, 0xF0, /* ########### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1488 '}' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x20, 0x10, /* # # */ + 0x20, 0x10, /* # # */ + 0x3E, 0xF0, /* ##### #### */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1504 '~' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x04, 0x00, /* # */ + 0x04, 0x00, /* # */ + 0x04, 0x00, /* # */ + 0x00, 0x00, /* */ +}; + +/* Character descriptors for DejaVu Sans Mono 8pt */ +/* { [Char width in bits], [Offset into dejaVuSansMono8ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO dejaVuSansMono8ptCharDescriptors[] = +{ + {8, 0}, /* */ + {8, 16}, /* ! */ + {8, 32}, /* " */ + {8, 48}, /* # */ + {8, 64}, /* $ */ + {8, 80}, /* % */ + {8, 96}, /* & */ + {8, 112}, /* ' */ + {8, 128}, /* ( */ + {8, 144}, /* ) */ + {8, 160}, /* * */ + {8, 176}, /* + */ + {8, 192}, /* , */ + {8, 208}, /* - */ + {8, 224}, /* . */ + {8, 240}, /* / */ + {8, 256}, /* 0 */ + {8, 272}, /* 1 */ + {8, 288}, /* 2 */ + {8, 304}, /* 3 */ + {8, 320}, /* 4 */ + {8, 336}, /* 5 */ + {8, 352}, /* 6 */ + {8, 368}, /* 7 */ + {8, 384}, /* 8 */ + {8, 400}, /* 9 */ + {8, 416}, /* : */ + {8, 432}, /* ; */ + {8, 448}, /* < */ + {8, 464}, /* = */ + {8, 480}, /* > */ + {8, 496}, /* ? */ + {8, 512}, /* @ */ + {8, 528}, /* A */ + {8, 544}, /* B */ + {8, 560}, /* C */ + {8, 576}, /* D */ + {8, 592}, /* E */ + {8, 608}, /* F */ + {8, 624}, /* G */ + {8, 640}, /* H */ + {8, 656}, /* I */ + {8, 672}, /* J */ + {8, 688}, /* K */ + {8, 704}, /* L */ + {8, 720}, /* M */ + {8, 736}, /* N */ + {8, 752}, /* O */ + {8, 768}, /* P */ + {8, 784}, /* Q */ + {8, 800}, /* R */ + {8, 816}, /* S */ + {8, 832}, /* T */ + {8, 848}, /* U */ + {8, 864}, /* V */ + {8, 880}, /* W */ + {8, 896}, /* X */ + {8, 912}, /* Y */ + {8, 928}, /* Z */ + {8, 944}, /* [ */ + {8, 960}, /* \ */ + {8, 976}, /* ] */ + {8, 992}, /* ^ */ + {8, 1008}, /* _ */ + {8, 1024}, /* ` */ + {8, 1040}, /* a */ + {8, 1056}, /* b */ + {8, 1072}, /* c */ + {8, 1088}, /* d */ + {8, 1104}, /* e */ + {8, 1120}, /* f */ + {8, 1136}, /* g */ + {8, 1152}, /* h */ + {8, 1168}, /* i */ + {8, 1184}, /* j */ + {8, 1200}, /* k */ + {8, 1216}, /* l */ + {8, 1232}, /* m */ + {8, 1248}, /* n */ + {8, 1264}, /* o */ + {8, 1280}, /* p */ + {8, 1296}, /* q */ + {8, 1312}, /* r */ + {8, 1328}, /* s */ + {8, 1344}, /* t */ + {8, 1360}, /* u */ + {8, 1376}, /* v */ + {8, 1392}, /* w */ + {8, 1408}, /* x */ + {8, 1424}, /* y */ + {8, 1440}, /* z */ + {8, 1456}, /* { */ + {8, 1472}, /* | */ + {8, 1488}, /* } */ + {8, 1504}, /* ~ */ +}; + +/* Font information for DejaVu Sans Mono 8pt */ +const struct FONT_DEF Font_dejaVuMono8pt = {8,16,' ','~', + dejaVuSansMono8ptCharBitmaps, /* Character bitmap array */ + dejaVuSansMono8ptCharDescriptors, /* Character decriptor array */ +}; diff --git a/lcd/dejavusansmono8.h b/lcd/dejavusansmono8.h new file mode 100644 index 0000000..11072a9 --- /dev/null +++ b/lcd/dejavusansmono8.h @@ -0,0 +1,8 @@ +#ifndef __DEJA_VU_SANS_MONO_8__ +#define __DEJA_VU_SANS_MONO_8__ + +#include "fonts.h" + +extern const struct FONT_DEF Font_dejaVuMono8pt; + +#endif diff --git a/lcd/dejavusansmonobold8.c b/lcd/dejavusansmonobold8.c new file mode 100644 index 0000000..6dae564 --- /dev/null +++ b/lcd/dejavusansmonobold8.c @@ -0,0 +1,1066 @@ +#include "dejavusansmonobold8.h" + +/* +** Font data for DejaVu Sans Mono Bold 8pt +*/ + +/* Character bitmaps for DejaVu Sans Mono Bold 8pt */ +const uint8_t dejaVuSansMonoBold8ptCharBitmaps[] = +{ + /* @0 ' ' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @16 '!' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x1B, 0xE0, /* ## ##### */ + 0x1B, 0xE0, /* ## ##### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @32 '"' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0xE0, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0xE0, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @48 '#' (8 pixels wide) */ + 0x04, 0x00, /* # */ + 0x1C, 0x80, /* ### # */ + 0x07, 0xC0, /* ##### */ + 0x1C, 0xE0, /* ### ### */ + 0x0F, 0x80, /* ##### */ + 0x04, 0xE0, /* # ### */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + + /* @64 '$' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x09, 0x80, /* # ## */ + 0x13, 0x40, /* # ## # */ + 0x7F, 0xE0, /* ########## */ + 0x13, 0x40, /* # ## # */ + 0x0E, 0x00, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @80 '%' (8 pixels wide) */ + 0x04, 0xE0, /* # ### */ + 0x04, 0xA0, /* # # # */ + 0x02, 0xE0, /* # ### */ + 0x1D, 0x00, /* ### # */ + 0x15, 0x00, /* # # # */ + 0x1C, 0x80, /* ### # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @96 '&' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0E, 0x00, /* ### */ + 0x1E, 0xE0, /* #### ### */ + 0x13, 0xE0, /* # ##### */ + 0x1E, 0x20, /* #### # */ + 0x18, 0x00, /* ## */ + 0x1E, 0x00, /* #### */ + 0x00, 0x00, /* */ + + /* @112 ''' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0xE0, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @128 '(' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x07, 0x80, /* #### */ + 0x1F, 0xE0, /* ######## */ + 0x30, 0x30, /* ## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @144 ')' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x30, 0x30, /* ## ## */ + 0x1F, 0xE0, /* ######## */ + 0x07, 0x80, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @160 '*' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x02, 0x40, /* # # */ + 0x01, 0x80, /* ## */ + 0x07, 0xE0, /* ###### */ + 0x01, 0x80, /* ## */ + 0x02, 0x40, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @176 '+' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x0F, 0x80, /* ##### */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @192 ',' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x40, 0x00, /* # */ + 0x38, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @208 '-' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x06, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @224 '.' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x18, 0x00, /* ## */ + 0x18, 0x00, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @240 '/' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x20, 0x00, /* # */ + 0x18, 0x00, /* ## */ + 0x07, 0x00, /* ### */ + 0x00, 0xC0, /* ## */ + 0x00, 0x20, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @256 '0' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xC0, /* ###### */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x20, /* # # */ + 0x11, 0x20, /* # # # */ + 0x1F, 0xE0, /* ######## */ + 0x0F, 0xC0, /* ###### */ + 0x00, 0x00, /* */ + + /* @272 '1' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @288 '2' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x20, /* # # */ + 0x18, 0x20, /* ## # */ + 0x14, 0x20, /* # # # */ + 0x13, 0x20, /* # ## # */ + 0x11, 0xE0, /* # #### */ + 0x10, 0xC0, /* # ## */ + 0x00, 0x00, /* */ + + /* @304 '3' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x20, /* # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x1E, 0xE0, /* #### ### */ + 0x0E, 0xC0, /* ### ## */ + 0x00, 0x00, /* */ + + /* @320 '4' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x06, 0x00, /* ## */ + 0x05, 0x80, /* # ## */ + 0x04, 0xC0, /* # ## */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x04, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @336 '5' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x11, 0xE0, /* # #### */ + 0x11, 0xE0, /* # #### */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x1F, 0x20, /* ##### # */ + 0x0E, 0x20, /* ### # */ + 0x00, 0x00, /* */ + + /* @352 '6' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x80, /* ##### */ + 0x1F, 0xE0, /* ######## */ + 0x11, 0x60, /* # # ## */ + 0x11, 0x20, /* # # # */ + 0x1F, 0x20, /* ##### # */ + 0x0E, 0x00, /* ### */ + 0x00, 0x00, /* */ + + /* @368 '7' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x20, /* # */ + 0x10, 0x20, /* # # */ + 0x1E, 0x20, /* #### # */ + 0x0F, 0xA0, /* ##### # */ + 0x03, 0xE0, /* ##### */ + 0x00, 0x60, /* ## */ + 0x00, 0x00, /* */ + + /* @384 '8' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0E, 0xC0, /* ### ## */ + 0x1E, 0xE0, /* #### ### */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x1E, 0xE0, /* #### ### */ + 0x0E, 0xC0, /* ### ## */ + 0x00, 0x00, /* */ + + /* @400 '9' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0xC0, /* ### */ + 0x13, 0xE0, /* # ##### */ + 0x12, 0x20, /* # # # */ + 0x1A, 0x20, /* ## # # */ + 0x1F, 0xE0, /* ######## */ + 0x0F, 0xC0, /* ###### */ + 0x00, 0x00, /* */ + + /* @416 ':' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x19, 0x80, /* ## ## */ + 0x19, 0x80, /* ## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @432 ';' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x40, 0x00, /* # */ + 0x39, 0x80, /* ### ## */ + 0x19, 0x80, /* ## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @448 '<' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x06, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x0F, 0x00, /* #### */ + 0x09, 0x00, /* # # */ + 0x09, 0x00, /* # # */ + 0x19, 0x80, /* ## ## */ + 0x00, 0x00, /* */ + + /* @464 '=' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x00, 0x00, /* */ + + /* @480 '>' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x19, 0x80, /* ## ## */ + 0x09, 0x00, /* # # */ + 0x09, 0x00, /* # # */ + 0x0F, 0x00, /* #### */ + 0x06, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x00, 0x00, /* */ + + /* @496 '?' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x40, /* # */ + 0x1B, 0x20, /* ## ## # */ + 0x1A, 0xE0, /* ## # ### */ + 0x00, 0xE0, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @512 '@' (8 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x10, 0x40, /* # # */ + 0x27, 0x20, /* # ### # */ + 0x28, 0xA0, /* # # # # */ + 0x28, 0xA0, /* # # # # */ + 0x3F, 0xC0, /* ######## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @528 'A' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x18, 0x00, /* ## */ + 0x1F, 0x80, /* ###### */ + 0x05, 0xE0, /* # #### */ + 0x05, 0xE0, /* # #### */ + 0x1F, 0x80, /* ###### */ + 0x18, 0x00, /* ## */ + 0x00, 0x00, /* */ + + /* @544 'B' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x1E, 0xE0, /* #### ### */ + 0x0E, 0xC0, /* ### ## */ + 0x00, 0x00, /* */ + + /* @560 'C' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0x80, /* #### */ + 0x0F, 0xC0, /* ###### */ + 0x18, 0x60, /* ## ## */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x08, 0x40, /* # # */ + 0x00, 0x00, /* */ + + /* @576 'D' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x1F, 0xE0, /* ######## */ + 0x0F, 0xC0, /* ###### */ + 0x00, 0x00, /* */ + + /* @592 'E' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x11, 0x20, /* # # # */ + 0x10, 0x20, /* # # */ + 0x00, 0x00, /* */ + + /* @608 'F' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x00, 0x20, /* # */ + 0x00, 0x00, /* */ + + /* @624 'G' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0x80, /* #### */ + 0x0F, 0xC0, /* ###### */ + 0x18, 0x60, /* ## ## */ + 0x12, 0x20, /* # # # */ + 0x1E, 0x20, /* #### # */ + 0x1E, 0x40, /* #### # */ + 0x00, 0x00, /* */ + + /* @640 'H' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x00, /* */ + + /* @656 'I' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x00, 0x00, /* */ + + /* @672 'J' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x1F, 0xE0, /* ######## */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + + /* @688 'K' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x03, 0x00, /* ## */ + 0x07, 0xC0, /* ##### */ + 0x1C, 0x60, /* ### ## */ + 0x18, 0x20, /* ## # */ + 0x00, 0x00, /* */ + + /* @704 'L' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @720 'M' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xC0, /* ####### */ + 0x03, 0x80, /* ### */ + 0x03, 0x80, /* ### */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x00, /* */ + + /* @736 'N' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x01, 0xC0, /* ### */ + 0x0E, 0x00, /* ### */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x00, /* */ + + /* @752 'O' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xC0, /* ###### */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x1F, 0xE0, /* ######## */ + 0x0F, 0xC0, /* ###### */ + 0x00, 0x00, /* */ + + /* @768 'P' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x03, 0xE0, /* ##### */ + 0x01, 0xC0, /* ### */ + 0x00, 0x00, /* */ + + /* @784 'Q' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xC0, /* ###### */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x20, /* # # */ + 0x10, 0x20, /* # # */ + 0x3F, 0xE0, /* ######### */ + 0x0F, 0xC0, /* ###### */ + 0x00, 0x00, /* */ + + /* @800 'R' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x0D, 0xE0, /* ## #### */ + 0x19, 0xC0, /* ## ### */ + 0x10, 0x00, /* # */ + + /* @816 'S' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x09, 0xC0, /* # ### */ + 0x11, 0xE0, /* # #### */ + 0x13, 0x20, /* # ## # */ + 0x13, 0x20, /* # ## # */ + 0x1E, 0x20, /* #### # */ + 0x0E, 0x40, /* ### # */ + 0x00, 0x00, /* */ + + /* @832 'T' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x20, /* # */ + 0x00, 0x20, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x00, 0x20, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0x00, /* */ + + /* @848 'U' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xE0, /* ####### */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + + /* @864 'V' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x60, /* ## */ + 0x07, 0xE0, /* ###### */ + 0x1E, 0x00, /* #### */ + 0x1E, 0x00, /* #### */ + 0x07, 0xE0, /* ###### */ + 0x00, 0x60, /* ## */ + 0x00, 0x00, /* */ + + /* @880 'W' (8 pixels wide) */ + 0x01, 0xE0, /* #### */ + 0x1F, 0xE0, /* ######## */ + 0x1E, 0x00, /* #### */ + 0x01, 0x80, /* ## */ + 0x1E, 0x00, /* #### */ + 0x1F, 0xE0, /* ######## */ + 0x01, 0xE0, /* #### */ + 0x00, 0x00, /* */ + + /* @896 'X' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x20, /* # # */ + 0x1C, 0xE0, /* ### ### */ + 0x07, 0x80, /* #### */ + 0x07, 0x80, /* #### */ + 0x1C, 0xE0, /* ### ### */ + 0x10, 0x20, /* # # */ + 0x00, 0x00, /* */ + + /* @912 'Y' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x20, /* # */ + 0x01, 0xE0, /* #### */ + 0x1F, 0x80, /* ###### */ + 0x1F, 0x80, /* ###### */ + 0x01, 0xE0, /* #### */ + 0x00, 0x20, /* # */ + 0x00, 0x00, /* */ + + /* @928 'Z' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x18, 0x20, /* ## # */ + 0x1C, 0x20, /* ### # */ + 0x17, 0x20, /* # ### # */ + 0x11, 0xA0, /* # ## # */ + 0x10, 0xE0, /* # ### */ + 0x10, 0x60, /* # ## */ + 0x00, 0x00, /* */ + + /* @944 '[' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x3F, 0xF0, /* ########## */ + 0x3F, 0xF0, /* ########## */ + 0x20, 0x10, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @960 '\' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x20, /* # */ + 0x00, 0xC0, /* ## */ + 0x07, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x20, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @976 ']' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x10, /* # # */ + 0x3F, 0xF0, /* ########## */ + 0x3F, 0xF0, /* ########## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @992 '^' (8 pixels wide) */ + 0x00, 0x80, /* # */ + 0x00, 0xC0, /* ## */ + 0x00, 0x60, /* ## */ + 0x00, 0x60, /* ## */ + 0x00, 0xC0, /* ## */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1008 '_' (8 pixels wide) */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1024 '`' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x00, 0x30, /* ## */ + 0x00, 0x20, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1040 'a' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0C, 0x00, /* ## */ + 0x1E, 0x80, /* #### # */ + 0x12, 0x80, /* # # # */ + 0x12, 0x80, /* # # # */ + 0x1F, 0x80, /* ###### */ + 0x1F, 0x00, /* ##### */ + 0x00, 0x00, /* */ + + /* @1056 'b' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x1F, 0x80, /* ###### */ + 0x0F, 0x00, /* #### */ + 0x00, 0x00, /* */ + + /* @1072 'c' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x1F, 0x80, /* ###### */ + 0x19, 0x80, /* ## ## */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x00, 0x00, /* */ + + /* @1088 'd' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x1F, 0x80, /* ###### */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x00, /* */ + + /* @1104 'e' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x1F, 0x80, /* ###### */ + 0x12, 0x80, /* # # # */ + 0x12, 0x80, /* # # # */ + 0x13, 0x80, /* # ### */ + 0x13, 0x00, /* # ## */ + 0x00, 0x00, /* */ + + /* @1120 'f' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x80, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x90, /* # # */ + 0x00, 0x90, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1136 'g' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x5F, 0x80, /* # ###### */ + 0x50, 0x80, /* # # # */ + 0x50, 0x80, /* # # # */ + 0x7F, 0x80, /* ######## */ + 0x3F, 0x80, /* ####### */ + 0x00, 0x00, /* */ + + /* @1152 'h' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x1F, 0x80, /* ###### */ + 0x1F, 0x00, /* ##### */ + 0x00, 0x00, /* */ + + /* @1168 'i' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x1F, 0xB0, /* ###### ## */ + 0x1F, 0xB0, /* ###### ## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1184 'j' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x40, 0x80, /* # # */ + 0x40, 0x80, /* # # */ + 0x7F, 0xB0, /* ######## ## */ + 0x3F, 0xB0, /* ####### ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1200 'k' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x02, 0x00, /* # */ + 0x0F, 0x80, /* ##### */ + 0x18, 0x80, /* ## # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1216 'l' (8 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x0F, 0xF0, /* ######## */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1232 'm' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0x80, /* ###### */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x80, /* # */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x80, /* # */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x00, /* */ + + /* @1248 'n' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0x80, /* ###### */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x1F, 0x80, /* ###### */ + 0x1F, 0x00, /* ##### */ + 0x00, 0x00, /* */ + + /* @1264 'o' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x1F, 0x80, /* ###### */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x1F, 0x80, /* ###### */ + 0x0F, 0x00, /* #### */ + 0x00, 0x00, /* */ + + /* @1280 'p' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x7F, 0x80, /* ######## */ + 0x7F, 0x80, /* ######## */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x1F, 0x80, /* ###### */ + 0x0F, 0x00, /* #### */ + 0x00, 0x00, /* */ + + /* @1296 'q' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x00, /* #### */ + 0x1F, 0x80, /* ###### */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x7F, 0x80, /* ######## */ + 0x7F, 0x80, /* ######## */ + 0x00, 0x00, /* */ + + /* @1312 'r' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x1F, 0x80, /* ###### */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + + /* @1328 's' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0B, 0x00, /* # ## */ + 0x13, 0x80, /* # ### */ + 0x16, 0x80, /* # ## # */ + 0x16, 0x80, /* # ## # */ + 0x1C, 0x80, /* ### # */ + 0x0D, 0x00, /* ## # */ + 0x00, 0x00, /* */ + + /* @1344 't' (8 pixels wide) */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xE0, /* ######## */ + 0x10, 0x80, /* # # */ + 0x10, 0x80, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1360 'u' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x80, /* ##### */ + 0x1F, 0x80, /* ###### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x1F, 0x80, /* ###### */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x00, /* */ + + /* @1376 'v' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0x80, /* ## */ + 0x0F, 0x80, /* ##### */ + 0x1C, 0x00, /* ### */ + 0x1C, 0x00, /* ### */ + 0x0F, 0x80, /* ##### */ + 0x01, 0x80, /* ## */ + 0x00, 0x00, /* */ + + /* @1392 'w' (8 pixels wide) */ + 0x01, 0x80, /* ## */ + 0x1F, 0x80, /* ###### */ + 0x1C, 0x00, /* ### */ + 0x02, 0x00, /* # */ + 0x1C, 0x00, /* ### */ + 0x1F, 0x80, /* ###### */ + 0x01, 0x80, /* ## */ + 0x00, 0x00, /* */ + + /* @1408 'x' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x80, /* # # */ + 0x19, 0x80, /* ## ## */ + 0x0F, 0x00, /* #### */ + 0x0F, 0x00, /* #### */ + 0x19, 0x80, /* ## ## */ + 0x10, 0x80, /* # # */ + 0x00, 0x00, /* */ + + /* @1424 'y' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x40, 0x80, /* # # */ + 0x47, 0x80, /* # #### */ + 0x7C, 0x00, /* ##### */ + 0x1E, 0x00, /* #### */ + 0x07, 0x80, /* #### */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + + /* @1440 'z' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x18, 0x80, /* ## # */ + 0x1C, 0x80, /* ### # */ + 0x14, 0x80, /* # # # */ + 0x12, 0x80, /* # # # */ + 0x13, 0x80, /* # ### */ + 0x11, 0x80, /* # ## */ + 0x00, 0x00, /* */ + + /* @1456 '{' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x3D, 0xF0, /* #### ##### */ + 0x3D, 0xF0, /* #### ##### */ + 0x20, 0x10, /* # # */ + 0x20, 0x10, /* # # */ + 0x00, 0x00, /* */ + + /* @1472 '|' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x7F, 0xF0, /* ########### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1488 '}' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x20, 0x10, /* # # */ + 0x20, 0x10, /* # # */ + 0x3D, 0xF0, /* #### ##### */ + 0x3D, 0xF0, /* #### ##### */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1504 '~' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x04, 0x00, /* # */ + 0x04, 0x00, /* # */ + 0x04, 0x00, /* # */ + 0x00, 0x00, /* */ +}; + +/* Character descriptors for DejaVu Sans Mono 8pt */ +/* { [Char width in bits], [Offset into dejaVuSansMonoBold8ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO dejaVuSansMonoBold8ptCharDescriptors[] = +{ + {8, 0}, /* */ + {8, 16}, /* ! */ + {8, 32}, /* " */ + {8, 48}, /* # */ + {8, 64}, /* $ */ + {8, 80}, /* % */ + {8, 96}, /* & */ + {8, 112}, /* ' */ + {8, 128}, /* ( */ + {8, 144}, /* ) */ + {8, 160}, /* * */ + {8, 176}, /* + */ + {8, 192}, /* , */ + {8, 208}, /* - */ + {8, 224}, /* . */ + {8, 240}, /* / */ + {8, 256}, /* 0 */ + {8, 272}, /* 1 */ + {8, 288}, /* 2 */ + {8, 304}, /* 3 */ + {8, 320}, /* 4 */ + {8, 336}, /* 5 */ + {8, 352}, /* 6 */ + {8, 368}, /* 7 */ + {8, 384}, /* 8 */ + {8, 400}, /* 9 */ + {8, 416}, /* : */ + {8, 432}, /* ; */ + {8, 448}, /* < */ + {8, 464}, /* = */ + {8, 480}, /* > */ + {8, 496}, /* ? */ + {8, 512}, /* @ */ + {8, 528}, /* A */ + {8, 544}, /* B */ + {8, 560}, /* C */ + {8, 576}, /* D */ + {8, 592}, /* E */ + {8, 608}, /* F */ + {8, 624}, /* G */ + {8, 640}, /* H */ + {8, 656}, /* I */ + {8, 672}, /* J */ + {8, 688}, /* K */ + {8, 704}, /* L */ + {8, 720}, /* M */ + {8, 736}, /* N */ + {8, 752}, /* O */ + {8, 768}, /* P */ + {8, 784}, /* Q */ + {8, 800}, /* R */ + {8, 816}, /* S */ + {8, 832}, /* T */ + {8, 848}, /* U */ + {8, 864}, /* V */ + {8, 880}, /* W */ + {8, 896}, /* X */ + {8, 912}, /* Y */ + {8, 928}, /* Z */ + {8, 944}, /* [ */ + {8, 960}, /* \ */ + {8, 976}, /* ] */ + {8, 992}, /* ^ */ + {8, 1008}, /* _ */ + {8, 1024}, /* ` */ + {8, 1040}, /* a */ + {8, 1056}, /* b */ + {8, 1072}, /* c */ + {8, 1088}, /* d */ + {8, 1104}, /* e */ + {8, 1120}, /* f */ + {8, 1136}, /* g */ + {8, 1152}, /* h */ + {8, 1168}, /* i */ + {8, 1184}, /* j */ + {8, 1200}, /* k */ + {8, 1216}, /* l */ + {8, 1232}, /* m */ + {8, 1248}, /* n */ + {8, 1264}, /* o */ + {8, 1280}, /* p */ + {8, 1296}, /* q */ + {8, 1312}, /* r */ + {8, 1328}, /* s */ + {8, 1344}, /* t */ + {8, 1360}, /* u */ + {8, 1376}, /* v */ + {8, 1392}, /* w */ + {8, 1408}, /* x */ + {8, 1424}, /* y */ + {8, 1440}, /* z */ + {8, 1456}, /* { */ + {8, 1472}, /* | */ + {8, 1488}, /* } */ + {8, 1504}, /* ~ */ +}; + +/* Font information for DejaVu Sans Mono 8pt */ +const struct FONT_DEF Font_dejaVuMonoBold8pt = {8,16,' ','~', + dejaVuSansMonoBold8ptCharBitmaps, /* Character bitmap array */ + dejaVuSansMonoBold8ptCharDescriptors, /* Character decriptor array */ +}; diff --git a/lcd/dejavusansmonobold8.h b/lcd/dejavusansmonobold8.h new file mode 100644 index 0000000..81922aa --- /dev/null +++ b/lcd/dejavusansmonobold8.h @@ -0,0 +1,8 @@ +#ifndef __DEJA_VU_SANS_MONO_BOLD_8__ +#define __DEJA_VU_SANS_MONO_BOLD_8__ + +#include "fonts.h" + +extern const struct FONT_DEF Font_dejaVuMonoBold8pt; + +#endif diff --git a/lcd/fonts.h b/lcd/fonts.h index c347b9b..6d281d9 100644 --- a/lcd/fonts.h +++ b/lcd/fonts.h @@ -9,7 +9,7 @@ typedef struct { const uint8_t widthBits; // width, in bits (or pixels), of the character const uint16_t offset; // offset of the character's bitmap, in bytes, - // into the the FONT_INFO's data array + // into the the struct FONT_DEF's data array } FONT_CHAR_INFO; diff --git a/lcd/render.c b/lcd/render.c index 13f7b3e..3ad9692 100644 --- a/lcd/render.c +++ b/lcd/render.c @@ -7,54 +7,84 @@ const struct FONT_DEF * font = NULL; char font_direction = FONT_DIR_LTR; /* Exported Functions */ + int DoChar(int sx, int sy, char c){ + int x; + int y; + + /* "real" coordinates. Our physical display is upside down */ int rx=RESX-sx-1; int ry=RESY-sy-font->u8Height; - + + /* how many bytes is it high? */ + char height=(font->u8Height-1)/8+1; + + /* Does this font provide this character? */ if(cu8FirstChar || c>font->u8LastChar) c=font->u8FirstChar+1; // error - int off; - int x; + /* starting offset into character source data */ + int off,width; + if(font->u8Width==0){ + off=font->charInfo[c-font->u8FirstChar].offset; + width=font->charInfo[c-font->u8FirstChar].widthBits; +// width=(font->charInfo[c-font->u8FirstChar].offset-off)/8; + }else{ + off=(c-font->u8FirstChar)*font->u8Width*height; + width=font->u8Width; + }; + + /* raw character data */ int byte; + unsigned char mask; + + /* print forward or backward? */ int dmul=0; if(font_direction==FONT_DIR_RTL) dmul=1; else if (font_direction==FONT_DIR_LTR) dmul=-1; - off=(c-font->u8FirstChar)*font->u8Width; + + /* break down the position on byte boundaries */ char yidx=ry/8; - if(0 && sy%8==0){ - for(x=0;xu8Width;x++){ - buffer[(sx+x)+yidx*96]=font->au8FontTable[off+x]; + char yoff=ry%8; + + /* multiple 8-bit-lines */ + for(y=0;y<=height;y++){ + mask=255; // XXX: Fixme + if(y==0){ + mask=mask>>(yoff); + } else if(y==height){ + if(font->u8Height==6) + mask=252; + if(font->u8Height==10) + mask=192; + if(font->u8Height==16) + mask=255; + mask=mask<<(8-yoff); }; - }else{ - char yoff=ry%8; - unsigned char mask; - if(font->u8Height == 6) - mask=255-3; - else - mask=255; if(font_direction==FONT_DIR_LTR) flip(mask); for(x=0;xu8Width;x++){ - byte=font->au8FontTable[off+x]; + unsigned char b1,b2; + if(y==0) + b1=0; + else + b1=font->au8FontTable[off+x*height+y-1]; + if(y==height) + b2=0; + else + b2=font->au8FontTable[off+x*height+y]; + + byte= (b1<<(8-yoff)) | (b2>>yoff); if(font_direction==FONT_DIR_LTR) flip(byte); -#ifdef SANITY -if(rx+x <0 || rx+x > RESX) - gpioSetValue (CFG_LED_PORT, CFG_LED_PIN, CFG_LED_ON); -if(yidx<0 || yidx> RESY/8) // Gah. non-integer height. XXX fixme - gpioSetValue (CFG_LED_PORT, CFG_LED_PIN, CFG_LED_ON); -#endif - buffer[(rx+dmul*x)+yidx*96]&=~((mask)<>(8-yoff)); - buffer[(rx+dmul*x)+(yidx+1)*96]|=byte>>(8-yoff); + buffer[(rx+dmul*x)+(yidx+y)*RESX]&=~mask; + buffer[(rx+dmul*x)+(yidx+y)*RESX]|=byte; }; }; return sx-dmul*x; diff --git a/lcd/veramono11.c b/lcd/veramono11.c new file mode 100644 index 0000000..0160721 --- /dev/null +++ b/lcd/veramono11.c @@ -0,0 +1,1161 @@ +#include "veramono11.h" + +/* +** Font data for Bitstream Vera Sans Mono 11pt +*/ + +/* Character bitmaps for Bitstream Vera Sans Mono 11pt */ +const uint8_t bitstreamVeraSansMono11ptCharBitmaps[] = +{ + /* @0 ' ' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @18 '!' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x0C, 0xFE, /* ## ####### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @36 '"' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x1E, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x1E, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @54 '#' (9 pixels wide) */ + 0x01, 0x00, /* # */ + 0x09, 0x10, /* # # # */ + 0x07, 0xD0, /* ##### # */ + 0x01, 0x7C, /* # ##### */ + 0x0D, 0x16, /* ## # # ## */ + 0x07, 0xD0, /* ##### # */ + 0x01, 0x7C, /* # ##### */ + 0x01, 0x16, /* # # ## */ + 0x00, 0x10, /* # */ + + /* @72 '$' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x38, /* # ### */ + 0x08, 0x4C, /* # # ## */ + 0x08, 0x44, /* # # # */ + 0x3F, 0xFF, /* ############## */ + 0x08, 0x84, /* # # # */ + 0x08, 0x84, /* # # # */ + 0x07, 0x08, /* ### # */ + 0x00, 0x00, /* */ + + /* @90 '%' (9 pixels wide) */ + 0x00, 0x1C, /* ### */ + 0x00, 0xA2, /* # # # */ + 0x00, 0xA2, /* # # # */ + 0x00, 0x62, /* ## # */ + 0x07, 0x5C, /* ### # ### */ + 0x08, 0xC0, /* # ## */ + 0x08, 0xA0, /* # # # */ + 0x08, 0xA0, /* # # # */ + 0x07, 0x00, /* ### */ + + /* @108 '&' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x04, 0x7C, /* # ##### */ + 0x08, 0x32, /* # ## # */ + 0x08, 0x62, /* # ## # */ + 0x09, 0x82, /* # ## # */ + 0x07, 0x02, /* ### # */ + 0x09, 0xC0, /* # ### */ + 0x00, 0x00, /* */ + + /* @126 ''' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x1E, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @144 '(' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x07, 0xF0, /* ####### */ + 0x18, 0x0C, /* ## ## */ + 0x20, 0x02, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @162 ')' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x02, /* # # */ + 0x18, 0x0C, /* ## ## */ + 0x07, 0xF0, /* ####### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @180 '*' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x24, /* # # */ + 0x00, 0x28, /* # # */ + 0x00, 0x18, /* ## */ + 0x00, 0x7E, /* ###### */ + 0x00, 0x18, /* ## */ + 0x00, 0x28, /* # # */ + 0x00, 0x24, /* # # */ + 0x00, 0x00, /* */ + + /* @198 '+' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x07, 0xF0, /* ####### */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + + /* @216 ',' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x00, /* # */ + 0x1C, 0x00, /* ### */ + 0x0C, 0x00, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @234 '-' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @252 '.' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x0C, 0x00, /* ## */ + 0x0C, 0x00, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @270 '/' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x00, /* # */ + 0x0C, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x00, 0xC0, /* ## */ + 0x00, 0x30, /* ## */ + 0x00, 0x0C, /* ## */ + 0x00, 0x02, /* # */ + 0x00, 0x00, /* */ + + /* @288 '0' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xF8, /* ####### */ + 0x04, 0x04, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x62, /* # ## # */ + 0x08, 0x62, /* # ## # */ + 0x04, 0x04, /* # # */ + 0x03, 0xF8, /* ####### */ + 0x00, 0x00, /* */ + + /* @306 '1' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x08, 0x04, /* # # */ + 0x08, 0x02, /* # # */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @324 '2' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x0C, /* # ## */ + 0x0C, 0x06, /* ## ## */ + 0x0A, 0x02, /* # # # */ + 0x09, 0x02, /* # # # */ + 0x08, 0x82, /* # # # */ + 0x08, 0x44, /* # # # */ + 0x08, 0x3C, /* # #### */ + 0x00, 0x00, /* */ + + /* @342 '3' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x04, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x0C, 0xA4, /* ## # # # */ + 0x07, 0xBC, /* #### #### */ + 0x00, 0x00, /* */ + + /* @360 '4' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0x80, /* ## */ + 0x01, 0x60, /* # ## */ + 0x01, 0x30, /* # ## */ + 0x01, 0x0C, /* # ## */ + 0x01, 0x06, /* # ## */ + 0x0F, 0xFE, /* ########### */ + 0x01, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @378 '5' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x7E, /* # ###### */ + 0x08, 0x22, /* # # # */ + 0x08, 0x22, /* # # # */ + 0x08, 0x22, /* # # # */ + 0x08, 0x22, /* # # # */ + 0x04, 0x42, /* # # # */ + 0x03, 0x80, /* ### */ + 0x00, 0x00, /* */ + + /* @396 '6' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xF0, /* ###### */ + 0x04, 0x4C, /* # # ## */ + 0x08, 0x26, /* # # ## */ + 0x08, 0x22, /* # # # */ + 0x08, 0x22, /* # # # */ + 0x0C, 0x62, /* ## ## # */ + 0x07, 0xC4, /* ##### # */ + 0x00, 0x00, /* */ + + /* @414 '7' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x02, /* # */ + 0x08, 0x02, /* # # */ + 0x06, 0x02, /* ## # */ + 0x01, 0x82, /* ## # */ + 0x00, 0x62, /* ## # */ + 0x00, 0x1E, /* #### */ + 0x00, 0x06, /* ## */ + 0x00, 0x00, /* */ + + /* @432 '8' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xBC, /* #### #### */ + 0x0C, 0xA6, /* ## # # ## */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x0C, 0xA6, /* ## # # ## */ + 0x07, 0xBC, /* #### #### */ + 0x00, 0x00, /* */ + + /* @450 '9' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x7C, /* # ##### */ + 0x08, 0xC6, /* # ## ## */ + 0x08, 0x82, /* # # # */ + 0x08, 0x82, /* # # # */ + 0x0C, 0x82, /* ## # # */ + 0x06, 0x44, /* ## # # */ + 0x01, 0xF8, /* ###### */ + 0x00, 0x00, /* */ + + /* @468 ':' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x0C, 0x30, /* ## ## */ + 0x0C, 0x30, /* ## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @486 ';' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x00, /* # */ + 0x1C, 0x30, /* ### ## */ + 0x0C, 0x30, /* ## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @504 '<' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x80, /* # */ + 0x01, 0xC0, /* ### */ + 0x01, 0x40, /* # # */ + 0x01, 0x40, /* # # */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x04, 0x10, /* # # */ + + /* @522 '=' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + 0x01, 0x20, /* # # */ + + /* @540 '>' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x10, /* # # */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x01, 0x40, /* # # */ + 0x01, 0x40, /* # # */ + 0x01, 0xC0, /* ### */ + 0x00, 0x80, /* # */ + + /* @558 '?' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x04, /* # */ + 0x00, 0x02, /* # */ + 0x0D, 0xC2, /* ## ### # */ + 0x00, 0x42, /* # # */ + 0x00, 0x22, /* # # */ + 0x00, 0x1C, /* ### */ + 0x00, 0x00, /* */ + + /* @576 '@' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xE0, /* ###### */ + 0x18, 0x18, /* ## ## */ + 0x10, 0x0C, /* # ## */ + 0x23, 0xC4, /* # #### # */ + 0x24, 0x24, /* # # # # */ + 0x24, 0x2C, /* # # # ## */ + 0x07, 0xF8, /* ######## */ + 0x00, 0x00, /* */ + + /* @594 'A' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0C, 0x00, /* ## */ + 0x03, 0xC0, /* #### */ + 0x01, 0x3C, /* # #### */ + 0x01, 0x02, /* # # */ + 0x01, 0x3C, /* # #### */ + 0x03, 0xC0, /* #### */ + 0x0C, 0x00, /* ## */ + 0x00, 0x00, /* */ + + /* @612 'B' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x0C, 0xE6, /* ## ### ## */ + 0x07, 0xBC, /* #### #### */ + 0x00, 0x00, /* */ + + /* @630 'C' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0xF0, /* ##### */ + 0x06, 0x0C, /* ## ## */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x04, 0x04, /* # # */ + 0x00, 0x00, /* */ + + /* @648 'D' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x0C, 0x06, /* ## ## */ + 0x06, 0x0C, /* ## ## */ + 0x01, 0xF0, /* ##### */ + 0x00, 0x00, /* */ + + /* @666 'E' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x00, 0x00, /* */ + + /* @684 'F' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0x00, /* */ + + /* @702 'G' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0xF0, /* ##### */ + 0x06, 0x0C, /* ## ## */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x07, 0xC4, /* ##### # */ + 0x00, 0x00, /* */ + + /* @720 'H' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x00, /* */ + + /* @738 'I' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @756 'J' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x0C, 0x02, /* ## # */ + 0x07, 0xFE, /* ########## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @774 'K' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x40, /* # */ + 0x00, 0x20, /* # */ + 0x00, 0xD0, /* ## # */ + 0x01, 0x08, /* # # */ + 0x06, 0x04, /* ## # */ + 0x08, 0x02, /* # # */ + 0x00, 0x00, /* */ + + /* @792 'L' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @810 'M' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x0E, /* ### */ + 0x00, 0x70, /* ### */ + 0x00, 0x80, /* # */ + 0x00, 0x70, /* ### */ + 0x00, 0x0E, /* ### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x00, /* */ + + /* @828 'N' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x06, /* ## */ + 0x00, 0x18, /* ## */ + 0x00, 0xE0, /* ### */ + 0x03, 0x00, /* ## */ + 0x0C, 0x00, /* ## */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x00, /* */ + + /* @846 'O' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xF8, /* ####### */ + 0x04, 0x04, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x04, 0x04, /* # # */ + 0x03, 0xF8, /* ####### */ + 0x00, 0x00, /* */ + + /* @864 'P' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x82, /* # # */ + 0x00, 0x82, /* # # */ + 0x00, 0x82, /* # # */ + 0x00, 0x82, /* # # */ + 0x00, 0xC6, /* ## ## */ + 0x00, 0x7C, /* ##### */ + 0x00, 0x00, /* */ + + /* @882 'Q' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xF8, /* ####### */ + 0x04, 0x04, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x18, 0x02, /* ## # */ + 0x3C, 0x04, /* #### # */ + 0x03, 0xF8, /* ####### */ + 0x00, 0x00, /* */ + + /* @900 'R' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0xA6, /* # # ## */ + 0x07, 0x3C, /* ### #### */ + 0x08, 0x00, /* # */ + + /* @918 'S' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x3C, /* # #### */ + 0x0C, 0x24, /* ## # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x0C, 0x86, /* ## # ## */ + 0x07, 0x84, /* #### # */ + 0x00, 0x00, /* */ + + /* @936 'T' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x00, 0x00, /* */ + + /* @954 'U' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xFE, /* ########## */ + 0x0C, 0x00, /* ## */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x0C, 0x00, /* ## */ + 0x07, 0xFE, /* ########## */ + 0x00, 0x00, /* */ + + /* @972 'V' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x06, /* ## */ + 0x00, 0x78, /* #### */ + 0x07, 0x80, /* #### */ + 0x08, 0x00, /* # */ + 0x07, 0x80, /* #### */ + 0x00, 0x78, /* #### */ + 0x00, 0x06, /* ## */ + 0x00, 0x00, /* */ + + /* @990 'W' (9 pixels wide) */ + 0x00, 0x0E, /* ### */ + 0x03, 0xF0, /* ###### */ + 0x0C, 0x00, /* ## */ + 0x03, 0xE0, /* ##### */ + 0x00, 0x10, /* # */ + 0x03, 0xE0, /* ##### */ + 0x0C, 0x00, /* ## */ + 0x03, 0xF0, /* ###### */ + 0x00, 0x0E, /* ### */ + + /* @1008 'X' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x02, /* # # */ + 0x06, 0x0C, /* ## ## */ + 0x01, 0xB0, /* ## ## */ + 0x00, 0x40, /* # */ + 0x01, 0xB0, /* ## ## */ + 0x06, 0x0C, /* ## ## */ + 0x08, 0x02, /* # # */ + 0x00, 0x00, /* */ + + /* @1026 'Y' (9 pixels wide) */ + 0x00, 0x02, /* # */ + 0x00, 0x06, /* ## */ + 0x00, 0x18, /* ## */ + 0x00, 0x30, /* ## */ + 0x0F, 0xC0, /* ###### */ + 0x00, 0x20, /* # */ + 0x00, 0x18, /* ## */ + 0x00, 0x06, /* ## */ + 0x00, 0x02, /* # */ + + /* @1044 'Z' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0C, 0x02, /* ## # */ + 0x0A, 0x02, /* # # # */ + 0x09, 0x82, /* # ## # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x32, /* # ## # */ + 0x08, 0x0A, /* # # # */ + 0x08, 0x06, /* # ## */ + 0x00, 0x00, /* */ + + /* @1062 '[' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x3F, 0xFE, /* ############# */ + 0x20, 0x02, /* # # */ + 0x20, 0x02, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1080 '\' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x02, /* # */ + 0x00, 0x0C, /* ## */ + 0x00, 0x30, /* ## */ + 0x00, 0xC0, /* ## */ + 0x03, 0x00, /* ## */ + 0x0C, 0x00, /* ## */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1098 ']' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x02, /* # # */ + 0x20, 0x02, /* # # */ + 0x3F, 0xFE, /* ############# */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1116 '^' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x00, 0x18, /* ## */ + 0x00, 0x0C, /* ## */ + 0x00, 0x06, /* ## */ + 0x00, 0x06, /* ## */ + 0x00, 0x0C, /* ## */ + 0x00, 0x18, /* ## */ + 0x00, 0x10, /* # */ + + /* @1134 '_' (9 pixels wide) */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1152 '`' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x01, /* # */ + 0x00, 0x03, /* ## */ + 0x00, 0x06, /* ## */ + 0x00, 0x04, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1170 'a' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0x00, /* ### */ + 0x09, 0xA0, /* # ## # */ + 0x08, 0x90, /* # # # */ + 0x08, 0x90, /* # # # */ + 0x08, 0x90, /* # # # */ + 0x04, 0x90, /* # # # */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + + /* @1188 'b' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x04, 0x20, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x04, 0x20, /* # # */ + 0x03, 0xC0, /* #### */ + 0x00, 0x00, /* */ + + /* @1206 'c' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x04, 0x20, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x04, 0x20, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1224 'd' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x04, 0x20, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x04, 0x20, /* # # */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x00, /* */ + + /* @1242 'e' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x05, 0x20, /* # # # */ + 0x09, 0x10, /* # # # */ + 0x09, 0x10, /* # # # */ + 0x09, 0x10, /* # # # */ + 0x09, 0x20, /* # # # */ + 0x05, 0xC0, /* # ### */ + 0x00, 0x00, /* */ + + /* @1260 'f' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x0F, 0xFC, /* ########## */ + 0x00, 0x12, /* # # */ + 0x00, 0x12, /* # # */ + 0x00, 0x12, /* # # */ + 0x00, 0x00, /* */ + + /* @1278 'g' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x24, 0x20, /* # # # */ + 0x48, 0x10, /* # # # */ + 0x48, 0x10, /* # # # */ + 0x48, 0x10, /* # # # */ + 0x64, 0x20, /* ## # # */ + 0x3F, 0xF0, /* ########## */ + 0x00, 0x00, /* */ + + /* @1296 'h' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x20, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x30, /* ## */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + + /* @1314 'i' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x00, /* # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x0F, 0xF6, /* ######## ## */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1332 'j' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x40, 0x00, /* # */ + 0x40, 0x10, /* # # */ + 0x40, 0x10, /* # # */ + 0x3F, 0xF6, /* ########## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1350 'k' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x80, /* # */ + 0x00, 0xC0, /* ## */ + 0x01, 0x20, /* # # */ + 0x02, 0x20, /* # # */ + 0x04, 0x10, /* # # */ + 0x08, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1368 'l' (9 pixels wide) */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x07, 0xFE, /* ########## */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1386 'm' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + + /* @1404 'n' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x20, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x30, /* ## */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + + /* @1422 'o' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x04, 0x20, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x04, 0x20, /* # # */ + 0x03, 0xC0, /* #### */ + 0x00, 0x00, /* */ + + /* @1440 'p' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x7F, 0xF0, /* ########### */ + 0x04, 0x20, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x04, 0x20, /* # # */ + 0x03, 0xC0, /* #### */ + 0x00, 0x00, /* */ + + /* @1458 'q' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x04, 0x20, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x04, 0x20, /* # # */ + 0x7F, 0xF0, /* ########### */ + 0x00, 0x00, /* */ + + /* @1476 'r' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x20, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x20, /* # */ + + /* @1494 's' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0xE0, /* # ### */ + 0x08, 0x90, /* # # # */ + 0x08, 0x90, /* # # # */ + 0x08, 0x90, /* # # # */ + 0x09, 0x10, /* # # # */ + 0x09, 0x10, /* # # # */ + 0x07, 0x20, /* ### # */ + 0x00, 0x00, /* */ + + /* @1512 't' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x07, 0xFC, /* ######### */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1530 'u' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xF0, /* ####### */ + 0x0C, 0x00, /* ## */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x04, 0x00, /* # */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x00, /* */ + + /* @1548 'v' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x00, 0xE0, /* ### */ + 0x07, 0x00, /* ### */ + 0x08, 0x00, /* # */ + 0x07, 0x00, /* ### */ + 0x00, 0xE0, /* ### */ + 0x00, 0x10, /* # */ + 0x00, 0x00, /* */ + + /* @1566 'w' (9 pixels wide) */ + 0x00, 0x30, /* ## */ + 0x03, 0xC0, /* #### */ + 0x0C, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x00, 0xC0, /* ## */ + 0x03, 0x00, /* ## */ + 0x0C, 0x00, /* ## */ + 0x03, 0xC0, /* #### */ + 0x00, 0x30, /* ## */ + + /* @1584 'x' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x10, /* # # */ + 0x0C, 0x30, /* ## ## */ + 0x02, 0x40, /* # # */ + 0x01, 0x80, /* ## */ + 0x02, 0x40, /* # # */ + 0x0C, 0x30, /* ## ## */ + 0x08, 0x10, /* # # */ + 0x00, 0x00, /* */ + + /* @1602 'y' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x40, 0xE0, /* # ### */ + 0x43, 0x00, /* # ## */ + 0x3C, 0x00, /* #### */ + 0x07, 0x00, /* ### */ + 0x00, 0xE0, /* ### */ + 0x00, 0x10, /* # */ + 0x00, 0x00, /* */ + + /* @1620 'z' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0C, 0x10, /* ## # */ + 0x0A, 0x10, /* # # # */ + 0x09, 0x10, /* # # # */ + 0x09, 0x10, /* # # # */ + 0x08, 0x90, /* # # # */ + 0x08, 0x50, /* # # # */ + 0x08, 0x30, /* # ## */ + 0x00, 0x00, /* */ + + /* @1638 '{' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x3F, 0x7C, /* ###### ##### */ + 0x40, 0x02, /* # # */ + 0x40, 0x02, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1656 '|' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0xFF, 0xFE, /* ############### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1674 '}' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x40, 0x02, /* # # */ + 0x40, 0x02, /* # # */ + 0x3F, 0x7C, /* ###### ##### */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1692 '~' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x80, /* # */ + 0x00, 0x40, /* # */ +}; + +/* Character descriptors for Bitstream Vera Sans Mono 11pt */ +/* { [Char width in bits], [Offset into bitstreamVeraSansMono11ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO bitstreamVeraSansMono11ptCharDescriptors[] = +{ + {9, 0}, /* */ + {9, 18}, /* ! */ + {9, 36}, /* " */ + {9, 54}, /* # */ + {9, 72}, /* $ */ + {9, 90}, /* % */ + {9, 108}, /* & */ + {9, 126}, /* ' */ + {9, 144}, /* ( */ + {9, 162}, /* ) */ + {9, 180}, /* * */ + {9, 198}, /* + */ + {9, 216}, /* , */ + {9, 234}, /* - */ + {9, 252}, /* . */ + {9, 270}, /* / */ + {9, 288}, /* 0 */ + {9, 306}, /* 1 */ + {9, 324}, /* 2 */ + {9, 342}, /* 3 */ + {9, 360}, /* 4 */ + {9, 378}, /* 5 */ + {9, 396}, /* 6 */ + {9, 414}, /* 7 */ + {9, 432}, /* 8 */ + {9, 450}, /* 9 */ + {9, 468}, /* : */ + {9, 486}, /* ; */ + {9, 504}, /* < */ + {9, 522}, /* = */ + {9, 540}, /* > */ + {9, 558}, /* ? */ + {9, 576}, /* @ */ + {9, 594}, /* A */ + {9, 612}, /* B */ + {9, 630}, /* C */ + {9, 648}, /* D */ + {9, 666}, /* E */ + {9, 684}, /* F */ + {9, 702}, /* G */ + {9, 720}, /* H */ + {9, 738}, /* I */ + {9, 756}, /* J */ + {9, 774}, /* K */ + {9, 792}, /* L */ + {9, 810}, /* M */ + {9, 828}, /* N */ + {9, 846}, /* O */ + {9, 864}, /* P */ + {9, 882}, /* Q */ + {9, 900}, /* R */ + {9, 918}, /* S */ + {9, 936}, /* T */ + {9, 954}, /* U */ + {9, 972}, /* V */ + {9, 990}, /* W */ + {9, 1008}, /* X */ + {9, 1026}, /* Y */ + {9, 1044}, /* Z */ + {9, 1062}, /* [ */ + {9, 1080}, /* \ */ + {9, 1098}, /* ] */ + {9, 1116}, /* ^ */ + {9, 1134}, /* _ */ + {9, 1152}, /* ` */ + {9, 1170}, /* a */ + {9, 1188}, /* b */ + {9, 1206}, /* c */ + {9, 1224}, /* d */ + {9, 1242}, /* e */ + {9, 1260}, /* f */ + {9, 1278}, /* g */ + {9, 1296}, /* h */ + {9, 1314}, /* i */ + {9, 1332}, /* j */ + {9, 1350}, /* k */ + {9, 1368}, /* l */ + {9, 1386}, /* m */ + {9, 1404}, /* n */ + {9, 1422}, /* o */ + {9, 1440}, /* p */ + {9, 1458}, /* q */ + {9, 1476}, /* r */ + {9, 1494}, /* s */ + {9, 1512}, /* t */ + {9, 1530}, /* u */ + {9, 1548}, /* v */ + {9, 1566}, /* w */ + {9, 1584}, /* x */ + {9, 1602}, /* y */ + {9, 1620}, /* z */ + {9, 1638}, /* { */ + {9, 1656}, /* | */ + {9, 1674}, /* } */ + {9, 1692}, /* ~ */ +}; + +/* Font information for Bitstream Vera Sans Mono 11pt */ +const struct FONT_DEF Font_VeraMono11pt = {9, 16, ' ', '~', + bitstreamVeraSansMono11ptCharBitmaps, /* Character bitmap array */ + bitstreamVeraSansMono11ptCharDescriptors, /* Character decriptor array */ +}; diff --git a/lcd/veramono11.h b/lcd/veramono11.h new file mode 100644 index 0000000..d01a600 --- /dev/null +++ b/lcd/veramono11.h @@ -0,0 +1,9 @@ +#ifndef __VERA_MONO_11__ +#define __VERA_MONO_11__ + +#include "fonts.h" + +/* Font data for Bitstream Vera Sans Mono 11pt */ +extern const struct FONT_DEF Font_VeraMono11pt; + +#endif diff --git a/lcd/veramono9.c b/lcd/veramono9.c index 7877920..ec0a61a 100644 --- a/lcd/veramono9.c +++ b/lcd/veramono9.c @@ -1060,7 +1060,7 @@ const FONT_CHAR_INFO bitstreamVeraSansMono9ptCharDescriptors[] = }; /* Font information for Bitstream Vera Sans Mono 9pt */ -const struct FONT_DEF Font_VeraMono9pt = {8, 16, ' ', '~', +const struct FONT_DEF Font_VeraMono9pt = {8, 10, ' ', '~', bitstreamVeraSansMono9ptCharBitmaps, bitstreamVeraSansMono9ptCharDescriptors }; diff --git a/lcd/veramonobold11.c b/lcd/veramonobold11.c new file mode 100644 index 0000000..01ae8b0 --- /dev/null +++ b/lcd/veramonobold11.c @@ -0,0 +1,1161 @@ +#include "veramonobold11.h" + +/* +** Font data for Bitstream Vera Sans Mono Bold 11pt +*/ + +/* Character bitmaps for Bitstream Vera Sans Mono Bold 11pt */ +const uint8_t bitstreamVeraSansMonoBold11ptCharBitmaps[] = +{ + /* @0 ' ' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @18 '!' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x0D, 0xFE, /* ## ######## */ + 0x0D, 0xFE, /* ## ######## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @36 '"' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x1E, /* #### */ + 0x00, 0x1E, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x1E, /* #### */ + 0x00, 0x1E, /* #### */ + 0x00, 0x00, /* */ + + /* @54 '#' (9 pixels wide) */ + 0x01, 0x00, /* # */ + 0x0F, 0x10, /* #### # */ + 0x0F, 0xF0, /* ######## */ + 0x01, 0xFE, /* ######## */ + 0x0D, 0x1E, /* ## # #### */ + 0x0F, 0xF0, /* ######## */ + 0x01, 0xFC, /* ####### */ + 0x01, 0x1E, /* # #### */ + 0x00, 0x10, /* # */ + + /* @72 '$' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x38, /* # ### */ + 0x0C, 0x7C, /* ## ##### */ + 0x08, 0x64, /* # ## # */ + 0x3F, 0xFF, /* ############## */ + 0x08, 0xC4, /* # ## # */ + 0x0F, 0xCC, /* ###### ## */ + 0x07, 0x80, /* #### */ + 0x00, 0x00, /* */ + + /* @90 '%' (9 pixels wide) */ + 0x00, 0x9C, /* # ### */ + 0x00, 0xA2, /* # # # */ + 0x00, 0xA2, /* # # # */ + 0x00, 0x62, /* ## # */ + 0x07, 0x5C, /* ### # ### */ + 0x08, 0xC0, /* # ## */ + 0x08, 0xC0, /* # ## */ + 0x08, 0xA0, /* # # # */ + 0x07, 0x20, /* ### # */ + + /* @108 '&' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0x80, /* #### */ + 0x0F, 0xEC, /* ####### ## */ + 0x0C, 0x7E, /* ## ###### */ + 0x0B, 0xE2, /* # ##### # */ + 0x0F, 0x82, /* ##### # */ + 0x0F, 0xC0, /* ###### */ + 0x09, 0xC0, /* # ### */ + 0x00, 0x00, /* */ + + /* @126 ''' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x1E, /* #### */ + 0x00, 0x1E, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @144 '(' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x07, 0xF0, /* ####### */ + 0x1F, 0xFC, /* ########### */ + 0x38, 0x0E, /* ### ### */ + 0x20, 0x02, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @162 ')' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x02, /* # # */ + 0x38, 0x0E, /* ### ### */ + 0x1F, 0xFC, /* ########### */ + 0x07, 0xF0, /* ####### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @180 '*' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x24, /* # # */ + 0x00, 0x3C, /* #### */ + 0x00, 0x18, /* ## */ + 0x00, 0x7E, /* ###### */ + 0x00, 0x18, /* ## */ + 0x00, 0x3C, /* #### */ + 0x00, 0x24, /* # # */ + 0x00, 0x00, /* */ + + /* @198 '+' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0xC0, /* ## */ + 0x00, 0xC0, /* ## */ + 0x00, 0xC0, /* ## */ + 0x07, 0xF8, /* ######## */ + 0x07, 0xF8, /* ######## */ + 0x00, 0xC0, /* ## */ + 0x00, 0xC0, /* ## */ + 0x00, 0xC0, /* ## */ + + /* @216 ',' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x00, /* # */ + 0x3E, 0x00, /* ##### */ + 0x1E, 0x00, /* #### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @234 '-' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x01, 0x80, /* ## */ + 0x01, 0x80, /* ## */ + 0x01, 0x80, /* ## */ + 0x01, 0x80, /* ## */ + 0x01, 0x80, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @252 '.' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x0E, 0x00, /* ### */ + 0x0E, 0x00, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @270 '/' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x00, /* # */ + 0x1C, 0x00, /* ### */ + 0x0F, 0x00, /* #### */ + 0x03, 0xC0, /* #### */ + 0x00, 0xF0, /* #### */ + 0x00, 0x3C, /* #### */ + 0x00, 0x0E, /* ### */ + 0x00, 0x02, /* # */ + + /* @288 '0' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xF8, /* ####### */ + 0x07, 0xFC, /* ######### */ + 0x0C, 0x06, /* ## ## */ + 0x08, 0x62, /* # ## # */ + 0x0C, 0x06, /* ## ## */ + 0x07, 0xFC, /* ######### */ + 0x03, 0xF8, /* ####### */ + 0x00, 0x00, /* */ + + /* @306 '1' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x08, 0x04, /* # # */ + 0x08, 0x02, /* # # */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @324 '2' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0C, 0x04, /* ## # */ + 0x0E, 0x02, /* ### # */ + 0x0F, 0x02, /* #### # */ + 0x0B, 0x82, /* # ### # */ + 0x09, 0xE2, /* # #### # */ + 0x08, 0xFC, /* # ###### */ + 0x08, 0x7C, /* # ##### */ + 0x00, 0x00, /* */ + + /* @342 '3' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x04, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x22, /* # # # */ + 0x08, 0x22, /* # # # */ + 0x0C, 0x62, /* ## ## # */ + 0x07, 0xDE, /* ##### #### */ + 0x07, 0x9C, /* #### ### */ + 0x00, 0x00, /* */ + + /* @360 '4' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0xC0, /* ### */ + 0x01, 0x60, /* # ## */ + 0x01, 0x38, /* # ### */ + 0x01, 0x0C, /* # ## */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x01, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @378 '5' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x7E, /* # ###### */ + 0x08, 0x3E, /* # ##### */ + 0x08, 0x22, /* # # # */ + 0x08, 0x22, /* # # # */ + 0x0C, 0x62, /* ## ## # */ + 0x07, 0xC2, /* ##### # */ + 0x03, 0x80, /* ### */ + 0x00, 0x00, /* */ + + /* @396 '6' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xF8, /* ####### */ + 0x07, 0xFC, /* ######### */ + 0x08, 0x26, /* # # ## */ + 0x08, 0x22, /* # # # */ + 0x08, 0x22, /* # # # */ + 0x0F, 0xE4, /* ####### # */ + 0x07, 0xC0, /* ##### */ + 0x00, 0x00, /* */ + + /* @414 '7' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x02, /* # */ + 0x08, 0x02, /* # # */ + 0x0F, 0x02, /* #### # */ + 0x07, 0xC2, /* ##### # */ + 0x01, 0xFA, /* ###### # */ + 0x00, 0x3E, /* ##### */ + 0x00, 0x0E, /* ### */ + 0x00, 0x00, /* */ + + /* @432 '8' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0x9C, /* #### ### */ + 0x0F, 0xDE, /* ###### #### */ + 0x0C, 0x62, /* ## ## # */ + 0x08, 0x22, /* # # # */ + 0x0C, 0x62, /* ## ## # */ + 0x0F, 0xDE, /* ###### #### */ + 0x07, 0x9C, /* #### ### */ + 0x00, 0x00, /* */ + + /* @450 '9' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x7C, /* ##### */ + 0x04, 0xFE, /* # ####### */ + 0x08, 0x82, /* # # # */ + 0x08, 0x82, /* # # # */ + 0x0C, 0x82, /* ## # # */ + 0x07, 0xFC, /* ######### */ + 0x03, 0xF8, /* ####### */ + 0x00, 0x00, /* */ + + /* @468 ':' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x0E, 0x70, /* ### ### */ + 0x0E, 0x70, /* ### ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @486 ';' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x00, /* # */ + 0x3E, 0x70, /* ##### ### */ + 0x1E, 0x70, /* #### ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @504 '<' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0xC0, /* ## */ + 0x00, 0xC0, /* ## */ + 0x01, 0xE0, /* #### */ + 0x01, 0x20, /* # # */ + 0x03, 0x30, /* ## ## */ + 0x03, 0x30, /* ## ## */ + 0x02, 0x10, /* # # */ + 0x06, 0x18, /* ## ## */ + + /* @522 '=' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0x30, /* ## ## */ + 0x03, 0x30, /* ## ## */ + 0x03, 0x30, /* ## ## */ + 0x03, 0x30, /* ## ## */ + 0x03, 0x30, /* ## ## */ + 0x03, 0x30, /* ## ## */ + 0x03, 0x30, /* ## ## */ + 0x03, 0x30, /* ## ## */ + + /* @540 '>' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x06, 0x18, /* ## ## */ + 0x02, 0x10, /* # # */ + 0x03, 0x30, /* ## ## */ + 0x03, 0x30, /* ## ## */ + 0x01, 0x20, /* # # */ + 0x01, 0xE0, /* #### */ + 0x00, 0xC0, /* ## */ + 0x00, 0xC0, /* ## */ + + /* @558 '?' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x04, /* # */ + 0x00, 0x02, /* # */ + 0x0D, 0xE2, /* ## #### # */ + 0x0D, 0xF2, /* ## ##### # */ + 0x00, 0x3E, /* ##### */ + 0x00, 0x1C, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @576 '@' (9 pixels wide) */ + 0x0F, 0xE0, /* ####### */ + 0x1F, 0xF0, /* ######### */ + 0x30, 0x18, /* ## ## */ + 0x67, 0xC4, /* ## ##### # */ + 0x4F, 0xE4, /* # ####### # */ + 0x48, 0x24, /* # # # # */ + 0x6F, 0xFC, /* ## ########## */ + 0x4F, 0xF8, /* # ######### */ + 0x00, 0x00, /* */ + + /* @594 'A' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0C, 0x00, /* ## */ + 0x0F, 0xE0, /* ####### */ + 0x07, 0xFE, /* ########## */ + 0x01, 0x1E, /* # #### */ + 0x07, 0xFE, /* ########## */ + 0x0F, 0xE0, /* ####### */ + 0x0C, 0x00, /* ## */ + 0x00, 0x00, /* */ + + /* @612 'B' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x0F, 0xBE, /* ##### ##### */ + 0x07, 0xBC, /* #### #### */ + 0x00, 0x00, /* */ + + /* @630 'C' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0xF0, /* ##### */ + 0x07, 0xFC, /* ######### */ + 0x0C, 0x06, /* ## ## */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x04, 0x04, /* # # */ + 0x00, 0x00, /* */ + + /* @648 'D' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x0C, 0x06, /* ## ## */ + 0x07, 0xFC, /* ######### */ + 0x03, 0xF8, /* ####### */ + 0x00, 0x00, /* */ + + /* @666 'E' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x42, /* # # # */ + 0x08, 0x02, /* # # */ + 0x00, 0x00, /* */ + + /* @684 'F' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0x42, /* # # */ + 0x00, 0x02, /* # */ + 0x00, 0x00, /* */ + + /* @702 'G' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xF0, /* ###### */ + 0x07, 0xFC, /* ######### */ + 0x0C, 0x06, /* ## ## */ + 0x08, 0x02, /* # # */ + 0x08, 0x82, /* # # # */ + 0x0F, 0x82, /* ##### # */ + 0x0F, 0x84, /* ##### # */ + 0x00, 0x00, /* */ + + /* @720 'H' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x00, /* */ + + /* @738 'I' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @756 'J' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x08, 0x02, /* # # */ + 0x0F, 0xFE, /* ########### */ + 0x07, 0xFE, /* ########## */ + 0x00, 0x00, /* */ + + /* @774 'K' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0xE0, /* ### */ + 0x00, 0xF8, /* ##### */ + 0x03, 0xDC, /* #### ### */ + 0x0F, 0x8E, /* ##### ### */ + 0x0E, 0x06, /* ### ## */ + 0x08, 0x00, /* # */ + + /* @792 'L' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @810 'M' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x7E, /* ###### */ + 0x00, 0xC0, /* ## */ + 0x00, 0x7E, /* ###### */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x00, /* */ + + /* @828 'N' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x3E, /* ##### */ + 0x01, 0xF0, /* ##### */ + 0x0F, 0x80, /* ##### */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x00, /* */ + + /* @846 'O' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xF8, /* ####### */ + 0x07, 0xFC, /* ######### */ + 0x0C, 0x06, /* ## ## */ + 0x08, 0x02, /* # # */ + 0x0C, 0x06, /* ## ## */ + 0x07, 0xFC, /* ######### */ + 0x03, 0xF8, /* ####### */ + 0x00, 0x00, /* */ + + /* @864 'P' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x82, /* # # */ + 0x00, 0x82, /* # # */ + 0x00, 0xC6, /* ## ## */ + 0x00, 0xFE, /* ####### */ + 0x00, 0x7C, /* ##### */ + 0x00, 0x00, /* */ + + /* @882 'Q' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xF8, /* ####### */ + 0x07, 0xFC, /* ######### */ + 0x0C, 0x06, /* ## ## */ + 0x08, 0x02, /* # # */ + 0x1C, 0x06, /* ### ## */ + 0x3F, 0xFC, /* ############ */ + 0x03, 0xF8, /* ####### */ + 0x00, 0x00, /* */ + + /* @900 'R' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x82, /* # # */ + 0x00, 0x82, /* # # */ + 0x03, 0x82, /* ### # */ + 0x0F, 0x7E, /* #### ###### */ + 0x0E, 0x7C, /* ### ##### */ + 0x08, 0x00, /* # */ + + /* @918 'S' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0x3C, /* # #### */ + 0x08, 0x7C, /* # ##### */ + 0x08, 0x62, /* # ## # */ + 0x08, 0xE2, /* # ### # */ + 0x08, 0xC2, /* # ## # */ + 0x0F, 0xC2, /* ###### # */ + 0x07, 0x84, /* #### # */ + 0x00, 0x00, /* */ + + /* @936 'T' (9 pixels wide) */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x00, 0x00, /* */ + + /* @954 'U' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xFE, /* ########## */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x0F, 0xFE, /* ########### */ + 0x07, 0xFE, /* ########## */ + 0x00, 0x00, /* */ + + /* @972 'V' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x06, /* ## */ + 0x00, 0xFE, /* ####### */ + 0x0F, 0xF8, /* ######### */ + 0x0E, 0x00, /* ### */ + 0x0F, 0xF8, /* ######### */ + 0x00, 0xFE, /* ####### */ + 0x00, 0x06, /* ## */ + 0x00, 0x00, /* */ + + /* @990 'W' (9 pixels wide) */ + 0x00, 0x3E, /* ##### */ + 0x0F, 0xFE, /* ########### */ + 0x0E, 0x00, /* ### */ + 0x03, 0xE0, /* ##### */ + 0x00, 0x70, /* ### */ + 0x03, 0xE0, /* ##### */ + 0x0E, 0x00, /* ### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x3E, /* ##### */ + + /* @1008 'X' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x02, /* # # */ + 0x0E, 0x0E, /* ### ### */ + 0x07, 0xBC, /* #### #### */ + 0x01, 0xF0, /* ##### */ + 0x07, 0xBC, /* #### #### */ + 0x0E, 0x0E, /* ### ### */ + 0x08, 0x02, /* # # */ + 0x00, 0x00, /* */ + + /* @1026 'Y' (9 pixels wide) */ + 0x00, 0x02, /* # */ + 0x00, 0x0E, /* ### */ + 0x00, 0x7E, /* ###### */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x7E, /* ###### */ + 0x00, 0x0E, /* ### */ + 0x00, 0x02, /* # */ + 0x00, 0x00, /* */ + + /* @1044 'Z' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0E, 0x02, /* ### # */ + 0x0F, 0x02, /* #### # */ + 0x0B, 0xC2, /* # #### # */ + 0x08, 0xF2, /* # #### # */ + 0x08, 0x7A, /* # #### # */ + 0x08, 0x1E, /* # #### */ + 0x08, 0x0E, /* # ### */ + 0x00, 0x00, /* */ + + /* @1062 '[' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x3F, 0xFE, /* ############# */ + 0x3F, 0xFE, /* ############# */ + 0x20, 0x02, /* # # */ + 0x20, 0x02, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1080 '\' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x02, /* # */ + 0x00, 0x0E, /* ### */ + 0x00, 0x78, /* #### */ + 0x01, 0xE0, /* #### */ + 0x07, 0x80, /* #### */ + 0x1C, 0x00, /* ### */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1098 ']' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x02, /* # # */ + 0x20, 0x02, /* # # */ + 0x3F, 0xFE, /* ############# */ + 0x3F, 0xFE, /* ############# */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1116 '^' (9 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0x18, /* ## */ + 0x00, 0x0C, /* ## */ + 0x00, 0x06, /* ## */ + 0x00, 0x06, /* ## */ + 0x00, 0x0C, /* ## */ + 0x00, 0x18, /* ## */ + 0x00, 0x10, /* # */ + 0x00, 0x00, /* */ + + /* @1134 '_' (9 pixels wide) */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + + /* @1152 '`' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x01, /* # */ + 0x00, 0x03, /* ## */ + 0x00, 0x06, /* ## */ + 0x00, 0x04, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1170 'a' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0x00, /* ### */ + 0x0F, 0xA0, /* ##### # */ + 0x08, 0x90, /* # # # */ + 0x08, 0x90, /* # # # */ + 0x0C, 0x90, /* ## # # */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + + /* @1188 'b' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x0C, 0x30, /* ## ## */ + 0x08, 0x10, /* # # */ + 0x0C, 0x30, /* ## ## */ + 0x0F, 0xF0, /* ######## */ + 0x07, 0xE0, /* ###### */ + 0x00, 0x00, /* */ + + /* @1206 'c' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x07, 0xE0, /* ###### */ + 0x0C, 0x30, /* ## ## */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x04, 0x20, /* # # */ + 0x00, 0x00, /* */ + + /* @1224 'd' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xE0, /* ###### */ + 0x0F, 0xF0, /* ######## */ + 0x0C, 0x30, /* ## ## */ + 0x08, 0x10, /* # # */ + 0x0C, 0x30, /* ## ## */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x00, /* */ + + /* @1242 'e' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x07, 0xE0, /* ###### */ + 0x0C, 0x90, /* ## # # */ + 0x08, 0x90, /* # # # */ + 0x08, 0x90, /* # # # */ + 0x08, 0xF0, /* # #### */ + 0x04, 0xE0, /* # ### */ + 0x00, 0x00, /* */ + + /* @1260 'f' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x0F, 0xFC, /* ########## */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x12, /* # # */ + 0x00, 0x12, /* # # */ + 0x00, 0x12, /* # # */ + 0x00, 0x00, /* */ + + /* @1278 'g' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x2F, 0xF0, /* # ######## */ + 0x4C, 0x30, /* # ## ## */ + 0x48, 0x10, /* # # # */ + 0x4C, 0x30, /* # ## ## */ + 0x7F, 0xF0, /* ########### */ + 0x3F, 0xF0, /* ########## */ + 0x00, 0x00, /* */ + + /* @1296 'h' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + + /* @1314 'i' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x00, /* # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x0F, 0xF7, /* ######## ### */ + 0x0F, 0xF7, /* ######## ### */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + + /* @1332 'j' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x40, 0x00, /* # */ + 0x40, 0x10, /* # # */ + 0x40, 0x10, /* # # */ + 0x7F, 0xF7, /* ########### ### */ + 0x3F, 0xF7, /* ########## ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1350 'k' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xFE, /* ########### */ + 0x0F, 0xFE, /* ########### */ + 0x00, 0xC0, /* ## */ + 0x03, 0xE0, /* ##### */ + 0x0F, 0x30, /* #### ## */ + 0x0C, 0x10, /* ## # */ + 0x08, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1368 'l' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x02, /* # */ + 0x00, 0x02, /* # */ + 0x07, 0xFE, /* ########## */ + 0x0F, 0xFE, /* ########### */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1386 'm' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x10, /* # */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x10, /* # */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0xF0, /* ######## */ + + /* @1404 'n' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0xE0, /* ####### */ + 0x00, 0x00, /* */ + + /* @1422 'o' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0xC0, /* #### */ + 0x07, 0xE0, /* ###### */ + 0x0C, 0x30, /* ## ## */ + 0x08, 0x10, /* # # */ + 0x0C, 0x30, /* ## ## */ + 0x07, 0xE0, /* ###### */ + 0x03, 0xC0, /* #### */ + 0x00, 0x00, /* */ + + /* @1440 'p' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x7F, 0xF0, /* ########### */ + 0x7F, 0xF0, /* ########### */ + 0x0C, 0x30, /* ## ## */ + 0x08, 0x10, /* # # */ + 0x0C, 0x30, /* ## ## */ + 0x0F, 0xF0, /* ######## */ + 0x07, 0xE0, /* ###### */ + 0x00, 0x00, /* */ + + /* @1458 'q' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xE0, /* ###### */ + 0x0F, 0xF0, /* ######## */ + 0x0C, 0x30, /* ## ## */ + 0x08, 0x10, /* # # */ + 0x0C, 0x30, /* ## ## */ + 0x7F, 0xF0, /* ########### */ + 0x7F, 0xF0, /* ########### */ + 0x00, 0x00, /* */ + + /* @1476 'r' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x30, /* ## */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x00, /* */ + + /* @1494 's' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x04, 0xE0, /* # ### */ + 0x08, 0xF0, /* # #### */ + 0x09, 0x90, /* # ## # */ + 0x09, 0x90, /* # ## # */ + 0x09, 0x90, /* # ## # */ + 0x0F, 0x10, /* #### # */ + 0x07, 0x20, /* ### # */ + 0x00, 0x00, /* */ + + /* @1512 't' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x07, 0xFC, /* ######### */ + 0x0F, 0xFC, /* ########## */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x08, 0x10, /* # # */ + 0x00, 0x00, /* */ + + /* @1530 'u' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xF0, /* ####### */ + 0x0F, 0xF0, /* ######## */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x08, 0x00, /* # */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x00, /* */ + + /* @1548 'v' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x30, /* ## */ + 0x01, 0xF0, /* ##### */ + 0x0F, 0xE0, /* ####### */ + 0x0C, 0x00, /* ## */ + 0x0F, 0xE0, /* ####### */ + 0x01, 0xF0, /* ##### */ + 0x00, 0x30, /* ## */ + 0x00, 0x00, /* */ + + /* @1566 'w' (9 pixels wide) */ + 0x00, 0x70, /* ### */ + 0x0F, 0xF0, /* ######## */ + 0x0F, 0x00, /* #### */ + 0x03, 0x80, /* ### */ + 0x00, 0xC0, /* ## */ + 0x03, 0x80, /* ### */ + 0x0F, 0x00, /* #### */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x70, /* ### */ + + /* @1584 'x' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x10, /* # # */ + 0x0C, 0x30, /* ## ## */ + 0x0F, 0xF0, /* ######## */ + 0x03, 0xC0, /* #### */ + 0x0F, 0xF0, /* ######## */ + 0x0E, 0x30, /* ### ## */ + 0x08, 0x10, /* # # */ + 0x00, 0x00, /* */ + + /* @1602 'y' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x40, 0xF0, /* # #### */ + 0x63, 0xE0, /* ## ##### */ + 0x7F, 0x00, /* ####### */ + 0x1F, 0xE0, /* ######## */ + 0x01, 0xF0, /* ##### */ + 0x00, 0x30, /* ## */ + 0x00, 0x00, /* */ + + /* @1620 'z' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x0C, 0x10, /* ## # */ + 0x0E, 0x10, /* ### # */ + 0x0B, 0x10, /* # ## # */ + 0x09, 0x90, /* # ## # */ + 0x08, 0xD0, /* # ## # */ + 0x08, 0x70, /* # ### */ + 0x08, 0x30, /* # ## */ + 0x00, 0x00, /* */ + + /* @1638 '{' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x3E, 0xFC, /* ##### ###### */ + 0x7E, 0xFE, /* ###### ####### */ + 0x40, 0x02, /* # # */ + 0x40, 0x02, /* # # */ + 0x00, 0x00, /* */ + + /* @1656 '|' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0xFF, 0xFE, /* ############### */ + 0xFF, 0xFE, /* ############### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1674 '}' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x40, 0x02, /* # # */ + 0x40, 0x02, /* # # */ + 0x7E, 0xFE, /* ###### ####### */ + 0x3E, 0xFC, /* ##### ###### */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1692 '~' (9 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0x80, /* ## */ + 0x00, 0xC0, /* ## */ + 0x00, 0xC0, /* ## */ + 0x00, 0xC0, /* ## */ + 0x01, 0x80, /* ## */ + 0x01, 0x80, /* ## */ + 0x01, 0x80, /* ## */ + 0x00, 0xC0, /* ## */ +}; + +/* Character descriptors for Bitstream Vera Sans Mono 11pt */ +/* { [Char width in bits], [Offset into bitstreamVeraSansMonoBold11ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO bitstreamVeraSansMonoBold11ptCharDescriptors[] = +{ + {9, 0}, /* */ + {9, 18}, /* ! */ + {9, 36}, /* " */ + {9, 54}, /* # */ + {9, 72}, /* $ */ + {9, 90}, /* % */ + {9, 108}, /* & */ + {9, 126}, /* ' */ + {9, 144}, /* ( */ + {9, 162}, /* ) */ + {9, 180}, /* * */ + {9, 198}, /* + */ + {9, 216}, /* , */ + {9, 234}, /* - */ + {9, 252}, /* . */ + {9, 270}, /* / */ + {9, 288}, /* 0 */ + {9, 306}, /* 1 */ + {9, 324}, /* 2 */ + {9, 342}, /* 3 */ + {9, 360}, /* 4 */ + {9, 378}, /* 5 */ + {9, 396}, /* 6 */ + {9, 414}, /* 7 */ + {9, 432}, /* 8 */ + {9, 450}, /* 9 */ + {9, 468}, /* : */ + {9, 486}, /* ; */ + {9, 504}, /* < */ + {9, 522}, /* = */ + {9, 540}, /* > */ + {9, 558}, /* ? */ + {9, 576}, /* @ */ + {9, 594}, /* A */ + {9, 612}, /* B */ + {9, 630}, /* C */ + {9, 648}, /* D */ + {9, 666}, /* E */ + {9, 684}, /* F */ + {9, 702}, /* G */ + {9, 720}, /* H */ + {9, 738}, /* I */ + {9, 756}, /* J */ + {9, 774}, /* K */ + {9, 792}, /* L */ + {9, 810}, /* M */ + {9, 828}, /* N */ + {9, 846}, /* O */ + {9, 864}, /* P */ + {9, 882}, /* Q */ + {9, 900}, /* R */ + {9, 918}, /* S */ + {9, 936}, /* T */ + {9, 954}, /* U */ + {9, 972}, /* V */ + {9, 990}, /* W */ + {9, 1008}, /* X */ + {9, 1026}, /* Y */ + {9, 1044}, /* Z */ + {9, 1062}, /* [ */ + {9, 1080}, /* \ */ + {9, 1098}, /* ] */ + {9, 1116}, /* ^ */ + {9, 1134}, /* _ */ + {9, 1152}, /* ` */ + {9, 1170}, /* a */ + {9, 1188}, /* b */ + {9, 1206}, /* c */ + {9, 1224}, /* d */ + {9, 1242}, /* e */ + {9, 1260}, /* f */ + {9, 1278}, /* g */ + {9, 1296}, /* h */ + {9, 1314}, /* i */ + {9, 1332}, /* j */ + {9, 1350}, /* k */ + {9, 1368}, /* l */ + {9, 1386}, /* m */ + {9, 1404}, /* n */ + {9, 1422}, /* o */ + {9, 1440}, /* p */ + {9, 1458}, /* q */ + {9, 1476}, /* r */ + {9, 1494}, /* s */ + {9, 1512}, /* t */ + {9, 1530}, /* u */ + {9, 1548}, /* v */ + {9, 1566}, /* w */ + {9, 1584}, /* x */ + {9, 1602}, /* y */ + {9, 1620}, /* z */ + {9, 1638}, /* { */ + {9, 1656}, /* | */ + {9, 1674}, /* } */ + {9, 1692}, /* ~ */ +}; + +/* Font information for Bitstream Vera Sans Mono 11pt */ +const struct FONT_DEF Font_VeraMonoBold11pt = {9,16,' ','~', + bitstreamVeraSansMonoBold11ptCharBitmaps, /* Character bitmap array */ + bitstreamVeraSansMonoBold11ptCharDescriptors, /* Character decriptor array */ +}; diff --git a/lcd/veramonobold11.h b/lcd/veramonobold11.h new file mode 100644 index 0000000..9975abd --- /dev/null +++ b/lcd/veramonobold11.h @@ -0,0 +1,9 @@ +#ifndef __VERA_MONO_BOLD_11__ +#define __VERA_MONO_BOLD_11__ + +#include "fonts.h" + +/* Font data for Bitstream Vera Sans Mono Bold 11pt */ +extern const struct FONT_DEF Font_VeraMonoBold11pt; + +#endif diff --git a/lcd/veramonobold9.c b/lcd/veramonobold9.c new file mode 100644 index 0000000..79c4f1a --- /dev/null +++ b/lcd/veramonobold9.c @@ -0,0 +1,1066 @@ +#include "veramonobold9.h" + +/* +** Font data for Bitstream Vera Sans Mono Bold 9pt +*/ + +/* Character bitmaps for Bitstream Vera Sans Mono Bold 9pt */ +const uint8_t bitstreamVeraSansMonoBold9ptCharBitmaps[] = +{ + /* @0 ' ' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @16 '!' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x1B, 0xF0, /* ## ###### */ + 0x1B, 0xF0, /* ## ###### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @32 '"' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x70, /* ### */ + 0x00, 0x70, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x70, /* ### */ + 0x00, 0x70, /* ### */ + 0x00, 0x00, /* */ + + /* @48 '#' (8 pixels wide) */ + 0x04, 0x00, /* # */ + 0x1C, 0x80, /* ### # */ + 0x07, 0xC0, /* ##### */ + 0x1C, 0xE0, /* ### ### */ + 0x0F, 0x80, /* ##### */ + 0x04, 0xE0, /* # ### */ + 0x00, 0x80, /* # */ + 0x00, 0x00, /* */ + + /* @64 '$' (8 pixels wide) */ + 0x08, 0xC0, /* # ## */ + 0x19, 0xE0, /* ## #### */ + 0x11, 0x20, /* # # # */ + 0x7F, 0xF0, /* ########### */ + 0x11, 0x20, /* # # # */ + 0x1F, 0x60, /* ##### ## */ + 0x0E, 0x00, /* ### */ + 0x00, 0x00, /* */ + + /* @80 '%' (8 pixels wide) */ + 0x02, 0x60, /* # ## */ + 0x02, 0x90, /* # # # */ + 0x02, 0x90, /* # # # */ + 0x0D, 0x60, /* ## # ## */ + 0x13, 0x00, /* # ## */ + 0x12, 0x80, /* # # # */ + 0x0C, 0x80, /* ## # */ + 0x00, 0x00, /* */ + + /* @96 '&' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0E, 0x00, /* ### */ + 0x1F, 0x70, /* ##### ### */ + 0x11, 0xF0, /* # ##### */ + 0x1F, 0x10, /* ##### # */ + 0x1C, 0x00, /* ### */ + 0x17, 0x00, /* # ### */ + 0x00, 0x00, /* */ + + /* @112 ''' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x70, /* ### */ + 0x00, 0x70, /* ### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @128 '(' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x07, 0xC0, /* ##### */ + 0x1F, 0xF0, /* ######### */ + 0x30, 0x18, /* ## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @144 ')' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x30, 0x18, /* ## ## */ + 0x1F, 0xF0, /* ######### */ + 0x07, 0xC0, /* ##### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @160 '*' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0x20, /* # # */ + 0x00, 0xC0, /* ## */ + 0x03, 0xF0, /* ###### */ + 0x00, 0xC0, /* ## */ + 0x01, 0x20, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @176 '+' (8 pixels wide) */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @192 ',' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x40, 0x00, /* # */ + 0x38, 0x00, /* ### */ + 0x18, 0x00, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @208 '-' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @224 '.' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x18, 0x00, /* ## */ + 0x18, 0x00, /* ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @240 '/' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x20, 0x00, /* # */ + 0x18, 0x00, /* ## */ + 0x06, 0x00, /* ## */ + 0x01, 0x80, /* ## */ + 0x00, 0x60, /* ## */ + 0x00, 0x10, /* # */ + 0x00, 0x00, /* */ + + /* @256 '0' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xC0, /* ##### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x10, /* # # */ + 0x11, 0x10, /* # # # */ + 0x1F, 0xF0, /* ######### */ + 0x07, 0xC0, /* ##### */ + 0x00, 0x00, /* */ + + /* @272 '1' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @288 '2' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x18, 0x20, /* ## # */ + 0x1C, 0x10, /* ### # */ + 0x16, 0x10, /* # ## # */ + 0x13, 0x10, /* # ## # */ + 0x11, 0xF0, /* # ##### */ + 0x10, 0xE0, /* # ### */ + 0x00, 0x00, /* */ + + /* @304 '3' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x20, /* # # */ + 0x10, 0x10, /* # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x1E, 0xF0, /* #### #### */ + 0x0E, 0xE0, /* ### ### */ + 0x00, 0x00, /* */ + + /* @320 '4' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0x00, /* ### */ + 0x05, 0x80, /* # ## */ + 0x04, 0x60, /* # ## */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x04, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @336 '5' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0xF0, /* # #### */ + 0x10, 0xF0, /* # #### */ + 0x10, 0x90, /* # # # */ + 0x11, 0x90, /* # ## # */ + 0x1F, 0x90, /* ###### # */ + 0x0F, 0x00, /* #### */ + 0x00, 0x00, /* */ + + /* @352 '6' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xC0, /* ###### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0xB0, /* # # ## */ + 0x10, 0x90, /* # # # */ + 0x1F, 0x90, /* ###### # */ + 0x0F, 0x00, /* #### */ + 0x00, 0x00, /* */ + + /* @368 '7' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x10, 0x10, /* # # */ + 0x1E, 0x10, /* #### # */ + 0x0F, 0xD0, /* ###### # */ + 0x01, 0xF0, /* ##### */ + 0x00, 0x70, /* ### */ + 0x00, 0x00, /* */ + + /* @384 '8' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0E, 0xE0, /* ### ### */ + 0x1E, 0xF0, /* #### #### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x1E, 0xF0, /* #### #### */ + 0x0E, 0xE0, /* ### ### */ + 0x00, 0x00, /* */ + + /* @400 '9' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0xE0, /* #### */ + 0x13, 0xF0, /* # ###### */ + 0x12, 0x10, /* # # # */ + 0x1A, 0x10, /* ## # # */ + 0x1F, 0xF0, /* ######### */ + 0x07, 0xE0, /* ###### */ + 0x00, 0x00, /* */ + + /* @416 ':' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x19, 0x80, /* ## ## */ + 0x19, 0x80, /* ## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @432 ';' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x40, 0x00, /* # */ + 0x39, 0x80, /* ### ## */ + 0x19, 0x80, /* ## ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @448 '<' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x07, 0x80, /* #### */ + 0x04, 0x80, /* # # */ + 0x04, 0x80, /* # # */ + 0x0C, 0xC0, /* ## ## */ + 0x00, 0x00, /* */ + + /* @464 '=' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x05, 0x00, /* # # */ + 0x00, 0x00, /* */ + + /* @480 '>' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0C, 0xC0, /* ## ## */ + 0x04, 0x80, /* # # */ + 0x04, 0x80, /* # # */ + 0x07, 0x80, /* #### */ + 0x03, 0x00, /* ## */ + 0x03, 0x00, /* ## */ + 0x00, 0x00, /* */ + + /* @496 '?' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x20, /* # */ + 0x1B, 0x10, /* ## ## # */ + 0x1B, 0x90, /* ## ### # */ + 0x00, 0xF0, /* #### */ + 0x00, 0x60, /* ## */ + 0x00, 0x00, /* */ + + /* @512 '@' (8 pixels wide) */ + 0x0F, 0x80, /* ##### */ + 0x30, 0xC0, /* ## ## */ + 0x6F, 0x20, /* ## #### # */ + 0x50, 0xA0, /* # # # # */ + 0x50, 0xA0, /* # # # # */ + 0x50, 0xA0, /* # # # # */ + 0x7F, 0xC0, /* ######### */ + 0x00, 0x00, /* */ + + /* @528 'A' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x18, 0x00, /* ## */ + 0x1F, 0x80, /* ###### */ + 0x05, 0xF0, /* # ##### */ + 0x05, 0xF0, /* # ##### */ + 0x1F, 0x80, /* ###### */ + 0x18, 0x00, /* ## */ + 0x00, 0x00, /* */ + + /* @544 'B' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x1E, 0xF0, /* #### #### */ + 0x0E, 0xE0, /* ### ### */ + 0x00, 0x00, /* */ + + /* @560 'C' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xC0, /* ##### */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x08, 0x20, /* # # */ + 0x00, 0x00, /* */ + + /* @576 'D' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x10, /* # # */ + 0x18, 0x30, /* ## ## */ + 0x0F, 0xE0, /* ####### */ + 0x07, 0xC0, /* ##### */ + 0x00, 0x00, /* */ + + /* @592 'E' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x11, 0x10, /* # # # */ + 0x10, 0x10, /* # # */ + 0x00, 0x00, /* */ + + /* @608 'F' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x00, 0x10, /* # */ + 0x00, 0x00, /* */ + + /* @624 'G' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xC0, /* ##### */ + 0x0F, 0xE0, /* ####### */ + 0x18, 0x30, /* ## ## */ + 0x12, 0x10, /* # # # */ + 0x1E, 0x10, /* #### # */ + 0x1E, 0x20, /* #### # */ + 0x00, 0x00, /* */ + + /* @640 'H' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x00, /* */ + + /* @656 'I' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x00, 0x00, /* */ + + /* @672 'J' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x1F, 0xF0, /* ######### */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x00, /* */ + + /* @688 'K' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x80, /* ## */ + 0x03, 0xC0, /* #### */ + 0x0E, 0x70, /* ### ### */ + 0x18, 0x30, /* ## ## */ + 0x10, 0x00, /* # */ + + /* @704 'L' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @720 'M' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xE0, /* ######## */ + 0x01, 0xC0, /* ### */ + 0x01, 0xC0, /* ### */ + 0x1F, 0xE0, /* ######## */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x00, /* */ + + /* @736 'N' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0xE0, /* #### */ + 0x0F, 0x00, /* #### */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x00, /* */ + + /* @752 'O' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xC0, /* ##### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x1F, 0xF0, /* ######### */ + 0x07, 0xC0, /* ##### */ + 0x00, 0x00, /* */ + + /* @768 'P' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x10, /* # # */ + 0x01, 0x10, /* # # */ + 0x01, 0xF0, /* ##### */ + 0x00, 0xE0, /* ### */ + 0x00, 0x00, /* */ + + /* @784 'Q' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0xC0, /* ##### */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x10, /* # # */ + 0x10, 0x10, /* # # */ + 0x3F, 0xF0, /* ########## */ + 0x07, 0xC0, /* ##### */ + 0x00, 0x00, /* */ + + /* @800 'R' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0x10, /* # # */ + 0x03, 0x10, /* ## # */ + 0x0E, 0xF0, /* ### #### */ + 0x1C, 0xE0, /* ### ### */ + 0x10, 0x00, /* # */ + + /* @816 'S' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x08, 0xE0, /* # ### */ + 0x11, 0xF0, /* # ##### */ + 0x11, 0x90, /* # ## # */ + 0x13, 0x10, /* # ## # */ + 0x1F, 0x10, /* ##### # */ + 0x0E, 0x20, /* ### # */ + 0x00, 0x00, /* */ + + /* @832 'T' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF0, /* ######### */ + 0x00, 0x10, /* # */ + 0x00, 0x10, /* # */ + 0x00, 0x00, /* */ + + /* @848 'U' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xF0, /* ######## */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x0F, 0xF0, /* ######## */ + 0x00, 0x00, /* */ + + /* @864 'V' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x30, /* ## */ + 0x07, 0xF0, /* ####### */ + 0x1F, 0x00, /* ##### */ + 0x1F, 0x00, /* ##### */ + 0x07, 0xF0, /* ####### */ + 0x00, 0x30, /* ## */ + 0x00, 0x00, /* */ + + /* @880 'W' (8 pixels wide) */ + 0x00, 0xF0, /* #### */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0x00, /* ##### */ + 0x00, 0xC0, /* ## */ + 0x1F, 0x00, /* ##### */ + 0x1F, 0xF0, /* ######### */ + 0x01, 0xF0, /* ##### */ + 0x00, 0x00, /* */ + + /* @896 'X' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x10, /* # # */ + 0x1C, 0x70, /* ### ### */ + 0x07, 0xC0, /* ##### */ + 0x07, 0xC0, /* ##### */ + 0x1C, 0x70, /* ### ### */ + 0x10, 0x10, /* # # */ + 0x00, 0x00, /* */ + + /* @912 'Y' (8 pixels wide) */ + 0x00, 0x10, /* # */ + 0x00, 0x70, /* ### */ + 0x01, 0xE0, /* #### */ + 0x1F, 0x80, /* ###### */ + 0x1F, 0x80, /* ###### */ + 0x01, 0xE0, /* #### */ + 0x00, 0x70, /* ### */ + 0x00, 0x10, /* # */ + + /* @928 'Z' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x18, 0x10, /* ## # */ + 0x1E, 0x10, /* #### # */ + 0x17, 0x10, /* # ### # */ + 0x11, 0xD0, /* # ### # */ + 0x10, 0xF0, /* # #### */ + 0x10, 0x30, /* # ## */ + 0x00, 0x00, /* */ + + /* @944 '[' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x3F, 0xF8, /* ########### */ + 0x3F, 0xF8, /* ########### */ + 0x20, 0x08, /* # # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @960 '\' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x10, /* # */ + 0x00, 0x70, /* ### */ + 0x01, 0x80, /* ## */ + 0x06, 0x00, /* ## */ + 0x38, 0x00, /* ### */ + 0x20, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @976 ']' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x20, 0x08, /* # # */ + 0x3F, 0xF8, /* ########### */ + 0x3F, 0xF8, /* ########### */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @992 '^' (8 pixels wide) */ + 0x00, 0x40, /* # */ + 0x00, 0x60, /* ## */ + 0x00, 0x30, /* ## */ + 0x00, 0x10, /* # */ + 0x00, 0x30, /* ## */ + 0x00, 0x60, /* ## */ + 0x00, 0x40, /* # */ + 0x00, 0x00, /* */ + + /* @1008 '_' (8 pixels wide) */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x80, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1024 '`' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x08, /* # */ + 0x00, 0x18, /* ## */ + 0x00, 0x10, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1040 'a' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0C, 0x00, /* ## */ + 0x1E, 0x80, /* #### # */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x00, /* */ + + /* @1056 'b' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF8, /* ########## */ + 0x1F, 0xF8, /* ########## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x1F, 0xC0, /* ####### */ + 0x0F, 0x80, /* ##### */ + 0x00, 0x00, /* */ + + /* @1072 'c' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x07, 0x00, /* ### */ + 0x0F, 0x80, /* ##### */ + 0x18, 0xC0, /* ## ## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x08, 0x80, /* # # */ + 0x00, 0x00, /* */ + + /* @1088 'd' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x80, /* ##### */ + 0x1F, 0xC0, /* ####### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x1F, 0xF8, /* ########## */ + 0x1F, 0xF8, /* ########## */ + 0x00, 0x00, /* */ + + /* @1104 'e' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x80, /* ##### */ + 0x1F, 0xC0, /* ####### */ + 0x12, 0x40, /* # # # */ + 0x12, 0x40, /* # # # */ + 0x13, 0xC0, /* # #### */ + 0x0B, 0x80, /* # ### */ + 0x00, 0x00, /* */ + + /* @1120 'f' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0xF0, /* ######### */ + 0x1F, 0xF8, /* ########## */ + 0x00, 0x48, /* # # */ + 0x00, 0x48, /* # # */ + 0x00, 0x00, /* */ + + /* @1136 'g' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x80, /* ##### */ + 0x9F, 0xC0, /* # ####### */ + 0x90, 0x40, /* # # # */ + 0x90, 0x40, /* # # # */ + 0xFF, 0xC0, /* ########## */ + 0x7F, 0xC0, /* ######### */ + 0x00, 0x00, /* */ + + /* @1152 'h' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF8, /* ########## */ + 0x1F, 0xF8, /* ########## */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x00, /* */ + + /* @1168 'i' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x1F, 0xD8, /* ####### ## */ + 0x1F, 0xD8, /* ####### ## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1184 'j' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x80, 0x40, /* # # */ + 0x80, 0x40, /* # # */ + 0xFF, 0xD8, /* ########## ## */ + 0x7F, 0xD8, /* ######### ## */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1200 'k' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xF8, /* ########## */ + 0x1F, 0xF8, /* ########## */ + 0x03, 0x00, /* ## */ + 0x0F, 0x80, /* ##### */ + 0x1C, 0xC0, /* ### ## */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1216 'l' (8 pixels wide) */ + 0x00, 0x08, /* # */ + 0x00, 0x08, /* # */ + 0x0F, 0xF8, /* ######### */ + 0x1F, 0xF8, /* ########## */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1232 'm' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x40, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x40, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x00, /* */ + + /* @1248 'n' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0x80, /* ###### */ + 0x00, 0x00, /* */ + + /* @1264 'o' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x80, /* ##### */ + 0x1F, 0xC0, /* ####### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x1F, 0xC0, /* ####### */ + 0x0F, 0x80, /* ##### */ + 0x00, 0x00, /* */ + + /* @1280 'p' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0xFF, 0xC0, /* ########## */ + 0xFF, 0xC0, /* ########## */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x1F, 0xC0, /* ####### */ + 0x0F, 0x80, /* ##### */ + 0x00, 0x00, /* */ + + /* @1296 'q' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0x80, /* ##### */ + 0x1F, 0xC0, /* ####### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0xFF, 0xC0, /* ########## */ + 0xFF, 0xC0, /* ########## */ + 0x00, 0x00, /* */ + + /* @1312 'r' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x00, 0x00, /* */ + + /* @1328 's' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x09, 0x80, /* # ## */ + 0x13, 0xC0, /* # #### */ + 0x13, 0x40, /* # ## # */ + 0x12, 0x40, /* # # # */ + 0x1E, 0x40, /* #### # */ + 0x0C, 0x80, /* ## # */ + 0x00, 0x00, /* */ + + /* @1344 't' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x40, /* # */ + 0x00, 0x40, /* # */ + 0x0F, 0xF0, /* ######## */ + 0x1F, 0xF0, /* ######### */ + 0x10, 0x40, /* # # */ + 0x10, 0x40, /* # # */ + 0x00, 0x00, /* */ + + /* @1360 'u' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x0F, 0xC0, /* ###### */ + 0x1F, 0xC0, /* ####### */ + 0x10, 0x00, /* # */ + 0x10, 0x00, /* # */ + 0x1F, 0xC0, /* ####### */ + 0x1F, 0xC0, /* ####### */ + 0x00, 0x00, /* */ + + /* @1376 'v' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0xC0, /* ## */ + 0x07, 0xC0, /* ##### */ + 0x1E, 0x00, /* #### */ + 0x1E, 0x00, /* #### */ + 0x07, 0xC0, /* ##### */ + 0x00, 0xC0, /* ## */ + 0x00, 0x00, /* */ + + /* @1392 'w' (8 pixels wide) */ + 0x01, 0xC0, /* ### */ + 0x1F, 0xC0, /* ####### */ + 0x1E, 0x00, /* #### */ + 0x01, 0x00, /* # */ + 0x1E, 0x00, /* #### */ + 0x1F, 0xC0, /* ####### */ + 0x01, 0xC0, /* ### */ + 0x00, 0x00, /* */ + + /* @1408 'x' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x10, 0x40, /* # # */ + 0x1D, 0xC0, /* ### ### */ + 0x0F, 0x80, /* ##### */ + 0x0F, 0x80, /* ##### */ + 0x1D, 0xC0, /* ### ### */ + 0x10, 0x40, /* # # */ + 0x00, 0x00, /* */ + + /* @1424 'y' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x80, 0xC0, /* # ## */ + 0x87, 0xC0, /* # ##### */ + 0xFE, 0x00, /* ####### */ + 0x3E, 0x00, /* ##### */ + 0x07, 0xC0, /* ##### */ + 0x00, 0xC0, /* ## */ + 0x00, 0x00, /* */ + + /* @1440 'z' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x18, 0x40, /* ## # */ + 0x1C, 0x40, /* ### # */ + 0x16, 0x40, /* # ## # */ + 0x13, 0x40, /* # ## # */ + 0x11, 0xC0, /* # ### */ + 0x10, 0xC0, /* # ## */ + 0x00, 0x00, /* */ + + /* @1456 '{' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x1E, 0xF8, /* #### ##### */ + 0x3E, 0xF8, /* ##### ##### */ + 0x20, 0x08, /* # # */ + 0x20, 0x08, /* # # */ + 0x00, 0x00, /* */ + + /* @1472 '|' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x7F, 0xF8, /* ############ */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + 0x00, 0x00, /* */ + + /* @1488 '}' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x20, 0x08, /* # # */ + 0x20, 0x08, /* # # */ + 0x3E, 0xF8, /* ##### ##### */ + 0x3E, 0xF8, /* ##### ##### */ + 0x01, 0x00, /* # */ + 0x01, 0x00, /* # */ + 0x00, 0x00, /* */ + + /* @1504 '~' (8 pixels wide) */ + 0x00, 0x00, /* */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x02, 0x00, /* # */ + 0x04, 0x00, /* # */ + 0x04, 0x00, /* # */ + 0x04, 0x00, /* # */ + 0x00, 0x00, /* */ +}; + +/* Character descriptors for Bitstream Vera Sans Mono 9pt */ +/* { [Char width in bits], [Offset into bitstreamVeraSansMonoBold9ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO bitstreamVeraSansMonoBold9ptCharDescriptors[] = +{ + {8, 0}, /* */ + {8, 16}, /* ! */ + {8, 32}, /* " */ + {8, 48}, /* # */ + {8, 64}, /* $ */ + {8, 80}, /* % */ + {8, 96}, /* & */ + {8, 112}, /* ' */ + {8, 128}, /* ( */ + {8, 144}, /* ) */ + {8, 160}, /* * */ + {8, 176}, /* + */ + {8, 192}, /* , */ + {8, 208}, /* - */ + {8, 224}, /* . */ + {8, 240}, /* / */ + {8, 256}, /* 0 */ + {8, 272}, /* 1 */ + {8, 288}, /* 2 */ + {8, 304}, /* 3 */ + {8, 320}, /* 4 */ + {8, 336}, /* 5 */ + {8, 352}, /* 6 */ + {8, 368}, /* 7 */ + {8, 384}, /* 8 */ + {8, 400}, /* 9 */ + {8, 416}, /* : */ + {8, 432}, /* ; */ + {8, 448}, /* < */ + {8, 464}, /* = */ + {8, 480}, /* > */ + {8, 496}, /* ? */ + {8, 512}, /* @ */ + {8, 528}, /* A */ + {8, 544}, /* B */ + {8, 560}, /* C */ + {8, 576}, /* D */ + {8, 592}, /* E */ + {8, 608}, /* F */ + {8, 624}, /* G */ + {8, 640}, /* H */ + {8, 656}, /* I */ + {8, 672}, /* J */ + {8, 688}, /* K */ + {8, 704}, /* L */ + {8, 720}, /* M */ + {8, 736}, /* N */ + {8, 752}, /* O */ + {8, 768}, /* P */ + {8, 784}, /* Q */ + {8, 800}, /* R */ + {8, 816}, /* S */ + {8, 832}, /* T */ + {8, 848}, /* U */ + {8, 864}, /* V */ + {8, 880}, /* W */ + {8, 896}, /* X */ + {8, 912}, /* Y */ + {8, 928}, /* Z */ + {8, 944}, /* [ */ + {8, 960}, /* \ */ + {8, 976}, /* ] */ + {8, 992}, /* ^ */ + {8, 1008}, /* _ */ + {8, 1024}, /* ` */ + {8, 1040}, /* a */ + {8, 1056}, /* b */ + {8, 1072}, /* c */ + {8, 1088}, /* d */ + {8, 1104}, /* e */ + {8, 1120}, /* f */ + {8, 1136}, /* g */ + {8, 1152}, /* h */ + {8, 1168}, /* i */ + {8, 1184}, /* j */ + {8, 1200}, /* k */ + {8, 1216}, /* l */ + {8, 1232}, /* m */ + {8, 1248}, /* n */ + {8, 1264}, /* o */ + {8, 1280}, /* p */ + {8, 1296}, /* q */ + {8, 1312}, /* r */ + {8, 1328}, /* s */ + {8, 1344}, /* t */ + {8, 1360}, /* u */ + {8, 1376}, /* v */ + {8, 1392}, /* w */ + {8, 1408}, /* x */ + {8, 1424}, /* y */ + {8, 1440}, /* z */ + {8, 1456}, /* { */ + {8, 1472}, /* | */ + {8, 1488}, /* } */ + {8, 1504}, /* ~ */ +}; + +/* Font information for Bitstream Vera Sans Mono 9pt */ +const struct FONT_DEF Font_VeraMonoBold9pt ={8,16,' ','~', + bitstreamVeraSansMonoBold9ptCharBitmaps, /* Character bitmap array */ + bitstreamVeraSansMonoBold9ptCharDescriptors, /* Character decriptor array */ +}; diff --git a/lcd/veramonobold9.h b/lcd/veramonobold9.h new file mode 100644 index 0000000..60be22f --- /dev/null +++ b/lcd/veramonobold9.h @@ -0,0 +1,9 @@ +#ifndef __VERA_MONO_BOLD_9__ +#define __VERA_MONO_BOLD_9__ + +#include "fonts.h" + +/* Font data for Bitstream Vera Sans Mono Bold 9pt */ +extern const struct FONT_DEF bFont_VeraMonoBold9pt; + +#endif