blob: c61439045d0e3c35e339dd658edccea390f81dce [file] [log] [blame]
Matthias Andreas Benkard832a54e2019-01-29 09:27:38 +01001// Copyright 2015 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package htmlindex
6
7import (
8 "golang.org/x/text/encoding"
9 "golang.org/x/text/encoding/charmap"
10 "golang.org/x/text/encoding/internal/identifier"
11 "golang.org/x/text/encoding/japanese"
12 "golang.org/x/text/encoding/korean"
13 "golang.org/x/text/encoding/simplifiedchinese"
14 "golang.org/x/text/encoding/traditionalchinese"
15 "golang.org/x/text/encoding/unicode"
16)
17
18// mibMap maps a MIB identifier to an htmlEncoding index.
19var mibMap = map[identifier.MIB]htmlEncoding{
20 identifier.UTF8: utf8,
21 identifier.UTF16BE: utf16be,
22 identifier.UTF16LE: utf16le,
23 identifier.IBM866: ibm866,
24 identifier.ISOLatin2: iso8859_2,
25 identifier.ISOLatin3: iso8859_3,
26 identifier.ISOLatin4: iso8859_4,
27 identifier.ISOLatinCyrillic: iso8859_5,
28 identifier.ISOLatinArabic: iso8859_6,
29 identifier.ISOLatinGreek: iso8859_7,
30 identifier.ISOLatinHebrew: iso8859_8,
31 identifier.ISO88598I: iso8859_8I,
32 identifier.ISOLatin6: iso8859_10,
33 identifier.ISO885913: iso8859_13,
34 identifier.ISO885914: iso8859_14,
35 identifier.ISO885915: iso8859_15,
36 identifier.ISO885916: iso8859_16,
37 identifier.KOI8R: koi8r,
38 identifier.KOI8U: koi8u,
39 identifier.Macintosh: macintosh,
40 identifier.MacintoshCyrillic: macintoshCyrillic,
41 identifier.Windows874: windows874,
42 identifier.Windows1250: windows1250,
43 identifier.Windows1251: windows1251,
44 identifier.Windows1252: windows1252,
45 identifier.Windows1253: windows1253,
46 identifier.Windows1254: windows1254,
47 identifier.Windows1255: windows1255,
48 identifier.Windows1256: windows1256,
49 identifier.Windows1257: windows1257,
50 identifier.Windows1258: windows1258,
51 identifier.XUserDefined: xUserDefined,
52 identifier.GBK: gbk,
53 identifier.GB18030: gb18030,
54 identifier.Big5: big5,
55 identifier.EUCPkdFmtJapanese: eucjp,
56 identifier.ISO2022JP: iso2022jp,
57 identifier.ShiftJIS: shiftJIS,
58 identifier.EUCKR: euckr,
59 identifier.Replacement: replacement,
60}
61
62// encodings maps the internal htmlEncoding to an Encoding.
63// TODO: consider using a reusable index in encoding/internal.
64var encodings = [numEncodings]encoding.Encoding{
65 utf8: unicode.UTF8,
66 ibm866: charmap.CodePage866,
67 iso8859_2: charmap.ISO8859_2,
68 iso8859_3: charmap.ISO8859_3,
69 iso8859_4: charmap.ISO8859_4,
70 iso8859_5: charmap.ISO8859_5,
71 iso8859_6: charmap.ISO8859_6,
72 iso8859_7: charmap.ISO8859_7,
73 iso8859_8: charmap.ISO8859_8,
74 iso8859_8I: charmap.ISO8859_8I,
75 iso8859_10: charmap.ISO8859_10,
76 iso8859_13: charmap.ISO8859_13,
77 iso8859_14: charmap.ISO8859_14,
78 iso8859_15: charmap.ISO8859_15,
79 iso8859_16: charmap.ISO8859_16,
80 koi8r: charmap.KOI8R,
81 koi8u: charmap.KOI8U,
82 macintosh: charmap.Macintosh,
83 windows874: charmap.Windows874,
84 windows1250: charmap.Windows1250,
85 windows1251: charmap.Windows1251,
86 windows1252: charmap.Windows1252,
87 windows1253: charmap.Windows1253,
88 windows1254: charmap.Windows1254,
89 windows1255: charmap.Windows1255,
90 windows1256: charmap.Windows1256,
91 windows1257: charmap.Windows1257,
92 windows1258: charmap.Windows1258,
93 macintoshCyrillic: charmap.MacintoshCyrillic,
94 gbk: simplifiedchinese.GBK,
95 gb18030: simplifiedchinese.GB18030,
96 big5: traditionalchinese.Big5,
97 eucjp: japanese.EUCJP,
98 iso2022jp: japanese.ISO2022JP,
99 shiftJIS: japanese.ShiftJIS,
100 euckr: korean.EUCKR,
101 replacement: encoding.Replacement,
102 utf16be: unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM),
103 utf16le: unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM),
104 xUserDefined: charmap.XUserDefined,
105}