1
0
Fork 0
forked from forgejo/forgejo

Integrate public as bindata optionally (#293)

* Dropped unused codekit config

* Integrated dynamic and static bindata for public

* Ignore public bindata

* Add a general generate make task

* Integrated flexible public assets into web command

* Updated vendoring, added all missiong govendor deps

* Made the linter happy with the bindata and dynamic code

* Moved public bindata definition to modules directory

* Ignoring the new bindata path now

* Updated to the new public modules import path

* Updated public bindata command and drop the new prefix
This commit is contained in:
Thomas Boerger 2016-11-29 17:26:36 +01:00 committed by Lunny Xiao
parent 4680c349dd
commit b6a95a8cb3
691 changed files with 305318 additions and 1272 deletions

369
vendor/github.com/pingcap/tidb/util/charset/charset.go generated vendored Normal file
View file

@ -0,0 +1,369 @@
// Copyright 2015 PingCAP, Inc.
//
// Licensed 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,
// See the License for the specific language governing permissions and
// limitations under the License.
package charset
import (
"strings"
"github.com/juju/errors"
)
// Charset is a charset.
// Now we only support MySQL.
type Charset struct {
Name string
DefaultCollation *Collation
Collations map[string]*Collation
Desc string
Maxlen int
}
// Collation is a collation.
// Now we only support MySQL.
type Collation struct {
ID int
CharsetName string
Name string
IsDefault bool
}
var charsets = make(map[string]*Charset)
// All the supported charsets should be in the following table.
var charsetInfos = []*Charset{
{"utf8", nil, make(map[string]*Collation), "UTF-8 Unicode", 3},
{"latin1", nil, make(map[string]*Collation), "cp1252 West European", 1},
{"utf8mb4", nil, make(map[string]*Collation), "UTF-8 Unicode", 4},
{"ascii", nil, make(map[string]*Collation), "US ASCII", 1},
}
func init() {
for _, c := range charsetInfos {
charsets[c.Name] = c
}
for _, c := range collations {
charset, ok := charsets[c.CharsetName]
if !ok {
continue
}
charset.Collations[c.Name] = c
if c.IsDefault {
charset.DefaultCollation = c
}
}
}
// Desc is a charset description.
type Desc struct {
Name string
Desc string
DefaultCollation string
Maxlen int
}
// GetAllCharsets gets all charset descriptions in the local charsets.
func GetAllCharsets() []*Desc {
descs := make([]*Desc, 0, len(charsets))
// The charsetInfos is an array, so the iterate order will be stable.
for _, ci := range charsetInfos {
c, ok := charsets[ci.Name]
if !ok {
continue
}
desc := &Desc{
Name: c.Name,
DefaultCollation: c.DefaultCollation.Name,
Desc: c.Desc,
Maxlen: c.Maxlen,
}
descs = append(descs, desc)
}
return descs
}
// ValidCharsetAndCollation checks the charset and the collation validity
// and retuns a boolean.
func ValidCharsetAndCollation(cs string, co string) bool {
// We will use utf8 as a default charset.
if cs == "" {
cs = "utf8"
}
c, ok := charsets[cs]
if !ok {
return false
}
if co == "" {
return true
}
_, ok = c.Collations[co]
if !ok {
return false
}
return true
}
// GetDefaultCollation returns the default collation for charset
func GetDefaultCollation(charset string) (string, error) {
c, ok := charsets[charset]
if !ok {
return "", errors.Errorf("Unkown charset %s", charset)
}
return c.DefaultCollation.Name, nil
}
// GetCharsetInfo returns charset and collation for cs as name.
func GetCharsetInfo(cs string) (string, string, error) {
c, ok := charsets[strings.ToLower(cs)]
if !ok {
return "", "", errors.Errorf("Unknown charset %s", cs)
}
return c.Name, c.DefaultCollation.Name, nil
}
// GetCollations returns a list for all collations.
func GetCollations() []*Collation {
return collations
}
const (
// CharsetBin is used for marking binary charset.
CharsetBin = "binary"
// CollationBin is the default collation for CharsetBin.
CollationBin = "binary"
)
var collations = []*Collation{
{1, "big5", "big5_chinese_ci", true},
{2, "latin2", "latin2_czech_cs", false},
{3, "dec8", "dec8_swedish_ci", true},
{4, "cp850", "cp850_general_ci", true},
{5, "latin1", "latin1_german1_ci", false},
{6, "hp8", "hp8_english_ci", true},
{7, "koi8r", "koi8r_general_ci", true},
{8, "latin1", "latin1_swedish_ci", true},
{9, "latin2", "latin2_general_ci", true},
{10, "swe7", "swe7_swedish_ci", true},
{11, "ascii", "ascii_general_ci", true},
{12, "ujis", "ujis_japanese_ci", true},
{13, "sjis", "sjis_japanese_ci", true},
{14, "cp1251", "cp1251_bulgarian_ci", false},
{15, "latin1", "latin1_danish_ci", false},
{16, "hebrew", "hebrew_general_ci", true},
{18, "tis620", "tis620_thai_ci", true},
{19, "euckr", "euckr_korean_ci", true},
{20, "latin7", "latin7_estonian_cs", false},
{21, "latin2", "latin2_hungarian_ci", false},
{22, "koi8u", "koi8u_general_ci", true},
{23, "cp1251", "cp1251_ukrainian_ci", false},
{24, "gb2312", "gb2312_chinese_ci", true},
{25, "greek", "greek_general_ci", true},
{26, "cp1250", "cp1250_general_ci", true},
{27, "latin2", "latin2_croatian_ci", false},
{28, "gbk", "gbk_chinese_ci", true},
{29, "cp1257", "cp1257_lithuanian_ci", false},
{30, "latin5", "latin5_turkish_ci", true},
{31, "latin1", "latin1_german2_ci", false},
{32, "armscii8", "armscii8_general_ci", true},
{33, "utf8", "utf8_general_ci", true},
{34, "cp1250", "cp1250_czech_cs", false},
{35, "ucs2", "ucs2_general_ci", true},
{36, "cp866", "cp866_general_ci", true},
{37, "keybcs2", "keybcs2_general_ci", true},
{38, "macce", "macce_general_ci", true},
{39, "macroman", "macroman_general_ci", true},
{40, "cp852", "cp852_general_ci", true},
{41, "latin7", "latin7_general_ci", true},
{42, "latin7", "latin7_general_cs", false},
{43, "macce", "macce_bin", false},
{44, "cp1250", "cp1250_croatian_ci", false},
{45, "utf8mb4", "utf8mb4_general_ci", true},
{46, "utf8mb4", "utf8mb4_bin", false},
{47, "latin1", "latin1_bin", false},
{48, "latin1", "latin1_general_ci", false},
{49, "latin1", "latin1_general_cs", false},
{50, "cp1251", "cp1251_bin", false},
{51, "cp1251", "cp1251_general_ci", true},
{52, "cp1251", "cp1251_general_cs", false},
{53, "macroman", "macroman_bin", false},
{54, "utf16", "utf16_general_ci", true},
{55, "utf16", "utf16_bin", false},
{56, "utf16le", "utf16le_general_ci", true},
{57, "cp1256", "cp1256_general_ci", true},
{58, "cp1257", "cp1257_bin", false},
{59, "cp1257", "cp1257_general_ci", true},
{60, "utf32", "utf32_general_ci", true},
{61, "utf32", "utf32_bin", false},
{62, "utf16le", "utf16le_bin", false},
{63, "binary", "binary", true},
{64, "armscii8", "armscii8_bin", false},
{65, "ascii", "ascii_bin", false},
{66, "cp1250", "cp1250_bin", false},
{67, "cp1256", "cp1256_bin", false},
{68, "cp866", "cp866_bin", false},
{69, "dec8", "dec8_bin", false},
{70, "greek", "greek_bin", false},
{71, "hebrew", "hebrew_bin", false},
{72, "hp8", "hp8_bin", false},
{73, "keybcs2", "keybcs2_bin", false},
{74, "koi8r", "koi8r_bin", false},
{75, "koi8u", "koi8u_bin", false},
{77, "latin2", "latin2_bin", false},
{78, "latin5", "latin5_bin", false},
{79, "latin7", "latin7_bin", false},
{80, "cp850", "cp850_bin", false},
{81, "cp852", "cp852_bin", false},
{82, "swe7", "swe7_bin", false},
{83, "utf8", "utf8_bin", false},
{84, "big5", "big5_bin", false},
{85, "euckr", "euckr_bin", false},
{86, "gb2312", "gb2312_bin", false},
{87, "gbk", "gbk_bin", false},
{88, "sjis", "sjis_bin", false},
{89, "tis620", "tis620_bin", false},
{90, "ucs2", "ucs2_bin", false},
{91, "ujis", "ujis_bin", false},
{92, "geostd8", "geostd8_general_ci", true},
{93, "geostd8", "geostd8_bin", false},
{94, "latin1", "latin1_spanish_ci", false},
{95, "cp932", "cp932_japanese_ci", true},
{96, "cp932", "cp932_bin", false},
{97, "eucjpms", "eucjpms_japanese_ci", true},
{98, "eucjpms", "eucjpms_bin", false},
{99, "cp1250", "cp1250_polish_ci", false},
{101, "utf16", "utf16_unicode_ci", false},
{102, "utf16", "utf16_icelandic_ci", false},
{103, "utf16", "utf16_latvian_ci", false},
{104, "utf16", "utf16_romanian_ci", false},
{105, "utf16", "utf16_slovenian_ci", false},
{106, "utf16", "utf16_polish_ci", false},
{107, "utf16", "utf16_estonian_ci", false},
{108, "utf16", "utf16_spanish_ci", false},
{109, "utf16", "utf16_swedish_ci", false},
{110, "utf16", "utf16_turkish_ci", false},
{111, "utf16", "utf16_czech_ci", false},
{112, "utf16", "utf16_danish_ci", false},
{113, "utf16", "utf16_lithuanian_ci", false},
{114, "utf16", "utf16_slovak_ci", false},
{115, "utf16", "utf16_spanish2_ci", false},
{116, "utf16", "utf16_roman_ci", false},
{117, "utf16", "utf16_persian_ci", false},
{118, "utf16", "utf16_esperanto_ci", false},
{119, "utf16", "utf16_hungarian_ci", false},
{120, "utf16", "utf16_sinhala_ci", false},
{121, "utf16", "utf16_german2_ci", false},
{122, "utf16", "utf16_croatian_ci", false},
{123, "utf16", "utf16_unicode_520_ci", false},
{124, "utf16", "utf16_vietnamese_ci", false},
{128, "ucs2", "ucs2_unicode_ci", false},
{129, "ucs2", "ucs2_icelandic_ci", false},
{130, "ucs2", "ucs2_latvian_ci", false},
{131, "ucs2", "ucs2_romanian_ci", false},
{132, "ucs2", "ucs2_slovenian_ci", false},
{133, "ucs2", "ucs2_polish_ci", false},
{134, "ucs2", "ucs2_estonian_ci", false},
{135, "ucs2", "ucs2_spanish_ci", false},
{136, "ucs2", "ucs2_swedish_ci", false},
{137, "ucs2", "ucs2_turkish_ci", false},
{138, "ucs2", "ucs2_czech_ci", false},
{139, "ucs2", "ucs2_danish_ci", false},
{140, "ucs2", "ucs2_lithuanian_ci", false},
{141, "ucs2", "ucs2_slovak_ci", false},
{142, "ucs2", "ucs2_spanish2_ci", false},
{143, "ucs2", "ucs2_roman_ci", false},
{144, "ucs2", "ucs2_persian_ci", false},
{145, "ucs2", "ucs2_esperanto_ci", false},
{146, "ucs2", "ucs2_hungarian_ci", false},
{147, "ucs2", "ucs2_sinhala_ci", false},
{148, "ucs2", "ucs2_german2_ci", false},
{149, "ucs2", "ucs2_croatian_ci", false},
{150, "ucs2", "ucs2_unicode_520_ci", false},
{151, "ucs2", "ucs2_vietnamese_ci", false},
{159, "ucs2", "ucs2_general_mysql500_ci", false},
{160, "utf32", "utf32_unicode_ci", false},
{161, "utf32", "utf32_icelandic_ci", false},
{162, "utf32", "utf32_latvian_ci", false},
{163, "utf32", "utf32_romanian_ci", false},
{164, "utf32", "utf32_slovenian_ci", false},
{165, "utf32", "utf32_polish_ci", false},
{166, "utf32", "utf32_estonian_ci", false},
{167, "utf32", "utf32_spanish_ci", false},
{168, "utf32", "utf32_swedish_ci", false},
{169, "utf32", "utf32_turkish_ci", false},
{170, "utf32", "utf32_czech_ci", false},
{171, "utf32", "utf32_danish_ci", false},
{172, "utf32", "utf32_lithuanian_ci", false},
{173, "utf32", "utf32_slovak_ci", false},
{174, "utf32", "utf32_spanish2_ci", false},
{175, "utf32", "utf32_roman_ci", false},
{176, "utf32", "utf32_persian_ci", false},
{177, "utf32", "utf32_esperanto_ci", false},
{178, "utf32", "utf32_hungarian_ci", false},
{179, "utf32", "utf32_sinhala_ci", false},
{180, "utf32", "utf32_german2_ci", false},
{181, "utf32", "utf32_croatian_ci", false},
{182, "utf32", "utf32_unicode_520_ci", false},
{183, "utf32", "utf32_vietnamese_ci", false},
{192, "utf8", "utf8_unicode_ci", false},
{193, "utf8", "utf8_icelandic_ci", false},
{194, "utf8", "utf8_latvian_ci", false},
{195, "utf8", "utf8_romanian_ci", false},
{196, "utf8", "utf8_slovenian_ci", false},
{197, "utf8", "utf8_polish_ci", false},
{198, "utf8", "utf8_estonian_ci", false},
{199, "utf8", "utf8_spanish_ci", false},
{200, "utf8", "utf8_swedish_ci", false},
{201, "utf8", "utf8_turkish_ci", false},
{202, "utf8", "utf8_czech_ci", false},
{203, "utf8", "utf8_danish_ci", false},
{204, "utf8", "utf8_lithuanian_ci", false},
{205, "utf8", "utf8_slovak_ci", false},
{206, "utf8", "utf8_spanish2_ci", false},
{207, "utf8", "utf8_roman_ci", false},
{208, "utf8", "utf8_persian_ci", false},
{209, "utf8", "utf8_esperanto_ci", false},
{210, "utf8", "utf8_hungarian_ci", false},
{211, "utf8", "utf8_sinhala_ci", false},
{212, "utf8", "utf8_german2_ci", false},
{213, "utf8", "utf8_croatian_ci", false},
{214, "utf8", "utf8_unicode_520_ci", false},
{215, "utf8", "utf8_vietnamese_ci", false},
{223, "utf8", "utf8_general_mysql500_ci", false},
{224, "utf8mb4", "utf8mb4_unicode_ci", false},
{225, "utf8mb4", "utf8mb4_icelandic_ci", false},
{226, "utf8mb4", "utf8mb4_latvian_ci", false},
{227, "utf8mb4", "utf8mb4_romanian_ci", false},
{228, "utf8mb4", "utf8mb4_slovenian_ci", false},
{229, "utf8mb4", "utf8mb4_polish_ci", false},
{230, "utf8mb4", "utf8mb4_estonian_ci", false},
{231, "utf8mb4", "utf8mb4_spanish_ci", false},
{232, "utf8mb4", "utf8mb4_swedish_ci", false},
{233, "utf8mb4", "utf8mb4_turkish_ci", false},
{234, "utf8mb4", "utf8mb4_czech_ci", false},
{235, "utf8mb4", "utf8mb4_danish_ci", false},
{236, "utf8mb4", "utf8mb4_lithuanian_ci", false},
{237, "utf8mb4", "utf8mb4_slovak_ci", false},
{238, "utf8mb4", "utf8mb4_spanish2_ci", false},
{239, "utf8mb4", "utf8mb4_roman_ci", false},
{240, "utf8mb4", "utf8mb4_persian_ci", false},
{241, "utf8mb4", "utf8mb4_esperanto_ci", false},
{242, "utf8mb4", "utf8mb4_hungarian_ci", false},
{243, "utf8mb4", "utf8mb4_sinhala_ci", false},
{244, "utf8mb4", "utf8mb4_german2_ci", false},
{245, "utf8mb4", "utf8mb4_croatian_ci", false},
{246, "utf8mb4", "utf8mb4_unicode_520_ci", false},
{247, "utf8mb4", "utf8mb4_vietnamese_ci", false},
}

View file

@ -0,0 +1,258 @@
// Copyright 2015 PingCAP, Inc.
//
// Licensed 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,
// See the License for the specific language governing permissions and
// limitations under the License.
package charset
import (
"strings"
"golang.org/x/text/encoding"
"golang.org/x/text/encoding/charmap"
"golang.org/x/text/encoding/japanese"
"golang.org/x/text/encoding/korean"
"golang.org/x/text/encoding/simplifiedchinese"
"golang.org/x/text/encoding/traditionalchinese"
"golang.org/x/text/encoding/unicode"
)
// Lookup returns the encoding with the specified label, and its canonical
// name. It returns nil and the empty string if label is not one of the
// standard encodings for HTML. Matching is case-insensitive and ignores
// leading and trailing whitespace.
func Lookup(label string) (e encoding.Encoding, name string) {
label = strings.ToLower(strings.Trim(label, "\t\n\r\f "))
enc := encodings[label]
return enc.e, enc.name
}
var encodings = map[string]struct {
e encoding.Encoding
name string
}{
"unicode-1-1-utf-8": {encoding.Nop, "utf-8"},
"utf-8": {encoding.Nop, "utf-8"},
"utf8": {encoding.Nop, "utf-8"},
"866": {charmap.CodePage866, "ibm866"},
"cp866": {charmap.CodePage866, "ibm866"},
"csibm866": {charmap.CodePage866, "ibm866"},
"ibm866": {charmap.CodePage866, "ibm866"},
"csisolatin2": {charmap.ISO8859_2, "iso-8859-2"},
"iso-8859-2": {charmap.ISO8859_2, "iso-8859-2"},
"iso-ir-101": {charmap.ISO8859_2, "iso-8859-2"},
"iso8859-2": {charmap.ISO8859_2, "iso-8859-2"},
"iso88592": {charmap.ISO8859_2, "iso-8859-2"},
"iso_8859-2": {charmap.ISO8859_2, "iso-8859-2"},
"iso_8859-2:1987": {charmap.ISO8859_2, "iso-8859-2"},
"l2": {charmap.ISO8859_2, "iso-8859-2"},
"latin2": {charmap.ISO8859_2, "iso-8859-2"},
"csisolatin3": {charmap.ISO8859_3, "iso-8859-3"},
"iso-8859-3": {charmap.ISO8859_3, "iso-8859-3"},
"iso-ir-109": {charmap.ISO8859_3, "iso-8859-3"},
"iso8859-3": {charmap.ISO8859_3, "iso-8859-3"},
"iso88593": {charmap.ISO8859_3, "iso-8859-3"},
"iso_8859-3": {charmap.ISO8859_3, "iso-8859-3"},
"iso_8859-3:1988": {charmap.ISO8859_3, "iso-8859-3"},
"l3": {charmap.ISO8859_3, "iso-8859-3"},
"latin3": {charmap.ISO8859_3, "iso-8859-3"},
"csisolatin4": {charmap.ISO8859_4, "iso-8859-4"},
"iso-8859-4": {charmap.ISO8859_4, "iso-8859-4"},
"iso-ir-110": {charmap.ISO8859_4, "iso-8859-4"},
"iso8859-4": {charmap.ISO8859_4, "iso-8859-4"},
"iso88594": {charmap.ISO8859_4, "iso-8859-4"},
"iso_8859-4": {charmap.ISO8859_4, "iso-8859-4"},
"iso_8859-4:1988": {charmap.ISO8859_4, "iso-8859-4"},
"l4": {charmap.ISO8859_4, "iso-8859-4"},
"latin4": {charmap.ISO8859_4, "iso-8859-4"},
"csisolatincyrillic": {charmap.ISO8859_5, "iso-8859-5"},
"cyrillic": {charmap.ISO8859_5, "iso-8859-5"},
"iso-8859-5": {charmap.ISO8859_5, "iso-8859-5"},
"iso-ir-144": {charmap.ISO8859_5, "iso-8859-5"},
"iso8859-5": {charmap.ISO8859_5, "iso-8859-5"},
"iso88595": {charmap.ISO8859_5, "iso-8859-5"},
"iso_8859-5": {charmap.ISO8859_5, "iso-8859-5"},
"iso_8859-5:1988": {charmap.ISO8859_5, "iso-8859-5"},
"arabic": {charmap.ISO8859_6, "iso-8859-6"},
"asmo-708": {charmap.ISO8859_6, "iso-8859-6"},
"csiso88596e": {charmap.ISO8859_6, "iso-8859-6"},
"csiso88596i": {charmap.ISO8859_6, "iso-8859-6"},
"csisolatinarabic": {charmap.ISO8859_6, "iso-8859-6"},
"ecma-114": {charmap.ISO8859_6, "iso-8859-6"},
"iso-8859-6": {charmap.ISO8859_6, "iso-8859-6"},
"iso-8859-6-e": {charmap.ISO8859_6, "iso-8859-6"},
"iso-8859-6-i": {charmap.ISO8859_6, "iso-8859-6"},
"iso-ir-127": {charmap.ISO8859_6, "iso-8859-6"},
"iso8859-6": {charmap.ISO8859_6, "iso-8859-6"},
"iso88596": {charmap.ISO8859_6, "iso-8859-6"},
"iso_8859-6": {charmap.ISO8859_6, "iso-8859-6"},
"iso_8859-6:1987": {charmap.ISO8859_6, "iso-8859-6"},
"csisolatingreek": {charmap.ISO8859_7, "iso-8859-7"},
"ecma-118": {charmap.ISO8859_7, "iso-8859-7"},
"elot_928": {charmap.ISO8859_7, "iso-8859-7"},
"greek": {charmap.ISO8859_7, "iso-8859-7"},
"greek8": {charmap.ISO8859_7, "iso-8859-7"},
"iso-8859-7": {charmap.ISO8859_7, "iso-8859-7"},
"iso-ir-126": {charmap.ISO8859_7, "iso-8859-7"},
"iso8859-7": {charmap.ISO8859_7, "iso-8859-7"},
"iso88597": {charmap.ISO8859_7, "iso-8859-7"},
"iso_8859-7": {charmap.ISO8859_7, "iso-8859-7"},
"iso_8859-7:1987": {charmap.ISO8859_7, "iso-8859-7"},
"sun_eu_greek": {charmap.ISO8859_7, "iso-8859-7"},
"csiso88598e": {charmap.ISO8859_8, "iso-8859-8"},
"csisolatinhebrew": {charmap.ISO8859_8, "iso-8859-8"},
"hebrew": {charmap.ISO8859_8, "iso-8859-8"},
"iso-8859-8": {charmap.ISO8859_8, "iso-8859-8"},
"iso-8859-8-e": {charmap.ISO8859_8, "iso-8859-8"},
"iso-ir-138": {charmap.ISO8859_8, "iso-8859-8"},
"iso8859-8": {charmap.ISO8859_8, "iso-8859-8"},
"iso88598": {charmap.ISO8859_8, "iso-8859-8"},
"iso_8859-8": {charmap.ISO8859_8, "iso-8859-8"},
"iso_8859-8:1988": {charmap.ISO8859_8, "iso-8859-8"},
"visual": {charmap.ISO8859_8, "iso-8859-8"},
"csiso88598i": {charmap.ISO8859_8, "iso-8859-8-i"},
"iso-8859-8-i": {charmap.ISO8859_8, "iso-8859-8-i"},
"logical": {charmap.ISO8859_8, "iso-8859-8-i"},
"csisolatin6": {charmap.ISO8859_10, "iso-8859-10"},
"iso-8859-10": {charmap.ISO8859_10, "iso-8859-10"},
"iso-ir-157": {charmap.ISO8859_10, "iso-8859-10"},
"iso8859-10": {charmap.ISO8859_10, "iso-8859-10"},
"iso885910": {charmap.ISO8859_10, "iso-8859-10"},
"l6": {charmap.ISO8859_10, "iso-8859-10"},
"latin6": {charmap.ISO8859_10, "iso-8859-10"},
"iso-8859-13": {charmap.ISO8859_13, "iso-8859-13"},
"iso8859-13": {charmap.ISO8859_13, "iso-8859-13"},
"iso885913": {charmap.ISO8859_13, "iso-8859-13"},
"iso-8859-14": {charmap.ISO8859_14, "iso-8859-14"},
"iso8859-14": {charmap.ISO8859_14, "iso-8859-14"},
"iso885914": {charmap.ISO8859_14, "iso-8859-14"},
"csisolatin9": {charmap.ISO8859_15, "iso-8859-15"},
"iso-8859-15": {charmap.ISO8859_15, "iso-8859-15"},
"iso8859-15": {charmap.ISO8859_15, "iso-8859-15"},
"iso885915": {charmap.ISO8859_15, "iso-8859-15"},
"iso_8859-15": {charmap.ISO8859_15, "iso-8859-15"},
"l9": {charmap.ISO8859_15, "iso-8859-15"},
"iso-8859-16": {charmap.ISO8859_16, "iso-8859-16"},
"cskoi8r": {charmap.KOI8R, "koi8-r"},
"koi": {charmap.KOI8R, "koi8-r"},
"koi8": {charmap.KOI8R, "koi8-r"},
"koi8-r": {charmap.KOI8R, "koi8-r"},
"koi8_r": {charmap.KOI8R, "koi8-r"},
"koi8-u": {charmap.KOI8U, "koi8-u"},
"csmacintosh": {charmap.Macintosh, "macintosh"},
"mac": {charmap.Macintosh, "macintosh"},
"macintosh": {charmap.Macintosh, "macintosh"},
"x-mac-roman": {charmap.Macintosh, "macintosh"},
"dos-874": {charmap.Windows874, "windows-874"},
"iso-8859-11": {charmap.Windows874, "windows-874"},
"iso8859-11": {charmap.Windows874, "windows-874"},
"iso885911": {charmap.Windows874, "windows-874"},
"tis-620": {charmap.Windows874, "windows-874"},
"windows-874": {charmap.Windows874, "windows-874"},
"cp1250": {charmap.Windows1250, "windows-1250"},
"windows-1250": {charmap.Windows1250, "windows-1250"},
"x-cp1250": {charmap.Windows1250, "windows-1250"},
"cp1251": {charmap.Windows1251, "windows-1251"},
"windows-1251": {charmap.Windows1251, "windows-1251"},
"x-cp1251": {charmap.Windows1251, "windows-1251"},
"ansi_x3.4-1968": {charmap.Windows1252, "windows-1252"},
"ascii": {charmap.Windows1252, "windows-1252"},
"cp1252": {charmap.Windows1252, "windows-1252"},
"cp819": {charmap.Windows1252, "windows-1252"},
"csisolatin1": {charmap.Windows1252, "windows-1252"},
"ibm819": {charmap.Windows1252, "windows-1252"},
"iso-8859-1": {charmap.Windows1252, "windows-1252"},
"iso-ir-100": {charmap.Windows1252, "windows-1252"},
"iso8859-1": {charmap.Windows1252, "windows-1252"},
"iso88591": {charmap.Windows1252, "windows-1252"},
"iso_8859-1": {charmap.Windows1252, "windows-1252"},
"iso_8859-1:1987": {charmap.Windows1252, "windows-1252"},
"l1": {charmap.Windows1252, "windows-1252"},
"latin1": {charmap.Windows1252, "windows-1252"},
"us-ascii": {charmap.Windows1252, "windows-1252"},
"windows-1252": {charmap.Windows1252, "windows-1252"},
"x-cp1252": {charmap.Windows1252, "windows-1252"},
"cp1253": {charmap.Windows1253, "windows-1253"},
"windows-1253": {charmap.Windows1253, "windows-1253"},
"x-cp1253": {charmap.Windows1253, "windows-1253"},
"cp1254": {charmap.Windows1254, "windows-1254"},
"csisolatin5": {charmap.Windows1254, "windows-1254"},
"iso-8859-9": {charmap.Windows1254, "windows-1254"},
"iso-ir-148": {charmap.Windows1254, "windows-1254"},
"iso8859-9": {charmap.Windows1254, "windows-1254"},
"iso88599": {charmap.Windows1254, "windows-1254"},
"iso_8859-9": {charmap.Windows1254, "windows-1254"},
"iso_8859-9:1989": {charmap.Windows1254, "windows-1254"},
"l5": {charmap.Windows1254, "windows-1254"},
"latin5": {charmap.Windows1254, "windows-1254"},
"windows-1254": {charmap.Windows1254, "windows-1254"},
"x-cp1254": {charmap.Windows1254, "windows-1254"},
"cp1255": {charmap.Windows1255, "windows-1255"},
"windows-1255": {charmap.Windows1255, "windows-1255"},
"x-cp1255": {charmap.Windows1255, "windows-1255"},
"cp1256": {charmap.Windows1256, "windows-1256"},
"windows-1256": {charmap.Windows1256, "windows-1256"},
"x-cp1256": {charmap.Windows1256, "windows-1256"},
"cp1257": {charmap.Windows1257, "windows-1257"},
"windows-1257": {charmap.Windows1257, "windows-1257"},
"x-cp1257": {charmap.Windows1257, "windows-1257"},
"cp1258": {charmap.Windows1258, "windows-1258"},
"windows-1258": {charmap.Windows1258, "windows-1258"},
"x-cp1258": {charmap.Windows1258, "windows-1258"},
"x-mac-cyrillic": {charmap.MacintoshCyrillic, "x-mac-cyrillic"},
"x-mac-ukrainian": {charmap.MacintoshCyrillic, "x-mac-cyrillic"},
"chinese": {simplifiedchinese.GBK, "gbk"},
"csgb2312": {simplifiedchinese.GBK, "gbk"},
"csiso58gb231280": {simplifiedchinese.GBK, "gbk"},
"gb2312": {simplifiedchinese.GBK, "gbk"},
"gb_2312": {simplifiedchinese.GBK, "gbk"},
"gb_2312-80": {simplifiedchinese.GBK, "gbk"},
"gbk": {simplifiedchinese.GBK, "gbk"},
"iso-ir-58": {simplifiedchinese.GBK, "gbk"},
"x-gbk": {simplifiedchinese.GBK, "gbk"},
"gb18030": {simplifiedchinese.GB18030, "gb18030"},
"hz-gb-2312": {simplifiedchinese.HZGB2312, "hz-gb-2312"},
"big5": {traditionalchinese.Big5, "big5"},
"big5-hkscs": {traditionalchinese.Big5, "big5"},
"cn-big5": {traditionalchinese.Big5, "big5"},
"csbig5": {traditionalchinese.Big5, "big5"},
"x-x-big5": {traditionalchinese.Big5, "big5"},
"cseucpkdfmtjapanese": {japanese.EUCJP, "euc-jp"},
"euc-jp": {japanese.EUCJP, "euc-jp"},
"x-euc-jp": {japanese.EUCJP, "euc-jp"},
"csiso2022jp": {japanese.ISO2022JP, "iso-2022-jp"},
"iso-2022-jp": {japanese.ISO2022JP, "iso-2022-jp"},
"csshiftjis": {japanese.ShiftJIS, "shift_jis"},
"ms_kanji": {japanese.ShiftJIS, "shift_jis"},
"shift-jis": {japanese.ShiftJIS, "shift_jis"},
"shift_jis": {japanese.ShiftJIS, "shift_jis"},
"sjis": {japanese.ShiftJIS, "shift_jis"},
"windows-31j": {japanese.ShiftJIS, "shift_jis"},
"x-sjis": {japanese.ShiftJIS, "shift_jis"},
"cseuckr": {korean.EUCKR, "euc-kr"},
"csksc56011987": {korean.EUCKR, "euc-kr"},
"euc-kr": {korean.EUCKR, "euc-kr"},
"iso-ir-149": {korean.EUCKR, "euc-kr"},
"korean": {korean.EUCKR, "euc-kr"},
"ks_c_5601-1987": {korean.EUCKR, "euc-kr"},
"ks_c_5601-1989": {korean.EUCKR, "euc-kr"},
"ksc5601": {korean.EUCKR, "euc-kr"},
"ksc_5601": {korean.EUCKR, "euc-kr"},
"windows-949": {korean.EUCKR, "euc-kr"},
"csiso2022kr": {encoding.Replacement, "replacement"},
"iso-2022-kr": {encoding.Replacement, "replacement"},
"iso-2022-cn": {encoding.Replacement, "replacement"},
"iso-2022-cn-ext": {encoding.Replacement, "replacement"},
"utf-16be": {unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM), "utf-16be"},
"utf-16": {unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM), "utf-16le"},
"utf-16le": {unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM), "utf-16le"},
"x-user-defined": {charmap.XUserDefined, "x-user-defined"},
}