// 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, }