Bug 454376 add -lCrun -lCstd for Solaris OS_LIBS, r=bsmedberg
[wine-gecko.git] / intl / uconv / src / nsUConvModule.cpp
blobd9a72788099281a2c9e186b2277fb12cbafb1f3e
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
15 * The Original Code is Mozilla Communicator client code.
17 * The Initial Developer of the Original Code is
18 * Netscape Communications Corporation.
19 * Portions created by the Initial Developer are Copyright (C) 1998
20 * the Initial Developer. All Rights Reserved.
22 * Contributor(s):
23 * Pierre Phaneuf <pp@ludusdesign.com>
24 * IBM Corporation
26 * Alternatively, the contents of this file may be used under the terms of
27 * either of the GNU General Public License Version 2 or later (the "GPL"),
28 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29 * in which case the provisions of the GPL or the LGPL are applicable instead
30 * of those above. If you wish to allow use of your version of this file only
31 * under the terms of either the GPL or the LGPL, and not to allow others to
32 * use your version of this file under the terms of the MPL, indicate your
33 * decision by deleting the provisions above and replace them with the notice
34 * and other provisions required by the GPL or the LGPL. If you do not delete
35 * the provisions above, a recipient may use your version of this file under
36 * the terms of any one of the MPL, the GPL or the LGPL.
38 * ***** END LICENSE BLOCK ***** */
39 #include "nsCOMPtr.h"
40 #include "nsCRT.h"
41 #include "nsIModule.h"
42 #include "nsIGenericFactory.h"
43 #include "nsIComponentManager.h"
44 #include "nsICategoryManager.h"
45 #include "nsICharsetConverterManager.h"
46 #include "nsEncoderDecoderUtils.h"
47 #include "nsIUnicodeDecoder.h"
48 #include "nsIUnicodeEncoder.h"
49 #include "nsICharsetAlias.h"
50 #include "nsIServiceManager.h"
53 #include "nsUConvCID.h"
54 #include "nsCharsetConverterManager.h"
55 #include "nsCharsetAlias.h"
56 #include "nsTextToSubURI.h"
57 #include "nsUTF8ConverterService.h"
58 #include "nsConverterInputStream.h"
59 #include "nsConverterOutputStream.h"
60 #include "nsPlatformCharset.h"
61 #include "nsScriptableUConv.h"
63 #ifndef MOZ_USE_NATIVE_UCONV
64 #include "nsIPlatformCharset.h"
65 #include "nsITextToSubURI.h"
67 #include "nsUConvDll.h"
68 #include "nsIFile.h"
70 #include "nsCRT.h"
72 #include "nsUCSupport.h"
73 #include "nsISO88591ToUnicode.h"
74 #include "nsCP1252ToUnicode.h"
75 #include "nsMacRomanToUnicode.h"
76 #include "nsUTF8ToUnicode.h"
77 #include "nsUnicodeToISO88591.h"
78 #include "nsUnicodeToCP1252.h"
79 #include "nsUnicodeToMacRoman.h"
80 #include "nsUnicodeToUTF8.h"
82 // ucvlatin
83 #include "nsUCvLatinCID.h"
84 #include "nsUCvLatinDll.h"
85 #include "nsAsciiToUnicode.h"
86 #include "nsISO88592ToUnicode.h"
87 #include "nsISO88593ToUnicode.h"
88 #include "nsISO88594ToUnicode.h"
89 #include "nsISO88595ToUnicode.h"
90 #include "nsISO88596ToUnicode.h"
91 #include "nsISO88596EToUnicode.h"
92 #include "nsISO88596IToUnicode.h"
93 #include "nsISO88597ToUnicode.h"
94 #include "nsISO88598ToUnicode.h"
95 #include "nsISO88598EToUnicode.h"
96 #include "nsISO88598IToUnicode.h"
97 #include "nsISO88599ToUnicode.h"
98 #include "nsISO885910ToUnicode.h"
99 #include "nsISO885913ToUnicode.h"
100 #include "nsISO885914ToUnicode.h"
101 #include "nsISO885915ToUnicode.h"
102 #include "nsISO885916ToUnicode.h"
103 #include "nsISOIR111ToUnicode.h"
104 #include "nsCP1250ToUnicode.h"
105 #include "nsCP1251ToUnicode.h"
106 #include "nsCP1253ToUnicode.h"
107 #include "nsCP1254ToUnicode.h"
108 #include "nsCP1255ToUnicode.h"
109 #include "nsCP1256ToUnicode.h"
110 #include "nsCP1257ToUnicode.h"
111 #include "nsCP1258ToUnicode.h"
112 #include "nsCP874ToUnicode.h"
113 #include "nsISO885911ToUnicode.h"
114 #include "nsTIS620ToUnicode.h"
115 #include "nsCP866ToUnicode.h"
116 #include "nsKOI8RToUnicode.h"
117 #include "nsKOI8UToUnicode.h"
118 #include "nsMacCEToUnicode.h"
119 #include "nsMacGreekToUnicode.h"
120 #include "nsMacTurkishToUnicode.h"
121 #include "nsMacCroatianToUnicode.h"
122 #include "nsMacRomanianToUnicode.h"
123 #include "nsMacCyrillicToUnicode.h"
124 #include "nsMacUkrainianToUnicode.h"
125 #include "nsMacIcelandicToUnicode.h"
126 #include "nsGEOSTD8ToUnicode.h"
127 #include "nsARMSCII8ToUnicode.h"
128 #include "nsTCVN5712ToUnicode.h"
129 #include "nsVISCIIToUnicode.h"
130 #include "nsVPSToUnicode.h"
131 #include "nsUTF7ToUnicode.h"
132 #include "nsMUTF7ToUnicode.h"
133 #include "nsUTF32ToUnicode.h"
134 #include "nsUCS2BEToUnicode.h"
135 #include "nsT61ToUnicode.h"
136 #include "nsUserDefinedToUnicode.h"
137 #include "nsUnicodeToAscii.h"
138 #include "nsUnicodeToISO88592.h"
139 #include "nsUnicodeToISO88593.h"
140 #include "nsUnicodeToISO88594.h"
141 #include "nsUnicodeToISO88595.h"
142 #include "nsUnicodeToISO88596.h"
143 #include "nsUnicodeToISO88596E.h"
144 #include "nsUnicodeToISO88596I.h"
145 #include "nsUnicodeToISO88597.h"
146 #include "nsUnicodeToISO88598.h"
147 #include "nsUnicodeToISO88598E.h"
148 #include "nsUnicodeToISO88598I.h"
149 #include "nsUnicodeToISO88599.h"
150 #include "nsUnicodeToISO885910.h"
151 #include "nsUnicodeToISO885913.h"
152 #include "nsUnicodeToISO885914.h"
153 #include "nsUnicodeToISO885915.h"
154 #include "nsUnicodeToISO885916.h"
155 #include "nsUnicodeToISOIR111.h"
156 #include "nsUnicodeToCP1250.h"
157 #include "nsUnicodeToCP1251.h"
158 #include "nsUnicodeToCP1253.h"
159 #include "nsUnicodeToCP1254.h"
160 #include "nsUnicodeToCP1255.h"
161 #include "nsUnicodeToCP1256.h"
162 #include "nsUnicodeToCP1257.h"
163 #include "nsUnicodeToCP1258.h"
164 #include "nsUnicodeToCP874.h"
165 #include "nsUnicodeToISO885911.h"
166 #include "nsUnicodeToTIS620.h"
167 #include "nsUnicodeToCP866.h"
168 #include "nsUnicodeToKOI8R.h"
169 #include "nsUnicodeToKOI8U.h"
170 #include "nsUnicodeToMacCE.h"
171 #include "nsUnicodeToMacGreek.h"
172 #include "nsUnicodeToMacTurkish.h"
173 #include "nsUnicodeToMacCroatian.h"
174 #include "nsUnicodeToMacRomanian.h"
175 #include "nsUnicodeToMacCyrillic.h"
176 #include "nsUnicodeToMacUkrainian.h"
177 #include "nsUnicodeToMacIcelandic.h"
178 #include "nsUnicodeToGEOSTD8.h"
179 #include "nsUnicodeToARMSCII8.h"
180 #include "nsUnicodeToTCVN5712.h"
181 #include "nsUnicodeToVISCII.h"
182 #include "nsUnicodeToVPS.h"
183 #include "nsUnicodeToUTF7.h"
184 #include "nsUnicodeToMUTF7.h"
185 #include "nsUnicodeToUCS2BE.h"
186 #include "nsUnicodeToUTF32.h"
187 #include "nsUnicodeToT61.h"
188 #include "nsUnicodeToUserDefined.h"
189 #include "nsUnicodeToSymbol.h"
190 #include "nsUnicodeToZapfDingbat.h"
191 #include "nsUnicodeToAdobeEuro.h"
192 #include "nsMacArabicToUnicode.h"
193 #include "nsMacDevanagariToUnicode.h"
194 #include "nsMacFarsiToUnicode.h"
195 #include "nsMacGujaratiToUnicode.h"
196 #include "nsMacGurmukhiToUnicode.h"
197 #include "nsMacHebrewToUnicode.h"
198 #include "nsUnicodeToMacArabic.h"
199 #include "nsUnicodeToMacDevanagari.h"
200 #include "nsUnicodeToMacFarsi.h"
201 #include "nsUnicodeToMacGujarati.h"
202 #include "nsUnicodeToMacGurmukhi.h"
203 #include "nsUnicodeToMacHebrew.h"
204 #include "nsUnicodeToTSCII.h"
206 // ucvibm
207 #include "nsUCvIBMCID.h"
208 #include "nsUCvIBMDll.h"
209 #include "nsCP850ToUnicode.h"
210 #include "nsCP852ToUnicode.h"
211 #include "nsCP855ToUnicode.h"
212 #include "nsCP857ToUnicode.h"
213 #include "nsCP862ToUnicode.h"
214 #include "nsCP864ToUnicode.h"
215 #include "nsCP864iToUnicode.h"
216 #ifdef XP_OS2
217 #include "nsCP869ToUnicode.h"
218 #include "nsCP1125ToUnicode.h"
219 #include "nsCP1131ToUnicode.h"
220 #endif
221 #include "nsUnicodeToCP850.h"
222 #include "nsUnicodeToCP852.h"
223 #include "nsUnicodeToCP855.h"
224 #include "nsUnicodeToCP857.h"
225 #include "nsUnicodeToCP862.h"
226 #include "nsUnicodeToCP864.h"
227 #include "nsUnicodeToCP864i.h"
228 #ifdef XP_OS2
229 #include "nsUnicodeToCP869.h"
230 #include "nsUnicodeToCP1125.h"
231 #include "nsUnicodeToCP1131.h"
232 #endif
234 // ucvja
235 #include "nsUCVJACID.h"
236 #include "nsUCVJA2CID.h"
237 #include "nsUCVJADll.h"
238 #include "nsJapaneseToUnicode.h"
239 #include "nsUnicodeToSJIS.h"
240 #include "nsUnicodeToEUCJP.h"
241 #include "nsUnicodeToISO2022JP.h"
242 #include "nsUnicodeToJISx0201.h"
244 // ucvtw2
245 #include "nsUCvTW2CID.h"
246 #include "nsUCvTW2Dll.h"
247 #include "nsEUCTWToUnicode.h"
248 #include "nsUnicodeToEUCTW.h"
250 // ucvtw
251 #include "nsUCvTWCID.h"
252 #include "nsUCvTWDll.h"
253 #include "nsBIG5ToUnicode.h"
254 #include "nsUnicodeToBIG5.h"
255 #include "nsBIG5HKSCSToUnicode.h"
256 #include "nsUnicodeToBIG5HKSCS.h"
257 #include "nsUnicodeToHKSCS.h"
259 // ucvko
260 #include "nsUCvKOCID.h"
261 #include "nsUCvKODll.h"
262 #include "nsEUCKRToUnicode.h"
263 #include "nsUnicodeToEUCKR.h"
264 #include "nsJohabToUnicode.h"
265 #include "nsUnicodeToJohab.h"
266 #include "nsCP949ToUnicode.h"
267 #include "nsUnicodeToCP949.h"
268 #include "nsISO2022KRToUnicode.h"
269 #include "nsUnicodeToJamoTTF.h"
271 // ucvcn
272 #include "nsUCvCnCID.h"
273 #include "nsUCvCnDll.h"
274 #include "nsHZToUnicode.h"
275 #include "nsUnicodeToHZ.h"
276 #include "nsGBKToUnicode.h"
277 #include "nsUnicodeToGBK.h"
278 #include "nsCP936ToUnicode.h"
279 #include "nsUnicodeToCP936.h"
280 #include "nsGB2312ToUnicodeV2.h"
281 #include "nsUnicodeToGB2312V2.h"
282 #include "nsISO2022CNToUnicode.h"
283 #include "nsUnicodeToISO2022CN.h"
284 #include "gbku.h"
286 #define DECODER_NAME_BASE "Unicode Decoder-"
287 #define ENCODER_NAME_BASE "Unicode Encoder-"
289 NS_CONVERTER_REGISTRY_START
290 NS_UCONV_REG_UNREG("ISO-8859-1", NS_ISO88591TOUNICODE_CID, NS_UNICODETOISO88591_CID)
291 NS_UCONV_REG_UNREG("windows-1252", NS_CP1252TOUNICODE_CID, NS_UNICODETOCP1252_CID)
292 NS_UCONV_REG_UNREG("x-mac-roman", NS_MACROMANTOUNICODE_CID, NS_UNICODETOMACROMAN_CID)
293 NS_UCONV_REG_UNREG("UTF-8", NS_UTF8TOUNICODE_CID, NS_UNICODETOUTF8_CID)
295 // ucvlatin
296 NS_UCONV_REG_UNREG("us-ascii", NS_ASCIITOUNICODE_CID, NS_UNICODETOASCII_CID)
297 NS_UCONV_REG_UNREG("ISO-8859-2", NS_ISO88592TOUNICODE_CID, NS_UNICODETOISO88592_CID)
298 NS_UCONV_REG_UNREG("ISO-8859-3", NS_ISO88593TOUNICODE_CID, NS_UNICODETOISO88593_CID)
299 NS_UCONV_REG_UNREG("ISO-8859-4", NS_ISO88594TOUNICODE_CID, NS_UNICODETOISO88594_CID)
300 NS_UCONV_REG_UNREG("ISO-8859-5", NS_ISO88595TOUNICODE_CID, NS_UNICODETOISO88595_CID)
301 NS_UCONV_REG_UNREG("ISO-8859-6", NS_ISO88596TOUNICODE_CID, NS_UNICODETOISO88596_CID)
302 NS_UCONV_REG_UNREG("ISO-8859-6-I", NS_ISO88596ITOUNICODE_CID, NS_UNICODETOISO88596I_CID)
303 NS_UCONV_REG_UNREG("ISO-8859-6-E", NS_ISO88596ETOUNICODE_CID, NS_UNICODETOISO88596E_CID)
304 NS_UCONV_REG_UNREG("ISO-8859-7", NS_ISO88597TOUNICODE_CID, NS_UNICODETOISO88597_CID)
305 NS_UCONV_REG_UNREG("ISO-8859-8", NS_ISO88598TOUNICODE_CID, NS_UNICODETOISO88598_CID)
306 NS_UCONV_REG_UNREG("ISO-8859-8-I", NS_ISO88598ITOUNICODE_CID, NS_UNICODETOISO88598I_CID)
307 NS_UCONV_REG_UNREG("ISO-8859-8-E", NS_ISO88598ETOUNICODE_CID, NS_UNICODETOISO88598E_CID)
308 NS_UCONV_REG_UNREG("ISO-8859-9", NS_ISO88599TOUNICODE_CID, NS_UNICODETOISO88599_CID)
309 NS_UCONV_REG_UNREG("ISO-8859-10", NS_ISO885910TOUNICODE_CID, NS_UNICODETOISO885910_CID)
310 NS_UCONV_REG_UNREG("ISO-8859-13", NS_ISO885913TOUNICODE_CID, NS_UNICODETOISO885913_CID)
311 NS_UCONV_REG_UNREG("ISO-8859-14", NS_ISO885914TOUNICODE_CID, NS_UNICODETOISO885914_CID)
312 NS_UCONV_REG_UNREG("ISO-8859-15", NS_ISO885915TOUNICODE_CID, NS_UNICODETOISO885915_CID)
313 NS_UCONV_REG_UNREG("ISO-8859-16", NS_ISO885916TOUNICODE_CID, NS_UNICODETOISO885916_CID)
314 NS_UCONV_REG_UNREG("ISO-IR-111", NS_ISOIR111TOUNICODE_CID, NS_UNICODETOISOIR111_CID)
315 NS_UCONV_REG_UNREG("windows-1250", NS_CP1250TOUNICODE_CID, NS_UNICODETOCP1250_CID)
316 NS_UCONV_REG_UNREG("windows-1251", NS_CP1251TOUNICODE_CID, NS_UNICODETOCP1251_CID)
317 NS_UCONV_REG_UNREG("windows-1253", NS_CP1253TOUNICODE_CID, NS_UNICODETOCP1253_CID)
318 NS_UCONV_REG_UNREG("windows-1254", NS_CP1254TOUNICODE_CID, NS_UNICODETOCP1254_CID)
319 NS_UCONV_REG_UNREG("windows-1255", NS_CP1255TOUNICODE_CID, NS_UNICODETOCP1255_CID)
320 NS_UCONV_REG_UNREG("windows-1256", NS_CP1256TOUNICODE_CID, NS_UNICODETOCP1256_CID)
321 NS_UCONV_REG_UNREG("windows-1257", NS_CP1257TOUNICODE_CID, NS_UNICODETOCP1257_CID)
322 NS_UCONV_REG_UNREG("windows-1258", NS_CP1258TOUNICODE_CID, NS_UNICODETOCP1258_CID)
323 NS_UCONV_REG_UNREG("TIS-620", NS_TIS620TOUNICODE_CID, NS_UNICODETOTIS620_CID)
324 NS_UCONV_REG_UNREG("windows-874", NS_CP874TOUNICODE_CID, NS_UNICODETOCP874_CID)
325 NS_UCONV_REG_UNREG("ISO-8859-11", NS_ISO885911TOUNICODE_CID, NS_UNICODETOISO885911_CID)
326 NS_UCONV_REG_UNREG("IBM866", NS_CP866TOUNICODE_CID, NS_UNICODETOCP866_CID)
327 NS_UCONV_REG_UNREG("KOI8-R", NS_KOI8RTOUNICODE_CID, NS_UNICODETOKOI8R_CID)
328 NS_UCONV_REG_UNREG("KOI8-U", NS_KOI8UTOUNICODE_CID, NS_UNICODETOKOI8U_CID)
329 NS_UCONV_REG_UNREG("x-mac-ce", NS_MACCETOUNICODE_CID, NS_UNICODETOMACCE_CID)
330 NS_UCONV_REG_UNREG("x-mac-greek", NS_MACGREEKTOUNICODE_CID, NS_UNICODETOMACGREEK_CID)
331 NS_UCONV_REG_UNREG("x-mac-turkish", NS_MACTURKISHTOUNICODE_CID, NS_UNICODETOMACTURKISH_CID)
332 NS_UCONV_REG_UNREG("x-mac-croatian", NS_MACCROATIANTOUNICODE_CID, NS_UNICODETOMACCROATIAN_CID)
333 NS_UCONV_REG_UNREG("x-mac-romanian", NS_MACROMANIANTOUNICODE_CID, NS_UNICODETOMACROMANIAN_CID)
334 NS_UCONV_REG_UNREG("x-mac-cyrillic", NS_MACCYRILLICTOUNICODE_CID, NS_UNICODETOMACCYRILLIC_CID)
335 NS_UCONV_REG_UNREG("x-mac-ukrainian", NS_MACUKRAINIANTOUNICODE_CID, NS_UNICODETOMACUKRAINIAN_CID)
336 NS_UCONV_REG_UNREG("x-mac-icelandic", NS_MACICELANDICTOUNICODE_CID, NS_UNICODETOMACICELANDIC_CID)
337 NS_UCONV_REG_UNREG("GEOSTD8", NS_GEOSTD8TOUNICODE_CID, NS_UNICODETOGEOSTD8_CID)
338 NS_UCONV_REG_UNREG("armscii-8", NS_ARMSCII8TOUNICODE_CID, NS_UNICODETOARMSCII8_CID)
339 NS_UCONV_REG_UNREG("x-viet-tcvn5712", NS_TCVN5712TOUNICODE_CID, NS_UNICODETOTCVN5712_CID)
340 NS_UCONV_REG_UNREG("VISCII", NS_VISCIITOUNICODE_CID, NS_UNICODETOVISCII_CID)
341 NS_UCONV_REG_UNREG("x-viet-vps", NS_VPSTOUNICODE_CID, NS_UNICODETOVPS_CID)
342 NS_UCONV_REG_UNREG("UTF-7", NS_UTF7TOUNICODE_CID, NS_UNICODETOUTF7_CID)
343 NS_UCONV_REG_UNREG("x-imap4-modified-utf7", NS_MUTF7TOUNICODE_CID, NS_UNICODETOMUTF7_CID)
344 NS_UCONV_REG_UNREG("UTF-16", NS_UTF16TOUNICODE_CID, NS_UNICODETOUTF16_CID)
345 NS_UCONV_REG_UNREG("UTF-16BE", NS_UTF16BETOUNICODE_CID, NS_UNICODETOUTF16BE_CID)
346 NS_UCONV_REG_UNREG("UTF-16LE", NS_UTF16LETOUNICODE_CID, NS_UNICODETOUTF16LE_CID)
347 NS_UCONV_REG_UNREG("UTF-32BE", NS_UTF32BETOUNICODE_CID, NS_UNICODETOUTF32BE_CID)
348 NS_UCONV_REG_UNREG("UTF-32LE", NS_UTF32LETOUNICODE_CID, NS_UNICODETOUTF32LE_CID)
349 NS_UCONV_REG_UNREG("T.61-8bit", NS_T61TOUNICODE_CID, NS_UNICODETOT61_CID)
350 NS_UCONV_REG_UNREG("x-user-defined", NS_USERDEFINEDTOUNICODE_CID, NS_UNICODETOUSERDEFINED_CID)
351 NS_UCONV_REG_UNREG("x-mac-arabic" , NS_MACARABICTOUNICODE_CID, NS_UNICODETOMACARABIC_CID)
352 NS_UCONV_REG_UNREG("x-mac-devanagari" , NS_MACDEVANAGARITOUNICODE_CID, NS_UNICODETOMACDEVANAGARI_CID)
353 NS_UCONV_REG_UNREG("x-mac-farsi" , NS_MACFARSITOUNICODE_CID, NS_UNICODETOMACFARSI_CID)
354 NS_UCONV_REG_UNREG("x-mac-gurmukhi" , NS_MACGURMUKHITOUNICODE_CID, NS_UNICODETOMACGURMUKHI_CID)
355 NS_UCONV_REG_UNREG("x-mac-gujarati" , NS_MACGUJARATITOUNICODE_CID, NS_UNICODETOMACGUJARATI_CID)
356 NS_UCONV_REG_UNREG("x-mac-hebrew" , NS_MACHEBREWTOUNICODE_CID, NS_UNICODETOMACHEBREW_CID)
358 NS_UCONV_REG_UNREG_ENCODER("Adobe-Symbol-Encoding" , NS_UNICODETOSYMBOL_CID)
359 NS_UCONV_REG_UNREG_ENCODER("x-zapf-dingbats" , NS_UNICODETOZAPFDINGBATS_CID)
360 NS_UCONV_REG_UNREG_ENCODER("x-tscii", NS_UNICODETOTSCII_CID)
361 NS_UCONV_REG_UNREG_ENCODER("x-tamilttf-0", NS_UNICODETOTAMILTTF_CID)
363 // ucvibm
364 NS_UCONV_REG_UNREG("IBM850", NS_CP850TOUNICODE_CID, NS_UNICODETOCP850_CID)
365 NS_UCONV_REG_UNREG("IBM852", NS_CP852TOUNICODE_CID, NS_UNICODETOCP852_CID)
366 NS_UCONV_REG_UNREG("IBM855", NS_CP855TOUNICODE_CID, NS_UNICODETOCP855_CID)
367 NS_UCONV_REG_UNREG("IBM857", NS_CP857TOUNICODE_CID, NS_UNICODETOCP857_CID)
368 NS_UCONV_REG_UNREG("IBM862", NS_CP862TOUNICODE_CID, NS_UNICODETOCP862_CID)
369 NS_UCONV_REG_UNREG("IBM864", NS_CP864TOUNICODE_CID, NS_UNICODETOCP864_CID)
370 NS_UCONV_REG_UNREG("IBM864i", NS_CP864ITOUNICODE_CID, NS_UNICODETOCP864I_CID)
371 #ifdef XP_OS2
372 NS_UCONV_REG_UNREG("IBM869", NS_CP869TOUNICODE_CID, NS_UNICODETOCP869_CID)
373 NS_UCONV_REG_UNREG("IBM1125", NS_CP1125TOUNICODE_CID, NS_UNICODETOCP1125_CID)
374 NS_UCONV_REG_UNREG("IBM1131", NS_CP1131TOUNICODE_CID, NS_UNICODETOCP1131_CID)
375 #endif
377 // ucvja
378 NS_UCONV_REG_UNREG("Shift_JIS", NS_SJISTOUNICODE_CID, NS_UNICODETOSJIS_CID)
379 NS_UCONV_REG_UNREG("ISO-2022-JP", NS_ISO2022JPTOUNICODE_CID, NS_UNICODETOISO2022JP_CID)
380 NS_UCONV_REG_UNREG("EUC-JP", NS_EUCJPTOUNICODE_CID, NS_UNICODETOEUCJP_CID)
382 NS_UCONV_REG_UNREG_ENCODER("jis_0201" , NS_UNICODETOJISX0201_CID)
384 // ucvtw2
385 NS_UCONV_REG_UNREG("x-euc-tw", NS_EUCTWTOUNICODE_CID, NS_UNICODETOEUCTW_CID)
387 // ucvtw
388 NS_UCONV_REG_UNREG("Big5", NS_BIG5TOUNICODE_CID, NS_UNICODETOBIG5_CID)
389 NS_UCONV_REG_UNREG("Big5-HKSCS", NS_BIG5HKSCSTOUNICODE_CID, NS_UNICODETOBIG5HKSCS_CID)
391 NS_UCONV_REG_UNREG_ENCODER("hkscs-1" , NS_UNICODETOHKSCS_CID)
393 // ucvko
394 NS_UCONV_REG_UNREG("EUC-KR", NS_EUCKRTOUNICODE_CID, NS_UNICODETOEUCKR_CID)
395 NS_UCONV_REG_UNREG("x-johab", NS_JOHABTOUNICODE_CID, NS_UNICODETOJOHAB_CID)
396 NS_UCONV_REG_UNREG("x-windows-949", NS_CP949TOUNICODE_CID, NS_UNICODETOCP949_CID)
397 NS_UCONV_REG_UNREG_DECODER("ISO-2022-KR", NS_ISO2022KRTOUNICODE_CID)
398 NS_UCONV_REG_UNREG_ENCODER("x-koreanjamo-0", NS_UNICODETOJAMOTTF_CID)
400 // ucvcn
401 NS_UCONV_REG_UNREG("GB2312", NS_GB2312TOUNICODE_CID, NS_UNICODETOGB2312_CID)
402 NS_UCONV_REG_UNREG("windows-936", NS_CP936TOUNICODE_CID, NS_UNICODETOCP936_CID)
403 NS_UCONV_REG_UNREG("x-gbk", NS_GBKTOUNICODE_CID, NS_UNICODETOGBK_CID)
404 NS_UCONV_REG_UNREG("HZ-GB-2312", NS_HZTOUNICODE_CID, NS_UNICODETOHZ_CID)
405 NS_UCONV_REG_UNREG("gb18030", NS_GB18030TOUNICODE_CID, NS_UNICODETOGB18030_CID)
406 NS_UCONV_REG_UNREG_DECODER("ISO-2022-CN", NS_ISO2022CNTOUNICODE_CID)
408 NS_CONVERTER_REGISTRY_END
410 NS_IMPL_NSUCONVERTERREGSELF
412 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF8)
413 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ToUnicode)
415 // ucvlatin
416 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF7ToUnicode)
417 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMUTF7ToUnicode)
418 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16ToUnicode)
419 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16BEToUnicode)
420 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16LEToUnicode)
421 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF32BEToUnicode)
422 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF32LEToUnicode)
423 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF7)
424 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToMUTF7)
425 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16BE)
426 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16LE)
427 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16)
428 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF32BE)
429 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF32LE)
430 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToTSCII)
431 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToTamilTTF)
433 // ucvibm
435 // ucvja
436 NS_GENERIC_FACTORY_CONSTRUCTOR(nsShiftJISToUnicode)
437 NS_GENERIC_FACTORY_CONSTRUCTOR(nsEUCJPToUnicodeV2)
438 NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022JPToUnicodeV2)
439 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToISO2022JP)
441 // ucvtw2
443 // ucvtw
445 // ucvko
446 NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022KRToUnicode)
447 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToJamoTTF)
449 // ucvcn
450 NS_GENERIC_FACTORY_CONSTRUCTOR(nsGB2312ToUnicodeV2)
451 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB2312V2)
452 NS_GENERIC_FACTORY_CONSTRUCTOR(nsCP936ToUnicode)
453 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToCP936)
454 NS_GENERIC_FACTORY_CONSTRUCTOR(nsGBKToUnicode)
455 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGBK)
456 NS_GENERIC_FACTORY_CONSTRUCTOR(nsHZToUnicode)
457 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToHZ)
458 NS_GENERIC_FACTORY_CONSTRUCTOR(nsGB18030ToUnicode)
459 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB18030)
460 NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022CNToUnicode)
463 //----------------------------------------------------------------------------
464 // Global functions and data [declaration]
466 #define DECODER_NAME_BASE "Unicode Decoder-"
467 #define ENCODER_NAME_BASE "Unicode Encoder-"
469 // ucvja
470 const PRUint16 g_uf0201Mapping[] = {
471 #include "jis0201.uf"
474 const PRUint16 g_uf0201GLMapping[] = {
475 #include "jis0201gl.uf"
478 const PRUint16 g_uf0208Mapping[] = {
479 #include "jis0208.uf"
482 const PRUint16 g_uf0208extMapping[] = {
483 #include "jis0208ext.uf"
486 const PRUint16 g_uf0212Mapping[] = {
487 #include "jis0212.uf"
490 // ucvtw2
491 const PRUint16 g_ufCNS1MappingTable[] = {
492 #include "cns_1.uf"
495 const PRUint16 g_ufCNS2MappingTable[] = {
496 #include "cns_2.uf"
499 const PRUint16 g_ufCNS3MappingTable[] = {
500 #include "cns3.uf"
503 const PRUint16 g_ufCNS4MappingTable[] = {
504 #include "cns4.uf"
507 const PRUint16 g_ufCNS5MappingTable[] = {
508 #include "cns5.uf"
511 const PRUint16 g_ufCNS6MappingTable[] = {
512 #include "cns6.uf"
515 const PRUint16 g_ufCNS7MappingTable[] = {
516 #include "cns7.uf"
519 const PRUint16 g_utCNS1MappingTable[] = {
520 #include "cns_1.ut"
523 const PRUint16 g_utCNS2MappingTable[] = {
524 #include "cns_2.ut"
527 const PRUint16 g_utCNS3MappingTable[] = {
528 #include "cns3.ut"
531 const PRUint16 g_utCNS4MappingTable[] = {
532 #include "cns4.ut"
535 const PRUint16 g_utCNS5MappingTable[] = {
536 #include "cns5.ut"
539 const PRUint16 g_utCNS6MappingTable[] = {
540 #include "cns6.ut"
543 const PRUint16 g_utCNS7MappingTable[] = {
544 #include "cns7.ut"
547 const PRUint16 g_ASCIIMappingTable[] = {
548 0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
551 // ucvtw
552 const PRUint16 g_ufBig5Mapping[] = {
553 #include "big5.uf"
556 const PRUint16 g_utBIG5Mapping[] = {
557 #include "big5.ut"
560 const PRUint16 g_ufBig5HKSCSMapping[] = {
561 #include "hkscs.uf"
564 const PRUint16 g_ASCIIMapping[] = {
565 0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
568 const PRUint16 g_utBig5HKSCSMapping[] = {
569 #include "hkscs.ut"
572 // ucvko
573 const PRUint16 g_utKSC5601Mapping[] = {
574 #include "u20kscgl.ut"
577 const PRUint16 g_ufKSC5601Mapping[] = {
578 #include "u20kscgl.uf"
581 const PRUint16 g_ucvko_AsciiMapping[] = {
582 0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
585 const PRUint16 g_HangulNullMapping[] ={
586 0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0xAC00, 0xD7A3, 0xAC00
589 const PRUint16 g_ufJohabJamoMapping[] ={
590 #include "johabjamo.uf"
593 #else // MOZ_USE_NATIVE_UCONV
595 #include "nsINativeUConvService.h"
596 #include "nsNativeUConvService.h"
598 NS_GENERIC_FACTORY_CONSTRUCTOR(NativeUConvService)
600 #endif // #ifndef MOZ_USE_NATIVE_UCONV
603 NS_IMETHODIMP
604 nsConverterManagerDataRegister(nsIComponentManager* aCompMgr,
605 nsIFile* aPath,
606 const char *aLocation,
607 const char *aType,
608 const nsModuleComponentInfo* aInfo)
610 return nsCharsetConverterManager::RegisterConverterManagerData();
613 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsCharsetConverterManager, Init)
614 NS_GENERIC_FACTORY_CONSTRUCTOR(nsTextToSubURI)
615 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ConverterService)
616 NS_GENERIC_FACTORY_CONSTRUCTOR(nsCharsetAlias2)
617 NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterInputStream)
618 NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterOutputStream)
619 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPlatformCharset, Init)
620 NS_GENERIC_FACTORY_CONSTRUCTOR(nsScriptableUnicodeConverter)
622 static const nsModuleComponentInfo components[] =
625 "Charset Conversion Manager", NS_ICHARSETCONVERTERMANAGER_CID,
626 NS_CHARSETCONVERTERMANAGER_CONTRACTID,
627 nsCharsetConverterManagerConstructor,
628 nsConverterManagerDataRegister,
631 "Charset Alias Information", NS_CHARSETALIAS_CID,
632 NS_CHARSETALIAS_CONTRACTID,
633 nsCharsetAlias2Constructor
636 "Text To Sub URI Helper", NS_TEXTTOSUBURI_CID,
637 NS_ITEXTTOSUBURI_CONTRACTID,
638 nsTextToSubURIConstructor
641 "Platform Charset Information", NS_PLATFORMCHARSET_CID,
642 NS_PLATFORMCHARSET_CONTRACTID,
643 nsPlatformCharsetConstructor
645 { "Unicode converter input stream", NS_CONVERTERINPUTSTREAM_CID,
646 NS_CONVERTERINPUTSTREAM_CONTRACTID,
647 nsConverterInputStreamConstructor
649 { "Unicode converter output stream", NS_CONVERTEROUTPUTSTREAM_CID,
650 "@mozilla.org/intl/converter-output-stream;1",
651 nsConverterOutputStreamConstructor
654 "Unicode Encoder / Decoder for Script", NS_ISCRIPTABLEUNICODECONVERTER_CID,
655 NS_ISCRIPTABLEUNICODECONVERTER_CONTRACTID,
656 nsScriptableUnicodeConverterConstructor
658 #ifdef MOZ_USE_NATIVE_UCONV
660 "Native UConv Service",
661 NS_NATIVE_UCONV_SERVICE_CID,
662 NS_NATIVE_UCONV_SERVICE_CONTRACT_ID,
663 NativeUConvServiceConstructor,
665 #else
667 "Converter to/from UTF8 with charset", NS_UTF8CONVERTERSERVICE_CID,
668 NS_UTF8CONVERTERSERVICE_CONTRACTID,
669 nsUTF8ConverterServiceConstructor
672 "ISO-8859-1 To Unicode Converter", NS_ISO88591TOUNICODE_CID,
673 NS_ISO88591TOUNICODE_CONTRACTID,
674 nsISO88591ToUnicodeConstructor,
675 // global converter registration
676 nsUConverterRegSelf, nsUConverterUnregSelf,
679 "windows-1252 To Unicode Converter", NS_CP1252TOUNICODE_CID,
680 NS_CP1252TOUNICODE_CONTRACTID,
681 nsCP1252ToUnicodeConstructor,
684 "x-mac-roman To Unicode Converter", NS_MACROMANTOUNICODE_CID,
685 NS_MACROMANTOUNICODE_CONTRACTID,
686 nsMacRomanToUnicodeConstructor,
689 "UTF-8 To Unicode Converter", NS_UTF8TOUNICODE_CID,
690 NS_UTF8TOUNICODE_CONTRACTID,
691 nsUTF8ToUnicodeConstructor,
694 "Unicode To ISO-8859-1 Converter", NS_UNICODETOISO88591_CID,
695 NS_UNICODETOISO88591_CONTRACTID,
696 nsUnicodeToISO88591Constructor,
699 "Unicode To windows-1252 Converter", NS_UNICODETOCP1252_CID,
700 NS_UNICODETOCP1252_CONTRACTID,
701 nsUnicodeToCP1252Constructor,
704 "Unicode To x-mac-roman Converter", NS_UNICODETOMACROMAN_CID,
705 NS_UNICODETOMACROMAN_CONTRACTID,
706 nsUnicodeToMacRomanConstructor,
709 "Unicode To UTF-8 Converter", NS_UNICODETOUTF8_CID,
710 NS_UNICODETOUTF8_CONTRACTID,
711 nsUnicodeToUTF8Constructor,
714 // ucvlatin
716 DECODER_NAME_BASE "us-ascii" , NS_ASCIITOUNICODE_CID,
717 NS_UNICODEDECODER_CONTRACTID_BASE "us-ascii",
718 nsAsciiToUnicodeConstructor ,
721 DECODER_NAME_BASE "ISO-8859-2" , NS_ISO88592TOUNICODE_CID,
722 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-2",
723 nsISO88592ToUnicodeConstructor ,
726 DECODER_NAME_BASE "ISO-8859-3" , NS_ISO88593TOUNICODE_CID,
727 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-3",
728 nsISO88593ToUnicodeConstructor ,
731 DECODER_NAME_BASE "ISO-8859-4" , NS_ISO88594TOUNICODE_CID,
732 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-4",
733 nsISO88594ToUnicodeConstructor ,
736 DECODER_NAME_BASE "ISO-8859-5" , NS_ISO88595TOUNICODE_CID,
737 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-5",
738 nsISO88595ToUnicodeConstructor ,
741 DECODER_NAME_BASE "ISO-8859-6" , NS_ISO88596TOUNICODE_CID,
742 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6",
743 nsISO88596ToUnicodeConstructor ,
746 DECODER_NAME_BASE "ISO-8859-6-I" , NS_ISO88596ITOUNICODE_CID,
747 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-I",
748 nsISO88596IToUnicodeConstructor ,
751 DECODER_NAME_BASE "ISO-8859-6-E" , NS_ISO88596ETOUNICODE_CID,
752 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-E",
753 nsISO88596EToUnicodeConstructor ,
756 DECODER_NAME_BASE "ISO-8859-7" , NS_ISO88597TOUNICODE_CID,
757 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-7",
758 nsISO88597ToUnicodeConstructor ,
761 DECODER_NAME_BASE "ISO-8859-8" , NS_ISO88598TOUNICODE_CID,
762 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8",
763 nsISO88598ToUnicodeConstructor ,
766 DECODER_NAME_BASE "ISO-8859-8-I" , NS_ISO88598ITOUNICODE_CID,
767 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-I",
768 nsISO88598IToUnicodeConstructor ,
771 DECODER_NAME_BASE "ISO-8859-8-E" , NS_ISO88598ETOUNICODE_CID,
772 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-E",
773 nsISO88598EToUnicodeConstructor ,
776 DECODER_NAME_BASE "ISO-8859-9" , NS_ISO88599TOUNICODE_CID,
777 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-9",
778 nsISO88599ToUnicodeConstructor ,
781 DECODER_NAME_BASE "ISO-8859-10" , NS_ISO885910TOUNICODE_CID,
782 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-10",
783 nsISO885910ToUnicodeConstructor ,
786 DECODER_NAME_BASE "ISO-8859-13" , NS_ISO885913TOUNICODE_CID,
787 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-13",
788 nsISO885913ToUnicodeConstructor ,
791 DECODER_NAME_BASE "ISO-8859-14" , NS_ISO885914TOUNICODE_CID,
792 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-14",
793 nsISO885914ToUnicodeConstructor ,
796 DECODER_NAME_BASE "ISO-8859-15" , NS_ISO885915TOUNICODE_CID,
797 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-15",
798 nsISO885915ToUnicodeConstructor ,
801 DECODER_NAME_BASE "ISO-8859-16" , NS_ISO885916TOUNICODE_CID,
802 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-16",
803 nsISO885916ToUnicodeConstructor ,
806 DECODER_NAME_BASE "ISO-IR-111" , NS_ISOIR111TOUNICODE_CID,
807 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-IR-111",
808 nsISOIR111ToUnicodeConstructor ,
811 DECODER_NAME_BASE "windows-1250" , NS_CP1250TOUNICODE_CID,
812 NS_UNICODEDECODER_CONTRACTID_BASE "windows-1250",
813 nsCP1250ToUnicodeConstructor ,
816 DECODER_NAME_BASE "windows-1251" , NS_CP1251TOUNICODE_CID,
817 NS_UNICODEDECODER_CONTRACTID_BASE "windows-1251",
818 nsCP1251ToUnicodeConstructor ,
821 DECODER_NAME_BASE "windows-1253" , NS_CP1253TOUNICODE_CID,
822 NS_UNICODEDECODER_CONTRACTID_BASE "windows-1253",
823 nsCP1253ToUnicodeConstructor ,
826 DECODER_NAME_BASE "windows-1254" , NS_CP1254TOUNICODE_CID,
827 NS_UNICODEDECODER_CONTRACTID_BASE "windows-1254",
828 nsCP1254ToUnicodeConstructor ,
831 DECODER_NAME_BASE "windows-1255" , NS_CP1255TOUNICODE_CID,
832 NS_UNICODEDECODER_CONTRACTID_BASE "windows-1255",
833 nsCP1255ToUnicodeConstructor ,
836 DECODER_NAME_BASE "windows-1256" , NS_CP1256TOUNICODE_CID,
837 NS_UNICODEDECODER_CONTRACTID_BASE "windows-1256",
838 nsCP1256ToUnicodeConstructor ,
841 DECODER_NAME_BASE "windows-1257" , NS_CP1257TOUNICODE_CID,
842 NS_UNICODEDECODER_CONTRACTID_BASE "windows-1257",
843 nsCP1257ToUnicodeConstructor ,
846 DECODER_NAME_BASE "windows-1258" , NS_CP1258TOUNICODE_CID,
847 NS_UNICODEDECODER_CONTRACTID_BASE "windows-1258",
848 nsCP1258ToUnicodeConstructor ,
851 DECODER_NAME_BASE "TIS-620" , NS_TIS620TOUNICODE_CID,
852 NS_UNICODEDECODER_CONTRACTID_BASE "TIS-620",
853 nsTIS620ToUnicodeConstructor ,
856 DECODER_NAME_BASE "ISO-8859-11" , NS_ISO885911TOUNICODE_CID,
857 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-11",
858 nsISO885911ToUnicodeConstructor ,
861 DECODER_NAME_BASE "windows-874" , NS_CP874TOUNICODE_CID,
862 NS_UNICODEDECODER_CONTRACTID_BASE "windows-874",
863 nsCP874ToUnicodeConstructor ,
866 DECODER_NAME_BASE "IBM866" , NS_CP866TOUNICODE_CID,
867 NS_UNICODEDECODER_CONTRACTID_BASE "IBM866",
868 nsCP866ToUnicodeConstructor ,
871 DECODER_NAME_BASE "KOI8-R" , NS_KOI8RTOUNICODE_CID,
872 NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-R",
873 nsKOI8RToUnicodeConstructor ,
876 DECODER_NAME_BASE "KOI8-U" , NS_KOI8UTOUNICODE_CID,
877 NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-U",
878 nsKOI8UToUnicodeConstructor ,
881 DECODER_NAME_BASE "x-mac-ce" , NS_MACCETOUNICODE_CID,
882 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-ce",
883 nsMacCEToUnicodeConstructor ,
886 DECODER_NAME_BASE "x-mac-greek" , NS_MACGREEKTOUNICODE_CID,
887 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-greek",
888 nsMacGreekToUnicodeConstructor ,
891 DECODER_NAME_BASE "x-mac-turkish" , NS_MACTURKISHTOUNICODE_CID,
892 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-turkish",
893 nsMacTurkishToUnicodeConstructor ,
896 DECODER_NAME_BASE "x-mac-croatian" , NS_MACCROATIANTOUNICODE_CID,
897 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-croatian",
898 nsMacCroatianToUnicodeConstructor ,
901 DECODER_NAME_BASE "x-mac-romanian" , NS_MACROMANIANTOUNICODE_CID,
902 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-romanian",
903 nsMacRomanianToUnicodeConstructor ,
906 DECODER_NAME_BASE "x-mac-cyrillic" , NS_MACCYRILLICTOUNICODE_CID,
907 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-cyrillic",
908 nsMacCyrillicToUnicodeConstructor ,
911 DECODER_NAME_BASE "x-mac-ukrainian" , NS_MACUKRAINIANTOUNICODE_CID,
912 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-ukrainian",
913 nsMacUkrainianToUnicodeConstructor ,
916 DECODER_NAME_BASE "x-mac-icelandic" , NS_MACICELANDICTOUNICODE_CID,
917 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-icelandic",
918 nsMacIcelandicToUnicodeConstructor ,
921 DECODER_NAME_BASE "GEOSTD8" , NS_GEOSTD8TOUNICODE_CID,
922 NS_UNICODEDECODER_CONTRACTID_BASE "GEOSTD8",
923 nsGEOSTD8ToUnicodeConstructor ,
926 DECODER_NAME_BASE "armscii-8" , NS_ARMSCII8TOUNICODE_CID,
927 NS_UNICODEDECODER_CONTRACTID_BASE "armscii-8",
928 nsARMSCII8ToUnicodeConstructor ,
931 DECODER_NAME_BASE "x-viet-tcvn5712" , NS_TCVN5712TOUNICODE_CID,
932 NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-tcvn5712",
933 nsTCVN5712ToUnicodeConstructor ,
936 DECODER_NAME_BASE "VISCII" , NS_VISCIITOUNICODE_CID,
937 NS_UNICODEDECODER_CONTRACTID_BASE "VISCII",
938 nsVISCIIToUnicodeConstructor ,
941 DECODER_NAME_BASE "x-viet-vps" , NS_VPSTOUNICODE_CID,
942 NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-vps",
943 nsVPSToUnicodeConstructor ,
946 DECODER_NAME_BASE "UTF-7" , NS_UTF7TOUNICODE_CID,
947 NS_UNICODEDECODER_CONTRACTID_BASE "UTF-7",
948 nsUTF7ToUnicodeConstructor ,
951 DECODER_NAME_BASE "x-imap4-modified-utf7" , NS_MUTF7TOUNICODE_CID,
952 NS_UNICODEDECODER_CONTRACTID_BASE "x-imap4-modified-utf7",
953 nsMUTF7ToUnicodeConstructor ,
956 DECODER_NAME_BASE "UTF-16" , NS_UTF16TOUNICODE_CID,
957 NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16",
958 nsUTF16ToUnicodeConstructor ,
961 DECODER_NAME_BASE "UTF-16BE" , NS_UTF16BETOUNICODE_CID,
962 NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16BE",
963 nsUTF16BEToUnicodeConstructor ,
966 DECODER_NAME_BASE "UTF-16LE" , NS_UTF16LETOUNICODE_CID,
967 NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16LE",
968 nsUTF16LEToUnicodeConstructor ,
971 DECODER_NAME_BASE "UTF-32BE" , NS_UTF32BETOUNICODE_CID,
972 NS_UNICODEDECODER_CONTRACTID_BASE "UTF-32BE",
973 nsUTF32BEToUnicodeConstructor ,
976 DECODER_NAME_BASE "UTF-32LE" , NS_UTF32LETOUNICODE_CID,
977 NS_UNICODEDECODER_CONTRACTID_BASE "UTF-32LE",
978 nsUTF32LEToUnicodeConstructor ,
981 DECODER_NAME_BASE "T.61-8bit" , NS_T61TOUNICODE_CID,
982 NS_UNICODEDECODER_CONTRACTID_BASE "T.61-8bit",
983 nsT61ToUnicodeConstructor ,
986 DECODER_NAME_BASE "x-user-defined" , NS_USERDEFINEDTOUNICODE_CID,
987 NS_UNICODEDECODER_CONTRACTID_BASE "x-user-defined",
988 nsUserDefinedToUnicodeConstructor ,
991 DECODER_NAME_BASE "x-mac-arabic" , NS_MACARABICTOUNICODE_CID,
992 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-arabic",
993 nsMacArabicToUnicodeConstructor ,
996 DECODER_NAME_BASE "x-mac-devanagari" , NS_MACDEVANAGARITOUNICODE_CID,
997 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-devanagari",
998 nsMacDevanagariToUnicodeConstructor ,
1001 DECODER_NAME_BASE "x-mac-farsi" , NS_MACFARSITOUNICODE_CID,
1002 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-farsi",
1003 nsMacFarsiToUnicodeConstructor ,
1006 DECODER_NAME_BASE "x-mac-gurmukhi" , NS_MACGURMUKHITOUNICODE_CID,
1007 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gurmukhi",
1008 nsMacGurmukhiToUnicodeConstructor ,
1011 DECODER_NAME_BASE "x-mac-gujarati" , NS_MACGUJARATITOUNICODE_CID,
1012 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gujarati",
1013 nsMacGujaratiToUnicodeConstructor ,
1016 DECODER_NAME_BASE "x-mac-hebrew" , NS_MACHEBREWTOUNICODE_CID,
1017 NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-hebrew",
1018 nsMacHebrewToUnicodeConstructor ,
1021 ENCODER_NAME_BASE "us-ascii" , NS_UNICODETOASCII_CID,
1022 NS_UNICODEENCODER_CONTRACTID_BASE "us-ascii",
1023 nsUnicodeToAsciiConstructor,
1026 ENCODER_NAME_BASE "ISO-8859-2" , NS_UNICODETOISO88592_CID,
1027 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-2",
1028 nsUnicodeToISO88592Constructor,
1031 ENCODER_NAME_BASE "ISO-8859-3" , NS_UNICODETOISO88593_CID,
1032 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-3",
1033 nsUnicodeToISO88593Constructor,
1036 ENCODER_NAME_BASE "ISO-8859-4" , NS_UNICODETOISO88594_CID,
1037 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-4",
1038 nsUnicodeToISO88594Constructor,
1041 ENCODER_NAME_BASE "ISO-8859-5" , NS_UNICODETOISO88595_CID,
1042 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-5",
1043 nsUnicodeToISO88595Constructor,
1046 ENCODER_NAME_BASE "ISO-8859-6" , NS_UNICODETOISO88596_CID,
1047 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6",
1048 nsUnicodeToISO88596Constructor,
1051 ENCODER_NAME_BASE "ISO-8859-6-I" , NS_UNICODETOISO88596I_CID,
1052 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-I",
1053 nsUnicodeToISO88596IConstructor,
1056 ENCODER_NAME_BASE "ISO-8859-6-E" , NS_UNICODETOISO88596E_CID,
1057 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-E",
1058 nsUnicodeToISO88596EConstructor,
1061 ENCODER_NAME_BASE "ISO-8859-7" , NS_UNICODETOISO88597_CID,
1062 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-7",
1063 nsUnicodeToISO88597Constructor,
1066 ENCODER_NAME_BASE "ISO-8859-8" , NS_UNICODETOISO88598_CID,
1067 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8",
1068 nsUnicodeToISO88598Constructor,
1071 ENCODER_NAME_BASE "ISO-8859-8-I" , NS_UNICODETOISO88598I_CID,
1072 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-I",
1073 nsUnicodeToISO88598IConstructor,
1076 ENCODER_NAME_BASE "ISO-8859-8-E" , NS_UNICODETOISO88598E_CID,
1077 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-E",
1078 nsUnicodeToISO88598EConstructor,
1081 ENCODER_NAME_BASE "ISO-8859-9" , NS_UNICODETOISO88599_CID,
1082 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-9",
1083 nsUnicodeToISO88599Constructor,
1086 ENCODER_NAME_BASE "ISO-8859-10" , NS_UNICODETOISO885910_CID,
1087 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-10",
1088 nsUnicodeToISO885910Constructor,
1091 ENCODER_NAME_BASE "ISO-8859-13" , NS_UNICODETOISO885913_CID,
1092 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-13",
1093 nsUnicodeToISO885913Constructor,
1096 ENCODER_NAME_BASE "ISO-8859-14" , NS_UNICODETOISO885914_CID,
1097 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-14",
1098 nsUnicodeToISO885914Constructor,
1101 ENCODER_NAME_BASE "ISO-8859-15" , NS_UNICODETOISO885915_CID,
1102 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-15",
1103 nsUnicodeToISO885915Constructor,
1106 ENCODER_NAME_BASE "ISO-8859-16" , NS_UNICODETOISO885916_CID,
1107 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-16",
1108 nsUnicodeToISO885916Constructor,
1111 ENCODER_NAME_BASE "ISO-IR-111" , NS_UNICODETOISOIR111_CID,
1112 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-IR-111",
1113 nsUnicodeToISOIR111Constructor,
1116 ENCODER_NAME_BASE "windows-1250" , NS_UNICODETOCP1250_CID,
1117 NS_UNICODEENCODER_CONTRACTID_BASE "windows-1250",
1118 nsUnicodeToCP1250Constructor,
1121 ENCODER_NAME_BASE "windows-1251" , NS_UNICODETOCP1251_CID,
1122 NS_UNICODEENCODER_CONTRACTID_BASE "windows-1251",
1123 nsUnicodeToCP1251Constructor,
1126 ENCODER_NAME_BASE "windows-1253" , NS_UNICODETOCP1253_CID,
1127 NS_UNICODEENCODER_CONTRACTID_BASE "windows-1253",
1128 nsUnicodeToCP1253Constructor,
1131 ENCODER_NAME_BASE "windows-1254" , NS_UNICODETOCP1254_CID,
1132 NS_UNICODEENCODER_CONTRACTID_BASE "windows-1254",
1133 nsUnicodeToCP1254Constructor,
1136 ENCODER_NAME_BASE "windows-1255" , NS_UNICODETOCP1255_CID,
1137 NS_UNICODEENCODER_CONTRACTID_BASE "windows-1255",
1138 nsUnicodeToCP1255Constructor,
1141 ENCODER_NAME_BASE "windows-1256" , NS_UNICODETOCP1256_CID,
1142 NS_UNICODEENCODER_CONTRACTID_BASE "windows-1256",
1143 nsUnicodeToCP1256Constructor,
1146 ENCODER_NAME_BASE "windows-1257" , NS_UNICODETOCP1257_CID,
1147 NS_UNICODEENCODER_CONTRACTID_BASE "windows-1257",
1148 nsUnicodeToCP1257Constructor,
1151 ENCODER_NAME_BASE "windows-1258" , NS_UNICODETOCP1258_CID,
1152 NS_UNICODEENCODER_CONTRACTID_BASE "windows-1258",
1153 nsUnicodeToCP1258Constructor,
1156 ENCODER_NAME_BASE "TIS-620" , NS_UNICODETOTIS620_CID,
1157 NS_UNICODEENCODER_CONTRACTID_BASE "TIS-620",
1158 nsUnicodeToTIS620Constructor,
1161 ENCODER_NAME_BASE "ISO-8859-11" , NS_UNICODETOISO885911_CID,
1162 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-11",
1163 nsUnicodeToISO885911Constructor ,
1166 ENCODER_NAME_BASE "windows-874" , NS_UNICODETOCP874_CID,
1167 NS_UNICODEENCODER_CONTRACTID_BASE "windows-874",
1168 nsUnicodeToCP874Constructor ,
1171 ENCODER_NAME_BASE "IBM866" , NS_UNICODETOCP866_CID,
1172 NS_UNICODEENCODER_CONTRACTID_BASE "IBM866",
1173 nsUnicodeToCP866Constructor,
1176 ENCODER_NAME_BASE "KOI8-R" , NS_UNICODETOKOI8R_CID,
1177 NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-R",
1178 nsUnicodeToKOI8RConstructor,
1181 ENCODER_NAME_BASE "KOI8-U" , NS_UNICODETOKOI8U_CID,
1182 NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-U",
1183 nsUnicodeToKOI8UConstructor,
1186 ENCODER_NAME_BASE "x-mac-ce" , NS_UNICODETOMACCE_CID,
1187 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-ce",
1188 nsUnicodeToMacCEConstructor,
1191 ENCODER_NAME_BASE "x-mac-greek" , NS_UNICODETOMACGREEK_CID,
1192 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-greek",
1193 nsUnicodeToMacGreekConstructor,
1196 ENCODER_NAME_BASE "x-mac-turkish" , NS_UNICODETOMACTURKISH_CID,
1197 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-turkish",
1198 nsUnicodeToMacTurkishConstructor,
1201 ENCODER_NAME_BASE "x-mac-croatian" , NS_UNICODETOMACCROATIAN_CID,
1202 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-croatian",
1203 nsUnicodeToMacCroatianConstructor,
1206 ENCODER_NAME_BASE "x-mac-romanian" , NS_UNICODETOMACROMANIAN_CID,
1207 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-romanian",
1208 nsUnicodeToMacRomanianConstructor,
1211 ENCODER_NAME_BASE "x-mac-cyrillic" , NS_UNICODETOMACCYRILLIC_CID,
1212 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-cyrillic",
1213 nsUnicodeToMacCyrillicConstructor,
1216 ENCODER_NAME_BASE "x-mac-ukrainian" , NS_UNICODETOMACUKRAINIAN_CID,
1217 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-ukrainian",
1218 nsUnicodeToMacUkrainianConstructor,
1221 ENCODER_NAME_BASE "x-mac-icelandic" , NS_UNICODETOMACICELANDIC_CID,
1222 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-icelandic",
1223 nsUnicodeToMacIcelandicConstructor,
1226 ENCODER_NAME_BASE "GEOSTD8" , NS_UNICODETOGEOSTD8_CID,
1227 NS_UNICODEENCODER_CONTRACTID_BASE "GEOSTD8",
1228 nsUnicodeToGEOSTD8Constructor,
1231 ENCODER_NAME_BASE "armscii-8" , NS_UNICODETOARMSCII8_CID,
1232 NS_UNICODEENCODER_CONTRACTID_BASE "armscii-8",
1233 nsUnicodeToARMSCII8Constructor,
1236 ENCODER_NAME_BASE "x-viet-tcvn5712" , NS_UNICODETOTCVN5712_CID,
1237 NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-tcvn5712",
1238 nsUnicodeToTCVN5712Constructor,
1241 ENCODER_NAME_BASE "VISCII" , NS_UNICODETOVISCII_CID,
1242 NS_UNICODEENCODER_CONTRACTID_BASE "VISCII",
1243 nsUnicodeToVISCIIConstructor,
1246 ENCODER_NAME_BASE "x-viet-vps" , NS_UNICODETOVPS_CID,
1247 NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-vps",
1248 nsUnicodeToVPSConstructor,
1251 ENCODER_NAME_BASE "UTF-7" , NS_UNICODETOUTF7_CID,
1252 NS_UNICODEENCODER_CONTRACTID_BASE "UTF-7",
1253 nsUnicodeToUTF7Constructor,
1256 ENCODER_NAME_BASE "x-imap4-modified-utf7" , NS_UNICODETOMUTF7_CID,
1257 NS_UNICODEENCODER_CONTRACTID_BASE "x-imap4-modified-utf7",
1258 nsUnicodeToMUTF7Constructor,
1261 ENCODER_NAME_BASE "UTF-16BE" , NS_UNICODETOUTF16BE_CID,
1262 NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16BE",
1263 nsUnicodeToUTF16BEConstructor,
1266 ENCODER_NAME_BASE "UTF-16LE" , NS_UNICODETOUTF16LE_CID,
1267 NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16LE",
1268 nsUnicodeToUTF16LEConstructor,
1271 ENCODER_NAME_BASE "UTF-16" , NS_UNICODETOUTF16_CID,
1272 NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16",
1273 nsUnicodeToUTF16Constructor,
1276 ENCODER_NAME_BASE "UTF-32BE" , NS_UNICODETOUTF32BE_CID,
1277 NS_UNICODEENCODER_CONTRACTID_BASE "UTF-32BE",
1278 nsUnicodeToUTF32BEConstructor,
1281 ENCODER_NAME_BASE "UTF-32LE" , NS_UNICODETOUTF32LE_CID,
1282 NS_UNICODEENCODER_CONTRACTID_BASE "UTF-32LE",
1283 nsUnicodeToUTF32LEConstructor,
1286 ENCODER_NAME_BASE "T.61-8bit" , NS_UNICODETOT61_CID,
1287 NS_UNICODEENCODER_CONTRACTID_BASE "T.61-8bit",
1288 nsUnicodeToT61Constructor,
1291 ENCODER_NAME_BASE "x-user-defined" , NS_UNICODETOUSERDEFINED_CID,
1292 NS_UNICODEENCODER_CONTRACTID_BASE "x-user-defined",
1293 nsUnicodeToUserDefinedConstructor,
1296 ENCODER_NAME_BASE "Adobe-Symbol-Encoding" , NS_UNICODETOSYMBOL_CID,
1297 NS_UNICODEENCODER_CONTRACTID_BASE "Adobe-Symbol-Encoding",
1298 nsUnicodeToSymbolConstructor,
1301 ENCODER_NAME_BASE "x-zapf-dingbats" , NS_UNICODETOZAPFDINGBATS_CID,
1302 NS_UNICODEENCODER_CONTRACTID_BASE "x-zapf-dingbats",
1303 nsUnicodeToZapfDingbatConstructor,
1306 ENCODER_NAME_BASE "x-adobe-euro", NS_UNICODETOADOBEEURO_CID,
1307 NS_UNICODEENCODER_CONTRACTID_BASE "x-adobe-euro",
1308 nsUnicodeToAdobeEuroConstructor,
1311 ENCODER_NAME_BASE "x-mac-arabic" , NS_UNICODETOMACARABIC_CID,
1312 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-arabic",
1313 nsUnicodeToMacArabicConstructor,
1316 ENCODER_NAME_BASE "x-mac-devanagari" , NS_UNICODETOMACDEVANAGARI_CID,
1317 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-devanagari",
1318 nsUnicodeToMacDevanagariConstructor,
1321 ENCODER_NAME_BASE "x-mac-farsi" , NS_UNICODETOMACFARSI_CID,
1322 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-farsi",
1323 nsUnicodeToMacFarsiConstructor,
1326 ENCODER_NAME_BASE "x-mac-gurmukhi" , NS_UNICODETOMACGURMUKHI_CID,
1327 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gurmukhi",
1328 nsUnicodeToMacGurmukhiConstructor,
1331 ENCODER_NAME_BASE "x-mac-gujarati" , NS_UNICODETOMACGUJARATI_CID,
1332 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gujarati",
1333 nsUnicodeToMacGujaratiConstructor,
1336 ENCODER_NAME_BASE "x-mac-hebrew" , NS_UNICODETOMACHEBREW_CID,
1337 NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-hebrew",
1338 nsUnicodeToMacHebrewConstructor,
1341 ENCODER_NAME_BASE "x-tscii" , NS_UNICODETOTSCII_CID,
1342 NS_UNICODEENCODER_CONTRACTID_BASE "x-tscii",
1343 nsUnicodeToTSCIIConstructor,
1346 ENCODER_NAME_BASE "x-tamilttf-0" , NS_UNICODETOTAMILTTF_CID,
1347 NS_UNICODEENCODER_CONTRACTID_BASE "x-tamilttf-0",
1348 nsUnicodeToTamilTTFConstructor,
1350 // ucvibm
1352 DECODER_NAME_BASE "IBM850" , NS_CP850TOUNICODE_CID,
1353 NS_UNICODEDECODER_CONTRACTID_BASE "IBM850",
1354 nsCP850ToUnicodeConstructor ,
1357 DECODER_NAME_BASE "IBM852" , NS_CP852TOUNICODE_CID,
1358 NS_UNICODEDECODER_CONTRACTID_BASE "IBM852",
1359 nsCP852ToUnicodeConstructor ,
1362 DECODER_NAME_BASE "IBM855" , NS_CP855TOUNICODE_CID,
1363 NS_UNICODEDECODER_CONTRACTID_BASE "IBM855",
1364 nsCP855ToUnicodeConstructor ,
1367 DECODER_NAME_BASE "IBM857" , NS_CP857TOUNICODE_CID,
1368 NS_UNICODEDECODER_CONTRACTID_BASE "IBM857",
1369 nsCP857ToUnicodeConstructor ,
1372 DECODER_NAME_BASE "IBM862" , NS_CP862TOUNICODE_CID,
1373 NS_UNICODEDECODER_CONTRACTID_BASE "IBM862",
1374 nsCP862ToUnicodeConstructor ,
1377 DECODER_NAME_BASE "IBM864" , NS_CP864TOUNICODE_CID,
1378 NS_UNICODEDECODER_CONTRACTID_BASE "IBM864",
1379 nsCP864ToUnicodeConstructor ,
1382 DECODER_NAME_BASE "IBM864i" , NS_CP864ITOUNICODE_CID,
1383 NS_UNICODEDECODER_CONTRACTID_BASE "IBM864i",
1384 nsCP864iToUnicodeConstructor ,
1386 #ifdef XP_OS2
1388 DECODER_NAME_BASE "IBM869" , NS_CP869TOUNICODE_CID,
1389 NS_UNICODEDECODER_CONTRACTID_BASE "IBM869",
1390 nsCP869ToUnicodeConstructor ,
1393 DECODER_NAME_BASE "IBM1125" , NS_CP1125TOUNICODE_CID,
1394 NS_UNICODEDECODER_CONTRACTID_BASE "IBM1125",
1395 nsCP1125ToUnicodeConstructor ,
1398 DECODER_NAME_BASE "IBM1131" , NS_CP1131TOUNICODE_CID,
1399 NS_UNICODEDECODER_CONTRACTID_BASE "IBM1131",
1400 nsCP1131ToUnicodeConstructor ,
1402 #endif
1404 ENCODER_NAME_BASE "IBM850" , NS_UNICODETOCP850_CID,
1405 NS_UNICODEENCODER_CONTRACTID_BASE "IBM850",
1406 nsUnicodeToCP850Constructor,
1409 ENCODER_NAME_BASE "IBM852" , NS_UNICODETOCP852_CID,
1410 NS_UNICODEENCODER_CONTRACTID_BASE "IBM852",
1411 nsUnicodeToCP852Constructor,
1414 ENCODER_NAME_BASE "IBM855" , NS_UNICODETOCP855_CID,
1415 NS_UNICODEENCODER_CONTRACTID_BASE "IBM855",
1416 nsUnicodeToCP855Constructor,
1419 ENCODER_NAME_BASE "IBM857" , NS_UNICODETOCP857_CID,
1420 NS_UNICODEENCODER_CONTRACTID_BASE "IBM857",
1421 nsUnicodeToCP857Constructor,
1424 ENCODER_NAME_BASE "IBM862" , NS_UNICODETOCP862_CID,
1425 NS_UNICODEENCODER_CONTRACTID_BASE "IBM862",
1426 nsUnicodeToCP862Constructor,
1429 ENCODER_NAME_BASE "IBM864" , NS_UNICODETOCP864_CID,
1430 NS_UNICODEENCODER_CONTRACTID_BASE "IBM864",
1431 nsUnicodeToCP864Constructor,
1434 ENCODER_NAME_BASE "IBM864i" , NS_UNICODETOCP864I_CID,
1435 NS_UNICODEENCODER_CONTRACTID_BASE "IBM864i",
1436 nsUnicodeToCP864iConstructor,
1438 #ifdef XP_OS2
1440 ENCODER_NAME_BASE "IBM869" , NS_UNICODETOCP869_CID,
1441 NS_UNICODEENCODER_CONTRACTID_BASE "IBM869",
1442 nsUnicodeToCP869Constructor,
1445 ENCODER_NAME_BASE "IBM1125" , NS_UNICODETOCP1125_CID,
1446 NS_UNICODEENCODER_CONTRACTID_BASE "IBM1125",
1447 nsUnicodeToCP1125Constructor,
1450 ENCODER_NAME_BASE "IBM1131" , NS_UNICODETOCP1131_CID,
1451 NS_UNICODEENCODER_CONTRACTID_BASE "IBM1131",
1452 nsUnicodeToCP1131Constructor,
1454 #endif
1455 // ucvja
1457 DECODER_NAME_BASE "Shift_JIS" , NS_SJISTOUNICODE_CID,
1458 NS_UNICODEDECODER_CONTRACTID_BASE "Shift_JIS",
1459 nsShiftJISToUnicodeConstructor ,
1462 DECODER_NAME_BASE "EUC-JP" , NS_EUCJPTOUNICODE_CID,
1463 NS_UNICODEDECODER_CONTRACTID_BASE "EUC-JP",
1464 nsEUCJPToUnicodeV2Constructor ,
1467 DECODER_NAME_BASE "ISO-2022-JP" , NS_ISO2022JPTOUNICODE_CID,
1468 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-JP",
1469 nsISO2022JPToUnicodeV2Constructor ,
1472 ENCODER_NAME_BASE "Shift_JIS" , NS_UNICODETOSJIS_CID,
1473 NS_UNICODEENCODER_CONTRACTID_BASE "Shift_JIS",
1474 nsUnicodeToSJISConstructor,
1477 ENCODER_NAME_BASE "EUC-JP" , NS_UNICODETOEUCJP_CID,
1478 NS_UNICODEENCODER_CONTRACTID_BASE "EUC-JP",
1479 nsUnicodeToEUCJPConstructor,
1482 ENCODER_NAME_BASE "ISO-2022-JP" , NS_UNICODETOISO2022JP_CID,
1483 NS_UNICODEENCODER_CONTRACTID_BASE "ISO-2022-JP",
1484 nsUnicodeToISO2022JPConstructor,
1487 ENCODER_NAME_BASE "jis_0201" , NS_UNICODETOJISX0201_CID,
1488 NS_UNICODEENCODER_CONTRACTID_BASE "jis_0201",
1489 nsUnicodeToJISx0201Constructor,
1492 // ucvtw2
1494 DECODER_NAME_BASE "x-euc-tw" , NS_EUCTWTOUNICODE_CID,
1495 NS_UNICODEDECODER_CONTRACTID_BASE "x-euc-tw",
1496 nsEUCTWToUnicodeConstructor,
1499 ENCODER_NAME_BASE "x-euc-tw" , NS_UNICODETOEUCTW_CID,
1500 NS_UNICODEENCODER_CONTRACTID_BASE "x-euc-tw",
1501 nsUnicodeToEUCTWConstructor,
1504 // ucvtw
1506 ENCODER_NAME_BASE "Big5" , NS_UNICODETOBIG5_CID,
1507 NS_UNICODEENCODER_CONTRACTID_BASE "Big5",
1508 nsUnicodeToBIG5Constructor,
1511 DECODER_NAME_BASE "Big5" , NS_BIG5TOUNICODE_CID,
1512 NS_UNICODEDECODER_CONTRACTID_BASE "Big5",
1513 nsBIG5ToUnicodeConstructor ,
1516 ENCODER_NAME_BASE "Big5-HKSCS" , NS_UNICODETOBIG5HKSCS_CID,
1517 NS_UNICODEENCODER_CONTRACTID_BASE "Big5-HKSCS",
1518 nsUnicodeToBIG5HKSCSConstructor,
1521 ENCODER_NAME_BASE "hkscs-1" , NS_UNICODETOHKSCS_CID,
1522 NS_UNICODEENCODER_CONTRACTID_BASE "hkscs-1",
1523 nsUnicodeToHKSCSConstructor,
1526 DECODER_NAME_BASE "Big5-HKSCS" , NS_BIG5HKSCSTOUNICODE_CID,
1527 NS_UNICODEDECODER_CONTRACTID_BASE "Big5-HKSCS",
1528 nsBIG5HKSCSToUnicodeConstructor ,
1531 // ucvko
1533 DECODER_NAME_BASE "EUC-KR" , NS_EUCKRTOUNICODE_CID,
1534 NS_UNICODEDECODER_CONTRACTID_BASE "EUC-KR",
1535 nsEUCKRToUnicodeConstructor ,
1538 ENCODER_NAME_BASE "EUC-KR" , NS_UNICODETOEUCKR_CID,
1539 NS_UNICODEENCODER_CONTRACTID_BASE "EUC-KR",
1540 nsUnicodeToEUCKRConstructor,
1543 DECODER_NAME_BASE "x-johab" , NS_JOHABTOUNICODE_CID,
1544 NS_UNICODEDECODER_CONTRACTID_BASE "x-johab",
1545 nsJohabToUnicodeConstructor ,
1548 ENCODER_NAME_BASE "x-johab" , NS_UNICODETOJOHAB_CID,
1549 NS_UNICODEENCODER_CONTRACTID_BASE "x-johab",
1550 nsUnicodeToJohabConstructor,
1553 DECODER_NAME_BASE "x-windows-949" , NS_CP949TOUNICODE_CID,
1554 NS_UNICODEDECODER_CONTRACTID_BASE "x-windows-949",
1555 nsCP949ToUnicodeConstructor ,
1558 ENCODER_NAME_BASE "x-windows-949" , NS_UNICODETOCP949_CID,
1559 NS_UNICODEENCODER_CONTRACTID_BASE "x-windows-949",
1560 nsUnicodeToCP949Constructor,
1563 DECODER_NAME_BASE "ISO-2022-KR" , NS_ISO2022KRTOUNICODE_CID,
1564 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-KR",
1565 nsISO2022KRToUnicodeConstructor ,
1568 ENCODER_NAME_BASE "x-koreanjamo-0" , NS_UNICODETOJAMOTTF_CID,
1569 NS_UNICODEENCODER_CONTRACTID_BASE "x-koreanjamo-0",
1570 nsUnicodeToJamoTTFConstructor,
1572 // ucvcn
1574 DECODER_NAME_BASE "GB2312" , NS_GB2312TOUNICODE_CID,
1575 NS_UNICODEDECODER_CONTRACTID_BASE "GB2312",
1576 nsGB2312ToUnicodeV2Constructor ,
1579 ENCODER_NAME_BASE "GB2312" , NS_UNICODETOGB2312_CID,
1580 NS_UNICODEENCODER_CONTRACTID_BASE "GB2312",
1581 nsUnicodeToGB2312V2Constructor,
1584 DECODER_NAME_BASE "windows-936" , NS_CP936TOUNICODE_CID,
1585 NS_UNICODEDECODER_CONTRACTID_BASE "windows-936",
1586 nsCP936ToUnicodeConstructor ,
1589 ENCODER_NAME_BASE "windows-936" , NS_UNICODETOCP936_CID,
1590 NS_UNICODEENCODER_CONTRACTID_BASE "windows-936",
1591 nsUnicodeToCP936Constructor,
1594 DECODER_NAME_BASE "x-gbk" , NS_GBKTOUNICODE_CID,
1595 NS_UNICODEDECODER_CONTRACTID_BASE "x-gbk",
1596 nsGBKToUnicodeConstructor ,
1599 ENCODER_NAME_BASE "x-gbk" , NS_UNICODETOGBK_CID,
1600 NS_UNICODEENCODER_CONTRACTID_BASE "x-gbk",
1601 nsUnicodeToGBKConstructor,
1604 DECODER_NAME_BASE "HZ-GB-2312" , NS_HZTOUNICODE_CID,
1605 NS_UNICODEDECODER_CONTRACTID_BASE "HZ-GB-2312",
1606 nsHZToUnicodeConstructor ,
1609 ENCODER_NAME_BASE "HZ-GB-2312" , NS_UNICODETOHZ_CID,
1610 NS_UNICODEENCODER_CONTRACTID_BASE "HZ-GB-2312",
1611 nsUnicodeToHZConstructor,
1614 DECODER_NAME_BASE "gb18030" , NS_GB18030TOUNICODE_CID,
1615 NS_UNICODEDECODER_CONTRACTID_BASE "gb18030",
1616 nsGB18030ToUnicodeConstructor ,
1619 ENCODER_NAME_BASE "gb18030" , NS_UNICODETOGB18030_CID,
1620 NS_UNICODEENCODER_CONTRACTID_BASE "gb18030",
1621 nsUnicodeToGB18030Constructor,
1624 DECODER_NAME_BASE "ISO-2022-CN" , NS_ISO2022CNTOUNICODE_CID,
1625 NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-CN",
1626 nsISO2022CNToUnicodeConstructor,
1628 #endif // MOZ_USE_NATIVE_UCONV
1631 NS_IMPL_NSGETMODULE(nsUConvModule, components)