Clemens Valens
/
LED_panel
32x64 3-color message board http://elektorembedded.blogspot.com/
Embed:
(wiki syntax)
Show/hide line numbers
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 };
Generated on Thu Jul 14 2022 01:11:21 by 1.7.2