# *******************************************************************************
# *
# *   Copyright (C) 1995-2001, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# *******************************************************************************

# IMPORTANT NOTE
#
# This file is not read directly by ICU. If you change it, you need to
# run gencnval, and eventually pkgdata to update the representation that
# ICU uses for aliases.

# This is an alias file used by the character set converter.
#
# Format:
#
#     Actual file name || Algorithm name     alias1 alias2 ...
#
# except for column 1 (file names) case insensitive. Names are separated
# by whitespace.
#
# All names can be tagged by including a space-separated list of tags in
# curly braces, as in ISO_8859-1:1987{IANA} iso-8859-1 { MIME } or
# some-charset{MIME IANA}. The order of tags does not matter, and
# whitespace is allowed between the tagged name and the tags list.
#
# The tags can be used to get standard names using ucnv_getStandardName().
#
# Here is a list of tags used in this file:
#
# IANA          The IANA charset name, as documented in RFC 1700.
# MIME          The MIME charset name, used for content type tagging. 

# The world is getting more complicated...
# Supporting XML parsers, HTML, MIME, and similar applications
# that mark encodings with unique charset names, we are forced to
# make this table much more static than before.

# It means that a new encoding, one that differs from an
# old one by changing a code point, e.g., to the Euro sign,
# must not get an old alias, because it would mean that
# old files with this alias would be interpreted differently.

# If an encoding gets updated by assigning characters to previously
# unassigned code points, then a new name is not necessary.
# Also, some codepages map unassigned codepage byte values
# to the same numbers in Unicode for roundtripping. It may be
# industry practice to keep the encoding name in such a case, too
# (example: Windows codepages).

# Especially, the aliases listed in the list of character sets
# that is maintained by the IANA (http://www.iana.org/) must
# not be changed to mean encodings different from what this
# list shows.
# Currently, the IANA list is at
# http://www.isi.edu/in-notes/iana/assignments/character-sets

# Name matching is case-insensitive. Also, dashes '-', underscores '_'
# and spaces ' ' are ignored in names (thus cs-iso-latin-1 and csisolatin1
# are the same).
# However, the names in the left column are directly file names
# or names of algorithmic converters, and their case must not
# be changed - or else code and/or file names must also be changed.

# Fully algorithmic converters

UTF-8 { MIME }           ibm-1208 cp1208 
UTF-16BE { MIME }        UTF16_BigEndian x-utf-16be
UTF-16LE { MIME }        UTF16_LittleEndian x-utf-16le

# The ICU UTF-16 converter uses the current platform's endianness.
# It does not autodetect endianness from a BOM.
UTF-16 { MIME }          UTF16_PlatformEndian ISO-10646-UCS-2 { IANA } csUnicode ibm-17584 ibm-13488 ibm-1200 cp1200 ucs-2
UTF16_OppositeEndian

UTF-32BE                 UTF32_BigEndian
UTF-32LE                 UTF32_LittleEndian

# The ICU UTF-32 converter uses the current platform's endianness.
# It does not autodetect endianness from a BOM.
UTF-32 { MIME }          UTF32_PlatformEndian ISO-10646-UCS-4 { IANA } csUCS4 ucs-4 ibm-1232
UTF32_OppositeEndian

UTF-7 { IANA MIME }
# On UTF-7:
# RFC 2152 (http://www.imc.org/rfc2152) allows to encode some US-ASCII
# characters directly or in base64. Especially, the characters in set O
# as defined in the RFC (!"#$%&*;<=>@[]^_`{|}) may be encoded directly but are not
# allowed in, e.g., email headers.
# By default, the ICU UTF-7 converter encodes set O directly.
# By choosing the option "version=1", set O will be escaped instead.
# For example:
#     utf7Converter=ucnv_open("UTF-7,version=1");

SCSU { IANA }

ISO-8859-1 { MIME }              LATIN_1 ibm-819 cp819 latin1 8859-1 csisolatin1 iso-ir-100 ISO_8859-1:1987 { IANA } l1 ANSI_X3.110-1983   819 #!!!!! There's whole lot of names for this
US-ASCII { MIME }                ascii ascii-7 ANSI_X3.4-1968 { IANA } ANSI_X3.4-1986 ISO_646.irv:1991 iso646-us us csASCII 646 iso-ir-6 cp367

