1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
|
unit u_data;
{$mode objfpc}
interface
uses
Classes, SysUtils;
const
cp874_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'Euro', '.notdef', '.notdef', '.notdef', // 80 to 83
'.notdef', 'ellipsis', '.notdef', '.notdef', // 84 to 87
'.notdef', '.notdef', '.notdef', '.notdef', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', 'quoteleft', 'quoteright', 'quotedblleft', // 90 to 93
'quotedblright', 'bullet', 'endash', 'emdash', // 94 to 97
'.notdef', '.notdef', '.notdef', '.notdef', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'kokaithai', 'khokhaithai', 'khokhuatthai', // A0 to A3
'khokhwaithai', 'khokhonthai', 'khorakhangthai', 'ngonguthai', // A4 to A7
'chochanthai', 'chochingthai', 'chochangthai', 'sosothai', // A8 to AB
'chochoethai', 'yoyingthai', 'dochadathai', 'topatakthai', // AC to AF
'thothanthai', 'thonangmonthothai','thophuthaothai', 'nonenthai', // B0 to B3
'dodekthai', 'totaothai', 'thothungthai', 'thothahanthai', // B4 to B7
'thothongthai', 'nonuthai', 'bobaimaithai', 'poplathai', // B8 to BB
'phophungthai', 'fofathai', 'phophanthai', 'fofanthai', // BC to BF
'phosamphaothai', 'momathai', 'yoyakthai', 'roruathai', // C0 to C3
'ruthai', 'lolingthai', 'luthai', 'wowaenthai', // C4 to C7
'sosalathai', 'sorusithai', 'sosuathai', 'hohipthai', // C8 to CB
'lochulathai', 'oangthai', 'honokhukthai', 'paiyannoithai', // CC to CF
'saraathai', 'maihanakatthai', 'saraaathai', 'saraamthai', // D0 to D3
'saraithai', 'saraiithai', 'sarauethai', 'saraueethai', // D4 to D7
'sarauthai', 'sarauuthai', 'phinthuthai', '.notdef', // D8 to DB
'.notdef', '.notdef', '.notdef', 'bahtthai', // DC to DF
'saraethai', 'saraaethai', 'saraothai', 'saraaimaimuanthai', // E0 to E3
'saraaimaimalaithai','lakkhangyaothai', 'maiyamokthai', 'maitaikhuthai', // E4 to E7
'maiekthai', 'maithothai', 'maitrithai', 'maichattawathai', // E8 to EB
'thanthakhatthai', 'nikhahitthai', 'yamakkanthai', 'fongmanthai', // EC to EF
'zerothai', 'onethai', 'twothai', 'threethai', // F0 to F3
'fourthai', 'fivethai', 'sixthai', 'seventhai', // F4 to F7
'eightthai', 'ninethai', 'angkhankhuthai', 'khomutthai', // F8 to FB
'.notdef', '.notdef', '.notdef', '.notdef'); // FC to FF
const
cp874_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
8364, -1, -1, -1, -1, 8230, -1, -1, // 80 to 87
-1, -1, -1, -1, -1, -1, -1, -1, // 88 to 8F
-1, 8216, 8217, 8220, 8221, 8226, 8211, 8212, // 90 to 97
-1, -1, -1, -1, -1, -1, -1, -1, // 98 to 9F
160, 3585, 3586, 3587, 3588, 3589, 3590, 3591, // A0 to A7
3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, // A8 to AF
3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, // B0 to B7
3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, // B8 to BF
3616, 3617, 3618, 3619, 3620, 3621, 3622, 3623, // C0 to C7
3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, // C8 to CF
3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, // D0 to D7
3640, 3641, 3642, -1, -1, -1, -1, 3647, // D8 to DF
3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, // E0 to E7
3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663, // E8 to EF
3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, // F0 to F7
3672, 3673, 3674, 3675, -1, -1, -1, -1); // F8 to FF
const
cp1250_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'Euro', '.notdef', 'quotesinglbase', '.notdef', // 80 to 83
'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', // 84 to 87
'.notdef', 'perthousand', 'Scaron', 'guilsinglleft', // 88 to 8B
'Sacute', 'Tcaron', 'Zcaron', 'Zacute', // 8C to 8F
'.notdef', 'quoteleft', 'quoteright', 'quotedblleft', // 90 to 93
'quotedblright', 'bullet', 'endash', 'emdash', // 94 to 97
'.notdef', 'trademark', 'scaron', 'guilsinglright', // 98 to 9B
'sacute', 'tcaron', 'zcaron', 'zacute', // 9C to 9F
'space', 'caron', 'breve', 'Lslash', // A0 to A3
'currency', 'Aogonek', 'brokenbar', 'section', // A4 to A7
'dieresis', 'copyright', 'Scedilla', 'guillemotleft', // A8 to AB
'logicalnot', 'hyphen', 'registered', 'Zdotaccent', // AC to AF
'degree', 'plusminus', 'ogonek', 'lslash', // B0 to B3
'acute', 'mu', 'paragraph', 'periodcentered', // B4 to B7
'cedilla', 'aogonek', 'scedilla', 'guillemotright', // B8 to BB
'Lcaron', 'hungarumlaut', 'lcaron', 'zdotaccent', // BC to BF
'Racute', 'Aacute', 'Acircumflex', 'Abreve', // C0 to C3
'Adieresis', 'Lacute', 'Cacute', 'Ccedilla', // C4 to C7
'Ccaron', 'Eacute', 'Eogonek', 'Edieresis', // C8 to CB
'Ecaron', 'Iacute', 'Icircumflex', 'Dcaron', // CC to CF
'Dcroat', 'Nacute', 'Ncaron', 'Oacute', // D0 to D3
'Ocircumflex', 'Ohungarumlaut','Odieresis', 'multiply', // D4 to D7
'Rcaron', 'Uring', 'Uacute', 'Uhungarumlaut', // D8 to DB
'Udieresis', 'Yacute', 'Tcommaaccent', 'germandbls', // DC to DF
'racute', 'aacute', 'acircumflex', 'abreve', // E0 to E3
'adieresis', 'lacute', 'cacute', 'ccedilla', // E4 to E7
'ccaron', 'eacute', 'eogonek', 'edieresis', // E8 to EB
'ecaron', 'iacute', 'icircumflex', 'dcaron', // EC to EF
'dcroat', 'nacute', 'ncaron', 'oacute', // F0 to F3
'ocircumflex', 'ohungarumlaut','odieresis', 'divide', // F4 to F7
'rcaron', 'uring', 'uacute', 'uhungarumlaut', // F8 to FB
'udieresis', 'yacute', 'tcommaaccent', 'dotaccent'); // FC to FF
const
cp1250_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
8364, -1, 8218, -1, 8222, 8230, 8224, 8225, // 80 to 87
-1, 8240, 352, 8249, 346, 356, 381, 377, // 88 to 8F
-1, 8216, 8217, 8220, 8221, 8226, 8211, 8212, // 90 to 97
-1, 8482, 353, 8250, 347, 357, 382, 378, // 98 to 9F
160, 711, 728, 321, 164, 260, 166, 167, // A0 to A7
168, 169, 350, 171, 172, 173, 174, 379, // A8 to AF
176, 177, 731, 322, 180, 181, 182, 183, // B0 to B7
184, 261, 351, 187, 317, 733, 318, 380, // B8 to BF
340, 193, 194, 258, 196, 313, 262, 199, // C0 to C7
268, 201, 280, 203, 282, 205, 206, 270, // C8 to CF
272, 323, 327, 211, 212, 336, 214, 215, // D0 to D7
344, 366, 218, 368, 220, 221, 354, 354, // D8 to DF
341, 225, 226, 259, 228, 314, 263, 231, // E0 to E7
269, 233, 281, 235, 283, 237, 238, 271, // E8 to EF
273, 324, 328, 243, 244, 337, 246, 247, // F0 to F7
345, 367, 250, 369, 252, 253, 355, 729); // F8 to FF
const
cp1251_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'afii10051', 'afii10052', 'quotesinglbase', 'afii10100', // 80 to 83
'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', // 84 to 87
'Euro', 'perthousand', 'afii10058', 'guilsinglleft', // 88 to 8B
'afii10059', 'afii10061', 'afii10060', 'afii10145', // 8C to 8F
'afii10099', 'quoteleft', 'quoteright', 'quotedblleft', // 90 to 93
'quotedblright', 'bullet', 'endash', 'emdash', // 94 to 97
'.notdef', 'trademark', 'afii10106', 'guilsinglright', // 98 to 9B
'afii10107', 'afii10109', 'afii10108', 'afii10193', // 9C to 9F
'space', 'afii10062', 'afii10110', 'afii10057', // A0 to A3
'currency', 'afii10050', 'brokenbar', 'section', // A4 to A7
'afii10023', 'copyright', 'afii10053', 'guillemotleft', // A8 to AB
'logicalnot', 'hyphen', 'registered', 'afii10056', // AC to AF
'degree', 'plusminus', 'afii10055', 'afii10103', // B0 to B3
'afii10098', 'mu', 'paragraph', 'periodcentered', // B4 to B7
'afii10071', 'afii61352', 'afii10101', 'guillemotright', // B8 to BB
'afii10105', 'afii10054', 'afii10102', 'afii10104', // BC to BF
'afii10017', 'afii10018', 'afii10019', 'afii10020', // C0 to C3
'afii10021', 'afii10022', 'afii10024', 'afii10025', // C4 to C7
'afii10026', 'afii10027', 'afii10028', 'afii10029', // C8 to CB
'afii10030', 'afii10031', 'afii10032', 'afii10033', // CC to CF
'afii10034', 'afii10035', 'afii10036', 'afii10037', // D0 to D3
'afii10038', 'afii10039', 'afii10040', 'afii10041', // D4 to D7
'afii10042', 'afii10043', 'afii10044', 'afii10045', // D8 to DB
'afii10046', 'afii10047', 'afii10048', 'afii10049', // DC to DF
'afii10065', 'afii10066', 'afii10067', 'afii10068', // E0 to E3
'afii10069', 'afii10070', 'afii10072', 'afii10073', // E4 to E7
'afii10074', 'afii10075', 'afii10076', 'afii10077', // E8 to EB
'afii10078', 'afii10079', 'afii10080', 'afii10081', // EC to EF
'afii10082', 'afii10083', 'afii10084', 'afii10085', // F0 to F3
'afii10086', 'afii10087', 'afii10088', 'afii10089', // F4 to F7
'afii10090', 'afii10091', 'afii10092', 'afii10093', // F8 to FB
'afii10094', 'afii10095', 'afii10095', 'afii10097'); // FC to FF
const
cp1251_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
1026, 1027, 8218, 1107, 8222, 8230, 8224, 8225, // 80 to 87
8364, 8240, 1033, 8249, 1034, 1036, 1035, 1039, // 88 to 8F
1106, 8216, 8217, 8220, 8221, 8226, 8211, 8212, // 90 to 97
-1, 8482, 1113, 8250, 1114, 1116, 1115, 1119, // 98 to 9F
160, 1038, 1118, 1032, 164, 1168, 166, 167, // A0 to A7
1025, 169, 1028, 171, 172, 173, 174, 1031, // A8 to AF
176, 177, 1030, 1110, 1169, 181, 182, 183, // B0 to B7
1105, 8470, 1108, 187, 1112, 1029, 1109, 1111, // B8 to BF
1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, // C0 to C7
1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, // C8 to CF
1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, // D8 to D7
1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, // D8 to DF
1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, // E0 to E7
1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, // E8 to EF
1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, // F0 to F7
1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103); // F8 to FF
const
cp1252_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'Euro', '.notdef', 'quotesinglbase', 'florin', // 80 to 83
'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', // 84 to 87
'circumflex', 'perthousand', 'Scaron', 'guilsinglleft', // 88 to 8B
'OE', '.notdef', 'Zcaron', '.notdef', // 8C to 8F
'.notdef', 'quoteleft', 'quoteright', 'quotedblleft', // 90 to 93
'quotedblright', 'bullet', 'endash', 'emdash', // 94 to 97
'tilde', 'trademark', 'scaron', 'guilsinglright', // 98 to 9B
'oe', '.notdef', 'zcaron', 'Ydieresis', // 9C to 9F
'space', 'exclamdown', 'cent', 'sterling', // A0 to A3
'currency', 'yen', 'brokenbar', 'section', // A4 to A7
'dieresis', 'copyright', 'ordfeminine', 'guillemotleft', // A8 to AB
'logicalnot', 'hyphen', 'registered', 'macron', // AC to AF
'degree', 'plusminus', 'twosuperior', 'threesuperior', // B0 to B3
'acute', 'mu', 'paragraph', 'periodcentered', // B4 to B7
'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright', // B8 to BB
'onequarter', 'onehalf', 'threequarters', 'questiondown', // BC to BF
'Agrave', 'Aacute', 'Acircumflex', 'Atilde', // C0 to C3
'Adieresis', 'Aring', 'AE', 'Ccedilla', // C4 to C7
'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', // C8 to CB
'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', // CC to CF
'Eth', 'Ntilde', 'Ograve', 'Oacute', // D0 to D3
'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', // D4 to D7
'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex', // D8 to DB
'Udieresis', 'Yacute', 'Thorn', 'germandbls', // DC to DF
'agrave', 'aacute', 'acircumflex', 'atilde', // E0 to E3
'adieresis', 'aring', 'ae', 'ccedilla', // E4 to E7
'egrave', 'eacute', 'ecircumflex', 'edieresis', // E8 to EB
'igrave', 'iacute', 'icircumflex', 'idieresis', // EC to EF
'eth', 'ntilde', 'ograve', 'oacute', // F0 to F3
'ocircumflex', 'otilde', 'odieresis', 'divide', // F4 to F7
'oslash', 'ugrave', 'uacute', 'ucircumflex', // F8 to FB
'udieresis', 'yacute', 'thorn', 'ydieresis'); // FC to FF
const
cp1252_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
8364, -1, 8218, 402, 8222, 8230, 8224, 8225, // 80 to 87
710, 8240, 352, 8249, 338, -1, 381, -1, // 88 to 8F
-1, 8216, 8217, 8220, 8221, 8226, 8211, 8212, // 90 to 97
732, 8482, 353, 8250, 339, -1, 382, 376, // 98 to 9F
160, 161, 162, 163, 164, 165, 166, 167, // A0 to A7
168, 169, 170, 171, 172, 173, 174, 175, // A8 to AF
176, 177, 178, 179, 180, 181, 182, 183, // B0 to B7
184, 185, 186, 187, 188, 189, 190, 191, // B8 to BF
192, 193, 194, 195, 196, 197, 198, 199, // C0 to C7
200, 201, 202, 203, 204, 205, 206, 207, // C8 to CF
208, 209, 210, 211, 212, 213, 214, 215, // D0 to D7
216, 217, 218, 219, 220, 221, 222, 223, // D8 to DF
224, 225, 226, 227, 228, 229, 230, 231, // E0 to E7
232, 233, 234, 235, 236, 237, 238, 239, // E8 to EF
240, 241, 242, 243, 244, 245, 246, 247, // F0 to F7
248, 249, 250, 251, 252, 253, 254, 255); // F8 to FF
const
cp1253_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'Euro', '.notdef', 'quotesinglbase', 'florin', // 80 to 83
'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', // 84 to 87
'.notdef', 'perthousand', '.notdef', 'guilsinglleft', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', 'quoteleft', 'quoteright', 'quotedblleft', // 90 to 93
'quotedblright', 'bullet', 'endash', 'emdash', // 94 to 97
'.notdef', 'trademark', '.notdef', 'guilsinglright', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'dieresistonos','Alphatonos', 'sterling', // A0 to A3
'currency', 'yen', 'brokenbar', 'section', // A4 to A7
'dieresis', 'copyright', '.notdef', 'guillemotleft', // A8 to AB
'logicalnot', 'hyphen', 'registered', 'afii00208', // AC to AF
'degree', 'plusminus', 'twosuperior', 'threesuperior', // B0 to B3
'tonos', 'mu', 'paragraph', 'periodcentered', // B4 to B7
'Epsilontonos', 'Etatonos', 'Iotatonos', 'guillemotright', // B8 to BB
'Omicrontonos', 'onehalf', 'Upsilontonos', 'Omegatonos', // BC to BF
'iotadieresistonos', 'Alpha', 'Beta', 'Gamma', // C0 to C3
'Delta', 'Epsilon', 'Zeta', 'Eta', // C4 to C7
'Theta', 'Iota', 'Kappa', 'Lambda', // C8 to CB
'Mu', 'Nu', 'Xi', 'Omicron', // CC to CF
'Pi', 'Rho', '.notdef', 'Sigma', // D0 to D3
'Tau', 'Upsilon', 'Phi', 'Chi', // D4 to D7
'Psi', 'Omega', 'Iotadieresis', 'Upsilondieresis', // D8 to DB
'alphatonos', 'epsilontonos', 'etatonos', 'iotatonos', // DC to DF
'upsilondieresistonos','alpha', 'beta', 'gamma', // E0 to E3
'delta', 'epsilon', 'zeta', 'eta', // E4 to E7
'theta', 'iota', 'kappa', 'lambda', // E8 to EB
'mu', 'nu', 'xi', 'omicron', // EC to EF
'pi', 'rho', 'sigma1', 'sigma', // F0 to F3
'tau', 'upsilon', 'phi', 'chi', // F4 to F7
'psi', 'omega', 'iotadieresis', 'upsilondieresis', // F8 to FB
'omicrontonos', 'upsilontonos', 'omegatonos', '.notdef'); // FC to FF
const
cp1253_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
8364, -1, 8218, 402, 8222, 8230, 8224, 8225, // 80 to 87
-1, 8240, -1, 8249, -1, -1, -1, -1, // 88 to 8F
-1, 8216, 8217, 8220, 8221, 8226, 8211, 8212, // 90 to 97
-1, 8482, -1, 8250, -1, -1, -1, -1, // 98 to 9F
160, 901, 902, 163, 164, 165, 166, 167, // A0 to A7
168, 169, -1, 171, 172, 173, 174, 8213, // A8 to AF
176, 177, 178, 179, 900, 181, 182, 183, // B0 to B7
904, 905, 906, 187, 908, 189, 910, 911, // B8 to BF
912, 913, 914, 915, 916, 917, 918, 919, // C0 to C7
920, 921, 922, 923, 924, 925, 926, 927, // C8 to CF
928, 929, -1, 931, 932, 933, 934, 935, // D0 to D7
936, 937, 938, 939, 940, 941, 942, 943, // D8 to DF
944, 945, 946, 947, 948, 949, 950, 951, // E0 to E7
952, 953, 954, 955, 956, 957, 958, 959, // E8 to EF
960, 961, 962, 963, 964, 965, 966, 967, // F0 to F7
968, 969, 970, 971, 972, 973, 974, -1); // F8 to FF
const
cp1254_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'Euro', '.notdef', 'quotesinglbase', 'florin', // 80 to 83
'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', // 84 to 87
'circumflex', 'perthousand', 'Scaron', 'guilsinglleft', // 88 to 8B
'OE', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', 'quoteleft', 'quoteright', 'quotedblleft', // 90 to 93
'quotedblright', 'bullet', 'endash', 'emdash', // 94 to 97
'tilde', 'trademark', 'scaron', 'guilsinglright', // 98 to 9B
'oe', '.notdef', '.notdef', 'Ydieresis', // 9C to 9F
'space', 'exclamdown', 'cent', 'sterling', // A0 to A3
'currency', 'yen', 'brokenbar', 'section', // A4 to A7
'dieresis', 'copyright', 'ordfeminine', 'guillemotleft', // A8 to AB
'logicalnot', 'hyphen', 'registered', 'macron', // AC to AF
'degree', 'plusminus', 'twosuperior', 'threesuperior', // B0 to B3
'acute', 'mu', 'paragraph', 'periodcentered', // B4 to B7
'cedilla', 'onesuperior','ordmasculine', 'guillemotright', // B8 to BB
'onequarter', 'onehalf', 'threequarters', 'questiondown', // BC to BF
'Agrave', 'Aacute', 'Acircumflex', 'Atilde', // C0 to C3
'Adieresis', 'Aring', 'AE', 'Ccedilla', // C4 to C7
'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', // C8 to CB
'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', // CC to CF
'Gbreve', 'Ntilde', 'Ograve', 'Oacute', // D0 to D3
'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', // D4 to D7
'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex', // D8 to DB
'Udieresis', 'Idotaccent', 'Scedilla', 'germandbls', // DC to DF
'agrave', 'aacute', 'acircumflex', 'atilde', // E0 to E3
'adieresis', 'aring', 'ae', 'ccedilla', // E4 to E7
'egrave', 'eacute', 'ecircumflex', 'edieresis', // E8 to EB
'igrave', 'iacute', 'icircumflex', 'idieresis', // EC to EF
'gbreve', 'ntilde', 'ograve', 'oacute', // F0 to F3
'ocircumflex', 'otilde', 'odieresis', 'divide', // F4 to F7
'oslash', 'ugrave', 'uacute', 'ucircumflex', // F8 to FB
'udieresis', 'dotlessi', 'scedilla', 'ydieresis'); // FC to FF
const
cp1254_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
8364, -1, 8218, 402, 8222, 8230, 8224, 8225, // 80 to 87
710, 8240, 352, 8249, 338, -1, -1, -1, // 88 to 8F
-1, 8216, 8217, 8220, 8221, 8226, 8211, 8212, // 90 to 97
732, 8482, 353, 8250, 339, -1, -1, 376, // 98 to 9F
160, 161, 162, 163, 164, 165, 166, 167, // A0 to A7
168, 169, 170, 171, 172, 173, 174, 175, // A8 to AF
176, 177, 178, 179, 180, 181, 182, 183, // B0 to B7
184, 185, 186, 187, 188, 189, 190, 191, // B8 to BF
192, 193, 194, 195, 196, 197, 198, 199, // C0 to C7
200, 201, 202, 203, 204, 205, 206, 207, // C8 to CF
286, 209, 210, 211, 212, 213, 214, 215, // D0 to D7
216, 217, 218, 219, 220, 304, 350, 223, // D8 to DF
224, 225, 226, 227, 228, 229, 230, 231, // E0 to E7
232, 233, 234, 235, 236, 237, 238, 239, // E8 to EF
287, 241, 242, 243, 244, 245, 246, 247, // F0 to F7
248, 249, 250, 251, 252, 305, 351, 255); // F8 to FF
const
cp1255_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'Euro', '.notdef', 'quotesinglbase', 'florin', // 80 to 83
'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', // 84 to 87
'circumflex', 'perthousand', '.notdef', 'guilsinglleft', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', 'quoteleft', 'quoteright', 'quotedblleft', // 90 to 93
'quotedblright', 'bullet', 'endash', 'emdash', // 94 to 97
'tilde', 'trademark', '.notdef', 'guilsinglright', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'exclamdown', 'cent', 'sterling', // A0 to A3
'afii57636', 'yen', 'brokenbar', 'section', // A4 to A7
'dieresis', 'copyright', 'multiply', 'guillemotleft', // A8 to AB
'logicalnot', 'sfthyphen', 'registered', 'macron', // AC to AF
'degree', 'plusminus', 'twosuperior', 'threesuperior', // B0 to B3
'acute', 'mu', 'paragraph', 'middot', // B4 to B7
'cedilla', 'onesuperior', 'divide', 'guillemotright', // B8 to BB
'onequarter', 'onehalf', 'threequarters', 'questiondown', // BC to BF
'afii57799', 'afii57801', 'afii57800', 'afii57802', // C0 to C3
'afii57793', 'afii57794', 'afii57795', 'afii57798', // C4 to C7
'afii57797', 'afii57806', '.notdef', 'afii57796', // C8 to CB
'afii57807', 'afii57839', 'afii57645', 'afii57841', // CC to CF
'afii57842', 'afii57804', 'afii57803', 'afii57658', // D0 to D3
'afii57716', 'afii57717', 'afii57718', 'gereshhebrew', // D4 to D7
'gershayimhebrew', '.notdef', '.notdef', '.notdef', // D8 to DB
'.notdef', '.notdef', '.notdef', '.notdef', // DC to DF
'afii57664', 'afii57665', 'afii57666', 'afii57667', // E0 to E3
'afii57668', 'afii57669', 'afii57670', 'afii57671', // E4 to E7
'afii57672', 'afii57673', 'afii57674', 'afii57675', // E8 to EB
'afii57676', 'afii57677', 'afii57678', 'afii57679', // EC to EF
'afii57680', 'afii57681', 'afii57682', 'afii57683', // F0 to F3
'afii57684', 'afii57685', 'afii57686', 'afii57687', // F4 to F7
'afii57688', 'afii57689', 'afii57690', '.notdef', // F8 to FB
'.notdef', 'afii299', 'afii300', '.notdef'); // FC to FF
const
cp1255_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
8364, -1, 8218, 402, 8222, 8230, 8224, 8225, // 80 to 87
710, 8240, -1, 8249, -1, -1, -1, -1, // 88 to 8F
-1, 8216, 8217, 8220, 8221, 8226, 8211, 8212, // 90 to 97
732, 8482, -1, 8250, -1, -1, -1, -1, // 98 to 9F
160, 161, 162, 163, 8362, 165, 166, 167, // A0 to A7
168, 169, 215, 171, 172, 173, 174, 175, // A8 to AF
176, 177, 178, 179, 180, 181, 182, 183, // B0 to B7
184, 185, 247, 187, 188, 189, 190, 191, // B8 to BF
1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, // C0 to C7
1464, 1465, -1, 1467, 1468, 1469, 1470, 1471, // C8 to CF
1472, 1473, 1474, 1475, 1520, 1521, 1522, 1523, // D0 to D7
1524, -1, -1, -1, -1, -1, -1, -1, // D8 to DF
1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, // E0 to E7
1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, // E8 to EF
1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, // F0 to F7
1512, 1513, 1514, -1, -1, 8206, 8207, -1); // F8 to FF
const
cp1257_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'Euro', '.notdef', 'quotesinglbase', '.notdef', // 80 to 83
'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', // 84 to 87
'.notdef', 'perthousand', '.notdef', 'guilsinglleft', // 88 to 8B
'.notdef', 'dieresis', 'caron', 'cedilla', // 8C to 8F
'.notdef', 'quoteleft', 'quoteright', 'quotedblleft', // 90 to 93
'quotedblright', 'bullet', 'endash', 'emdash', // 94 to 97
'.notdef', 'trademark', '.notdef', 'guilsinglright', // 98 to 9B
'.notdef', 'macron', 'ogonek', '.notdef', // 9C to 9F
'space', '.notdef', 'cent', 'sterling', // A0 to A3
'currency', '.notdef', 'brokenbar', 'section', // A4 to A7
'Oslash', 'copyright', 'Rcommaaccent', 'guillemotleft', // A8 to AB
'logicalnot', 'hyphen', 'registered', 'AE', // AC to AF
'degree', 'plusminus', 'twosuperior', 'threesuperior', // B0 to B3
'acute', 'mu', 'paragraph', 'periodcentered', // B4 to B7
'oslash', 'onesuperior', 'rcommaaccent', 'guillemotright', // B8 to BB
'onequarter', 'onehalf', 'threequarters', 'ae', // BC to BF
'Aogonek', 'Iogonek', 'Amacron', 'Cacute', // C0 to C3
'Adieresis', 'Aring', 'Eogonek', 'Emacron', // C4 to C7
'Ccaron', 'Eacute', 'Zacute', 'Edotaccent', // C8 to CB
'Gcommaaccent', 'Kcommaaccent', 'Imacron', 'Lcommaaccent', // CC to CF
'Scaron', 'Nacute', 'Ncommaaccent', 'Oacute', // D0 to D3
'Omacron', 'Otilde', 'Odieresis', 'multiply', // D4 to D7
'Uogonek', 'Lslash', 'Sacute', 'Umacron', // D8 to DB
'Udieresis', 'Zdotaccent', 'Zcaron', 'germandbls', // DC to DF
'aogonek', 'iogonek', 'amacron', 'cacute', // E0 to E3
'adieresis', 'aring', 'eogonek', 'emacron', // E4 to E7
'ccaron', 'eacute', 'zacute', 'edotaccent', // E8 to EB
'gcommaaccent', 'kcommaaccent', 'imacron', 'lcommaaccent', // EC to EF
'scaron', 'nacute', 'ncommaaccent', 'oacute', // F0 to F3
'omacron', 'otilde', 'odieresis', 'divide', // F4 to F7
'uogonek', 'lslash', 'sacute', 'umacron', // F8 to FB
'udieresis', 'zdotaccent', 'zcaron', 'dotaccent'); // FC to FF
const
cp1257_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
8364, -1, 8218, -1, 8222, 8230, 8224, 8225, // 80 to 87
-1, 8240, -1, 8249, -1, 168, 711, 184, // 88 to 8F
-1, 8216, 8217, 8220, 8221, 8226, 8211, 8212, // 90 to 97
-1, 8482, -1, 8250, -1, 175, 731, -1, // 98 to 9F
160, -1, 162, 163, 164, -1, 166, 167, // A0 to A7
216, 169, 342, 171, 172, 173, 174, 198, // A0 to AF
176, 177, 178, 179, 180, 181, 182, 183, // B0 to B7
248, 185, 343, 187, 188, 189, 190, 230, // B8 to BF
260, 302, 256, 262, 196, 197, 280, 274, // C0 to C7
268, 201, 377, 278, 290, 310, 298, 315, // C8 to CF
352, 323, 325, 211, 332, 213, 214, 215, // D0 to D7
370, 321, 346, 362, 220, 379, 381, 223, // D8 to DF
261, 303, 257, 263, 228, 229, 281, 275, // E0 to E7
269, 233, 378, 279, 291, 311, 299, 316, // E8 to EF
353, 324, 326, 243, 333, 245, 246, 247, // F0 to F7
371, 322, 347, 363, 252, 380, 382, 729); // F8 to FF
const
cp1258_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'Euro', '.notdef', 'quotesinglbase', 'florin', // 80 to 83
'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', // 84 to 87
'circumflex', 'perthousand', '.notdef', 'guilsinglleft', // 88 to 8B
'OE', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', 'quoteleft', 'quoteright', 'quotedblleft', // 90 to 93
'quotedblright', 'bullet', 'endash', 'emdash', // 94 to 97
'tilde', 'trademark', '.notdef', 'guilsinglright', // 98 to 9B
'oe', '.notdef', '.notdef', 'Ydieresis', // 9C to 9F
'space', 'exclamdown', 'cent', 'sterling', // A0 to A3
'currency', 'yen', 'brokenbar', 'section', // A4 to A7
'dieresis', 'copyright', 'ordfeminine', 'guillemotleft', // A8 to AB
'logicalnot', 'hyphen', 'registered', 'macron', // AC to AF
'degree', 'plusminus', 'twosuperior', 'threesuperior', // B0 to B3
'acute', 'mu', 'paragraph', 'periodcentered', // B4 to B7
'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright', // B8 to BB
'onequarter', 'onehalf', 'threequarters', 'questiondown', // BC to BF
'Agrave', 'Aacute', 'Acircumflex', 'Abreve', // C0 to C3
'Adieresis', 'Aring', 'AE', 'Ccedilla', // C4 to C7
'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', // C8 to CB
'gravecomb', 'Iacute', 'Icircumflex', 'Idieresis', // CC to CF
'Dcroat', 'Ntilde', 'hookabovecomb', 'Oacute', // D0 to D3
'Ocircumflex', 'Ohorn', 'Odieresis', 'multiply', // D4 to D7
'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex', // D8 to DB
'Udieresis', 'Uhorn', 'tildecomb', 'germandbls', // DC to DF
'agrave', 'aacute', 'acircumflex', 'abreve', // E0 to E3
'adieresis', 'aring', 'ae', 'ccedilla', // E4 to E7
'egrave', 'eacute', 'ecircumflex', 'edieresis', // E8 to EB
'acutecomb', 'iacute', 'icircumflex', 'idieresis', // EC to EF
'dcroat', 'ntilde', 'dotbelowcomb', 'oacute', // F0 to F3
'ocircumflex', 'ohorn', 'odieresis', 'divide', // F4 to F7
'oslash', 'ugrave', 'uacute', 'ucircumflex', // F8 to FB
'udieresis', 'uhorn', 'dong', 'ydieresis'); // FC to FF
const
cp1258_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
8264, -1, 8218, 402, 8222, 8230, 8224, 8225, // 80 to 87
710, 8240, -1, 8249, 338, -1, -1, -1, // 88 to 8F
-1, 8216, 8217, 8220, 8221, 8226, 8211, 8212, // 90 to 97
732, 8482, -1, 8250, 339, -1, -1, 376, // 98 to 9F
160, 161, 162, 163, 164, 165, 166, 167, // A0 to A7
168, 169, 170, 171, 172, 173, 174, 175, // A8 to AF
176, 177, 178, 179, 180, 181, 182, 183, // B0 to B7
184, 185, 186, 187, 188, 189, 190, 191, // B8 to BF
192, 193, 194, 258, 196, 197, 198, 199, // C0 to C7
200, 201, 202, 203, 768, 205, 206, 207, // C8 to CF
272, 209, 777, 211, 212, 416, 214, 215, // D0 to D7
216, 217, 218, 219, 220, 431, 771, 223, // D8 to DF
224, 225, 226, 259, 228, 229, 230, 231, // E0 to E7
232, 233, 234, 235, 769, 237, 238, 239, // E8 to EF
273, 241, 803, 243, 244, 417, 246, 247, // F0 to F7
248, 249, 250, 251, 252, 432, 8363, 255); // F8 to FF
const
iso_8859_1_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'.notdef', '.notdef', '.notdef', '.notdef', // 80 to 83
'.notdef', '.notdef', '.notdef', '.notdef', // 84 to 87
'.notdef', '.notdef', '.notdef', '.notdef', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', '.notdef', '.notdef', '.notdef', // 90 to 93
'.notdef', '.notdef', '.notdef', '.notdef', // 94 to 97
'.notdef', '.notdef', '.notdef', '.notdef', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'exclamdown', 'cent', 'sterling', // A0 to A3
'currency', 'yen', 'brokenbar', 'section', // A4 to A7
'dieresis', 'copyright', 'ordfeminine', 'guillemotleft', // A8 to AB
'logicalnot', 'hyphen', 'registered', 'macron', // AC to AF
'degree', 'plusminus', 'twosuperior', 'threesuperior', // B0 to B3
'acute', 'mu', 'paragraph', 'periodcentered', // B4 to B7
'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright', // B8 to BB
'onequarter', 'onehalf', 'threequarters','questiondown', // BC to BF
'Agrave', 'Aacute', 'Acircumflex', 'Atilde', // C0 to C3
'Adieresis', 'Aring', 'AE', 'Ccedilla', // C4 to C7
'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', // C8 to CB
'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', // CC to CF
'Eth', 'Ntilde', 'Ograve', 'Oacute', // D0 to D3
'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', // D4 to D7
'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex', // D8 to DB
'Udieresis', 'Yacute', 'Thorn', 'germandbls', // DC to DF
'agrave', 'aacute', 'acircumflex', 'atilde', // E0 to E3
'adieresis', 'aring', 'ae', 'ccedilla', // E4 to E7
'egrave', 'eacute', 'ecircumflex', 'edieresis', // E8 to EB
'igrave', 'iacute', 'icircumflex', 'idieresis', // EC to EF
'eth', 'ntilde', 'ograve', 'oacute', // F0 to F3
'ocircumflex', 'otilde', 'odieresis', 'divide', // F4 to F7
'oslash', 'ugrave', 'uacute', 'ucircumflex', // F8 to FB
'udieresis', 'yacute', 'thorn', 'ydieresis'); // FC to FF
const
iso_8859_1_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
-1, -1, -1, -1, -1, -1, -1, -1, // 80 to 87
-1, -1, -1, -1, -1, -1, -1, -1, // 88 to 8F
-1, -1, -1, -1, -1, -1, -1, -1, // 90 to 97
-1, -1, -1, -1, -1, -1, -1, -1, // 98 to 9F
160, 161, 162, 163, 164, 165, 166, 167, // A0 to A7
168, 169, 170, 171, 172, 173, 174, 175, // A8 to AF
176, 177, 178, 179, 180, 181, 182, 183, // B0 to B7
184, 185, 186, 187, 188, 189, 190, 191, // B8 to BF
192, 193, 194, 195, 196, 197, 198, 199, // C0 to C7
200, 201, 202, 203, 204, 205, 206, 207, // C8 to CF
208, 209, 210, 211, 212, 213, 214, 215, // D0 to D7
216, 217, 218, 219, 220, 221, 222, 223, // D8 to DF
224, 225, 226, 227, 228, 229, 230, 231, // E0 to E7
232, 233, 234, 235, 236, 237, 238, 239, // E8 to EF
240, 241, 242, 243, 244, 245, 246, 247, // F0 to F7
248, 249, 250, 251, 252, 253, 254, 255); // F8 to FF
const
iso_8859_2_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'.notdef', '.notdef', '.notdef', '.notdef', // 80 to 83
'.notdef', '.notdef', '.notdef', '.notdef', // 84 to 87
'.notdef', '.notdef', '.notdef', '.notdef', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', '.notdef', '.notdef', '.notdef', // 90 to 93
'.notdef', '.notdef', '.notdef', '.notdef', // 94 to 97
'.notdef', '.notdef', '.notdef', '.notdef', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'Aogonek', 'breve', 'Lslash', // A0 to A3
'currency', 'Lcaron', 'Sacute', 'section', // A4 to A7
'dieresis', 'Scaron', 'Scedilla', 'Tcaron', // A8 to AB
'Zacute', 'hyphen', 'Zcaron', 'Zdotaccent', // AC to AF
'degree', 'aogonek', 'ogonek', 'lslash', // B0 to B3
'acute', 'lcaron', 'sacute', 'caron', // B4 to B7
'cedilla', 'scaron', 'scedilla', 'tcaron', // B8 to BB
'zacute', 'hungarumlaut', 'zcaron', 'zdotaccent', // BC to BF
'Racute', 'Aacute', 'Acircumflex', 'Abreve', // C0 to C3
'Adieresis', 'Lacute', 'Cacute', 'Ccedilla', // C4 to C7
'Ccaron', 'Eacute', 'Eogonek', 'Edieresis', // C8 to CB
'Ecaron', 'Iacute', 'Icircumflex', 'Dcaron', // CC to CF
'Dcroat', 'Nacute', 'Ncaron', 'Oacute', // D0 to D3
'Ocircumflex', 'Ohungarumlaut','Odieresis', 'multiply', // D4 to D7
'Rcaron', 'Uring', 'Uacute', 'Uhungarumlaut', // D8 to DB
'Udieresis', 'Yacute', 'Tcommaaccent', 'germandbls', // DC to DF
'racute', 'aacute', 'acircumflex', 'abreve', // E0 to E3
'adieresis', 'lacute', 'cacute', 'ccedilla', // E4 to E7
'ccaron', 'eacute', 'eogonek', 'edieresis', // E8 to EB
'ecaron', 'iacute', 'icircumflex', 'dcaron', // EC to EF
'dcroat', 'nacute', 'ncaron', 'oacute', // F0 to F3
'ocircumflex', 'ohungarumlaut','odieresis', 'divide', // F4 to F7
'rcaron', 'uring', 'uacute', 'uhungarumlaut', // F8 to FB
'udieresis', 'yacute', 'tcommaaccent', 'dotaccent'); // FC to FF
const
iso_8859_2_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
-1, -1, -1, -1, -1, -1, -1, -1, // 80 to 87
-1, -1, -1, -1, -1, -1, -1, -1, // 88 to 8F
-1, -1, -1, -1, -1, -1, -1, -1, // 90 to 97
-1, -1, -1, -1, -1, -1, -1, -1, // 98 to 9F
160, 260, 728, 321, 164, 317, 346, 167, // A0 to A7
168, 352, 350, 356, 377, 173, 381, 379, // A8 to AF
176, 261, 731, 322, 180, 318, 347, 711, // B0 to B7
184, 353, 351, 357, 378, 733, 382, 380, // B8 to BF
340, 193, 194, 258, 196, 313, 262, 199, // C0 to C7
268, 201, 280, 203, 282, 205, 206, 270, // C8 to CF
272, 323, 327, 211, 212, 336, 214, 215, // D0 to D7
344, 366, 218, 368, 220, 221, 354, 223, // D8 to DF
341, 225, 226, 259, 228, 314, 263, 231, // E0 to E7
269, 233, 281, 235, 283, 237, 238, 271, // E8 to EF
273, 324, 328, 243, 244, 337, 246, 247, // F0 to F7
345, 367, 250, 369, 252, 253, 355, 729); // F8 to FF
const
iso_8859_4_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'.notdef', '.notdef', '.notdef', '.notdef', // 80 to 83
'.notdef', '.notdef', '.notdef', '.notdef', // 84 to 87
'.notdef', '.notdef', '.notdef', '.notdef', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', '.notdef', '.notdef', '.notdef', // 90 to 93
'.notdef', '.notdef', '.notdef', '.notdef', // 94 to 97
'.notdef', '.notdef', '.notdef', '.notdef', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'Aogonek', 'kgreenlandic', 'Rcommaaccent', // A0 to A3
'currency', 'Itilde', 'Lcommaaccent', 'section', // A4 to A7
'dieresis', 'Scaron', 'Emacron', 'Gcommaaccent', // A8 to AB
'Tbar', 'hyphen', 'Zcaron', 'macron', // AC to AF
'degree', 'aogonek', 'ogonek', 'rcommaaccent', // B0 to B3
'acute', 'itilde', 'lcommaaccent', 'caron', // B4 to B7
'cedilla', 'scaron', 'emacron', 'gcommaaccent', // B8 to BB
'tbar', 'Eng', 'zcaron', 'eng', // BC to BF
'Amacron', 'Aacute', 'Acircumflex', 'Atilde', // C0 to C3
'Adieresis', 'Aring', 'AE', 'Iogonek', // C4 to C7
'Ccaron', 'Eacute', 'Eogonek', 'Edieresis', // C8 to CB
'Edotaccent', 'Iacute', 'Icircumflex', 'Imacron', // CC to CF
'Dcroat', 'Ncommaaccent', 'Omacron', 'Kcommaaccent', // D0 to D3
'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', // D4 to D7
'Oslash', 'Uogonek', 'Uacute', 'Ucircumflex', // D8 to DB
'Udieresis', 'Utilde', 'Umacron', 'germandbls', // DC to DF
'amacron', 'aacute', 'acircumflex', 'atilde', // E0 to E3
'adieresis', 'aring', 'ae', 'iogonek', // E4 to E7
'ccaron', 'eacute', 'eogonek', 'edieresis', // E8 to EB
'edotaccent', 'iacute', 'icircumflex', 'imacron', // EC to EF
'dcroat', 'ncommaaccent', 'omacron', 'kcommaaccent', // F0 to F3
'ocircumflex', 'otilde', 'odieresis', 'divide', // F4 to F7
'oslash', 'uogonek', 'uacute', 'ucircumflex', // F8 to FB
'udieresis', 'utilde', 'umacron', 'dotaccent'); // FC to FF
const
iso_8859_4_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
-1, -1, -1, -1, -1, -1, -1, -1, // 80 to 87
-1, -1, -1, -1, -1, -1, -1, -1, // 88 to 8F
-1, -1, -1, -1, -1, -1, -1, -1, // 90 to 97
-1, -1, -1, -1, -1, -1, -1, -1, // 98 to 9F
160, 260, 312, 342, 164, 296, 315, 167, // A4 to A7
168, 352, 274, 290, 358, 173, 381, 175, // AC to AF
176, 261, 731, 343, 180, 297, 316, 711, // B4 to B7
184, 353, 275, 291, 359, 330, 382, 331, // BC to BF
256, 193, 194, 195, 196, 197, 198, 302, // C4 to C7
268, 201, 280, 203, 278, 205, 206, 298, // CC to CF
272, 325, 332, 310, 212, 213, 214, 215, // D4 to D7
216, 370, 218, 219, 220, 360, 362, 223, // DC to DF
257, 225, 226, 227, 228, 229, 230, 303, // E4 to E7
269, 233, 281, 235, 279, 237, 238, 299, // EC to EF
273, 326, 333, 311, 244, 245, 246, 247, // F4 to F7
248, 371, 250, 251, 252, 361, 363, 729); // FC to FF
const
iso_8859_5_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum','underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'.notdef', '.notdef', '.notdef', '.notdef', // 80 to 83
'.notdef', '.notdef', '.notdef', '.notdef', // 84 to 87
'.notdef', '.notdef', '.notdef', '.notdef', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', '.notdef', '.notdef', '.notdef', // 90 to 93
'.notdef', '.notdef', '.notdef', '.notdef', // 94 to 97
'.notdef', '.notdef', '.notdef', '.notdef', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'afii10023', 'afii10051', 'afii10052', // A0 to A3
'afii10053', 'afii10054', 'afii10055', 'afii10056', // A4 to A7
'afii10057', 'afii10058', 'afii10059', 'afii10060', // A8 to AB
'afii10061', 'hyphen', 'afii10062', 'afii10145', // AC to AF
'afii10017', 'afii10018', 'afii10019', 'afii10020', // B0 to B3
'afii10021', 'afii10022', 'afii10024', 'afii10025', // B4 to B7
'afii10026', 'afii10027', 'afii10028', 'afii10029', // B8 to BB
'afii10030', 'afii10031', 'afii10032', 'afii10033', // BC to BF
'afii10034', 'afii10035', 'afii10036', 'afii10037', // C0 to C3
'afii10038', 'afii10039', 'afii10040', 'afii10041', // C4 to C7
'afii10042', 'afii10043', 'afii10044', 'afii10045', // C8 to CB
'afii10046', 'afii10047', 'afii10048', 'afii10049', // CC to CF
'afii10065', 'afii10065', 'afii10067', 'afii10068', // D0 to D3
'afii10069', 'afii10070', 'afii10072', 'afii10073', // D4 to D7
'afii10074', 'afii10075', 'afii10076', 'afii10077', // D8 to DB
'afii10078', 'afii10079', 'afii10080', 'afii10081', // DC to DF
'afii10082', 'afii10083', 'afii10084', 'afii10085', // E0 to E3
'afii10086', 'afii10087', 'afii10088', 'afii10089', // E4 to E7
'afii10090', 'afii10091', 'afii10092', 'afii10093', // E8 to EB
'afii10094', 'afii10095', 'afii10096', 'afii10097', // EC to EF
'afii61352', 'afii10071', 'afii10099', 'afii10100', // F0 to F3
'afii10101', 'afii10102', 'afii10103', 'afii10104', // F4 to F7
'afii10105', 'afii10106', 'afii10107', 'afii10108', // F8 to FB
'afii10109', 'section', 'afii10110', 'afii10193'); // FC to FF
const
iso_8859_5_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
-1, -1, -1, -1, -1, -1, -1, -1, // 80 to 87
-1, -1, -1, -1, -1, -1, -1, -1, // 88 to 8F
-1, -1, -1, -1, -1, -1, -1, -1, // 90 to 97
-1, -1, -1, -1, -1, -1, -1, -1, // 98 to 9F
160, 1025, 1026, 1027, 1028, 1029, 1030, 1031, // A0 to A7
1032, 1033, 1034, 1035, 1036, 173, 1038, 1039, // A8 to AF
1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, // B0 to B7
1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, // B8 to BF
1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, // C0 to C7
1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, // C8 to CF
1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, // D0 to D7
1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, // D8 to DF
1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, // E0 to E7
1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, // E8 to EF
8470, 1105, 1106, 1107, 1108, 1109, 1110, 1111, // F0 to F7
1112, 1113, 1114, 1115, 1116, 167, 1118, 1119); // F8 to FF
const
iso_8859_7_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'.notdef', '.notdef', '.notdef', '.notdef', // 80 to 83
'.notdef', '.notdef', '.notdef', '.notdef', // 84 to 87
'.notdef', '.notdef', '.notdef', '.notdef', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', '.notdef', '.notdef', '.notdef', // 90 to 93
'.notdef', '.notdef', '.notdef', '.notdef', // 94 to 97
'.notdef', '.notdef', '.notdef', '.notdef', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'quoteleft', 'quoteright', 'sterling', // A0 to A3
'brokenbar', 'section', 'dieresis', 'copyright', // A4 to A7
'guillemotleft', 'logicalnot', 'hyphen', 'afii00208', // A8 to AB
'degree', 'plusminus', 'twosuperior', 'threesuperior', // AC to AF
'tonos', 'dieresistonos','Alphatonos', 'periodcentered', // B0 to B3
'Epsilontonos', 'Etatonos', 'Iotatonos', 'guillemotright', // B4 to B7
'Omicrontonos', 'onehalf', 'Upsilontonos', 'Omegatonos', // B8 to BB
'iotadieresistonos', 'Alpha', 'Beta', 'Gamma', // BC to BF
'Delta', 'Epsilon', 'Zeta', 'Eta', // C0 to C3
'Theta', 'Iota', 'Kappa', 'Lambda', // C4 to C7
'Mu', 'Nu', 'Xi', 'Omicron', // C8 to CB
'Pi', 'Rho', 'Sigma', 'Tau', // CC to CF
'Upsilon', 'Phi', 'Chi', 'Psi', // D0 to D3
'Omega', 'Iotadieresis', 'Upsilondieresis','alphatonos', // D4 to D7
'epsilontonos', 'etatonos', 'iotatonos', 'upsilondieresistonos', // D8 to DB
'alpha', 'beta', 'gamma', 'delta', // DC to DF
'epsilon', 'zeta', 'eta', 'theta', // E0 to E3
'iota', 'kappa', 'lambda', 'mu', // E4 to E7
'nu', 'xi', 'omicron', 'pi', // E8 to EB
'rho', 'sigma1', 'sigma', 'tau', // EC to EF
'upsilon', 'phi', 'chi', 'psi', // F0 to F3
'omega', 'iotadieresis', 'upsilondieresis','omicrontonos', // F4 to F7
'upsilontonos', 'omegatonos', '.notdef', '.notdef', // F8 to FB
'.notdef', '.notdef', '.notdef', '.notdef'); // FC to FF
const
iso_8859_7_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
-1, -1, -1, -1, -1, -1, -1, -1, // 80 to 87
-1, -1, -1, -1, -1, -1, -1, -1, // 88 to 8F
-1, -1, -1, -1, -1, -1, -1, -1, // 90 to 97
-1, -1, -1, -1, -1, -1, -1, -1, // 98 to 9F
160, 8216, 8217, 163, 166, 167, 168, 169, // A0 to A7
171, 172, 173, 8213, 176, 177, 178, 179, // A8 to AF
900, 901, 902, 183, 904, 905, 906, 187, // B0 to B7
908, 189, 910, 911, 912, 913, 914, 915, // B8 to BF
916, 917, 918, 919, 920, 921, 922, 923, // C0 to C7
924, 925, 926, 927, 928, 929, 931, 932, // C8 to CF
933, 934, 935, 936, 937, 938, 939, 940, // D0 to D7
941, 942, 943, 944, 945, 946, 947, 948, // D8 to DF
949, 950, 951, 952, 953, 954, 955, 956, // E0 to E7
957, 958, 959, 960, 961, 962, 963, 964, // E8 to EF
965, 966, 967, 968, 969, 970, 971, 972, // F0 to F7
973, 974, -1, -1, -1, -1, -1, -1); // F8 to FF
const
iso_8859_9_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'.notdef', '.notdef', '.notdef', '.notdef', // 80 to 83
'.notdef', '.notdef', '.notdef', '.notdef', // 84 to 87
'.notdef', '.notdef', '.notdef', '.notdef', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', '.notdef', '.notdef', '.notdef', // 90 to 93
'.notdef', '.notdef', '.notdef', '.notdef', // 94 to 97
'.notdef', '.notdef', '.notdef', '.notdef', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'exclamdown', 'cent', 'sterling', // A0 to A3
'currency', 'yen', 'brokenbar', 'section', // A4 to A7
'dieresis', 'copyright', 'ordfeminine', 'guillemotleft', // A8 to AB
'logicalnot', 'hyphen', 'registered', 'macron', // AC to AF
'degree', 'plusminus', 'twosuperior', 'threesuperior', // B0 to B3
'acute', 'mu', 'paragraph', 'periodcentered', // B4 to B7
'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright', // B8 to BB
'onequarter', 'onehalf', 'threequarters','questiondown', // BC to BF
'Agrave', 'Aacute', 'Acircumflex', 'Atilde', // C0 to C3
'Adieresis', 'Aring', 'AE', 'Ccedilla', // C4 to C7
'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', // C8 to CB
'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', // CC to CF
'Gbreve', 'Ntilde', 'Ograve', 'Oacute', // D0 to D3
'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', // D4 to D7
'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex', // D8 to DB
'Udieresis', 'Idotaccent', 'Scedilla', 'germandbls', // DC to DF
'agrave', 'aacute', 'acircumflex', 'atilde', // E0 to E3
'adieresis', 'aring', 'ae', 'ccedilla', // E4 to E7
'egrave', 'eacute', 'ecircumflex', 'edieresis', // E8 to EB
'igrave', 'iacute', 'icircumflex', 'idieresis', // EC to EF
'gbreve', 'ntilde', 'ograve', 'oacute', // F0 to F3
'ocircumflex', 'otilde', 'odieresis', 'divide', // F4 to F7
'oslash', 'ugrave', 'uacute', 'ucircumflex', // F8 to FB
'udieresis', 'dotlessi', 'scedilla', 'ydieresis'); // FC to FF
const
iso_8859_9_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
-1, -1, -1, -1, -1, -1, -1, -1, // 80 to 87
-1, -1, -1, -1, -1, -1, -1, -1, // 88 to 8F
-1, -1, -1, -1, -1, -1, -1, -1, // 90 to 97
-1, -1, -1, -1, -1, -1, -1, -1, // 98 to 9F
160, 161, 162, 163, 164, 165, 166, 167, // A0 to A7
168, 169, 170, 171, 172, 173, 174, 175, // A8 to AF
176, 177, 178, 179, 180, 181, 182, 183, // B0 to B7
184, 185, 186, 187, 188, 189, 190, 191, // B8 to BF
192, 193, 194, 195, 196, 197, 198, 199, // C0 to C7
200, 201, 202, 203, 204, 205, 206, 207, // C8 to CF
286, 209, 210, 211, 212, 213, 214, 215, // D0 to D7
216, 217, 218, 219, 220, 304, 350, 223, // D8 to DF
224, 225, 226, 227, 228, 229, 230, 231, // E0 to E7
232, 233, 234, 235, 236, 237, 238, 239, // E8 to EF
287, 241, 242, 243, 244, 245, 246, 247, // F0 to F7
248, 249, 250, 251, 252, 305, 351, 255); // F8 to FF
const
iso_8859_11_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'.notdef', '.notdef', '.notdef', '.notdef', // 80 to 83
'.notdef', '.notdef', '.notdef', '.notdef', // 84 to 87
'.notdef', '.notdef', '.notdef', '.notdef', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', '.notdef', '.notdef', '.notdef', // 90 to 93
'.notdef', '.notdef', '.notdef', '.notdef', // 94 to 97
'.notdef', '.notdef', '.notdef', '.notdef', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'kokaithai', 'khokhaithai', 'khokhuatthai', // A0 to A3
'khokhwaithai', 'khokhonthai', 'khorakhangthai', 'ngonguthai', // A4 to A7
'chochanthai', 'chochingthai', 'chochangthai', 'sosothai', // A8 to AB
'chochoethai', 'yoyingthai', 'dochadathai', 'topatakthai', // AC to AF
'thothanthai', 'thonangmonthothai','thophuthaothai', 'nonenthai', // B0 to B3
'dodekthai', 'totaothai', 'thothungthai', 'thothahanthai', // B4 to B7
'thothongthai', 'nonuthai', 'bobaimaithai', 'poplathai', // B8 to BB
'phophungthai', 'fofathai', 'phophanthai', 'fofanthai', // BC to BF
'phosamphaothai', 'momathai', 'yoyakthai', 'roruathai', // C0 to C3
'ruthai', 'lolingthai', 'luthai', 'wowaenthai', // C4 to C7
'sosalathai', 'sorusithai', 'sosuathai', 'hohipthai', // C8 to CB
'lochulathai', 'oangthai', 'honokhukthai', 'paiyannoithai', // CC to CF
'saraathai', 'maihanakatthai', 'saraaathai', 'saraamthai', // D0 to D3
'saraithai', 'saraiithai', 'sarauethai', 'saraueethai', // D4 to D7
'sarauthai', 'sarauuthai', 'phinthuthai', '.notdef', // D8 to DB
'.notdef', '.notdef', '.notdef', 'bahtthai', // DC to DF
'saraethai', 'saraaethai', 'saraothai', 'saraaimaimuanthai', // E0 to E3
'saraaimaimalaithai','lakkhangyaothai', 'maiyamokthai', 'maitaikhuthai', // E4 to E7
'maiekthai', 'maithothai', 'maitrithai', 'maichattawathai', // E8 to EB
'thanthakhatthai', 'nikhahitthai', 'yamakkanthai', 'fongmanthai', // EC to EF
'zerothai', 'onethai', 'twothai', 'threethai', // F0 to F3
'fourthai', 'fivethai', 'sixthai', 'seventhai', // F4 to F7
'eightthai', 'ninethai', 'angkhankhuthai', 'khomutthai', // F8 to FB
'.notdef', '.notdef', '.notdef', '.notdef'); // FC to FF
const
iso_8859_11_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
-1, -1, -1, -1, -1, -1, -1, -1, // 80 to 87
-1, -1, -1, -1, -1, -1, -1, -1, // 88 to 8F
-1, -1, -1, -1, -1, -1, -1, -1, // 90 to 97
-1, -1, -1, -1, -1, -1, -1, -1, // 98 to 9F
160, 3585, 3586, 3587, 3588, 3589, 3590, 3591, // A0 to A7
3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, // A8 to AF
3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, // B0 to B7
3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, // B8 to BF
3616, 3617, 3618, 3619, 3620, 3621, 3622, 3623, // C0 to C7
3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, // C8 to CF
3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, // D0 to D7
3640, 3641, 3642, -1, -1, -1, -1, 3647, // D8 to DF
3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, // E0 to E7
3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663, // E8 to EF
3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, // F0 to F7
3672, 3673, 3674, 3675, -1, -1, -1, -1); // F8 to FF
const
iso_8859_15_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'.notdef', '.notdef', '.notdef', '.notdef', // 80 to 83
'.notdef', '.notdef', '.notdef', '.notdef', // 84 to 87
'.notdef', '.notdef', '.notdef', '.notdef', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', '.notdef', '.notdef', '.notdef', // 90 to 93
'.notdef', '.notdef', '.notdef', '.notdef', // 94 to 97
'.notdef', '.notdef', '.notdef', '.notdef', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'exclamdown', 'cent', 'sterling', // A0 to A3
'Euro', 'yen', 'Scaron', 'section', // A4 to A7
'scaron', 'copyright', 'ordfeminine', 'guillemotleft', // A8 to AB
'logicalnot', 'hyphen', 'registered', 'macron', // AC to AF
'degree', 'plusminus', 'twosuperior', 'threesuperior', // B0 to B3
'Zcaron', 'mu', 'paragraph', 'periodcentered', // B4 to B7
'zcaron', 'onesuperior', 'ordmasculine', 'guillemotright', // B8 to BB
'OE', 'oe', 'Ydieresis', 'questiondown', // BC to BF
'Agrave', 'Aacute', 'Acircumflex', 'Atilde', // C0 to C3
'Adieresis', 'Aring', 'AE', 'Ccedilla', // C4 to C7
'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', // C8 to CB
'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', // CC to CF
'Eth', 'Ntilde', 'Ograve', 'Oacute', // D0 to D3
'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', // D4 to D7
'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex', // D8 to DB
'Udieresis', 'Yacute', 'Thorn', 'germandbls', // DC to DF
'agrave', 'aacute', 'acircumflex', 'atilde', // E0 to E3
'adieresis', 'aring', 'ae', 'ccedilla', // E4 to E7
'egrave', 'eacute', 'ecircumflex', 'edieresis', // E8 to EB
'igrave', 'iacute', 'icircumflex', 'idieresis', // EC to EF
'eth', 'ntilde', 'ograve', 'oacute', // F0 to F3
'ocircumflex', 'otilde', 'odieresis', 'divide', // F4 to F7
'oslash', 'ugrave', 'uacute', 'ucircumflex', // F8 to FB
'udieresis', 'yacute', 'thorn', 'ydieresis'); // FC to FF
const
iso_8859_15_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
-1, -1, -1, -1, -1, -1, -1, -1, // 80 to 87
-1, -1, -1, -1, -1, -1, -1, -1, // 88 to 8F
-1, -1, -1, -1, -1, -1, -1, -1, // 90 to 97
-1, -1, -1, -1, -1, -1, -1, -1, // 98 to 9F
160, 161, 162, 163, 8364, 165, 352, 167, // A0 to A7
353, 169, 170, 171, 172, 173, 174, 175, // A8 to AF
176, 177, 178, 179, 381, 181, 182, 183, // B0 to B7
382, 185, 186, 187, 338, 339, 376, 191, // B8 to BF
192, 193, 194, 195, 196, 197, 198, 199, // C0 to C7
200, 201, 202, 203, 204, 205, 206, 207, // C8 to CF
208, 209, 210, 211, 212, 213, 214, 215, // D0 to D7
216, 217, 218, 219, 220, 221, 222, 223, // D8 to DF
224, 225, 226, 227, 228, 229, 230, 231, // E0 to E7
232, 233, 234, 235, 236, 237, 238, 239, // E8 to EF
240, 241, 242, 243, 244, 245, 246, 247, // F0 to F7
248, 249, 250, 251, 252, 253, 254, 255); // F8 to FF
const
iso_8859_16_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'.notdef', '.notdef', '.notdef', '.notdef', // 80 to 83
'.notdef', '.notdef', '.notdef', '.notdef', // 84 to 87
'.notdef', '.notdef', '.notdef', '.notdef', // 88 to 8B
'.notdef', '.notdef', '.notdef', '.notdef', // 8C to 8F
'.notdef', '.notdef', '.notdef', '.notdef', // 90 to 93
'.notdef', '.notdef', '.notdef', '.notdef', // 94 to 97
'.notdef', '.notdef', '.notdef', '.notdef', // 98 to 9B
'.notdef', '.notdef', '.notdef', '.notdef', // 9C to 9F
'space', 'Aogonek', 'aogonek', 'Lslash', // A0 to A3
'Euro', 'quotedblbase', 'Scaron', 'section', // A4 to A7
'scaron', 'copyright', 'Scommaaccent', 'guillemotleft', // A8 to AB
'Zacute', 'hyphen', 'zacute', 'Zdotaccent', // AC to AF
'degree', 'plusminus', 'Ccaron', 'lslash', // B0 to B3
'Zcaron', 'quotedblright','paragraph', 'periodcentered', // B4 to B7
'zcaron', 'ccaron', 'scommaaccent', 'guillemotright', // B8 to BB
'OE', 'oe', 'Ydieresis', 'zdotaccent', // BC to BF
'Agrave', 'Aacute', 'Acircumflex', 'Abreve', // C0 to C3
'Adieresis', 'Cacute', 'AE', 'Ccedilla', // C4 to C7
'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', // C8 to CB
'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', // CC to CF
'Dcroat', 'Nacute', 'Ograve', 'Oacute', // D0 to D3
'Ocircumflex', 'Ohungarumlaut','Odieresis', 'Sacute', // D4 to D7
'Uhungarumlaut', 'Ugrave', 'Uacute', 'Ucircumflex', // D8 to DB
'Udieresis', 'Eogonek', 'Tcommaaccent', 'germandbls', // DC to DF
'agrave', 'aacute', 'acircumflex', 'abreve', // E0 to E3
'adieresis', 'cacute', 'ae', 'ccedilla', // E4 to E7
'egrave', 'eacute', 'ecircumflex', 'edieresis', // E8 to EB
'igrave', 'iacute', 'icircumflex', 'idieresis', // EC to EF
'dcroat', 'nacute', 'ograve', 'oacute', // F0 to F3
'ocircumflex', 'ohungarumlaut','odieresis', 'sacute', // F4 to F7
'uhungarumlaut', 'ugrave', 'uacute', 'ucircumflex', // F8 to FB
'udieresis', 'eogonek', 'tcommaaccent', 'ydieresis'); // FC to FF
const
iso_8859_16_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
-1, -1, -1, -1, -1, -1, -1, -1, // 80 to 87
-1, -1, -1, -1, -1, -1, -1, -1, // 88 to 8F
-1, -1, -1, -1, -1, -1, -1, -1, // 90 to 97
-1, -1, -1, -1, -1, -1, -1, -1, // 98 to 9F
160, 260, 261, 321, 8364, 8222, 352, 167, // A0 to A7
353, 169, 536, 171, 377, 173, 378, 379, // A8 to AF
176, 177, 268, 322, 381, 8221, 182, 183, // B0 to B7
382, 269, 537, 187, 338, 339, 376, 380, // B8 to BF
192, 193, 194, 258, 196, 262, 198, 199, // C0 to C7
200, 201, 202, 203, 204, 205, 206, 207, // C8 to CF
272, 323, 210, 211, 212, 336, 214, 346, // D0 to D7
368, 217, 218, 219, 220, 280, 538, 223, // D8 to DF
224, 225, 226, 259, 228, 263, 230, 231, // E0 to E7
232, 233, 234, 235, 236, 237, 238, 239, // E8 to EF
273, 324, 242, 243, 244, 337, 246, 347, // F0 to F7
369, 249, 250, 251, 252, 281, 539, 255); // F8 to FF
const
koi8_r_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'SF100000', 'SF110000', 'SF010000', 'SF030000', // 80 to 83
'SF020000', 'SF040000', 'SF080000', 'SF090000', // 84 to 87
'SF060000', 'SF070000', 'SF050000', 'upblock', // 88 to 8B
'dnblock', 'block', 'lfblock', 'rtblock', // 8C to 8F
'ltshade', 'shade', 'dkshade', 'integraltp', // 90 to 93
'filledbox', 'periodcentered', 'radical', 'approxequal', // 94 to 97
'lessequal', 'greaterequal', 'space', 'integralbt', // 98 to 9B
'degree', 'twosuperior', 'periodcentered', 'divide', // 9C to 9F
'SF430000', 'SF240000', 'SF510000', 'afii10071', // A0 to A3
'SF520000', 'SF390000', 'SF220000', 'SF210000', // A4 to A7
'SF250000', 'SF500000', 'SF490000', 'SF380000', // A8 to AB
'SF280000', 'SF270000', 'SF260000', 'SF360000', // AC to AF
'SF370000', 'SF420000', 'SF190000', 'afii10023', // B0 to B3
'SF200000', 'SF230000', 'SF470000', 'SF480000', // B4 to B7
'SF410000', 'SF450000', 'SF460000', 'SF400000', // B8 to BB
'SF540000', 'SF530000', 'SF440000', 'copyright', // BC to BF
'afii10096', 'afii10065', 'afii10066', 'afii10088', // C0 to C3
'afii10069', 'afii10070', 'afii10086', 'afii10068', // C4 to C7
'afii10087', 'afii10074', 'afii10075', 'afii10076', // C8 to CB
'afii10077', 'afii10078', 'afii10079', 'afii10080', // CC to CF
'afii10081', 'afii10097', 'afii10082', 'afii10083', // D0 to D3
'afii10084', 'afii10085', 'afii10072', 'afii10067', // D4 to D7
'afii10094', 'afii10093', 'afii10073', 'afii10090', // D8 to DB
'afii10095', 'afii10091', 'afii10089', 'afii10092', // DC to DF
'afii10048', 'afii10017', 'afii10018', 'afii10040', // E0 to E3
'afii10021', 'afii10022', 'afii10038', 'afii10020', // E4 to E7
'afii10039', 'afii10026', 'afii10027', 'afii10028', // E8 to EB
'afii10029', 'afii10030', 'afii10031', 'afii10032', // EC to EF
'afii10033', 'afii10049', 'afii10034', 'afii10035', // F0 to F3
'afii10036', 'afii10037', 'afii10024', 'afii10019', // F4 to F7
'afii10046', 'afii10045', 'afii10025', 'afii10042', // F8 to FB
'afii10047', 'afii10043', 'afii10041', 'afii10044'); // FC to FF
const
koi8_r_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, // 80 to 87
9516, 9524, 9532, 9600, 9604, 9608, 9612, 9616, // 88 to 8F
9617, 9618, 9619, 8992, 9632, 8729, 8730, 8776, // 90 to 97
8804, 8805, 160, 8993, 176, 178, 183, 247, // 98 to 9F
9552, 9553, 9554, 1105, 9555, 9556, 9557, 9558, // A0 to A7
9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, // A8 to AF
9567, 9568, 9569, 1025, 9570, 9571, 9572, 9573, // B0 to B7
9574, 9575, 9576, 9577, 9578, 9579, 9580, 169, // B8 to BF
1102, 1072, 1073, 1094, 1076, 1077, 1092, 1075, // C0 to C7
1093, 1080, 1081, 1082, 1083, 1084, 1085, 1086, // C8 to CF
1087, 1103, 1088, 1089, 1090, 1091, 1078, 1074, // D0 to D7
100, 1099, 1079, 1096, 1101, 1097, 1095, 1098, // D8 to DF
1070, 1040, 1041, 1062, 1044, 1045, 1060, 1043, // E0 to E7
1061, 1048, 1049, 1050, 1051, 1052, 1053, 1054, // E8 to EF
1055, 1071, 1056, 1057, 1058, 1059, 1046, 1042, // F0 to F7
1068, 1067, 1047, 1064, 1069, 1065, 1063, 1066); // F8 to FF
const
koi8_u_n: array[0..255] of string =
('.notdef', '.notdef', '.notdef', '.notdef', // 00 to 03
'.notdef', '.notdef', '.notdef', '.notdef', // 04 to 07
'.notdef', '.notdef', '.notdef', '.notdef', // 08 to 0B
'.notdef', '.notdef', '.notdef', '.notdef', // 0C to 0F
'.notdef', '.notdef', '.notdef', '.notdef', // 10 to 13
'.notdef', '.notdef', '.notdef', '.notdef', // 14 to 17
'.notdef', '.notdef', '.notdef', '.notdef', // 18 to 1B
'.notdef', '.notdef', '.notdef', '.notdef', // 1C to 1F
'space', 'exclam', 'quotedbl', 'numbersign', // 20 to 23
'dollar', 'percent', 'ampersand', 'quotesingle', // 24 to 27
'parenleft', 'parenright', 'asterisk', 'plus', // 28 to 2B
'comma', 'hyphen', 'period', 'slash', // 2C to 2F
'zero', 'one', 'two', 'three', // 30 to 33
'four', 'five', 'six', 'seven', // 34 to 37
'eight', 'nine', 'colon', 'semicolon', // 38 to 3B
'less', 'equal', 'greater', 'question', // 3C to 3F
'at', 'A', 'B', 'C', // 40 to 43
'D', 'E', 'F', 'G', // 44 to 47
'H', 'I', 'J', 'K', // 48 to 4B
'L', 'M', 'N', 'O', // 4C to 4F
'P', 'Q', 'R', 'S', // 50 to 53
'T', 'U', 'V', 'W', // 54 to 57
'X', 'Y', 'Z', 'bracketleft', // 58 to 5B
'backslash', 'bracketright', 'asciicircum', 'underscore', // 5C to 5F
'grave', 'a', 'b', 'c', // 60 to 63
'd', 'e', 'f', 'g', // 64 to 67
'h', 'i', 'j', 'k', // 68 to 6B
'l', 'm', 'n', 'o', // 6C to 6F
'p', 'q', 'r', 's', // 70 to 73
't', 'u', 'v', 'w', // 74 to 77
'x', 'y', 'z', 'braceleft', // 78 to 7B
'bar', 'braceright', 'asciitilde', '.notdef', // 7C to 7F
'SF100000', 'SF110000', 'SF010000', 'SF030000', // 80 to 83
'SF020000', 'SF040000', 'SF080000', 'SF090000', // 84 to 87
'SF060000', 'SF070000', 'SF050000', 'upblock', // 88 to 8B
'dnblock', 'block', 'lfblock', 'rtblock', // 8C to 8F
'ltshade', 'shade', 'dkshade', 'integraltp', // 90 to 93
'filledbox', 'bullet', 'radical', 'approxequal', // 94 to 97
'lessequal', 'greaterequal', 'space', 'integralbt', // 98 to 9B
'degree', 'twosuperior', 'periodcentered', 'divide', // 9C to 9F
'SF430000', 'SF240000', 'SF510000', 'afii10071', // A0 to A3
'afii10101', 'SF390000', 'afii10103', 'afii10104', // A4 to A7
'SF250000', 'SF500000', 'SF490000', 'SF380000', // A8 to AB
'SF280000', 'afii10098', 'SF260000', 'SF360000', // AC to AF
'SF370000', 'SF420000', 'SF190000', 'afii10023', // B0 to B3
'afii10053', 'SF230000', 'afii10055', 'afii10056', // B4 to B7
'SF410000', 'SF450000', 'SF460000', 'SF400000', // B8 to BB
'SF540000', 'afii10050', 'SF440000', 'copyright', // BC to BF
'afii10096', 'afii10065', 'afii10066', 'afii10088', // C0 to C3
'afii10069', 'afii10070', 'afii10086', 'afii10068', // C4 to C7
'afii10087', 'afii10074', 'afii10075', 'afii10076', // C8 to CB
'afii10077', 'afii10078', 'afii10079', 'afii10080', // CC to CF
'afii10081', 'afii10097', 'afii10082', 'afii10083', // D0 to D3
'afii10084', 'afii10085', 'afii10072', 'afii10067', // D4 to D7
'afii10094', 'afii10093', 'afii10073', 'afii10090', // D8 to DB
'afii10095', 'afii10091', 'afii10089', 'afii10092', // DC to DF
'afii10048', 'afii10017', 'afii10018', 'afii10040', // E0 to E3
'afii10021', 'afii10022', 'afii10038', 'afii10020', // E4 to E7
'afii10039', 'afii10026', 'afii10027', 'afii10028', // E8 to EB
'afii10029', 'afii10030', 'afii10031', 'afii10032', // EC to EF
'afii10033', 'afii10049', 'afii10034', 'afii10035', // F0 to F3
'afii10036', 'afii10037', 'afii10024', 'afii10019', // F4 to F7
'afii10046', 'afii10045', 'afii10025', 'afii10042', // F8 to FB
'afii10047', 'afii10043', 'afii10041', 'afii10044'); // FC to FF
const
koi8_u_v: array[0..255] of Word =
(0, 1, 2, 3, 4, 5, 6, 7, // 00 to 07
8, 9, 10, 11, 12, 13, 14, 15, // 08 to 0F
16, 17, 18, 19, 20, 21, 22, 23, // 10 to 17
24, 25, 26, 27, 28, 29, 30, 31, // 18 to 1F
32, 33, 34, 35, 36, 37, 38, 39, // 20 to 27
40, 41, 42, 43, 44, 45, 46, 47, // 28 to 2F
48, 49, 50, 51, 52, 53, 54, 55, // 30 to 37
56, 57, 58, 59, 60, 61, 62, 63, // 38 to 3F
64, 65, 66, 67, 68, 69, 70, 71, // 40 to 47
72, 73, 74, 75, 76, 77, 78, 79, // 48 to 4F
80, 81, 82, 83, 84, 85, 86, 87, // 50 to 57
88, 89, 90, 91, 92, 93, 94, 95, // 58 to 5F
96, 97, 98, 99, 100, 101, 102, 103, // 60 to 67
104, 105, 106, 107, 108, 109, 110, 111, // 68 to 6F
112, 113, 114, 115, 116, 117, 118, 119, // 70 to 77
120, 121, 122, 123, 124, 125, 126, 127, // 78 to 7F
9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, // 80 to 87
9516, 9524, 9532, 9600, 9604, 9608, 9612, 9616, // 88 to 8F
9617, 9618, 9619, 8992, 9632, 8226, 8730, 8776, // 90 to 97
8804, 8805, 160, 8993, 176, 178, 183, 247, // 98 to 9F
9552, 9553, 9554, 1105, 1108, 9556, 1110, 1111, // A0 to A7
9559, 9560, 9561, 9562, 9563, 1169, 9565, 9566, // A8 to AF
9567, 9568, 9569, 1025, 1028, 9571, 1030, 1031, // B0 to B7
9574, 9575, 9576, 9577, 9578, 1168, 9580, 169, // B8 to BF
1102, 1072, 1073, 1094, 1076, 1077, 1092, 1075, // C0 to C7
1093, 1080, 1081, 1082, 1083, 1084, 1085, 1086, // C8 to CF
1087, 1103, 1088, 1089, 1090, 1091, 1078, 1074, // D0 to D7
1100, 1099, 1079, 1096, 1101, 1097, 1095, 1098, // D8 to DF
1070, 1040, 1041, 1062, 1044, 1045, 1060, 1043, // E0 to E7
1061, 1048, 1049, 1050, 1051, 1052, 1053, 1054, // E8 to EF
1055, 1071, 1056, 1057, 1058, 1059, 1046, 1042, // F0 to F7
1068, 1067, 1047, 1064, 1069, 1065, 1063, 1066); // F8 to FF
implementation
end.
|