Bug 995922 - Remove JOHAB support. r=emk.
authorHenri Sivonen <hsivonen@hsivonen.fi>
Mon, 12 May 2014 11:56:58 +0300
changeset 182646 b5eef7023c5296af682833f59256fad9dd5d8626
parent 182645 9bee2d76e711ea54ac20f518ff4c17dc7059a5e8
child 182647 6cc9635af8e97662afaf73394bbee3408d938cb9
push id26768
push userryanvm@gmail.com
push dateMon, 12 May 2014 20:32:58 +0000
treeherdermozilla-central@4b6d63b05a0a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersemk
bugs995922
milestone32.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 995922 - Remove JOHAB support. r=emk.
gfx/thebes/gfxFontUtils.cpp
intl/uconv/src/moz.build
intl/uconv/src/nsUConvModule.cpp
intl/uconv/ucvko/johabjamo.uf
intl/uconv/ucvko/johabjamo.ut
intl/uconv/ucvko/nsJohabToUnicode.cpp
intl/uconv/ucvko/nsJohabToUnicode.h
intl/uconv/ucvko/nsUCvKOCID.h
intl/uconv/ucvko/nsUCvKODll.h
intl/uconv/ucvko/nsUnicodeToJohab.cpp
intl/uconv/ucvko/nsUnicodeToJohab.h
toolkit/components/telemetry/Histograms.json
--- a/gfx/thebes/gfxFontUtils.cpp
+++ b/gfx/thebes/gfxFontUtils.cpp
@@ -1217,17 +1217,17 @@ const char* gfxFontUtils::gISOFontNameCh
 const char* gfxFontUtils::gMSFontNameCharsets[] =
 {
     /* [0] ENCODING_ID_MICROSOFT_SYMBOL */      ""          ,
     /* [1] ENCODING_ID_MICROSOFT_UNICODEBMP */  ""          ,
     /* [2] ENCODING_ID_MICROSOFT_SHIFTJIS */    "Shift_JIS" ,
     /* [3] ENCODING_ID_MICROSOFT_PRC */         nullptr      ,
     /* [4] ENCODING_ID_MICROSOFT_BIG5 */        "Big5"      ,
     /* [5] ENCODING_ID_MICROSOFT_WANSUNG */     nullptr      ,
-    /* [6] ENCODING_ID_MICROSOFT_JOHAB */       "x-johab"   ,
+    /* [6] ENCODING_ID_MICROSOFT_JOHAB */       nullptr      ,
     /* [7] reserved */                          nullptr      ,
     /* [8] reserved */                          nullptr      ,
     /* [9] reserved */                          nullptr      ,
     /*[10] ENCODING_ID_MICROSOFT_UNICODEFULL */ ""
 };
 
 // Return the name of the charset we should use to decode a font name
 // given the name table attributes.
