]> git.vomp.tv Git - vompclient.git/blob - teletxt/txtfont.cc
Fix text corruption in channel number display on live tv
[vompclient.git] / teletxt / txtfont.cc
1 #include "txtfont.h"
2
3 unsigned int TXT_Mask[11]= {
4    0x0000,  // ************ ****
5    0x39C0,  // **###**###** ****
6    0x39C0,  // **###**###** ****
7    0x0000,  // ************ ****
8    0x39C0,  // **###**###** ****
9    0x39C0,  // **###**###** ****
10    0x0000,  // ************ ****
11    0x39C0,  // **###**###** ****
12    0x39C0,  // **###**###** ****
13    0x0000   // ************ ****
14   };
15
16 unsigned int TXT_Font[][11]= {
17   { // 0x20 = Leerzeichen
18    0x0000,  // ************ ****
19    0x0000,  // ************ ****
20    0x0000,  // ************ ****
21    0x0000,  // ************ ****
22    0x0000,  // ************ ****
23    0x0000,  // ************ ****
24    0x0000,  // ************ ****
25    0x0000,  // ************ ****
26    0x0000,  // ************ ****
27    0x0000   // ************ ****
28   },
29   { // 0x21 = !
30    0x0000,  // ************ ****
31    0x0600,  // *****##***** ****
32    0x0600,  // *****##***** ****
33    0x0600,  // *****##***** ****
34    0x0600,  // *****##***** ****
35    0x0600,  // *****##***** ****
36    0x0000,  // ************ ****
37    0x0600,  // *****##***** ****
38    0x0000,  // ************ ****
39    0x0000   // ************ ****
40   },
41   { // 0x22 = "
42    0x0000,  // ************ ****
43    0x39C0,  // **###**###** ****
44    0x18C0,  // ***##***##** ****
45    0x3180,  // **##***##*** ****
46    0x0000,  // ************ ****
47    0x0000,  // ************ ****
48    0x0000,  // ************ ****
49    0x0000,  // ************ ****
50    0x0000,  // ************ ****
51    0x0000,  // ************ ****
52   },
53   { // 0x23 = # = NC 
54    0x0000,  // ************ ****
55    0x1980,  // ***##**##*** ****
56    0x1980,  // ***##**##*** ****
57    0x7FE0,  // *##########* ****
58    0x1980,  // ***##**##*** ****
59    0x1980,  // ***##**##*** ****
60    0x7FE0,  // *##########* ****
61    0x1980,  // ***##**##*** ****
62    0x1980,  // ***##**##*** ****
63    0x0000   // ************ ****
64   },
65   { // 0x24 = $ = NC
66    0x0600,  // *****##***** ****
67    0x3FC0,  // **########** ****
68    0x6660,  // *##**##**##* ****
69    0x6600,  // *##**##***** ****
70    0x3FC0,  // **########** ****
71    0x0660,  // *****##**##* ****
72    0x6660,  // *##**##**##* ****
73    0x3FC0,  // **########** ****
74    0x0600,  // *****##***** ****
75    0x0000,  // ************ ****
76   },
77   { // 0x25 = %
78    0x0000,  // ************ ****
79    0x70C0,  // *###****##** ****
80    0xD980,  // ##*##**##*** ****
81    0x7300,  // *###**##**** ****
82    0x0600,  // *****##***** ****
83    0x0CE0,  // ****##**###* ****
84    0x19B0,  // ***##**##*## ****
85    0x30E0,  // **##****###* ****
86    0x0000,  // ************ ****
87    0x0000   // ************ ****
88   },
89   { // 0x26 = & 
90    0x0000,  // ************ ****
91    0x1E00,  // ***####***** ****
92    0x3300,  // **##**##**** ****
93    0x3300,  // **##**##**** ****
94    0x1E00,  // ***####***** ****
95    0x3330,  // **##**##**## ****
96    0x61C0,  // *##****###** ****
97    0x3F30,  // **######**## ****
98    0x0000,  // ************ ****
99    0x0000,  // ************ ****
100   },
101   { // 0x27 = '
102    0x0000,  // ************ ****
103    0x0700,  // *****###**** ****
104    0x0300,  // ******##**** ****
105    0x0600,  // *****##***** ****
106    0x0000,  // ************ ****
107    0x0000,  // ************ ****
108    0x0000,  // ************ ****
109    0x0000,  // ************ ****
110    0x0000,  // ************ ****
111    0x0000,  // ************ ****
112   },
113   { // 0x28 = (
114    0x0000,  // ************ ****
115    0x0700,  // *****###**** ****
116    0x0C00,  // ****##****** ****
117    0x1800,  // ***##******* ****
118    0x1800,  // ***##******* ****
119    0x1800,  // ***##******* ****
120    0x0C00,  // ****##****** ****
121    0x0700,  // *****###**** ****
122    0x0000,  // ************ ****
123    0x0000,  // ************ ****
124   },
125   { // 0x29 = )
126    0x0000,  // ************ ****
127    0x0E00,  // ****###***** ****
128    0x0300,  // ******##**** ****
129    0x0180,  // *******##*** ****
130    0x0180,  // *******##*** ****
131    0x0180,  // *******##*** ****
132    0x0300,  // ******##**** ****
133    0x0E00,  // ****###***** ****
134    0x0000,  // ************ ****
135    0x0000,  // ************ ****
136   },
137   { // 0x2A = *
138    0x0000,  // ************ ****
139    0x0600,  // *****##***** ****
140    0x6660,  // *##**##**##* ****
141    0x36C0,  // **##*##*##** ****
142    0x0F00,  // ****####**** ****
143    0x36C0,  // **##*##*##** ****
144    0x6660,  // *##**##**##* ****
145    0x0600,  // *****##***** ****
146    0x0000,  // ************ ****
147    0x0000,  // ************ ****
148   },
149   { // 0x2B = +
150    0x0000,  // ************ ****
151    0x0000,  // ************ ****
152    0x0600,  // *****##***** ****
153    0x0600,  // *****##***** ****
154    0x3FC0,  // **########** ****
155    0x0600,  // *****##***** ****
156    0x0600,  // *****##***** ****
157    0x0000,  // ************ ****
158    0x0000,  // ************ ****
159    0x0000,  // ************ ****
160   },
161   { // 0x2C = ,
162    0x0000,  // ************ ****
163    0x0000,  // ************ ****
164    0x0000,  // ************ ****
165    0x0000,  // ************ ****
166    0x0000,  // ************ ****
167    0x0000,  // ************ ****
168    0x0000,  // ************ ****
169    0x3800,  // **###******* ****
170    0x1800,  // ***##******* ****
171    0x3000,  // **##******** ****
172   },
173   { // 0x2D = -
174    0x0000,  // ************ ****
175    0x0000,  // ************ ****
176    0x0000,  // ************ ****
177    0x0000,  // ************ ****
178    0x3FC0,  // **########** ****
179    0x0000,  // ************ ****
180    0x0000,  // ************ ****
181    0x0000,  // ************ ****
182    0x0000,  // ************ ****
183    0x0000,  // ************ ****
184   },
185   { // 0x2E = .
186    0x0000,  // ************ ****
187    0x0000,  // ************ ****
188    0x0000,  // ************ ****
189    0x0000,  // ************ ****
190    0x0000,  // ************ ****
191    0x0000,  // ************ ****
192    0x1800,  // ***##******* ****
193    0x1800,  // ***##******* ****
194    0x0000,  // ************ ****
195    0x0000,  // ************ ****
196   },
197   { // 0x2F = /
198    0x0000,  // ************ ****
199    0x00C0,  // ********##** ****
200    0x0180,  // *******##*** ****
201    0x0300,  // ******##**** ****
202    0x0600,  // *****##***** ****
203    0x0C00,  // ****##****** ****
204    0x1800,  // ***##******* ****
205    0x3000,  // **##******** ****
206    0x0000,  // ************ ****
207    0x0000,  // ************ ****
208   },
209
210   { // 0x30 = 0
211    0x0000,  // ************ ****
212    0x1FC0,  // ***#######** ****
213    0x38E0,  // **###***###* ****
214    0x38E0,  // **###***###* ****
215    0x38E0,  // **###***###* ****
216    0x38E0,  // **###***###* ****
217    0x38E0,  // **###***###* ****
218    0x1FC0,  // ***#######** ****
219    0x0000,  // ************ ****
220    0x0000,  // ************ ****
221   },
222   { // 0x31 = 1
223    0x0000,  // ************ ****
224    0x0700,  // *****###**** ****
225    0x1F00,  // ***#####**** ****
226    0x0700,  // *****###**** ****
227    0x0700,  // *****###**** ****
228    0x0700,  // *****###**** ****
229    0x0700,  // *****###**** ****
230    0x0700,  // *****###**** ****
231    0x0000,  // ************ ****
232    0x0000,  // ************ ****
233   },
234   { // 0x32 = 2
235    0x0000,  // ************ ****
236    0x1FC0,  // ***#######** ****
237    0x30E0,  // **##****###* ****
238    0x00E0,  // ********###* ****
239    0x01C0,  // *******###** ****
240    0x0780,  // *****####*** ****
241    0x1E00,  // ***####***** ****
242    0x3FE0,  // **#########* ****
243    0x0000,  // ************ ****
244    0x0000,  // ************ ****
245   },
246   { // 0x33 = 3
247    0x0000,  // ************ ****
248    0x3FE0,  // **#########* ****
249    0x00C0,  // ********##** ****
250    0x0080,  // *******##*** ****
251    0x07E0,  // *****######* ****
252    0x0060,  // *********##* ****
253    0x0060,  // *********##* ****
254    0x3FC0,  // **########** ****
255    0x0000,  // ************ ****
256    0x0000,  // ************ ****
257   },
258   { // 0x34 = 4
259    0x0000,  // ************ ****
260    0x00E0,  // ********###* ****
261    0x03C0,  // ******####** ****
262    0x0700,  // *****###**** ****
263    0x1C00,  // ***###****** ****
264    0x38E0,  // **###***###* ****
265    0x3FE0,  // **#########* ****
266    0x00E0,  // ********###* ****
267    0x0000,  // ************ ****
268    0x0000,  // ************ ****
269   },
270   { // 0x35 = 5
271    0x0000,  // ************ ****
272    0x3FC0,  // **########** ****
273    0x3000,  // **##******** ****
274    0x3000,  // **##******** ****
275    0x3FC0,  // **########** ****
276    0x00E0,  // ********###* ****
277    0x30E0,  // **##****###* ****
278    0x1FC0,  // ***#######** ****
279    0x0000,  // ************ ****
280    0x0000,  // ************ ****
281   },
282   { // 0x36 = 6
283    0x0000,  // ************ ****
284    0x0700,  // *****###**** ****
285    0x0E00,  // ****###***** ****
286    0x1C00,  // ***###****** ****
287    0x3FC0,  // **########** ****
288    0x3860,  // **###****##* ****
289    0x3860,  // **###****##* ****
290    0x1FC0,  // ***#######** ****
291    0x0000,  // ************ ****
292    0x0000,  // ************ ****
293   },
294   { // 0x37 = 7
295    0x0000,  // ************ ****
296    0x7FE0,  // *##########* ****
297    0x01C0,  // *******###** ****
298    0x0380,  // ******###*** ****
299    0x0700,  // *****###**** ****
300    0x0E00,  // ****###***** ****
301    0x1C00,  // ***###****** ****
302    0x3800,  // **###******* ****
303    0x0000,  // ************ ****
304    0x0000,  // ************ ****
305   },
306   { // 0x38 = 8
307    0x0000,  // ************ ****
308    0x0F80,  // ****#####*** ****
309    0x38E0,  // **###***###* ****
310    0x38E0,  // **###***###* ****
311    0x0F80,  // ****#####*** ****
312    0x38E0,  // **###***###* ****
313    0x38E0,  // **###***###* ****
314    0x0F80,  // ****#####*** ****
315    0x0000,  // ************ ****
316    0x0000,  // ************ ****
317   },
318   { // 0x39 = 9
319    0x0000,  // ************ ****
320    0x1FC0,  // ***#######** ****
321    0x30E0,  // **##****###* ****
322    0x30E0,  // **##****###* ****
323    0x1FC0,  // ***#######** ****
324    0x0380,  // ******###*** ****
325    0x0700,  // *****###**** ****
326    0x0E00,  // ****###***** ****
327    0x0000,  // ************ ****
328    0x0000,  // ************ ****
329   },
330   { // 0x3A = :
331    0x0000,  // ************ ****
332    0x0000,  // ************ ****
333    0x0000,  // ************ ****
334    0x0C00,  // ****##****** ****
335    0x0C00,  // ****##****** ****
336    0x0000,  // ************ ****
337    0x0C00,  // ****##****** ****
338    0x0C00,  // ****##****** ****
339    0x0000,  // ************ ****
340    0x0000,  // ************ ****
341   },
342   { // 0x3B = ;
343    0x0000,  // ************ ****
344    0x0000,  // ************ ****
345    0x0000,  // ************ ****
346    0x0C00,  // ****##****** ****
347    0x0C00,  // ****##****** ****
348    0x0000,  // ************ ****
349    0x0000,  // ************ ****
350    0x0C00,  // ****##****** ****
351    0x0C00,  // ****##****** ****
352    0x1800,  // ***##******* ****
353   },
354   { // 0x3C = <
355    0x0000,  // ************ ****
356    0x00E0,  // ********###* ****
357    0x0380,  // ******###*** ****
358    0x0E00,  // ****###***** ****
359    0x3800,  // **###******* ****
360    0x0E00,  // ****###***** ****
361    0x0380,  // ******###*** ****
362    0x00E0,  // ********###* ****
363    0x0000,  // ************ ****
364    0x0000,  // ************ ****
365   },
366   { // 0x3D = =
367    0x0000,  // ************ ****
368    0x0000,  // ************ ****
369    0x0000,  // ************ ****
370    0x3FC0,  // **########** ****
371    0x0000,  // ************ ****
372    0x3FC0,  // **########** ****
373    0x0000,  // ************ ****
374    0x0000,  // ************ ****
375    0x0000,  // ************ ****
376    0x0000,  // ************ ****
377   },
378   { // 0x3E = >
379    0x0000,  // ************ ****
380    0x7000,  // *###******** ****
381    0x1C00,  // ***###****** ****
382    0x0700,  // *****###**** ****
383    0x01C0,  // *******###** ****
384    0x0700,  // *****###**** ****
385    0x1C00,  // ***###****** ****
386    0x7000,  // *###******** ****
387    0x0000,  // ************ ****
388    0x0000,  // ************ ****
389   },
390   { // 0x3F = ?
391    0x0000,  // ************ ****
392    0x1F80,  // ***######*** ****
393    0x30C0,  // **##****##** ****
394    0x30C0,  // **##****##** ****
395    0x0180,  // *******##*** ****
396    0x0600,  // *****##***** ****
397    0x0000,  // ************ ****
398    0x0600,  // *****##***** ****
399    0x0000,  // ************ ****
400    0x0000,  // ************ ****
401   },
402
403   { // 0x40 = Â§ = NC
404    0x0000,  // ************ ****
405    0x1F80,  // ***######*** ****
406    0x30C0,  // **##****##** ****
407    0x3000,  // **##******** ****
408    0x1F80,  // ***######*** ****
409    0x30C0,  // **##****##** ****
410    0x1F80,  // ***######*** ****
411    0x00C0,  // ********##** ****
412    0x30C0,  // **##****##** ****
413    0x1F80   // ***######*** ****
414   },
415   { // 0x41 = A
416    0x0000,  // ************ ****
417    0x0F00,  // ****####**** ****
418    0x1980,  // ***##**##*** ****
419    0x30C0,  // **##****##** ****
420    0x6060,  // *##******##* ****
421    0x7FE0,  // *##########* ****
422    0x6060,  // *##******##* ****
423    0x6060,  // *##******##* ****
424    0x0000,  // ************ ****
425    0x0000   // ************ ****
426   },
427   { // 0x42 = B
428    0x0000,  // ************ ****
429    0x3FC0,  // **########** ****
430    0x3060,  // **##*****##* ****
431    0x3060,  // **##*****##* ****
432    0x3FC0,  // **########** ****
433    0x3060,  // **##*****##* ****
434    0x3060,  // **##*****##* ****
435    0x3FC0,  // **########** ****
436    0x0000,  // ************ ****
437    0x0000   // ************ ****
438   },
439   { // 0x43 = C
440    0x0000,  // ************ ****
441    0x0FC0,  // ****######** ****
442    0x1860,  // ***##****##* ****
443    0x3000,  // **##******** ****
444    0x3000,  // **##******** ****
445    0x3000,  // **##******** ****
446    0x1860,  // ***##****##* ****
447    0x0FC0,  // ****######** ****
448    0x0000,  // ************ ****
449    0x0000   // ************ ****
450   },
451   { // 0x44 = D
452    0x0000,  // ************ ****
453    0x3F80,  // **#######*** ****
454    0x30C0,  // **##****##** ****
455    0x3060,  // **##*****##* ****
456    0x3060,  // **##*****##* ****
457    0x3060,  // **##*****##* ****
458    0x30C0,  // **##****##** ****
459    0x3F80,  // **#######*** ****
460    0x0000,  // ************ ****
461    0x0000   // ************ ****
462   },
463   { // 0x45 = E
464    0x0000,  // ************ ****
465    0x3FE0,  // **#########* ****
466    0x3000,  // **##******** ****
467    0x3000,  // **##******** ****
468    0x3F80,  // **#######*** ****
469    0x3000,  // **##******** ****
470    0x3000,  // **##******** ****
471    0x3FE0,  // **#########* ****
472    0x0000,  // ************ ****
473    0x0000   // ************ ****
474   },
475   { // 0x46 = F
476    0x0000,  // ************ ****
477    0x3FE0,  // **#########* ****
478    0x3000,  // **##******** ****
479    0x3000,  // **##******** ****
480    0x3F80,  // **#######*** ****
481    0x3000,  // **##******** ****
482    0x3000,  // **##******** ****
483    0x3000,  // **##******** ****
484    0x0000,  // ************ ****
485    0x0000   // ************ ****
486   },
487   { // 0x47 = G
488    0x0000,  // ************ ****
489    0x1FC0,  // ***#######** ****
490    0x3060,  // **##*****##* ****
491    0x3000,  // **##******** ****
492    0x3000,  // **##******** ****
493    0x33E0,  // **##**#####* ****
494    0x3060,  // **##*****##* ****
495    0x1FC0,  // ***#######** ****
496    0x0000,  // ************ ****
497    0x0000   // ************ ****
498   },
499   { // 0x48 = H
500    0x0000,  // ************ ****
501    0x6060,  // *##******##* ****
502    0x6060,  // *##******##* ****
503    0x6060,  // *##******##* ****
504    0x7FE0,  // *##########* ****
505    0x6060,  // *##******##* ****
506    0x6060,  // *##******##* ****
507    0x6060,  // *##******##* ****
508    0x0000,  // ************ ****
509    0x0000   // ************ ****
510   },
511   { // 0x49 = I
512    0x0000,  // ************ ****
513    0x3FC0,  // **########** ****
514    0x0600,  // *****##***** ****
515    0x0600,  // *****##***** ****
516    0x0600,  // *****##***** ****
517    0x0600,  // *****##***** ****
518    0x0600,  // *****##***** ****
519    0x3FC0,  // **########** ****
520    0x0000,  // ************ ****
521    0x0000   // ************ ****
522   },
523   { // 0x4A = J
524    0x0000,  // ************ ****
525    0x0060,  // *********##* ****
526    0x0060,  // *********##* ****
527    0x0060,  // *********##* ****
528    0x0060,  // *********##* ****
529    0x0060,  // *********##* ****
530    0x3060,  // **##*****##* ****
531    0x1FC0,  // ***#######** ****
532    0x0000,  // ************ ****
533    0x0000   // ************ ****
534   },
535   { // 0x4B = K
536    0x0000,  // ************ ****
537    0x30E0,  // **##****###* ****
538    0x3180,  // **##***##*** ****
539    0x3700,  // **##*###**** ****
540    0x3C00,  // **####****** ****
541    0x3700,  // **##*###**** ****
542    0x3180,  // **##***##*** ****
543    0x30E0,  // **##****###* ****
544    0x0000,  // ************ ****
545    0x0000   // ************ ****
546   },
547   { // 0x4C = L
548    0x0000,  // ************ ****
549    0x3000,  // **##******** ****
550    0x3000,  // **##******** ****
551    0x3000,  // **##******** ****
552    0x3000,  // **##******** ****
553    0x3000,  // **##******** ****
554    0x3000,  // **##******** ****
555    0x3FE0,  // **#########* ****
556    0x0000,  // ************ ****
557    0x0000   // ************ ****
558   },
559   { // 0x4D = M
560    0x0000,  // ************ ****
561    0x70E0,  // *###****###* ****
562    0x79E0,  // *####**####* ****
563    0x6F60,  // *##*####*##* ****
564    0x6660,  // *##**##**##* ****
565    0x6060,  // *##******##* ****
566    0x6060,  // *##******##* ****
567    0x6060,  // *##******##* ****
568    0x0000,  // ************ ****
569    0x0000   // ************ ****
570   },
571   { // 0x4E = N
572    0x0000,  // ************ ****
573    0x7060,  // *###*****##* ****
574    0x7860,  // *####****##* ****
575    0x6C60,  // *##*##***##* ****
576    0x6660,  // *##**##**##* ****
577    0x6360,  // *##***##*##* ****
578    0x61E0,  // *##****####* ****
579    0x60E0,  // *##*****###* ****
580    0x0000,  // ************ ****
581    0x0000   // ************ ****
582   },
583   { // 0x4F = O
584    0x0000,  // ************ ****
585    0x1FC0,  // ***#######** ****
586    0x3060,  // **##*****##* ****
587    0x3060,  // **##*****##* ****
588    0x3060,  // **##*****##* ****
589    0x3060,  // **##*****##* ****
590    0x3060,  // **##*****##* ****
591    0x1FC0,  // ***#######** ****
592    0x0000,  // ************ ****
593    0x0000   // ************ ****
594   },
595
596   { // 0x50 = P
597    0x0000,  // ************ ****
598    0x3FC0,  // **########** ****
599    0x3060,  // **##*****##* ****
600    0x3060,  // **##*****##* ****
601    0x3FC0,  // **########** ****
602    0x3000,  // **##******** ****
603    0x3000,  // **##******** ****
604    0x3000,  // **##******** ****
605    0x0000,  // ************ ****
606    0x0000   // ************ ****
607   },
608   { // 0x51 = Q
609    0x0000,  // ************ ****
610    0x1FC0,  // ***#######** ****
611    0x3060,  // **##*****##* ****
612    0x3060,  // **##*****##* ****
613    0x3060,  // **##*****##* ****
614    0x3060,  // **##*****##* ****
615    0x3360,  // **##**##*##* ****
616    0x1FC0,  // ***#######** ****
617    0x0180,  // *******##*** ****
618    0x00E0   // ********###* ****
619   },
620   { // 0x52 = R
621    0x0000,  // ************ ****
622    0x3FC0,  // **########** ****
623    0x3060,  // **##*****##* ****
624    0x3060,  // **##*****##* ****
625    0x3FC0,  // **########** ****
626    0x3300,  // **##**##**** ****
627    0x31C0,  // **##***###** ****
628    0x30E0,  // **##****###* ****
629    0x0000,  // ************ ****
630    0x0000   // ************ ****
631   },
632   { // 0x53 = S
633    0x0000,  // ************ ****
634    0x1FC0,  // ***#######** ****
635    0x3000,  // **##******** ****
636    0x3000,  // **##******** ****
637    0x1FC0,  // ***#######** ****
638    0x0060,  // *********##* ****
639    0x0060,  // *********##* ****
640    0x1FC0,  // ***#######** ****
641    0x0000,  // ************ ****
642    0x0000   // ************ ****
643   },
644   { // 0x54 = T
645    0x0000,  // ************ ****
646    0x7FE0,  // *##########* ****
647    0x0600,  // *****##***** ****
648    0x0600,  // *****##***** ****
649    0x0600,  // *****##***** ****
650    0x0600,  // *****##***** ****
651    0x0600,  // *****##***** ****
652    0x0600,  // *****##***** ****
653    0x0000,  // ************ ****
654    0x0000   // ************ ****
655   },
656   { // 0x55 = U
657    0x0000,  // ************ ****
658    0x3060,  // **##*****##* ****
659    0x3060,  // **##*****##* ****
660    0x3060,  // **##*****##* ****
661    0x3060,  // **##*****##* ****
662    0x3060,  // **##*****##* ****
663    0x3060,  // **##*****##* ****
664    0x1FC0,  // ***#######** ****
665    0x0000,  // ************ ****
666    0x0000   // ************ ****
667   },
668   { // 0x56 = V
669    0x0000,  // ************ ****
670    0x6060,  // *##******##* ****
671    0x6060,  // *##******##* ****
672    0x30C0,  // **##****##** ****
673    0x30C0,  // **##****##** ****
674    0x1980,  // ***##**##*** ****
675    0x0F00,  // ****####**** ****
676    0x0600,  // *****##***** ****
677    0x0000,  // ************ ****
678    0x0000   // ************ ****
679   },
680   { // 0x57 = W
681    0x0000,  // ************ ****
682    0x6060,  // *##******##* ****
683    0x6060,  // *##******##* ****
684    0x6660,  // *##**##**##* ****
685    0x6660,  // *##**##**##* ****
686    0x6F60,  // *##*####*##* ****
687    0x39C0,  // **###**###** ****
688    0x30C0,  // **##****##** ****
689    0x0000,  // ************ ****
690    0x0000   // ************ ****
691   },
692   { // 0x58 = X
693    0x0000,  // ************ ****
694    0x30C0,  // **##****##** ****
695    0x1980,  // ***##**##*** ****
696    0x0F00,  // ****####**** ****
697    0x0600,  // *****##***** ****
698    0x0F00,  // ****####**** ****
699    0x1980,  // ***##**##*** ****
700    0x30C0,  // **##****##** ****
701    0x0000,  // ************ ****
702    0x0000   // ************ ****
703   },
704   { // 0x59 = Y
705    0x0000,  // ************ ****
706    0x6060,  // *##******##* ****
707    0x30C0,  // **##****##** ****
708    0x1980,  // ***##**##*** ****
709    0x0F00,  // ****####**** ****
710    0x0600,  // *****##***** ****
711    0x0600,  // *****##***** ****
712    0x0600,  // *****##***** ****
713    0x0000,  // ************ ****
714    0x0000   // ************ ****
715   },
716   { // 0x5A = Z
717    0x0000,  // ************ ****
718    0x3FC0,  // **########** ****
719    0x0180,  // *******##*** ****
720    0x0300,  // ******##**** ****
721    0x0600,  // *****##***** ****
722    0x0C00,  // ****##****** ****
723    0x1800,  // ***##******* ****
724    0x3FC0,  // **########** ****
725    0x0000,  // ************ ****
726    0x0000   // ************ ****
727   },
728   { // 0x5B = Ã„ = NC
729    0x18C0,  // ***##***##** ****
730    0x0000,  // ************ ****
731    0x1FC0,  // ***#######** ****
732    0x3060,  // **##*****##* ****
733    0x3060,  // **##*****##* ****
734    0x3FE0,  // **#########* ****
735    0x3060,  // **##*****##* ****
736    0x3060,  // **##*****##* ****
737    0x0000,  // ************ ****
738    0x0000   // ************ ****
739   },
740   { // 0x5C = Ã– = NC
741    0x18C0,  // ***##***##** ****
742    0x0000,  // ************ ****
743    0x1FC0,  // ***#######** ****
744    0x3060,  // **##*****##* ****
745    0x3060,  // **##*****##* ****
746    0x3060,  // **##*****##* ****
747    0x3060,  // **##*****##* ****
748    0x1FC0,  // ***#######** ****
749    0x0000,  // ************ ****
750    0x0000   // ************ ****
751   },
752   { // 0x5D = Ãœ = NC
753    0x18C0,  // ***##***##** ****
754    0x0000,  // ************ ****
755    0x3060,  // **##*****##* ****
756    0x3060,  // **##*****##* ****
757    0x3060,  // **##*****##* ****
758    0x3060,  // **##*****##* ****
759    0x3060,  // **##*****##* ****
760    0x1FC0,  // ***#######** ****
761    0x0000,  // ************ ****
762    0x0000   // ************ ****
763   },
764   { // 0x5E = ^ = NC
765    0x0600,  // *****##***** ****
766    0x0F00,  // ****####**** ****
767    0x1980,  // ***##**##*** ****
768    0x30C0,  // **##****##** ****
769    0x0000,  // ************ ****
770    0x0000,  // ************ ****
771    0x0000,  // ************ ****
772    0x0000,  // ************ ****
773    0x0000,  // ************ ****
774    0x0000   // ************ ****
775   },
776   { // 0x5F = _ = NC
777    0x0000,  // ************ ****
778    0x0000,  // ************ ****
779    0x0000,  // ************ ****
780    0x0000,  // ************ ****
781    0x0000,  // ************ ****
782    0x0000,  // ************ ****
783    0x0000,  // ************ ****
784    0x0000,  // ************ ****
785    0x0000,  // ************ ****
786    0x7FE0   // *##########* ****
787   },
788
789   { // 0x60 = Â° = NC
790    0x0000,  // ************ ****
791    0x0000,  // *****####*** ****
792    0x0000,  // ****##**##** ****
793    0x0000,  // *****####*** ****
794    0x0000,  // ************ ****
795    0x0000,  // ************ ****
796    0x0000,  // ************ ****
797    0x0000,  // ************ ****
798    0x0000,  // ************ ****
799    0x0000   // ************ ****
800   },
801   { // 0x61 = a
802    0x0000,  // ************ ****
803    0x0000,  // ************ ****
804    0x0000,  // ************ ****
805    0x7F80,  // *########*** ****
806    0x00C0,  // ********##** ****
807    0x3FC0,  // **########** ****
808    0x60C0,  // *##*****##** ****
809    0x3FE0,  // **#########* ****
810    0x0000,  // ************ ****
811    0x0000   // ************ ****
812   },
813   { // 0x62 = b
814    0x0000,  // ************ ****
815    0x3000,  // **##******** ****
816    0x3000,  // **##******** ****
817    0x37C0,  // **##*#####** ****
818    0x3860,  // **###****##* ****
819    0x3060,  // **##*****##* ****
820    0x3060,  // **##*****##* ****
821    0x3FC0,  // **########** ****
822    0x0000,  // ************ ****
823    0x0000   // ************ ****
824   },
825   { // 0x63 = c
826    0x0000,  // ************ ****
827    0x0000,  // ************ ****
828    0x0000,  // ************ ****
829    0x0FE0,  // ****#######* ****
830    0x1800,  // ***##******* ****
831    0x3000,  // **##******** ****
832    0x1800,  // ***##******* ****
833    0x0FE0,  // ****#######* ****
834    0x0000,  // ************ ****
835    0x0000   // ************ ****
836   },
837   { // 0x64 = d
838    0x0000,  // ************ ****
839    0x0060,  // *********##* ****
840    0x0060,  // *********##* ****
841    0x1F60,  // ***#####*##* ****
842    0x30E0,  // **##****###* ****
843    0x3060,  // **##*****##* ****
844    0x3060,  // **##*****##* ****
845    0x1FE0,  // ***########* ****
846    0x0000,  // ************ ****
847    0x0000   // ************ ****
848   },
849   { // 0x65 = e
850    0x0000,  // ************ ****
851    0x0000,  // ************ ****
852    0x0000,  // ************ ****
853    0x1FC0,  // ***#######** ****
854    0x3060,  // **##*****##* ****
855    0x3FE0,  // **#########* ****
856    0x3000,  // **##******** ****
857    0x1FC0,  // ***#######** ****
858    0x0000,  // ************ ****
859    0x0000   // ************ ****
860   },
861   { // 0x66 = f
862    0x0000,  // ************ ****
863    0x07E0,  // *****######* ****
864    0x0C00,  // ****##****** ****
865    0x0C00,  // ****##****** ****
866    0x3F80,  // **#######*** ****
867    0x0C00,  // ****##****** ****
868    0x0C00,  // ****##****** ****
869    0x0C00,  // ****##****** ****
870    0x0000,  // ************ ****
871    0x0000   // ************ ****
872   },
873   { // 0x67 = g
874    0x0000,  // ************ ****
875    0x0000,  // ************ ****
876    0x0000,  // ************ ****
877    0x1F60,  // ***#####*##* ****
878    0x30E0,  // **##****###* ****
879    0x3060,  // **##*****##* ****
880    0x30E0,  // **##****###* ****
881    0x1F60,  // ***#####*##* ****
882    0x0060,  // *********##* ****
883    0x1FC0   // ***#######** ****
884   },
885   { // 0x68 = h
886    0x0000,  // ************ ****
887    0x3000,  // **##******** ****
888    0x3000,  // **##******** ****
889    0x37C0,  // **##*#####** ****
890    0x3860,  // **###****##* ****
891    0x3060,  // **##*****##* ****
892    0x3060,  // **##*****##* ****
893    0x3060,  // **##*****##* ****
894    0x0000,  // ************ ****
895    0x0000   // ************ ****
896   },
897   { // 0x69 = i
898    0x0000,  // ************ ****
899    0x0E00,  // ****###***** ****
900    0x0000,  // ************ ****
901    0x0E00,  // ****###***** ****
902    0x0600,  // *****##***** ****
903    0x0600,  // *****##***** ****
904    0x0600,  // *****##***** ****
905    0x1F80,  // ***######*** ****
906    0x0000,  // ************ ****
907    0x0000   // ************ ****
908   },
909   { // 0x6A = j
910    0x0000,  // ************ ****
911    0x00E0,  // ********###* ****
912    0x0000,  // ************ ****
913    0x01E0,  // *******####* ****
914    0x0060,  // *********##* ****
915    0x0060,  // *********##* ****
916    0x0060,  // *********##* ****
917    0x0060,  // *********##* ****
918    0x3060,  // **##*****##* ****
919    0x1FC0   // ***#######** ****
920   },
921   { // 0x6B = k
922    0x0000,  // ************ ****
923    0x3000,  // **##******** ****
924    0x3000,  // **##******** ****
925    0x30E0,  // **##****###* ****
926    0x3180,  // **##***##*** ****
927    0x3E00,  // **#####***** ****
928    0x3180,  // **##***##*** ****
929    0x30E0,  // **##****###* ****
930    0x0000,  // ************ ****
931    0x0000   // ************ ****
932   },
933   { // 0x6C = l
934    0x0000,  // ************ ****
935    0x1E00,  // ***####***** ****
936    0x0600,  // *****##***** ****
937    0x0600,  // *****##***** ****
938    0x0600,  // *****##***** ****
939    0x0600,  // *****##***** ****
940    0x0600,  // *****##***** ****
941    0x3FC0,  // **########** ****
942    0x0000,  // ************ ****
943    0x0000   // ************ ****
944   },
945   { // 0x6D = m
946    0x0000,  // ************ ****
947    0x0000,  // ************ ****
948    0x0000,  // ************ ****
949    0x6DC0,  // *##*##*###** ****
950    0x6660,  // *##**##**##* ****
951    0x6660,  // *##**##**##* ****
952    0x6660,  // *##**##**##* ****
953    0x6660,  // *##**##**##* ****
954    0x0000,  // ************ ****
955    0x0000   // ************ ****
956   },
957   { // 0x6E = n
958    0x0000,  // ************ ****
959    0x0000,  // ************ ****
960    0x0000,  // ************ ****
961    0x37C0,  // **##*#####** ****
962    0x3860,  // **###****##* ****
963    0x3060,  // **##*****##* ****
964    0x3060,  // **##*****##* ****
965    0x3060,  // **##*****##* ****
966    0x0000,  // ************ ****
967    0x0000   // ************ ****
968   },
969   { // 0x6F = o
970    0x0000,  // ************ ****
971    0x0000,  // ************ ****
972    0x0000,  // ************ ****
973    0x1FC0,  // ***#######** ****
974    0x3060,  // **##*****##* ****
975    0x3060,  // **##*****##* ****
976    0x3060,  // **##*****##* ****
977    0x1FC0,  // ***#######** ****
978    0x0000,  // ************ ****
979    0x0000   // ************ ****
980   },
981
982   { // 0x70 = p
983    0x0000,  // ************ ****
984    0x0000,  // ************ ****
985    0x0000,  // ************ ****
986    0x37C0,  // **##*#####** ****
987    0x3860,  // **###****##* ****
988    0x3060,  // **##*****##* ****
989    0x3860,  // **###****##* ****
990    0x37C0,  // **##*#####** ****
991    0x3000,  // **##******** ****
992    0x3000   // **##******** ****
993   },
994   { // 0x71 = q
995    0x0000,  // ************ ****
996    0x0000,  // ************ ****
997    0x0000,  // ************ ****
998    0x1EC0,  // ***####*##** ****
999    0x31C0,  // **##***###** ****
1000    0x30C0,  // **##****##** ****
1001    0x31C0,  // **##***###** ****
1002    0x1EC0,  // ***####*##** ****
1003    0x00C0,  // ********##** ****
1004    0x01E0   // *******####* ****
1005   },
1006   { // 0x72 = r
1007    0x0000,  // ************ ****
1008    0x0000,  // ************ ****
1009    0x0000,  // ************ ****
1010    0x33E0,  // **##**#####* ****
1011    0x3C00,  // **####****** ****
1012    0x3000,  // **##******** ****
1013    0x3000,  // **##******** ****
1014    0x3000,  // **##******** ****
1015    0x0000,  // ************ ****
1016    0x0000   // ************ ****
1017   },
1018   { // 0x73 = s
1019    0x0000,  // ************ ****
1020    0x0000,  // ************ ****
1021    0x0000,  // ************ ****
1022    0x1FC0,  // ***#######** ****
1023    0x3000,  // **##******** ****
1024    0x1FC0,  // ***#######** ****
1025    0x0060,  // *********##* ****
1026    0x1FC0,  // ***#######** ****
1027    0x0000,  // ************ ****
1028    0x0000   // ************ ****
1029   },
1030   { // 0x74 = t
1031    0x0000,  // ************ ****
1032    0x0C00,  // ****##****** ****
1033    0x0C00,  // ****##****** ****
1034    0x3F80,  // **#######*** ****
1035    0x0C00,  // ****##****** ****
1036    0x0C00,  // ****##****** ****
1037    0x0C00,  // ****##****** ****
1038    0x07E0,  // *****######* ****
1039    0x0000,  // ************ ****
1040    0x0000   // ************ ****
1041   },
1042   { // 0x75 = u
1043    0x0000,  // ************ ****
1044    0x0000,  // ************ ****
1045    0x0000,  // ************ ****
1046    0x3060,  // **##*****##* ****
1047    0x3060,  // **##*****##* ****
1048    0x3060,  // **##*****##* ****
1049    0x30E0,  // **##****###* ****
1050    0x1F60,  // ***#####*##* ****
1051    0x0000,  // ************ ****
1052    0x0000   // ************ ****
1053   },
1054   { // 0x76 = v
1055    0x0000,  // ************ ****
1056    0x0000,  // ************ ****
1057    0x0000,  // ************ ****
1058    0x6060,  // *##******##* ****
1059    0x30C0,  // **##****##** ****
1060    0x1980,  // ***##**##*** ****
1061    0x0F00,  // ****####**** ****
1062    0x0600,  // *****##***** ****
1063    0x0000,  // ************ ****
1064    0x0000   // ************ ****
1065   },
1066   { // 0x77 = w
1067    0x0000,  // ************ ****
1068    0x0000,  // ************ ****
1069    0x0000,  // ************ ****
1070    0x6060,  // *##******##* ****
1071    0x6660,  // *##**##**##* ****
1072    0x6660,  // *##**##**##* ****
1073    0x36C0,  // **##*##*##** ****
1074    0x2980,  // ***##**##*** ****
1075    0x0000,  // ************ ****
1076    0x0000   // ************ ****
1077   },
1078   { // 0x78 = x
1079    0x0000,  // ************ ****
1080    0x0000,  // ************ ****
1081    0x0000,  // ************ ****
1082    0x70E0,  // *###****###* ****
1083    0x1980,  // ***##**##*** ****
1084    0x0F00,  // ****####**** ****
1085    0x1980,  // ***##**##*** ****
1086    0x70E0,  // *###****###* ****
1087    0x0000,  // ************ ****
1088    0x0000   // ************ ****
1089   },
1090   { // 0x79 = y
1091    0x0000,  // ************ ****
1092    0x0000,  // ************ ****
1093    0x0000,  // ************ ****
1094    0x3060,  // **##*****##* ****
1095    0x18C0,  // ***##***##** ****
1096    0x0D80,  // ****##*##*** ****
1097    0x0700,  // *****###**** ****
1098    0x0600,  // *****##***** ****
1099    0x0C00,  // ****##****** ****
1100    0x3800   // **###******* ****
1101   },
1102   { // 0x7A = z
1103    0x0000,  // ************ ****
1104    0x0000,  // ************ ****
1105    0x0000,  // ************ ****
1106    0x3FE0,  // **#########* ****
1107    0x0180,  // *******##*** ****
1108    0x0700,  // *****###**** ****
1109    0x0C00,  // ****##****** ****
1110    0x3FE0,  // **#########* ****
1111    0x0000,  // ************ ****
1112    0x0000   // ************ ****
1113   },
1114   { // 0x7B = Ã¤ = NC
1115    0x0000,  // ************ ****
1116    0x3180,  // **##***##*** ****
1117    0x0000,  // ************ ****
1118    0x7F80,  // *########*** ****
1119    0x00C0,  // ********##** ****
1120    0x3FC0,  // **########** ****
1121    0x60C0,  // *##*****##** ****
1122    0x3FE0,  // **#########* ****
1123    0x0000,  // ************ ****
1124    0x0000   // ************ ****
1125   },
1126   { // 0x7C = Ã¶ = NC
1127    0x0000,  // ************ ****
1128    0x18C0,  // ***##***##** ****
1129    0x0000,  // ************ ****
1130    0x1FC0,  // ***#######** ****
1131    0x3060,  // **##*****##* ****
1132    0x3060,  // **##*****##* ****
1133    0x3060,  // **##*****##* ****
1134    0x1FC0,  // ***#######** ****
1135    0x0000,  // ************ ****
1136    0x0000   // ************ ****
1137   },
1138   { // 0x7D = Ã¼ = NC
1139    0x0000,  // ************ ****
1140    0x10C0,  // ***##***##** ****
1141    0x0000,  // ************ ****
1142    0x3060,  // **##*****##* ****
1143    0x3060,  // **##*****##* ****
1144    0x3060,  // **##*****##* ****
1145    0x30E0,  // **##****###* ****
1146    0x1F60,  // ***#####*##* ****
1147    0x0000,  // ************ ****
1148    0x0000   // ************ ****
1149   },
1150   { // 0x7E = ÃŸ = NC
1151    0x0000,  // ************ ****
1152    0x0F80,  // ****#####*** ****
1153    0x18C0,  // ***##***##** ****
1154    0x30C0,  // **##****##** ****
1155    0x3380,  // **##**###*** ****
1156    0x3060,  // **##*****##* ****
1157    0x3060,  // **##*****##* ****
1158    0x33C0,  // **##**####** ****
1159    0x3000,  // **##******** ****
1160    0x3000   // **##******** ****
1161   },
1162   { // 0x7F = Block
1163    0x0000,  // ************ ****
1164    0x7FE0,  // *##########* ****
1165    0x7FE0,  // *##########* ****
1166    0x7FE0,  // *##########* ****
1167    0x7FE0,  // *##########* ****
1168    0x7FE0,  // *##########* ****
1169    0x7FE0,  // *##########* ****
1170    0x7FE0,  // *##########* ****
1171    0x0000,  // ************ ****
1172    0x0000   // ************ ****
1173   },
1174
1175   { // 0x80 = 
1176    0x0000,  // ************ ****
1177    0x1FC0,  // ***#######** ****
1178    0x3060,  // **##*****##* ****
1179    0x63E0,  // *##***#####* ****
1180    0x6660,  // *##**##**##* ****
1181    0x6660,  // *##**##**##* ****
1182    0x63E0,  // *##***#####* ****
1183    0x3000,  // **##******** ****
1184    0x1FC0,  // ***#######** ****
1185    0x0000   // ************ ****
1186   },
1187   { // 0x81 = 
1188    0x0000,  // ************ ****
1189    0x0000,  // ************ ****
1190    0x0000,  // ************ ****
1191    0x0000,  // ************ ****
1192    0xFFF0,  // ############ ****
1193    0x0000,  // ************ ****
1194    0x0000,  // ************ ****
1195    0x0000,  // ************ ****
1196    0x0000,  // ************ ****
1197    0x0000   // ************ ****
1198   },
1199   { // 0x82 = 
1200    0x0000,  // ************ ****
1201    0x3000,  // **##******** ****
1202    0x7000,  // *###******** ****
1203    0x3000,  // **##******** ****
1204    0x3000,  // **##******** ****
1205    0x3180,  // **##***##*** ****
1206    0x0300,  // ******##**** ****
1207    0x0660,  // *****##**##* ****
1208    0x07E0,  // *****######* ****
1209    0x0060   // *********##* ****
1210   },
1211   { // 0x83 = 
1212    0x0000,  // ************ ****
1213    0x0FC0,  // ****######** ****
1214    0x1860,  // ***##****##* ****
1215    0x0C00,  // ****##****** ****
1216    0x3F00,  // **######**** ****
1217    0x0C00,  // ****##****** ****
1218    0x3E60,  // **#####**##* ****
1219    0x33C0,  // **##**####** ****
1220    0x0000,  // ************ ****
1221    0x0000   // ************ ****
1222   },
1223   { // 0x84 = 
1224    0x0600,  // *****##***** ****
1225    0x3FC0,  // **########** ****
1226    0x6660,  // *##**##**##* ****
1227    0x6600,  // *##**##***** ****
1228    0x3FC0,  // **########** ****
1229    0x0660,  // *****##**##* ****
1230    0x6660,  // *##**##**##* ****
1231    0x3FC0,  // **########** ****
1232    0x0600,  // *****##***** ****
1233    0x0000   // ************ ****
1234   },
1235   { // 0x85 = 
1236    0x07F0,  // *****####### ****
1237    0x0C00,  // ****##****** ****
1238    0x19F0,  // ***##**##### ****
1239    0x1800,  // ***##******* ****
1240    0x19F0,  // ***##**##### ****
1241    0x1800,  // ***##******* ****
1242    0x19F0,  // ***##**##### ****
1243    0x0C00,  // ****##****** ****
1244    0x07F0,  // *****####### ****
1245    0x0000   // ************ ****
1246   },
1247   { // 0x86 = 
1248    0xFFC0,  // ##########** ****
1249    0x1C60,  // ***###***##* ****
1250    0x0830,  // ****#*****## ****
1251    0x7F30,  // *#######**## ****
1252    0x4130,  // *#*****#**## ****
1253    0x7F30,  // *#######**## ****
1254    0x0830,  // ****#*****## ****
1255    0x1C60,  // ***###***##* ****
1256    0xFFC0,  // ##########** ****
1257    0x0000   // ************ ****
1258   },
1259   { // 0x87 = 
1260    0xFFC0,  // ##########** ****
1261    0x0060,  // *********##* ****
1262    0x3E30,  // **#####***## ****
1263    0x6330,  // *##***##**## ****
1264    0x0E30,  // ****###***## ****
1265    0x1830,  // ***##*****## ****
1266    0x1830,  // ***##*****## ****
1267    0x0060,  // *********##* ****
1268    0xFFC0,  // ##########** ****
1269    0x0000   // ************ ****
1270   },
1271   { // 0x88 = 
1272    0x0000,  // ************ ****
1273    0x3980,  // ***##**##*** ****
1274    0x3980,  // ***##**##*** ****
1275    0x3980,  // ***##**##*** ****
1276    0x3980,  // ***##**##*** ****
1277    0x3980,  // ***##**##*** ****
1278    0x3980,  // ***##**##*** ****
1279    0x3980,  // ***##**##*** ****
1280    0x3980,  // ***##**##*** ****
1281    0x0000   // ************ ****
1282   },
1283   { // 0x89 = 
1284    0x0000,  // ************ ****
1285    0x7C00,  // *#####****** ****
1286    0x0C00,  // ****##****** ****
1287    0x3800,  // **###******* ****
1288    0x0C00,  // ****##****** ****
1289    0x7980,  // *####**##*** ****
1290    0x0300,  // ******##**** ****
1291    0x0660,  // *****##**##* ****
1292    0x07E0,  // *****######* ****
1293    0x0060   // *********##* ****
1294   },
1295   { // 0x8A = 
1296    0x0000,  // ************ ****
1297    0x0000,  // ************ ****
1298    0x0600,  // *****##***** ****
1299    0x0000,  // ************ ****
1300    0x3FC0,  // **########** ****
1301    0x0000,  // ************ ****
1302    0x0600,  // *****##***** ****
1303    0x0000,  // ************ ****
1304    0x0000,  // ************ ****
1305    0x0000   // ************ ****
1306   },
1307   { // 0x8B = 
1308    0x0000,  // ************ ****
1309    0x0000,  // ************ ****
1310    0x0600,  // *****##***** ****
1311    0x1C00,  // ***###****** ****
1312    0x7FF0,  // *########### ****
1313    0x1C00,  // ***###****** ****
1314    0x0600,  // *****##***** ****
1315    0x0000,  // ************ ****
1316    0x0000,  // ************ ****
1317    0x0000   // ************ ****
1318   },
1319   { // 0x8C = 
1320    0x0000,  // ************ ****
1321    0x3000,  // **##******** ****
1322    0x7000,  // *###******** ****
1323    0x3000,  // **##******** ****
1324    0x3000,  // **##******** ****
1325    0x33C0,  // **##**####** ****
1326    0x0660,  // *****##**##* ****
1327    0x00C0,  // ********##** ****
1328    0x0300,  // ******##**** ****
1329    0x07E0   // *****######* ****
1330   },
1331   { // 0x8D = 
1332    0x0000,  // ************ ****
1333    0x0000,  // ************ ****
1334    0x0600,  // *****##***** ****
1335    0x0380,  // ******###*** ****
1336    0xFFE0,  // ###########* ****
1337    0x0380,  // ******###*** ****
1338    0x0600,  // *****##***** ****
1339    0x0000,  // ************ ****
1340    0x0000,  // ************ ****
1341    0x0000   // ************ ****
1342   },
1343   { // 0x8E = 
1344    0x0000,  // ************ ****
1345    0x0600,  // *****##***** ****
1346    0x0F00,  // ****####**** ****
1347    0x1F80,  // ***######*** ****
1348    0x36C0,  // **##*##*##** ****
1349    0x0600,  // *****##***** ****
1350    0x0600,  // *****##***** ****
1351    0x0600,  // *****##***** ****
1352    0x0600,  // *****##***** ****
1353    0x0600   // *****##***** ****
1354   },
1355   { // 0x8F = 
1356    0x0000,  // ************ ****
1357    0x1980,  // ***##**##*** ****
1358    0x1980,  // ***##**##*** ****
1359    0x7FE0,  // *##########* ****
1360    0x1980,  // ***##**##*** ****
1361    0x1980,  // ***##**##*** ****
1362    0x7FE0,  // *##########* ****
1363    0x1980,  // ***##**##*** ****
1364    0x1980,  // ***##**##*** ****
1365    0x0000   // ************ ****
1366   },
1367
1368   { // 0x90 = 
1369    0x0300,  // ******##**** ****
1370    0x0600,  // *****##***** ****
1371    0x3FC0,  // **########** ****
1372    0x3000,  // **##******** ****
1373    0x3F80,  // **#######*** ****
1374    0x3000,  // **##******** ****
1375    0x3000,  // **##******** ****
1376    0x3FC0,  // **########** ****
1377    0x0000,  // ************ ****
1378    0x0000   // ************ ****
1379   },
1380   { // 0x91 = 
1381    0x0300,  // ******##**** ****
1382    0x0600,  // *****##***** ****
1383    0x0000,  // ************ ****
1384    0x1FC0,  // ***#######** ****
1385    0x3060,  // **##*****##* ****
1386    0x3FE0,  // **#########* ****
1387    0x3000,  // **##******** ****
1388    0x1FC0,  // ***#######** ****
1389    0x0000,  // ************ ****
1390    0x0000   // ************ ****
1391   },
1392   { // 0x92 = 
1393    0x0000,  // ************ ****
1394    0x3180,  // **##***##*** ****
1395    0x0000,  // ************ ****
1396    0x7F80,  // *########*** ****
1397    0x00C0,  // ********##** ****
1398    0x3FC0,  // **########** ****
1399    0x60C0,  // *##*****##** ****
1400    0x3FE0,  // **#########* ****
1401    0x0000,  // ************ ****
1402    0x0000   // ************ ****
1403   },
1404   { // 0x93 = 
1405    0x0000,  // ************ ****
1406    0x1980,  // ***##**##*** ****
1407    0x1980,  // ***##**##*** ****
1408    0x7FE0,  // *##########* ****
1409    0x1980,  // ***##**##*** ****
1410    0x1980,  // ***##**##*** ****
1411    0x7FE0,  // *##########* ****
1412    0x1980,  // ***##**##*** ****
1413    0x1980,  // ***##**##*** ****
1414    0x0000   // ************ ****
1415   },
1416   { // 0x94 = 
1417    0x0000,  // ************ ****
1418    0x6060,  // *##******##* ****
1419    0x30C0,  // **##****##** ****
1420    0x1F80,  // ***######*** ****
1421    0x30C0,  // **##****##** ****
1422    0x30C0,  // **##****##** ****
1423    0x1F80,  // ***######*** ****
1424    0x30C0,  // **##****##** ****
1425    0x6060,  // *##******##* ****
1426    0x0000   // ************ ****
1427   },
1428   { // 0x95 = 
1429    0xFFC0,  // ##########** ****
1430    0x0060,  // *********##* ****
1431    0xFF30,  // ########**## ****
1432    0x0030,  // **********## ****
1433    0xFF30,  // ########**## ****
1434    0x0030,  // **********## ****
1435    0xFF30,  // ########**## ****
1436    0x0060,  // *********##* ****
1437    0xFFC0,  // ##########** ****
1438    0x0000   // ************ ****
1439   },
1440   { // 0x96 = 
1441    0xFFC0,  // ##########** ****
1442    0x0060,  // *********##* ****
1443    0x3E30,  // **#####***## ****
1444    0x4730,  // *#***###**## ****
1445    0x4730,  // *#***###**## ****
1446    0x7F30,  // *#######**## ****
1447    0x3E30,  // **#####***## ****
1448    0x0060,  // *********##* ****
1449    0xFFC0,  // ##########** ****
1450    0x0000   // ************ ****
1451   },
1452   { // 0x97 = 
1453    0xFFC0,  // ##########** ****
1454    0x0860,  // ****#****##* ****
1455    0x1C30,  // ***###****## ****
1456    0x0030,  // **********## ****
1457    0x7F30,  // *#######**## ****
1458    0x0030,  // **********## ****
1459    0x1C30,  // ***###****## ****
1460    0x0860,  // ****#****##* ****
1461    0xFFC0,  // ##########** ****
1462    0x0000   // ************ ****
1463   },
1464   { // 0x98 = 
1465    0x0000,  // ************ ****
1466    0x18C0,  // ***##***##** ****
1467    0x0000,  // ************ ****
1468    0x1FC0,  // ***#######** ****
1469    0x3060,  // **##*****##* ****
1470    0x3060,  // **##*****##* ****
1471    0x3060,  // **##*****##* ****
1472    0x1FC0,  // ***#######** ****
1473    0x0000,  // ************ ****
1474    0x0000   // ************ ****
1475   },
1476   { // 0x99 = 
1477    0x0E00,  // ****###***** ****
1478    0x1B00,  // ***##*##**** ****
1479    0x0E00,  // ****###***** ****
1480    0x7F80,  // *########*** ****
1481    0x00C0,  // ********##** ****
1482    0x3FC0,  // **########** ****
1483    0x60C0,  // *##*****##** ****
1484    0x3FE0,  // **#########* ****
1485    0x0000,  // ************ ****
1486    0x0000   // ************ ****
1487   },
1488   { // 0x9A = 
1489    0x0000,  // ************ ****
1490    0x18C0,  // ***##***##** ****
1491    0x0000,  // ************ ****
1492    0x3060,  // **##*****##* ****
1493    0x3060,  // **##*****##* ****
1494    0x3060,  // **##*****##* ****
1495    0x30E0,  // **##****###* ****
1496    0x1F60,  // ***#####*##* ****
1497    0x0000,  // ************ ****
1498    0x0000   // ************ ****
1499   },
1500   { // 0x9B = 
1501    0x18C0,  // ***##***##** ****
1502    0x0000,  // ************ ****
1503    0x1FC0,  // ***#######** ****
1504    0x3060,  // **##*****##* ****
1505    0x3060,  // **##*****##* ****
1506    0x3FE0,  // **#########* ****
1507    0x3060,  // **##*****##* ****
1508    0x3060,  // **##*****##* ****
1509    0x0000,  // ************ ****
1510    0x0000   // ************ ****
1511   },
1512   { // 0x9C = 
1513    0x18C0,  // ***##***##** ****
1514    0x0000,  // ************ ****
1515    0x1FC0,  // ***#######** ****
1516    0x3060,  // **##*****##* ****
1517    0x3060,  // **##*****##* ****
1518    0x3060,  // **##*****##* ****
1519    0x3060,  // **##*****##* ****
1520    0x1FC0,  // ***#######** ****
1521    0x0000,  // ************ ****
1522    0x0000   // ************ ****
1523   },
1524   { // 0x9D = 
1525    0x0700,  // *****###**** ****
1526    0x0700,  // *****###**** ****
1527    0x1FC0,  // ***#######** ****
1528    0x3060,  // **##*****##* ****
1529    0x3060,  // **##*****##* ****
1530    0x3FE0,  // **#########* ****
1531    0x3060,  // **##*****##* ****
1532    0x3060,  // **##*****##* ****
1533    0x0000,  // ************ ****
1534    0x0000   // ************ ****
1535   },
1536   { // 0x9E = 
1537    0x18C0,  // ***##***##** ****
1538    0x0000,  // ************ ****
1539    0x3060,  // **##*****##* ****
1540    0x3060,  // **##*****##* ****
1541    0x3060,  // **##*****##* ****
1542    0x3060,  // **##*****##* ****
1543    0x3060,  // **##*****##* ****
1544    0x1FC0,  // ***#######** ****
1545    0x0000,  // ************ ****
1546    0x0000   // ************ ****
1547   },
1548   { // 0x9F = _
1549    0x0000,  // ************ ****
1550    0x0000,  // ************ ****
1551    0x0000,  // ************ ****
1552    0x0000,  // ************ ****
1553    0x0000,  // ************ ****
1554    0x0000,  // ************ ****
1555    0x0000,  // ************ ****
1556    0x0000,  // ************ ****
1557    0x0000,  // ************ ****
1558    0x7FE0   // *##########* ****
1559   },
1560
1561
1562   { // 0xA0 = 0x20a
1563    0x0000,  // ************ ****
1564    0x0000,  // ************ ****
1565    0x0000,  // ************ ****
1566    0x0000,  // ************ ****
1567    0x0000,  // ************ ****
1568    0x0000,  // ************ ****
1569    0x0000,  // ************ ****
1570    0x0000,  // ************ ****
1571    0x0000,  // ************ ****
1572    0x0000   // ************ ****
1573   },
1574   { // 0xA1 = 0x21a 
1575    0xFC00,  // ######****** ****
1576    0xFC00,  // ######****** ****
1577    0xFC00,  // ######****** ****
1578    0x0000,  // ************ ****
1579    0x0000,  // ************ ****
1580    0x0000,  // ************ ****
1581    0x0000,  // ************ ****
1582    0x0000,  // ************ ****
1583    0x0000,  // ************ ****
1584    0x0000   // ************ ****
1585   },
1586   { // 0xA2 = 0x22a
1587    0x03F0,  // ******###### ****
1588    0x03F0,  // ******###### ****
1589    0x03F0,  // ******###### ****
1590    0x0000,  // ************ ****
1591    0x0000,  // ************ ****
1592    0x0000,  // ************ ****
1593    0x0000,  // ************ ****
1594    0x0000,  // ************ ****
1595    0x0000,  // ************ ****
1596    0x0000   // ************ ****
1597   },
1598   { // 0xA3 = 0x23a 
1599    0xFFF0,  // ############ ****
1600    0xFFF0,  // ############ ****
1601    0xFFF0,  // ############ ****
1602    0x0000,  // ************ ****
1603    0x0000,  // ************ ****
1604    0x0000,  // ************ ****
1605    0x0000,  // ************ ****
1606    0x0000,  // ************ ****
1607    0x0000,  // ************ ****
1608    0x0000   // ************ ****
1609   },
1610   { // 0xA4 = 0x24a 
1611    0x0000,  // ************ ****
1612    0x0000,  // ************ ****
1613    0x0000,  // ************ ****
1614    0xFC00,  // ######****** ****
1615    0xFC00,  // ######****** ****
1616    0xFC00,  // ######****** ****
1617    0xFC00,  // ######****** ****
1618    0x0000,  // ************ ****
1619    0x0000,  // ************ ****
1620    0x0000   // ************ ****
1621   },
1622   { // 0xA5 = 0x25a 
1623    0xFC00,  // ######****** ****
1624    0xFC00,  // ######****** ****
1625    0xFC00,  // ######****** ****
1626    0xFC00,  // ######****** ****
1627    0xFC00,  // ######****** ****
1628    0xFC00,  // ######****** ****
1629    0xFC00,  // ######****** ****
1630    0x0000,  // ************ ****
1631    0x0000,  // ************ ****
1632    0x0000   // ************ ****
1633   },
1634   { // 0xA6 = 0x26a
1635    0x03F0,  // ******###### ****
1636    0x03F0,  // ******###### ****
1637    0x03F0,  // ******###### ****
1638    0xFC00,  // ######****** ****
1639    0xFC00,  // ######****** ****
1640    0xFC00,  // ######****** ****
1641    0xFC00,  // ######****** ****
1642    0x0000,  // ************ ****
1643    0x0000,  // ************ ****
1644    0x0000   // ************ ****
1645   },
1646   { // 0xA7 = 0x27a
1647    0xFFF0,  // ############ ****
1648    0xFFF0,  // ############ ****
1649    0xFFF0,  // ############ ****
1650    0xFC00,  // ######****** ****
1651    0xFC00,  // ######****** ****
1652    0xFC00,  // ######****** ****
1653    0xFC00,  // ######****** ****
1654    0x0000,  // ************ ****
1655    0x0000,  // ************ ****
1656    0x0000   // ************ ****
1657   },
1658   { // 0xA8 = 0x28a
1659    0x0000,  // ************ ****
1660    0x0000,  // ************ ****
1661    0x0000,  // ************ ****
1662    0x03F0,  // ******###### ****
1663    0x03F0,  // ******###### ****
1664    0x03F0,  // ******###### ****
1665    0x03F0,  // ******###### ****
1666    0x0000,  // ************ ****
1667    0x0000,  // ************ ****
1668    0x0000   // ************ ****
1669   },
1670   { // 0xA9 = 0x29a
1671    0xFC00,  // ######****** ****
1672    0xFC00,  // ######****** ****
1673    0xFC00,  // ######****** ****
1674    0x03F0,  // ******###### ****
1675    0x03F0,  // ******###### ****
1676    0x03F0,  // ******###### ****
1677    0x03F0,  // ******###### ****
1678    0x0000,  // ************ ****
1679    0x0000,  // ************ ****
1680    0x0000   // ************ ****
1681   },
1682   { // 0xAA = 0x2Aa 
1683    0x03F0,  // ******###### ****
1684    0x03F0,  // ******###### ****
1685    0x03F0,  // ******###### ****
1686    0x03F0,  // ******###### ****
1687    0x03F0,  // ******###### ****
1688    0x03F0,  // ******###### ****
1689    0x03F0,  // ******###### ****
1690    0x0000,  // ************ ****
1691    0x0000,  // ************ ****
1692    0x0000   // ************ ****
1693   },
1694   { // 0xAB = 0x2Ba
1695    0xFFF0,  // ############ ****
1696    0xFFF0,  // ############ ****
1697    0xFFF0,  // ############ ****
1698    0x03F0,  // ******###### ****
1699    0x03F0,  // ******###### ****
1700    0x03F0,  // ******###### ****
1701    0x03F0,  // ******###### ****
1702    0x0000,  // ************ ****
1703    0x0000,  // ************ ****
1704    0x0000   // ************ ****
1705   },
1706   { // 0xAC = 0x2Ca
1707    0x0000,  // ************ ****
1708    0x0000,  // ************ ****
1709    0x0000,  // ************ ****
1710    0xFFF0,  // ############ ****
1711    0xFFF0,  // ############ ****
1712    0xFFF0,  // ############ ****
1713    0xFFF0,  // ############ ****
1714    0x0000,  // ************ ****
1715    0x0000,  // ************ ****
1716    0x0000   // ************ ****
1717   },
1718   { // 0xAD = 0x2Da
1719    0xFC00,  // ######****** ****
1720    0xFC00,  // ######****** ****
1721    0xFC00,  // ######****** ****
1722    0xFFF0,  // ############ ****
1723    0xFFF0,  // ############ ****
1724    0xFFF0,  // ############ ****
1725    0xFFF0,  // ############ ****
1726    0x0000,  // ************ ****
1727    0x0000,  // ************ ****
1728    0x0000   // ************ ****
1729   },
1730   { // 0xAE = 0x2Ea 
1731    0x03F0,  // ******###### ****
1732    0x03F0,  // ******###### ****
1733    0x03F0,  // ******###### ****
1734    0xFFF0,  // ############ ****
1735    0xFFF0,  // ############ ****
1736    0xFFF0,  // ############ ****
1737    0xFFF0,  // ############ ****
1738    0x0000,  // ************ ****
1739    0x0000,  // ************ ****
1740    0x0000   // ************ ****
1741   },
1742   { // 0xAF = 0x2Fa 
1743    0xFFF0,  // ############ ****
1744    0xFFF0,  // ############ ****
1745    0xFFF0,  // ############ ****
1746    0xFFF0,  // ############ ****
1747    0xFFF0,  // ############ ****
1748    0xFFF0,  // ############ ****
1749    0xFFF0,  // ############ ****
1750    0x0000,  // ************ ****
1751    0x0000,  // ************ ****
1752    0x0000   // ************ ****
1753   },
1754
1755   { // 0xB0 = 0x30a
1756    0x0000,  // ************ ****
1757    0x0000,  // ************ ****
1758    0x0000,  // ************ ****
1759    0x0000,  // ************ ****
1760    0x0000,  // ************ ****
1761    0x0000,  // ************ ****
1762    0x0000,  // ************ ****
1763    0xFC00,  // ######****** ****
1764    0xFC00,  // ######****** ****
1765    0xFC00   // ######****** ****
1766   },
1767   { // 0xB1 = 0x31a
1768    0xFC00,  // ######****** ****
1769    0xFC00,  // ######****** ****
1770    0xFC00,  // ######****** ****
1771    0x0000,  // ************ ****
1772    0x0000,  // ************ ****
1773    0x0000,  // ************ ****
1774    0x0000,  // ************ ****
1775    0xFC00,  // ######****** ****
1776    0xFC00,  // ######****** ****
1777    0xFC00   // ######****** ****
1778   },
1779   { // 0xB2 = 0x32a 
1780    0x03F0,  // ******###### ****
1781    0x03F0,  // ******###### ****
1782    0x03F0,  // ******###### ****
1783    0x0000,  // ************ ****
1784    0x0000,  // ************ ****
1785    0x0000,  // ************ ****
1786    0x0000,  // ************ ****
1787    0xFC00,  // ######****** ****
1788    0xFC00,  // ######****** ****
1789    0xFC00   // ######****** ****
1790   },
1791   { // 0xB3 = 0x33a 
1792    0xFFF0,  // ############ ****
1793    0xFFF0,  // ############ ****
1794    0xFFF0,  // ############ ****
1795    0x0000,  // ************ ****
1796    0x0000,  // ************ ****
1797    0x0000,  // ************ ****
1798    0x0000,  // ************ ****
1799    0xFC00,  // ######****** ****
1800    0xFC00,  // ######****** ****
1801    0xFC00   // ######****** ****
1802   },
1803   { // 0xB4 = 0x34a 
1804    0x0000,  // ************ ****
1805    0x0000,  // ************ ****
1806    0x0000,  // ************ ****
1807    0xFC00,  // ######****** ****
1808    0xFC00,  // ######****** ****
1809    0xFC00,  // ######****** ****
1810    0xFC00,  // ######****** ****
1811    0xFC00,  // ######****** ****
1812    0xFC00,  // ######****** ****
1813    0xFC00   // ######****** ****
1814   },
1815   { // 0xB5 = 0x35a
1816    0xFC00,  // ######****** ****
1817    0xFC00,  // ######****** ****
1818    0xFC00,  // ######****** ****
1819    0xFC00,  // ######****** ****
1820    0xFC00,  // ######****** ****
1821    0xFC00,  // ######****** ****
1822    0xFC00,  // ######****** ****
1823    0xFC00,  // ######****** ****
1824    0xFC00,  // ######****** ****
1825    0xFC00   // ######****** ****
1826   },
1827   { // 0xB6 = 0x36a 
1828    0x03F0,  // ******###### ****
1829    0x03F0,  // ******###### ****
1830    0x03F0,  // ******###### ****
1831    0xFC00,  // ######****** ****
1832    0xFC00,  // ######****** ****
1833    0xFC00,  // ######****** ****
1834    0xFC00,  // ######****** ****
1835    0xFC00,  // ######****** ****
1836    0xFC00,  // ######****** ****
1837    0xFC00   // ######****** ****
1838   },
1839   { // 0xB7 = 0x37a 
1840    0xFFF0,  // ############ ****
1841    0xFFF0,  // ############ ****
1842    0xFFF0,  // ############ ****
1843    0xFC00,  // ######****** ****
1844    0xFC00,  // ######****** ****
1845    0xFC00,  // ######****** ****
1846    0xFC00,  // ######****** ****
1847    0xFC00,  // ######****** ****
1848    0xFC00,  // ######****** ****
1849    0xFC00   // ######****** ****
1850   },
1851   { // 0xB8 = 0x38a 
1852    0x0000,  // ************ ****
1853    0x0000,  // ************ ****
1854    0x0000,  // ************ ****
1855    0x03F0,  // ******###### ****
1856    0x03F0,  // ******###### ****
1857    0x03F0,  // ******###### ****
1858    0x03F0,  // ******###### ****
1859    0xFC00,  // ######****** ****
1860    0xFC00,  // ######****** ****
1861    0xFC00   // ######****** ****
1862   },
1863   { // 0xB9 = 0x39a 
1864    0xFC00,  // ######****** ****
1865    0xFC00,  // ######****** ****
1866    0xFC00,  // ######****** ****
1867    0x03F0,  // ******###### ****
1868    0x03F0,  // ******###### ****
1869    0x03F0,  // ******###### ****
1870    0x03F0,  // ******###### ****
1871    0xFC00,  // ######****** ****
1872    0xFC00,  // ######****** ****
1873    0xFC00   // ######****** ****
1874   },
1875   { // 0xBA = 0x3Aa 
1876    0x03F0,  // ******###### ****
1877    0x03F0,  // ******###### ****
1878    0x03F0,  // ******###### ****
1879    0x03F0,  // ******###### ****
1880    0x03F0,  // ******###### ****
1881    0x03F0,  // ******###### ****
1882    0x03F0,  // ******###### ****
1883    0xFC00,  // ######****** ****
1884    0xFC00,  // ######****** ****
1885    0xFC00   // ######****** ****
1886   },
1887   { // 0xBB = 0x3Ba 
1888    0xFFF0,  // ############ ****
1889    0xFFF0,  // ############ ****
1890    0xFFF0,  // ############ ****
1891    0x03F0,  // ******###### ****
1892    0x03F0,  // ******###### ****
1893    0x03F0,  // ******###### ****
1894    0x03F0,  // ******###### ****
1895    0xFC00,  // ######****** ****
1896    0xFC00,  // ######****** ****
1897    0xFC00   // ######****** ****
1898   },
1899   { // 0xBC = 0x3Ca 
1900    0x0000,  // ************ ****
1901    0x0000,  // ************ ****
1902    0x0000,  // ************ ****
1903    0xFFF0,  // ############ ****
1904    0xFFF0,  // ############ ****
1905    0xFFF0,  // ############ ****
1906    0xFFF0,  // ############ ****
1907    0xFC00,  // ######****** ****
1908    0xFC00,  // ######****** ****
1909    0xFC00   // ######****** ****
1910   },
1911   { // 0xBD = 0x3Da 
1912    0xFC00,  // ######****** ****
1913    0xFC00,  // ######****** ****
1914    0xFC00,  // ######****** ****
1915    0xFFF0,  // ############ ****
1916    0xFFF0,  // ############ ****
1917    0xFFF0,  // ############ ****
1918    0xFFF0,  // ############ ****
1919    0xFC00,  // ######****** ****
1920    0xFC00,  // ######****** ****
1921    0xFC00   // ######****** ****
1922   },
1923   { // 0xBE = 0x3Ea 
1924    0x03F0,  // ******###### ****
1925    0x03F0,  // ******###### ****
1926    0x03F0,  // ******###### ****
1927    0xFFF0,  // ############ ****
1928    0xFFF0,  // ############ ****
1929    0xFFF0,  // ############ ****
1930    0xFFF0,  // ############ ****
1931    0xFC00,  // ######****** ****
1932    0xFC00,  // ######****** ****
1933    0xFC00   // ######****** ****
1934   },
1935   { // 0xBF = 0x3Fa 
1936    0xFFFF,  // ############ ****
1937    0xFFFF,  // ############ ****
1938    0xFFFF,  // ############ ****
1939    0xFFFF,  // ############ ****
1940    0xFFFF,  // ############ ****
1941    0xFFF0,  // ############ ****
1942    0xFFF0,  // ############ ****
1943    0xFC00,  // ######****** ****
1944    0xFC00,  // ######****** ****
1945    0xFC00   // ######****** ****
1946   },
1947
1948   { // 0xC0 = 
1949    0x0600,  // *****##***** ****
1950    0x0C00,  // ****##****** ****
1951    0x0000,  // ************ ****
1952    0x3FC0,  // **########** ****
1953    0x6060,  // *##******##* ****
1954    0x7FE0,  // *##########* ****
1955    0x6000,  // *##********* ****
1956    0x3FC0,  // **########** ****
1957    0x0000,  // ************ ****
1958    0x0000   // ************ ****
1959   },
1960   { // 0xC1 = 
1961    0x0600,  // *****##***** ****
1962    0x0300,  // ******##**** ****
1963    0x0000,  // ************ ****
1964    0x3060,  // **##*****##* ****
1965    0x3060,  // **##*****##* ****
1966    0x3060,  // **##*****##* ****
1967    0x3060,  // **##*****##* ****
1968    0x30E0,  // **##****###* ****
1969    0x1F60,  // ***#####*##* ****
1970    0x0000   // ************ ****
1971   },
1972   { // 0xC2 = 
1973    0x0C00,  // ****##****** ****
1974    0x0600,  // *****##***** ****
1975    0x0000,  // ************ ****
1976    0x7F80,  // *########*** ****
1977    0x00C0,  // ********##** ****
1978    0x3FC0,  // **########** ****
1979    0x60C0,  // *##*****##** ****
1980    0x3FE0,  // **#########* ****
1981    0x0000,  // ************ ****
1982    0x0000   // ************ ****
1983   },
1984   { // 0xC3 = 
1985    0x0000,  // ************ ****
1986    0x0FC0,  // ****######** ****
1987    0x1860,  // ***##****##* ****
1988    0x0C00,  // ****##****** ****
1989    0x3F00,  // **######**** ****
1990    0x0C00,  // ****##****** ****
1991    0x3E60,  // **#####**##* ****
1992    0x33C0,  // **##**####** ****
1993    0x0000,  // ************ ****
1994    0x0000   // ************ ****
1995   },
1996   { // 0xC4 = 
1997    0x0600,  // *****##***** ****
1998    0x3FC0,  // **########** ****
1999    0x6660,  // *##**##**##* ****
2000    0x6600,  // *##**##***** ****
2001    0x3FC0,  // **########** ****
2002    0x0660,  // *****##**##* ****
2003    0x6660,  // *##**##**##* ****
2004    0x3F60,  // **########** ****
2005    0x06C0,  // *****##***** ****
2006    0x0000   // ************ ****
2007   },
2008   { // 0xC5 = 
2009    0x3CC0,  // **####**##** ****
2010    0x6780,  // *##**####*** ****
2011    0x0000,  // ************ ****
2012    0x7F80,  // *########*** ****
2013    0x00C0,  // ********##** ****
2014    0x3FC0,  // **########** ****
2015    0x60C0,  // *##*****##** ****
2016    0x3FE0,  // **#########* ****
2017    0x0000,  // ************ ****
2018    0x0000   // ************ ****
2019   },
2020   { // 0xC6 = 
2021    0x3C60,  // **####***##* ****
2022    0x67C0,  // *##**#####** ****
2023    0x0000,  // ************ ****
2024    0x3FC0,  // **########** ****
2025    0x6060,  // *##******##* ****
2026    0x6060,  // *##******##* ****
2027    0x6060,  // *##******##* ****
2028    0x3FC0,  // **########** ****
2029    0x0000,  // ************ ****
2030    0x0000   // ************ ****
2031   },
2032   { // 0xC7 = 
2033    0x0000,  // ************ ****
2034    0x0000,  // ************ ****
2035    0x0000,  // ************ ****
2036    0x0600,  // *****##***** ****
2037    0x0600,  // *****##***** ****
2038    0x0000,  // ************ ****
2039    0x0000,  // ************ ****
2040    0x0000,  // ************ ****
2041    0x0000,  // ************ ****
2042    0x0000   // ************ ****
2043   },
2044   { // 0xC8 = 
2045    0x0600,  // *****##***** ****
2046    0x0300,  // ******##**** ****
2047    0x0000,  // ************ ****
2048    0x1FC0,  // ***#######** ****
2049    0x3060,  // **##*****##* ****
2050    0x3060,  // **##*****##* ****
2051    0x3060,  // **##*****##* ****
2052    0x1FC0,  // ***#######** ****
2053    0x0000,  // ************ ****
2054    0x0000   // ************ ****
2055   },
2056   { // 0xC9 = 
2057    0x0600,  // *****##***** ****
2058    0x0300,  // ******##**** ****
2059    0x0000,  // ************ ****
2060    0x1FC0,  // ***#######** ****
2061    0x3060,  // **##*****##* ****
2062    0x3FE0,  // **#########* ****
2063    0x3000,  // **##******** ****
2064    0x1FC0,  // ***#######** ****
2065    0x0000,  // ************ ****
2066    0x0000   // ************ ****
2067   },
2068   { // 0xCA = 
2069    0x0C00,  // ****##****** ****
2070    0x0600,  // *****##***** ****
2071    0x0000,  // ************ ****
2072    0x0E00,  // ****###***** ****
2073    0x0600,  // *****##***** ****
2074    0x0600,  // *****##***** ****
2075    0x0600,  // *****##***** ****
2076    0x1F80,  // ***######*** ****
2077    0x0000,  // ************ ****
2078    0x0000   // ************ ****
2079   },
2080   { // 0xCB = 
2081    0x0000,  // ************ ****
2082    0x0780,  // *****####*** ****
2083    0x0CC0,  // ****##**##** ****
2084    0x0780,  // *****####*** ****
2085    0x0000,  // ************ ****
2086    0x0000,  // ************ ****
2087    0x0000,  // ************ ****
2088    0x0000,  // ************ ****
2089    0x0000,  // ************ ****
2090    0x0000   // ************ ****
2091   },
2092   { // 0xCC = 
2093    0x0000,  // ************ ****
2094    0x0000,  // ************ ****
2095    0x0000,  // ************ ****
2096    0x0FE0,  // ****#######* ****
2097    0x1800,  // ***##******* ****
2098    0x3000,  // **##******** ****
2099    0x1800,  // ***##******* ****
2100    0x0FE0,  // ****#######* ****
2101    0x0300,  // ******##**** ****
2102    0x0E00   // ****###***** ****
2103   },
2104   { // 0xCD = 
2105    0x0000,  // ************ ****
2106    0x0000,  // ************ ****
2107    0x0600,  // *****##***** ****
2108    0x0310,  // ******###*** ****
2109    0xFFE0,  // ###########* ****
2110    0x0310,  // ******###*** ****
2111    0x0600,  // *****##***** ****
2112    0x0000,  // ************ ****
2113    0x0000,  // ************ ****
2114    0x0000   // ************ ****
2115   },
2116   { // 0xCE = 
2117    0x0000,  // ************ ****
2118    0x0600,  // *****##***** ****
2119    0x0F00,  // ****####**** ****
2120    0x1F80,  // ***######*** ****
2121    0x36C0,  // **##*##*##** ****
2122    0x0600,  // *****##***** ****
2123    0x0600,  // *****##***** ****
2124    0x0600,  // *****##***** ****
2125    0x0600,  // *****##***** ****
2126    0x0600   // *****##***** ****
2127   },
2128   { // 0xCF = 
2129    0x0000,  // ************ ****
2130    0x1980,  // ***##**##*** ****
2131    0x1980,  // ***##**##*** ****
2132    0x7FE0,  // *##########* ****
2133    0x1980,  // ***##**##*** ****
2134    0x1980,  // ***##**##*** ****
2135    0x7FE0,  // *##########* ****
2136    0x1980,  // ***##**##*** ****
2137    0x1980,  // ***##**##*** ****
2138    0x0000   // ************ ****
2139   },
2140
2141   { // 0xD0 = 
2142    0x0C00,  // ****##****** ****
2143    0x0600,  // *****##***** ****
2144    0x0000,  // ************ ****
2145    0x7F80,  // *########*** ****
2146    0x00C0,  // ********##** ****
2147    0x3FC0,  // **########** ****
2148    0x60C0,  // *##*****##** ****
2149    0x3FE0,  // **#########* ****
2150    0x0000,  // ************ ****
2151    0x0000   // ************ ****
2152   },
2153   { // 0xD1 = 
2154    0x0600,  // *****##***** ****
2155    0x0300,  // ******##**** ****
2156    0x0000,  // ************ ****
2157    0x1FC0,  // ***#######** ****
2158    0x3060,  // **##*****##* ****
2159    0x3FE0,  // **#########* ****
2160    0x3000,  // **##******** ****
2161    0x1FC0,  // ***#######** ****
2162    0x0000,  // ************ ****
2163    0x0000   // ************ ****
2164   },
2165   { // 0xD2 = 
2166    0x0E00,  // ****###***** ****
2167    0x1B00,  // ***##*##**** ****
2168    0x0000,  // ************ ****
2169    0x7F80,  // *########*** ****
2170    0x00C0,  // ********##** ****
2171    0x3FC0,  // **########** ****
2172    0x60C0,  // *##*****##** ****
2173    0x3FE0,  // **#########* ****
2174    0x0000,  // ************ ****
2175    0x0000   // ************ ****
2176   },
2177   { // 0xD3 = 
2178    0x0300,  // ******##**** ****
2179    0x0600,  // *****##***** ****
2180    0x0000,  // ************ ****
2181    0x1FC0,  // ***#######** ****
2182    0x3060,  // **##*****##* ****
2183    0x3FE0,  // **#########* ****
2184    0x3000,  // **##******** ****
2185    0x1FC0,  // ***#######** ****
2186    0x0000,  // ************ ****
2187    0x0000   // ************ ****
2188   },
2189   { // 0xD4 = 
2190    0x0000,  // ************ ****
2191    0x1980,  // ***##**##*** ****
2192    0x0000,  // ************ ****
2193    0x0E00,  // ****###***** ****
2194    0x0600,  // *****##***** ****
2195    0x0600,  // *****##***** ****
2196    0x0600,  // *****##***** ****
2197    0x1F80,  // ***######*** ****
2198    0x0000,  // ************ ****
2199    0x0000   // ************ ****
2200   },
2201   { // 0xD5 = 
2202    0x1E60,  // ***####**##* ****
2203    0x33C0,  // **##**####** ****
2204    0x1F80,  // ***######*** ****
2205    0x30C0,  // **##****##** ****
2206    0x6060,  // *##******##* ****
2207    0x7FE0,  // *##########* ****
2208    0x6060,  // *##******##* ****
2209    0x6060,  // *##******##* ****
2210    0x0000,  // ************ ****
2211    0x0000   // ************ ****
2212   },
2213   { // 0xD6 = 
2214    0x1E60,  // ***####**##* ****
2215    0x33C0,  // **##**####** ****
2216    0x1FC0,  // ***#######** ****
2217    0x3060,  // **##*****##* ****
2218    0x3060,  // **##*****##* ****
2219    0x3060,  // **##*****##* ****
2220    0x3060,  // **##*****##* ****
2221    0x1FC0,  // ***#######** ****
2222    0x0000,  // ************ ****
2223    0x0000   // ************ ****
2224   },
2225   { // 0xD7 = 
2226    0x0000,  // ************ ****
2227    0x0FC0,  // ****######** ****
2228    0x1860,  // ***##****##* ****
2229    0x3000,  // **##******** ****
2230    0x3000,  // **##******** ****
2231    0x3000,  // **##******** ****
2232    0x1860,  // ***##****##* ****
2233    0x0FC0,  // ****######** ****
2234    0x0300,  // ******##**** ****
2235    0x0E00   // ****###***** ****
2236   },
2237   { // 0xD8 = 
2238    0x0700,  // *****###**** ****
2239    0x0D80,  // ****##*##*** ****
2240    0x0000,  // ************ ****
2241    0x1FC0,  // ***#######** ****
2242    0x3060,  // **##*****##* ****
2243    0x3060,  // **##*****##* ****
2244    0x3060,  // **##*****##* ****
2245    0x1FC0,  // ***#######** ****
2246    0x0000,  // ************ ****
2247    0x0000   // ************ ****
2248   },
2249   { // 0xD9 = 
2250    0x0700,  // *****###**** ****
2251    0x0D80,  // ****##*##*** ****
2252    0x0000,  // ************ ****
2253    0x3060,  // **##*****##* ****
2254    0x3060,  // **##*****##* ****
2255    0x3060,  // **##*****##* ****
2256    0x30E0,  // **##****###* ****
2257    0x1F60,  // ***#####*##* ****
2258    0x0000,  // ************ ****
2259    0x0000   // ************ ****
2260   },
2261   { // 0xDA = 
2262    0x0000,  // ************ ****
2263    0x0000,  // ************ ****
2264    0x0000,  // ************ ****
2265    0x0FE0,  // ****#######* ****
2266    0x1800,  // ***##******* ****
2267    0x3000,  // **##******** ****
2268    0x1800,  // ***##******* ****
2269    0x0FE0,  // ****#######* ****
2270    0x0300,  // ******##**** ****
2271    0x0E00   // ****###***** ****
2272   },
2273   { // 0xDB = 
2274    0x0000,  // ************ ****
2275    0x18C0,  // ***##***##** ****
2276    0x0000,  // ************ ****
2277    0x1FC0,  // ***#######** ****
2278    0x3060,  // **##*****##* ****
2279    0x3FE0,  // **#########* ****
2280    0x3000,  // **##******** ****
2281    0x1FC0,  // ***#######** ****
2282    0x0000,  // ************ ****
2283    0x0000   // ************ ****
2284   },
2285   { // 0xDC = 
2286    0x0700,  // *****###**** ****
2287    0x0D80,  // ****##*##*** ****
2288    0x0000,  // ************ ****
2289    0x1FC0,  // ***#######** ****
2290    0x3060,  // **##*****##* ****
2291    0x3FE0,  // **#########* ****
2292    0x3000,  // **##******** ****
2293    0x1FC0,  // ***#######** ****
2294    0x0000,  // ************ ****
2295    0x0000   // ************ ****
2296   },
2297   { // 0xDD = 
2298    0x0600,  // *****##***** ****
2299    0x0300,  // ******##**** ****
2300    0x0000,  // ************ ****
2301    0x3060,  // **##*****##* ****
2302    0x3060,  // **##*****##* ****
2303    0x3060,  // **##*****##* ****
2304    0x30E0,  // **##****###* ****
2305    0x1F60,  // ***#####*##* ****
2306    0x0000,  // ************ ****
2307    0x0000   // ************ ****
2308   },
2309   { // 0xDE = 
2310    0x0F00,  // ****####**** ****
2311    0x1980,  // ***##**##*** ****
2312    0x0000,  // ************ ****
2313    0x0E00,  // ****###***** ****
2314    0x0600,  // *****##***** ****
2315    0x0600,  // *****##***** ****
2316    0x0600,  // *****##***** ****
2317    0x1F80,  // ***######*** ****
2318    0x0000,  // ************ ****
2319    0x0000   // ************ ****
2320   },
2321   { // 0xDF = 
2322    0x0000,  // ************ ****
2323    0x1980,  // ***##**##*** ****
2324    0x1980,  // ***##**##*** ****
2325    0x7FE0,  // *##########* ****
2326    0x1980,  // ***##**##*** ****
2327    0x1980,  // ***##**##*** ****
2328    0x7FE0,  // *##########* ****
2329    0x1980,  // ***##**##*** ****
2330    0x1980,  // ***##**##*** ****
2331    0x0000   // ************ ****
2332   },
2333
2334   { // 0xE0 = 
2335    0x0000,  // ************ ****
2336    0x0600,  // *****##***** ****
2337    0x0000,  // ************ ****
2338    0x0600,  // *****##***** ****
2339    0x0600,  // *****##***** ****
2340    0x0600,  // *****##***** ****
2341    0x0600,  // *****##***** ****
2342    0x0600,  // *****##***** ****
2343    0x0000,  // ************ ****
2344    0x0000   // ************ ****
2345   },
2346   { // 0xE1 = 
2347    0x0000,  // ************ ****
2348    0x0600,  // *****##***** ****
2349    0x0000,  // ************ ****
2350    0x0600,  // *****##***** ****
2351    0x1800,  // ***##******* ****
2352    0x30C0,  // **##****##** ****
2353    0x30C0,  // **##****##** ****
2354    0x1F00,  // ***######*** ****
2355    0x0000,  // ************ ****
2356    0x0000   // ************ ****
2357   },
2358   { // 0xE2 = 
2359    0x0000,  // ************ ****
2360    0x18C0,  // ***##***##** ****
2361    0x0000,  // ************ ****
2362    0x3060,  // **##*****##* ****
2363    0x3060,  // **##*****##* ****
2364    0x3060,  // **##*****##* ****
2365    0x30E0,  // **##****###* ****
2366    0x1F60,  // ***#####*##* ****
2367    0x0000,  // ************ ****
2368    0x0000   // ************ ****
2369   },
2370   { // 0xE3 = 
2371    0x0000,  // ************ ****
2372    0x0000,  // ************ ****
2373    0x0000,  // ************ ****
2374    0x0FE0,  // ****#######* ****
2375    0x1800,  // ***##******* ****
2376    0x3000,  // **##******** ****
2377    0x1800,  // ***##******* ****
2378    0x0FE0,  // ****#######* ****
2379    0x0300,  // ******##**** ****
2380    0x0E00   // ****###***** ****
2381   },
2382   { // 0xE4 = 
2383    0x0600,  // *****##***** ****
2384    0x3FC0,  // **########** ****
2385    0x6660,  // *##**##**##* ****
2386    0x6600,  // *##**##***** ****
2387    0x3FC0,  // **########** ****
2388    0x0660,  // *****##**##* ****
2389    0x6660,  // *##**##**##* ****
2390    0x3FC0,  // **########** ****
2391    0x0600,  // *****##***** ****
2392    0x0000   // ************ ****
2393   },
2394   { // 0xE5 = 
2395    0x0000,  // ************ ****
2396    0x3F80,  // **#######*** ****
2397    0x6180,  // *##****##*** ****
2398    0x6180,  // *##****##*** ****
2399    0x3FE0,  // **#########* ****
2400    0x0000,  // ************ ****
2401    0x7FE0,  // *##########* ****
2402    0x0000,  // ************ ****
2403    0x0000,  // ************ ****
2404    0x0000   // ************ ****
2405   },
2406   { // 0xE6 = 
2407    0x0000,  // ************ ****
2408    0x1FC0,  // ***#######** ****
2409    0x3060,  // **##*****##* ****
2410    0x3060,  // **##*****##* ****
2411    0x1FC0,  // ***#######** ****
2412    0x0000,  // ************ ****
2413    0x3FE0,  // **#########* ****
2414    0x0000,  // ************ ****
2415    0x0000,  // ************ ****
2416    0x0000   // ************ ****
2417   },
2418   { // 0xE7 = 
2419    0x1E60,  // ***####**##* ****
2420    0x33C0,  // **##**####** ****
2421    0x3860,  // **###****##* ****
2422    0x3C60,  // **####***##* ****
2423    0x3660,  // **##*##**##* ****
2424    0x3360,  // **##**##*##* ****
2425    0x31E0,  // **##***####* ****
2426    0x30E0,  // **##****###* ****
2427    0x0000,  // ************ ****
2428    0x0000   // ************ ****
2429   },
2430   { // 0xE8 = 
2431    0x1E60,  // ***####**##* ****
2432    0x33C0,  // **##**####** ****
2433    0x0000,  // ************ ****
2434    0x37C0,  // **##*#####** ****
2435    0x3860,  // **###****##* ****
2436    0x3060,  // **##*****##* ****
2437    0x3060,  // **##*****##* ****
2438    0x3060,  // **##*****##* ****
2439    0x0000,  // ************ ****
2440    0x0000   // ************ ****
2441   },
2442   { // 0xE9 = 
2443    0x0600,  // *****##***** ****
2444    0x0300,  // ******##**** ****
2445    0x0000,  // ************ ****
2446    0x1FC0,  // ***#######** ****
2447    0x3060,  // **##*****##* ****
2448    0x3FE0,  // **#########* ****
2449    0x3000,  // **##******** ****
2450    0x1FC0,  // ***#######** ****
2451    0x0000,  // ************ ****
2452    0x0000   // ************ ****
2453   },
2454   { // 0xEA = 
2455    0x0C00,  // ****##****** ****
2456    0x0600,  // *****##***** ****
2457    0x0000,  // ************ ****
2458    0x7F80,  // *########*** ****
2459    0x00C0,  // ********##** ****
2460    0x3FC0,  // **########** ****
2461    0x60C0,  // *##*****##** ****
2462    0x3FE0,  // **#########* ****
2463    0x0000,  // ************ ****
2464    0x0000   // ************ ****
2465   },
2466   { // 0xEB = 
2467    0x0300,  // ******##**** ****
2468    0x0600,  // *****##***** ****
2469    0x0000,  // ************ ****
2470    0x7F80,  // *########*** ****
2471    0x00C0,  // ********##** ****
2472    0x3FC0,  // **########** ****
2473    0x60C0,  // *##*****##** ****
2474    0x3FE0,  // **#########* ****
2475    0x0000,  // ************ ****
2476    0x0000   // ************ ****
2477   },
2478   { // 0xEC = 
2479    0x0300,  // ******##**** ****
2480    0x0600,  // *****##***** ****
2481    0x0000,  // ************ ****
2482    0x1FC0,  // ***#######** ****
2483    0x3060,  // **##*****##* ****
2484    0x3FE0,  // **#########* ****
2485    0x3000,  // **##******** ****
2486    0x1FC0,  // ***#######** ****
2487    0x0000,  // ************ ****
2488    0x0000   // ************ ****
2489   },
2490   { // 0xED = 
2491    0x0300,  // ******##**** ****
2492    0x0600,  // *****##***** ****
2493    0x0000,  // ************ ****
2494    0x0E00,  // ****###***** ****
2495    0x0600,  // *****##***** ****
2496    0x0600,  // *****##***** ****
2497    0x0600,  // *****##***** ****
2498    0x1F80,  // ***######*** ****
2499    0x0000,  // ************ ****
2500    0x0000   // ************ ****
2501   },
2502   { // 0xEE = 
2503    0x0300,  // ******##**** ****
2504    0x0600,  // *****##***** ****
2505    0x0000,  // ************ ****
2506    0x1FC0,  // ***#######** ****
2507    0x3060,  // **##*****##* ****
2508    0x3060,  // **##*****##* ****
2509    0x3060,  // **##*****##* ****
2510    0x1FC0,  // ***#######** ****
2511    0x0000,  // ************ ****
2512    0x0000   // ************ ****
2513   },
2514   { // 0xEF = 
2515    0x0300,  // ******##**** ****
2516    0x0600,  // *****##***** ****
2517    0x0000,  // ************ ****
2518    0x3060,  // **##*****##* ****
2519    0x3060,  // **##*****##* ****
2520    0x3060,  // **##*****##* ****
2521    0x30E0,  // **##****###* ****
2522    0x1F60,  // ***#####*##* ****
2523    0x0000,  // ************ ****
2524    0x0000   // ************ ****
2525   },
2526
2527   { // 0xF0 = 
2528    0x0300,  // ******##**** ****
2529    0x0600,  // *****##***** ****
2530    0x1FC0,  // ***#######** ****
2531    0x3060,  // **##*****##* ****
2532    0x3060,  // **##*****##* ****
2533    0x3FE0,  // **#########* ****
2534    0x3060,  // **##*****##* ****
2535    0x3060,  // **##*****##* ****
2536    0x0000,  // ************ ****
2537    0x0000   // ************ ****
2538   },
2539   { // 0xF1 = 
2540    0x0C00,  // ****##****** ****
2541    0x0600,  // *****##***** ****
2542    0x1FC0,  // ***#######** ****
2543    0x3060,  // **##*****##* ****
2544    0x3060,  // **##*****##* ****
2545    0x3FE0,  // **#########* ****
2546    0x3060,  // **##*****##* ****
2547    0x3060,  // **##*****##* ****
2548    0x0000,  // ************ ****
2549    0x0000   // ************ ****
2550   },
2551   { // 0xF2 = 
2552    0x0C00,  // ****##****** ****
2553    0x0600,  // *****##***** ****
2554    0x3FC0,  // **########** ****
2555    0x3000,  // **##******** ****
2556    0x3F00,  // **######**** ****
2557    0x3000,  // **##******** ****
2558    0x3000,  // **##******** ****
2559    0x3FC0,  // **########** ****
2560    0x0000,  // ************ ****
2561    0x0000   // ************ ****
2562   },
2563   { // 0xF3 = 
2564    0x0300,  // ******##**** ****
2565    0x0600,  // *****##***** ****
2566    0x3FC0,  // **########** ****
2567    0x0600,  // *****##***** ****
2568    0x0600,  // *****##***** ****
2569    0x0600,  // *****##***** ****
2570    0x0600,  // *****##***** ****
2571    0x3FC0,  // **########** ****
2572    0x0000,  // ************ ****
2573    0x0000   // ************ ****
2574   },
2575   { // 0xF4 = 
2576    0x19C0,  // ***##**##*** ****
2577    0x0000,  // ************ ****
2578    0x3FC0,  // **########** ****
2579    0x0600,  // *****##***** ****
2580    0x0600,  // *****##***** ****
2581    0x0600,  // *****##***** ****
2582    0x0600,  // *****##***** ****
2583    0x3FC0,  // **########** ****
2584    0x0000,  // ************ ****
2585    0x0000   // ************ ****
2586   },
2587   { // 0xF5 = 
2588    0x0300,  // ******##**** ****
2589    0x0600,  // *****##***** ****
2590    0x1FC0,  // ***#######** ****
2591    0x3060,  // **##*****##* ****
2592    0x3060,  // **##*****##* ****
2593    0x3060,  // **##*****##* ****
2594    0x3060,  // **##*****##* ****
2595    0x1FC0,  // ***#######** ****
2596    0x0000,  // ************ ****
2597    0x0000   // ************ ****
2598   },
2599   { // 0xF6 = 
2600    0x0600,  // *****##***** ****
2601    0x0300,  // ******##**** ****
2602    0x1FC0,  // ***#######** ****
2603    0x3060,  // **##*****##* ****
2604    0x3060,  // **##*****##* ****
2605    0x3060,  // **##*****##* ****
2606    0x3060,  // **##*****##* ****
2607    0x1FC0,  // ***#######** ****
2608    0x0000,  // ************ ****
2609    0x0000   // ************ ****
2610   },
2611   { // 0xF7 = 
2612    0x0300,  // ******##**** ****
2613    0x0600,  // *****##***** ****
2614    0x3060,  // **##*****##* ****
2615    0x3060,  // **##*****##* ****
2616    0x3060,  // **##*****##* ****
2617    0x3060,  // **##*****##* ****
2618    0x3060,  // **##*****##* ****
2619    0x1FC0,  // ***#######** ****
2620    0x0000,  // ************ ****
2621    0x0000   // ************ ****
2622   },
2623   { // 0xF8 = 
2624    0x0000,  // ************ ****
2625    0x0000,  // ************ ****
2626    0x0000,  // ************ ****
2627    0x3DC0,  // **####*###** ****
2628    0x0660,  // *****##**##* ****
2629    0x3FE0,  // **#########* ****
2630    0x6600,  // *##**##***** ****
2631    0x3FC0,  // **########** ****
2632    0x0000,  // ************ ****
2633    0x0000   // ************ ****
2634   },
2635   { // 0xF9 = 
2636    0x0000,  // ************ ****
2637    0x0FE0,  // ****#######* ****
2638    0x1B00,  // ***##*##**** ****
2639    0x3300,  // **##**##**** ****
2640    0x7FC0,  // *#########** ****
2641    0x6300,  // *##***##**** ****
2642    0x6300,  // *##***##**** ****
2643    0x63E0,  // *##***#####* ****
2644    0x0000,  // ************ ****
2645    0x0000   // ************ ****
2646   },
2647   { // 0xFA = 
2648    0x0000,  // ************ ****
2649    0x0300,  // ******##**** ****
2650    0x0FC0,  // ****######** ****
2651    0x0180,  // *******##*** ****
2652    0x1FC0,  // ***#######** ****
2653    0x30C0,  // **##****##** ****
2654    0x30C0,  // **##****##** ****
2655    0x1F80,  // ***######*** ****
2656    0x0000,  // ************ ****
2657    0x0000   // ************ ****
2658   },
2659   { // 0xFB = 
2660    0x0000,  // ************ ****
2661    0x3F80,  // **#######*** ****
2662    0x30C0,  // **##****##** ****
2663    0x3060,  // **##*****##* ****
2664    0x7C60,  // *#####***##* ****
2665    0x3060,  // **##*****##* ****
2666    0x30C0,  // **##****##** ****
2667    0x3F80,  // **#######*** ****
2668    0x0000,  // ************ ****
2669    0x0000   // ************ ****
2670   },
2671   { // 0xFC = 
2672    0x0000,  // ************ ****
2673    0x0000,  // ************ ****
2674    0x0180,  // *******##*** ****
2675    0x3FC0,  // **########** ****
2676    0x6360,  // *##***##*##* ****
2677    0x6660,  // *##**##**##* ****
2678    0x6C60,  // *##*##***##* ****
2679    0x3FC0,  // **########** ****
2680    0x1800,  // ***##******* ****
2681    0x0000   // ************ ****
2682   },
2683   { // 0xFD = 
2684    0x0060,  // *********##* ****
2685    0x3FC0,  // **########** ****
2686    0x61E0,  // *##****####* ****
2687    0x6360,  // *##***##*##* ****
2688    0x6660,  // *##**##**##* ****
2689    0x6C60,  // *##*##***##* ****
2690    0x7860,  // *####****##* ****
2691    0x3FC0,  // **########** ****
2692    0x6000,  // *##********* ****
2693    0x0000   // ************ ****
2694   },
2695   { // 0xFE = 
2696    0x0000,  // ************ ****
2697    0x3000,  // **##******** ****
2698    0x3000,  // **##******** ****
2699    0x3F80,  // **#######*** ****
2700    0x30C0,  // **##****##** ****
2701    0x30C0,  // **##****##** ****
2702    0x30C0,  // **##****##** ****
2703    0x3F80,  // **#######*** ****
2704    0x3000,  // **##******** ****
2705    0x3000   // **##******** ****
2706   },
2707   { // 0xFF = 
2708    0x3C00,  // **####****** ****
2709    0x1800,  // ***##******* ****
2710    0x1F80,  // ***######*** ****
2711    0x18C0,  // ***##***##** ****
2712    0x18C0,  // ***##***##** ****
2713    0x1F80,  // ***######*** ****
2714    0x1800,  // ***##******* ****
2715    0x3C00,  // **####****** ****
2716    0x0000,  // ************ ****
2717    0x0000   // ************ ****
2718   },
2719
2720   { // 0x60a = 
2721    0x0000,  // ************ ****
2722    0x0000,  // ************ ****
2723    0x0000,  // ************ ****
2724    0x0000,  // ************ ****
2725    0x0000,  // ************ ****
2726    0x0000,  // ************ ****
2727    0x0000,  // ************ ****
2728    0x03F0,  // ******###### ****
2729    0x03F0,  // ******###### ****
2730    0x03F0   // ******###### ****
2731   },
2732   { // 0x61a = 
2733    0xFC00,  // ######****** ****
2734    0xFC00,  // ######****** ****
2735    0xFC00,  // ######****** ****
2736    0x0000,  // ************ ****
2737    0x0000,  // ************ ****
2738    0x0000,  // ************ ****
2739    0x0000,  // ************ ****
2740    0x03F0,  // ******###### ****
2741    0x03F0,  // ******###### ****
2742    0x03F0   // ******###### ****
2743   },
2744   { // 0x62a = 
2745    0x03F0,  // ******###### ****
2746    0x03F0,  // ******###### ****
2747    0x03F0,  // ******###### ****
2748    0x0000,  // ************ ****
2749    0x0000,  // ************ ****
2750    0x0000,  // ************ ****
2751    0x0000,  // ************ ****
2752    0x03F0,  // ******###### ****
2753    0x03F0,  // ******###### ****
2754    0x03F0   // ******###### ****
2755   },
2756   { // 0x63a = 
2757    0xFFF0,  // ############ ****
2758    0xFFF0,  // ############ ****
2759    0xFFF0,  // ############ ****
2760    0x0000,  // ************ ****
2761    0x0000,  // ************ ****
2762    0x0000,  // ************ ****
2763    0x0000,  // ************ ****
2764    0x03F0,  // ******###### ****
2765    0x03F0,  // ******###### ****
2766    0x03F0   // ******###### ****
2767   },
2768   { // 0x64a = 
2769    0x0000,  // ************ ****
2770    0x0000,  // ************ ****
2771    0x0000,  // ************ ****
2772    0xFC00,  // ######****** ****
2773    0xFC00,  // ######****** ****
2774    0xFC00,  // ######****** ****
2775    0xFC00,  // ######****** ****
2776    0x03F0,  // ******###### ****
2777    0x03F0,  // ******###### ****
2778    0x03F0   // ******###### ****
2779   },
2780   { // 0x65a = 
2781    0xFC00,  // ######****** ****
2782    0xFC00,  // ######****** ****
2783    0xFC00,  // ######****** ****
2784    0xFC00,  // ######****** ****
2785    0xFC00,  // ######****** ****
2786    0xFC00,  // ######****** ****
2787    0xFC00,  // ######****** ****
2788    0x03F0,  // ******###### ****
2789    0x03F0,  // ******###### ****
2790    0x03F0   // ******###### ****
2791   },
2792   { // 0x66a = 
2793    0x03F0,  // ******###### ****
2794    0x03F0,  // ******###### ****
2795    0x03F0,  // ******###### ****
2796    0xFC00,  // ######****** ****
2797    0xFC00,  // ######****** ****
2798    0xFC00,  // ######****** ****
2799    0xFC00,  // ######****** ****
2800    0x03F0,  // ******###### ****
2801    0x03F0,  // ******###### ****
2802    0x03F0   // ******###### ****
2803   },
2804   { // 0x67a = 
2805    0xFFF0,  // ############ ****
2806    0xFFF0,  // ############ ****
2807    0xFFF0,  // ############ ****
2808    0xFC00,  // ######****** ****
2809    0xFC00,  // ######****** ****
2810    0xFC00,  // ######****** ****
2811    0xFC00,  // ######****** ****
2812    0x03F0,  // ******###### ****
2813    0x03F0,  // ******###### ****
2814    0x03F0   // ******###### ****
2815   },
2816   { // 0x68a = 
2817    0x0000,  // ************ ****
2818    0x0000,  // ************ ****
2819    0x0000,  // ************ ****
2820    0x03F0,  // ******###### ****
2821    0x03F0,  // ******###### ****
2822    0x03F0,  // ******###### ****
2823    0x03F0,  // ******###### ****
2824    0x03F0,  // ******###### ****
2825    0x03F0,  // ******###### ****
2826    0x03F0   // ******###### ****
2827   },
2828   { // 0x69a = 
2829    0xFC00,  // ######****** ****
2830    0xFC00,  // ######****** ****
2831    0xFC00,  // ######****** ****
2832    0x03F0,  // ******###### ****
2833    0x03F0,  // ******###### ****
2834    0x03F0,  // ******###### ****
2835    0x03F0,  // ******###### ****
2836    0x03F0,  // ******###### ****
2837    0x03F0,  // ******###### ****
2838    0x03F0   // ******###### ****
2839   },
2840   { // 0x6Aa = 
2841    0x03F0,  // ******###### ****
2842    0x03F0,  // ******###### ****
2843    0x03F0,  // ******###### ****
2844    0x03F0,  // ******###### ****
2845    0x03F0,  // ******###### ****
2846    0x03F0,  // ******###### ****
2847    0x03F0,  // ******###### ****
2848    0x03F0,  // ******###### ****
2849    0x03F0,  // ******###### ****
2850    0x03F0   // ******###### ****
2851   },
2852   { // 0x6Ba = 
2853    0xFFF0,  // ############ ****
2854    0xFFF0,  // ############ ****
2855    0xFFF0,  // ############ ****
2856    0x03F0,  // ******###### ****
2857    0x03F0,  // ******###### ****
2858    0x03F0,  // ******###### ****
2859    0x03F0,  // ******###### ****
2860    0x03F0,  // ******###### ****
2861    0x03F0,  // ******###### ****
2862    0x03F0   // ******###### ****
2863   },
2864   { // 0x6Ca = 
2865    0x0000,  // ************ ****
2866    0x0000,  // ************ ****
2867    0x0000,  // ************ ****
2868    0xFFF0,  // ############ ****
2869    0xFFF0,  // ############ ****
2870    0xFFF0,  // ############ ****
2871    0xFFF0,  // ############ ****
2872    0x03F0,  // ******###### ****
2873    0x03F0,  // ******###### ****
2874    0x03F0   // ******###### ****
2875   },
2876   { // 0x6Da = 
2877    0xFC00,  // ######****** ****
2878    0xFC00,  // ######****** ****
2879    0xFC00,  // ######****** ****
2880    0xFFF0,  // ############ ****
2881    0xFFF0,  // ############ ****
2882    0xFFF0,  // ############ ****
2883    0xFFF0,  // ############ ****
2884    0x03F0,  // ******###### ****
2885    0x03F0,  // ******###### ****
2886    0x03F0   // ******###### ****
2887   },
2888   { // 0x6Ea = 
2889    0x03F0,  // ******###### ****
2890    0x03F0,  // ******###### ****
2891    0x03F0,  // ******###### ****
2892    0xFFF0,  // ############ ****
2893    0xFFF0,  // ############ ****
2894    0xFFF0,  // ############ ****
2895    0xFFF0,  // ############ ****
2896    0x03F0,  // ******###### ****
2897    0x03F0,  // ******###### ****
2898    0x03F0   // ******###### ****
2899   },
2900   { // 0x6Fa = 
2901    0xFFF0,  // ############ ****
2902    0xFFF0,  // ############ ****
2903    0xFFF0,  // ############ ****
2904    0xFFF0,  // ############ ****
2905    0xFFF0,  // ############ ****
2906    0xFFF0,  // ############ ****
2907    0xFFF0,  // ############ ****
2908    0x03F0,  // ******###### ****
2909    0x03F0,  // ******###### ****
2910    0x03F0   // ******###### ****
2911   },
2912
2913   { // 0x70a = 
2914    0x0000,  // ************ ****
2915    0x0000,  // ************ ****
2916    0x0000,  // ************ ****
2917    0x0000,  // ************ ****
2918    0x0000,  // ************ ****
2919    0x0000,  // ************ ****
2920    0x0000,  // ************ ****
2921    0xFFF0,  // ############ ****
2922    0xFFF0,  // ############ ****
2923    0xFFF0   // ############ ****
2924   },
2925   { // 0x71a = 
2926    0xFC00,  // ######****** ****
2927    0xFC00,  // ######****** ****
2928    0xFC00,  // ######****** ****
2929    0x0000,  // ************ ****
2930    0x0000,  // ************ ****
2931    0x0000,  // ************ ****
2932    0x0000,  // ************ ****
2933    0xFFF0,  // ############ ****
2934    0xFFF0,  // ############ ****
2935    0xFFF0   // ############ ****
2936   },
2937   { // 0x72a = 
2938    0x03F0,  // ******###### ****
2939    0x03F0,  // ******###### ****
2940    0x03F0,  // ******###### ****
2941    0x0000,  // ************ ****
2942    0x0000,  // ************ ****
2943    0x0000,  // ************ ****
2944    0x0000,  // ************ ****
2945    0xFFF0,  // ############ ****
2946    0xFFF0,  // ############ ****
2947    0xFFF0   // ############ ****
2948   },
2949   { // 0x73a = 
2950    0xFFF0,  // ############ ****
2951    0xFFF0,  // ############ ****
2952    0xFFF0,  // ############ ****
2953    0x0000,  // ************ ****
2954    0x0000,  // ************ ****
2955    0x0000,  // ************ ****
2956    0x0000,  // ************ ****
2957    0xFFF0,  // ############ ****
2958    0xFFF0,  // ############ ****
2959    0xFFF0   // ############ ****
2960   },
2961   { // 0x74a = 
2962    0x0000,  // ************ ****
2963    0x0000,  // ************ ****
2964    0x0000,  // ************ ****
2965    0xFC00,  // ######****** ****
2966    0xFC00,  // ######****** ****
2967    0xFC00,  // ######****** ****
2968    0xFC00,  // ######****** ****
2969    0xFFF0,  // ############ ****
2970    0xFFF0,  // ############ ****
2971    0xFFF0   // ############ ****
2972   },
2973   { // 0x75a = 
2974    0xFC00,  // ######****** ****
2975    0xFC00,  // ######****** ****
2976    0xFC00,  // ######****** ****
2977    0xFC00,  // ######****** ****
2978    0xFC00,  // ######****** ****
2979    0xFC00,  // ######****** ****
2980    0xFC00,  // ######****** ****
2981    0xFFF0,  // ############ ****
2982    0xFFF0,  // ############ ****
2983    0xFFF0   // ############ ****
2984   },
2985   { // 0x76a = 
2986    0x03F0,  // ******###### ****
2987    0x03F0,  // ******###### ****
2988    0x03F0,  // ******###### ****
2989    0xFC00,  // ######****** ****
2990    0xFC00,  // ######****** ****
2991    0xFC00,  // ######****** ****
2992    0xFC00,  // ######****** ****
2993    0xFFF0,  // ############ ****
2994    0xFFF0,  // ############ ****
2995    0xFFF0   // ############ ****
2996   },
2997   { // 0x77a = 
2998    0xFFF0,  // ############ ****
2999    0xFFF0,  // ############ ****
3000    0xFFF0,  // ############ ****
3001    0xFC00,  // ######****** ****
3002    0xFC00,  // ######****** ****
3003    0xFC00,  // ######****** ****
3004    0xFC00,  // ######****** ****
3005    0xFFF0,  // ############ ****
3006    0xFFF0,  // ############ ****
3007    0xFFF0   // ############ ****
3008   },
3009   { // 0x78a = 
3010    0x0000,  // ************ ****
3011    0x0000,  // ************ ****
3012    0x0000,  // ************ ****
3013    0x03F0,  // ******###### ****
3014    0x03F0,  // ******###### ****
3015    0x03F0,  // ******###### ****
3016    0x03F0,  // ******###### ****
3017    0xFFF0,  // ############ ****
3018    0xFFF0,  // ############ ****
3019    0xFFF0   // ############ ****
3020   },
3021   { // 0x79a = 
3022    0xFC00,  // ######****** ****
3023    0xFC00,  // ######****** ****
3024    0xFC00,  // ######****** ****
3025    0x03F0,  // ******###### ****
3026    0x03F0,  // ******###### ****
3027    0x03F0,  // ******###### ****
3028    0x03F0,  // ******###### ****
3029    0xFFF0,  // ############ ****
3030    0xFFF0,  // ############ ****
3031    0xFFF0   // ############ ****
3032   },
3033   { // 0x7Aa = 
3034    0x03F0,  // ******###### ****
3035    0x03F0,  // ******###### ****
3036    0x03F0,  // ******###### ****
3037    0x03F0,  // ******###### ****
3038    0x03F0,  // ******###### ****
3039    0x03F0,  // ******###### ****
3040    0x03F0,  // ******###### ****
3041    0xFFF0,  // ############ ****
3042    0xFFF0,  // ############ ****
3043    0xFFF0   // ############ ****
3044   },
3045   { // 0x7Ba = 
3046    0xFFF0,  // ############ ****
3047    0xFFF0,  // ############ ****
3048    0xFFF0,  // ############ ****
3049    0x03F0,  // ******###### ****
3050    0x03F0,  // ******###### ****
3051    0x03F0,  // ******###### ****
3052    0x03F0,  // ******###### ****
3053    0xFFF0,  // ############ ****
3054    0xFFF0,  // ############ ****
3055    0xFFF0   // ############ ****
3056   },
3057   { // 0x7Ca = 
3058    0x0000,  // ************ ****
3059    0x0000,  // ************ ****
3060    0x0000,  // ************ ****
3061    0xFFF0,  // ############ ****
3062    0xFFF0,  // ############ ****
3063    0xFFF0,  // ############ ****
3064    0xFFF0,  // ############ ****
3065    0xFFF0,  // ############ ****
3066    0xFFF0,  // ############ ****
3067    0xFFF0   // ############ ****
3068   },
3069   { // 0x7Da = 
3070    0xFC00,  // ######****** ****
3071    0xFC00,  // ######****** ****
3072    0xFC00,  // ######****** ****
3073    0xFFF0,  // ############ ****
3074    0xFFF0,  // ############ ****
3075    0xFFF0,  // ############ ****
3076    0xFFF0,  // ############ ****
3077    0xFFF0,  // ############ ****
3078    0xFFF0,  // ############ ****
3079    0xFFF0   // ############ ****
3080   },
3081   { // 0x7Ea = 
3082    0x03F0,  // ******###### ****
3083    0x03F0,  // ******###### ****
3084    0x03F0,  // ******###### ****
3085    0xFFF0,  // ############ ****
3086    0xFFF0,  // ############ ****
3087    0xFFF0,  // ############ ****
3088    0xFFF0,  // ############ ****
3089    0xFFF0,  // ############ ****
3090    0xFFF0,  // ############ ****
3091    0xFFF0   // ############ ****
3092   },
3093   { // 0x7Fa = 
3094    0xFFF0,  // ############ ****
3095    0xFFF0,  // ############ ****
3096    0xFFF0,  // ############ ****
3097    0xFFF0,  // ############ ****
3098    0xFFF0,  // ############ ****
3099    0xFFF0,  // ############ ****
3100    0xFFF0,  // ############ ****
3101    0xFFF0,  // ############ ****
3102    0xFFF0,  // ############ ****
3103    0xFFF0,  // ############ ****
3104   }
3105 };
3106    
3107
3108
3109 int NationalOptionSubsetG0Default[13]=
3110     {0x23,0x94,0x80,0   ,0   ,0   ,0x5e,0x5f,0   ,0   ,0   ,0   ,0   };
3111
3112 int NationalOptionSubsetCZ_SK[13]=
3113     {0x23,0   ,0   ,0   ,0   ,0   ,0xed,0   ,0xec,0xeb,0   ,0xef,0   };
3114 int NationalOptionSubsetEN[13]=
3115     {0x83,0x24,0x80,0x8b,0x8c,0x8d,0x8e,0x23,0x81,0x82,0x88,0x89,0x8a};
3116 int NationalOptionSubsetEE[13]=
3117     {0x23,0xc6,0   ,0x5b,0x5c,0   ,0x5d,0xd6,0   ,0x7b,0x7c,0   ,0x7d};
3118 int NationalOptionSubsetFR[13]=
3119     {0xd3,0xd4,0xd0,0xdb,0xdc,0xc1,0xde,0x23,0xd1,0xd2,0xd8,0xd9,0xcc};
3120 int NationalOptionSubsetDE[13]=
3121     {0x23,0x24,0x40,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x7b,0x7c,0x7d,0x7e};
3122 int NationalOptionSubsetIT[13]=
3123     {0x83,0x24,0xd3,0x60,0xcc,0x8d,0x8e,0x23,0xdd,0xc1,0xc8,0xc9,0xca};
3124 int NationalOptionSubsetLV_LT[13]=
3125     {0x23,0x24,0   ,0   ,0   ,0   ,0   ,0   ,0   ,0   ,0   ,0   ,0   };
3126 int NationalOptionSubsetPL[13]=
3127     {0x23,0   ,0   ,0   ,0   ,0   ,0   ,0xee,0   ,0   ,0   ,0   ,0   };
3128 int NationalOptionSubsetPT_ES[13]=
3129     {0xcc,0x24,0xe0,0xeb,0xec,0xed,0xee,0xef,0xe1,0x7d,0xe8,0xc9,0xc2};
3130 int NationalOptionSubsetRO[13]=
3131     {0x23,0x94,0   ,0   ,0   ,0   ,0   ,0   ,0   ,0xd2,0   ,0   ,0xde};
3132 int NationalOptionSubsetSR_HR_SL[13]=
3133     {0x23,0   ,0   ,0   ,0   ,0xfb,0   ,0xdb,0   ,0   ,0   ,0   ,0   };
3134 int NationalOptionSubsetSV_FI[13]=
3135     {0x23,0x94,0x90,0x5b,0x5c,0x9d,0x5d,0x5f,0x91,0x7b,0x7c,0x99,0x7d};
3136 int NationalOptionSubsetTR[13]=
3137     {0   ,0   ,0   ,0   ,0x5c,0xd7,0x5d,0   ,0   ,0   ,0x7c,0xcc,0x7d};
3138
3139
3140
3141 inline int NationalOptionSubset(int chr) {
3142     switch (chr) {
3143         case 0x23: return 0;
3144         case 0x24: return 1;
3145         case 0x40: return 2;
3146         case 0x5b: return 3;
3147         case 0x5c: return 4;
3148         case 0x5d: return 5;
3149         case 0x5e: return 6;
3150         case 0x5f: return 7;
3151         case 0x60: return 8;
3152         case 0x7b: return 9;
3153         case 0x7c: return 10;
3154         case 0x7d: return 11;
3155         case 0x7e: return 12;
3156     }
3157     return -1;      
3158 }   
3159
3160 inline unsigned int LeftBits(unsigned int bits) {
3161     // Scale bit positions 0xfc00 to 0xfff0 positions
3162     unsigned int res=0;
3163     if (bits&0x8000) res|=0xC000;
3164     if (bits&0x4000) res|=0x3000;
3165     if (bits&0x2000) res|=0x0C00;
3166     if (bits&0x1000) res|=0x0300;
3167     if (bits&0x0800) res|=0x00C0;
3168     if (bits&0x0400) res|=0x0030;
3169     return res;
3170 }
3171 inline unsigned int RightBits(unsigned int bits) {
3172     // Scale bit positions 0x03f0 to 0xfff0 positions
3173     unsigned int res=0;
3174     if (bits&0x0200) res|=0xC000;
3175     if (bits&0x0100) res|=0x3000;
3176     if (bits&0x0080) res|=0x0C00;
3177     if (bits&0x0040) res|=0x0300;
3178     if (bits&0x0020) res|=0x00C0;
3179     if (bits&0x0010) res|=0x0030;
3180     return res;
3181 }
3182
3183
3184
3185 unsigned int* GetFontChar(cTeletextChar c, unsigned int *buffer) {
3186     // Get character bitmap for character/charset
3187
3188     enumCharsets font=c.GetCharset();
3189     int chr=c.GetChar();
3190     unsigned int *bitmap=NULL;
3191     int i;
3192     int NationalOption=NationalOptionSubset(chr);
3193     
3194     switch (font) {
3195     case CHARSET_LATIN_G0:
3196         if (NationalOption>=0) {
3197             if (NationalOptionSubsetG0Default[NationalOption]>0)
3198                 bitmap=TXT_Font[NationalOptionSubsetG0Default[NationalOption]-0x20];
3199         } else {
3200             if (chr>=0x20 && chr<0x80) {
3201                 bitmap=TXT_Font[chr-0x20];
3202             }
3203         }
3204         break;
3205     case CHARSET_LATIN_G0_EN:
3206         if (NationalOption>=0) {
3207             if (NationalOptionSubsetEN[NationalOption]>0)
3208                 bitmap=TXT_Font[NationalOptionSubsetEN[NationalOption]-0x20];
3209         } else {
3210             if (chr>=0x20 && chr<0x80) {
3211                 bitmap=TXT_Font[chr-0x20];
3212             }
3213         }           
3214         break;
3215     case CHARSET_LATIN_G0_FR:
3216         if (NationalOption>=0) {
3217             if (NationalOptionSubsetFR[NationalOption]>0)
3218                 bitmap=TXT_Font[NationalOptionSubsetFR[NationalOption]-0x20];
3219         } else {
3220             if (chr>=0x20 && chr<0x80) {
3221                 bitmap=TXT_Font[chr-0x20];
3222             }
3223         }           
3224         break;
3225     case CHARSET_LATIN_G0_IT:
3226         if (NationalOption>=0) {
3227             if (NationalOptionSubsetIT[NationalOption]>0)
3228                 bitmap=TXT_Font[NationalOptionSubsetIT[NationalOption]-0x20];
3229         } else {
3230             if (chr>=0x20 && chr<0x80) {
3231                 bitmap=TXT_Font[chr-0x20];
3232             }
3233         }           
3234         break;
3235     case CHARSET_LATIN_G0_PT_ES:
3236         if (NationalOption>=0) {
3237             if (NationalOptionSubsetPT_ES[NationalOption]>0)
3238                 bitmap=TXT_Font[NationalOptionSubsetPT_ES[NationalOption]-0x20];
3239         } else {
3240             if (chr>=0x20 && chr<0x80) {
3241                 bitmap=TXT_Font[chr-0x20];
3242             }
3243         }           
3244         break;
3245     case CHARSET_LATIN_G0_SV_FI:
3246         if (NationalOption>=0) {
3247             if (NationalOptionSubsetSV_FI[NationalOption]>0)
3248                 bitmap=TXT_Font[NationalOptionSubsetSV_FI[NationalOption]-0x20];
3249         } else {
3250             if (chr>=0x20 && chr<0x80) {
3251                 bitmap=TXT_Font[chr-0x20];
3252             }
3253         }           
3254         break;
3255     case CHARSET_LATIN_G0_DE:
3256         if (chr>=0x20 && chr<0x80) {
3257             bitmap=TXT_Font[chr-0x20];
3258         }
3259         break;
3260     case CHARSET_LATIN_G0_CZ_SK:
3261     case CHARSET_LATIN_G0_EE:
3262     case CHARSET_LATIN_G0_LV_LT:
3263     case CHARSET_LATIN_G0_PL:
3264     case CHARSET_LATIN_G0_RO:
3265     case CHARSET_LATIN_G0_SR_HR_SL:
3266     case CHARSET_LATIN_G0_TR:
3267         // Partially supported latin charsets
3268         if (chr>=0x20 && chr<0x80 && NationalOption<0) {
3269             bitmap=TXT_Font[chr-0x20];
3270         }
3271         break;
3272         
3273     case CHARSET_LATIN_G2:
3274     case CHARSET_CYRILLIC_G0_SR_HR:
3275     case CHARSET_CYRILLIC_G0_RU_BG:
3276     case CHARSET_CYRILLIC_G0_UK:
3277     case CHARSET_CYRILLIC_G2:
3278     case CHARSET_GREEK_G0:
3279     case CHARSET_GREEK_G2:
3280     case CHARSET_ARABIC_G0:
3281     case CHARSET_ARABIC_G2:
3282     case CHARSET_HEBREW_G0:
3283         // totally unsupported
3284         break;
3285         
3286     case CHARSET_GRAPHICS_G1:
3287         if (chr>=0x20 && chr<0x40) {
3288             bitmap=TXT_Font[chr-0x20+0x80];
3289         } else if (chr>=0x60 && chr<0x80) {
3290             bitmap=TXT_Font[chr-0x60+0xE0];
3291         }
3292         break;
3293     case CHARSET_GRAPHICS_G1_SEP:
3294         if (chr>=0x20 && chr<0x40) {
3295             bitmap=TXT_Font[chr-0x20+0x80];
3296         } else if (chr>=0x60 && chr<0x80) {
3297             bitmap=TXT_Font[chr-0x60+0xE0];
3298         }
3299         if (bitmap) {
3300             for (i=0;i<10;i++) buffer[i]=bitmap[i]&TXT_Mask[i];
3301             bitmap=buffer;
3302         }
3303         break;
3304         
3305     case CHARSET_GRAPHICS_G3:
3306     case CHARSET_INVALID:
3307         // Totally unsupported
3308         break;
3309     }
3310     
3311     
3312     
3313     if (!buffer) {
3314         printf("Warning: Undefined char: %x %x\n",font,chr);
3315         return NULL;
3316     }
3317     
3318     switch (c.GetDblHeight()) {
3319     case dblh_Top:
3320         // Scale top 5 lines to full height
3321         buffer[8]=buffer[9]=bitmap[4];
3322         buffer[6]=buffer[7]=bitmap[3];
3323         buffer[4]=buffer[5]=bitmap[2];
3324         buffer[2]=buffer[3]=bitmap[1];
3325         buffer[1]=buffer[0]=bitmap[0];
3326         bitmap=buffer;
3327         break;
3328     case dblh_Bottom:
3329         // Scale bottom 5 lines to full height
3330         buffer[0]=buffer[1]=bitmap[5];
3331         buffer[2]=buffer[3]=bitmap[6];
3332         buffer[4]=buffer[5]=bitmap[7];
3333         buffer[6]=buffer[7]=bitmap[8];
3334         buffer[8]=buffer[9]=bitmap[9];
3335         bitmap=buffer;
3336     default:;
3337     }
3338
3339     switch (c.GetDblWidth()) {
3340     case dblw_Left:
3341         // Scale 6 left columns to full width
3342         buffer[0]=LeftBits(bitmap[0]);
3343         buffer[1]=LeftBits(bitmap[1]);
3344         buffer[2]=LeftBits(bitmap[2]);
3345         buffer[3]=LeftBits(bitmap[3]);
3346         buffer[4]=LeftBits(bitmap[4]);
3347         buffer[5]=LeftBits(bitmap[5]);
3348         buffer[6]=LeftBits(bitmap[6]);
3349         buffer[7]=LeftBits(bitmap[7]);
3350         buffer[8]=LeftBits(bitmap[8]);
3351         buffer[9]=LeftBits(bitmap[9]);
3352         bitmap=buffer;
3353         break;
3354     case dblw_Right:
3355         // Scale 6 right columns to full width
3356         buffer[0]=RightBits(bitmap[0]);
3357         buffer[1]=RightBits(bitmap[1]);
3358         buffer[2]=RightBits(bitmap[2]);
3359         buffer[3]=RightBits(bitmap[3]);
3360         buffer[4]=RightBits(bitmap[4]);
3361         buffer[5]=RightBits(bitmap[5]);
3362         buffer[6]=RightBits(bitmap[6]);
3363         buffer[7]=RightBits(bitmap[7]);
3364         buffer[8]=RightBits(bitmap[8]);
3365         buffer[9]=RightBits(bitmap[9]);
3366         bitmap=buffer;
3367     default:;
3368     }
3369     
3370     return bitmap;      
3371 }