##
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the  "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##
#
# $Id$
#
# Each entry in this properties file is:
# 1) The Java name for the encoding
# 2) A comma separated list of the MIME names for the encoding,
#    with the first one being the preferred MIME name.
# 3) An optional high char. Characters at or below this value are
#    definately in the encoding, but characters above it may or may not be.
#    This value is given only for performance reasons.
#    A value of zero is the same as no value at all.
#
# For example this line in this file:
#              ASCII ASCII,US-ASCII 0x007F
# Means the Java name for the encoding is "ASCII". The MIME names for this
# encoding which may appear in a stylesheet are "ASCII" or "US-ASCII"
# and the optional high code point value is given, and it is 0X007F
# which means that the contiguous block of chars from
# 0x0001 to 0x007F ( 127 in base 10) are all in the encoding.
# Higher values above this char might be in the encoding, although in the 
# case of this particular encoding there are no higher chars.
#
#
# <JAVA name encoding>, <PREFERRED name MIME>
#
#
ASCII      ASCII,US-ASCII                         0x007F
#
# Big5, Traditional Chinese 
Big5       BIG5,csBig5                            0x007F
#Big5 with Hong Kong extensions, Traditional Chinese (incorporating 2001 revision) 
Big5_HKSCS BIG5-HKSCS                             0x007F
# USA, Canada (Bilingual, French), Netherlands, Portugal, Brazil, Australia
Cp037      EBCDIC-CP-US,EBCDIC-CP-CA,EBCDIC-CP-WT,EBCDIC-CP-NL,IBM037 0x0019
# IBM Austria, Germany 
Cp273      IBM273,csIBM273                        0x0019
Cp274      csIBM274,EBCDIC-BE
Cp275      csIBM275,EBCDIC-BR
# IBM Denmark, Norway 
Cp277      EBCDIC-CP-DK,EBCDIC-CP-NO,IBM277,csIBM277    0x0019
# IBM Finland, Sweden 
Cp278      EBCDIC-CP-FI,EBCDIC-CP-SE,IBM278,csIBM278    0x0019
# IBM Italy
Cp280      EBCDIC-CP-IT,IBM280,csIBM280           0x0019
Cp281      EBCDIC-JP-E,csIBM281
# IBM Catalan/Spain, Spanish Latin America 
Cp284      EBCDIC-CP-ES,IBM284,csIBM284           0x0019
# IBM United Kingdom, Ireland
Cp285      EBCDIC-CP-GB,IBM284,csIBM285           0x0019
Cp290      EBCDIC-JP-kana,IBM290,csIBM290         0x0019
# IBM France
Cp297      EBCDIC-CP-FR,IBM297,csIBM297           0x0019
# IBM Arabic
Cp420      EBCDIC-CP-AR1,IBM420,csIBM420          0x0019
Cp423      EBCDIC-CP-GR,IBM423,csIBM423
# IBM Hebrew
Cp424      EBCDIC-CP-HE,IBM424,csIBM424           0x0019
Cp437      437,IBM437,csPC8CodePage437            0x007F
# EBCDIC 500V1
Cp500      EBCDIC-CP-CH,EBCDIC-CP-BE,IBM500,csIBM500    0x0019
# PC Baltic
Cp775      IBM775,csPC775Baltic                   0x007F
# IBM Thailand extended SBCS 
Cp838      IBM-Thai,838,csIBMThai                 0x0019
# MS-DOS Latin-1
Cp850      850,csPC850Multilingual,IBM850         0x007F
Cp851      851,IBM851,csIBM851
# MS-DOS Latin-2
Cp852      IBM852,852,csPCp852                    0x007F
# IBM Cyrillic
Cp855      IBM855,855,csIBM855                    0x007F
# IBM Turkish
Cp857      IBM857,857,csIBM857                    0x007F
# Variant of Cp850 with Euro character 
Cp858      IBM00858                               0x007F
# MS-DOS Portuguese
Cp860      860,csIBM860,IBM860                    0x007F
# MS-DOS Icelandic
Cp861      IBM861,861,csIBM861,cp-is              0x007F
#
Cp862      IBM862,862,csPCi62LatinHebrew          0x007F
# MS-DOS Canadian French
Cp863      IBM863,863,csIBM863                    0x007F
# PC Arabic 
Cp864      IBM864,864,csIBM864                    0x007F
# MS-DOS Nordic 
Cp865      IBM865,865,csIBM865                    0x007F
# MS-DOS Russian 
Cp866      IBM866,866,csIBM866                    0x007F
# MS-DOS Pakistan 
Cp868      IBM868,cp-ar,csIBM868                  0x007F
# IBM Modern Greek 
Cp869      IBM869,869,cp-gr,csIBM869              0x007F
# IBM Multilingual Latin-2 
Cp870      EBCDIC-CP-ROECE,EBCDIC-CP-YU,IBM870,csIBM870 0x0019
# IBM Iceland 
Cp871      EBCDIC-CP-IS,IBM871,csIBM871           0x0019
Cp880      EBCDIC-Cyrillic,IBM880,csIBM880
Cp891      IBM891,csIBM891
Cp903      IBM903,csIBM903
Cp904      IBM904,csIBM904
Cp905      IBM905,csIBM905,EBCDIC-CP-TR
# IBM Pakistan (Urdu)
Cp918      EBCDIC-CP-AR2,IBM918,csIBM918          0x0019
# GBK, Simplified Chinese 
Cp936      GBK,MS936,WINDOWS-936
# IBM Latin-5, Turkey 
Cp1026     IBM1026,csIBM1026                      0x0019
# Latin-1 character set for EBCDIC hosts 
Cp1047     IBM1047,IBM-1047                       0x0019
# Variant of Cp037 with Euro character 
Cp1140     IBM01140                               0x0019
# Variant of Cp273 with Euro character 
Cp1141     IBM01141                               0x0019
# Variant of Cp277 with Euro character 
Cp1142     IBM01142                               0x0019
# Variant of Cp278 with Euro character 
Cp1143     IBM01143                               0x0019
# Variant of Cp280 with Euro character 
Cp1144     IBM01144                               0x0019
# Variant of Cp284 with Euro character 
Cp1145     IBM01145                               0x0019
# Variant of Cp285 with Euro character 
Cp1146     IBM01146                               0x0019
# Variant of Cp297 with Euro character 
Cp1147     IBM01147                               0x0019
# Variant of Cp500 with Euro character 
Cp1148     IBM01148                               0x0019
# Variant of Cp871 with Euro character 
Cp1149     IBM01149                               0x0019
Cp1250     WINDOWS-1250                           0x007F
Cp1251     WINDOWS-1251                           0x007F
Cp1252     WINDOWS-1252                           0x007F
Cp1253     WINDOWS-1253                           0x007F
Cp1254     WINDOWS-1254                           0x007F
# Windows Hebrew 
Cp1255     WINDOWS-1255                           0x007F
# Windows Arabic
Cp1256     WINDOWS-1256                           0x007F
Cp1257     WINDOWS-1257                           0x007F
# Windows Vietnamese
Cp1258     WINDOWS-1258                           0x007F
EUC-CN     EUC-CN                                 0x007F
EUC_CN     EUC-CN                                 0x007F
#
#JISX 0201, 0208 and 0212, EUC encoding Japanese
EUC-JP     EUC-JP                                 0x007F
EUC_JP     EUC-JP                                 0x007F
# KS C 5601, EUC encoding, Korean 
EUC-KR     EUC-KR                                 0x007F
EUC_KR     EUC-KR                                 0x007F
# CNS11643 (Plane 1-7,15), EUC encoding, Traditional Chinese
EUC-TW     EUC-TW                                 0x007F
EUC_TW     EUC-TW,x-EUC-TW                        0x007F
EUCJIS     EUC-JP                                 0x007F
#
# GB2312, EUC encoding, Simplified Chinese 
GB2312     GB2312                                 0x007F

