1 /* (CC-BY-NC-SA) ROBIN KRENS - ROBIN @ ROBINKRENS.NL
4 * 2019/9/18 - ROBIN KRENS
8 * A non-standard 5 by 7 bit font (ALL CHARs ARE UPPER CASE)
9 * Some characters I haven't designed yet, these will display
10 * a'█' on a VGA or TFT screen. A character is column hex-coded.
12 * An example to make things clear!
13 * The letter 'S's bitmap is:
24 * # represents a selected bit, 1
25 * _ represents a non selected bit, 0
27 * For example, the first column is 1111101, the second columm 1001001
28 * For hex encoding we start at the MSB, the first LSB is never used
29 * The first column is 0xF6 and the second column 0x92. The letter 'S'
30 * equals to: 0xF6, 0x92, 0x92, 0x92, 0xDE,
34 const uint8_t ASCII5x7[] = {
35 0x00, 0x00, 0x00, 0x00, 0x00, // NULL
36 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
37 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
38 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
39 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
40 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
41 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
42 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
43 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
44 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
45 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
46 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
47 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
48 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
49 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
50 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
51 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
52 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
53 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
54 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
55 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
56 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
57 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
58 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
59 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
60 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
61 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
62 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
63 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
64 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
65 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
66 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
67 0x00, 0x00, 0x00, 0x00, 0x00, // SPACE
68 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // !
69 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
70 0x28, 0x7C, 0x28, 0x7C, 0x28, // # definitely needed for terminal :D
71 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
72 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
73 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
74 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
75 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
76 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
77 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
78 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
79 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
80 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
81 0x00, 0x02, 0x00, 0x00, 0x00, // .
82 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // /
83 0xFE, 0x82, 0x92, 0x82, 0xFE, // 0
84 0x00, 0x00, 0x82, 0xFE, 0x02, // 1
85 0xDE, 0x92, 0x92, 0x92, 0xF2, // 2
86 0xC6, 0x92, 0x92, 0x92, 0xFE, // 3
87 0xF8, 0x08, 0x08, 0x08, 0xFE, // 4
88 0xF6, 0x92, 0x92, 0x92, 0x9E, // 5
89 0xFE, 0x92, 0x92, 0x92, 0xDE, // 6
90 0xC0, 0x80, 0x80, 0x80, 0xFE, // 7
91 0xFE, 0x92, 0x92, 0x92, 0xFE, // 8
92 0xF6, 0x92, 0x92, 0x92, 0xFE, // 9
93 0x00, 0x44, 0x00, 0x00, 0x00, //:
94 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
95 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
96 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
97 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
98 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
99 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
100 0x7E, 0x88, 0x88, 0x88, 0x7E, // upper case A
101 0xFE, 0x92, 0x92, 0x92, 0x7C, // B
102 0xFE, 0x82, 0x82, 0x82, 0xC6, // C
103 0xFE, 0x82, 0x82, 0x82, 0x7C, // D
104 0xFE, 0x92, 0x92, 0x92, 0xC6, // E
105 0xFE, 0x90, 0x90, 0x90, 0xC0, // F
106 0xFE, 0x82, 0x9A, 0x92, 0xDE, // G
107 0xFE, 0x10, 0x10, 0x10, 0xFE, // H
108 0x00, 0x82, 0xFE, 0x82, 0x00, // I
109 0x00, 0x06, 0x02, 0x82, 0xFE, // J
110 0xFE, 0x10, 0x10, 0x28, 0xC6, // K
111 0xFE, 0x02, 0x02, 0x02, 0x06, // L
112 0xFE, 0x60, 0x18, 0x60, 0xFE, // M
113 0xFE, 0x60, 0x30, 0x18, 0xFE, // N
114 0x7C, 0x82, 0x82, 0x82, 0x7C, // O
115 0xFE, 0x90, 0x90, 0x90, 0x70, // P
116 0x7C, 0x82, 0x8A, 0x84, 0x7A, // Q
117 0xFE, 0x90, 0x90, 0x98, 0x6E, // R
118 0xF6, 0x92, 0x92, 0x92, 0xDE, // S
119 0xC0, 0x80, 0xFE, 0x80, 0xC0, // T
120 0xFE, 0x02, 0x02, 0x02, 0xFE, // U
121 0xF8, 0x0C, 0x02, 0x0C, 0xF8, // V
122 0xFE, 0x0C, 0x30, 0x0C, 0xFE, // W
123 0xC6, 0x6C, 0x10, 0x6C, 0xC6, // X
124 0xE0, 0x30, 0x1E, 0x30, 0xE0, // Y
125 0xC6, 0x8A, 0x92, 0xA2, 0xC6, // Z
126 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
127 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
128 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
129 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
130 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
131 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
132 0x7E, 0x88, 0x88, 0x88, 0x7E, // lower case A
133 0xFE, 0x92, 0x92, 0x92, 0x7C, // b
134 0xFE, 0x82, 0x82, 0x82, 0xC6, // c
135 0xFE, 0x82, 0x82, 0x82, 0x7C, // d
136 0xFE, 0x92, 0x92, 0x92, 0xC6, // e
137 0xFE, 0x90, 0x90, 0x90, 0xC0, // f
138 0xFE, 0x82, 0x9A, 0x92, 0xDE, // g
139 0xFE, 0x10, 0x10, 0x10, 0xFE, // h
140 0x00, 0x82, 0xFE, 0x82, 0x00, // i
141 0x00, 0x06, 0x02, 0x82, 0xFE, // j
142 0xFE, 0x10, 0x10, 0x28, 0xC6, // k
143 0xFE, 0x02, 0x02, 0x02, 0x06, // l
144 0xFE, 0x60, 0x18, 0x60, 0xFE, // m
145 0xFE, 0x60, 0x30, 0x18, 0xFE, // n
146 0x7C, 0x82, 0x82, 0x82, 0x7C, // o
147 0xFE, 0x90, 0x90, 0x90, 0x70, // p
148 0x7C, 0x82, 0x8A, 0x84, 0x7A, // q
149 0xFE, 0x90, 0x90, 0x98, 0x6E, // r
150 0xF6, 0x92, 0x92, 0x92, 0xDE, // s
151 0xC0, 0x80, 0xFE, 0x80, 0xC0, // t
152 0xFE, 0x02, 0x02, 0x02, 0xFE, // u
153 0xF8, 0x0C, 0x02, 0x0C, 0xF8, // v
154 0xFE, 0x0C, 0x30, 0x0C, 0xFE, // w
155 0xC6, 0x6C, 0x10, 0x6C, 0xC6, // x
156 0xE0, 0x30, 0x1E, 0x30, 0xE0, // y
157 0xC6, 0x8A, 0x92, 0xA2, 0xC6, // z
158 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
159 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
160 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
161 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
162 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // DEL