106 lines
4.0 KiB
Go
106 lines
4.0 KiB
Go
|
// Copyright 2015 The Go Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
package htmlindex
|
||
|
|
||
|
import (
|
||
|
"golang.org/x/text/encoding"
|
||
|
"golang.org/x/text/encoding/charmap"
|
||
|
"golang.org/x/text/encoding/internal/identifier"
|
||
|
"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"
|
||
|
)
|
||
|
|
||
|
// mibMap maps a MIB identifier to an htmlEncoding index.
|
||
|
var mibMap = map[identifier.MIB]htmlEncoding{
|
||
|
identifier.UTF8: utf8,
|
||
|
identifier.UTF16BE: utf16be,
|
||
|
identifier.UTF16LE: utf16le,
|
||
|
identifier.IBM866: ibm866,
|
||
|
identifier.ISOLatin2: iso8859_2,
|
||
|
identifier.ISOLatin3: iso8859_3,
|
||
|
identifier.ISOLatin4: iso8859_4,
|
||
|
identifier.ISOLatinCyrillic: iso8859_5,
|
||
|
identifier.ISOLatinArabic: iso8859_6,
|
||
|
identifier.ISOLatinGreek: iso8859_7,
|
||
|
identifier.ISOLatinHebrew: iso8859_8,
|
||
|
identifier.ISO88598I: iso8859_8I,
|
||
|
identifier.ISOLatin6: iso8859_10,
|
||
|
identifier.ISO885913: iso8859_13,
|
||
|
identifier.ISO885914: iso8859_14,
|
||
|
identifier.ISO885915: iso8859_15,
|
||
|
identifier.ISO885916: iso8859_16,
|
||
|
identifier.KOI8R: koi8r,
|
||
|
identifier.KOI8U: koi8u,
|
||
|
identifier.Macintosh: macintosh,
|
||
|
identifier.MacintoshCyrillic: macintoshCyrillic,
|
||
|
identifier.Windows874: windows874,
|
||
|
identifier.Windows1250: windows1250,
|
||
|
identifier.Windows1251: windows1251,
|
||
|
identifier.Windows1252: windows1252,
|
||
|
identifier.Windows1253: windows1253,
|
||
|
identifier.Windows1254: windows1254,
|
||
|
identifier.Windows1255: windows1255,
|
||
|
identifier.Windows1256: windows1256,
|
||
|
identifier.Windows1257: windows1257,
|
||
|
identifier.Windows1258: windows1258,
|
||
|
identifier.XUserDefined: xUserDefined,
|
||
|
identifier.GBK: gbk,
|
||
|
identifier.GB18030: gb18030,
|
||
|
identifier.Big5: big5,
|
||
|
identifier.EUCPkdFmtJapanese: eucjp,
|
||
|
identifier.ISO2022JP: iso2022jp,
|
||
|
identifier.ShiftJIS: shiftJIS,
|
||
|
identifier.EUCKR: euckr,
|
||
|
identifier.Replacement: replacement,
|
||
|
}
|
||
|
|
||
|
// encodings maps the internal htmlEncoding to an Encoding.
|
||
|
// TODO: consider using a reusable index in encoding/internal.
|
||
|
var encodings = [numEncodings]encoding.Encoding{
|
||
|
utf8: unicode.UTF8,
|
||
|
ibm866: charmap.CodePage866,
|
||
|
iso8859_2: charmap.ISO8859_2,
|
||
|
iso8859_3: charmap.ISO8859_3,
|
||
|
iso8859_4: charmap.ISO8859_4,
|
||
|
iso8859_5: charmap.ISO8859_5,
|
||
|
iso8859_6: charmap.ISO8859_6,
|
||
|
iso8859_7: charmap.ISO8859_7,
|
||
|
iso8859_8: charmap.ISO8859_8,
|
||
|
iso8859_8I: charmap.ISO8859_8I,
|
||
|
iso8859_10: charmap.ISO8859_10,
|
||
|
iso8859_13: charmap.ISO8859_13,
|
||
|
iso8859_14: charmap.ISO8859_14,
|
||
|
iso8859_15: charmap.ISO8859_15,
|
||
|
iso8859_16: charmap.ISO8859_16,
|
||
|
koi8r: charmap.KOI8R,
|
||
|
koi8u: charmap.KOI8U,
|
||
|
macintosh: charmap.Macintosh,
|
||
|
windows874: charmap.Windows874,
|
||
|
windows1250: charmap.Windows1250,
|
||
|
windows1251: charmap.Windows1251,
|
||
|
windows1252: charmap.Windows1252,
|
||
|
windows1253: charmap.Windows1253,
|
||
|
windows1254: charmap.Windows1254,
|
||
|
windows1255: charmap.Windows1255,
|
||
|
windows1256: charmap.Windows1256,
|
||
|
windows1257: charmap.Windows1257,
|
||
|
windows1258: charmap.Windows1258,
|
||
|
macintoshCyrillic: charmap.MacintoshCyrillic,
|
||
|
gbk: simplifiedchinese.GBK,
|
||
|
gb18030: simplifiedchinese.GB18030,
|
||
|
big5: traditionalchinese.Big5,
|
||
|
eucjp: japanese.EUCJP,
|
||
|
iso2022jp: japanese.ISO2022JP,
|
||
|
shiftJIS: japanese.ShiftJIS,
|
||
|
euckr: korean.EUCKR,
|
||
|
replacement: encoding.Replacement,
|
||
|
utf16be: unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM),
|
||
|
utf16le: unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM),
|
||
|
xUserDefined: charmap.XUserDefined,
|
||
|
}
|