Logic_library
Library for Logic board by RoboticsBrno.
Loading...
Searching...
No Matches
DisplayFont.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "Error.hpp"
4#include <array>
5#include <stdint.h>
6
7namespace DisplayFont {
8
9static constexpr const size_t DIMENSIONS_X = 5;
10static constexpr const size_t DIMENSIONS_Y = 9;
11static constexpr const size_t DATA_BITS = DIMENSIONS_Y * 8;
12
13class Character {
14public:
15 Character(const uint8_t* data)
16 : m_data(data) {
17 }
18
19 bool at(int idx) const {
20 checkRange(idx, 0, DATA_BITS - 1, "DisplayFont::Character");
21 return (m_data[idx / DIMENSIONS_X] >> (7 - (idx % DIMENSIONS_X))) & 0x01;
22 }
23
24 bool at(int x, int y) const {
25 checkRange(x, 0, DIMENSIONS_X - 1, "DisplayFont::Character X");
26 checkRange(y, 0, DIMENSIONS_Y - 1, "DisplayFont::Character Y");
27 return at(y * DIMENSIONS_X + x);
28 }
29
30 bool operator()(int x, int y) const {
31 return at(x, y);
32 }
33
34 bool operator[](int index) const {
35 return at(index);
36 }
37
38private:
39 const uint8_t* m_data;
40};
41
42static constexpr const uint8_t font[][9] = {
43 {
44 0x00,
45 0x00,
46 0x00,
47 0x00,
48 0x00,
49 0x00,
50 0x00,
51 0x00,
52 0x00,
53 },
54 /* 0 */
55 {
56 0x00,
57 0x00,
58 0x00,
59 0x00,
60 0x00,
61 0x00,
62 0x00,
63 0x00,
64 0x00,
65 },
66 /* 1 */
67 {
68 0x50,
69 0xa8,
70 0x50,
71 0xa8,
72 0x50,
73 0xa8,
74 0x50,
75 0xa8,
76 0x50,
77 },
78 /* 2 */
79 {
80 0x00,
81 0x00,
82 0x00,
83 0x00,
84 0x00,
85 0x00,
86 0x00,
87 0x00,
88 0x00,
89 },
90 /* 3 */
91 {
92 0x00,
93 0x00,
94 0x00,
95 0x00,
96 0x00,
97 0x00,
98 0x00,
99 0x00,
100 0x00,
101 },
102 /* 4 */
103 {
104 0x00,
105 0x00,
106 0x00,
107 0x00,
108 0x00,
109 0x00,
110 0x00,
111 0x00,
112 0x00,
113 },
114 /* 5 */
115 {
116 0x00,
117 0x00,
118 0x00,
119 0x00,
120 0x00,
121 0x00,
122 0x00,
123 0x00,
124 0x00,
125 },
126 /* 6 */
127 {
128 0x00,
129 0x00,
130 0x60,
131 0x90,
132 0x60,
133 0x00,
134 0x00,
135 0x00,
136 0x00,
137 },
138 /* 7 */
139 {
140 0x00,
141 0x00,
142 0x00,
143 0x00,
144 0x00,
145 0x00,
146 0x00,
147 0x00,
148 0x00,
149 },
150 /* 8 */
151 {
152 0x00,
153 0x00,
154 0x00,
155 0x00,
156 0x00,
157 0x00,
158 0x00,
159 0x00,
160 0x00,
161 },
162 /* 9 */
163 {
164 0x00,
165 0x00,
166 0x00,
167 0x00,
168 0x00,
169 0x00,
170 0x00,
171 0x00,
172 0x00,
173 },
174 /* 10 */
175 {
176 0x20,
177 0x20,
178 0x20,
179 0x20,
180 0xe0,
181 0x00,
182 0x00,
183 0x00,
184 0x00,
185 },
186 /* 11 */
187 {
188 0x00,
189 0x00,
190 0x00,
191 0x00,
192 0xe0,
193 0x20,
194 0x20,
195 0x20,
196 0x20,
197 },
198 /* 12 */
199 {
200 0x00,
201 0x00,
202 0x00,
203 0x00,
204 0x38,
205 0x20,
206 0x20,
207 0x20,
208 0x20,
209 },
210 /* 13 */
211 {
212 0x20,
213 0x20,
214 0x20,
215 0x20,
216 0x38,
217 0x00,
218 0x00,
219 0x00,
220 0x00,
221 },
222 /* 14 */
223 {
224 0x20,
225 0x20,
226 0x20,
227 0x20,
228 0xf8,
229 0x20,
230 0x20,
231 0x20,
232 0x20,
233 },
234 /* 15 */
235 {
236 0x00,
237 0x00,
238 0x00,
239 0x00,
240 0x00,
241 0x00,
242 0x00,
243 0x00,
244 0x00,
245 },
246 /* 16 */
247 {
248 0x00,
249 0x00,
250 0x00,
251 0x00,
252 0x00,
253 0x00,
254 0x00,
255 0x00,
256 0x00,
257 },
258 /* 17 */
259 {
260 0x00,
261 0x00,
262 0x00,
263 0x00,
264 0xf8,
265 0x00,
266 0x00,
267 0x00,
268 0x00,
269 },
270 /* 18 */
271 {
272 0x00,
273 0x00,
274 0x00,
275 0x00,
276 0x00,
277 0x00,
278 0x00,
279 0x00,
280 0x00,
281 },
282 /* 19 */
283 {
284 0x00,
285 0x00,
286 0x00,
287 0x00,
288 0x00,
289 0x00,
290 0x00,
291 0x00,
292 0x00,
293 },
294 /* 20 */
295 {
296 0x20,
297 0x20,
298 0x20,
299 0x20,
300 0x38,
301 0x20,
302 0x20,
303 0x20,
304 0x20,
305 },
306 /* 21 */
307 {
308 0x20,
309 0x20,
310 0x20,
311 0x20,
312 0xe0,
313 0x20,
314 0x20,
315 0x20,
316 0x20,
317 },
318 /* 22 */
319 {
320 0x20,
321 0x20,
322 0x20,
323 0x20,
324 0xf8,
325 0x00,
326 0x00,
327 0x00,
328 0x00,
329 },
330 /* 23 */
331 {
332 0x00,
333 0x00,
334 0x00,
335 0x00,
336 0xf8,
337 0x20,
338 0x20,
339 0x20,
340 0x20,
341 },
342 /* 24 */
343 {
344 0x20,
345 0x20,
346 0x20,
347 0x20,
348 0x20,
349 0x20,
350 0x20,
351 0x20,
352 0x20,
353 },
354 /* 25 */
355 {
356 0x00,
357 0x00,
358 0x00,
359 0x00,
360 0x00,
361 0x00,
362 0x00,
363 0x00,
364 0x00,
365 },
366 /* 26 */
367 {
368 0x00,
369 0x00,
370 0x00,
371 0x00,
372 0x00,
373 0x00,
374 0x00,
375 0x00,
376 0x00,
377 },
378 /* 27 */
379 {
380 0x00,
381 0x00,
382 0x00,
383 0x00,
384 0x00,
385 0x00,
386 0x00,
387 0x00,
388 0x00,
389 },
390 /* 28 */
391 {
392 0x00,
393 0x00,
394 0x00,
395 0x00,
396 0x00,
397 0x00,
398 0x00,
399 0x00,
400 0x00,
401 },
402 /* 29 */
403 {
404 0x00,
405 0x30,
406 0x40,
407 0xe0,
408 0x40,
409 0x40,
410 0xf0,
411 0x00,
412 0x00,
413 },
414 /* 30 */
415 {
416 0x00,
417 0x00,
418 0x00,
419 0x00,
420 0x00,
421 0x00,
422 0x00,
423 0x00,
424 0x00,
425 },
426 /* 31 */
427 {
428 0x00,
429 0x00,
430 0x00,
431 0x00,
432 0x00,
433 0x00,
434 0x00,
435 0x00,
436 0x00,
437 },
438 /* 32 */
439 {
440 0x00,
441 0x40,
442 0x40,
443 0x40,
444 0x40,
445 0x00,
446 0x40,
447 0x00,
448 0x00,
449 },
450 /* 33 */
451 {
452 0x00,
453 0x50,
454 0x50,
455 0x50,
456 0x00,
457 0x00,
458 0x00,
459 0x00,
460 0x00,
461 },
462 /* 34 */
463 {
464 0x00,
465 0x50,
466 0xf0,
467 0x50,
468 0xa0,
469 0xf0,
470 0xa0,
471 0x00,
472 0x00,
473 },
474 /* 35 */
475 {
476 0x00,
477 0x20,
478 0x70,
479 0x80,
480 0x60,
481 0x10,
482 0xe0,
483 0x40,
484 0x00,
485 },
486 /* 36 */
487 {
488 0x00,
489 0xc0,
490 0xd0,
491 0x20,
492 0x40,
493 0xb0,
494 0x30,
495 0x00,
496 0x00,
497 },
498 /* 37 */
499 {
500 0x00,
501 0x60,
502 0xa0,
503 0x40,
504 0xb0,
505 0xa0,
506 0xd0,
507 0x00,
508 0x00,
509 },
510 /* 38 */
511 {
512 0x00,
513 0x20,
514 0x20,
515 0x20,
516 0x00,
517 0x00,
518 0x00,
519 0x00,
520 0x00,
521 },
522 /* 39 */
523 {
524 0x00,
525 0x10,
526 0x20,
527 0x40,
528 0x40,
529 0x40,
530 0x40,
531 0x20,
532 0x10,
533 },
534 /* 40 */
535 {
536 0x00,
537 0x80,
538 0x40,
539 0x20,
540 0x20,
541 0x20,
542 0x20,
543 0x40,
544 0x80,
545 },
546 /* 41 */
547 {
548 0x00,
549 0x00,
550 0x20,
551 0xf0,
552 0x60,
553 0x90,
554 0x00,
555 0x00,
556 0x00,
557 },
558 /* 42 */
559 {
560 0x00,
561 0x00,
562 0x20,
563 0x20,
564 0xf8,
565 0x20,
566 0x20,
567 0x00,
568 0x00,
569 },
570 /* 43 */
571 {
572 0x00,
573 0x00,
574 0x00,
575 0x00,
576 0x00,
577 0x00,
578 0x60,
579 0x20,
580 0x40,
581 },
582 /* 44 */
583 {
584 0x00,
585 0x00,
586 0x00,
587 0x00,
588 0xf0,
589 0x00,
590 0x00,
591 0x00,
592 0x00,
593 },
594 /* 45 */
595 {
596 0x00,
597 0x00,
598 0x00,
599 0x00,
600 0x00,
601 0x00,
602 0x60,
603 0x00,
604 0x00,
605 },
606 /* 46 */
607 {
608 0x00,
609 0x00,
610 0x20,
611 0x20,
612 0x40,
613 0x40,
614 0x80,
615 0x80,
616 0x00,
617 },
618 /* 47 */
619 {
620 0x00,
621 0x00,
622 0x60,
623 0x90,
624 0x90,
625 0x90,
626 0x60,
627 0x00,
628 0x00,
629 },
630 /* 48 */
631 {
632 0x00,
633 0x00,
634 0x20,
635 0x60,
636 0x20,
637 0x20,
638 0x70,
639 0x00,
640 0x00,
641 },
642 /* 49 */
643 {
644 0x00,
645 0x00,
646 0xe0,
647 0x10,
648 0x20,
649 0x40,
650 0xf0,
651 0x00,
652 0x00,
653 },
654 /* 50 */
655 {
656 0x00,
657 0x00,
658 0xf0,
659 0x20,
660 0x60,
661 0x10,
662 0xe0,
663 0x00,
664 0x00,
665 },
666 /* 51 */
667 {
668 0x00,
669 0x00,
670 0x20,
671 0x60,
672 0xa0,
673 0xf0,
674 0x20,
675 0x00,
676 0x00,
677 },
678 /* 52 */
679 {
680 0x00,
681 0x00,
682 0xf0,
683 0x80,
684 0xe0,
685 0x10,
686 0xe0,
687 0x00,
688 0x00,
689 },
690 /* 53 */
691 {
692 0x00,
693 0x00,
694 0x60,
695 0x80,
696 0xe0,
697 0x90,
698 0x60,
699 0x00,
700 0x00,
701 },
702 /* 54 */
703 {
704 0x00,
705 0x00,
706 0xf0,
707 0x20,
708 0x20,
709 0x40,
710 0x40,
711 0x00,
712 0x00,
713 },
714 /* 55 */
715 {
716 0x00,
717 0x00,
718 0x60,
719 0x90,
720 0x60,
721 0x90,
722 0x60,
723 0x00,
724 0x00,
725 },
726 /* 56 */
727 {
728 0x00,
729 0x00,
730 0x60,
731 0x90,
732 0x70,
733 0x10,
734 0x60,
735 0x00,
736 0x00,
737 },
738 /* 57 */
739 {
740 0x00,
741 0x00,
742 0x00,
743 0x60,
744 0x00,
745 0x00,
746 0x60,
747 0x00,
748 0x00,
749 },
750 /* 58 */
751 {
752 0x00,
753 0x00,
754 0x00,
755 0x60,
756 0x00,
757 0x00,
758 0x60,
759 0x20,
760 0x40,
761 },
762 /* 59 */
763 {
764 0x00,
765 0x00,
766 0x10,
767 0x20,
768 0x40,
769 0x20,
770 0x10,
771 0x00,
772 0x00,
773 },
774 /* 60 */
775 {
776 0x00,
777 0x00,
778 0x00,
779 0xf0,
780 0x00,
781 0xf0,
782 0x00,
783 0x00,
784 0x00,
785 },
786 /* 61 */
787 {
788 0x00,
789 0x00,
790 0x40,
791 0x20,
792 0x10,
793 0x20,
794 0x40,
795 0x00,
796 0x00,
797 },
798 /* 62 */
799 {
800 0x00,
801 0xe0,
802 0x10,
803 0x20,
804 0x40,
805 0x00,
806 0x40,
807 0x00,
808 0x00,
809 },
810 /* 63 */
811 {
812 0x00,
813 0x60,
814 0x90,
815 0xb0,
816 0xb0,
817 0x80,
818 0x80,
819 0x70,
820 0x00,
821 },
822 /* 64 */
823 {
824 0x00,
825 0x00,
826 0x60,
827 0x90,
828 0xf0,
829 0x90,
830 0x90,
831 0x00,
832 0x00,
833 },
834 /* 65 */
835 {
836 0x00,
837 0x00,
838 0xe0,
839 0x90,
840 0xe0,
841 0x90,
842 0xe0,
843 0x00,
844 0x00,
845 },
846 /* 66 */
847 {
848 0x00,
849 0x00,
850 0x70,
851 0x80,
852 0x80,
853 0x80,
854 0x70,
855 0x00,
856 0x00,
857 },
858 /* 67 */
859 {
860 0x00,
861 0x00,
862 0xe0,
863 0x90,
864 0x90,
865 0x90,
866 0xe0,
867 0x00,
868 0x00,
869 },
870 /* 68 */
871 {
872 0x00,
873 0x00,
874 0xf0,
875 0x80,
876 0xe0,
877 0x80,
878 0xf0,
879 0x00,
880 0x00,
881 },
882 /* 69 */
883 {
884 0x00,
885 0x00,
886 0xf0,
887 0x80,
888 0xe0,
889 0x80,
890 0x80,
891 0x00,
892 0x00,
893 },
894 /* 70 */
895 {
896 0x00,
897 0x00,
898 0x70,
899 0x80,
900 0xb0,
901 0x90,
902 0x70,
903 0x00,
904 0x00,
905 },
906 /* 71 */
907 {
908 0x00,
909 0x00,
910 0x90,
911 0x90,
912 0xf0,
913 0x90,
914 0x90,
915 0x00,
916 0x00,
917 },
918 /* 72 */
919 {
920 0x00,
921 0x00,
922 0x70,
923 0x20,
924 0x20,
925 0x20,
926 0x70,
927 0x00,
928 0x00,
929 },
930 /* 73 */
931 {
932 0x00,
933 0x00,
934 0x10,
935 0x10,
936 0x10,
937 0x90,
938 0x60,
939 0x00,
940 0x00,
941 },
942 /* 74 */
943 {
944 0x00,
945 0x00,
946 0x90,
947 0xa0,
948 0xc0,
949 0xa0,
950 0x90,
951 0x00,
952 0x00,
953 },
954 /* 75 */
955 {
956 0x00,
957 0x00,
958 0x80,
959 0x80,
960 0x80,
961 0x80,
962 0xf0,
963 0x00,
964 0x00,
965 },
966 /* 76 */
967 {
968 0x00,
969 0x00,
970 0x90,
971 0xf0,
972 0x90,
973 0x90,
974 0x90,
975 0x00,
976 0x00,
977 },
978 /* 77 */
979 {
980 0x00,
981 0x00,
982 0x90,
983 0xd0,
984 0xb0,
985 0x90,
986 0x90,
987 0x00,
988 0x00,
989 },
990 /* 78 */
991 {
992 0x00,
993 0x00,
994 0x60,
995 0x90,
996 0x90,
997 0x90,
998 0x60,
999 0x00,
1000 0x00,
1001 },
1002 /* 79 */
1003 {
1004 0x00,
1005 0x00,
1006 0xe0,
1007 0x90,
1008 0xe0,
1009 0x80,
1010 0x80,
1011 0x00,
1012 0x00,
1013 },
1014 /* 80 */
1015 {
1016 0x00,
1017 0x00,
1018 0x60,
1019 0x90,
1020 0x90,
1021 0x90,
1022 0x60,
1023 0x30,
1024 0x00,
1025 },
1026 /* 81 */
1027 {
1028 0x00,
1029 0x00,
1030 0xe0,
1031 0x90,
1032 0xe0,
1033 0xa0,
1034 0x90,
1035 0x00,
1036 0x00,
1037 },
1038 /* 82 */
1039 {
1040 0x00,
1041 0x00,
1042 0x70,
1043 0x80,
1044 0x60,
1045 0x10,
1046 0xe0,
1047 0x00,
1048 0x00,
1049 },
1050 /* 83 */
1051 {
1052 0x00,
1053 0x00,
1054 0xf8,
1055 0x20,
1056 0x20,
1057 0x20,
1058 0x20,
1059 0x00,
1060 0x00,
1061 },
1062 /* 84 */
1063 {
1064 0x00,
1065 0x00,
1066 0x90,
1067 0x90,
1068 0x90,
1069 0x90,
1070 0x70,
1071 0x00,
1072 0x00,
1073 },
1074 /* 85 */
1075 {
1076 0x00,
1077 0x00,
1078 0x90,
1079 0x90,
1080 0x90,
1081 0x60,
1082 0x60,
1083 0x00,
1084 0x00,
1085 },
1086 /* 86 */
1087 {
1088 0x00,
1089 0x00,
1090 0x90,
1091 0x90,
1092 0x90,
1093 0xf0,
1094 0x90,
1095 0x00,
1096 0x00,
1097 },
1098 /* 87 */
1099 {
1100 0x00,
1101 0x00,
1102 0x90,
1103 0x90,
1104 0x60,
1105 0x90,
1106 0x90,
1107 0x00,
1108 0x00,
1109 },
1110 /* 88 */
1111 {
1112 0x00,
1113 0x00,
1114 0x88,
1115 0x50,
1116 0x20,
1117 0x20,
1118 0x20,
1119 0x00,
1120 0x00,
1121 },
1122 /* 89 */
1123 {
1124 0x00,
1125 0x00,
1126 0xf0,
1127 0x20,
1128 0x40,
1129 0x80,
1130 0xf0,
1131 0x00,
1132 0x00,
1133 },
1134 /* 90 */
1135 {
1136 0x00,
1137 0x70,
1138 0x40,
1139 0x40,
1140 0x40,
1141 0x40,
1142 0x40,
1143 0x40,
1144 0x70,
1145 },
1146 /* 91 */
1147 {
1148 0x00,
1149 0x00,
1150 0x80,
1151 0x80,
1152 0x40,
1153 0x40,
1154 0x20,
1155 0x20,
1156 0x00,
1157 },
1158 /* 92 */
1159 {
1160 0x00,
1161 0xe0,
1162 0x20,
1163 0x20,
1164 0x20,
1165 0x20,
1166 0x20,
1167 0x20,
1168 0xe0,
1169 },
1170 /* 93 */
1171 {
1172 0x00,
1173 0x00,
1174 0x20,
1175 0x50,
1176 0x00,
1177 0x00,
1178 0x00,
1179 0x00,
1180 0x00,
1181 },
1182 /* 94 */
1183 {
1184 0x00,
1185 0x00,
1186 0x00,
1187 0x00,
1188 0x00,
1189 0x00,
1190 0x00,
1191 0xf8,
1192 0x00,
1193 },
1194 /* 95 */
1195 {
1196 0x00,
1197 0x40,
1198 0x20,
1199 0x10,
1200 0x00,
1201 0x00,
1202 0x00,
1203 0x00,
1204 0x00,
1205 },
1206 /* 96 */
1207 {
1208 0x00,
1209 0x00,
1210 0x00,
1211 0x70,
1212 0x90,
1213 0x90,
1214 0x70,
1215 0x00,
1216 0x00,
1217 },
1218 /* 97 */
1219 {
1220 0x00,
1221 0x80,
1222 0x80,
1223 0xe0,
1224 0x90,
1225 0x90,
1226 0xe0,
1227 0x00,
1228 0x00,
1229 },
1230 /* 98 */
1231 {
1232 0x00,
1233 0x00,
1234 0x00,
1235 0x60,
1236 0x80,
1237 0x80,
1238 0x60,
1239 0x00,
1240 0x00,
1241 },
1242 /* 99 */
1243 {
1244 0x00,
1245 0x10,
1246 0x10,
1247 0x70,
1248 0x90,
1249 0x90,
1250 0x70,
1251 0x00,
1252 0x00,
1253 },
1254 /* 100 */
1255 {
1256 0x00,
1257 0x00,
1258 0x00,
1259 0x70,
1260 0xa0,
1261 0xc0,
1262 0x70,
1263 0x00,
1264 0x00,
1265 },
1266 /* 101 */
1267 {
1268 0x00,
1269 0x30,
1270 0x40,
1271 0xf0,
1272 0x40,
1273 0x40,
1274 0x40,
1275 0x00,
1276 0x00,
1277 },
1278 /* 102 */
1279 {
1280 0x00,
1281 0x00,
1282 0x00,
1283 0x70,
1284 0x90,
1285 0x90,
1286 0x70,
1287 0x10,
1288 0x60,
1289 },
1290 /* 103 */
1291 {
1292 0x00,
1293 0x80,
1294 0x80,
1295 0xe0,
1296 0x90,
1297 0x90,
1298 0x90,
1299 0x00,
1300 0x00,
1301 },
1302 /* 104 */
1303 {
1304 0x00,
1305 0x20,
1306 0x00,
1307 0x60,
1308 0x20,
1309 0x20,
1310 0x70,
1311 0x00,
1312 0x00,
1313 },
1314 /* 105 */
1315 {
1316 0x00,
1317 0x20,
1318 0x00,
1319 0x60,
1320 0x20,
1321 0x20,
1322 0x20,
1323 0x20,
1324 0xc0,
1325 },
1326 /* 106 */
1327 {
1328 0x00,
1329 0x80,
1330 0x80,
1331 0xa0,
1332 0xc0,
1333 0xa0,
1334 0x90,
1335 0x00,
1336 0x00,
1337 },
1338 /* 107 */
1339 {
1340 0x00,
1341 0x60,
1342 0x20,
1343 0x20,
1344 0x20,
1345 0x20,
1346 0x70,
1347 0x00,
1348 0x00,
1349 },
1350 /* 108 */
1351 {
1352 0x00,
1353 0x00,
1354 0x00,
1355 0xb0,
1356 0xf0,
1357 0x90,
1358 0x90,
1359 0x00,
1360 0x00,
1361 },
1362 /* 109 */
1363 {
1364 0x00,
1365 0x00,
1366 0x00,
1367 0xe0,
1368 0x90,
1369 0x90,
1370 0x90,
1371 0x00,
1372 0x00,
1373 },
1374 /* 110 */
1375 {
1376 0x00,
1377 0x00,
1378 0x00,
1379 0x60,
1380 0x90,
1381 0x90,
1382 0x60,
1383 0x00,
1384 0x00,
1385 },
1386 /* 111 */
1387 {
1388 0x00,
1389 0x00,
1390 0x00,
1391 0xe0,
1392 0x90,
1393 0x90,
1394 0xe0,
1395 0x80,
1396 0x80,
1397 },
1398 /* 112 */
1399 {
1400 0x00,
1401 0x00,
1402 0x00,
1403 0x70,
1404 0x90,
1405 0x90,
1406 0x70,
1407 0x10,
1408 0x10,
1409 },
1410 /* 113 */
1411 {
1412 0x00,
1413 0x00,
1414 0x00,
1415 0xb0,
1416 0xc0,
1417 0x80,
1418 0x80,
1419 0x00,
1420 0x00,
1421 },
1422 /* 114 */
1423 {
1424 0x00,
1425 0x00,
1426 0x00,
1427 0x70,
1428 0x40,
1429 0x20,
1430 0xf0,
1431 0x00,
1432 0x00,
1433 },
1434 /* 115 */
1435 {
1436 0x00,
1437 0x00,
1438 0x40,
1439 0xf0,
1440 0x40,
1441 0x40,
1442 0x30,
1443 0x00,
1444 0x00,
1445 },
1446 /* 116 */
1447 {
1448 0x00,
1449 0x00,
1450 0x00,
1451 0x90,
1452 0x90,
1453 0x90,
1454 0x70,
1455 0x00,
1456 0x00,
1457 },
1458 /* 117 */
1459 {
1460 0x00,
1461 0x00,
1462 0x00,
1463 0x90,
1464 0x90,
1465 0x60,
1466 0x60,
1467 0x00,
1468 0x00,
1469 },
1470 /* 118 */
1471 {
1472 0x00,
1473 0x00,
1474 0x00,
1475 0x90,
1476 0x90,
1477 0xf0,
1478 0xf0,
1479 0x00,
1480 0x00,
1481 },
1482 /* 119 */
1483 {
1484 0x00,
1485 0x00,
1486 0x00,
1487 0x90,
1488 0x60,
1489 0x60,
1490 0x90,
1491 0x00,
1492 0x00,
1493 },
1494 /* 120 */
1495 {
1496 0x00,
1497 0x00,
1498 0x00,
1499 0x90,
1500 0x90,
1501 0x90,
1502 0x70,
1503 0x10,
1504 0x60,
1505 },
1506 /* 121 */
1507 {
1508 0x00,
1509 0x00,
1510 0x00,
1511 0xf0,
1512 0x20,
1513 0x40,
1514 0xf0,
1515 0x00,
1516 0x00,
1517 },
1518 /* 122 */
1519 {
1520 0x00,
1521 0x30,
1522 0x20,
1523 0x20,
1524 0xe0,
1525 0x20,
1526 0x20,
1527 0x30,
1528 0x00,
1529 },
1530 /* 123 */
1531 {
1532 0x00,
1533 0x20,
1534 0x20,
1535 0x20,
1536 0x20,
1537 0x20,
1538 0x20,
1539 0x20,
1540 0x00,
1541 },
1542 /* 124 */
1543 {
1544 0x00,
1545 0xc0,
1546 0x40,
1547 0x40,
1548 0x70,
1549 0x40,
1550 0x40,
1551 0xc0,
1552 0x00,
1553 },
1554 /* 125 */
1555 {
1556 0x00,
1557 0x00,
1558 0xd0,
1559 0xb0,
1560 0x00,
1561 0x00,
1562 0x00,
1563 0x00,
1564 0x00,
1565 },
1566 /* 126 */
1567 {
1568 0x00,
1569 0x00,
1570 0x00,
1571 0x00,
1572 0x00,
1573 0x00,
1574 0x00,
1575 0x00,
1576 0x00,
1577 },
1578 /* 127 */
1579 {
1580 0x00,
1581 0x00,
1582 0x00,
1583 0x00,
1584 0x00,
1585 0x00,
1586 0x00,
1587 0x00,
1588 0x00,
1589 },
1590 /* 128 */
1591 {
1592 0x00,
1593 0x00,
1594 0x00,
1595 0x00,
1596 0x00,
1597 0x00,
1598 0x00,
1599 0x00,
1600 0x00,
1601 },
1602 /* 129 */
1603 {
1604 0x00,
1605 0x00,
1606 0x00,
1607 0x00,
1608 0x00,
1609 0x00,
1610 0x00,
1611 0x00,
1612 0x00,
1613 },
1614 /* 130 */
1615 {
1616 0x00,
1617 0x00,
1618 0x00,
1619 0x00,
1620 0x00,
1621 0x00,
1622 0x00,
1623 0x00,
1624 0x00,
1625 },
1626 /* 131 */
1627 {
1628 0x00,
1629 0x00,
1630 0x00,
1631 0x00,
1632 0x00,
1633 0x00,
1634 0x00,
1635 0x00,
1636 0x00,
1637 },
1638 /* 132 */
1639 {
1640 0x00,
1641 0x00,
1642 0x00,
1643 0x00,
1644 0x00,
1645 0x00,
1646 0x00,
1647 0x00,
1648 0x00,
1649 },
1650 /* 133 */
1651 {
1652 0x00,
1653 0x00,
1654 0x00,
1655 0x00,
1656 0x00,
1657 0x00,
1658 0x00,
1659 0x00,
1660 0x00,
1661 },
1662 /* 134 */
1663 {
1664 0x00,
1665 0x00,
1666 0x00,
1667 0x00,
1668 0x00,
1669 0x00,
1670 0x00,
1671 0x00,
1672 0x00,
1673 },
1674 /* 135 */
1675 {
1676 0x00,
1677 0x00,
1678 0x00,
1679 0x00,
1680 0x00,
1681 0x00,
1682 0x00,
1683 0x00,
1684 0x00,
1685 },
1686 /* 136 */
1687 {
1688 0x00,
1689 0x00,
1690 0x00,
1691 0x00,
1692 0x00,
1693 0x00,
1694 0x00,
1695 0x00,
1696 0x00,
1697 },
1698 /* 137 */
1699 {
1700 0x00,
1701 0x00,
1702 0x00,
1703 0x00,
1704 0x00,
1705 0x00,
1706 0x00,
1707 0x00,
1708 0x00,
1709 },
1710 /* 138 */
1711 {
1712 0x00,
1713 0x00,
1714 0x00,
1715 0x00,
1716 0x00,
1717 0x00,
1718 0x00,
1719 0x00,
1720 0x00,
1721 },
1722 /* 139 */
1723 {
1724 0x00,
1725 0x00,
1726 0x00,
1727 0x00,
1728 0x00,
1729 0x00,
1730 0x00,
1731 0x00,
1732 0x00,
1733 },
1734 /* 140 */
1735 {
1736 0x00,
1737 0x00,
1738 0x00,
1739 0x00,
1740 0x00,
1741 0x00,
1742 0x00,
1743 0x00,
1744 0x00,
1745 },
1746 /* 141 */
1747 {
1748 0x00,
1749 0x00,
1750 0x00,
1751 0x00,
1752 0x00,
1753 0x00,
1754 0x00,
1755 0x00,
1756 0x00,
1757 },
1758 /* 142 */
1759 {
1760 0x00,
1761 0x00,
1762 0x00,
1763 0x00,
1764 0x00,
1765 0x00,
1766 0x00,
1767 0x00,
1768 0x00,
1769 },
1770 /* 143 */
1771 {
1772 0x00,
1773 0x00,
1774 0x00,
1775 0x00,
1776 0x00,
1777 0x00,
1778 0x00,
1779 0x00,
1780 0x00,
1781 },
1782 /* 144 */
1783 {
1784 0x00,
1785 0x00,
1786 0x00,
1787 0x00,
1788 0x00,
1789 0x00,
1790 0x00,
1791 0x00,
1792 0x00,
1793 },
1794 /* 145 */
1795 {
1796 0x00,
1797 0x00,
1798 0x00,
1799 0x00,
1800 0x00,
1801 0x00,
1802 0x00,
1803 0x00,
1804 0x00,
1805 },
1806 /* 146 */
1807 {
1808 0x00,
1809 0x00,
1810 0x00,
1811 0x00,
1812 0x00,
1813 0x00,
1814 0x00,
1815 0x00,
1816 0x00,
1817 },
1818 /* 147 */
1819 {
1820 0x00,
1821 0x00,
1822 0x00,
1823 0x00,
1824 0x00,
1825 0x00,
1826 0x00,
1827 0x00,
1828 0x00,
1829 },
1830 /* 148 */
1831 {
1832 0x00,
1833 0x00,
1834 0x00,
1835 0x00,
1836 0x00,
1837 0x00,
1838 0x00,
1839 0x00,
1840 0x00,
1841 },
1842 /* 149 */
1843 {
1844 0x00,
1845 0x00,
1846 0x00,
1847 0x00,
1848 0x00,
1849 0x00,
1850 0x00,
1851 0x00,
1852 0x00,
1853 },
1854 /* 150 */
1855 {
1856 0x00,
1857 0x00,
1858 0x00,
1859 0x00,
1860 0x00,
1861 0x00,
1862 0x00,
1863 0x00,
1864 0x00,
1865 },
1866 /* 151 */
1867 {
1868 0x00,
1869 0x00,
1870 0x00,
1871 0x00,
1872 0x00,
1873 0x00,
1874 0x00,
1875 0x00,
1876 0x00,
1877 },
1878 /* 152 */
1879 {
1880 0x00,
1881 0x00,
1882 0x00,
1883 0x00,
1884 0x00,
1885 0x00,
1886 0x00,
1887 0x00,
1888 0x00,
1889 },
1890 /* 153 */
1891 {
1892 0x00,
1893 0x00,
1894 0x00,
1895 0x00,
1896 0x00,
1897 0x00,
1898 0x00,
1899 0x00,
1900 0x00,
1901 },
1902 /* 154 */
1903 {
1904 0x00,
1905 0x00,
1906 0x00,
1907 0x00,
1908 0x00,
1909 0x00,
1910 0x00,
1911 0x00,
1912 0x00,
1913 },
1914 /* 155 */
1915 {
1916 0x00,
1917 0x00,
1918 0x00,
1919 0x00,
1920 0x00,
1921 0x00,
1922 0x00,
1923 0x00,
1924 0x00,
1925 },
1926 /* 156 */
1927 {
1928 0x00,
1929 0x00,
1930 0x00,
1931 0x00,
1932 0x00,
1933 0x00,
1934 0x00,
1935 0x00,
1936 0x00,
1937 },
1938 /* 157 */
1939 {
1940 0x00,
1941 0x00,
1942 0x00,
1943 0x00,
1944 0x00,
1945 0x00,
1946 0x00,
1947 0x00,
1948 0x00,
1949 },
1950 /* 158 */
1951 {
1952 0x00,
1953 0x00,
1954 0x00,
1955 0x00,
1956 0x00,
1957 0x00,
1958 0x00,
1959 0x00,
1960 0x00,
1961 },
1962 /* 159 */
1963 {
1964 0x00,
1965 0x00,
1966 0x00,
1967 0x00,
1968 0x00,
1969 0x00,
1970 0x00,
1971 0x00,
1972 0x00,
1973 },
1974 /* 160 */
1975 {
1976 0x00,
1977 0x00,
1978 0x00,
1979 0x40,
1980 0x00,
1981 0x40,
1982 0x40,
1983 0x40,
1984 0x40,
1985 },
1986 /* 161 */
1987 {
1988 0x00,
1989 0x20,
1990 0x70,
1991 0xa0,
1992 0xa0,
1993 0x70,
1994 0x20,
1995 0x00,
1996 0x00,
1997 },
1998 /* 162 */
1999 {
2000 0x00,
2001 0x30,
2002 0x40,
2003 0xe0,
2004 0x40,
2005 0x40,
2006 0xf0,
2007 0x00,
2008 0x00,
2009 },
2010 /* 163 */
2011 {
2012 0x00,
2013 0x90,
2014 0x60,
2015 0x90,
2016 0x90,
2017 0x60,
2018 0x90,
2019 0x00,
2020 0x00,
2021 },
2022 /* 164 */
2023 {
2024 0x00,
2025 0x88,
2026 0x50,
2027 0x20,
2028 0xf8,
2029 0x20,
2030 0x20,
2031 0x00,
2032 0x00,
2033 },
2034 /* 165 */
2035 {
2036 0x00,
2037 0x20,
2038 0x20,
2039 0x20,
2040 0x00,
2041 0x20,
2042 0x20,
2043 0x20,
2044 0x00,
2045 },
2046 /* 166 */
2047 {
2048 0x00,
2049 0x00,
2050 0x00,
2051 0x00,
2052 0x00,
2053 0x00,
2054 0x00,
2055 0x00,
2056 0x00,
2057 },
2058 /* 167 */
2059 {
2060 0x00,
2061 0x50,
2062 0x00,
2063 0x00,
2064 0x00,
2065 0x00,
2066 0x00,
2067 0x00,
2068 0x00,
2069 },
2070 /* 168 */
2071 {
2072 0x00,
2073 0x00,
2074 0x60,
2075 0x90,
2076 0xb0,
2077 0x90,
2078 0x60,
2079 0x00,
2080 0x00,
2081 },
2082 /* 169 */
2083 {
2084 0x00,
2085 0x00,
2086 0x00,
2087 0x00,
2088 0x00,
2089 0x00,
2090 0x00,
2091 0x00,
2092 0x00,
2093 },
2094 /* 170 */
2095 {
2096 0x00,
2097 0x00,
2098 0x00,
2099 0x00,
2100 0x48,
2101 0x90,
2102 0x48,
2103 0x00,
2104 0x00,
2105 },
2106 /* 171 */
2107 {
2108 0x00,
2109 0x00,
2110 0x00,
2111 0x00,
2112 0x00,
2113 0x00,
2114 0x00,
2115 0x00,
2116 0x00,
2117 },
2118 /* 172 */
2119 {
2120 0x00,
2121 0x00,
2122 0x00,
2123 0x00,
2124 0xf0,
2125 0x00,
2126 0x00,
2127 0x00,
2128 0x00,
2129 },
2130 /* 173 */
2131 {
2132 0x00,
2133 0x00,
2134 0x00,
2135 0x00,
2136 0x00,
2137 0x00,
2138 0x00,
2139 0x00,
2140 0x00,
2141 },
2142 /* 174 */
2143 {
2144 0x00,
2145 0x00,
2146 0x00,
2147 0x00,
2148 0x00,
2149 0x00,
2150 0x00,
2151 0x00,
2152 0x00,
2153 },
2154 /* 175 */
2155 {
2156 0x00,
2157 0x00,
2158 0x60,
2159 0x90,
2160 0x60,
2161 0x00,
2162 0x00,
2163 0x00,
2164 0x00,
2165 },
2166 /* 176 */
2167 {
2168 0x00,
2169 0x00,
2170 0x00,
2171 0x00,
2172 0x00,
2173 0x00,
2174 0x00,
2175 0x00,
2176 0x00,
2177 },
2178 /* 177 */
2179 {
2180 0x00,
2181 0x00,
2182 0x00,
2183 0x00,
2184 0x00,
2185 0x00,
2186 0x00,
2187 0x00,
2188 0x00,
2189 },
2190 /* 178 */
2191 {
2192 0x00,
2193 0x00,
2194 0x00,
2195 0x00,
2196 0x00,
2197 0x00,
2198 0x00,
2199 0x00,
2200 0x00,
2201 },
2202 /* 179 */
2203 {
2204 0x00,
2205 0x10,
2206 0x20,
2207 0x00,
2208 0x00,
2209 0x00,
2210 0x00,
2211 0x00,
2212 0x00,
2213 },
2214 /* 180 */
2215 {
2216 0x00,
2217 0x00,
2218 0x00,
2219 0x00,
2220 0x00,
2221 0x00,
2222 0x00,
2223 0x00,
2224 0x00,
2225 },
2226 /* 181 */
2227 {
2228 0x00,
2229 0x00,
2230 0x00,
2231 0x00,
2232 0x00,
2233 0x00,
2234 0x00,
2235 0x00,
2236 0x00,
2237 },
2238 /* 182 */
2239 {
2240 0x00,
2241 0x00,
2242 0x00,
2243 0x00,
2244 0x00,
2245 0x00,
2246 0x00,
2247 0x00,
2248 0x00,
2249 },
2250 /* 183 */
2251 {
2252 0x00,
2253 0x00,
2254 0x00,
2255 0x00,
2256 0x00,
2257 0x00,
2258 0x00,
2259 0x20,
2260 0x60,
2261 },
2262 /* 184 */
2263 {
2264 0x00,
2265 0x00,
2266 0x00,
2267 0x00,
2268 0x00,
2269 0x00,
2270 0x00,
2271 0x00,
2272 0x00,
2273 },
2274 /* 185 */
2275 {
2276 0x00,
2277 0x00,
2278 0x00,
2279 0x00,
2280 0x00,
2281 0x00,
2282 0x00,
2283 0x00,
2284 0x00,
2285 },
2286 /* 186 */
2287 {
2288 0x00,
2289 0x00,
2290 0x00,
2291 0x00,
2292 0x90,
2293 0x48,
2294 0x90,
2295 0x00,
2296 0x00,
2297 },
2298 /* 187 */
2299 {
2300 0x00,
2301 0x00,
2302 0x00,
2303 0x00,
2304 0x00,
2305 0x00,
2306 0x00,
2307 0x00,
2308 0x00,
2309 },
2310 /* 188 */
2311 {
2312 0x00,
2313 0x00,
2314 0x00,
2315 0x00,
2316 0x00,
2317 0x00,
2318 0x00,
2319 0x00,
2320 0x00,
2321 },
2322 /* 189 */
2323 {
2324 0x00,
2325 0x00,
2326 0x00,
2327 0x00,
2328 0x00,
2329 0x00,
2330 0x00,
2331 0x00,
2332 0x00,
2333 },
2334 /* 190 */
2335 {
2336 0x00,
2337 0x00,
2338 0x00,
2339 0x20,
2340 0x00,
2341 0x20,
2342 0x40,
2343 0x80,
2344 0x70,
2345 },
2346 /* 191 */
2347 {
2348 0x00,
2349 0x40,
2350 0x20,
2351 0x30,
2352 0x50,
2353 0xf0,
2354 0x90,
2355 0x00,
2356 0x00,
2357 },
2358 /* 192 */
2359 {
2360 0x00,
2361 0x20,
2362 0x40,
2363 0x30,
2364 0x50,
2365 0xf0,
2366 0x90,
2367 0x00,
2368 0x00,
2369 },
2370 /* 193 */
2371 {
2372 0x00,
2373 0x40,
2374 0xa0,
2375 0x30,
2376 0x50,
2377 0xf0,
2378 0x90,
2379 0x00,
2380 0x00,
2381 },
2382 /* 194 */
2383 {
2384 0x00,
2385 0xd0,
2386 0xb0,
2387 0x20,
2388 0x50,
2389 0xf0,
2390 0x90,
2391 0x00,
2392 0x00,
2393 },
2394 /* 195 */
2395 {
2396 0x00,
2397 0x50,
2398 0x00,
2399 0x30,
2400 0x50,
2401 0xf0,
2402 0x90,
2403 0x00,
2404 0x00,
2405 },
2406 /* 196 */
2407 {
2408 0x00,
2409 0x30,
2410 0x50,
2411 0x20,
2412 0x50,
2413 0xf0,
2414 0x90,
2415 0x00,
2416 0x00,
2417 },
2418 /* 197 */
2419 {
2420 0x00,
2421 0x00,
2422 0x70,
2423 0xa0,
2424 0xf0,
2425 0xa0,
2426 0xb0,
2427 0x00,
2428 0x00,
2429 },
2430 /* 198 */
2431 {
2432 0x00,
2433 0x00,
2434 0x70,
2435 0x80,
2436 0x80,
2437 0x80,
2438 0x70,
2439 0x20,
2440 0x60,
2441 },
2442 /* 199 */
2443 {
2444 0x40,
2445 0x20,
2446 0xf0,
2447 0x80,
2448 0xe0,
2449 0x80,
2450 0xf0,
2451 0x00,
2452 0x00,
2453 },
2454 /* 200 */
2455 {
2456 0x10,
2457 0x20,
2458 0xf0,
2459 0x80,
2460 0xe0,
2461 0x80,
2462 0xf0,
2463 0x00,
2464 0x00,
2465 },
2466 /* 201 */
2467 {
2468 0x20,
2469 0x50,
2470 0xf0,
2471 0x80,
2472 0xe0,
2473 0x80,
2474 0xf0,
2475 0x00,
2476 0x00,
2477 },
2478 /* 202 */
2479 {
2480 0x50,
2481 0x00,
2482 0xf0,
2483 0x80,
2484 0xe0,
2485 0x80,
2486 0xf0,
2487 0x00,
2488 0x00,
2489 },
2490 /* 203 */
2491 {
2492 0x40,
2493 0x20,
2494 0x70,
2495 0x20,
2496 0x20,
2497 0x20,
2498 0x70,
2499 0x00,
2500 0x00,
2501 },
2502 /* 204 */
2503 {
2504 0x10,
2505 0x20,
2506 0x70,
2507 0x20,
2508 0x20,
2509 0x20,
2510 0x70,
2511 0x00,
2512 0x00,
2513 },
2514 /* 205 */
2515 {
2516 0x20,
2517 0x50,
2518 0x00,
2519 0x70,
2520 0x20,
2521 0x20,
2522 0x70,
2523 0x00,
2524 0x00,
2525 },
2526 /* 206 */
2527 {
2528 0x50,
2529 0x00,
2530 0x70,
2531 0x20,
2532 0x20,
2533 0x20,
2534 0x70,
2535 0x00,
2536 0x00,
2537 },
2538 /* 207 */
2539 {
2540 0x00,
2541 0x00,
2542 0xe0,
2543 0x50,
2544 0xd0,
2545 0x50,
2546 0xe0,
2547 0x00,
2548 0x00,
2549 },
2550 /* 208 */
2551 {
2552 0xd0,
2553 0xb0,
2554 0x00,
2555 0x90,
2556 0xd0,
2557 0xb0,
2558 0x90,
2559 0x00,
2560 0x00,
2561 },
2562 /* 209 */
2563 {
2564 0x80,
2565 0x40,
2566 0x60,
2567 0x90,
2568 0x90,
2569 0x90,
2570 0x60,
2571 0x00,
2572 0x00,
2573 },
2574 /* 210 */
2575 {
2576 0x10,
2577 0x20,
2578 0x60,
2579 0x90,
2580 0x90,
2581 0x90,
2582 0x60,
2583 0x00,
2584 0x00,
2585 },
2586 /* 211 */
2587 {
2588 0x40,
2589 0xa0,
2590 0x00,
2591 0x60,
2592 0x90,
2593 0x90,
2594 0x60,
2595 0x00,
2596 0x00,
2597 },
2598 /* 212 */
2599 {
2600 0xd0,
2601 0xb0,
2602 0x00,
2603 0x60,
2604 0x90,
2605 0x90,
2606 0x60,
2607 0x00,
2608 0x00,
2609 },
2610 /* 213 */
2611 {
2612 0x90,
2613 0x00,
2614 0x60,
2615 0x90,
2616 0x90,
2617 0x90,
2618 0x60,
2619 0x00,
2620 0x00,
2621 },
2622 /* 214 */
2623 {
2624 0x00,
2625 0x00,
2626 0x00,
2627 0x50,
2628 0x20,
2629 0x50,
2630 0x00,
2631 0x00,
2632 0x00,
2633 },
2634 /* 215 */
2635 {
2636 0x00,
2637 0x10,
2638 0x60,
2639 0x90,
2640 0x90,
2641 0x90,
2642 0x60,
2643 0x80,
2644 0x00,
2645 },
2646 /* 216 */
2647 {
2648 0x80,
2649 0x40,
2650 0x90,
2651 0x90,
2652 0x90,
2653 0x90,
2654 0x60,
2655 0x00,
2656 0x00,
2657 },
2658 /* 217 */
2659 {
2660 0x10,
2661 0x20,
2662 0x90,
2663 0x90,
2664 0x90,
2665 0x90,
2666 0x60,
2667 0x00,
2668 0x00,
2669 },
2670 /* 218 */
2671 {
2672 0x40,
2673 0xa0,
2674 0x00,
2675 0x90,
2676 0x90,
2677 0x90,
2678 0x60,
2679 0x00,
2680 0x00,
2681 },
2682 /* 219 */
2683 {
2684 0xa0,
2685 0x00,
2686 0x90,
2687 0x90,
2688 0x90,
2689 0x90,
2690 0x60,
2691 0x00,
2692 0x00,
2693 },
2694 /* 220 */
2695 {
2696 0x40,
2697 0x20,
2698 0x88,
2699 0x50,
2700 0x20,
2701 0x20,
2702 0x20,
2703 0x00,
2704 0x00,
2705 },
2706 /* 221 */
2707 {
2708 0x00,
2709 0x00,
2710 0x80,
2711 0xe0,
2712 0x90,
2713 0xe0,
2714 0x80,
2715 0x00,
2716 0x00,
2717 },
2718 /* 222 */
2719 {
2720 0x00,
2721 0x00,
2722 0x70,
2723 0x90,
2724 0xa0,
2725 0x90,
2726 0xa0,
2727 0x00,
2728 0x00,
2729 },
2730 /* 223 */
2731 {
2732 0x00,
2733 0x80,
2734 0x40,
2735 0x70,
2736 0x90,
2737 0x90,
2738 0x70,
2739 0x00,
2740 0x00,
2741 },
2742 /* 224 */
2743 {
2744 0x00,
2745 0x10,
2746 0x20,
2747 0x70,
2748 0x90,
2749 0x90,
2750 0x70,
2751 0x00,
2752 0x00,
2753 },
2754 /* 225 */
2755 {
2756 0x20,
2757 0x50,
2758 0x00,
2759 0x70,
2760 0x90,
2761 0x90,
2762 0x70,
2763 0x00,
2764 0x00,
2765 },
2766 /* 226 */
2767 {
2768 0xd0,
2769 0xb0,
2770 0x00,
2771 0x70,
2772 0x90,
2773 0x90,
2774 0x70,
2775 0x00,
2776 0x00,
2777 },
2778 /* 227 */
2779 {
2780 0x00,
2781 0x50,
2782 0x00,
2783 0x70,
2784 0x90,
2785 0x90,
2786 0x70,
2787 0x00,
2788 0x00,
2789 },
2790 /* 228 */
2791 {
2792 0x30,
2793 0x50,
2794 0x20,
2795 0x70,
2796 0x90,
2797 0x90,
2798 0x70,
2799 0x00,
2800 0x00,
2801 },
2802 /* 229 */
2803 {
2804 0x00,
2805 0x00,
2806 0x00,
2807 0xf0,
2808 0x70,
2809 0xa0,
2810 0xf0,
2811 0x00,
2812 0x00,
2813 },
2814 /* 230 */
2815 {
2816 0x00,
2817 0x00,
2818 0x00,
2819 0x60,
2820 0x80,
2821 0x80,
2822 0x60,
2823 0x40,
2824 0xc0,
2825 },
2826 /* 231 */
2827 {
2828 0x00,
2829 0x80,
2830 0x40,
2831 0x70,
2832 0xa0,
2833 0xc0,
2834 0x70,
2835 0x00,
2836 0x00,
2837 },
2838 /* 232 */
2839 {
2840 0x00,
2841 0x10,
2842 0x20,
2843 0x70,
2844 0xa0,
2845 0xc0,
2846 0x70,
2847 0x00,
2848 0x00,
2849 },
2850 /* 233 */
2851 {
2852 0x20,
2853 0x50,
2854 0x00,
2855 0x70,
2856 0xa0,
2857 0xc0,
2858 0x70,
2859 0x00,
2860 0x00,
2861 },
2862 /* 234 */
2863 {
2864 0x00,
2865 0x50,
2866 0x00,
2867 0x70,
2868 0xa0,
2869 0xc0,
2870 0x70,
2871 0x00,
2872 0x00,
2873 },
2874 /* 235 */
2875 {
2876 0x00,
2877 0x40,
2878 0x20,
2879 0x60,
2880 0x20,
2881 0x20,
2882 0x70,
2883 0x00,
2884 0x00,
2885 },
2886 /* 236 */
2887 {
2888 0x00,
2889 0x10,
2890 0x20,
2891 0x60,
2892 0x20,
2893 0x20,
2894 0x70,
2895 0x00,
2896 0x00,
2897 },
2898 /* 237 */
2899 {
2900 0x20,
2901 0x50,
2902 0x00,
2903 0x60,
2904 0x20,
2905 0x20,
2906 0x70,
2907 0x00,
2908 0x00,
2909 },
2910 /* 238 */
2911 {
2912 0x00,
2913 0x50,
2914 0x00,
2915 0x60,
2916 0x20,
2917 0x20,
2918 0x70,
2919 0x00,
2920 0x00,
2921 },
2922 /* 239 */
2923 {
2924 0x40,
2925 0xf0,
2926 0x20,
2927 0x60,
2928 0x90,
2929 0x90,
2930 0x60,
2931 0x00,
2932 0x00,
2933 },
2934 /* 240 */
2935 {
2936 0xd0,
2937 0xb0,
2938 0x00,
2939 0xe0,
2940 0x90,
2941 0x90,
2942 0x90,
2943 0x00,
2944 0x00,
2945 },
2946 /* 241 */
2947 {
2948 0x00,
2949 0x80,
2950 0x40,
2951 0x60,
2952 0x90,
2953 0x90,
2954 0x60,
2955 0x00,
2956 0x00,
2957 },
2958 /* 242 */
2959 {
2960 0x00,
2961 0x10,
2962 0x20,
2963 0x60,
2964 0x90,
2965 0x90,
2966 0x60,
2967 0x00,
2968 0x00,
2969 },
2970 /* 243 */
2971 {
2972 0x40,
2973 0xa0,
2974 0x00,
2975 0x60,
2976 0x90,
2977 0x90,
2978 0x60,
2979 0x00,
2980 0x00,
2981 },
2982 /* 244 */
2983 {
2984 0xd0,
2985 0xb0,
2986 0x00,
2987 0x60,
2988 0x90,
2989 0x90,
2990 0x60,
2991 0x00,
2992 0x00,
2993 },
2994 /* 245 */
2995 {
2996 0x00,
2997 0x90,
2998 0x00,
2999 0x60,
3000 0x90,
3001 0x90,
3002 0x60,
3003 0x00,
3004 0x00,
3005 },
3006 /* 246 */
3007 {
3008 0x00,
3009 0x00,
3010 0x20,
3011 0x00,
3012 0x70,
3013 0x00,
3014 0x20,
3015 0x00,
3016 0x00,
3017 },
3018 /* 247 */
3019 {
3020 0x00,
3021 0x00,
3022 0x10,
3023 0x60,
3024 0x90,
3025 0x90,
3026 0x60,
3027 0x80,
3028 0x00,
3029 },
3030 /* 248 */
3031 {
3032 0x00,
3033 0x80,
3034 0x40,
3035 0x90,
3036 0x90,
3037 0x90,
3038 0x60,
3039 0x00,
3040 0x00,
3041 },
3042 /* 249 */
3043 {
3044 0x00,
3045 0x10,
3046 0x20,
3047 0x90,
3048 0x90,
3049 0x90,
3050 0x60,
3051 0x00,
3052 0x00,
3053 },
3054 /* 250 */
3055 {
3056 0x40,
3057 0xa0,
3058 0x00,
3059 0x90,
3060 0x90,
3061 0x90,
3062 0x60,
3063 0x00,
3064 0x00,
3065 },
3066 /* 251 */
3067 {
3068 0x00,
3069 0xa0,
3070 0x00,
3071 0x90,
3072 0x90,
3073 0x90,
3074 0x60,
3075 0x00,
3076 0x00,
3077 },
3078 /* 252 */
3079 {
3080 0x00,
3081 0x10,
3082 0x20,
3083 0x90,
3084 0x90,
3085 0x90,
3086 0x70,
3087 0x10,
3088 0x60,
3089 },
3090 /* 253 */
3091 {
3092 0x00,
3093 0x80,
3094 0x80,
3095 0xe0,
3096 0x90,
3097 0x90,
3098 0xe0,
3099 0x80,
3100 0x80,
3101 },
3102 /* 254 */
3103 {
3104 0x00,
3105 0xa0,
3106 0x00,
3107 0x90,
3108 0x90,
3109 0x90,
3110 0x70,
3111 0x10,
3112 0x60,
3113 },
3114 /* 255 */
3115};
3116
3117static Character get(char c) {
3118 checkRange(c, 0, 254, "DisplayFont::get");
3119 return Character(font[int(c)]);
3120}
3121
3122static char utf8toCp(const char* utf8) {
3123 auto us = (const uint8_t*)utf8;
3124 const int len = strlen(utf8);
3125 if (len == 0) {
3126 return 0;
3127 } else if (len == 1 || us[0] < 128) {
3128 return utf8[0];
3129 }
3130
3131 switch (us[1] << 8 | us[0]) {
3132 case 0xa1c3: // á
3133 return 0xE1;
3134 case 0x8dc4: // č
3135 return 'c';
3136 case 0x8fc4: // ď
3137 return 'd';
3138 case 0xa9c3: // é
3139 return 0xE9;
3140 case 0x9bc4: // ě
3141 return 0xEA;
3142 case 0xadc3: // í
3143 return 0xED;
3144 case 0x88c5: // ň
3145 return 'n';
3146 case 0xb3c3: // ó
3147 return 0xF3;
3148 case 0x99c5: // ř
3149 return 'r';
3150 case 0xa1c5: // š
3151 return 's';
3152 case 0xa5c5: // ť
3153 return 't';
3154 case 0xbac3: // ú
3155 return 0xFA;
3156 case 0xafc5: // ů
3157 return 0xFC;
3158 case 0xbdc3: // ý
3159 return 0xFD;
3160 case 0xbec5: // ž
3161 return 'z';
3162 case 0x81c3: // Á
3163 return 0xC1;
3164 case 0x8cc4: // Č
3165 return 'C';
3166 case 0x8ec4: // Ď
3167 return 'D';
3168 case 0x89c3: // É
3169 return 0xC9;
3170 case 0x9ac4: // Ě
3171 return 0xCA;
3172 case 0x8dc3: // Í
3173 return 0xCD;
3174 case 0x87c5: // Ň
3175 return 'N';
3176 case 0x93c3: // Ó
3177 return 0xD3;
3178 case 0x98c5: // Ř
3179 return 'R';
3180 case 0xa0c5: // Š
3181 return 'S';
3182 case 0xa4c5: // Ť
3183 return 'T';
3184 case 0x9ac3: // Ú
3185 return 0xDA;
3186 case 0xaec5: // Ů
3187 return 0xDC;
3188 case 0x9dc3: // Ý
3189 return 0xDD;
3190 case 0xbdc5: // Ž
3191 return 'Z';
3192 default:
3193 return 0;
3194 }
3195}
3196};
void checkRange(int value, int min, int max, const char *tag, unsigned stackTraceDepth=10)
Definition: Error.hpp:45
Definition: DisplayFont.hpp:13
Character(const uint8_t *data)
Definition: DisplayFont.hpp:15
bool operator()(int x, int y) const
Definition: DisplayFont.hpp:30
bool at(int idx) const
Definition: DisplayFont.hpp:19
bool at(int x, int y) const
Definition: DisplayFont.hpp:24
bool operator[](int index) const
Definition: DisplayFont.hpp:34
Definition: DisplayFont.hpp:7
static constexpr const size_t DIMENSIONS_Y
Definition: DisplayFont.hpp:10
static char utf8toCp(const char *utf8)
Definition: DisplayFont.hpp:3122
static Character get(char c)
Definition: DisplayFont.hpp:3117
static constexpr const size_t DATA_BITS
Definition: DisplayFont.hpp:11
static constexpr const uint8_t font[][9]
Definition: DisplayFont.hpp:42
static constexpr const size_t DIMENSIONS_X
Definition: DisplayFont.hpp:9