# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

## Rule of this file:
## 1. key should always be in lower case ascii so we can do case insensitive
##    comparison in the code faster.

## Format of this file:
##
## charset_name.notForBrowser = anything  -  specifies that this charset is 
## not to be exposed in the browser charset selection UI
## charset_name.notForOutgoing = anything  -  specifies that this charset is 
## not to be used for exporting files ('SaveAsCharset' in composer)
##
## charset_name.isInternal = anything - specifies that this charset should
## not be exposed to web content because of the vulnerability to XSS attacks
## or some other reasons
##
## charset_name.LangGroup = 
##
## charset_name.isMultibyte = multi byte charsets

# notForBrowser falls into four categories:
#
# charsets that we need decoders for, that we don't expect ever to appear in
# web content
# XXX do we still need to support t.61?
t.61-8bit.notForBrowser             = true

# charsets that are subsets or variants of other charsets. We implement them
# as aliases to the superset
us-ascii.notForBrowser                  = true
iso-8859-6-e.notForBrowser              = true
iso-8859-6-i.notForBrowser              = true
iso-8859-8-e.notForBrowser              = true

# platform charsets that don't appear in web content
ibm869.notForBrowser                    = true
ibm1125.notForBrowser                   = true
ibm1131.notForBrowser                   = true

# encodings not in the Encoding Standard
# keep ISO-8859-1 at the moment
#iso-8859-1.notForBrowser                = true
#iso-8859-9.notForBrowser                = true
#iso-8859-11.notForBrowser               = true
#ibm850.notForBrowser                    = true
#ibm852.notForBrowser                    = true
#ibm855.notForBrowser                    = true
#ibm857.notForBrowser                    = true
#ibm862.notForBrowser                    = true
#x-mac-greek.notForBrowser               = true
#x-mac-icelandic.notForBrowser           = true
#x-mac-ce.notForBrowser                  = true
#x-mac-croatian.notForBrowser            = true
#x-mac-ukrainian.notForBrowser           = true
#x-mac-romanian.notForBrowser            = true
#x-mac-turkish.notForBrowser             = true
#x-mac-devanagari.notForBrowser          = true
#x-mac-gujarati.notForBrowser            = true
#x-mac-gurmukhi.notForBrowser            = true
#iso-ir-111.notForBrowser                = true
#gb2312.notForBrowser                    = true
#iso-2022-cn.notForBrowser               = true
#big5-hkscs.notForBrowser                = true
#x-euc-tw.notForBrowser                  = true
#x-johab.notForBrowser                   = true
#armscii-8.notForBrowser                 = true
#tis-620.notForBrowser                   = true
#viscii.notForBrowser                    = true
#x-viet-tcvn5712.notForBrowser           = true
#x-viet-vps.notForBrowser                = true
utf-16.notForBrowser                    = true

# blacklisted from the menu to prevent self-XSS
#hz-gb-2312.notForBrowser                = true
#iso-2022-jp.notForBrowser               = true
#iso-2022-kr.notForBrowser               = true
utf-16le.notForBrowser                  = true
utf-16be.notForBrowser                  = true

# charset with isInternal
x-mac-arabic.notForBrowser              = true
x-mac-farsi.notForBrowser               = true
x-mac-hebrew.notForBrowser              = true
x-imap4-modified-utf7.notForBrowser     = true
utf-7.notForBrowser                     = true
ibm864.notForBrowser                    = true

x-mac-arabic.isInternal                 = true
x-mac-farsi.isInternal                  = true
x-mac-hebrew.isInternal                 = true
x-imap4-modified-utf7.isInternal        = true
utf-7.isInternal                        = true
t.61-8bit.isInternal                    = true
ibm864.isInternal                       = true

t.61-8bit.notForOutgoing                = true
utf-7.notForOutgoing                    = true
x-imap4-modified-utf7.notForOutgoing    = true
us-ascii.notForOutgoing                 = true
iso-8859-6-e.notForOutgoing             = true
iso-8859-6-i.notForOutgoing             = true
ibm864.notForOutgoing                   = true
ibm869.notForOutgoing                   = true
ibm1125.notForOutgoing                  = true
ibm1131.notForOutgoing                  = true
iso-8859-8-e.notForOutgoing             = true
iso-8859-8.notForOutgoing               = true
iso-2022-kr.notForOutgoing              = true
x-johab.notForOutgoing                  = true


// XXX : there are some entries only necessary for Gtk/Xlib builds
// to map  XLFD registry-encoding pairs to langGroups. they can be
// removed once bug 215537 is fixed.

// XXX : todo: move to something based on BCP 47 (RFC 5646);
// these should primarily specify script (and sometimes region),
// but NOT language.
// e.g. x-western      -> *-Latn-155 (Western Europe)
//      x-central-euro -> *-Latn-151 (Eastern Europe)
//      x-baltic       -> *-Latn-154 (Northern Europe)
//      x-cyrillic     -> *-Cyrl
//      zh-TW          -> *-Hant-TW
//      zh-HK          -> *-Hant-HK
//      zh-CN          -> *-Hans
//      ja             -> *-Jpan
//      ko             -> *-Hang
//      tr             -> *-Latn-TR
//      he             -> *-Hebr
//      ar             -> *-Arab
// etc

