intl/uconv/src/nsUConvModule.cpp

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:727c623b65a1
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #include "mozilla/ModuleUtils.h"
6 #include "nsICharsetConverterManager.h"
7 #include "nsEncoderDecoderUtils.h"
8 #include "nsIUnicodeDecoder.h"
9 #include "nsIUnicodeEncoder.h"
10
11 #include "nsUConvCID.h"
12 #include "nsCharsetConverterManager.h"
13 #include "nsTextToSubURI.h"
14 #include "nsUTF8ConverterService.h"
15 #include "nsConverterInputStream.h"
16 #include "nsConverterOutputStream.h"
17 #include "nsScriptableUConv.h"
18 #include "nsIOutputStream.h"
19 #include "nsITextToSubURI.h"
20
21 #include "nsISO88591ToUnicode.h"
22 #include "nsCP1252ToUnicode.h"
23 #include "nsMacRomanToUnicode.h"
24 #include "nsReplacementToUnicode.h"
25 #include "nsUTF8ToUnicode.h"
26 #include "nsUnicodeToISO88591.h"
27 #include "nsUnicodeToCP1252.h"
28 #include "nsUnicodeToMacRoman.h"
29 #include "nsUnicodeToUTF8.h"
30
31 // ucvlatin
32 #include "nsUCvLatinCID.h"
33 #include "nsAsciiToUnicode.h"
34 #include "nsISO88592ToUnicode.h"
35 #include "nsISO88593ToUnicode.h"
36 #include "nsISO88594ToUnicode.h"
37 #include "nsISO88595ToUnicode.h"
38 #include "nsISO88596ToUnicode.h"
39 #include "nsISO88596EToUnicode.h"
40 #include "nsISO88596IToUnicode.h"
41 #include "nsISO88597ToUnicode.h"
42 #include "nsISO88598ToUnicode.h"
43 #include "nsISO88598EToUnicode.h"
44 #include "nsISO88598IToUnicode.h"
45 #include "nsISO88599ToUnicode.h"
46 #include "nsISO885910ToUnicode.h"
47 #include "nsISO885913ToUnicode.h"
48 #include "nsISO885914ToUnicode.h"
49 #include "nsISO885915ToUnicode.h"
50 #include "nsISO885916ToUnicode.h"
51 #include "nsISOIR111ToUnicode.h"
52 #include "nsCP1250ToUnicode.h"
53 #include "nsCP1251ToUnicode.h"
54 #include "nsCP1253ToUnicode.h"
55 #include "nsCP1254ToUnicode.h"
56 #include "nsCP1255ToUnicode.h"
57 #include "nsCP1256ToUnicode.h"
58 #include "nsCP1257ToUnicode.h"
59 #include "nsCP1258ToUnicode.h"
60 #include "nsCP874ToUnicode.h"
61 #include "nsISO885911ToUnicode.h"
62 #include "nsTIS620ToUnicode.h"
63 #include "nsCP866ToUnicode.h"
64 #include "nsKOI8RToUnicode.h"
65 #include "nsKOI8UToUnicode.h"
66 #include "nsMacCEToUnicode.h"
67 #include "nsMacGreekToUnicode.h"
68 #include "nsMacTurkishToUnicode.h"
69 #include "nsMacCroatianToUnicode.h"
70 #include "nsMacRomanianToUnicode.h"
71 #include "nsMacCyrillicToUnicode.h"
72 #include "nsMacIcelandicToUnicode.h"
73 #include "nsARMSCII8ToUnicode.h"
74 #include "nsTCVN5712ToUnicode.h"
75 #include "nsVISCIIToUnicode.h"
76 #include "nsVPSToUnicode.h"
77 #include "nsUTF16ToUnicode.h"
78 #include "nsT61ToUnicode.h"
79 #include "nsUserDefinedToUnicode.h"
80 #include "nsUnicodeToAscii.h"
81 #include "nsUnicodeToISO88592.h"
82 #include "nsUnicodeToISO88593.h"
83 #include "nsUnicodeToISO88594.h"
84 #include "nsUnicodeToISO88595.h"
85 #include "nsUnicodeToISO88596.h"
86 #include "nsUnicodeToISO88596E.h"
87 #include "nsUnicodeToISO88596I.h"
88 #include "nsUnicodeToISO88597.h"
89 #include "nsUnicodeToISO88598.h"
90 #include "nsUnicodeToISO88598E.h"
91 #include "nsUnicodeToISO88598I.h"
92 #include "nsUnicodeToISO88599.h"
93 #include "nsUnicodeToISO885910.h"
94 #include "nsUnicodeToISO885913.h"
95 #include "nsUnicodeToISO885914.h"
96 #include "nsUnicodeToISO885915.h"
97 #include "nsUnicodeToISO885916.h"
98 #include "nsUnicodeToISOIR111.h"
99 #include "nsUnicodeToCP1250.h"
100 #include "nsUnicodeToCP1251.h"
101 #include "nsUnicodeToCP1253.h"
102 #include "nsUnicodeToCP1254.h"
103 #include "nsUnicodeToCP1255.h"
104 #include "nsUnicodeToCP1256.h"
105 #include "nsUnicodeToCP1257.h"
106 #include "nsUnicodeToCP1258.h"
107 #include "nsUnicodeToCP874.h"
108 #include "nsUnicodeToISO885911.h"
109 #include "nsUnicodeToTIS620.h"
110 #include "nsUnicodeToCP866.h"
111 #include "nsUnicodeToKOI8R.h"
112 #include "nsUnicodeToKOI8U.h"
113 #include "nsUnicodeToMacCE.h"
114 #include "nsUnicodeToMacGreek.h"
115 #include "nsUnicodeToMacTurkish.h"
116 #include "nsUnicodeToMacCroatian.h"
117 #include "nsUnicodeToMacRomanian.h"
118 #include "nsUnicodeToMacCyrillic.h"
119 #include "nsUnicodeToMacIcelandic.h"
120 #include "nsUnicodeToARMSCII8.h"
121 #include "nsUnicodeToTCVN5712.h"
122 #include "nsUnicodeToVISCII.h"
123 #include "nsUnicodeToVPS.h"
124 #include "nsUnicodeToUTF16.h"
125 #include "nsUnicodeToT61.h"
126 #include "nsUnicodeToUserDefined.h"
127 #include "nsMacArabicToUnicode.h"
128 #include "nsMacDevanagariToUnicode.h"
129 #include "nsMacFarsiToUnicode.h"
130 #include "nsMacGujaratiToUnicode.h"
131 #include "nsMacGurmukhiToUnicode.h"
132 #include "nsMacHebrewToUnicode.h"
133 #include "nsUnicodeToMacArabic.h"
134 #include "nsUnicodeToMacDevanagari.h"
135 #include "nsUnicodeToMacFarsi.h"
136 #include "nsUnicodeToMacGujarati.h"
137 #include "nsUnicodeToMacGurmukhi.h"
138 #include "nsUnicodeToMacHebrew.h"
139
140 // ucvibm
141 #include "nsUCvIBMCID.h"
142 #include "nsCP850ToUnicode.h"
143 #include "nsCP852ToUnicode.h"
144 #include "nsCP855ToUnicode.h"
145 #include "nsCP857ToUnicode.h"
146 #include "nsCP862ToUnicode.h"
147 #include "nsCP864ToUnicode.h"
148 #include "nsUnicodeToCP850.h"
149 #include "nsUnicodeToCP852.h"
150 #include "nsUnicodeToCP855.h"
151 #include "nsUnicodeToCP857.h"
152 #include "nsUnicodeToCP862.h"
153 #include "nsUnicodeToCP864.h"
154
155 // ucvja
156 #include "nsUCVJACID.h"
157 #include "nsUCVJA2CID.h"
158 #include "nsUCVJADll.h"
159 #include "nsJapaneseToUnicode.h"
160 #include "nsUnicodeToSJIS.h"
161 #include "nsUnicodeToEUCJP.h"
162 #include "nsUnicodeToISO2022JP.h"
163 #include "nsUnicodeToJISx0201.h"
164
165 // ucvtw2
166 #include "nsUCvTW2CID.h"
167 #include "nsUCvTW2Dll.h"
168 #include "nsEUCTWToUnicode.h"
169 #include "nsUnicodeToEUCTW.h"
170
171 // ucvtw
172 #include "nsUCvTWCID.h"
173 #include "nsUCvTWDll.h"
174 #include "nsBIG5ToUnicode.h"
175 #include "nsUnicodeToBIG5.h"
176 #include "nsBIG5HKSCSToUnicode.h"
177 #include "nsUnicodeToBIG5HKSCS.h"
178 #include "nsUnicodeToHKSCS.h"
179
180 // ucvko
181 #include "nsUCvKOCID.h"
182 #include "nsUCvKODll.h"
183 #include "nsJohabToUnicode.h"
184 #include "nsUnicodeToJohab.h"
185 #include "nsCP949ToUnicode.h"
186 #include "nsUnicodeToCP949.h"
187 #include "nsISO2022KRToUnicode.h"
188
189 // ucvcn
190 #include "nsUCvCnCID.h"
191 #include "nsHZToUnicode.h"
192 #include "nsUnicodeToHZ.h"
193 #include "nsGBKToUnicode.h"
194 #include "nsUnicodeToGBK.h"
195 #include "nsGB2312ToUnicodeV2.h"
196 #include "nsUnicodeToGB2312V2.h"
197 #include "nsISO2022CNToUnicode.h"
198 #include "gbku.h"
199
200 NS_CONVERTER_REGISTRY_START
201 NS_UCONV_REG_UNREG("ISO-8859-1", NS_ISO88591TOUNICODE_CID, NS_UNICODETOISO88591_CID)
202 NS_UCONV_REG_UNREG("windows-1252", NS_CP1252TOUNICODE_CID, NS_UNICODETOCP1252_CID)
203 NS_UCONV_REG_UNREG("macintosh", NS_MACROMANTOUNICODE_CID, NS_UNICODETOMACROMAN_CID)
204 NS_UCONV_REG_UNREG("UTF-8", NS_UTF8TOUNICODE_CID, NS_UNICODETOUTF8_CID)
205 NS_UCONV_REG_UNREG("replacement", NS_REPLACEMENTTOUNICODE_CID, NS_UNICODETOUTF8_CID)
206
207 // ucvlatin
208 NS_UCONV_REG_UNREG("us-ascii", NS_ASCIITOUNICODE_CID, NS_UNICODETOASCII_CID)
209 NS_UCONV_REG_UNREG("ISO-8859-2", NS_ISO88592TOUNICODE_CID, NS_UNICODETOISO88592_CID)
210 NS_UCONV_REG_UNREG("ISO-8859-3", NS_ISO88593TOUNICODE_CID, NS_UNICODETOISO88593_CID)
211 NS_UCONV_REG_UNREG("ISO-8859-4", NS_ISO88594TOUNICODE_CID, NS_UNICODETOISO88594_CID)
212 NS_UCONV_REG_UNREG("ISO-8859-5", NS_ISO88595TOUNICODE_CID, NS_UNICODETOISO88595_CID)
213 NS_UCONV_REG_UNREG("ISO-8859-6", NS_ISO88596TOUNICODE_CID, NS_UNICODETOISO88596_CID)
214 NS_UCONV_REG_UNREG("ISO-8859-6-I", NS_ISO88596ITOUNICODE_CID, NS_UNICODETOISO88596I_CID)
215 NS_UCONV_REG_UNREG("ISO-8859-6-E", NS_ISO88596ETOUNICODE_CID, NS_UNICODETOISO88596E_CID)
216 NS_UCONV_REG_UNREG("ISO-8859-7", NS_ISO88597TOUNICODE_CID, NS_UNICODETOISO88597_CID)
217 NS_UCONV_REG_UNREG("ISO-8859-8", NS_ISO88598TOUNICODE_CID, NS_UNICODETOISO88598_CID)
218 NS_UCONV_REG_UNREG("ISO-8859-8-I", NS_ISO88598ITOUNICODE_CID, NS_UNICODETOISO88598I_CID)
219 NS_UCONV_REG_UNREG("ISO-8859-8-E", NS_ISO88598ETOUNICODE_CID, NS_UNICODETOISO88598E_CID)
220 NS_UCONV_REG_UNREG("ISO-8859-9", NS_ISO88599TOUNICODE_CID, NS_UNICODETOISO88599_CID)
221 NS_UCONV_REG_UNREG("ISO-8859-10", NS_ISO885910TOUNICODE_CID, NS_UNICODETOISO885910_CID)
222 NS_UCONV_REG_UNREG("ISO-8859-13", NS_ISO885913TOUNICODE_CID, NS_UNICODETOISO885913_CID)
223 NS_UCONV_REG_UNREG("ISO-8859-14", NS_ISO885914TOUNICODE_CID, NS_UNICODETOISO885914_CID)
224 NS_UCONV_REG_UNREG("ISO-8859-15", NS_ISO885915TOUNICODE_CID, NS_UNICODETOISO885915_CID)
225 NS_UCONV_REG_UNREG("ISO-8859-16", NS_ISO885916TOUNICODE_CID, NS_UNICODETOISO885916_CID)
226 NS_UCONV_REG_UNREG("ISO-IR-111", NS_ISOIR111TOUNICODE_CID, NS_UNICODETOISOIR111_CID)
227 NS_UCONV_REG_UNREG("windows-1250", NS_CP1250TOUNICODE_CID, NS_UNICODETOCP1250_CID)
228 NS_UCONV_REG_UNREG("windows-1251", NS_CP1251TOUNICODE_CID, NS_UNICODETOCP1251_CID)
229 NS_UCONV_REG_UNREG("windows-1253", NS_CP1253TOUNICODE_CID, NS_UNICODETOCP1253_CID)
230 NS_UCONV_REG_UNREG("windows-1254", NS_CP1254TOUNICODE_CID, NS_UNICODETOCP1254_CID)
231 NS_UCONV_REG_UNREG("windows-1255", NS_CP1255TOUNICODE_CID, NS_UNICODETOCP1255_CID)
232 NS_UCONV_REG_UNREG("windows-1256", NS_CP1256TOUNICODE_CID, NS_UNICODETOCP1256_CID)
233 NS_UCONV_REG_UNREG("windows-1257", NS_CP1257TOUNICODE_CID, NS_UNICODETOCP1257_CID)
234 NS_UCONV_REG_UNREG("windows-1258", NS_CP1258TOUNICODE_CID, NS_UNICODETOCP1258_CID)
235 NS_UCONV_REG_UNREG("TIS-620", NS_TIS620TOUNICODE_CID, NS_UNICODETOTIS620_CID)
236 NS_UCONV_REG_UNREG("windows-874", NS_CP874TOUNICODE_CID, NS_UNICODETOCP874_CID)
237 NS_UCONV_REG_UNREG("ISO-8859-11", NS_ISO885911TOUNICODE_CID, NS_UNICODETOISO885911_CID)
238 NS_UCONV_REG_UNREG("IBM866", NS_CP866TOUNICODE_CID, NS_UNICODETOCP866_CID)
239 NS_UCONV_REG_UNREG("KOI8-R", NS_KOI8RTOUNICODE_CID, NS_UNICODETOKOI8R_CID)
240 NS_UCONV_REG_UNREG("KOI8-U", NS_KOI8UTOUNICODE_CID, NS_UNICODETOKOI8U_CID)
241 NS_UCONV_REG_UNREG("x-mac-ce", NS_MACCETOUNICODE_CID, NS_UNICODETOMACCE_CID)
242 NS_UCONV_REG_UNREG("x-mac-greek", NS_MACGREEKTOUNICODE_CID, NS_UNICODETOMACGREEK_CID)
243 NS_UCONV_REG_UNREG("x-mac-turkish", NS_MACTURKISHTOUNICODE_CID, NS_UNICODETOMACTURKISH_CID)
244 NS_UCONV_REG_UNREG("x-mac-croatian", NS_MACCROATIANTOUNICODE_CID, NS_UNICODETOMACCROATIAN_CID)
245 NS_UCONV_REG_UNREG("x-mac-romanian", NS_MACROMANIANTOUNICODE_CID, NS_UNICODETOMACROMANIAN_CID)
246 NS_UCONV_REG_UNREG("x-mac-cyrillic", NS_MACCYRILLICTOUNICODE_CID, NS_UNICODETOMACCYRILLIC_CID)
247 NS_UCONV_REG_UNREG("x-mac-icelandic", NS_MACICELANDICTOUNICODE_CID, NS_UNICODETOMACICELANDIC_CID)
248 NS_UCONV_REG_UNREG("armscii-8", NS_ARMSCII8TOUNICODE_CID, NS_UNICODETOARMSCII8_CID)
249 NS_UCONV_REG_UNREG("x-viet-tcvn5712", NS_TCVN5712TOUNICODE_CID, NS_UNICODETOTCVN5712_CID)
250 NS_UCONV_REG_UNREG("VISCII", NS_VISCIITOUNICODE_CID, NS_UNICODETOVISCII_CID)
251 NS_UCONV_REG_UNREG("x-viet-vps", NS_VPSTOUNICODE_CID, NS_UNICODETOVPS_CID)
252 NS_UCONV_REG_UNREG("UTF-16", NS_UTF16TOUNICODE_CID, NS_UNICODETOUTF16_CID)
253 NS_UCONV_REG_UNREG("UTF-16BE", NS_UTF16BETOUNICODE_CID, NS_UNICODETOUTF16BE_CID)
254 NS_UCONV_REG_UNREG("UTF-16LE", NS_UTF16LETOUNICODE_CID, NS_UNICODETOUTF16LE_CID)
255 NS_UCONV_REG_UNREG("T.61-8bit", NS_T61TOUNICODE_CID, NS_UNICODETOT61_CID)
256 NS_UCONV_REG_UNREG("x-user-defined", NS_USERDEFINEDTOUNICODE_CID, NS_UNICODETOUSERDEFINED_CID)
257 NS_UCONV_REG_UNREG("x-mac-arabic" , NS_MACARABICTOUNICODE_CID, NS_UNICODETOMACARABIC_CID)
258 NS_UCONV_REG_UNREG("x-mac-devanagari" , NS_MACDEVANAGARITOUNICODE_CID, NS_UNICODETOMACDEVANAGARI_CID)
259 NS_UCONV_REG_UNREG("x-mac-farsi" , NS_MACFARSITOUNICODE_CID, NS_UNICODETOMACFARSI_CID)
260 NS_UCONV_REG_UNREG("x-mac-gurmukhi" , NS_MACGURMUKHITOUNICODE_CID, NS_UNICODETOMACGURMUKHI_CID)
261 NS_UCONV_REG_UNREG("x-mac-gujarati" , NS_MACGUJARATITOUNICODE_CID, NS_UNICODETOMACGUJARATI_CID)
262 NS_UCONV_REG_UNREG("x-mac-hebrew" , NS_MACHEBREWTOUNICODE_CID, NS_UNICODETOMACHEBREW_CID)
263
264 // ucvibm
265 NS_UCONV_REG_UNREG("IBM850", NS_CP850TOUNICODE_CID, NS_UNICODETOCP850_CID)
266 NS_UCONV_REG_UNREG("IBM852", NS_CP852TOUNICODE_CID, NS_UNICODETOCP852_CID)
267 NS_UCONV_REG_UNREG("IBM855", NS_CP855TOUNICODE_CID, NS_UNICODETOCP855_CID)
268 NS_UCONV_REG_UNREG("IBM857", NS_CP857TOUNICODE_CID, NS_UNICODETOCP857_CID)
269 NS_UCONV_REG_UNREG("IBM862", NS_CP862TOUNICODE_CID, NS_UNICODETOCP862_CID)
270 NS_UCONV_REG_UNREG("IBM864", NS_CP864TOUNICODE_CID, NS_UNICODETOCP864_CID)
271
272 // ucvja
273 NS_UCONV_REG_UNREG("Shift_JIS", NS_SJISTOUNICODE_CID, NS_UNICODETOSJIS_CID)
274 NS_UCONV_REG_UNREG("ISO-2022-JP", NS_ISO2022JPTOUNICODE_CID, NS_UNICODETOISO2022JP_CID)
275 NS_UCONV_REG_UNREG("EUC-JP", NS_EUCJPTOUNICODE_CID, NS_UNICODETOEUCJP_CID)
276
277 NS_UCONV_REG_UNREG_ENCODER("jis_0201" , NS_UNICODETOJISX0201_CID)
278
279 // ucvtw2
280 NS_UCONV_REG_UNREG("x-euc-tw", NS_EUCTWTOUNICODE_CID, NS_UNICODETOEUCTW_CID)
281
282 // ucvtw
283 NS_UCONV_REG_UNREG("Big5", NS_BIG5TOUNICODE_CID, NS_UNICODETOBIG5_CID)
284 NS_UCONV_REG_UNREG("Big5-HKSCS", NS_BIG5HKSCSTOUNICODE_CID, NS_UNICODETOBIG5HKSCS_CID)
285
286 NS_UCONV_REG_UNREG_ENCODER("hkscs-1" , NS_UNICODETOHKSCS_CID)
287
288 // ucvko
289 NS_UCONV_REG_UNREG("EUC-KR", NS_EUCKRTOUNICODE_CID, NS_UNICODETOEUCKR_CID)
290 NS_UCONV_REG_UNREG("x-johab", NS_JOHABTOUNICODE_CID, NS_UNICODETOJOHAB_CID)
291 NS_UCONV_REG_UNREG_DECODER("ISO-2022-KR", NS_ISO2022KRTOUNICODE_CID)
292
293 // ucvcn
294 NS_UCONV_REG_UNREG("GB2312", NS_GB2312TOUNICODE_CID, NS_UNICODETOGB2312_CID)
295 NS_UCONV_REG_UNREG("gbk", NS_GBKTOUNICODE_CID, NS_UNICODETOGBK_CID)
296 NS_UCONV_REG_UNREG("HZ-GB-2312", NS_HZTOUNICODE_CID, NS_UNICODETOHZ_CID)
297 NS_UCONV_REG_UNREG("gb18030", NS_GB18030TOUNICODE_CID, NS_UNICODETOGB18030_CID)
298 NS_UCONV_REG_UNREG_DECODER("ISO-2022-CN", NS_ISO2022CNTOUNICODE_CID)
299
300 { NS_TITLE_BUNDLE_CATEGORY, "chrome://global/locale/charsetTitles.properties", "" },
301 { NS_DATA_BUNDLE_CATEGORY, "resource://gre-resources/charsetData.properties", "" },
302
303 NS_CONVERTER_REGISTRY_END
304
305 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF8)
306 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ToUnicode)
307 NS_GENERIC_FACTORY_CONSTRUCTOR(nsReplacementToUnicode)
308
309 // ucvlatin
310 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16ToUnicode)
311 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16BEToUnicode)
312 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16LEToUnicode)
313 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16BE)
314 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16LE)
315 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16)
316
317 // ucvibm
318
319 // ucvja
320 NS_GENERIC_FACTORY_CONSTRUCTOR(nsShiftJISToUnicode)
321 NS_GENERIC_FACTORY_CONSTRUCTOR(nsEUCJPToUnicodeV2)
322 NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022JPToUnicodeV2)
323 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToISO2022JP)
324
325 // ucvtw2
326
327 // ucvtw
328
329 // ucvko
330 NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022KRToUnicode)
331
332 // ucvcn
333 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB2312V2)
334 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGBK)
335 NS_GENERIC_FACTORY_CONSTRUCTOR(nsHZToUnicode)
336 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToHZ)
337 NS_GENERIC_FACTORY_CONSTRUCTOR(nsGB18030ToUnicode)
338 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB18030)
339 NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022CNToUnicode)
340
341
342 //----------------------------------------------------------------------------
343 // Global functions and data [declaration]
344
345 // ucvja
346 const uint16_t g_uf0201Mapping[] = {
347 #include "jis0201.uf"
348 };
349
350 const uint16_t g_uf0201GLMapping[] = {
351 #include "jis0201gl.uf"
352 };
353
354 const uint16_t g_uf0208Mapping[] = {
355 #include "jis0208.uf"
356 };
357
358 const uint16_t g_uf0208extMapping[] = {
359 #include "jis0208ext.uf"
360 };
361
362 // ucvtw2
363 const uint16_t g_ufCNS1MappingTable[] = {
364 #include "cns_1.uf"
365 };
366
367 const uint16_t g_ufCNS2MappingTable[] = {
368 #include "cns_2.uf"
369 };
370
371 const uint16_t g_ufCNS3MappingTable[] = {
372 #include "cns3.uf"
373 };
374
375 const uint16_t g_ufCNS4MappingTable[] = {
376 #include "cns4.uf"
377 };
378
379 const uint16_t g_ufCNS5MappingTable[] = {
380 #include "cns5.uf"
381 };
382
383 const uint16_t g_ufCNS6MappingTable[] = {
384 #include "cns6.uf"
385 };
386
387 const uint16_t g_ufCNS7MappingTable[] = {
388 #include "cns7.uf"
389 };
390
391 const uint16_t g_utCNS1MappingTable[] = {
392 #include "cns_1.ut"
393 };
394
395 const uint16_t g_utCNS2MappingTable[] = {
396 #include "cns_2.ut"
397 };
398
399 const uint16_t g_utCNS3MappingTable[] = {
400 #include "cns3.ut"
401 };
402
403 const uint16_t g_utCNS4MappingTable[] = {
404 #include "cns4.ut"
405 };
406
407 const uint16_t g_utCNS5MappingTable[] = {
408 #include "cns5.ut"
409 };
410
411 const uint16_t g_utCNS6MappingTable[] = {
412 #include "cns6.ut"
413 };
414
415 const uint16_t g_utCNS7MappingTable[] = {
416 #include "cns7.ut"
417 };
418
419 const uint16_t g_ASCIIMappingTable[] = {
420 0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
421 };
422
423 // ucvtw
424 const uint16_t g_ufBig5Mapping[] = {
425 #include "big5.uf"
426 };
427
428 const uint16_t g_utBIG5Mapping[] = {
429 #include "big5.ut"
430 };
431
432 const uint16_t g_ufBig5HKSCSMapping[] = {
433 #include "hkscs.uf"
434 };
435
436 const uint16_t g_utBig5HKSCSMapping[] = {
437 #include "hkscs.ut"
438 };
439
440 // ucvko
441 const uint16_t g_utKSC5601Mapping[] = {
442 #include "u20kscgl.ut"
443 };
444
445 const uint16_t g_ufKSC5601Mapping[] = {
446 #include "u20kscgl.uf"
447 };
448
449 const uint16_t g_HangulNullMapping[] ={
450 0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0xAC00, 0xD7A3, 0xAC00
451 };
452
453 const uint16_t g_ufJohabJamoMapping[] ={
454 #include "johabjamo.uf"
455 };
456
457 NS_GENERIC_FACTORY_CONSTRUCTOR(nsCharsetConverterManager)
458 NS_GENERIC_FACTORY_CONSTRUCTOR(nsTextToSubURI)
459 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ConverterService)
460 NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterInputStream)
461 NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterOutputStream)
462 NS_GENERIC_FACTORY_CONSTRUCTOR(nsScriptableUnicodeConverter)
463
464 NS_DEFINE_NAMED_CID(NS_ICHARSETCONVERTERMANAGER_CID);
465 NS_DEFINE_NAMED_CID(NS_TEXTTOSUBURI_CID);
466 NS_DEFINE_NAMED_CID(NS_CONVERTERINPUTSTREAM_CID);
467 NS_DEFINE_NAMED_CID(NS_CONVERTEROUTPUTSTREAM_CID);
468 NS_DEFINE_NAMED_CID(NS_ISCRIPTABLEUNICODECONVERTER_CID);
469 NS_DEFINE_NAMED_CID(NS_UTF8CONVERTERSERVICE_CID);
470 NS_DEFINE_NAMED_CID(NS_ISO88591TOUNICODE_CID);
471 NS_DEFINE_NAMED_CID(NS_CP1252TOUNICODE_CID);
472 NS_DEFINE_NAMED_CID(NS_MACROMANTOUNICODE_CID);
473 NS_DEFINE_NAMED_CID(NS_UTF8TOUNICODE_CID);
474 NS_DEFINE_NAMED_CID(NS_REPLACEMENTTOUNICODE_CID);
475 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88591_CID);
476 NS_DEFINE_NAMED_CID(NS_UNICODETOCP1252_CID);
477 NS_DEFINE_NAMED_CID(NS_UNICODETOMACROMAN_CID);
478 NS_DEFINE_NAMED_CID(NS_UNICODETOUTF8_CID);
479 NS_DEFINE_NAMED_CID(NS_ASCIITOUNICODE_CID);
480 NS_DEFINE_NAMED_CID(NS_ISO88592TOUNICODE_CID);
481 NS_DEFINE_NAMED_CID(NS_ISO88593TOUNICODE_CID);
482 NS_DEFINE_NAMED_CID(NS_ISO88594TOUNICODE_CID);
483 NS_DEFINE_NAMED_CID(NS_ISO88595TOUNICODE_CID);
484 NS_DEFINE_NAMED_CID(NS_ISO88596TOUNICODE_CID);
485 NS_DEFINE_NAMED_CID(NS_ISO88596ITOUNICODE_CID);
486 NS_DEFINE_NAMED_CID(NS_ISO88596ETOUNICODE_CID);
487 NS_DEFINE_NAMED_CID(NS_ISO88597TOUNICODE_CID);
488 NS_DEFINE_NAMED_CID(NS_ISO88598TOUNICODE_CID);
489 NS_DEFINE_NAMED_CID(NS_ISO88598ITOUNICODE_CID);
490 NS_DEFINE_NAMED_CID(NS_ISO88598ETOUNICODE_CID);
491 NS_DEFINE_NAMED_CID(NS_ISO88599TOUNICODE_CID);
492 NS_DEFINE_NAMED_CID(NS_ISO885910TOUNICODE_CID);
493 NS_DEFINE_NAMED_CID(NS_ISO885913TOUNICODE_CID);
494 NS_DEFINE_NAMED_CID(NS_ISO885914TOUNICODE_CID);
495 NS_DEFINE_NAMED_CID(NS_ISO885915TOUNICODE_CID);
496 NS_DEFINE_NAMED_CID(NS_ISO885916TOUNICODE_CID);
497 NS_DEFINE_NAMED_CID(NS_ISOIR111TOUNICODE_CID);
498 NS_DEFINE_NAMED_CID(NS_CP1250TOUNICODE_CID);
499 NS_DEFINE_NAMED_CID(NS_CP1251TOUNICODE_CID);
500 NS_DEFINE_NAMED_CID(NS_CP1253TOUNICODE_CID);
501 NS_DEFINE_NAMED_CID(NS_CP1254TOUNICODE_CID);
502 NS_DEFINE_NAMED_CID(NS_CP1255TOUNICODE_CID);
503 NS_DEFINE_NAMED_CID(NS_CP1256TOUNICODE_CID);
504 NS_DEFINE_NAMED_CID(NS_CP1257TOUNICODE_CID);
505 NS_DEFINE_NAMED_CID(NS_CP1258TOUNICODE_CID);
506 NS_DEFINE_NAMED_CID(NS_TIS620TOUNICODE_CID);
507 NS_DEFINE_NAMED_CID(NS_ISO885911TOUNICODE_CID);
508 NS_DEFINE_NAMED_CID(NS_CP874TOUNICODE_CID);
509 NS_DEFINE_NAMED_CID(NS_CP866TOUNICODE_CID);
510 NS_DEFINE_NAMED_CID(NS_KOI8RTOUNICODE_CID);
511 NS_DEFINE_NAMED_CID(NS_KOI8UTOUNICODE_CID);
512 NS_DEFINE_NAMED_CID(NS_MACCETOUNICODE_CID);
513 NS_DEFINE_NAMED_CID(NS_MACGREEKTOUNICODE_CID);
514 NS_DEFINE_NAMED_CID(NS_MACTURKISHTOUNICODE_CID);
515 NS_DEFINE_NAMED_CID(NS_MACCROATIANTOUNICODE_CID);
516 NS_DEFINE_NAMED_CID(NS_MACROMANIANTOUNICODE_CID);
517 NS_DEFINE_NAMED_CID(NS_MACCYRILLICTOUNICODE_CID);
518 NS_DEFINE_NAMED_CID(NS_MACICELANDICTOUNICODE_CID);
519 NS_DEFINE_NAMED_CID(NS_ARMSCII8TOUNICODE_CID);
520 NS_DEFINE_NAMED_CID(NS_TCVN5712TOUNICODE_CID);
521 NS_DEFINE_NAMED_CID(NS_VISCIITOUNICODE_CID);
522 NS_DEFINE_NAMED_CID(NS_VPSTOUNICODE_CID);
523 NS_DEFINE_NAMED_CID(NS_UTF16TOUNICODE_CID);
524 NS_DEFINE_NAMED_CID(NS_UTF16BETOUNICODE_CID);
525 NS_DEFINE_NAMED_CID(NS_UTF16LETOUNICODE_CID);
526 NS_DEFINE_NAMED_CID(NS_T61TOUNICODE_CID);
527 NS_DEFINE_NAMED_CID(NS_USERDEFINEDTOUNICODE_CID);
528 NS_DEFINE_NAMED_CID(NS_MACARABICTOUNICODE_CID);
529 NS_DEFINE_NAMED_CID(NS_MACDEVANAGARITOUNICODE_CID);
530 NS_DEFINE_NAMED_CID(NS_MACFARSITOUNICODE_CID);
531 NS_DEFINE_NAMED_CID(NS_MACGURMUKHITOUNICODE_CID);
532 NS_DEFINE_NAMED_CID(NS_MACGUJARATITOUNICODE_CID);
533 NS_DEFINE_NAMED_CID(NS_MACHEBREWTOUNICODE_CID);
534 NS_DEFINE_NAMED_CID(NS_UNICODETOASCII_CID);
535 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88592_CID);
536 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88593_CID);
537 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88594_CID);
538 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88595_CID);
539 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596_CID);
540 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596I_CID);
541 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596E_CID);
542 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88597_CID);
543 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598_CID);
544 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598I_CID);
545 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598E_CID);
546 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88599_CID);
547 NS_DEFINE_NAMED_CID(NS_UNICODETOISO885910_CID);
548 NS_DEFINE_NAMED_CID(NS_UNICODETOISO885913_CID);
549 NS_DEFINE_NAMED_CID(NS_UNICODETOISO885914_CID);
550 NS_DEFINE_NAMED_CID(NS_UNICODETOISO885915_CID);
551 NS_DEFINE_NAMED_CID(NS_UNICODETOISO885916_CID);
552 NS_DEFINE_NAMED_CID(NS_UNICODETOISOIR111_CID);
553 NS_DEFINE_NAMED_CID(NS_UNICODETOCP1250_CID);
554 NS_DEFINE_NAMED_CID(NS_UNICODETOCP1251_CID);
555 NS_DEFINE_NAMED_CID(NS_UNICODETOCP1253_CID);
556 NS_DEFINE_NAMED_CID(NS_UNICODETOCP1254_CID);
557 NS_DEFINE_NAMED_CID(NS_UNICODETOCP1255_CID);
558 NS_DEFINE_NAMED_CID(NS_UNICODETOCP1256_CID);
559 NS_DEFINE_NAMED_CID(NS_UNICODETOCP1257_CID);
560 NS_DEFINE_NAMED_CID(NS_UNICODETOCP1258_CID);
561 NS_DEFINE_NAMED_CID(NS_UNICODETOTIS620_CID);
562 NS_DEFINE_NAMED_CID(NS_UNICODETOISO885911_CID);
563 NS_DEFINE_NAMED_CID(NS_UNICODETOCP874_CID);
564 NS_DEFINE_NAMED_CID(NS_UNICODETOCP866_CID);
565 NS_DEFINE_NAMED_CID(NS_UNICODETOKOI8R_CID);
566 NS_DEFINE_NAMED_CID(NS_UNICODETOKOI8U_CID);
567 NS_DEFINE_NAMED_CID(NS_UNICODETOMACCE_CID);
568 NS_DEFINE_NAMED_CID(NS_UNICODETOMACGREEK_CID);
569 NS_DEFINE_NAMED_CID(NS_UNICODETOMACTURKISH_CID);
570 NS_DEFINE_NAMED_CID(NS_UNICODETOMACCROATIAN_CID);
571 NS_DEFINE_NAMED_CID(NS_UNICODETOMACROMANIAN_CID);
572 NS_DEFINE_NAMED_CID(NS_UNICODETOMACCYRILLIC_CID);
573 NS_DEFINE_NAMED_CID(NS_UNICODETOMACICELANDIC_CID);
574 NS_DEFINE_NAMED_CID(NS_UNICODETOARMSCII8_CID);
575 NS_DEFINE_NAMED_CID(NS_UNICODETOTCVN5712_CID);
576 NS_DEFINE_NAMED_CID(NS_UNICODETOVISCII_CID);
577 NS_DEFINE_NAMED_CID(NS_UNICODETOVPS_CID);
578 NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16BE_CID);
579 NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16LE_CID);
580 NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16_CID);
581 NS_DEFINE_NAMED_CID(NS_UNICODETOT61_CID);
582 NS_DEFINE_NAMED_CID(NS_UNICODETOUSERDEFINED_CID);
583 NS_DEFINE_NAMED_CID(NS_UNICODETOMACARABIC_CID);
584 NS_DEFINE_NAMED_CID(NS_UNICODETOMACDEVANAGARI_CID);
585 NS_DEFINE_NAMED_CID(NS_UNICODETOMACFARSI_CID);
586 NS_DEFINE_NAMED_CID(NS_UNICODETOMACGURMUKHI_CID);
587 NS_DEFINE_NAMED_CID(NS_UNICODETOMACGUJARATI_CID);
588 NS_DEFINE_NAMED_CID(NS_UNICODETOMACHEBREW_CID);
589 NS_DEFINE_NAMED_CID(NS_CP850TOUNICODE_CID);
590 NS_DEFINE_NAMED_CID(NS_CP852TOUNICODE_CID);
591 NS_DEFINE_NAMED_CID(NS_CP855TOUNICODE_CID);
592 NS_DEFINE_NAMED_CID(NS_CP857TOUNICODE_CID);
593 NS_DEFINE_NAMED_CID(NS_CP862TOUNICODE_CID);
594 NS_DEFINE_NAMED_CID(NS_CP864TOUNICODE_CID);
595 NS_DEFINE_NAMED_CID(NS_UNICODETOCP850_CID);
596 NS_DEFINE_NAMED_CID(NS_UNICODETOCP852_CID);
597 NS_DEFINE_NAMED_CID(NS_UNICODETOCP855_CID);
598 NS_DEFINE_NAMED_CID(NS_UNICODETOCP857_CID);
599 NS_DEFINE_NAMED_CID(NS_UNICODETOCP862_CID);
600 NS_DEFINE_NAMED_CID(NS_UNICODETOCP864_CID);
601 NS_DEFINE_NAMED_CID(NS_SJISTOUNICODE_CID);
602 NS_DEFINE_NAMED_CID(NS_EUCJPTOUNICODE_CID);
603 NS_DEFINE_NAMED_CID( NS_ISO2022JPTOUNICODE_CID);
604 NS_DEFINE_NAMED_CID(NS_UNICODETOSJIS_CID);
605 NS_DEFINE_NAMED_CID(NS_UNICODETOEUCJP_CID);
606 NS_DEFINE_NAMED_CID(NS_UNICODETOISO2022JP_CID);
607 NS_DEFINE_NAMED_CID(NS_UNICODETOJISX0201_CID);
608 NS_DEFINE_NAMED_CID(NS_EUCTWTOUNICODE_CID);
609 NS_DEFINE_NAMED_CID(NS_UNICODETOEUCTW_CID);
610 NS_DEFINE_NAMED_CID(NS_UNICODETOBIG5_CID);
611 NS_DEFINE_NAMED_CID(NS_BIG5TOUNICODE_CID);
612 NS_DEFINE_NAMED_CID(NS_UNICODETOBIG5HKSCS_CID);
613 NS_DEFINE_NAMED_CID(NS_UNICODETOHKSCS_CID);
614 NS_DEFINE_NAMED_CID(NS_BIG5HKSCSTOUNICODE_CID);
615 NS_DEFINE_NAMED_CID(NS_EUCKRTOUNICODE_CID);
616 NS_DEFINE_NAMED_CID(NS_UNICODETOEUCKR_CID);
617 NS_DEFINE_NAMED_CID(NS_JOHABTOUNICODE_CID);
618 NS_DEFINE_NAMED_CID(NS_UNICODETOJOHAB_CID);
619 NS_DEFINE_NAMED_CID(NS_ISO2022KRTOUNICODE_CID);
620 NS_DEFINE_NAMED_CID(NS_GB2312TOUNICODE_CID);
621 NS_DEFINE_NAMED_CID(NS_UNICODETOGB2312_CID);
622 NS_DEFINE_NAMED_CID(NS_GBKTOUNICODE_CID);
623 NS_DEFINE_NAMED_CID(NS_UNICODETOGBK_CID);
624 NS_DEFINE_NAMED_CID(NS_HZTOUNICODE_CID);
625 NS_DEFINE_NAMED_CID(NS_UNICODETOHZ_CID);
626 NS_DEFINE_NAMED_CID(NS_GB18030TOUNICODE_CID);
627 NS_DEFINE_NAMED_CID(NS_UNICODETOGB18030_CID);
628 NS_DEFINE_NAMED_CID(NS_ISO2022CNTOUNICODE_CID);
629
630 static const mozilla::Module::CIDEntry kUConvCIDs[] = {
631 { &kNS_ICHARSETCONVERTERMANAGER_CID, false, nullptr, nsCharsetConverterManagerConstructor },
632 { &kNS_TEXTTOSUBURI_CID, false, nullptr, nsTextToSubURIConstructor },
633 { &kNS_CONVERTERINPUTSTREAM_CID, false, nullptr, nsConverterInputStreamConstructor },
634 { &kNS_CONVERTEROUTPUTSTREAM_CID, false, nullptr, nsConverterOutputStreamConstructor },
635 { &kNS_ISCRIPTABLEUNICODECONVERTER_CID, false, nullptr, nsScriptableUnicodeConverterConstructor },
636 { &kNS_UTF8CONVERTERSERVICE_CID, false, nullptr, nsUTF8ConverterServiceConstructor },
637 { &kNS_ISO88591TOUNICODE_CID, false, nullptr, nsISO88591ToUnicodeConstructor },
638 { &kNS_CP1252TOUNICODE_CID, false, nullptr, nsCP1252ToUnicodeConstructor },
639 { &kNS_MACROMANTOUNICODE_CID, false, nullptr, nsMacRomanToUnicodeConstructor },
640 { &kNS_REPLACEMENTTOUNICODE_CID, false, nullptr, nsReplacementToUnicodeConstructor },
641 { &kNS_UTF8TOUNICODE_CID, false, nullptr, nsUTF8ToUnicodeConstructor },
642 { &kNS_UNICODETOISO88591_CID, false, nullptr, nsUnicodeToISO88591Constructor },
643 { &kNS_UNICODETOCP1252_CID, false, nullptr, nsUnicodeToCP1252Constructor },
644 { &kNS_UNICODETOMACROMAN_CID, false, nullptr, nsUnicodeToMacRomanConstructor },
645 { &kNS_UNICODETOUTF8_CID, false, nullptr, nsUnicodeToUTF8Constructor },
646 { &kNS_ASCIITOUNICODE_CID, false, nullptr, nsAsciiToUnicodeConstructor },
647 { &kNS_ISO88592TOUNICODE_CID, false, nullptr, nsISO88592ToUnicodeConstructor },
648 { &kNS_ISO88593TOUNICODE_CID, false, nullptr, nsISO88593ToUnicodeConstructor },
649 { &kNS_ISO88594TOUNICODE_CID, false, nullptr, nsISO88594ToUnicodeConstructor },
650 { &kNS_ISO88595TOUNICODE_CID, false, nullptr, nsISO88595ToUnicodeConstructor },
651 { &kNS_ISO88596TOUNICODE_CID, false, nullptr, nsISO88596ToUnicodeConstructor },
652 { &kNS_ISO88596ITOUNICODE_CID, false, nullptr, nsISO88596IToUnicodeConstructor },
653 { &kNS_ISO88596ETOUNICODE_CID, false, nullptr, nsISO88596EToUnicodeConstructor },
654 { &kNS_ISO88597TOUNICODE_CID, false, nullptr, nsISO88597ToUnicodeConstructor },
655 { &kNS_ISO88598TOUNICODE_CID, false, nullptr, nsISO88598ToUnicodeConstructor },
656 { &kNS_ISO88598ITOUNICODE_CID, false, nullptr, nsISO88598IToUnicodeConstructor },
657 { &kNS_ISO88598ETOUNICODE_CID, false, nullptr, nsISO88598EToUnicodeConstructor },
658 { &kNS_ISO88599TOUNICODE_CID, false, nullptr, nsISO88599ToUnicodeConstructor },
659 { &kNS_ISO885910TOUNICODE_CID, false, nullptr, nsISO885910ToUnicodeConstructor },
660 { &kNS_ISO885913TOUNICODE_CID, false, nullptr, nsISO885913ToUnicodeConstructor },
661 { &kNS_ISO885914TOUNICODE_CID, false, nullptr, nsISO885914ToUnicodeConstructor },
662 { &kNS_ISO885915TOUNICODE_CID, false, nullptr, nsISO885915ToUnicodeConstructor },
663 { &kNS_ISO885916TOUNICODE_CID, false, nullptr, nsISO885916ToUnicodeConstructor },
664 { &kNS_ISOIR111TOUNICODE_CID, false, nullptr, nsISOIR111ToUnicodeConstructor },
665 { &kNS_CP1250TOUNICODE_CID, false, nullptr, nsCP1250ToUnicodeConstructor },
666 { &kNS_CP1251TOUNICODE_CID, false, nullptr, nsCP1251ToUnicodeConstructor },
667 { &kNS_CP1253TOUNICODE_CID, false, nullptr, nsCP1253ToUnicodeConstructor },
668 { &kNS_CP1254TOUNICODE_CID, false, nullptr, nsCP1254ToUnicodeConstructor },
669 { &kNS_CP1255TOUNICODE_CID, false, nullptr, nsCP1255ToUnicodeConstructor },
670 { &kNS_CP1256TOUNICODE_CID, false, nullptr, nsCP1256ToUnicodeConstructor },
671 { &kNS_CP1257TOUNICODE_CID, false, nullptr, nsCP1257ToUnicodeConstructor },
672 { &kNS_CP1258TOUNICODE_CID, false, nullptr, nsCP1258ToUnicodeConstructor },
673 { &kNS_TIS620TOUNICODE_CID, false, nullptr, nsTIS620ToUnicodeConstructor },
674 { &kNS_ISO885911TOUNICODE_CID, false, nullptr, nsISO885911ToUnicodeConstructor },
675 { &kNS_CP874TOUNICODE_CID, false, nullptr, nsCP874ToUnicodeConstructor },
676 { &kNS_CP866TOUNICODE_CID, false, nullptr, nsCP866ToUnicodeConstructor },
677 { &kNS_KOI8RTOUNICODE_CID, false, nullptr, nsKOI8RToUnicodeConstructor },
678 { &kNS_KOI8UTOUNICODE_CID, false, nullptr, nsKOI8UToUnicodeConstructor },
679 { &kNS_MACCETOUNICODE_CID, false, nullptr, nsMacCEToUnicodeConstructor },
680 { &kNS_MACGREEKTOUNICODE_CID, false, nullptr, nsMacGreekToUnicodeConstructor },
681 { &kNS_MACTURKISHTOUNICODE_CID, false, nullptr, nsMacTurkishToUnicodeConstructor },
682 { &kNS_MACCROATIANTOUNICODE_CID, false, nullptr, nsMacCroatianToUnicodeConstructor },
683 { &kNS_MACROMANIANTOUNICODE_CID, false, nullptr, nsMacRomanianToUnicodeConstructor },
684 { &kNS_MACCYRILLICTOUNICODE_CID, false, nullptr, nsMacCyrillicToUnicodeConstructor },
685 { &kNS_MACICELANDICTOUNICODE_CID, false, nullptr, nsMacIcelandicToUnicodeConstructor },
686 { &kNS_ARMSCII8TOUNICODE_CID, false, nullptr, nsARMSCII8ToUnicodeConstructor },
687 { &kNS_TCVN5712TOUNICODE_CID, false, nullptr, nsTCVN5712ToUnicodeConstructor },
688 { &kNS_VISCIITOUNICODE_CID, false, nullptr, nsVISCIIToUnicodeConstructor },
689 { &kNS_VPSTOUNICODE_CID, false, nullptr, nsVPSToUnicodeConstructor },
690 { &kNS_UTF16TOUNICODE_CID, false, nullptr, nsUTF16ToUnicodeConstructor },
691 { &kNS_UTF16BETOUNICODE_CID, false, nullptr, nsUTF16BEToUnicodeConstructor },
692 { &kNS_UTF16LETOUNICODE_CID, false, nullptr, nsUTF16LEToUnicodeConstructor },
693 { &kNS_T61TOUNICODE_CID, false, nullptr, nsT61ToUnicodeConstructor },
694 { &kNS_USERDEFINEDTOUNICODE_CID, false, nullptr, nsUserDefinedToUnicodeConstructor },
695 { &kNS_MACARABICTOUNICODE_CID, false, nullptr, nsMacArabicToUnicodeConstructor },
696 { &kNS_MACDEVANAGARITOUNICODE_CID, false, nullptr, nsMacDevanagariToUnicodeConstructor },
697 { &kNS_MACFARSITOUNICODE_CID, false, nullptr, nsMacFarsiToUnicodeConstructor },
698 { &kNS_MACGURMUKHITOUNICODE_CID, false, nullptr, nsMacGurmukhiToUnicodeConstructor },
699 { &kNS_MACGUJARATITOUNICODE_CID, false, nullptr, nsMacGujaratiToUnicodeConstructor },
700 { &kNS_MACHEBREWTOUNICODE_CID, false, nullptr, nsMacHebrewToUnicodeConstructor },
701 { &kNS_UNICODETOASCII_CID, false, nullptr, nsUnicodeToAsciiConstructor },
702 { &kNS_UNICODETOISO88592_CID, false, nullptr, nsUnicodeToISO88592Constructor },
703 { &kNS_UNICODETOISO88593_CID, false, nullptr, nsUnicodeToISO88593Constructor },
704 { &kNS_UNICODETOISO88594_CID, false, nullptr, nsUnicodeToISO88594Constructor },
705 { &kNS_UNICODETOISO88595_CID, false, nullptr, nsUnicodeToISO88595Constructor },
706 { &kNS_UNICODETOISO88596_CID, false, nullptr, nsUnicodeToISO88596Constructor },
707 { &kNS_UNICODETOISO88596I_CID, false, nullptr, nsUnicodeToISO88596IConstructor },
708 { &kNS_UNICODETOISO88596E_CID, false, nullptr, nsUnicodeToISO88596EConstructor },
709 { &kNS_UNICODETOISO88597_CID, false, nullptr, nsUnicodeToISO88597Constructor },
710 { &kNS_UNICODETOISO88598_CID, false, nullptr, nsUnicodeToISO88598Constructor },
711 { &kNS_UNICODETOISO88598I_CID, false, nullptr, nsUnicodeToISO88598IConstructor },
712 { &kNS_UNICODETOISO88598E_CID, false, nullptr, nsUnicodeToISO88598EConstructor },
713 { &kNS_UNICODETOISO88599_CID, false, nullptr, nsUnicodeToISO88599Constructor },
714 { &kNS_UNICODETOISO885910_CID, false, nullptr, nsUnicodeToISO885910Constructor },
715 { &kNS_UNICODETOISO885913_CID, false, nullptr, nsUnicodeToISO885913Constructor },
716 { &kNS_UNICODETOISO885914_CID, false, nullptr, nsUnicodeToISO885914Constructor },
717 { &kNS_UNICODETOISO885915_CID, false, nullptr, nsUnicodeToISO885915Constructor },
718 { &kNS_UNICODETOISO885916_CID, false, nullptr, nsUnicodeToISO885916Constructor },
719 { &kNS_UNICODETOISOIR111_CID, false, nullptr, nsUnicodeToISOIR111Constructor },
720 { &kNS_UNICODETOCP1250_CID, false, nullptr, nsUnicodeToCP1250Constructor },
721 { &kNS_UNICODETOCP1251_CID, false, nullptr, nsUnicodeToCP1251Constructor },
722 { &kNS_UNICODETOCP1253_CID, false, nullptr, nsUnicodeToCP1253Constructor },
723 { &kNS_UNICODETOCP1254_CID, false, nullptr, nsUnicodeToCP1254Constructor },
724 { &kNS_UNICODETOCP1255_CID, false, nullptr, nsUnicodeToCP1255Constructor },
725 { &kNS_UNICODETOCP1256_CID, false, nullptr, nsUnicodeToCP1256Constructor },
726 { &kNS_UNICODETOCP1257_CID, false, nullptr, nsUnicodeToCP1257Constructor },
727 { &kNS_UNICODETOCP1258_CID, false, nullptr, nsUnicodeToCP1258Constructor },
728 { &kNS_UNICODETOTIS620_CID, false, nullptr, nsUnicodeToTIS620Constructor },
729 { &kNS_UNICODETOISO885911_CID, false, nullptr, nsUnicodeToISO885911Constructor },
730 { &kNS_UNICODETOCP874_CID, false, nullptr, nsUnicodeToCP874Constructor },
731 { &kNS_UNICODETOCP866_CID, false, nullptr, nsUnicodeToCP866Constructor },
732 { &kNS_UNICODETOKOI8R_CID, false, nullptr, nsUnicodeToKOI8RConstructor },
733 { &kNS_UNICODETOKOI8U_CID, false, nullptr, nsUnicodeToKOI8UConstructor },
734 { &kNS_UNICODETOMACCE_CID, false, nullptr, nsUnicodeToMacCEConstructor },
735 { &kNS_UNICODETOMACGREEK_CID, false, nullptr, nsUnicodeToMacGreekConstructor },
736 { &kNS_UNICODETOMACTURKISH_CID, false, nullptr, nsUnicodeToMacTurkishConstructor },
737 { &kNS_UNICODETOMACCROATIAN_CID, false, nullptr, nsUnicodeToMacCroatianConstructor },
738 { &kNS_UNICODETOMACROMANIAN_CID, false, nullptr, nsUnicodeToMacRomanianConstructor },
739 { &kNS_UNICODETOMACCYRILLIC_CID, false, nullptr, nsUnicodeToMacCyrillicConstructor },
740 { &kNS_UNICODETOMACICELANDIC_CID, false, nullptr, nsUnicodeToMacIcelandicConstructor },
741 { &kNS_UNICODETOARMSCII8_CID, false, nullptr, nsUnicodeToARMSCII8Constructor },
742 { &kNS_UNICODETOTCVN5712_CID, false, nullptr, nsUnicodeToTCVN5712Constructor },
743 { &kNS_UNICODETOVISCII_CID, false, nullptr, nsUnicodeToVISCIIConstructor },
744 { &kNS_UNICODETOVPS_CID, false, nullptr, nsUnicodeToVPSConstructor },
745 { &kNS_UNICODETOUTF16BE_CID, false, nullptr, nsUnicodeToUTF16BEConstructor },
746 { &kNS_UNICODETOUTF16LE_CID, false, nullptr, nsUnicodeToUTF16LEConstructor },
747 { &kNS_UNICODETOUTF16_CID, false, nullptr, nsUnicodeToUTF16Constructor },
748 { &kNS_UNICODETOT61_CID, false, nullptr, nsUnicodeToT61Constructor },
749 { &kNS_UNICODETOUSERDEFINED_CID, false, nullptr, nsUnicodeToUserDefinedConstructor },
750 { &kNS_UNICODETOMACARABIC_CID, false, nullptr, nsUnicodeToMacArabicConstructor },
751 { &kNS_UNICODETOMACDEVANAGARI_CID, false, nullptr, nsUnicodeToMacDevanagariConstructor },
752 { &kNS_UNICODETOMACFARSI_CID, false, nullptr, nsUnicodeToMacFarsiConstructor },
753 { &kNS_UNICODETOMACGURMUKHI_CID, false, nullptr, nsUnicodeToMacGurmukhiConstructor },
754 { &kNS_UNICODETOMACGUJARATI_CID, false, nullptr, nsUnicodeToMacGujaratiConstructor },
755 { &kNS_UNICODETOMACHEBREW_CID, false, nullptr, nsUnicodeToMacHebrewConstructor },
756 { &kNS_CP850TOUNICODE_CID, false, nullptr, nsCP850ToUnicodeConstructor },
757 { &kNS_CP852TOUNICODE_CID, false, nullptr, nsCP852ToUnicodeConstructor },
758 { &kNS_CP855TOUNICODE_CID, false, nullptr, nsCP855ToUnicodeConstructor },
759 { &kNS_CP857TOUNICODE_CID, false, nullptr, nsCP857ToUnicodeConstructor },
760 { &kNS_CP862TOUNICODE_CID, false, nullptr, nsCP862ToUnicodeConstructor },
761 { &kNS_CP864TOUNICODE_CID, false, nullptr, nsCP864ToUnicodeConstructor },
762 { &kNS_UNICODETOCP850_CID, false, nullptr, nsUnicodeToCP850Constructor },
763 { &kNS_UNICODETOCP852_CID, false, nullptr, nsUnicodeToCP852Constructor },
764 { &kNS_UNICODETOCP855_CID, false, nullptr, nsUnicodeToCP855Constructor },
765 { &kNS_UNICODETOCP857_CID, false, nullptr, nsUnicodeToCP857Constructor },
766 { &kNS_UNICODETOCP862_CID, false, nullptr, nsUnicodeToCP862Constructor },
767 { &kNS_UNICODETOCP864_CID, false, nullptr, nsUnicodeToCP864Constructor },
768 { &kNS_SJISTOUNICODE_CID, false, nullptr, nsShiftJISToUnicodeConstructor },
769 { &kNS_EUCJPTOUNICODE_CID, false, nullptr, nsEUCJPToUnicodeV2Constructor },
770 { &kNS_ISO2022JPTOUNICODE_CID, false, nullptr, nsISO2022JPToUnicodeV2Constructor },
771 { &kNS_UNICODETOSJIS_CID, false, nullptr, nsUnicodeToSJISConstructor },
772 { &kNS_UNICODETOEUCJP_CID, false, nullptr, nsUnicodeToEUCJPConstructor },
773 { &kNS_UNICODETOISO2022JP_CID, false, nullptr, nsUnicodeToISO2022JPConstructor },
774 { &kNS_UNICODETOJISX0201_CID, false, nullptr, nsUnicodeToJISx0201Constructor },
775 { &kNS_EUCTWTOUNICODE_CID, false, nullptr, nsEUCTWToUnicodeConstructor },
776 { &kNS_UNICODETOEUCTW_CID, false, nullptr, nsUnicodeToEUCTWConstructor },
777 { &kNS_UNICODETOBIG5_CID, false, nullptr, nsUnicodeToBIG5Constructor },
778 { &kNS_BIG5TOUNICODE_CID, false, nullptr, nsBIG5ToUnicodeConstructor },
779 { &kNS_UNICODETOBIG5HKSCS_CID, false, nullptr, nsUnicodeToBIG5HKSCSConstructor },
780 { &kNS_UNICODETOHKSCS_CID, false, nullptr, nsUnicodeToHKSCSConstructor },
781 { &kNS_BIG5HKSCSTOUNICODE_CID, false, nullptr, nsBIG5HKSCSToUnicodeConstructor },
782 { &kNS_EUCKRTOUNICODE_CID, false, nullptr, nsCP949ToUnicodeConstructor },
783 { &kNS_UNICODETOEUCKR_CID, false, nullptr, nsUnicodeToCP949Constructor },
784 { &kNS_JOHABTOUNICODE_CID, false, nullptr, nsJohabToUnicodeConstructor },
785 { &kNS_UNICODETOJOHAB_CID, false, nullptr, nsUnicodeToJohabConstructor },
786 { &kNS_ISO2022KRTOUNICODE_CID, false, nullptr, nsISO2022KRToUnicodeConstructor },
787 { &kNS_GB2312TOUNICODE_CID, false, nullptr, nsGB18030ToUnicodeConstructor },
788 { &kNS_UNICODETOGB2312_CID, false, nullptr, nsUnicodeToGB2312V2Constructor },
789 { &kNS_GBKTOUNICODE_CID, false, nullptr, nsGB18030ToUnicodeConstructor },
790 { &kNS_UNICODETOGBK_CID, false, nullptr, nsUnicodeToGBKConstructor },
791 { &kNS_HZTOUNICODE_CID, false, nullptr, nsHZToUnicodeConstructor },
792 { &kNS_UNICODETOHZ_CID, false, nullptr, nsUnicodeToHZConstructor },
793 { &kNS_GB18030TOUNICODE_CID, false, nullptr, nsGB18030ToUnicodeConstructor },
794 { &kNS_UNICODETOGB18030_CID, false, nullptr, nsUnicodeToGB18030Constructor },
795 { &kNS_ISO2022CNTOUNICODE_CID, false, nullptr, nsISO2022CNToUnicodeConstructor },
796 { nullptr },
797 };
798
799 static const mozilla::Module::ContractIDEntry kUConvContracts[] = {
800 { NS_CHARSETCONVERTERMANAGER_CONTRACTID, &kNS_ICHARSETCONVERTERMANAGER_CID },
801 { NS_ITEXTTOSUBURI_CONTRACTID, &kNS_TEXTTOSUBURI_CID },
802 { NS_CONVERTERINPUTSTREAM_CONTRACTID, &kNS_CONVERTERINPUTSTREAM_CID },
803 { "@mozilla.org/intl/converter-output-stream;1", &kNS_CONVERTEROUTPUTSTREAM_CID },
804 { NS_ISCRIPTABLEUNICODECONVERTER_CONTRACTID, &kNS_ISCRIPTABLEUNICODECONVERTER_CID },
805 { NS_UTF8CONVERTERSERVICE_CONTRACTID, &kNS_UTF8CONVERTERSERVICE_CID },
806 { NS_ISO88591TOUNICODE_CONTRACTID, &kNS_ISO88591TOUNICODE_CID },
807 { NS_CP1252TOUNICODE_CONTRACTID, &kNS_CP1252TOUNICODE_CID },
808 { NS_MACROMANTOUNICODE_CONTRACTID, &kNS_MACROMANTOUNICODE_CID },
809 { NS_REPLACEMENTTOUNICODE_CONTRACTID, &kNS_REPLACEMENTTOUNICODE_CID },
810 { NS_UTF8TOUNICODE_CONTRACTID, &kNS_UTF8TOUNICODE_CID },
811 { NS_UNICODETOISO88591_CONTRACTID, &kNS_UNICODETOISO88591_CID },
812 { NS_UNICODETOCP1252_CONTRACTID, &kNS_UNICODETOCP1252_CID },
813 { NS_UNICODETOMACROMAN_CONTRACTID, &kNS_UNICODETOMACROMAN_CID },
814 { NS_UNICODETOUTF8_CONTRACTID, &kNS_UNICODETOUTF8_CID },
815 { NS_UNICODEDECODER_CONTRACTID_BASE "us-ascii", &kNS_ASCIITOUNICODE_CID },
816 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-2", &kNS_ISO88592TOUNICODE_CID },
817 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-3", &kNS_ISO88593TOUNICODE_CID },
818 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-4", &kNS_ISO88594TOUNICODE_CID },
819 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-5", &kNS_ISO88595TOUNICODE_CID },
820 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6", &kNS_ISO88596TOUNICODE_CID },
821 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-I", &kNS_ISO88596ITOUNICODE_CID },
822 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-E", &kNS_ISO88596ETOUNICODE_CID },
823 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-7", &kNS_ISO88597TOUNICODE_CID },
824 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8", &kNS_ISO88598TOUNICODE_CID },
825 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-I", &kNS_ISO88598ITOUNICODE_CID },
826 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-E", &kNS_ISO88598ETOUNICODE_CID },
827 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-9", &kNS_ISO88599TOUNICODE_CID },
828 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-10", &kNS_ISO885910TOUNICODE_CID },
829 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-13", &kNS_ISO885913TOUNICODE_CID },
830 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-14", &kNS_ISO885914TOUNICODE_CID },
831 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-15", &kNS_ISO885915TOUNICODE_CID },
832 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-16", &kNS_ISO885916TOUNICODE_CID },
833 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-IR-111", &kNS_ISOIR111TOUNICODE_CID },
834 { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1250", &kNS_CP1250TOUNICODE_CID },
835 { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1251", &kNS_CP1251TOUNICODE_CID },
836 { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1253", &kNS_CP1253TOUNICODE_CID },
837 { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1254", &kNS_CP1254TOUNICODE_CID },
838 { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1255", &kNS_CP1255TOUNICODE_CID },
839 { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1256", &kNS_CP1256TOUNICODE_CID },
840 { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1257", &kNS_CP1257TOUNICODE_CID },
841 { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1258", &kNS_CP1258TOUNICODE_CID },
842 { NS_UNICODEDECODER_CONTRACTID_BASE "TIS-620", &kNS_TIS620TOUNICODE_CID },
843 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-11", &kNS_ISO885911TOUNICODE_CID },
844 { NS_UNICODEDECODER_CONTRACTID_BASE "windows-874", &kNS_CP874TOUNICODE_CID },
845 { NS_UNICODEDECODER_CONTRACTID_BASE "IBM866", &kNS_CP866TOUNICODE_CID },
846 { NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-R", &kNS_KOI8RTOUNICODE_CID },
847 { NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-U", &kNS_KOI8UTOUNICODE_CID },
848 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-ce", &kNS_MACCETOUNICODE_CID },
849 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-greek", &kNS_MACGREEKTOUNICODE_CID },
850 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-turkish", &kNS_MACTURKISHTOUNICODE_CID },
851 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-croatian", &kNS_MACCROATIANTOUNICODE_CID },
852 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-romanian", &kNS_MACROMANIANTOUNICODE_CID },
853 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-cyrillic", &kNS_MACCYRILLICTOUNICODE_CID },
854 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-icelandic", &kNS_MACICELANDICTOUNICODE_CID },
855 { NS_UNICODEDECODER_CONTRACTID_BASE "armscii-8", &kNS_ARMSCII8TOUNICODE_CID },
856 { NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-tcvn5712", &kNS_TCVN5712TOUNICODE_CID },
857 { NS_UNICODEDECODER_CONTRACTID_BASE "VISCII", &kNS_VISCIITOUNICODE_CID },
858 { NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-vps", &kNS_VPSTOUNICODE_CID },
859 { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16", &kNS_UTF16TOUNICODE_CID },
860 { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16BE", &kNS_UTF16BETOUNICODE_CID },
861 { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16LE", &kNS_UTF16LETOUNICODE_CID },
862 { NS_UNICODEDECODER_CONTRACTID_BASE "T.61-8bit", &kNS_T61TOUNICODE_CID },
863 { NS_UNICODEDECODER_CONTRACTID_BASE "x-user-defined", &kNS_USERDEFINEDTOUNICODE_CID },
864 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-arabic", &kNS_MACARABICTOUNICODE_CID },
865 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-devanagari", &kNS_MACDEVANAGARITOUNICODE_CID },
866 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-farsi", &kNS_MACFARSITOUNICODE_CID },
867 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gurmukhi", &kNS_MACGURMUKHITOUNICODE_CID },
868 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gujarati", &kNS_MACGUJARATITOUNICODE_CID },
869 { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-hebrew", &kNS_MACHEBREWTOUNICODE_CID },
870 { NS_UNICODEENCODER_CONTRACTID_BASE "us-ascii", &kNS_UNICODETOASCII_CID },
871 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-2", &kNS_UNICODETOISO88592_CID },
872 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-3", &kNS_UNICODETOISO88593_CID },
873 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-4", &kNS_UNICODETOISO88594_CID },
874 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-5", &kNS_UNICODETOISO88595_CID },
875 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6", &kNS_UNICODETOISO88596_CID },
876 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-I", &kNS_UNICODETOISO88596I_CID },
877 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-E", &kNS_UNICODETOISO88596E_CID },
878 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-7", &kNS_UNICODETOISO88597_CID },
879 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8", &kNS_UNICODETOISO88598_CID },
880 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-I", &kNS_UNICODETOISO88598I_CID },
881 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-E", &kNS_UNICODETOISO88598E_CID },
882 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-9", &kNS_UNICODETOISO88599_CID },
883 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-10", &kNS_UNICODETOISO885910_CID },
884 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-13", &kNS_UNICODETOISO885913_CID },
885 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-14", &kNS_UNICODETOISO885914_CID },
886 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-15", &kNS_UNICODETOISO885915_CID },
887 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-16", &kNS_UNICODETOISO885916_CID },
888 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-IR-111", &kNS_UNICODETOISOIR111_CID },
889 { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1250", &kNS_UNICODETOCP1250_CID },
890 { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1251", &kNS_UNICODETOCP1251_CID },
891 { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1253", &kNS_UNICODETOCP1253_CID },
892 { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1254", &kNS_UNICODETOCP1254_CID },
893 { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1255", &kNS_UNICODETOCP1255_CID },
894 { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1256", &kNS_UNICODETOCP1256_CID },
895 { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1257", &kNS_UNICODETOCP1257_CID },
896 { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1258", &kNS_UNICODETOCP1258_CID },
897 { NS_UNICODEENCODER_CONTRACTID_BASE "TIS-620", &kNS_UNICODETOTIS620_CID },
898 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-11", &kNS_UNICODETOISO885911_CID },
899 { NS_UNICODEENCODER_CONTRACTID_BASE "windows-874", &kNS_UNICODETOCP874_CID },
900 { NS_UNICODEENCODER_CONTRACTID_BASE "IBM866", &kNS_UNICODETOCP866_CID },
901 { NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-R", &kNS_UNICODETOKOI8R_CID },
902 { NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-U", &kNS_UNICODETOKOI8U_CID },
903 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-ce", &kNS_UNICODETOMACCE_CID },
904 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-greek", &kNS_UNICODETOMACGREEK_CID },
905 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-turkish", &kNS_UNICODETOMACTURKISH_CID },
906 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-croatian", &kNS_UNICODETOMACCROATIAN_CID },
907 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-romanian", &kNS_UNICODETOMACROMANIAN_CID },
908 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-cyrillic", &kNS_UNICODETOMACCYRILLIC_CID },
909 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-icelandic", &kNS_UNICODETOMACICELANDIC_CID },
910 { NS_UNICODEENCODER_CONTRACTID_BASE "armscii-8", &kNS_UNICODETOARMSCII8_CID },
911 { NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-tcvn5712", &kNS_UNICODETOTCVN5712_CID },
912 { NS_UNICODEENCODER_CONTRACTID_BASE "VISCII", &kNS_UNICODETOVISCII_CID },
913 { NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-vps", &kNS_UNICODETOVPS_CID },
914 { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16BE", &kNS_UNICODETOUTF16BE_CID },
915 { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16LE", &kNS_UNICODETOUTF16LE_CID },
916 { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16", &kNS_UNICODETOUTF16_CID },
917 { NS_UNICODEENCODER_CONTRACTID_BASE "T.61-8bit", &kNS_UNICODETOT61_CID },
918 { NS_UNICODEENCODER_CONTRACTID_BASE "x-user-defined", &kNS_UNICODETOUSERDEFINED_CID },
919 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-arabic", &kNS_UNICODETOMACARABIC_CID },
920 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-devanagari", &kNS_UNICODETOMACDEVANAGARI_CID },
921 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-farsi", &kNS_UNICODETOMACFARSI_CID },
922 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gurmukhi", &kNS_UNICODETOMACGURMUKHI_CID },
923 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gujarati", &kNS_UNICODETOMACGUJARATI_CID },
924 { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-hebrew", &kNS_UNICODETOMACHEBREW_CID },
925 { NS_UNICODEDECODER_CONTRACTID_BASE "IBM850", &kNS_CP850TOUNICODE_CID },
926 { NS_UNICODEDECODER_CONTRACTID_BASE "IBM852", &kNS_CP852TOUNICODE_CID },
927 { NS_UNICODEDECODER_CONTRACTID_BASE "IBM855", &kNS_CP855TOUNICODE_CID },
928 { NS_UNICODEDECODER_CONTRACTID_BASE "IBM857", &kNS_CP857TOUNICODE_CID },
929 { NS_UNICODEDECODER_CONTRACTID_BASE "IBM862", &kNS_CP862TOUNICODE_CID },
930 { NS_UNICODEDECODER_CONTRACTID_BASE "IBM864", &kNS_CP864TOUNICODE_CID },
931 { NS_UNICODEENCODER_CONTRACTID_BASE "IBM850", &kNS_UNICODETOCP850_CID },
932 { NS_UNICODEENCODER_CONTRACTID_BASE "IBM852", &kNS_UNICODETOCP852_CID },
933 { NS_UNICODEENCODER_CONTRACTID_BASE "IBM855", &kNS_UNICODETOCP855_CID },
934 { NS_UNICODEENCODER_CONTRACTID_BASE "IBM857", &kNS_UNICODETOCP857_CID },
935 { NS_UNICODEENCODER_CONTRACTID_BASE "IBM862", &kNS_UNICODETOCP862_CID },
936 { NS_UNICODEENCODER_CONTRACTID_BASE "IBM864", &kNS_UNICODETOCP864_CID },
937 { NS_UNICODEDECODER_CONTRACTID_BASE "Shift_JIS", &kNS_SJISTOUNICODE_CID },
938 { NS_UNICODEDECODER_CONTRACTID_BASE "EUC-JP", &kNS_EUCJPTOUNICODE_CID },
939 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-JP", &kNS_ISO2022JPTOUNICODE_CID },
940 { NS_UNICODEENCODER_CONTRACTID_BASE "Shift_JIS", &kNS_UNICODETOSJIS_CID },
941 { NS_UNICODEENCODER_CONTRACTID_BASE "EUC-JP", &kNS_UNICODETOEUCJP_CID },
942 { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-2022-JP", &kNS_UNICODETOISO2022JP_CID },
943 { NS_UNICODEENCODER_CONTRACTID_BASE "jis_0201", &kNS_UNICODETOJISX0201_CID },
944 { NS_UNICODEDECODER_CONTRACTID_BASE "x-euc-tw", &kNS_EUCTWTOUNICODE_CID },
945 { NS_UNICODEENCODER_CONTRACTID_BASE "x-euc-tw", &kNS_UNICODETOEUCTW_CID },
946 { NS_UNICODEENCODER_CONTRACTID_BASE "Big5", &kNS_UNICODETOBIG5_CID },
947 { NS_UNICODEDECODER_CONTRACTID_BASE "Big5", &kNS_BIG5TOUNICODE_CID },
948 { NS_UNICODEENCODER_CONTRACTID_BASE "Big5-HKSCS", &kNS_UNICODETOBIG5HKSCS_CID },
949 { NS_UNICODEENCODER_CONTRACTID_BASE "hkscs-1", &kNS_UNICODETOHKSCS_CID },
950 { NS_UNICODEDECODER_CONTRACTID_BASE "Big5-HKSCS", &kNS_BIG5HKSCSTOUNICODE_CID },
951 { NS_UNICODEDECODER_CONTRACTID_BASE "EUC-KR", &kNS_EUCKRTOUNICODE_CID },
952 { NS_UNICODEENCODER_CONTRACTID_BASE "EUC-KR", &kNS_UNICODETOEUCKR_CID },
953 { NS_UNICODEDECODER_CONTRACTID_BASE "x-johab", &kNS_JOHABTOUNICODE_CID },
954 { NS_UNICODEENCODER_CONTRACTID_BASE "x-johab", &kNS_UNICODETOJOHAB_CID },
955 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-KR", &kNS_ISO2022KRTOUNICODE_CID },
956 { NS_UNICODEDECODER_CONTRACTID_BASE "GB2312", &kNS_GB2312TOUNICODE_CID },
957 { NS_UNICODEENCODER_CONTRACTID_BASE "GB2312", &kNS_UNICODETOGB2312_CID },
958 { NS_UNICODEDECODER_CONTRACTID_BASE "gbk", &kNS_GBKTOUNICODE_CID },
959 { NS_UNICODEENCODER_CONTRACTID_BASE "gbk", &kNS_UNICODETOGBK_CID },
960 { NS_UNICODEDECODER_CONTRACTID_BASE "HZ-GB-2312", &kNS_HZTOUNICODE_CID },
961 { NS_UNICODEENCODER_CONTRACTID_BASE "HZ-GB-2312", &kNS_UNICODETOHZ_CID },
962 { NS_UNICODEDECODER_CONTRACTID_BASE "gb18030", &kNS_GB18030TOUNICODE_CID },
963 { NS_UNICODEENCODER_CONTRACTID_BASE "gb18030", &kNS_UNICODETOGB18030_CID },
964 { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-CN", &kNS_ISO2022CNTOUNICODE_CID },
965 { nullptr }
966 };
967
968 static const mozilla::Module kUConvModule = {
969 mozilla::Module::kVersion,
970 kUConvCIDs,
971 kUConvContracts,
972 kUConvCategories
973 };
974
975 NSMODULE_DEFN(nsUConvModule) = &kUConvModule;

mercurial