16
16
#include "graphics.h"
17
17
18
18
const uint8_t vfFirstChar = 33 ;
19
- const uint8_t vfLastChar = 176 ;
19
+ const uint8_t vfLastChar = 231 ;
20
20
#define VF_END_OF_POLY 0xFE
21
21
#define VF_END_OF_CHAR 0xFF
22
22
#define VF_SCALE 12
@@ -48,7 +48,7 @@ static const uint8_t vfPolys[] IN_FLASH_MEMORY = {
48
48
// 38
49
49
102 ,88 ,57 ,24 ,6 ,38 ,55 ,70 ,VF_END_OF_POLY ,
50
50
166 ,164 ,147 ,131 ,116 ,102 ,70 ,84 ,98 ,129 ,145 ,178 ,196 ,198 ,VF_END_OF_POLY ,
51
- 198 ,184 ,169 ,107 ,105 ,136 ,166 ,VF_END_OF_POLY ,
51
+ 198 ,184 ,169 ,107 ,105 ,136 ,151 , 166 ,VF_END_OF_POLY ,
52
52
6 ,20 ,51 ,84 ,201 ,203 ,86 ,53 ,38 ,VF_END_OF_CHAR ,
53
53
// 39
54
54
1 ,3 ,67 ,65 ,VF_END_OF_CHAR ,
@@ -58,14 +58,15 @@ static const uint8_t vfPolys[] IN_FLASH_MEMORY = {
58
58
33 ,67 ,100 ,148 ,179 ,209 ,241 ,227 ,197 ,150 ,102 ,53 ,19 ,1 ,VF_END_OF_CHAR ,
59
59
// 42
60
60
132 ,134 ,6 ,4 ,VF_END_OF_POLY ,
61
- 36 , 18 ,49 , 67 , 81 , 114 , 100 ,VF_END_OF_POLY ,
62
- 38 , 24 ,57 , 71 , 89 , 120 , 102 ,VF_END_OF_CHAR ,
61
+ 120 , 89 , 18 ,49 ,VF_END_OF_POLY ,
62
+ 114 , 81 , 24 ,57 ,VF_END_OF_CHAR ,
63
63
// 43
64
- 36 ,84 ,81 ,113 ,116 ,164 ,166 ,118 ,121 ,89 ,86 ,38 ,VF_END_OF_CHAR ,
64
+ 81 ,89 ,121 ,113 ,VF_END_OF_POLY ,
65
+ 38 ,166 ,164 ,36 ,VF_END_OF_CHAR ,
65
66
// 44
66
67
225 ,227 ,196 ,164 ,162 ,194 ,VF_END_OF_CHAR ,
67
68
// 45
68
- 81 ,87 , 119 ,113 ,VF_END_OF_CHAR ,
69
+ 81 ,86 , 118 ,113 ,VF_END_OF_CHAR ,
69
70
// 46
70
71
161 ,163 ,195 ,193 ,VF_END_OF_CHAR ,
71
72
// 47
@@ -84,8 +85,9 @@ static const uint8_t vfPolys[] IN_FLASH_MEMORY = {
84
85
18 ,49 ,51 ,36 ,4 ,VF_END_OF_POLY ,
85
86
178 ,145 ,147 ,164 ,196 ,VF_END_OF_CHAR ,
86
87
// 52
87
- 6 ,118 ,113 ,145 ,150 ,198 ,200 ,152 ,153 ,121 ,120 ,8 ,VF_END_OF_POLY ,
88
- 113 ,115 ,8 ,6 ,VF_END_OF_CHAR ,
88
+ 6 ,198 ,200 ,8 ,VF_END_OF_POLY ,
89
+ 113 ,115 ,8 ,6 ,VF_END_OF_POLY ,
90
+ 113 ,121 ,153 ,145 ,VF_END_OF_CHAR ,
89
91
// 53
90
92
115 ,113 ,1 ,9 ,41 ,35 ,83 ,100 ,VF_END_OF_POLY ,
91
93
82 ,68 ,70 ,88 ,121 ,153 ,184 ,198 ,196 ,164 ,166 ,151 ,119 ,102 ,100 ,VF_END_OF_POLY ,
@@ -128,7 +130,7 @@ static const uint8_t vfPolys[] IN_FLASH_MEMORY = {
128
130
10 ,28 ,62 ,95 ,143 ,174 ,188 ,187 ,156 ,141 ,109 ,76 ,59 ,41 ,VF_END_OF_CHAR ,
129
131
// 65
130
132
195 ,193 ,5 ,7 ,VF_END_OF_POLY ,
131
- 7 ,54 ,152 , 201 ,203 ,VF_END_OF_POLY ,
133
+ 7 ,54 ,201 ,203 ,VF_END_OF_POLY ,
132
134
116 ,147 ,153 ,120 ,VF_END_OF_CHAR ,
133
135
// 66
134
136
1 ,193 ,195 ,3 ,VF_END_OF_POLY ,
@@ -152,7 +154,7 @@ static const uint8_t vfPolys[] IN_FLASH_MEMORY = {
152
154
1 ,193 ,195 ,115 ,120 ,88 ,83 ,3 ,VF_END_OF_POLY ,
153
155
8 ,10 ,202 ,200 ,VF_END_OF_CHAR ,
154
156
// 73
155
- 2 , 1 ,33 ,34 ,162 ,161 ,193 ,197 ,165 ,164 ,36 ,37 ,5 , 4 ,VF_END_OF_CHAR ,
157
+ 1 ,33 ,34 ,162 ,161 ,193 ,197 ,165 ,164 ,36 ,37 ,5 ,VF_END_OF_CHAR ,
156
158
// 74
157
159
199 ,196 ,178 ,145 ,131 ,164 ,147 ,165 ,166 ,VF_END_OF_POLY ,
158
160
10 ,154 ,185 ,199 ,166 ,152 ,167 ,136 ,8 ,VF_END_OF_CHAR ,
@@ -181,8 +183,7 @@ static const uint8_t vfPolys[] IN_FLASH_MEMORY = {
181
183
39 ,38 ,52 ,83 ,115 ,148 ,166 ,167 ,200 ,197 ,179 ,162 ,129 ,65 ,34 ,19 ,5 ,8 ,VF_END_OF_CHAR ,
182
184
// 82
183
185
1 ,193 ,195 ,3 ,VF_END_OF_POLY ,
184
- 35 ,38 ,55 ,87 ,102 ,99 ,131 ,134 ,120 ,89 ,57 ,24 ,6 ,3 ,VF_END_OF_POLY ,
185
- 117 ,200 ,202 ,119 ,VF_END_OF_CHAR ,
186
+ 35 ,38 ,55 ,87 ,102 ,99 ,131 ,134 ,117 ,200 ,202 ,119 ,135 ,120 ,89 ,57 ,24 ,6 ,3 ,VF_END_OF_CHAR ,
186
187
// 83
187
188
4 ,18 ,49 ,65 ,98 ,116 ,118 ,135 ,151 ,166 ,164 ,196 ,198 ,184 ,153 ,137 ,104 ,86 ,84 ,67 ,51 ,36 ,38 ,6 ,VF_END_OF_POLY ,
188
189
147 ,164 ,196 ,178 ,145 ,VF_END_OF_POLY ,
@@ -240,8 +241,8 @@ static const uint8_t vfPolys[] IN_FLASH_MEMORY = {
240
241
// 102
241
242
194 ,98 ,97 ,65 ,66 ,50 ,19 ,5 ,6 ,38 ,37 ,52 ,68 ,70 ,102 ,100 ,196 ,VF_END_OF_CHAR ,
242
243
// 103
243
- 213 ,212 ,195 , 193 ,226 ,244 ,245 ,231 ,200 ,56 , 54 , 70 ,85 , 102 , 134 , 149 , 166 ,198 ,VF_END_OF_POLY ,
244
- 85 , 84 , 99 , 131 , 148 , 149 , 167 , 181 , 180 , 162 , 129 , 97 , 66 , 52 , 53 , 71 ,VF_END_OF_CHAR ,
244
+ 213 ,212 ,194 , 209 ,226 ,244 ,245 ,231 ,200 ,72 , 70 ,86 , 101 , 118 , 150 , 165 , 182 ,198 ,VF_END_OF_POLY ,
245
+ 101 , 100 , 115 , 147 , 164 , 165 , 183 , 197 , 196 , 178 , 145 , 113 , 82 , 68 , 69 , 87 ,VF_END_OF_CHAR ,
245
246
// 104
246
247
100 ,101 ,118 ,198 ,200 ,120 ,87 ,69 ,68 ,82 ,VF_END_OF_POLY ,
247
248
83 ,3 ,1 ,193 ,195 ,115 ,100 ,VF_END_OF_CHAR ,
@@ -311,9 +312,9 @@ static const uint8_t vfPolys[] IN_FLASH_MEMORY = {
311
312
// 127
312
313
VF_END_OF_CHAR ,
313
314
// 128
314
- 39 , 38 , 52 , 68 , 70 , 86 , 84 , 116 , 118 , 134 , 132 , 148 , 166 , 167 , 200 , 197 , 179 , 162 , 130 , 128 , 112 , 114 , 82 , 80 , 64 , 66 , 34 , 19 , 5 , 8 ,VF_END_OF_POLY ,
315
- 167 , 200 , 186 , 171 , 153 ,VF_END_OF_POLY ,
316
- 39 , 8 , 26 , 43 , 57 ,VF_END_OF_CHAR ,
315
+ 6 , 20 , 35 , 66 , 82 , 81 , 97 , 98 , 114 , 113 , 129 , 130 , 163 , 180 , 198 , 201 , 168 , 167 , 149 , 132 , 137 , 121 , 116 , 100 , 105 , 89 , 84 , 53 , 39 , 40 , 9 ,VF_END_OF_POLY ,
316
+ 168 , 201 , 187 , 154 ,VF_END_OF_POLY ,
317
+ 40 , 9 , 27 , 58 ,VF_END_OF_CHAR ,
317
318
// 129
318
319
VF_END_OF_CHAR ,
319
320
// 130
@@ -379,38 +380,197 @@ VF_END_OF_CHAR,
379
380
// 160
380
381
VF_END_OF_CHAR ,
381
382
// 161
382
- VF_END_OF_CHAR ,
383
+ 65 ,67 ,35 ,33 ,VF_END_OF_POLY ,
384
+ 225 ,227 ,99 ,97 ,VF_END_OF_CHAR ,
383
385
// 162
384
- VF_END_OF_CHAR ,
386
+ 53 ,71 ,104 ,102 ,85 ,VF_END_OF_POLY ,
387
+ 180 ,162 ,129 ,97 ,66 ,52 ,84 ,99 ,131 ,148 ,VF_END_OF_POLY ,
388
+ 149 ,134 ,136 ,167 ,181 ,VF_END_OF_POLY ,
389
+ 36 ,37 ,197 ,196 ,VF_END_OF_CHAR ,
385
390
// 163
386
- VF_END_OF_CHAR ,
391
+ 38 ,55 ,41 ,24 ,6 ,VF_END_OF_POLY ,
392
+ 130 ,50 ,19 ,5 ,6 ,38 ,37 ,52 ,132 ,163 ,169 ,201 ,193 ,161 ,VF_END_OF_POLY ,
393
+ 81 ,87 ,119 ,113 ,VF_END_OF_CHAR ,
387
394
// 164
388
- VF_END_OF_CHAR ,
395
+ 97 ,66 ,49 ,34 ,51 ,37 ,70 ,68 ,83 ,115 ,132 ,134 ,165 ,147 ,162 ,145 ,130 ,VF_END_OF_POLY ,
396
+ 105 ,72 ,57 ,40 ,55 ,37 ,70 ,87 ,119 ,134 ,165 ,151 ,168 ,153 ,136 ,VF_END_OF_CHAR ,
389
397
// 165
390
- VF_END_OF_CHAR ,
398
+ 11 ,119 ,199 ,197 ,117 ,9 ,VF_END_OF_POLY ,
399
+ 1 ,117 ,119 ,3 ,VF_END_OF_POLY ,
400
+ 98 ,106 ,122 ,114 ,VF_END_OF_POLY ,
401
+ 130 ,138 ,154 ,146 ,VF_END_OF_CHAR ,
391
402
// 166
392
- VF_END_OF_CHAR ,
403
+ 145 ,147 ,243 ,241 ,VF_END_OF_POLY ,
404
+ 1 ,3 ,99 ,97 ,VF_END_OF_CHAR ,
393
405
// 167
394
406
VF_END_OF_CHAR ,
395
407
// 168
396
- VF_END_OF_CHAR ,
408
+ 33 ,1 ,3 ,35 ,VF_END_OF_POLY ,
409
+ 37 ,5 ,7 ,39 ,VF_END_OF_CHAR ,
397
410
// 169
398
- VF_END_OF_CHAR ,
411
+ 25 ,21 ,35 ,66 ,130 ,163 ,181 ,185 ,201 ,197 ,179 ,162 ,129 ,65 ,34 ,19 ,5 ,9 ,VF_END_OF_POLY ,
412
+ 25 ,43 ,76 ,140 ,171 ,185 ,201 ,187 ,172 ,141 ,77 ,44 ,27 ,9 ,VF_END_OF_POLY ,
413
+ 168 ,166 ,148 ,115 ,83 ,52 ,38 ,40 ,72 ,70 ,85 ,117 ,134 ,136 ,VF_END_OF_POLY ,
414
+ 40 ,58 ,91 ,89 ,72 ,VF_END_OF_POLY ,
415
+ 136 ,121 ,123 ,154 ,168 ,VF_END_OF_CHAR ,
399
416
// 170
400
417
VF_END_OF_CHAR ,
401
418
// 171
402
- VF_END_OF_CHAR ,
419
+ 68 ,113 ,164 ,149 ,115 ,85 ,VF_END_OF_POLY ,
420
+ 71 ,116 ,167 ,152 ,118 ,88 ,VF_END_OF_CHAR ,
403
421
// 172
404
- VF_END_OF_CHAR ,
422
+ 81 , 113 , 119 , 167 , 169 , 89 , VF_END_OF_CHAR ,
405
423
// 173
406
424
VF_END_OF_CHAR ,
407
425
// 174
408
- VF_END_OF_CHAR ,
426
+ 25 ,21 ,35 ,66 ,130 ,163 ,181 ,185 ,201 ,197 ,179 ,162 ,129 ,65 ,34 ,19 ,5 ,9 ,VF_END_OF_POLY ,
427
+ 25 ,43 ,76 ,140 ,171 ,185 ,201 ,187 ,172 ,141 ,77 ,44 ,27 ,9 ,VF_END_OF_POLY ,
428
+ 36 ,164 ,166 ,38 ,VF_END_OF_POLY ,
429
+ 70 ,72 ,104 ,102 ,134 ,136 ,119 ,168 ,170 ,121 ,106 ,74 ,40 ,38 ,VF_END_OF_CHAR ,
409
430
// 175
410
- VF_END_OF_CHAR ,
431
+ 1 , 9 , 41 , 33 , VF_END_OF_CHAR ,
411
432
// 176
412
- 3 ,5 ,22 ,54 ,69 ,67 ,51 ,53 ,21 ,19 ,VF_END_OF_POLY ,
413
- 67 ,50 ,18 ,3 ,VF_END_OF_CHAR ,
433
+ 2 ,4 ,21 ,53 ,68 ,66 ,50 ,52 ,20 ,18 ,VF_END_OF_POLY ,
434
+ 66 ,49 ,17 ,2 ,VF_END_OF_CHAR ,
435
+ // 177
436
+ 20 ,68 ,65 ,97 ,100 ,148 ,150 ,102 ,105 ,73 ,70 ,22 ,VF_END_OF_POLY ,
437
+ 161 ,169 ,201 ,193 ,VF_END_OF_CHAR ,
438
+ // 178
439
+ VF_END_OF_CHAR ,
440
+ // 179
441
+ VF_END_OF_CHAR ,
442
+ // 180
443
+ 5 ,3 ,49 ,51 ,VF_END_OF_CHAR ,
444
+ // 181
445
+ 165 ,164 ,178 ,196 ,197 ,183 ,VF_END_OF_POLY ,
446
+ 182 ,198 ,200 ,72 ,70 ,150 ,165 ,VF_END_OF_POLY ,
447
+ 179 ,243 ,241 ,65 ,67 ,147 ,164 ,VF_END_OF_CHAR ,
448
+ // 182
449
+ VF_END_OF_CHAR ,
450
+ // 183
451
+ 113 ,115 ,147 ,145 ,VF_END_OF_CHAR ,
452
+ // 184
453
+ 194 ,195 ,212 ,228 ,243 ,241 ,225 ,226 ,211 ,227 ,210 ,VF_END_OF_CHAR ,
454
+ // 185
455
+ VF_END_OF_CHAR ,
456
+ // 186
457
+ VF_END_OF_CHAR ,
458
+ // 187
459
+ 69 ,120 ,165 ,148 ,118 ,84 ,VF_END_OF_POLY ,
460
+ 66 ,117 ,162 ,145 ,115 ,81 ,VF_END_OF_CHAR ,
461
+ // 188
462
+ 9 ,11 ,196 ,194 ,VF_END_OF_POLY ,
463
+ 67 ,66 ,82 ,85 ,69 ,68 ,4 ,3 ,VF_END_OF_POLY ,
464
+ 18 ,3 ,19 ,34 ,VF_END_OF_POLY ,
465
+ 167 ,183 ,187 ,171 ,168 ,122 ,121 ,VF_END_OF_POLY ,
466
+ 121 ,201 ,202 ,122 ,VF_END_OF_CHAR ,
467
+ // 189
468
+ 9 ,11 ,196 ,194 ,VF_END_OF_POLY ,
469
+ 203 ,187 ,185 ,155 ,139 ,122 ,120 ,136 ,138 ,154 ,184 ,200 ,VF_END_OF_POLY ,
470
+ 67 ,66 ,82 ,85 ,69 ,68 ,4 ,3 ,VF_END_OF_POLY ,
471
+ 18 ,3 ,19 ,34 ,VF_END_OF_CHAR ,
472
+ // 190
473
+ 9 ,11 ,196 ,194 ,VF_END_OF_POLY ,
474
+ 167 ,183 ,187 ,171 ,168 ,122 ,121 ,VF_END_OF_POLY ,
475
+ 121 ,201 ,202 ,122 ,VF_END_OF_POLY ,
476
+ 2 ,18 ,20 ,36 ,35 ,51 ,52 ,68 ,66 ,82 ,84 ,69 ,53 ,36 ,52 ,37 ,21 ,4 ,VF_END_OF_CHAR ,
477
+ // 191
478
+ 216 ,185 ,183 ,198 ,230 ,VF_END_OF_POLY ,
479
+ 230 ,198 ,196 ,179 ,163 ,148 ,149 ,134 ,102 ,100 ,116 ,130 ,161 ,177 ,210 ,228 ,VF_END_OF_POLY ,
480
+ 70 ,68 ,36 ,38 ,VF_END_OF_CHAR ,
481
+ // 192
482
+ VF_END_OF_CHAR ,
483
+ // 193
484
+ VF_END_OF_CHAR ,
485
+ // 194
486
+ VF_END_OF_CHAR ,
487
+ // 195
488
+ VF_END_OF_CHAR ,
489
+ // 196
490
+ VF_END_OF_CHAR ,
491
+ // 197
492
+ VF_END_OF_CHAR ,
493
+ // 198
494
+ 195 ,193 ,6 ,8 ,VF_END_OF_POLY ,
495
+ 7 ,119 ,116 ,147 ,151 ,199 ,205 ,173 ,169 ,121 ,124 ,92 ,89 ,41 ,45 ,13 ,VF_END_OF_CHAR ,
496
+ // 199
497
+ 4 ,18 ,33 ,64 ,128 ,161 ,178 ,196 ,197 ,213 ,230 ,214 ,229 ,228 ,244 ,246 ,231 ,215 ,198 ,199 ,166 ,165 ,147 ,114 ,82 ,51 ,37 ,38 ,7 ,VF_END_OF_POLY ,
498
+ 166 ,199 ,185 ,170 ,152 ,VF_END_OF_POLY ,
499
+ 38 ,7 ,25 ,42 ,56 ,VF_END_OF_CHAR ,
500
+ // 200
501
+ VF_END_OF_CHAR ,
502
+ // 201
503
+ VF_END_OF_CHAR ,
504
+ // 202
505
+ VF_END_OF_CHAR ,
506
+ // 203
507
+ VF_END_OF_CHAR ,
508
+ // 204
509
+ VF_END_OF_CHAR ,
510
+ // 205
511
+ VF_END_OF_CHAR ,
512
+ // 206
513
+ VF_END_OF_CHAR ,
514
+ // 207
515
+ VF_END_OF_CHAR ,
516
+ // 208
517
+ 36 ,38 ,56 ,89 ,121 ,152 ,166 ,164 ,196 ,199 ,185 ,170 ,139 ,75 ,42 ,25 ,7 ,4 ,VF_END_OF_POLY ,
518
+ 4 ,2 ,194 ,196 ,VF_END_OF_POLY ,
519
+ 81 ,86 ,118 ,113 ,VF_END_OF_CHAR ,
520
+ // 209
521
+ VF_END_OF_CHAR ,
522
+ // 210
523
+ VF_END_OF_CHAR ,
524
+ // 211
525
+ VF_END_OF_CHAR ,
526
+ // 212
527
+ VF_END_OF_CHAR ,
528
+ // 213
529
+ VF_END_OF_CHAR ,
530
+ // 214
531
+ VF_END_OF_CHAR ,
532
+ // 215
533
+ 49 ,34 ,153 ,168 ,VF_END_OF_POLY ,
534
+ 40 ,57 ,162 ,145 ,VF_END_OF_CHAR ,
535
+ // 216
536
+ 39 ,38 ,52 ,83 ,115 ,148 ,166 ,167 ,200 ,197 ,179 ,162 ,129 ,65 ,34 ,19 ,5 ,8 ,VF_END_OF_POLY ,
537
+ 39 ,57 ,90 ,122 ,153 ,167 ,200 ,186 ,171 ,140 ,76 ,43 ,26 ,8 ,VF_END_OF_POLY ,
538
+ 193 ,10 ,12 ,195 ,VF_END_OF_CHAR ,
539
+ // 217
540
+ VF_END_OF_CHAR ,
541
+ // 218
542
+ VF_END_OF_CHAR ,
543
+ // 219
544
+ VF_END_OF_CHAR ,
545
+ // 220
546
+ VF_END_OF_CHAR ,
547
+ // 221
548
+ VF_END_OF_CHAR ,
549
+ // 222
550
+ 1 ,3 ,195 ,193 ,VF_END_OF_POLY ,
551
+ 163 ,166 ,152 ,121 ,89 ,56 ,38 ,35 ,67 ,70 ,87 ,119 ,134 ,131 ,VF_END_OF_CHAR ,
552
+ // 223
553
+ 36 ,37 ,54 ,70 ,85 ,101 ,118 ,135 ,151 ,166 ,164 ,196 ,198 ,184 ,169 ,137 ,120 ,103 ,87 ,72 ,56 ,23 ,5 ,4 ,VF_END_OF_POLY ,
554
+ 18 ,49 ,193 ,195 ,51 ,36 ,4 ,VF_END_OF_CHAR ,
555
+ // 224
556
+ VF_END_OF_CHAR ,
557
+ // 225
558
+ VF_END_OF_CHAR ,
559
+ // 226
560
+ VF_END_OF_CHAR ,
561
+ // 227
562
+ VF_END_OF_CHAR ,
563
+ // 228
564
+ VF_END_OF_CHAR ,
565
+ // 229
566
+ VF_END_OF_CHAR ,
567
+ // 230
568
+ 73 ,105 ,106 ,123 ,115 ,145 ,161 ,195 ,197 ,165 ,164 ,147 ,163 ,148 ,157 ,125 ,92 ,74 ,VF_END_OF_POLY ,
569
+ 68 ,82 ,99 ,101 ,118 ,150 ,165 ,197 ,183 ,201 ,202 ,188 ,171 ,169 ,152 ,120 ,105 ,73 ,87 ,69 ,VF_END_OF_CHAR ,
570
+ // 231
571
+ 69 ,87 ,120 ,118 ,101 ,VF_END_OF_POLY ,
572
+ 68 ,82 ,113 ,145 ,178 ,196 ,212 ,229 ,213 ,228 ,227 ,243 ,245 ,230 ,214 ,197 ,165 ,164 ,147 ,115 ,100 ,101 ,69 ,VF_END_OF_POLY ,
573
+ 165 ,150 ,152 ,183 ,197 ,VF_END_OF_CHAR ,
414
574
};
415
575
416
576
static const uint8_t vfAccentPolys [] IN_FLASH_MEMORY = {
@@ -428,43 +588,45 @@ static const uint8_t vfAccentPolys[] IN_FLASH_MEMORY = {
428
588
// 245
429
589
69 ,71 ,88 ,120 ,135 ,133 ,117 ,119 ,87 ,85 ,VF_END_OF_POLY ,
430
590
133 ,116 ,84 ,69 ,VF_END_OF_CHAR ,
591
+ // 246
592
+ 65 ,67 ,195 ,193 ,VF_END_OF_CHAR ,
431
593
432
594
};
433
- static const uint8_t vfAccentPolyIndices [] = {0 ,5 ,10 ,17 ,26 ,36 };
595
+ static const uint8_t vfAccentPolyIndices [] = {0 ,5 ,10 ,17 ,26 ,36 , 52 };
434
596
435
597
static const uint8_t * vfGetCharPtr (char sch , const uint8_t * * accentPtr , int * accentX , int * accentY ) {
436
598
unsigned char ch = (unsigned char )sch ;
437
599
if (ch >=192 ) {
438
- // 012345 correspond to 0=grave,1=acute,2=circumflex,3=tilde,4=umlaut,5=ring
439
- char * chrMap = "AAAAAAACEEEEIIIIDNOOOOOxOUUUUYIBaaaaaaaceeeeiiiionooooo-ouuuuyly " ;
440
- char * accMap = "012345E, 01240124- 301234 /01241o 012345e, 01240124+301234:/01241p4 " ;
600
+ // 012345 correspond to 0=grave,1=acute,2=circumflex,3=tilde,4=umlaut,5=ring,6=i without dot
601
+ char * chrMap = "AAAAAA EEEEIIII NOOOOO UUUUY aaaaaa eeeeiiiionooooo uuuuy y " ;
602
+ char * accMap = "012345 01240124 301234 01241 012345 01240124+301234 01241 4 " ;
441
603
if (ch >=192 ) {
442
604
int i = ch - 192 ;
443
- ch = (unsigned char )chrMap [i ];
444
- if (accentPtr ) {
445
- char acc = accMap [i ];
446
- * accentX = 0 ;
447
- * accentY = 0 ;
448
- if (acc >='0' && acc <='5' ) {
449
- * accentPtr = & vfAccentPolys [vfAccentPolyIndices [acc - '0' ]];
450
- if (ch >='a' && ch <='z' ) { // lowercase
451
- * accentX = -2 ;
452
- * accentY = -4 ;
453
- } else { // uppercase
454
- * accentY = -8 ;
605
+ unsigned char chReplacement = (unsigned char )chrMap [i ];
606
+ if (chReplacement != ' ' ) {
607
+ ch = chReplacement ;
608
+ if (accentPtr ) {
609
+ char acc = accMap [i ];
610
+ * accentX = 0 ;
611
+ * accentY = 0 ;
612
+ if (acc >='0' && acc <='5' ) {
613
+ * accentPtr = & vfAccentPolys [vfAccentPolyIndices [acc - '0' ]];
614
+ if (ch >='a' && ch <='z' ) { // lowercase
615
+ * accentX = -2 ;
616
+ * accentY = -4 ;
617
+ } else { // uppercase
618
+ * accentY = -8 ;
619
+ }
620
+ if (ch == 'I' ) * accentX -= 3 ;
621
+ if (ch == 'i' ) {
622
+ * accentX -= 2 ;
623
+ return & vfAccentPolys [vfAccentPolyIndices [6 ]]; // use i without .
624
+ }
625
+ } else if (acc != ' ' ) {
626
+ * accentPtr = vfGetCharPtr (acc , NULL ,NULL ,NULL );
627
+ if (acc == '+' ) * accentY = -4 ;
455
628
}
456
- if (ch == 'I' ) * accentX -= 3 ;
457
- if (ch == 'i' ) * accentX -= 2 ;
458
- } else if (acc != ' ' ) {
459
- * accentPtr = vfGetCharPtr (acc , NULL ,NULL ,NULL );
460
- if (acc == 'E' ) * accentX = 8 ;
461
- if (acc == 'e' ) * accentX = 4 ;
462
- if (acc == ',' ) * accentX = 4 ;
463
- if (acc == '+' ) * accentY = -4 ;
464
- if (acc == ':' ) { * accentX = 2 ;* accentY = -2 ; }
465
- if (acc == 'o' ) { * accentX = 2 ;* accentY = -1 ; }
466
629
}
467
-
468
630
}
469
631
}
470
632
}
@@ -485,7 +647,7 @@ static const uint8_t *vfGetCharPtr(char sch, const uint8_t **accentPtr, int *acc
485
647
unsigned int vfDrawCharPtr (JsGraphics * gfx , int x1 , int y1 , int size , const uint8_t * charPtr ) {
486
648
x1 = x1 <<4 ;
487
649
y1 = y1 <<4 ;
488
- short poly [60 ];
650
+ short poly [62 ];
489
651
int polyLen = 0 ;
490
652
int w = 0 ;
491
653
while (* charPtr != VF_END_OF_CHAR ) {
0 commit comments