map.go raw

   1  // 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  
   5  package htmlindex
   6  
   7  import (
   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.
  19  var 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.
  64  var 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  }
 106