OSDN Git Service

Add PuTTY 0.61 to contrib directory.
[ffftp/ffftp.git] / contrib / putty / CHARSET / SBCSDAT.C
1 /*\r
2  * sbcsdat.c - data definitions for single-byte character sets.\r
3  *\r
4  * Generated by sbcsgen.pl from sbcs.dat.\r
5  * You should edit those files rather than editing this one.\r
6  */\r
7 \r
8 #ifndef ENUM_CHARSETS\r
9 \r
10 #include "charset.h"\r
11 #include "internal.h"\r
12 \r
13 static const sbcs_data data_CS_ISO8859_1 = {\r
14     {\r
15     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
16     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
17     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
18     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
19     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
20     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
21     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
22     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
23     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
24     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
25     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
26     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
27     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
28     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
29     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
30     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
31     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
32     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
33     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
34     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
35     0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\r
36     0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\r
37     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
38     0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\r
39     0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\r
40     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\r
41     0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\r
42     0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,\r
43     0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\r
44     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\r
45     0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\r
46     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff\r
47     },\r
48     {\r
49     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
50     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
51     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
52     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
53     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
54     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
55     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
56     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
57     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
58     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
59     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
60     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
61     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
62     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
63     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
64     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
65     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
66     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
67     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
68     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
69     0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\r
70     0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\r
71     0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\r
72     0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\r
73     0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\r
74     0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\r
75     0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\r
76     0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\r
77     0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\r
78     0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\r
79     0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\r
80     0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff\r
81     },\r
82     256\r
83 };\r
84 const charset_spec charset_CS_ISO8859_1 = {\r
85     CS_ISO8859_1, read_sbcs, write_sbcs, &data_CS_ISO8859_1\r
86 };\r
87 \r
88 static const sbcs_data data_CS_ISO8859_2 = {\r
89     {\r
90     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
91     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
92     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
93     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
94     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
95     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
96     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
97     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
98     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
99     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
100     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
101     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
102     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
103     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
104     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
105     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
106     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
107     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
108     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
109     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
110     0x00a0, 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7,\r
111     0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b,\r
112     0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7,\r
113     0x00b8, 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c,\r
114     0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,\r
115     0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,\r
116     0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,\r
117     0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,\r
118     0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,\r
119     0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,\r
120     0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,\r
121     0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9\r
122     },\r
123     {\r
124     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
125     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
126     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
127     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
128     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
129     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
130     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
131     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
132     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
133     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
134     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
135     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
136     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
137     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
138     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
139     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
140     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
141     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
142     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
143     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
144     0xa0, 0xa4, 0xa7, 0xa8, 0xad, 0xb0, 0xb4, 0xb8,\r
145     0xc1, 0xc2, 0xc4, 0xc7, 0xc9, 0xcb, 0xcd, 0xce,\r
146     0xd3, 0xd4, 0xd6, 0xd7, 0xda, 0xdc, 0xdd, 0xdf,\r
147     0xe1, 0xe2, 0xe4, 0xe7, 0xe9, 0xeb, 0xed, 0xee,\r
148     0xf3, 0xf4, 0xf6, 0xf7, 0xfa, 0xfc, 0xfd, 0xc3,\r
149     0xe3, 0xa1, 0xb1, 0xc6, 0xe6, 0xc8, 0xe8, 0xcf,\r
150     0xef, 0xd0, 0xf0, 0xca, 0xea, 0xcc, 0xec, 0xc5,\r
151     0xe5, 0xa5, 0xb5, 0xa3, 0xb3, 0xd1, 0xf1, 0xd2,\r
152     0xf2, 0xd5, 0xf5, 0xc0, 0xe0, 0xd8, 0xf8, 0xa6,\r
153     0xb6, 0xaa, 0xba, 0xa9, 0xb9, 0xde, 0xfe, 0xab,\r
154     0xbb, 0xd9, 0xf9, 0xdb, 0xfb, 0xac, 0xbc, 0xaf,\r
155     0xbf, 0xae, 0xbe, 0xb7, 0xa2, 0xff, 0xb2, 0xbd\r
156     },\r
157     256\r
158 };\r
159 const charset_spec charset_CS_ISO8859_2 = {\r
160     CS_ISO8859_2, read_sbcs, write_sbcs, &data_CS_ISO8859_2\r
161 };\r
162 \r
163 static const sbcs_data data_CS_ISO8859_3 = {\r
164     {\r
165     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
166     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
167     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
168     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
169     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
170     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
171     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
172     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
173     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
174     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
175     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
176     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
177     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
178     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
179     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
180     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
181     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
182     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
183     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
184     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
185     0x00a0, 0x0126, 0x02d8, 0x00a3, 0x00a4, ERROR , 0x0124, 0x00a7,\r
186     0x00a8, 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, ERROR , 0x017b,\r
187     0x00b0, 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7,\r
188     0x00b8, 0x0131, 0x015f, 0x011f, 0x0135, 0x00bd, ERROR , 0x017c,\r
189     0x00c0, 0x00c1, 0x00c2, ERROR , 0x00c4, 0x010a, 0x0108, 0x00c7,\r
190     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\r
191     ERROR , 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0120, 0x00d6, 0x00d7,\r
192     0x011c, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x016c, 0x015c, 0x00df,\r
193     0x00e0, 0x00e1, 0x00e2, ERROR , 0x00e4, 0x010b, 0x0109, 0x00e7,\r
194     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\r
195     ERROR , 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7,\r
196     0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9\r
197     },\r
198     {\r
199     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
200     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
201     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
202     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
203     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
204     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
205     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
206     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
207     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
208     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
209     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
210     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
211     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
212     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
213     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
214     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
215     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
216     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
217     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
218     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
219     0xa0, 0xa3, 0xa4, 0xa7, 0xa8, 0xad, 0xb0, 0xb2,\r
220     0xb3, 0xb4, 0xb5, 0xb7, 0xb8, 0xbd, 0xc0, 0xc1,\r
221     0xc2, 0xc4, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc,\r
222     0xcd, 0xce, 0xcf, 0xd1, 0xd2, 0xd3, 0xd4, 0xd6,\r
223     0xd7, 0xd9, 0xda, 0xdb, 0xdc, 0xdf, 0xe0, 0xe1,\r
224     0xe2, 0xe4, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec,\r
225     0xed, 0xee, 0xef, 0xf1, 0xf2, 0xf3, 0xf4, 0xf6,\r
226     0xf7, 0xf9, 0xfa, 0xfb, 0xfc, 0xc6, 0xe6, 0xc5,\r
227     0xe5, 0xd8, 0xf8, 0xab, 0xbb, 0xd5, 0xf5, 0xa6,\r
228     0xb6, 0xa1, 0xb1, 0xa9, 0xb9, 0xac, 0xbc, 0xde,\r
229     0xfe, 0xaa, 0xba, 0xdd, 0xfd, 0xaf, 0xbf, 0xa2,\r
230     0xff\r
231     },\r
232     249\r
233 };\r
234 const charset_spec charset_CS_ISO8859_3 = {\r
235     CS_ISO8859_3, read_sbcs, write_sbcs, &data_CS_ISO8859_3\r
236 };\r
237 \r
238 static const sbcs_data data_CS_ISO8859_4 = {\r
239     {\r
240     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
241     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
242     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
243     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
244     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
245     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
246     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
247     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
248     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
249     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
250     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
251     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
252     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
253     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
254     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
255     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
256     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
257     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
258     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
259     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
260     0x00a0, 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7,\r
261     0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af,\r
262     0x00b0, 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7,\r
263     0x00b8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b,\r
264     0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,\r
265     0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x012a,\r
266     0x0110, 0x0145, 0x014c, 0x0136, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\r
267     0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x0168, 0x016a, 0x00df,\r
268     0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,\r
269     0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b,\r
270     0x0111, 0x0146, 0x014d, 0x0137, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\r
271     0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9\r
272     },\r
273     {\r
274     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
275     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
276     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
277     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
278     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
279     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
280     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
281     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
282     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
283     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
284     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
285     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
286     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
287     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
288     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
289     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
290     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
291     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
292     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
293     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
294     0xa0, 0xa4, 0xa7, 0xa8, 0xad, 0xaf, 0xb0, 0xb4,\r
295     0xb8, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc9,\r
296     0xcb, 0xcd, 0xce, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8,\r
297     0xda, 0xdb, 0xdc, 0xdf, 0xe1, 0xe2, 0xe3, 0xe4,\r
298     0xe5, 0xe6, 0xe9, 0xeb, 0xed, 0xee, 0xf4, 0xf5,\r
299     0xf6, 0xf7, 0xf8, 0xfa, 0xfb, 0xfc, 0xc0, 0xe0,\r
300     0xa1, 0xb1, 0xc8, 0xe8, 0xd0, 0xf0, 0xaa, 0xba,\r
301     0xcc, 0xec, 0xca, 0xea, 0xab, 0xbb, 0xa5, 0xb5,\r
302     0xcf, 0xef, 0xc7, 0xe7, 0xd3, 0xf3, 0xa2, 0xa6,\r
303     0xb6, 0xd1, 0xf1, 0xbd, 0xbf, 0xd2, 0xf2, 0xa3,\r
304     0xb3, 0xa9, 0xb9, 0xac, 0xbc, 0xdd, 0xfd, 0xde,\r
305     0xfe, 0xd9, 0xf9, 0xae, 0xbe, 0xb7, 0xff, 0xb2\r
306     },\r
307     256\r
308 };\r
309 const charset_spec charset_CS_ISO8859_4 = {\r
310     CS_ISO8859_4, read_sbcs, write_sbcs, &data_CS_ISO8859_4\r
311 };\r
312 \r
313 static const sbcs_data data_CS_ISO8859_5 = {\r
314     {\r
315     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
316     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
317     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
318     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
319     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
320     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
321     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
322     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
323     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
324     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
325     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
326     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
327     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
328     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
329     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
330     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
331     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
332     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
333     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
334     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
335     0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407,\r
336     0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f,\r
337     0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,\r
338     0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,\r
339     0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,\r
340     0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,\r
341     0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,\r
342     0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,\r
343     0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,\r
344     0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,\r
345     0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457,\r
346     0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f\r
347     },\r
348     {\r
349     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
350     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
351     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
352     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
353     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
354     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
355     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
356     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
357     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
358     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
359     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
360     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
361     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
362     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
363     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
364     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
365     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
366     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
367     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
368     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
369     0xa0, 0xfd, 0xad, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5,\r
370     0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xae,\r
371     0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,\r
372     0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe,\r
373     0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6,\r
374     0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce,\r
375     0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\r
376     0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde,\r
377     0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\r
378     0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee,\r
379     0xef, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\r
380     0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfe, 0xff, 0xf0\r
381     },\r
382     256\r
383 };\r
384 const charset_spec charset_CS_ISO8859_5 = {\r
385     CS_ISO8859_5, read_sbcs, write_sbcs, &data_CS_ISO8859_5\r
386 };\r
387 \r
388 static const sbcs_data data_CS_ISO8859_6 = {\r
389     {\r
390     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
391     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
392     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
393     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
394     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
395     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
396     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
397     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
398     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
399     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
400     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
401     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
402     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
403     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
404     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
405     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
406     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
407     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
408     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
409     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
410     0x00a0, ERROR , ERROR , ERROR , 0x00a4, ERROR , ERROR , ERROR ,\r
411     ERROR , ERROR , ERROR , ERROR , 0x060c, 0x00ad, ERROR , ERROR ,\r
412     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
413     ERROR , ERROR , ERROR , 0x061b, ERROR , ERROR , ERROR , 0x061f,\r
414     ERROR , 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,\r
415     0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,\r
416     0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637,\r
417     0x0638, 0x0639, 0x063a, ERROR , ERROR , ERROR , ERROR , ERROR ,\r
418     0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647,\r
419     0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f,\r
420     0x0650, 0x0651, 0x0652, ERROR , ERROR , ERROR , ERROR , ERROR ,\r
421     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR \r
422     },\r
423     {\r
424     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
425     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
426     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
427     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
428     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
429     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
430     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
431     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
432     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
433     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
434     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
435     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
436     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
437     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
438     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
439     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
440     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
441     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
442     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
443     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
444     0xa0, 0xa4, 0xad, 0xac, 0xbb, 0xbf, 0xc1, 0xc2,\r
445     0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca,\r
446     0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2,\r
447     0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,\r
448     0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\r
449     0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\r
450     0xf0, 0xf1, 0xf2\r
451     },\r
452     211\r
453 };\r
454 const charset_spec charset_CS_ISO8859_6 = {\r
455     CS_ISO8859_6, read_sbcs, write_sbcs, &data_CS_ISO8859_6\r
456 };\r
457 \r
458 static const sbcs_data data_CS_ISO8859_7 = {\r
459     {\r
460     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
461     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
462     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
463     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
464     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
465     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
466     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
467     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
468     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
469     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
470     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
471     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
472     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
473     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
474     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
475     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
476     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
477     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
478     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
479     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
480     0x00a0, 0x2018, 0x2019, 0x00a3, ERROR , ERROR , 0x00a6, 0x00a7,\r
481     0x00a8, 0x00a9, ERROR , 0x00ab, 0x00ac, 0x00ad, ERROR , 0x2015,\r
482     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x0385, 0x0386, 0x00b7,\r
483     0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,\r
484     0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,\r
485     0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,\r
486     0x03a0, 0x03a1, ERROR , 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,\r
487     0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,\r
488     0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,\r
489     0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,\r
490     0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,\r
491     0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, ERROR \r
492     },\r
493     {\r
494     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
495     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
496     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
497     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
498     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
499     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
500     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
501     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
502     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
503     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
504     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
505     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
506     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
507     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
508     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
509     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
510     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
511     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
512     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
513     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
514     0xa0, 0xa3, 0xa6, 0xa7, 0xa8, 0xa9, 0xab, 0xac,\r
515     0xad, 0xb0, 0xb1, 0xb2, 0xb3, 0xb7, 0xbb, 0xbd,\r
516     0xb4, 0xb5, 0xb6, 0xb8, 0xb9, 0xba, 0xbc, 0xbe,\r
517     0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6,\r
518     0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce,\r
519     0xcf, 0xd0, 0xd1, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\r
520     0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\r
521     0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\r
522     0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\r
523     0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\r
524     0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xaf,\r
525     0xa1, 0xa2\r
526     },\r
527     250\r
528 };\r
529 const charset_spec charset_CS_ISO8859_7 = {\r
530     CS_ISO8859_7, read_sbcs, write_sbcs, &data_CS_ISO8859_7\r
531 };\r
532 \r
533 static const sbcs_data data_CS_ISO8859_8 = {\r
534     {\r
535     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
536     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
537     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
538     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
539     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
540     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
541     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
542     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
543     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
544     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
545     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
546     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
547     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
548     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
549     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
550     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
551     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
552     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
553     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
554     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
555     0x00a0, ERROR , 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\r
556     0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\r
557     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
558     0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, ERROR ,\r
559     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
560     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
561     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
562     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , 0x2017,\r
563     0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,\r
564     0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,\r
565     0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,\r
566     0x05e8, 0x05e9, 0x05ea, ERROR , ERROR , 0x200e, 0x200f, ERROR \r
567     },\r
568     {\r
569     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
570     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
571     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
572     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
573     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
574     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
575     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
576     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
577     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
578     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
579     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
580     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
581     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
582     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
583     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
584     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
585     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
586     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
587     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
588     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
589     0xa0, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,\r
590     0xa9, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1,\r
591     0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,\r
592     0xbb, 0xbc, 0xbd, 0xbe, 0xaa, 0xba, 0xe0, 0xe1,\r
593     0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,\r
594     0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1,\r
595     0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9,\r
596     0xfa, 0xfd, 0xfe, 0xdf\r
597     },\r
598     220\r
599 };\r
600 const charset_spec charset_CS_ISO8859_8 = {\r
601     CS_ISO8859_8, read_sbcs, write_sbcs, &data_CS_ISO8859_8\r
602 };\r
603 \r
604 static const sbcs_data data_CS_ISO8859_9 = {\r
605     {\r
606     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
607     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
608     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
609     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
610     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
611     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
612     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
613     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
614     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
615     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
616     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
617     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
618     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
619     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
620     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
621     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
622     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
623     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
624     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
625     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
626     0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\r
627     0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\r
628     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
629     0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\r
630     0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\r
631     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\r
632     0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\r
633     0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,\r
634     0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\r
635     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\r
636     0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\r
637     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff\r
638     },\r
639     {\r
640     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
641     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
642     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
643     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
644     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
645     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
646     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
647     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
648     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
649     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
650     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
651     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
652     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
653     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
654     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
655     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
656     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
657     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
658     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
659     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
660     0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\r
661     0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\r
662     0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\r
663     0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\r
664     0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\r
665     0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\r
666     0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8,\r
667     0xd9, 0xda, 0xdb, 0xdc, 0xdf, 0xe0, 0xe1, 0xe2,\r
668     0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,\r
669     0xeb, 0xec, 0xed, 0xee, 0xef, 0xf1, 0xf2, 0xf3,\r
670     0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb,\r
671     0xfc, 0xff, 0xd0, 0xf0, 0xdd, 0xfd, 0xde, 0xfe\r
672     },\r
673     256\r
674 };\r
675 const charset_spec charset_CS_ISO8859_9 = {\r
676     CS_ISO8859_9, read_sbcs, write_sbcs, &data_CS_ISO8859_9\r
677 };\r
678 \r
679 static const sbcs_data data_CS_ISO8859_10 = {\r
680     {\r
681     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
682     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
683     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
684     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
685     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
686     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
687     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
688     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
689     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
690     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
691     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
692     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
693     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
694     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
695     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
696     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
697     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
698     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
699     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
700     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
701     0x00a0, 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7,\r
702     0x013b, 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a,\r
703     0x00b0, 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7,\r
704     0x013c, 0x0111, 0x0161, 0x0167, 0x017e, 0x2015, 0x016b, 0x014b,\r
705     0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,\r
706     0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf,\r
707     0x00d0, 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168,\r
708     0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,\r
709     0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,\r
710     0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef,\r
711     0x00f0, 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169,\r
712     0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138\r
713     },\r
714     {\r
715     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
716     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
717     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
718     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
719     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
720     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
721     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
722     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
723     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
724     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
725     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
726     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
727     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
728     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
729     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
730     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
731     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
732     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
733     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
734     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
735     0xa0, 0xa7, 0xad, 0xb0, 0xb7, 0xc1, 0xc2, 0xc3,\r
736     0xc4, 0xc5, 0xc6, 0xc9, 0xcb, 0xcd, 0xce, 0xcf,\r
737     0xd0, 0xd3, 0xd4, 0xd5, 0xd6, 0xd8, 0xda, 0xdb,\r
738     0xdc, 0xdd, 0xde, 0xdf, 0xe1, 0xe2, 0xe3, 0xe4,\r
739     0xe5, 0xe6, 0xe9, 0xeb, 0xed, 0xee, 0xef, 0xf0,\r
740     0xf3, 0xf4, 0xf5, 0xf6, 0xf8, 0xfa, 0xfb, 0xfc,\r
741     0xfd, 0xfe, 0xc0, 0xe0, 0xa1, 0xb1, 0xc8, 0xe8,\r
742     0xa9, 0xb9, 0xa2, 0xb2, 0xcc, 0xec, 0xca, 0xea,\r
743     0xa3, 0xb3, 0xa5, 0xb5, 0xa4, 0xb4, 0xc7, 0xe7,\r
744     0xa6, 0xb6, 0xff, 0xa8, 0xb8, 0xd1, 0xf1, 0xaf,\r
745     0xbf, 0xd2, 0xf2, 0xaa, 0xba, 0xab, 0xbb, 0xd7,\r
746     0xf7, 0xae, 0xbe, 0xd9, 0xf9, 0xac, 0xbc, 0xbd\r
747     },\r
748     256\r
749 };\r
750 const charset_spec charset_CS_ISO8859_10 = {\r
751     CS_ISO8859_10, read_sbcs, write_sbcs, &data_CS_ISO8859_10\r
752 };\r
753 \r
754 static const sbcs_data data_CS_ISO8859_11 = {\r
755     {\r
756     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
757     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
758     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
759     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
760     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
761     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
762     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
763     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
764     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
765     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
766     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
767     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
768     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
769     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
770     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
771     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
772     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
773     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
774     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
775     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
776     0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, 0x0e07,\r
777     0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, 0x0e0e, 0x0e0f,\r
778     0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, 0x0e15, 0x0e16, 0x0e17,\r
779     0x0e18, 0x0e19, 0x0e1a, 0x0e1b, 0x0e1c, 0x0e1d, 0x0e1e, 0x0e1f,\r
780     0x0e20, 0x0e21, 0x0e22, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27,\r
781     0x0e28, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, 0x0e2f,\r
782     0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, 0x0e35, 0x0e36, 0x0e37,\r
783     0x0e38, 0x0e39, 0x0e3a, ERROR , ERROR , ERROR , ERROR , 0x0e3f,\r
784     0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, 0x0e45, 0x0e46, 0x0e47,\r
785     0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4e, 0x0e4f,\r
786     0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57,\r
787     0x0e58, 0x0e59, 0x0e5a, 0x0e5b, ERROR , ERROR , ERROR , ERROR \r
788     },\r
789     {\r
790     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
791     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
792     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
793     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
794     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
795     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
796     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
797     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
798     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
799     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
800     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
801     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
802     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
803     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
804     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
805     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
806     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
807     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
808     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
809     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
810     0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\r
811     0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\r
812     0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\r
813     0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\r
814     0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\r
815     0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\r
816     0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\r
817     0xd8, 0xd9, 0xda, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3,\r
818     0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb,\r
819     0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3,\r
820     0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb\r
821     },\r
822     248\r
823 };\r
824 const charset_spec charset_CS_ISO8859_11 = {\r
825     CS_ISO8859_11, read_sbcs, write_sbcs, &data_CS_ISO8859_11\r
826 };\r
827 \r
828 static const sbcs_data data_CS_ISO8859_13 = {\r
829     {\r
830     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
831     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
832     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
833     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
834     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
835     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
836     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
837     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
838     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
839     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
840     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
841     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
842     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
843     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
844     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
845     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
846     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
847     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
848     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
849     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
850     0x00a0, 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x201e, 0x00a6, 0x00a7,\r
851     0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,\r
852     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, 0x00b5, 0x00b6, 0x00b7,\r
853     0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,\r
854     0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,\r
855     0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,\r
856     0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,\r
857     0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,\r
858     0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,\r
859     0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,\r
860     0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,\r
861     0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019\r
862     },\r
863     {\r
864     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
865     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
866     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
867     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
868     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
869     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
870     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
871     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
872     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
873     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
874     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
875     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
876     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
877     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
878     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
879     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
880     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
881     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
882     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
883     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
884     0xa0, 0xa2, 0xa3, 0xa4, 0xa6, 0xa7, 0xa9, 0xab,\r
885     0xac, 0xad, 0xae, 0xb0, 0xb1, 0xb2, 0xb3, 0xb5,\r
886     0xb6, 0xb7, 0xb9, 0xbb, 0xbc, 0xbd, 0xbe, 0xc4,\r
887     0xc5, 0xaf, 0xc9, 0xd3, 0xd5, 0xd6, 0xd7, 0xa8,\r
888     0xdc, 0xdf, 0xe4, 0xe5, 0xbf, 0xe9, 0xf3, 0xf5,\r
889     0xf6, 0xf7, 0xb8, 0xfc, 0xc2, 0xe2, 0xc0, 0xe0,\r
890     0xc3, 0xe3, 0xc8, 0xe8, 0xc7, 0xe7, 0xcb, 0xeb,\r
891     0xc6, 0xe6, 0xcc, 0xec, 0xce, 0xee, 0xc1, 0xe1,\r
892     0xcd, 0xed, 0xcf, 0xef, 0xd9, 0xf9, 0xd1, 0xf1,\r
893     0xd2, 0xf2, 0xd4, 0xf4, 0xaa, 0xba, 0xda, 0xfa,\r
894     0xd0, 0xf0, 0xdb, 0xfb, 0xd8, 0xf8, 0xca, 0xea,\r
895     0xdd, 0xfd, 0xde, 0xfe, 0xff, 0xb4, 0xa1, 0xa5\r
896     },\r
897     256\r
898 };\r
899 const charset_spec charset_CS_ISO8859_13 = {\r
900     CS_ISO8859_13, read_sbcs, write_sbcs, &data_CS_ISO8859_13\r
901 };\r
902 \r
903 static const sbcs_data data_CS_ISO8859_14 = {\r
904     {\r
905     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
906     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
907     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
908     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
909     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
910     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
911     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
912     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
913     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
914     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
915     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
916     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
917     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
918     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
919     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
920     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
921     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
922     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
923     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
924     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
925     0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7,\r
926     0x1e80, 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x0178,\r
927     0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56,\r
928     0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x1e61,\r
929     0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\r
930     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\r
931     0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a,\r
932     0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df,\r
933     0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\r
934     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\r
935     0x0175, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b,\r
936     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff\r
937     },\r
938     {\r
939     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
940     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
941     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
942     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
943     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
944     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
945     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
946     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
947     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
948     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
949     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
950     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
951     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
952     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
953     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
954     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
955     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
956     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
957     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
958     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
959     0xa0, 0xa3, 0xa7, 0xa9, 0xad, 0xae, 0xb6, 0xc0,\r
960     0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8,\r
961     0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd1,\r
962     0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd8, 0xd9, 0xda,\r
963     0xdb, 0xdc, 0xdd, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3,\r
964     0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb,\r
965     0xec, 0xed, 0xee, 0xef, 0xf1, 0xf2, 0xf3, 0xf4,\r
966     0xf5, 0xf6, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd,\r
967     0xff, 0xa4, 0xa5, 0xb2, 0xb3, 0xd0, 0xf0, 0xde,\r
968     0xfe, 0xaf, 0xa1, 0xa2, 0xa6, 0xab, 0xb0, 0xb1,\r
969     0xb4, 0xb5, 0xb7, 0xb9, 0xbb, 0xbf, 0xd7, 0xf7,\r
970     0xa8, 0xb8, 0xaa, 0xba, 0xbd, 0xbe, 0xac, 0xbc\r
971     },\r
972     256\r
973 };\r
974 const charset_spec charset_CS_ISO8859_14 = {\r
975     CS_ISO8859_14, read_sbcs, write_sbcs, &data_CS_ISO8859_14\r
976 };\r
977 \r
978 static const sbcs_data data_CS_ISO8859_15 = {\r
979     {\r
980     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
981     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
982     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
983     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
984     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
985     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
986     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
987     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
988     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
989     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
990     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
991     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
992     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
993     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
994     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
995     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
996     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
997     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
998     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
999     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
1000     0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20ac, 0x00a5, 0x0160, 0x00a7,\r
1001     0x0161, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\r
1002     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x017d, 0x00b5, 0x00b6, 0x00b7,\r
1003     0x017e, 0x00b9, 0x00ba, 0x00bb, 0x0152, 0x0153, 0x0178, 0x00bf,\r
1004     0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\r
1005     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\r
1006     0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\r
1007     0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,\r
1008     0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\r
1009     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\r
1010     0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\r
1011     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff\r
1012     },\r
1013     {\r
1014     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1015     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1016     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1017     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1018     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1019     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1020     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1021     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1022     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1023     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1024     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1025     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1026     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1027     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1028     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1029     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1030     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
1031     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
1032     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
1033     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
1034     0xa0, 0xa1, 0xa2, 0xa3, 0xa5, 0xa7, 0xa9, 0xaa,\r
1035     0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2,\r
1036     0xb3, 0xb5, 0xb6, 0xb7, 0xb9, 0xba, 0xbb, 0xbf,\r
1037     0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\r
1038     0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\r
1039     0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\r
1040     0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\r
1041     0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\r
1042     0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\r
1043     0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\r
1044     0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,\r
1045     0xbc, 0xbd, 0xa6, 0xa8, 0xbe, 0xb4, 0xb8, 0xa4\r
1046     },\r
1047     256\r
1048 };\r
1049 const charset_spec charset_CS_ISO8859_15 = {\r
1050     CS_ISO8859_15, read_sbcs, write_sbcs, &data_CS_ISO8859_15\r
1051 };\r
1052 \r
1053 static const sbcs_data data_CS_ISO8859_16 = {\r
1054     {\r
1055     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1056     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1057     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1058     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1059     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1060     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1061     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1062     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1063     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1064     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1065     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1066     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1067     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1068     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1069     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1070     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1071     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
1072     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
1073     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
1074     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
1075     0x00a0, 0x0104, 0x0105, 0x0141, 0x20ac, 0x201e, 0x0160, 0x00a7,\r
1076     0x0161, 0x00a9, 0x0218, 0x00ab, 0x0179, 0x00ad, 0x017a, 0x017b,\r
1077     0x00b0, 0x00b1, 0x010c, 0x0142, 0x017d, 0x201d, 0x00b6, 0x00b7,\r
1078     0x017e, 0x010d, 0x0219, 0x00bb, 0x0152, 0x0153, 0x0178, 0x017c,\r
1079     0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0106, 0x00c6, 0x00c7,\r
1080     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\r
1081     0x0110, 0x0143, 0x00d2, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x015a,\r
1082     0x0170, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0118, 0x021a, 0x00df,\r
1083     0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x0107, 0x00e6, 0x00e7,\r
1084     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\r
1085     0x0111, 0x0144, 0x00f2, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x015b,\r
1086     0x0171, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0119, 0x021b, 0x00ff\r
1087     },\r
1088     {\r
1089     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1090     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1091     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1092     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1093     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1094     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1095     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1096     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1097     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1098     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1099     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1100     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1101     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1102     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1103     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1104     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1105     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
1106     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
1107     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
1108     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
1109     0xa0, 0xa7, 0xa9, 0xab, 0xad, 0xb0, 0xb1, 0xb6,\r
1110     0xb7, 0xbb, 0xc0, 0xc1, 0xc2, 0xc4, 0xc6, 0xc7,\r
1111     0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\r
1112     0xd2, 0xd3, 0xd4, 0xd6, 0xd9, 0xda, 0xdb, 0xdc,\r
1113     0xdf, 0xe0, 0xe1, 0xe2, 0xe4, 0xe6, 0xe7, 0xe8,\r
1114     0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf2,\r
1115     0xf3, 0xf4, 0xf6, 0xf9, 0xfa, 0xfb, 0xfc, 0xff,\r
1116     0xc3, 0xe3, 0xa1, 0xa2, 0xc5, 0xe5, 0xb2, 0xb9,\r
1117     0xd0, 0xf0, 0xdd, 0xfd, 0xa3, 0xb3, 0xd1, 0xf1,\r
1118     0xd5, 0xf5, 0xbc, 0xbd, 0xd7, 0xf7, 0xa6, 0xa8,\r
1119     0xd8, 0xf8, 0xbe, 0xac, 0xae, 0xaf, 0xbf, 0xb4,\r
1120     0xb8, 0xaa, 0xba, 0xde, 0xfe, 0xb5, 0xa5, 0xa4\r
1121     },\r
1122     256\r
1123 };\r
1124 const charset_spec charset_CS_ISO8859_16 = {\r
1125     CS_ISO8859_16, read_sbcs, write_sbcs, &data_CS_ISO8859_16\r
1126 };\r
1127 \r
1128 static const sbcs_data data_CS_ISO8859_1_X11 = {\r
1129     {\r
1130     0x0020, 0x2666, 0x2592, 0x2409, 0x240c, 0x240d, 0x240a, 0x00b0,\r
1131     0x00b1, 0x2424, 0x240b, 0x2518, 0x2510, 0x250c, 0x2514, 0x253c,\r
1132     0x23ba, 0x23bb, 0x2500, 0x23bc, 0x23bd, 0x251c, 0x2524, 0x2534,\r
1133     0x252c, 0x2502, 0x2264, 0x2265, 0x03c0, 0x2260, 0x00a3, 0x00b7,\r
1134     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1135     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1136     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1137     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1138     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1139     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1140     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1141     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1142     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1143     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1144     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1145     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1146     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
1147     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
1148     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
1149     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
1150     0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\r
1151     0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\r
1152     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
1153     0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\r
1154     0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\r
1155     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\r
1156     0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\r
1157     0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,\r
1158     0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\r
1159     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\r
1160     0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\r
1161     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff\r
1162     },\r
1163     {\r
1164     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1165     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1166     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1167     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1168     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1169     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1170     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1171     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1172     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1173     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1174     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1175     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1176     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
1177     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
1178     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
1179     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
1180     0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\r
1181     0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\r
1182     0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\r
1183     0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\r
1184     0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\r
1185     0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\r
1186     0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\r
1187     0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\r
1188     0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\r
1189     0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\r
1190     0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\r
1191     0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,\r
1192     0x1c, 0x1d, 0x1a, 0x1b, 0x10, 0x11, 0x13, 0x14,\r
1193     0x03, 0x06, 0x0a, 0x04, 0x05, 0x09, 0x12, 0x19,\r
1194     0x0d, 0x0c, 0x0e, 0x0b, 0x15, 0x16, 0x18, 0x17,\r
1195     0x0f, 0x02, 0x01\r
1196     },\r
1197     251\r
1198 };\r
1199 const charset_spec charset_CS_ISO8859_1_X11 = {\r
1200     CS_ISO8859_1_X11, read_sbcs, write_sbcs, &data_CS_ISO8859_1_X11\r
1201 };\r
1202 \r
1203 static const sbcs_data data_CS_CP437 = {\r
1204     {\r
1205     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1206     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1207     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1208     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1209     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1210     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1211     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1212     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1213     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1214     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1215     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1216     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1217     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1218     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1219     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1220     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1221     0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,\r
1222     0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,\r
1223     0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,\r
1224     0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192,\r
1225     0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,\r
1226     0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,\r
1227     0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,\r
1228     0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,\r
1229     0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,\r
1230     0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,\r
1231     0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,\r
1232     0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\r
1233     0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,\r
1234     0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,\r
1235     0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,\r
1236     0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0\r
1237     },\r
1238     {\r
1239     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1240     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1241     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1242     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1243     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1244     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1245     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1246     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1247     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1248     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1249     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1250     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1251     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1252     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1253     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1254     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1255     0xff, 0xad, 0x9b, 0x9c, 0x9d, 0xa6, 0xae, 0xaa,\r
1256     0xf8, 0xf1, 0xfd, 0xe6, 0xfa, 0xa7, 0xaf, 0xac,\r
1257     0xab, 0xa8, 0x8e, 0x8f, 0x92, 0x80, 0x90, 0xa5,\r
1258     0x99, 0x9a, 0xe1, 0x85, 0xa0, 0x83, 0x84, 0x86,\r
1259     0x91, 0x87, 0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1,\r
1260     0x8c, 0x8b, 0xa4, 0x95, 0xa2, 0x93, 0x94, 0xf6,\r
1261     0x97, 0xa3, 0x96, 0x81, 0x98, 0x9f, 0xe2, 0xe9,\r
1262     0xe4, 0xe8, 0xea, 0xe0, 0xeb, 0xee, 0xe3, 0xe5,\r
1263     0xe7, 0xed, 0xfc, 0x9e, 0xf9, 0xfb, 0xec, 0xef,\r
1264     0xf7, 0xf0, 0xf3, 0xf2, 0xa9, 0xf4, 0xf5, 0xc4,\r
1265     0xb3, 0xda, 0xbf, 0xc0, 0xd9, 0xc3, 0xb4, 0xc2,\r
1266     0xc1, 0xc5, 0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8,\r
1267     0xb7, 0xbb, 0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc,\r
1268     0xc6, 0xc7, 0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2,\r
1269     0xcb, 0xcf, 0xd0, 0xca, 0xd8, 0xd7, 0xce, 0xdf,\r
1270     0xdc, 0xdb, 0xdd, 0xde, 0xb0, 0xb1, 0xb2, 0xfe\r
1271     },\r
1272     256\r
1273 };\r
1274 const charset_spec charset_CS_CP437 = {\r
1275     CS_CP437, read_sbcs, write_sbcs, &data_CS_CP437\r
1276 };\r
1277 \r
1278 static const sbcs_data data_CS_CP850 = {\r
1279     {\r
1280     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1281     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1282     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1283     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1284     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1285     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1286     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1287     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1288     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1289     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1290     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1291     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1292     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1293     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1294     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1295     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1296     0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,\r
1297     0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,\r
1298     0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,\r
1299     0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x0192,\r
1300     0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,\r
1301     0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,\r
1302     0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0,\r
1303     0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,\r
1304     0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3,\r
1305     0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,\r
1306     0x00f0, 0x00d0, 0x00ca, 0x00cb, 0x00c8, 0x0131, 0x00cd, 0x00ce,\r
1307     0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580,\r
1308     0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x00fe,\r
1309     0x00de, 0x00da, 0x00db, 0x00d9, 0x00fd, 0x00dd, 0x00af, 0x00b4,\r
1310     0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,\r
1311     0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0\r
1312     },\r
1313     {\r
1314     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1315     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1316     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1317     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1318     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1319     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1320     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1321     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1322     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1323     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1324     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1325     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1326     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1327     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1328     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1329     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1330     0xff, 0xad, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,\r
1331     0xf9, 0xb8, 0xa6, 0xae, 0xaa, 0xf0, 0xa9, 0xee,\r
1332     0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,\r
1333     0xf7, 0xfb, 0xa7, 0xaf, 0xac, 0xab, 0xf3, 0xa8,\r
1334     0xb7, 0xb5, 0xb6, 0xc7, 0x8e, 0x8f, 0x92, 0x80,\r
1335     0xd4, 0x90, 0xd2, 0xd3, 0xde, 0xd6, 0xd7, 0xd8,\r
1336     0xd1, 0xa5, 0xe3, 0xe0, 0xe2, 0xe5, 0x99, 0x9e,\r
1337     0x9d, 0xeb, 0xe9, 0xea, 0x9a, 0xed, 0xe8, 0xe1,\r
1338     0x85, 0xa0, 0x83, 0xc6, 0x84, 0x86, 0x91, 0x87,\r
1339     0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,\r
1340     0xd0, 0xa4, 0x95, 0xa2, 0x93, 0xe4, 0x94, 0xf6,\r
1341     0x9b, 0x97, 0xa3, 0x96, 0x81, 0xec, 0xe7, 0x98,\r
1342     0xd5, 0x9f, 0xf2, 0xc4, 0xb3, 0xda, 0xbf, 0xc0,\r
1343     0xd9, 0xc3, 0xb4, 0xc2, 0xc1, 0xc5, 0xcd, 0xba,\r
1344     0xc9, 0xbb, 0xc8, 0xbc, 0xcc, 0xb9, 0xcb, 0xca,\r
1345     0xce, 0xdf, 0xdc, 0xdb, 0xb0, 0xb1, 0xb2, 0xfe\r
1346     },\r
1347     256\r
1348 };\r
1349 const charset_spec charset_CS_CP850 = {\r
1350     CS_CP850, read_sbcs, write_sbcs, &data_CS_CP850\r
1351 };\r
1352 \r
1353 static const sbcs_data data_CS_CP866 = {\r
1354     {\r
1355     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1356     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1357     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1358     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1359     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1360     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1361     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1362     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1363     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1364     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1365     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1366     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1367     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1368     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1369     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1370     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1371     0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,\r
1372     0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,\r
1373     0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,\r
1374     0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,\r
1375     0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,\r
1376     0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,\r
1377     0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,\r
1378     0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,\r
1379     0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,\r
1380     0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,\r
1381     0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,\r
1382     0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\r
1383     0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,\r
1384     0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,\r
1385     0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040e, 0x045e,\r
1386     0x00b0, 0x2219, 0x00b7, 0x221a, 0x2116, 0x00a4, 0x25a0, 0x00a0\r
1387     },\r
1388     {\r
1389     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1390     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1391     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1392     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1393     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1394     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1395     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1396     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1397     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1398     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1399     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1400     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1401     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1402     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1403     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1404     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1405     0xff, 0xfd, 0xf8, 0xfa, 0xf0, 0xf2, 0xf4, 0xf6,\r
1406     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
1407     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
1408     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
1409     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
1410     0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\r
1411     0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\r
1412     0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\r
1413     0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\r
1414     0xf1, 0xf3, 0xf5, 0xf7, 0xfc, 0xf9, 0xfb, 0xc4,\r
1415     0xb3, 0xda, 0xbf, 0xc0, 0xd9, 0xc3, 0xb4, 0xc2,\r
1416     0xc1, 0xc5, 0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8,\r
1417     0xb7, 0xbb, 0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc,\r
1418     0xc6, 0xc7, 0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2,\r
1419     0xcb, 0xcf, 0xd0, 0xca, 0xd8, 0xd7, 0xce, 0xdf,\r
1420     0xdc, 0xdb, 0xdd, 0xde, 0xb0, 0xb1, 0xb2, 0xfe\r
1421     },\r
1422     256\r
1423 };\r
1424 const charset_spec charset_CS_CP866 = {\r
1425     CS_CP866, read_sbcs, write_sbcs, &data_CS_CP866\r
1426 };\r
1427 \r
1428 static const sbcs_data data_CS_CP1250 = {\r
1429     {\r
1430     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1431     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1432     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1433     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1434     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1435     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1436     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1437     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1438     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1439     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1440     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1441     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1442     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1443     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1444     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1445     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1446     0x20ac, ERROR , 0x201a, ERROR , 0x201e, 0x2026, 0x2020, 0x2021,\r
1447     ERROR , 0x2030, 0x0160, 0x2039, 0x015a, 0x0164, 0x017d, 0x0179,\r
1448     ERROR , 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\r
1449     ERROR , 0x2122, 0x0161, 0x203a, 0x015b, 0x0165, 0x017e, 0x017a,\r
1450     0x00a0, 0x02c7, 0x02d8, 0x0141, 0x00a4, 0x0104, 0x00a6, 0x00a7,\r
1451     0x00a8, 0x00a9, 0x015e, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x017b,\r
1452     0x00b0, 0x00b1, 0x02db, 0x0142, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
1453     0x00b8, 0x0105, 0x015f, 0x00bb, 0x013d, 0x02dd, 0x013e, 0x017c,\r
1454     0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,\r
1455     0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,\r
1456     0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,\r
1457     0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,\r
1458     0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,\r
1459     0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,\r
1460     0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,\r
1461     0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9\r
1462     },\r
1463     {\r
1464     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1465     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1466     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1467     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1468     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1469     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1470     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1471     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1472     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1473     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1474     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1475     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1476     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1477     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1478     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1479     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1480     0xa0, 0xa4, 0xa6, 0xa7, 0xa8, 0xa9, 0xab, 0xac,\r
1481     0xad, 0xae, 0xb0, 0xb1, 0xb4, 0xb5, 0xb6, 0xb7,\r
1482     0xb8, 0xbb, 0xc1, 0xc2, 0xc4, 0xc7, 0xc9, 0xcb,\r
1483     0xcd, 0xce, 0xd3, 0xd4, 0xd6, 0xd7, 0xda, 0xdc,\r
1484     0xdd, 0xdf, 0xe1, 0xe2, 0xe4, 0xe7, 0xe9, 0xeb,\r
1485     0xed, 0xee, 0xf3, 0xf4, 0xf6, 0xf7, 0xfa, 0xfc,\r
1486     0xfd, 0xc3, 0xe3, 0xa5, 0xb9, 0xc6, 0xe6, 0xc8,\r
1487     0xe8, 0xcf, 0xef, 0xd0, 0xf0, 0xca, 0xea, 0xcc,\r
1488     0xec, 0xc5, 0xe5, 0xbc, 0xbe, 0xa3, 0xb3, 0xd1,\r
1489     0xf1, 0xd2, 0xf2, 0xd5, 0xf5, 0xc0, 0xe0, 0xd8,\r
1490     0xf8, 0x8c, 0x9c, 0xaa, 0xba, 0x8a, 0x9a, 0xde,\r
1491     0xfe, 0x8d, 0x9d, 0xd9, 0xf9, 0xdb, 0xfb, 0x8f,\r
1492     0x9f, 0xaf, 0xbf, 0x8e, 0x9e, 0xa1, 0xa2, 0xff,\r
1493     0xb2, 0xbd, 0x96, 0x97, 0x91, 0x92, 0x82, 0x93,\r
1494     0x94, 0x84, 0x86, 0x87, 0x95, 0x85, 0x89, 0x8b,\r
1495     0x9b, 0x80, 0x99\r
1496     },\r
1497     251\r
1498 };\r
1499 const charset_spec charset_CS_CP1250 = {\r
1500     CS_CP1250, read_sbcs, write_sbcs, &data_CS_CP1250\r
1501 };\r
1502 \r
1503 static const sbcs_data data_CS_CP1251 = {\r
1504     {\r
1505     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1506     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1507     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1508     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1509     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1510     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1511     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1512     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1513     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1514     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1515     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1516     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1517     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1518     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1519     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1520     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1521     0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021,\r
1522     0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f,\r
1523     0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\r
1524     ERROR , 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f,\r
1525     0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7,\r
1526     0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407,\r
1527     0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7,\r
1528     0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457,\r
1529     0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,\r
1530     0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,\r
1531     0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,\r
1532     0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,\r
1533     0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,\r
1534     0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,\r
1535     0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,\r
1536     0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f\r
1537     },\r
1538     {\r
1539     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1540     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1541     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1542     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1543     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1544     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1545     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1546     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1547     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1548     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1549     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1550     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1551     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1552     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1553     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1554     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1555     0xa0, 0xa4, 0xa6, 0xa7, 0xa9, 0xab, 0xac, 0xad,\r
1556     0xae, 0xb0, 0xb1, 0xb5, 0xb6, 0xb7, 0xbb, 0xa8,\r
1557     0x80, 0x81, 0xaa, 0xbd, 0xb2, 0xaf, 0xa3, 0x8a,\r
1558     0x8c, 0x8e, 0x8d, 0xa1, 0x8f, 0xc0, 0xc1, 0xc2,\r
1559     0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca,\r
1560     0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2,\r
1561     0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,\r
1562     0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2,\r
1563     0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,\r
1564     0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2,\r
1565     0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa,\r
1566     0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0xb8, 0x90, 0x83,\r
1567     0xba, 0xbe, 0xb3, 0xbf, 0xbc, 0x9a, 0x9c, 0x9e,\r
1568     0x9d, 0xa2, 0x9f, 0xa5, 0xb4, 0x96, 0x97, 0x91,\r
1569     0x92, 0x82, 0x93, 0x94, 0x84, 0x86, 0x87, 0x95,\r
1570     0x85, 0x89, 0x8b, 0x9b, 0x88, 0xb9, 0x99\r
1571     },\r
1572     255\r
1573 };\r
1574 const charset_spec charset_CS_CP1251 = {\r
1575     CS_CP1251, read_sbcs, write_sbcs, &data_CS_CP1251\r
1576 };\r
1577 \r
1578 static const sbcs_data data_CS_CP1252 = {\r
1579     {\r
1580     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1581     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1582     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1583     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1584     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1585     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1586     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1587     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1588     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1589     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1590     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1591     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1592     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1593     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1594     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1595     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1596     0x20ac, ERROR , 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\r
1597     0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, ERROR , 0x017d, ERROR ,\r
1598     ERROR , 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\r
1599     0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, ERROR , 0x017e, 0x0178,\r
1600     0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\r
1601     0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\r
1602     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
1603     0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\r
1604     0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\r
1605     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\r
1606     0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\r
1607     0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,\r
1608     0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\r
1609     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\r
1610     0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\r
1611     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff\r
1612     },\r
1613     {\r
1614     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1615     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1616     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1617     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1618     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1619     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1620     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1621     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1622     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1623     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1624     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1625     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1626     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1627     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1628     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1629     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1630     0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\r
1631     0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\r
1632     0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\r
1633     0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\r
1634     0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\r
1635     0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\r
1636     0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\r
1637     0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\r
1638     0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\r
1639     0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\r
1640     0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\r
1641     0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,\r
1642     0x8c, 0x9c, 0x8a, 0x9a, 0x9f, 0x8e, 0x9e, 0x83,\r
1643     0x88, 0x98, 0x96, 0x97, 0x91, 0x92, 0x82, 0x93,\r
1644     0x94, 0x84, 0x86, 0x87, 0x95, 0x85, 0x89, 0x8b,\r
1645     0x9b, 0x80, 0x99\r
1646     },\r
1647     251\r
1648 };\r
1649 const charset_spec charset_CS_CP1252 = {\r
1650     CS_CP1252, read_sbcs, write_sbcs, &data_CS_CP1252\r
1651 };\r
1652 \r
1653 static const sbcs_data data_CS_CP1253 = {\r
1654     {\r
1655     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1656     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1657     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1658     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1659     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1660     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1661     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1662     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1663     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1664     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1665     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1666     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1667     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1668     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1669     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1670     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1671     0x20ac, ERROR , 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\r
1672     ERROR , 0x2030, ERROR , 0x2039, ERROR , ERROR , ERROR , ERROR ,\r
1673     ERROR , 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\r
1674     ERROR , 0x2122, ERROR , 0x203a, ERROR , ERROR , ERROR , ERROR ,\r
1675     0x00a0, 0x0385, 0x0386, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\r
1676     0x00a8, 0x00a9, ERROR , 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x2015,\r
1677     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x00b5, 0x00b6, 0x00b7,\r
1678     0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,\r
1679     0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,\r
1680     0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,\r
1681     0x03a0, 0x03a1, ERROR , 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,\r
1682     0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,\r
1683     0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,\r
1684     0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,\r
1685     0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,\r
1686     0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, ERROR \r
1687     },\r
1688     {\r
1689     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1690     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1691     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1692     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1693     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1694     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1695     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1696     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1697     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1698     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1699     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1700     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1701     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1702     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1703     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1704     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1705     0xa0, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9,\r
1706     0xab, 0xac, 0xad, 0xae, 0xb0, 0xb1, 0xb2, 0xb3,\r
1707     0xb5, 0xb6, 0xb7, 0xbb, 0xbd, 0x83, 0xb4, 0xa1,\r
1708     0xa2, 0xb8, 0xb9, 0xba, 0xbc, 0xbe, 0xbf, 0xc0,\r
1709     0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8,\r
1710     0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0,\r
1711     0xd1, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,\r
1712     0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1,\r
1713     0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,\r
1714     0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1,\r
1715     0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9,\r
1716     0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x96, 0x97, 0xaf,\r
1717     0x91, 0x92, 0x82, 0x93, 0x94, 0x84, 0x86, 0x87,\r
1718     0x95, 0x85, 0x89, 0x8b, 0x9b, 0x80, 0x99\r
1719     },\r
1720     239\r
1721 };\r
1722 const charset_spec charset_CS_CP1253 = {\r
1723     CS_CP1253, read_sbcs, write_sbcs, &data_CS_CP1253\r
1724 };\r
1725 \r
1726 static const sbcs_data data_CS_CP1254 = {\r
1727     {\r
1728     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1729     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1730     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1731     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1732     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1733     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1734     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1735     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1736     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1737     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1738     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1739     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1740     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1741     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1742     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1743     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1744     0x20ac, ERROR , 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\r
1745     0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, ERROR , ERROR , ERROR ,\r
1746     ERROR , 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\r
1747     0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, ERROR , ERROR , 0x0178,\r
1748     0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\r
1749     0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\r
1750     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
1751     0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\r
1752     0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\r
1753     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\r
1754     0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\r
1755     0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,\r
1756     0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\r
1757     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\r
1758     0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\r
1759     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff\r
1760     },\r
1761     {\r
1762     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1763     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1764     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1765     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1766     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1767     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1768     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1769     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1770     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1771     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1772     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1773     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1774     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1775     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1776     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1777     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1778     0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\r
1779     0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\r
1780     0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\r
1781     0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\r
1782     0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\r
1783     0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\r
1784     0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8,\r
1785     0xd9, 0xda, 0xdb, 0xdc, 0xdf, 0xe0, 0xe1, 0xe2,\r
1786     0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,\r
1787     0xeb, 0xec, 0xed, 0xee, 0xef, 0xf1, 0xf2, 0xf3,\r
1788     0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb,\r
1789     0xfc, 0xff, 0xd0, 0xf0, 0xdd, 0xfd, 0x8c, 0x9c,\r
1790     0xde, 0xfe, 0x8a, 0x9a, 0x9f, 0x83, 0x88, 0x98,\r
1791     0x96, 0x97, 0x91, 0x92, 0x82, 0x93, 0x94, 0x84,\r
1792     0x86, 0x87, 0x95, 0x85, 0x89, 0x8b, 0x9b, 0x80,\r
1793     0x99\r
1794     },\r
1795     249\r
1796 };\r
1797 const charset_spec charset_CS_CP1254 = {\r
1798     CS_CP1254, read_sbcs, write_sbcs, &data_CS_CP1254\r
1799 };\r
1800 \r
1801 static const sbcs_data data_CS_CP1255 = {\r
1802     {\r
1803     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1804     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1805     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1806     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1807     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1808     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1809     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1810     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1811     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1812     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1813     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1814     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1815     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1816     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1817     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1818     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1819     0x20ac, ERROR , 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\r
1820     0x02c6, 0x2030, ERROR , 0x2039, ERROR , ERROR , ERROR , ERROR ,\r
1821     ERROR , 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\r
1822     0x02dc, 0x2122, ERROR , 0x203a, ERROR , ERROR , ERROR , ERROR ,\r
1823     0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20aa, 0x00a5, 0x00a6, 0x00a7,\r
1824     0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\r
1825     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
1826     0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\r
1827     0x05b0, 0x05b1, 0x05b2, 0x05b3, 0x05b4, 0x05b5, 0x05b6, 0x05b7,\r
1828     0x05b8, 0x05b9, ERROR , 0x05bb, 0x05bc, 0x05bd, 0x05be, 0x05bf,\r
1829     0x05c0, 0x05c1, 0x05c2, 0x05c3, 0x05f0, 0x05f1, 0x05f2, 0x05f3,\r
1830     0x05f4, ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
1831     0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,\r
1832     0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,\r
1833     0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,\r
1834     0x05e8, 0x05e9, 0x05ea, ERROR , ERROR , 0x200e, 0x200f, ERROR \r
1835     },\r
1836     {\r
1837     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1838     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1839     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1840     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1841     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1842     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1843     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1844     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1845     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1846     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1847     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1848     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1849     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1850     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1851     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1852     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1853     0xa0, 0xa1, 0xa2, 0xa3, 0xa5, 0xa6, 0xa7, 0xa8,\r
1854     0xa9, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1,\r
1855     0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,\r
1856     0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xaa, 0xba, 0x83,\r
1857     0x88, 0x98, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5,\r
1858     0xc6, 0xc7, 0xc8, 0xc9, 0xcb, 0xcc, 0xcd, 0xce,\r
1859     0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xe0, 0xe1, 0xe2,\r
1860     0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,\r
1861     0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2,\r
1862     0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa,\r
1863     0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xfd, 0xfe, 0x96,\r
1864     0x97, 0x91, 0x92, 0x82, 0x93, 0x94, 0x84, 0x86,\r
1865     0x87, 0x95, 0x85, 0x89, 0x8b, 0x9b, 0xa4, 0x80,\r
1866     0x99\r
1867     },\r
1868     233\r
1869 };\r
1870 const charset_spec charset_CS_CP1255 = {\r
1871     CS_CP1255, read_sbcs, write_sbcs, &data_CS_CP1255\r
1872 };\r
1873 \r
1874 static const sbcs_data data_CS_CP1256 = {\r
1875     {\r
1876     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1877     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1878     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1879     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1880     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1881     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1882     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1883     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1884     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1885     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1886     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1887     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1888     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1889     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1890     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1891     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1892     0x20ac, 0x067e, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\r
1893     0x02c6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688,\r
1894     0x06af, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\r
1895     0x06a9, 0x2122, 0x0691, 0x203a, 0x0153, 0x200c, 0x200d, 0x06ba,\r
1896     0x00a0, 0x060c, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\r
1897     0x00a8, 0x00a9, 0x06be, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\r
1898     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
1899     0x00b8, 0x00b9, 0x061b, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x061f,\r
1900     0x06c1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,\r
1901     0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,\r
1902     0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00d7,\r
1903     0x0637, 0x0638, 0x0639, 0x063a, 0x0640, 0x0641, 0x0642, 0x0643,\r
1904     0x00e0, 0x0644, 0x00e2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00e7,\r
1905     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0649, 0x064a, 0x00ee, 0x00ef,\r
1906     0x064b, 0x064c, 0x064d, 0x064e, 0x00f4, 0x064f, 0x0650, 0x00f7,\r
1907     0x0651, 0x00f9, 0x0652, 0x00fb, 0x00fc, 0x200e, 0x200f, 0x06d2\r
1908     },\r
1909     {\r
1910     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1911     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1912     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1913     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1914     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1915     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1916     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1917     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1918     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1919     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1920     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1921     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1922     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1923     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1924     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
1925     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
1926     0xa0, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,\r
1927     0xa9, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1,\r
1928     0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,\r
1929     0xbb, 0xbc, 0xbd, 0xbe, 0xd7, 0xe0, 0xe2, 0xe7,\r
1930     0xe8, 0xe9, 0xea, 0xeb, 0xee, 0xef, 0xf4, 0xf7,\r
1931     0xf9, 0xfb, 0xfc, 0x8c, 0x9c, 0x83, 0x88, 0xa1,\r
1932     0xba, 0xbf, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6,\r
1933     0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce,\r
1934     0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\r
1935     0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\r
1936     0xe1, 0xe3, 0xe4, 0xe5, 0xe6, 0xec, 0xed, 0xf0,\r
1937     0xf1, 0xf2, 0xf3, 0xf5, 0xf6, 0xf8, 0xfa, 0x8a,\r
1938     0x81, 0x8d, 0x8f, 0x9a, 0x8e, 0x98, 0x90, 0x9f,\r
1939     0xaa, 0xc0, 0xff, 0x9d, 0x9e, 0xfd, 0xfe, 0x96,\r
1940     0x97, 0x91, 0x92, 0x82, 0x93, 0x94, 0x84, 0x86,\r
1941     0x87, 0x95, 0x85, 0x89, 0x8b, 0x9b, 0x80, 0x99\r
1942     },\r
1943     256\r
1944 };\r
1945 const charset_spec charset_CS_CP1256 = {\r
1946     CS_CP1256, read_sbcs, write_sbcs, &data_CS_CP1256\r
1947 };\r
1948 \r
1949 static const sbcs_data data_CS_CP1257 = {\r
1950     {\r
1951     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
1952     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
1953     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
1954     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
1955     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
1956     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
1957     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
1958     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
1959     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
1960     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
1961     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
1962     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
1963     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
1964     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
1965     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
1966     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
1967     0x20ac, ERROR , 0x201a, ERROR , 0x201e, 0x2026, 0x2020, 0x2021,\r
1968     ERROR , 0x2030, ERROR , 0x2039, ERROR , 0x00a8, 0x02c7, 0x00b8,\r
1969     ERROR , 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\r
1970     ERROR , 0x2122, ERROR , 0x203a, ERROR , 0x00af, 0x02db, ERROR ,\r
1971     0x00a0, ERROR , 0x00a2, 0x00a3, 0x00a4, ERROR , 0x00a6, 0x00a7,\r
1972     0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,\r
1973     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
1974     0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,\r
1975     0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,\r
1976     0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,\r
1977     0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,\r
1978     0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,\r
1979     0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,\r
1980     0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,\r
1981     0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,\r
1982     0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x02d9\r
1983     },\r
1984     {\r
1985     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
1986     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
1987     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
1988     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
1989     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
1990     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
1991     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
1992     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
1993     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
1994     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
1995     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
1996     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
1997     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
1998     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
1999     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2000     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2001     0xa0, 0xa2, 0xa3, 0xa4, 0xa6, 0xa7, 0x8d, 0xa9,\r
2002     0xab, 0xac, 0xad, 0xae, 0x9d, 0xb0, 0xb1, 0xb2,\r
2003     0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0x8f, 0xb9, 0xbb,\r
2004     0xbc, 0xbd, 0xbe, 0xc4, 0xc5, 0xaf, 0xc9, 0xd3,\r
2005     0xd5, 0xd6, 0xd7, 0xa8, 0xdc, 0xdf, 0xe4, 0xe5,\r
2006     0xbf, 0xe9, 0xf3, 0xf5, 0xf6, 0xf7, 0xb8, 0xfc,\r
2007     0xc2, 0xe2, 0xc0, 0xe0, 0xc3, 0xe3, 0xc8, 0xe8,\r
2008     0xc7, 0xe7, 0xcb, 0xeb, 0xc6, 0xe6, 0xcc, 0xec,\r
2009     0xce, 0xee, 0xc1, 0xe1, 0xcd, 0xed, 0xcf, 0xef,\r
2010     0xd9, 0xf9, 0xd1, 0xf1, 0xd2, 0xf2, 0xd4, 0xf4,\r
2011     0xaa, 0xba, 0xda, 0xfa, 0xd0, 0xf0, 0xdb, 0xfb,\r
2012     0xd8, 0xf8, 0xca, 0xea, 0xdd, 0xfd, 0xde, 0xfe,\r
2013     0x8e, 0xff, 0x9e, 0x96, 0x97, 0x91, 0x92, 0x82,\r
2014     0x93, 0x94, 0x84, 0x86, 0x87, 0x95, 0x85, 0x89,\r
2015     0x8b, 0x9b, 0x80, 0x99\r
2016     },\r
2017     244\r
2018 };\r
2019 const charset_spec charset_CS_CP1257 = {\r
2020     CS_CP1257, read_sbcs, write_sbcs, &data_CS_CP1257\r
2021 };\r
2022 \r
2023 static const sbcs_data data_CS_CP1258 = {\r
2024     {\r
2025     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2026     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2027     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2028     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2029     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2030     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2031     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2032     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2033     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2034     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2035     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2036     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2037     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2038     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2039     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2040     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2041     0x20ac, ERROR , 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\r
2042     0x02c6, 0x2030, ERROR , 0x2039, 0x0152, ERROR , ERROR , ERROR ,\r
2043     ERROR , 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\r
2044     0x02dc, 0x2122, ERROR , 0x203a, 0x0153, ERROR , ERROR , 0x0178,\r
2045     0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\r
2046     0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\r
2047     0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\r
2048     0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\r
2049     0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\r
2050     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x0300, 0x00cd, 0x00ce, 0x00cf,\r
2051     0x0110, 0x00d1, 0x0309, 0x00d3, 0x00d4, 0x01a0, 0x00d6, 0x00d7,\r
2052     0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x01af, 0x0303, 0x00df,\r
2053     0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\r
2054     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0301, 0x00ed, 0x00ee, 0x00ef,\r
2055     0x0111, 0x00f1, 0x0323, 0x00f3, 0x00f4, 0x01a1, 0x00f6, 0x00f7,\r
2056     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x01b0, 0x20ab, 0x00ff\r
2057     },\r
2058     {\r
2059     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2060     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2061     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2062     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2063     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2064     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2065     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2066     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2067     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2068     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2069     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2070     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2071     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2072     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2073     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2074     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2075     0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\r
2076     0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\r
2077     0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\r
2078     0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\r
2079     0xc0, 0xc1, 0xc2, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8,\r
2080     0xc9, 0xca, 0xcb, 0xcd, 0xce, 0xcf, 0xd1, 0xd3,\r
2081     0xd4, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc,\r
2082     0xdf, 0xe0, 0xe1, 0xe2, 0xe4, 0xe5, 0xe6, 0xe7,\r
2083     0xe8, 0xe9, 0xea, 0xeb, 0xed, 0xee, 0xef, 0xf1,\r
2084     0xf3, 0xf4, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb,\r
2085     0xfc, 0xff, 0xc3, 0xe3, 0xd0, 0xf0, 0x8c, 0x9c,\r
2086     0x9f, 0x83, 0xd5, 0xf5, 0xdd, 0xfd, 0x88, 0x98,\r
2087     0xcc, 0xec, 0xde, 0xd2, 0xf2, 0x96, 0x97, 0x91,\r
2088     0x92, 0x82, 0x93, 0x94, 0x84, 0x86, 0x87, 0x95,\r
2089     0x85, 0x89, 0x8b, 0x9b, 0xfe, 0x80, 0x99\r
2090     },\r
2091     247\r
2092 };\r
2093 const charset_spec charset_CS_CP1258 = {\r
2094     CS_CP1258, read_sbcs, write_sbcs, &data_CS_CP1258\r
2095 };\r
2096 \r
2097 static const sbcs_data data_CS_KOI8_R = {\r
2098     {\r
2099     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2100     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2101     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2102     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2103     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2104     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2105     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2106     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2107     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2108     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2109     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2110     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2111     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2112     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2113     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2114     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2115     0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524,\r
2116     0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590,\r
2117     0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248,\r
2118     0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7,\r
2119     0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556,\r
2120     0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e,\r
2121     0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565,\r
2122     0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9,\r
2123     0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,\r
2124     0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,\r
2125     0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,\r
2126     0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a,\r
2127     0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,\r
2128     0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,\r
2129     0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,\r
2130     0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a\r
2131     },\r
2132     {\r
2133     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2134     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2135     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2136     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2137     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2138     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2139     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2140     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2141     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2142     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2143     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2144     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2145     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2146     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2147     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2148     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2149     0x9a, 0xbf, 0x9c, 0x9d, 0x9e, 0x9f, 0xb3, 0xe1,\r
2150     0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa, 0xe9,\r
2151     0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf2,\r
2152     0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe, 0xfb,\r
2153     0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1, 0xc1,\r
2154     0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda, 0xc9,\r
2155     0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd2,\r
2156     0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde, 0xdb,\r
2157     0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1, 0xa3,\r
2158     0x95, 0x96, 0x97, 0x98, 0x99, 0x93, 0x9b, 0x80,\r
2159     0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,\r
2160     0x89, 0x8a, 0xa0, 0xa1, 0xa2, 0xa4, 0xa5, 0xa6,\r
2161     0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae,\r
2162     0xaf, 0xb0, 0xb1, 0xb2, 0xb4, 0xb5, 0xb6, 0xb7,\r
2163     0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0x8b,\r
2164     0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x94\r
2165     },\r
2166     256\r
2167 };\r
2168 const charset_spec charset_CS_KOI8_R = {\r
2169     CS_KOI8_R, read_sbcs, write_sbcs, &data_CS_KOI8_R\r
2170 };\r
2171 \r
2172 static const sbcs_data data_CS_KOI8_U = {\r
2173     {\r
2174     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2175     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2176     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2177     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2178     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2179     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2180     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2181     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2182     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2183     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2184     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2185     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2186     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2187     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2188     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2189     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2190     0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524,\r
2191     0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590,\r
2192     0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248,\r
2193     0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7,\r
2194     0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457,\r
2195     0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x0491, 0x255d, 0x255e,\r
2196     0x255f, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407,\r
2197     0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x0490, 0x256c, 0x00a9,\r
2198     0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,\r
2199     0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,\r
2200     0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,\r
2201     0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a,\r
2202     0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,\r
2203     0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,\r
2204     0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,\r
2205     0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a\r
2206     },\r
2207     {\r
2208     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2209     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2210     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2211     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2212     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2213     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2214     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2215     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2216     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2217     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2218     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2219     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2220     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2221     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2222     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2223     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2224     0x9a, 0xbf, 0x9c, 0x9d, 0x9e, 0x9f, 0xb3, 0xb4,\r
2225     0xb6, 0xb7, 0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5,\r
2226     0xf6, 0xfa, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee,\r
2227     0xef, 0xf0, 0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8,\r
2228     0xe3, 0xfe, 0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc,\r
2229     0xe0, 0xf1, 0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5,\r
2230     0xd6, 0xda, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce,\r
2231     0xcf, 0xd0, 0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8,\r
2232     0xc3, 0xde, 0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc,\r
2233     0xc0, 0xd1, 0xa3, 0xa4, 0xa6, 0xa7, 0xbd, 0xad,\r
2234     0x95, 0x96, 0x97, 0x98, 0x99, 0x93, 0x9b, 0x80,\r
2235     0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,\r
2236     0x89, 0x8a, 0xa0, 0xa1, 0xa2, 0xa5, 0xa8, 0xa9,\r
2237     0xaa, 0xab, 0xac, 0xae, 0xaf, 0xb0, 0xb1, 0xb2,\r
2238     0xb5, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbe, 0x8b,\r
2239     0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x94\r
2240     },\r
2241     256\r
2242 };\r
2243 const charset_spec charset_CS_KOI8_U = {\r
2244     CS_KOI8_U, read_sbcs, write_sbcs, &data_CS_KOI8_U\r
2245 };\r
2246 \r
2247 static const sbcs_data data_CS_MAC_ROMAN = {\r
2248     {\r
2249     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2250     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2251     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2252     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2253     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2254     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2255     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2256     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2257     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2258     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2259     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2260     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2261     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2262     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2263     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2264     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2265     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
2266     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
2267     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
2268     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
2269     0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\r
2270     0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,\r
2271     0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,\r
2272     0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x00e6, 0x00f8,\r
2273     0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\r
2274     0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
2275     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\r
2276     0x00ff, 0x0178, 0x2044, 0x20ac, 0x2039, 0x203a, 0xfb01, 0xfb02,\r
2277     0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,\r
2278     0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
2279     0xf8ff, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,\r
2280     0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7\r
2281     },\r
2282     {\r
2283     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2284     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2285     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2286     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2287     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2288     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2289     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2290     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2291     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2292     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2293     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2294     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2295     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2296     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2297     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2298     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2299     0xca, 0xc1, 0xa2, 0xa3, 0xb4, 0xa4, 0xac, 0xa9,\r
2300     0xbb, 0xc7, 0xc2, 0xa8, 0xf8, 0xa1, 0xb1, 0xab,\r
2301     0xb5, 0xa6, 0xe1, 0xfc, 0xbc, 0xc8, 0xc0, 0xcb,\r
2302     0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82, 0xe9,\r
2303     0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec, 0x84,\r
2304     0xf1, 0xee, 0xef, 0xcd, 0x85, 0xaf, 0xf4, 0xf2,\r
2305     0xf3, 0x86, 0xa7, 0x88, 0x87, 0x89, 0x8b, 0x8a,\r
2306     0x8c, 0xbe, 0x8d, 0x8f, 0x8e, 0x90, 0x91, 0x93,\r
2307     0x92, 0x94, 0x95, 0x96, 0x98, 0x97, 0x99, 0x9b,\r
2308     0x9a, 0xd6, 0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0xd8,\r
2309     0xf5, 0xce, 0xcf, 0xd9, 0xc4, 0xf6, 0xff, 0xf9,\r
2310     0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0xbd, 0xb9, 0xd0,\r
2311     0xd1, 0xd4, 0xd5, 0xe2, 0xd2, 0xd3, 0xe3, 0xa0,\r
2312     0xe0, 0xa5, 0xc9, 0xe4, 0xdc, 0xdd, 0xda, 0xdb,\r
2313     0xaa, 0xb6, 0xc6, 0xb8, 0xb7, 0xc3, 0xb0, 0xba,\r
2314     0xc5, 0xad, 0xb2, 0xb3, 0xd7, 0xf0, 0xde, 0xdf\r
2315     },\r
2316     256\r
2317 };\r
2318 const charset_spec charset_CS_MAC_ROMAN = {\r
2319     CS_MAC_ROMAN, read_sbcs, write_sbcs, &data_CS_MAC_ROMAN\r
2320 };\r
2321 \r
2322 static const sbcs_data data_CS_MAC_TURKISH = {\r
2323     {\r
2324     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2325     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2326     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2327     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2328     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2329     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2330     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2331     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2332     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2333     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2334     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2335     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2336     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2337     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2338     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2339     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2340     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
2341     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
2342     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
2343     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
2344     0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\r
2345     0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,\r
2346     0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,\r
2347     0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x00e6, 0x00f8,\r
2348     0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\r
2349     0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
2350     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\r
2351     0x00ff, 0x0178, 0x011e, 0x011f, 0x0130, 0x0131, 0x015e, 0x015f,\r
2352     0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,\r
2353     0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
2354     0xf8ff, 0x00d2, 0x00da, 0x00db, 0x00d9, ERROR , 0x02c6, 0x02dc,\r
2355     0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7\r
2356     },\r
2357     {\r
2358     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2359     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2360     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2361     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2362     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2363     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2364     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2365     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2366     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2367     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2368     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2369     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2370     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2371     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2372     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2373     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2374     0xca, 0xc1, 0xa2, 0xa3, 0xb4, 0xa4, 0xac, 0xa9,\r
2375     0xbb, 0xc7, 0xc2, 0xa8, 0xf8, 0xa1, 0xb1, 0xab,\r
2376     0xb5, 0xa6, 0xe1, 0xfc, 0xbc, 0xc8, 0xc0, 0xcb,\r
2377     0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82, 0xe9,\r
2378     0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec, 0x84,\r
2379     0xf1, 0xee, 0xef, 0xcd, 0x85, 0xaf, 0xf4, 0xf2,\r
2380     0xf3, 0x86, 0xa7, 0x88, 0x87, 0x89, 0x8b, 0x8a,\r
2381     0x8c, 0xbe, 0x8d, 0x8f, 0x8e, 0x90, 0x91, 0x93,\r
2382     0x92, 0x94, 0x95, 0x96, 0x98, 0x97, 0x99, 0x9b,\r
2383     0x9a, 0xd6, 0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0xd8,\r
2384     0xda, 0xdb, 0xdc, 0xdd, 0xce, 0xcf, 0xde, 0xdf,\r
2385     0xd9, 0xc4, 0xf6, 0xff, 0xf9, 0xfa, 0xfb, 0xfe,\r
2386     0xf7, 0xfd, 0xbd, 0xb9, 0xd0, 0xd1, 0xd4, 0xd5,\r
2387     0xe2, 0xd2, 0xd3, 0xe3, 0xa0, 0xe0, 0xa5, 0xc9,\r
2388     0xe4, 0xaa, 0xb6, 0xc6, 0xb8, 0xb7, 0xc3, 0xb0,\r
2389     0xba, 0xc5, 0xad, 0xb2, 0xb3, 0xd7, 0xf0\r
2390     },\r
2391     255\r
2392 };\r
2393 const charset_spec charset_CS_MAC_TURKISH = {\r
2394     CS_MAC_TURKISH, read_sbcs, write_sbcs, &data_CS_MAC_TURKISH\r
2395 };\r
2396 \r
2397 static const sbcs_data data_CS_MAC_CROATIAN = {\r
2398     {\r
2399     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2400     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2401     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2402     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2403     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2404     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2405     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2406     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2407     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2408     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2409     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2410     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2411     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2412     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2413     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2414     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2415     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
2416     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
2417     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
2418     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
2419     0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\r
2420     0x00ae, 0x0160, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x017d, 0x00d8,\r
2421     0x221e, 0x00b1, 0x2264, 0x2265, 0x2206, 0x00b5, 0x2202, 0x2211,\r
2422     0x220f, 0x0161, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x017e, 0x00f8,\r
2423     0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x0106, 0x00ab,\r
2424     0x010c, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
2425     0x0110, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\r
2426     0xf8ff, 0x00a9, 0x2044, 0x20ac, 0x2039, 0x203a, 0x00c6, 0x00bb,\r
2427     0x2013, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x0107, 0x00c1,\r
2428     0x010d, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
2429     0x0111, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,\r
2430     0x00af, 0x03c0, 0x00cb, 0x02da, 0x00b8, 0x00ca, 0x00e6, 0x02c7\r
2431     },\r
2432     {\r
2433     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2434     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2435     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2436     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2437     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2438     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2439     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2440     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2441     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2442     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2443     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2444     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2445     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2446     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2447     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2448     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2449     0xca, 0xc1, 0xa2, 0xa3, 0xa4, 0xac, 0xd9, 0xbb,\r
2450     0xc7, 0xc2, 0xa8, 0xf8, 0xa1, 0xb1, 0xab, 0xb5,\r
2451     0xa6, 0xe1, 0xfc, 0xbc, 0xdf, 0xc0, 0xcb, 0xe7,\r
2452     0xe5, 0xcc, 0x80, 0x81, 0xde, 0x82, 0xe9, 0x83,\r
2453     0xfd, 0xfa, 0xed, 0xea, 0xeb, 0xec, 0x84, 0xf1,\r
2454     0xee, 0xef, 0xcd, 0x85, 0xaf, 0xf4, 0xf2, 0xf3,\r
2455     0x86, 0xa7, 0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c,\r
2456     0xfe, 0x8d, 0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92,\r
2457     0x94, 0x95, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a,\r
2458     0xd6, 0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0xc6, 0xe6,\r
2459     0xc8, 0xe8, 0xd0, 0xf0, 0xf5, 0xce, 0xcf, 0xa9,\r
2460     0xb9, 0xae, 0xbe, 0xc4, 0xf6, 0xff, 0xfb, 0xf7,\r
2461     0xbd, 0xf9, 0xe0, 0xd1, 0xd4, 0xd5, 0xe2, 0xd2,\r
2462     0xd3, 0xe3, 0xa0, 0xa5, 0xc9, 0xe4, 0xdc, 0xdd,\r
2463     0xda, 0xdb, 0xaa, 0xb6, 0xb4, 0xb8, 0xb7, 0xc3,\r
2464     0xb0, 0xba, 0xc5, 0xad, 0xb2, 0xb3, 0xd7, 0xd8\r
2465     },\r
2466     256\r
2467 };\r
2468 const charset_spec charset_CS_MAC_CROATIAN = {\r
2469     CS_MAC_CROATIAN, read_sbcs, write_sbcs, &data_CS_MAC_CROATIAN\r
2470 };\r
2471 \r
2472 static const sbcs_data data_CS_MAC_ICELAND = {\r
2473     {\r
2474     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2475     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2476     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2477     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2478     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2479     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2480     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2481     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2482     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2483     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2484     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2485     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2486     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2487     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2488     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2489     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2490     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
2491     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
2492     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
2493     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
2494     0x00dd, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\r
2495     0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,\r
2496     0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,\r
2497     0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x00e6, 0x00f8,\r
2498     0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\r
2499     0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
2500     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\r
2501     0x00ff, 0x0178, 0x2044, 0x20ac, 0x00d0, 0x00f0, 0x00de, 0x00fe,\r
2502     0x00fd, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,\r
2503     0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
2504     0xf8ff, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,\r
2505     0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7\r
2506     },\r
2507     {\r
2508     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2509     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2510     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2511     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2512     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2513     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2514     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2515     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2516     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2517     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2518     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2519     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2520     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2521     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2522     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2523     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2524     0xca, 0xc1, 0xa2, 0xa3, 0xb4, 0xa4, 0xac, 0xa9,\r
2525     0xbb, 0xc7, 0xc2, 0xa8, 0xf8, 0xa1, 0xb1, 0xab,\r
2526     0xb5, 0xa6, 0xe1, 0xfc, 0xbc, 0xc8, 0xc0, 0xcb,\r
2527     0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82, 0xe9,\r
2528     0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec, 0xdc,\r
2529     0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0xaf, 0xf4,\r
2530     0xf2, 0xf3, 0x86, 0xa0, 0xde, 0xa7, 0x88, 0x87,\r
2531     0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d, 0x8f, 0x8e,\r
2532     0x90, 0x91, 0x93, 0x92, 0x94, 0x95, 0xdd, 0x96,\r
2533     0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6, 0xbf, 0x9d,\r
2534     0x9c, 0x9e, 0x9f, 0xe0, 0xdf, 0xd8, 0xf5, 0xce,\r
2535     0xcf, 0xd9, 0xc4, 0xf6, 0xff, 0xf9, 0xfa, 0xfb,\r
2536     0xfe, 0xf7, 0xfd, 0xbd, 0xb9, 0xd0, 0xd1, 0xd4,\r
2537     0xd5, 0xe2, 0xd2, 0xd3, 0xe3, 0xa5, 0xc9, 0xe4,\r
2538     0xda, 0xdb, 0xaa, 0xb6, 0xc6, 0xb8, 0xb7, 0xc3,\r
2539     0xb0, 0xba, 0xc5, 0xad, 0xb2, 0xb3, 0xd7, 0xf0\r
2540     },\r
2541     256\r
2542 };\r
2543 const charset_spec charset_CS_MAC_ICELAND = {\r
2544     CS_MAC_ICELAND, read_sbcs, write_sbcs, &data_CS_MAC_ICELAND\r
2545 };\r
2546 \r
2547 static const sbcs_data data_CS_MAC_ROMANIAN = {\r
2548     {\r
2549     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2550     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2551     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2552     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2553     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2554     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2555     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2556     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2557     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2558     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2559     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2560     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2561     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2562     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2563     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2564     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2565     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
2566     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
2567     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
2568     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
2569     0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\r
2570     0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x0102, 0x0218,\r
2571     0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,\r
2572     0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x0103, 0x0219,\r
2573     0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\r
2574     0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
2575     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\r
2576     0x00ff, 0x0178, 0x2044, 0x20ac, 0x2039, 0x203a, 0x021a, 0x021b,\r
2577     0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,\r
2578     0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
2579     0xf8ff, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,\r
2580     0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7\r
2581     },\r
2582     {\r
2583     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2584     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2585     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2586     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2587     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2588     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2589     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2590     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2591     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2592     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2593     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2594     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2595     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2596     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2597     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2598     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2599     0xca, 0xc1, 0xa2, 0xa3, 0xb4, 0xa4, 0xac, 0xa9,\r
2600     0xbb, 0xc7, 0xc2, 0xa8, 0xf8, 0xa1, 0xb1, 0xab,\r
2601     0xb5, 0xa6, 0xe1, 0xfc, 0xbc, 0xc8, 0xc0, 0xcb,\r
2602     0xe7, 0xe5, 0xcc, 0x80, 0x81, 0x82, 0xe9, 0x83,\r
2603     0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec, 0x84, 0xf1,\r
2604     0xee, 0xef, 0xcd, 0x85, 0xf4, 0xf2, 0xf3, 0x86,\r
2605     0xa7, 0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0x8d,\r
2606     0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95,\r
2607     0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6, 0x9d,\r
2608     0x9c, 0x9e, 0x9f, 0xd8, 0xae, 0xbe, 0xf5, 0xce,\r
2609     0xcf, 0xd9, 0xc4, 0xaf, 0xbf, 0xde, 0xdf, 0xf6,\r
2610     0xff, 0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0xbd,\r
2611     0xb9, 0xd0, 0xd1, 0xd4, 0xd5, 0xe2, 0xd2, 0xd3,\r
2612     0xe3, 0xa0, 0xe0, 0xa5, 0xc9, 0xe4, 0xdc, 0xdd,\r
2613     0xda, 0xdb, 0xaa, 0xb6, 0xc6, 0xb8, 0xb7, 0xc3,\r
2614     0xb0, 0xba, 0xc5, 0xad, 0xb2, 0xb3, 0xd7, 0xf0\r
2615     },\r
2616     256\r
2617 };\r
2618 const charset_spec charset_CS_MAC_ROMANIAN = {\r
2619     CS_MAC_ROMANIAN, read_sbcs, write_sbcs, &data_CS_MAC_ROMANIAN\r
2620 };\r
2621 \r
2622 static const sbcs_data data_CS_MAC_GREEK = {\r
2623     {\r
2624     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2625     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2626     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2627     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2628     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2629     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2630     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2631     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2632     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2633     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2634     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2635     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2636     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2637     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2638     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2639     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2640     0x00c4, 0x00b9, 0x00b2, 0x00c9, 0x00b3, 0x00d6, 0x00dc, 0x0385,\r
2641     0x00e0, 0x00e2, 0x00e4, 0x0384, 0x00a8, 0x00e7, 0x00e9, 0x00e8,\r
2642     0x00ea, 0x00eb, 0x00a3, 0x2122, 0x00ee, 0x00ef, 0x2022, 0x00bd,\r
2643     0x2030, 0x00f4, 0x00f6, 0x00a6, 0x20ac, 0x00f9, 0x00fb, 0x00fc,\r
2644     0x2020, 0x0393, 0x0394, 0x0398, 0x039b, 0x039e, 0x03a0, 0x00df,\r
2645     0x00ae, 0x00a9, 0x03a3, 0x03aa, 0x00a7, 0x2260, 0x00b0, 0x00b7,\r
2646     0x0391, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x0392, 0x0395, 0x0396,\r
2647     0x0397, 0x0399, 0x039a, 0x039c, 0x03a6, 0x03ab, 0x03a8, 0x03a9,\r
2648     0x03ac, 0x039d, 0x00ac, 0x039f, 0x03a1, 0x2248, 0x03a4, 0x00ab,\r
2649     0x00bb, 0x2026, 0x00a0, 0x03a5, 0x03a7, 0x0386, 0x0388, 0x0153,\r
2650     0x2013, 0x2015, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x0389,\r
2651     0x038a, 0x038c, 0x038e, 0x03ad, 0x03ae, 0x03af, 0x03cc, 0x038f,\r
2652     0x03cd, 0x03b1, 0x03b2, 0x03c8, 0x03b4, 0x03b5, 0x03c6, 0x03b3,\r
2653     0x03b7, 0x03b9, 0x03be, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03bf,\r
2654     0x03c0, 0x03ce, 0x03c1, 0x03c3, 0x03c4, 0x03b8, 0x03c9, 0x03c2,\r
2655     0x03c7, 0x03c5, 0x03b6, 0x03ca, 0x03cb, 0x0390, 0x03b0, 0x00ad\r
2656     },\r
2657     {\r
2658     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2659     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2660     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2661     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2662     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2663     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2664     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2665     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2666     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2667     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2668     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2669     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2670     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2671     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2672     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2673     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2674     0xca, 0x92, 0xb4, 0x9b, 0xac, 0x8c, 0xa9, 0xc7,\r
2675     0xc2, 0xff, 0xa8, 0xae, 0xb1, 0x82, 0x84, 0xaf,\r
2676     0x81, 0xc8, 0x97, 0x80, 0x83, 0x85, 0x86, 0xa7,\r
2677     0x88, 0x89, 0x8a, 0x8d, 0x8f, 0x8e, 0x90, 0x91,\r
2678     0x94, 0x95, 0x99, 0x9a, 0xd6, 0x9d, 0x9e, 0x9f,\r
2679     0xcf, 0x8b, 0x87, 0xcd, 0xce, 0xd7, 0xd8, 0xd9,\r
2680     0xda, 0xdf, 0xfd, 0xb0, 0xb5, 0xa1, 0xa2, 0xb6,\r
2681     0xb7, 0xb8, 0xa3, 0xb9, 0xba, 0xa4, 0xbb, 0xc1,\r
2682     0xa5, 0xc3, 0xa6, 0xc4, 0xaa, 0xc6, 0xcb, 0xbc,\r
2683     0xcc, 0xbe, 0xbf, 0xab, 0xbd, 0xc0, 0xdb, 0xdc,\r
2684     0xdd, 0xfe, 0xe1, 0xe2, 0xe7, 0xe4, 0xe5, 0xfa,\r
2685     0xe8, 0xf5, 0xe9, 0xeb, 0xec, 0xed, 0xee, 0xea,\r
2686     0xef, 0xf0, 0xf2, 0xf7, 0xf3, 0xf4, 0xf9, 0xe6,\r
2687     0xf8, 0xe3, 0xf6, 0xfb, 0xfc, 0xde, 0xe0, 0xf1,\r
2688     0xd0, 0xd1, 0xd4, 0xd5, 0xd2, 0xd3, 0xa0, 0x96,\r
2689     0xc9, 0x98, 0x9c, 0x93, 0xc5, 0xad, 0xb2, 0xb3\r
2690     },\r
2691     256\r
2692 };\r
2693 const charset_spec charset_CS_MAC_GREEK = {\r
2694     CS_MAC_GREEK, read_sbcs, write_sbcs, &data_CS_MAC_GREEK\r
2695 };\r
2696 \r
2697 static const sbcs_data data_CS_MAC_CYRILLIC = {\r
2698     {\r
2699     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2700     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2701     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2702     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2703     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2704     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2705     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2706     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2707     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2708     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2709     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2710     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2711     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2712     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2713     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2714     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2715     0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,\r
2716     0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,\r
2717     0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,\r
2718     0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,\r
2719     0x2020, 0x00b0, 0x0490, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x0406,\r
2720     0x00ae, 0x00a9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453,\r
2721     0x221e, 0x00b1, 0x2264, 0x2265, 0x0456, 0x00b5, 0x0491, 0x0408,\r
2722     0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040a, 0x045a,\r
2723     0x0458, 0x0405, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\r
2724     0x00bb, 0x2026, 0x00a0, 0x040b, 0x045b, 0x040c, 0x045c, 0x0455,\r
2725     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x201e,\r
2726     0x040e, 0x045e, 0x040f, 0x045f, 0x2116, 0x0401, 0x0451, 0x044f,\r
2727     0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,\r
2728     0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,\r
2729     0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,\r
2730     0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x20ac\r
2731     },\r
2732     {\r
2733     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2734     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2735     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2736     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2737     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2738     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2739     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2740     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2741     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2742     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2743     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2744     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2745     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2746     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2747     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2748     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2749     0xca, 0xa3, 0xa4, 0xa9, 0xc7, 0xc2, 0xa8, 0xa1,\r
2750     0xb1, 0xb5, 0xa6, 0xc8, 0xd6, 0xc4, 0xdd, 0xab,\r
2751     0xae, 0xb8, 0xc1, 0xa7, 0xba, 0xb7, 0xbc, 0xbe,\r
2752     0xcb, 0xcd, 0xd8, 0xda, 0x80, 0x81, 0x82, 0x83,\r
2753     0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b,\r
2754     0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93,\r
2755     0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b,\r
2756     0x9c, 0x9d, 0x9e, 0x9f, 0xe0, 0xe1, 0xe2, 0xe3,\r
2757     0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb,\r
2758     0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3,\r
2759     0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb,\r
2760     0xfc, 0xfd, 0xfe, 0xdf, 0xde, 0xac, 0xaf, 0xb9,\r
2761     0xcf, 0xb4, 0xbb, 0xc0, 0xbd, 0xbf, 0xcc, 0xce,\r
2762     0xd9, 0xdb, 0xa2, 0xb6, 0xd0, 0xd1, 0xd4, 0xd5,\r
2763     0xd2, 0xd3, 0xd7, 0xa0, 0xa5, 0xc9, 0xff, 0xdc,\r
2764     0xaa, 0xc6, 0xc3, 0xb0, 0xc5, 0xad, 0xb2, 0xb3\r
2765     },\r
2766     256\r
2767 };\r
2768 const charset_spec charset_CS_MAC_CYRILLIC = {\r
2769     CS_MAC_CYRILLIC, read_sbcs, write_sbcs, &data_CS_MAC_CYRILLIC\r
2770 };\r
2771 \r
2772 static const sbcs_data data_CS_MAC_THAI = {\r
2773     {\r
2774     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2775     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2776     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2777     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2778     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2779     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2780     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2781     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2782     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2783     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2784     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2785     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2786     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2787     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2788     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2789     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2790     0x00ab, 0x00bb, 0x2026, 0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c,\r
2791     0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x201c, 0x201d, 0x0e4d,\r
2792     ERROR , 0x2022, 0x0e31, 0x0e47, 0x0e34, 0x0e35, 0x0e36, 0x0e37,\r
2793     0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x2018, 0x2019, ERROR ,\r
2794     0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, 0x0e07,\r
2795     0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, 0x0e0e, 0x0e0f,\r
2796     0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, 0x0e15, 0x0e16, 0x0e17,\r
2797     0x0e18, 0x0e19, 0x0e1a, 0x0e1b, 0x0e1c, 0x0e1d, 0x0e1e, 0x0e1f,\r
2798     0x0e20, 0x0e21, 0x0e22, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27,\r
2799     0x0e28, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, 0x0e2f,\r
2800     0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, 0x0e35, 0x0e36, 0x0e37,\r
2801     0x0e38, 0x0e39, 0x0e3a, 0x2060, 0x200b, 0x2013, 0x2014, 0x0e3f,\r
2802     0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, 0x0e45, 0x0e46, 0x0e47,\r
2803     0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x2122, 0x0e4f,\r
2804     0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57,\r
2805     0x0e58, 0x0e59, 0x00ae, 0x00a9, ERROR , ERROR , ERROR , ERROR \r
2806     },\r
2807     {\r
2808     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2809     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2810     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2811     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2812     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2813     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2814     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2815     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2816     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2817     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2818     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2819     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2820     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2821     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2822     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2823     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2824     0xa0, 0xfb, 0x80, 0xfa, 0x81, 0xa1, 0xa2, 0xa3,\r
2825     0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab,\r
2826     0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3,\r
2827     0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb,\r
2828     0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3,\r
2829     0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb,\r
2830     0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3,\r
2831     0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdf,\r
2832     0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\r
2833     0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xef, 0xf0,\r
2834     0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,\r
2835     0xf9, 0xdc, 0xdd, 0xde, 0x9d, 0x9e, 0x8d, 0x8e,\r
2836     0x91, 0x82, 0xdb, 0xee\r
2837     },\r
2838     228\r
2839 };\r
2840 const charset_spec charset_CS_MAC_THAI = {\r
2841     CS_MAC_THAI, read_sbcs, write_sbcs, &data_CS_MAC_THAI\r
2842 };\r
2843 \r
2844 static const sbcs_data data_CS_MAC_CENTEURO = {\r
2845     {\r
2846     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2847     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2848     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2849     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2850     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
2851     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
2852     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2853     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2854     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
2855     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
2856     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
2857     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
2858     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
2859     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
2860     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
2861     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
2862     0x00c4, 0x0100, 0x0101, 0x00c9, 0x0104, 0x00d6, 0x00dc, 0x00e1,\r
2863     0x0105, 0x010c, 0x00e4, 0x010d, 0x0106, 0x0107, 0x00e9, 0x0179,\r
2864     0x017a, 0x010e, 0x00ed, 0x010f, 0x0112, 0x0113, 0x0116, 0x00f3,\r
2865     0x0117, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x011a, 0x011b, 0x00fc,\r
2866     0x2020, 0x00b0, 0x0118, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\r
2867     0x00ae, 0x00a9, 0x2122, 0x0119, 0x00a8, 0x2260, 0x0123, 0x012e,\r
2868     0x012f, 0x012a, 0x2264, 0x2265, 0x012b, 0x0136, 0x2202, 0x2211,\r
2869     0x0142, 0x013b, 0x013c, 0x013d, 0x013e, 0x0139, 0x013a, 0x0145,\r
2870     0x0146, 0x0143, 0x00ac, 0x221a, 0x0144, 0x0147, 0x2206, 0x00ab,\r
2871     0x00bb, 0x2026, 0x00a0, 0x0148, 0x0150, 0x00d5, 0x0151, 0x014c,\r
2872     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\r
2873     0x014d, 0x0154, 0x0155, 0x0158, 0x2039, 0x203a, 0x0159, 0x0156,\r
2874     0x0157, 0x0160, 0x201a, 0x201e, 0x0161, 0x015a, 0x015b, 0x00c1,\r
2875     0x0164, 0x0165, 0x00cd, 0x017d, 0x017e, 0x016a, 0x00d3, 0x00d4,\r
2876     0x016b, 0x016e, 0x00da, 0x016f, 0x0170, 0x0171, 0x0172, 0x0173,\r
2877     0x00dd, 0x00fd, 0x0137, 0x017b, 0x0141, 0x017c, 0x0122, 0x02c7\r
2878     },\r
2879     {\r
2880     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2881     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2882     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2883     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2884     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
2885     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
2886     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
2887     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
2888     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
2889     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
2890     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
2891     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
2892     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
2893     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
2894     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
2895     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
2896     0xca, 0xa3, 0xa4, 0xac, 0xa9, 0xc7, 0xc2, 0xa8,\r
2897     0xa1, 0xa6, 0xc8, 0xe7, 0x80, 0x83, 0xea, 0xee,\r
2898     0xef, 0xcd, 0x85, 0xf2, 0x86, 0xf8, 0xa7, 0x87,\r
2899     0x8a, 0x8e, 0x92, 0x97, 0x99, 0x9b, 0x9a, 0xd6,\r
2900     0x9c, 0x9f, 0xf9, 0x81, 0x82, 0x84, 0x88, 0x8c,\r
2901     0x8d, 0x89, 0x8b, 0x91, 0x93, 0x94, 0x95, 0x96,\r
2902     0x98, 0xa2, 0xab, 0x9d, 0x9e, 0xfe, 0xae, 0xb1,\r
2903     0xb4, 0xaf, 0xb0, 0xb5, 0xfa, 0xbd, 0xbe, 0xb9,\r
2904     0xba, 0xbb, 0xbc, 0xfc, 0xb8, 0xc1, 0xc4, 0xbf,\r
2905     0xc0, 0xc5, 0xcb, 0xcf, 0xd8, 0xcc, 0xce, 0xd9,\r
2906     0xda, 0xdf, 0xe0, 0xdb, 0xde, 0xe5, 0xe6, 0xe1,\r
2907     0xe4, 0xe8, 0xe9, 0xed, 0xf0, 0xf1, 0xf3, 0xf4,\r
2908     0xf5, 0xf6, 0xf7, 0x8f, 0x90, 0xfb, 0xfd, 0xeb,\r
2909     0xec, 0xff, 0xd0, 0xd1, 0xd4, 0xd5, 0xe2, 0xd2,\r
2910     0xd3, 0xe3, 0xa0, 0xa5, 0xc9, 0xdc, 0xdd, 0xaa,\r
2911     0xb6, 0xc6, 0xb7, 0xc3, 0xad, 0xb2, 0xb3, 0xd7\r
2912     },\r
2913     256\r
2914 };\r
2915 const charset_spec charset_CS_MAC_CENTEURO = {\r
2916     CS_MAC_CENTEURO, read_sbcs, write_sbcs, &data_CS_MAC_CENTEURO\r
2917 };\r
2918 \r
2919 static const sbcs_data data_CS_MAC_SYMBOL = {\r
2920     {\r
2921     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2922     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2923     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2924     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2925     0x0020, 0x0021, 0x2200, 0x0023, 0x2203, 0x0025, 0x0026, 0x220d,\r
2926     0x0028, 0x0029, 0x2217, 0x002b, 0x002c, 0x2212, 0x002e, 0x002f,\r
2927     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
2928     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
2929     0x2245, 0x0391, 0x0392, 0x03a7, 0x0394, 0x0395, 0x03a6, 0x0393,\r
2930     0x0397, 0x0399, 0x03d1, 0x039a, 0x039b, 0x039c, 0x039d, 0x039f,\r
2931     0x03a0, 0x0398, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03c2, 0x03a9,\r
2932     0x039e, 0x03a8, 0x0396, 0x005b, 0x2234, 0x005d, 0x22a5, 0x005f,\r
2933     0xf8e5, 0x03b1, 0x03b2, 0x03c7, 0x03b4, 0x03b5, 0x03c6, 0x03b3,\r
2934     0x03b7, 0x03b9, 0x03d5, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03bf,\r
2935     0x03c0, 0x03b8, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03d6, 0x03c9,\r
2936     0x03be, 0x03c8, 0x03b6, 0x007b, 0x007c, 0x007d, 0x223c, 0x007f,\r
2937     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
2938     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
2939     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
2940     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
2941     0x20ac, 0x03d2, 0x2032, 0x2264, 0x2044, 0x221e, 0x0192, 0x2663,\r
2942     0x2666, 0x2665, 0x2660, 0x2194, 0x2190, 0x2191, 0x2192, 0x2193,\r
2943     0x00b0, 0x00b1, 0x2033, 0x2265, 0x00d7, 0x221d, 0x2202, 0x2022,\r
2944     0x00f7, 0x2260, 0x2261, 0x2248, 0x2026, 0xf8e6, 0x23af, 0x21b5,\r
2945     0x2135, 0x2111, 0x211c, 0x2118, 0x2297, 0x2295, 0x2205, 0x2229,\r
2946     0x222a, 0x2283, 0x2287, 0x2284, 0x2282, 0x2286, 0x2208, 0x2209,\r
2947     0x2220, 0x2207, 0x00ae, 0x00a9, 0x2122, 0x220f, 0x221a, 0x22c5,\r
2948     0x00ac, 0x2227, 0x2228, 0x21d4, 0x21d0, 0x21d1, 0x21d2, 0x21d3,\r
2949     0x22c4, 0x3008, 0x00ae, 0x00a9, 0x2122, 0x2211, 0x239b, 0x239c,\r
2950     0x239d, 0x23a1, 0x23a2, 0x23a3, 0x23a7, 0x23a8, 0x23a9, 0x23aa,\r
2951     0xf8ff, 0x3009, 0x222b, 0x2320, 0x23ae, 0x2321, 0x239e, 0x239f,\r
2952     0x23a0, 0x23a4, 0x23a5, 0x23a6, 0x23ab, 0x23ac, 0x23ad, ERROR \r
2953     },\r
2954     {\r
2955     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
2956     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
2957     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
2958     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
2959     0x20, 0x21, 0x23, 0x25, 0x26, 0x28, 0x29, 0x2b,\r
2960     0x2c, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34,\r
2961     0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c,\r
2962     0x3d, 0x3e, 0x3f, 0x5b, 0x5d, 0x5f, 0x7b, 0x7c,\r
2963     0x7d, 0x7f, 0xd3, 0xd8, 0xd2, 0xb0, 0xb1, 0xb4,\r
2964     0xb8, 0xa6, 0x41, 0x42, 0x47, 0x44, 0x45, 0x5a,\r
2965     0x48, 0x51, 0x49, 0x4b, 0x4c, 0x4d, 0x4e, 0x58,\r
2966     0x4f, 0x50, 0x52, 0x53, 0x54, 0x55, 0x46, 0x43,\r
2967     0x59, 0x57, 0x61, 0x62, 0x67, 0x64, 0x65, 0x7a,\r
2968     0x68, 0x71, 0x69, 0x6b, 0x6c, 0x6d, 0x6e, 0x78,\r
2969     0x6f, 0x70, 0x72, 0x56, 0x73, 0x74, 0x75, 0x66,\r
2970     0x63, 0x79, 0x77, 0x4a, 0xa1, 0x6a, 0x76, 0xb7,\r
2971     0xbc, 0xa2, 0xb2, 0xa4, 0xa0, 0xc1, 0xc3, 0xc2,\r
2972     0xd4, 0xc0, 0xac, 0xad, 0xae, 0xaf, 0xab, 0xbf,\r
2973     0xdc, 0xdd, 0xde, 0xdf, 0xdb, 0x22, 0xb6, 0x24,\r
2974     0xc6, 0xd1, 0xce, 0xcf, 0x27, 0xd5, 0xe5, 0x2d,\r
2975     0x2a, 0xd6, 0xb5, 0xa5, 0xd0, 0xd9, 0xda, 0xc7,\r
2976     0xc8, 0xf2, 0x5c, 0x7e, 0x40, 0xbb, 0xb9, 0xba,\r
2977     0xa3, 0xb3, 0xcc, 0xc9, 0xcb, 0xcd, 0xca, 0xc5,\r
2978     0xc4, 0x5e, 0xe0, 0xd7, 0xf3, 0xf5, 0xe6, 0xe7,\r
2979     0xe8, 0xf6, 0xf7, 0xf8, 0xe9, 0xea, 0xeb, 0xf9,\r
2980     0xfa, 0xfb, 0xec, 0xed, 0xee, 0xef, 0xfc, 0xfd,\r
2981     0xfe, 0xf4, 0xbe, 0xaa, 0xa7, 0xa9, 0xa8, 0xe1,\r
2982     0xf1, 0x60, 0xbd, 0xf0\r
2983     },\r
2984     220\r
2985 };\r
2986 const charset_spec charset_CS_MAC_SYMBOL = {\r
2987     CS_MAC_SYMBOL, read_sbcs, write_sbcs, &data_CS_MAC_SYMBOL\r
2988 };\r
2989 \r
2990 static const sbcs_data data_CS_MAC_DINGBATS = {\r
2991     {\r
2992     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
2993     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
2994     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
2995     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
2996     0x0020, 0x2701, 0x2702, 0x2703, 0x2704, 0x260e, 0x2706, 0x2707,\r
2997     0x2708, 0x2709, 0x261b, 0x261e, 0x270c, 0x270d, 0x270e, 0x270f,\r
2998     0x2710, 0x2711, 0x2712, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717,\r
2999     0x2718, 0x2719, 0x271a, 0x271b, 0x271c, 0x271d, 0x271e, 0x271f,\r
3000     0x2720, 0x2721, 0x2722, 0x2723, 0x2724, 0x2725, 0x2726, 0x2727,\r
3001     0x2605, 0x2729, 0x272a, 0x272b, 0x272c, 0x272d, 0x272e, 0x272f,\r
3002     0x2730, 0x2731, 0x2732, 0x2733, 0x2734, 0x2735, 0x2736, 0x2737,\r
3003     0x2738, 0x2739, 0x273a, 0x273b, 0x273c, 0x273d, 0x273e, 0x273f,\r
3004     0x2740, 0x2741, 0x2742, 0x2743, 0x2744, 0x2745, 0x2746, 0x2747,\r
3005     0x2748, 0x2749, 0x274a, 0x274b, 0x25cf, 0x274d, 0x25a0, 0x274f,\r
3006     0x2750, 0x2751, 0x2752, 0x25b2, 0x25bc, 0x25c6, 0x2756, 0x25d7,\r
3007     0x2758, 0x2759, 0x275a, 0x275b, 0x275c, 0x275d, 0x275e, 0x007f,\r
3008     0x2768, 0x2769, 0x276a, 0x276b, 0x276c, 0x276d, 0x276e, 0x276f,\r
3009     0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, ERROR , ERROR ,\r
3010     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
3011     ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR , ERROR ,\r
3012     ERROR , 0x2761, 0x2762, 0x2763, 0x2764, 0x2765, 0x2766, 0x2767,\r
3013     0x2663, 0x2666, 0x2665, 0x2660, 0x2460, 0x2461, 0x2462, 0x2463,\r
3014     0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x2776, 0x2777,\r
3015     0x2778, 0x2779, 0x277a, 0x277b, 0x277c, 0x277d, 0x277e, 0x277f,\r
3016     0x2780, 0x2781, 0x2782, 0x2783, 0x2784, 0x2785, 0x2786, 0x2787,\r
3017     0x2788, 0x2789, 0x278a, 0x278b, 0x278c, 0x278d, 0x278e, 0x278f,\r
3018     0x2790, 0x2791, 0x2792, 0x2793, 0x2794, 0x2192, 0x2194, 0x2195,\r
3019     0x2798, 0x2799, 0x279a, 0x279b, 0x279c, 0x279d, 0x279e, 0x279f,\r
3020     0x27a0, 0x27a1, 0x27a2, 0x27a3, 0x27a4, 0x27a5, 0x27a6, 0x27a7,\r
3021     0x27a8, 0x27a9, 0x27aa, 0x27ab, 0x27ac, 0x27ad, 0x27ae, 0x27af,\r
3022     ERROR , 0x27b1, 0x27b2, 0x27b3, 0x27b4, 0x27b5, 0x27b6, 0x27b7,\r
3023     0x27b8, 0x27b9, 0x27ba, 0x27bb, 0x27bc, 0x27bd, 0x27be, ERROR \r
3024     },\r
3025     {\r
3026     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
3027     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
3028     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
3029     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
3030     0x20, 0x7f, 0xd5, 0xd6, 0xd7, 0xac, 0xad, 0xae,\r
3031     0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0x6e,\r
3032     0x73, 0x74, 0x75, 0x6c, 0x77, 0x48, 0x25, 0x2a,\r
3033     0x2b, 0xab, 0xa8, 0xaa, 0xa9, 0x21, 0x22, 0x23,\r
3034     0x24, 0x26, 0x27, 0x28, 0x29, 0x2c, 0x2d, 0x2e,\r
3035     0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,\r
3036     0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,\r
3037     0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46,\r
3038     0x47, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3039     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3040     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3041     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3042     0x68, 0x69, 0x6a, 0x6b, 0x6d, 0x6f, 0x70, 0x71,\r
3043     0x72, 0x76, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d,\r
3044     0x7e, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\r
3045     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
3046     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0xb6, 0xb7,\r
3047     0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\r
3048     0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\r
3049     0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\r
3050     0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd8, 0xd9, 0xda,\r
3051     0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2,\r
3052     0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,\r
3053     0xeb, 0xec, 0xed, 0xee, 0xef, 0xf1, 0xf2, 0xf3,\r
3054     0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb,\r
3055     0xfc, 0xfd, 0xfe\r
3056     },\r
3057     235\r
3058 };\r
3059 const charset_spec charset_CS_MAC_DINGBATS = {\r
3060     CS_MAC_DINGBATS, read_sbcs, write_sbcs, &data_CS_MAC_DINGBATS\r
3061 };\r
3062 \r
3063 static const sbcs_data data_CS_MAC_ROMAN_OLD = {\r
3064     {\r
3065     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
3066     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
3067     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
3068     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
3069     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3070     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3071     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3072     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3073     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3074     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3075     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3076     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3077     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3078     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3079     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3080     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
3081     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
3082     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
3083     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
3084     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
3085     0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\r
3086     0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,\r
3087     0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,\r
3088     0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x00e6, 0x00f8,\r
3089     0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\r
3090     0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
3091     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\r
3092     0x00ff, 0x0178, 0x2044, 0x00a4, 0x2039, 0x203a, 0xfb01, 0xfb02,\r
3093     0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,\r
3094     0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
3095     0xf8ff, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,\r
3096     0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7\r
3097     },\r
3098     {\r
3099     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
3100     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
3101     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
3102     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
3103     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3104     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3105     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3106     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3107     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3108     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3109     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3110     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3111     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3112     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3113     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3114     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
3115     0xca, 0xc1, 0xa2, 0xa3, 0xdb, 0xb4, 0xa4, 0xac,\r
3116     0xa9, 0xbb, 0xc7, 0xc2, 0xa8, 0xf8, 0xa1, 0xb1,\r
3117     0xab, 0xb5, 0xa6, 0xe1, 0xfc, 0xbc, 0xc8, 0xc0,\r
3118     0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,\r
3119     0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,\r
3120     0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0xaf, 0xf4,\r
3121     0xf2, 0xf3, 0x86, 0xa7, 0x88, 0x87, 0x89, 0x8b,\r
3122     0x8a, 0x8c, 0xbe, 0x8d, 0x8f, 0x8e, 0x90, 0x91,\r
3123     0x93, 0x92, 0x94, 0x95, 0x96, 0x98, 0x97, 0x99,\r
3124     0x9b, 0x9a, 0xd6, 0xbf, 0x9d, 0x9c, 0x9e, 0x9f,\r
3125     0xd8, 0xf5, 0xce, 0xcf, 0xd9, 0xc4, 0xf6, 0xff,\r
3126     0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0xbd, 0xb9,\r
3127     0xd0, 0xd1, 0xd4, 0xd5, 0xe2, 0xd2, 0xd3, 0xe3,\r
3128     0xa0, 0xe0, 0xa5, 0xc9, 0xe4, 0xdc, 0xdd, 0xda,\r
3129     0xaa, 0xb6, 0xc6, 0xb8, 0xb7, 0xc3, 0xb0, 0xba,\r
3130     0xc5, 0xad, 0xb2, 0xb3, 0xd7, 0xf0, 0xde, 0xdf\r
3131     },\r
3132     256\r
3133 };\r
3134 const charset_spec charset_CS_MAC_ROMAN_OLD = {\r
3135     CS_MAC_ROMAN_OLD, read_sbcs, write_sbcs, &data_CS_MAC_ROMAN_OLD\r
3136 };\r
3137 \r
3138 static const sbcs_data data_CS_MAC_CROATIAN_OLD = {\r
3139     {\r
3140     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
3141     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
3142     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
3143     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
3144     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3145     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3146     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3147     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3148     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3149     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3150     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3151     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3152     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3153     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3154     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3155     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
3156     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
3157     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
3158     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
3159     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
3160     0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\r
3161     0x00ae, 0x0160, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x017d, 0x00d8,\r
3162     0x221e, 0x00b1, 0x2264, 0x2265, 0x2206, 0x00b5, 0x2202, 0x2211,\r
3163     0x220f, 0x0161, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x017e, 0x00f8,\r
3164     0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x0106, 0x00ab,\r
3165     0x010c, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
3166     0x0110, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\r
3167     0xf8ff, 0x00a9, 0x2044, 0x00a4, 0x2039, 0x203a, 0x00c6, 0x00bb,\r
3168     0x2013, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x0107, 0x00c1,\r
3169     0x010d, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
3170     0x0111, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,\r
3171     0x00af, 0x03c0, 0x00cb, 0x02da, 0x00b8, 0x00ca, 0x00e6, 0x02c7\r
3172     },\r
3173     {\r
3174     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
3175     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
3176     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
3177     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
3178     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3179     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3180     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3181     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3182     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3183     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3184     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3185     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3186     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3187     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3188     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3189     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
3190     0xca, 0xc1, 0xa2, 0xa3, 0xdb, 0xa4, 0xac, 0xd9,\r
3191     0xbb, 0xc7, 0xc2, 0xa8, 0xf8, 0xa1, 0xb1, 0xab,\r
3192     0xb5, 0xa6, 0xe1, 0xfc, 0xbc, 0xdf, 0xc0, 0xcb,\r
3193     0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xde, 0x82, 0xe9,\r
3194     0x83, 0xfd, 0xfa, 0xed, 0xea, 0xeb, 0xec, 0x84,\r
3195     0xf1, 0xee, 0xef, 0xcd, 0x85, 0xaf, 0xf4, 0xf2,\r
3196     0xf3, 0x86, 0xa7, 0x88, 0x87, 0x89, 0x8b, 0x8a,\r
3197     0x8c, 0xfe, 0x8d, 0x8f, 0x8e, 0x90, 0x91, 0x93,\r
3198     0x92, 0x94, 0x95, 0x96, 0x98, 0x97, 0x99, 0x9b,\r
3199     0x9a, 0xd6, 0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0xc6,\r
3200     0xe6, 0xc8, 0xe8, 0xd0, 0xf0, 0xf5, 0xce, 0xcf,\r
3201     0xa9, 0xb9, 0xae, 0xbe, 0xc4, 0xf6, 0xff, 0xfb,\r
3202     0xf7, 0xbd, 0xf9, 0xe0, 0xd1, 0xd4, 0xd5, 0xe2,\r
3203     0xd2, 0xd3, 0xe3, 0xa0, 0xa5, 0xc9, 0xe4, 0xdc,\r
3204     0xdd, 0xda, 0xaa, 0xb6, 0xb4, 0xb8, 0xb7, 0xc3,\r
3205     0xb0, 0xba, 0xc5, 0xad, 0xb2, 0xb3, 0xd7, 0xd8\r
3206     },\r
3207     256\r
3208 };\r
3209 const charset_spec charset_CS_MAC_CROATIAN_OLD = {\r
3210     CS_MAC_CROATIAN_OLD, read_sbcs, write_sbcs, &data_CS_MAC_CROATIAN_OLD\r
3211 };\r
3212 \r
3213 static const sbcs_data data_CS_MAC_ICELAND_OLD = {\r
3214     {\r
3215     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
3216     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
3217     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
3218     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
3219     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3220     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3221     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3222     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3223     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3224     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3225     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3226     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3227     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3228     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3229     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3230     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
3231     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
3232     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
3233     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
3234     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
3235     0x00dd, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\r
3236     0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,\r
3237     0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,\r
3238     0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x00e6, 0x00f8,\r
3239     0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\r
3240     0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
3241     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\r
3242     0x00ff, 0x0178, 0x2044, 0x00a4, 0x00d0, 0x00f0, 0x00de, 0x00fe,\r
3243     0x00fd, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,\r
3244     0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
3245     0xf8ff, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,\r
3246     0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7\r
3247     },\r
3248     {\r
3249     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
3250     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
3251     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
3252     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
3253     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3254     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3255     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3256     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3257     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3258     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3259     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3260     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3261     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3262     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3263     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3264     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
3265     0xca, 0xc1, 0xa2, 0xa3, 0xdb, 0xb4, 0xa4, 0xac,\r
3266     0xa9, 0xbb, 0xc7, 0xc2, 0xa8, 0xf8, 0xa1, 0xb1,\r
3267     0xab, 0xb5, 0xa6, 0xe1, 0xfc, 0xbc, 0xc8, 0xc0,\r
3268     0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,\r
3269     0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,\r
3270     0xdc, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0xaf,\r
3271     0xf4, 0xf2, 0xf3, 0x86, 0xa0, 0xde, 0xa7, 0x88,\r
3272     0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d, 0x8f,\r
3273     0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, 0xdd,\r
3274     0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6, 0xbf,\r
3275     0x9d, 0x9c, 0x9e, 0x9f, 0xe0, 0xdf, 0xd8, 0xf5,\r
3276     0xce, 0xcf, 0xd9, 0xc4, 0xf6, 0xff, 0xf9, 0xfa,\r
3277     0xfb, 0xfe, 0xf7, 0xfd, 0xbd, 0xb9, 0xd0, 0xd1,\r
3278     0xd4, 0xd5, 0xe2, 0xd2, 0xd3, 0xe3, 0xa5, 0xc9,\r
3279     0xe4, 0xda, 0xaa, 0xb6, 0xc6, 0xb8, 0xb7, 0xc3,\r
3280     0xb0, 0xba, 0xc5, 0xad, 0xb2, 0xb3, 0xd7, 0xf0\r
3281     },\r
3282     256\r
3283 };\r
3284 const charset_spec charset_CS_MAC_ICELAND_OLD = {\r
3285     CS_MAC_ICELAND_OLD, read_sbcs, write_sbcs, &data_CS_MAC_ICELAND_OLD\r
3286 };\r
3287 \r
3288 static const sbcs_data data_CS_MAC_ROMANIAN_OLD = {\r
3289     {\r
3290     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
3291     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
3292     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
3293     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
3294     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3295     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3296     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3297     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3298     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3299     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3300     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3301     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3302     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3303     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3304     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3305     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
3306     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
3307     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
3308     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
3309     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
3310     0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\r
3311     0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x0102, 0x0218,\r
3312     0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,\r
3313     0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x0103, 0x0219,\r
3314     0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\r
3315     0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
3316     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\r
3317     0x00ff, 0x0178, 0x2044, 0x00a4, 0x2039, 0x203a, 0x021a, 0x021b,\r
3318     0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,\r
3319     0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
3320     0xf8ff, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,\r
3321     0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7\r
3322     },\r
3323     {\r
3324     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
3325     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
3326     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
3327     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
3328     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3329     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3330     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3331     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3332     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3333     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3334     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3335     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3336     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3337     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3338     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3339     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
3340     0xca, 0xc1, 0xa2, 0xa3, 0xdb, 0xb4, 0xa4, 0xac,\r
3341     0xa9, 0xbb, 0xc7, 0xc2, 0xa8, 0xf8, 0xa1, 0xb1,\r
3342     0xab, 0xb5, 0xa6, 0xe1, 0xfc, 0xbc, 0xc8, 0xc0,\r
3343     0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0x82, 0xe9,\r
3344     0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec, 0x84,\r
3345     0xf1, 0xee, 0xef, 0xcd, 0x85, 0xf4, 0xf2, 0xf3,\r
3346     0x86, 0xa7, 0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c,\r
3347     0x8d, 0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94,\r
3348     0x95, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6,\r
3349     0x9d, 0x9c, 0x9e, 0x9f, 0xd8, 0xae, 0xbe, 0xf5,\r
3350     0xce, 0xcf, 0xd9, 0xc4, 0xaf, 0xbf, 0xde, 0xdf,\r
3351     0xf6, 0xff, 0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd,\r
3352     0xbd, 0xb9, 0xd0, 0xd1, 0xd4, 0xd5, 0xe2, 0xd2,\r
3353     0xd3, 0xe3, 0xa0, 0xe0, 0xa5, 0xc9, 0xe4, 0xdc,\r
3354     0xdd, 0xda, 0xaa, 0xb6, 0xc6, 0xb8, 0xb7, 0xc3,\r
3355     0xb0, 0xba, 0xc5, 0xad, 0xb2, 0xb3, 0xd7, 0xf0\r
3356     },\r
3357     256\r
3358 };\r
3359 const charset_spec charset_CS_MAC_ROMANIAN_OLD = {\r
3360     CS_MAC_ROMANIAN_OLD, read_sbcs, write_sbcs, &data_CS_MAC_ROMANIAN_OLD\r
3361 };\r
3362 \r
3363 static const sbcs_data data_CS_MAC_GREEK_OLD = {\r
3364     {\r
3365     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
3366     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
3367     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
3368     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
3369     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3370     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3371     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3372     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3373     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3374     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3375     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3376     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3377     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3378     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3379     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3380     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
3381     0x00c4, 0x00b9, 0x00b2, 0x00c9, 0x00b3, 0x00d6, 0x00dc, 0x0385,\r
3382     0x00e0, 0x00e2, 0x00e4, 0x0384, 0x00a8, 0x00e7, 0x00e9, 0x00e8,\r
3383     0x00ea, 0x00eb, 0x00a3, 0x2122, 0x00ee, 0x00ef, 0x2022, 0x00bd,\r
3384     0x2030, 0x00f4, 0x00f6, 0x00a6, 0x00ad, 0x00f9, 0x00fb, 0x00fc,\r
3385     0x2020, 0x0393, 0x0394, 0x0398, 0x039b, 0x039e, 0x03a0, 0x00df,\r
3386     0x00ae, 0x00a9, 0x03a3, 0x03aa, 0x00a7, 0x2260, 0x00b0, 0x00b7,\r
3387     0x0391, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x0392, 0x0395, 0x0396,\r
3388     0x0397, 0x0399, 0x039a, 0x039c, 0x03a6, 0x03ab, 0x03a8, 0x03a9,\r
3389     0x03ac, 0x039d, 0x00ac, 0x039f, 0x03a1, 0x2248, 0x03a4, 0x00ab,\r
3390     0x00bb, 0x2026, 0x00a0, 0x03a5, 0x03a7, 0x0386, 0x0388, 0x0153,\r
3391     0x2013, 0x2015, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x0389,\r
3392     0x038a, 0x038c, 0x038e, 0x03ad, 0x03ae, 0x03af, 0x03cc, 0x038f,\r
3393     0x03cd, 0x03b1, 0x03b2, 0x03c8, 0x03b4, 0x03b5, 0x03c6, 0x03b3,\r
3394     0x03b7, 0x03b9, 0x03be, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03bf,\r
3395     0x03c0, 0x03ce, 0x03c1, 0x03c3, 0x03c4, 0x03b8, 0x03c9, 0x03c2,\r
3396     0x03c7, 0x03c5, 0x03b6, 0x03ca, 0x03cb, 0x0390, 0x03b0, ERROR \r
3397     },\r
3398     {\r
3399     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
3400     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
3401     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
3402     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
3403     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3404     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3405     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3406     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3407     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3408     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3409     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3410     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3411     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3412     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3413     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3414     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
3415     0xca, 0x92, 0xb4, 0x9b, 0xac, 0x8c, 0xa9, 0xc7,\r
3416     0xc2, 0x9c, 0xa8, 0xae, 0xb1, 0x82, 0x84, 0xaf,\r
3417     0x81, 0xc8, 0x97, 0x80, 0x83, 0x85, 0x86, 0xa7,\r
3418     0x88, 0x89, 0x8a, 0x8d, 0x8f, 0x8e, 0x90, 0x91,\r
3419     0x94, 0x95, 0x99, 0x9a, 0xd6, 0x9d, 0x9e, 0x9f,\r
3420     0xcf, 0x8b, 0x87, 0xcd, 0xce, 0xd7, 0xd8, 0xd9,\r
3421     0xda, 0xdf, 0xfd, 0xb0, 0xb5, 0xa1, 0xa2, 0xb6,\r
3422     0xb7, 0xb8, 0xa3, 0xb9, 0xba, 0xa4, 0xbb, 0xc1,\r
3423     0xa5, 0xc3, 0xa6, 0xc4, 0xaa, 0xc6, 0xcb, 0xbc,\r
3424     0xcc, 0xbe, 0xbf, 0xab, 0xbd, 0xc0, 0xdb, 0xdc,\r
3425     0xdd, 0xfe, 0xe1, 0xe2, 0xe7, 0xe4, 0xe5, 0xfa,\r
3426     0xe8, 0xf5, 0xe9, 0xeb, 0xec, 0xed, 0xee, 0xea,\r
3427     0xef, 0xf0, 0xf2, 0xf7, 0xf3, 0xf4, 0xf9, 0xe6,\r
3428     0xf8, 0xe3, 0xf6, 0xfb, 0xfc, 0xde, 0xe0, 0xf1,\r
3429     0xd0, 0xd1, 0xd4, 0xd5, 0xd2, 0xd3, 0xa0, 0x96,\r
3430     0xc9, 0x98, 0x93, 0xc5, 0xad, 0xb2, 0xb3\r
3431     },\r
3432     255\r
3433 };\r
3434 const charset_spec charset_CS_MAC_GREEK_OLD = {\r
3435     CS_MAC_GREEK_OLD, read_sbcs, write_sbcs, &data_CS_MAC_GREEK_OLD\r
3436 };\r
3437 \r
3438 static const sbcs_data data_CS_MAC_CYRILLIC_OLD = {\r
3439     {\r
3440     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
3441     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
3442     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
3443     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
3444     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3445     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3446     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3447     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3448     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3449     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3450     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3451     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3452     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3453     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3454     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3455     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
3456     0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,\r
3457     0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,\r
3458     0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,\r
3459     0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,\r
3460     0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x0406,\r
3461     0x00ae, 0x00a9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453,\r
3462     0x221e, 0x00b1, 0x2264, 0x2265, 0x0456, 0x00b5, 0x2022, 0x0408,\r
3463     0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040a, 0x045a,\r
3464     0x0458, 0x0405, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\r
3465     0x00bb, 0x2026, 0x00a0, 0x040b, 0x045b, 0x040c, 0x045c, 0x0455,\r
3466     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x201e,\r
3467     0x040e, 0x045e, 0x040f, 0x045f, 0x2116, 0x0401, 0x0451, 0x044f,\r
3468     0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,\r
3469     0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,\r
3470     0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,\r
3471     0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x00a4\r
3472     },\r
3473     {\r
3474     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
3475     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
3476     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
3477     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
3478     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3479     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3480     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3481     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3482     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3483     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3484     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3485     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3486     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3487     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3488     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3489     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
3490     0xca, 0xa2, 0xa3, 0xff, 0xa4, 0xa9, 0xc7, 0xc2,\r
3491     0xa8, 0xa1, 0xb1, 0xb5, 0xa6, 0xc8, 0xd6, 0xc4,\r
3492     0xdd, 0xab, 0xae, 0xb8, 0xc1, 0xa7, 0xba, 0xb7,\r
3493     0xbc, 0xbe, 0xcb, 0xcd, 0xd8, 0xda, 0x80, 0x81,\r
3494     0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,\r
3495     0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91,\r
3496     0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,\r
3497     0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xe0, 0xe1,\r
3498     0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,\r
3499     0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1,\r
3500     0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9,\r
3501     0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xdf, 0xde, 0xac,\r
3502     0xaf, 0xb9, 0xcf, 0xb4, 0xbb, 0xc0, 0xbd, 0xbf,\r
3503     0xcc, 0xce, 0xd9, 0xdb, 0xd0, 0xd1, 0xd4, 0xd5,\r
3504     0xd2, 0xd3, 0xd7, 0xa0, 0xa5, 0xc9, 0xdc, 0xaa,\r
3505     0xc6, 0xc3, 0xb0, 0xc5, 0xad, 0xb2, 0xb3\r
3506     },\r
3507     255\r
3508 };\r
3509 const charset_spec charset_CS_MAC_CYRILLIC_OLD = {\r
3510     CS_MAC_CYRILLIC_OLD, read_sbcs, write_sbcs, &data_CS_MAC_CYRILLIC_OLD\r
3511 };\r
3512 \r
3513 static const sbcs_data data_CS_MAC_UKRAINE = {\r
3514     {\r
3515     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
3516     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
3517     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
3518     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
3519     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3520     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3521     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3522     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3523     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3524     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3525     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3526     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3527     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3528     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3529     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3530     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
3531     0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,\r
3532     0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,\r
3533     0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,\r
3534     0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,\r
3535     0x2020, 0x00b0, 0x0490, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x0406,\r
3536     0x00ae, 0x00a9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453,\r
3537     0x221e, 0x00b1, 0x2264, 0x2265, 0x0456, 0x00b5, 0x0491, 0x0408,\r
3538     0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040a, 0x045a,\r
3539     0x0458, 0x0405, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\r
3540     0x00bb, 0x2026, 0x00a0, 0x040b, 0x045b, 0x040c, 0x045c, 0x0455,\r
3541     0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x201e,\r
3542     0x040e, 0x045e, 0x040f, 0x045f, 0x2116, 0x0401, 0x0451, 0x044f,\r
3543     0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,\r
3544     0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,\r
3545     0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,\r
3546     0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x00a4\r
3547     },\r
3548     {\r
3549     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
3550     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
3551     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
3552     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
3553     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3554     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3555     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3556     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3557     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3558     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3559     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3560     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3561     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3562     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3563     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3564     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
3565     0xca, 0xa3, 0xff, 0xa4, 0xa9, 0xc7, 0xc2, 0xa8,\r
3566     0xa1, 0xb1, 0xb5, 0xa6, 0xc8, 0xd6, 0xc4, 0xdd,\r
3567     0xab, 0xae, 0xb8, 0xc1, 0xa7, 0xba, 0xb7, 0xbc,\r
3568     0xbe, 0xcb, 0xcd, 0xd8, 0xda, 0x80, 0x81, 0x82,\r
3569     0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a,\r
3570     0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92,\r
3571     0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a,\r
3572     0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xe0, 0xe1, 0xe2,\r
3573     0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,\r
3574     0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2,\r
3575     0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa,\r
3576     0xfb, 0xfc, 0xfd, 0xfe, 0xdf, 0xde, 0xac, 0xaf,\r
3577     0xb9, 0xcf, 0xb4, 0xbb, 0xc0, 0xbd, 0xbf, 0xcc,\r
3578     0xce, 0xd9, 0xdb, 0xa2, 0xb6, 0xd0, 0xd1, 0xd4,\r
3579     0xd5, 0xd2, 0xd3, 0xd7, 0xa0, 0xa5, 0xc9, 0xdc,\r
3580     0xaa, 0xc6, 0xc3, 0xb0, 0xc5, 0xad, 0xb2, 0xb3\r
3581     },\r
3582     256\r
3583 };\r
3584 const charset_spec charset_CS_MAC_UKRAINE = {\r
3585     CS_MAC_UKRAINE, read_sbcs, write_sbcs, &data_CS_MAC_UKRAINE\r
3586 };\r
3587 \r
3588 static const sbcs_data data_CS_MAC_VT100 = {\r
3589     {\r
3590     0x2400, 0x2401, 0x2402, 0x2403, 0x2404, 0x2405, 0x2406, 0x2407,\r
3591     0x2408, 0x2409, 0x240a, 0x240b, 0x240c, 0x240d, 0x240e, 0x240f,\r
3592     0x2410, 0x2411, 0x2412, 0x2413, 0x2414, 0x2415, 0x2416, 0x2417,\r
3593     0x2418, 0x2419, 0x241a, 0x241b, 0x241c, 0x241d, 0x241e, 0x241f,\r
3594     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3595     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3596     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3597     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3598     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3599     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3600     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3601     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3602     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3603     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3604     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3605     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x2421,\r
3606     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
3607     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
3608     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
3609     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
3610     0x00dd, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x00b8, 0x00b6, 0x00df,\r
3611     0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,\r
3612     0x00d7, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x00b9, 0x00b2,\r
3613     0x00b3, 0x03c0, 0x00a6, 0x00aa, 0x00ba, 0x2592, 0x00e6, 0x00f8,\r
3614     0x00bf, 0x00a1, 0x00ac, 0x00bd, 0x0192, 0x00bc, 0x00be, 0x00ab,\r
3615     0x00bb, 0x2026, ERROR , 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
3616     0x2013, 0x2014, 0x2518, 0x2510, 0x250c, 0x2514, 0x00f7, 0x2022,\r
3617     0x00ff, 0x0178, 0x253c, 0x20ac, 0x00d0, 0x00f0, 0x00fe, 0x00de,\r
3618     0x00fd, 0x00b7, 0x23ba, 0x23bb, 0x2500, 0x00c2, 0x00ca, 0x00c1,\r
3619     0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
3620     ERROR , 0x00d2, 0x00da, 0x00db, 0x00d9, 0x23bc, 0x23bd, 0x251c,\r
3621     0x2524, 0x2534, 0x252c, 0x2502, ERROR , ERROR , ERROR , ERROR \r
3622     },\r
3623     {\r
3624     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3625     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3626     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3627     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3628     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3629     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3630     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3631     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3632     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3633     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3634     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3635     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0xc1,\r
3636     0xa2, 0xa3, 0xb4, 0xba, 0xa4, 0xac, 0xa9, 0xbb,\r
3637     0xc7, 0xc2, 0xa8, 0xa1, 0xb1, 0xb7, 0xb8, 0xab,\r
3638     0xb5, 0xa6, 0xe1, 0xa5, 0xb6, 0xbc, 0xc8, 0xc5,\r
3639     0xc3, 0xc6, 0xc0, 0xcb, 0xe7, 0xe5, 0xcc, 0x80,\r
3640     0x81, 0xae, 0x82, 0xe9, 0x83, 0xe6, 0xe8, 0xed,\r
3641     0xea, 0xeb, 0xec, 0xdc, 0x84, 0xf1, 0xee, 0xef,\r
3642     0xcd, 0x85, 0xb0, 0xaf, 0xf4, 0xf2, 0xf3, 0x86,\r
3643     0xa0, 0xdf, 0xa7, 0x88, 0x87, 0x89, 0x8b, 0x8a,\r
3644     0x8c, 0xbe, 0x8d, 0x8f, 0x8e, 0x90, 0x91, 0x93,\r
3645     0x92, 0x94, 0x95, 0xdd, 0x96, 0x98, 0x97, 0x99,\r
3646     0x9b, 0x9a, 0xd6, 0xbf, 0x9d, 0x9c, 0x9e, 0x9f,\r
3647     0xe0, 0xde, 0xd8, 0xce, 0xcf, 0xd9, 0xc4, 0xb9,\r
3648     0xd0, 0xd1, 0xd7, 0xc9, 0xdb, 0xaa, 0xad, 0xb2,\r
3649     0xb3, 0xe2, 0xe3, 0xf5, 0xf6, 0x00, 0x01, 0x02,\r
3650     0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a,\r
3651     0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12,\r
3652     0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,\r
3653     0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x7f, 0xe4, 0xfb,\r
3654     0xd4, 0xd3, 0xd5, 0xd2, 0xf7, 0xf8, 0xfa, 0xf9,\r
3655     0xda, 0xbd\r
3656     },\r
3657     250\r
3658 };\r
3659 const charset_spec charset_CS_MAC_VT100 = {\r
3660     CS_MAC_VT100, read_sbcs, write_sbcs, &data_CS_MAC_VT100\r
3661 };\r
3662 \r
3663 static const sbcs_data data_CS_MAC_VT100_OLD = {\r
3664     {\r
3665     0x2400, 0x2401, 0x2402, 0x2403, 0x2404, 0x2405, 0x2406, 0x2407,\r
3666     0x2408, 0x2409, 0x240a, 0x240b, 0x240c, 0x240d, 0x240e, 0x240f,\r
3667     0x2410, 0x2411, 0x2412, 0x2413, 0x2414, 0x2415, 0x2416, 0x2417,\r
3668     0x2418, 0x2419, 0x241a, 0x241b, 0x241c, 0x241d, 0x241e, 0x241f,\r
3669     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3670     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3671     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3672     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3673     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3674     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3675     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3676     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3677     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3678     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3679     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3680     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x2421,\r
3681     0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\r
3682     0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\r
3683     0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\r
3684     0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\r
3685     0x00dd, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x00b8, 0x00b6, 0x00df,\r
3686     0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,\r
3687     0x00d7, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x00b9, 0x00b2,\r
3688     0x00b3, 0x03c0, 0x00a6, 0x00aa, 0x00ba, 0x2592, 0x00e6, 0x00f8,\r
3689     0x00bf, 0x00a1, 0x00ac, 0x00bd, 0x0192, 0x00bc, 0x00be, 0x00ab,\r
3690     0x00bb, 0x2026, ERROR , 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\r
3691     0x2013, 0x2014, 0x2518, 0x2510, 0x250c, 0x2514, 0x00f7, 0x2022,\r
3692     0x00ff, 0x0178, 0x253c, 0x00a4, 0x00d0, 0x00f0, 0x00fe, 0x00de,\r
3693     0x00fd, 0x00b7, 0x23ba, 0x23bb, 0x2500, 0x00c2, 0x00ca, 0x00c1,\r
3694     0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\r
3695     ERROR , 0x00d2, 0x00da, 0x00db, 0x00d9, 0x23bc, 0x23bd, 0x251c,\r
3696     0x2524, 0x2534, 0x252c, 0x2502, ERROR , ERROR , ERROR , ERROR \r
3697     },\r
3698     {\r
3699     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3700     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3701     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3702     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3703     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3704     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3705     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3706     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3707     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3708     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3709     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3710     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0xc1,\r
3711     0xa2, 0xa3, 0xdb, 0xb4, 0xba, 0xa4, 0xac, 0xa9,\r
3712     0xbb, 0xc7, 0xc2, 0xa8, 0xa1, 0xb1, 0xb7, 0xb8,\r
3713     0xab, 0xb5, 0xa6, 0xe1, 0xa5, 0xb6, 0xbc, 0xc8,\r
3714     0xc5, 0xc3, 0xc6, 0xc0, 0xcb, 0xe7, 0xe5, 0xcc,\r
3715     0x80, 0x81, 0xae, 0x82, 0xe9, 0x83, 0xe6, 0xe8,\r
3716     0xed, 0xea, 0xeb, 0xec, 0xdc, 0x84, 0xf1, 0xee,\r
3717     0xef, 0xcd, 0x85, 0xb0, 0xaf, 0xf4, 0xf2, 0xf3,\r
3718     0x86, 0xa0, 0xdf, 0xa7, 0x88, 0x87, 0x89, 0x8b,\r
3719     0x8a, 0x8c, 0xbe, 0x8d, 0x8f, 0x8e, 0x90, 0x91,\r
3720     0x93, 0x92, 0x94, 0x95, 0xdd, 0x96, 0x98, 0x97,\r
3721     0x99, 0x9b, 0x9a, 0xd6, 0xbf, 0x9d, 0x9c, 0x9e,\r
3722     0x9f, 0xe0, 0xde, 0xd8, 0xce, 0xcf, 0xd9, 0xc4,\r
3723     0xb9, 0xd0, 0xd1, 0xd7, 0xc9, 0xaa, 0xad, 0xb2,\r
3724     0xb3, 0xe2, 0xe3, 0xf5, 0xf6, 0x00, 0x01, 0x02,\r
3725     0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a,\r
3726     0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12,\r
3727     0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,\r
3728     0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x7f, 0xe4, 0xfb,\r
3729     0xd4, 0xd3, 0xd5, 0xd2, 0xf7, 0xf8, 0xfa, 0xf9,\r
3730     0xda, 0xbd\r
3731     },\r
3732     250\r
3733 };\r
3734 const charset_spec charset_CS_MAC_VT100_OLD = {\r
3735     CS_MAC_VT100_OLD, read_sbcs, write_sbcs, &data_CS_MAC_VT100_OLD\r
3736 };\r
3737 \r
3738 static const sbcs_data data_CS_VISCII = {\r
3739     {\r
3740     0x0000, 0x0001, 0x1eb2, 0x0003, 0x0004, 0x1eb4, 0x1eaa, 0x0007,\r
3741     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
3742     0x0010, 0x0011, 0x0012, 0x0013, 0x1ef6, 0x0015, 0x0016, 0x0017,\r
3743     0x0018, 0x1ef8, 0x001a, 0x001b, 0x001c, 0x001d, 0x1ef4, 0x001f,\r
3744     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3745     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3746     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3747     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3748     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3749     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3750     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3751     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3752     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3753     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3754     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3755     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
3756     0x1ea0, 0x1eae, 0x1eb0, 0x1eb6, 0x1ea4, 0x1ea6, 0x1ea8, 0x1eac,\r
3757     0x1ebc, 0x1eb8, 0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6, 0x1ed0,\r
3758     0x1ed2, 0x1ed4, 0x1ed6, 0x1ed8, 0x1ee2, 0x1eda, 0x1edc, 0x1ede,\r
3759     0x1eca, 0x1ece, 0x1ecc, 0x1ec8, 0x1ee6, 0x0168, 0x1ee4, 0x1ef2,\r
3760     0x00d5, 0x1eaf, 0x1eb1, 0x1eb7, 0x1ea5, 0x1ea7, 0x1ea8, 0x1ead,\r
3761     0x1ebd, 0x1eb9, 0x1ebf, 0x1ec1, 0x1ec3, 0x1ec5, 0x1ec7, 0x1ed1,\r
3762     0x1ed3, 0x1ed5, 0x1ed7, 0x1ee0, 0x01a0, 0x1ed9, 0x1edd, 0x1edf,\r
3763     0x1ecb, 0x1ef0, 0x1ee8, 0x1eea, 0x1eec, 0x01a1, 0x1edb, 0x01af,\r
3764     0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x1ea2, 0x0102, 0x1eb3, 0x1eb5,\r
3765     0x00c8, 0x00c9, 0x00ca, 0x1eba, 0x00cc, 0x00cd, 0x0128, 0x1ef3,\r
3766     0x0110, 0x1ee9, 0x00d2, 0x00d3, 0x00d4, 0x1ea1, 0x1ef7, 0x1eeb,\r
3767     0x1eed, 0x00d9, 0x00da, 0x1ef9, 0x1ef5, 0x00dd, 0x1ee1, 0x01b0,\r
3768     0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x1ea3, 0x0103, 0x1eef, 0x1eab,\r
3769     0x00e8, 0x00e9, 0x00ea, 0x1ebb, 0x00ec, 0x00ed, 0x0129, 0x1ec9,\r
3770     0x0111, 0x1ef1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x1ecf, 0x1ecd,\r
3771     0x1ee5, 0x00f9, 0x00fa, 0x0169, 0x1ee7, 0x00fd, 0x1ee3, 0x1eee\r
3772     },\r
3773     {\r
3774     0x00, 0x01, 0x03, 0x04, 0x07, 0x08, 0x09, 0x0a,\r
3775     0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12,\r
3776     0x13, 0x15, 0x16, 0x17, 0x18, 0x1a, 0x1b, 0x1c,\r
3777     0x1d, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,\r
3778     0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,\r
3779     0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,\r
3780     0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d,\r
3781     0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45,\r
3782     0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d,\r
3783     0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,\r
3784     0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d,\r
3785     0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65,\r
3786     0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d,\r
3787     0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75,\r
3788     0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d,\r
3789     0x7e, 0x7f, 0xc0, 0xc1, 0xc2, 0xc3, 0xc8, 0xc9,\r
3790     0xca, 0xcc, 0xcd, 0xd2, 0xd3, 0xd4, 0xa0, 0xd9,\r
3791     0xda, 0xdd, 0xe0, 0xe1, 0xe2, 0xe3, 0xe8, 0xe9,\r
3792     0xea, 0xec, 0xed, 0xf2, 0xf3, 0xf4, 0xf5, 0xf9,\r
3793     0xfa, 0xfd, 0xc5, 0xe5, 0xd0, 0xf0, 0xce, 0xee,\r
3794     0x9d, 0xfb, 0xb4, 0xbd, 0xbf, 0xdf, 0x80, 0xd5,\r
3795     0xc4, 0xe4, 0x84, 0xa4, 0x85, 0xa5, 0x86, 0x06,\r
3796     0xe7, 0x87, 0xa7, 0x81, 0xa1, 0x82, 0xa2, 0x02,\r
3797     0xc6, 0x05, 0xc7, 0x83, 0xa3, 0x89, 0xa9, 0xcb,\r
3798     0xeb, 0x88, 0xa8, 0x8a, 0xaa, 0x8b, 0xab, 0x8c,\r
3799     0xac, 0x8d, 0xad, 0x8e, 0xae, 0x9b, 0xef, 0x98,\r
3800     0xb8, 0x9a, 0xf7, 0x99, 0xf6, 0x8f, 0xaf, 0x90,\r
3801     0xb0, 0x91, 0xb1, 0x92, 0xb2, 0x93, 0xb5, 0x95,\r
3802     0xbe, 0x96, 0xb6, 0x97, 0xb7, 0xb3, 0xde, 0x94,\r
3803     0xfe, 0x9e, 0xf8, 0x9c, 0xfc, 0xba, 0xd1, 0xbb,\r
3804     0xd7, 0xbc, 0xd8, 0xff, 0xe6, 0xb9, 0xf1, 0x9f,\r
3805     0xcf, 0x1e, 0xdc, 0x14, 0xd6, 0x19, 0xdb\r
3806     },\r
3807     255\r
3808 };\r
3809 const charset_spec charset_CS_VISCII = {\r
3810     CS_VISCII, read_sbcs, write_sbcs, &data_CS_VISCII\r
3811 };\r
3812 \r
3813 static const sbcs_data data_CS_HP_ROMAN8 = {\r
3814     {\r
3815     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
3816     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
3817     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
3818     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
3819     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3820     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3821     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3822     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3823     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3824     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3825     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3826     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3827     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3828     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3829     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3830     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
3831     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
3832     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
3833     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
3834     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
3835     0x00a0, 0x00c0, 0x00c2, 0x00c8, 0x00ca, 0x00cb, 0x00ce, 0x00cf,\r
3836     0x00b4, 0x02cb, 0x02c6, 0x00a8, 0x02dc, 0x00d9, 0x00db, 0x20a4,\r
3837     0x00af, 0x00dd, 0x00fd, 0x00b0, 0x00c7, 0x00e7, 0x00d1, 0x00f1,\r
3838     0x00a1, 0x00bf, 0x00a4, 0x00a3, 0x00a5, 0x00a7, 0x0192, 0x00a2,\r
3839     0x00e2, 0x00ea, 0x00f4, 0x00fb, 0x00e1, 0x00e9, 0x00f3, 0x00fa,\r
3840     0x00e0, 0x00e8, 0x00f2, 0x00f9, 0x00e4, 0x00eb, 0x00f6, 0x00fc,\r
3841     0x00c5, 0x00ee, 0x00d8, 0x00c6, 0x00e5, 0x00ed, 0x00f8, 0x00e6,\r
3842     0x00c4, 0x00ec, 0x00d6, 0x00dc, 0x00c9, 0x00ef, 0x00df, 0x00d4,\r
3843     0x00c1, 0x00c3, 0x00e3, 0x00d0, 0x00f0, 0x00cd, 0x00cc, 0x00d3,\r
3844     0x00d2, 0x00d5, 0x00f5, 0x0160, 0x0161, 0x00da, 0x0178, 0x00ff,\r
3845     0x00de, 0x00fe, 0x00b7, 0x00b5, 0x00b6, 0x00be, 0x2014, 0x00bc,\r
3846     0x00bd, 0x00aa, 0x00ba, 0x00ab, 0x25a0, 0x00bb, 0x00b1, ERROR \r
3847     },\r
3848     {\r
3849     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
3850     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
3851     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
3852     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
3853     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3854     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3855     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3856     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3857     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3858     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3859     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3860     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3861     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3862     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3863     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3864     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
3865     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
3866     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
3867     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
3868     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
3869     0xa0, 0xb8, 0xbf, 0xbb, 0xba, 0xbc, 0xbd, 0xab,\r
3870     0xf9, 0xfb, 0xb0, 0xb3, 0xfe, 0xa8, 0xf3, 0xf4,\r
3871     0xf2, 0xfa, 0xfd, 0xf7, 0xf8, 0xf5, 0xb9, 0xa1,\r
3872     0xe0, 0xa2, 0xe1, 0xd8, 0xd0, 0xd3, 0xb4, 0xa3,\r
3873     0xdc, 0xa4, 0xa5, 0xe6, 0xe5, 0xa6, 0xa7, 0xe3,\r
3874     0xb6, 0xe8, 0xe7, 0xdf, 0xe9, 0xda, 0xd2, 0xad,\r
3875     0xed, 0xae, 0xdb, 0xb1, 0xf0, 0xde, 0xc8, 0xc4,\r
3876     0xc0, 0xe2, 0xcc, 0xd4, 0xd7, 0xb5, 0xc9, 0xc5,\r
3877     0xc1, 0xcd, 0xd9, 0xd5, 0xd1, 0xdd, 0xe4, 0xb7,\r
3878     0xca, 0xc6, 0xc2, 0xea, 0xce, 0xd6, 0xcb, 0xc7,\r
3879     0xc3, 0xcf, 0xb2, 0xf1, 0xef, 0xeb, 0xec, 0xee,\r
3880     0xbe, 0xaa, 0xa9, 0xac, 0xf6, 0xaf, 0xfc\r
3881     },\r
3882     255\r
3883 };\r
3884 const charset_spec charset_CS_HP_ROMAN8 = {\r
3885     CS_HP_ROMAN8, read_sbcs, write_sbcs, &data_CS_HP_ROMAN8\r
3886 };\r
3887 \r
3888 static const sbcs_data data_CS_DEC_MCS = {\r
3889     {\r
3890     0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\r
3891     0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\r
3892     0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\r
3893     0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\r
3894     0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\r
3895     0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\r
3896     0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\r
3897     0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\r
3898     0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\r
3899     0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\r
3900     0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\r
3901     0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\r
3902     0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\r
3903     0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\r
3904     0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\r
3905     0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\r
3906     0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\r
3907     0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\r
3908     0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\r
3909     0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\r
3910     ERROR , 0x00a1, 0x00a2, 0x00a3, ERROR , 0x00a5, ERROR , 0x00a7,\r
3911     0x00a4, 0x00a9, 0x00aa, 0x00ab, ERROR , ERROR , ERROR , ERROR ,\r
3912     0x00b0, 0x00b1, 0x00b2, 0x00b3, ERROR , 0x00b5, 0x00b6, 0x00b7,\r
3913     ERROR , 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, ERROR , 0x00bf,\r
3914     0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\r
3915     0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\r
3916     ERROR , 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0152,\r
3917     0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0178, ERROR , 0x00df,\r
3918     0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\r
3919     0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\r
3920     ERROR , 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0153,\r
3921     0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00ff, ERROR , ERROR \r
3922     },\r
3923     {\r
3924     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\r
3925     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
3926     0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\r
3927     0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\r
3928     0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\r
3929     0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\r
3930     0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\r
3931     0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\r
3932     0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\r
3933     0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\r
3934     0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\r
3935     0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\r
3936     0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\r
3937     0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\r
3938     0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\r
3939     0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\r
3940     0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\r
3941     0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\r
3942     0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\r
3943     0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\r
3944     0xa1, 0xa2, 0xa3, 0xa8, 0xa5, 0xa7, 0xa9, 0xaa,\r
3945     0xab, 0xb0, 0xb1, 0xb2, 0xb3, 0xb5, 0xb6, 0xb7,\r
3946     0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbf, 0xc0, 0xc1,\r
3947     0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9,\r
3948     0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd1, 0xd2,\r
3949     0xd3, 0xd4, 0xd5, 0xd6, 0xd8, 0xd9, 0xda, 0xdb,\r
3950     0xdc, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,\r
3951     0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed,\r
3952     0xee, 0xef, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6,\r
3953     0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xd7, 0xf7,\r
3954     0xdd\r
3955     },\r
3956     241\r
3957 };\r
3958 const charset_spec charset_CS_DEC_MCS = {\r
3959     CS_DEC_MCS, read_sbcs, write_sbcs, &data_CS_DEC_MCS\r
3960 };\r
3961 \r
3962 #else /* ENUM_CHARSETS */\r
3963 \r
3964 ENUM_CHARSET(CS_ISO8859_1)\r
3965 ENUM_CHARSET(CS_ISO8859_2)\r
3966 ENUM_CHARSET(CS_ISO8859_3)\r
3967 ENUM_CHARSET(CS_ISO8859_4)\r
3968 ENUM_CHARSET(CS_ISO8859_5)\r
3969 ENUM_CHARSET(CS_ISO8859_6)\r
3970 ENUM_CHARSET(CS_ISO8859_7)\r
3971 ENUM_CHARSET(CS_ISO8859_8)\r
3972 ENUM_CHARSET(CS_ISO8859_9)\r
3973 ENUM_CHARSET(CS_ISO8859_10)\r
3974 ENUM_CHARSET(CS_ISO8859_11)\r
3975 ENUM_CHARSET(CS_ISO8859_13)\r
3976 ENUM_CHARSET(CS_ISO8859_14)\r
3977 ENUM_CHARSET(CS_ISO8859_15)\r
3978 ENUM_CHARSET(CS_ISO8859_16)\r
3979 ENUM_CHARSET(CS_ISO8859_1_X11)\r
3980 ENUM_CHARSET(CS_CP437)\r
3981 ENUM_CHARSET(CS_CP850)\r
3982 ENUM_CHARSET(CS_CP866)\r
3983 ENUM_CHARSET(CS_CP1250)\r
3984 ENUM_CHARSET(CS_CP1251)\r
3985 ENUM_CHARSET(CS_CP1252)\r
3986 ENUM_CHARSET(CS_CP1253)\r
3987 ENUM_CHARSET(CS_CP1254)\r
3988 ENUM_CHARSET(CS_CP1255)\r
3989 ENUM_CHARSET(CS_CP1256)\r
3990 ENUM_CHARSET(CS_CP1257)\r
3991 ENUM_CHARSET(CS_CP1258)\r
3992 ENUM_CHARSET(CS_KOI8_R)\r
3993 ENUM_CHARSET(CS_KOI8_U)\r
3994 ENUM_CHARSET(CS_MAC_ROMAN)\r
3995 ENUM_CHARSET(CS_MAC_TURKISH)\r
3996 ENUM_CHARSET(CS_MAC_CROATIAN)\r
3997 ENUM_CHARSET(CS_MAC_ICELAND)\r
3998 ENUM_CHARSET(CS_MAC_ROMANIAN)\r
3999 ENUM_CHARSET(CS_MAC_GREEK)\r
4000 ENUM_CHARSET(CS_MAC_CYRILLIC)\r
4001 ENUM_CHARSET(CS_MAC_THAI)\r
4002 ENUM_CHARSET(CS_MAC_CENTEURO)\r
4003 ENUM_CHARSET(CS_MAC_SYMBOL)\r
4004 ENUM_CHARSET(CS_MAC_DINGBATS)\r
4005 ENUM_CHARSET(CS_MAC_ROMAN_OLD)\r
4006 ENUM_CHARSET(CS_MAC_CROATIAN_OLD)\r
4007 ENUM_CHARSET(CS_MAC_ICELAND_OLD)\r
4008 ENUM_CHARSET(CS_MAC_ROMANIAN_OLD)\r
4009 ENUM_CHARSET(CS_MAC_GREEK_OLD)\r
4010 ENUM_CHARSET(CS_MAC_CYRILLIC_OLD)\r
4011 ENUM_CHARSET(CS_MAC_UKRAINE)\r
4012 ENUM_CHARSET(CS_MAC_VT100)\r
4013 ENUM_CHARSET(CS_MAC_VT100_OLD)\r
4014 ENUM_CHARSET(CS_VISCII)\r
4015 ENUM_CHARSET(CS_HP_ROMAN8)\r
4016 ENUM_CHARSET(CS_DEC_MCS)\r
4017 \r
4018 #endif /* ENUM_CHARSETS */\r