LCOV - code coverage report
Current view: directory - intl/uconv/src - nsUConvModule.cpp (source / functions) Found Hit Coverage
Test: app.info Lines: 34 30 88.2 %
Date: 2012-06-02 Functions: 34 30 88.2 %

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

Generated by: LCOV version 1.7