# Partially algorithmic converters

ISO_2022                         ISO-2022 { MIME } 2022 cp2022
ISO_2022,locale=ja,version=0     ISO-2022-JP { IANA MIME } csISO2022JP
ISO_2022,locale=ja,version=1     ISO-2022-JP-1 JIS JIS_Encoding { IANA }
ISO_2022,locale=ja,version=2     ISO-2022-JP-2 { IANA MIME } csISO2022JP2
ISO_2022,locale=ja,version=3     JIS7 csJISEncoding
ISO_2022,locale=ja,version=4     JIS8
ISO_2022,locale=ko,version=0     ISO-2022-KR { IANA MIME } csISO2022KR
ISO_2022,locale=ko,version=1     ibm-25546 ibm-25546_P100 25546
ISO_2022,locale=zh,version=0     ISO-2022-CN { MIME } csISO2022CN
ISO_2022,locale=zh,version=1     ISO-2022-CN-EXT { MIME }
HZ                               HZ-GB-2312 { MIME }
LMBCS-1                          lmbcs
LMBCS-2
LMBCS-3
LMBCS-4
LMBCS-5
LMBCS-6
LMBCS-8
LMBCS-11
LMBCS-16
LMBCS-17
LMBCS-18
LMBCS-19
ISCII,version=0           iscii-dev x-iscii-de
ISCII,version=1           iscii-bng x-iscii-as x-iscii-be
ISCII,version=2           iscii-gur x-iscii-pa
ISCII,version=3           iscii-guj x-iscii-gu
ISCII,version=4           iscii-ori x-iscii-or
ISCII,version=5           iscii-tml x-iscii-ta
ISCII,version=6           iscii-tlg x-iscii-te
ISCII,version=7           iscii-knd x-iscii-ka
ISCII,version=8           iscii-mlm x-iscii-ma

# Table-based

ibm-367

# Special mapping for S/390 new line characters
ebcdic-xml-us

# Interchange codepages
ibm-912                 iso-8859-2 { MIME } cp912 latin2 8859-2 csisolatin2     iso-ir-101  ISO_8859-2:1987 { IANA } l2 912 # Central Europe
ibm-913                 iso-8859-3 { MIME } latin3 cp913 8859-3 csisolatin3     iso-ir-109  ISO_8859-3:1988 { IANA } l3 913 # Maltese Esperanto
ibm-914                 iso-8859-4 { MIME } latin4 cp914 8859-4 csisolatin4     iso-ir-110  ISO_8859-4:1988 { IANA } l4 914 # Baltic
ibm-915                 iso-8859-5 { MIME } cyrillic cp915 8859-5 csisolatincyrillic iso-ir-144 ISO_8859-5:1988 { IANA } 915 # Cyrillic
ibm-1089                iso-8859-6 { MIME } arabic cp1089 8859-6 csisolatinarabic iso-ir-127 ISO_8859-6:1987 { IANA } ecma-114 asmo-708 1089   # Arabic
ibm-4909                cp813 iso-8859-7 { MIME } greek greek8 elot_928 ecma-118 8859-7 csisolatingreek iso-ir-126 ISO_8859-7:1987 { IANA } 813 # ISO Greek (w/ euro update)
ibm-813                 # Same as 4909 (w/o euro update)
ibm-916                 iso-8859-8 { MIME } hebrew cp916 8859-8 csisolatinhebrew iso-ir-138 ISO_8859-8:1988 { IANA }   916 # hebrew iso-8859-8i - typo?
ibm-920                 iso-8859-9 { MIME } ECMA-128 latin5     cp920 8859-9 csisolatin5 iso-ir-148 ISO_8859-9:1989 { IANA } l5 920 # Turkish
ibm-923                 iso-8859-15     { MIME } latin9 cp923 8859-15 latin0 csisolatin0 iso8859_15_fdis csisolatin9       923 # Latin 9
ibm-1252                ibm-1004 cp1004      # Windows Latin 1 without Euro
ibm-943_P130-2000       ibm-943_VASCII_VSUB_VPUA ibm-943 # japanese. Unicode name is \u30b7\u30d5\u30c8\u7b26\u53f7\u5316\u8868\u73fe Iana says that Windows-31J is an extension to csshiftjis ibm-932 removed
ibm-943_P14A-2000       ibm-943_VSUB_VPUA  Shift_JIS { MIME } csWindows31J sjis cp943 cp932 ms_kanji csshiftjis windows-31j  x-sjis 943
ibm-949_P110-2000       ibm-949_VASCII_VSUB_VPUA ibm-949
ibm-949_P11A-2000       ibm-949_VSUB_VPUA KS_C_5601-1987 { IANA } iso-ir-149 KS_C_5601-1989 csKSC56011987 KSC_5601 { MIME } johab ks_x_1001:1992 949 ksc5601_1992  ksc5601_1987 # KSC-5601-1992, korean
ibm-1370                Big5 { MIME     } csBig5 x-big5 cp950 950 # Taiwan Big-5 (w/ euro update)
ibm-950                 # Taiwan Big-5 (w/o euro update)
ibm-1386                gbk cp936 zh_cn # Chinese GBK removed
ibm-33722               EUC-JP { MIME } ibm-5050 ibm-eucJP eucjis extended_unix_code_packed_format_for_japanese cseucpkdfmtjapanese X-EUC-JP  cp33722 33722# Japan EUC
ibm-970                 EUC-KR { IANA MIME } ibm-eucKR csEUCKR                       # Korean EUC
ibm-964                 EUC-TW ibm-eucTW cns11643              # Taiwan EUC
ibm-1383                EUC-CN ibm-eucCN GB_2312-80 { IANA } chinese gb iso-ir-58 csISO58GB231280 GB2312 { MIME } gb2312-1980 cp1383 1383  csGB2312# China EUC
ibm-1162                tis-620 cp874 windows-874 ms874 cp9066 874 # Thai (w/ euro update)
ibm-874                 ibm-1161 # Same as 1162 (w/o euro update)

