jdk/test/java/nio/charset/RemovingSunIO/SunioAlias.java
changeset 4817 67f425ac409b
child 5506 202f599c92aa
equal deleted inserted replaced
4816:43cbf9b15169 4817:67f425ac409b
       
     1 /*
       
     2  * Copyright 2010 Sun Microsystems, Inc.  All Rights Reserved.
       
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4  *
       
     5  * This code is free software; you can redistribute it and/or modify it
       
     6  * under the terms of the GNU General Public License version 2 only, as
       
     7  * published by the Free Software Foundation.
       
     8  *
       
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
       
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    12  * version 2 for more details (a copy is included in the LICENSE file that
       
    13  * accompanied this code).
       
    14  *
       
    15  * You should have received a copy of the GNU General Public License version
       
    16  * 2 along with this work; if not, write to the Free Software Foundation,
       
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    18  *
       
    19  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
       
    20  * CA 95054 USA or visit www.sun.com if you need additional information or
       
    21  * have any questions.
       
    22  */
       
    23 
       
    24 /* @test
       
    25    @bug 4454622
       
    26    @summary Check if all supported sun.io encoding names are supported in nio.charset
       
    27  */
       
    28 
       
    29 import java.util.HashMap;
       
    30 import java.util.Set;
       
    31 import java.io.UnsupportedEncodingException;
       
    32 import java.nio.charset.*;
       
    33 
       
    34 public class SunioAlias {
       
    35     public static void main(String argv[]) throws UnsupportedEncodingException {
       
    36         Set<String> keys = aliasTable.keySet();
       
    37         String s = "testing string";
       
    38         boolean failed = false;
       
    39         for (String alias : keys) {
       
    40             /* See if StringCoding works correctly without sun.io package */
       
    41             try {
       
    42                 byte[] bs= s.getBytes(alias);
       
    43                 new String(bs, alias);
       
    44 
       
    45                 Charset csAlias = Charset.forName(alias);
       
    46                 Charset csName = Charset.forName(aliasTable.get(alias));
       
    47                 if (csName != csAlias) {
       
    48                     System.out.printf("Alias %s and %s is NOT the same charset in nio\n",
       
    49                                       alias, aliasTable.get(alias));
       
    50                 }
       
    51             } catch (UnsupportedEncodingException e) {
       
    52                 System.out.printf("Alias %s is UnsupportedEncoding\n", alias);
       
    53                 failed = true;
       
    54             } catch (IllegalCharsetNameException e) {
       
    55                 System.out.printf("Alias %s is IllegalCharsetName\n", alias);
       
    56                 failed = true;
       
    57             }
       
    58         }
       
    59         if (failed)
       
    60             throw new UnsupportedEncodingException ("sun.io encoding names are not supported in nio.charset!");
       
    61     }
       
    62     //aliasTable is copy/pasted from sun.io.CharacterEncoding.java
       
    63 
       
    64     private static HashMap<String, String> aliasTable;
       
    65     static {
       
    66         aliasTable = new HashMap<String, String>(460, 1.0f);
       
    67 
       
    68         /* known failed names... TBD
       
    69         // JIS-defined Shift JIS
       
    70         aliasTable.put("\u30b7\u30d5\u30c8\u7b26\u53f7\u5316\u8868\u73fe",
       
    71                        "SJIS");
       
    72         // Specialized auto-detection for Japanese charsets
       
    73         aliasTable.put("jis auto detect",       "JISAutoDetect");
       
    74         // MIBenum: 1010
       
    75         aliasTable.put("unicode-1-1",       "UnicodeBigUnmarked");
       
    76         */
       
    77         aliasTable.put("unicode",               "UTF-16");
       
    78         aliasTable.put("cspc862latinhebrew",    "Cp862");
       
    79         aliasTable.put("cp-is",                 "Cp861");
       
    80         /*
       
    81         // X11 Compound Text
       
    82         aliasTable.put("x-compound-text",       "COMPOUND_TEXT");
       
    83         aliasTable.put("x11-compound_text",     "COMPOUND_TEXT");
       
    84         */
       
    85         aliasTable.put("us-ascii",              "ASCII");
       
    86         aliasTable.put("ascii",                 "ASCII");
       
    87         aliasTable.put("646",                   "ASCII");       // Solaris POSIX locale
       
    88         aliasTable.put("iso_646.irv:1983",      "ASCII");       // Linux POSIX locale
       
    89         aliasTable.put("ansi_x3.4-1968",        "ASCII");       // Caldera linux
       
    90         aliasTable.put("iso646-us",             "ASCII");
       
    91         aliasTable.put("default",               "ASCII");       // compatibility with obsolete "Default" converters
       
    92         aliasTable.put("ascii7",                "ASCII");       // compatibility with obsolete "Default" converters
       
    93 
       
    94         // Core encodings
       
    95         aliasTable.put("8859_1",                "ISO8859_1");
       
    96         aliasTable.put("iso8859_1",             "ISO8859_1");
       
    97         aliasTable.put("utf-8",                 "UTF8");
       
    98         aliasTable.put("utf8",                  "UTF8");
       
    99         aliasTable.put("utf-16le",              "UnicodeLittleUnmarked");
       
   100 
       
   101         // Standard encodings used on Solaris and Linux
       
   102         aliasTable.put("iso8859-1",             "ISO8859_1");
       
   103         aliasTable.put("iso8859-2",             "ISO8859_2");
       
   104         aliasTable.put("iso8859-4",             "ISO8859_4");
       
   105         aliasTable.put("iso8859-5",             "ISO8859_5");
       
   106         aliasTable.put("iso8859-6",             "ISO8859_6");
       
   107         aliasTable.put("iso8859-8",             "ISO8859_8");
       
   108         aliasTable.put("iso8859-9",             "ISO8859_9");
       
   109         aliasTable.put("iso8859-13",            "ISO8859_13");
       
   110         aliasTable.put("iso8859-15",            "ISO8859_15");
       
   111         aliasTable.put("5601",                  "EUC_KR");
       
   112         aliasTable.put("ansi-1251",             "Cp1251");
       
   113         aliasTable.put("big5",                  "Big5");
       
   114         aliasTable.put("big5hk",                "Big5_HKSCS");
       
   115         aliasTable.put("eucjp",                 "EUC_JP");
       
   116         aliasTable.put("cns11643",              "EUC_TW");
       
   117         aliasTable.put("gb2312",                "EUC_CN");
       
   118         aliasTable.put("gb18030",               "GB18030");
       
   119         aliasTable.put("gbk",                   "GBK");
       
   120         aliasTable.put("koi8-r",                "KOI8_R");
       
   121         aliasTable.put("tis620.2533",           "TIS620");
       
   122 
       
   123         // Windows encodings
       
   124         aliasTable.put("cp1250",                "Cp1250");
       
   125         aliasTable.put("cp1251",                "Cp1251");
       
   126         aliasTable.put("cp1252",                "Cp1252");
       
   127         aliasTable.put("cp1253",                "Cp1253");
       
   128         aliasTable.put("cp1254",                "Cp1254");
       
   129         aliasTable.put("cp1255",                "Cp1255");
       
   130         aliasTable.put("cp1256",                "Cp1256");
       
   131         aliasTable.put("cp1257",                "Cp1257");
       
   132         aliasTable.put("cp1258",                "Cp1258");
       
   133         aliasTable.put("ms874",                 "MS874");
       
   134         aliasTable.put("ms932",                 "MS932");
       
   135         aliasTable.put("ms949",                 "MS949");
       
   136         aliasTable.put("ms950",                 "MS950");
       
   137         aliasTable.put("ms1361",                "MS1361");
       
   138 
       
   139         // MIBenum: 4
       
   140         aliasTable.put("8859_1",            "ISO8859_1");
       
   141         aliasTable.put("iso_8859-1:1987",       "ISO8859_1");
       
   142         aliasTable.put("iso-ir-100",            "ISO8859_1");
       
   143         aliasTable.put("iso_8859-1",            "ISO8859_1");
       
   144         aliasTable.put("iso-8859-1",            "ISO8859_1");
       
   145         aliasTable.put("iso8859-1",             "ISO8859_1");
       
   146         aliasTable.put("latin1",                "ISO8859_1");
       
   147         aliasTable.put("l1",                    "ISO8859_1");
       
   148         aliasTable.put("ibm819",                "ISO8859_1");
       
   149         aliasTable.put("ibm-819",               "ISO8859_1");
       
   150         aliasTable.put("cp819",                 "ISO8859_1");
       
   151         aliasTable.put("819",                   "ISO8859_1");
       
   152         aliasTable.put("csisolatin1",           "ISO8859_1");
       
   153 
       
   154         // MIBenum: 5
       
   155         aliasTable.put("8859_2",            "ISO8859_2");
       
   156         aliasTable.put("iso_8859-2:1987",       "ISO8859_2");
       
   157         aliasTable.put("iso-ir-101",            "ISO8859_2");
       
   158         aliasTable.put("iso_8859-2",            "ISO8859_2");
       
   159         aliasTable.put("iso-8859-2",            "ISO8859_2");
       
   160         aliasTable.put("iso8859-2",             "ISO8859_2");
       
   161         aliasTable.put("latin2",                "ISO8859_2");
       
   162         aliasTable.put("l2",                    "ISO8859_2");
       
   163         aliasTable.put("ibm912",                "ISO8859_2");
       
   164         aliasTable.put("ibm-912",               "ISO8859_2");
       
   165         aliasTable.put("cp912",                 "ISO8859_2");
       
   166         aliasTable.put("912",                   "ISO8859_2");
       
   167         aliasTable.put("csisolatin2",           "ISO8859_2");
       
   168 
       
   169         // MIBenum: 6
       
   170         aliasTable.put("8859_3",            "ISO8859_3");
       
   171         aliasTable.put("iso_8859-3:1988",       "ISO8859_3");
       
   172         aliasTable.put("iso-ir-109",            "ISO8859_3");
       
   173         aliasTable.put("iso_8859-3",            "ISO8859_3");
       
   174         aliasTable.put("iso-8859-3",            "ISO8859_3");
       
   175         aliasTable.put("iso8859-3",             "ISO8859_3");
       
   176         aliasTable.put("latin3",                "ISO8859_3");
       
   177         aliasTable.put("l3",                    "ISO8859_3");
       
   178         aliasTable.put("ibm913",                "ISO8859_3");
       
   179         aliasTable.put("ibm-913",               "ISO8859_3");
       
   180         aliasTable.put("cp913",                 "ISO8859_3");
       
   181         aliasTable.put("913",                   "ISO8859_3");
       
   182         aliasTable.put("csisolatin3",           "ISO8859_3");
       
   183 
       
   184         // MIBenum: 7
       
   185         aliasTable.put("8859_4",            "ISO8859_4");
       
   186         aliasTable.put("iso_8859-4:1988",       "ISO8859_4");
       
   187         aliasTable.put("iso-ir-110",            "ISO8859_4");
       
   188         aliasTable.put("iso_8859-4",            "ISO8859_4");
       
   189         aliasTable.put("iso-8859-4",            "ISO8859_4");
       
   190         aliasTable.put("iso8859-4",             "ISO8859_4");
       
   191         aliasTable.put("latin4",                "ISO8859_4");
       
   192         aliasTable.put("l4",                    "ISO8859_4");
       
   193         aliasTable.put("ibm914",                "ISO8859_4");
       
   194         aliasTable.put("ibm-914",               "ISO8859_4");
       
   195         aliasTable.put("cp914",                 "ISO8859_4");
       
   196         aliasTable.put("914",                   "ISO8859_4");
       
   197         aliasTable.put("csisolatin4",           "ISO8859_4");
       
   198 
       
   199         // MIBenum: 8
       
   200         aliasTable.put("8859_5",            "ISO8859_5");
       
   201         aliasTable.put("iso_8859-5:1988",       "ISO8859_5");
       
   202         aliasTable.put("iso-ir-144",            "ISO8859_5");
       
   203         aliasTable.put("iso_8859-5",            "ISO8859_5");
       
   204         aliasTable.put("iso-8859-5",            "ISO8859_5");
       
   205         aliasTable.put("iso8859-5",             "ISO8859_5");
       
   206         aliasTable.put("cyrillic",              "ISO8859_5");
       
   207         aliasTable.put("csisolatincyrillic",    "ISO8859_5");
       
   208         aliasTable.put("ibm915",                "ISO8859_5");
       
   209         aliasTable.put("ibm-915",               "ISO8859_5");
       
   210         aliasTable.put("cp915",                 "ISO8859_5");
       
   211         aliasTable.put("915",                   "ISO8859_5");
       
   212 
       
   213         // MIBenum: 9
       
   214         aliasTable.put("8859_6",            "ISO8859_6");
       
   215         aliasTable.put("iso_8859-6:1987",       "ISO8859_6");
       
   216         aliasTable.put("iso-ir-127",            "ISO8859_6");
       
   217         aliasTable.put("iso_8859-6",            "ISO8859_6");
       
   218         aliasTable.put("iso-8859-6",            "ISO8859_6");
       
   219         aliasTable.put("iso8859-6",             "ISO8859_6");
       
   220         aliasTable.put("ecma-114",              "ISO8859_6");
       
   221         aliasTable.put("asmo-708",              "ISO8859_6");
       
   222         aliasTable.put("arabic",                "ISO8859_6");
       
   223         aliasTable.put("csisolatinarabic",      "ISO8859_6");
       
   224         aliasTable.put("ibm1089",               "ISO8859_6");
       
   225         aliasTable.put("ibm-1089",              "ISO8859_6");
       
   226         aliasTable.put("cp1089",                "ISO8859_6");
       
   227         aliasTable.put("1089",                  "ISO8859_6");
       
   228 
       
   229         // MIBenum: 10
       
   230         aliasTable.put("8859_7",            "ISO8859_7");
       
   231         aliasTable.put("iso_8859-7:1987",       "ISO8859_7");
       
   232         aliasTable.put("iso-ir-126",            "ISO8859_7");
       
   233         aliasTable.put("iso_8859-7",            "ISO8859_7");
       
   234         aliasTable.put("iso-8859-7",            "ISO8859_7");
       
   235         aliasTable.put("iso8859-7",             "ISO8859_7");
       
   236         aliasTable.put("elot_928",              "ISO8859_7");
       
   237         aliasTable.put("ecma-118",              "ISO8859_7");
       
   238         aliasTable.put("greek",                 "ISO8859_7");
       
   239         aliasTable.put("greek8",                "ISO8859_7");
       
   240         aliasTable.put("csisolatingreek",       "ISO8859_7");
       
   241         aliasTable.put("ibm813",                "ISO8859_7");
       
   242         aliasTable.put("ibm-813",               "ISO8859_7");
       
   243         aliasTable.put("cp813",                 "ISO8859_7");
       
   244         aliasTable.put("813",                   "ISO8859_7");
       
   245         aliasTable.put("sun_eu_greek",      "ISO8859_7");
       
   246 
       
   247         // MIBenum: 11
       
   248         aliasTable.put("8859_8",            "ISO8859_8");
       
   249         aliasTable.put("iso_8859-8:1988",       "ISO8859_8");
       
   250         aliasTable.put("iso-ir-138",            "ISO8859_8");
       
   251         aliasTable.put("iso_8859-8",            "ISO8859_8");
       
   252         aliasTable.put("iso-8859-8",            "ISO8859_8");
       
   253         aliasTable.put("iso8859-8",             "ISO8859_8");
       
   254         aliasTable.put("hebrew",                "ISO8859_8");
       
   255         aliasTable.put("csisolatinhebrew",      "ISO8859_8");
       
   256         aliasTable.put("ibm916",                "ISO8859_8");
       
   257         aliasTable.put("ibm-916",               "ISO8859_8");
       
   258         aliasTable.put("cp916",                 "ISO8859_8");
       
   259         aliasTable.put("916",                   "ISO8859_8");
       
   260 
       
   261         // MIBenum: 12
       
   262         aliasTable.put("8859_9",            "ISO8859_9");
       
   263         aliasTable.put("iso-ir-148",            "ISO8859_9");
       
   264         aliasTable.put("iso_8859-9",            "ISO8859_9");
       
   265         aliasTable.put("iso-8859-9",            "ISO8859_9");
       
   266         aliasTable.put("iso8859-9",             "ISO8859_9");
       
   267         aliasTable.put("latin5",                "ISO8859_9");
       
   268         aliasTable.put("l5",                    "ISO8859_9");
       
   269         aliasTable.put("ibm920",                "ISO8859_9");
       
   270         aliasTable.put("ibm-920",               "ISO8859_9");
       
   271         aliasTable.put("cp920",                 "ISO8859_9");
       
   272         aliasTable.put("920",                   "ISO8859_9");
       
   273         aliasTable.put("csisolatin5",           "ISO8859_9");
       
   274 
       
   275         // MIBenum: ???
       
   276         aliasTable.put("8859_13",               "ISO8859_13");
       
   277         aliasTable.put("iso_8859-13",           "ISO8859_13");
       
   278         aliasTable.put("iso-8859-13",           "ISO8859_13");
       
   279         aliasTable.put("iso8859-13",            "ISO8859_13");
       
   280 
       
   281 
       
   282         // MIBenum: ????
       
   283         aliasTable.put("8859_15",               "ISO8859_15");
       
   284         aliasTable.put("iso-8859-15",           "ISO8859_15");
       
   285         aliasTable.put("iso_8859-15",           "ISO8859_15");
       
   286         aliasTable.put("iso8859-15",            "ISO8859_15");
       
   287         aliasTable.put("ibm923",                "ISO8859_15");
       
   288         aliasTable.put("ibm-923",               "ISO8859_15");
       
   289         aliasTable.put("cp923",                 "ISO8859_15");
       
   290         aliasTable.put("923",                   "ISO8859_15");
       
   291         aliasTable.put("latin0",                "ISO8859_15");
       
   292         aliasTable.put("latin9",                "ISO8859_15");
       
   293         aliasTable.put("csisolatin0",           "ISO8859_15");
       
   294         aliasTable.put("csisolatin9",           "ISO8859_15");
       
   295 
       
   296         //For compatibility purpose
       
   297         aliasTable.put("iso8859_15_fdis",       "ISO8859_15");
       
   298 
       
   299         // MIBenum: 106
       
   300         aliasTable.put("utf-8",                 "UTF8");
       
   301 
       
   302         // Alias recommended in RFC 1641
       
   303         aliasTable.put("unicode-1-1-utf-8",     "UTF8");
       
   304 
       
   305         // MIBenum: 1000
       
   306         aliasTable.put("iso-10646-ucs-2",           "UnicodeBigUnmarked");
       
   307 
       
   308         // Per Unicode standard
       
   309         aliasTable.put("utf-16be",                  "UnicodeBigUnmarked");
       
   310         aliasTable.put("utf-16le",                  "UnicodeLittleUnmarked");
       
   311         aliasTable.put("utf-16",                    "UTF16");
       
   312 
       
   313         // Used by drag-and-drop subsystem
       
   314         aliasTable.put("x-utf-16be",        "UnicodeBigUnmarked");
       
   315         aliasTable.put("x-utf-16le",        "UnicodeLittleUnmarked");
       
   316 
       
   317         // MIBenum: ????
       
   318         aliasTable.put("ibm037",                "Cp037");
       
   319         aliasTable.put("ibm-037",               "Cp037");
       
   320         aliasTable.put("cp037",                 "Cp037");
       
   321         aliasTable.put("037",                   "Cp037");
       
   322 
       
   323         // MIBenum: ????
       
   324         aliasTable.put("ibm273",                "Cp273");
       
   325         aliasTable.put("ibm-273",               "Cp273");
       
   326         aliasTable.put("cp273",                 "Cp273");
       
   327         aliasTable.put("273",                   "Cp273");
       
   328 
       
   329         // MIBenum: ????
       
   330         aliasTable.put("ibm277",                "Cp277");
       
   331         aliasTable.put("ibm-277",               "Cp277");
       
   332         aliasTable.put("cp277",                 "Cp277");
       
   333         aliasTable.put("277",                   "Cp277");
       
   334 
       
   335         // MIBenum: ????
       
   336         aliasTable.put("ibm278",                "Cp278");
       
   337         aliasTable.put("ibm-278",               "Cp278");
       
   338         aliasTable.put("cp278",                 "Cp278");
       
   339         aliasTable.put("278",                   "Cp278");
       
   340 
       
   341         // MIBenum: ????
       
   342         aliasTable.put("ibm280",                "Cp280");
       
   343         aliasTable.put("ibm-280",               "Cp280");
       
   344         aliasTable.put("cp280",                 "Cp280");
       
   345         aliasTable.put("280",                   "Cp280");
       
   346 
       
   347         // MIBenum: ????
       
   348         aliasTable.put("ibm284",                "Cp284");
       
   349         aliasTable.put("ibm-284",               "Cp284");
       
   350         aliasTable.put("cp284",                 "Cp284");
       
   351         aliasTable.put("284",                   "Cp284");
       
   352 
       
   353         // MIBenum: ????
       
   354         aliasTable.put("ibm285",                "Cp285");
       
   355         aliasTable.put("ibm-285",               "Cp285");
       
   356         aliasTable.put("cp285",                 "Cp285");
       
   357         aliasTable.put("285",                   "Cp285");
       
   358 
       
   359         // MIBenum: ????
       
   360         aliasTable.put("ibm297",                "Cp297");
       
   361         aliasTable.put("ibm-297",               "Cp297");
       
   362         aliasTable.put("cp297",                 "Cp297");
       
   363         aliasTable.put("297",                   "Cp297");
       
   364 
       
   365         // MIBenum: ????
       
   366         aliasTable.put("ibm420",                "Cp420");
       
   367         aliasTable.put("ibm-420",               "Cp420");
       
   368         aliasTable.put("cp420",                 "Cp420");
       
   369         aliasTable.put("420",                   "Cp420");
       
   370 
       
   371         // MIBenum: ????
       
   372         aliasTable.put("ibm424",                "Cp424");
       
   373         aliasTable.put("ibm-424",               "Cp424");
       
   374         aliasTable.put("cp424",                 "Cp424");
       
   375         aliasTable.put("424",                   "Cp424");
       
   376 
       
   377         // MIBenum: 2011
       
   378         aliasTable.put("ibm437",                "Cp437");
       
   379         aliasTable.put("ibm-437",               "Cp437");
       
   380         aliasTable.put("cp437",                 "Cp437");
       
   381         aliasTable.put("437",                   "Cp437");
       
   382         aliasTable.put("cspc8codepage437",      "Cp437");
       
   383 
       
   384         // MIBenum: ????
       
   385         aliasTable.put("ibm500",                "Cp500");
       
   386         aliasTable.put("ibm-500",               "Cp500");
       
   387         aliasTable.put("cp500",                 "Cp500");
       
   388         aliasTable.put("500",                   "Cp500");
       
   389 
       
   390         // MIBenum: ????
       
   391         aliasTable.put("ibm737",                "Cp737");
       
   392         aliasTable.put("ibm-737",               "Cp737");
       
   393         aliasTable.put("cp737",                 "Cp737");
       
   394         aliasTable.put("737",                   "Cp737");
       
   395 
       
   396         // MIBenum: ????
       
   397         aliasTable.put("ibm775",                "Cp775");
       
   398         aliasTable.put("ibm-775",               "Cp775");
       
   399         aliasTable.put("cp775",                 "Cp775");
       
   400         aliasTable.put("775",                   "Cp775");
       
   401 
       
   402         // MIBenum: ????
       
   403         aliasTable.put("ibm838",                "Cp838");         /* MDA */
       
   404         aliasTable.put("ibm-838",               "Cp838");         /* MDA */
       
   405         aliasTable.put("cp838",                 "Cp838");         /* MDA */
       
   406         aliasTable.put("838",                   "Cp838");         /* MDA */
       
   407 
       
   408         // "Cp850"
       
   409         // MIBenum: 2009
       
   410         aliasTable.put("ibm850",                "Cp850");
       
   411         aliasTable.put("ibm-850",               "Cp850");
       
   412         aliasTable.put("cp850",                 "Cp850");
       
   413         aliasTable.put("850",                   "Cp850");
       
   414         aliasTable.put("cspc850multilingual",   "Cp850");
       
   415 
       
   416         // "Cp852"
       
   417         // MIBenum: 2010
       
   418         aliasTable.put("ibm852",                "Cp852");
       
   419         aliasTable.put("ibm-852",               "Cp852");
       
   420         aliasTable.put("cp852",                 "Cp852");
       
   421         aliasTable.put("852",                   "Cp852");
       
   422         aliasTable.put("cspcp852",              "Cp852");
       
   423 
       
   424         // "Cp855"
       
   425         // MIBenum: 2046
       
   426         aliasTable.put("ibm855",                "Cp855");
       
   427         aliasTable.put("ibm-855",               "Cp855");
       
   428         aliasTable.put("cp855",                 "Cp855");
       
   429         aliasTable.put("855",                   "Cp855");
       
   430         aliasTable.put("cspcp855",              "Cp855");
       
   431 
       
   432         // "Cp855"
       
   433         // MIBenum: ???
       
   434         aliasTable.put("ibm856",                "Cp856");
       
   435         aliasTable.put("ibm-856",               "Cp856");
       
   436         aliasTable.put("cp856",                 "Cp856");
       
   437         aliasTable.put("856",                   "Cp856");
       
   438 
       
   439         // "Cp857"
       
   440         // MIBenum: 2047
       
   441         aliasTable.put("ibm857",                "Cp857");
       
   442         aliasTable.put("ibm-857",               "Cp857");
       
   443         aliasTable.put("cp857",                 "Cp857");
       
   444         aliasTable.put("857",                   "Cp857");
       
   445         aliasTable.put("csibm857",              "Cp857");
       
   446 
       
   447         // "Cp860"
       
   448         // MIBenum: 2048
       
   449         aliasTable.put("ibm860",                "Cp860");
       
   450         aliasTable.put("ibm-860",               "Cp860");
       
   451         aliasTable.put("cp860",                 "Cp860");
       
   452         aliasTable.put("860",                   "Cp860");
       
   453         aliasTable.put("csibm860",              "Cp860");
       
   454 
       
   455         // MIBenum: 2049
       
   456         aliasTable.put("ibm861",                "Cp861");
       
   457         aliasTable.put("ibm-861",               "Cp861");
       
   458         aliasTable.put("cp861",                 "Cp861");
       
   459         aliasTable.put("861",                   "Cp861");
       
   460         aliasTable.put("csibm861",              "Cp861");
       
   461 
       
   462         // MIBenum: 2013
       
   463         aliasTable.put("ibm862",                "Cp862");
       
   464         aliasTable.put("ibm-862",               "Cp862");
       
   465         aliasTable.put("cp862",                 "Cp862");
       
   466         aliasTable.put("862",                   "Cp862");
       
   467 
       
   468         // MIBenum: 2050
       
   469         aliasTable.put("ibm863",                "Cp863");
       
   470         aliasTable.put("ibm-863",               "Cp863");
       
   471         aliasTable.put("cp863",                 "Cp863");
       
   472         aliasTable.put("863",                   "Cp863");
       
   473         aliasTable.put("csibm863",              "Cp863");
       
   474 
       
   475         // MIBenum: 2051
       
   476         aliasTable.put("ibm864",                "Cp864");
       
   477         aliasTable.put("ibm-864",               "Cp864");
       
   478         aliasTable.put("cp864",                 "Cp864");
       
   479         aliasTable.put("csibm864",              "Cp864");
       
   480 
       
   481         // MIBenum: 2052
       
   482         aliasTable.put("ibm865",                "Cp865");
       
   483         aliasTable.put("ibm-865",               "Cp865");
       
   484         aliasTable.put("cp865",                 "Cp865");
       
   485         aliasTable.put("865",                   "Cp865");
       
   486         aliasTable.put("csibm865",              "Cp865");
       
   487 
       
   488         // MIBenum: ????
       
   489         aliasTable.put("ibm866",                "Cp866");
       
   490         aliasTable.put("ibm-866",               "Cp866");
       
   491         aliasTable.put("cp866",                 "Cp866");
       
   492         aliasTable.put("866",                   "Cp866");
       
   493         aliasTable.put("csibm866",              "Cp866");
       
   494 
       
   495         // MIBenum: ????
       
   496         aliasTable.put("ibm868",                "Cp868");
       
   497         aliasTable.put("ibm-868",               "Cp868");
       
   498         aliasTable.put("cp868",                 "Cp868");
       
   499         aliasTable.put("868",                   "Cp868");
       
   500 
       
   501         // MIBenum: 2054
       
   502         aliasTable.put("ibm869",                "Cp869");
       
   503         aliasTable.put("ibm-869",               "Cp869");
       
   504         aliasTable.put("cp869",                 "Cp869");
       
   505         aliasTable.put("869",                   "Cp869");
       
   506         aliasTable.put("cp-gr",                 "Cp869");
       
   507         aliasTable.put("csibm869",              "Cp869");
       
   508 
       
   509         // MIBenum: ????
       
   510         aliasTable.put("ibm870",                "Cp870");
       
   511         aliasTable.put("ibm-870",               "Cp870");
       
   512         aliasTable.put("cp870",                 "Cp870");
       
   513         aliasTable.put("870",                   "Cp870");
       
   514 
       
   515         // MIBenum: ????
       
   516         aliasTable.put("ibm871",                "Cp871");
       
   517         aliasTable.put("ibm-871",               "Cp871");
       
   518         aliasTable.put("cp871",                 "Cp871");
       
   519         aliasTable.put("871",                   "Cp871");
       
   520 
       
   521         // MIBenum: ????
       
   522         aliasTable.put("ibm874",                "Cp874");
       
   523         aliasTable.put("ibm-874",               "Cp874");
       
   524         aliasTable.put("cp874",                 "Cp874");
       
   525         aliasTable.put("874",                   "Cp874");
       
   526 
       
   527         // MIBenum: ????
       
   528         aliasTable.put("ibm875",                "Cp875");
       
   529         aliasTable.put("ibm-875",               "Cp875");
       
   530         aliasTable.put("cp875",                 "Cp875");
       
   531         aliasTable.put("875",                   "Cp875");
       
   532 
       
   533         // MIBenum: ????
       
   534         aliasTable.put("ibm918",                "Cp918");
       
   535         aliasTable.put("ibm-918",               "Cp918");
       
   536         aliasTable.put("cp918",                 "Cp918");
       
   537         aliasTable.put("918",                   "Cp918");
       
   538 
       
   539         // MIBenum: ????
       
   540         aliasTable.put("ibm921",                "Cp921");
       
   541         aliasTable.put("ibm-921",               "Cp921");
       
   542         aliasTable.put("cp921",                 "Cp921");
       
   543         aliasTable.put("921",                   "Cp921");
       
   544 
       
   545         // MIBenum: ????
       
   546         aliasTable.put("ibm922",                "Cp922");
       
   547         aliasTable.put("ibm-922",               "Cp922");
       
   548         aliasTable.put("cp922",                 "Cp922");
       
   549         aliasTable.put("922",                   "Cp922");
       
   550 
       
   551         // MIBenum: ????
       
   552         aliasTable.put("ibm930",                "Cp930");         /* MDA */
       
   553         aliasTable.put("ibm-930",               "Cp930");         /* MDA */
       
   554         aliasTable.put("cp930",                 "Cp930");         /* MDA */
       
   555         aliasTable.put("930",                   "Cp930");         /* MDA */
       
   556 
       
   557         // MIBenum: ????
       
   558         aliasTable.put("ibm933",                "Cp933");         /* MDA */
       
   559         aliasTable.put("ibm-933",               "Cp933");         /* MDA */
       
   560         aliasTable.put("cp933",                 "Cp933");         /* MDA */
       
   561         aliasTable.put("933",                   "Cp933");         /* MDA */
       
   562 
       
   563         // MIBenum: ????
       
   564         aliasTable.put("ibm935",                "Cp935");         /* MDA */
       
   565         aliasTable.put("ibm-935",               "Cp935");         /* MDA */
       
   566         aliasTable.put("cp935",                 "Cp935");         /* MDA */
       
   567         aliasTable.put("935",                   "Cp935");         /* MDA */
       
   568 
       
   569         // MIBenum: ????
       
   570         aliasTable.put("ibm937",                "Cp937");         /* MDA */
       
   571         aliasTable.put("ibm-937",               "Cp937");         /* MDA */
       
   572         aliasTable.put("cp937",                 "Cp937");         /* MDA */
       
   573         aliasTable.put("937",                   "Cp937");         /* MDA */
       
   574 
       
   575         // MIBenum: ????
       
   576         aliasTable.put("ibm939",                "Cp939");         /* MDA */
       
   577         aliasTable.put("ibm-939",               "Cp939");         /* MDA */
       
   578         aliasTable.put("cp939",                 "Cp939");         /* MDA */
       
   579         aliasTable.put("939",                   "Cp939");         /* MDA */
       
   580 
       
   581         // MIBenum: ????
       
   582         aliasTable.put("ibm942",                "Cp942");         /* MDA */
       
   583         aliasTable.put("ibm-942",               "Cp942");         /* MDA */
       
   584         aliasTable.put("cp942",                 "Cp942");         /* MDA */
       
   585         aliasTable.put("942",                   "Cp942");         /* MDA */
       
   586 
       
   587         // MIBenum: ????
       
   588         aliasTable.put("ibm943",                "Cp943");         /* ibm.3158 */
       
   589         aliasTable.put("ibm-943",               "Cp943");         /* ibm.3158 */
       
   590         aliasTable.put("cp943",                 "Cp943");         /* ibm.3158 */
       
   591         aliasTable.put("943",                   "Cp943");         /* ibm.3158 */
       
   592 
       
   593         // MIBenum: ????
       
   594         aliasTable.put("ibm948",                "Cp948");         /* MDA */
       
   595         aliasTable.put("ibm-948",               "Cp948");         /* MDA */
       
   596         aliasTable.put("cp948",                 "Cp948");         /* MDA */
       
   597         aliasTable.put("948",                   "Cp948");         /* MDA */
       
   598 
       
   599         // MIBenum: ????
       
   600         aliasTable.put("ibm949",                "Cp949");         /* MDA */
       
   601         aliasTable.put("ibm-949",               "Cp949");         /* MDA */
       
   602         aliasTable.put("cp949",                 "Cp949");         /* MDA */
       
   603         aliasTable.put("949",                   "Cp949");         /* MDA */
       
   604 
       
   605         // MIBenum: ????
       
   606         aliasTable.put("ibm950",                "Cp950");         /* MDA */
       
   607         aliasTable.put("ibm-950",               "Cp950");         /* MDA */
       
   608         aliasTable.put("cp950",                 "Cp950");         /* MDA */
       
   609         aliasTable.put("950",                   "Cp950");         /* MDA */
       
   610 
       
   611         // MIBenum: ????
       
   612         aliasTable.put("ibm964",                "Cp964");         /* MDA */
       
   613         aliasTable.put("ibm-964",               "Cp964");         /* MDA */
       
   614         aliasTable.put("cp964",                 "Cp964");         /* MDA */
       
   615         aliasTable.put("964",                   "Cp964");         /* MDA */
       
   616 
       
   617         // MIBenum: ????
       
   618         aliasTable.put("ibm970",                "Cp970");         /* MDA */
       
   619         aliasTable.put("ibm-970",               "Cp970");         /* MDA */
       
   620         aliasTable.put("cp970",                 "Cp970");         /* MDA */
       
   621         aliasTable.put("970",                   "Cp970");         /* MDA */
       
   622 
       
   623         // MIBenum: ????
       
   624         aliasTable.put("ibm1006",               "Cp1006");
       
   625         aliasTable.put("ibm-1006",              "Cp1006");
       
   626         aliasTable.put("cp1006",                "Cp1006");
       
   627         aliasTable.put("1006",                  "Cp1006");
       
   628 
       
   629         // MIBenum: ????
       
   630         aliasTable.put("ibm1025",               "Cp1025");
       
   631         aliasTable.put("ibm-1025",              "Cp1025");
       
   632         aliasTable.put("cp1025",                "Cp1025");
       
   633         aliasTable.put("1025",                  "Cp1025");
       
   634 
       
   635         // MIBenum: ????
       
   636         aliasTable.put("ibm1026",               "Cp1026");
       
   637         aliasTable.put("ibm-1026",              "Cp1026");
       
   638         aliasTable.put("cp1026",                "Cp1026");
       
   639         aliasTable.put("1026",                  "Cp1026");
       
   640 
       
   641         // MIBenum: ????
       
   642         aliasTable.put("ibm1097",               "Cp1097");
       
   643         aliasTable.put("ibm-1097",              "Cp1097");
       
   644         aliasTable.put("cp1097",                "Cp1097");
       
   645         aliasTable.put("1097",                  "Cp1097");
       
   646 
       
   647         // MIBenum: ????
       
   648         aliasTable.put("ibm1098",               "Cp1098");
       
   649         aliasTable.put("ibm-1098",              "Cp1098");
       
   650         aliasTable.put("cp1098",                "Cp1098");
       
   651         aliasTable.put("1098",                  "Cp1098");
       
   652 
       
   653         // MIBenum: ????
       
   654         aliasTable.put("ibm1112",               "Cp1112");
       
   655         aliasTable.put("ibm-1112",              "Cp1112");
       
   656         aliasTable.put("cp1112",                "Cp1112");
       
   657         aliasTable.put("1112",                  "Cp1112");
       
   658 
       
   659         // MIBenum: ????
       
   660         aliasTable.put("ibm1122",               "Cp1122");
       
   661         aliasTable.put("ibm-1122",              "Cp1122");
       
   662         aliasTable.put("cp1122",                "Cp1122");
       
   663         aliasTable.put("1122",                  "Cp1122");
       
   664 
       
   665         // MIBenum: ????
       
   666         aliasTable.put("ibm1123",               "Cp1123");
       
   667         aliasTable.put("ibm-1123",              "Cp1123");
       
   668         aliasTable.put("cp1123",                "Cp1123");
       
   669         aliasTable.put("1123",                  "Cp1123");
       
   670 
       
   671         // MIBenum: ????
       
   672         aliasTable.put("ibm1124",               "Cp1124");
       
   673         aliasTable.put("ibm-1124",              "Cp1124");
       
   674         aliasTable.put("cp1124",                "Cp1124");
       
   675         aliasTable.put("1124",                  "Cp1124");
       
   676 
       
   677         // MIBenum: ????
       
   678         aliasTable.put("ibm1381",               "Cp1381");        /* MDA */
       
   679         aliasTable.put("ibm-1381",              "Cp1381");        /* MDA */
       
   680         aliasTable.put("cp1381",                "Cp1381");        /* MDA */
       
   681         aliasTable.put("1381",                  "Cp1381");        /* MDA */
       
   682 
       
   683         // MIBenum: ????
       
   684         aliasTable.put("ibm1383",               "Cp1383");        /* MDA */
       
   685         aliasTable.put("ibm-1383",              "Cp1383");        /* MDA */
       
   686         aliasTable.put("cp1383",                "Cp1383");        /* MDA */
       
   687         aliasTable.put("1383",                  "Cp1383");        /* MDA */
       
   688 
       
   689         // MIBenum: 16/39
       
   690         aliasTable.put("jis",               "ISO2022JP");
       
   691         aliasTable.put("iso-2022-jp",           "ISO2022JP");
       
   692         aliasTable.put("csiso2022jp",           "ISO2022JP");
       
   693         aliasTable.put("jis_encoding",          "ISO2022JP");
       
   694         aliasTable.put("csjisencoding",         "ISO2022JP");
       
   695 
       
   696         // MIBenum: 17/2024
       
   697         aliasTable.put("windows-31j",           "MS932");
       
   698         aliasTable.put("cswindows31j",          "MS932");
       
   699 
       
   700 
       
   701         aliasTable.put("pck", "PCK");       // Case independent PCK alias
       
   702 
       
   703         /*if (sjisIsMS932) {
       
   704         aliasTable.put("shift_jis",         "MS932");   // IANA shift jis aliases
       
   705         aliasTable.put("csshiftjis",        "MS932");   // updated per 4556882
       
   706         aliasTable.put("x-sjis",            "MS932");
       
   707         aliasTable.put("ms_kanji",          "MS932");
       
   708         } else {
       
   709         */
       
   710             aliasTable.put("shift_jis",         "SJIS");        // IANA shift jis aliases
       
   711             aliasTable.put("csshiftjis",        "SJIS");
       
   712             aliasTable.put("x-sjis",            "SJIS");
       
   713             aliasTable.put("ms_kanji",          "SJIS");
       
   714             /*
       
   715         }
       
   716             */
       
   717         // MIBenum: 18
       
   718         // Japanese EUC
       
   719         aliasTable.put("eucjis",                    "EUC_JP");
       
   720         aliasTable.put("euc-jp",                    "EUC_JP");
       
   721         aliasTable.put("eucjp",             "EUC_JP");
       
   722         aliasTable.put("extended_unix_code_packed_format_for_japanese",
       
   723                        "EUC_JP");
       
   724         aliasTable.put("cseucpkdfmtjapanese",   "EUC_JP");
       
   725         aliasTable.put("x-euc-jp",          "EUC_JP");
       
   726         aliasTable.put("x-eucjp",           "EUC_JP");
       
   727             aliasTable.put("eucjp-open",            "EUC_JP_Solaris"); // 1.3.1_x compatibility
       
   728 
       
   729         // For handing only JIS0202 and JIS0208 in linux
       
   730         aliasTable.put("euc-jp-linux",          "EUC_JP_LINUX");
       
   731 
       
   732         // MIBenum: 874
       
   733         aliasTable.put("windows-874",           "MS874");
       
   734 
       
   735         // MIBenum: 2250
       
   736         aliasTable.put("windows-1250",          "Cp1250");
       
   737 
       
   738         // MIBenum: 2251
       
   739         aliasTable.put("windows-1251",          "Cp1251");
       
   740         aliasTable.put("ansi-1251",             "Cp1251"); // Solaris ru_RU.ANSI1251 locale
       
   741 
       
   742         // MIBenum: 2252
       
   743         aliasTable.put("windows-1252",          "Cp1252");
       
   744 
       
   745         // MIBenum: 2253
       
   746         aliasTable.put("windows-1253",          "Cp1253");
       
   747 
       
   748         // MIBenum: 2254
       
   749         aliasTable.put("windows-1254",          "Cp1254");
       
   750 
       
   751         // MIBenum: 2255
       
   752         aliasTable.put("windows-1255",          "Cp1255");
       
   753 
       
   754         // MIBenum: 2256
       
   755         aliasTable.put("windows-1256",          "Cp1256");
       
   756 
       
   757         // MIBenum: 2257
       
   758         aliasTable.put("windows-1257",          "Cp1257");
       
   759 
       
   760         // MIBenum: 2258
       
   761         aliasTable.put("windows-1258",          "Cp1258");
       
   762 
       
   763         // MIBenum: ????
       
   764         aliasTable.put("ibm33722",              "Cp33722");       /* MDA */
       
   765         aliasTable.put("ibm-33722",             "Cp33722");       /* MDA */
       
   766         aliasTable.put("cp33722",               "Cp33722");       /* MDA */
       
   767         aliasTable.put("33722",                 "Cp33722");       /* MDA */
       
   768 
       
   769         // Russian KOI8-R
       
   770         aliasTable.put("koi8-r",                "KOI8_R");
       
   771         aliasTable.put("koi8",                  "KOI8_R");
       
   772         aliasTable.put("cskoi8r",               "KOI8_R");
       
   773 
       
   774         // Simplified Chinese
       
   775         aliasTable.put("gb2312",                    "EUC_CN");
       
   776         aliasTable.put("gb2312-80",                 "EUC_CN");
       
   777         aliasTable.put("gb2312-1980",           "EUC_CN");
       
   778         aliasTable.put("euc-cn",                    "EUC_CN");
       
   779         aliasTable.put("euccn",             "EUC_CN");
       
   780 
       
   781         aliasTable.put("big5",              "Big5");
       
   782         aliasTable.put("big5hk",                    "Big5_HKSCS");
       
   783         aliasTable.put("big5-hkscs",        "Big5_HKSCS");
       
   784         // Added for future compatibility, explicit mapping to Unicode 3.0
       
   785         aliasTable.put("big5-hkscs:unicode3.0", "Big5_HKSCS");
       
   786         aliasTable.put("big5_solaris",      "Big5_Solaris");
       
   787 
       
   788         // Traditional Chinese
       
   789         aliasTable.put("cns11643",                  "EUC_TW");
       
   790         aliasTable.put("euc-tw",                    "EUC_TW");
       
   791         aliasTable.put("euctw",             "EUC_TW");
       
   792 
       
   793         // Korean
       
   794         aliasTable.put("ksc5601",               "EUC_KR");
       
   795         aliasTable.put("euc-kr",                "EUC_KR");
       
   796         aliasTable.put("euckr",                 "EUC_KR");
       
   797         aliasTable.put("ks_c_5601-1987",        "EUC_KR");
       
   798         aliasTable.put("ksc5601-1987",          "EUC_KR");
       
   799         aliasTable.put("ksc5601_1987",          "EUC_KR");
       
   800         aliasTable.put("ksc_5601",              "EUC_KR");
       
   801         aliasTable.put("5601",                  "EUC_KR");
       
   802 
       
   803         aliasTable.put("ksc5601-1992",          "Johab");
       
   804         aliasTable.put("ksc5601_1992",          "Johab");
       
   805         aliasTable.put("ms1361",                "Johab");
       
   806 
       
   807         aliasTable.put("windows-949",           "MS949");
       
   808 
       
   809         //MIBenum: 37
       
   810         aliasTable.put("iso-2022-kr",           "ISO2022KR");
       
   811         aliasTable.put("csiso2022kr",           "ISO2022KR");
       
   812 
       
   813         // Thai
       
   814         aliasTable.put("tis620.2533",           "TIS620");
       
   815         aliasTable.put("tis-620",               "TIS620"); // Linux name
       
   816 
       
   817         // Variants
       
   818         aliasTable.put("cp942c", "Cp942C");
       
   819         aliasTable.put("cp943c", "Cp943C");
       
   820         aliasTable.put("cp949c", "Cp949C");
       
   821         aliasTable.put("iscii", "ISCII91");
       
   822     }
       
   823 }