1use crate::text::{
2 ASCII_CENT, ASCII_CHECK, ASCII_CURRENCY, ASCII_DEGREE, ASCII_ELLIPSIS, ASCII_EURO, ASCII_POUND,
3 ASCII_YEN,
4};
5
6pub const CHAR_WIDTH: usize = 4;
9pub const CHAR_HEIGHT: usize = 4;
10
11pub const fn get_px_ascii(code: u8) -> &'static [bool] {
12 match code {
13 33 => &EXCLAIM,
14 34 => &DOUBLE_QUOTE,
15 35 => &HASH,
16 36 => &DOLLAR,
17 37 => &PERCENT,
18 38 => &ERSAND,
19 39 => "E,
20 40 => &PAREN_L,
21 41 => &PAREN_R,
22 42 => &ASTERISK,
23 43 => &PLUS,
24 44 => &COMMA,
25 45 => &MINUS,
26 46 => &PERIOD,
27 47 => &SLASH,
28 48 => &ZERO,
29 49 => &ONE,
30 50 => &TWO,
31 51 => &THREE,
32 52 => &FOUR,
33 53 => &FIVE,
34 54 => &SIX,
35 55 => &SEVEN,
36 56 => &EIGHT,
37 57 => &NINE,
38 58 => &COLON,
39 59 => &SEMICOLON,
40 60 => &ANGLE_L,
41 61 => &EQUALS,
42 62 => &ANGLE_R,
43 63 => &QUESTION,
44 64 => &AT,
45 65 => &A,
46 66 => &B,
47 67 => &C,
48 68 => &D,
49 69 => &E,
50 70 => &F,
51 71 => &G,
52 72 => &H,
53 73 => &I,
54 74 => &J,
55 75 => &K,
56 76 => &L,
57 77 => &M,
58 78 => &N,
59 79 => &O,
60 80 => &P,
61 81 => &Q,
62 82 => &R,
63 83 => &S,
64 84 => &T,
65 85 => &U,
66 86 => &V,
67 87 => &W,
68 88 => &X,
69 89 => &Y,
70 90 => &Z,
71 91 => &SQUARE_L,
72 92 => &BACKSLASH,
73 93 => &SQUARE_R,
74 95 => &UNDERSCORE,
75 94 => &POWER,
76 96 => &BACKTICK,
77 97 => &LOWER_A,
78 98 => &LOWER_B,
79 99 => &LOWER_C,
80 100 => &LOWER_D,
81 101 => &LOWER_E,
82 102 => &LOWER_F,
83 103 => &LOWER_G,
84 104 => &LOWER_H,
85 105 => &LOWER_I,
86 106 => &LOWER_J,
87 107 => &LOWER_K,
88 108 => &LOWER_L,
89 109 => &LOWER_M,
90 110 => &LOWER_N,
91 111 => &LOWER_O,
92 112 => &LOWER_P,
93 113 => &LOWER_Q,
94 114 => &LOWER_R,
95 115 => &LOWER_S,
96 116 => &LOWER_T,
97 117 => &LOWER_U,
98 118 => &LOWER_V,
99 119 => &LOWER_W,
100 120 => &LOWER_X,
101 121 => &LOWER_Y,
102 122 => &LOWER_Z,
103 123 => &CURLY_L,
104 124 => &PIPE,
105 125 => &CURLY_R,
106 126 => &TILDE,
107 ASCII_EURO => &EURO,
108 ASCII_ELLIPSIS => &ELLIPSIS,
109 ASCII_DEGREE => &DEGREE,
110 ASCII_POUND => &POUND,
111 ASCII_CURRENCY => &CURRENCY,
112 ASCII_YEN => &YEN,
113 ASCII_CENT => &CENT,
114 ASCII_CHECK => &CHECK,
115 _ => &UNKNOWN,
116 }
117}
118
119pub const LETTER_PX_COUNT: usize = CHAR_WIDTH * CHAR_HEIGHT;
120
121const AT: [bool; LETTER_PX_COUNT] = [
122 false, true, true, false, true, false, true, true, true, false, false, false, false, true,
123 true, false,
124];
125const A: [bool; LETTER_PX_COUNT] = [
126 false, true, true, false, true, false, false, true, true, true, true, true, true, false, false,
127 true,
128];
129const B: [bool; LETTER_PX_COUNT] = [
130 true, true, true, false, true, false, true, true, true, false, false, true, true, true, true,
131 false,
132];
133const C: [bool; LETTER_PX_COUNT] = [
134 false, true, true, true, true, false, false, false, true, false, false, false, false, true,
135 true, true,
136];
137const D: [bool; LETTER_PX_COUNT] = [
138 true, true, true, false, true, false, false, true, true, false, false, true, true, true, true,
139 false,
140];
141const E: [bool; LETTER_PX_COUNT] = [
142 true, true, true, true, true, false, false, false, true, true, true, false, true, true, true,
143 true,
144];
145const F: [bool; LETTER_PX_COUNT] = [
146 true, true, true, true, true, false, false, false, true, true, true, false, true, false, false,
147 false,
148];
149const G: [bool; LETTER_PX_COUNT] = [
150 false, true, true, true, true, false, false, false, true, false, false, true, false, true,
151 true, true,
152];
153const H: [bool; LETTER_PX_COUNT] = [
154 true, false, false, true, true, false, false, true, true, true, true, true, true, false, false,
155 true,
156];
157const I: [bool; LETTER_PX_COUNT] = [
158 true, true, true, false, false, true, false, false, false, true, false, false, true, true,
159 true, false,
160];
161const J: [bool; LETTER_PX_COUNT] = [
162 false, false, true, true, false, false, false, true, true, false, false, true, false, true,
163 true, false,
164];
165const K: [bool; LETTER_PX_COUNT] = [
166 true, false, false, true, true, false, false, true, true, true, true, false, true, false,
167 false, true,
168];
169const L: [bool; LETTER_PX_COUNT] = [
170 true, false, false, false, true, false, false, false, true, false, false, false, true, true,
171 true, false,
172];
173const M: [bool; LETTER_PX_COUNT] = [
174 true, true, true, true, true, true, false, true, true, true, false, true, true, false, false,
175 true,
176];
177const N: [bool; LETTER_PX_COUNT] = [
178 true, false, false, true, true, true, false, true, true, false, true, true, true, false, false,
179 true,
180];
181const O: [bool; LETTER_PX_COUNT] = [
182 false, true, true, false, true, false, false, true, true, false, false, true, false, true,
183 true, false,
184];
185const P: [bool; LETTER_PX_COUNT] = [
186 true, true, true, false, true, false, false, true, true, true, true, false, true, false, false,
187 false,
188];
189const Q: [bool; LETTER_PX_COUNT] = [
190 false, true, true, false, true, false, false, true, true, false, true, true, false, true, true,
191 true,
192];
193const R: [bool; LETTER_PX_COUNT] = [
194 true, true, true, false, true, false, false, true, true, true, true, false, true, false, false,
195 true,
196];
197const S: [bool; LETTER_PX_COUNT] = [
198 false, true, true, true, true, true, false, false, false, false, true, true, true, true, true,
199 false,
200];
201const T: [bool; LETTER_PX_COUNT] = [
202 true, true, true, true, false, true, false, false, false, true, false, false, false, true,
203 false, false,
204];
205const U: [bool; LETTER_PX_COUNT] = [
206 true, false, false, true, true, false, false, true, true, false, false, true, false, true,
207 true, false,
208];
209const V: [bool; LETTER_PX_COUNT] = [
210 true, false, false, true, true, false, false, true, true, false, true, false, false, true,
211 false, false,
212];
213const W: [bool; LETTER_PX_COUNT] = [
214 true, false, false, true, true, false, true, true, true, false, true, true, true, true, true,
215 true,
216];
217const X: [bool; LETTER_PX_COUNT] = [
218 true, false, false, true, true, false, false, true, false, true, true, false, true, false,
219 false, true,
220];
221const Y: [bool; LETTER_PX_COUNT] = [
222 true, false, false, true, false, true, true, false, false, false, true, false, false, false,
223 true, false,
224];
225const Z: [bool; LETTER_PX_COUNT] = [
226 true, true, true, true, false, false, true, false, false, true, false, false, true, true, true,
227 true,
228];
229const AMPERSAND: [bool; LETTER_PX_COUNT] = [
230 true, true, false, false, true, true, false, true, true, false, true, false, false, true,
231 false, false,
232];
233const EXCLAIM: [bool; LETTER_PX_COUNT] = [
234 false, true, false, false, false, true, false, false, false, false, false, false, false, true,
235 false, false,
236];
237const PERIOD: [bool; LETTER_PX_COUNT] = [
238 false, false, false, false, false, false, false, false, false, false, false, false, false,
239 true, false, false,
240];
241const COMMA: [bool; LETTER_PX_COUNT] = [
242 false, false, false, false, false, false, false, false, false, true, false, false, false, true,
243 false, false,
244];
245const COLON: [bool; LETTER_PX_COUNT] = [
246 false, true, false, false, false, false, false, false, false, true, false, false, false, false,
247 false, false,
248];
249const SEMICOLON: [bool; LETTER_PX_COUNT] = [
250 false, true, false, false, false, false, false, false, false, true, false, false, false, true,
251 false, false,
252];
253const PLUS: [bool; LETTER_PX_COUNT] = [
254 false, true, false, false, true, true, true, false, false, true, false, false, false, false,
255 false, false,
256];
257const MINUS: [bool; LETTER_PX_COUNT] = [
258 false, false, false, false, true, true, true, false, false, false, false, false, false, false,
259 false, false,
260];
261const EQUALS: [bool; LETTER_PX_COUNT] = [
262 true, true, true, false, false, false, false, false, true, true, true, false, false, false,
263 false, false,
264];
265const SQUARE_L: [bool; LETTER_PX_COUNT] = [
266 true, true, false, false, true, false, false, false, true, false, false, false, true, true,
267 false, false,
268];
269const SQUARE_R: [bool; LETTER_PX_COUNT] = [
270 false, false, true, true, false, false, false, true, false, false, false, true, false, false,
271 true, true,
272];
273const PAREN_L: [bool; LETTER_PX_COUNT] = [
274 false, true, false, false, true, false, false, false, true, false, false, false, false, true,
275 false, false,
276];
277const PAREN_R: [bool; LETTER_PX_COUNT] = [
278 false, false, true, false, false, false, false, true, false, false, false, true, false, false,
279 true, false,
280];
281const ANGLE_L: [bool; LETTER_PX_COUNT] = [
282 false, false, false, false, false, true, true, false, true, false, false, false, false, true,
283 true, false,
284];
285const ANGLE_R: [bool; LETTER_PX_COUNT] = [
286 false, false, false, false, false, true, true, false, false, false, false, true, false, true,
287 true, false,
288];
289const DOUBLE_QUOTE: [bool; LETTER_PX_COUNT] = [
290 true, false, true, false, true, false, true, false, false, false, false, false, false, false,
291 false, false,
292];
293const QUOTE: [bool; LETTER_PX_COUNT] = [
294 false, true, false, false, false, true, false, false, false, false, false, false, false, false,
295 false, false,
296];
297const QUESTION: [bool; LETTER_PX_COUNT] = [
298 true, true, false, false, false, true, true, false, false, false, false, false, false, true,
299 false, false,
300];
301const SLASH: [bool; LETTER_PX_COUNT] = [
302 false, false, false, true, false, false, true, false, false, true, false, false, true, false,
303 false, false,
304];
305const BACKSLASH: [bool; LETTER_PX_COUNT] = [
306 true, false, false, false, false, true, false, false, false, false, true, false, false, false,
307 false, true,
308];
309const ASTERISK: [bool; LETTER_PX_COUNT] = [
310 false, true, true, false, false, true, true, false, false, false, false, false, false, false,
311 false, false,
312];
313const PERCENT: [bool; LETTER_PX_COUNT] = [
314 true, false, false, true, false, false, true, false, false, true, false, false, true, false,
315 false, true,
316];
317const ZERO: [bool; LETTER_PX_COUNT] = [
318 false, true, false, false, true, false, true, false, true, false, true, false, false, true,
319 false, false,
320];
321const ONE: [bool; LETTER_PX_COUNT] = [
322 true, true, false, false, false, true, false, false, false, true, false, false, true, true,
323 true, false,
324];
325const TWO: [bool; LETTER_PX_COUNT] = [
326 true, true, false, false, false, false, true, false, true, true, false, false, true, true,
327 true, false,
328];
329const THREE: [bool; LETTER_PX_COUNT] = [
330 true, true, false, false, false, false, true, false, false, true, true, false, true, true,
331 true, false,
332];
333const FOUR: [bool; LETTER_PX_COUNT] = [
334 true, false, true, false, true, false, true, false, false, true, true, false, false, false,
335 true, false,
336];
337const FIVE: [bool; LETTER_PX_COUNT] = [
338 true, true, true, false, true, false, false, false, false, true, true, false, true, true,
339 false, false,
340];
341const SIX: [bool; LETTER_PX_COUNT] = [
342 false, true, true, false, true, false, false, false, true, true, true, false, false, true,
343 true, false,
344];
345const SEVEN: [bool; LETTER_PX_COUNT] = [
346 true, true, true, false, false, false, true, false, false, true, false, false, true, false,
347 false, false,
348];
349const EIGHT: [bool; LETTER_PX_COUNT] = [
350 false, true, true, false, true, false, true, false, true, true, true, false, true, true, false,
351 false,
352];
353const NINE: [bool; LETTER_PX_COUNT] = [
354 true, true, false, false, true, true, true, false, false, false, true, false, true, true,
355 false, false,
356];
357const UNDERSCORE: [bool; LETTER_PX_COUNT] = [
358 false, false, false, false, false, false, false, false, false, false, false, false, true, true,
359 true, true,
360];
361const UNKNOWN: [bool; LETTER_PX_COUNT] = [
362 true, true, true, true, true, false, false, true, true, false, false, true, true, true, true,
363 true,
364];
365const HASH: [bool; LETTER_PX_COUNT] = [
366 true, true, true, true, false, true, false, true, true, true, true, true, false, true, false,
367 true,
368];
369const ELLIPSIS: [bool; LETTER_PX_COUNT] = [
370 false, false, false, false, false, false, false, false, false, false, false, false, true,
371 false, true, false,
372];
373const POUND: [bool; LETTER_PX_COUNT] = [
374 false, true, true, false, true, false, false, true, true, true, false, false, true, true, true,
375 false,
376];
377const POWER: [bool; LETTER_PX_COUNT] = [
378 false, false, true, false, false, true, false, true, false, false, false, false, false, false,
379 false, false,
380];
381const CURLY_L: [bool; LETTER_PX_COUNT] = [
382 false, true, true, false, true, false, false, false, false, true, false, false, false, true,
383 true, false,
384];
385const CURLY_R: [bool; LETTER_PX_COUNT] = [
386 false, true, true, false, false, false, false, true, false, false, true, false, false, true,
387 true, false,
388];
389const BACKTICK: [bool; LETTER_PX_COUNT] = [
390 true, false, false, false, false, true, false, false, false, false, false, false, false, false,
391 false, false,
392];
393const TILDE: [bool; LETTER_PX_COUNT] = [
394 false, true, false, true, true, false, true, false, false, false, false, false, false, false,
395 false, false,
396];
397const DEGREE: [bool; LETTER_PX_COUNT] = [
398 false, true, true, true, false, true, false, true, false, true, true, true, false, false,
399 false, false,
400];
401const YEN: [bool; LETTER_PX_COUNT] = [
402 true, false, true, false, false, true, false, false, true, true, true, false, false, true,
403 false, false,
404];
405const CURRENCY: [bool; LETTER_PX_COUNT] = [
406 true, false, false, true, false, true, true, false, false, true, true, false, true, false,
407 false, true,
408];
409const DOLLAR: [bool; LETTER_PX_COUNT] = [
410 true, true, true, false, true, true, false, false, false, true, true, false, true, true, true,
411 false,
412];
413const CENT: [bool; LETTER_PX_COUNT] = [
414 false, false, true, false, true, true, true, true, true, false, true, false, true, true, true,
415 true,
416];
417const CHECK: [bool; LETTER_PX_COUNT] = [
418 false, false, false, false, false, false, false, true, true, false, true, false, false, true,
419 false, false,
420];
421const LOWER_A: [bool; LETTER_PX_COUNT] = [
422 false, false, false, false, false, true, true, false, true, false, true, false, false, true,
423 true, false,
424];
425const LOWER_B: [bool; LETTER_PX_COUNT] = [
426 true, false, false, false, true, true, false, false, true, false, true, false, true, true,
427 false, false,
428];
429const LOWER_C: [bool; LETTER_PX_COUNT] = [
430 false, false, false, false, false, true, true, false, true, false, false, false, false, true,
431 true, false,
432];
433const LOWER_D: [bool; LETTER_PX_COUNT] = [
434 false, false, true, false, false, true, true, false, true, false, true, false, false, true,
435 true, false,
436];
437const LOWER_E: [bool; LETTER_PX_COUNT] = [
438 false, false, false, false, true, true, true, false, true, false, true, false, true, true,
439 false, false,
440];
441const LOWER_F: [bool; LETTER_PX_COUNT] = [
442 false, false, true, true, false, true, false, false, true, true, true, false, false, true,
443 false, false,
444];
445const LOWER_G: [bool; LETTER_PX_COUNT] = [
446 false, false, true, true, false, true, false, true, false, false, true, true, false, true,
447 true, false,
448];
449const LOWER_H: [bool; LETTER_PX_COUNT] = [
450 true, false, false, false, true, true, false, false, true, false, true, false, true, false,
451 true, false,
452];
453const LOWER_I: [bool; LETTER_PX_COUNT] = [
454 false, true, false, false, false, false, false, false, false, true, false, false, false, true,
455 false, false,
456];
457const LOWER_J: [bool; LETTER_PX_COUNT] = [
458 false, false, true, false, false, false, false, false, true, false, true, false, false, true,
459 false, false,
460];
461const LOWER_K: [bool; LETTER_PX_COUNT] = [
462 true, false, false, false, true, false, true, false, true, true, false, false, true, false,
463 true, false,
464];
465const LOWER_L: [bool; LETTER_PX_COUNT] = [
466 true, false, false, false, true, false, false, false, true, false, false, false, false, true,
467 false, false,
468];
469const LOWER_M: [bool; LETTER_PX_COUNT] = [
470 false, false, false, false, true, true, false, false, true, true, true, false, true, false,
471 true, false,
472];
473const LOWER_N: [bool; LETTER_PX_COUNT] = [
474 false, false, false, false, true, true, false, false, true, false, true, false, true, false,
475 true, false,
476];
477const LOWER_O: [bool; LETTER_PX_COUNT] = [
478 false, false, false, false, false, true, false, false, true, false, true, false, false, true,
479 false, false,
480];
481const LOWER_P: [bool; LETTER_PX_COUNT] = [
482 true, true, false, false, true, false, true, false, true, true, false, false, true, false,
483 false, false,
484];
485const LOWER_Q: [bool; LETTER_PX_COUNT] = [
486 false, true, true, false, true, false, true, false, false, true, true, false, false, false,
487 true, true,
488];
489const LOWER_R: [bool; LETTER_PX_COUNT] = [
490 false, false, false, false, false, true, true, false, true, false, false, false, true, false,
491 false, false,
492];
493const LOWER_S: [bool; LETTER_PX_COUNT] = [
494 false, false, false, false, false, false, true, false, false, true, false, false, true, true,
495 false, false,
496];
497const LOWER_T: [bool; LETTER_PX_COUNT] = [
498 false, true, false, false, true, true, true, false, false, true, false, false, false, false,
499 true, false,
500];
501const LOWER_U: [bool; LETTER_PX_COUNT] = [
502 false, false, false, false, true, false, true, false, true, false, true, false, false, true,
503 true, false,
504];
505const LOWER_V: [bool; LETTER_PX_COUNT] = [
506 false, false, false, false, true, false, true, false, true, false, true, false, false, true,
507 false, false,
508];
509const LOWER_W: [bool; LETTER_PX_COUNT] = [
510 false, false, false, false, true, false, true, false, true, true, true, false, true, true,
511 false, false,
512];
513const LOWER_X: [bool; LETTER_PX_COUNT] = [
514 false, false, false, false, true, false, true, false, false, true, false, false, true, false,
515 true, false,
516];
517const LOWER_Y: [bool; LETTER_PX_COUNT] = [
518 true, false, true, false, false, true, true, false, false, false, true, false, false, true,
519 false, false,
520];
521const LOWER_Z: [bool; LETTER_PX_COUNT] = [
522 false, false, false, false, true, false, false, false, false, true, false, false, false, true,
523 true, false,
524];
525const EURO: [bool; LETTER_PX_COUNT] = [
526 false, true, true, true, true, true, true, false, false, true, false, false, false, true, true,
527 true,
528];
529const PIPE: [bool; LETTER_PX_COUNT] = [
530 false, true, false, false, false, true, false, false, false, true, false, false, false, true,
531 false, false,
532];