# Platform codepages
ibm-437                 cp437 csPC8CodePage437 437         # PC US
# HSYS:
ibm-850                 IBM850 { IANA } cp850 { MIME } 850 csPC850Multilingual    # PC latin1
ibm-851                 IBM851 { IANA } cp851 { MIME } 851 csPC851           # PC DOS Greek (w/o euro)
ibm-858                 cp858  { MIME } IBM00858 { IANA }       # PC latin1     with Euro cp850 removed
ibm-9044                852 csPCp852 cp852# PC latin2 (w/ euro update)
ibm-852                 IBM852 { IANA } # PC latin2     (w/o euro update)
ibm-872                 855 csIBM855 cp855 csPCp855 # PC cyrillic (w/ euro update)
ibm-855                 IBM855 { IANA } # PC cyrillic (w/o euro update)
ibm-856                 cp856 { MIME }          856 # PC Hebrew (old)
ibm-9049                857 csIBM857 cp857 { MIME } # PC Latin 5 (Turkish) (w/ euro     update)
ibm-857                 IBM857 { IANA } # PC Latin 5 (w/o euro update)
ibm-859                 cp859 { MIME }           # PC Latin     9 (w/ euro update)
ibm-860                 IBM860 { IANA } cp860 { MIME } 860 csIBM860            # PC     Portugal
ibm-861                 IBM861 { IANA } cp861 { MIME } 861 cp-is csIBM861           # PC Iceland
ibm-867                 cp867  862 cp862 { MIME } cspc862latinhebrew # PC Hebrew (w/ euro update)
ibm-862                 IBM862 { IANA } # PC Hebrew     (w/o euro update)
ibm-863                 IBM863 { IANA } cp863 { MIME } 863 csIBM863           # PC Canadian     French
ibm-17248               cp864 { MIME } csIBM864 # PC Arabic (w/ euro update)
ibm-864                 IBM864 { IANA } # PC Arabic     (w/o euro update)
ibm-865                 IBM865 { IANA } cp865 { MIME } 865 csIBM865            # PC     Nordic
ibm-808                 cp866 { MIME } 866 csIBM866 # PC Russian (w/ euro update)
ibm-866                 # PC Russian (w/o euro update)
ibm-868                 IBM868 { IANA } cp868 { MIME } cp-ar csIBM868  868          # PC Urdu
ibm-9061                cp869 { MIME } 869 cp-gr csIBM869 # PC Greek (w/ euro update)
ibm-869                 IBM869 { IANA } # PC Greek (w/o euro update)
ibm-878                 KOI8-R { IANA MIME } cp878 koi8 cskoi8r  # Russian internet
ibm-901                 cp921 { MIME } 921 # PC     Baltic (w/ euro update)
ibm-921                 # PC Baltic     (w/o euro update)
ibm-902                 cp922 { MIME } 922 # PC     Estonian (w/ euro update)
ibm-922                 # PC Estonian (w/o euro update)
ibm-942_P120-2000       ibm-942_VASCII_VSUB_VPUA ibm-942 ibm-932 ibm-932_VASCII_VSUB_VPUA# Old s_jis ibm-932 added!   
ibm-942_P12A-2000       ibm-942_VSUB_VPUA shift_jis78 sjis78  pck ibm-932_VSUB_VPUA    
#ibm-941                 jis-208 jisx-208 # Pure DBCS jisx-208# ibm-941 is not JISX 208 code page
#ibm-1038               Adobe-Symbol-Encoding csHPPSMath symbol
ibm-5346                windows-1250 { IANA  } cp1250       # Windows Latin2 (w/ euro update)
ibm-5347                windows-1251 { IANA  } cp1251       # Windows Cyrillic (w/ euro update)
ibm-5348                windows-1252 { IANA  } cp1252       # Windows Latin1 (w/ euro update)
ibm-5349                windows-1253 { IANA  } cp1253       # Windows Greek (w/ euro update)
ibm-5350                windows-1254 { IANA  } cp1254       # Windows Turkish (w/ euro update)
ibm-5351                windows-1255 { IANA  } cp1255       # Windows Hebrew (w/ euro update)
ibm-5352                windows-1256 { IANA  } cp1256       # Windows Arabic (w/ euro update)
ibm-5353                windows-1257 { IANA  } cp1257       # Windows Baltic (w/ euro update)
ibm-5354                windows-1258 { IANA  } cp1258       # Windows Vietnamese (w/ euro update)
ibm-1250                # Windows Latin2 (w/o euro update)
ibm-1251                # Windows Cyrillic (w/o euro update)
ibm-1253                # Windows Greek (w/o euro update)
ibm-1254                # Windows Turkish (w/o euro update)
ibm-1255                # Windows Hebrew (w/o euro update)
ibm-1256                # Windows Arabic (w/o euro update)
ibm-1257                # Windows Baltic (w/o euro update)
ibm-1258                # Windows Vietnamese (w/o euro update)

