1 /*
2  * Copyright (c) 2006-2021, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  */
9 
10 #ifndef __FONT_H
11 #define __FONT_H
12 
13 /*  Font definition  */
14 #define ________    0x00
15 #define _______X    0x01
16 #define ______X_    0x02
17 #define ______XX    0x03
18 #define _____X__    0x04
19 #define _____X_X    0x05
20 #define _____XX_    0x06
21 #define _____XXX    0x07
22 #define ____X___    0x08
23 #define ____X__X    0x09
24 #define ____X_X_    0x0a
25 #define ____X_XX    0x0b
26 #define ____XX__    0x0c
27 #define ____XX_X    0x0d
28 #define ____XXX_    0x0e
29 #define ____XXXX    0x0f
30 #define ___X____    0x10
31 #define ___X___X    0x11
32 #define ___X__X_    0x12
33 #define ___X__XX    0x13
34 #define ___X_X__    0x14
35 #define ___X_X_X    0x15
36 #define ___X_XX_    0x16
37 #define ___X_XXX    0x17
38 #define ___XX___    0x18
39 #define ___XX__X    0x19
40 #define ___XX_X_    0x1a
41 #define ___XX_XX    0x1b
42 #define ___XXX__    0x1c
43 #define ___XXX_X    0x1d
44 #define ___XXXX_    0x1e
45 #define ___XXXXX    0x1f
46 #define __X_____    0x20
47 #define __X____X    0x21
48 #define __X___X_    0x22
49 #define __X___XX    0x23
50 #define __X__X__    0x24
51 #define __X__X_X    0x25
52 #define __X__XX_    0x26
53 #define __X__XXX    0x27
54 #define __X_X___    0x28
55 #define __X_X__X    0x29
56 #define __X_X_X_    0x2a
57 #define __X_X_XX    0x2b
58 #define __X_XX__    0x2c
59 #define __X_XX_X    0x2d
60 #define __X_XXX_    0x2e
61 #define __X_XXXX    0x2f
62 #define __XX____    0x30
63 #define __XX___X    0x31
64 #define __XX__X_    0x32
65 #define __XX__XX    0x33
66 #define __XX_X__    0x34
67 #define __XX_X_X    0x35
68 #define __XX_XX_    0x36
69 #define __XX_XXX    0x37
70 #define __XXX___    0x38
71 #define __XXX__X    0x39
72 #define __XXX_X_    0x3a
73 #define __XXX_XX    0x3b
74 #define __XXXX__    0x3c
75 #define __XXXX_X    0x3d
76 #define __XXXXX_    0x3e
77 #define __XXXXXX    0x3f
78 #define _X______    0x40
79 #define _X_____X    0x41
80 #define _X____X_    0x42
81 #define _X____XX    0x43
82 #define _X___X__    0x44
83 #define _X___X_X    0x45
84 #define _X___XX_    0x46
85 #define _X___XXX    0x47
86 #define _X__X___    0x48
87 #define _X__X__X    0x49
88 #define _X__X_X_    0x4a
89 #define _X__X_XX    0x4b
90 #define _X__XX__    0x4c
91 #define _X__XX_X    0x4d
92 #define _X__XXX_    0x4e
93 #define _X__XXXX    0x4f
94 #define _X_X____    0x50
95 #define _X_X___X    0x51
96 #define _X_X__X_    0x52
97 #define _X_X__XX    0x53
98 #define _X_X_X__    0x54
99 #define _X_X_X_X    0x55
100 #define _X_X_XX_    0x56
101 #define _X_X_XXX    0x57
102 #define _X_XX___    0x58
103 #define _X_XX__X    0x59
104 #define _X_XX_X_    0x5a
105 #define _X_XX_XX    0x5b
106 #define _X_XXX__    0x5c
107 #define _X_XXX_X    0x5d
108 #define _X_XXXX_    0x5e
109 #define _X_XXXXX    0x5f
110 #define _XX_____    0x60
111 #define _XX____X    0x61
112 #define _XX___X_    0x62
113 #define _XX___XX    0x63
114 #define _XX__X__    0x64
115 #define _XX__X_X    0x65
116 #define _XX__XX_    0x66
117 #define _XX__XXX    0x67
118 #define _XX_X___    0x68
119 #define _XX_X__X    0x69
120 #define _XX_X_X_    0x6a
121 #define _XX_X_XX    0x6b
122 #define _XX_XX__    0x6c
123 #define _XX_XX_X    0x6d
124 #define _XX_XXX_    0x6e
125 #define _XX_XXXX    0x6f
126 #define _XXX____    0x70
127 #define _XXX___X    0x71
128 #define _XXX__X_    0x72
129 #define _XXX__XX    0x73
130 #define _XXX_X__    0x74
131 #define _XXX_X_X    0x75
132 #define _XXX_XX_    0x76
133 #define _XXX_XXX    0x77
134 #define _XXXX___    0x78
135 #define _XXXX__X    0x79
136 #define _XXXX_X_    0x7a
137 #define _XXXX_XX    0x7b
138 #define _XXXXX__    0x7c
139 #define _XXXXX_X    0x7d
140 #define _XXXXXX_    0x7e
141 #define _XXXXXXX    0x7f
142 #define X_______    0x80
143 #define X______X    0x81
144 #define X_____X_    0x82
145 #define X_____XX    0x83
146 #define X____X__    0x84
147 #define X____X_X    0x85
148 #define X____XX_    0x86
149 #define X____XXX    0x87
150 #define X___X___    0x88
151 #define X___X__X    0x89
152 #define X___X_X_    0x8a
153 #define X___X_XX    0x8b
154 #define X___XX__    0x8c
155 #define X___XX_X    0x8d
156 #define X___XXX_    0x8e
157 #define X___XXXX    0x8f
158 #define X__X____    0x90
159 #define X__X___X    0x91
160 #define X__X__X_    0x92
161 #define X__X__XX    0x93
162 #define X__X_X__    0x94
163 #define X__X_X_X    0x95
164 #define X__X_XX_    0x96
165 #define X__X_XXX    0x97
166 #define X__XX___    0x98
167 #define X__XX__X    0x99
168 #define X__XX_X_    0x9a
169 #define X__XX_XX    0x9b
170 #define X__XXX__    0x9c
171 #define X__XXX_X    0x9d
172 #define X__XXXX_    0x9e
173 #define X__XXXXX    0x9f
174 #define X_X_____    0xa0
175 #define X_X____X    0xa1
176 #define X_X___X_    0xa2
177 #define X_X___XX    0xa3
178 #define X_X__X__    0xa4
179 #define X_X__X_X    0xa5
180 #define X_X__XX_    0xa6
181 #define X_X__XXX    0xa7
182 #define X_X_X___    0xa8
183 #define X_X_X__X    0xa9
184 #define X_X_X_X_    0xaa
185 #define X_X_X_XX    0xab
186 #define X_X_XX__    0xac
187 #define X_X_XX_X    0xad
188 #define X_X_XXX_    0xae
189 #define X_X_XXXX    0xaf
190 #define X_XX____    0xb0
191 #define X_XX___X    0xb1
192 #define X_XX__X_    0xb2
193 #define X_XX__XX    0xb3
194 #define X_XX_X__    0xb4
195 #define X_XX_X_X    0xb5
196 #define X_XX_XX_    0xb6
197 #define X_XX_XXX    0xb7
198 #define X_XXX___    0xb8
199 #define X_XXX__X    0xb9
200 #define X_XXX_X_    0xba
201 #define X_XXX_XX    0xbb
202 #define X_XXXX__    0xbc
203 #define X_XXXX_X    0xbd
204 #define X_XXXXX_    0xbe
205 #define X_XXXXXX    0xbf
206 #define XX______    0xc0
207 #define XX_____X    0xc1
208 #define XX____X_    0xc2
209 #define XX____XX    0xc3
210 #define XX___X__    0xc4
211 #define XX___X_X    0xc5
212 #define XX___XX_    0xc6
213 #define XX___XXX    0xc7
214 #define XX__X___    0xc8
215 #define XX__X__X    0xc9
216 #define XX__X_X_    0xca
217 #define XX__X_XX    0xcb
218 #define XX__XX__    0xcc
219 #define XX__XX_X    0xcd
220 #define XX__XXX_    0xce
221 #define XX__XXXX    0xcf
222 #define XX_X____    0xd0
223 #define XX_X___X    0xd1
224 #define XX_X__X_    0xd2
225 #define XX_X__XX    0xd3
226 #define XX_X_X__    0xd4
227 #define XX_X_X_X    0xd5
228 #define XX_X_XX_    0xd6
229 #define XX_X_XXX    0xd7
230 #define XX_XX___    0xd8
231 #define XX_XX__X    0xd9
232 #define XX_XX_X_    0xda
233 #define XX_XX_XX    0xdb
234 #define XX_XXX__    0xdc
235 #define XX_XXX_X    0xdd
236 #define XX_XXXX_    0xde
237 #define XX_XXXXX    0xdf
238 #define XXX_____    0xe0
239 #define XXX____X    0xe1
240 #define XXX___X_    0xe2
241 #define XXX___XX    0xe3
242 #define XXX__X__    0xe4
243 #define XXX__X_X    0xe5
244 #define XXX__XX_    0xe6
245 #define XXX__XXX    0xe7
246 #define XXX_X___    0xe8
247 #define XXX_X__X    0xe9
248 #define XXX_X_X_    0xea
249 #define XXX_X_XX    0xeb
250 #define XXX_XX__    0xec
251 #define XXX_XX_X    0xed
252 #define XXX_XXX_    0xee
253 #define XXX_XXXX    0xef
254 #define XXXX____    0xf0
255 #define XXXX___X    0xf1
256 #define XXXX__X_    0xf2
257 #define XXXX__XX    0xf3
258 #define XXXX_X__    0xf4
259 #define XXXX_X_X    0xf5
260 #define XXXX_XX_    0xf6
261 #define XXXX_XXX    0xf7
262 #define XXXXX___    0xf8
263 #define XXXXX__X    0xf9
264 #define XXXXX_X_    0xfa
265 #define XXXXX_XX    0xfb
266 #define XXXXXX__    0xfc
267 #define XXXXXX_X    0xfd
268 #define XXXXXXX_    0xfe
269 #define XXXXXXXX    0xff
270 
271 
272 
273 
274 const unsigned char  FONTTYPE8_8[][8] = {
275 /* blank */
276   {
277    ________,
278    ________,
279    ________,
280    ________,
281    ________,
282    ________,
283    ________,
284    ________}
285 
286 /*  0  */
287  ,{
288    __XXX___,
289    _XX_XX__,
290    XX___XX_,
291    XX___XX_,
292    XX___XX_,
293    _XX_XX__,
294    __XXX___,
295    ________}
296 
297 /*  1  */
298  ,{
299    ___XX___,
300    __XXX___,
301    ___XX___,
302    ___XX___,
303    ___XX___,
304    ___XX___,
305    _XXXXXX_,
306    ________}
307 
308 /*  2  */
309  ,{
310    _XXXXX__,
311    XX___XX_,
312    _____XX_,
313    ___XXX__,
314    __XX____,
315    _XX__XX_,
316    XXXXXXX_,
317    ________}
318 
319 /*  3  */
320  ,{
321    _XXXXX__,
322    XX___XX_,
323    _____XX_,
324    __XXXX__,
325    _____XX_,
326    XX___XX_,
327    _XXXXX__,
328    ________}
329 
330 /*  4  */
331  ,{
332    ___XXX__,
333    __XXXX__,
334    _XX_XX__,
335    XX__XX__,
336    XXXXXXX_,
337    ____XX__,
338    ___XXXX_,
339    ________}
340 
341 /*  5  */
342  ,{
343    XXXXXXX_,
344    XX______,
345    XX______,
346    XXXXXX__,
347    _____XX_,
348    XX___XX_,
349    _XXXXX__,
350    ________}
351 
352 /*  6  */
353  ,{
354    __XXX___,
355    _XX_____,
356    XX______,
357    XXXXXX__,
358    XX___XX_,
359    XX___XX_,
360    _XXXXX__,
361    ________}
362 
363 /*  7  */
364  ,{
365    XXXXXXX_,
366    XX___XX_,
367    ____XX__,
368    ___XX___,
369    __XX____,
370    __XX____,
371    __XX____,
372    ________}
373 
374 /*  8  */
375  ,{
376    _XXXXX__,
377    XX___XX_,
378    XX___XX_,
379    _XXXXX__,
380    XX___XX_,
381    XX___XX_,
382    _XXXXX__,
383    ________}
384 
385 /*  9  */
386  ,{
387    _XXXXX__,
388    XX___XX_,
389    XX___XX_,
390    _XXXXXX_,
391    _____XX_,
392    ____XX__,
393    _XXXX___,
394    ________}
395 
396 /*  A  */
397  ,{
398    __XXX___,
399    _XX_XX__,
400    XX___XX_,
401    XXXXXXX_,
402    XX___XX_,
403    XX___XX_,
404    XX___XX_,
405    ________}
406 
407 /*  B  */
408  ,{
409    XXXXXX__,
410    _XX__XX_,
411    _XX__XX_,
412    _XXXXX__,
413    _XX__XX_,
414    _XX__XX_,
415    XXXXXX__,
416    ________}
417 
418 /*  C  */
419  ,{
420    __XXXX__,
421    _XX__XX_,
422    XX______,
423    XX______,
424    XX______,
425    _XX__XX_,
426    __XXXX__,
427    ________}
428 
429 /*  D  */
430  ,{
431    XXXXX___,
432    _XX_XX__,
433    _XX__XX_,
434    _XX__XX_,
435    _XX__XX_,
436    _XX_XX__,
437    XXXXX___,
438    ________}
439 
440 /*  E  */
441  ,{
442    XXXXXXX_,
443    _XX___X_,
444    _XX_X___,
445    _XXXX___,
446    _XX_X___,
447    _XX___X_,
448    XXXXXXX_,
449    ________}
450 
451 /*  F  */
452  ,{
453    XXXXXXX_,
454    _XX___X_,
455    _XX_X___,
456    _XXXX___,
457    _XX_X___,
458    _XX_____,
459    XXXX____,
460    ________}
461 
462 /*  G  */
463  ,{
464    __XXXX__,
465    _XX__XX_,
466    XX______,
467    XX______,
468    XX__XXX_,
469    _XX__XX_,
470    __XXX_X_,
471    ________}
472 
473 /*  H  */
474  ,{
475    XX___XX_,
476    XX___XX_,
477    XX___XX_,
478    XXXXXXX_,
479    XX___XX_,
480    XX___XX_,
481    XX___XX_,
482    ________}
483 
484 /*  I  */
485  ,{
486    __XXXX__,
487    ___XX___,
488    ___XX___,
489    ___XX___,
490    ___XX___,
491    ___XX___,
492    __XXXX__,
493    ________}
494 
495 /*  J  */
496  ,{
497    ___XXXX_,
498    ____XX__,
499    ____XX__,
500    ____XX__,
501    XX__XX__,
502    XX__XX__,
503    _XXXX___,
504    ________}
505 
506 /*  K  */
507  ,{
508    XXX__XX_,
509    _XX__XX_,
510    _XX_XX__,
511    _XXXX___,
512    _XX_XX__,
513    _XX__XX_,
514    XXX__XX_,
515    ________}
516 
517 /*  L  */
518  ,{
519    XXXX____,
520    _XX_____,
521    _XX_____,
522    _XX_____,
523    _XX___X_,
524    _XX__XX_,
525    XXXXXXX_,
526    ________}
527 
528 /*  M  */
529  ,{
530    XX___XX_,
531    XXX_XXX_,
532    XXXXXXX_,
533    XXXXXXX_,
534    XX_X_XX_,
535    XX___XX_,
536    XX___XX_,
537    ________}
538 
539 /*  N  */
540  ,{
541    XX___XX_,
542    XXX__XX_,
543    XXXX_XX_,
544    XX_XXXX_,
545    XX__XXX_,
546    XX___XX_,
547    XX___XX_,
548    ________}
549 
550 /*  O  */
551  ,{
552    _XXXXX__,
553    XX___XX_,
554    XX___XX_,
555    XX___XX_,
556    XX___XX_,
557    XX___XX_,
558    _XXXXX__,
559    ________}
560 
561 /*  P  */
562  ,{
563    XXXXXX__,
564    _XX__XX_,
565    _XX__XX_,
566    _XXXXX__,
567    _XX_____,
568    _XX_____,
569    XXXX____,
570    ________}
571 
572 /*  Q  */
573  ,{
574    _XXXXX__,
575    XX___XX_,
576    XX___XX_,
577    XX___XX_,
578    XX___XX_,
579    XX__XXX_,
580    _XXXXX__,
581    ____XXX_}
582 
583 /*  R  */
584  ,{
585    XXXXXX__,
586    _XX__XX_,
587    _XX__XX_,
588    _XXXXX__,
589    _XX_XX__,
590    _XX__XX_,
591    XXX__XX_,
592    ________}
593 
594 /*  S  */
595  ,{
596    __XXXX__,
597    _XX__XX_,
598    __XX____,
599    ___XX___,
600    ____XX__,
601    _XX__XX_,
602    __XXXX__,
603    ________}
604 
605 /*  T  */
606  ,{
607    _XXXXXX_,
608    _XXXXXX_,
609    _X_XX_X_,
610    ___XX___,
611    ___XX___,
612    ___XX___,
613    __XXXX__,
614    ________}
615 
616 /*  U  */
617  ,{
618    XX___XX_,
619    XX___XX_,
620    XX___XX_,
621    XX___XX_,
622    XX___XX_,
623    XX___XX_,
624    _XXXXX__,
625    ________}
626 
627 /*  V  */
628  ,{
629    XX___XX_,
630    XX___XX_,
631    XX___XX_,
632    XX___XX_,
633    XX___XX_,
634    _XX_XX__,
635    __XXX___,
636    ________}
637 
638 /*  W  */
639  ,{
640    XX___XX_,
641    XX___XX_,
642    XX___XX_,
643    XX_X_XX_,
644    XX_X_XX_,
645    XXXXXXX_,
646    _XX_XX__,
647    ________}
648 
649 /*  X  */
650  ,{
651    XX___XX_,
652    XX___XX_,
653    _XX_XX__,
654    __XXX___,
655    _XX_XX__,
656    XX___XX_,
657    XX___XX_,
658    ________}
659 
660 /*  Y  */
661  ,{
662    _XX__XX_,
663    _XX__XX_,
664    _XX__XX_,
665    __XXXX__,
666    ___XX___,
667    ___XX___,
668    __XXXX__,
669    ________}
670 
671 /*  Z  */
672  ,{
673    XXXXXXX_,
674    XX___XX_,
675    X___XX__,
676    ___XX___,
677    __XX__X_,
678    _XX__XX_,
679    XXXXXXX_,
680    ________}
681 
682 /*  a  */
683  ,{
684    ________,
685    ________,
686    _XXXX___,
687    ____XX__,
688    _XXXXX__,
689    XX__XX__,
690    _XXX_XX_,
691    ________}
692 
693 /*  b  */
694  ,{
695    XXX_____,
696    _XX_____,
697    _XXXXX__,
698    _XX__XX_,
699    _XX__XX_,
700    _XX__XX_,
701    XX_XXX__,
702    ________}
703 
704 /*  c  */
705  ,{
706    ________,
707    ________,
708    _XXXXX__,
709    XX___XX_,
710    XX______,
711    XX___XX_,
712    _XXXXX__,
713    ________}
714 
715 /*  d  */
716  ,{
717    ___XXX__,
718    ____XX__,
719    _XXXXX__,
720    XX__XX__,
721    XX__XX__,
722    XX__XX__,
723    _XXX_XX_,
724    ________}
725 
726 /*  e  */
727  ,{
728    ________,
729    ________,
730    _XXXXX__,
731    XX___XX_,
732    XXXXXXX_,
733    XX______,
734    _XXXXX__,
735    ________}
736 
737 /*  f  */
738  ,{
739    __XXXX__,
740    _XX__XX_,
741    _XX_____,
742    XXXXX___,
743    _XX_____,
744    _XX_____,
745    XXXX____,
746    ________}
747 
748 /*  g  */
749  ,{
750    ________,
751    ________,
752    _XXX_XX_,
753    XX__XX__,
754    XX__XX__,
755    _XXXXX__,
756    ____XX__,
757    XXXXX___}
758 
759 /*  h  */
760  ,{
761    XXX_____,
762    _XX_____,
763    _XX_XX__,
764    _XXX_XX_,
765    _XX__XX_,
766    _XX__XX_,
767    XXX__XX_,
768    ________}
769 
770 /*  i  */
771  ,{
772    ___XX___,
773    ________,
774    __XXX___,
775    ___XX___,
776    ___XX___,
777    ___XX___,
778    __XXXX__,
779    ________}
780 
781 /*  j  */
782  ,{
783    _____XX_,
784    ________,
785    _____XX_,
786    _____XX_,
787    _____XX_,
788    _XX__XX_,
789    _XX__XX_,
790    __XXXX__}
791 
792 /*  k  */
793  ,{
794    XXX_____,
795    _XX_____,
796    _XX__XX_,
797    _XX_XX__,
798    _XXXX___,
799    _XX_XX__,
800    XXX__XX_,
801    ________}
802 
803 /*  l  */
804  ,{
805    __XXX___,
806    ___XX___,
807    ___XX___,
808    ___XX___,
809    ___XX___,
810    ___XX___,
811    __XXXX__,
812    ________}
813 
814 /*  m  */
815  ,{
816    ________,
817    ________,
818    XXX_XX__,
819    XXXXXXX_,
820    XX_X_XX_,
821    XX_X_XX_,
822    XX_X_XX_,
823    ________}
824 
825 /*  n  */
826  ,{
827    ________,
828    ________,
829    XX_XXX__,
830    _XX__XX_,
831    _XX__XX_,
832    _XX__XX_,
833    _XX__XX_,
834    ________}
835 
836 /*  o  */
837  ,{
838    ________,
839    ________,
840    _XXXXX__,
841    XX___XX_,
842    XX___XX_,
843    XX___XX_,
844    _XXXXX__,
845    ________}
846 
847 /*  p  */
848  ,{
849    ________,
850    ________,
851    XX_XXX__,
852    _XX__XX_,
853    _XX__XX_,
854    _XXXXX__,
855    _XX_____,
856    XXXX____}
857 
858 /*  q  */
859  ,{
860    ________,
861    ________,
862    _XXX_XX_,
863    XX__XX__,
864    XX__XX__,
865    _XXXXX__,
866    ____XX__,
867    ___XXXX_}
868 
869 /*  r  */
870  ,{
871    ________,
872    ________,
873    XX_XXX__,
874    _XXX_XX_,
875    _XX_____,
876    _XX_____,
877    XXXX____,
878    ________}
879 
880 /*  s  */
881  ,{
882    ________,
883    ________,
884    _XXXXXX_,
885    XX______,
886    _XXXXX__,
887    _____XX_,
888    XXXXXX__,
889    ________}
890 
891 /*  t  */
892  ,{
893    __XX____,
894    __XX____,
895    XXXXXX__,
896    __XX____,
897    __XX____,
898    __XX_XX_,
899    ___XXX__,
900    ________}
901 
902 /*  u  */
903  ,{
904    ________,
905    ________,
906    XX__XX__,
907    XX__XX__,
908    XX__XX__,
909    XX__XX__,
910    _XXX_XX_,
911    ________}
912 
913 /*  v  */
914  ,{
915    ________,
916    ________,
917    XX___XX_,
918    XX___XX_,
919    XX___XX_,
920    _XX_XX__,
921    __XXX___,
922    ________}
923 
924 /*  w  */
925  ,{
926    ________,
927    ________,
928    XX___XX_,
929    XX_X_XX_,
930    XX_X_XX_,
931    XXXXXXX_,
932    _XX_XX__,
933    ________}
934 
935 /*  x  */
936  ,{
937    ________,
938    ________,
939    XX___XX_,
940    _XX_XX__,
941    __XXX___,
942    _XX_XX__,
943    XX___XX_,
944    ________}
945 
946 /*  y  */
947  ,{
948    ________,
949    ________,
950    XX___XX_,
951    XX___XX_,
952    XX___XX_,
953    _XXXXXX_,
954    _____XX_,
955    XXXXXX__}
956 
957 /*  z  */
958  ,{
959    ________,
960    ________,
961    _XXXXXX_,
962    _X__XX__,
963    ___XX___,
964    __XX__X_,
965    _XXXXXX_,
966    ________}
967 
968 };
969 
970 #endif /* __FONT_H */
971