4 * Copyright (C) 2001 Bernardo Innocenti <bernie@codewiz.org>
5 * Copyright (C) 2003,2004 Develer S.r.l. (http://www.develer.com/)
6 * This file is part of DevLib - See devlib/README for information.
11 * \author Bernardo Innocenti <bernie@develer.com>
13 * \brief Font 8x6 IBM-PC 8bit
18 * Revision 1.2 2004/06/03 11:27:09 bernie
19 * Add dual-license information.
21 * Revision 1.1 2004/05/23 15:43:16 bernie
22 * Import mware modules.
24 * Revision 1.5 2004/03/24 15:48:53 bernie
25 * Remove Copyright messages from Doxygen output
27 * Revision 1.4 2004/03/03 18:30:17 bernie
28 * Substitute left triangle glyph with left arrow
30 * Revision 1.3 2004/02/28 14:48:33 aleph
31 * Improve arrow glyphs
33 * Revision 1.2 2004/01/13 12:15:28 aleph
34 * Move font table in program memory; add font.h
36 * Revision 1.1 2004/01/07 23:31:54 aleph
43 const prog_uchar font[256 * 6] =
46 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* */
47 0x3E, 0x45, 0x51, 0x45, 0x3E, 0x00, /* */
48 0x3E, 0x7B, 0x6F, 0x7B, 0x3E, 0x00, /* */
49 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, /* */
50 0x08, 0x1C, 0x3E, 0x1C, 0x08, 0x00, /* */
51 0x18, 0x5A, 0x67, 0x5A, 0x18, 0x00, /* */
52 0x0C, 0x5E, 0x6F, 0x5E, 0x0C, 0x00, /* */
53 0x08, 0x1C, 0x3E, 0x1C, 0x08, 0x00, /* */
55 0x77, 0x63, 0x41, 0x63, 0x77, 0x00, /* */
56 0x18, 0x3C, 0x66, 0x3C, 0x18, 0x00, /* */
57 0x77, 0x63, 0x41, 0x63, 0x77, 0x00, /* */
58 0x20, 0x50, 0x5A, 0x56, 0x2E, 0x00, /* */
59 0x06, 0x29, 0x79, 0x29, 0x06, 0x00, /* */
60 0x60, 0x60, 0x7F, 0x05, 0x07, 0x00, /* */
61 0x18, 0x1F, 0x01, 0x61, 0x7F, 0x00, /* */
62 0x15, 0x0E, 0x1B, 0x0E, 0x15, 0x00, /* */
64 0x00, 0x08, 0x1C, 0x3E, 0x08, 0x08, /* */
65 0x7F, 0x3E, 0x1C, 0x08, 0x00, 0x00, /* */
66 0x14, 0x36, 0x7F, 0x36, 0x14, 0x00, /* */
67 0x00, 0x5F, 0x00, 0x5F, 0x00, 0x00, /* */
68 0x02, 0x05, 0x7F, 0x01, 0x7F, 0x00, /* */
69 0x20, 0x4A, 0x55, 0x29, 0x02, 0x00, /* */
70 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, /* */
71 0x54, 0x76, 0x7F, 0x76, 0x54, 0x00, /* */
73 0x08, 0x0C, 0x7E, 0x0C, 0x08, 0x00, /* */
74 0x10, 0x30, 0x7E, 0x30, 0x10, 0x00, /* */
75 0x08, 0x08, 0x3E, 0x1C, 0x08, 0x00, /* */
76 0x08, 0x1C, 0x3E, 0x08, 0x08, 0x00, /* */
77 0x1C, 0x10, 0x10, 0x10, 0x10, 0x00, /* */
78 0x08, 0x1C, 0x08, 0x1C, 0x08, 0x00, /* */
79 0x18, 0x1C, 0x1E, 0x1C, 0x18, 0x00, /* */
80 0x0C, 0x1C, 0x3C, 0x1C, 0x0C, 0x00, /* */
82 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* */
83 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, /* ! */
84 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, /* " */
85 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, /* # */
86 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, /* $ */
87 0x63, 0x13, 0x08, 0x64, 0x63, 0x00, /* % */
88 0x36, 0x49, 0x55, 0x22, 0x50, 0x00, /* & */
89 0x00, 0x05, 0x03, 0x00, 0x00, 0x00, /* ' */
91 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, /* ( */
92 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, /* ) */
93 0x14, 0x08, 0x3E, 0x08, 0x14, 0x00, /* * */
94 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, /* + */
95 0x00, 0x50, 0x30, 0x00, 0x00, 0x00, /* , */
96 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, /* - */
97 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, /* . */
98 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, /* / */
100 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, /* 0 */
101 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, /* 1 */
102 0x62, 0x51, 0x49, 0x49, 0x46, 0x00, /* 2 */
103 0x21, 0x41, 0x45, 0x4B, 0x31, 0x00, /* 3 */
104 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, /* 4 */
105 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, /* 5 */
106 0x3C, 0x4A, 0x49, 0x49, 0x30, 0x00, /* 6 */
107 0x01, 0x71, 0x09, 0x05, 0x03, 0x00, /* 7 */
109 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, /* 8 */
110 0x06, 0x49, 0x49, 0x29, 0x1E, 0x00, /* 9 */
111 0x00, 0x36, 0x36, 0x00, 0x00, 0x00, /* : */
112 0x00, 0x56, 0x36, 0x00, 0x00, 0x00, /* ; */
113 0x08, 0x14, 0x22, 0x41, 0x00, 0x00, /* < */
114 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, /* = */
115 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, /* > */
116 0x02, 0x01, 0x51, 0x09, 0x06, 0x00, /* ? */
118 0x32, 0x49, 0x79, 0x41, 0x3E, 0x00, /* @ */
119 0x7E, 0x09, 0x09, 0x09, 0x7E, 0x00, /* A */
120 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, /* B */
121 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, /* C */
122 0x7F, 0x41, 0x41, 0x22, 0x1C, 0x00, /* D */
123 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, /* E */
124 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, /* F */
125 0x3E, 0x41, 0x49, 0x49, 0x7A, 0x00, /* G */
127 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, /* H */
128 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, /* I */
129 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, /* J */
130 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, /* K */
131 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, /* L */
132 0x7F, 0x02, 0x0C, 0x02, 0x7F, 0x00, /* M */
133 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, /* N */
134 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, /* O */
136 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, /* P */
137 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, /* Q */
138 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, /* R */
139 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, /* S */
140 0x01, 0x01, 0x7F, 0x01, 0x01, 0x00, /* T */
141 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, /* U */
142 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, /* V */
143 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, /* W */
145 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, /* X */
146 0x07, 0x08, 0x70, 0x08, 0x07, 0x00, /* Y */
147 0x61, 0x51, 0x49, 0x45, 0x43, 0x00, /* Z */
148 0x00, 0x7F, 0x41, 0x41, 0x00, 0x00, /* [ */
149 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, /* \ */
150 0x00, 0x41, 0x41, 0x7F, 0x00, 0x00, /* ] */
151 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, /* ^ */
152 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, /* _ */
154 0x00, 0x01, 0x02, 0x04, 0x00, 0x00, /* ` */
155 0x00, 0x74, 0x54, 0x54, 0x78, 0x00, /* a */
156 0x7F, 0x44, 0x44, 0x44, 0x38, 0x00, /* b */
157 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, /* c */
158 0x38, 0x44, 0x44, 0x44, 0x7F, 0x00, /* d */
159 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, /* e */
160 0x08, 0x7E, 0x09, 0x01, 0x02, 0x00, /* f */
161 0x08, 0x54, 0x54, 0x54, 0x3C, 0x00, /* g */
163 0x7F, 0x04, 0x04, 0x04, 0x78, 0x00, /* h */
164 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, /* i */
165 0x20, 0x40, 0x44, 0x3D, 0x00, 0x00, /* j */
166 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, /* k */
167 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, /* l */
168 0x7C, 0x04, 0x18, 0x04, 0x78, 0x00, /* m */
169 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, /* n */
170 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, /* o */
172 0x7C, 0x14, 0x14, 0x14, 0x08, 0x00, /* p */
173 0x08, 0x14, 0x14, 0x14, 0x7C, 0x00, /* q */
174 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, /* r */
175 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, /* s */
176 0x04, 0x3F, 0x44, 0x40, 0x20, 0x00, /* t */
177 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, /* u */
178 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, /* v */
179 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, /* w */
181 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, /* x */
182 0x0C, 0x50, 0x50, 0x50, 0x3C, 0x00, /* y */
183 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, /* z */
184 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, /* { */
185 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, /* | */
186 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, /* } */
187 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, /* ~ */
188 0x70, 0x48, 0x44, 0x48, 0x70, 0x00, /*
\7f */
190 0x38, 0xC4, 0xC4, 0x44, 0x28, 0x00, /*
\80 */
191 0x3A, 0x40, 0x40, 0x20, 0x7A, 0x00, /*
\81 */
192 0x38, 0x54, 0x54, 0x55, 0x19, 0x00, /*
\82 */
193 0x22, 0x55, 0x55, 0x55, 0x78, 0x00, /*
\83 */
194 0x20, 0x55, 0x54, 0x54, 0x79, 0x00, /*
\84 */
195 0x21, 0x75, 0x55, 0x54, 0x78, 0x00, /*
\85 */
196 0x20, 0x74, 0x57, 0x54, 0x78, 0x00, /*
\86 */
197 0x08, 0x54, 0x54, 0x74, 0x14, 0x00, /*
\87 */
199 0x3A, 0x55, 0x55, 0x55, 0x1A, 0x00, /*
\88 */
200 0x39, 0x54, 0x54, 0x55, 0x18, 0x00, /*
\89 */
201 0x39, 0x55, 0x55, 0x54, 0x18, 0x00, /*
\8a */
202 0x00, 0x45, 0x7C, 0x41, 0x00, 0x00, /*
\8b */
203 0x02, 0x45, 0x7D, 0x42, 0x00, 0x00, /*
\8c */
204 0x01, 0x45, 0x7D, 0x40, 0x00, 0x00, /*
\8d */
205 0x79, 0x14, 0x12, 0x14, 0x79, 0x00, /*
\8e */
206 0x70, 0x2B, 0x2B, 0x2B, 0x70, 0x00, /*
\8f */
208 0x7C, 0x54, 0x55, 0x55, 0x45, 0x00, /*
\90 */
209 0x20, 0x54, 0x38, 0x54, 0x48, 0x00, /*
\91 */
210 0x7E, 0x09, 0x7F, 0x49, 0x49, 0x00, /*
\92 */
211 0x32, 0x49, 0x49, 0x49, 0x32, 0x00, /*
\93 */
212 0x32, 0x48, 0x48, 0x48, 0x32, 0x00, /*
\94 */
213 0x32, 0x4A, 0x4A, 0x48, 0x30, 0x00, /*
\95 */
214 0x3A, 0x41, 0x41, 0x21, 0x7A, 0x00, /*
\96 */
215 0x3A, 0x42, 0x42, 0x20, 0x78, 0x00, /*
\97 */
217 0x0D, 0x50, 0x50, 0x50, 0x3D, 0x00, /*
\98 */
218 0x19, 0x24, 0x42, 0x24, 0x19, 0x00, /*
\99 */
219 0x3D, 0x40, 0x40, 0x40, 0x3D, 0x00, /*
\9a */
220 0x18, 0x24, 0x7E, 0x24, 0x24, 0x00, /*
\9b */
221 0x28, 0x5E, 0x29, 0x42, 0x20, 0x00, /*
\9c */
222 0x09, 0x2A, 0x7C, 0x2A, 0x09, 0x00, /*
\9d */
223 0x7F, 0x05, 0x15, 0x3D, 0x52, 0x00, /*
\9e */
224 0x20, 0x48, 0x3E, 0x09, 0x02, 0x00, /*
\9f */
226 0x20, 0x74, 0x55, 0x55, 0x79, 0x00, /* */
227 0x01, 0x45, 0x7D, 0x40, 0x00, 0x00, /* ¡ */
228 0x30, 0x48, 0x4A, 0x4A, 0x32, 0x00, /* ¢ */
229 0x38, 0x40, 0x42, 0x22, 0x7A, 0x00, /* £ */
230 0x7A, 0x12, 0x0A, 0x0A, 0x72, 0x00, /* ¤ */
231 0x7D, 0x09, 0x11, 0x21, 0x7D, 0x00, /* ¥ */
232 0x02, 0x15, 0x15, 0x12, 0x04, 0x00, /* ¦ */
233 0x02, 0x15, 0x15, 0x15, 0x02, 0x00, /* § */
235 0x30, 0x48, 0x45, 0x40, 0x20, 0x00, /* ¨ */
236 0x00, 0x38, 0x08, 0x08, 0x08, 0x00, /* © */
237 0x00, 0x08, 0x08, 0x08, 0x38, 0x00, /* ª */
238 0x0B, 0x04, 0x6A, 0x55, 0x48, 0x00, /* « */
239 0x0B, 0x24, 0x32, 0x79, 0x20, 0x00, /* ¬ */
240 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, /* */
241 0x08, 0x14, 0x2A, 0x14, 0x22, 0x00, /* ® */
242 0x22, 0x14, 0x2A, 0x14, 0x08, 0x00, /* ¯ */
244 0x2A, 0x55, 0x00, 0x2A, 0x55, 0x00, /* ° */
245 0x2A, 0x55, 0x2A, 0x55, 0x2A, 0x55, /* ± */
246 0x55, 0x2A, 0x7F, 0x55, 0x2A, 0x7F, /* ² */
247 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, /* ³ */
248 0x08, 0x08, 0xFF, 0x00, 0x00, 0x00, /* ´ */
249 0x14, 0x14, 0xFF, 0x00, 0x00, 0x00, /* µ */
250 0x08, 0xFF, 0x00, 0xFF, 0x00, 0x00, /* ¶ */
251 0x08, 0xF8, 0x08, 0xF8, 0x00, 0x00, /* · */
253 0x14, 0x14, 0xFC, 0x00, 0x00, 0x00, /* ¸ */
254 0x14, 0xF7, 0x00, 0xFF, 0x00, 0x00, /* ¹ */
255 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, /* º */
256 0x14, 0xF4, 0x04, 0xFC, 0x00, 0x00, /* » */
257 0x14, 0x17, 0x10, 0x1F, 0x00, 0x00, /* ¼ */
258 0x08, 0x0F, 0x08, 0x0F, 0x00, 0x00, /* ½ */
259 0x14, 0x14, 0x1F, 0x00, 0x00, 0x00, /* ¾ */
260 0x08, 0x08, 0xF8, 0x00, 0x00, 0x00, /* ¿ */
262 0x00, 0x00, 0x0F, 0x08, 0x08, 0x08, /* À */
263 0x08, 0x08, 0x0F, 0x08, 0x08, 0x08, /* Á */
264 0x08, 0x08, 0xF8, 0x08, 0x08, 0x08, /* Â */
265 0x00, 0x00, 0xFF, 0x08, 0x08, 0x08, /* Ã */
266 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, /* Ä */
267 0x08, 0x08, 0xFF, 0x08, 0x08, 0x08, /* Å */
268 0x00, 0x00, 0xFF, 0x14, 0x14, 0x14, /* Æ */
269 0x00, 0xFF, 0x00, 0xFF, 0x08, 0x08, /* Ç */
271 0x00, 0x1F, 0x10, 0x17, 0x14, 0x14, /* È */
272 0x00, 0xFC, 0x04, 0xF4, 0x14, 0x14, /* É */
273 0x28, 0x2F, 0x20, 0x2F, 0x28, 0x28, /* Ê */
274 0x14, 0xF4, 0x04, 0xF4, 0x14, 0x14, /* Ë */
275 0x00, 0xFF, 0x00, 0xF7, 0x14, 0x14, /* Ì */
276 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, /* Í */
277 0x14, 0xF7, 0x00, 0xF7, 0x14, 0x14, /* Î */
278 0x14, 0x14, 0xF7, 0x14, 0x14, 0x14, /* Ï */
280 0x08, 0x0F, 0x08, 0x0F, 0x08, 0x08, /* Ð */
281 0x14, 0x14, 0xF4, 0x14, 0x14, 0x14, /* Ñ */
282 0x08, 0x08, 0xF8, 0x08, 0x08, 0x08, /* Ò */
283 0x08, 0x0F, 0x08, 0x0F, 0x08, 0x08, /* Ó */
284 0x00, 0x00, 0x1F, 0x14, 0x14, 0x14, /* Ô */
285 0x00, 0x00, 0xFC, 0x14, 0x14, 0x14, /* Õ */
286 0x00, 0xF8, 0x08, 0xF8, 0x08, 0x08, /* Ö */
287 0x08, 0xFF, 0x08, 0xFF, 0x08, 0x08, /* × */
289 0x14, 0x14, 0xFF, 0x14, 0x14, 0x14, /* Ø */
290 0x08, 0x08, 0x0F, 0x00, 0x00, 0x00, /* Ù */
291 0x00, 0x00, 0xF8, 0x08, 0x08, 0x08, /* Ú */
292 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, /* Û */
293 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, /* Ü */
294 0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x00, /* Ý */
295 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, /* Þ */
296 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, /* ß */
298 0x30, 0x48, 0x48, 0x30, 0x48, 0x00, /* à */
299 0x7E, 0x11, 0x25, 0x25, 0x1A, 0x00, /* á */
300 0x7E, 0x02, 0x02, 0x02, 0x06, 0x00, /* â */
301 0x04, 0x7C, 0x04, 0x7C, 0x04, 0x00, /* ã */
302 0x41, 0x63, 0x55, 0x49, 0x63, 0x00, /* ä */
303 0x3C, 0x42, 0x4A, 0x4A, 0x31, 0x00, /* å */
304 0x40, 0x7C, 0x20, 0x20, 0x1C, 0x00, /* æ */
305 0x08, 0x04, 0x7C, 0x08, 0x04, 0x00, /* ç */
307 0x49, 0x55, 0x77, 0x55, 0x49, 0x00, /* è */
308 0x1C, 0x2A, 0x49, 0x2A, 0x1C, 0x00, /* é */
309 0x4C, 0x72, 0x02, 0x72, 0x4C, 0x00, /* ê */
310 0x30, 0x4A, 0x45, 0x49, 0x31, 0x00, /* ë */
311 0x18, 0x24, 0x18, 0x24, 0x18, 0x00, /* ì */
312 0x5C, 0x72, 0x2A, 0x27, 0x1D, 0x00, /* í */
313 0x1C, 0x2A, 0x49, 0x49, 0x00, 0x00, /* î */
314 0x7E, 0x01, 0x01, 0x01, 0x7E, 0x00, /* ï */
316 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x00, /* ð */
317 0x24, 0x24, 0x2E, 0x24, 0x24, 0x00, /* ñ */
318 0x40, 0x51, 0x4A, 0x44, 0x00, 0x00, /* ò */
319 0x44, 0x4A, 0x51, 0x40, 0x00, 0x00, /* ó */
320 0x00, 0x00, 0xFE, 0x01, 0x02, 0x00, /* ô */
321 0x20, 0x40, 0x3F, 0x00, 0x00, 0x00, /* õ */
322 0x08, 0x08, 0x2A, 0x08, 0x08, 0x00, /* ö */
323 0x24, 0x12, 0x24, 0x12, 0x00, 0x00, /* ÷ */
325 0x06, 0x09, 0x09, 0x09, 0x06, 0x00, /* ø */
326 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, /* ù */
327 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, /* ú */
328 0x10, 0x30, 0x7F, 0x01, 0x01, 0x00, /* û */
329 0x01, 0x0E, 0x01, 0x01, 0x0E, 0x00, /* ü */
330 0x0A, 0x09, 0x0D, 0x0A, 0x00, 0x00, /* ý */
331 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x00, /* þ */
332 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ÿ */