ibm-1275                macintosh {     IANA } mac { MIME }     csMacintosh          # Apple latin 1
ibm-1276                Adobe-Standard-Encoding csAdobeStandardEncoding
ibm-1277                Adobe-Latin1-Encoding
ibm-1280                macgr                   # Apple Greek
ibm-1281                mactr                   # Apple Turkish
ibm-1282                macce                   # Apple Central Europe
ibm-1283                maccy                   # Apple Cyrillic

ibm-1051                hp-roman8 roman8 r8 csHPRoman8  # HP Latin1

ibm-1388                #S-Ch DBCS-Host Data GBK mixed MBCS

# Added for more euro support

ibm-849                cp1131          # PC     Belarus (w/ euro update)
ibm-848                cp1125          # PC     Ukraine (w/ euro update)
ibm-5104               cp1008          # 8-bit Arabic (w/ euro update)
ibm-9238               cp1046          # PC     Arabic Extended (w/     euro update)
ibm-1363_P110-2000     ibm-1363 ibm-1363_VASCII_VSUB_VPUA ibm-1362# Korean KSC Korean Windows MBCS 
ibm-1363_P11B-2000     ibm-1363_VSUB_VPUA windows-949 cp949 cp1363 ksc korean 
ibm-5210               cp1114          # PC     SBCS Big-5 (w/ euro     update)
ibm-21427              cp947           # PC     DBCS Big-5 (w/ euro     update)

# EBCDIC codepages according to the CDRA

