2 * Handlers.cs - Implementation of the "I18N.Common.Handlers" class.
4 * Copyright (c) 2002 Southern Storm Software, Pty Ltd
6 * Permission is hereby granted, free of charge, to any person obtaining
7 * a copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
13 * The above copyright notice and this permission notice shall be included
14 * in all copies or substantial portions of the Software.
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 * OTHER DEALINGS IN THE SOFTWARE.
29 using System.Collections;
31 // This class provides an internal list of handlers, for runtime
32 // engines that do not implement the altered "GetFile" semantics.
33 // The list must be kept up to date manually.
35 public sealed class Handlers
37 public static readonly String[] List = {
50 "I18N.CJK.ENCshift_jis",
51 "I18N.CJK.ENCiso_2022_jp",
55 "I18N.CJK.ENCgb18030",
56 "I18N.MidEast.CP1254",
57 "I18N.MidEast.ENCwindows_1254",
58 "I18N.MidEast.CP1255",
59 "I18N.MidEast.ENCwindows_1255",
60 "I18N.MidEast.CP1256",
61 "I18N.MidEast.ENCwindows_1256",
62 "I18N.MidEast.CP28596",
63 "I18N.MidEast.ENCiso_8859_6",
64 "I18N.MidEast.CP28598",
65 "I18N.MidEast.ENCiso_8859_8",
66 "I18N.MidEast.CP28599",
67 "I18N.MidEast.ENCiso_8859_9",
68 "I18N.MidEast.CP38598",
69 "I18N.MidEast.ENCwindows_38598",
71 "I18N.Other.ENCwindows_1251",
73 "I18N.Other.ENCwindows_1257",
75 "I18N.Other.ENCwindows_1258",
77 "I18N.Other.ENCkoi8_r",
79 "I18N.Other.ENCkoi8_u",
81 "I18N.Other.ENCiso_8859_4",
83 "I18N.Other.ENCiso_8859_5",
84 "I18N.Other.ISCIIEncoding",
95 "I18N.Other.ENCx_iscii_de",
96 "I18N.Other.ENCx_iscii_be",
97 "I18N.Other.ENCx_iscii_ta",
98 "I18N.Other.ENCx_iscii_te",
99 "I18N.Other.ENCx_iscii_as",
100 "I18N.Other.ENCx_iscii_or",
101 "I18N.Other.ENCx_iscii_ka",
102 "I18N.Other.ENCx_iscii_ma",
103 "I18N.Other.ENCx_iscii_gu",
104 "I18N.Other.ENCx_iscii_pa",
106 "I18N.Other.ENCwindows_874",
108 "I18N.Rare.ENCibm1026",
110 "I18N.Rare.ENCibm1047",
112 "I18N.Rare.ENCibm01140",
114 "I18N.Rare.ENCibm01141",
116 "I18N.Rare.ENCibm01142",
118 "I18N.Rare.ENCibm01143",
120 "I18N.Rare.ENCibm1144",
122 "I18N.Rare.ENCibm1145",
124 "I18N.Rare.ENCibm1146",
126 "I18N.Rare.ENCibm1147",
128 "I18N.Rare.ENCibm1148",
130 "I18N.Rare.ENCibm1149",
132 "I18N.Rare.ENCibm273",
134 "I18N.Rare.ENCibm277",
136 "I18N.Rare.ENCibm278",
138 "I18N.Rare.ENCibm280",
140 "I18N.Rare.ENCibm284",
142 "I18N.Rare.ENCibm285",
144 "I18N.Rare.ENCibm290",
146 "I18N.Rare.ENCibm297",
148 "I18N.Rare.ENCibm420",
150 "I18N.Rare.ENCibm424",
152 "I18N.Rare.ENCibm871",
154 "I18N.Rare.ENCibm1025",
156 "I18N.Rare.ENCibm037",
158 "I18N.Rare.ENCibm500",
160 "I18N.Rare.ENCasmo_708",
162 "I18N.Rare.ENCibm852",
164 "I18N.Rare.ENCibm855",
166 "I18N.Rare.ENCibm857",
168 "I18N.Rare.ENCibm00858",
170 "I18N.Rare.ENCibm862",
172 "I18N.Rare.ENCibm864",
174 "I18N.Rare.ENCibm866",
176 "I18N.Rare.ENCibm869",
178 "I18N.Rare.ENCibm870",
180 "I18N.Rare.ENCibm875",
182 "I18N.West.ENCmacintosh",
184 "I18N.West.ENCx_mac_icelandic",
186 "I18N.West.ENCwindows_1250",
188 "I18N.West.ENCwindows_1252",
190 "I18N.West.ENCwindows_1253",
192 "I18N.West.ENCiso_8859_2",
194 "I18N.West.ENCiso_8859_3",
196 "I18N.West.ENCiso_8859_7",
198 "I18N.West.ENCiso_8859_15",
200 "I18N.West.ENCibm437",
202 "I18N.West.ENCibm850",
204 "I18N.West.ENCibm860",
206 "I18N.West.ENCibm861",
208 "I18N.West.ENCibm863",
210 "I18N.West.ENCibm865"
213 static Hashtable aliases;
214 public static string GetAlias (string name)
219 return aliases [name] as string;
222 static void BuildHash ()
224 aliases = new Hashtable (new CaseInsensitiveHashCodeProvider (),
225 new CaseInsensitiveComparer ());
227 aliases.Add ("arabic", "iso_8859_6");
228 aliases.Add ("csISOLatinArabic", "iso_8859_6");
229 aliases.Add ("ECMA_114", "iso_8859_6");
230 aliases.Add ("ISO_8859_6:1987", "iso_8859_6");
231 aliases.Add ("iso_ir_127", "iso_8859_6");
233 aliases.Add ("cp1256" ,"windows_1256");
235 aliases.Add ("csISOLatin4", "iso_8859_4");
236 aliases.Add ("ISO_8859_4:1988", "iso_8859_4");
237 aliases.Add ("iso_ir_110", "iso_8859_4");
238 aliases.Add ("l4", "iso_8859_4");
239 aliases.Add ("latin4", "iso_8859_4");
241 aliases.Add ("cp852" ,"ibm852");
243 aliases.Add ("csISOLatin2", "iso_8859_2");
244 aliases.Add ("iso_8859_2:1987", "iso_8859_2");
245 aliases.Add ("iso8859_2", "iso_8859_2");
246 aliases.Add ("iso_ir_101", "iso_8859_2");
247 aliases.Add ("l2", "iso_8859_2");
248 aliases.Add ("latin2", "iso_8859_2");
250 aliases.Add ("x-cp1250", "windows_1250");
252 aliases.Add ("chinese", "gb2312");
253 aliases.Add ("CN-GB", "gb2312");
254 aliases.Add ("csGB2312", "gb2312");
255 aliases.Add ("csGB231280", "gb2312");
256 aliases.Add ("csISO58GB231280", "gb2312");
257 aliases.Add ("GB_2312_80", "gb2312");
258 aliases.Add ("GB231280", "gb2312");
259 aliases.Add ("GB2312_80", "gb2312");
260 aliases.Add ("GBK", "gb2312");
261 aliases.Add ("iso_ir_58", "gb2312");
263 aliases.Add ("cn-big5", "big5");
264 aliases.Add ("csbig5", "big5");
265 aliases.Add ("x-x-big5", "big5");
267 aliases.Add ("cp866", "ibm866");
269 aliases.Add ("csISOLatin5", "iso_8859_5");
270 aliases.Add ("csISOLatinCyrillic", "iso_8859_5");
271 aliases.Add ("cyrillic", "iso_8859_5");
272 aliases.Add ("ISO_8859_5:1988", "iso_8859_5");
273 aliases.Add ("iso_ir_144", "iso_8859_5");
274 aliases.Add ("l5", "iso_8859_5");
276 aliases.Add ("csKOI8R", "koi8_r");
277 aliases.Add ("koi", "koi8_r");
278 aliases.Add ("koi8", "koi8_r");
279 aliases.Add ("koi8r", "koi8_r");
281 aliases.Add ("koi8ru", "koi8_u");
283 aliases.Add ("x-cp1251", "windows_1251");
285 aliases.Add ("csISOLatinGreek", "iso_8859_7");
286 aliases.Add ("ECMA_118", "iso_8859_7");
287 aliases.Add ("ELOT_928", "iso_8859_7");
288 aliases.Add ("greek", "iso_8859_7");
289 aliases.Add ("greek8", "iso_8859_7");
290 aliases.Add ("ISO_8859_7:1987", "iso_8859_7");
291 aliases.Add ("iso_ir_126", "iso_8859_7");
293 aliases.Add ("csISOLatinHebrew", "iso_8859_8");
294 aliases.Add ("hebrew", "iso_8859_8");
295 aliases.Add ("ISO_8859_8:1988", "iso_8859_8");
296 aliases.Add ("iso_ir_138", "iso_8859_8");
298 aliases.Add ("csShiftJIS", "shift_jis");
299 aliases.Add ("csWindows31J", "shift_jis");
300 aliases.Add ("ms_Kanji", "shift_jis");
301 aliases.Add ("shift-jis", "shift_jis");
302 aliases.Add ("x-ms-cp932", "shift_jis");
303 aliases.Add ("x-sjis", "shift_jis");
305 aliases.Add ("csISOLatin3", "iso_8859_3");
306 aliases.Add ("ISO_8859_3:1988", "iso_8859_3");
307 aliases.Add ("iso_ir_109", "iso_8859_3");
308 aliases.Add ("l3", "iso_8859_3");
309 aliases.Add ("latin3", "iso_8859_3");
311 aliases.Add ("csISOLatin9", "iso_8859_15");
312 aliases.Add ("l9", "iso_8859_15");
313 aliases.Add ("latin9", "iso_8859_15");
315 aliases.Add ("cp437", "ibm437");
316 aliases.Add ("csPC8", "ibm437");
317 aliases.Add ("CodePage437", "ibm437");
319 aliases.Add ("DOS_874", "windows_874");
320 aliases.Add ("iso_8859_11", "windows_874");
321 aliases.Add ("TIS_620", "windows_874");
327 }; // namespace I18N.Common