32x64 3-color message board http://elektorembedded.blogspot.com/

Dependencies:   mbed

arial_8pt.c

Committer:
Clemo
Date:
2010-05-05
Revision:
0:7a63bd42cf24

File content as of revision 0:7a63bd42cf24:

/* 
**  Font data for Arial 8pt
*/

#include "font.h"
#include "arial_8pt.h"

/* Character bitmaps for Arial 8pt */
const uint8_t arial_8pt_char_bitmaps[] = 
{
    /* @0 ' ' (2 pixels wide) */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

    /* @10 '!' (1 pixels wide) */
    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 

    /* @20 '"' (3 pixels wide) */
    0xA0, 0xA0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

    /* @30 '#' (5 pixels wide) */
    0x28, 0x28, 0xF8, 0x50, 0x50, 0xF8, 0xA0, 0xA0, 0x00, 0x00, 

    /* @40 '$' (5 pixels wide) */
    0x70, 0xA8, 0xA0, 0x70, 0x28, 0x28, 0xA8, 0x70, 0x20, 0x00, 

    /* @50 '%' (9 pixels wide) */
    0x62, 0x00, 0x94, 0x00, 0x94, 0x00, 0x68, 0x00, 0x0B, 0x00, 0x14, 0x80, 0x14, 0x80, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 

    /* @70 '&' (6 pixels wide) */
    0x30, 0x48, 0x48, 0x30, 0x50, 0x8C, 0x88, 0x74, 0x00, 0x00, 

    /* @80 ''' (1 pixels wide) */
    0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

    /* @90 '(' (3 pixels wide) */
    0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x20, 

    /* @100 ')' (3 pixels wide) */
    0x80, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x80, 

    /* @110 '*' (3 pixels wide) */
    0x40, 0xE0, 0x40, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

    /* @120 '+' (5 pixels wide) */
    0x00, 0x00, 0x20, 0x20, 0xF8, 0x20, 0x20, 0x00, 0x00, 0x00, 

    /* @130 ',' (1 pixels wide) */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 

    /* @140 '-' (3 pixels wide) */
    0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 

    /* @150 '.' (1 pixels wide) */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 

    /* @160 '/' (3 pixels wide) */
    0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 

    /* @170 '0' (5 pixels wide) */
    0x70, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 

    /* @180 '1' (3 pixels wide) */
    0x20, 0x60, 0xA0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 

    /* @190 '2' (5 pixels wide) */
    0x70, 0x88, 0x08, 0x08, 0x10, 0x20, 0x40, 0xF8, 0x00, 0x00, 

    /* @200 '3' (5 pixels wide) */
    0x70, 0x88, 0x08, 0x30, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 

    /* @210 '4' (5 pixels wide) */
    0x10, 0x30, 0x50, 0x50, 0x90, 0xF8, 0x10, 0x10, 0x00, 0x00, 

    /* @220 '5' (5 pixels wide) */
    0x78, 0x40, 0x80, 0xF0, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 

    /* @230 '6' (5 pixels wide) */
    0x70, 0x88, 0x80, 0xF0, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 

    /* @240 '7' (5 pixels wide) */
    0xF8, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x40, 0x00, 0x00, 

    /* @250 '8' (5 pixels wide) */
    0x70, 0x88, 0x88, 0x70, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 

    /* @260 '9' (5 pixels wide) */
    0x70, 0x88, 0x88, 0x88, 0x78, 0x08, 0x88, 0x70, 0x00, 0x00, 

    /* @270 ':' (1 pixels wide) */
    0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 

    /* @280 ';' (1 pixels wide) */
    0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 

    /* @290 '<' (5 pixels wide) */
    0x00, 0x00, 0x08, 0x70, 0x80, 0x70, 0x08, 0x00, 0x00, 0x00, 

    /* @300 '=' (5 pixels wide) */
    0x00, 0x00, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 

    /* @310 '>' (5 pixels wide) */
    0x00, 0x00, 0x80, 0x70, 0x08, 0x70, 0x80, 0x00, 0x00, 0x00, 

    /* @320 '?' (5 pixels wide) */
    0x70, 0x88, 0x08, 0x10, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00, 

    /* @330 '@' (10 pixels wide) */
    0x1F, 0x00, 0x60, 0x80, 0x4D, 0x40, 0x93, 0x40, 0xA2, 0x40, 0xA2, 0x40, 0xA6, 0x80, 0x9B, 0x00, 0x40, 0x40, 0x3F, 0x80, 

    /* @350 'A' (7 pixels wide) */
    0x10, 0x28, 0x28, 0x28, 0x44, 0x7C, 0x82, 0x82, 0x00, 0x00, 

    /* @360 'B' (6 pixels wide) */
    0xF8, 0x84, 0x84, 0xFC, 0x84, 0x84, 0x84, 0xF8, 0x00, 0x00, 

    /* @370 'C' (6 pixels wide) */
    0x38, 0x44, 0x80, 0x80, 0x80, 0x80, 0x44, 0x38, 0x00, 0x00, 

    /* @380 'D' (6 pixels wide) */
    0xF0, 0x88, 0x84, 0x84, 0x84, 0x84, 0x88, 0xF0, 0x00, 0x00, 

    /* @390 'E' (5 pixels wide) */
    0xF8, 0x80, 0x80, 0xF8, 0x80, 0x80, 0x80, 0xF8, 0x00, 0x00, 

    /* @400 'F' (5 pixels wide) */
    0xF8, 0x80, 0x80, 0xF0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 

    /* @410 'G' (7 pixels wide) */
    0x38, 0x44, 0x82, 0x80, 0x8E, 0x82, 0x44, 0x38, 0x00, 0x00, 

    /* @420 'H' (6 pixels wide) */
    0x84, 0x84, 0x84, 0xFC, 0x84, 0x84, 0x84, 0x84, 0x00, 0x00, 

    /* @430 'I' (1 pixels wide) */
    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 

    /* @440 'J' (4 pixels wide) */
    0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0x90, 0x60, 0x00, 0x00, 

    /* @450 'K' (6 pixels wide) */
    0x84, 0x88, 0x90, 0xB0, 0xD0, 0x88, 0x88, 0x84, 0x00, 0x00, 

    /* @460 'L' (5 pixels wide) */
    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xF8, 0x00, 0x00, 

    /* @470 'M' (7 pixels wide) */
    0x82, 0xC6, 0xC6, 0xAA, 0xAA, 0xAA, 0x92, 0x92, 0x00, 0x00, 

    /* @480 'N' (6 pixels wide) */
    0x84, 0xC4, 0xA4, 0xA4, 0x94, 0x94, 0x8C, 0x84, 0x00, 0x00, 

    /* @490 'O' (7 pixels wide) */
    0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38, 0x00, 0x00, 

    /* @500 'P' (5 pixels wide) */
    0xF0, 0x88, 0x88, 0x88, 0xF0, 0x80, 0x80, 0x80, 0x00, 0x00, 

    /* @510 'Q' (7 pixels wide) */
    0x38, 0x44, 0x82, 0x82, 0x82, 0x9A, 0x44, 0x3A, 0x00, 0x00, 

    /* @520 'R' (6 pixels wide) */
    0xF8, 0x84, 0x84, 0xF8, 0x90, 0x88, 0x88, 0x84, 0x00, 0x00, 

    /* @530 'S' (6 pixels wide) */
    0x78, 0x84, 0x80, 0x60, 0x18, 0x04, 0x84, 0x78, 0x00, 0x00, 

    /* @540 'T' (5 pixels wide) */
    0xF8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 

    /* @550 'U' (6 pixels wide) */
    0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x78, 0x00, 0x00, 

    /* @560 'V' (7 pixels wide) */
    0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x00, 0x00, 

    /* @570 'W' (11 pixels wide) */
    0x84, 0x20, 0x8A, 0x20, 0x4A, 0x40, 0x4A, 0x40, 0x51, 0x40, 0x51, 0x40, 0x20, 0x80, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 

    /* @590 'X' (6 pixels wide) */
    0x84, 0x48, 0x48, 0x30, 0x30, 0x48, 0x48, 0x84, 0x00, 0x00, 

    /* @600 'Y' (7 pixels wide) */
    0x82, 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 

    /* @610 'Z' (6 pixels wide) */
    0x7C, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0xFC, 0x00, 0x00, 

    /* @620 '[' (2 pixels wide) */
    0xC0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, 

    /* @630 '\' (3 pixels wide) */
    0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x00, 0x00, 

    /* @640 ']' (2 pixels wide) */
    0xC0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC0, 

    /* @650 '^' (5 pixels wide) */
    0x20, 0x50, 0x50, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

    /* @660 '_' (6 pixels wide) */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 

    /* @670 '`' (2 pixels wide) */
    0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 

    /* @680 'a' (5 pixels wide) */
    0x00, 0x00, 0x70, 0x88, 0x78, 0x88, 0x98, 0x68, 0x00, 0x00, 

    /* @690 'b' (5 pixels wide) */
    0x80, 0x80, 0xB0, 0xC8, 0x88, 0x88, 0xC8, 0xB0, 0x00, 0x00, 

    /* @700 'c' (5 pixels wide) */
    0x00, 0x00, 0x70, 0x88, 0x80, 0x80, 0x88, 0x70, 0x00, 0x00, 

    /* @710 'd' (5 pixels wide) */
    0x08, 0x08, 0x68, 0x98, 0x88, 0x88, 0x98, 0x68, 0x00, 0x00, 

    /* @720 'e' (5 pixels wide) */
    0x00, 0x00, 0x70, 0x88, 0xF8, 0x80, 0x88, 0x70, 0x00, 0x00, 

    /* @730 'f' (3 pixels wide) */
    0x20, 0x40, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 

    /* @740 'g' (5 pixels wide) */
    0x00, 0x00, 0x68, 0x98, 0x88, 0x88, 0x98, 0x68, 0x08, 0xF0, 

    /* @750 'h' (5 pixels wide) */
    0x80, 0x80, 0xB0, 0xC8, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 

    /* @760 'i' (1 pixels wide) */
    0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 

    /* @770 'j' (2 pixels wide) */
    0x40, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 

    /* @780 'k' (4 pixels wide) */
    0x80, 0x80, 0x90, 0xA0, 0xC0, 0xA0, 0xA0, 0x90, 0x00, 0x00, 

    /* @790 'l' (1 pixels wide) */
    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 

    /* @800 'm' (7 pixels wide) */
    0x00, 0x00, 0xBC, 0xD2, 0x92, 0x92, 0x92, 0x92, 0x00, 0x00, 

    /* @810 'n' (5 pixels wide) */
    0x00, 0x00, 0xF0, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 

    /* @820 'o' (5 pixels wide) */
    0x00, 0x00, 0x70, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 

    /* @830 'p' (5 pixels wide) */
    0x00, 0x00, 0xB0, 0xC8, 0x88, 0x88, 0xC8, 0xB0, 0x80, 0x80, 

    /* @840 'q' (5 pixels wide) */
    0x00, 0x00, 0x68, 0x98, 0x88, 0x88, 0x98, 0x68, 0x08, 0x08, 

    /* @850 'r' (3 pixels wide) */
    0x00, 0x00, 0xA0, 0xC0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 

    /* @860 's' (5 pixels wide) */
    0x00, 0x00, 0x70, 0x88, 0x60, 0x10, 0x88, 0x70, 0x00, 0x00, 

    /* @870 't' (3 pixels wide) */
    0x40, 0x40, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x60, 0x00, 0x00, 

    /* @880 'u' (5 pixels wide) */
    0x00, 0x00, 0x88, 0x88, 0x88, 0x88, 0x98, 0x68, 0x00, 0x00, 

    /* @890 'v' (5 pixels wide) */
    0x00, 0x00, 0x88, 0x88, 0x50, 0x50, 0x20, 0x20, 0x00, 0x00, 

    /* @900 'w' (9 pixels wide) */
    0x00, 0x00, 0x00, 0x00, 0x88, 0x80, 0x94, 0x80, 0x55, 0x00, 0x55, 0x00, 0x22, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 

    /* @920 'x' (5 pixels wide) */
    0x00, 0x00, 0x88, 0x50, 0x20, 0x20, 0x50, 0x88, 0x00, 0x00, 

    /* @930 'y' (5 pixels wide) */
    0x00, 0x00, 0x88, 0x88, 0x50, 0x50, 0x20, 0x20, 0x20, 0x40, 

    /* @940 'z' (5 pixels wide) */
    0x00, 0x00, 0xF8, 0x10, 0x20, 0x20, 0x40, 0xF8, 0x00, 0x00, 

    /* @950 '{' (3 pixels wide) */
    0x20, 0x40, 0x40, 0x40, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 

    /* @960 '|' (1 pixels wide) */
    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 

    /* @970 '}' (3 pixels wide) */
    0x80, 0x40, 0x40, 0x40, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 

    /* @980 '~' (5 pixels wide) */
    0x00, 0x00, 0x00, 0xE8, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 
};

