michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: #include "mozilla/ModuleUtils.h" michael@0: #include "nsICharsetConverterManager.h" michael@0: #include "nsEncoderDecoderUtils.h" michael@0: #include "nsIUnicodeDecoder.h" michael@0: #include "nsIUnicodeEncoder.h" michael@0: michael@0: #include "nsUConvCID.h" michael@0: #include "nsCharsetConverterManager.h" michael@0: #include "nsTextToSubURI.h" michael@0: #include "nsUTF8ConverterService.h" michael@0: #include "nsConverterInputStream.h" michael@0: #include "nsConverterOutputStream.h" michael@0: #include "nsScriptableUConv.h" michael@0: #include "nsIOutputStream.h" michael@0: #include "nsITextToSubURI.h" michael@0: michael@0: #include "nsISO88591ToUnicode.h" michael@0: #include "nsCP1252ToUnicode.h" michael@0: #include "nsMacRomanToUnicode.h" michael@0: #include "nsReplacementToUnicode.h" michael@0: #include "nsUTF8ToUnicode.h" michael@0: #include "nsUnicodeToISO88591.h" michael@0: #include "nsUnicodeToCP1252.h" michael@0: #include "nsUnicodeToMacRoman.h" michael@0: #include "nsUnicodeToUTF8.h" michael@0: michael@0: // ucvlatin michael@0: #include "nsUCvLatinCID.h" michael@0: #include "nsAsciiToUnicode.h" michael@0: #include "nsISO88592ToUnicode.h" michael@0: #include "nsISO88593ToUnicode.h" michael@0: #include "nsISO88594ToUnicode.h" michael@0: #include "nsISO88595ToUnicode.h" michael@0: #include "nsISO88596ToUnicode.h" michael@0: #include "nsISO88596EToUnicode.h" michael@0: #include "nsISO88596IToUnicode.h" michael@0: #include "nsISO88597ToUnicode.h" michael@0: #include "nsISO88598ToUnicode.h" michael@0: #include "nsISO88598EToUnicode.h" michael@0: #include "nsISO88598IToUnicode.h" michael@0: #include "nsISO88599ToUnicode.h" michael@0: #include "nsISO885910ToUnicode.h" michael@0: #include "nsISO885913ToUnicode.h" michael@0: #include "nsISO885914ToUnicode.h" michael@0: #include "nsISO885915ToUnicode.h" michael@0: #include "nsISO885916ToUnicode.h" michael@0: #include "nsISOIR111ToUnicode.h" michael@0: #include "nsCP1250ToUnicode.h" michael@0: #include "nsCP1251ToUnicode.h" michael@0: #include "nsCP1253ToUnicode.h" michael@0: #include "nsCP1254ToUnicode.h" michael@0: #include "nsCP1255ToUnicode.h" michael@0: #include "nsCP1256ToUnicode.h" michael@0: #include "nsCP1257ToUnicode.h" michael@0: #include "nsCP1258ToUnicode.h" michael@0: #include "nsCP874ToUnicode.h" michael@0: #include "nsISO885911ToUnicode.h" michael@0: #include "nsTIS620ToUnicode.h" michael@0: #include "nsCP866ToUnicode.h" michael@0: #include "nsKOI8RToUnicode.h" michael@0: #include "nsKOI8UToUnicode.h" michael@0: #include "nsMacCEToUnicode.h" michael@0: #include "nsMacGreekToUnicode.h" michael@0: #include "nsMacTurkishToUnicode.h" michael@0: #include "nsMacCroatianToUnicode.h" michael@0: #include "nsMacRomanianToUnicode.h" michael@0: #include "nsMacCyrillicToUnicode.h" michael@0: #include "nsMacIcelandicToUnicode.h" michael@0: #include "nsARMSCII8ToUnicode.h" michael@0: #include "nsTCVN5712ToUnicode.h" michael@0: #include "nsVISCIIToUnicode.h" michael@0: #include "nsVPSToUnicode.h" michael@0: #include "nsUTF16ToUnicode.h" michael@0: #include "nsT61ToUnicode.h" michael@0: #include "nsUserDefinedToUnicode.h" michael@0: #include "nsUnicodeToAscii.h" michael@0: #include "nsUnicodeToISO88592.h" michael@0: #include "nsUnicodeToISO88593.h" michael@0: #include "nsUnicodeToISO88594.h" michael@0: #include "nsUnicodeToISO88595.h" michael@0: #include "nsUnicodeToISO88596.h" michael@0: #include "nsUnicodeToISO88596E.h" michael@0: #include "nsUnicodeToISO88596I.h" michael@0: #include "nsUnicodeToISO88597.h" michael@0: #include "nsUnicodeToISO88598.h" michael@0: #include "nsUnicodeToISO88598E.h" michael@0: #include "nsUnicodeToISO88598I.h" michael@0: #include "nsUnicodeToISO88599.h" michael@0: #include "nsUnicodeToISO885910.h" michael@0: #include "nsUnicodeToISO885913.h" michael@0: #include "nsUnicodeToISO885914.h" michael@0: #include "nsUnicodeToISO885915.h" michael@0: #include "nsUnicodeToISO885916.h" michael@0: #include "nsUnicodeToISOIR111.h" michael@0: #include "nsUnicodeToCP1250.h" michael@0: #include "nsUnicodeToCP1251.h" michael@0: #include "nsUnicodeToCP1253.h" michael@0: #include "nsUnicodeToCP1254.h" michael@0: #include "nsUnicodeToCP1255.h" michael@0: #include "nsUnicodeToCP1256.h" michael@0: #include "nsUnicodeToCP1257.h" michael@0: #include "nsUnicodeToCP1258.h" michael@0: #include "nsUnicodeToCP874.h" michael@0: #include "nsUnicodeToISO885911.h" michael@0: #include "nsUnicodeToTIS620.h" michael@0: #include "nsUnicodeToCP866.h" michael@0: #include "nsUnicodeToKOI8R.h" michael@0: #include "nsUnicodeToKOI8U.h" michael@0: #include "nsUnicodeToMacCE.h" michael@0: #include "nsUnicodeToMacGreek.h" michael@0: #include "nsUnicodeToMacTurkish.h" michael@0: #include "nsUnicodeToMacCroatian.h" michael@0: #include "nsUnicodeToMacRomanian.h" michael@0: #include "nsUnicodeToMacCyrillic.h" michael@0: #include "nsUnicodeToMacIcelandic.h" michael@0: #include "nsUnicodeToARMSCII8.h" michael@0: #include "nsUnicodeToTCVN5712.h" michael@0: #include "nsUnicodeToVISCII.h" michael@0: #include "nsUnicodeToVPS.h" michael@0: #include "nsUnicodeToUTF16.h" michael@0: #include "nsUnicodeToT61.h" michael@0: #include "nsUnicodeToUserDefined.h" michael@0: #include "nsMacArabicToUnicode.h" michael@0: #include "nsMacDevanagariToUnicode.h" michael@0: #include "nsMacFarsiToUnicode.h" michael@0: #include "nsMacGujaratiToUnicode.h" michael@0: #include "nsMacGurmukhiToUnicode.h" michael@0: #include "nsMacHebrewToUnicode.h" michael@0: #include "nsUnicodeToMacArabic.h" michael@0: #include "nsUnicodeToMacDevanagari.h" michael@0: #include "nsUnicodeToMacFarsi.h" michael@0: #include "nsUnicodeToMacGujarati.h" michael@0: #include "nsUnicodeToMacGurmukhi.h" michael@0: #include "nsUnicodeToMacHebrew.h" michael@0: michael@0: // ucvibm michael@0: #include "nsUCvIBMCID.h" michael@0: #include "nsCP850ToUnicode.h" michael@0: #include "nsCP852ToUnicode.h" michael@0: #include "nsCP855ToUnicode.h" michael@0: #include "nsCP857ToUnicode.h" michael@0: #include "nsCP862ToUnicode.h" michael@0: #include "nsCP864ToUnicode.h" michael@0: #include "nsUnicodeToCP850.h" michael@0: #include "nsUnicodeToCP852.h" michael@0: #include "nsUnicodeToCP855.h" michael@0: #include "nsUnicodeToCP857.h" michael@0: #include "nsUnicodeToCP862.h" michael@0: #include "nsUnicodeToCP864.h" michael@0: michael@0: // ucvja michael@0: #include "nsUCVJACID.h" michael@0: #include "nsUCVJA2CID.h" michael@0: #include "nsUCVJADll.h" michael@0: #include "nsJapaneseToUnicode.h" michael@0: #include "nsUnicodeToSJIS.h" michael@0: #include "nsUnicodeToEUCJP.h" michael@0: #include "nsUnicodeToISO2022JP.h" michael@0: #include "nsUnicodeToJISx0201.h" michael@0: michael@0: // ucvtw2 michael@0: #include "nsUCvTW2CID.h" michael@0: #include "nsUCvTW2Dll.h" michael@0: #include "nsEUCTWToUnicode.h" michael@0: #include "nsUnicodeToEUCTW.h" michael@0: michael@0: // ucvtw michael@0: #include "nsUCvTWCID.h" michael@0: #include "nsUCvTWDll.h" michael@0: #include "nsBIG5ToUnicode.h" michael@0: #include "nsUnicodeToBIG5.h" michael@0: #include "nsBIG5HKSCSToUnicode.h" michael@0: #include "nsUnicodeToBIG5HKSCS.h" michael@0: #include "nsUnicodeToHKSCS.h" michael@0: michael@0: // ucvko michael@0: #include "nsUCvKOCID.h" michael@0: #include "nsUCvKODll.h" michael@0: #include "nsJohabToUnicode.h" michael@0: #include "nsUnicodeToJohab.h" michael@0: #include "nsCP949ToUnicode.h" michael@0: #include "nsUnicodeToCP949.h" michael@0: #include "nsISO2022KRToUnicode.h" michael@0: michael@0: // ucvcn michael@0: #include "nsUCvCnCID.h" michael@0: #include "nsHZToUnicode.h" michael@0: #include "nsUnicodeToHZ.h" michael@0: #include "nsGBKToUnicode.h" michael@0: #include "nsUnicodeToGBK.h" michael@0: #include "nsGB2312ToUnicodeV2.h" michael@0: #include "nsUnicodeToGB2312V2.h" michael@0: #include "nsISO2022CNToUnicode.h" michael@0: #include "gbku.h" michael@0: michael@0: NS_CONVERTER_REGISTRY_START michael@0: NS_UCONV_REG_UNREG("ISO-8859-1", NS_ISO88591TOUNICODE_CID, NS_UNICODETOISO88591_CID) michael@0: NS_UCONV_REG_UNREG("windows-1252", NS_CP1252TOUNICODE_CID, NS_UNICODETOCP1252_CID) michael@0: NS_UCONV_REG_UNREG("macintosh", NS_MACROMANTOUNICODE_CID, NS_UNICODETOMACROMAN_CID) michael@0: NS_UCONV_REG_UNREG("UTF-8", NS_UTF8TOUNICODE_CID, NS_UNICODETOUTF8_CID) michael@0: NS_UCONV_REG_UNREG("replacement", NS_REPLACEMENTTOUNICODE_CID, NS_UNICODETOUTF8_CID) michael@0: michael@0: // ucvlatin michael@0: NS_UCONV_REG_UNREG("us-ascii", NS_ASCIITOUNICODE_CID, NS_UNICODETOASCII_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-2", NS_ISO88592TOUNICODE_CID, NS_UNICODETOISO88592_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-3", NS_ISO88593TOUNICODE_CID, NS_UNICODETOISO88593_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-4", NS_ISO88594TOUNICODE_CID, NS_UNICODETOISO88594_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-5", NS_ISO88595TOUNICODE_CID, NS_UNICODETOISO88595_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-6", NS_ISO88596TOUNICODE_CID, NS_UNICODETOISO88596_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-6-I", NS_ISO88596ITOUNICODE_CID, NS_UNICODETOISO88596I_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-6-E", NS_ISO88596ETOUNICODE_CID, NS_UNICODETOISO88596E_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-7", NS_ISO88597TOUNICODE_CID, NS_UNICODETOISO88597_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-8", NS_ISO88598TOUNICODE_CID, NS_UNICODETOISO88598_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-8-I", NS_ISO88598ITOUNICODE_CID, NS_UNICODETOISO88598I_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-8-E", NS_ISO88598ETOUNICODE_CID, NS_UNICODETOISO88598E_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-9", NS_ISO88599TOUNICODE_CID, NS_UNICODETOISO88599_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-10", NS_ISO885910TOUNICODE_CID, NS_UNICODETOISO885910_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-13", NS_ISO885913TOUNICODE_CID, NS_UNICODETOISO885913_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-14", NS_ISO885914TOUNICODE_CID, NS_UNICODETOISO885914_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-15", NS_ISO885915TOUNICODE_CID, NS_UNICODETOISO885915_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-16", NS_ISO885916TOUNICODE_CID, NS_UNICODETOISO885916_CID) michael@0: NS_UCONV_REG_UNREG("ISO-IR-111", NS_ISOIR111TOUNICODE_CID, NS_UNICODETOISOIR111_CID) michael@0: NS_UCONV_REG_UNREG("windows-1250", NS_CP1250TOUNICODE_CID, NS_UNICODETOCP1250_CID) michael@0: NS_UCONV_REG_UNREG("windows-1251", NS_CP1251TOUNICODE_CID, NS_UNICODETOCP1251_CID) michael@0: NS_UCONV_REG_UNREG("windows-1253", NS_CP1253TOUNICODE_CID, NS_UNICODETOCP1253_CID) michael@0: NS_UCONV_REG_UNREG("windows-1254", NS_CP1254TOUNICODE_CID, NS_UNICODETOCP1254_CID) michael@0: NS_UCONV_REG_UNREG("windows-1255", NS_CP1255TOUNICODE_CID, NS_UNICODETOCP1255_CID) michael@0: NS_UCONV_REG_UNREG("windows-1256", NS_CP1256TOUNICODE_CID, NS_UNICODETOCP1256_CID) michael@0: NS_UCONV_REG_UNREG("windows-1257", NS_CP1257TOUNICODE_CID, NS_UNICODETOCP1257_CID) michael@0: NS_UCONV_REG_UNREG("windows-1258", NS_CP1258TOUNICODE_CID, NS_UNICODETOCP1258_CID) michael@0: NS_UCONV_REG_UNREG("TIS-620", NS_TIS620TOUNICODE_CID, NS_UNICODETOTIS620_CID) michael@0: NS_UCONV_REG_UNREG("windows-874", NS_CP874TOUNICODE_CID, NS_UNICODETOCP874_CID) michael@0: NS_UCONV_REG_UNREG("ISO-8859-11", NS_ISO885911TOUNICODE_CID, NS_UNICODETOISO885911_CID) michael@0: NS_UCONV_REG_UNREG("IBM866", NS_CP866TOUNICODE_CID, NS_UNICODETOCP866_CID) michael@0: NS_UCONV_REG_UNREG("KOI8-R", NS_KOI8RTOUNICODE_CID, NS_UNICODETOKOI8R_CID) michael@0: NS_UCONV_REG_UNREG("KOI8-U", NS_KOI8UTOUNICODE_CID, NS_UNICODETOKOI8U_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-ce", NS_MACCETOUNICODE_CID, NS_UNICODETOMACCE_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-greek", NS_MACGREEKTOUNICODE_CID, NS_UNICODETOMACGREEK_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-turkish", NS_MACTURKISHTOUNICODE_CID, NS_UNICODETOMACTURKISH_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-croatian", NS_MACCROATIANTOUNICODE_CID, NS_UNICODETOMACCROATIAN_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-romanian", NS_MACROMANIANTOUNICODE_CID, NS_UNICODETOMACROMANIAN_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-cyrillic", NS_MACCYRILLICTOUNICODE_CID, NS_UNICODETOMACCYRILLIC_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-icelandic", NS_MACICELANDICTOUNICODE_CID, NS_UNICODETOMACICELANDIC_CID) michael@0: NS_UCONV_REG_UNREG("armscii-8", NS_ARMSCII8TOUNICODE_CID, NS_UNICODETOARMSCII8_CID) michael@0: NS_UCONV_REG_UNREG("x-viet-tcvn5712", NS_TCVN5712TOUNICODE_CID, NS_UNICODETOTCVN5712_CID) michael@0: NS_UCONV_REG_UNREG("VISCII", NS_VISCIITOUNICODE_CID, NS_UNICODETOVISCII_CID) michael@0: NS_UCONV_REG_UNREG("x-viet-vps", NS_VPSTOUNICODE_CID, NS_UNICODETOVPS_CID) michael@0: NS_UCONV_REG_UNREG("UTF-16", NS_UTF16TOUNICODE_CID, NS_UNICODETOUTF16_CID) michael@0: NS_UCONV_REG_UNREG("UTF-16BE", NS_UTF16BETOUNICODE_CID, NS_UNICODETOUTF16BE_CID) michael@0: NS_UCONV_REG_UNREG("UTF-16LE", NS_UTF16LETOUNICODE_CID, NS_UNICODETOUTF16LE_CID) michael@0: NS_UCONV_REG_UNREG("T.61-8bit", NS_T61TOUNICODE_CID, NS_UNICODETOT61_CID) michael@0: NS_UCONV_REG_UNREG("x-user-defined", NS_USERDEFINEDTOUNICODE_CID, NS_UNICODETOUSERDEFINED_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-arabic" , NS_MACARABICTOUNICODE_CID, NS_UNICODETOMACARABIC_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-devanagari" , NS_MACDEVANAGARITOUNICODE_CID, NS_UNICODETOMACDEVANAGARI_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-farsi" , NS_MACFARSITOUNICODE_CID, NS_UNICODETOMACFARSI_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-gurmukhi" , NS_MACGURMUKHITOUNICODE_CID, NS_UNICODETOMACGURMUKHI_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-gujarati" , NS_MACGUJARATITOUNICODE_CID, NS_UNICODETOMACGUJARATI_CID) michael@0: NS_UCONV_REG_UNREG("x-mac-hebrew" , NS_MACHEBREWTOUNICODE_CID, NS_UNICODETOMACHEBREW_CID) michael@0: michael@0: // ucvibm michael@0: NS_UCONV_REG_UNREG("IBM850", NS_CP850TOUNICODE_CID, NS_UNICODETOCP850_CID) michael@0: NS_UCONV_REG_UNREG("IBM852", NS_CP852TOUNICODE_CID, NS_UNICODETOCP852_CID) michael@0: NS_UCONV_REG_UNREG("IBM855", NS_CP855TOUNICODE_CID, NS_UNICODETOCP855_CID) michael@0: NS_UCONV_REG_UNREG("IBM857", NS_CP857TOUNICODE_CID, NS_UNICODETOCP857_CID) michael@0: NS_UCONV_REG_UNREG("IBM862", NS_CP862TOUNICODE_CID, NS_UNICODETOCP862_CID) michael@0: NS_UCONV_REG_UNREG("IBM864", NS_CP864TOUNICODE_CID, NS_UNICODETOCP864_CID) michael@0: michael@0: // ucvja michael@0: NS_UCONV_REG_UNREG("Shift_JIS", NS_SJISTOUNICODE_CID, NS_UNICODETOSJIS_CID) michael@0: NS_UCONV_REG_UNREG("ISO-2022-JP", NS_ISO2022JPTOUNICODE_CID, NS_UNICODETOISO2022JP_CID) michael@0: NS_UCONV_REG_UNREG("EUC-JP", NS_EUCJPTOUNICODE_CID, NS_UNICODETOEUCJP_CID) michael@0: michael@0: NS_UCONV_REG_UNREG_ENCODER("jis_0201" , NS_UNICODETOJISX0201_CID) michael@0: michael@0: // ucvtw2 michael@0: NS_UCONV_REG_UNREG("x-euc-tw", NS_EUCTWTOUNICODE_CID, NS_UNICODETOEUCTW_CID) michael@0: michael@0: // ucvtw michael@0: NS_UCONV_REG_UNREG("Big5", NS_BIG5TOUNICODE_CID, NS_UNICODETOBIG5_CID) michael@0: NS_UCONV_REG_UNREG("Big5-HKSCS", NS_BIG5HKSCSTOUNICODE_CID, NS_UNICODETOBIG5HKSCS_CID) michael@0: michael@0: NS_UCONV_REG_UNREG_ENCODER("hkscs-1" , NS_UNICODETOHKSCS_CID) michael@0: michael@0: // ucvko michael@0: NS_UCONV_REG_UNREG("EUC-KR", NS_EUCKRTOUNICODE_CID, NS_UNICODETOEUCKR_CID) michael@0: NS_UCONV_REG_UNREG("x-johab", NS_JOHABTOUNICODE_CID, NS_UNICODETOJOHAB_CID) michael@0: NS_UCONV_REG_UNREG_DECODER("ISO-2022-KR", NS_ISO2022KRTOUNICODE_CID) michael@0: michael@0: // ucvcn michael@0: NS_UCONV_REG_UNREG("GB2312", NS_GB2312TOUNICODE_CID, NS_UNICODETOGB2312_CID) michael@0: NS_UCONV_REG_UNREG("gbk", NS_GBKTOUNICODE_CID, NS_UNICODETOGBK_CID) michael@0: NS_UCONV_REG_UNREG("HZ-GB-2312", NS_HZTOUNICODE_CID, NS_UNICODETOHZ_CID) michael@0: NS_UCONV_REG_UNREG("gb18030", NS_GB18030TOUNICODE_CID, NS_UNICODETOGB18030_CID) michael@0: NS_UCONV_REG_UNREG_DECODER("ISO-2022-CN", NS_ISO2022CNTOUNICODE_CID) michael@0: michael@0: { NS_TITLE_BUNDLE_CATEGORY, "chrome://global/locale/charsetTitles.properties", "" }, michael@0: { NS_DATA_BUNDLE_CATEGORY, "resource://gre-resources/charsetData.properties", "" }, michael@0: michael@0: NS_CONVERTER_REGISTRY_END michael@0: michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF8) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ToUnicode) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsReplacementToUnicode) michael@0: michael@0: // ucvlatin michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16ToUnicode) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16BEToUnicode) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16LEToUnicode) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16BE) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16LE) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16) michael@0: michael@0: // ucvibm michael@0: michael@0: // ucvja michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsShiftJISToUnicode) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsEUCJPToUnicodeV2) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022JPToUnicodeV2) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToISO2022JP) michael@0: michael@0: // ucvtw2 michael@0: michael@0: // ucvtw michael@0: michael@0: // ucvko michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022KRToUnicode) michael@0: michael@0: // ucvcn michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB2312V2) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGBK) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsHZToUnicode) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToHZ) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsGB18030ToUnicode) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB18030) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022CNToUnicode) michael@0: michael@0: michael@0: //---------------------------------------------------------------------------- michael@0: // Global functions and data [declaration] michael@0: michael@0: // ucvja michael@0: const uint16_t g_uf0201Mapping[] = { michael@0: #include "jis0201.uf" michael@0: }; michael@0: michael@0: const uint16_t g_uf0201GLMapping[] = { michael@0: #include "jis0201gl.uf" michael@0: }; michael@0: michael@0: const uint16_t g_uf0208Mapping[] = { michael@0: #include "jis0208.uf" michael@0: }; michael@0: michael@0: const uint16_t g_uf0208extMapping[] = { michael@0: #include "jis0208ext.uf" michael@0: }; michael@0: michael@0: // ucvtw2 michael@0: const uint16_t g_ufCNS1MappingTable[] = { michael@0: #include "cns_1.uf" michael@0: }; michael@0: michael@0: const uint16_t g_ufCNS2MappingTable[] = { michael@0: #include "cns_2.uf" michael@0: }; michael@0: michael@0: const uint16_t g_ufCNS3MappingTable[] = { michael@0: #include "cns3.uf" michael@0: }; michael@0: michael@0: const uint16_t g_ufCNS4MappingTable[] = { michael@0: #include "cns4.uf" michael@0: }; michael@0: michael@0: const uint16_t g_ufCNS5MappingTable[] = { michael@0: #include "cns5.uf" michael@0: }; michael@0: michael@0: const uint16_t g_ufCNS6MappingTable[] = { michael@0: #include "cns6.uf" michael@0: }; michael@0: michael@0: const uint16_t g_ufCNS7MappingTable[] = { michael@0: #include "cns7.uf" michael@0: }; michael@0: michael@0: const uint16_t g_utCNS1MappingTable[] = { michael@0: #include "cns_1.ut" michael@0: }; michael@0: michael@0: const uint16_t g_utCNS2MappingTable[] = { michael@0: #include "cns_2.ut" michael@0: }; michael@0: michael@0: const uint16_t g_utCNS3MappingTable[] = { michael@0: #include "cns3.ut" michael@0: }; michael@0: michael@0: const uint16_t g_utCNS4MappingTable[] = { michael@0: #include "cns4.ut" michael@0: }; michael@0: michael@0: const uint16_t g_utCNS5MappingTable[] = { michael@0: #include "cns5.ut" michael@0: }; michael@0: michael@0: const uint16_t g_utCNS6MappingTable[] = { michael@0: #include "cns6.ut" michael@0: }; michael@0: michael@0: const uint16_t g_utCNS7MappingTable[] = { michael@0: #include "cns7.ut" michael@0: }; michael@0: michael@0: const uint16_t g_ASCIIMappingTable[] = { michael@0: 0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000 michael@0: }; michael@0: michael@0: // ucvtw michael@0: const uint16_t g_ufBig5Mapping[] = { michael@0: #include "big5.uf" michael@0: }; michael@0: michael@0: const uint16_t g_utBIG5Mapping[] = { michael@0: #include "big5.ut" michael@0: }; michael@0: michael@0: const uint16_t g_ufBig5HKSCSMapping[] = { michael@0: #include "hkscs.uf" michael@0: }; michael@0: michael@0: const uint16_t g_utBig5HKSCSMapping[] = { michael@0: #include "hkscs.ut" michael@0: }; michael@0: michael@0: // ucvko michael@0: const uint16_t g_utKSC5601Mapping[] = { michael@0: #include "u20kscgl.ut" michael@0: }; michael@0: michael@0: const uint16_t g_ufKSC5601Mapping[] = { michael@0: #include "u20kscgl.uf" michael@0: }; michael@0: michael@0: const uint16_t g_HangulNullMapping[] ={ michael@0: 0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0xAC00, 0xD7A3, 0xAC00 michael@0: }; michael@0: michael@0: const uint16_t g_ufJohabJamoMapping[] ={ michael@0: #include "johabjamo.uf" michael@0: }; michael@0: michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsCharsetConverterManager) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsTextToSubURI) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ConverterService) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterInputStream) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterOutputStream) michael@0: NS_GENERIC_FACTORY_CONSTRUCTOR(nsScriptableUnicodeConverter) michael@0: michael@0: NS_DEFINE_NAMED_CID(NS_ICHARSETCONVERTERMANAGER_CID); michael@0: NS_DEFINE_NAMED_CID(NS_TEXTTOSUBURI_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CONVERTERINPUTSTREAM_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CONVERTEROUTPUTSTREAM_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISCRIPTABLEUNICODECONVERTER_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UTF8CONVERTERSERVICE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88591TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP1252TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACROMANTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UTF8TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_REPLACEMENTTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88591_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP1252_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACROMAN_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOUTF8_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ASCIITOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88592TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88593TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88594TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88595TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88596TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88596ITOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88596ETOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88597TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88598TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88598ITOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88598ETOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO88599TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO885910TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO885913TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO885914TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO885915TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO885916TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISOIR111TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP1250TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP1251TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP1253TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP1254TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP1255TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP1256TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP1257TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP1258TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_TIS620TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO885911TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP874TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP866TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_KOI8RTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_KOI8UTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACCETOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACGREEKTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACTURKISHTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACCROATIANTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACROMANIANTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACCYRILLICTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACICELANDICTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ARMSCII8TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_TCVN5712TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_VISCIITOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_VPSTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UTF16TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UTF16BETOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UTF16LETOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_T61TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_USERDEFINEDTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACARABICTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACDEVANAGARITOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACFARSITOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACGURMUKHITOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACGUJARATITOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_MACHEBREWTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOASCII_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88592_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88593_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88594_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88595_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596I_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596E_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88597_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598I_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598E_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO88599_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO885910_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO885913_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO885914_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO885915_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO885916_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISOIR111_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP1250_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP1251_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP1253_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP1254_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP1255_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP1256_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP1257_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP1258_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOTIS620_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO885911_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP874_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP866_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOKOI8R_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOKOI8U_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACCE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACGREEK_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACTURKISH_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACCROATIAN_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACROMANIAN_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACCYRILLIC_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACICELANDIC_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOARMSCII8_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOTCVN5712_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOVISCII_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOVPS_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16BE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16LE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOT61_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOUSERDEFINED_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACARABIC_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACDEVANAGARI_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACFARSI_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACGURMUKHI_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACGUJARATI_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOMACHEBREW_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP850TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP852TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP855TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP857TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP862TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_CP864TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP850_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP852_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP855_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP857_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP862_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOCP864_CID); michael@0: NS_DEFINE_NAMED_CID(NS_SJISTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_EUCJPTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID( NS_ISO2022JPTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOSJIS_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOEUCJP_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOISO2022JP_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOJISX0201_CID); michael@0: NS_DEFINE_NAMED_CID(NS_EUCTWTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOEUCTW_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOBIG5_CID); michael@0: NS_DEFINE_NAMED_CID(NS_BIG5TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOBIG5HKSCS_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOHKSCS_CID); michael@0: NS_DEFINE_NAMED_CID(NS_BIG5HKSCSTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_EUCKRTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOEUCKR_CID); michael@0: NS_DEFINE_NAMED_CID(NS_JOHABTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOJOHAB_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO2022KRTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_GB2312TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOGB2312_CID); michael@0: NS_DEFINE_NAMED_CID(NS_GBKTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOGBK_CID); michael@0: NS_DEFINE_NAMED_CID(NS_HZTOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOHZ_CID); michael@0: NS_DEFINE_NAMED_CID(NS_GB18030TOUNICODE_CID); michael@0: NS_DEFINE_NAMED_CID(NS_UNICODETOGB18030_CID); michael@0: NS_DEFINE_NAMED_CID(NS_ISO2022CNTOUNICODE_CID); michael@0: michael@0: static const mozilla::Module::CIDEntry kUConvCIDs[] = { michael@0: { &kNS_ICHARSETCONVERTERMANAGER_CID, false, nullptr, nsCharsetConverterManagerConstructor }, michael@0: { &kNS_TEXTTOSUBURI_CID, false, nullptr, nsTextToSubURIConstructor }, michael@0: { &kNS_CONVERTERINPUTSTREAM_CID, false, nullptr, nsConverterInputStreamConstructor }, michael@0: { &kNS_CONVERTEROUTPUTSTREAM_CID, false, nullptr, nsConverterOutputStreamConstructor }, michael@0: { &kNS_ISCRIPTABLEUNICODECONVERTER_CID, false, nullptr, nsScriptableUnicodeConverterConstructor }, michael@0: { &kNS_UTF8CONVERTERSERVICE_CID, false, nullptr, nsUTF8ConverterServiceConstructor }, michael@0: { &kNS_ISO88591TOUNICODE_CID, false, nullptr, nsISO88591ToUnicodeConstructor }, michael@0: { &kNS_CP1252TOUNICODE_CID, false, nullptr, nsCP1252ToUnicodeConstructor }, michael@0: { &kNS_MACROMANTOUNICODE_CID, false, nullptr, nsMacRomanToUnicodeConstructor }, michael@0: { &kNS_REPLACEMENTTOUNICODE_CID, false, nullptr, nsReplacementToUnicodeConstructor }, michael@0: { &kNS_UTF8TOUNICODE_CID, false, nullptr, nsUTF8ToUnicodeConstructor }, michael@0: { &kNS_UNICODETOISO88591_CID, false, nullptr, nsUnicodeToISO88591Constructor }, michael@0: { &kNS_UNICODETOCP1252_CID, false, nullptr, nsUnicodeToCP1252Constructor }, michael@0: { &kNS_UNICODETOMACROMAN_CID, false, nullptr, nsUnicodeToMacRomanConstructor }, michael@0: { &kNS_UNICODETOUTF8_CID, false, nullptr, nsUnicodeToUTF8Constructor }, michael@0: { &kNS_ASCIITOUNICODE_CID, false, nullptr, nsAsciiToUnicodeConstructor }, michael@0: { &kNS_ISO88592TOUNICODE_CID, false, nullptr, nsISO88592ToUnicodeConstructor }, michael@0: { &kNS_ISO88593TOUNICODE_CID, false, nullptr, nsISO88593ToUnicodeConstructor }, michael@0: { &kNS_ISO88594TOUNICODE_CID, false, nullptr, nsISO88594ToUnicodeConstructor }, michael@0: { &kNS_ISO88595TOUNICODE_CID, false, nullptr, nsISO88595ToUnicodeConstructor }, michael@0: { &kNS_ISO88596TOUNICODE_CID, false, nullptr, nsISO88596ToUnicodeConstructor }, michael@0: { &kNS_ISO88596ITOUNICODE_CID, false, nullptr, nsISO88596IToUnicodeConstructor }, michael@0: { &kNS_ISO88596ETOUNICODE_CID, false, nullptr, nsISO88596EToUnicodeConstructor }, michael@0: { &kNS_ISO88597TOUNICODE_CID, false, nullptr, nsISO88597ToUnicodeConstructor }, michael@0: { &kNS_ISO88598TOUNICODE_CID, false, nullptr, nsISO88598ToUnicodeConstructor }, michael@0: { &kNS_ISO88598ITOUNICODE_CID, false, nullptr, nsISO88598IToUnicodeConstructor }, michael@0: { &kNS_ISO88598ETOUNICODE_CID, false, nullptr, nsISO88598EToUnicodeConstructor }, michael@0: { &kNS_ISO88599TOUNICODE_CID, false, nullptr, nsISO88599ToUnicodeConstructor }, michael@0: { &kNS_ISO885910TOUNICODE_CID, false, nullptr, nsISO885910ToUnicodeConstructor }, michael@0: { &kNS_ISO885913TOUNICODE_CID, false, nullptr, nsISO885913ToUnicodeConstructor }, michael@0: { &kNS_ISO885914TOUNICODE_CID, false, nullptr, nsISO885914ToUnicodeConstructor }, michael@0: { &kNS_ISO885915TOUNICODE_CID, false, nullptr, nsISO885915ToUnicodeConstructor }, michael@0: { &kNS_ISO885916TOUNICODE_CID, false, nullptr, nsISO885916ToUnicodeConstructor }, michael@0: { &kNS_ISOIR111TOUNICODE_CID, false, nullptr, nsISOIR111ToUnicodeConstructor }, michael@0: { &kNS_CP1250TOUNICODE_CID, false, nullptr, nsCP1250ToUnicodeConstructor }, michael@0: { &kNS_CP1251TOUNICODE_CID, false, nullptr, nsCP1251ToUnicodeConstructor }, michael@0: { &kNS_CP1253TOUNICODE_CID, false, nullptr, nsCP1253ToUnicodeConstructor }, michael@0: { &kNS_CP1254TOUNICODE_CID, false, nullptr, nsCP1254ToUnicodeConstructor }, michael@0: { &kNS_CP1255TOUNICODE_CID, false, nullptr, nsCP1255ToUnicodeConstructor }, michael@0: { &kNS_CP1256TOUNICODE_CID, false, nullptr, nsCP1256ToUnicodeConstructor }, michael@0: { &kNS_CP1257TOUNICODE_CID, false, nullptr, nsCP1257ToUnicodeConstructor }, michael@0: { &kNS_CP1258TOUNICODE_CID, false, nullptr, nsCP1258ToUnicodeConstructor }, michael@0: { &kNS_TIS620TOUNICODE_CID, false, nullptr, nsTIS620ToUnicodeConstructor }, michael@0: { &kNS_ISO885911TOUNICODE_CID, false, nullptr, nsISO885911ToUnicodeConstructor }, michael@0: { &kNS_CP874TOUNICODE_CID, false, nullptr, nsCP874ToUnicodeConstructor }, michael@0: { &kNS_CP866TOUNICODE_CID, false, nullptr, nsCP866ToUnicodeConstructor }, michael@0: { &kNS_KOI8RTOUNICODE_CID, false, nullptr, nsKOI8RToUnicodeConstructor }, michael@0: { &kNS_KOI8UTOUNICODE_CID, false, nullptr, nsKOI8UToUnicodeConstructor }, michael@0: { &kNS_MACCETOUNICODE_CID, false, nullptr, nsMacCEToUnicodeConstructor }, michael@0: { &kNS_MACGREEKTOUNICODE_CID, false, nullptr, nsMacGreekToUnicodeConstructor }, michael@0: { &kNS_MACTURKISHTOUNICODE_CID, false, nullptr, nsMacTurkishToUnicodeConstructor }, michael@0: { &kNS_MACCROATIANTOUNICODE_CID, false, nullptr, nsMacCroatianToUnicodeConstructor }, michael@0: { &kNS_MACROMANIANTOUNICODE_CID, false, nullptr, nsMacRomanianToUnicodeConstructor }, michael@0: { &kNS_MACCYRILLICTOUNICODE_CID, false, nullptr, nsMacCyrillicToUnicodeConstructor }, michael@0: { &kNS_MACICELANDICTOUNICODE_CID, false, nullptr, nsMacIcelandicToUnicodeConstructor }, michael@0: { &kNS_ARMSCII8TOUNICODE_CID, false, nullptr, nsARMSCII8ToUnicodeConstructor }, michael@0: { &kNS_TCVN5712TOUNICODE_CID, false, nullptr, nsTCVN5712ToUnicodeConstructor }, michael@0: { &kNS_VISCIITOUNICODE_CID, false, nullptr, nsVISCIIToUnicodeConstructor }, michael@0: { &kNS_VPSTOUNICODE_CID, false, nullptr, nsVPSToUnicodeConstructor }, michael@0: { &kNS_UTF16TOUNICODE_CID, false, nullptr, nsUTF16ToUnicodeConstructor }, michael@0: { &kNS_UTF16BETOUNICODE_CID, false, nullptr, nsUTF16BEToUnicodeConstructor }, michael@0: { &kNS_UTF16LETOUNICODE_CID, false, nullptr, nsUTF16LEToUnicodeConstructor }, michael@0: { &kNS_T61TOUNICODE_CID, false, nullptr, nsT61ToUnicodeConstructor }, michael@0: { &kNS_USERDEFINEDTOUNICODE_CID, false, nullptr, nsUserDefinedToUnicodeConstructor }, michael@0: { &kNS_MACARABICTOUNICODE_CID, false, nullptr, nsMacArabicToUnicodeConstructor }, michael@0: { &kNS_MACDEVANAGARITOUNICODE_CID, false, nullptr, nsMacDevanagariToUnicodeConstructor }, michael@0: { &kNS_MACFARSITOUNICODE_CID, false, nullptr, nsMacFarsiToUnicodeConstructor }, michael@0: { &kNS_MACGURMUKHITOUNICODE_CID, false, nullptr, nsMacGurmukhiToUnicodeConstructor }, michael@0: { &kNS_MACGUJARATITOUNICODE_CID, false, nullptr, nsMacGujaratiToUnicodeConstructor }, michael@0: { &kNS_MACHEBREWTOUNICODE_CID, false, nullptr, nsMacHebrewToUnicodeConstructor }, michael@0: { &kNS_UNICODETOASCII_CID, false, nullptr, nsUnicodeToAsciiConstructor }, michael@0: { &kNS_UNICODETOISO88592_CID, false, nullptr, nsUnicodeToISO88592Constructor }, michael@0: { &kNS_UNICODETOISO88593_CID, false, nullptr, nsUnicodeToISO88593Constructor }, michael@0: { &kNS_UNICODETOISO88594_CID, false, nullptr, nsUnicodeToISO88594Constructor }, michael@0: { &kNS_UNICODETOISO88595_CID, false, nullptr, nsUnicodeToISO88595Constructor }, michael@0: { &kNS_UNICODETOISO88596_CID, false, nullptr, nsUnicodeToISO88596Constructor }, michael@0: { &kNS_UNICODETOISO88596I_CID, false, nullptr, nsUnicodeToISO88596IConstructor }, michael@0: { &kNS_UNICODETOISO88596E_CID, false, nullptr, nsUnicodeToISO88596EConstructor }, michael@0: { &kNS_UNICODETOISO88597_CID, false, nullptr, nsUnicodeToISO88597Constructor }, michael@0: { &kNS_UNICODETOISO88598_CID, false, nullptr, nsUnicodeToISO88598Constructor }, michael@0: { &kNS_UNICODETOISO88598I_CID, false, nullptr, nsUnicodeToISO88598IConstructor }, michael@0: { &kNS_UNICODETOISO88598E_CID, false, nullptr, nsUnicodeToISO88598EConstructor }, michael@0: { &kNS_UNICODETOISO88599_CID, false, nullptr, nsUnicodeToISO88599Constructor }, michael@0: { &kNS_UNICODETOISO885910_CID, false, nullptr, nsUnicodeToISO885910Constructor }, michael@0: { &kNS_UNICODETOISO885913_CID, false, nullptr, nsUnicodeToISO885913Constructor }, michael@0: { &kNS_UNICODETOISO885914_CID, false, nullptr, nsUnicodeToISO885914Constructor }, michael@0: { &kNS_UNICODETOISO885915_CID, false, nullptr, nsUnicodeToISO885915Constructor }, michael@0: { &kNS_UNICODETOISO885916_CID, false, nullptr, nsUnicodeToISO885916Constructor }, michael@0: { &kNS_UNICODETOISOIR111_CID, false, nullptr, nsUnicodeToISOIR111Constructor }, michael@0: { &kNS_UNICODETOCP1250_CID, false, nullptr, nsUnicodeToCP1250Constructor }, michael@0: { &kNS_UNICODETOCP1251_CID, false, nullptr, nsUnicodeToCP1251Constructor }, michael@0: { &kNS_UNICODETOCP1253_CID, false, nullptr, nsUnicodeToCP1253Constructor }, michael@0: { &kNS_UNICODETOCP1254_CID, false, nullptr, nsUnicodeToCP1254Constructor }, michael@0: { &kNS_UNICODETOCP1255_CID, false, nullptr, nsUnicodeToCP1255Constructor }, michael@0: { &kNS_UNICODETOCP1256_CID, false, nullptr, nsUnicodeToCP1256Constructor }, michael@0: { &kNS_UNICODETOCP1257_CID, false, nullptr, nsUnicodeToCP1257Constructor }, michael@0: { &kNS_UNICODETOCP1258_CID, false, nullptr, nsUnicodeToCP1258Constructor }, michael@0: { &kNS_UNICODETOTIS620_CID, false, nullptr, nsUnicodeToTIS620Constructor }, michael@0: { &kNS_UNICODETOISO885911_CID, false, nullptr, nsUnicodeToISO885911Constructor }, michael@0: { &kNS_UNICODETOCP874_CID, false, nullptr, nsUnicodeToCP874Constructor }, michael@0: { &kNS_UNICODETOCP866_CID, false, nullptr, nsUnicodeToCP866Constructor }, michael@0: { &kNS_UNICODETOKOI8R_CID, false, nullptr, nsUnicodeToKOI8RConstructor }, michael@0: { &kNS_UNICODETOKOI8U_CID, false, nullptr, nsUnicodeToKOI8UConstructor }, michael@0: { &kNS_UNICODETOMACCE_CID, false, nullptr, nsUnicodeToMacCEConstructor }, michael@0: { &kNS_UNICODETOMACGREEK_CID, false, nullptr, nsUnicodeToMacGreekConstructor }, michael@0: { &kNS_UNICODETOMACTURKISH_CID, false, nullptr, nsUnicodeToMacTurkishConstructor }, michael@0: { &kNS_UNICODETOMACCROATIAN_CID, false, nullptr, nsUnicodeToMacCroatianConstructor }, michael@0: { &kNS_UNICODETOMACROMANIAN_CID, false, nullptr, nsUnicodeToMacRomanianConstructor }, michael@0: { &kNS_UNICODETOMACCYRILLIC_CID, false, nullptr, nsUnicodeToMacCyrillicConstructor }, michael@0: { &kNS_UNICODETOMACICELANDIC_CID, false, nullptr, nsUnicodeToMacIcelandicConstructor }, michael@0: { &kNS_UNICODETOARMSCII8_CID, false, nullptr, nsUnicodeToARMSCII8Constructor }, michael@0: { &kNS_UNICODETOTCVN5712_CID, false, nullptr, nsUnicodeToTCVN5712Constructor }, michael@0: { &kNS_UNICODETOVISCII_CID, false, nullptr, nsUnicodeToVISCIIConstructor }, michael@0: { &kNS_UNICODETOVPS_CID, false, nullptr, nsUnicodeToVPSConstructor }, michael@0: { &kNS_UNICODETOUTF16BE_CID, false, nullptr, nsUnicodeToUTF16BEConstructor }, michael@0: { &kNS_UNICODETOUTF16LE_CID, false, nullptr, nsUnicodeToUTF16LEConstructor }, michael@0: { &kNS_UNICODETOUTF16_CID, false, nullptr, nsUnicodeToUTF16Constructor }, michael@0: { &kNS_UNICODETOT61_CID, false, nullptr, nsUnicodeToT61Constructor }, michael@0: { &kNS_UNICODETOUSERDEFINED_CID, false, nullptr, nsUnicodeToUserDefinedConstructor }, michael@0: { &kNS_UNICODETOMACARABIC_CID, false, nullptr, nsUnicodeToMacArabicConstructor }, michael@0: { &kNS_UNICODETOMACDEVANAGARI_CID, false, nullptr, nsUnicodeToMacDevanagariConstructor }, michael@0: { &kNS_UNICODETOMACFARSI_CID, false, nullptr, nsUnicodeToMacFarsiConstructor }, michael@0: { &kNS_UNICODETOMACGURMUKHI_CID, false, nullptr, nsUnicodeToMacGurmukhiConstructor }, michael@0: { &kNS_UNICODETOMACGUJARATI_CID, false, nullptr, nsUnicodeToMacGujaratiConstructor }, michael@0: { &kNS_UNICODETOMACHEBREW_CID, false, nullptr, nsUnicodeToMacHebrewConstructor }, michael@0: { &kNS_CP850TOUNICODE_CID, false, nullptr, nsCP850ToUnicodeConstructor }, michael@0: { &kNS_CP852TOUNICODE_CID, false, nullptr, nsCP852ToUnicodeConstructor }, michael@0: { &kNS_CP855TOUNICODE_CID, false, nullptr, nsCP855ToUnicodeConstructor }, michael@0: { &kNS_CP857TOUNICODE_CID, false, nullptr, nsCP857ToUnicodeConstructor }, michael@0: { &kNS_CP862TOUNICODE_CID, false, nullptr, nsCP862ToUnicodeConstructor }, michael@0: { &kNS_CP864TOUNICODE_CID, false, nullptr, nsCP864ToUnicodeConstructor }, michael@0: { &kNS_UNICODETOCP850_CID, false, nullptr, nsUnicodeToCP850Constructor }, michael@0: { &kNS_UNICODETOCP852_CID, false, nullptr, nsUnicodeToCP852Constructor }, michael@0: { &kNS_UNICODETOCP855_CID, false, nullptr, nsUnicodeToCP855Constructor }, michael@0: { &kNS_UNICODETOCP857_CID, false, nullptr, nsUnicodeToCP857Constructor }, michael@0: { &kNS_UNICODETOCP862_CID, false, nullptr, nsUnicodeToCP862Constructor }, michael@0: { &kNS_UNICODETOCP864_CID, false, nullptr, nsUnicodeToCP864Constructor }, michael@0: { &kNS_SJISTOUNICODE_CID, false, nullptr, nsShiftJISToUnicodeConstructor }, michael@0: { &kNS_EUCJPTOUNICODE_CID, false, nullptr, nsEUCJPToUnicodeV2Constructor }, michael@0: { &kNS_ISO2022JPTOUNICODE_CID, false, nullptr, nsISO2022JPToUnicodeV2Constructor }, michael@0: { &kNS_UNICODETOSJIS_CID, false, nullptr, nsUnicodeToSJISConstructor }, michael@0: { &kNS_UNICODETOEUCJP_CID, false, nullptr, nsUnicodeToEUCJPConstructor }, michael@0: { &kNS_UNICODETOISO2022JP_CID, false, nullptr, nsUnicodeToISO2022JPConstructor }, michael@0: { &kNS_UNICODETOJISX0201_CID, false, nullptr, nsUnicodeToJISx0201Constructor }, michael@0: { &kNS_EUCTWTOUNICODE_CID, false, nullptr, nsEUCTWToUnicodeConstructor }, michael@0: { &kNS_UNICODETOEUCTW_CID, false, nullptr, nsUnicodeToEUCTWConstructor }, michael@0: { &kNS_UNICODETOBIG5_CID, false, nullptr, nsUnicodeToBIG5Constructor }, michael@0: { &kNS_BIG5TOUNICODE_CID, false, nullptr, nsBIG5ToUnicodeConstructor }, michael@0: { &kNS_UNICODETOBIG5HKSCS_CID, false, nullptr, nsUnicodeToBIG5HKSCSConstructor }, michael@0: { &kNS_UNICODETOHKSCS_CID, false, nullptr, nsUnicodeToHKSCSConstructor }, michael@0: { &kNS_BIG5HKSCSTOUNICODE_CID, false, nullptr, nsBIG5HKSCSToUnicodeConstructor }, michael@0: { &kNS_EUCKRTOUNICODE_CID, false, nullptr, nsCP949ToUnicodeConstructor }, michael@0: { &kNS_UNICODETOEUCKR_CID, false, nullptr, nsUnicodeToCP949Constructor }, michael@0: { &kNS_JOHABTOUNICODE_CID, false, nullptr, nsJohabToUnicodeConstructor }, michael@0: { &kNS_UNICODETOJOHAB_CID, false, nullptr, nsUnicodeToJohabConstructor }, michael@0: { &kNS_ISO2022KRTOUNICODE_CID, false, nullptr, nsISO2022KRToUnicodeConstructor }, michael@0: { &kNS_GB2312TOUNICODE_CID, false, nullptr, nsGB18030ToUnicodeConstructor }, michael@0: { &kNS_UNICODETOGB2312_CID, false, nullptr, nsUnicodeToGB2312V2Constructor }, michael@0: { &kNS_GBKTOUNICODE_CID, false, nullptr, nsGB18030ToUnicodeConstructor }, michael@0: { &kNS_UNICODETOGBK_CID, false, nullptr, nsUnicodeToGBKConstructor }, michael@0: { &kNS_HZTOUNICODE_CID, false, nullptr, nsHZToUnicodeConstructor }, michael@0: { &kNS_UNICODETOHZ_CID, false, nullptr, nsUnicodeToHZConstructor }, michael@0: { &kNS_GB18030TOUNICODE_CID, false, nullptr, nsGB18030ToUnicodeConstructor }, michael@0: { &kNS_UNICODETOGB18030_CID, false, nullptr, nsUnicodeToGB18030Constructor }, michael@0: { &kNS_ISO2022CNTOUNICODE_CID, false, nullptr, nsISO2022CNToUnicodeConstructor }, michael@0: { nullptr }, michael@0: }; michael@0: michael@0: static const mozilla::Module::ContractIDEntry kUConvContracts[] = { michael@0: { NS_CHARSETCONVERTERMANAGER_CONTRACTID, &kNS_ICHARSETCONVERTERMANAGER_CID }, michael@0: { NS_ITEXTTOSUBURI_CONTRACTID, &kNS_TEXTTOSUBURI_CID }, michael@0: { NS_CONVERTERINPUTSTREAM_CONTRACTID, &kNS_CONVERTERINPUTSTREAM_CID }, michael@0: { "@mozilla.org/intl/converter-output-stream;1", &kNS_CONVERTEROUTPUTSTREAM_CID }, michael@0: { NS_ISCRIPTABLEUNICODECONVERTER_CONTRACTID, &kNS_ISCRIPTABLEUNICODECONVERTER_CID }, michael@0: { NS_UTF8CONVERTERSERVICE_CONTRACTID, &kNS_UTF8CONVERTERSERVICE_CID }, michael@0: { NS_ISO88591TOUNICODE_CONTRACTID, &kNS_ISO88591TOUNICODE_CID }, michael@0: { NS_CP1252TOUNICODE_CONTRACTID, &kNS_CP1252TOUNICODE_CID }, michael@0: { NS_MACROMANTOUNICODE_CONTRACTID, &kNS_MACROMANTOUNICODE_CID }, michael@0: { NS_REPLACEMENTTOUNICODE_CONTRACTID, &kNS_REPLACEMENTTOUNICODE_CID }, michael@0: { NS_UTF8TOUNICODE_CONTRACTID, &kNS_UTF8TOUNICODE_CID }, michael@0: { NS_UNICODETOISO88591_CONTRACTID, &kNS_UNICODETOISO88591_CID }, michael@0: { NS_UNICODETOCP1252_CONTRACTID, &kNS_UNICODETOCP1252_CID }, michael@0: { NS_UNICODETOMACROMAN_CONTRACTID, &kNS_UNICODETOMACROMAN_CID }, michael@0: { NS_UNICODETOUTF8_CONTRACTID, &kNS_UNICODETOUTF8_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "us-ascii", &kNS_ASCIITOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-2", &kNS_ISO88592TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-3", &kNS_ISO88593TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-4", &kNS_ISO88594TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-5", &kNS_ISO88595TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6", &kNS_ISO88596TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-I", &kNS_ISO88596ITOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-E", &kNS_ISO88596ETOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-7", &kNS_ISO88597TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8", &kNS_ISO88598TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-I", &kNS_ISO88598ITOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-E", &kNS_ISO88598ETOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-9", &kNS_ISO88599TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-10", &kNS_ISO885910TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-13", &kNS_ISO885913TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-14", &kNS_ISO885914TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-15", &kNS_ISO885915TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-16", &kNS_ISO885916TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-IR-111", &kNS_ISOIR111TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1250", &kNS_CP1250TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1251", &kNS_CP1251TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1253", &kNS_CP1253TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1254", &kNS_CP1254TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1255", &kNS_CP1255TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1256", &kNS_CP1256TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1257", &kNS_CP1257TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1258", &kNS_CP1258TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "TIS-620", &kNS_TIS620TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-11", &kNS_ISO885911TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "windows-874", &kNS_CP874TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "IBM866", &kNS_CP866TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-R", &kNS_KOI8RTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-U", &kNS_KOI8UTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-ce", &kNS_MACCETOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-greek", &kNS_MACGREEKTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-turkish", &kNS_MACTURKISHTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-croatian", &kNS_MACCROATIANTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-romanian", &kNS_MACROMANIANTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-cyrillic", &kNS_MACCYRILLICTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-icelandic", &kNS_MACICELANDICTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "armscii-8", &kNS_ARMSCII8TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-tcvn5712", &kNS_TCVN5712TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "VISCII", &kNS_VISCIITOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-vps", &kNS_VPSTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16", &kNS_UTF16TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16BE", &kNS_UTF16BETOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16LE", &kNS_UTF16LETOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "T.61-8bit", &kNS_T61TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-user-defined", &kNS_USERDEFINEDTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-arabic", &kNS_MACARABICTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-devanagari", &kNS_MACDEVANAGARITOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-farsi", &kNS_MACFARSITOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gurmukhi", &kNS_MACGURMUKHITOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gujarati", &kNS_MACGUJARATITOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-hebrew", &kNS_MACHEBREWTOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "us-ascii", &kNS_UNICODETOASCII_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-2", &kNS_UNICODETOISO88592_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-3", &kNS_UNICODETOISO88593_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-4", &kNS_UNICODETOISO88594_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-5", &kNS_UNICODETOISO88595_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6", &kNS_UNICODETOISO88596_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-I", &kNS_UNICODETOISO88596I_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-E", &kNS_UNICODETOISO88596E_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-7", &kNS_UNICODETOISO88597_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8", &kNS_UNICODETOISO88598_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-I", &kNS_UNICODETOISO88598I_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-E", &kNS_UNICODETOISO88598E_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-9", &kNS_UNICODETOISO88599_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-10", &kNS_UNICODETOISO885910_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-13", &kNS_UNICODETOISO885913_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-14", &kNS_UNICODETOISO885914_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-15", &kNS_UNICODETOISO885915_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-16", &kNS_UNICODETOISO885916_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-IR-111", &kNS_UNICODETOISOIR111_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1250", &kNS_UNICODETOCP1250_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1251", &kNS_UNICODETOCP1251_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1253", &kNS_UNICODETOCP1253_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1254", &kNS_UNICODETOCP1254_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1255", &kNS_UNICODETOCP1255_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1256", &kNS_UNICODETOCP1256_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1257", &kNS_UNICODETOCP1257_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1258", &kNS_UNICODETOCP1258_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "TIS-620", &kNS_UNICODETOTIS620_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-11", &kNS_UNICODETOISO885911_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "windows-874", &kNS_UNICODETOCP874_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "IBM866", &kNS_UNICODETOCP866_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-R", &kNS_UNICODETOKOI8R_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-U", &kNS_UNICODETOKOI8U_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-ce", &kNS_UNICODETOMACCE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-greek", &kNS_UNICODETOMACGREEK_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-turkish", &kNS_UNICODETOMACTURKISH_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-croatian", &kNS_UNICODETOMACCROATIAN_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-romanian", &kNS_UNICODETOMACROMANIAN_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-cyrillic", &kNS_UNICODETOMACCYRILLIC_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-icelandic", &kNS_UNICODETOMACICELANDIC_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "armscii-8", &kNS_UNICODETOARMSCII8_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-tcvn5712", &kNS_UNICODETOTCVN5712_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "VISCII", &kNS_UNICODETOVISCII_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-vps", &kNS_UNICODETOVPS_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16BE", &kNS_UNICODETOUTF16BE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16LE", &kNS_UNICODETOUTF16LE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16", &kNS_UNICODETOUTF16_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "T.61-8bit", &kNS_UNICODETOT61_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-user-defined", &kNS_UNICODETOUSERDEFINED_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-arabic", &kNS_UNICODETOMACARABIC_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-devanagari", &kNS_UNICODETOMACDEVANAGARI_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-farsi", &kNS_UNICODETOMACFARSI_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gurmukhi", &kNS_UNICODETOMACGURMUKHI_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gujarati", &kNS_UNICODETOMACGUJARATI_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-hebrew", &kNS_UNICODETOMACHEBREW_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "IBM850", &kNS_CP850TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "IBM852", &kNS_CP852TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "IBM855", &kNS_CP855TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "IBM857", &kNS_CP857TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "IBM862", &kNS_CP862TOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "IBM864", &kNS_CP864TOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "IBM850", &kNS_UNICODETOCP850_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "IBM852", &kNS_UNICODETOCP852_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "IBM855", &kNS_UNICODETOCP855_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "IBM857", &kNS_UNICODETOCP857_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "IBM862", &kNS_UNICODETOCP862_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "IBM864", &kNS_UNICODETOCP864_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "Shift_JIS", &kNS_SJISTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "EUC-JP", &kNS_EUCJPTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-JP", &kNS_ISO2022JPTOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "Shift_JIS", &kNS_UNICODETOSJIS_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "EUC-JP", &kNS_UNICODETOEUCJP_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-2022-JP", &kNS_UNICODETOISO2022JP_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "jis_0201", &kNS_UNICODETOJISX0201_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-euc-tw", &kNS_EUCTWTOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-euc-tw", &kNS_UNICODETOEUCTW_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "Big5", &kNS_UNICODETOBIG5_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "Big5", &kNS_BIG5TOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "Big5-HKSCS", &kNS_UNICODETOBIG5HKSCS_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "hkscs-1", &kNS_UNICODETOHKSCS_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "Big5-HKSCS", &kNS_BIG5HKSCSTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "EUC-KR", &kNS_EUCKRTOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "EUC-KR", &kNS_UNICODETOEUCKR_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "x-johab", &kNS_JOHABTOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "x-johab", &kNS_UNICODETOJOHAB_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-KR", &kNS_ISO2022KRTOUNICODE_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "GB2312", &kNS_GB2312TOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "GB2312", &kNS_UNICODETOGB2312_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "gbk", &kNS_GBKTOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "gbk", &kNS_UNICODETOGBK_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "HZ-GB-2312", &kNS_HZTOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "HZ-GB-2312", &kNS_UNICODETOHZ_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "gb18030", &kNS_GB18030TOUNICODE_CID }, michael@0: { NS_UNICODEENCODER_CONTRACTID_BASE "gb18030", &kNS_UNICODETOGB18030_CID }, michael@0: { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-CN", &kNS_ISO2022CNTOUNICODE_CID }, michael@0: { nullptr } michael@0: }; michael@0: michael@0: static const mozilla::Module kUConvModule = { michael@0: mozilla::Module::kVersion, michael@0: kUConvCIDs, michael@0: kUConvContracts, michael@0: kUConvCategories michael@0: }; michael@0: michael@0: NSMODULE_DEFN(nsUConvModule) = &kUConvModule;