1 /*******************************************************************************
2  * Size: 20 px
3  * Bpp: 1
4  * Opts:
5  ******************************************************************************/
6 
7 #include "../../../lvgl.h"
8 #if LV_BUILD_TEST
9 
10 #ifndef TEST_FONT_MONTSERRAT_ASCII_1BPP
11     #define TEST_FONT_MONTSERRAT_ASCII_1BPP 1
12 #endif
13 
14 #if TEST_FONT_MONTSERRAT_ASCII_1BPP
15 
16 /*-----------------
17  *    BITMAPS
18  *----------------*/
19 
20 /*Store the image of the glyphs*/
21 static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
22     /* U+0020 " " */
23     0x0,
24 
25     /* U+0021 "!" */
26     0xff, 0xff, 0xf0, 0x30,
27 
28     /* U+0022 "\"" */
29     0xde, 0xf7, 0xbd, 0x80,
30 
31     /* U+0023 "#" */
32     0x8, 0x40, 0x42, 0x2, 0x10, 0xff, 0xf0, 0x8c,
33     0xc, 0x60, 0x63, 0x3, 0x18, 0x18, 0x87, 0xff,
34     0x84, 0x20, 0x21, 0x1, 0x8, 0x8, 0x40,
35 
36     /* U+0024 "$" */
37     0xc, 0x3, 0x0, 0xc0, 0xfe, 0x6c, 0xb3, 0xc,
38     0xc3, 0x30, 0xec, 0x1f, 0x81, 0xf8, 0x37, 0xc,
39     0xc3, 0x38, 0xcf, 0x36, 0x7f, 0x3, 0x0, 0xc0,
40     0x30,
41 
42     /* U+0025 "%" */
43     0x38, 0x8, 0x6c, 0x10, 0xc6, 0x30, 0xc6, 0x20,
44     0xc6, 0x40, 0x6c, 0xc0, 0x38, 0x9c, 0x1, 0x36,
45     0x3, 0x63, 0x2, 0x63, 0x4, 0x63, 0xc, 0x63,
46     0x8, 0x36, 0x10, 0x1c,
47 
48     /* U+0026 "&" */
49     0x1f, 0x1, 0x8c, 0xc, 0x60, 0x63, 0x3, 0xb8,
50     0xf, 0x80, 0x70, 0x7, 0xc0, 0x63, 0x36, 0xd,
51     0xb0, 0x79, 0x81, 0xc6, 0x1f, 0x1f, 0x98, 0x0,
52     0x40,
53 
54     /* U+0027 "'" */
55     0xff, 0xc0,
56 
57     /* U+0028 "(" */
58     0x33, 0x66, 0x6c, 0xcc, 0xcc, 0xcc, 0xcc, 0x66,
59     0x63, 0x30,
60 
61     /* U+0029 ")" */
62     0xcc, 0x66, 0x63, 0x33, 0x33, 0x33, 0x33, 0x66,
63     0x6c, 0xc0,
64 
65     /* U+002A "*" */
66     0x11, 0x27, 0xf9, 0xcf, 0xf2, 0x44, 0x0,
67 
68     /* U+002B "+" */
69     0x18, 0xc, 0x6, 0x3, 0xf, 0xf8, 0xc0, 0x60,
70     0x30, 0x18, 0x0,
71 
72     /* U+002C "," */
73     0xf6, 0x80,
74 
75     /* U+002D "-" */
76     0xf8,
77 
78     /* U+002E "." */
79     0xfc,
80 
81     /* U+002F "/" */
82     0x1, 0x80, 0x80, 0xc0, 0x60, 0x20, 0x30, 0x18,
83     0x8, 0xc, 0x6, 0x2, 0x3, 0x1, 0x80, 0x80,
84     0xc0, 0x60, 0x20, 0x30, 0x18, 0x8, 0x0,
85 
86     /* U+0030 "0" */
87     0x1f, 0x6, 0x31, 0x83, 0x30, 0x6c, 0x7, 0x80,
88     0xf0, 0x1e, 0x3, 0xc0, 0x78, 0xd, 0x3, 0x30,
89     0x63, 0x18, 0x3e, 0x0,
90 
91     /* U+0031 "1" */
92     0xf8, 0xc6, 0x31, 0x8c, 0x63, 0x18, 0xc6, 0x31,
93     0x8c,
94 
95     /* U+0032 "2" */
96     0x7e, 0x30, 0xc0, 0x18, 0x6, 0x1, 0x80, 0xe0,
97     0x30, 0x1c, 0xe, 0x7, 0x3, 0x81, 0xc0, 0x60,
98     0x3f, 0xf0,
99 
100     /* U+0033 "3" */
101     0x7f, 0xc0, 0x18, 0x6, 0x1, 0x80, 0x70, 0xc,
102     0x3, 0xe0, 0x1e, 0x0, 0xe0, 0xc, 0x1, 0x80,
103     0x36, 0xc, 0x7e, 0x0,
104 
105     /* U+0034 "4" */
106     0x1, 0x80, 0x30, 0x7, 0x0, 0x60, 0xc, 0x1,
107     0x80, 0x38, 0xc7, 0xc, 0x60, 0xcf, 0xff, 0x0,
108     0xc0, 0xc, 0x0, 0xc0, 0xc,
109 
110     /* U+0035 "5" */
111     0x7f, 0x98, 0x6, 0x1, 0x80, 0x60, 0x18, 0x7,
112     0xf0, 0x6, 0x0, 0xc0, 0x30, 0xe, 0x3, 0xc1,
113     0x9f, 0xc0,
114 
115     /* U+0036 "6" */
116     0xf, 0xc6, 0x9, 0x80, 0x20, 0xc, 0x1, 0xbf,
117     0x3c, 0x37, 0x3, 0xe0, 0x7c, 0xd, 0x81, 0xb0,
118     0x33, 0xc, 0x3e, 0x0,
119 
120     /* U+0037 "7" */
121     0xff, 0xf8, 0x1b, 0x3, 0x60, 0xc0, 0x18, 0x7,
122     0x0, 0xc0, 0x18, 0x6, 0x0, 0xc0, 0x30, 0x6,
123     0x1, 0xc0, 0x30, 0x0,
124 
125     /* U+0038 "8" */
126     0x3f, 0x8c, 0x1b, 0x1, 0xe0, 0x3c, 0x6, 0xc1,
127     0x8f, 0xe3, 0x6, 0xc0, 0x78, 0xf, 0x1, 0xe0,
128     0x36, 0xc, 0x3e, 0x0,
129 
130     /* U+0039 "9" */
131     0x3f, 0xc, 0x33, 0x3, 0x60, 0x6c, 0xf, 0x81,
132     0xd8, 0x79, 0xfb, 0x0, 0x60, 0xc, 0x3, 0x0,
133     0x64, 0x38, 0xfc, 0x0,
134 
135     /* U+003A ":" */
136     0xfc, 0x0, 0xfc,
137 
138     /* U+003B ";" */
139     0xfc, 0x0, 0x3d, 0xa0,
140 
141     /* U+003C "<" */
142     0x0, 0x81, 0xc3, 0xcf, 0xe, 0x7, 0x80, 0xf0,
143     0x1f, 0x1, 0x80,
144 
145     /* U+003D "=" */
146     0xff, 0x80, 0x0, 0x0, 0x0, 0x7, 0xfc,
147 
148     /* U+003E ">" */
149     0x80, 0x70, 0x1f, 0x1, 0xe0, 0x38, 0x3c, 0x79,
150     0xf0, 0xc0, 0x0,
151 
152     /* U+003F "?" */
153     0x3f, 0x38, 0x64, 0xc, 0x3, 0x0, 0xc0, 0x70,
154     0x38, 0x1c, 0xe, 0x3, 0x0, 0xc0, 0x0, 0x0,
155     0x3, 0x0,
156 
157     /* U+0040 "@" */
158     0x3, 0xf8, 0x1, 0xc1, 0xc0, 0x60, 0xc, 0x18,
159     0x0, 0xc6, 0x1f, 0x6c, 0xce, 0x3d, 0xb1, 0x83,
160     0x9e, 0x60, 0x33, 0xcc, 0x6, 0x79, 0x80, 0xcf,
161     0x30, 0x19, 0xe3, 0x7, 0x36, 0x71, 0xec, 0xc3,
162     0xe7, 0xc, 0x0, 0x0, 0xc0, 0x0, 0xe, 0x4,
163     0x0, 0x7f, 0x0,
164 
165     /* U+0041 "A" */
166     0x3, 0x80, 0x7, 0x0, 0x1e, 0x0, 0x36, 0x0,
167     0xcc, 0x1, 0x8c, 0x6, 0x18, 0xc, 0x18, 0x38,
168     0x30, 0x7f, 0xf0, 0x80, 0x63, 0x0, 0x66, 0x0,
169     0xd8, 0x1, 0x80,
170 
171     /* U+0042 "B" */
172     0xff, 0x8c, 0xc, 0xc0, 0x6c, 0x6, 0xc0, 0x6c,
173     0xc, 0xff, 0xcc, 0x6, 0xc0, 0x3c, 0x3, 0xc0,
174     0x3c, 0x3, 0xc0, 0x6f, 0xfc,
175 
176     /* U+0043 "C" */
177     0x7, 0xe0, 0xc1, 0xcc, 0x4, 0xc0, 0xc, 0x0,
178     0x60, 0x3, 0x0, 0x18, 0x0, 0xc0, 0x6, 0x0,
179     0x18, 0x0, 0x60, 0x21, 0x83, 0x87, 0xf0,
180 
181     /* U+0044 "D" */
182     0xff, 0x86, 0x6, 0x30, 0x19, 0x80, 0x6c, 0x1,
183     0xe0, 0xf, 0x0, 0x78, 0x3, 0xc0, 0x1e, 0x0,
184     0xf0, 0xd, 0x80, 0xec, 0xc, 0x7f, 0xc0,
185 
186     /* U+0045 "E" */
187     0xff, 0xf0, 0xc, 0x3, 0x0, 0xc0, 0x30, 0xf,
188     0xfb, 0x0, 0xc0, 0x30, 0xc, 0x3, 0x0, 0xc0,
189     0x3f, 0xf0,
190 
191     /* U+0046 "F" */
192     0xff, 0xf0, 0xc, 0x3, 0x0, 0xc0, 0x30, 0xc,
193     0x3, 0xfe, 0xc0, 0x30, 0xc, 0x3, 0x0, 0xc0,
194     0x30, 0x0,
195 
196     /* U+0047 "G" */
197     0x7, 0xe0, 0xc1, 0xcc, 0x4, 0xc0, 0xc, 0x0,
198     0x60, 0x3, 0x0, 0x18, 0x3, 0xc0, 0x1e, 0x0,
199     0xd8, 0x6, 0x60, 0x31, 0x83, 0x83, 0xf8,
200 
201     /* U+0048 "H" */
202     0xc0, 0x3c, 0x3, 0xc0, 0x3c, 0x3, 0xc0, 0x3c,
203     0x3, 0xff, 0xfc, 0x3, 0xc0, 0x3c, 0x3, 0xc0,
204     0x3c, 0x3, 0xc0, 0x3c, 0x3,
205 
206     /* U+0049 "I" */
207     0xff, 0xff, 0xff, 0xf0,
208 
209     /* U+004A "J" */
210     0x7f, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
211     0x3, 0x3, 0x3, 0x83, 0xc6, 0x7c,
212 
213     /* U+004B "K" */
214     0xc0, 0x6c, 0xc, 0xc1, 0xcc, 0x38, 0xc7, 0xc,
215     0xe0, 0xdc, 0xf, 0xe0, 0xf7, 0xe, 0x38, 0xc1,
216     0x8c, 0xc, 0xc0, 0x6c, 0x7,
217 
218     /* U+004C "L" */
219     0xc0, 0x30, 0xc, 0x3, 0x0, 0xc0, 0x30, 0xc,
220     0x3, 0x0, 0xc0, 0x30, 0xc, 0x3, 0x0, 0xc0,
221     0x3f, 0xf0,
222 
223     /* U+004D "M" */
224     0xc0, 0x7, 0xc0, 0x1f, 0x80, 0x3f, 0x80, 0xff,
225     0x1, 0xfb, 0x6, 0xf3, 0x19, 0xe6, 0x33, 0xc6,
226     0xc7, 0x8d, 0x8f, 0xe, 0x1e, 0x8, 0x3c, 0x0,
227     0x78, 0x0, 0xc0,
228 
229     /* U+004E "N" */
230     0xc0, 0x3e, 0x3, 0xf0, 0x3f, 0x3, 0xd8, 0x3c,
231     0xc3, 0xce, 0x3c, 0x73, 0xc3, 0x3c, 0x1b, 0xc0,
232     0xfc, 0xf, 0xc0, 0x7c, 0x3,
233 
234     /* U+004F "O" */
235     0x7, 0xc0, 0x30, 0x60, 0xc0, 0x63, 0x0, 0x6c,
236     0x0, 0x78, 0x0, 0xf0, 0x1, 0xe0, 0x3, 0xc0,
237     0x7, 0x80, 0xd, 0x80, 0x31, 0x80, 0xc1, 0x83,
238     0x0, 0xf8, 0x0,
239 
240     /* U+0050 "P" */
241     0xff, 0x18, 0x3b, 0x1, 0xe0, 0x3c, 0x7, 0x80,
242     0xf0, 0x3e, 0xe, 0xff, 0x18, 0x3, 0x0, 0x60,
243     0xc, 0x1, 0x80, 0x0,
244 
245     /* U+0051 "Q" */
246     0x7, 0xc0, 0x18, 0x30, 0x30, 0x18, 0x60, 0xc,
247     0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6,
248     0xc0, 0x6, 0xc0, 0x6, 0x60, 0xc, 0x30, 0x18,
249     0x18, 0x30, 0xf, 0xe0, 0x1, 0xc2, 0x0, 0xe2,
250     0x0, 0x3c,
251 
252     /* U+0052 "R" */
253     0xff, 0x18, 0x3b, 0x1, 0xe0, 0x3c, 0x7, 0x80,
254     0xf0, 0x3e, 0xe, 0xff, 0x98, 0x63, 0x6, 0x60,
255     0x6c, 0xd, 0x80, 0xc0,
256 
257     /* U+0053 "S" */
258     0x3f, 0x98, 0x6c, 0x3, 0x0, 0xc0, 0x3c, 0x7,
259     0xf0, 0xfe, 0x7, 0xc0, 0x70, 0xe, 0x3, 0xc1,
260     0x9f, 0xc0,
261 
262     /* U+0054 "T" */
263     0xff, 0xf0, 0x60, 0x6, 0x0, 0x60, 0x6, 0x0,
264     0x60, 0x6, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6,
265     0x0, 0x60, 0x6, 0x0, 0x60,
266 
267     /* U+0055 "U" */
268     0xc0, 0x3c, 0x3, 0xc0, 0x3c, 0x3, 0xc0, 0x3c,
269     0x3, 0xc0, 0x3c, 0x3, 0xc0, 0x3c, 0x3, 0xc0,
270     0x36, 0x6, 0x30, 0xc1, 0xf8,
271 
272     /* U+0056 "V" */
273     0xc0, 0xd, 0x80, 0x36, 0x1, 0x8c, 0x6, 0x30,
274     0x30, 0xe0, 0xc1, 0x86, 0x6, 0x18, 0xc, 0xe0,
275     0x33, 0x0, 0x6c, 0x1, 0xe0, 0x7, 0x80, 0xc,
276     0x0,
277 
278     /* U+0057 "W" */
279     0xc0, 0x60, 0x1e, 0x3, 0x81, 0xb8, 0x1c, 0xc,
280     0xc1, 0xa0, 0x66, 0xd, 0x86, 0x38, 0xcc, 0x30,
281     0xc6, 0x21, 0x86, 0x31, 0x98, 0x3b, 0xc, 0xc0,
282     0xd8, 0x26, 0x6, 0xc1, 0xe0, 0x3c, 0xf, 0x0,
283     0xe0, 0x38, 0x7, 0x1, 0x80,
284 
285     /* U+0058 "X" */
286     0x60, 0x31, 0x81, 0x8e, 0x18, 0x31, 0x80, 0xdc,
287     0x3, 0xc0, 0x1c, 0x0, 0xe0, 0xf, 0x80, 0x66,
288     0x6, 0x38, 0x60, 0xc7, 0x3, 0x30, 0xc,
289 
290     /* U+0059 "Y" */
291     0x60, 0x19, 0xc0, 0x63, 0x3, 0x6, 0x18, 0x18,
292     0x60, 0x33, 0x0, 0xec, 0x1, 0xe0, 0x3, 0x0,
293     0xc, 0x0, 0x30, 0x0, 0xc0, 0x3, 0x0, 0xc,
294     0x0,
295 
296     /* U+005A "Z" */
297     0xff, 0xe0, 0xe, 0x1, 0xc0, 0x18, 0x3, 0x0,
298     0x70, 0x6, 0x0, 0xc0, 0x1c, 0x1, 0x80, 0x30,
299     0x7, 0x0, 0xe0, 0xf, 0xff,
300 
301     /* U+005B "[" */
302     0xfc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
303     0xcc, 0xf0,
304 
305     /* U+005C "\\" */
306     0xc0, 0x20, 0x18, 0xc, 0x2, 0x1, 0x80, 0xc0,
307     0x20, 0x18, 0xc, 0x2, 0x1, 0x80, 0xc0, 0x20,
308     0x18, 0xc, 0x2, 0x1, 0x80, 0xc0, 0x20,
309 
310     /* U+005D "]" */
311     0xf8, 0xc6, 0x31, 0x8c, 0x63, 0x18, 0xc6, 0x31,
312     0x8c, 0x63, 0x18, 0xfe,
313 
314     /* U+005E "^" */
315     0xc, 0x6, 0x7, 0x2, 0xc3, 0x21, 0x18, 0x84,
316     0xc3, 0x41, 0x80,
317 
318     /* U+005F "_" */
319     0xff, 0xc0,
320 
321     /* U+0060 "`" */
322     0xe0, 0xc1, 0x80,
323 
324     /* U+0061 "a" */
325     0x7e, 0x21, 0x80, 0x60, 0x30, 0x1b, 0xff, 0x87,
326     0x83, 0xc1, 0xf1, 0xdf, 0x60,
327 
328     /* U+0062 "b" */
329     0xc0, 0x18, 0x3, 0x0, 0x60, 0xd, 0xf1, 0xe3,
330     0x38, 0x36, 0x3, 0xc0, 0x78, 0xf, 0x1, 0xe0,
331     0x3e, 0xd, 0xe3, 0xb7, 0xc0,
332 
333     /* U+0063 "c" */
334     0x1f, 0xc, 0x76, 0xb, 0x0, 0xc0, 0x30, 0xc,
335     0x3, 0x0, 0x60, 0x8c, 0x71, 0xf0,
336 
337     /* U+0064 "d" */
338     0x0, 0x60, 0xc, 0x1, 0x80, 0x31, 0xf6, 0x63,
339     0xd8, 0x3e, 0x3, 0xc0, 0x78, 0xf, 0x1, 0xe0,
340     0x36, 0xe, 0xe3, 0xc7, 0xd8,
341 
342     /* U+0065 "e" */
343     0x1f, 0x6, 0x31, 0x83, 0x60, 0x3c, 0x7, 0xff,
344     0xf0, 0x6, 0x0, 0x60, 0x6, 0x18, 0x7e, 0x0,
345 
346     /* U+0066 "f" */
347     0x1f, 0x30, 0x30, 0x30, 0xfe, 0x30, 0x30, 0x30,
348     0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
349 
350     /* U+0067 "g" */
351     0x1f, 0x6e, 0x3d, 0x83, 0xe0, 0x3c, 0x7, 0x80,
352     0xf0, 0x1e, 0x3, 0x60, 0xe6, 0x3c, 0x7d, 0x80,
353     0x30, 0x4, 0xc1, 0x8f, 0xc0,
354 
355     /* U+0068 "h" */
356     0xc0, 0x30, 0xc, 0x3, 0x0, 0xdf, 0x38, 0x6e,
357     0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0,
358     0xf0, 0x3c, 0xc,
359 
360     /* U+0069 "i" */
361     0xc0, 0xff, 0xff, 0xfc,
362 
363     /* U+006A "j" */
364     0x18, 0x0, 0x1, 0x8c, 0x63, 0x18, 0xc6, 0x31,
365     0x8c, 0x63, 0x18, 0xfc,
366 
367     /* U+006B "k" */
368     0xc0, 0x18, 0x3, 0x0, 0x60, 0xc, 0x1d, 0x87,
369     0x31, 0xc6, 0x70, 0xdc, 0x1f, 0x83, 0xd8, 0x73,
370     0x8c, 0x39, 0x83, 0x30, 0x30,
371 
372     /* U+006C "l" */
373     0xff, 0xff, 0xff, 0xfc,
374 
375     /* U+006D "m" */
376     0xdf, 0x1f, 0x38, 0x78, 0x6e, 0xe, 0xf, 0x3,
377     0x3, 0xc0, 0xc0, 0xf0, 0x30, 0x3c, 0xc, 0xf,
378     0x3, 0x3, 0xc0, 0xc0, 0xf0, 0x30, 0x3c, 0xc,
379     0xc,
380 
381     /* U+006E "n" */
382     0xdf, 0x38, 0x6e, 0xf, 0x3, 0xc0, 0xf0, 0x3c,
383     0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xc,
384 
385     /* U+006F "o" */
386     0x1f, 0x6, 0x31, 0x83, 0x60, 0x3c, 0x7, 0x80,
387     0xf0, 0x1e, 0x3, 0x60, 0xc6, 0x30, 0x7c, 0x0,
388 
389     /* U+0070 "p" */
390     0xdf, 0x1e, 0x33, 0x83, 0x60, 0x3c, 0x7, 0x80,
391     0xf0, 0x1e, 0x3, 0xe0, 0xde, 0x3b, 0x7c, 0x60,
392     0xc, 0x1, 0x80, 0x30, 0x0,
393 
394     /* U+0071 "q" */
395     0x1f, 0x66, 0x3d, 0x83, 0xe0, 0x3c, 0x7, 0x80,
396     0xf0, 0x1e, 0x3, 0x60, 0xe6, 0x3c, 0x7d, 0x80,
397     0x30, 0x6, 0x0, 0xc0, 0x18,
398 
399     /* U+0072 "r" */
400     0xdf, 0x8e, 0x30, 0xc3, 0xc, 0x30, 0xc3, 0xc,
401     0x0,
402 
403     /* U+0073 "s" */
404     0x3f, 0x30, 0xb0, 0x18, 0xf, 0xc3, 0xf8, 0x7e,
405     0x7, 0x1, 0xe1, 0xbf, 0x80,
406 
407     /* U+0074 "t" */
408     0x30, 0x30, 0x30, 0xfe, 0x30, 0x30, 0x30, 0x30,
409     0x30, 0x30, 0x30, 0x30, 0x30, 0x1f,
410 
411     /* U+0075 "u" */
412     0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c,
413     0xf, 0x3, 0xc1, 0xd8, 0x73, 0xec,
414 
415     /* U+0076 "v" */
416     0xc0, 0x6c, 0xd, 0x83, 0x30, 0x63, 0x18, 0x63,
417     0x6, 0x40, 0xd8, 0xb, 0x1, 0xc0, 0x38, 0x0,
418 
419     /* U+0077 "w" */
420     0xc0, 0xc0, 0xd0, 0x30, 0x26, 0x1e, 0x19, 0x87,
421     0x86, 0x31, 0x21, 0xc, 0xcc, 0xc3, 0x33, 0x30,
422     0x78, 0x78, 0x1e, 0x1e, 0x3, 0x3, 0x0, 0xc0,
423     0xc0,
424 
425     /* U+0078 "x" */
426     0x60, 0xc6, 0x30, 0xc6, 0xd, 0x80, 0xe0, 0x1c,
427     0x3, 0x80, 0xd8, 0x31, 0x8e, 0x39, 0x83, 0x0,
428 
429     /* U+0079 "y" */
430     0xc0, 0x6c, 0xd, 0x83, 0x30, 0x63, 0x8, 0x63,
431     0x6, 0x40, 0xd8, 0x1b, 0x1, 0xc0, 0x38, 0x2,
432     0x0, 0xc1, 0x10, 0x3c, 0x0,
433 
434     /* U+007A "z" */
435     0xff, 0x81, 0xc1, 0xc0, 0xc0, 0xc0, 0xe0, 0x60,
436     0x60, 0x70, 0x70, 0x3f, 0xe0,
437 
438     /* U+007B "{" */
439     0x1c, 0xc3, 0xc, 0x30, 0xc3, 0xc, 0x33, 0x83,
440     0xc, 0x30, 0xc3, 0xc, 0x30, 0xc1, 0xc0,
441 
442     /* U+007C "|" */
443     0xff, 0xff, 0xff, 0xff, 0xfc,
444 
445     /* U+007D "}" */
446     0xe0, 0xc3, 0xc, 0x30, 0xc3, 0xc, 0x30, 0x73,
447     0xc, 0x30, 0xc3, 0xc, 0x30, 0xce, 0x0,
448 
449     /* U+007E "~" */
450     0x70, 0xc4, 0x61, 0xc0
451 };
452 
453 /*---------------------
454  *  GLYPH DESCRIPTION
455  *--------------------*/
456 
457 static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
458     {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
459     {.bitmap_index = 0, .adv_w = 86, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
460     {.bitmap_index = 1, .adv_w = 86, .box_w = 2, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
461     {.bitmap_index = 5, .adv_w = 125, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 9},
462     {.bitmap_index = 9, .adv_w = 225, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
463     {.bitmap_index = 32, .adv_w = 199, .box_w = 10, .box_h = 20, .ofs_x = 1, .ofs_y = -3},
464     {.bitmap_index = 57, .adv_w = 270, .box_w = 16, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
465     {.bitmap_index = 85, .adv_w = 220, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = -1},
466     {.bitmap_index = 110, .adv_w = 67, .box_w = 2, .box_h = 5, .ofs_x = 1, .ofs_y = 9},
467     {.bitmap_index = 112, .adv_w = 108, .box_w = 4, .box_h = 19, .ofs_x = 2, .ofs_y = -4},
468     {.bitmap_index = 122, .adv_w = 108, .box_w = 4, .box_h = 19, .ofs_x = 1, .ofs_y = -4},
469     {.bitmap_index = 132, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 8},
470     {.bitmap_index = 139, .adv_w = 186, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 3},
471     {.bitmap_index = 150, .adv_w = 73, .box_w = 2, .box_h = 5, .ofs_x = 1, .ofs_y = -3},
472     {.bitmap_index = 152, .adv_w = 123, .box_w = 5, .box_h = 1, .ofs_x = 1, .ofs_y = 5},
473     {.bitmap_index = 153, .adv_w = 73, .box_w = 2, .box_h = 3, .ofs_x = 1, .ofs_y = 0},
474     {.bitmap_index = 154, .adv_w = 113, .box_w = 9, .box_h = 20, .ofs_x = -1, .ofs_y = -2},
475     {.bitmap_index = 177, .adv_w = 213, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
476     {.bitmap_index = 197, .adv_w = 118, .box_w = 5, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
477     {.bitmap_index = 206, .adv_w = 184, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
478     {.bitmap_index = 224, .adv_w = 183, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
479     {.bitmap_index = 244, .adv_w = 214, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
480     {.bitmap_index = 265, .adv_w = 184, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
481     {.bitmap_index = 283, .adv_w = 197, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
482     {.bitmap_index = 303, .adv_w = 191, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
483     {.bitmap_index = 323, .adv_w = 206, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
484     {.bitmap_index = 343, .adv_w = 197, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
485     {.bitmap_index = 363, .adv_w = 73, .box_w = 2, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
486     {.bitmap_index = 366, .adv_w = 73, .box_w = 2, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
487     {.bitmap_index = 370, .adv_w = 186, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 3},
488     {.bitmap_index = 381, .adv_w = 186, .box_w = 9, .box_h = 6, .ofs_x = 1, .ofs_y = 5},
489     {.bitmap_index = 388, .adv_w = 186, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 3},
490     {.bitmap_index = 399, .adv_w = 183, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
491     {.bitmap_index = 417, .adv_w = 331, .box_w = 19, .box_h = 18, .ofs_x = 1, .ofs_y = -4},
492     {.bitmap_index = 460, .adv_w = 234, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
493     {.bitmap_index = 487, .adv_w = 242, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
494     {.bitmap_index = 508, .adv_w = 231, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
495     {.bitmap_index = 531, .adv_w = 264, .box_w = 13, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
496     {.bitmap_index = 554, .adv_w = 214, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
497     {.bitmap_index = 572, .adv_w = 203, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
498     {.bitmap_index = 590, .adv_w = 247, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
499     {.bitmap_index = 613, .adv_w = 260, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
500     {.bitmap_index = 634, .adv_w = 99, .box_w = 2, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
501     {.bitmap_index = 638, .adv_w = 164, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
502     {.bitmap_index = 652, .adv_w = 230, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
503     {.bitmap_index = 673, .adv_w = 190, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
504     {.bitmap_index = 691, .adv_w = 306, .box_w = 15, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
505     {.bitmap_index = 718, .adv_w = 260, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
506     {.bitmap_index = 739, .adv_w = 269, .box_w = 15, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
507     {.bitmap_index = 766, .adv_w = 231, .box_w = 11, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
508     {.bitmap_index = 786, .adv_w = 269, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
509     {.bitmap_index = 820, .adv_w = 233, .box_w = 11, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
510     {.bitmap_index = 840, .adv_w = 199, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
511     {.bitmap_index = 858, .adv_w = 188, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
512     {.bitmap_index = 879, .adv_w = 253, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
513     {.bitmap_index = 900, .adv_w = 228, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
514     {.bitmap_index = 925, .adv_w = 360, .box_w = 21, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
515     {.bitmap_index = 962, .adv_w = 215, .box_w = 13, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
516     {.bitmap_index = 985, .adv_w = 207, .box_w = 14, .box_h = 14, .ofs_x = -1, .ofs_y = 0},
517     {.bitmap_index = 1010, .adv_w = 210, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
518     {.bitmap_index = 1031, .adv_w = 107, .box_w = 4, .box_h = 19, .ofs_x = 2, .ofs_y = -4},
519     {.bitmap_index = 1041, .adv_w = 113, .box_w = 9, .box_h = 20, .ofs_x = -1, .ofs_y = -2},
520     {.bitmap_index = 1064, .adv_w = 107, .box_w = 5, .box_h = 19, .ofs_x = 0, .ofs_y = -4},
521     {.bitmap_index = 1076, .adv_w = 187, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 3},
522     {.bitmap_index = 1087, .adv_w = 160, .box_w = 10, .box_h = 1, .ofs_x = 0, .ofs_y = -1},
523     {.bitmap_index = 1089, .adv_w = 192, .box_w = 6, .box_h = 3, .ofs_x = 2, .ofs_y = 12},
524     {.bitmap_index = 1092, .adv_w = 191, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
525     {.bitmap_index = 1105, .adv_w = 218, .box_w = 11, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
526     {.bitmap_index = 1126, .adv_w = 183, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
527     {.bitmap_index = 1140, .adv_w = 218, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
528     {.bitmap_index = 1161, .adv_w = 196, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
529     {.bitmap_index = 1177, .adv_w = 113, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
530     {.bitmap_index = 1192, .adv_w = 221, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = -4},
531     {.bitmap_index = 1213, .adv_w = 218, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
532     {.bitmap_index = 1232, .adv_w = 89, .box_w = 2, .box_h = 15, .ofs_x = 1, .ofs_y = 0},
533     {.bitmap_index = 1236, .adv_w = 91, .box_w = 5, .box_h = 19, .ofs_x = -1, .ofs_y = -4},
534     {.bitmap_index = 1248, .adv_w = 197, .box_w = 11, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
535     {.bitmap_index = 1269, .adv_w = 89, .box_w = 2, .box_h = 15, .ofs_x = 2, .ofs_y = 0},
536     {.bitmap_index = 1273, .adv_w = 338, .box_w = 18, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
537     {.bitmap_index = 1298, .adv_w = 218, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
538     {.bitmap_index = 1312, .adv_w = 203, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
539     {.bitmap_index = 1328, .adv_w = 218, .box_w = 11, .box_h = 15, .ofs_x = 2, .ofs_y = -4},
540     {.bitmap_index = 1349, .adv_w = 218, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = -4},
541     {.bitmap_index = 1370, .adv_w = 131, .box_w = 6, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
542     {.bitmap_index = 1379, .adv_w = 160, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
543     {.bitmap_index = 1392, .adv_w = 132, .box_w = 8, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
544     {.bitmap_index = 1406, .adv_w = 217, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
545     {.bitmap_index = 1420, .adv_w = 179, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
546     {.bitmap_index = 1436, .adv_w = 288, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
547     {.bitmap_index = 1461, .adv_w = 177, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
548     {.bitmap_index = 1477, .adv_w = 179, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -4},
549     {.bitmap_index = 1498, .adv_w = 167, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
550     {.bitmap_index = 1511, .adv_w = 112, .box_w = 6, .box_h = 19, .ofs_x = 1, .ofs_y = -4},
551     {.bitmap_index = 1526, .adv_w = 96, .box_w = 2, .box_h = 19, .ofs_x = 2, .ofs_y = -4},
552     {.bitmap_index = 1531, .adv_w = 112, .box_w = 6, .box_h = 19, .ofs_x = 1, .ofs_y = -4},
553     {.bitmap_index = 1546, .adv_w = 186, .box_w = 9, .box_h = 3, .ofs_x = 1, .ofs_y = 6}
554 };
555 
556 /*---------------------
557  *  CHARACTER MAPPING
558  *--------------------*/
559 
560 /*Collect the unicode lists and glyph_id offsets*/
561 static const lv_font_fmt_txt_cmap_t cmaps[] = {
562     {
563         .range_start = 32, .range_length = 95, .glyph_id_start = 1,
564         .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
565     }
566 };
567 
568 /*-----------------
569  *    KERNING
570  *----------------*/
571 
572 /*Map glyph_ids to kern left classes*/
573 static const uint8_t kern_left_class_mapping[] = {
574     0, 0, 1, 2, 0, 3, 4, 5,
575     2, 6, 7, 8, 9, 10, 9, 10,
576     11, 12, 0, 13, 14, 15, 16, 17,
577     18, 19, 12, 20, 20, 0, 0, 0,
578     21, 22, 23, 24, 25, 22, 26, 27,
579     28, 29, 29, 30, 31, 32, 29, 29,
580     22, 33, 34, 35, 3, 36, 30, 37,
581     37, 38, 39, 40, 41, 42, 43, 0,
582     44, 0, 45, 46, 47, 48, 49, 50,
583     51, 45, 52, 52, 53, 48, 45, 45,
584     46, 46, 54, 55, 56, 57, 51, 58,
585     58, 59, 58, 60, 41, 0, 0, 9
586 };
587 
588 /*Map glyph_ids to kern right classes*/
589 static const uint8_t kern_right_class_mapping[] = {
590     0, 0, 1, 2, 0, 3, 4, 5,
591     2, 6, 7, 8, 9, 10, 9, 10,
592     11, 12, 13, 14, 15, 16, 17, 12,
593     18, 19, 20, 21, 21, 0, 0, 0,
594     22, 23, 24, 25, 23, 25, 25, 25,
595     23, 25, 25, 26, 25, 25, 25, 25,
596     23, 25, 23, 25, 3, 27, 28, 29,
597     29, 30, 31, 32, 33, 34, 35, 0,
598     36, 0, 37, 38, 39, 39, 39, 0,
599     39, 38, 40, 41, 38, 38, 42, 42,
600     39, 42, 39, 42, 43, 44, 45, 46,
601     46, 47, 46, 48, 0, 0, 35, 9
602 };
603 
604 /*Kern values between classes*/
605 static const int8_t kern_class_values[] = {
606     0, 1, 0, 0, 0, 0, 0, 0,
607     0, 1, 0, 0, 3, 0, 0, 0,
608     0, 2, 0, 0, 0, 0, 0, 0,
609     0, 0, 0, 0, 0, 0, 0, 0,
610     0, 0, 1, 0, 0, 0, 0, 0,
611     0, 0, 0, 0, 0, 0, 0, 0,
612     1, 14, 0, 9, -7, 0, 0, 0,
613     0, -18, -19, 2, 15, 7, 5, -13,
614     2, 16, 1, 13, 3, 10, 0, 0,
615     0, 0, 0, 0, 0, 0, 0, 0,
616     0, 19, 3, -2, 0, 0, 0, 0,
617     0, 0, 0, 0, 0, 0, 0, 0,
618     0, -10, 0, 0, 0, 0, 0, -6,
619     5, 6, 0, 0, -3, 0, -2, 3,
620     0, -3, 0, -3, -2, -6, 0, 0,
621     0, 0, -3, 0, 0, -4, -5, 0,
622     0, -3, 0, -6, 0, 0, 0, 0,
623     0, 0, 0, 0, 0, -3, -3, 0,
624     0, -9, 0, -39, 0, 0, -6, 0,
625     6, 10, 0, 0, -6, 3, 3, 11,
626     6, -5, 6, 0, 0, -18, 0, 0,
627     0, 0, 0, 0, 0, 0, 0, 0,
628     0, -12, 0, 0, 0, 0, 0, 0,
629     0, 0, 0, 0, 0, 0, 0, 0,
630     -4, -16, 0, -13, -2, 0, 0, 0,
631     0, 1, 12, 0, -10, -3, -1, 1,
632     0, -5, 0, 0, -2, -24, 0, 0,
633     0, 0, 0, 0, 0, 0, 0, 0,
634     0, -26, -3, 12, 0, 0, 0, 0,
635     0, 0, 0, 0, 0, 0, 0, 0,
636     0, 0, 0, 0, 0, 0, 0, 0,
637     0, 0, 11, 0, 3, 0, 0, -6,
638     0, 0, 0, 0, 0, 0, 0, 0,
639     0, 0, 0, 0, 0, 0, 0, 0,
640     0, 12, 3, 1, 0, 0, 0, 0,
641     0, 0, 0, 0, 0, 0, 0, 0,
642     0, 0, 0, 0, 0, 0, 0, 0,
643     0, 0, 0, 0, 0, 0, 0, 0,
644     0, 0, 0, 0, 0, 0, 0, 0,
645     0, 0, -12, 0, 0, 0, 0, 0,
646     0, 0, 0, 0, 0, 0, 0, 0,
647     0, 0, 0, 0, 0, 0, 0, 0,
648     2, 6, 3, 10, -3, 0, 0, 6,
649     -3, -11, -44, 2, 9, 6, 1, -4,
650     0, 12, 0, 10, 0, 10, 0, -30,
651     0, -4, 10, 0, 11, -3, 6, 3,
652     0, 0, 1, -3, 0, 0, -5, 26,
653     0, 26, 0, 10, 0, 13, 4, 5,
654     0, 0, 0, -12, 0, 0, 0, 0,
655     1, -2, 0, 2, -6, -4, -6, 2,
656     0, -3, 0, 0, 0, -13, 0, 0,
657     0, 0, 0, 0, 0, 0, 0, 0,
658     0, -21, 0, 0, 0, 0, 0, 0,
659     0, 0, 0, 0, 0, 0, 0, 0,
660     1, -18, 0, -20, 0, 0, 0, 0,
661     -2, 0, 32, -4, -4, 3, 3, -3,
662     0, -4, 3, 0, 0, -17, 0, 0,
663     0, 0, 0, 0, 0, 0, 0, 0,
664     0, -31, 0, 3, 0, 0, 0, 0,
665     0, 0, 0, 0, 0, 0, 0, 0,
666     0, 19, 0, 0, -12, 0, 11, 0,
667     -22, -31, -22, -6, 10, 0, 0, -21,
668     0, 4, -7, 0, -5, 0, 0, 0,
669     0, 0, 0, 0, 0, 0, 0, 0,
670     0, 8, 10, -39, 0, 0, 0, 0,
671     0, 0, 0, 0, 0, 0, 0, 0,
672     0, 2, 0, 0, 0, 0, 0, 2,
673     2, -4, -6, 0, -1, -1, -3, 0,
674     0, -2, 0, 0, 0, -6, 0, -3,
675     0, -7, -6, 0, -8, -11, -11, -6,
676     0, -6, 0, -6, 0, 0, 0, 0,
677     -3, 0, 0, 3, 0, 2, -3, 0,
678     0, 0, 0, 3, -2, 0, 0, 0,
679     -2, 3, 3, -1, 0, 0, 0, -6,
680     0, -1, 0, 0, 0, 0, 0, 1,
681     0, 4, -2, 0, -4, 0, -5, 0,
682     0, -2, 0, 10, 0, 0, -3, 0,
683     0, 0, 0, 0, -1, 1, -2, -2,
684     0, -3, 0, -3, 0, 0, 0, 0,
685     0, 0, 0, 0, 0, -2, -2, 0,
686     -3, -4, 0, 0, 0, 0, 0, 1,
687     0, 0, -2, 0, -3, -3, -3, 0,
688     0, 0, 0, 0, 0, 0, 0, 0,
689     -2, 0, 0, 0, 0, -2, -4, 0,
690     0, -10, -2, -10, 6, 0, 0, -6,
691     3, 6, 9, 0, -8, -1, -4, 0,
692     -1, -15, 3, -2, 2, -17, 3, 0,
693     0, 1, -17, 0, -17, -3, -28, -2,
694     0, -16, 0, 6, 9, 0, 4, 0,
695     0, 0, 0, 1, 0, -6, -4, 0,
696     0, 0, 0, -3, 0, 0, 0, -3,
697     0, 0, 0, 0, 0, -2, -2, 0,
698     -2, -4, 0, 0, 0, 0, 0, 0,
699     0, -3, -3, 0, -2, -4, -3, 0,
700     0, -3, 0, 0, 0, 0, 0, 0,
701     0, 0, 0, 0, 0, -3, -3, 0,
702     0, -2, 0, -6, 3, 0, 0, -4,
703     2, 3, 3, 0, 0, 0, 0, 0,
704     0, -2, 0, 0, 0, 0, 0, 2,
705     0, 0, -3, 0, -3, -2, -4, 0,
706     0, 0, 0, 0, 0, 0, 3, 0,
707     -3, 0, 0, 0, 0, -4, -5, 0,
708     0, 10, -2, 1, -10, 0, 0, 9,
709     -16, -17, -13, -6, 3, 0, -3, -21,
710     -6, 0, -6, 0, -6, 5, -6, -20,
711     0, -9, 0, 0, 2, -1, 3, -2,
712     0, 3, 0, -10, -12, 0, -16, -8,
713     -7, -8, -10, -4, -9, -1, -6, -9,
714     0, 1, 0, -3, 0, 0, 0, 2,
715     0, 3, 0, 0, 0, 0, 0, 0,
716     0, 0, 0, 0, 0, -3, 0, -2,
717     0, -1, -3, 0, -5, -7, -7, -1,
718     0, -10, 0, 0, 0, 0, 0, 0,
719     -3, 0, 0, 0, 0, 1, -2, 0,
720     0, 3, 0, 0, 0, 0, 0, 0,
721     0, 0, 15, 0, 0, 0, 0, 0,
722     0, 2, 0, 0, 0, -3, 0, 0,
723     0, 0, 0, 0, 0, 0, 0, 0,
724     0, -6, 0, 3, 0, 0, 0, 0,
725     0, 0, 0, 0, 0, 0, 0, 0,
726     -2, 0, 0, 0, -6, 0, 0, 0,
727     0, -16, -10, 0, 0, 0, -5, -16,
728     0, 0, -3, 3, 0, -9, 0, 0,
729     0, 0, 0, 0, 0, 0, 0, 0,
730     -5, 0, 0, -6, 0, 0, 0, 0,
731     0, 0, 0, 0, 0, 0, 0, 0,
732     0, -6, 0, 0, 0, 0, 4, 0,
733     2, -6, -6, 0, -3, -3, -4, 0,
734     0, 0, 0, 0, 0, -10, 0, -3,
735     0, -5, -3, 0, -7, -8, -10, -3,
736     0, -6, 0, -10, 0, 0, 0, 0,
737     26, 0, 0, 2, 0, 0, -4, 0,
738     0, -14, 0, 0, 0, 0, 0, -30,
739     -6, 11, 10, -3, -13, 0, 3, -5,
740     0, -16, -2, -4, 3, -22, -3, 4,
741     0, 5, -11, -5, -12, -11, -13, 0,
742     0, -19, 0, 18, 0, 0, -2, 0,
743     0, 0, -2, -2, -3, -9, -11, -1,
744     0, 0, 0, 0, 0, 0, 0, 0,
745     0, 1, 0, 0, 0, 0, 0, 0,
746     0, 0, 0, 0, 0, 0, 0, 0,
747     0, 0, -3, 0, -2, -3, -5, 0,
748     0, -6, 0, -3, 0, 0, 0, 0,
749     0, 0, 0, 0, 0, 0, 0, 0,
750     0, 0, -1, 0, -6, 0, 0, 6,
751     -1, 4, 0, -7, 3, -2, -1, -8,
752     -3, 0, -4, -3, -2, 0, -5, -5,
753     0, 0, -3, -1, -2, -5, -4, 0,
754     0, -3, 0, 3, -2, 0, -7, 0,
755     0, 0, -6, 0, -5, 0, -5, -5,
756     0, 0, 0, 0, 0, 0, 0, 0,
757     -6, 3, 0, -4, 0, -2, -4, -10,
758     -2, -2, -2, -1, -2, -4, -1, 0,
759     0, 0, 0, 0, -3, -3, -3, 0,
760     0, 0, 0, 4, -2, 0, -2, 0,
761     0, 0, -2, -4, -2, -3, -4, -3,
762     3, 13, -1, 0, -9, 0, -2, 6,
763     0, -3, -13, -4, 5, 0, 0, -15,
764     -5, 3, -5, 2, 0, -2, -3, -10,
765     0, -5, 2, 0, 0, -5, 0, 0,
766     0, 3, 3, -6, -6, 0, -5, -3,
767     -5, -3, -3, 0, -5, 2, -6, -5,
768     0, 0, 0, 0, 0, 0, 0, 0,
769     0, 3, 0, 0, 0, 0, 0, 0,
770     0, 0, 0, 0, 0, 0, 0, 0,
771     0, 0, 0, 0, 0, 0, 0, 0,
772     0, -5, 0, 0, 0, 0, 0, 0,
773     0, 0, 0, 0, 0, 0, 0, 0,
774     0, 0, 0, 0, 0, 0, 0, 0,
775     0, 0, 0, 0, 0, 0, 0, 0,
776     0, 0, 0, 0, 0, 0, 0, 0,
777     0, 0, 0, 0, -2, 0, 0, 0,
778     0, 0, 0, 0, 0, 0, 0, 0,
779     0, 0, 0, 0, 0, 0, 0, 0,
780     0, 0, 0, 0, 0, 0, 0, 0,
781     0, -3, -3, 0, 0, 0, 0, 0,
782     0, 0, 0, 0, 0, 0, 0, -5,
783     0, 0, -4, 0, 0, -3, -3, 0,
784     0, 0, 0, -3, 0, 0, 0, 0,
785     -2, 0, 0, 0, 0, 0, -2, 0,
786     0, 0, -5, 0, -6, 0, 0, 0,
787     -11, 0, 2, -7, 6, 1, -2, -15,
788     0, 0, -7, -3, 0, -13, -8, -9,
789     0, 0, -14, -3, -13, -12, -15, 0,
790     -8, 0, 3, 21, -4, 0, -7, -3,
791     -1, -3, -5, -9, -6, -12, -13, -7,
792     0, 0, -2, 0, 1, 0, 0, -22,
793     -3, 10, 7, -7, -12, 0, 1, -10,
794     0, -16, -2, -3, 6, -29, -4, 1,
795     0, 0, -21, -4, -17, -3, -23, 0,
796     0, -22, 0, 19, 1, 0, -2, 0,
797     0, 0, 0, -2, -2, -12, -2, 0,
798     0, 0, 0, 0, -10, 0, -3, 0,
799     -1, -9, -15, 0, 0, -2, -5, -10,
800     -3, 0, -2, 0, 0, 0, 0, -14,
801     -3, -11, -10, -3, -5, -8, -3, -5,
802     0, -6, -3, -11, -5, 0, -4, -6,
803     -3, -6, 0, 2, 0, -2, -11, 0,
804     0, -6, 0, 0, 0, 0, 4, 0,
805     2, -6, 13, 0, -3, -3, -4, 0,
806     0, 0, 0, 0, 0, -10, 0, -3,
807     0, -5, -3, 0, -7, -8, -10, -3,
808     0, -6, 3, 13, 0, 0, 0, 0,
809     26, 0, 0, 2, 0, 0, -4, 0,
810     0, 0, 0, 0, 0, 0, 0, 0,
811     -1, 0, 0, 0, 0, 0, -2, -6,
812     0, 0, 0, 0, 0, -2, 0, 0,
813     0, -3, -3, 0, 0, -6, -3, 0,
814     0, -6, 0, 5, -2, 0, 0, 0,
815     0, 0, 0, 2, 0, 0, 0, 0,
816     6, 3, -3, 0, -10, -5, 0, 10,
817     -11, -10, -6, -6, 13, 6, 3, -28,
818     -2, 6, -3, 0, -3, 4, -3, -11,
819     0, -3, 3, -4, -3, -10, -3, 0,
820     0, 10, 6, 0, -9, 0, -18, -4,
821     9, -4, -12, 1, -4, -11, -11, -3,
822     3, 0, -5, 0, -9, 0, 3, 11,
823     -7, -12, -13, -8, 10, 0, 1, -23,
824     -3, 3, -5, -2, -7, 0, -7, -12,
825     -5, -5, -3, 0, 0, -7, -7, -3,
826     0, 10, 7, -3, -18, 0, -18, -4,
827     0, -11, -19, -1, -10, -5, -11, -9,
828     0, 0, -4, 0, -6, -3, 0, -3,
829     -6, 0, 5, -11, 3, 0, 0, -17,
830     0, -3, -7, -5, -2, -10, -8, -11,
831     -7, 0, -10, -3, -7, -6, -10, -3,
832     0, 0, 1, 15, -5, 0, -10, -3,
833     0, -3, -6, -7, -9, -9, -12, -4,
834     6, 0, -5, 0, -16, -4, 2, 6,
835     -10, -12, -6, -11, 11, -3, 2, -30,
836     -6, 6, -7, -5, -12, 0, -10, -13,
837     -4, -3, -3, -3, -7, -10, -1, 0,
838     0, 10, 9, -2, -21, 0, -19, -7,
839     8, -12, -22, -6, -11, -13, -16, -11,
840     0, 0, 0, 0, -4, 0, 0, 3,
841     -4, 6, 2, -6, 6, 0, 0, -10,
842     -1, 0, -1, 0, 1, 1, -3, 0,
843     0, 0, 0, 0, 0, -3, 0, 0,
844     0, 0, 3, 10, 1, 0, -4, 0,
845     0, 0, 0, -2, -2, -4, 0, 0,
846     1, 3, 0, 0, 0, 0, 3, 0,
847     -3, 0, 12, 0, 6, 1, 1, -4,
848     0, 6, 0, 0, 0, 3, 0, 0,
849     0, 0, 0, 0, 0, 0, 0, 0,
850     0, 10, 0, 9, 0, 0, 0, 0,
851     0, 0, 0, 0, 0, 0, 0, 0,
852     0, -19, 0, -3, 5, 0, 10, 0,
853     0, 32, 4, -6, -6, 3, 3, -2,
854     1, -16, 0, 0, 15, -19, 0, 0,
855     0, 0, 0, 0, 0, 0, 0, 0,
856     0, -22, 12, 45, 0, 0, 0, 0,
857     0, 0, 0, 0, 0, 0, 0, 0,
858     0, 0, 0, 0, 0, 0, 0, 0,
859     0, 0, 0, 0, 0, 0, 0, 0,
860     0, 0, 0, 0, 0, 0, 0, 0,
861     0, 0, -5, 0, 0, -6, -3, 0,
862     0, 0, 0, 0, 0, 0, 0, 0,
863     0, 0, 0, 0, 0, 0, 0, 0,
864     0, -2, 0, -9, 0, 0, 1, 0,
865     0, 3, 41, -6, -3, 10, 9, -9,
866     3, 0, 0, 3, 3, -4, 0, 0,
867     0, 0, 0, 0, 0, 0, 0, 0,
868     0, -42, 9, 0, 0, 0, 0, 0,
869     0, 0, 0, 0, 0, 0, 0, 0,
870     0, 0, 0, -9, 0, 0, 0, -9,
871     0, 0, 0, 0, -7, -2, 0, 0,
872     0, -7, 0, -4, 0, -15, 0, 0,
873     0, 0, 0, 0, 0, 0, 0, 0,
874     0, -21, 0, 0, 0, 0, 1, 0,
875     0, 0, 0, 0, 0, -3, 0, 0,
876     0, -5, 0, -9, 0, 0, 0, -5,
877     3, -4, 0, 0, -9, -3, -7, 0,
878     0, -9, 0, -3, 0, -15, 0, -4,
879     0, 0, -26, -6, -13, -4, -12, 0,
880     0, -21, 0, -9, -2, 0, 0, 0,
881     0, 0, 0, 0, 0, -5, -6, -3,
882     0, 0, 0, 0, -7, 0, -7, 4,
883     -4, 6, 0, -2, -7, -2, -5, -6,
884     0, -4, -2, -2, 2, -9, -1, 0,
885     0, 0, -28, -3, -4, 0, -7, 0,
886     -2, -15, -3, 0, 0, -2, -3, 0,
887     0, 0, 0, 2, 0, -2, -5, -2,
888     0, 0, 0, 0, 0, 0, 0, 0,
889     0, 0, 0, 0, 0, 0, 0, 0,
890     0, 0, 0, 0, 0, 0, 0, 0,
891     0, 0, 0, 0, 0, 0, 0, 0,
892     0, 0, 0, 0, 0, 0, 0, 0,
893     0, 0, 0, 4, 0, 0, 0, 0,
894     0, -7, 0, -2, 0, 0, 0, -6,
895     3, 0, 0, 0, -9, -3, -6, 0,
896     0, -9, 0, -3, 0, -15, 0, 0,
897     0, 0, -31, 0, -6, -12, -16, 0,
898     0, -21, 0, -2, -5, 0, 0, 0,
899     0, 0, 0, 0, 0, -3, -5, -2,
900     1, 0, 0, 5, -4, 0, 10, 16,
901     -3, -3, -10, 4, 16, 5, 7, -9,
902     4, 13, 4, 9, 7, 9, 0, 0,
903     0, 0, 0, 0, 0, 0, 0, 0,
904     0, 20, 15, -6, -3, 0, -3, 26,
905     14, 26, 0, 0, 0, 3, 0, 0,
906     0, 0, -5, 0, 0, 0, 0, 0,
907     0, 0, 0, 0, -2, 0, 0, 0,
908     0, 0, 0, 0, 0, 4, 0, 0,
909     0, 0, -27, -4, -3, -13, -16, 0,
910     0, -21, 0, 0, 0, 0, 0, 0,
911     0, 0, 0, 0, 0, 0, 0, 0,
912     0, 0, -5, 0, 0, 0, 0, 0,
913     0, 0, 0, 0, -2, 0, 0, 0,
914     0, 0, 0, 0, 0, 4, 0, 0,
915     0, 0, -27, -4, -3, -13, -16, 0,
916     0, -13, 0, 0, 0, 0, 0, 0,
917     0, 0, 0, 0, 0, 0, 0, 0,
918     0, 0, 0, 0, -3, 0, 0, 0,
919     -7, 3, 0, -3, 3, 6, 3, -10,
920     0, -1, -3, 3, 0, 3, 0, 0,
921     0, 0, -8, 0, -3, -2, -6, 0,
922     -3, -13, 0, 20, -3, 0, -7, -2,
923     0, -2, -5, 0, -3, -9, -6, -4,
924     0, 0, -5, 0, 0, 0, 0, 0,
925     0, 0, 0, 0, -2, 0, 0, 0,
926     0, 0, 0, 0, 0, 4, 0, 0,
927     0, 0, -27, -4, -3, -13, -16, 0,
928     0, -21, 0, 0, 0, 0, 0, 0,
929     16, 0, 0, 0, 0, 0, 0, 0,
930     0, 0, -5, 0, -10, -4, -3, 10,
931     -3, -3, -13, 1, -2, 1, -2, -9,
932     1, 7, 1, 3, 1, 3, -8, -13,
933     -4, 0, -12, -6, -9, -13, -12, 0,
934     -5, -6, -4, -4, -3, -2, -4, -2,
935     0, -2, -1, 5, 0, 5, -2, 0,
936     0, 0, 0, 0, 0, 0, 0, 0,
937     0, 0, 0, 0, -2, -3, -3, 0,
938     0, -9, 0, -2, 0, -5, 0, 0,
939     0, 0, 0, 0, 0, 0, 0, 0,
940     0, -19, 0, 0, 0, 0, 0, 0,
941     0, 0, 0, 0, 0, -3, -3, 0,
942     0, 0, 0, 0, -3, 0, 0, -5,
943     -3, 3, 0, -5, -6, -2, 0, -9,
944     -2, -7, -2, -4, 0, -5, 0, 0,
945     0, 0, 0, 0, 0, 0, 0, 0,
946     0, -21, 0, 10, 0, 0, -6, 0,
947     0, 0, 0, -4, 0, -3, 0, 0,
948     0, 0, -2, 0, -7, 0, 0, 13,
949     -4, -11, -10, 2, 4, 4, -1, -9,
950     2, 5, 2, 10, 2, 11, -2, -9,
951     0, 0, -13, 0, 0, -10, -9, 0,
952     0, -6, 0, -4, -5, 0, -5, 0,
953     -5, 0, -2, 5, 0, -3, -10, -3,
954     0, 0, -3, 0, -6, 0, 0, 4,
955     -7, 0, 3, -3, 3, 0, 0, -11,
956     0, -2, -1, 0, -3, 4, -3, 0,
957     0, 0, -13, -4, -7, 0, -10, 0,
958     0, -15, 0, 12, -3, 0, -6, 0,
959     2, 0, -3, 0, -3, -10, 0, -3,
960     0, 0, 0, 0, -2, 0, 0, 3,
961     -4, 1, 0, 0, -4, -2, 0, -4,
962     0, 0, 0, 0, 0, 0, 0, 0,
963     0, 0, 0, 0, 0, 0, 0, 0,
964     0, -20, 0, 7, 0, 0, -3, 0,
965     0, 0, 0, 1, 0, -3, -3, 0
966 };
967 
968 /*Collect the kern class' data in one place*/
969 static const lv_font_fmt_txt_kern_classes_t kern_classes = {
970     .class_pair_values   = kern_class_values,
971     .left_class_mapping  = kern_left_class_mapping,
972     .right_class_mapping = kern_right_class_mapping,
973     .left_class_cnt      = 60,
974     .right_class_cnt     = 48,
975 };
976 
977 /*--------------------
978  *  ALL CUSTOM DATA
979  *--------------------*/
980 
981 #if LV_VERSION_CHECK(8, 0, 0)
982 /*Store all the custom data of the font*/
983 
984 static const lv_font_fmt_txt_dsc_t font_dsc = {
985 #else
986 static lv_font_fmt_txt_dsc_t font_dsc = {
987 #endif
988     .glyph_bitmap = glyph_bitmap,
989     .glyph_dsc = glyph_dsc,
990     .cmaps = cmaps,
991     .kern_dsc = &kern_classes,
992     .kern_scale = 16,
993     .cmap_num = 1,
994     .bpp = 1,
995     .kern_classes = 1,
996     .bitmap_format = 0,
997 #if LV_VERSION_CHECK(8, 0, 0)
998     .cache = &cache
999 #endif
1000 };
1001 
1002 /*-----------------
1003  *  PUBLIC FONT
1004  *----------------*/
1005 
1006 /*Initialize a public general font descriptor*/
1007 #if LV_VERSION_CHECK(8, 0, 0)
1008 const lv_font_t test_font_montserrat_ascii_1bpp = {
1009 #else
1010 lv_font_t test_font_montserrat_ascii_1bpp = {
1011 #endif
1012     .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt,    /*Function pointer to get glyph's data*/
1013     .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt,    /*Function pointer to get glyph's bitmap*/
1014     .line_height = 22,          /*The maximum line height required by the font*/
1015     .base_line = 4,             /*Baseline measured from the bottom of the line*/
1016 #if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
1017     .subpx = LV_FONT_SUBPX_NONE,
1018 #endif
1019 #if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
1020     .underline_position = -1,
1021     .underline_thickness = 1,
1022 #endif
1023     .dsc = &font_dsc           /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
1024 };
1025 
1026 #endif /*#if TEST_FONT_MONTSERRAT_ASCII_1BPP*/
1027 
1028 #endif /*LV_BUILD_TEST*/
1029