# without Euro
ibm-37                 IBM037 { IANA } ibm-037 cpibm37 ebcdic-cp-us     ebcdic-cp-ca ebcdic-cp-wt ebcdic-cp-nl csIBM037 cp37 cp037 037 # EBCDIC US
ibm-273                IBM273 { IANA } csIBM273 ebcdic-de cp273 cpibm273 273 # EBCDIC Germanay,     Austria...
ibm-277                IBM277 { IANA } EBCDIC-CP-DK EBCDIC-CP-NO csIBM277 ebcdic-dk  cp277 cpibm277 277 # EBCDIC Denmark...
ibm-278                IBM278 { IANA } ebcdic-cp-fi ebcdic-cp-se csIBM278 ebcdic-sv  cp278 cpibm278 278 # EBCDIC Sweden
ibm-280                IBM280 { IANA } ebcdic-cp-it csIBM280 cp280 cpibm280 280 # EBCDIC Italy
ibm-284                IBM284 { IANA } ebcdic-cp-es csIBM284 cp284 cpibm284 284 # EBCDIC Spain
ibm-285                IBM285 { IANA } ebcdic-cp-gb csIBM285 ebcdic-gb cp285 cpibm285 285 # EBCDIC UK Ireland
ibm-290                IBM290 { IANA } EBCDIC-JP-kana csIBM290 cp290 # host SBCS (Katakana)
ibm-297                IBM297 { IANA } ebcdic-cp-fr csIBM297 cp297 cpibm297 297 # EBCDIC France
ibm-420                IBM420 { IANA } ebcdic-cp-ar1 csIBM420 cp420 420
ibm-424                IBM424 { IANA } ebcdic-cp-he csIBM424 cp424 424
ibm-500                IBM500 { IANA } cpibm500 csIBM500 cp500 ebcdic-cp-be ebcdic-cp-ch 500 # EBCDIC International Latin1
ibm-803                cp803 # Old EBCDIC Hebrew
ibm-834                cp834 # Korean DBCS Host
ibm-835                cp835 # DBCS T-Ch Host
ibm-871                IBM871 { IANA } ebcdic-cp-is csIBM871 cpibm871 cp871 871 # EBCDIC Iceland
ibm-930                cp930 cpibm930  930 # Japan EBCDIC MIXED
ibm-933                cp933 cpibm933  933         # Korea EBCDIC MIXED 
ibm-935                cp935 cpibm935  935         # China EBCDIC MIXED 
ibm-937                cp937 cpibm937  937 # Taiwan EBCDIC MIXED
ibm-939                cp939 939 # Host MBCS (Latin-Kanji)
ibm-1006_P100-2000     ibm-1006 ibm-1006_VPUA
ibm-1006_X100-2000     ibm-1006_STD
ibm-1025_P100-2000     ibm-1025 ibm-1025_STD
ibm-1026_P100-2000     ibm-1026 CP1026 IBM1026 { IANA } csIBM1026 ibm-1026_STD
ibm-1097_P100-2000     ibm-1097 ibm-1097_VPUA
ibm-1097_X100-2000     ibm-1097_STD 
ibm-1098_P100-2000     ibm-1098 ibm-1098_VSUB_VPUA
ibm-1098_X100-2000     ibm-1098_VSUB
ibm-1112_P100-2000     ibm-1112 cp1112 1112  ibm-1112_STD
ibm-1122_P100-2000     ibm-1122 cp1122 ibm-1122 1122 ibm-1122_STD
ibm-1124_P100-2000     ibm-1124 ibm-1124_STD
ibm-1125_P100-2000     ibm-1125 ibm-1125_VSUB
ibm-1129_P100-2000     ibm-1129 ibm-1129_STD
ibm-1130_P100-2000     ibm-1130 ibm-1130_STD
ibm-1131_P100-2000     ibm-1131 ibm-1131_VSUB
ibm-1132_P100-2000     ibm-1132 ibm-1132_STD
ibm-1133_P100-2000     ibm-1133 ibm-1133_STD
ibm-1137_P100-2000     ibm-1137 ibm-1137_STD
ibm-1381_P110-2000     ibm-1381 ibm-1381_VSUB_VPUA
ibm-806_P100-2000      ibm-806 ibm-806_VSUB
ibm-870_P100-2000      ibm-870 CP870 IBM870 { IANA } ibm-870_STD  ebcdic-cp-roece ebcdic-cp-yu csIBM870
ibm-875_P100-2000      ibm-875 cp875 ibm-875 875 ibm-875_STD 
ibm-9030_P100-2000     ibm-9030 ibm-9030_STD
ibm-9066_P100-2000     ibm-9066 ibm-9066_VSUB
ibm-918_P100-2000      ibm-918 CP918 IBM918 { IANA } ibm-918_VPUA ebcdic-cp-ar2 csIBM918 
ibm-918_X100-2000      ibm-918_STD