--- a/intl/uconv/src/moz.build
+++ b/intl/uconv/src/moz.build
@@ -53,19 +53,17 @@ UNIFIED_SOURCES += [
     '../ucvja/nsUnicodeToISO2022JP.cpp',
     '../ucvja/nsUnicodeToJISx0201.cpp',
     '../ucvja/nsUnicodeToSJIS.cpp',
 ]
 
 UNIFIED_SOURCES += [
     '../ucvko/nsCP949ToUnicode.cpp',
     '../ucvko/nsISO2022KRToUnicode.cpp',
-    '../ucvko/nsJohabToUnicode.cpp',
     '../ucvko/nsUnicodeToCP949.cpp',
-    '../ucvko/nsUnicodeToJohab.cpp',
 ]
 
 UNIFIED_SOURCES += [
     '../ucvlatin/nsARMSCII8ToUnicode.cpp',
     '../ucvlatin/nsAsciiToUnicode.cpp',
     '../ucvlatin/nsCP1250ToUnicode.cpp',
     '../ucvlatin/nsCP1251ToUnicode.cpp',
     '../ucvlatin/nsCP1253ToUnicode.cpp',
--- a/intl/uconv/src/nsUConvModule.cpp
+++ b/intl/uconv/src/nsUConvModule.cpp
@@ -171,18 +171,16 @@
 #include "nsUnicodeToBIG5.h"
 #include "nsBIG5HKSCSToUnicode.h"
 #include "nsUnicodeToBIG5HKSCS.h"
 #include "nsUnicodeToHKSCS.h"
 
 // ucvko
 #include "nsUCvKOCID.h"
 #include "nsUCvKODll.h"
-#include "nsJohabToUnicode.h"
-#include "nsUnicodeToJohab.h"
 #include "nsCP949ToUnicode.h"
 #include "nsUnicodeToCP949.h"
 #include "nsISO2022KRToUnicode.h"
 
 // ucvcn
 #include "nsUCvCnCID.h"
 #include "nsHZToUnicode.h"
 #include "nsUnicodeToHZ.h"
@@ -277,17 +275,16 @@ NS_UCONV_REG_UNREG("x-euc-tw", NS_EUCTWT
     // 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_DECODER("ISO-2022-KR", NS_ISO2022KRTOUNICODE_CID)
 
 // ucvcn
 NS_UCONV_REG_UNREG("GB2312", NS_GB2312TOUNICODE_CID, NS_UNICODETOGB2312_CID)
 NS_UCONV_REG_UNREG("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)
@@ -437,20 +434,16 @@ const uint16_t g_utKSC5601Mapping[] = {
 const uint16_t g_ufKSC5601Mapping[] = {
 #include "u20kscgl.uf"
 };
 
 const uint16_t g_HangulNullMapping[] ={
   0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0xAC00, 0xD7A3, 0xAC00
 };
 
-const uint16_t g_ufJohabJamoMapping[] ={   
-#include "johabjamo.uf"
-};
-
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsTextToSubURI)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ConverterService)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterInputStream)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterOutputStream)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsScriptableUnicodeConverter)
 
 NS_DEFINE_NAMED_CID(NS_TEXTTOSUBURI_CID);
 NS_DEFINE_NAMED_CID(NS_CONVERTERINPUTSTREAM_CID);