# GB2312 and CNS11643 in ISO 2022 CN form, Simplified and Traditional Chinese (conversion to Unicode only) 
ISO2022CN  ISO-2022-CN
# JIS X 0201, 0208, in ISO 2022 form, Japanese 
ISO2022JP  ISO-2022-JP
# ISO 2022 KR, Korean 
ISO2022KR  ISO-2022-KR                            0x007F
#
#
ISO8859-1  ISO-8859-1                             0x00FF
ISO8859_1  ISO-8859-1                             0x00FF
8859-1     ISO-8859-1                             0x00FF
8859_1     ISO-8859-1                             0x00FF
#
ISO8859-2  ISO-8859-2                             0x00A0
ISO8859_2  ISO-8859-2                             0x00A0
8859-2     ISO-8859-2                             0x00A0
8859_2     ISO-8859-2                             0x00A0
#
# Latin Alphabet No. 3 
ISO8859-3  ISO-8859-3                             0x00A0
ISO8859_3  ISO-8859-3                             0x00A0
8859-3     ISO-8859-3                             0x00A0
8859_3     ISO-8859-3                             0x00A0
#
ISO8859-4  ISO-8859-4                             0x00A0
ISO8859_4  ISO-8859-4                             0x00A0
8859-4     ISO-8859-4                             0x00A0
8859_4     ISO-8859-4                             0x00A0
#
ISO8859-5  ISO-8859-5                             0x00A0
ISO8859_5  ISO-8859-5                             0x00A0
8859-5     ISO-8859-5                             0x00A0
8859_5     ISO-8859-5                             0x00A0
#
# Latin/Arabic Alphabet 
ISO8859-6  ISO-8859-6                             0x00A0
ISO8859_6  ISO-8859-6                             0x00A0
8859-6     ISO-8859-6                             0x00A0
8859_6     ISO-8859-6                             0x00A0
#
ISO8859-7  ISO-8859-7                             0x00A0
ISO8859_7  ISO-8859-7                             0x00A0
8859-7     ISO-8859-7                             0x00A0
8859_7     ISO-8859-7                             0x00A0
#
ISO8859-8  ISO-8859-8                             0x00A0
ISO8859_8  ISO-8859-8                             0x00A0
8859-8     ISO-8859-8                             0x00A0
8859_8     ISO-8859-8                             0x00A0
#
ISO8859-9  ISO-8859-9                             0x00CF
ISO8859_9  ISO-8859-9                             0x00CF
8859-9     ISO-8859-9                             0x00CF
8859_9     ISO-8859-9                             0x00CF
#
ISO8859-10 ISO-8859-10                            0x007E
ISO8859_10 ISO-8859-10                            0x007E
ISO8859-11 ISO-8859-11                            0x007E
ISO8859_11 ISO-8859-11                            0x007E
ISO8859-12 ISO-8859-12                            0x007F
ISO8859_12 ISO-8859-12                            0x007F
ISO8859-13 ISO-8859-13                            0x00A0
ISO8859_13 ISO-8859-13                            0x00A0
ISO8859-14 ISO-8859-14                            0x007E
ISO8859_14 ISO-8859-14                            0x007E
ISO8859-15 ISO-8859-15                            0x00A3
ISO8859_15 ISO-8859-15                            0x00A3
JIS        ISO-2022-JP                            0x007F
KOI8_R     KOI8-R                                 0x007F
KSC5601    EUC-KR                                 0x007F
KS_C_5601-1987 KS_C_5601-1987,iso-ir-149,KS_C_5601-1989,KSC_5601,csKSC56011987  0x007F
MacTEC     MacRoman
# Windows Japanese
MS932      windows-31j
# Shift-JIS, Japanese 
SJIS       SHIFT_JIS                              0x007F
# TIS620, Thai
TIS620     TIS-620
UTF8       UTF-8                                  0xFFFF
Unicode    UNICODE,UTF-16                         0xFFFF

# note that more character set names and their aliases
# can be found at http://www.iana.org/assignments/character-sets

