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

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers arial_8pt.c Source File

arial_8pt.c

00001 /* 
00002 **  Font data for Arial 8pt
00003 */
00004 
00005 #include "font.h"
00006 #include "arial_8pt.h"
00007 
00008 /* Character bitmaps for Arial 8pt */
00009 const uint8_t arial_8pt_char_bitmaps[] = 
00010 {
00011     /* @0 ' ' (2 pixels wide) */
00012     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
00013 
00014     /* @10 '!' (1 pixels wide) */
00015     0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 
00016 
00017     /* @20 '"' (3 pixels wide) */
00018     0xA0, 0xA0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
00019 
00020     /* @30 '#' (5 pixels wide) */
00021     0x28, 0x28, 0xF8, 0x50, 0x50, 0xF8, 0xA0, 0xA0, 0x00, 0x00, 
00022 
00023     /* @40 '$' (5 pixels wide) */
00024     0x70, 0xA8, 0xA0, 0x70, 0x28, 0x28, 0xA8, 0x70, 0x20, 0x00, 
00025 
00026     /* @50 '%' (9 pixels wide) */
00027     0x62, 0x00, 0x94, 0x00, 0x94, 0x00, 0x68, 0x00, 0x0B, 0x00, 0x14, 0x80, 0x14, 0x80, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 
00028 
00029     /* @70 '&' (6 pixels wide) */
00030     0x30, 0x48, 0x48, 0x30, 0x50, 0x8C, 0x88, 0x74, 0x00, 0x00, 
00031 
00032     /* @80 ''' (1 pixels wide) */
00033     0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
00034 
00035     /* @90 '(' (3 pixels wide) */
00036     0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x20, 
00037 
00038     /* @100 ')' (3 pixels wide) */
00039     0x80, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x80, 
00040 
00041     /* @110 '*' (3 pixels wide) */
00042     0x40, 0xE0, 0x40, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
00043 
00044     /* @120 '+' (5 pixels wide) */
00045     0x00, 0x00, 0x20, 0x20, 0xF8, 0x20, 0x20, 0x00, 0x00, 0x00, 
00046 
00047     /* @130 ',' (1 pixels wide) */
00048     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 
00049 
00050     /* @140 '-' (3 pixels wide) */
00051     0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 
00052 
00053     /* @150 '.' (1 pixels wide) */
00054     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 
00055 
00056     /* @160 '/' (3 pixels wide) */
00057     0x20, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 
00058 
00059     /* @170 '0' (5 pixels wide) */
00060     0x70, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 
00061 
00062     /* @180 '1' (3 pixels wide) */
00063     0x20, 0x60, 0xA0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 
00064 
00065     /* @190 '2' (5 pixels wide) */
00066     0x70, 0x88, 0x08, 0x08, 0x10, 0x20, 0x40, 0xF8, 0x00, 0x00, 
00067 
00068     /* @200 '3' (5 pixels wide) */
00069     0x70, 0x88, 0x08, 0x30, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 
00070 
00071     /* @210 '4' (5 pixels wide) */
00072     0x10, 0x30, 0x50, 0x50, 0x90, 0xF8, 0x10, 0x10, 0x00, 0x00, 
00073 
00074     /* @220 '5' (5 pixels wide) */
00075     0x78, 0x40, 0x80, 0xF0, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 
00076 
00077     /* @230 '6' (5 pixels wide) */
00078     0x70, 0x88, 0x80, 0xF0, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 
00079 
00080     /* @240 '7' (5 pixels wide) */
00081     0xF8, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x40, 0x00, 0x00, 
00082 
00083     /* @250 '8' (5 pixels wide) */
00084     0x70, 0x88, 0x88, 0x70, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 
00085 
00086     /* @260 '9' (5 pixels wide) */
00087     0x70, 0x88, 0x88, 0x88, 0x78, 0x08, 0x88, 0x70, 0x00, 0x00, 
00088 
00089     /* @270 ':' (1 pixels wide) */
00090     0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 
00091 
00092     /* @280 ';' (1 pixels wide) */
00093     0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 
00094 
00095     /* @290 '<' (5 pixels wide) */
00096     0x00, 0x00, 0x08, 0x70, 0x80, 0x70, 0x08, 0x00, 0x00, 0x00, 
00097 
00098     /* @300 '=' (5 pixels wide) */
00099     0x00, 0x00, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 
00100 
00101     /* @310 '>' (5 pixels wide) */
00102     0x00, 0x00, 0x80, 0x70, 0x08, 0x70, 0x80, 0x00, 0x00, 0x00, 
00103 
00104     /* @320 '?' (5 pixels wide) */
00105     0x70, 0x88, 0x08, 0x10, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00, 
00106 
00107     /* @330 '@' (10 pixels wide) */
00108     0x1F, 0x00, 0x60, 0x80, 0x4D, 0x40, 0x93, 0x40, 0xA2, 0x40, 0xA2, 0x40, 0xA6, 0x80, 0x9B, 0x00, 0x40, 0x40, 0x3F, 0x80, 
00109 
00110     /* @350 'A' (7 pixels wide) */
00111     0x10, 0x28, 0x28, 0x28, 0x44, 0x7C, 0x82, 0x82, 0x00, 0x00, 
00112 
00113     /* @360 'B' (6 pixels wide) */
00114     0xF8, 0x84, 0x84, 0xFC, 0x84, 0x84, 0x84, 0xF8, 0x00, 0x00, 
00115 
00116     /* @370 'C' (6 pixels wide) */
00117     0x38, 0x44, 0x80, 0x80, 0x80, 0x80, 0x44, 0x38, 0x00, 0x00, 
00118 
00119     /* @380 'D' (6 pixels wide) */
00120     0xF0, 0x88, 0x84, 0x84, 0x84, 0x84, 0x88, 0xF0, 0x00, 0x00, 
00121 
00122     /* @390 'E' (5 pixels wide) */
00123     0xF8, 0x80, 0x80, 0xF8, 0x80, 0x80, 0x80, 0xF8, 0x00, 0x00, 
00124 
00125     /* @400 'F' (5 pixels wide) */
00126     0xF8, 0x80, 0x80, 0xF0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 
00127 
00128     /* @410 'G' (7 pixels wide) */
00129     0x38, 0x44, 0x82, 0x80, 0x8E, 0x82, 0x44, 0x38, 0x00, 0x00, 
00130 
00131     /* @420 'H' (6 pixels wide) */
00132     0x84, 0x84, 0x84, 0xFC, 0x84, 0x84, 0x84, 0x84, 0x00, 0x00, 
00133 
00134     /* @430 'I' (1 pixels wide) */
00135     0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 
00136 
00137     /* @440 'J' (4 pixels wide) */
00138     0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0x90, 0x60, 0x00, 0x00, 
00139 
00140     /* @450 'K' (6 pixels wide) */
00141     0x84, 0x88, 0x90, 0xB0, 0xD0, 0x88, 0x88, 0x84, 0x00, 0x00, 
00142 
00143     /* @460 'L' (5 pixels wide) */
00144     0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xF8, 0x00, 0x00, 
00145 
00146     /* @470 'M' (7 pixels wide) */
00147     0x82, 0xC6, 0xC6, 0xAA, 0xAA, 0xAA, 0x92, 0x92, 0x00, 0x00, 
00148 
00149     /* @480 'N' (6 pixels wide) */
00150     0x84, 0xC4, 0xA4, 0xA4, 0x94, 0x94, 0x8C, 0x84, 0x00, 0x00, 
00151 
00152     /* @490 'O' (7 pixels wide) */
00153     0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38, 0x00, 0x00, 
00154 
00155     /* @500 'P' (5 pixels wide) */
00156     0xF0, 0x88, 0x88, 0x88, 0xF0, 0x80, 0x80, 0x80, 0x00, 0x00, 
00157 
00158     /* @510 'Q' (7 pixels wide) */
00159     0x38, 0x44, 0x82, 0x82, 0x82, 0x9A, 0x44, 0x3A, 0x00, 0x00, 
00160 
00161     /* @520 'R' (6 pixels wide) */
00162     0xF8, 0x84, 0x84, 0xF8, 0x90, 0x88, 0x88, 0x84, 0x00, 0x00, 
00163 
00164     /* @530 'S' (6 pixels wide) */
00165     0x78, 0x84, 0x80, 0x60, 0x18, 0x04, 0x84, 0x78, 0x00, 0x00, 
00166 
00167     /* @540 'T' (5 pixels wide) */
00168     0xF8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 
00169 
00170     /* @550 'U' (6 pixels wide) */
00171     0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x78, 0x00, 0x00, 
00172 
00173     /* @560 'V' (7 pixels wide) */
00174     0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x00, 0x00, 
00175 
00176     /* @570 'W' (11 pixels wide) */
00177     0x84, 0x20, 0x8A, 0x20, 0x4A, 0x40, 0x4A, 0x40, 0x51, 0x40, 0x51, 0x40, 0x20, 0x80, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 
00178 
00179     /* @590 'X' (6 pixels wide) */
00180     0x84, 0x48, 0x48, 0x30, 0x30, 0x48, 0x48, 0x84, 0x00, 0x00, 
00181 
00182     /* @600 'Y' (7 pixels wide) */
00183     0x82, 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 
00184 
00185     /* @610 'Z' (6 pixels wide) */
00186     0x7C, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0xFC, 0x00, 0x00, 
00187 
00188     /* @620 '[' (2 pixels wide) */
00189     0xC0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, 
00190 
00191     /* @630 '\' (3 pixels wide) */
00192     0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x00, 0x00, 
00193 
00194     /* @640 ']' (2 pixels wide) */
00195     0xC0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC0, 
00196 
00197     /* @650 '^' (5 pixels wide) */
00198     0x20, 0x50, 0x50, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
00199 
00200     /* @660 '_' (6 pixels wide) */
00201     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 
00202 
00203     /* @670 '`' (2 pixels wide) */
00204     0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
00205 
00206     /* @680 'a' (5 pixels wide) */
00207     0x00, 0x00, 0x70, 0x88, 0x78, 0x88, 0x98, 0x68, 0x00, 0x00, 
00208 
00209     /* @690 'b' (5 pixels wide) */
00210     0x80, 0x80, 0xB0, 0xC8, 0x88, 0x88, 0xC8, 0xB0, 0x00, 0x00, 
00211 
00212     /* @700 'c' (5 pixels wide) */
00213     0x00, 0x00, 0x70, 0x88, 0x80, 0x80, 0x88, 0x70, 0x00, 0x00, 
00214 
00215     /* @710 'd' (5 pixels wide) */
00216     0x08, 0x08, 0x68, 0x98, 0x88, 0x88, 0x98, 0x68, 0x00, 0x00, 
00217 
00218     /* @720 'e' (5 pixels wide) */
00219     0x00, 0x00, 0x70, 0x88, 0xF8, 0x80, 0x88, 0x70, 0x00, 0x00, 
00220 
00221     /* @730 'f' (3 pixels wide) */
00222     0x20, 0x40, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 
00223 
00224     /* @740 'g' (5 pixels wide) */
00225     0x00, 0x00, 0x68, 0x98, 0x88, 0x88, 0x98, 0x68, 0x08, 0xF0, 
00226 
00227     /* @750 'h' (5 pixels wide) */
00228     0x80, 0x80, 0xB0, 0xC8, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 
00229 
00230     /* @760 'i' (1 pixels wide) */
00231     0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 
00232 
00233     /* @770 'j' (2 pixels wide) */
00234     0x40, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 
00235 
00236     /* @780 'k' (4 pixels wide) */
00237     0x80, 0x80, 0x90, 0xA0, 0xC0, 0xA0, 0xA0, 0x90, 0x00, 0x00, 
00238 
00239     /* @790 'l' (1 pixels wide) */
00240     0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 
00241 
00242     /* @800 'm' (7 pixels wide) */
00243     0x00, 0x00, 0xBC, 0xD2, 0x92, 0x92, 0x92, 0x92, 0x00, 0x00, 
00244 
00245     /* @810 'n' (5 pixels wide) */
00246     0x00, 0x00, 0xF0, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 
00247 
00248     /* @820 'o' (5 pixels wide) */
00249     0x00, 0x00, 0x70, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 
00250 
00251     /* @830 'p' (5 pixels wide) */
00252     0x00, 0x00, 0xB0, 0xC8, 0x88, 0x88, 0xC8, 0xB0, 0x80, 0x80, 
00253 
00254     /* @840 'q' (5 pixels wide) */
00255     0x00, 0x00, 0x68, 0x98, 0x88, 0x88, 0x98, 0x68, 0x08, 0x08, 
00256 
00257     /* @850 'r' (3 pixels wide) */
00258     0x00, 0x00, 0xA0, 0xC0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 
00259 
00260     /* @860 's' (5 pixels wide) */
00261     0x00, 0x00, 0x70, 0x88, 0x60, 0x10, 0x88, 0x70, 0x00, 0x00, 
00262 
00263     /* @870 't' (3 pixels wide) */
00264     0x40, 0x40, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x60, 0x00, 0x00, 
00265 
00266     /* @880 'u' (5 pixels wide) */
00267     0x00, 0x00, 0x88, 0x88, 0x88, 0x88, 0x98, 0x68, 0x00, 0x00, 
00268 
00269     /* @890 'v' (5 pixels wide) */
00270     0x00, 0x00, 0x88, 0x88, 0x50, 0x50, 0x20, 0x20, 0x00, 0x00, 
00271 
00272     /* @900 'w' (9 pixels wide) */
00273     0x00, 0x00, 0x00, 0x00, 0x88, 0x80, 0x94, 0x80, 0x55, 0x00, 0x55, 0x00, 0x22, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 
00274 
00275     /* @920 'x' (5 pixels wide) */
00276     0x00, 0x00, 0x88, 0x50, 0x20, 0x20, 0x50, 0x88, 0x00, 0x00, 
00277 
00278     /* @930 'y' (5 pixels wide) */
00279     0x00, 0x00, 0x88, 0x88, 0x50, 0x50, 0x20, 0x20, 0x20, 0x40, 
00280 
00281     /* @940 'z' (5 pixels wide) */
00282     0x00, 0x00, 0xF8, 0x10, 0x20, 0x20, 0x40, 0xF8, 0x00, 0x00, 
00283 
00284     /* @950 '{' (3 pixels wide) */
00285     0x20, 0x40, 0x40, 0x40, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 
00286 
00287     /* @960 '|' (1 pixels wide) */
00288     0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 
00289 
00290     /* @970 '}' (3 pixels wide) */
00291     0x80, 0x40, 0x40, 0x40, 0x20, 0x40, 0x40, 0x40, 0x40, 0x80, 
00292 
00293     /* @980 '~' (5 pixels wide) */
00294     0x00, 0x00, 0x00, 0xE8, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 
00295 };
00296 
00297 /* Character descriptors for Arial 8pt */
00298 /* { [Char width in bits], [Offset into arial8ptCharBitmaps in bytes] } */
00299 const FONT_CHAR_INFO arial_8pt_char_descriptors[] =
00300 {
00301     {2, 0},         /*   */
00302     {1, 10},         /* ! */
00303     {3, 20},         /* " */
00304     {5, 30},         /* # */
00305     {5, 40},         /* $ */
00306     {9, 50},         /* % */
00307     {6, 70},         /* & */
00308     {1, 80},         /* ' */
00309     {3, 90},         /* ( */
00310     {3, 100},         /* ) */
00311     {3, 110},         /* * */
00312     {5, 120},         /* + */
00313     {1, 130},         /* , */
00314     {3, 140},         /* - */
00315     {1, 150},         /* . */
00316     {3, 160},         /* / */
00317     {5, 170},         /* 0 */
00318     {3, 180},         /* 1 */
00319     {5, 190},         /* 2 */
00320     {5, 200},         /* 3 */
00321     {5, 210},         /* 4 */
00322     {5, 220},         /* 5 */
00323     {5, 230},         /* 6 */
00324     {5, 240},         /* 7 */
00325     {5, 250},         /* 8 */
00326     {5, 260},         /* 9 */
00327     {1, 270},         /* : */
00328     {1, 280},         /* ; */
00329     {5, 290},         /* < */
00330     {5, 300},         /* = */
00331     {5, 310},         /* > */
00332     {5, 320},         /* ? */
00333     {10, 330},         /* @ */
00334     {7, 350},         /* A */
00335     {6, 360},         /* B */
00336     {6, 370},         /* C */
00337     {6, 380},         /* D */
00338     {5, 390},         /* E */
00339     {5, 400},         /* F */
00340     {7, 410},         /* G */
00341     {6, 420},         /* H */
00342     {1, 430},         /* I */
00343     {4, 440},         /* J */
00344     {6, 450},         /* K */
00345     {5, 460},         /* L */
00346     {7, 470},         /* M */
00347     {6, 480},         /* N */
00348     {7, 490},         /* O */
00349     {5, 500},         /* P */
00350     {7, 510},         /* Q */
00351     {6, 520},         /* R */
00352     {6, 530},         /* S */
00353     {5, 540},         /* T */
00354     {6, 550},         /* U */
00355     {7, 560},         /* V */
00356     {11, 570},         /* W */
00357     {6, 590},         /* X */
00358     {7, 600},         /* Y */
00359     {6, 610},         /* Z */
00360     {2, 620},         /* [ */
00361     {3, 630},         /* \ */
00362     {2, 640},         /* ] */
00363     {5, 650},         /* ^ */
00364     {6, 660},         /* _ */
00365     {2, 670},         /* ` */
00366     {5, 680},         /* a */
00367     {5, 690},         /* b */
00368     {5, 700},         /* c */
00369     {5, 710},         /* d */
00370     {5, 720},         /* e */
00371     {3, 730},         /* f */
00372     {5, 740},         /* g */
00373     {5, 750},         /* h */
00374     {1, 760},         /* i */
00375     {2, 770},         /* j */
00376     {4, 780},         /* k */
00377     {1, 790},         /* l */
00378     {7, 800},         /* m */
00379     {5, 810},         /* n */
00380     {5, 820},         /* o */
00381     {5, 830},         /* p */
00382     {5, 840},         /* q */
00383     {3, 850},         /* r */
00384     {5, 860},         /* s */
00385     {3, 870},         /* t */
00386     {5, 880},         /* u */
00387     {5, 890},         /* v */
00388     {9, 900},         /* w */
00389     {5, 920},         /* x */
00390     {5, 930},         /* y */
00391     {5, 940},         /* z */
00392     {3, 950},         /* { */
00393     {1, 960},         /* | */
00394     {3, 970},         /* } */
00395     {5, 980},         /* ~ */
00396 };
00397 
00398 /* Font information for Arial 8pt */
00399 const FONT_INFO arial_8pt_font_info =
00400 {
00401     10, /*  Character height in bits */
00402     ' ', /*  Start character */
00403     arial_8pt_char_descriptors, /*  Character decriptor array */
00404     arial_8pt_char_bitmaps, /*  Character bitmap array */
00405 };