More fonts.

This commit is contained in:
Stefan `Sec` Zehl 2011-05-12 01:37:26 +02:00
parent 989bd55288
commit 68ef7299ee
20 changed files with 8157 additions and 27 deletions

View File

@ -8,7 +8,16 @@ TARGET = LPC13xx
OBJS = OBJS =
OBJS += smallfonts.o 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 += veramono9.o
OBJS += veramonobold11.o
OBJS += veramonobold9.o
OBJS += display.o OBJS += display.o
OBJS += render.o OBJS += render.o

823
lcd/dejavusans9.c Normal file
View File

@ -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 */
};

8
lcd/dejavusans9.h Normal file
View File

@ -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

910
lcd/dejavusansbold9.c Normal file
View File

@ -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 */
};

8
lcd/dejavusansbold9.h Normal file
View File

@ -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

771
lcd/dejavusanscondensed9.c Normal file
View File

@ -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 */
};

View File

@ -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

1066
lcd/dejavusansmono8.c Normal file

File diff suppressed because it is too large Load Diff

8
lcd/dejavusansmono8.h Normal file
View File

@ -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

1066
lcd/dejavusansmonobold8.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -9,7 +9,7 @@
typedef struct { typedef struct {
const uint8_t widthBits; // width, in bits (or pixels), of the character const uint8_t widthBits; // width, in bits (or pixels), of the character
const uint16_t offset; // offset of the character's bitmap, in bytes, 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; } FONT_CHAR_INFO;

View File

@ -7,54 +7,84 @@ const struct FONT_DEF * font = NULL;
char font_direction = FONT_DIR_LTR; char font_direction = FONT_DIR_LTR;
/* Exported Functions */ /* Exported Functions */
int DoChar(int sx, int sy, char c){ 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 rx=RESX-sx-1;
int ry=RESY-sy-font->u8Height; 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(c<font->u8FirstChar || c>font->u8LastChar) if(c<font->u8FirstChar || c>font->u8LastChar)
c=font->u8FirstChar+1; // error c=font->u8FirstChar+1; // error
int off; /* starting offset into character source data */
int x; 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; int byte;
unsigned char mask;
/* print forward or backward? */
int dmul=0; int dmul=0;
if(font_direction==FONT_DIR_RTL) if(font_direction==FONT_DIR_RTL)
dmul=1; dmul=1;
else if (font_direction==FONT_DIR_LTR) else if (font_direction==FONT_DIR_LTR)
dmul=-1; dmul=-1;
off=(c-font->u8FirstChar)*font->u8Width;
/* break down the position on byte boundaries */
char yidx=ry/8; char yidx=ry/8;
if(0 && sy%8==0){ char yoff=ry%8;
for(x=0;x<font->u8Width;x++){
buffer[(sx+x)+yidx*96]=font->au8FontTable[off+x]; /* 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) if(font_direction==FONT_DIR_LTR)
flip(mask); flip(mask);
for(x=0;x<font->u8Width;x++){ for(x=0;x<font->u8Width;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) if(font_direction==FONT_DIR_LTR)
flip(byte); 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)<<yoff);
buffer[(rx+dmul*x)+yidx*96]|=byte<<yoff;
buffer[(rx+dmul*x)+(yidx+1)*96]&=~((mask)>>(8-yoff)); buffer[(rx+dmul*x)+(yidx+y)*RESX]&=~mask;
buffer[(rx+dmul*x)+(yidx+1)*96]|=byte>>(8-yoff); buffer[(rx+dmul*x)+(yidx+y)*RESX]|=byte;
}; };
}; };
return sx-dmul*x; return sx-dmul*x;

1161
lcd/veramono11.c Normal file

File diff suppressed because it is too large Load Diff

9
lcd/veramono11.h Normal file
View File

@ -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

View File

@ -1060,7 +1060,7 @@ const FONT_CHAR_INFO bitstreamVeraSansMono9ptCharDescriptors[] =
}; };
/* Font information for Bitstream Vera Sans Mono 9pt */ /* 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, bitstreamVeraSansMono9ptCharBitmaps,
bitstreamVeraSansMono9ptCharDescriptors bitstreamVeraSansMono9ptCharDescriptors
}; };

1161
lcd/veramonobold11.c Normal file

File diff suppressed because it is too large Load Diff

9
lcd/veramonobold11.h Normal file
View File

@ -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

1066
lcd/veramonobold9.c Normal file

File diff suppressed because it is too large Load Diff

9
lcd/veramonobold9.h Normal file
View File

@ -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