#ibm-1046              # PC     Arabic without EURO
# with Euro
ibm-1390               cpibm1390 # Japan EBCDIC MIXED
ibm-1371               cpibm1371 # Taiwan EBCDIC MIXED
ibm-1047               cpibm1047 # EBCDIC Open systems Latin1
ibm-1123               cpibm1123 # Cyrillic Ukraine     EBCDIC
ibm-1140               cpibm1140 IBM01140 { IANA } # EBCDIC US...
ibm-1141               cpibm1141 IBM01141 { IANA } # EBCDIC Germanay,   Austria...
ibm-1142               cpibm1142 IBM01142 { IANA } # EBCDIC Denmark...
ibm-1143               cpibm1143 IBM01143 { IANA } # EBCDIC Sweden
ibm-1144               cpibm1144 # EBCDIC Italy
ibm-1145               cpibm1145 # EBCDIC Spain
ibm-1146               cpibm1146 # EBCDIC UK Ireland
ibm-1147               cpibm1147 # EBCDIC France
ibm-1148               cpibm1148 # EBCDIC International Latin1
ibm-1149               cpibm1149 ebcdic-is # EBCDIC     Iceland
ibm-1153               cpibm1153 # EBCDIC latin 2
ibm-1154               cp1025 cpibm1154              # EBCDIC Cyrillic Multilingual
ibm-1155               cpibm1155                     # EBCDIC Turkey
ibm-1156               cpibm1156                     # EBCDIC Baltic Multilingual
ibm-1157               cpibm1157                     # EBCDIC Estonia
ibm-1158               cp1123 cpibm1158 1123         # Cyrillic Ukraine EBCDIC
ibm-1159               cp28709                       # SBCS T-Ch Host
ibm-1160               cp9030 cpibm1160              # EBCDIC Thailand
ibm-1164               cp1130 cpibm1164              # EBCDIC Viet Nam

ibm-1399               # Host MBCS (Latin-Kanji)
ibm-1364_P110-2000     ibm-1364_VPUA ibm-1364 cp1364 # Korean Host Mixed
ibm-8482               # host SBCS (Katakana)
ibm-4899               cpibm4899            # Old EBCDIC Hebrew
ibm-4971               cpibm4971            # EBCDIC Greek
ibm-9027               # DBCS T-Ch Host
ibm-5123               cp1027          # Host Roman Jis
ibm-12712              cpibm12712 ebcdic-he # EBCDIC Hebrew (new sheqel, control charaters update)
ibm-16684              cp300           # Jis + Roman Jis Host
ibm-16804              cpibm16804 ebcdic-ar # EBCDIC Arabic

# unsupported IANA names
# ebcdic-it csEBCDICIT
# ebcdic-es csEBCDICES
# csEBCDICFR ebcdic-fr
# ibm-274                IBM274 { IANA } cp274 csIBM274 ebcdic-be
# ibm-870 IBM870 { IANA } ebcdic-cp-roece ebcdic-cp-yu csIBM870 cp870 870

# EBCDIC codepages for S/390, with LF and NL codes swapped

# without Euro
ibm-37-s390            ibm037-s390   # EBCDIC US
ibm-1047-s390          # EBCDIC for S/390 Open Edition
                   
# with Euro        
ibm-1140-s390          # EBCDIC US
ibm-1142-s390          # EBCDIC Denmark
ibm-1143-s390          # EBCDIC Sweden
ibm-1144-s390          # EBCDIC Italy
ibm-1145-s390          # EBCDIC Spain
ibm-1146-s390          # EBCDIC UK Ireland
ibm-1147-s390          # EBCDIC France
ibm-1148-s390          # EBCDIC International Latin1
ibm-1149-s390          # EBCDIC Iceland
ibm-1153-s390          # EBCDIC latin 2
ibm-12712-s390         # EBCDIC Hebrew
ibm-16804-s390         # EBCDIC Arabic

# GB 18030 is partly algorithmic, using the MBCS converter
gb18030                ibm-1392
