summaryrefslogtreecommitdiff
path: root/src/chars.c
blob: fbf2c1a64da40a085543bd42e5abff355ad3571f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
#include "chars.h"

const uint8_t c64_chars[512][8] = {
  {0, 62, 127, 65, 77, 79, 46, 0},
  {0, 124, 126, 11, 11, 126, 124, 0},
  {0, 127, 127, 73, 73, 127, 54, 0},
  {0, 62, 127, 65, 65, 99, 34, 0},
  {0, 127, 127, 65, 99, 62, 28, 0},
  {0, 127, 127, 73, 73, 65, 65, 0},
  {0, 127, 127, 9, 9, 1, 1, 0},
  {0, 62, 127, 65, 73, 123, 58, 0},
  {0, 127, 127, 8, 8, 127, 127, 0},
  {0, 0, 65, 127, 127, 65, 0, 0},
  {0, 32, 96, 65, 127, 63, 1, 0},
  {0, 127, 127, 28, 54, 99, 65, 0},
  {0, 127, 127, 64, 64, 64, 64, 0},
  {0, 127, 127, 6, 12, 6, 127, 127},
  {0, 127, 127, 14, 28, 127, 127, 0},
  {0, 62, 127, 65, 65, 127, 62, 0},
  {0, 127, 127, 9, 9, 15, 6, 0},
  {0, 30, 63, 33, 97, 127, 94, 0},
  {0, 127, 127, 25, 57, 111, 70, 0},
  {0, 38, 111, 73, 73, 123, 50, 0},
  {0, 1, 1, 127, 127, 1, 1, 0},
  {0, 63, 127, 64, 64, 127, 63, 0},
  {0, 31, 63, 96, 96, 63, 31, 0},
  {0, 127, 127, 48, 24, 48, 127, 127},
  {0, 99, 119, 28, 28, 119, 99, 0},
  {0, 7, 15, 120, 120, 15, 7, 0},
  {0, 97, 113, 89, 77, 71, 67, 0},
  {0, 0, 127, 127, 65, 65, 0, 0},
  {64, 104, 124, 94, 73, 73, 34, 0},
  {0, 0, 65, 65, 127, 127, 0, 0},
  {0, 8, 12, 254, 254, 12, 8, 0},
  {0, 24, 60, 126, 24, 24, 24, 24},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 79, 79, 0, 0, 0},
  {0, 7, 7, 0, 0, 7, 7, 0},
  {20, 127, 127, 20, 20, 127, 127, 20},
  {0, 36, 46, 107, 107, 58, 18, 0},
  {0, 99, 51, 24, 12, 102, 99, 0},
  {0, 50, 127, 77, 77, 119, 114, 80},
  {0, 0, 0, 4, 6, 3, 1, 0},
  {0, 0, 28, 62, 99, 65, 0, 0},
  {0, 0, 65, 99, 62, 28, 0, 0},
  {8, 42, 62, 28, 28, 62, 42, 8},
  {0, 8, 8, 62, 62, 8, 8, 0},
  {0, 0, 128, 224, 96, 0, 0, 0},
  {0, 8, 8, 8, 8, 8, 8, 0},
  {0, 0, 0, 96, 96, 0, 0, 0},
  {0, 64, 96, 48, 24, 12, 6, 2},
  {0, 62, 127, 73, 69, 127, 62, 0},
  {0, 64, 68, 127, 127, 64, 64, 0},
  {0, 98, 115, 81, 73, 79, 70, 0},
  {0, 34, 99, 73, 73, 127, 54, 0},
  {0, 24, 24, 20, 22, 127, 127, 16},
  {0, 39, 103, 69, 69, 125, 57, 0},
  {0, 62, 127, 73, 73, 123, 50, 0},
  {0, 3, 3, 121, 125, 7, 3, 0},
  {0, 54, 127, 73, 73, 127, 54, 0},
  {0, 38, 111, 73, 73, 127, 62, 0},
  {0, 0, 0, 36, 36, 0, 0, 0},
  {0, 0, 128, 228, 100, 0, 0, 0},
  {0, 8, 28, 54, 99, 65, 65, 0},
  {0, 20, 20, 20, 20, 20, 20, 0},
  {0, 65, 65, 99, 54, 28, 8, 0},
  {0, 2, 3, 81, 89, 15, 6, 0},
  {24, 24, 24, 24, 24, 24, 24, 24},
  {0, 24, 92, 126, 127, 126, 92, 24},
  {0, 0, 0, 255, 255, 0, 0, 0},
  {24, 24, 24, 24, 24, 24, 24, 24},
  {12, 12, 12, 12, 12, 12, 12, 12},
  {6, 6, 6, 6, 6, 6, 6, 6},
  {48, 48, 48, 48, 48, 48, 48, 48},
  {0, 0, 255, 255, 0, 0, 0, 0},
  {0, 0, 0, 0, 255, 255, 0, 0},
  {24, 24, 56, 240, 224, 0, 0, 0},
  {0, 0, 0, 7, 15, 28, 24, 24},
  {24, 24, 28, 15, 7, 0, 0, 0},
  {255, 255, 192, 192, 192, 192, 192, 192},
  {3, 7, 14, 28, 56, 112, 224, 192},
  {192, 224, 112, 56, 28, 14, 7, 3},
  {255, 255, 3, 3, 3, 3, 3, 3},
  {3, 3, 3, 3, 3, 3, 255, 255},
  {0, 60, 126, 126, 126, 126, 60, 0},
  {96, 96, 96, 96, 96, 96, 96, 96},
  {0, 14, 31, 63, 126, 63, 31, 14},
  {0, 255, 255, 0, 0, 0, 0, 0},
  {0, 0, 0, 224, 240, 56, 24, 24},
  {195, 231, 126, 60, 60, 126, 231, 195},
  {0, 60, 126, 102, 102, 126, 60, 0},
  {0, 12, 76, 115, 115, 76, 12, 0},
  {0, 0, 0, 0, 0, 255, 255, 0},
  {0, 8, 28, 62, 127, 62, 28, 8},
  {24, 24, 24, 255, 255, 24, 24, 24},
  {51, 51, 204, 204, 0, 0, 0, 0},
  {0, 0, 0, 255, 255, 0, 0, 0},
  {0, 16, 120, 120, 8, 120, 124, 4},
  {1, 3, 7, 15, 31, 63, 127, 255},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {255, 255, 255, 255, 0, 0, 0, 0},
  {240, 240, 240, 240, 240, 240, 240, 240},
  {1, 1, 1, 1, 1, 1, 1, 1},
  {128, 128, 128, 128, 128, 128, 128, 128},
  {255, 255, 0, 0, 0, 0, 0, 0},
  {51, 51, 204, 204, 51, 51, 204, 204},
  {0, 0, 0, 0, 0, 0, 255, 255},
  {48, 48, 192, 192, 48, 48, 192, 192},
  {255, 127, 63, 31, 15, 7, 3, 1},
  {0, 0, 0, 0, 0, 0, 255, 255},
  {0, 0, 0, 255, 255, 24, 24, 24},
  {0, 0, 0, 0, 240, 240, 240, 240},
  {0, 0, 0, 31, 31, 24, 24, 24},
  {24, 24, 24, 248, 248, 0, 0, 0},
  {192, 192, 192, 192, 192, 192, 192, 192},
  {0, 0, 0, 248, 248, 24, 24, 24},
  {24, 24, 24, 31, 31, 24, 24, 24},
  {24, 24, 24, 248, 248, 24, 24, 24},
  {24, 24, 24, 255, 255, 0, 0, 0},
  {255, 255, 0, 0, 0, 0, 0, 0},
  {255, 255, 255, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 255, 255, 255},
  {3, 3, 3, 3, 3, 3, 3, 3},
  {7, 7, 7, 7, 7, 7, 7, 7},
  {224, 224, 224, 224, 224, 224, 224, 224},
  {192, 192, 192, 192, 192, 192, 255, 255},
  {240, 240, 240, 240, 0, 0, 0, 0},
  {0, 0, 0, 0, 15, 15, 15, 15},
  {24, 24, 24, 31, 31, 0, 0, 0},
  {15, 15, 15, 15, 0, 0, 0, 0},
  {15, 15, 15, 15, 240, 240, 240, 240},
  {255, 193, 128, 190, 178, 144, 209, 255},
  {255, 131, 129, 244, 244, 129, 131, 255},
  {255, 128, 128, 182, 182, 128, 201, 255},
  {255, 193, 128, 190, 190, 156, 221, 255},
  {255, 128, 128, 190, 156, 193, 227, 255},
  {255, 128, 128, 182, 182, 190, 190, 255},
  {255, 128, 128, 246, 246, 254, 254, 255},
  {255, 193, 128, 190, 182, 132, 197, 255},
  {255, 128, 128, 247, 247, 128, 128, 255},
  {255, 255, 190, 128, 128, 190, 255, 255},
  {255, 223, 159, 190, 128, 192, 254, 255},
  {255, 128, 128, 227, 201, 156, 190, 255},
  {255, 128, 128, 191, 191, 191, 191, 255},
  {255, 128, 128, 249, 243, 249, 128, 128},
  {255, 128, 128, 241, 227, 128, 128, 255},
  {255, 193, 128, 190, 190, 128, 193, 255},
  {255, 128, 128, 246, 246, 240, 249, 255},
  {255, 225, 192, 222, 158, 128, 161, 255},
  {255, 128, 128, 230, 198, 144, 185, 255},
  {255, 217, 144, 182, 182, 132, 205, 255},
  {255, 254, 254, 128, 128, 254, 254, 255},
  {255, 192, 128, 191, 191, 128, 192, 255},
  {255, 224, 192, 159, 159, 192, 224, 255},
  {255, 128, 128, 207, 231, 207, 128, 128},
  {255, 156, 136, 227, 227, 136, 156, 255},
  {255, 248, 240, 135, 135, 240, 248, 255},
  {255, 158, 142, 166, 178, 184, 188, 255},
  {255, 255, 128, 128, 190, 190, 255, 255},
  {191, 151, 131, 161, 182, 182, 221, 255},
  {255, 255, 190, 190, 128, 128, 255, 255},
  {255, 247, 243, 1, 1, 243, 247, 255},
  {255, 231, 195, 129, 231, 231, 231, 231},
  {255, 255, 255, 255, 255, 255, 255, 255},
  {255, 255, 255, 176, 176, 255, 255, 255},
  {255, 248, 248, 255, 255, 248, 248, 255},
  {235, 128, 128, 235, 235, 128, 128, 235},
  {255, 219, 209, 148, 148, 197, 237, 255},
  {255, 156, 204, 231, 243, 153, 156, 255},
  {255, 205, 128, 178, 178, 136, 141, 175},
  {255, 255, 255, 251, 249, 252, 254, 255},
  {255, 255, 227, 193, 156, 190, 255, 255},
  {255, 255, 190, 156, 193, 227, 255, 255},
  {247, 213, 193, 227, 227, 193, 213, 247},
  {255, 247, 247, 193, 193, 247, 247, 255},
  {255, 255, 127, 31, 159, 255, 255, 255},
  {255, 247, 247, 247, 247, 247, 247, 255},
  {255, 255, 255, 159, 159, 255, 255, 255},
  {255, 191, 159, 207, 231, 243, 249, 253},
  {255, 193, 128, 182, 186, 128, 193, 255},
  {255, 191, 187, 128, 128, 191, 191, 255},
  {255, 157, 140, 174, 182, 176, 185, 255},
  {255, 221, 156, 182, 182, 128, 201, 255},
  {255, 231, 231, 235, 233, 128, 128, 239},
  {255, 216, 152, 186, 186, 130, 198, 255},
  {255, 193, 128, 182, 182, 132, 205, 255},
  {255, 252, 252, 134, 130, 248, 252, 255},
  {255, 201, 128, 182, 182, 128, 201, 255},
  {255, 217, 144, 182, 182, 128, 193, 255},
  {255, 255, 255, 219, 219, 255, 255, 255},
  {255, 255, 127, 27, 155, 255, 255, 255},
  {255, 247, 227, 201, 156, 190, 190, 255},
  {255, 235, 235, 235, 235, 235, 235, 255},
  {255, 190, 190, 156, 201, 227, 247, 255},
  {255, 253, 252, 174, 166, 240, 249, 255},
  {231, 231, 231, 231, 231, 231, 231, 231},
  {255, 231, 163, 129, 128, 129, 163, 231},
  {255, 255, 255, 0, 0, 255, 255, 255},
  {231, 231, 231, 231, 231, 231, 231, 231},
  {243, 243, 243, 243, 243, 243, 243, 243},
  {249, 249, 249, 249, 249, 249, 249, 249},
  {207, 207, 207, 207, 207, 207, 207, 207},
  {255, 255, 0, 0, 255, 255, 255, 255},
  {255, 255, 255, 255, 0, 0, 255, 255},
  {231, 231, 199, 15, 31, 255, 255, 255},
  {255, 255, 255, 248, 240, 227, 231, 231},
  {231, 231, 227, 240, 248, 255, 255, 255},
  {0, 0, 63, 63, 63, 63, 63, 63},
  {252, 248, 241, 227, 199, 143, 31, 63},
  {63, 31, 143, 199, 227, 241, 248, 252},
  {0, 0, 252, 252, 252, 252, 252, 252},
  {252, 252, 252, 252, 252, 252, 0, 0},
  {255, 195, 129, 129, 129, 129, 195, 255},
  {159, 159, 159, 159, 159, 159, 159, 159},
  {255, 241, 224, 192, 129, 192, 224, 241},
  {255, 0, 0, 255, 255, 255, 255, 255},
  {255, 255, 255, 31, 15, 199, 231, 231},
  {60, 24, 129, 195, 195, 129, 24, 60},
  {255, 195, 129, 153, 153, 129, 195, 255},
  {255, 243, 179, 140, 140, 179, 243, 255},
  {255, 255, 255, 255, 255, 0, 0, 255},
  {255, 247, 227, 193, 128, 193, 227, 247},
  {231, 231, 231, 0, 0, 231, 231, 231},
  {204, 204, 51, 51, 255, 255, 255, 255},
  {255, 255, 255, 0, 0, 255, 255, 255},
  {255, 239, 135, 135, 247, 135, 131, 251},
  {254, 252, 248, 240, 224, 192, 128, 0},
  {255, 255, 255, 255, 255, 255, 255, 255},
  {0, 0, 0, 0, 255, 255, 255, 255},
  {15, 15, 15, 15, 15, 15, 15, 15},
  {254, 254, 254, 254, 254, 254, 254, 254},
  {127, 127, 127, 127, 127, 127, 127, 127},
  {0, 0, 255, 255, 255, 255, 255, 255},
  {204, 204, 51, 51, 204, 204, 51, 51},
  {255, 255, 255, 255, 255, 255, 0, 0},
  {207, 207, 63, 63, 207, 207, 63, 63},
  {0, 128, 192, 224, 240, 248, 252, 254},
  {255, 255, 255, 255, 255, 255, 0, 0},
  {255, 255, 255, 0, 0, 231, 231, 231},
  {255, 255, 255, 255, 15, 15, 15, 15},
  {255, 255, 255, 224, 224, 231, 231, 231},
  {231, 231, 231, 7, 7, 255, 255, 255},
  {63, 63, 63, 63, 63, 63, 63, 63},
  {255, 255, 255, 7, 7, 231, 231, 231},
  {231, 231, 231, 224, 224, 231, 231, 231},
  {231, 231, 231, 7, 7, 231, 231, 231},
  {231, 231, 231, 0, 0, 255, 255, 255},
  {0, 0, 255, 255, 255, 255, 255, 255},
  {0, 0, 0, 255, 255, 255, 255, 255},
  {255, 255, 255, 255, 255, 0, 0, 0},
  {252, 252, 252, 252, 252, 252, 252, 252},
  {248, 248, 248, 248, 248, 248, 248, 248},
  {31, 31, 31, 31, 31, 31, 31, 31},
  {63, 63, 63, 63, 63, 63, 0, 0},
  {15, 15, 15, 15, 255, 255, 255, 255},
  {255, 255, 255, 255, 240, 240, 240, 240},
  {231, 231, 231, 224, 224, 255, 255, 255},
  {240, 240, 240, 240, 255, 255, 255, 255},
  {240, 240, 240, 240, 15, 15, 15, 15},
  {0, 62, 127, 65, 77, 79, 46, 0},
  {0, 32, 116, 84, 84, 124, 120, 0},
  {0, 126, 126, 72, 72, 120, 48, 0},
  {0, 56, 124, 68, 68, 68, 0, 0},
  {0, 48, 120, 72, 72, 126, 126, 0},
  {0, 56, 124, 84, 84, 92, 24, 0},
  {0, 0, 8, 124, 126, 10, 10, 0},
  {0, 152, 188, 164, 164, 252, 124, 0},
  {0, 126, 126, 8, 8, 120, 112, 0},
  {0, 0, 72, 122, 122, 64, 0, 0},
  {0, 0, 128, 128, 128, 250, 122, 0},
  {0, 126, 126, 16, 56, 104, 64, 0},
  {0, 0, 66, 126, 126, 64, 0, 0},
  {0, 124, 124, 24, 56, 28, 124, 120},
  {0, 124, 124, 4, 4, 124, 120, 0},
  {0, 56, 124, 68, 68, 124, 56, 0},
  {0, 252, 252, 36, 36, 60, 24, 0},
  {0, 24, 60, 36, 36, 252, 252, 0},
  {0, 124, 124, 4, 4, 12, 8, 0},
  {0, 72, 92, 84, 84, 116, 36, 0},
  {0, 4, 4, 62, 126, 68, 68, 0},
  {0, 60, 124, 64, 64, 124, 124, 0},
  {0, 28, 60, 96, 96, 60, 28, 0},
  {0, 28, 124, 112, 56, 112, 124, 28},
  {0, 68, 108, 56, 56, 108, 68, 0},
  {0, 156, 188, 160, 224, 124, 60, 0},
  {0, 68, 100, 116, 92, 76, 68, 0},
  {0, 0, 127, 127, 65, 65, 0, 0},
  {64, 104, 124, 94, 73, 73, 34, 0},
  {0, 0, 65, 65, 127, 127, 0, 0},
  {0, 8, 12, 254, 254, 12, 8, 0},
  {0, 24, 60, 126, 24, 24, 24, 24},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 79, 79, 0, 0, 0},
  {0, 7, 7, 0, 0, 7, 7, 0},
  {20, 127, 127, 20, 20, 127, 127, 20},
  {0, 36, 46, 107, 107, 58, 18, 0},
  {0, 99, 51, 24, 12, 102, 99, 0},
  {0, 50, 127, 77, 77, 119, 114, 80},
  {0, 0, 0, 4, 6, 3, 1, 0},
  {0, 0, 28, 62, 99, 65, 0, 0},
  {0, 0, 65, 99, 62, 28, 0, 0},
  {8, 42, 62, 28, 28, 62, 42, 8},
  {0, 8, 8, 62, 62, 8, 8, 0},
  {0, 0, 128, 224, 96, 0, 0, 0},
  {0, 8, 8, 8, 8, 8, 8, 0},
  {0, 0, 0, 96, 96, 0, 0, 0},
  {0, 64, 96, 48, 24, 12, 6, 2},
  {0, 62, 127, 73, 69, 127, 62, 0},
  {0, 64, 68, 127, 127, 64, 64, 0},
  {0, 98, 115, 81, 73, 79, 70, 0},
  {0, 34, 99, 73, 73, 127, 54, 0},
  {0, 24, 24, 20, 22, 127, 127, 16},
  {0, 39, 103, 69, 69, 125, 57, 0},
  {0, 62, 127, 73, 73, 123, 50, 0},
  {0, 3, 3, 121, 125, 7, 3, 0},
  {0, 54, 127, 73, 73, 127, 54, 0},
  {0, 38, 111, 73, 73, 127, 62, 0},
  {0, 0, 0, 36, 36, 0, 0, 0},
  {0, 0, 128, 228, 100, 0, 0, 0},
  {0, 8, 28, 54, 99, 65, 65, 0},
  {0, 20, 20, 20, 20, 20, 20, 0},
  {0, 65, 65, 99, 54, 28, 8, 0},
  {0, 2, 3, 81, 89, 15, 6, 0},
  {24, 24, 24, 24, 24, 24, 24, 24},
  {0, 124, 126, 11, 11, 126, 124, 0},
  {0, 127, 127, 73, 73, 127, 54, 0},
  {0, 62, 127, 65, 65, 99, 34, 0},
  {0, 127, 127, 65, 99, 62, 28, 0},
  {0, 127, 127, 73, 73, 65, 65, 0},
  {0, 127, 127, 9, 9, 1, 1, 0},
  {0, 62, 127, 65, 73, 123, 58, 0},
  {0, 127, 127, 8, 8, 127, 127, 0},
  {0, 0, 65, 127, 127, 65, 0, 0},
  {0, 32, 96, 65, 127, 63, 1, 0},
  {0, 127, 127, 28, 54, 99, 65, 0},
  {0, 127, 127, 64, 64, 64, 64, 0},
  {0, 127, 127, 6, 12, 6, 127, 127},
  {0, 127, 127, 14, 28, 127, 127, 0},
  {0, 62, 127, 65, 65, 127, 62, 0},
  {0, 127, 127, 9, 9, 15, 6, 0},
  {0, 30, 63, 33, 97, 127, 94, 0},
  {0, 127, 127, 25, 57, 111, 70, 0},
  {0, 38, 111, 73, 73, 123, 50, 0},
  {0, 1, 1, 127, 127, 1, 1, 0},
  {0, 63, 127, 64, 64, 127, 63, 0},
  {0, 31, 63, 96, 96, 63, 31, 0},
  {0, 127, 127, 48, 24, 48, 127, 127},
  {0, 99, 119, 28, 28, 119, 99, 0},
  {0, 7, 15, 120, 120, 15, 7, 0},
  {0, 97, 113, 89, 77, 71, 67, 0},
  {24, 24, 24, 255, 255, 24, 24, 24},
  {51, 51, 204, 204, 0, 0, 0, 0},
  {0, 0, 0, 255, 255, 0, 0, 0},
  {204, 204, 51, 51, 204, 204, 51, 51},
  {102, 204, 153, 51, 102, 204, 153, 51},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {255, 255, 255, 255, 0, 0, 0, 0},
  {240, 240, 240, 240, 240, 240, 240, 240},
  {1, 1, 1, 1, 1, 1, 1, 1},
  {128, 128, 128, 128, 128, 128, 128, 128},
  {255, 255, 0, 0, 0, 0, 0, 0},
  {51, 51, 204, 204, 51, 51, 204, 204},
  {0, 0, 0, 0, 0, 0, 255, 255},
  {48, 48, 192, 192, 48, 48, 192, 192},
  {51, 153, 204, 102, 51, 153, 204, 102},
  {0, 0, 0, 0, 0, 0, 255, 255},
  {0, 0, 0, 255, 255, 24, 24, 24},
  {0, 0, 0, 0, 240, 240, 240, 240},
  {0, 0, 0, 31, 31, 24, 24, 24},
  {24, 24, 24, 248, 248, 0, 0, 0},
  {192, 192, 192, 192, 192, 192, 192, 192},
  {0, 0, 0, 248, 248, 24, 24, 24},
  {24, 24, 24, 31, 31, 24, 24, 24},
  {24, 24, 24, 248, 248, 24, 24, 24},
  {24, 24, 24, 255, 255, 0, 0, 0},
  {255, 255, 0, 0, 0, 0, 0, 0},
  {255, 255, 255, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 255, 255, 255},
  {3, 3, 3, 3, 3, 3, 3, 3},
  {7, 7, 7, 7, 7, 7, 7, 7},
  {224, 224, 224, 224, 224, 224, 224, 224},
  {0, 120, 120, 48, 24, 12, 6, 3},
  {240, 240, 240, 240, 0, 0, 0, 0},
  {0, 0, 0, 0, 15, 15, 15, 15},
  {24, 24, 24, 31, 31, 0, 0, 0},
  {15, 15, 15, 15, 0, 0, 0, 0},
  {15, 15, 15, 15, 240, 240, 240, 240},
  {255, 193, 128, 190, 178, 144, 209, 255},
  {255, 223, 139, 171, 171, 131, 135, 255},
  {255, 129, 129, 183, 183, 135, 207, 255},
  {255, 199, 131, 187, 187, 187, 255, 255},
  {255, 207, 135, 183, 183, 129, 129, 255},
  {255, 199, 131, 171, 171, 163, 231, 255},
  {255, 255, 247, 131, 129, 245, 245, 255},
  {255, 103, 67, 91, 91, 3, 131, 255},
  {255, 129, 129, 247, 247, 135, 143, 255},
  {255, 255, 183, 133, 133, 191, 255, 255},
  {255, 255, 127, 127, 127, 5, 133, 255},
  {255, 129, 129, 239, 199, 151, 191, 255},
  {255, 255, 189, 129, 129, 191, 255, 255},
  {255, 131, 131, 231, 199, 227, 131, 135},
  {255, 131, 131, 251, 251, 131, 135, 255},
  {255, 199, 131, 187, 187, 131, 199, 255},
  {255, 3, 3, 219, 219, 195, 231, 255},
  {255, 231, 195, 219, 219, 3, 3, 255},
  {255, 131, 131, 251, 251, 243, 247, 255},
  {255, 183, 163, 171, 171, 139, 219, 255},
  {255, 251, 251, 193, 129, 187, 187, 255},
  {255, 195, 131, 191, 191, 131, 131, 255},
  {255, 227, 195, 159, 159, 195, 227, 255},
  {255, 227, 131, 143, 199, 143, 131, 227},
  {255, 187, 147, 199, 199, 147, 187, 255},
  {255, 99, 67, 95, 31, 131, 195, 255},
  {255, 187, 155, 139, 163, 179, 187, 255},
  {255, 255, 128, 128, 190, 190, 255, 255},
  {191, 151, 131, 161, 182, 182, 221, 255},
  {255, 255, 190, 190, 128, 128, 255, 255},
  {255, 247, 243, 1, 1, 243, 247, 255},
  {255, 231, 195, 129, 231, 231, 231, 231},
  {255, 255, 255, 255, 255, 255, 255, 255},
  {255, 255, 255, 176, 176, 255, 255, 255},
  {255, 248, 248, 255, 255, 248, 248, 255},
  {235, 128, 128, 235, 235, 128, 128, 235},
  {255, 219, 209, 148, 148, 197, 237, 255},
  {255, 156, 204, 231, 243, 153, 156, 255},
  {255, 205, 128, 178, 178, 136, 141, 175},
  {255, 255, 255, 251, 249, 252, 254, 255},
  {255, 255, 227, 193, 156, 190, 255, 255},
  {255, 255, 190, 156, 193, 227, 255, 255},
  {247, 213, 193, 227, 227, 193, 213, 247},
  {255, 247, 247, 193, 193, 247, 247, 255},
  {255, 255, 127, 31, 159, 255, 255, 255},
  {255, 247, 247, 247, 247, 247, 247, 255},
  {255, 255, 255, 159, 159, 255, 255, 255},
  {255, 191, 159, 207, 231, 243, 249, 253},
  {255, 193, 128, 182, 186, 128, 193, 255},
  {255, 191, 187, 128, 128, 191, 191, 255},
  {255, 157, 140, 174, 182, 176, 185, 255},
  {255, 221, 156, 182, 182, 128, 201, 255},
  {255, 231, 231, 235, 233, 128, 128, 239},
  {255, 216, 152, 186, 186, 130, 198, 255},
  {255, 193, 128, 182, 182, 132, 205, 255},
  {255, 252, 252, 134, 130, 248, 252, 255},
  {255, 201, 128, 182, 182, 128, 201, 255},
  {255, 217, 144, 182, 182, 128, 193, 255},
  {255, 255, 255, 219, 219, 255, 255, 255},
  {255, 255, 127, 27, 155, 255, 255, 255},
  {255, 247, 227, 201, 156, 190, 190, 255},
  {255, 235, 235, 235, 235, 235, 235, 255},
  {255, 190, 190, 156, 201, 227, 247, 255},
  {255, 253, 252, 174, 166, 240, 249, 255},
  {231, 231, 231, 231, 231, 231, 231, 231},
  {255, 131, 129, 244, 244, 129, 131, 255},
  {255, 128, 128, 182, 182, 128, 201, 255},
  {255, 193, 128, 190, 190, 156, 221, 255},
  {255, 128, 128, 190, 156, 193, 227, 255},
  {255, 128, 128, 182, 182, 190, 190, 255},
  {255, 128, 128, 246, 246, 254, 254, 255},
  {255, 193, 128, 190, 182, 132, 197, 255},
  {255, 128, 128, 247, 247, 128, 128, 255},
  {255, 255, 190, 128, 128, 190, 255, 255},
  {255, 223, 159, 190, 128, 192, 254, 255},
  {255, 128, 128, 227, 201, 156, 190, 255},
  {255, 128, 128, 191, 191, 191, 191, 255},
  {255, 128, 128, 249, 243, 249, 128, 128},
  {255, 128, 128, 241, 227, 128, 128, 255},
  {255, 193, 128, 190, 190, 128, 193, 255},
  {255, 128, 128, 246, 246, 240, 249, 255},
  {255, 225, 192, 222, 158, 128, 161, 255},
  {255, 128, 128, 230, 198, 144, 185, 255},
  {255, 217, 144, 182, 182, 132, 205, 255},
  {255, 254, 254, 128, 128, 254, 254, 255},
  {255, 192, 128, 191, 191, 128, 192, 255},
  {255, 224, 192, 159, 159, 192, 224, 255},
  {255, 128, 128, 207, 231, 207, 128, 128},
  {255, 156, 136, 227, 227, 136, 156, 255},
  {255, 248, 240, 135, 135, 240, 248, 255},
  {255, 158, 142, 166, 178, 184, 188, 255},
  {231, 231, 231, 0, 0, 231, 231, 231},
  {204, 204, 51, 51, 255, 255, 255, 255},
  {255, 255, 255, 0, 0, 255, 255, 255},
  {51, 51, 204, 204, 51, 51, 204, 204},
  {153, 51, 102, 204, 153, 51, 102, 204},
  {255, 255, 255, 255, 255, 255, 255, 255},
  {0, 0, 0, 0, 255, 255, 255, 255},
  {15, 15, 15, 15, 15, 15, 15, 15},
  {254, 254, 254, 254, 254, 254, 254, 254},
  {127, 127, 127, 127, 127, 127, 127, 127},
  {0, 0, 255, 255, 255, 255, 255, 255},
  {204, 204, 51, 51, 204, 204, 51, 51},
  {255, 255, 255, 255, 255, 255, 0, 0},
  {207, 207, 63, 63, 207, 207, 63, 63},
  {204, 102, 51, 153, 204, 102, 51, 153},
  {255, 255, 255, 255, 255, 255, 0, 0},
  {255, 255, 255, 0, 0, 231, 231, 231},
  {255, 255, 255, 255, 15, 15, 15, 15},
  {255, 255, 255, 224, 224, 231, 231, 231},
  {231, 231, 231, 7, 7, 255, 255, 255},
  {63, 63, 63, 63, 63, 63, 63, 63},
  {255, 255, 255, 7, 7, 231, 231, 231},
  {231, 231, 231, 224, 224, 231, 231, 231},
  {231, 231, 231, 7, 7, 231, 231, 231},
  {231, 231, 231, 0, 0, 255, 255, 255},
  {0, 0, 255, 255, 255, 255, 255, 255},
  {0, 0, 0, 255, 255, 255, 255, 255},
  {255, 255, 255, 255, 255, 0, 0, 0},
  {252, 252, 252, 252, 252, 252, 252, 252},
  {248, 248, 248, 248, 248, 248, 248, 248},
  {31, 31, 31, 31, 31, 31, 31, 31},
  {255, 135, 135, 207, 231, 243, 249, 252},
  {15, 15, 15, 15, 255, 255, 255, 255},
  {255, 255, 255, 255, 240, 240, 240, 240},
  {231, 231, 231, 224, 224, 255, 255, 255},
  {240, 240, 240, 240, 255, 255, 255, 255},
  {240, 240, 240, 240, 15, 15, 15, 15},
};

#define SC_NONE 0x00

const uint8_t ascii_to_screen[128] = {
  SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,
  SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,
  SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,
  SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,SC_NONE,
  0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,   /*   ! " # $ % & '   */
  0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,   /* ( ) * + , - . /   */
  0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,   /* 0 1 2 3 4 5 6 7   */
  0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,   /* 8 9 : ; < = > ?   */
  0x00,0x41,0x42,0x43,0x44,0x45,0x46,0x47,   /* @ A B C D E F G   */
  0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,   /* H I J K L M N O   */
  0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,   /* P Q R S T U V W   */
  0x58,0x59,0x5A,0x1B,0x1C,0x1D,0x1E,0x1F,   /* X Y Z [ \ ] ^ _   */
  0x40,0x01,0x02,0x03,0x04,0x05,0x06,0x07,   /* ` a b c d e f g   */
  0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,   /* h i j k l m n o   */
  0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,   /* p q r s t u v w   */
  0x18,0x19,0x1A,0x5B,0x5C,0x5D,0x5E,0x5F    /* x y z { | } ~ DEL */
};