gecko/intl/uconv/src/nsUConvModule.cpp

1633 lines
53 KiB
C++

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Pierre Phaneuf <pp@ludusdesign.com>
* IBM Corporation
*
* Alternatively, the contents of this file may be used under the terms of
* either of the GNU General Public License Version 2 or later (the "GPL"),
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#include "nsCOMPtr.h"
#include "nsCRT.h"
#include "nsIModule.h"
#include "nsIGenericFactory.h"
#include "nsIComponentManager.h"
#include "nsICategoryManager.h"
#include "nsICharsetConverterManager.h"
#include "nsEncoderDecoderUtils.h"
#include "nsIUnicodeDecoder.h"
#include "nsIUnicodeEncoder.h"
#include "nsICharsetAlias.h"
#include "nsIServiceManager.h"
#include "nsUConvCID.h"
#include "nsCharsetConverterManager.h"
#include "nsCharsetAlias.h"
#include "nsTextToSubURI.h"
#include "nsUTF8ConverterService.h"
#include "nsConverterInputStream.h"
#include "nsConverterOutputStream.h"
#include "nsPlatformCharset.h"
#include "nsScriptableUConv.h"
#ifndef MOZ_USE_NATIVE_UCONV
#include "nsIPlatformCharset.h"
#include "nsITextToSubURI.h"
#include "nsUConvDll.h"
#include "nsIFile.h"
#include "nsCRT.h"
#include "nsUCSupport.h"
#include "nsISO88591ToUnicode.h"
#include "nsCP1252ToUnicode.h"
#include "nsMacRomanToUnicode.h"
#include "nsUTF8ToUnicode.h"
#include "nsUnicodeToISO88591.h"
#include "nsUnicodeToCP1252.h"
#include "nsUnicodeToMacRoman.h"
#include "nsUnicodeToUTF8.h"
// ucvlatin
#include "nsUCvLatinCID.h"
#include "nsUCvLatinDll.h"
#include "nsAsciiToUnicode.h"
#include "nsISO88592ToUnicode.h"
#include "nsISO88593ToUnicode.h"
#include "nsISO88594ToUnicode.h"
#include "nsISO88595ToUnicode.h"
#include "nsISO88596ToUnicode.h"
#include "nsISO88596EToUnicode.h"
#include "nsISO88596IToUnicode.h"
#include "nsISO88597ToUnicode.h"
#include "nsISO88598ToUnicode.h"
#include "nsISO88598EToUnicode.h"
#include "nsISO88598IToUnicode.h"
#include "nsISO88599ToUnicode.h"
#include "nsISO885910ToUnicode.h"
#include "nsISO885913ToUnicode.h"
#include "nsISO885914ToUnicode.h"
#include "nsISO885915ToUnicode.h"
#include "nsISO885916ToUnicode.h"
#include "nsISOIR111ToUnicode.h"
#include "nsCP1250ToUnicode.h"
#include "nsCP1251ToUnicode.h"
#include "nsCP1253ToUnicode.h"
#include "nsCP1254ToUnicode.h"
#include "nsCP1255ToUnicode.h"
#include "nsCP1256ToUnicode.h"
#include "nsCP1257ToUnicode.h"
#include "nsCP1258ToUnicode.h"
#include "nsCP874ToUnicode.h"
#include "nsISO885911ToUnicode.h"
#include "nsTIS620ToUnicode.h"
#include "nsCP866ToUnicode.h"
#include "nsKOI8RToUnicode.h"
#include "nsKOI8UToUnicode.h"
#include "nsMacCEToUnicode.h"
#include "nsMacGreekToUnicode.h"
#include "nsMacTurkishToUnicode.h"
#include "nsMacCroatianToUnicode.h"
#include "nsMacRomanianToUnicode.h"
#include "nsMacCyrillicToUnicode.h"
#include "nsMacIcelandicToUnicode.h"
#include "nsGEOSTD8ToUnicode.h"
#include "nsARMSCII8ToUnicode.h"
#include "nsTCVN5712ToUnicode.h"
#include "nsVISCIIToUnicode.h"
#include "nsVPSToUnicode.h"
#include "nsUTF7ToUnicode.h"
#include "nsMUTF7ToUnicode.h"
#include "nsUTF32ToUnicode.h"
#include "nsUCS2BEToUnicode.h"
#include "nsT61ToUnicode.h"
#include "nsUserDefinedToUnicode.h"
#include "nsUnicodeToAscii.h"
#include "nsUnicodeToISO88592.h"
#include "nsUnicodeToISO88593.h"
#include "nsUnicodeToISO88594.h"
#include "nsUnicodeToISO88595.h"
#include "nsUnicodeToISO88596.h"
#include "nsUnicodeToISO88596E.h"
#include "nsUnicodeToISO88596I.h"
#include "nsUnicodeToISO88597.h"
#include "nsUnicodeToISO88598.h"
#include "nsUnicodeToISO88598E.h"
#include "nsUnicodeToISO88598I.h"
#include "nsUnicodeToISO88599.h"
#include "nsUnicodeToISO885910.h"
#include "nsUnicodeToISO885913.h"
#include "nsUnicodeToISO885914.h"
#include "nsUnicodeToISO885915.h"
#include "nsUnicodeToISO885916.h"
#include "nsUnicodeToISOIR111.h"
#include "nsUnicodeToCP1250.h"
#include "nsUnicodeToCP1251.h"
#include "nsUnicodeToCP1253.h"
#include "nsUnicodeToCP1254.h"
#include "nsUnicodeToCP1255.h"
#include "nsUnicodeToCP1256.h"
#include "nsUnicodeToCP1257.h"
#include "nsUnicodeToCP1258.h"
#include "nsUnicodeToCP874.h"
#include "nsUnicodeToISO885911.h"
#include "nsUnicodeToTIS620.h"
#include "nsUnicodeToCP866.h"
#include "nsUnicodeToKOI8R.h"
#include "nsUnicodeToKOI8U.h"
#include "nsUnicodeToMacCE.h"
#include "nsUnicodeToMacGreek.h"
#include "nsUnicodeToMacTurkish.h"
#include "nsUnicodeToMacCroatian.h"
#include "nsUnicodeToMacRomanian.h"
#include "nsUnicodeToMacCyrillic.h"
#include "nsUnicodeToMacIcelandic.h"
#include "nsUnicodeToGEOSTD8.h"
#include "nsUnicodeToARMSCII8.h"
#include "nsUnicodeToTCVN5712.h"
#include "nsUnicodeToVISCII.h"
#include "nsUnicodeToVPS.h"
#include "nsUnicodeToUTF7.h"
#include "nsUnicodeToMUTF7.h"
#include "nsUnicodeToUCS2BE.h"
#include "nsUnicodeToUTF32.h"
#include "nsUnicodeToT61.h"
#include "nsUnicodeToUserDefined.h"
#include "nsUnicodeToSymbol.h"
#include "nsUnicodeToZapfDingbat.h"
#include "nsUnicodeToAdobeEuro.h"
#include "nsMacArabicToUnicode.h"
#include "nsMacDevanagariToUnicode.h"
#include "nsMacFarsiToUnicode.h"
#include "nsMacGujaratiToUnicode.h"
#include "nsMacGurmukhiToUnicode.h"
#include "nsMacHebrewToUnicode.h"
#include "nsUnicodeToMacArabic.h"
#include "nsUnicodeToMacDevanagari.h"
#include "nsUnicodeToMacFarsi.h"
#include "nsUnicodeToMacGujarati.h"
#include "nsUnicodeToMacGurmukhi.h"
#include "nsUnicodeToMacHebrew.h"
#include "nsUnicodeToTSCII.h"
// ucvibm
#include "nsUCvIBMCID.h"
#include "nsUCvIBMDll.h"
#include "nsCP850ToUnicode.h"
#include "nsCP852ToUnicode.h"
#include "nsCP855ToUnicode.h"
#include "nsCP857ToUnicode.h"
#include "nsCP862ToUnicode.h"
#include "nsCP864ToUnicode.h"
#include "nsCP864iToUnicode.h"
#ifdef XP_OS2
#include "nsCP869ToUnicode.h"
#include "nsCP1125ToUnicode.h"
#include "nsCP1131ToUnicode.h"
#endif
#include "nsUnicodeToCP850.h"
#include "nsUnicodeToCP852.h"
#include "nsUnicodeToCP855.h"
#include "nsUnicodeToCP857.h"
#include "nsUnicodeToCP862.h"
#include "nsUnicodeToCP864.h"
#include "nsUnicodeToCP864i.h"
#ifdef XP_OS2
#include "nsUnicodeToCP869.h"
#include "nsUnicodeToCP1125.h"
#include "nsUnicodeToCP1131.h"
#endif
// ucvja
#include "nsUCVJACID.h"
#include "nsUCVJA2CID.h"
#include "nsUCVJADll.h"
#include "nsJapaneseToUnicode.h"
#include "nsUnicodeToSJIS.h"
#include "nsUnicodeToEUCJP.h"
#include "nsUnicodeToISO2022JP.h"
#include "nsUnicodeToJISx0201.h"
// ucvtw2
#include "nsUCvTW2CID.h"
#include "nsUCvTW2Dll.h"
#include "nsEUCTWToUnicode.h"
#include "nsUnicodeToEUCTW.h"
// ucvtw
#include "nsUCvTWCID.h"
#include "nsUCvTWDll.h"
#include "nsBIG5ToUnicode.h"
#include "nsUnicodeToBIG5.h"
#include "nsBIG5HKSCSToUnicode.h"
#include "nsUnicodeToBIG5HKSCS.h"
#include "nsUnicodeToHKSCS.h"
// ucvko
#include "nsUCvKOCID.h"
#include "nsUCvKODll.h"
#include "nsEUCKRToUnicode.h"
#include "nsUnicodeToEUCKR.h"
#include "nsJohabToUnicode.h"
#include "nsUnicodeToJohab.h"
#include "nsCP949ToUnicode.h"
#include "nsUnicodeToCP949.h"
#include "nsISO2022KRToUnicode.h"
#include "nsUnicodeToJamoTTF.h"
// ucvcn
#include "nsUCvCnCID.h"
#include "nsUCvCnDll.h"
#include "nsHZToUnicode.h"
#include "nsUnicodeToHZ.h"
#include "nsGBKToUnicode.h"
#include "nsUnicodeToGBK.h"
#include "nsCP936ToUnicode.h"
#include "nsUnicodeToCP936.h"
#include "nsGB2312ToUnicodeV2.h"
#include "nsUnicodeToGB2312V2.h"
#include "nsISO2022CNToUnicode.h"
#include "nsUnicodeToISO2022CN.h"
#include "gbku.h"
#define DECODER_NAME_BASE "Unicode Decoder-"
#define ENCODER_NAME_BASE "Unicode Encoder-"
NS_CONVERTER_REGISTRY_START
NS_UCONV_REG_UNREG("ISO-8859-1", NS_ISO88591TOUNICODE_CID, NS_UNICODETOISO88591_CID)
NS_UCONV_REG_UNREG("windows-1252", NS_CP1252TOUNICODE_CID, NS_UNICODETOCP1252_CID)
NS_UCONV_REG_UNREG("x-mac-roman", NS_MACROMANTOUNICODE_CID, NS_UNICODETOMACROMAN_CID)
NS_UCONV_REG_UNREG("UTF-8", NS_UTF8TOUNICODE_CID, NS_UNICODETOUTF8_CID)
// ucvlatin
NS_UCONV_REG_UNREG("us-ascii", NS_ASCIITOUNICODE_CID, NS_UNICODETOASCII_CID)
NS_UCONV_REG_UNREG("ISO-8859-2", NS_ISO88592TOUNICODE_CID, NS_UNICODETOISO88592_CID)
NS_UCONV_REG_UNREG("ISO-8859-3", NS_ISO88593TOUNICODE_CID, NS_UNICODETOISO88593_CID)
NS_UCONV_REG_UNREG("ISO-8859-4", NS_ISO88594TOUNICODE_CID, NS_UNICODETOISO88594_CID)
NS_UCONV_REG_UNREG("ISO-8859-5", NS_ISO88595TOUNICODE_CID, NS_UNICODETOISO88595_CID)
NS_UCONV_REG_UNREG("ISO-8859-6", NS_ISO88596TOUNICODE_CID, NS_UNICODETOISO88596_CID)
NS_UCONV_REG_UNREG("ISO-8859-6-I", NS_ISO88596ITOUNICODE_CID, NS_UNICODETOISO88596I_CID)
NS_UCONV_REG_UNREG("ISO-8859-6-E", NS_ISO88596ETOUNICODE_CID, NS_UNICODETOISO88596E_CID)
NS_UCONV_REG_UNREG("ISO-8859-7", NS_ISO88597TOUNICODE_CID, NS_UNICODETOISO88597_CID)
NS_UCONV_REG_UNREG("ISO-8859-8", NS_ISO88598TOUNICODE_CID, NS_UNICODETOISO88598_CID)
NS_UCONV_REG_UNREG("ISO-8859-8-I", NS_ISO88598ITOUNICODE_CID, NS_UNICODETOISO88598I_CID)
NS_UCONV_REG_UNREG("ISO-8859-8-E", NS_ISO88598ETOUNICODE_CID, NS_UNICODETOISO88598E_CID)
NS_UCONV_REG_UNREG("ISO-8859-9", NS_ISO88599TOUNICODE_CID, NS_UNICODETOISO88599_CID)
NS_UCONV_REG_UNREG("ISO-8859-10", NS_ISO885910TOUNICODE_CID, NS_UNICODETOISO885910_CID)
NS_UCONV_REG_UNREG("ISO-8859-13", NS_ISO885913TOUNICODE_CID, NS_UNICODETOISO885913_CID)
NS_UCONV_REG_UNREG("ISO-8859-14", NS_ISO885914TOUNICODE_CID, NS_UNICODETOISO885914_CID)
NS_UCONV_REG_UNREG("ISO-8859-15", NS_ISO885915TOUNICODE_CID, NS_UNICODETOISO885915_CID)
NS_UCONV_REG_UNREG("ISO-8859-16", NS_ISO885916TOUNICODE_CID, NS_UNICODETOISO885916_CID)
NS_UCONV_REG_UNREG("ISO-IR-111", NS_ISOIR111TOUNICODE_CID, NS_UNICODETOISOIR111_CID)
NS_UCONV_REG_UNREG("windows-1250", NS_CP1250TOUNICODE_CID, NS_UNICODETOCP1250_CID)
NS_UCONV_REG_UNREG("windows-1251", NS_CP1251TOUNICODE_CID, NS_UNICODETOCP1251_CID)
NS_UCONV_REG_UNREG("windows-1253", NS_CP1253TOUNICODE_CID, NS_UNICODETOCP1253_CID)
NS_UCONV_REG_UNREG("windows-1254", NS_CP1254TOUNICODE_CID, NS_UNICODETOCP1254_CID)
NS_UCONV_REG_UNREG("windows-1255", NS_CP1255TOUNICODE_CID, NS_UNICODETOCP1255_CID)
NS_UCONV_REG_UNREG("windows-1256", NS_CP1256TOUNICODE_CID, NS_UNICODETOCP1256_CID)
NS_UCONV_REG_UNREG("windows-1257", NS_CP1257TOUNICODE_CID, NS_UNICODETOCP1257_CID)
NS_UCONV_REG_UNREG("windows-1258", NS_CP1258TOUNICODE_CID, NS_UNICODETOCP1258_CID)
NS_UCONV_REG_UNREG("TIS-620", NS_TIS620TOUNICODE_CID, NS_UNICODETOTIS620_CID)
NS_UCONV_REG_UNREG("windows-874", NS_CP874TOUNICODE_CID, NS_UNICODETOCP874_CID)
NS_UCONV_REG_UNREG("ISO-8859-11", NS_ISO885911TOUNICODE_CID, NS_UNICODETOISO885911_CID)
NS_UCONV_REG_UNREG("IBM866", NS_CP866TOUNICODE_CID, NS_UNICODETOCP866_CID)
NS_UCONV_REG_UNREG("KOI8-R", NS_KOI8RTOUNICODE_CID, NS_UNICODETOKOI8R_CID)
NS_UCONV_REG_UNREG("KOI8-U", NS_KOI8UTOUNICODE_CID, NS_UNICODETOKOI8U_CID)
NS_UCONV_REG_UNREG("x-mac-ce", NS_MACCETOUNICODE_CID, NS_UNICODETOMACCE_CID)
NS_UCONV_REG_UNREG("x-mac-greek", NS_MACGREEKTOUNICODE_CID, NS_UNICODETOMACGREEK_CID)
NS_UCONV_REG_UNREG("x-mac-turkish", NS_MACTURKISHTOUNICODE_CID, NS_UNICODETOMACTURKISH_CID)
NS_UCONV_REG_UNREG("x-mac-croatian", NS_MACCROATIANTOUNICODE_CID, NS_UNICODETOMACCROATIAN_CID)
NS_UCONV_REG_UNREG("x-mac-romanian", NS_MACROMANIANTOUNICODE_CID, NS_UNICODETOMACROMANIAN_CID)
NS_UCONV_REG_UNREG("x-mac-cyrillic", NS_MACCYRILLICTOUNICODE_CID, NS_UNICODETOMACCYRILLIC_CID)
NS_UCONV_REG_UNREG("x-mac-icelandic", NS_MACICELANDICTOUNICODE_CID, NS_UNICODETOMACICELANDIC_CID)
NS_UCONV_REG_UNREG("GEOSTD8", NS_GEOSTD8TOUNICODE_CID, NS_UNICODETOGEOSTD8_CID)
NS_UCONV_REG_UNREG("armscii-8", NS_ARMSCII8TOUNICODE_CID, NS_UNICODETOARMSCII8_CID)
NS_UCONV_REG_UNREG("x-viet-tcvn5712", NS_TCVN5712TOUNICODE_CID, NS_UNICODETOTCVN5712_CID)
NS_UCONV_REG_UNREG("VISCII", NS_VISCIITOUNICODE_CID, NS_UNICODETOVISCII_CID)
NS_UCONV_REG_UNREG("x-viet-vps", NS_VPSTOUNICODE_CID, NS_UNICODETOVPS_CID)
NS_UCONV_REG_UNREG("UTF-7", NS_UTF7TOUNICODE_CID, NS_UNICODETOUTF7_CID)
NS_UCONV_REG_UNREG("x-imap4-modified-utf7", NS_MUTF7TOUNICODE_CID, NS_UNICODETOMUTF7_CID)
NS_UCONV_REG_UNREG("UTF-16", NS_UTF16TOUNICODE_CID, NS_UNICODETOUTF16_CID)
NS_UCONV_REG_UNREG("UTF-16BE", NS_UTF16BETOUNICODE_CID, NS_UNICODETOUTF16BE_CID)
NS_UCONV_REG_UNREG("UTF-16LE", NS_UTF16LETOUNICODE_CID, NS_UNICODETOUTF16LE_CID)
NS_UCONV_REG_UNREG("UTF-32", NS_UTF32TOUNICODE_CID, NS_UNICODETOUTF32_CID)
NS_UCONV_REG_UNREG("UTF-32BE", NS_UTF32BETOUNICODE_CID, NS_UNICODETOUTF32BE_CID)
NS_UCONV_REG_UNREG("UTF-32LE", NS_UTF32LETOUNICODE_CID, NS_UNICODETOUTF32LE_CID)
NS_UCONV_REG_UNREG("T.61-8bit", NS_T61TOUNICODE_CID, NS_UNICODETOT61_CID)
NS_UCONV_REG_UNREG("x-user-defined", NS_USERDEFINEDTOUNICODE_CID, NS_UNICODETOUSERDEFINED_CID)
NS_UCONV_REG_UNREG("x-mac-arabic" , NS_MACARABICTOUNICODE_CID, NS_UNICODETOMACARABIC_CID)
NS_UCONV_REG_UNREG("x-mac-devanagari" , NS_MACDEVANAGARITOUNICODE_CID, NS_UNICODETOMACDEVANAGARI_CID)
NS_UCONV_REG_UNREG("x-mac-farsi" , NS_MACFARSITOUNICODE_CID, NS_UNICODETOMACFARSI_CID)
NS_UCONV_REG_UNREG("x-mac-gurmukhi" , NS_MACGURMUKHITOUNICODE_CID, NS_UNICODETOMACGURMUKHI_CID)
NS_UCONV_REG_UNREG("x-mac-gujarati" , NS_MACGUJARATITOUNICODE_CID, NS_UNICODETOMACGUJARATI_CID)
NS_UCONV_REG_UNREG("x-mac-hebrew" , NS_MACHEBREWTOUNICODE_CID, NS_UNICODETOMACHEBREW_CID)
NS_UCONV_REG_UNREG_ENCODER("Adobe-Symbol-Encoding" , NS_UNICODETOSYMBOL_CID)
NS_UCONV_REG_UNREG_ENCODER("x-zapf-dingbats" , NS_UNICODETOZAPFDINGBATS_CID)
NS_UCONV_REG_UNREG_ENCODER("x-tscii", NS_UNICODETOTSCII_CID)
NS_UCONV_REG_UNREG_ENCODER("x-tamilttf-0", NS_UNICODETOTAMILTTF_CID)
// ucvibm
NS_UCONV_REG_UNREG("IBM850", NS_CP850TOUNICODE_CID, NS_UNICODETOCP850_CID)
NS_UCONV_REG_UNREG("IBM852", NS_CP852TOUNICODE_CID, NS_UNICODETOCP852_CID)
NS_UCONV_REG_UNREG("IBM855", NS_CP855TOUNICODE_CID, NS_UNICODETOCP855_CID)
NS_UCONV_REG_UNREG("IBM857", NS_CP857TOUNICODE_CID, NS_UNICODETOCP857_CID)
NS_UCONV_REG_UNREG("IBM862", NS_CP862TOUNICODE_CID, NS_UNICODETOCP862_CID)
NS_UCONV_REG_UNREG("IBM864", NS_CP864TOUNICODE_CID, NS_UNICODETOCP864_CID)
NS_UCONV_REG_UNREG("IBM864i", NS_CP864ITOUNICODE_CID, NS_UNICODETOCP864I_CID)
#ifdef XP_OS2
NS_UCONV_REG_UNREG("IBM869", NS_CP869TOUNICODE_CID, NS_UNICODETOCP869_CID)
NS_UCONV_REG_UNREG("IBM1125", NS_CP1125TOUNICODE_CID, NS_UNICODETOCP1125_CID)
NS_UCONV_REG_UNREG("IBM1131", NS_CP1131TOUNICODE_CID, NS_UNICODETOCP1131_CID)
#endif
// ucvja
NS_UCONV_REG_UNREG("Shift_JIS", NS_SJISTOUNICODE_CID, NS_UNICODETOSJIS_CID)
NS_UCONV_REG_UNREG("ISO-2022-JP", NS_ISO2022JPTOUNICODE_CID, NS_UNICODETOISO2022JP_CID)
NS_UCONV_REG_UNREG("EUC-JP", NS_EUCJPTOUNICODE_CID, NS_UNICODETOEUCJP_CID)
NS_UCONV_REG_UNREG_ENCODER("jis_0201" , NS_UNICODETOJISX0201_CID)
// ucvtw2
NS_UCONV_REG_UNREG("x-euc-tw", NS_EUCTWTOUNICODE_CID, NS_UNICODETOEUCTW_CID)
// ucvtw
NS_UCONV_REG_UNREG("Big5", NS_BIG5TOUNICODE_CID, NS_UNICODETOBIG5_CID)
NS_UCONV_REG_UNREG("Big5-HKSCS", NS_BIG5HKSCSTOUNICODE_CID, NS_UNICODETOBIG5HKSCS_CID)
NS_UCONV_REG_UNREG_ENCODER("hkscs-1" , NS_UNICODETOHKSCS_CID)
// ucvko
NS_UCONV_REG_UNREG("EUC-KR", NS_EUCKRTOUNICODE_CID, NS_UNICODETOEUCKR_CID)
NS_UCONV_REG_UNREG("x-johab", NS_JOHABTOUNICODE_CID, NS_UNICODETOJOHAB_CID)
NS_UCONV_REG_UNREG("x-windows-949", NS_CP949TOUNICODE_CID, NS_UNICODETOCP949_CID)
NS_UCONV_REG_UNREG_DECODER("ISO-2022-KR", NS_ISO2022KRTOUNICODE_CID)
NS_UCONV_REG_UNREG_ENCODER("x-koreanjamo-0", NS_UNICODETOJAMOTTF_CID)
// ucvcn
NS_UCONV_REG_UNREG("GB2312", NS_GB2312TOUNICODE_CID, NS_UNICODETOGB2312_CID)
NS_UCONV_REG_UNREG("windows-936", NS_CP936TOUNICODE_CID, NS_UNICODETOCP936_CID)
NS_UCONV_REG_UNREG("x-gbk", NS_GBKTOUNICODE_CID, NS_UNICODETOGBK_CID)
NS_UCONV_REG_UNREG("HZ-GB-2312", NS_HZTOUNICODE_CID, NS_UNICODETOHZ_CID)
NS_UCONV_REG_UNREG("gb18030", NS_GB18030TOUNICODE_CID, NS_UNICODETOGB18030_CID)
NS_UCONV_REG_UNREG_DECODER("ISO-2022-CN", NS_ISO2022CNTOUNICODE_CID)
NS_CONVERTER_REGISTRY_END
NS_IMPL_NSUCONVERTERREGSELF
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF8)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ToUnicode)
// ucvlatin
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF7ToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsMUTF7ToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16ToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16BEToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16LEToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF32ToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF32BEToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF32LEToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF7)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToMUTF7)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16BE)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16LE)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF32BE)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF32LE)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF32)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToTSCII)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToTamilTTF)
// ucvibm
// ucvja
NS_GENERIC_FACTORY_CONSTRUCTOR(nsShiftJISToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsEUCJPToUnicodeV2)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022JPToUnicodeV2)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToISO2022JP)
// ucvtw2
// ucvtw
// ucvko
NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022KRToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToJamoTTF)
// ucvcn
NS_GENERIC_FACTORY_CONSTRUCTOR(nsGB2312ToUnicodeV2)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB2312V2)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsCP936ToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToCP936)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsGBKToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGBK)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHZToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToHZ)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsGB18030ToUnicode)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB18030)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022CNToUnicode)
//----------------------------------------------------------------------------
// Global functions and data [declaration]
#define DECODER_NAME_BASE "Unicode Decoder-"
#define ENCODER_NAME_BASE "Unicode Encoder-"
// ucvja
const PRUint16 g_uf0201Mapping[] = {
#include "jis0201.uf"
};
const PRUint16 g_uf0201GLMapping[] = {
#include "jis0201gl.uf"
};
const PRUint16 g_uf0208Mapping[] = {
#include "jis0208.uf"
};
const PRUint16 g_uf0208extMapping[] = {
#include "jis0208ext.uf"
};
const PRUint16 g_uf0212Mapping[] = {
#include "jis0212.uf"
};
// ucvtw2
const PRUint16 g_ufCNS1MappingTable[] = {
#include "cns_1.uf"
};
const PRUint16 g_ufCNS2MappingTable[] = {
#include "cns_2.uf"
};
const PRUint16 g_ufCNS3MappingTable[] = {
#include "cns3.uf"
};
const PRUint16 g_ufCNS4MappingTable[] = {
#include "cns4.uf"
};
const PRUint16 g_ufCNS5MappingTable[] = {
#include "cns5.uf"
};
const PRUint16 g_ufCNS6MappingTable[] = {
#include "cns6.uf"
};
const PRUint16 g_ufCNS7MappingTable[] = {
#include "cns7.uf"
};
const PRUint16 g_utCNS1MappingTable[] = {
#include "cns_1.ut"
};
const PRUint16 g_utCNS2MappingTable[] = {
#include "cns_2.ut"
};
const PRUint16 g_utCNS3MappingTable[] = {
#include "cns3.ut"
};
const PRUint16 g_utCNS4MappingTable[] = {
#include "cns4.ut"
};
const PRUint16 g_utCNS5MappingTable[] = {
#include "cns5.ut"
};
const PRUint16 g_utCNS6MappingTable[] = {
#include "cns6.ut"
};
const PRUint16 g_utCNS7MappingTable[] = {
#include "cns7.ut"
};
const PRUint16 g_ASCIIMappingTable[] = {
0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
};
// ucvtw
const PRUint16 g_ufBig5Mapping[] = {
#include "big5.uf"
};
const PRUint16 g_utBIG5Mapping[] = {
#include "big5.ut"
};
const PRUint16 g_ufBig5HKSCSMapping[] = {
#include "hkscs.uf"
};
const PRUint16 g_ASCIIMapping[] = {
0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
};
const PRUint16 g_utBig5HKSCSMapping[] = {
#include "hkscs.ut"
};
// ucvko
const PRUint16 g_utKSC5601Mapping[] = {
#include "u20kscgl.ut"
};
const PRUint16 g_ufKSC5601Mapping[] = {
#include "u20kscgl.uf"
};
const PRUint16 g_ucvko_AsciiMapping[] = {
0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
};
const PRUint16 g_HangulNullMapping[] ={
0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0xAC00, 0xD7A3, 0xAC00
};
const PRUint16 g_ufJohabJamoMapping[] ={
#include "johabjamo.uf"
};
#else // MOZ_USE_NATIVE_UCONV
#include "nsINativeUConvService.h"
#include "nsNativeUConvService.h"
NS_GENERIC_FACTORY_CONSTRUCTOR(NativeUConvService)
#endif // #ifndef MOZ_USE_NATIVE_UCONV
NS_IMETHODIMP
nsConverterManagerDataRegister(nsIComponentManager* aCompMgr,
nsIFile* aPath,
const char *aLocation,
const char *aType,
const nsModuleComponentInfo* aInfo)
{
return nsCharsetConverterManager::RegisterConverterManagerData();
}
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsCharsetConverterManager, Init)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsTextToSubURI)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ConverterService)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsCharsetAlias2)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterInputStream)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterOutputStream)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPlatformCharset, Init)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsScriptableUnicodeConverter)
static const nsModuleComponentInfo components[] =
{
{
"Charset Conversion Manager", NS_ICHARSETCONVERTERMANAGER_CID,
NS_CHARSETCONVERTERMANAGER_CONTRACTID,
nsCharsetConverterManagerConstructor,
nsConverterManagerDataRegister,
},
{
"Charset Alias Information", NS_CHARSETALIAS_CID,
NS_CHARSETALIAS_CONTRACTID,
nsCharsetAlias2Constructor
},
{
"Text To Sub URI Helper", NS_TEXTTOSUBURI_CID,
NS_ITEXTTOSUBURI_CONTRACTID,
nsTextToSubURIConstructor
},
{
"Platform Charset Information", NS_PLATFORMCHARSET_CID,
NS_PLATFORMCHARSET_CONTRACTID,
nsPlatformCharsetConstructor
},
{ "Unicode converter input stream", NS_CONVERTERINPUTSTREAM_CID,
NS_CONVERTERINPUTSTREAM_CONTRACTID,
nsConverterInputStreamConstructor
},
{ "Unicode converter output stream", NS_CONVERTEROUTPUTSTREAM_CID,
"@mozilla.org/intl/converter-output-stream;1",
nsConverterOutputStreamConstructor
},
{
"Unicode Encoder / Decoder for Script", NS_ISCRIPTABLEUNICODECONVERTER_CID,
NS_ISCRIPTABLEUNICODECONVERTER_CONTRACTID,
nsScriptableUnicodeConverterConstructor
},
#ifdef MOZ_USE_NATIVE_UCONV
{
"Native UConv Service",
NS_NATIVE_UCONV_SERVICE_CID,
NS_NATIVE_UCONV_SERVICE_CONTRACT_ID,
NativeUConvServiceConstructor,
},
#else
{
"Converter to/from UTF8 with charset", NS_UTF8CONVERTERSERVICE_CID,
NS_UTF8CONVERTERSERVICE_CONTRACTID,
nsUTF8ConverterServiceConstructor
},
{
"ISO-8859-1 To Unicode Converter", NS_ISO88591TOUNICODE_CID,
NS_ISO88591TOUNICODE_CONTRACTID,
nsISO88591ToUnicodeConstructor,
// global converter registration
nsUConverterRegSelf, nsUConverterUnregSelf,
},
{
"windows-1252 To Unicode Converter", NS_CP1252TOUNICODE_CID,
NS_CP1252TOUNICODE_CONTRACTID,
nsCP1252ToUnicodeConstructor,
},
{
"x-mac-roman To Unicode Converter", NS_MACROMANTOUNICODE_CID,
NS_MACROMANTOUNICODE_CONTRACTID,
nsMacRomanToUnicodeConstructor,
},
{
"UTF-8 To Unicode Converter", NS_UTF8TOUNICODE_CID,
NS_UTF8TOUNICODE_CONTRACTID,
nsUTF8ToUnicodeConstructor,
},
{
"Unicode To ISO-8859-1 Converter", NS_UNICODETOISO88591_CID,
NS_UNICODETOISO88591_CONTRACTID,
nsUnicodeToISO88591Constructor,
},
{
"Unicode To windows-1252 Converter", NS_UNICODETOCP1252_CID,
NS_UNICODETOCP1252_CONTRACTID,
nsUnicodeToCP1252Constructor,
},
{
"Unicode To x-mac-roman Converter", NS_UNICODETOMACROMAN_CID,
NS_UNICODETOMACROMAN_CONTRACTID,
nsUnicodeToMacRomanConstructor,
},
{
"Unicode To UTF-8 Converter", NS_UNICODETOUTF8_CID,
NS_UNICODETOUTF8_CONTRACTID,
nsUnicodeToUTF8Constructor,
},
// ucvlatin
{
DECODER_NAME_BASE "us-ascii" , NS_ASCIITOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "us-ascii",
nsAsciiToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-2" , NS_ISO88592TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-2",
nsISO88592ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-3" , NS_ISO88593TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-3",
nsISO88593ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-4" , NS_ISO88594TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-4",
nsISO88594ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-5" , NS_ISO88595TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-5",
nsISO88595ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-6" , NS_ISO88596TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6",
nsISO88596ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-6-I" , NS_ISO88596ITOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-I",
nsISO88596IToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-6-E" , NS_ISO88596ETOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-E",
nsISO88596EToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-7" , NS_ISO88597TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-7",
nsISO88597ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-8" , NS_ISO88598TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8",
nsISO88598ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-8-I" , NS_ISO88598ITOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-I",
nsISO88598IToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-8-E" , NS_ISO88598ETOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-E",
nsISO88598EToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-9" , NS_ISO88599TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-9",
nsISO88599ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-10" , NS_ISO885910TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-10",
nsISO885910ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-13" , NS_ISO885913TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-13",
nsISO885913ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-14" , NS_ISO885914TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-14",
nsISO885914ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-15" , NS_ISO885915TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-15",
nsISO885915ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-16" , NS_ISO885916TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-16",
nsISO885916ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-IR-111" , NS_ISOIR111TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-IR-111",
nsISOIR111ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "windows-1250" , NS_CP1250TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "windows-1250",
nsCP1250ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "windows-1251" , NS_CP1251TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "windows-1251",
nsCP1251ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "windows-1253" , NS_CP1253TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "windows-1253",
nsCP1253ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "windows-1254" , NS_CP1254TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "windows-1254",
nsCP1254ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "windows-1255" , NS_CP1255TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "windows-1255",
nsCP1255ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "windows-1256" , NS_CP1256TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "windows-1256",
nsCP1256ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "windows-1257" , NS_CP1257TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "windows-1257",
nsCP1257ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "windows-1258" , NS_CP1258TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "windows-1258",
nsCP1258ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "TIS-620" , NS_TIS620TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "TIS-620",
nsTIS620ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "ISO-8859-11" , NS_ISO885911TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-11",
nsISO885911ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "windows-874" , NS_CP874TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "windows-874",
nsCP874ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "IBM866" , NS_CP866TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM866",
nsCP866ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "KOI8-R" , NS_KOI8RTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-R",
nsKOI8RToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "KOI8-U" , NS_KOI8UTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-U",
nsKOI8UToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-ce" , NS_MACCETOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-ce",
nsMacCEToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-greek" , NS_MACGREEKTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-greek",
nsMacGreekToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-turkish" , NS_MACTURKISHTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-turkish",
nsMacTurkishToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-croatian" , NS_MACCROATIANTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-croatian",
nsMacCroatianToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-romanian" , NS_MACROMANIANTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-romanian",
nsMacRomanianToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-cyrillic" , NS_MACCYRILLICTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-cyrillic",
nsMacCyrillicToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-icelandic" , NS_MACICELANDICTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-icelandic",
nsMacIcelandicToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "GEOSTD8" , NS_GEOSTD8TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "GEOSTD8",
nsGEOSTD8ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "armscii-8" , NS_ARMSCII8TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "armscii-8",
nsARMSCII8ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-viet-tcvn5712" , NS_TCVN5712TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-tcvn5712",
nsTCVN5712ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "VISCII" , NS_VISCIITOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "VISCII",
nsVISCIIToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-viet-vps" , NS_VPSTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-vps",
nsVPSToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "UTF-7" , NS_UTF7TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "UTF-7",
nsUTF7ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-imap4-modified-utf7" , NS_MUTF7TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-imap4-modified-utf7",
nsMUTF7ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "UTF-16" , NS_UTF16TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16",
nsUTF16ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "UTF-16BE" , NS_UTF16BETOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16BE",
nsUTF16BEToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "UTF-16LE" , NS_UTF16LETOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16LE",
nsUTF16LEToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "UTF-32" , NS_UTF32TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "UTF-32",
nsUTF32ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "UTF-32BE" , NS_UTF32BETOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "UTF-32BE",
nsUTF32BEToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "UTF-32LE" , NS_UTF32LETOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "UTF-32LE",
nsUTF32LEToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "T.61-8bit" , NS_T61TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "T.61-8bit",
nsT61ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-user-defined" , NS_USERDEFINEDTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-user-defined",
nsUserDefinedToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-arabic" , NS_MACARABICTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-arabic",
nsMacArabicToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-devanagari" , NS_MACDEVANAGARITOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-devanagari",
nsMacDevanagariToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-farsi" , NS_MACFARSITOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-farsi",
nsMacFarsiToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-gurmukhi" , NS_MACGURMUKHITOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gurmukhi",
nsMacGurmukhiToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-gujarati" , NS_MACGUJARATITOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gujarati",
nsMacGujaratiToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "x-mac-hebrew" , NS_MACHEBREWTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-hebrew",
nsMacHebrewToUnicodeConstructor ,
},
{
ENCODER_NAME_BASE "us-ascii" , NS_UNICODETOASCII_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "us-ascii",
nsUnicodeToAsciiConstructor,
},
{
ENCODER_NAME_BASE "ISO-8859-2" , NS_UNICODETOISO88592_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-2",
nsUnicodeToISO88592Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-3" , NS_UNICODETOISO88593_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-3",
nsUnicodeToISO88593Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-4" , NS_UNICODETOISO88594_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-4",
nsUnicodeToISO88594Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-5" , NS_UNICODETOISO88595_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-5",
nsUnicodeToISO88595Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-6" , NS_UNICODETOISO88596_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6",
nsUnicodeToISO88596Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-6-I" , NS_UNICODETOISO88596I_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-I",
nsUnicodeToISO88596IConstructor,
},
{
ENCODER_NAME_BASE "ISO-8859-6-E" , NS_UNICODETOISO88596E_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-E",
nsUnicodeToISO88596EConstructor,
},
{
ENCODER_NAME_BASE "ISO-8859-7" , NS_UNICODETOISO88597_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-7",
nsUnicodeToISO88597Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-8" , NS_UNICODETOISO88598_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8",
nsUnicodeToISO88598Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-8-I" , NS_UNICODETOISO88598I_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-I",
nsUnicodeToISO88598IConstructor,
},
{
ENCODER_NAME_BASE "ISO-8859-8-E" , NS_UNICODETOISO88598E_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-E",
nsUnicodeToISO88598EConstructor,
},
{
ENCODER_NAME_BASE "ISO-8859-9" , NS_UNICODETOISO88599_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-9",
nsUnicodeToISO88599Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-10" , NS_UNICODETOISO885910_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-10",
nsUnicodeToISO885910Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-13" , NS_UNICODETOISO885913_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-13",
nsUnicodeToISO885913Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-14" , NS_UNICODETOISO885914_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-14",
nsUnicodeToISO885914Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-15" , NS_UNICODETOISO885915_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-15",
nsUnicodeToISO885915Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-16" , NS_UNICODETOISO885916_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-16",
nsUnicodeToISO885916Constructor,
},
{
ENCODER_NAME_BASE "ISO-IR-111" , NS_UNICODETOISOIR111_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-IR-111",
nsUnicodeToISOIR111Constructor,
},
{
ENCODER_NAME_BASE "windows-1250" , NS_UNICODETOCP1250_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "windows-1250",
nsUnicodeToCP1250Constructor,
},
{
ENCODER_NAME_BASE "windows-1251" , NS_UNICODETOCP1251_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "windows-1251",
nsUnicodeToCP1251Constructor,
},
{
ENCODER_NAME_BASE "windows-1253" , NS_UNICODETOCP1253_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "windows-1253",
nsUnicodeToCP1253Constructor,
},
{
ENCODER_NAME_BASE "windows-1254" , NS_UNICODETOCP1254_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "windows-1254",
nsUnicodeToCP1254Constructor,
},
{
ENCODER_NAME_BASE "windows-1255" , NS_UNICODETOCP1255_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "windows-1255",
nsUnicodeToCP1255Constructor,
},
{
ENCODER_NAME_BASE "windows-1256" , NS_UNICODETOCP1256_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "windows-1256",
nsUnicodeToCP1256Constructor,
},
{
ENCODER_NAME_BASE "windows-1257" , NS_UNICODETOCP1257_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "windows-1257",
nsUnicodeToCP1257Constructor,
},
{
ENCODER_NAME_BASE "windows-1258" , NS_UNICODETOCP1258_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "windows-1258",
nsUnicodeToCP1258Constructor,
},
{
ENCODER_NAME_BASE "TIS-620" , NS_UNICODETOTIS620_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "TIS-620",
nsUnicodeToTIS620Constructor,
},
{
ENCODER_NAME_BASE "ISO-8859-11" , NS_UNICODETOISO885911_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-11",
nsUnicodeToISO885911Constructor ,
},
{
ENCODER_NAME_BASE "windows-874" , NS_UNICODETOCP874_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "windows-874",
nsUnicodeToCP874Constructor ,
},
{
ENCODER_NAME_BASE "IBM866" , NS_UNICODETOCP866_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM866",
nsUnicodeToCP866Constructor,
},
{
ENCODER_NAME_BASE "KOI8-R" , NS_UNICODETOKOI8R_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-R",
nsUnicodeToKOI8RConstructor,
},
{
ENCODER_NAME_BASE "KOI8-U" , NS_UNICODETOKOI8U_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-U",
nsUnicodeToKOI8UConstructor,
},
{
ENCODER_NAME_BASE "x-mac-ce" , NS_UNICODETOMACCE_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-ce",
nsUnicodeToMacCEConstructor,
},
{
ENCODER_NAME_BASE "x-mac-greek" , NS_UNICODETOMACGREEK_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-greek",
nsUnicodeToMacGreekConstructor,
},
{
ENCODER_NAME_BASE "x-mac-turkish" , NS_UNICODETOMACTURKISH_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-turkish",
nsUnicodeToMacTurkishConstructor,
},
{
ENCODER_NAME_BASE "x-mac-croatian" , NS_UNICODETOMACCROATIAN_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-croatian",
nsUnicodeToMacCroatianConstructor,
},
{
ENCODER_NAME_BASE "x-mac-romanian" , NS_UNICODETOMACROMANIAN_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-romanian",
nsUnicodeToMacRomanianConstructor,
},
{
ENCODER_NAME_BASE "x-mac-cyrillic" , NS_UNICODETOMACCYRILLIC_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-cyrillic",
nsUnicodeToMacCyrillicConstructor,
},
{
ENCODER_NAME_BASE "x-mac-icelandic" , NS_UNICODETOMACICELANDIC_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-icelandic",
nsUnicodeToMacIcelandicConstructor,
},
{
ENCODER_NAME_BASE "GEOSTD8" , NS_UNICODETOGEOSTD8_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "GEOSTD8",
nsUnicodeToGEOSTD8Constructor,
},
{
ENCODER_NAME_BASE "armscii-8" , NS_UNICODETOARMSCII8_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "armscii-8",
nsUnicodeToARMSCII8Constructor,
},
{
ENCODER_NAME_BASE "x-viet-tcvn5712" , NS_UNICODETOTCVN5712_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-tcvn5712",
nsUnicodeToTCVN5712Constructor,
},
{
ENCODER_NAME_BASE "VISCII" , NS_UNICODETOVISCII_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "VISCII",
nsUnicodeToVISCIIConstructor,
},
{
ENCODER_NAME_BASE "x-viet-vps" , NS_UNICODETOVPS_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-vps",
nsUnicodeToVPSConstructor,
},
{
ENCODER_NAME_BASE "UTF-7" , NS_UNICODETOUTF7_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "UTF-7",
nsUnicodeToUTF7Constructor,
},
{
ENCODER_NAME_BASE "x-imap4-modified-utf7" , NS_UNICODETOMUTF7_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-imap4-modified-utf7",
nsUnicodeToMUTF7Constructor,
},
{
ENCODER_NAME_BASE "UTF-16BE" , NS_UNICODETOUTF16BE_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16BE",
nsUnicodeToUTF16BEConstructor,
},
{
ENCODER_NAME_BASE "UTF-16LE" , NS_UNICODETOUTF16LE_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16LE",
nsUnicodeToUTF16LEConstructor,
},
{
ENCODER_NAME_BASE "UTF-16" , NS_UNICODETOUTF16_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16",
nsUnicodeToUTF16Constructor,
},
{
ENCODER_NAME_BASE "UTF-32BE" , NS_UNICODETOUTF32BE_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "UTF-32BE",
nsUnicodeToUTF32BEConstructor,
},
{
ENCODER_NAME_BASE "UTF-32LE" , NS_UNICODETOUTF32LE_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "UTF-32LE",
nsUnicodeToUTF32LEConstructor,
},
{
ENCODER_NAME_BASE "UTF-32" , NS_UNICODETOUTF32_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "UTF-32",
nsUnicodeToUTF32Constructor,
},
{
ENCODER_NAME_BASE "T.61-8bit" , NS_UNICODETOT61_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "T.61-8bit",
nsUnicodeToT61Constructor,
},
{
ENCODER_NAME_BASE "x-user-defined" , NS_UNICODETOUSERDEFINED_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-user-defined",
nsUnicodeToUserDefinedConstructor,
},
{
ENCODER_NAME_BASE "Adobe-Symbol-Encoding" , NS_UNICODETOSYMBOL_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "Adobe-Symbol-Encoding",
nsUnicodeToSymbolConstructor,
},
{
ENCODER_NAME_BASE "x-zapf-dingbats" , NS_UNICODETOZAPFDINGBATS_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-zapf-dingbats",
nsUnicodeToZapfDingbatConstructor,
},
{
ENCODER_NAME_BASE "x-adobe-euro", NS_UNICODETOADOBEEURO_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-adobe-euro",
nsUnicodeToAdobeEuroConstructor,
},
{
ENCODER_NAME_BASE "x-mac-arabic" , NS_UNICODETOMACARABIC_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-arabic",
nsUnicodeToMacArabicConstructor,
},
{
ENCODER_NAME_BASE "x-mac-devanagari" , NS_UNICODETOMACDEVANAGARI_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-devanagari",
nsUnicodeToMacDevanagariConstructor,
},
{
ENCODER_NAME_BASE "x-mac-farsi" , NS_UNICODETOMACFARSI_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-farsi",
nsUnicodeToMacFarsiConstructor,
},
{
ENCODER_NAME_BASE "x-mac-gurmukhi" , NS_UNICODETOMACGURMUKHI_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gurmukhi",
nsUnicodeToMacGurmukhiConstructor,
},
{
ENCODER_NAME_BASE "x-mac-gujarati" , NS_UNICODETOMACGUJARATI_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gujarati",
nsUnicodeToMacGujaratiConstructor,
},
{
ENCODER_NAME_BASE "x-mac-hebrew" , NS_UNICODETOMACHEBREW_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-hebrew",
nsUnicodeToMacHebrewConstructor,
},
{
ENCODER_NAME_BASE "x-tscii" , NS_UNICODETOTSCII_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-tscii",
nsUnicodeToTSCIIConstructor,
},
{
ENCODER_NAME_BASE "x-tamilttf-0" , NS_UNICODETOTAMILTTF_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-tamilttf-0",
nsUnicodeToTamilTTFConstructor,
},
// ucvibm
{
DECODER_NAME_BASE "IBM850" , NS_CP850TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM850",
nsCP850ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "IBM852" , NS_CP852TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM852",
nsCP852ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "IBM855" , NS_CP855TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM855",
nsCP855ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "IBM857" , NS_CP857TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM857",
nsCP857ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "IBM862" , NS_CP862TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM862",
nsCP862ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "IBM864" , NS_CP864TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM864",
nsCP864ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "IBM864i" , NS_CP864ITOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM864i",
nsCP864iToUnicodeConstructor ,
},
#ifdef XP_OS2
{
DECODER_NAME_BASE "IBM869" , NS_CP869TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM869",
nsCP869ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "IBM1125" , NS_CP1125TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM1125",
nsCP1125ToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "IBM1131" , NS_CP1131TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "IBM1131",
nsCP1131ToUnicodeConstructor ,
},
#endif
{
ENCODER_NAME_BASE "IBM850" , NS_UNICODETOCP850_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM850",
nsUnicodeToCP850Constructor,
},
{
ENCODER_NAME_BASE "IBM852" , NS_UNICODETOCP852_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM852",
nsUnicodeToCP852Constructor,
},
{
ENCODER_NAME_BASE "IBM855" , NS_UNICODETOCP855_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM855",
nsUnicodeToCP855Constructor,
},
{
ENCODER_NAME_BASE "IBM857" , NS_UNICODETOCP857_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM857",
nsUnicodeToCP857Constructor,
},
{
ENCODER_NAME_BASE "IBM862" , NS_UNICODETOCP862_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM862",
nsUnicodeToCP862Constructor,
},
{
ENCODER_NAME_BASE "IBM864" , NS_UNICODETOCP864_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM864",
nsUnicodeToCP864Constructor,
},
{
ENCODER_NAME_BASE "IBM864i" , NS_UNICODETOCP864I_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM864i",
nsUnicodeToCP864iConstructor,
},
#ifdef XP_OS2
{
ENCODER_NAME_BASE "IBM869" , NS_UNICODETOCP869_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM869",
nsUnicodeToCP869Constructor,
},
{
ENCODER_NAME_BASE "IBM1125" , NS_UNICODETOCP1125_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM1125",
nsUnicodeToCP1125Constructor,
},
{
ENCODER_NAME_BASE "IBM1131" , NS_UNICODETOCP1131_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "IBM1131",
nsUnicodeToCP1131Constructor,
},
#endif
// ucvja
{
DECODER_NAME_BASE "Shift_JIS" , NS_SJISTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "Shift_JIS",
nsShiftJISToUnicodeConstructor ,
},
{
DECODER_NAME_BASE "EUC-JP" , NS_EUCJPTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "EUC-JP",
nsEUCJPToUnicodeV2Constructor ,
},
{
DECODER_NAME_BASE "ISO-2022-JP" , NS_ISO2022JPTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-JP",
nsISO2022JPToUnicodeV2Constructor ,
},
{
ENCODER_NAME_BASE "Shift_JIS" , NS_UNICODETOSJIS_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "Shift_JIS",
nsUnicodeToSJISConstructor,
},
{
ENCODER_NAME_BASE "EUC-JP" , NS_UNICODETOEUCJP_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "EUC-JP",
nsUnicodeToEUCJPConstructor,
},
{
ENCODER_NAME_BASE "ISO-2022-JP" , NS_UNICODETOISO2022JP_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "ISO-2022-JP",
nsUnicodeToISO2022JPConstructor,
},
{
ENCODER_NAME_BASE "jis_0201" , NS_UNICODETOJISX0201_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "jis_0201",
nsUnicodeToJISx0201Constructor,
},
// ucvtw2
{
DECODER_NAME_BASE "x-euc-tw" , NS_EUCTWTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-euc-tw",
nsEUCTWToUnicodeConstructor,
},
{
ENCODER_NAME_BASE "x-euc-tw" , NS_UNICODETOEUCTW_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-euc-tw",
nsUnicodeToEUCTWConstructor,
},
// ucvtw
{
ENCODER_NAME_BASE "Big5" , NS_UNICODETOBIG5_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "Big5",
nsUnicodeToBIG5Constructor,
},
{
DECODER_NAME_BASE "Big5" , NS_BIG5TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "Big5",
nsBIG5ToUnicodeConstructor ,
},
{
ENCODER_NAME_BASE "Big5-HKSCS" , NS_UNICODETOBIG5HKSCS_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "Big5-HKSCS",
nsUnicodeToBIG5HKSCSConstructor,
},
{
ENCODER_NAME_BASE "hkscs-1" , NS_UNICODETOHKSCS_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "hkscs-1",
nsUnicodeToHKSCSConstructor,
},
{
DECODER_NAME_BASE "Big5-HKSCS" , NS_BIG5HKSCSTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "Big5-HKSCS",
nsBIG5HKSCSToUnicodeConstructor ,
},
// ucvko
{
DECODER_NAME_BASE "EUC-KR" , NS_EUCKRTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "EUC-KR",
nsEUCKRToUnicodeConstructor ,
},
{
ENCODER_NAME_BASE "EUC-KR" , NS_UNICODETOEUCKR_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "EUC-KR",
nsUnicodeToEUCKRConstructor,
},
{
DECODER_NAME_BASE "x-johab" , NS_JOHABTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-johab",
nsJohabToUnicodeConstructor ,
},
{
ENCODER_NAME_BASE "x-johab" , NS_UNICODETOJOHAB_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-johab",
nsUnicodeToJohabConstructor,
},
{
DECODER_NAME_BASE "x-windows-949" , NS_CP949TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-windows-949",
nsCP949ToUnicodeConstructor ,
},
{
ENCODER_NAME_BASE "x-windows-949" , NS_UNICODETOCP949_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-windows-949",
nsUnicodeToCP949Constructor,
},
{
DECODER_NAME_BASE "ISO-2022-KR" , NS_ISO2022KRTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-KR",
nsISO2022KRToUnicodeConstructor ,
},
{
ENCODER_NAME_BASE "x-koreanjamo-0" , NS_UNICODETOJAMOTTF_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-koreanjamo-0",
nsUnicodeToJamoTTFConstructor,
},
// ucvcn
{
DECODER_NAME_BASE "GB2312" , NS_GB2312TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "GB2312",
nsGB2312ToUnicodeV2Constructor ,
},
{
ENCODER_NAME_BASE "GB2312" , NS_UNICODETOGB2312_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "GB2312",
nsUnicodeToGB2312V2Constructor,
},
{
DECODER_NAME_BASE "windows-936" , NS_CP936TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "windows-936",
nsCP936ToUnicodeConstructor ,
},
{
ENCODER_NAME_BASE "windows-936" , NS_UNICODETOCP936_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "windows-936",
nsUnicodeToCP936Constructor,
},
{
DECODER_NAME_BASE "x-gbk" , NS_GBKTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "x-gbk",
nsGBKToUnicodeConstructor ,
},
{
ENCODER_NAME_BASE "x-gbk" , NS_UNICODETOGBK_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "x-gbk",
nsUnicodeToGBKConstructor,
},
{
DECODER_NAME_BASE "HZ-GB-2312" , NS_HZTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "HZ-GB-2312",
nsHZToUnicodeConstructor ,
},
{
ENCODER_NAME_BASE "HZ-GB-2312" , NS_UNICODETOHZ_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "HZ-GB-2312",
nsUnicodeToHZConstructor,
},
{
DECODER_NAME_BASE "gb18030" , NS_GB18030TOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "gb18030",
nsGB18030ToUnicodeConstructor ,
},
{
ENCODER_NAME_BASE "gb18030" , NS_UNICODETOGB18030_CID,
NS_UNICODEENCODER_CONTRACTID_BASE "gb18030",
nsUnicodeToGB18030Constructor,
},
{
DECODER_NAME_BASE "ISO-2022-CN" , NS_ISO2022CNTOUNICODE_CID,
NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-CN",
nsISO2022CNToUnicodeConstructor,
},
#endif // MOZ_USE_NATIVE_UCONV
};
NS_IMPL_NSGETMODULE(nsUConvModule, components)