Home | History | Annotate | Download | only in mappings
      1 # ******************************************************************************
      2 # *
      3 # *   Copyright (C) 1995-2009, International Business Machines
      4 # *   Corporation and others.  All Rights Reserved.
      5 # *
      6 # ******************************************************************************
      7 
      8 # If this converter alias table looks very confusing, a much easier to
      9 # understand view can be found at this demo:
     10 # http://demo.icu-project.org/icu-bin/convexp
     11 
     12 # IMPORTANT NOTE
     13 #
     14 # This file is not read directly by ICU. If you change it, you need to
     15 # run gencnval, and eventually run pkgdata to update the representation that
     16 # ICU uses for aliases. The gencnval tool will normally compile this file into
     17 # cnvalias.icu. The gencnval -v verbose option will help you when you edit
     18 # this file.
     19 
     20 # Please be friendly to the rest of us that edit this table by
     21 # keeping this table free of tabs.
     22 
     23 # This is an alias file used by the character set converter.
     24 # A lot of converter information can be found in unicode/ucnv.h, but here
     25 # is more information about this file.
     26 #
     27 # Here is the file format using BNF-like syntax:
     28 #
     29 # converterTable ::= tags { converterLine* }
     30 # converterLine ::= converterName [ tags ] { taggedAlias* }'\n'
     31 # taggedAlias ::= alias [ tags ]
     32 # tags ::= '{' { tag+ } '}'
     33 # tag ::= standard['*']
     34 # converterName ::= [0-9a-zA-Z:_'-']+
     35 # alias ::= converterName
     36 #
     37 # Except for the converter name, aliases are case insensitive.
     38 # Names are separated by whitespace.
     39 # Line continuation and comment sytax are similar to the GNU make syntax.
     40 # Any lines beginning with whitespace (e.g. U+0020 SPACE or U+0009 HORIZONTAL
     41 # TABULATION) are presumed to be a continuation of the previous line.
     42 # The # symbol starts a comment and the comment continues till the end of
     43 # the line.
     44 #
     45 # The converter
     46 #
     47 # All names can be tagged by including a space-separated list of tags in
     48 # curly braces, as in ISO_8859-1:1987{IANA*} iso-8859-1 { MIME* } or
     49 # some-charset{MIME* IANA*}. The order of tags does not matter, and
     50 # whitespace is allowed between the tagged name and the tags list.
     51 #
     52 # The tags can be used to get standard names using ucnv_getStandardName().
     53 #
     54 # The complete list of recognized tags used in this file is defined in
     55 # the affinity list near the beginning of the file.
     56 #
     57 # The * after the standard tag denotes that the previous alias is the
     58 # preferred (default) charset name for that standard. There can only
     59 # be one of these default charset names per converter.
     60 
     61 
     62 
     63 # The world is getting more complicated...
     64 # Supporting XML parsers, HTML, MIME, and similar applications
     65 # that mark encodings with a charset name can be difficult.
     66 # Many of these applications and operating systems will update
     67 # their codepages over time.
     68 
     69 # It means that a new codepage, one that differs from an
     70 # old one by changing a code point, e.g., to the Euro sign,
     71 # must not get an old alias, because it would mean that
     72 # old files with this alias would be interpreted differently.
     73 
     74 # If an codepage gets updated by assigning characters to previously
     75 # unassigned code points, then a new name is not necessary.
     76 # Also, some codepages map unassigned codepage byte values
     77 # to the same numbers in Unicode for roundtripping. It may be
     78 # industry practice to keep the encoding name in such a case, too
     79 # (example: Windows codepages).
     80 
     81 # The aliases listed in the list of character sets
     82 # that is maintained by the IANA (http://www.iana.org/) must
     83 # not be changed to mean encodings different from what this
     84 # list shows. Currently, the IANA list is at
     85 # http://www.iana.org/assignments/character-sets
     86 # It should also be mentioned that the exact mapping table used for each
     87 # IANA names usually isn't specified. This means that some other applications
     88 # and operating systems are left to interpret the exact mappings for the
     89 # underspecified aliases. For instance, Shift-JIS on a Solaris platform
     90 # may be different from Shift-JIS on a Windows platform. This is why
     91 # some of the aliases can be tagged to differentiate different mapping
     92 # tables with the same alias. If an alias is given to more than one converter,
     93 # it is considered to be an ambiguous alias, and the affinity list will
     94 # choose the converter to use when a standard isn't specified with the alias.
     95 
     96 # Name matching is case-insensitive. Also, dashes '-', underscores '_'
     97 # and spaces ' ' are ignored in names (thus cs-iso_latin-1, csisolatin1
     98 # and "cs iso latin 1" are the same).
     99 # However, the names in the left column are directly file names
    100 # or names of algorithmic converters, and their case must not
    101 # be changed - or else code and/or file names must also be changed.
    102 # For example, the converter ibm-921 is expected to be the file ibm-921.cnv.
    103 
    104 
    105 
    106 # The immediately following list is the affinity list of supported standard tags.
    107 # When multiple converters have the same alias under different standards,
    108 # the standard nearest to the top of this list with that alias will
    109 # be the first converter that will be opened. The ordering of the aliases
    110 # after this affinity list does not affect the preferred alias, but it may
    111 # affect the order of the returned list of aliases for a given converter.
    112 #
    113 # The general ordering is from specific and frequently used to more general
    114 # or rarely used at the bottom.
    115 {   UTR22           # Name format specified by http://www.unicode.org/unicode/reports/tr22/
    116     # ICU             # Can also use ICU_FEATURE
    117     IBM             # The IBM CCSID number is specified by ibm-*
    118     WINDOWS         # The Microsoft code page identifier number is specified by windows-*. The rest are recognized IE names.
    119     JAVA            # Source: Sun JDK. Alias name case is ignored, but dashes are not ignored.
    120     # GLIBC
    121     # AIX
    122     # DB2
    123     # SOLARIS
    124     # APPLE
    125     # HPUX
    126     IANA            # Source: http://www.iana.org/assignments/character-sets
    127     MIME            # Source: http://www.iana.org/assignments/character-sets
    128     # MSIE            # MSIE is Internet Explorer, which can be different from Windows (From the IMultiLanguage COM interface)
    129     # ZOS_USS         # z/OS (os/390) Unix System Services (USS), which has NL<->LF swapping. They have the same format as the IBM tag.
    130     }
    131 
    132 
    133 
    134 # Fully algorithmic converters
    135 
    136 UTF-8 { IANA* MIME* JAVA* WINDOWS }
    137                                 ibm-1208 { IBM* } # UTF-8 with IBM PUA
    138                                 ibm-1209 { IBM }  # UTF-8
    139                                 ibm-5304 { IBM }  # Unicode 2.0, UTF-8 with IBM PUA
    140                                 ibm-5305 { IBM }  # Unicode 2.0, UTF-8
    141                                 ibm-13496 { IBM } # Unicode 3.0, UTF-8 with IBM PUA
    142                                 ibm-13497 { IBM } # Unicode 3.0, UTF-8
    143                                 ibm-17592 { IBM } # Unicode 4.0, UTF-8 with IBM PUA
    144                                 ibm-17593 { IBM } # Unicode 4.0, UTF-8
    145                                 windows-65001 { WINDOWS* }
    146                                 cp1208
    147 
    148 # The ICU 2.2 UTF-16/32 converters detect and write a BOM.
    149 UTF-16 { IANA* MIME* JAVA* }    ISO-10646-UCS-2 { IANA }
    150                                 ibm-1204 { IBM* } # UTF-16 with IBM PUA and BOM sensitive
    151                                 ibm-1205 { IBM }  # UTF-16 BOM sensitive
    152                                 unicode
    153                                 csUnicode
    154                                 ucs-2
    155 # The following Unicode CCSIDs (IBM) are not valid in ICU because they are
    156 # considered pure DBCS (exactly 2 bytes) of Unicode,
    157 # and they are a subset of Unicode. ICU does not support their encoding structures.
    158 # 1400 1401 1402 1410 1414 1415 1446 1447 1448 1449 64770 64771 65520 5496 5497 5498 9592 13688
    159 UTF-16BE { IANA* MIME* JAVA* }  x-utf-16be { JAVA }
    160                                 UnicodeBigUnmarked { JAVA } # java.io name
    161                                 ibm-1200 { IBM* } # UTF-16 BE with IBM PUA
    162                                 ibm-1201 { IBM }  # UTF-16 BE
    163                                 ibm-13488 { IBM } # Unicode 2.0, UTF-16 BE with IBM PUA
    164                                 ibm-13489 { IBM } # Unicode 2.0, UTF-16 BE
    165                                 ibm-17584 { IBM } # Unicode 3.0, UTF-16 BE with IBM PUA
    166                                 ibm-17585 { IBM } # Unicode 3.0, UTF-16 BE
    167                                 ibm-21680 { IBM } # Unicode 4.0, UTF-16 BE with IBM PUA
    168                                 ibm-21681 { IBM } # Unicode 4.0, UTF-16 BE
    169                                 ibm-25776 { IBM } # Unicode 4.1, UTF-16 BE with IBM PUA
    170                                 ibm-25777 { IBM } # Unicode 4.1, UTF-16 BE
    171                                 ibm-29872 { IBM } # Unicode 5.0, UTF-16 BE with IBM PUA
    172                                 ibm-29873 { IBM } # Unicode 5.0, UTF-16 BE
    173                                 ibm-61955 { IBM } # UTF-16BE with Gaidai University (Japan) PUA
    174                                 ibm-61956 { IBM } # UTF-16BE with Microsoft HKSCS-Big 5 PUA
    175                                 windows-1201 { WINDOWS* }
    176                                 cp1200
    177                                 cp1201
    178                                 UTF16_BigEndian
    179                                 # ibm-5297 { IBM }  # Unicode 2.0, UTF-16 (BE) (reserved, never used)
    180                                 # iso-10646-ucs-2 { JAVA } # This is ambiguous
    181                                 # ibm-61952 is not a valid CCSID because it's Unicode 1.1
    182                                 # ibm-61953 is not a valid CCSID because it's Unicode 1.0
    183 UTF-16LE { IANA* MIME* JAVA* }  x-utf-16le { JAVA }
    184                                 UnicodeLittleUnmarked { JAVA } # java.io name
    185                                 ibm-1202 { IBM* } # UTF-16 LE with IBM PUA
    186                                 ibm-1203 { IBM }  # UTF-16 LE
    187                                 ibm-13490 { IBM } # Unicode 2.0, UTF-16 LE with IBM PUA
    188                                 ibm-13491 { IBM } # Unicode 2.0, UTF-16 LE
    189                                 ibm-17586 { IBM } # Unicode 3.0, UTF-16 LE with IBM PUA
    190                                 ibm-17587 { IBM } # Unicode 3.0, UTF-16 LE
    191                                 ibm-21682 { IBM } # Unicode 4.0, UTF-16 LE with IBM PUA
    192                                 ibm-21683 { IBM } # Unicode 4.0, UTF-16 LE
    193                                 ibm-25778 { IBM } # Unicode 4.1, UTF-16 LE with IBM PUA
    194                                 ibm-25779 { IBM } # Unicode 4.1, UTF-16 LE
    195                                 ibm-29874 { IBM } # Unicode 5.0, UTF-16 LE with IBM PUA
    196                                 ibm-29875 { IBM } # Unicode 5.0, UTF-16 LE
    197                                 UTF16_LittleEndian
    198                                 windows-1200 { WINDOWS* }
    199 
    200 UTF-32 { IANA* MIME* }          ISO-10646-UCS-4 { IANA }
    201                                 ibm-1236 { IBM* } # UTF-32 with IBM PUA and BOM sensitive
    202                                 ibm-1237 { IBM }  # UTF-32 BOM sensitive
    203                                 csUCS4
    204                                 ucs-4
    205 UTF-32BE { IANA* }              UTF32_BigEndian
    206                                 ibm-1232 { IBM* } # UTF-32 BE with IBM PUA
    207                                 ibm-1233 { IBM }  # UTF-32 BE
    208                                 ibm-9424 { IBM }  # Unicode 4.1, UTF-32 BE with IBM PUA
    209 UTF-32LE { IANA* }              UTF32_LittleEndian
    210                                 ibm-1234 { IBM* } # UTF-32 LE, with IBM PUA
    211                                 ibm-1235 { IBM }  # UTF-32 LE
    212 
    213 # ICU-specific names for special uses
    214 UTF16_PlatformEndian
    215 UTF16_OppositeEndian
    216 
    217 UTF32_PlatformEndian
    218 UTF32_OppositeEndian
    219 
    220 
    221 # Java-specific, non-Unicode-standard UTF-16 variants.
    222 # These are in the Java "Basic Encoding Set (contained in lib/rt.jar)".
    223 # See the "Supported Encodings" at
    224 # http://java.sun.com/javase/6/docs/technotes/guides/intl/encoding.doc.html
    225 # or a newer version of this document.
    226 #
    227 # Aliases marked with { JAVA* } are canonical names for java.io and java.lang APIs.
    228 # Aliases marked with { JAVA } are canonical names for the java.nio API.
    229 #
    230 # "BOM" means the Unicode Byte Order Mark, which is the encoding-scheme-specific
    231 # byte sequence for U+FEFF.
    232 # "Reverse BOM" means the BOM for the sibling encoding scheme with the
    233 # opposite endianness. (LE<->BE)
    234 
    235 # "Sixteen-bit Unicode (or UCS) Transformation Format, big-endian byte order,
    236 # with byte-order mark"
    237 #
    238 # From Unicode: Writes BOM.
    239 # To Unicode: Detects and consumes BOM. 
    240 #   If there is a "reverse BOM", Java throws
    241 #   MalformedInputException: Incorrect byte-order mark.
    242 #   In this case, ICU4C sets a U_ILLEGAL_ESCAPE_SEQUENCE UErrorCode value
    243 #   and a UCNV_ILLEGAL UConverterCallbackReason.
    244 UTF-16BE,version=1		UnicodeBig { JAVA* }
    245 
    246 # "Sixteen-bit Unicode (or UCS) Transformation Format, little-endian byte order,
    247 # with byte-order mark"
    248 #
    249 # From Unicode: Writes BOM.
    250 # To Unicode: Detects and consumes BOM. 
    251 #   If there is a "reverse BOM", Java throws
    252 #   MalformedInputException: Incorrect byte-order mark.
    253 #   In this case, ICU4C sets a U_ILLEGAL_ESCAPE_SEQUENCE UErrorCode value
    254 #   and a UCNV_ILLEGAL UConverterCallbackReason.
    255 UTF-16LE,version=1		UnicodeLittle { JAVA* }  x-UTF-16LE-BOM { JAVA }
    256 
    257 # This one is not mentioned on the "Supported Encodings" page
    258 # but is available in Java.
    259 # In Java, this is called "Unicode" but we cannot give it that alias
    260 # because the standard UTF-16 converter already has a "unicode" alias.
    261 #
    262 # From Unicode: Writes BOM.
    263 # To Unicode: Detects and consumes BOM.
    264 #   If there is no BOM, rather than defaulting to BE, Java throws
    265 #   MalformedInputException: Missing byte-order mark.
    266 #   In this case, ICU4C sets a U_ILLEGAL_ESCAPE_SEQUENCE UErrorCode value
    267 #   and a UCNV_ILLEGAL UConverterCallbackReason.
    268 UTF-16,version=1
    269 
    270 # Note: ICU does not currently support Java-specific, non-Unicode-standard UTF-32 variants.
    271 # Presumably, these behave analogously to the UTF-16 variants with similar names.
    272 # UTF_32BE_BOM  x-UTF-32BE-BOM
    273 # UTF_32LE_BOM  x-UTF-32LE-BOM
    274 
    275 # End of Java-specific, non-Unicode-standard UTF variants.
    276 
    277 
    278 # On UTF-7:
    279 # RFC 2152 (http://www.imc.org/rfc2152) allows to encode some US-ASCII
    280 # characters directly or in base64. Especially, the characters in set O
    281 # as defined in the RFC (!"#$%&*;<=>@[]^_`{|}) may be encoded directly
    282 # but are not allowed in, e.g., email headers.
    283 # By default, the ICU UTF-7 converter encodes set O directly.
    284 # By choosing the option "version=1", set O will be escaped instead.
    285 # For example:
    286 #     utf7Converter=ucnv_open("UTF-7,version=1");
    287 #
    288 # For details about email headers see RFC 2047.
    289 UTF-7 { IANA* MIME* WINDOWS }   windows-65000 { WINDOWS* }
    290 
    291 # UTF-EBCDIC doesn't exist in ICU, but the aliases are here for reference.
    292 #UTF-EBCDIC ibm-1210 { IBM* } ibm-1211 { IBM }
    293 
    294 # IMAP-mailbox-name is an ICU-specific name for the encoding of IMAP mailbox names.
    295 # It is a substantially modified UTF-7 encoding. See the specification in:
    296 #
    297 # RFC 2060: INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
    298 # (http://www.ietf.org/rfc/rfc2060.txt)
    299 # Section 5.1.3.  Mailbox International Naming Convention
    300 IMAP-mailbox-name
    301 
    302 SCSU { IANA* }
    303     ibm-1212 { IBM }  # SCSU with IBM PUA
    304     ibm-1213 { IBM* } # SCSU
    305 BOCU-1 { IANA* }
    306     csBOCU-1 { IANA }
    307     ibm-1214 { IBM }  # BOCU-1 with IBM PUA
    308     ibm-1215 { IBM* } # BOCU-1
    309 
    310 # See http://www.unicode.org/unicode/reports/tr26 for this Compatibility Encoding Scheme for UTF-16
    311 # The Unicode Consortium does not encourage the use of CESU-8
    312 CESU-8 { IANA* } ibm-9400 { IBM* }
    313 
    314 # Standard iso-8859-1, which does not have the Euro update.
    315 # See iso-8859-15 (latin9) for the Euro update
    316 ISO-8859-1 { MIME* IANA JAVA* }
    317     ibm-819 { IBM* JAVA }    # This is not truely ibm-819 because it's missing the fallbacks.
    318     IBM819 { IANA }
    319     cp819 { IANA JAVA }
    320     latin1 { IANA JAVA }
    321     8859_1 { JAVA }
    322     csISOLatin1 { IANA JAVA }
    323     iso-ir-100 { IANA JAVA }
    324     ISO_8859-1:1987 { IANA* JAVA }
    325     l1 { IANA JAVA }
    326     819 { JAVA }
    327     # windows-28591 { WINDOWS* } # This has odd behavior because it has the Euro update, which isn't correct.
    328     # LATIN_1     # Old ICU name
    329     # ANSI_X3.110-1983  # This is for a different IANA alias.  This isn't iso-8859-1.
    330 
    331 US-ASCII { MIME* IANA JAVA WINDOWS }
    332     ASCII { JAVA* IANA WINDOWS }
    333     ANSI_X3.4-1968 { IANA* WINDOWS }
    334     ANSI_X3.4-1986 { IANA WINDOWS }
    335     ISO_646.irv:1991 { IANA WINDOWS }
    336     iso_646.irv:1983 { JAVA }
    337     ISO646-US { JAVA IANA WINDOWS }
    338     us { IANA }
    339     csASCII { IANA WINDOWS }
    340     iso-ir-6 { IANA }
    341     cp367 { IANA WINDOWS }
    342     ascii7 { JAVA }
    343     646 { JAVA }
    344     windows-20127 { WINDOWS* }
    345     ibm-367 { IBM* } IBM367 { IANA WINDOWS } # This is not truely ibm-367 because it's missing the fallbacks.
    346 
    347 # GB 18030 is partly algorithmic, using the MBCS converter
    348 gb18030 { IANA* }       ibm-1392 { IBM* } windows-54936 { WINDOWS* } gb18030 { MIME* }
    349 
    350 # Table-based interchange codepages
    351 
    352 # Central Europe
    353 ibm-912_P100-1995 { UTR22* }
    354                         ibm-912 { IBM* JAVA }
    355                         ISO-8859-2 { MIME* IANA JAVA* WINDOWS }
    356                         ISO_8859-2:1987 { IANA* WINDOWS JAVA }
    357                         latin2 { IANA WINDOWS JAVA }
    358                         csISOLatin2 { IANA WINDOWS JAVA }
    359                         iso-ir-101 { IANA WINDOWS JAVA }
    360                         l2 { IANA WINDOWS JAVA }
    361                         8859_2 { JAVA }
    362                         cp912 { JAVA }
    363                         912 { JAVA }
    364                         windows-28592 { WINDOWS* }
    365 
    366 # Maltese Esperanto
    367 ibm-913_P100-2000 { UTR22* }
    368                         ibm-913 { IBM* JAVA }
    369                         ISO-8859-3 { MIME* IANA WINDOWS JAVA* }
    370                         ISO_8859-3:1988 { IANA* WINDOWS JAVA }
    371                         latin3 { IANA JAVA WINDOWS }
    372                         csISOLatin3 { IANA WINDOWS }
    373                         iso-ir-109 { IANA WINDOWS JAVA }
    374                         l3 { IANA WINDOWS JAVA }
    375                         8859_3 { JAVA }
    376                         cp913 { JAVA }
    377                         913 { JAVA }
    378                         windows-28593 { WINDOWS* }
    379 
    380 # Baltic
    381 ibm-914_P100-1995 { UTR22* }
    382                         ibm-914 { IBM* JAVA }
    383                         ISO-8859-4 { MIME* IANA WINDOWS JAVA* }
    384                         latin4 { IANA WINDOWS JAVA }
    385                         csISOLatin4 { IANA WINDOWS JAVA }
    386                         iso-ir-110 { IANA WINDOWS JAVA }
    387                         ISO_8859-4:1988 { IANA* WINDOWS JAVA }
    388                         l4 { IANA WINDOWS JAVA }
    389                         8859_4 { JAVA }
    390                         cp914 { JAVA }
    391                         914 { JAVA }
    392                         windows-28594 { WINDOWS* }
    393 
    394 # Cyrillic
    395 ibm-915_P100-1995 { UTR22* }
    396                         ibm-915 { IBM* JAVA }
    397                         ISO-8859-5 { MIME* IANA WINDOWS JAVA* }
    398                         cyrillic { IANA WINDOWS JAVA }
    399                         csISOLatinCyrillic { IANA WINDOWS JAVA }
    400                         iso-ir-144 { IANA WINDOWS JAVA }
    401                         ISO_8859-5:1988 { IANA* WINDOWS JAVA }
    402                         8859_5 { JAVA }
    403                         cp915 { JAVA }
    404                         915 { JAVA }
    405                         windows-28595 { WINDOWS* }
    406 
    407 # Arabic
    408 # ISO_8859-6-E and ISO_8859-6-I are similar to this charset, but BiDi is done differently
    409 # From a narrow mapping point of view, there is no difference.
    410 # -E means explicit. -I means implicit.
    411 # -E requires the client to handle the ISO 6429 bidirectional controls
    412 ibm-1089_P100-1995 { UTR22* }
    413                         ibm-1089 { IBM* JAVA }
    414                         ISO-8859-6 { MIME* IANA WINDOWS JAVA* }
    415                         arabic { IANA WINDOWS JAVA }
    416                         csISOLatinArabic { IANA WINDOWS JAVA }
    417                         iso-ir-127 { IANA WINDOWS JAVA }
    418                         ISO_8859-6:1987 { IANA* WINDOWS JAVA }
    419                         ECMA-114 { IANA JAVA }
    420                         ASMO-708 { IANA JAVA }
    421                         8859_6 { JAVA }
    422                         cp1089 { JAVA }
    423                         1089 { JAVA }
    424                         windows-28596 { WINDOWS* }
    425                         ISO-8859-6-I { IANA MIME } # IANA considers this alias different and BiDi needs to be applied.
    426                         ISO-8859-6-E { IANA MIME } # IANA considers this alias different and BiDi needs to be applied.
    427 
    428 # ISO Greek (with euro update). This is really ISO_8859-7:2003
    429 ibm-9005_X110-2007 { UTR22* }
    430                         ibm-9005 { IBM* }
    431                         ISO-8859-7 { MIME* IANA WINDOWS }
    432                         greek { IANA WINDOWS }
    433                         greek8 { IANA WINDOWS }
    434                         ELOT_928 { IANA WINDOWS }
    435                         ECMA-118 { IANA WINDOWS }
    436                         csISOLatinGreek { IANA WINDOWS }
    437                         iso-ir-126 { IANA WINDOWS }
    438                         ISO_8859-7:1987 { IANA* WINDOWS }
    439                         windows-28597 { WINDOWS* }
    440                         sun_eu_greek # For Solaris
    441 
    442 # ISO Greek (w/o euro update)
    443 # JDK 1.5 has these aliases.
    444 ibm-813_P100-1995 { UTR22* }
    445                         ibm-813 { IBM* JAVA }
    446                         ISO-8859-7 { JAVA* }
    447                         greek { JAVA }
    448                         greek8 { JAVA }
    449                         ELOT_928 { JAVA }
    450                         ECMA-118 { JAVA }
    451                         csISOLatinGreek { JAVA }
    452                         iso-ir-126 { JAVA }
    453                         ISO_8859-7:1987 { JAVA }
    454                         8859_7 { JAVA }
    455                         cp813 { JAVA }
    456                         813 { JAVA }
    457 
    458 # hebrew
    459 # ISO_8859-8-E and ISO_8859-8-I are similar to this charset, but BiDi is done differently
    460 # From a narrow mapping point of view, there is no difference.
    461 # -E means explicit. -I means implicit.
    462 # -E requires the client to handle the ISO 6429 bidirectional controls
    463 # This matches the official mapping on unicode.org
    464 ibm-5012_P100-1999 { UTR22* }
    465                         ibm-5012 { IBM* }
    466                         ISO-8859-8 { MIME* IANA WINDOWS JAVA* }
    467                         hebrew { IANA WINDOWS JAVA }
    468                         csISOLatinHebrew { IANA WINDOWS JAVA }
    469                         iso-ir-138 { IANA WINDOWS JAVA }
    470                         ISO_8859-8:1988 { IANA* WINDOWS JAVA }
    471                         ISO-8859-8-I { IANA MIME } # IANA and Windows considers this alias different and BiDi needs to be applied.
    472                         ISO-8859-8-E { IANA MIME } # IANA and Windows considers this alias different and BiDi needs to be applied.
    473                         8859_8 { JAVA }
    474                         windows-28598 { WINDOWS* } # Hebrew (ISO-Visual). A hybrid between ibm-5012 and ibm-916 with extra PUA mappings.
    475                         hebrew8 # Reflect HP-UX code page update
    476 
    477 # Unfortunately, the Java aliases are split across ibm-916 and ibm-5012
    478 # Also many platforms are a combination between ibm-916 and ibm-5012 behaviors
    479 ibm-916_P100-1995 { UTR22* }
    480                         ibm-916 { IBM* JAVA* }
    481                         cp916 { JAVA }
    482                         916 { JAVA }
    483 
    484 # Turkish
    485 # CHROME: ISO-8859-9 and its aliases are moved to windows-1254 per
    486 # HTML5. 
    487 ibm-920_P100-1995 { UTR22* }
    488                         ibm-920 { IBM* JAVA* }
    489                         ISO-8859-9
    490                         latin5
    491                         csISOLatin5
    492                         iso-ir-148 
    493                         ISO_8859-9:1989
    494                         l5
    495                         cp920 { JAVA }
    496                         920 { JAVA }
    497                         windows-28599 { WINDOWS* }
    498                         ECMA-128    # IANA doesn't have this alias 6/24/2002
    499                         turkish8    # Reflect HP-UX codepage update 8/1/2008
    500                         turkish     # Reflect HP-UX codepage update 8/1/2008
    501 
    502 # Nordic languages
    503 iso-8859_10-1998 { UTR22* } ISO-8859-10 { MIME* IANA* }
    504                         iso-ir-157 { IANA }
    505                         l6 { IANA }
    506                         ISO_8859-10:1992 { IANA }
    507                         csISOLatin6 { IANA }
    508                         latin6 { IANA }
    509 
    510 # Thai
    511 # Be warned. There several iso-8859-11 codepage variants, and they are all incompatible.
    512 # ISO-8859-11 is a superset of TIS-620. The difference is that ISO-8859-11 contains the C1 control codes.
    513 iso-8859_11-2001 { UTR22* } ISO-8859-11
    514                         thai8 # HP-UX alias. HP-UX says TIS-620, but it's closer to ISO-8859-11.
    515 
    516 # iso-8859-13, PC Baltic (w/o euro update)
    517 ibm-921_P100-1995 { UTR22* }
    518                         ibm-921 { IBM* }
    519                         ISO-8859-13 { IANA* MIME* JAVA* }
    520                         8859_13 { JAVA }
    521                         windows-28603 { WINDOWS* }
    522                         cp921
    523                         921
    524 
    525 # Celtic
    526 iso-8859_14-1998 { UTR22* } ISO-8859-14 { IANA* }
    527                         iso-ir-199 { IANA }
    528                         ISO_8859-14:1998 { IANA }
    529                         latin8 { IANA }
    530                         iso-celtic { IANA }
    531                         l8 { IANA }
    532 
    533 # Latin 9
    534 ibm-923_P100-1998 { UTR22* }
    535                         ibm-923 { IBM* JAVA }
    536                         ISO-8859-15 { IANA* MIME* WINDOWS JAVA* }
    537                         Latin-9 { IANA WINDOWS }
    538                         l9 { WINDOWS }
    539                         8859_15 { JAVA }
    540                         latin0 { JAVA }
    541                         csisolatin0 { JAVA }
    542                         csisolatin9 { JAVA }
    543                         iso8859_15_fdis { JAVA }
    544                         cp923 { JAVA }
    545                         923 { JAVA }
    546                         windows-28605 { WINDOWS* }
    547 
    548 # CJK encodings
    549 
    550 ibm-942_P12A-1999 { UTR22* }    # ibm-942_P120 is a rarely used alternate mapping (sjis78 is already old)
    551                         ibm-942 { IBM* }
    552                         ibm-932 { IBM }
    553                         cp932
    554                         shift_jis78
    555                         sjis78
    556                         ibm-942_VSUB_VPUA
    557                         ibm-932_VSUB_VPUA
    558                         # Is this "JIS_C6226-1978"?
    559 
    560 # ibm-943_P15A-2003 differs from windows-932-2000 only in a few roundtrip mappings:
    561 # - the usual IBM PC control code rotation (1A-1C-7F)
    562 # - the Windows table has roundtrips for bytes 80, A0, and FD-FF to U+0080 and PUA
    563 ibm-943_P15A-2003 { UTR22* }
    564                         ibm-943 # Leave untagged because this isn't the default
    565                         Shift_JIS { IANA* MIME* WINDOWS JAVA }
    566                         MS_Kanji { IANA WINDOWS JAVA }
    567                         csShiftJIS { IANA WINDOWS JAVA }
    568                         windows-31j { IANA JAVA } # A further extension of Shift_JIS to include NEC special characters (Row 13)
    569                         csWindows31J { IANA WINDOWS JAVA } # A further extension of Shift_JIS to include NEC special characters (Row 13)
    570                         x-sjis { WINDOWS JAVA }
    571                         x-ms-cp932 { WINDOWS }
    572                         cp932 { WINDOWS }
    573                         windows-932 { WINDOWS* }
    574                         cp943c { JAVA* }    # This is slightly different, but the backslash mapping is the same.
    575                         IBM-943C #{ AIX* } # Add this tag once AIX aliases becomes available
    576                         ms932
    577                         pck     # Probably SOLARIS
    578                         sjis    # This might be for ibm-1351
    579                         ibm-943_VSUB_VPUA
    580                         # cp943 # This isn't Windows, and no one else uses it.
    581                         # IANA says that Windows-31J is an extension to csshiftjis ibm-932 
    582 ibm-943_P130-1999 { UTR22* }
    583                         ibm-943 { IBM* JAVA }
    584                         Shift_JIS # Leave untagged because this isn't the default
    585                         cp943 { JAVA* }    # This is slightly different, but the backslash mapping is the same.
    586                         943 { JAVA }
    587                         ibm-943_VASCII_VSUB_VPUA
    588                         # japanese. Unicode name is \u30b7\u30d5\u30c8\u7b26\u53f7\u5316\u8868\u73fe
    589 ibm-33722_P12A_P12A-2004_U2 { UTR22* }
    590                         ibm-33722   # Leave untagged because this isn't the default
    591                         ibm-5050    # Leave untagged because this isn't the default, and yes this alias is correct
    592                         windows-51932 { WINDOWS* }
    593                         ibm-33722_VPUA
    594                         IBM-eucJP
    595 ibm-33722_P120-1999 { UTR22* }  # Japan EUC with \ <-> Yen mapping
    596                         ibm-33722 { IBM* JAVA }
    597                         ibm-5050 { IBM }    # Yes this is correct
    598                         cp33722 { JAVA* }
    599                         33722 { JAVA }
    600                         ibm-33722_VASCII_VPUA
    601 # ibm-954 seems to be almost a superset of ibm-33722 and ibm-1350
    602 # ibm-1350 seems to be almost a superset of ibm-33722
    603 # ibm-954 contains more PUA characters than the others.
    604 # CHROME : Instead of ibm-33722_P*, we use our own EUC-JP converter
    605 # to match IE7 and Mozilla more closely.
    606 google-euc_jp_mod { UTR22* } # a modified version of EUC-JP that prefers 2-byte code points when converting from Unicode while recognizing both 2-byte and 3-byte code points when converting to Unicode.
    607                         EUC-JP { MIME* IANA JAVA* WINDOWS* }
    608                         Extended_UNIX_Code_Packed_Format_for_Japanese { IANA* JAVA WINDOWS }
    609                         csEUCPkdFmtJapanese { IANA JAVA WINDOWS }
    610                         X-EUC-JP { MIME JAVA WINDOWS }   # Japan EUC. x-euc-jp is a MIME name
    611                         eucjis {JAVA}
    612                         ujis # Linux sometimes uses this name. This is an unfortunate generic and rarely used name. Its use is discouraged.
    613 ibm-954_P101-2007 { UTR22* }
    614                         ibm-954 { IBM* }
    615                         # eucJP # This is closest to Solaris EUC-JP.
    616 
    617 # Here are various interpretations and extentions of Big5
    618 ibm-1373_P100-2002 { UTR22* } # IBM's interpretation of Windows' Taiwan Big-5 without HKSCS extensions
    619                         ibm-1373 { IBM* }
    620                         windows-950 # Alternate mapping. Leave untagged. This is the IBM interpretation of a Windows codepage.
    621 windows-950-2000 { UTR22* }
    622                         Big5 { IANA* MIME* JAVA* WINDOWS }
    623                         csBig5 { IANA WINDOWS }
    624                         windows-950 { WINDOWS* }
    625                         x-big5
    626 ibm-950_P110-1999 { UTR22* }                # Taiwan Big-5 (w/o euro update)
    627                         ibm-950 { IBM* JAVA }
    628                         cp950 { JAVA* }
    629                         950 { JAVA }
    630 ibm-1375_P100-2007 { UTR22* }   # Big5-HKSCS-2004 with Unicode 3.1 mappings. This uses supplementary characters.
    631                         ibm-1375 { IBM* }
    632                         Big5-HKSCS { IANA* JAVA* }
    633                         big5hk { JAVA }
    634                         HKSCS-BIG5  # From http://www.openi18n.org/localenameguide/
    635 ibm-5471_P100-2006 { UTR22* }   # Big5-HKSCS-2001 with Unicode 3.0 mappings. This uses many PUA characters.
    636                         ibm-5471 { IBM* }
    637                         Big5-HKSCS
    638                         MS950_HKSCS { JAVA* }
    639                         hkbig5 # from HP-UX 11i, which can't handle supplementary characters.
    640                         big5-hkscs:unicode3.0
    641                         # windows-950 # Windows-950 can be w/ or w/o HKSCS extensions. By default it's not.
    642                         # windows-950_hkscs
    643 
    644 # GBK
    645 ibm-1386_P100-2001  { UTR22* }
    646                         ibm-1386 { IBM* }
    647                         cp1386
    648                         #windows-936 # Alternate mapping. Leave untagged. This is the IBM interpretation of a Windows codepage.
    649                         ibm-1386_VSUB_VPUA
    650 # CHROME: Added 4 GB2312 aliases and EUC-CN to Windows-936 to reflect the
    651 #         reality of the web (GB2312 is treated synonymously with its
    652 #         superset, Windows-936/GBK)
    653 #         All the aliases listed for this converter (windows-936-2000)
    654 #         are removed from the list of aliases for other simplified Chinese
    655 #         converters above.
    656 windows-936-2000 { UTR22* }
    657                         GB2312 { IANA* MIME* }
    658                         windows-936 { IANA WINDOWS* JAVA }
    659                         GBK { WINDOWS JAVA* }
    660                         CP936 { IANA JAVA }
    661                         MS936 { IANA }  # In JDK 1.5, this goes to x-mswin-936. This is an IANA name split.
    662                         chinese { IANA }
    663                         iso-ir-58 { IANA }
    664                         gb2312-1980
    665                         EUC-CN
    666                         csGB2312 { IANA }
    667                         GB_2312-80 { IANA }
    668 
    669 # Java has two different tables for ibm-1383 and gb2312. We pick closest set for tagging. 
    670 ibm-1383_P110-1999 { UTR22* }       # China EUC.
    671                         ibm-1383 { IBM* JAVA }
    672                         cp1383 { JAVA* }
    673                         1383 { JAVA }
    674                         #EUC-CN  # According to other platforms, windows-20936 looks more like euc-cn. x-euc-cn is also a MIME name
    675                         ibm-eucCN
    676                         hp15CN  # From HP-UX?
    677                         ibm-1383_VPUA
    678                         # gb          # This is not an IANA name. gb in IANA means Great Britain.
    679 
    680 ibm-5478_P100-1995 { UTR22* } ibm-5478 { IBM* } # This gb_2312_80 DBCS mapping is needed by iso-2022.
    681                         csISO58GB231280 { IANA* }
    682                         GB2312.1980-0   # From X11R6
    683 
    684 ibm-964_P110-1999 { UTR22* }                # Taiwan EUC. x-euc-tw is a MIME name
    685                         ibm-964 { IBM* JAVA }
    686                         EUC-TW
    687                         ibm-eucTW
    688                         cns11643 
    689                         cp964 { JAVA* }
    690                         964 { JAVA }
    691                         ibm-964_VPUA
    692 
    693 # ISO-2022 needs one, and other people may need others.
    694 ibm-949_P110-1999 { UTR22* }
    695                         ibm-949 { IBM* JAVA }
    696                         cp949 { JAVA* }
    697                         949 { JAVA }
    698                         ibm-949_VASCII_VSUB_VPUA
    699 ibm-949_P11A-1999 { UTR22* }
    700                         ibm-949 # Leave untagged because this isn't the default
    701                         cp949c { JAVA* }
    702                         ibm-949_VSUB_VPUA
    703 
    704 # Korean EUC.
    705 #
    706 # <quote from="Jungshik Shin">
    707 # EUC-KR = KS X 1003/ISO 646-KR or ISO 646-IRV/US-ASCII in GL and KS X 1001:1998 (formerly KS C 5601-1987) in GR.
    708 #
    709 # Although widely spread on MS Windows, using 
    710 # KS C 5601 or related names to denote EUC-KR or
    711 # windows-949 is very much misleading. KS C 5601-1987
    712 # is NOT suitable as a designation for MIME charset
    713 # and MBCS. It's just the name of a 94 x 94 Korean 
    714 # coded character set standard which can be invoked
    715 # on either GL (with MSB reset) or GR (with MSB set).
    716 # Note that JOHAB (windows-1361) specified in 
    717 # KS X 1001:1998 annex 3 (KS C 5601-1992 annex 3) 
    718 # is a _seprate_ MBCS with a _completely different_
    719 # mapping.
    720 # </quote>
    721 #
    722 # The following aliases tries to mirror the poor state of alias recognition
    723 # on these platforms.
    724 #
    725 # ibm-970 is almost a subset of ibm-1363.
    726 # Java, Solaris and AIX use euc-kr to also mean ksc5601.
    727 # Java has both ibm-970 and EUC-KR as separate converters.
    728 ibm-970_P110_P110-2006_U2 { UTR22* }
    729                         ibm-970 { IBM* JAVA }
    730                         windows-51949 { WINDOWS* }
    731                         ibm-eucKR { JAVA }
    732                         cp970 { JAVA* }
    733                         970 { JAVA }
    734                         ibm-970_VPUA
    735 
    736 # ibm-971 is almost the set of DBCS mappings of ibm-970
    737 ibm-971_P100-1995       ibm-971 { IBM* } ibm-971_VPUA
    738 
    739 # Java, Solaris and AIX use euc-kr to also mean ksc5601, and _sometimes_ for Windows too.
    740 # ibm-1363 is almost a superset of ibm-970.
    741 ibm-1363_P11B-1998 { UTR22* }
    742                         ibm-1363 # Leave untagged because this isn't the default
    743                         #KS_C_5601-1987 { IANA* }
    744                         #KS_C_5601-1989 { IANA }
    745                         #KSC_5601 { IANA }
    746                         #csKSC56011987 { IANA }
    747                         #korean { IANA }
    748                         #iso-ir-149 { IANA }
    749                         cp1363 { MIME* }
    750                         #5601
    751                         #ksc
    752                         #windows-949 # Alternate mapping. Leave untagged. This is the IBM interpretation of a Windows codepage.
    753                         ibm-1363_VSUB_VPUA
    754                         # ks_x_1001:1992
    755                         # ksc5601-1992
    756 
    757 ibm-1363_P110-1997 { UTR22* } # Korean KSC MBCS with \ <-> Won mapping
    758                         ibm-1363 { IBM* }
    759                         ibm-1363_VASCII_VSUB_VPUA
    760 
    761 #CHROME: Windows-949 is NOT EUC-KR, but a superset of EUC-KR with 8,822
    762 #        additional Hangul syllables. However, the reality of the web
    763 #        dictates that we make a compromise and make EUC-KR a synonym of
    764 #        windows-949.
    765 #        All the aliases listed for this converter (windows-949-2000)
    766 #        are removed from the list of aliases for other Korean converters
    767 #        above.
    768 windows-949-2000 { UTR22* }
    769                         EUC-KR { IANA* MIME* WINDOWS }
    770                         windows-949 { JAVA* WINDOWS }
    771                         KS_C_5601-1987 { WINDOWS* IANA }
    772                         KS_C_5601-1989 { WINDOWS IANA }
    773                         KSC_5601 { IANA WINDOWS } # Needed by iso-2022
    774                         csKSC56011987 { WINDOWS }
    775                         korean { IANA WINDOWS }
    776                         iso-ir-149 { IANA WINDOWS }
    777                         ms949 { JAVA }
    778                         csEUCKR { IANA WINDOWS }
    779                         5601
    780                         x-windows-949 # Mozilla
    781                         x-UHC   # Mozilla (Unified Hangul Code)
    782 
    783 #CHROME: TIS-620, ISO-8859-11 and Windows-874 are slightly different from
    784 # each other, but they're used as if they're identical on the web.
    785 windows-874-2000 { UTR22* }   # Thai (w/ euro update)
    786                         TIS-620 { IANA* WINDOWS MIME* }
    787                         windows-874 { JAVA* WINDOWS* MIME }
    788                         MS874 { JAVA }
    789                         iso-8859-11 { IANA WINDOWS MIME } # iso-8859-11 is similar to TIS-620. ibm-13162 is a closer match.
    790 
    791 ibm-874_P100-1995 { UTR22* }    # Thai PC (w/o euro update).
    792                         ibm-874 { IBM* JAVA }
    793                         ibm-9066 { IBM }    # Yes ibm-874 == ibm-9066. ibm-1161 has the euro update.
    794                         cp874 { JAVA* }
    795                         #TIS-620 { IANA* JAVA }  # This is actually separate from ibm-874, which is similar to this table
    796                         tis620.2533 { JAVA }    # This is actually separate from ibm-874, which is similar to this table
    797                         eucTH               # eucTH is an unusual alias from Solaris.  eucTH has fewer mappings than TIS620
    798 
    799 ibm-1162_P100-1999 { UTR22* }   # Thai (w/ euro update)
    800                         ibm-1162 { IBM* }
    801 
    802 # Platform codepages
    803 # If Java supports the IBM prefix, it should also support the ibm- prefix too.
    804 ibm-437_P100-1995 { UTR22* }    ibm-437 { IBM* } IBM437 { IANA* WINDOWS JAVA } cp437 { IANA WINDOWS JAVA* } 437 { IANA WINDOWS JAVA } csPC8CodePage437 { IANA JAVA } windows-437 { WINDOWS* }  # PC US
    805 ibm-720_P100-1997 { UTR22* }    ibm-720 { IBM* } windows-720 { WINDOWS* } DOS-720 { WINDOWS } # PC Arabic
    806 ibm-737_P100-1997 { UTR22* }    ibm-737 { IBM* } IBM737 { WINDOWS JAVA } cp737 { JAVA* } windows-737 { WINDOWS* } 737 { JAVA } # PC Greek
    807 ibm-775_P100-1996 { UTR22* }    ibm-775 { IBM* } IBM775 { IANA* WINDOWS JAVA } cp775 { IANA WINDOWS JAVA* } csPC775Baltic { IANA } windows-775 { WINDOWS* } 775 { JAVA } # PC Baltic
    808 ibm-850_P100-1995 { UTR22* }    ibm-850 { IBM* } IBM850 { IANA* MIME* WINDOWS JAVA } cp850 { IANA MIME WINDOWS JAVA* } 850 { IANA JAVA } csPC850Multilingual { IANA JAVA } windows-850 { WINDOWS* } # PC latin1
    809 ibm-851_P100-1995 { UTR22* }    ibm-851 { IBM* } IBM851 { IANA* } cp851 { IANA MIME* } 851 { IANA } csPC851 { IANA }             # PC DOS Greek (w/o euro)
    810 ibm-852_P100-1995 { UTR22* }    ibm-852 { IBM* } IBM852 { IANA* WINDOWS JAVA } cp852 { IANA WINDOWS JAVA* } 852 { IANA WINDOWS JAVA } csPCp852 { IANA JAVA } windows-852 { WINDOWS* } # PC latin2 (w/o euro update)
    811 ibm-855_P100-1995 { UTR22* }    ibm-855 { IBM* } IBM855 { IANA* JAVA } cp855 { IANA JAVA* } 855 { IANA } csIBM855 { IANA } csPCp855 { JAVA } windows-855 { WINDOWS* } # PC cyrillic (w/o euro update)
    812 ibm-856_P100-1995 { UTR22* }    ibm-856 { IBM* } IBM856 { JAVA } cp856 { JAVA* } 856 { JAVA }  # PC Hebrew implicit order
    813 ibm-857_P100-1995 { UTR22* }    ibm-857 { IBM* } IBM857 { IANA* MIME* WINDOWS JAVA } cp857 { IANA MIME JAVA* } 857 { IANA JAVA } csIBM857 { IANA JAVA } windows-857 { WINDOWS* }   # PC Latin 5 (w/o euro update)
    814 ibm-858_P100-1997 { UTR22* }    ibm-858 { IBM* } IBM00858 { IANA* MIME* JAVA } CCSID00858 { IANA JAVA } CP00858 { IANA JAVA } PC-Multilingual-850+euro { IANA } cp858 { MIME JAVA* } windows-858 { WINDOWS* } # PC latin1 with Euro
    815 ibm-860_P100-1995 { UTR22* }    ibm-860 { IBM* } IBM860 { IANA* MIME* JAVA } cp860 { IANA MIME JAVA* } 860 { IANA JAVA } csIBM860 { IANA JAVA }    # PC Portugal
    816 ibm-861_P100-1995 { UTR22* }    ibm-861 { IBM* } IBM861 { IANA* MIME* WINDOWS JAVA } cp861 { IANA MIME JAVA* } 861 { IANA JAVA } cp-is { IANA JAVA } csIBM861 { IANA JAVA } windows-861 { WINDOWS* } # PC Iceland
    817 ibm-862_P100-1995 { UTR22* }    ibm-862 { IBM* } IBM862 { IANA* MIME* JAVA } cp862 { IANA MIME JAVA* } 862 { IANA JAVA } csPC862LatinHebrew { IANA JAVA } DOS-862 { WINDOWS } windows-862 { WINDOWS* }    # PC Hebrew visual order (w/o euro update)
    818 ibm-863_P100-1995 { UTR22* }    ibm-863 { IBM* } IBM863 { IANA* MIME* JAVA } cp863 { IANA MIME JAVA* } 863 { IANA JAVA } csIBM863 { IANA JAVA }    # PC Canadian French
    819 ibm-864_X110-1999 { UTR22* }    ibm-864 { IBM* } IBM864 { IANA* MIME* JAVA } cp864 { IANA MIME JAVA* } csIBM864 { IANA JAVA } # PC Arabic (w/o euro update)
    820 ibm-865_P100-1995 { UTR22* }    ibm-865 { IBM* } IBM865 { IANA* MIME* JAVA } cp865 { IANA MIME JAVA* } 865 { IANA JAVA } csIBM865 { IANA JAVA }    # PC Nordic
    821 ibm-866_P100-1995 { UTR22* }    ibm-866 { IBM* } IBM866 { IANA* MIME* JAVA } cp866 { IANA MIME WINDOWS JAVA* } 866 { IANA JAVA } csIBM866 { IANA JAVA } windows-866 { WINDOWS* } # PC Russian (w/o euro update)
    822 ibm-867_P100-1998 { UTR22* }    ibm-867 { IBM* } # PC Hebrew (w/ euro update) Updated version of ibm-862
    823 ibm-868_P100-1995 { UTR22* }    ibm-868 { IBM* } IBM868 { IANA* MIME* JAVA } CP868 { IANA MIME JAVA* } 868 { JAVA } csIBM868 { IANA } cp-ar { IANA }          # PC Urdu
    824 ibm-869_P100-1995 { UTR22* }    ibm-869 { IBM* } IBM869 { IANA* MIME* WINDOWS JAVA } cp869 { IANA MIME JAVA* } 869 { IANA JAVA } cp-gr { IANA JAVA } csIBM869 { IANA JAVA } windows-869 { WINDOWS* } # PC Greek (w/o euro update)
    825 ibm-878_P100-1996 { UTR22* }    ibm-878 { IBM* } KOI8-R { IANA* MIME* WINDOWS JAVA* } koi8 { WINDOWS JAVA } csKOI8R { IANA WINDOWS JAVA } windows-20866 { WINDOWS* } cp878   # Russian internet
    826 ibm-901_P100-1999 { UTR22* }    ibm-901 { IBM* } # PC Baltic (w/ euro update), update of ibm-921
    827 ibm-902_P100-1999 { UTR22* }    ibm-902 { IBM* } # PC Estonian (w/ euro update), update of ibm-922
    828 ibm-922_P100-1999 { UTR22* }    ibm-922 { IBM* } IBM922 { JAVA } cp922 { JAVA* } 922 { JAVA } # PC Estonian (w/o euro update)
    829 ibm-1168_P100-2002 { UTR22* }   ibm-1168 { IBM* } KOI8-U { IANA* WINDOWS } windows-21866 { WINDOWS* } # Ukrainian KOI8. koi8-ru != KOI8-U and Microsoft is wrong for aliasing them as the same.
    830 ibm-4909_P100-1999 { UTR22* }   ibm-4909 { IBM* } # ISO Greek (w/ euro update), update of ibm-813
    831 
    832 # The cp aliases in this section aren't really windows aliases, but it was used by ICU for Windows.
    833 # cp is usually used to denote IBM in Java, and that is why we don't do that anymore.
    834 # The windows-* aliases mean windows codepages.
    835 ibm-5346_P100-1998 { UTR22* }   ibm-5346 { IBM* } windows-1250 { IANA* JAVA* WINDOWS* } cp1250 { WINDOWS JAVA } # Windows Latin2 (w/ euro update)
    836 ibm-5347_P100-1998 { UTR22* }   ibm-5347 { IBM* } windows-1251 { IANA* JAVA* WINDOWS* } cp1251 { WINDOWS JAVA } ANSI1251 # Windows Cyrillic (w/ euro update). ANSI1251 is from Solaris
    837 ibm-5348_P100-1997 { UTR22* }   ibm-5348 { IBM* } windows-1252 { IANA* JAVA* WINDOWS* } cp1252 { JAVA }         # Windows Latin1 (w/ euro update)
    838 ibm-5349_P100-1998 { UTR22* }   ibm-5349 { IBM* } windows-1253 { IANA* JAVA* WINDOWS* } cp1253 { JAVA }         # Windows Greek (w/ euro update)
    839 #CHROME : Make ISO-8859-9 an alias to windows-1254 per HTML5. Move
    840 #other IANA aliases for ISO-8859-9 as well.
    841 ibm-5350_P100-1998 { UTR22* }   ibm-5350 { IBM* } windows-1254 { MIME* IANA* JAVA* WINDOWS* } cp1254 { JAVA }         # Windows Turkish (w/ euro update)
    842                         ISO-8859-9 { MIME }
    843                         latin5 { IANA }
    844                         csISOLatin5 { IANA }
    845                         iso-ir-148 { IANA }
    846                         ISO_8859-9:1989 { IANA }
    847                         l5 { IANA }
    848                         8859_9 { JAVA }
    849 ibm-9447_P100-2002 { UTR22* }   ibm-9447 { IBM* } windows-1255 { IANA* JAVA* WINDOWS* } cp1255 { JAVA }         # Windows Hebrew (w/ euro update)
    850 ibm-9448_X100-2005 { UTR22* }   ibm-9448 { IBM* } windows-1256 { IANA* JAVA* WINDOWS* } cp1256 { WINDOWS JAVA } # Windows Arabic (w/ euro update)
    851 ibm-9449_P100-2002 { UTR22* }   ibm-9449 { IBM* } windows-1257 { IANA* JAVA* WINDOWS* } cp1257 { JAVA }         # Windows Baltic (w/ euro update)
    852 ibm-5354_P100-1998 { UTR22* }   ibm-5354 { IBM* } windows-1258 { IANA* JAVA* WINDOWS* } cp1258 { JAVA }         # Windows Vietnamese (w/ euro update)
    853 
    854 # These tables are out of date, and most don't have the Euro
    855 # Leave the windows- variants untagged. They are alternate tables of the newer ones above.
    856 ibm-1250_P100-1995 { UTR22* }   ibm-1250 { IBM* } windows-1250  # Old Windows Latin2 (w/o euro update)
    857 ibm-1251_P100-1995 { UTR22* }   ibm-1251 { IBM* } windows-1251  # Old Windows Cyrillic (w/o euro update)
    858 ibm-1252_P100-2000 { UTR22* }   ibm-1252 { IBM* } windows-1252  # Old Windows Latin 1 without Euro
    859 ibm-1253_P100-1995 { UTR22* }   ibm-1253 { IBM* } windows-1253  # Old Windows Greek (w/o euro update)
    860 ibm-1254_P100-1995 { UTR22* }   ibm-1254 { IBM* } windows-1254  # Old Windows Turkish (w/o euro update)
    861 ibm-1255_P100-1995 { UTR22* }   ibm-1255 { IBM* }               # Very old Windows Hebrew (w/o euro update)
    862 ibm-5351_P100-1998 { UTR22* }   ibm-5351 { IBM* } windows-1255  # Old Windows Hebrew (w/ euro update)
    863 ibm-1256_P110-1997 { UTR22* }   ibm-1256 { IBM* }               # Old Windows Arabic (w/o euro update)
    864 ibm-5352_P100-1998 { UTR22* }   ibm-5352 { IBM* } windows-1256  # Somewhat old Windows Arabic (w/ euro update)
    865 ibm-1257_P100-1995 { UTR22* }   ibm-1257 { IBM* }               # Old Windows Baltic (w/o euro update)
    866 ibm-5353_P100-1998 { UTR22* }   ibm-5353 { IBM* } windows-1257  # Somewhat old Windows Baltic (w/ euro update)
    867 ibm-1258_P100-1997 { UTR22* }   ibm-1258 { IBM* } windows-1258  # Old Windows Vietnamese (w/o euro update)
    868 
    869 macos-0_2-10.2 { UTR22* }       macintosh { IANA* MIME* WINDOWS } mac { IANA } csMacintosh { IANA } windows-10000 { WINDOWS* } macroman { JAVA } x-macroman { JAVA* } # Apple latin 1
    870 macos-6_2-10.4 { UTR22* }       x-mac-greek { MIME* WINDOWS } windows-10006 { WINDOWS* } macgr           # Apple Greek
    871 macos-7_3-10.2 { UTR22* }       x-mac-cyrillic { MIME* WINDOWS } windows-10007 { WINDOWS* } mac-cyrillic maccy # Apple Cyrillic
    872 macos-29-10.2 { UTR22* }        x-mac-centraleurroman { MIME* } windows-10029 { WINDOWS* } x-mac-ce { WINDOWS } macce maccentraleurope  # Apple Central Europe
    873 macos-35-10.2 { UTR22* }        x-mac-turkish { MIME* WINDOWS } windows-10081 { WINDOWS* } mactr         # Apple Turkish
    874 
    875 ibm-1051_P100-1995 { UTR22* }   ibm-1051 { IBM* } hp-roman8 { IANA* } roman8 { IANA } r8 { IANA } csHPRoman8 { IANA }   # HP Latin1
    876 ibm-1276_P100-1995 { UTR22* }   ibm-1276 { IBM* } Adobe-Standard-Encoding { IANA* } csAdobeStandardEncoding { IANA } # Different from ISO-Unicode-IBM-1276 (GCSGID: 1276)
    877 
    878 ibm-1006_P100-1995 { UTR22* }   ibm-1006 { IBM* } IBM1006 { JAVA } cp1006 { JAVA* } 1006 { JAVA }   # Urdu
    879 ibm-1098_P100-1995 { UTR22* }   ibm-1098 { IBM* } IBM1098 { JAVA } cp1098 { JAVA* } 1098 { JAVA }   # PC Farsi
    880 ibm-1124_P100-1996 { UTR22* }   ibm-1124 { IBM* JAVA } cp1124 { JAVA* } 1124 { JAVA }   # ISO Cyrillic Ukraine
    881 ibm-1125_P100-1997 { UTR22* }   ibm-1125 { IBM* } cp1125                                # Cyrillic Ukraine PC
    882 ibm-1129_P100-1997 { UTR22* }   ibm-1129 { IBM* }                                       # ISO Vietnamese
    883 ibm-1131_P100-1997 { UTR22* }   ibm-1131 { IBM* } cp1131                                # Cyrillic Belarus PC
    884 ibm-1133_P100-1997 { UTR22* }   ibm-1133 { IBM* }                                       # ISO Lao
    885 
    886 
    887 # Partially algorithmic converters
    888 
    889 # [U_ENABLE_GENERIC_ISO_2022]
    890 # The _generic_ ISO-2022 converter is disabled starting 2003-dec-03 (ICU 2.8).
    891 # For details see the icu mailing list from 2003-dec-01 and the ucnv2022.c file.
    892 # Language-specific variants of ISO-2022 continue to be available as listed below.
    893 # ISO_2022                         ISO-2022
    894 
    895 ISO_2022,locale=ja,version=0    ISO-2022-JP { IANA* MIME* JAVA* } csISO2022JP { IANA JAVA }
    896 ISO_2022,locale=ja,version=1    ISO-2022-JP-1 { MIME* } JIS_Encoding { IANA* } csJISEncoding { IANA } ibm-5054 { IBM* } JIS
    897 ISO_2022,locale=ja,version=2    ISO-2022-JP-2 { IANA* MIME* } csISO2022JP2 { IANA }
    898 ISO_2022,locale=ja,version=3    JIS7
    899 ISO_2022,locale=ja,version=4    JIS8
    900 ISO_2022,locale=ko,version=0    ISO-2022-KR { IANA* MIME* JAVA* } csISO2022KR { IANA JAVA } # This uses ibm-949
    901 ISO_2022,locale=ko,version=1    ibm-25546 { IBM* }
    902 ISO_2022,locale=zh,version=0    ISO-2022-CN { IANA* JAVA* } csISO2022CN { JAVA }
    903 ISO_2022,locale=zh,version=1    ISO-2022-CN-EXT { IANA* }
    904 HZ                              HZ-GB-2312 { IANA* }
    905 
    906 ISCII,version=0         x-iscii-de { WINDOWS } windows-57002 { WINDOWS* } iscii-dev ibm-4902 { IBM* } # ibm-806 contains non-standard box drawing symbols.
    907 ISCII,version=1         x-iscii-be { WINDOWS } windows-57003 { WINDOWS* } iscii-bng windows-57006 { WINDOWS } x-iscii-as { WINDOWS } # be is different from as on Windows.
    908 ISCII,version=2         x-iscii-pa { WINDOWS } windows-57011 { WINDOWS* } iscii-gur
    909 ISCII,version=3         x-iscii-gu { WINDOWS } windows-57010 { WINDOWS* } iscii-guj
    910 ISCII,version=4         x-iscii-or { WINDOWS } windows-57007 { WINDOWS* } iscii-ori
    911 ISCII,version=5         x-iscii-ta { WINDOWS } windows-57004 { WINDOWS* } iscii-tml
    912 ISCII,version=6         x-iscii-te { WINDOWS } windows-57005 { WINDOWS* } iscii-tlg
    913 ISCII,version=7         x-iscii-ka { WINDOWS } windows-57008 { WINDOWS* } iscii-knd
    914 ISCII,version=8         x-iscii-ma { WINDOWS } windows-57009 { WINDOWS* } iscii-mlm
    915 
    916 # Lotus specific
    917 LMBCS-1                 lmbcs ibm-65025 { IBM* }
    918 
    919 # These Lotus specific converters still work, but they aren't advertised in this alias table.
    920 # These are almost never used outside of Lotus software,
    921 # and they take a lot of time when creating the available converter list.
    922 # Also Lotus doesn't really use them anyway. It was a mistake to create these LMBCS variant converters in ICU.
    923 #LMBCS-2
    924 #LMBCS-3
    925 #LMBCS-4
    926 #LMBCS-5
    927 #LMBCS-6
    928 #LMBCS-8
    929 #LMBCS-11
    930 #LMBCS-16
    931 #LMBCS-17
    932 #LMBCS-18
    933 #LMBCS-19
    934 
    935 # EBCDIC codepages according to the CDRA
    936 
    937 # without Euro
    938 ibm-37_P100-1995 { UTR22* }              # EBCDIC US
    939                         ibm-37 { IBM* }
    940                         IBM037 { IANA* JAVA }
    941                         ibm-037 # { JAVA }
    942                         ebcdic-cp-us { IANA JAVA }
    943                         ebcdic-cp-ca { IANA JAVA }
    944                         ebcdic-cp-wt { IANA JAVA }
    945                         ebcdic-cp-nl { IANA JAVA }
    946                         csIBM037 { IANA JAVA }
    947                         cp037 { JAVA* }
    948                         037 { JAVA }
    949                         cpibm37 { JAVA }
    950                         cp37
    951 
    952 ibm-273_P100-1995 { UTR22* }    ibm-273 { IBM* } IBM273 { IANA* JAVA } CP273 { IANA JAVA* } csIBM273 { IANA } ebcdic-de 273 { JAVA }                 # EBCDIC Germanay, Austria
    953 ibm-277_P100-1995 { UTR22* }    ibm-277 { IBM* } IBM277 { IANA* JAVA } cp277 { JAVA* } EBCDIC-CP-DK { IANA } EBCDIC-CP-NO { IANA } csIBM277 { IANA } ebcdic-dk 277 { JAVA } # EBCDIC Denmark
    954 ibm-278_P100-1995 { UTR22* }    ibm-278 { IBM* } IBM278 { IANA* JAVA } cp278 { JAVA* } ebcdic-cp-fi { IANA } ebcdic-cp-se { IANA } csIBM278 { IANA } ebcdic-sv { JAVA } 278 { JAVA } # EBCDIC Sweden
    955 ibm-280_P100-1995 { UTR22* }    ibm-280 { IBM* } IBM280 { IANA* JAVA } CP280 { IANA JAVA* } ebcdic-cp-it { IANA } csIBM280 { IANA } 280 { JAVA }     # EBCDIC Italy
    956 ibm-284_P100-1995 { UTR22* }    ibm-284 { IBM* } IBM284 { IANA* JAVA } CP284 { IANA JAVA* } ebcdic-cp-es { IANA } csIBM284 { IANA } cpibm284 { JAVA } 284 { JAVA }       # EBCDIC Spain
    957 ibm-285_P100-1995 { UTR22* }    ibm-285 { IBM* } IBM285 { IANA* JAVA } CP285 { IANA JAVA* } ebcdic-cp-gb { IANA } csIBM285 { IANA } cpibm285 { JAVA } ebcdic-gb { JAVA } 285 { JAVA } # EBCDIC UK Ireland
    958 ibm-290_P100-1995 { UTR22* }    ibm-290 { IBM* } IBM290 { IANA* } cp290 { IANA } EBCDIC-JP-kana { IANA } csIBM290 { IANA } # host SBCS (Katakana)
    959 ibm-297_P100-1995 { UTR22* }    ibm-297 { IBM* } IBM297 { IANA* JAVA } cp297 { IANA JAVA* } ebcdic-cp-fr { IANA } csIBM297 { IANA } cpibm297 { JAVA } 297 { JAVA }     # EBCDIC France
    960 ibm-420_X120-1999 { UTR22* }    ibm-420 { IBM* } IBM420 { IANA* JAVA } cp420 { IANA JAVA* } ebcdic-cp-ar1 { IANA } csIBM420 { IANA } 420 { JAVA }    # EBCDIC Arabic (all presentation shapes)
    961 ibm-424_P100-1995 { UTR22* }    ibm-424 { IBM* } IBM424 { IANA* JAVA } cp424 { IANA JAVA* } ebcdic-cp-he { IANA } csIBM424 { IANA } 424 { JAVA }     # EBCDIC Hebrew
    962 ibm-500_P100-1995 { UTR22* }    ibm-500 { IBM* } IBM500 { IANA* JAVA } CP500 { IANA JAVA* } ebcdic-cp-be { IANA } csIBM500 { IANA } ebcdic-cp-ch { IANA } 500   # EBCDIC International Latin1
    963 ibm-803_P100-1999 { UTR22* }    ibm-803 { IBM* } cp803   # Old EBCDIC Hebrew
    964 ibm-838_P100-1995 { UTR22* }    ibm-838 { IBM* } IBM838 { JAVA } IBM-Thai { IANA* JAVA } csIBMThai { IANA } cp838 { JAVA* } 838 { JAVA } ibm-9030 { IBM }   # EBCDIC Thai. Yes ibm-9030 is an alias.
    965 ibm-870_P100-1995 { UTR22* }    ibm-870 { IBM* } IBM870 { IANA* JAVA } CP870 { IANA JAVA* } ebcdic-cp-roece { IANA } ebcdic-cp-yu { IANA } csIBM870 { IANA }    # EBCDIC Latin 2 
    966 ibm-871_P100-1995 { UTR22* }    ibm-871 { IBM* } IBM871 { IANA* JAVA } ebcdic-cp-is { IANA JAVA } csIBM871 { IANA JAVA } CP871 { IANA JAVA* } ebcdic-is { JAVA } 871 { JAVA }     # EBCDIC Iceland
    967 ibm-875_P100-1995 { UTR22* }    ibm-875 { IBM* } IBM875 { JAVA } cp875 { JAVA* } 875 { JAVA } # EBCDIC Greek
    968 ibm-918_P100-1995 { UTR22* }    ibm-918 { IBM* } IBM918 { IANA* JAVA } CP918 { IANA JAVA* } ebcdic-cp-ar2 { IANA } csIBM918 { IANA }        # EBCDIC Urdu
    969 ibm-930_P120-1999 { UTR22* }    # EBCDIC_STATEFUL Katakana-Kanji Host Mixed.
    970                         ibm-930 { IBM* }
    971                         ibm-5026 { IBM } # Yes this is correct
    972                         IBM930 { JAVA }
    973                         cp930 { JAVA* }
    974                         930 { JAVA }
    975 ibm-933_P110-1995 { UTR22* }    ibm-933 { IBM* JAVA } cp933 { JAVA* } 933 { JAVA } # Korea EBCDIC MIXED
    976 ibm-935_P110-1999 { UTR22* }    ibm-935 { IBM* JAVA } cp935 { JAVA* } 935 { JAVA } # China EBCDIC MIXED. Need to use Unicode, ibm-1388 or gb18030 instead because it is required by the government of China.
    977 ibm-937_P110-1999 { UTR22* }    ibm-937 { IBM* JAVA } cp937 { JAVA* } 937 { JAVA } # Taiwan EBCDIC MIXED
    978 ibm-939_P120-1999 { UTR22* }    # EBCDIC_STATEFUL Latin-Kanji Host Mixed.
    979                         ibm-939 { IBM* }
    980                         ibm-931 { IBM }     # Yes this is correct
    981                         ibm-5035 { IBM }    # Yes this is also correct
    982                         IBM939 { JAVA }
    983                         cp939 { JAVA* }
    984                         939 { JAVA }
    985 ibm-1025_P100-1995 { UTR22* }   ibm-1025 { IBM* JAVA } cp1025 { JAVA* } 1025 { JAVA }   # EBCDIC Cyrillic
    986 ibm-1026_P100-1995 { UTR22* }   ibm-1026 { IBM* } IBM1026 { IANA* JAVA } CP1026 { IANA JAVA* } csIBM1026 { IANA } 1026 { JAVA } # EBCDIC Turkey 
    987 ibm-1047_P100-1995 { UTR22* }   ibm-1047 { IBM* } IBM1047 { IANA* JAVA } cp1047 { JAVA* } 1047 { JAVA } # EBCDIC Open systems Latin1
    988 ibm-1097_P100-1995 { UTR22* }   ibm-1097 { IBM* JAVA } cp1097 { JAVA* } 1097 { JAVA }   # EBCDIC Farsi
    989 ibm-1112_P100-1995 { UTR22* }   ibm-1112 { IBM* JAVA } cp1112 { JAVA* } 1112 { JAVA }   # EBCDIC Baltic
    990 ibm-1122_P100-1999 { UTR22* }   ibm-1122 { IBM* JAVA } cp1122 { JAVA* } 1122 { JAVA }   # EBCDIC Estonia 
    991 ibm-1123_P100-1995 { UTR22* }   ibm-1123 { IBM* JAVA } cp1123 { JAVA* } 1123 { JAVA }   # EBCDIC Cyrillic Ukraine
    992 ibm-1130_P100-1997 { UTR22* }   ibm-1130 { IBM* }       # EBCDIC Vietnamese
    993 ibm-1132_P100-1998 { UTR22* }   ibm-1132 { IBM* }       # EBCDIC Lao
    994 ibm-1137_P100-1999 { UTR22* }   ibm-1137 { IBM* }       # Devanagari EBCDIC (based on Unicode character set)
    995 ibm-4517_P100-2005 { UTR22* }   ibm-4517 { IBM* }       # EBCDIC Arabic. Update of ibm-421
    996 
    997 # with Euro
    998 ibm-1140_P100-1997 { UTR22* }   ibm-1140 { IBM* } IBM01140 { IANA* JAVA } CCSID01140 { IANA JAVA } CP01140 { IANA JAVA } cp1140 { JAVA* } ebcdic-us-37+euro { IANA } # EBCDIC US
    999 ibm-1141_P100-1997 { UTR22* }   ibm-1141 { IBM* } IBM01141 { IANA* JAVA } CCSID01141 { IANA JAVA } CP01141 { IANA JAVA } cp1141 { JAVA* } ebcdic-de-273+euro { IANA } # EBCDIC Germanay, Austria
   1000 ibm-1142_P100-1997 { UTR22* }   ibm-1142 { IBM* } IBM01142 { IANA* JAVA } CCSID01142 { IANA JAVA } CP01142 { IANA JAVA } cp1142 { JAVA* } ebcdic-dk-277+euro { IANA } ebcdic-no-277+euro { IANA } # EBCDIC Denmark
   1001 ibm-1143_P100-1997 { UTR22* }   ibm-1143 { IBM* } IBM01143 { IANA* JAVA } CCSID01143 { IANA JAVA } CP01143 { IANA JAVA } cp1143 { JAVA* } ebcdic-fi-278+euro { IANA } ebcdic-se-278+euro { IANA } # EBCDIC Sweden
   1002 ibm-1144_P100-1997 { UTR22* }   ibm-1144 { IBM* } IBM01144 { IANA* JAVA } CCSID01144 { IANA JAVA } CP01144 { IANA JAVA } cp1144 { JAVA* } ebcdic-it-280+euro { IANA } # EBCDIC Italy
   1003 ibm-1145_P100-1997 { UTR22* }   ibm-1145 { IBM* } IBM01145 { IANA* JAVA } CCSID01145 { IANA JAVA } CP01145 { IANA JAVA } cp1145 { JAVA* } ebcdic-es-284+euro { IANA } # EBCDIC Spain
   1004 ibm-1146_P100-1997 { UTR22* }   ibm-1146 { IBM* } IBM01146 { IANA* JAVA } CCSID01146 { IANA JAVA } CP01146 { IANA JAVA } cp1146 { JAVA* } ebcdic-gb-285+euro { IANA } # EBCDIC UK Ireland
   1005 ibm-1147_P100-1997 { UTR22* }   ibm-1147 { IBM* } IBM01147 { IANA* JAVA } CCSID01147 { IANA JAVA } CP01147 { IANA JAVA } cp1147 { JAVA* } ebcdic-fr-297+euro { IANA } # EBCDIC France
   1006 ibm-1148_P100-1997 { UTR22* }   ibm-1148 { IBM* } IBM01148 { IANA* JAVA } CCSID01148 { IANA JAVA } CP01148 { IANA JAVA } cp1148 { JAVA* } ebcdic-international-500+euro { IANA } # EBCDIC International Latin1
   1007 ibm-1149_P100-1997 { UTR22* }   ibm-1149 { IBM* } IBM01149 { IANA* JAVA } CCSID01149 { IANA JAVA } CP01149 { IANA JAVA } cp1149 { JAVA* } ebcdic-is-871+euro { IANA } # EBCDIC Iceland
   1008 ibm-1153_P100-1999 { UTR22* }   ibm-1153 { IBM* }                   # EBCDIC latin 2
   1009 ibm-1154_P100-1999 { UTR22* }   ibm-1154 { IBM* }                   # EBCDIC Cyrillic Multilingual
   1010 ibm-1155_P100-1999 { UTR22* }   ibm-1155 { IBM* }                   # EBCDIC Turkey
   1011 ibm-1156_P100-1999 { UTR22* }   ibm-1156 { IBM* }                   # EBCDIC Baltic Multilingual
   1012 ibm-1157_P100-1999 { UTR22* }   ibm-1157 { IBM* }                   # EBCDIC Estonia
   1013 ibm-1158_P100-1999 { UTR22* }   ibm-1158 { IBM* }                   # EBCDIC Cyrillic Ukraine
   1014 ibm-1160_P100-1999 { UTR22* }   ibm-1160 { IBM* }                   # EBCDIC Thailand
   1015 ibm-1164_P100-1999 { UTR22* }   ibm-1164 { IBM* }                   # EBCDIC Viet Nam
   1016 ibm-1364_P110-2007 { UTR22* }   ibm-1364 { IBM* }                   # Korean Host Mixed
   1017 ibm-1371_P100-1999 { UTR22* }   ibm-1371 { IBM* }                   # Taiwan EBCDIC MIXED (Euro update of ibm-937)
   1018 ibm-1388_P103-2001 { UTR22* }   ibm-1388 { IBM* } ibm-9580 { IBM }  # S-Ch DBCS-Host Data GBK EBCDIC_STATEFUL. Yes ibm-9580 is an alias.
   1019 ibm-1390_P110-2003 { UTR22* }   ibm-1390 { IBM* }                   # Japan EBCDIC MIXED (JIS X 0213)
   1020 ibm-1399_P110-2003 { UTR22* }   ibm-1399 { IBM* }                   # Host MBCS (Latin-Kanji) (JIS X 0213)
   1021 ibm-5123_P100-1999 { UTR22* }   ibm-5123 { IBM* }                   # Host Roman Jis. Euro update of ibm-1027. SBCS portion of ibm-1390.
   1022 ibm-8482_P100-1999 { UTR22* }   ibm-8482 { IBM* }                   # host SBCS (Katakana). Euro update of ibm-290. SBCS portion of ibm-1399.
   1023 # Yes ibm-20780 is the same as ibm-16684
   1024 ibm-16684_P110-2003 { UTR22* }  ibm-16684 { IBM* } ibm-20780 { IBM } # DBCS Jis + Roman Jis Host. This is the DBCS portion of ibm-1390 and ibm-1399 (JIS X 0213).
   1025 ibm-4899_P100-1998 { UTR22* }   ibm-4899 { IBM* }                   # Old EBCDIC Hebrew. Update of ibm-803
   1026 ibm-4971_P100-1999 { UTR22* }   ibm-4971 { IBM* }                   # EBCDIC Greek. Update of ibm-875 and superceded by ibm-9067
   1027 ibm-9067_X100-2005 { UTR22* }   ibm-9067 { IBM* }                   # EBCDIC Greek. Update of ibm-875 and ibm-4971
   1028 ibm-12712_P100-1998 { UTR22* }  ibm-12712 { IBM* } ebcdic-he        # EBCDIC Hebrew (new sheqel, control charaters update). Update of ibm-424
   1029 ibm-16804_X110-1999 { UTR22* }  ibm-16804 { IBM* } ebcdic-ar        # EBCDIC Arabic. Update of ibm-420
   1030 
   1031 
   1032 # EBCDIC codepages for S/390, with LF and NL codes swapped
   1033 # Starting with ICU 2.4, the swapping is done by modifying the
   1034 # normal tables at runtime instead of at build time.
   1035 # Append UCNV_SWAP_LFNL_OPTION_STRING to the "ibm-CCSID" name to select this.
   1036 #
   1037 # Example: "ibm-1047,swaplfnl" or "ibm-1047" UCNV_SWAP_LFNL_OPTION_STRING
   1038 #
   1039 # This avoids the duplication of all EBCDIC SBCS and mixed-SBCS/DBCS
   1040 # mapping files.
   1041 
   1042 # Some examples below for declaring old-style, obsolete aliases with the "-s390"
   1043 # suffix to map to the new-style, recommended names with the option added.
   1044 # These are listed here for backward compatibility.
   1045 # Do not use these; instead use the normal converter name with the option
   1046 # added as recommended above.
   1047 
   1048 # Note: It is not possible to define an alias (non-initial name in a line here)
   1049 # that itself contains a converter option like this one for swapping LF<->NL.
   1050 # Such names would never be found because ucnv_open() will first parse and strip
   1051 # options before looking up a name in this table.
   1052 # ucnv_open() then parses the lookup result (the canonical name on the left
   1053 # in lines here) as well.
   1054 
   1055 # This also means that it is not necessary to add anything to convrtrs.txt
   1056 # for converter names like "ibm-1026,swaplfnl" to work -
   1057 # they are already covered by the normal option parsing together with the
   1058 # regular, option-less alias elsewhere in this file.
   1059 
   1060 ibm-37_P100-1995,swaplfnl     ibm-37-s390 # ibm037-s390 also matches ibm-37-s390
   1061 ibm-1047_P100-1995,swaplfnl   ibm-1047-s390
   1062 ibm-1140_P100-1997,swaplfnl   ibm-1140-s390
   1063 ibm-1142_P100-1997,swaplfnl   ibm-1142-s390
   1064 ibm-1143_P100-1997,swaplfnl   ibm-1143-s390
   1065 ibm-1144_P100-1997,swaplfnl   ibm-1144-s390
   1066 ibm-1145_P100-1997,swaplfnl   ibm-1145-s390
   1067 ibm-1146_P100-1997,swaplfnl   ibm-1146-s390
   1068 ibm-1147_P100-1997,swaplfnl   ibm-1147-s390
   1069 ibm-1148_P100-1997,swaplfnl   ibm-1148-s390
   1070 ibm-1149_P100-1997,swaplfnl   ibm-1149-s390
   1071 ibm-1153_P100-1999,swaplfnl   ibm-1153-s390
   1072 ibm-12712_P100-1998,swaplfnl  ibm-12712-s390
   1073 ibm-16804_X110-1999,swaplfnl  ibm-16804-s390
   1074 
   1075 # This is a special version of ibm-1140 that the XML4C (Xerces) parser team
   1076 # requested in 2000.
   1077 # It maps both EBCDIC LF and NL controls to Unicode LF U+000A.
   1078 
   1079 ebcdic-xml-us
   1080 
   1081 # These are not installed by default. They are rarely used.
   1082 # Many of them can be added through the online ICU Data Library Customization tool
   1083 
   1084 gsm-03.38-2000 { UTR22* }   GSM0338 # GSM0338 alias is from Perl
   1085 ibm-1004_P100-1995 { UTR22* }   ibm-1004 { IBM* }
   1086 ibm-1008_P100-1995 { UTR22* }   ibm-1008 { IBM* } # cp1008, 8-bit Arabic (w/o euro update)
   1087 ibm-1009_P100-1995 { UTR22* }   ibm-1009 { IBM* }
   1088 ibm-1010_P100-1995 { UTR22* }   ibm-1010 { IBM* } NF_Z_62-010 { IANA* } iso-ir-69 { IANA } ISO646-FR { IANA } fr { IANA } csISO69French { IANA }
   1089 ibm-1011_P100-1995 { UTR22* }   ibm-1011 { IBM* } DIN_66003 { IANA* } iso-ir-21 { IANA } de { IANA } ISO646-DE { IANA } csISO21German { IANA }
   1090 ibm-1012_P100-1995 { UTR22* }   ibm-1012 { IBM* } IT { IANA* } iso-ir-15 { IANA } ISO646-IT { IANA } csISO15Italian { IANA }
   1091 ibm-1013_P100-1995 { UTR22* }   ibm-1013 { IBM* } BS_4730 { IANA* } iso-ir-4 { IANA } ISO646-GB { IANA } gb { IANA } uk { IANA } csISO4UnitedKingdom { IANA }
   1092 ibm-1014_P100-1995 { UTR22* }   ibm-1014 { IBM* } ES2 { IANA* } iso-ir-85 { IANA } ISO646-ES2 { IANA } csISO85Spanish2 { IANA }
   1093 ibm-1015_P100-1995 { UTR22* }   ibm-1015 { IBM* } PT2 { IANA* } iso-ir-84 { IANA } ISO646-PT2 { IANA } csISO84Portuguese2 { IANA }
   1094 ibm-1016_P100-1995 { UTR22* }   ibm-1016 { IBM* } NS_4551-1 { IANA* } iso-ir-60 { IANA } ISO646-NO { IANA } no { IANA } csISO60DanishNorwegian { IANA } csISO60Norwegian1 { IANA }
   1095 ibm-1017_P100-1995 { UTR22* }   ibm-1017 { IBM* }
   1096 ibm-1018_P100-1995 { UTR22* }   ibm-1018 { IBM* } SEN_850200_B { IANA* } iso-ir-10 { IANA } FI { IANA } ISO646-FI { IANA } ISO646-SE { IANA } se { IANA } csISO10Swedish { IANA }
   1097 ibm-1019_P100-1995 { UTR22* }   ibm-1019 { IBM* }
   1098 ibm-1020_P100-2003 { UTR22* }   ibm-1020 { IBM* } CSA_Z243.4-1985-1 { IANA* } iso-ir-121 { IANA } ISO646-CA { IANA } csa7-1 { IANA } ca { IANA } csISO121Canadian1 { IANA }
   1099 ibm-1021_P100-2003 { UTR22* }   ibm-1021 { IBM* }
   1100 ibm-1023_P100-2003 { UTR22* }   ibm-1023 { IBM* } ES { IANA* } iso-ir-17 { IANA } ISO646-ES { IANA } csISO17Spanish { IANA }
   1101 ibm-1046_X110-1999 { UTR22* }   ibm-1046 { IBM* } # Arabic
   1102 ibm-1100_P100-2003 { UTR22* }   ibm-1100 { IBM* } DEC-MCS { IANA* } dec { IANA } csDECMCS { IANA }
   1103 ibm-1101_P100-2003 { UTR22* }   ibm-1101 { IBM* }
   1104 ibm-1102_P100-2003 { UTR22* }   ibm-1102 { IBM* }
   1105 ibm-1103_P100-2003 { UTR22* }   ibm-1103 { IBM* }
   1106 ibm-1104_P100-2003 { UTR22* }   ibm-1104 { IBM* } NF_Z_62-010_1973 iso-ir-25 { IANA* } ISO646-FR1 { IANA } csISO25French { IANA } # NF_Z_62-010_(1973) is the real IANA alias, but () aren't invariant characters.
   1107 ibm-1105_P100-2003 { UTR22* }   ibm-1105 { IBM* }
   1108 ibm-1106_P100-2003 { UTR22* }   ibm-1106 { IBM* }
   1109 ibm-1107_P100-2003 { UTR22* }   ibm-1107 { IBM* } DS_2089 { IANA* } ISO646-DK { IANA } dk { IANA } csISO646Danish { IANA }
   1110 ibm-1127_P100-2004 { UTR22* }   ibm-1127 { IBM* }
   1111 ibm-1161_P100-1999 { UTR22* }   ibm-1161 { IBM* } # Thai (Euro update of ibm-1129)
   1112 ibm-1163_P100-1999 { UTR22* }   ibm-1163 { IBM* } # Vietnamese
   1113 ibm-1165_P101-2000 { UTR22* }   ibm-1165 { IBM* } # Vietnamese (EBCDIC)
   1114 ibm-1166_P100-2002 { UTR22* }   ibm-1166 { IBM* } # Cyrillic for Kazakhstan
   1115 ibm-1167_P100-2002 { UTR22* }   ibm-1167 { IBM* } KOI8-RU
   1116 ibm-1174_X100-2007 { UTR22* }   ibm-1174 { IBM* } KZ-1048 { IANA* } STRK1048-2002 { IANA } RK1048 { IANA } csKZ1048 { IANA }
   1117 ibm-1277_P100-1995 { UTR22* }   ibm-1277 { IBM* } # Adobe (Postscript) Latin-1
   1118 ibm-13125_P100-1997 { UTR22* }  ibm-13125 { IBM* } # S-Ch (DBCS subset of ibm-4933, ibm-1388)
   1119 ibm-13140_P101-2000 { UTR22* }  ibm-13140 { IBM* }
   1120 ibm-13218_P100-1996 { UTR22* }  ibm-13218 { IBM* } # Japanese (EBCDIC update of ibm-930)
   1121 ibm-1350_P110-1997 { UTR22* }   ibm-1350 { IBM* } # Japanese (EUC-JP variant)
   1122 ibm-1351_P110-1997 { UTR22* }   ibm-1351 { IBM* } # Japanese (DBCS subset of ibm-5039)
   1123 ibm-1362_P110-1999 { UTR22* }   ibm-1362 { IBM* } # Korean (DBCS subset of ibm-1363)
   1124 ibm-13676_P102-2001 { UTR22* }  ibm-13676 { IBM* } # Simplified Chinese (EBCDIC)
   1125 ibm-1380_P100-1995 { UTR22* }   ibm-1380 { IBM* } # Simplified Chinese (DBCS subset of ibm-1381)
   1126 ibm-1381_P110-1999 { UTR22* }   ibm-1381 { IBM* JAVA } cp1381 { JAVA* } 1381 { JAVA }   # Simplified Chinese PC Data mixed (IBM GB) 
   1127 ibm-1382_P100-1995 { UTR22* }   ibm-1382 { IBM* } # Simplified Chinese (DBCS subset of ibm-1383)
   1128 ibm-17221_P100-2001 { UTR22* }  ibm-17221 { IBM* } # Simplified Chinese (EBCDIC)
   1129 ibm-17248_X110-1999 { UTR22* }  ibm-17248 { IBM* } # PC Arabic (w/ euro update) Updated version of ibm-864
   1130 ibm-21344_P101-2000 { UTR22* }  ibm-21344 { IBM* } # PC Arabic. Updated version of ibm-864
   1131 ibm-21427_P100-1999 { UTR22* }  ibm-21427 { IBM* } # Traditional Chinese (DBCS subset of ibm-1370)
   1132 ibm-256_P100-1995 { UTR22* }    ibm-256 { IBM* } # Latin 1 EBCDIC
   1133 ibm-259_P100-1995 { UTR22* }    ibm-259 { IBM* } IBM-Symbols { IANA* } csIBMSymbols { IANA }
   1134 ibm-274_P100-2000 { UTR22* }    ibm-274 { IBM* } IBM274 { IANA* } EBCDIC-BE { IANA } CP274 { IANA } csIBM274 { IANA }
   1135 ibm-275_P100-1995 { UTR22* }    ibm-275 { IBM* } IBM275 { IANA* } EBCDIC-BR { IANA } cp275 { IANA } csIBM275 { IANA }
   1136 ibm-286_P100-2003 { UTR22* }    ibm-286 { IBM* } EBCDIC-AT-DE-A { IANA* } csEBCDICATDEA { IANA }
   1137 ibm-293_P100-1995 { UTR22* }    ibm-293 { IBM* } # APL EBCDIC (APL: A Programming Language)
   1138 ibm-300_P120-2006 { UTR22* }    ibm-300 { IBM* } # Japanese (DBCS subset of ibm-930 and ibm-939)
   1139 ibm-301_P110-1997 { UTR22* }    ibm-301 { IBM* } # Japanese (DBCS subset of ibm-943)
   1140 ibm-33058_P100-2000 { UTR22* }  ibm-33058 { IBM* } # SBCS (Katakana)
   1141 ibm-425_P101-2000 { UTR22* }    ibm-425 { IBM* } # Arabic (EBCDIC)
   1142 ibm-4930_P110-1999 { UTR22* }   ibm-4930 { IBM* } # Korean (DBCS subset of ibm-1364)
   1143 ibm-4933_P100-2002 { UTR22* }   ibm-4933 { IBM* } # S-Ch (DBCS subset of ibm-1388)
   1144 ibm-4948_P100-1995 { UTR22* }   ibm-4948 { IBM* }
   1145 ibm-4951_P100-1995 { UTR22* }   ibm-4951 { IBM* }
   1146 ibm-4952_P100-1995 { UTR22* }   ibm-4952 { IBM* }
   1147 ibm-4960_P100-1995 { UTR22* }   ibm-4960 { IBM* }
   1148 ibm-5039_P11A-1998 { UTR22* }   ibm-5039 { IBM* } # Japanese (HP Shift-JIS variant)
   1149 ibm-5048_P100-1995 { UTR22* }   ibm-5048 { IBM* } # Japanese (DBCS subset of ibm-1350, JIS X208-1990)
   1150 ibm-5049_P100-1995 { UTR22* }   ibm-5049 { IBM* } # Japanese (DBCS subset of ibm-1350, JIS X212)
   1151 ibm-5067_P100-1995 { UTR22* }   ibm-5067 { IBM* } # Korean (DBCS subset of ibm-21450)
   1152 ibm-5104_X110-1999 { UTR22* }   ibm-5104 { IBM* } # cp1008, 8-bit Arabic (w/ euro update)
   1153 ibm-806_P100-1998 { UTR22* }    ibm-806 { IBM* } # Hindi (ISCII variant)
   1154 ibm-808_P100-1999 { UTR22* }    ibm-808 { IBM* } # Cyrillic
   1155 ibm-834_P100-1995 { UTR22* }    ibm-834 { IBM* } # Korean (DBCS subset of ibm-933)
   1156 ibm-835_P100-1995 { UTR22* }    ibm-835 { IBM* } # Traditional Chinese (DBCS subset of ibm-5033)
   1157 ibm-837_P100-1995 { UTR22* }    ibm-837 { IBM* } # Simplified Chinese (DBCS subset of ibm-5031)
   1158 ibm-848_P100-1999 { UTR22* }    ibm-848 { IBM* } # Cyrillic (euro update of ibm-1125)
   1159 ibm-849_P100-1999 { UTR22* }    ibm-849 { IBM* } # Cyrillic Belarus (euro update of ibm-1131)
   1160 ibm-859_P100-1999 { UTR22* }    ibm-859 { IBM* } # PC Latin 9 (w/ euro update)
   1161 ibm-8612_P100-1995 { UTR22* }   ibm-8612 { IBM* } # Arabic (EBCDIC update of ibm-420)
   1162 ibm-872_P100-1999 { UTR22* }    ibm-872 { IBM* } # Cyrillic (Euro update of ibm-855)
   1163 ibm-880_P100-1995 { UTR22* }    ibm-880 { IBM* } IBM880 { IANA* } cp880 { IANA } EBCDIC-Cyrillic { IANA } csIBM880 { IANA } windows-20880 { WINDOWS* }
   1164 ibm-896_P100-1995 { UTR22* }    ibm-896 { IBM* } # SBCS Katakana
   1165 ibm-897_P100-1995 { UTR22* }    ibm-897 { IBM* } JIS_X0201 { IANA* } X0201 { IANA } csHalfWidthKatakana { IANA }
   1166 ibm-9027_P100-1999 { UTR22* }   ibm-9027 { IBM* } # DBCS T-Ch Host. Euro update of ibm-835. DBCS portion of ibm-1371.
   1167 ibm-9048_P100-1998 { UTR22* }   ibm-9048 { IBM* } # Hebrew (Euro and Sequel update of ibm-856)
   1168 ibm-905_P100-1995 { UTR22* }    ibm-905 { IBM* } IBM905 { IANA* } CP905 { IANA } ebcdic-cp-tr { IANA } csIBM905 { IANA } windows-20905 { WINDOWS* }
   1169 ibm-9056_P100-1995 { UTR22* }   ibm-9056 { IBM* } # Arabic
   1170 ibm-9061_P100-1999 { UTR22* }   ibm-9061 { IBM* } # Greek (w/ euro update)
   1171 ibm-9145_P110-1997 { UTR22* }   ibm-9145 { IBM* } # Japanese (DBCS subset of ibm-5050)
   1172 ibm-9238_X110-1999 { UTR22* }   ibm-9238 { IBM* } # cp1046, PC Arabic Extended (w/ euro update)
   1173 ibm-924_P100-1998 { UTR22* }    ibm-924 { IBM* } IBM00924 { IANA* } CCSID00924 { IANA } CP00924 { IANA } ebcdic-Latin9--euro { IANA }
   1174 ibm-926_P100-2000 { UTR22* }    ibm-926 { IBM* } # Korean (DBCS subset of ibm-944)
   1175 ibm-927_P100-1995 { UTR22* }    ibm-927 { IBM* } # Traditional Chinese (DBCS subset of ibm-948)
   1176 ibm-928_P100-1995 { UTR22* }    ibm-928 { IBM* } # Simplified Chinese (DBCS subset of ibm-936)
   1177 ibm-941_P13A-2001 { UTR22* }    ibm-941 { IBM* } # DBCS portion of ibm-943
   1178 ibm-944_P100-1995 { UTR22* }    ibm-944 { IBM* } # Korean
   1179 ibm-946_P100-1995 { UTR22* }    ibm-946 { IBM* } # Simplified Chinese
   1180 ibm-947_P100-1995 { UTR22* }    ibm-947 { IBM* } # Traditional Chinese (DBCS subset of ibm-950)
   1181 ibm-948_P110-1999 { UTR22* }    ibm-948 { IBM* } # Traditional Chinese
   1182 ibm-951_P100-1995 { UTR22* }    ibm-951 { IBM* } # Korean (DBCS subset of ibm-949)
   1183 ibm-952_P110-1997 { UTR22* }    ibm-952 { IBM* } # Pure DBCS, Japanese EUC, G1 - JIS X208-1990
   1184 ibm-953_P100-2000 { UTR22* }    ibm-953 { IBM* } # Pure DBCS, Japanese EUC, G3 - JIS X 0212-1990
   1185 ibm-955_P110-1997 { UTR22* }    ibm-955 { IBM* } # Pure DBCS, Japanese EUC, G0 - JIS X208-1978
   1186 ibm-9577_P100-2001 { UTR22* }   ibm-9577 { IBM* } ibm-1385 { IBM } # ibm-9577 and ibm-1385 are identical DBCS tables.
   1187 iso-8859_16-2001 { UTR22* }     ISO-8859-16 { IANA* } iso-ir-226 { IANA } ISO_8859-16:2001 { IANA } latin10 { IANA } l10 { IANA }
   1188 
   1189 # To be considered for listing at a later date for the data library customization tool
   1190 #ibm-1159_P100-1999 { UTR22* }   ibm-1159 { IBM* } # SBCS T-Ch Host. Euro update of ibm-28709. This is used in combination with another CCSID mapping.
   1191 #ibm-960_P100-2000 { UTR22* }    ibm-960 { IBM* } # Pure DBCS, CNS11643 plane 1
   1192 #ibm-963_P100-1995 { UTR22* }    ibm-963 { IBM* } # Pure DBCS, CNS11643 plane 2 Traditional Chinese (DBCS subset of ibm-965)
   1193