@@ -597,18 +590,16 @@ NS_DEFINE_NAMED_CID(NS_EUCTWTOUNICODE_CI
 NS_DEFINE_NAMED_CID(NS_UNICODETOEUCTW_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOBIG5_CID);
 NS_DEFINE_NAMED_CID(NS_BIG5TOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOBIG5HKSCS_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOHKSCS_CID);
 NS_DEFINE_NAMED_CID(NS_BIG5HKSCSTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_EUCKRTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOEUCKR_CID);
-NS_DEFINE_NAMED_CID(NS_JOHABTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOJOHAB_CID);
 NS_DEFINE_NAMED_CID(NS_ISO2022KRTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_GB2312TOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOGB2312_CID);
 NS_DEFINE_NAMED_CID(NS_GBKTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOGBK_CID);
 NS_DEFINE_NAMED_CID(NS_HZTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOHZ_CID);
 NS_DEFINE_NAMED_CID(NS_GB18030TOUNICODE_CID);
@@ -761,18 +752,16 @@ static const mozilla::Module::CIDEntry k
   { &kNS_UNICODETOEUCTW_CID, false, nullptr, nsUnicodeToEUCTWConstructor },
   { &kNS_UNICODETOBIG5_CID, false, nullptr, nsUnicodeToBIG5Constructor },
   { &kNS_BIG5TOUNICODE_CID, false, nullptr, nsBIG5ToUnicodeConstructor },
   { &kNS_UNICODETOBIG5HKSCS_CID, false, nullptr, nsUnicodeToBIG5HKSCSConstructor },
   { &kNS_UNICODETOHKSCS_CID, false, nullptr, nsUnicodeToHKSCSConstructor },
   { &kNS_BIG5HKSCSTOUNICODE_CID, false, nullptr, nsBIG5HKSCSToUnicodeConstructor },
   { &kNS_EUCKRTOUNICODE_CID, false, nullptr, nsCP949ToUnicodeConstructor },
   { &kNS_UNICODETOEUCKR_CID, false, nullptr, nsUnicodeToCP949Constructor },
-  { &kNS_JOHABTOUNICODE_CID, false, nullptr, nsJohabToUnicodeConstructor },
-  { &kNS_UNICODETOJOHAB_CID, false, nullptr, nsUnicodeToJohabConstructor },
   { &kNS_ISO2022KRTOUNICODE_CID, false, nullptr, nsISO2022KRToUnicodeConstructor },
   { &kNS_GB2312TOUNICODE_CID, false, nullptr, nsGB18030ToUnicodeConstructor },
   { &kNS_UNICODETOGB2312_CID, false, nullptr, nsUnicodeToGB2312V2Constructor },
   { &kNS_GBKTOUNICODE_CID, false, nullptr, nsGB18030ToUnicodeConstructor },
   { &kNS_UNICODETOGBK_CID, false, nullptr, nsUnicodeToGBKConstructor },
   { &kNS_HZTOUNICODE_CID, false, nullptr, nsHZToUnicodeConstructor },
   { &kNS_UNICODETOHZ_CID, false, nullptr, nsUnicodeToHZConstructor },
   { &kNS_GB18030TOUNICODE_CID, false, nullptr, nsGB18030ToUnicodeConstructor },
@@ -927,18 +916,16 @@ static const mozilla::Module::ContractID
   { NS_UNICODEENCODER_CONTRACTID_BASE "x-euc-tw", &kNS_UNICODETOEUCTW_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "Big5", &kNS_UNICODETOBIG5_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "Big5", &kNS_BIG5TOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "Big5-HKSCS", &kNS_UNICODETOBIG5HKSCS_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "hkscs-1", &kNS_UNICODETOHKSCS_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "Big5-HKSCS", &kNS_BIG5HKSCSTOUNICODE_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "EUC-KR", &kNS_EUCKRTOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "EUC-KR", &kNS_UNICODETOEUCKR_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-johab", &kNS_JOHABTOUNICODE_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-johab", &kNS_UNICODETOJOHAB_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-KR", &kNS_ISO2022KRTOUNICODE_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "GB2312", &kNS_GB2312TOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "GB2312", &kNS_UNICODETOGB2312_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "gbk", &kNS_GBKTOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "gbk", &kNS_UNICODETOGBK_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "HZ-GB-2312", &kNS_HZTOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "HZ-GB-2312", &kNS_UNICODETOHZ_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "gb18030", &kNS_GB18030TOUNICODE_CID },
deleted file mode 100644
--- a/intl/uconv/ucvko/johabjamo.uf
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-/*========================================================
-  This is a Generated file. Please don't edit it.
-
-  The tool which used to generate this file is called umaptable.
-  You can find this tool under mozilla/intl/uconv/tools/umaptable.c.
-  If you have any problem of this file. Please contact 
-  Netscape Client International Team or 
-  ftang@netscape <Frank Tang> 
-
-  Note manually added by Jungshik Shin <jshin@mailaps.org>
-
-  The table was generated by filtering JOHAB.TXT at
-  http://jshin.net/faq/JOHAB.TXT.gz
-
-  gunzip -c JOHAB.TXT.gz | egrep '^0x.... +0x31(3[1-F]|[45][0-F]|6[0-3])' \ 
-  | umaptable -uf
-
-              Table in Debug form 
-Begin of Item 0000
- Format 0
-  srcBegin = 313A
-  srcEnd = 3140
-  destBegin = 844A
-End of Item 0000 
-
-Begin of Item 0001
- Format 1
-  srcBegin = 3131
-  srcEnd = 3163
-  mappingOffset = 0000
- Mapping  = 
-  8841 8C41 8444 9041 8446 8447 9441 9841 
-  9C41 FFFD FFFD FFFD FFFD FFFD FFFD FFFD 
-  A041 A441 A841 8454 AC41 B041 B441 B841 
-  BC41 C041 C441 C841 CC41 D041 8461 8481 
-  84A1 84C1 84E1 8541 8561 8581 85A1 85C1 
-  85E1 8641 8661 8681 86A1 86C1 86E1 8741 
-  8761 8781 87A1 
-End of Item 0001 
-
-========================================================*/
-/* Offset=0x0000  ItemOfList */
-  0x0002,
-/*-------------------------------------------------------*/
-/* Offset=0x0001  offsetToFormatArray */
-  0x0004,
-/*-------------------------------------------------------*/
-/* Offset=0x0002  offsetToMapCellArray */ 
-  0x0005,
-/*-------------------------------------------------------*/
-/* Offset=0x0003  offsetToMappingTable */ 
-  0x000B,
-/*-------------------------------------------------------*/
-/*       Offset=0x0004   Start of Format Array */ 
-/*	Total of Format 0 : 0x0001			 */
-/*	Total of Format 1 : 0x0001			 */
-/*	Total of Format 2 : 0x0000			 */
-/*	Total of Format 3 : 0x0000			 */
-
-0x0010, 
-/*-------------------------------------------------------*/
-/*       Offset=0x0005   Start of MapCell Array */ 
-/* 0000 */    0x313A, 0x3140, 0x844A, 
-/* 0001 */    0x3131, 0x3163, 0x0000, 
-/*-------------------------------------------------------*/
-/*       Offset=0x000B   Start of MappingTable */ 
-
-/* 0000 */    0x8841, 0x8C41, 0x8444, 0x9041, 0x8446, 0x8447, 0x9441, 0x9841, 
-/* 0008 */    0x9C41, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 
-/* 0010 */    0xA041, 0xA441, 0xA841, 0x8454, 0xAC41, 0xB041, 0xB441, 0xB841, 
-/* 0018 */    0xBC41, 0xC041, 0xC441, 0xC841, 0xCC41, 0xD041, 0x8461, 0x8481, 
-/* 0020 */    0x84A1, 0x84C1, 0x84E1, 0x8541, 0x8561, 0x8581, 0x85A1, 0x85C1, 
-/* 0028 */    0x85E1, 0x8641, 0x8661, 0x8681, 0x86A1, 0x86C1, 0x86E1, 0x8741, 
-/* 0030 */    0x8761, 0x8781, 0x87A1, 
-/*	End of table Total Length = 0x003E * 2 */
deleted file mode 100644
--- a/intl/uconv/ucvko/johabjamo.ut
+++ /dev/null
@@ -1,355 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-/*========================================================
-  This is a Generated file. Please don't edit it.
-
-  The tool which used to generate this file is called umaptable.
-  You can find this tool under mozilla/intl/uconv/tools/umaptable.c.
-  If you have any problem of this file. Please contact 
-  Netscape Client International Team or 
-  ftang@netscape <Frank Tang> 
-
-  Note manually added by Jungshik Shin <jshin@mailaps.org>
-
-  The table was generated by filtering JOHAB.TXT at
-  http://jshin.net/faq/JOHAB.TXT.gz 
-
-  gunzip -c JOHAB.TXT.gz | egrep '^0x.... +0x31(3[1-F]|[45][0-F]|6[0-3])' \
-  | umaptable -ut
-
-              Table in Debug form 
-Begin of Item 0000
- Format 0
-  srcBegin = 844A
-  srcEnd = 8450
-  destBegin = 313A
-End of Item 0000 
-
-Begin of Item 0001
- Format 1
-  srcBegin = 8444
-  srcEnd = 8447
-  mappingOffset = 0000
- Mapping  = 
-  3133 FFFD 3135 3136 
-End of Item 0001 
-
-Begin of Item 0002
- Format 2
-  srcBegin = 8454
-  destBegin = 3144
-End of Item 0002 
-
-Begin of Item 0003
- Format 2
-  srcBegin = 8461
-  destBegin = 314F
-End of Item 0003 
-
-Begin of Item 0004
- Format 2
-  srcBegin = 8481
-  destBegin = 3150
-End of Item 0004 
-
-Begin of Item 0005
- Format 2
-  srcBegin = 84A1
-  destBegin = 3151
-End of Item 0005 
-
-Begin of Item 0006
- Format 2
-  srcBegin = 84C1
-  destBegin = 3152
-End of Item 0006 
-
-Begin of Item 0007
- Format 2
-  srcBegin = 84E1
-  destBegin = 3153
-End of Item 0007 
-
-Begin of Item 0008
- Format 2
-  srcBegin = 8541
-  destBegin = 3154
-End of Item 0008 
-
-Begin of Item 0009
- Format 2
-  srcBegin = 8561
-  destBegin = 3155
-End of Item 0009 
-
-Begin of Item 000A
- Format 2
-  srcBegin = 8581
-  destBegin = 3156
-End of Item 000A 
-
-Begin of Item 000B
- Format 2
-  srcBegin = 85A1
-  destBegin = 3157
-End of Item 000B 
-
-Begin of Item 000C
- Format 2
-  srcBegin = 85C1
-  destBegin = 3158
-End of Item 000C 
-
-Begin of Item 000D
- Format 2
-  srcBegin = 85E1
-  destBegin = 3159
-End of Item 000D 
-
-Begin of Item 000E
- Format 2
-  srcBegin = 8641
-  destBegin = 315A
-End of Item 000E 
-
-Begin of Item 000F
- Format 2
-  srcBegin = 8661
-  destBegin = 315B
-End of Item 000F 
-
-Begin of Item 0010
- Format 2
-  srcBegin = 8681
-  destBegin = 315C
-End of Item 0010 
-
-Begin of Item 0011
- Format 2
-  srcBegin = 86A1
-  destBegin = 315D
-End of Item 0011 
-
-Begin of Item 0012
- Format 2
-  srcBegin = 86C1
-  destBegin = 315E
-End of Item 0012 
-
-Begin of Item 0013
- Format 2
-  srcBegin = 86E1
-  destBegin = 315F
-End of Item 0013 
-
-Begin of Item 0014
- Format 2
-  srcBegin = 8741
-  destBegin = 3160
-End of Item 0014 
-
-Begin of Item 0015
- Format 2
-  srcBegin = 8761
-  destBegin = 3161
-End of Item 0015 
-
-Begin of Item 0016
- Format 2
-  srcBegin = 8781
-  destBegin = 3162
-End of Item 0016 
-
-Begin of Item 0017
- Format 2
-  srcBegin = 87A1
-  destBegin = 3163
-End of Item 0017 
-
-Begin of Item 0018
- Format 2
-  srcBegin = 8841
-  destBegin = 3131
-End of Item 0018 
-
-Begin of Item 0019
- Format 2
-  srcBegin = 8C41
-  destBegin = 3132
-End of Item 0019 
-
-Begin of Item 001A
- Format 2
-  srcBegin = 9041
-  destBegin = 3134
-End of Item 001A 
-
-Begin of Item 001B
- Format 2
-  srcBegin = 9441
-  destBegin = 3137
-End of Item 001B 
-
-Begin of Item 001C
- Format 2
-  srcBegin = 9841
-  destBegin = 3138
-End of Item 001C 
-
-Begin of Item 001D
- Format 2
-  srcBegin = 9C41
-  destBegin = 3139
-End of Item 001D 
-
-Begin of Item 001E
- Format 2
-  srcBegin = A041
-  destBegin = 3141
-End of Item 001E 
-
-Begin of Item 001F
- Format 2
-  srcBegin = A441
-  destBegin = 3142
-End of Item 001F 
-
-Begin of Item 0020
- Format 2
-  srcBegin = A841
-  destBegin = 3143
-End of Item 0020 
-
-Begin of Item 0021
- Format 2
-  srcBegin = AC41
-  destBegin = 3145
-End of Item 0021 
-
-Begin of Item 0022
- Format 2
-  srcBegin = B041
-  destBegin = 3146
-End of Item 0022 
-
-Begin of Item 0023
- Format 2
-  srcBegin = B441
-  destBegin = 3147
-End of Item 0023 
-
-Begin of Item 0024
- Format 2
-  srcBegin = B841
-  destBegin = 3148
-End of Item 0024 
-
-Begin of Item 0025
- Format 2
-  srcBegin = BC41
-  destBegin = 3149
-End of Item 0025 
-
-Begin of Item 0026
- Format 2
-  srcBegin = C041
-  destBegin = 314A
-End of Item 0026 
-
-Begin of Item 0027
- Format 2
-  srcBegin = C441
-  destBegin = 314B
-End of Item 0027 
-
-Begin of Item 0028
- Format 2
-  srcBegin = C841
-  destBegin = 314C
-End of Item 0028 
-
-Begin of Item 0029
- Format 2
-  srcBegin = CC41
-  destBegin = 314D
-End of Item 0029 
-
-Begin of Item 002A
- Format 2
-  srcBegin = D041
-  destBegin = 314E
-End of Item 002A 
-
-========================================================*/
-/* Offset=0x0000  ItemOfList */
-  0x002B,
-/*-------------------------------------------------------*/
-/* Offset=0x0001  offsetToFormatArray */
-  0x0004,
-/*-------------------------------------------------------*/
-/* Offset=0x0002  offsetToMapCellArray */ 
-  0x000F,
-/*-------------------------------------------------------*/
-/* Offset=0x0003  offsetToMappingTable */ 
-  0x0090,
-/*-------------------------------------------------------*/
-/*       Offset=0x0004   Start of Format Array */ 
-/*	Total of Format 0 : 0x0001			 */
-/*	Total of Format 1 : 0x0001			 */
-/*	Total of Format 2 : 0x0029			 */
-/*	Total of Format 3 : 0x0000			 */
-
-0x2210, 0x2222, 0x2222, 0x2222, 0x2222, 0x2222, 0x2222, 0x2222, 
-0x2222, 0x2222, 0x0222, 
-/*-------------------------------------------------------*/
-/*       Offset=0x000F   Start of MapCell Array */ 
-/* 0000 */    0x844A, 0x8450, 0x313A, 
-/* 0001 */    0x8444, 0x8447, 0x0000, 
-/* 0002 */    0x8454, 0x0000, 0x3144, 
-/* 0003 */    0x8461, 0x0000, 0x314F, 
-/* 0004 */    0x8481, 0x0000, 0x3150, 
-/* 0005 */    0x84A1, 0x0000, 0x3151, 
-/* 0006 */    0x84C1, 0x0000, 0x3152, 
-/* 0007 */    0x84E1, 0x0000, 0x3153, 
-/* 0008 */    0x8541, 0x0000, 0x3154, 
-/* 0009 */    0x8561, 0x0000, 0x3155, 
-/* 000A */    0x8581, 0x0000, 0x3156, 
-/* 000B */    0x85A1, 0x0000, 0x3157, 
-/* 000C */    0x85C1, 0x0000, 0x3158, 
-/* 000D */    0x85E1, 0x0000, 0x3159, 
-/* 000E */    0x8641, 0x0000, 0x315A, 
-/* 000F */    0x8661, 0x0000, 0x315B, 
-/* 0010 */    0x8681, 0x0000, 0x315C, 
-/* 0011 */    0x86A1, 0x0000, 0x315D, 
-/* 0012 */    0x86C1, 0x0000, 0x315E, 
-/* 0013 */    0x86E1, 0x0000, 0x315F, 
-/* 0014 */    0x8741, 0x0000, 0x3160, 
-/* 0015 */    0x8761, 0x0000, 0x3161, 
-/* 0016 */    0x8781, 0x0000, 0x3162, 
-/* 0017 */    0x87A1, 0x0000, 0x3163, 
-/* 0018 */    0x8841, 0x0000, 0x3131, 
-/* 0019 */    0x8C41, 0x0000, 0x3132, 
-/* 001A */    0x9041, 0x0000, 0x3134, 
-/* 001B */    0x9441, 0x0000, 0x3137, 
-/* 001C */    0x9841, 0x0000, 0x3138, 
-/* 001D */    0x9C41, 0x0000, 0x3139, 
-/* 001E */    0xA041, 0x0000, 0x3141, 
-/* 001F */    0xA441, 0x0000, 0x3142, 
-/* 0020 */    0xA841, 0x0000, 0x3143, 
-/* 0021 */    0xAC41, 0x0000, 0x3145, 
-/* 0022 */    0xB041, 0x0000, 0x3146, 
-/* 0023 */    0xB441, 0x0000, 0x3147, 
-/* 0024 */    0xB841, 0x0000, 0x3148, 
-/* 0025 */    0xBC41, 0x0000, 0x3149, 
-/* 0026 */    0xC041, 0x0000, 0x314A, 
-/* 0027 */    0xC441, 0x0000, 0x314B, 
-/* 0028 */    0xC841, 0x0000, 0x314C, 
-/* 0029 */    0xCC41, 0x0000, 0x314D, 
-/* 002A */    0xD041, 0x0000, 0x314E, 
-/*-------------------------------------------------------*/
-/*       Offset=0x0090   Start of MappingTable */ 
-
-/* 0000 */    0x3133, 0xFFFD, 0x3135, 0x3136, 
-/*	End of table Total Length = 0x0094 * 2 */
deleted file mode 100644
--- a/intl/uconv/ucvko/nsJohabToUnicode.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsJohabToUnicode.h"
-#include "nsUCvKODll.h"
-#include "nsUCConstructors.h"
-#include "mozilla/Telemetry.h"
-
-using namespace mozilla;
-
-//----------------------------------------------------------------------
-// Global functions and data [declaration]
-
-static const uScanClassID g_JOHABScanClassIDs[] = {
-  u1ByteCharset,
-  uJohabHangulCharset,
-  u2BytesCharset,
-  uJohabSymbolCharset,
-  uJohabSymbolCharset
-};
-
-static const uRange g_JOHABRanges[] = {
-  { 0x00, 0x7E },
-  { 0x84, 0xD3 },
-  { 0x84, 0xD3 },
-  { 0xD8, 0xDE },
-  { 0xE0, 0xF9 }
-};
-
-static const uint16_t g_utJohabJamoMapping[] ={   
-#include "johabjamo.ut"
-};
-
-static const uint16_t *g_JOHABMappingTableSet [] ={
-  g_ASCIIMappingTable,
-  g_HangulNullMapping,
-  g_utJohabJamoMapping,
-  g_utKSC5601Mapping,
-  g_utKSC5601Mapping
-};
-
-
-//----------------------------------------------------------------------
-// Class nsJohabToUnicode [implementation]
-
-nsresult
-nsJohabToUnicodeConstructor(nsISupports *aOuter, REFNSIID aIID,
-                            void **aResult)
-{
-  Telemetry::Accumulate(Telemetry::DECODER_INSTANTIATED_JOHAB, true);
-  return CreateMultiTableDecoder(sizeof(g_JOHABRanges) / sizeof(g_JOHABRanges[0]),
-                                 (const uRange*) &g_JOHABRanges,
-                                 (uScanClassID*) &g_JOHABScanClassIDs,
-                                 (uMappingTable**) &g_JOHABMappingTableSet, 1,
-                                 aOuter, aIID, aResult);
-}
-
deleted file mode 100644
--- a/intl/uconv/ucvko/nsJohabToUnicode.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#ifndef nsJohabToUnicode_h___
-#define nsJohabToUnicode_h___
-
-#include "nsID.h"
-
-class nsISupports;
-
-/**
- * A character set converter from Johab to Unicode.
- *
- * @created         06/Apr/1999
- * @author  Catalin Rotaru [CATA]
- */
-nsresult
-nsJohabToUnicodeConstructor(nsISupports *aOuter, REFNSIID aIID,
-                            void **aResult);
-
-#endif /* nsJohabToUnicode_h___ */
--- a/intl/uconv/ucvko/nsUCvKOCID.h
+++ b/intl/uconv/ucvko/nsUCvKOCID.h
@@ -23,19 +23,9 @@
 #define NS_UNICODETOEUCKR_CID \
   { 0x379c2778, 0xec77, 0x11d2, {0x8a, 0xac, 0x0, 0x60, 0x8, 0x11, 0xa8, 0x36}}
 
 // Class ID for our UnicodeToISO2022KR charset converter
 // {BA6151A0-1DFA-11d3-B3BF-00805F8A6670}
 #define NS_UNICODETOISO2022KR_CID \
   { 0xba6151a0, 0x1dfa, 0x11d3, {0xb3, 0xbf, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70}}
 
-// Class ID for our UnicodeToJohab charset converter
-// {D9B1F97E-CFA0-80b6-FB92-9972E48E3DCC}
-#define NS_UNICODETOJOHAB_CID \
-  { 0xd9b1f97e, 0xcfa0, 0x80b6,  {0xfb, 0x92, 0x99, 0x72, 0xe4, 0x8e, 0x3d, 0xcc}} 
-
-// Class ID for our JohabToUnicode charset converter
-// {D9B1F97F-CFA0-80b6-FB92-9972E48E3DCC}
-#define NS_JOHABTOUNICODE_CID \
-  { 0xd9b1f97f, 0xcfa0, 0x80b6,  {0xfb, 0x92, 0x99, 0x72, 0xe4, 0x8e, 0x3d, 0xcc}} 
-
 #endif /* nsUCvKOCID_h___ */
--- a/intl/uconv/ucvko/nsUCvKODll.h
+++ b/intl/uconv/ucvko/nsUCvKODll.h
@@ -5,11 +5,10 @@
 
 #ifndef nsUCvKODll_h_
 #define nsUCvKODll_h_
 
 extern const uint16_t g_utKSC5601Mapping[];
 extern const uint16_t g_ufKSC5601Mapping[];
 extern const uint16_t g_ASCIIMappingTable[];
 extern const uint16_t g_HangulNullMapping[];
-extern const uint16_t g_ufJohabJamoMapping[];
 
 #endif /* nsUCvKODll_h_ */
deleted file mode 100644
--- a/intl/uconv/ucvko/nsUnicodeToJohab.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsUnicodeToJohab.h"
-#include "nsUCvKODll.h"
-#include "nsUCConstructors.h"
-
-//----------------------------------------------------------------------
-// Global functions and data [declaration]
-
-static const uint16_t *g_JohabMappingTable[4] = {
-  g_ASCIIMappingTable,
-  g_HangulNullMapping,
-  g_ufJohabJamoMapping,
-  g_ufKSC5601Mapping
-};
-
-static const uScanClassID g_JohabScanClassTable[4] =  {
-  u1ByteCharset,
-  uJohabHangulCharset,
-  u2BytesCharset,
-  uJohabSymbolCharset
-};
-
-//----------------------------------------------------------------------
-// Class nsUnicodeToJohab [implementation]
-
-nsresult
-nsUnicodeToJohabConstructor(nsISupports *aOuter, REFNSIID aIID,
-                            void **aResult) {
-
-  return CreateMultiTableEncoder(sizeof(g_JohabScanClassTable) / sizeof(g_JohabScanClassTable[0]),
-                                 (uScanClassID*) g_JohabScanClassTable, 
-                                 (uMappingTable**) g_JohabMappingTable,
-                                 2 /* max length = src * 2*/,
-                                 aOuter, aIID, aResult);
-}
deleted file mode 100644
--- a/intl/uconv/ucvko/nsUnicodeToJohab.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#ifndef nsUnicodeToJohab_h___
-#define nsUnicodeToJohab_h___
-
-#include "nsID.h"
-
-class nsISupports;
-
-/**
- * A character set converter from Unicode to Johab.
- *
- */
-nsresult
-nsUnicodeToJohabConstructor(nsISupports *aOuter, REFNSIID aIID,
-                            void **aResult);
-
-#endif /* nsUnicodeToJohab_h___ */
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -3608,17 +3608,17 @@
     "description": "Whether the decoder for ISO-2022-KR has been instantiated in this session."
   },
   "DECODER_INSTANTIATED_ISO2022JP": {
     "expires_in_version": "never",
     "kind": "flag",
     "description": "Whether the decoder for ISO-2022-JP has been instantiated in this session."
   },
   "DECODER_INSTANTIATED_JOHAB": {
-    "expires_in_version": "never",
+    "expires_in_version": "32",
     "kind": "flag",
     "description": "Whether the decoder for JOHAB has been instantiated in this session."
   },
   "DECODER_INSTANTIATED_T61": {
     "expires_in_version": "32",
     "kind": "flag",
     "description": "Whether the decoder for T.61 has been instantiated in this session."
   },