adobe-symbol-encoding.LangGroup    = el
armscii-8.LangGroup                = x-armn
big5.LangGroup                     = zh-TW
x-x-big5.LangGroup                 = zh-TW
big5-hkscs.LangGroup               = zh-HK
euc-jp.LangGroup                   = ja
euc-kr.LangGroup                   = ko
gb2312.LangGroup                   = zh-CN
gb18030.LangGroup                  = zh-CN
gb18030.2000-0.LangGroup           = zh-CN
gb18030.2000-1.LangGroup           = zh-CN
hkscs-1.LangGroup                  = zh-HK
hz-gb-2312.LangGroup               = zh-CN
ibm850.LangGroup                   = x-western
ibm852.LangGroup                   = x-central-euro
ibm855.LangGroup                   = x-cyrillic
ibm857.LangGroup                   = tr
ibm862.LangGroup                   = he
ibm864.LangGroup                   = ar
ibm866.LangGroup                   = x-cyrillic
ibm869.LangGroup                   = el
ibm1125.LangGroup                  = x-cyrillic
ibm1131.LangGroup                  = x-cyrillic
iso-2022-cn.LangGroup              = zh-CN
iso-2022-jp.LangGroup              = ja
iso-2022-kr.LangGroup              = ko
iso-8859-1.LangGroup               = x-western
iso-8859-10.LangGroup              = x-western
iso-8859-14.LangGroup              = x-western
iso-8859-15.LangGroup              = x-western
iso-8859-2.LangGroup               = x-central-euro
iso-8859-16.LangGroup              = x-central-euro
iso-8859-3.LangGroup               = x-western
iso-8859-4.LangGroup               = x-baltic
iso-8859-13.LangGroup              = x-baltic
iso-8859-5.LangGroup               = x-cyrillic
iso-8859-6.LangGroup               = ar
iso-8859-6-e.LangGroup             = ar
iso-8859-6-i.LangGroup             = ar
iso-8859-7.LangGroup               = el
iso-8859-8.LangGroup               = he
iso-8859-8-e.LangGroup             = he
iso-8859-8-i.LangGroup             = he
iso-8859-9.LangGroup               = tr
jis_0208-1983.LangGroup            = ja
koi8-r.LangGroup                   = x-cyrillic
koi8-u.LangGroup                   = x-cyrillic
iso-ir-111.LangGroup               = x-cyrillic
shift_jis.LangGroup                = ja
tis-620.LangGroup                  = th
tis620-2.LangGroup                 = th
windows-874.LangGroup              = th
iso-8859-11.LangGroup              = th
us-ascii.LangGroup                 = x-western
t.61-8bit.LangGroup                = x-western
utf-8.LangGroup                    = x-unicode
utf-16.LangGroup                   = x-unicode
utf-16be.LangGroup                 = x-unicode
utf-16le.LangGroup                 = x-unicode
utf-7.LangGroup                    = x-unicode
x-imap4-modified-utf7.LangGroup    = x-unicode
viscii.LangGroup                   = x-western
x-viet-tcvn5712.LangGroup          = x-western
x-viet-vps.LangGroup               = x-western
windows-1250.LangGroup             = x-central-euro
windows-1251.LangGroup             = x-cyrillic
windows-1252.LangGroup             = x-western
windows-1253.LangGroup             = el
windows-1254.LangGroup             = tr
windows-1255.LangGroup             = he
windows-1256.LangGroup             = ar
windows-1257.LangGroup             = x-baltic
windows-1258.LangGroup             = x-western
x-euc-tw.LangGroup                 = zh-TW
gbk.LangGroup                      = zh-CN
gb_2312-80.LangGroup               = zh-CN
x-mac-ce.LangGroup                 = x-central-euro
x-mac-croatian.LangGroup           = x-central-euro
x-mac-cyrillic.LangGroup           = x-cyrillic
x-mac-devanagari.LangGroup         = x-devanagari
x-mac-farsi.LangGroup              = ar
x-mac-greek.LangGroup              = el
x-mac-gujarati.LangGroup           = x-gujr
x-mac-gurmukhi.LangGroup           = x-guru
x-mac-icelandic.LangGroup          = x-western
macintosh.LangGroup                = x-western
x-mac-turkish.LangGroup            = tr
x-mac-ukrainian.LangGroup          = x-cyrillic
x-mac-romanian.LangGroup           = x-central-euro
x-user-defined.LangGroup           = x-user-def
ks_c_5601-1987.LangGroup           = ko
x-johab.LangGroup                  = ko
x-mac-hebrew.LangGroup             = he
x-mac-arabic.LangGroup             = ar
x-sun-unicode-india-0.LangGroup    = x-devanagari
x-tscii.LangGroup                = x-tamil
x-tamilttf-0.LangGroup             = x-tamil

iso-2022-jp.isMultibyte     = true
shift_jis.isMultibyte       = true
euc-jp.isMultibyte          = true
big5.isMultibyte            = true
big5-hkscs.isMultibyte      = true
x-euc-tw.isMultibyte        = true
gb2312.isMultibyte          = true
hz-gb-2312.isMultibyte      = true
iso-2022-kr.isMultibyte     = true
euc-kr.isMultibyte          = true
x-johab.isMultibyte         = true
utf-7.isMultibyte           = true
utf-8.isMultibyte           = true
