18 0x0000, 0x0001, 0x0002, 0x0003,
19 0x0004, 0x0005, 0x0006, 0x0007,
20 0x0008, 0x0009, 0x000a, 0x000b,
21 0x000c, 0x000d, 0x000e, 0x000f,
23 0x0010, 0x0011, 0x0012, 0x0013,
24 0x0014, 0x0015, 0x0016, 0x0017,
25 0x0018, 0x0019, 0x001a, 0x001b,
26 0x001c, 0x001d, 0x001e, 0x001f,
28 0x0020, 0x0021, 0x0022, 0x0023,
29 0x0024, 0x0025, 0x0026, 0x0027,
30 0x0028, 0x0029, 0x002a, 0x002b,
31 0x002c, 0x002d, 0x002e, 0x002f,
33 0x0030, 0x0031, 0x0032, 0x0033,
34 0x0034, 0x0035, 0x0036, 0x0037,
35 0x0038, 0x0039, 0x003a, 0x003b,
36 0x003c, 0x003d, 0x003e, 0x003f,
38 0x0040, 0x0041, 0x0042, 0x0043,
39 0x0044, 0x0045, 0x0046, 0x0047,
40 0x0048, 0x0049, 0x004a, 0x004b,
41 0x004c, 0x004d, 0x004e, 0x004f,
43 0x0050, 0x0051, 0x0052, 0x0053,
44 0x0054, 0x0055, 0x0056, 0x0057,
45 0x0058, 0x0059, 0x005a, 0x005b,
46 0x005c, 0x005d, 0x005e, 0x005f,
48 0x0060, 0x0061, 0x0062, 0x0063,
49 0x0064, 0x0065, 0x0066, 0x0067,
50 0x0068, 0x0069, 0x006a, 0x006b,
51 0x006c, 0x006d, 0x006e, 0x006f,
53 0x0070, 0x0071, 0x0072, 0x0073,
54 0x0074, 0x0075, 0x0076, 0x0077,
55 0x0078, 0x0079, 0x007a, 0x007b,
56 0x007c, 0x007d, 0x007e, 0x007f,
58 0x0000, 0x0000, 0x0000, 0x0000,
59 0x0000, 0x2026, 0x0000, 0x0000,
60 0x0000, 0x0000, 0x0000, 0x0000,
61 0x0000, 0x0000, 0x0000, 0x0000,
63 0x0000, 0x2018, 0x2019, 0x201c,
64 0x201d, 0x2022, 0x2013, 0x2014,
65 0x0000, 0x0000, 0x0000, 0x0000,
66 0x0000, 0x0000, 0x0000, 0x0000,
68 0x00a0, 0x0e01, 0x0e02, 0x0e03,
69 0x0e04, 0x0e05, 0x0e06, 0x0e07,
70 0x0e08, 0x0e09, 0x0e0a, 0x0e0b,
71 0x0e0c, 0x0e0d, 0x0e0e, 0x0e0f,
73 0x0e10, 0x0e11, 0x0e12, 0x0e13,
74 0x0e14, 0x0e15, 0x0e16, 0x0e17,
75 0x0e18, 0x0e19, 0x0e1a, 0x0e1b,
76 0x0e1c, 0x0e1d, 0x0e1e, 0x0e1f,
78 0x0e20, 0x0e21, 0x0e22, 0x0e23,
79 0x0e24, 0x0e25, 0x0e26, 0x0e27,
80 0x0e28, 0x0e29, 0x0e2a, 0x0e2b,
81 0x0e2c, 0x0e2d, 0x0e2e, 0x0e2f,
83 0x0e30, 0x0e31, 0x0e32, 0x0e33,
84 0x0e34, 0x0e35, 0x0e36, 0x0e37,
85 0x0e38, 0x0e39, 0x0e3a, 0x0000,
86 0x0000, 0x0000, 0x0000, 0x0e3f,
88 0x0e40, 0x0e41, 0x0e42, 0x0e43,
89 0x0e44, 0x0e45, 0x0e46, 0x0e47,
90 0x0e48, 0x0e49, 0x0e4a, 0x0e4b,
91 0x0e4c, 0x0e4d, 0x0e4e, 0x0e4f,
93 0x0e50, 0x0e51, 0x0e52, 0x0e53,
94 0x0e54, 0x0e55, 0x0e56, 0x0e57,
95 0x0e58, 0x0e59, 0x0e5a, 0x0e5b,
96 0x0000, 0x0000, 0x0000, 0x0000,
100 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
101 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
102 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
103 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
104 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
105 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
106 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
107 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
108 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
109 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
110 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
111 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
112 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
113 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
114 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
115 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
125 0x00, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
126 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
127 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
128 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
129 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
130 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
131 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
132 0xd8, 0xd9, 0xda, 0x00, 0x00, 0x00, 0x00, 0xdf,
133 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
134 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
135 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
136 0xf8, 0xf9, 0xfa, 0xfb, 0x00, 0x00, 0x00, 0x00,
140 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
141 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
142 0x00, 0x00, 0x00, 0x96, 0x97, 0x00, 0x00, 0x00,
143 0x91, 0x92, 0x00, 0x00, 0x93, 0x94, 0x00, 0x00,
144 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x85, 0x00,
156 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
157 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
158 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
159 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
160 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
161 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
162 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
163 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
164 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
165 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
166 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
167 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
168 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
169 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
170 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
171 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
173 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00,
174 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175 0x00, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
176 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
177 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
178 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
179 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
180 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
181 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
182 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
183 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
184 0xd8, 0xd9, 0xda, 0x00, 0x00, 0x00, 0x00, 0xdf,
185 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
186 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
187 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
188 0xf8, 0xf9, 0xfa, 0xfb, 0x00, 0x00, 0x00, 0x00,
192 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
193 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
194 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
195 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
196 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
197 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
198 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
199 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
200 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
201 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
202 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
203 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
204 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
205 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
206 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
207 0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
209 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00,
210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211 0x00, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
214 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
215 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
216 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
217 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
218 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
219 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
220 0xd8, 0xd9, 0xda, 0x00, 0x00, 0x00, 0x00, 0xdf,
221 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
222 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
223 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
224 0xf8, 0xf9, 0xfa, 0xfb, 0x00, 0x00, 0x00, 0x00,
229 unsigned char *uni2charset;
230 unsigned char cl = uni & 0x00ff;
231 unsigned char ch = (uni & 0xff00) >> 8;
237 if (uni2charset && uni2charset[cl])
238 out[0] = uni2charset[cl];
244static int char2uni(
const unsigned char *rawstring,
int boundlen,
wchar_t *uni)
int register_nls(struct nls_table *)
#define MODULE_ALIAS_NLS(x)
int unregister_nls(struct nls_table *)
#define MODULE_LICENSE(x)
static wchar_t charset2uni[256]
static unsigned char * page_uni2charset[256]
static int char2uni(const unsigned char *rawstring, int boundlen, wchar_t *uni)
static void __exit exit_nls_cp874(void)
static int uni2char(wchar_t uni, unsigned char *out, int boundlen)
static int __init init_nls_cp874(void)
static unsigned char page20[256]
static unsigned char charset2lower[256]
static unsigned char page0e[256]
static unsigned char charset2upper[256]
static unsigned char page00[256]