3 * Copyright (C) 1996, Onno Hovers
8 #include <kernel32/lctable.h>
9 #include <kernel32/cptable.h>
11 extern CODEPAGE __CP37;
12 extern WCHAR *__CP37_ToUnicode;
13 extern CHAR **__CP37_FromUnicode;
15 extern CODEPAGE __CP437;
16 extern WCHAR *__CP437_ToUnicode;
17 extern WCHAR *__CP437_ToUnicodeGlyph;
18 extern CHAR **__CP437_FromUnicode;
20 extern CODEPAGE __CP500;
21 extern WCHAR *__CP500_ToUnicode;
22 extern CHAR **__CP500_FromUnicode;
24 extern CODEPAGE __CP737;
25 extern WCHAR *__CP737_ToUnicode;
26 extern WCHAR *__CP737_ToUnicodeGlyph;
27 extern CHAR **__CP737_FromUnicode;
29 extern CODEPAGE __CP775;
30 extern WCHAR *__CP775_ToUnicode;
31 extern WCHAR *__CP775_ToUnicodeGlyph;
32 extern CHAR **__CP775_FromUnicode;
34 extern CODEPAGE __CP850;
35 extern WCHAR *__CP850_ToUnicode;
36 extern WCHAR *__CP850_ToUnicodeGlyph;
37 extern CHAR **__CP850_FromUnicode;
39 extern CODEPAGE __CP852;
40 extern WCHAR *__CP852_ToUnicode;
41 extern WCHAR *__CP852_ToUnicodeGlyph;
42 extern CHAR **__CP852_FromUnicode;
44 extern CODEPAGE __CP855;
45 extern WCHAR *__CP855_ToUnicode;
46 extern WCHAR *__CP855_ToUnicodeGlyph;
47 extern CHAR **__CP855_FromUnicode;
49 extern CODEPAGE __CP857;
50 extern WCHAR *__CP857_ToUnicode;
51 extern WCHAR *__CP857_ToUnicodeGlyph;
52 extern CHAR **__CP857_FromUnicode;
54 extern CODEPAGE __CP860;
55 extern WCHAR *__CP860_ToUnicode;
56 extern WCHAR *__CP860_ToUnicodeGlyph;
57 extern CHAR **__CP860_FromUnicode;
59 extern CODEPAGE __CP861;
60 extern WCHAR *__CP861_ToUnicode;
61 extern WCHAR *__CP861_ToUnicodeGlyph;
62 extern CHAR **__CP861_FromUnicode;
64 extern CODEPAGE __CP863;
65 extern WCHAR *__CP863_ToUnicode;
66 extern WCHAR *__CP863_ToUnicodeGlyph;
67 extern CHAR **__CP863_FromUnicode;
69 extern CODEPAGE __CP865;
70 extern WCHAR *__CP865_ToUnicode;
71 extern WCHAR *__CP865_ToUnicodeGlyph;
72 extern CHAR **__CP865_FromUnicode;
74 extern CODEPAGE __CP866;
75 extern WCHAR *__CP866_ToUnicode;
76 extern WCHAR *__CP866_ToUnicodeGlyph;
77 extern CHAR **__CP866_FromUnicode;
79 extern CODEPAGE __CP869;
80 extern WCHAR *__CP869_ToUnicode;
81 extern WCHAR *__CP869_ToUnicodeGlyph;
82 extern CHAR **__CP869_FromUnicode;
84 extern CODEPAGE __CP875;
85 extern WCHAR *__CP875_ToUnicode;
86 extern CHAR **__CP875_FromUnicode;
88 extern CODEPAGE __CP1026;
89 extern WCHAR *__CP1026_ToUnicode;
90 extern CHAR **__CP1026_FromUnicode;
92 extern CODEPAGE __CP1250;
93 extern WCHAR *__CP1250_ToUnicode;
94 extern CHAR **__CP1250_FromUnicode;
96 extern CODEPAGE __CP1251;
97 extern WCHAR *__CP1251_ToUnicode;
98 extern CHAR **__CP1251_FromUnicode;
100 extern CODEPAGE __CP1252;
101 extern WCHAR *__CP1252_ToUnicode;
102 extern CHAR **__CP1252_FromUnicode;
104 extern CODEPAGE __CP1253;
105 extern WCHAR *__CP1253_ToUnicode;
106 extern CHAR **__CP1253_FromUnicode;
108 extern CODEPAGE __CP1254;
109 extern WCHAR *__CP1254_ToUnicode;
110 extern CHAR **__CP1254_FromUnicode;
112 extern CODEPAGE __CP1255;
113 extern WCHAR *__CP1255_ToUnicode;
114 extern CHAR **__CP1255_FromUnicode;
116 extern CODEPAGE __CP1256;
117 extern WCHAR *__CP1256_ToUnicode;
118 extern CHAR **__CP1256_FromUnicode;
120 extern CODEPAGE __CP1257;
121 extern WCHAR *__CP1257_ToUnicode;
122 extern CHAR **__CP1257_FromUnicode;
124 extern CODEPAGE __CP1258;
125 extern WCHAR *__CP1258_ToUnicode;
126 extern CHAR **__CP1258_FromUnicode;
128 extern CODEPAGE __CP10000;
129 extern WCHAR *__CP10000_ToUnicode;
130 extern CHAR **__CP10000_FromUnicode;
132 extern CODEPAGE __CP10006;
133 extern WCHAR *__CP10006_ToUnicode;
134 extern CHAR **__CP10006_FromUnicode;
136 extern CODEPAGE __CP10007;
137 extern WCHAR *__CP10007_ToUnicode;
138 extern CHAR **__CP10007_FromUnicode;
140 extern CODEPAGE __CP10029;
141 extern WCHAR *__CP10029_ToUnicode;
142 extern CHAR **__CP10029_FromUnicode;
144 extern CODEPAGE __CP10079;
145 extern WCHAR *__CP10079_ToUnicode;
146 extern CHAR **__CP10079_FromUnicode;
148 extern CODEPAGE __CP10081;
149 extern WCHAR *__CP10081_ToUnicode;
150 extern CHAR **__CP10081_FromUnicode;
152 CPINFO __CPGenInfo={1, {'?',0}, { 0,0,0,0, 0,0,0,0, 0,0,0,0 }};
154 PCODEPAGE __CPFirst = &__CP37;
159 &__CP437, 37, CODEPAGE_EBCDIC, &__CP37_ToUnicode,
160 &__CP37_ToUnicode, &__CP37_FromUnicode,
167 &__CP500, 437, CODEPAGE_OEM, &__CP437_ToUnicode,
168 &__CP437_ToUnicodeGlyph, &__CP437_FromUnicode,
175 &__CP737, 500, CODEPAGE_EBCDIC, &__CP500_ToUnicode,
176 &__CP500_ToUnicode, &__CP500_FromUnicode,
183 &__CP775, 737, CODEPAGE_OEM, &__CP737_ToUnicode,
184 &__CP737_ToUnicodeGlyph, &__CP737_FromUnicode,
188 /* MS-DOS Baltic Rim */
191 &__CP850, 775, CODEPAGE_OEM, &__CP775_ToUnicode,
192 &__CP775_ToUnicodeGlyph, &__CP775_FromUnicode,
199 &__CP852, 850, CODEPAGE_OEM, &__CP850_ToUnicode,
200 &__CP850_ToUnicodeGlyph, &__CP850_FromUnicode,
207 &__CP855, 852, CODEPAGE_OEM, &__CP852_ToUnicode,
208 &__CP852_ToUnicodeGlyph, &__CP852_FromUnicode,
212 /* MS-DOS Cyrillic */
215 &__CP857, 855, CODEPAGE_OEM, &__CP855_ToUnicode,
216 &__CP855_ToUnicodeGlyph, &__CP855_FromUnicode,
223 &__CP860, 857, CODEPAGE_OEM, &__CP857_ToUnicode,
224 &__CP857_ToUnicodeGlyph, &__CP857_FromUnicode,
228 /* MS-DOS Portugese */
231 &__CP861, 860, CODEPAGE_OEM, &__CP860_ToUnicode,
232 &__CP860_ToUnicodeGlyph, &__CP860_FromUnicode,
236 /* MS-DOS Icelandic */
239 &__CP863, 861, CODEPAGE_OEM, &__CP861_ToUnicode,
240 &__CP861_ToUnicodeGlyph, &__CP861_FromUnicode,
244 /* MS-DOS French Canada */
247 &__CP865, 863, CODEPAGE_OEM, &__CP863_ToUnicode,
248 &__CP863_ToUnicodeGlyph, &__CP863_FromUnicode,
255 &__CP866, 865, CODEPAGE_OEM, &__CP865_ToUnicode,
256 &__CP865_ToUnicodeGlyph, &__CP865_FromUnicode,
260 /* MS-DOS Cyrillic CIS-1 */
263 &__CP869, 866, CODEPAGE_OEM, &__CP866_ToUnicode,
264 &__CP866_ToUnicodeGlyph, &__CP866_FromUnicode,
271 &__CP875, 869, CODEPAGE_OEM, &__CP869_ToUnicode,
272 &__CP869_ToUnicodeGlyph, &__CP869_FromUnicode,
276 /* EBCDIC codepage */
279 &__CP1026, 875, CODEPAGE_EBCDIC, &__CP875_ToUnicode,
280 &__CP875_ToUnicode, &__CP875_FromUnicode,
284 /* EBCDIC codepage */
287 &__CP1250, 1026, CODEPAGE_EBCDIC, &__CP1026_ToUnicode,
288 &__CP1026_ToUnicode, &__CP1026_FromUnicode,
292 /* Windows Latin 2 (Central Europe) */
295 &__CP1251, 1250, CODEPAGE_ANSI, &__CP1250_ToUnicode,
296 &__CP1250_ToUnicode, &__CP1250_FromUnicode,
300 /* Windows Cyrillic */
303 &__CP1252, 1251, CODEPAGE_ANSI, &__CP1251_ToUnicode,
304 &__CP1251_ToUnicode, &__CP1251_FromUnicode,
308 /* Windows Latin 1 */
311 &__CP1253, 1252, CODEPAGE_ANSI, &__CP1252_ToUnicode,
312 &__CP1252_ToUnicode, &__CP1252_FromUnicode,
319 &__CP1254, 1253, CODEPAGE_ANSI, &__CP1253_ToUnicode,
320 &__CP1253_ToUnicode, &__CP1253_FromUnicode,
324 /* Windows Latin 5 (Turkish) */
327 &__CP1255, 1254, CODEPAGE_ANSI, &__CP1254_ToUnicode,
328 &__CP1254_ToUnicode, &__CP1254_FromUnicode,
335 &__CP1256, 1255, CODEPAGE_ANSI, &__CP1255_ToUnicode,
336 &__CP1255_ToUnicode, &__CP1255_FromUnicode,
343 &__CP1257, 1256, CODEPAGE_ANSI, &__CP1256_ToUnicode,
344 &__CP1256_ToUnicode, &__CP1256_FromUnicode,
348 /* Windows Baltic Rim */
351 &__CP10000, 1257, CODEPAGE_ANSI, &__CP1257_ToUnicode,
352 &__CP1257_ToUnicode, &__CP1257_FromUnicode,
356 /* Macintosh Roman */
359 &__CP10006, 10000, CODEPAGE_MAC, &__CP10000_ToUnicode,
360 &__CP10000_ToUnicode, &__CP10000_FromUnicode,
364 /* Macintosh Greek 1 */
367 &__CP10007, 10006, CODEPAGE_MAC, &__CP10006_ToUnicode,
368 &__CP10006_ToUnicode, &__CP10006_FromUnicode,
372 /* Macintosh Cyrillic */
375 &__CP10029, 10007, CODEPAGE_MAC, &__CP10007_ToUnicode,
376 &__CP10007_ToUnicode, &__CP10007_FromUnicode,
380 /* Macintosh Latin 2 */
383 &__CP10079, 10029, CODEPAGE_MAC, &__CP10029_ToUnicode,
384 &__CP10029_ToUnicode, &__CP10029_FromUnicode,
388 /* Macintosh Icelandic */
391 &__CP10081, 10079, CODEPAGE_MAC, &__CP10079_ToUnicode,
392 &__CP10079_ToUnicode, &__CP10079_FromUnicode,
396 /* Macintosh Turkish */
399 NULL, 10081, CODEPAGE_MAC, &__CP10081_ToUnicode,
400 &__CP10081_ToUnicode, &__CP10081_FromUnicode,