/* Character descriptors for Arial 8pt */
/* { [Char width in bits], [Offset into arial8ptCharBitmaps in bytes] } */
const FONT_CHAR_INFO arial_8pt_char_descriptors[] =
{
    {2, 0},         /*   */
    {1, 10},         /* ! */
    {3, 20},         /* " */
    {5, 30},         /* # */
    {5, 40},         /* $ */
    {9, 50},         /* % */
    {6, 70},         /* & */
    {1, 80},         /* ' */
    {3, 90},         /* ( */
    {3, 100},         /* ) */
    {3, 110},         /* * */
    {5, 120},         /* + */
    {1, 130},         /* , */
    {3, 140},         /* - */
    {1, 150},         /* . */
    {3, 160},         /* / */
    {5, 170},         /* 0 */
    {3, 180},         /* 1 */
    {5, 190},         /* 2 */
    {5, 200},         /* 3 */
    {5, 210},         /* 4 */
    {5, 220},         /* 5 */
    {5, 230},         /* 6 */
    {5, 240},         /* 7 */
    {5, 250},         /* 8 */
    {5, 260},         /* 9 */
    {1, 270},         /* : */
    {1, 280},         /* ; */
    {5, 290},         /* < */
    {5, 300},         /* = */
    {5, 310},         /* > */
    {5, 320},         /* ? */
    {10, 330},         /* @ */
    {7, 350},         /* A */
    {6, 360},         /* B */
    {6, 370},         /* C */
    {6, 380},         /* D */
    {5, 390},         /* E */
    {5, 400},         /* F */
    {7, 410},         /* G */
    {6, 420},         /* H */
    {1, 430},         /* I */
    {4, 440},         /* J */
    {6, 450},         /* K */
    {5, 460},         /* L */
    {7, 470},         /* M */
    {6, 480},         /* N */
    {7, 490},         /* O */
    {5, 500},         /* P */
    {7, 510},         /* Q */
    {6, 520},         /* R */
    {6, 530},         /* S */
    {5, 540},         /* T */
    {6, 550},         /* U */
    {7, 560},         /* V */
    {11, 570},         /* W */
    {6, 590},         /* X */
    {7, 600},         /* Y */
    {6, 610},         /* Z */
    {2, 620},         /* [ */
    {3, 630},         /* \ */
    {2, 640},         /* ] */
    {5, 650},         /* ^ */
    {6, 660},         /* _ */
    {2, 670},         /* ` */
    {5, 680},         /* a */
    {5, 690},         /* b */
    {5, 700},         /* c */
    {5, 710},         /* d */
    {5, 720},         /* e */
    {3, 730},         /* f */
    {5, 740},         /* g */
    {5, 750},         /* h */
    {1, 760},         /* i */
    {2, 770},         /* j */
    {4, 780},         /* k */
    {1, 790},         /* l */
    {7, 800},         /* m */
    {5, 810},         /* n */
    {5, 820},         /* o */
    {5, 830},         /* p */
    {5, 840},         /* q */
    {3, 850},         /* r */
    {5, 860},         /* s */
    {3, 870},         /* t */
    {5, 880},         /* u */
    {5, 890},         /* v */
    {9, 900},         /* w */
    {5, 920},         /* x */
    {5, 930},         /* y */
    {5, 940},         /* z */
    {3, 950},         /* { */
    {1, 960},         /* | */
    {3, 970},         /* } */
    {5, 980},         /* ~ */
};

/* Font information for Arial 8pt */
const FONT_INFO arial_8pt_font_info =
{
    10, /*  Character height in bits */
    ' ', /*  Start character */
    arial_8pt_char_descriptors, /*  Character decriptor array */
    arial_8pt_char_bitmaps, /*  Character bitmap array */
};