1738 lines
58 KiB
Go
Raw Normal View History

/*
* This file is subject to the terms and conditions defined in
* file 'LICENSE.md', which is part of this source code package.
*/
// Implementations of the standard 1-byte encodings
// MacExpertEncoding
// MacRomanEncoding
// PdfDocEncoding
// StandardEncoding
// WinAnsiEncoding
// ZapfDingbatsEncoding
package textencoding
import (
"errors"
"fmt"
"sort"
2018-07-03 14:26:42 +10:00
"strings"
"github.com/unidoc/unidoc/common"
. "github.com/unidoc/unidoc/pdf/core"
)
var (
ErrTypeError = errors.New("Type check error")
)
// SimpleEncoder represents a 1 byte encoding
type SimpleEncoder struct {
baseName string
2018-07-03 14:26:42 +10:00
baseEncoding map[uint16]rune
differences map[byte]string
codeToGlyph map[uint16]string
glyphToCode map[string]uint16
codeToRune map[uint16]rune
2018-07-02 16:46:43 +10:00
}
// NewCustomSimpleTextEncoder returns a SimpleEncoder based on map `encoding` and difference map
// `differences`.
func NewCustomSimpleTextEncoder(encoding map[uint16]string, differences map[byte]string) (SimpleEncoder, error) {
baseName := "custom"
baseEncoding := map[uint16]rune{}
// common.Log.Debug("encoding=%#v", encoding)
for code, glyph := range encoding {
r, ok := GlyphToRune(glyph)
if !ok {
common.Log.Debug("ERROR: Unknown glyph. %q", glyph)
// return SimpleEncoder{}, ErrTypeError
2018-07-02 16:46:43 +10:00
}
baseEncoding[code] = r
}
return newSimpleTextEncoder(baseEncoding, baseName, differences)
}
// ApplyDifferences applies the encoding delta `differences` to `se`.
2018-07-03 14:26:42 +10:00
func (se *SimpleEncoder) ApplyDifferences(differences map[byte]string) {
se.differences = differences
se.makeEncoder()
}
// NewSimpleTextEncoder returns a SimpleEncoder based on predefined encoding `baseName` and
// difference map `differences`.
func NewSimpleTextEncoder(baseName string, differences map[byte]string) (SimpleEncoder, error) {
baseEncoding, ok := simpleEncodings[baseName]
if !ok {
common.Log.Debug("ERROR: NewSimpleTextEncoder. Unknown encoding %q", baseName)
return SimpleEncoder{}, errors.New("Unsupported font encoding")
}
2018-07-02 16:46:43 +10:00
return newSimpleTextEncoder(baseEncoding, baseName, differences)
}
// newSimpleTextEncoder returns a SimpleEncoder based on map `encoding` and difference map
// `differences`.
func newSimpleTextEncoder(baseEncoding map[uint16]rune, baseName string,
differences map[byte]string) (SimpleEncoder, error) {
2018-07-03 14:26:42 +10:00
se := SimpleEncoder{
baseName: baseName,
baseEncoding: baseEncoding,
differences: differences,
}
2018-07-03 14:26:42 +10:00
se.makeEncoder()
return se, nil
}
2018-07-03 14:26:42 +10:00
// simpleEncoderNumEntries is the maximum number of encoding entries shown in SimpleEncoder.String()
const simpleEncoderNumEntries = 1000
2018-07-03 14:26:42 +10:00
// String returns a string that describes `se`.
func (se SimpleEncoder) String() string {
2018-07-02 16:46:43 +10:00
name := se.baseName
if len(se.differences) > 0 {
2018-07-02 16:46:43 +10:00
name = fmt.Sprintf("%s(diff)", se.baseName)
}
2018-07-03 14:26:42 +10:00
parts := []string{
fmt.Sprintf("%#q %d entries %d differences", name, len(se.codeToGlyph), len(se.differences)),
fmt.Sprintf("differences=%+v", se.differences),
}
2018-07-02 16:46:43 +10:00
2018-07-03 14:26:42 +10:00
codes := []int{}
for c := range se.codeToGlyph {
codes = append(codes, int(c))
}
sort.Ints(codes)
numCodes := len(codes)
if numCodes > simpleEncoderNumEntries {
numCodes = simpleEncoderNumEntries
}
for i := 0; i < numCodes; i++ {
c := codes[i]
parts = append(parts, fmt.Sprintf("%4d=0x%02x: %q", c, c, se.codeToGlyph[uint16(c)]))
}
return fmt.Sprintf("SIMPLE_ENCODER{%s}", strings.Join(parts, ", "))
}
// Encode converts a Go unicode string `raw` to a PDF encoded string.
func (se SimpleEncoder) Encode(raw string) string {
return doEncode(se, raw)
}
// CharcodeToGlyph returns the glyph name for character code `code`.
// The bool return flag is true if there was a match, and false otherwise.
func (se SimpleEncoder) CharcodeToGlyph(code uint16) (string, bool) {
glyph, ok := se.codeToGlyph[code]
if !ok {
common.Log.Debug("Charcode -> Glyph error: charcode not found: 0x%04x", code)
}
return glyph, ok
}
// GlyphToCharcode returns character code for glyph `glyph`.
// The bool return flag is true if there was a match, and false otherwise.
func (se SimpleEncoder) GlyphToCharcode(glyph string) (uint16, bool) {
code, ok := se.glyphToCode[glyph]
if !ok {
common.Log.Debug("Glyph -> Charcode error: glyph not found: %q", glyph)
}
return code, ok
}
// RuneToCharcode returns the PDF character code corresponding to rune `r`.
// The bool return flag is true if there was a match, and false otherwise.
func (se SimpleEncoder) RuneToCharcode(val rune) (uint16, bool) {
return doRuneToCharcode(se, val)
}
// CharcodeToRune returns the rune corresponding to character code `code`.
// The bool return flag is true if there was a match, and false otherwise.
func (se SimpleEncoder) CharcodeToRune(code uint16) (rune, bool) {
2018-07-02 16:46:43 +10:00
r, ok := se.codeToRune[code]
if !ok {
common.Log.Debug("Charcode -> Rune error: charcode not found: 0x%04x", code)
}
return r, ok
}
// RuneToGlyph returns the glyph corresponding to rune `r`.
// The bool return flag is true if there was a match, and false otherwise.
func (se SimpleEncoder) RuneToGlyph(r rune) (string, bool) {
return runeToGlyph(r, glyphlistRuneToGlyphMap)
}
// GlyphToRune returns the rune corresponding to glyph `glyph`.
// The bool return flag is true if there was a match, and false otherwise.
func (se SimpleEncoder) GlyphToRune(glyph string) (rune, bool) {
return glyphToRune(glyph, glyphlistGlyphToRuneMap)
}
// ToPdfObject returns `se` as a PdfObject
func (se SimpleEncoder) ToPdfObject() PdfObject {
if se.differences == nil {
return MakeName(se.baseName)
}
dict := MakeDict()
dict.Set("Type", MakeName("Encoding"))
dict.Set("BaseEncoding", MakeName(se.baseName))
dict.Set("Differences", MakeArray(ToFontDifferences(se.differences)...))
return MakeIndirectObject(dict)
}
// makeEncoder returns a SimpleEncoder based on `codeToRune`.
2018-07-03 14:26:42 +10:00
func (se *SimpleEncoder) makeEncoder() {
codeToRune := map[uint16]rune{}
for code, r := range se.baseEncoding {
codeToRune[code] = r
}
if se.differences != nil {
for code, glyph := range se.differences {
r, ok := GlyphToRune(glyph)
if !ok {
common.Log.Debug("ERROR: No match for glyph=%q differences=%+v", glyph, se.differences)
}
codeToRune[uint16(code)] = r
}
}
codeToGlyph := map[uint16]string{}
glyphToCode := map[string]uint16{}
for code, r := range codeToRune {
2018-07-02 16:46:43 +10:00
glyph := glyphlistRuneToGlyphMap[r] // !@#$ Build out this map
codeToGlyph[code] = glyph
glyphToCode[glyph] = code
2018-07-02 16:46:43 +10:00
if glyph == "" {
common.Log.Debug("ERROR: Empty glyph code=0x%04x r=%+q=%#q", code, r, r)
}
}
2018-07-03 14:26:42 +10:00
se.codeToGlyph = codeToGlyph
se.glyphToCode = glyphToCode
se.codeToRune = codeToRune // XXX: !@#$ Make this a string
}
func FromFontDifferences(diffList []PdfObject) (map[byte]string, error) {
differences := map[byte]string{}
var n byte
for _, obj := range diffList {
switch v := obj.(type) {
case *PdfObjectInteger:
n = byte(*v)
case *PdfObjectName:
s := string(*v)
differences[n] = s
n++
default:
common.Log.Debug("ERROR: Bad type. obj=%s", obj)
return nil, ErrTypeError
}
}
return differences, nil
}
func ToFontDifferences(differences map[byte]string) []PdfObject {
if len(differences) == 0 {
return []PdfObject{}
}
codes := []byte{}
for c := range differences {
codes = append(codes, c)
}
sort.Slice(codes, func(i, j int) bool {
return codes[i] < codes[j]
})
n := codes[0]
diffList := []PdfObject{MakeInteger(int64(n)), MakeName(differences[n])}
for _, c := range codes[1:] {
if c == n+1 {
diffList = append(diffList, MakeName(differences[c]))
} else {
diffList = append(diffList, MakeInteger(int64(c)))
}
n = c
}
return diffList
}
var simpleEncodings = map[string]map[uint16]rune{
"MacExpertEncoding": map[uint16]rune{
0x20: '\u0020', // "space"
0x21: '\uf721', // "exclamsmall"
0x22: '\uf6f8', // "Hungarumlautsmall"
0x23: '\uf7a2', // "centoldstyle"
0x24: '\uf724', // "dollaroldstyle"
0x25: '\uf6e4', // "dollarsuperior"
0x26: '\uf726', // "ampersandsmall"
0x27: '\uf7b4', // "Acutesmall"
0x28: '\u207d', // ⁽ "parenleftsuperior"
0x29: '\u207e', // ⁾ "parenrightsuperior"
0x2a: '\u2025', // ‥ "twodotenleader"
0x2b: '\u2024', // "onedotenleader"
0x2c: '\u002c', // , "comma"
0x2d: '\u002d', // - "hyphen"
0x2e: '\u002e', // . "period"
0x2f: '\u2044', // "fraction"
0x30: '\uf730', // "zerooldstyle"
0x31: '\uf731', // "oneoldstyle"
0x32: '\uf732', // "twooldstyle"
0x33: '\uf733', // "threeoldstyle"
0x34: '\uf734', // "fouroldstyle"
0x35: '\uf735', // "fiveoldstyle"
0x36: '\uf736', // "sixoldstyle"
0x37: '\uf737', // "sevenoldstyle"
0x38: '\uf738', // "eightoldstyle"
0x39: '\uf739', // "nineoldstyle"
0x3a: '\u003a', // : "colon"
0x3b: '\u003b', // ; "semicolon"
0x3d: '\uf6de', // "threequartersemdash"
0x3f: '\uf73f', // "questionsmall"
0x44: '\uf7f0', // "Ethsmall"
0x47: '\u00bc', // ¼ "onequarter"
0x48: '\u00bd', // ½ "onehalf"
0x49: '\u00be', // ¾ "threequarters"
0x4a: '\u215b', // ⅛ "oneeighth"
0x4b: '\u215c', // ⅜ "threeeighths"
0x4c: '\u215d', // ⅝ "fiveeighths"
0x4d: '\u215e', // ⅞ "seveneighths"
0x4e: '\u2153', // ⅓ "onethird"
0x4f: '\u2154', // ⅔ "twothirds"
0x56: '\ufb00', // ff "ff"
0x57: '\ufb01', // fi "fi"
0x58: '\ufb02', // fl "fl"
0x59: '\ufb03', // ffi "ffi"
0x5a: '\ufb04', // ffl "ffl"
0x5b: '\u208d', // ₍ "parenleftinferior"
0x5d: '\u208e', // ₎ "parenrightinferior"
0x5e: '\uf6f6', // "Circumflexsmall"
0x5f: '\uf6e5', // "hypheninferior"
0x60: '\uf760', // "Gravesmall"
0x61: '\uf761', // "Asmall"
0x62: '\uf762', // "Bsmall"
0x63: '\uf763', // "Csmall"
0x64: '\uf764', // "Dsmall"
0x65: '\uf765', // "Esmall"
0x66: '\uf766', // "Fsmall"
0x67: '\uf767', // "Gsmall"
0x68: '\uf768', // "Hsmall"
0x69: '\uf769', // "Ismall"
0x6a: '\uf76a', // "Jsmall"
0x6b: '\uf76b', // "Ksmall"
0x6c: '\uf76c', // "Lsmall"
0x6d: '\uf76d', // "Msmall"
0x6e: '\uf76e', // "Nsmall"
0x6f: '\uf76f', // "Osmall"
0x70: '\uf770', // "Psmall"
0x71: '\uf771', // "Qsmall"
0x72: '\uf772', // "Rsmall"
0x73: '\uf773', // "Ssmall"
0x74: '\uf774', // "Tsmall"
0x75: '\uf775', // "Usmall"
0x76: '\uf776', // "Vsmall"
0x77: '\uf777', // "Wsmall"
0x78: '\uf778', // "Xsmall"
0x79: '\uf779', // "Ysmall"
0x7a: '\uf77a', // "Zsmall"
0x7b: '\u20a1', // ₡ "colonmonetary"
0x7c: '\uf6dc', // "onefitted"
0x7d: '\uf6dd', // "rupiah"
0x7e: '\uf6fe', // "Tildesmall"
0x81: '\uf6e9', // "asuperior"
0x82: '\uf6e0', // "centsuperior"
0x87: '\uf7e1', // "Aacutesmall"
0x88: '\uf7e0', // "Agravesmall"
0x89: '\uf7e2', // "Acircumflexsmall"
0x8a: '\uf7e4', // "Adieresissmall"
0x8b: '\uf7e3', // "Atildesmall"
0x8c: '\uf7e5', // "Aringsmall"
0x8d: '\uf7e7', // "Ccedillasmall"
0x8e: '\uf7e9', // "Eacutesmall"
0x8f: '\uf7e8', // "Egravesmall"
0x90: '\uf7ea', // "Ecircumflexsmall"
0x91: '\uf7eb', // "Edieresissmall"
0x92: '\uf7ed', // "Iacutesmall"
0x93: '\uf7ec', // "Igravesmall"
0x94: '\uf7ee', // "Icircumflexsmall"
0x95: '\uf7ef', // "Idieresissmall"
0x96: '\uf7f1', // "Ntildesmall"
0x97: '\uf7f3', // "Oacutesmall"
0x98: '\uf7f2', // "Ogravesmall"
0x99: '\uf7f4', // "Ocircumflexsmall"
0x9a: '\uf7f6', // "Odieresissmall"
0x9b: '\uf7f5', // "Otildesmall"
0x9c: '\uf7fa', // "Uacutesmall"
0x9d: '\uf7f9', // "Ugravesmall"
0x9e: '\uf7fb', // "Ucircumflexsmall"
0x9f: '\uf7fc', // "Udieresissmall"
0xa1: '\u2078', // ⁸ "eightsuperior"
0xa2: '\u2084', // ₄ "fourinferior"
0xa3: '\u2083', // ₃ "threeinferior"
0xa4: '\u2086', // ₆ "sixinferior"
0xa5: '\u2088', // ₈ "eightinferior"
0xa6: '\u2087', // ₇ "seveninferior"
0xa7: '\uf6fd', // "Scaronsmall"
0xa9: '\uf6df', // "centinferior"
0xaa: '\u2082', // ₂ "twoinferior"
0xac: '\uf7a8', // "Dieresissmall"
0xae: '\uf6f5', // "Caronsmall"
0xaf: '\uf6f0', // "osuperior"
0xb0: '\u2085', // ₅ "fiveinferior"
0xb2: '\uf6e1', // "commainferior"
0xb3: '\uf6e7', // "periodinferior"
0xb4: '\uf7fd', // "Yacutesmall"
0xb6: '\uf6e3', // "dollarinferior"
0xb9: '\uf7fe', // "Thornsmall"
0xbb: '\u2089', // ₉ "nineinferior"
0xbc: '\u2080', // ₀ "zeroinferior"
0xbd: '\uf6ff', // "Zcaronsmall"
0xbe: '\uf7e6', // "AEsmall"
0xbf: '\uf7f8', // "Oslashsmall"
0xc0: '\uf7bf', // "questiondownsmall"
0xc1: '\u2081', // ₁ "oneinferior"
0xc2: '\uf6f9', // "Lslashsmall"
0xc9: '\uf7b8', // "Cedillasmall"
0xcf: '\uf6fa', // "OEsmall"
0xd0: '\u2012', // "figuredash"
0xd1: '\uf6e6', // "hyphensuperior"
0xd6: '\uf7a1', // "exclamdownsmall"
0xd8: '\uf7ff', // "Ydieresissmall"
0xda: '\u00b9', // ¹ "onesuperior"
0xdb: '\u00b2', // ² "twosuperior"
0xdc: '\u00b3', // ³ "threesuperior"
0xdd: '\u2074', // ⁴ "foursuperior"
0xde: '\u2075', // ⁵ "fivesuperior"
0xdf: '\u2076', // ⁶ "sixsuperior"
0xe0: '\u2077', // ⁷ "sevensuperior"
0xe1: '\u2079', // ⁹ "ninesuperior"
0xe2: '\u2070', // ⁰ "zerosuperior"
0xe4: '\uf6ec', // "esuperior"
0xe5: '\uf6f1', // "rsuperior"
0xe6: '\uf6f3', // "tsuperior"
0xe9: '\uf6ed', // "isuperior"
0xea: '\uf6f2', // "ssuperior"
0xeb: '\uf6eb', // "dsuperior"
0xf1: '\uf6ee', // "lsuperior"
0xf2: '\uf6fb', // "Ogoneksmall"
0xf3: '\uf6f4', // "Brevesmall"
0xf4: '\uf7af', // "Macronsmall"
0xf5: '\uf6ea', // "bsuperior"
0xf6: '\u207f', // ⁿ "nsuperior"
0xf7: '\uf6ef', // "msuperior"
0xf8: '\uf6e2', // "commasuperior"
0xf9: '\uf6e8', // "periodsuperior"
0xfa: '\uf6f7', // "Dotaccentsmall"
0xfb: '\uf6fc', // "Ringsmall"
},
"MacRomanEncoding": map[uint16]rune{
0x01: '\u0001', // "controlSTX"
0x02: '\u0002', // "controlSOT"
0x03: '\u0003', // "controlETX"
0x04: '\u0004', // "controlEOT"
0x05: '\u0005', // "controlENQ"
0x06: '\u0006', // "controlACK"
0x07: '\u0007', // "controlBEL"
0x08: '\u0008', // "controlBS"
0x09: '\u0009', // "controlHT"
0x0a: '\u000a', // "controlLF"
0x0b: '\u000b', // "controlVT"
0x0c: '\u000c', // "controlFF"
0x0d: '\u000d', // "controlCR"
0x0e: '\u000e', // "controlSO"
0x0f: '\u000f', // "controlSI"
0x10: '\u0010', // "controlDLE"
0x11: '\u0011', // "controlDC1"
0x12: '\u0012', // "controlDC2"
0x13: '\u0013', // "controlDC3"
0x14: '\u0014', // "controlDC4"
0x15: '\u0015', // "controlNAK"
0x16: '\u0016', // "controlSYN"
0x17: '\u0017', // "controlETB"
0x18: '\u0018', // "controlCAN"
0x19: '\u0019', // "controlEM"
0x1a: '\u001a', // "controlSUB"
0x1b: '\u001b', // "controlESC"
0x1c: '\u001c', // "controlFS"
0x1d: '\u001d', // "controlGS"
0x1e: '\u001e', // "controlRS"
0x1f: '\u001f', // "controlUS"
0x20: '\u0020', // "space"
0x21: '\u0021', // ! "exclam"
0x22: '\u0022', // " "quotedbl"
0x23: '\u0023', // # "numbersign"
0x24: '\u0024', // $ "dollar"
0x25: '\u0025', // % "percent"
0x26: '\u0026', // & "ampersand"
0x27: '\u0027', // ' "quotesingle"
0x28: '\u0028', // ( "parenleft"
0x29: '\u0029', // ) "parenright"
0x2a: '\u002a', // * "asterisk"
0x2b: '\u002b', // + "plus"
0x2c: '\u002c', // , "comma"
0x2d: '\u002d', // - "hyphen"
0x2e: '\u002e', // . "period"
0x2f: '\u002f', // / "slash"
0x30: '\u0030', // 0 "zero"
0x31: '\u0031', // 1 "one"
0x32: '\u0032', // 2 "two"
0x33: '\u0033', // 3 "three"
0x34: '\u0034', // 4 "four"
0x35: '\u0035', // 5 "five"
0x36: '\u0036', // 6 "six"
0x37: '\u0037', // 7 "seven"
0x38: '\u0038', // 8 "eight"
0x39: '\u0039', // 9 "nine"
0x3a: '\u003a', // : "colon"
0x3b: '\u003b', // ; "semicolon"
0x3c: '\u003c', // < "less"
0x3d: '\u003d', // = "equal"
0x3e: '\u003e', // > "greater"
0x3f: '\u003f', // ? "question"
0x40: '\u0040', // @ "at"
0x41: '\u0041', // A "A"
0x42: '\u0042', // B "B"
0x43: '\u0043', // C "C"
0x44: '\u0044', // D "D"
0x45: '\u0045', // E "E"
0x46: '\u0046', // F "F"
0x47: '\u0047', // G "G"
0x48: '\u0048', // H "H"
0x49: '\u0049', // I "I"
0x4a: '\u004a', // J "J"
0x4b: '\u004b', // K "K"
0x4c: '\u004c', // L "L"
0x4d: '\u004d', // M "M"
0x4e: '\u004e', // N "N"
0x4f: '\u004f', // O "O"
0x50: '\u0050', // P "P"
0x51: '\u0051', // Q "Q"
0x52: '\u0052', // R "R"
0x53: '\u0053', // S "S"
0x54: '\u0054', // T "T"
0x55: '\u0055', // U "U"
0x56: '\u0056', // V "V"
0x57: '\u0057', // W "W"
0x58: '\u0058', // X "X"
0x59: '\u0059', // Y "Y"
0x5a: '\u005a', // Z "Z"
0x5b: '\u005b', // [ "bracketleft"
0x5c: '\u005c', // \ "backslash"
0x5d: '\u005d', // ] "bracketright"
0x5e: '\u005e', // ^ "asciicircum"
0x5f: '\u005f', // _ "underscore"
0x60: '\u0060', // ` "grave"
0x61: '\u0061', // a "a"
0x62: '\u0062', // b "b"
0x63: '\u0063', // c "c"
0x64: '\u0064', // d "d"
0x65: '\u0065', // e "e"
0x66: '\u0066', // f "f"
0x67: '\u0067', // g "g"
0x68: '\u0068', // h "h"
0x69: '\u0069', // i "i"
0x6a: '\u006a', // j "j"
0x6b: '\u006b', // k "k"
0x6c: '\u006c', // l "l"
0x6d: '\u006d', // m "m"
0x6e: '\u006e', // n "n"
0x6f: '\u006f', // o "o"
0x70: '\u0070', // p "p"
0x71: '\u0071', // q "q"
0x72: '\u0072', // r "r"
0x73: '\u0073', // s "s"
0x74: '\u0074', // t "t"
0x75: '\u0075', // u "u"
0x76: '\u0076', // v "v"
0x77: '\u0077', // w "w"
0x78: '\u0078', // x "x"
0x79: '\u0079', // y "y"
0x7a: '\u007a', // z "z"
0x7b: '\u007b', // { "braceleft"
0x7c: '\u007c', // | "bar"
0x7d: '\u007d', // } "braceright"
0x7e: '\u007e', // ~ "asciitilde"
0x7f: '\u007f', // "controlDEL"
0x80: '\u00c4', // Ä "Adieresis"
0x81: '\u00c5', // Å "Aring"
0x82: '\u00c7', // Ç "Ccedilla"
0x83: '\u00c9', // É "Eacute"
0x84: '\u00d1', // Ñ "Ntilde"
0x85: '\u00d6', // Ö "Odieresis"
0x86: '\u00dc', // Ü "Udieresis"
0x87: '\u00e1', // á "aacute"
0x88: '\u00e0', // à "agrave"
0x89: '\u00e2', // â "acircumflex"
0x8a: '\u00e4', // ä "adieresis"
0x8b: '\u00e3', // ã "atilde"
0x8c: '\u00e5', // å "aring"
0x8d: '\u00e7', // ç "ccedilla"
0x8e: '\u00e9', // é "eacute"
0x8f: '\u00e8', // è "egrave"
0x90: '\u00ea', // ê "ecircumflex"
0x91: '\u00eb', // ë "edieresis"
0x92: '\u00ed', // í "iacute"
0x93: '\u00ec', // ì "igrave"
0x94: '\u00ee', // î "icircumflex"
0x95: '\u00ef', // ï "idieresis"
0x96: '\u00f1', // ñ "ntilde"
0x97: '\u00f3', // ó "oacute"
0x98: '\u00f2', // ò "ograve"
0x99: '\u00f4', // ô "ocircumflex"
0x9a: '\u00f6', // ö "odieresis"
0x9b: '\u00f5', // õ "otilde"
0x9c: '\u00fa', // ú "uacute"
0x9d: '\u00f9', // ù "ugrave"
0x9e: '\u00fb', // û "ucircumflex"
0x9f: '\u00fc', // ü "udieresis"
0xa0: '\u2020', // † "dagger"
0xa1: '\u00b0', // ° "degree"
0xa2: '\u00a2', // ¢ "cent"
0xa3: '\u00a3', // £ "sterling"
0xa4: '\u00a7', // § "section"
0xa5: '\u2022', // • "bullet"
0xa6: '\u00b6', // ¶ "paragraph"
0xa7: '\u00df', // ß "germandbls"
0xa8: '\u00ae', // ® "registered"
0xa9: '\u00a9', // © "copyright"
0xaa: '\u2122', // ™ "trademark"
0xab: '\u00b4', // ´ "acute"
0xac: '\u00a8', // ¨ "dieresis"
0xad: '\u2260', // ≠ "notequal"
0xae: '\u00c6', // Æ "AE"
0xaf: '\u00d8', // Ø "Oslash"
0xb0: '\u221e', // ∞ "infinity"
0xb1: '\u00b1', // ± "plusminus"
0xb2: '\u2264', // ≤ "lessequal"
0xb3: '\u2265', // ≥ "greaterequal"
0xb4: '\u00a5', // ¥ "yen"
0xb5: '\u00b5', // µ "mu"
0xb6: '\u2202', // ∂ "partialdiff"
0xb7: '\u2211', // ∑ "summation"
0xb8: '\u220f', // ∏ "product"
0xb9: '\u03c0', // π "pi"
0xba: '\u222b', // ∫ "integral"
0xbb: '\u00aa', // ª "ordfeminine"
0xbc: '\u00ba', // º "ordmasculine"
0xbd: '\u03a9', // Ω "Omegagreek"
0xbe: '\u00e6', // æ "ae"
0xbf: '\u00f8', // ø "oslash"
0xc0: '\u00bf', // ¿ "questiondown"
0xc1: '\u00a1', // ¡ "exclamdown"
0xc2: '\u00ac', // ¬ "logicalnot"
0xc3: '\u221a', // √ "radical"
0xc4: '\u0192', // ƒ "florin"
0xc5: '\u2248', // ≈ "approxequal"
0xc6: '\u2206', // ∆ "Delta"
0xc7: '\u00ab', // « "guillemotleft"
0xc8: '\u00bb', // » "guillemotright"
0xc9: '\u2026', // … "ellipsis"
0xca: '\u00a0', // "nbspace"
0xcb: '\u00c0', // À "Agrave"
0xcc: '\u00c3', // Ã "Atilde"
0xcd: '\u00d5', // Õ "Otilde"
0xce: '\u0152', // Œ "OE"
0xcf: '\u0153', // œ "oe"
0xd0: '\u2013', // "endash"
0xd1: '\u2014', // — "emdash"
0xd2: '\u201c', // “ "quotedblleft"
0xd3: '\u201d', // ” "quotedblright"
0xd4: '\u2018', // "quoteleft"
0xd5: '\u2019', // "quoteright"
0xd6: '\u00f7', // ÷ "divide"
0xd7: '\u25ca', // ◊ "lozenge"
0xd8: '\u00ff', // ÿ "ydieresis"
0xd9: '\u0178', // Ÿ "Ydieresis"
0xda: '\u2044', // "fraction"
0xdb: '\u20ac', // € "Euro"
0xdc: '\u2039', // "guilsinglleft"
0xdd: '\u203a', // "guilsinglright"
0xde: '\ufb01', // fi "fi"
0xdf: '\ufb02', // fl "fl"
0xe0: '\u2021', // ‡ "daggerdbl"
0xe1: '\u00b7', // · "middot"
0xe2: '\u201a', // "quotesinglbase"
0xe3: '\u201e', // „ "quotedblbase"
0xe4: '\u2030', // ‰ "perthousand"
0xe5: '\u00c2', // Â "Acircumflex"
0xe6: '\u00ca', // Ê "Ecircumflex"
0xe7: '\u00c1', // Á "Aacute"
0xe8: '\u00cb', // Ë "Edieresis"
0xe9: '\u00c8', // È "Egrave"
0xea: '\u00cd', // Í "Iacute"
0xeb: '\u00ce', // Î "Icircumflex"
0xec: '\u00cf', // Ï "Idieresis"
0xed: '\u00cc', // Ì "Igrave"
0xee: '\u00d3', // Ó "Oacute"
0xef: '\u00d4', // Ô "Ocircumflex"
0xf0: '\uf8ff', // "apple"
0xf1: '\u00d2', // Ò "Ograve"
0xf2: '\u00da', // Ú "Uacute"
0xf3: '\u00db', // Û "Ucircumflex"
0xf4: '\u00d9', // Ù "Ugrave"
0xf5: '\u0131', // ı "dotlessi"
0xf6: '\u02c6', // ˆ "circumflex"
0xf7: '\u02dc', // ˜ "ilde"
0xf8: '\u00af', // ¯ "macron"
0xf9: '\u02d8', // ˘ "breve"
0xfa: '\u02d9', // ˙ "dotaccent"
0xfb: '\u02da', // ˚ "ring"
0xfc: '\u00b8', // ¸ "cedilla"
0xfd: '\u02dd', // ˝ "hungarumlaut"
0xfe: '\u02db', // ˛ "ogonek"
0xff: '\u02c7', // ˇ "caron"
},
"PdfDocEncoding": map[uint16]rune{
0x01: '\u0001', // "controlSTX"
0x02: '\u0002', // "controlSOT"
0x03: '\u0003', // "controlETX"
0x04: '\u0004', // "controlEOT"
0x05: '\u0005', // "controlENQ"
0x06: '\u0006', // "controlACK"
0x07: '\u0007', // "controlBEL"
0x08: '\u0008', // "controlBS"
0x09: '\u0009', // "controlHT"
0x0a: '\u000a', // "controlLF"
0x0b: '\u000b', // "controlVT"
0x0c: '\u000c', // "controlFF"
0x0d: '\u000d', // "controlCR"
0x0e: '\u000e', // "controlSO"
0x0f: '\u000f', // "controlSI"
0x10: '\u0010', // "controlDLE"
0x11: '\u0011', // "controlDC1"
0x12: '\u0012', // "controlDC2"
0x13: '\u0013', // "controlDC3"
0x14: '\u0014', // "controlDC4"
0x15: '\u0015', // "controlNAK"
0x16: '\u0017', // "controlETB"
0x17: '\u0017', // "controlETB"
0x18: '\u02d8', // ˘ "breve"
0x19: '\u02c7', // ˇ "caron"
0x1a: '\u02c6', // ˆ "circumflex"
0x1b: '\u02d9', // ˙ "dotaccent"
0x1c: '\u02dd', // ˝ "hungarumlaut"
0x1d: '\u02db', // ˛ "ogonek"
0x1e: '\u02da', // ˚ "ring"
0x1f: '\u02dc', // ˜ "ilde"
0x20: '\u0020', // "space"
0x21: '\u0021', // ! "exclam"
0x22: '\u0022', // " "quotedbl"
0x23: '\u0023', // # "numbersign"
0x24: '\u0024', // $ "dollar"
0x25: '\u0025', // % "percent"
0x26: '\u0026', // & "ampersand"
0x27: '\u0027', // ' "quotesingle"
0x28: '\u0028', // ( "parenleft"
0x29: '\u0029', // ) "parenright"
0x2a: '\u002a', // * "asterisk"
0x2b: '\u002b', // + "plus"
0x2c: '\u002c', // , "comma"
0x2d: '\u002d', // - "hyphen"
0x2e: '\u002e', // . "period"
0x2f: '\u002f', // / "slash"
0x30: '\u0030', // 0 "zero"
0x31: '\u0031', // 1 "one"
0x32: '\u0032', // 2 "two"
0x33: '\u0033', // 3 "three"
0x34: '\u0034', // 4 "four"
0x35: '\u0035', // 5 "five"
0x36: '\u0036', // 6 "six"
0x37: '\u0037', // 7 "seven"
0x38: '\u0038', // 8 "eight"
0x39: '\u0039', // 9 "nine"
0x3a: '\u003a', // : "colon"
0x3b: '\u003b', // ; "semicolon"
0x3c: '\u003c', // < "less"
0x3d: '\u003d', // = "equal"
0x3e: '\u003e', // > "greater"
0x3f: '\u003f', // ? "question"
0x40: '\u0040', // @ "at"
0x41: '\u0041', // A "A"
0x42: '\u0042', // B "B"
0x43: '\u0043', // C "C"
0x44: '\u0044', // D "D"
0x45: '\u0045', // E "E"
0x46: '\u0046', // F "F"
0x47: '\u0047', // G "G"
0x48: '\u0048', // H "H"
0x49: '\u0049', // I "I"
0x4a: '\u004a', // J "J"
0x4b: '\u004b', // K "K"
0x4c: '\u004c', // L "L"
0x4d: '\u004d', // M "M"
0x4e: '\u004e', // N "N"
0x4f: '\u004f', // O "O"
0x50: '\u0050', // P "P"
0x51: '\u0051', // Q "Q"
0x52: '\u0052', // R "R"
0x53: '\u0053', // S "S"
0x54: '\u0054', // T "T"
0x55: '\u0055', // U "U"
0x56: '\u0056', // V "V"
0x57: '\u0057', // W "W"
0x58: '\u0058', // X "X"
0x59: '\u0059', // Y "Y"
0x5a: '\u005a', // Z "Z"
0x5b: '\u005b', // [ "bracketleft"
0x5c: '\u005c', // \ "backslash"
0x5d: '\u005d', // ] "bracketright"
0x5e: '\u005e', // ^ "asciicircum"
0x5f: '\u005f', // _ "underscore"
0x60: '\u0060', // ` "grave"
0x61: '\u0061', // a "a"
0x62: '\u0062', // b "b"
0x63: '\u0063', // c "c"
0x64: '\u0064', // d "d"
0x65: '\u0065', // e "e"
0x66: '\u0066', // f "f"
0x67: '\u0067', // g "g"
0x68: '\u0068', // h "h"
0x69: '\u0069', // i "i"
0x6a: '\u006a', // j "j"
0x6b: '\u006b', // k "k"
0x6c: '\u006c', // l "l"
0x6d: '\u006d', // m "m"
0x6e: '\u006e', // n "n"
0x6f: '\u006f', // o "o"
0x70: '\u0070', // p "p"
0x71: '\u0071', // q "q"
0x72: '\u0072', // r "r"
0x73: '\u0073', // s "s"
0x74: '\u0074', // t "t"
0x75: '\u0075', // u "u"
0x76: '\u0076', // v "v"
0x77: '\u0077', // w "w"
0x78: '\u0078', // x "x"
0x79: '\u0079', // y "y"
0x7a: '\u007a', // z "z"
0x7b: '\u007b', // { "braceleft"
0x7c: '\u007c', // | "bar"
0x7d: '\u007d', // } "braceright"
0x7e: '\u007e', // ~ "asciitilde"
0x80: '\u2022', // • "bullet"
0x81: '\u2020', // † "dagger"
0x82: '\u2021', // ‡ "daggerdbl"
0x83: '\u2026', // … "ellipsis"
0x84: '\u2014', // — "emdash"
0x85: '\u2013', // "endash"
0x86: '\u0192', // ƒ "florin"
0x87: '\u2044', // "fraction"
0x88: '\u2039', // "guilsinglleft"
0x89: '\u203a', // "guilsinglright"
0x8a: '\u2212', // "minus"
0x8b: '\u2030', // ‰ "perthousand"
0x8c: '\u201e', // „ "quotedblbase"
0x8d: '\u201c', // “ "quotedblleft"
0x8e: '\u201d', // ” "quotedblright"
0x8f: '\u2018', // "quoteleft"
0x90: '\u2019', // "quoteright"
0x91: '\u201a', // "quotesinglbase"
0x92: '\u2122', // ™ "trademark"
0x93: '\ufb01', // fi "fi"
0x94: '\ufb02', // fl "fl"
0x95: '\u0141', // Ł "Lslash"
0x96: '\u0152', // Œ "OE"
0x97: '\u0160', // Š "Scaron"
0x98: '\u0178', // Ÿ "Ydieresis"
0x99: '\u017d', // Ž "Zcaron"
0x9a: '\u0131', // ı "dotlessi"
0x9b: '\u0142', // ł "lslash"
0x9c: '\u0153', // œ "oe"
0x9d: '\u0161', // š "scaron"
0x9e: '\u017e', // ž "zcaron"
0xa0: '\u20ac', // € "Euro"
0xa1: '\u00a1', // ¡ "exclamdown"
0xa2: '\u00a2', // ¢ "cent"
0xa3: '\u00a3', // £ "sterling"
0xa4: '\u00a4', // ¤ "currency"
0xa5: '\u00a5', // ¥ "yen"
0xa6: '\u00a6', // ¦ "brokenbar"
0xa7: '\u00a7', // § "section"
0xa8: '\u00a8', // ¨ "dieresis"
0xa9: '\u00a9', // © "copyright"
0xaa: '\u00aa', // ª "ordfeminine"
0xab: '\u00ab', // « "guillemotleft"
0xac: '\u00ac', // ¬ "logicalnot"
0xae: '\u00ae', // ® "registered"
0xaf: '\u00af', // ¯ "macron"
0xb0: '\u00b0', // ° "degree"
0xb1: '\u00b1', // ± "plusminus"
0xb2: '\u00b2', // ² "twosuperior"
0xb3: '\u00b3', // ³ "threesuperior"
0xb4: '\u00b4', // ´ "acute"
0xb5: '\u00b5', // µ "mu"
0xb6: '\u00b6', // ¶ "paragraph"
0xb7: '\u00b7', // · "middot"
0xb8: '\u00b8', // ¸ "cedilla"
0xb9: '\u00b9', // ¹ "onesuperior"
0xba: '\u00ba', // º "ordmasculine"
0xbb: '\u00bb', // » "guillemotright"
0xbc: '\u00bc', // ¼ "onequarter"
0xbd: '\u00bd', // ½ "onehalf"
0xbe: '\u00be', // ¾ "threequarters"
0xbf: '\u00bf', // ¿ "questiondown"
0xc0: '\u00c0', // À "Agrave"
0xc1: '\u00c1', // Á "Aacute"
0xc2: '\u00c2', // Â "Acircumflex"
0xc3: '\u00c3', // Ã "Atilde"
0xc4: '\u00c4', // Ä "Adieresis"
0xc5: '\u00c5', // Å "Aring"
0xc6: '\u00c6', // Æ "AE"
0xc7: '\u00c7', // Ç "Ccedilla"
0xc8: '\u00c8', // È "Egrave"
0xc9: '\u00c9', // É "Eacute"
0xca: '\u00ca', // Ê "Ecircumflex"
0xcb: '\u00cb', // Ë "Edieresis"
0xcc: '\u00cc', // Ì "Igrave"
0xcd: '\u00cd', // Í "Iacute"
0xce: '\u00ce', // Î "Icircumflex"
0xcf: '\u00cf', // Ï "Idieresis"
0xd0: '\u00d0', // Ð "Eth"
0xd1: '\u00d1', // Ñ "Ntilde"
0xd2: '\u00d2', // Ò "Ograve"
0xd3: '\u00d3', // Ó "Oacute"
0xd4: '\u00d4', // Ô "Ocircumflex"
0xd5: '\u00d5', // Õ "Otilde"
0xd6: '\u00d6', // Ö "Odieresis"
0xd7: '\u00d7', // × "multiply"
0xd8: '\u00d8', // Ø "Oslash"
0xd9: '\u00d9', // Ù "Ugrave"
0xda: '\u00da', // Ú "Uacute"
0xdb: '\u00db', // Û "Ucircumflex"
0xdc: '\u00dc', // Ü "Udieresis"
0xdd: '\u00dd', // Ý "Yacute"
0xde: '\u00de', // Þ "Thorn"
0xdf: '\u00df', // ß "germandbls"
0xe0: '\u00e0', // à "agrave"
0xe1: '\u00e1', // á "aacute"
0xe2: '\u00e2', // â "acircumflex"
0xe3: '\u00e3', // ã "atilde"
0xe4: '\u00e4', // ä "adieresis"
0xe5: '\u00e5', // å "aring"
0xe6: '\u00e6', // æ "ae"
0xe7: '\u00e7', // ç "ccedilla"
0xe8: '\u00e8', // è "egrave"
0xe9: '\u00e9', // é "eacute"
0xea: '\u00ea', // ê "ecircumflex"
0xeb: '\u00eb', // ë "edieresis"
0xec: '\u00ec', // ì "igrave"
0xed: '\u00ed', // í "iacute"
0xee: '\u00ee', // î "icircumflex"
0xef: '\u00ef', // ï "idieresis"
0xf0: '\u00f0', // ð "eth"
0xf1: '\u00f1', // ñ "ntilde"
0xf2: '\u00f2', // ò "ograve"
0xf3: '\u00f3', // ó "oacute"
0xf4: '\u00f4', // ô "ocircumflex"
0xf5: '\u00f5', // õ "otilde"
0xf6: '\u00f6', // ö "odieresis"
0xf7: '\u00f7', // ÷ "divide"
0xf8: '\u00f8', // ø "oslash"
0xf9: '\u00f9', // ù "ugrave"
0xfa: '\u00fa', // ú "uacute"
0xfb: '\u00fb', // û "ucircumflex"
0xfc: '\u00fc', // ü "udieresis"
0xfd: '\u00fd', // ý "yacute"
0xfe: '\u00fe', // þ "thorn"
0xff: '\u00ff', // ÿ "ydieresis"
},
"StandardEncoding": map[uint16]rune{
0x20: '\u0020', // "space"
0x21: '\u0021', // ! "exclam"
0x22: '\u0022', // " "quotedbl"
0x23: '\u0023', // # "numbersign"
0x24: '\u0024', // $ "dollar"
0x25: '\u0025', // % "percent"
0x26: '\u0026', // & "ampersand"
0x27: '\u2019', // "quoteright"
0x28: '\u0028', // ( "parenleft"
0x29: '\u0029', // ) "parenright"
0x2a: '\u002a', // * "asterisk"
0x2b: '\u002b', // + "plus"
0x2c: '\u002c', // , "comma"
0x2d: '\u002d', // - "hyphen"
0x2e: '\u002e', // . "period"
0x2f: '\u002f', // / "slash"
0x30: '\u0030', // 0 "zero"
0x31: '\u0031', // 1 "one"
0x32: '\u0032', // 2 "two"
0x33: '\u0033', // 3 "three"
0x34: '\u0034', // 4 "four"
0x35: '\u0035', // 5 "five"
0x36: '\u0036', // 6 "six"
0x37: '\u0037', // 7 "seven"
0x38: '\u0038', // 8 "eight"
0x39: '\u0039', // 9 "nine"
0x3a: '\u003a', // : "colon"
0x3b: '\u003b', // ; "semicolon"
0x3c: '\u003c', // < "less"
0x3d: '\u003d', // = "equal"
0x3e: '\u003e', // > "greater"
0x3f: '\u003f', // ? "question"
0x40: '\u0040', // @ "at"
0x41: '\u0041', // A "A"
0x42: '\u0042', // B "B"
0x43: '\u0043', // C "C"
0x44: '\u0044', // D "D"
0x45: '\u0045', // E "E"
0x46: '\u0046', // F "F"
0x47: '\u0047', // G "G"
0x48: '\u0048', // H "H"
0x49: '\u0049', // I "I"
0x4a: '\u004a', // J "J"
0x4b: '\u004b', // K "K"
0x4c: '\u004c', // L "L"
0x4d: '\u004d', // M "M"
0x4e: '\u004e', // N "N"
0x4f: '\u004f', // O "O"
0x50: '\u0050', // P "P"
0x51: '\u0051', // Q "Q"
0x52: '\u0052', // R "R"
0x53: '\u0053', // S "S"
0x54: '\u0054', // T "T"
0x55: '\u0055', // U "U"
0x56: '\u0056', // V "V"
0x57: '\u0057', // W "W"
0x58: '\u0058', // X "X"
0x59: '\u0059', // Y "Y"
0x5a: '\u005a', // Z "Z"
0x5b: '\u005b', // [ "bracketleft"
0x5c: '\u005c', // \ "backslash"
0x5d: '\u005d', // ] "bracketright"
0x5e: '\u005e', // ^ "asciicircum"
0x5f: '\u005f', // _ "underscore"
0x60: '\u0060', // ` "grave"
0x61: '\u0061', // a "a"
0x62: '\u0062', // b "b"
0x63: '\u0063', // c "c"
0x64: '\u0064', // d "d"
0x65: '\u0065', // e "e"
0x66: '\u0066', // f "f"
0x67: '\u0067', // g "g"
0x68: '\u0068', // h "h"
0x69: '\u0069', // i "i"
0x6a: '\u006a', // j "j"
0x6b: '\u006b', // k "k"
0x6c: '\u006c', // l "l"
0x6d: '\u006d', // m "m"
0x6e: '\u006e', // n "n"
0x6f: '\u006f', // o "o"
0x70: '\u0070', // p "p"
0x71: '\u0071', // q "q"
0x72: '\u0072', // r "r"
0x73: '\u0073', // s "s"
0x74: '\u0074', // t "t"
0x75: '\u0075', // u "u"
0x76: '\u0076', // v "v"
0x77: '\u0077', // w "w"
0x78: '\u0078', // x "x"
0x79: '\u0079', // y "y"
0x7a: '\u007a', // z "z"
0x7b: '\u007b', // { "braceleft"
0x7c: '\u007c', // | "bar"
0x7d: '\u007d', // } "braceright"
0x7e: '\u007e', // ~ "asciitilde"
0xa1: '\u00a1', // ¡ "exclamdown"
0xa2: '\u00a2', // ¢ "cent"
0xa3: '\u00a3', // £ "sterling"
0xa4: '\u2044', // "fraction"
0xa5: '\u00a5', // ¥ "yen"
0xa6: '\u0192', // ƒ "florin"
0xa7: '\u00a7', // § "section"
0xa8: '\u00a4', // ¤ "currency"
0xa9: '\u0027', // ' "quotesingle"
0xaa: '\u201c', // “ "quotedblleft"
0xab: '\u00ab', // « "guillemotleft"
0xac: '\u2039', // "guilsinglleft"
0xad: '\u203a', // "guilsinglright"
0xae: '\ufb01', // fi "fi"
0xaf: '\ufb02', // fl "fl"
0xb1: '\u2013', // "endash"
0xb2: '\u2020', // † "dagger"
0xb3: '\u2021', // ‡ "daggerdbl"
0xb4: '\u00b7', // · "middot"
0xb6: '\u00b6', // ¶ "paragraph"
0xb7: '\u2022', // • "bullet"
0xb8: '\u201a', // "quotesinglbase"
0xb9: '\u201e', // „ "quotedblbase"
0xba: '\u201d', // ” "quotedblright"
0xbb: '\u00bb', // » "guillemotright"
0xbc: '\u2026', // … "ellipsis"
0xbd: '\u2030', // ‰ "perthousand"
0xbf: '\u00bf', // ¿ "questiondown"
0xc1: '\u0060', // ` "grave"
0xc2: '\u00b4', // ´ "acute"
0xc3: '\u02c6', // ˆ "circumflex"
0xc4: '\u02dc', // ˜ "ilde"
0xc5: '\u00af', // ¯ "macron"
0xc6: '\u02d8', // ˘ "breve"
0xc7: '\u02d9', // ˙ "dotaccent"
0xc8: '\u00a8', // ¨ "dieresis"
0xca: '\u02da', // ˚ "ring"
0xcb: '\u00b8', // ¸ "cedilla"
0xcc: '\u02dd', // ˝ "hungarumlaut"
0xcd: '\u02db', // ˛ "ogonek"
0xce: '\u02c7', // ˇ "caron"
0xcf: '\u2014', // — "emdash"
0xe0: '\u00c6', // Æ "AE"
0xe2: '\u00aa', // ª "ordfeminine"
0xe7: '\u0141', // Ł "Lslash"
0xe8: '\u00d8', // Ø "Oslash"
0xe9: '\u0152', // Œ "OE"
0xea: '\u00ba', // º "ordmasculine"
0xf0: '\u00e6', // æ "ae"
0xf4: '\u0131', // ı "dotlessi"
0xf7: '\u0142', // ł "lslash"
0xf8: '\u00f8', // ø "oslash"
0xf9: '\u0153', // œ "oe"
0xfa: '\u00df', // ß "germandbls"
},
"SymbolEncoding": map[uint16]rune{
0x20: '\u0020', // "space"
0x21: '\u0021', // ! "exclam"
0x22: '\u2200', // ∀ "forall"
0x23: '\u0023', // # "numbersign"
0x24: '\u2203', // ∃ "existential"
0x25: '\u0025', // % "percent"
0x26: '\u0026', // & "ampersand"
0x27: '\u220b', // ∋ "suchthat"
0x28: '\u0028', // ( "parenleft"
0x29: '\u0029', // ) "parenright"
0x2a: '\u2217', // "asteriskmath"
0x2b: '\u002b', // + "plus"
0x2c: '\u002c', // , "comma"
0x2d: '\u2212', // "minus"
0x2e: '\u002e', // . "period"
0x2f: '\u002f', // / "slash"
0x30: '\u0030', // 0 "zero"
0x31: '\u0031', // 1 "one"
0x32: '\u0032', // 2 "two"
0x33: '\u0033', // 3 "three"
0x34: '\u0034', // 4 "four"
0x35: '\u0035', // 5 "five"
0x36: '\u0036', // 6 "six"
0x37: '\u0037', // 7 "seven"
0x38: '\u0038', // 8 "eight"
0x39: '\u0039', // 9 "nine"
0x3a: '\u003a', // : "colon"
0x3b: '\u003b', // ; "semicolon"
0x3c: '\u003c', // < "less"
0x3d: '\u003d', // = "equal"
0x3e: '\u003e', // > "greater"
0x3f: '\u003f', // ? "question"
0x40: '\u2245', // ≅ "approximatelyequal"
0x41: '\u0391', // Α "Alpha"
0x42: '\u0392', // Β "Beta"
0x43: '\u03a7', // Χ "Chi"
0x44: '\u0394', // Δ "Deltagreek"
0x45: '\u0395', // Ε "Epsilon"
0x46: '\u03a6', // Φ "Phi"
0x47: '\u0393', // Γ "Gamma"
0x48: '\u0397', // Η "Eta"
0x49: '\u0399', // Ι "Iota"
0x4a: '\u03d1', // ϑ "theta1"
0x4b: '\u039a', // Κ "Kappa"
0x4c: '\u039b', // Λ "Lambda"
0x4d: '\u039c', // Μ "Mu"
0x4e: '\u039d', // Ν "Nu"
0x4f: '\u039f', // Ο "Omicron"
0x50: '\u03a0', // Π "Pi"
0x51: '\u0398', // Θ "Theta"
0x52: '\u03a1', // Ρ "Rho"
0x53: '\u03a3', // Σ "Sigma"
0x54: '\u03a4', // Τ "Tau"
0x55: '\u03a5', // Υ "Upsilon"
0x56: '\u03c2', // ς "sigma1"
0x57: '\u03a9', // Ω "Omegagreek"
0x58: '\u039e', // Ξ "Xi"
0x59: '\u03a8', // Ψ "Psi"
0x5a: '\u0396', // Ζ "Zeta"
0x5b: '\u005b', // [ "bracketleft"
0x5c: '\u2234', // ∴ "therefore"
0x5d: '\u005d', // ] "bracketright"
0x5e: '\u22a5', // ⊥ "perpendicular"
0x5f: '\u005f', // _ "underscore"
0x60: '\uf8e5', // "radicalex"
0x61: '\u03b1', // α "alpha"
0x62: '\u03b2', // β "beta"
0x63: '\u03c7', // χ "chi"
0x64: '\u03b4', // δ "delta"
0x65: '\u03b5', // ε "epsilon"
0x66: '\u03c6', // φ "phi"
0x67: '\u03b3', // γ "gamma"
0x68: '\u03b7', // η "eta"
0x69: '\u03b9', // ι "iota"
0x6a: '\u03d5', // ϕ "phi1"
0x6b: '\u03ba', // κ "kappa"
0x6c: '\u03bb', // λ "lambda"
0x6d: '\u03bc', // μ "mugreek"
0x6e: '\u03bd', // ν "nu"
0x6f: '\u03bf', // ο "omicron"
0x70: '\u03c0', // π "pi"
0x71: '\u03b8', // θ "theta"
0x72: '\u03c1', // ρ "rho"
0x73: '\u03c3', // σ "sigma"
0x74: '\u03c4', // τ "tau"
0x75: '\u03c5', // υ "upsilon"
0x76: '\u03d6', // ϖ "omega1"
0x77: '\u03c9', // ω "omega"
0x78: '\u03be', // ξ "xi"
0x79: '\u03c8', // ψ "psi"
0x7a: '\u03b6', // ζ "zeta"
0x7b: '\u007b', // { "braceleft"
0x7c: '\u007c', // | "bar"
0x7d: '\u007d', // } "braceright"
0x7e: '\u223c', // "similar"
0xa0: '\u20ac', // € "Euro"
0xa1: '\u03d2', // ϒ "Upsilon1"
0xa2: '\u2032', // "minute"
0xa3: '\u2264', // ≤ "lessequal"
0xa4: '\u2044', // "fraction"
0xa5: '\u221e', // ∞ "infinity"
0xa6: '\u0192', // ƒ "florin"
0xa7: '\u2663', // ♣ "club"
0xa8: '\u2666', // ♦ "diamond"
0xa9: '\u2665', // ♥ "heart"
0xaa: '\u2660', // ♠ "spade"
0xab: '\u2194', // ↔ "arrowboth"
0xac: '\u2190', // ← "arrowleft"
0xad: '\u2191', // ↑ "arrowup"
0xae: '\u2192', // → "arrowright"
0xaf: '\u2193', // ↓ "arrowdown"
0xb0: '\u00b0', // ° "degree"
0xb1: '\u00b1', // ± "plusminus"
0xb2: '\u2033', // ″ "second"
0xb3: '\u2265', // ≥ "greaterequal"
0xb4: '\u00d7', // × "multiply"
0xb5: '\u221d', // ∝ "proportional"
0xb6: '\u2202', // ∂ "partialdiff"
0xb7: '\u2022', // • "bullet"
0xb8: '\u00f7', // ÷ "divide"
0xb9: '\u2260', // ≠ "notequal"
0xba: '\u2261', // ≡ "equivalence"
0xbb: '\u2248', // ≈ "approxequal"
0xbc: '\u2026', // … "ellipsis"
0xbd: '\uf8e6', // "arrowvertex"
0xbe: '\uf8e7', // "arrowhorizex"
0xbf: '\u21b5', // ↵ "carriagereturn"
0xc0: '\u2135', // ℵ "aleph"
0xc1: '\u2111', // "Ifraktur"
0xc2: '\u211c', // "Rfraktur"
0xc3: '\u2118', // ℘ "weierstrass"
0xc4: '\u2297', // ⊗ "circlemultiply"
0xc5: '\u2295', // ⊕ "circleplus"
0xc6: '\u2205', // ∅ "emptyset"
0xc7: '\u2229', // ∩ "intersection"
0xc8: '\u222a', // "union"
0xc9: '\u2283', // ⊃ "propersuperset"
0xca: '\u2287', // ⊇ "reflexsuperset"
0xcb: '\u2284', // ⊄ "notsubset"
0xcc: '\u2282', // ⊂ "propersubset"
0xcd: '\u2286', // ⊆ "reflexsubset"
0xce: '\u2208', // ∈ "element"
0xcf: '\u2209', // ∉ "notelement"
0xd0: '\u2220', // ∠ "angle"
0xd1: '\u2207', // ∇ "gradient"
0xd2: '\uf6da', // "registerserif"
0xd3: '\uf6d9', // "copyrightserif"
0xd4: '\uf6db', // "trademarkserif"
0xd5: '\u220f', // ∏ "product"
0xd6: '\u221a', // √ "radical"
0xd7: '\u22c5', // ⋅ "dotmath"
0xd8: '\u00ac', // ¬ "logicalnot"
0xd9: '\u2227', // ∧ "logicaland"
0xda: '\u2228', // "logicalor"
0xdb: '\u21d4', // ⇔ "arrowdblboth"
0xdc: '\u21d0', // ⇐ "arrowdblleft"
0xdd: '\u21d1', // ⇑ "arrowdblup"
0xde: '\u21d2', // ⇒ "arrowdblright"
0xdf: '\u21d3', // ⇓ "arrowdbldown"
0xe0: '\u25ca', // ◊ "lozenge"
0xe1: '\u2329', // 〈 "angleleft"
0xe2: '\uf8e8', // "registersans"
0xe3: '\uf8e9', // "copyrightsans"
0xe4: '\uf8ea', // "trademarksans"
0xe5: '\u2211', // ∑ "summation"
0xe6: '\uf8eb', // "parenlefttp"
0xe7: '\uf8ec', // "parenleftex"
0xe8: '\uf8ed', // "parenleftbt"
0xe9: '\uf8ee', // "bracketlefttp"
0xea: '\uf8ef', // "bracketleftex"
0xeb: '\uf8f0', // "bracketleftbt"
0xec: '\uf8f1', // "bracelefttp"
0xed: '\uf8f2', // "braceleftmid"
0xee: '\uf8f3', // "braceleftbt"
0xef: '\uf8f4', // "braceex"
0xf1: '\u232a', // 〉 "angleright"
0xf2: '\u222b', // ∫ "integral"
0xf3: '\u2320', // ⌠ "integraltop"
0xf4: '\uf8f5', // "integralex"
0xf5: '\u2321', // ⌡ "integralbottom"
0xf6: '\uf8f6', // "parenrighttp"
0xf7: '\uf8f7', // "parenrightex"
0xf8: '\uf8f8', // "parenrightbt"
0xf9: '\uf8f9', // "bracketrighttp"
0xfa: '\uf8fa', // "bracketrightex"
0xfb: '\uf8fb', // "bracketrightbt"
0xfc: '\uf8fc', // "bracerighttp"
0xfd: '\uf8fd', // "bracerightmid"
0xfe: '\uf8fe', // "bracerightbt"
},
"WinAnsiEncoding": map[uint16]rune{
0x01: '\u0001', // "controlSTX"
0x02: '\u0002', // "controlSOT"
0x03: '\u0003', // "controlETX"
0x04: '\u0004', // "controlEOT"
0x05: '\u0005', // "controlENQ"
0x06: '\u0006', // "controlACK"
0x07: '\u0007', // "controlBEL"
0x08: '\u0008', // "controlBS"
0x09: '\u0009', // "controlHT"
0x0a: '\u000a', // "controlLF"
0x0b: '\u000b', // "controlVT"
0x0c: '\u000c', // "controlFF"
0x0d: '\u000d', // "controlCR"
0x0e: '\u000e', // "controlSO"
0x0f: '\u000f', // "controlSI"
0x10: '\u0010', // "controlDLE"
0x11: '\u0011', // "controlDC1"
0x12: '\u0012', // "controlDC2"
0x13: '\u0013', // "controlDC3"
0x14: '\u0014', // "controlDC4"
0x15: '\u0015', // "controlNAK"
0x16: '\u0016', // "controlSYN"
0x17: '\u0017', // "controlETB"
0x18: '\u0018', // "controlCAN"
0x19: '\u0019', // "controlEM"
0x1a: '\u001a', // "controlSUB"
0x1b: '\u001b', // "controlESC"
0x1c: '\u001c', // "controlFS"
0x1d: '\u001d', // "controlGS"
0x1e: '\u001e', // "controlRS"
0x1f: '\u001f', // "controlUS"
0x20: '\u0020', // "space"
0x21: '\u0021', // ! "exclam"
0x22: '\u0022', // " "quotedbl"
0x23: '\u0023', // # "numbersign"
0x24: '\u0024', // $ "dollar"
0x25: '\u0025', // % "percent"
0x26: '\u0026', // & "ampersand"
0x27: '\u0027', // ' "quotesingle"
0x28: '\u0028', // ( "parenleft"
0x29: '\u0029', // ) "parenright"
0x2a: '\u002a', // * "asterisk"
0x2b: '\u002b', // + "plus"
0x2c: '\u002c', // , "comma"
0x2d: '\u002d', // - "hyphen"
0x2e: '\u002e', // . "period"
0x2f: '\u002f', // / "slash"
0x30: '\u0030', // 0 "zero"
0x31: '\u0031', // 1 "one"
0x32: '\u0032', // 2 "two"
0x33: '\u0033', // 3 "three"
0x34: '\u0034', // 4 "four"
0x35: '\u0035', // 5 "five"
0x36: '\u0036', // 6 "six"
0x37: '\u0037', // 7 "seven"
0x38: '\u0038', // 8 "eight"
0x39: '\u0039', // 9 "nine"
0x3a: '\u003a', // : "colon"
0x3b: '\u003b', // ; "semicolon"
0x3c: '\u003c', // < "less"
0x3d: '\u003d', // = "equal"
0x3e: '\u003e', // > "greater"
0x3f: '\u003f', // ? "question"
0x40: '\u0040', // @ "at"
0x41: '\u0041', // A "A"
0x42: '\u0042', // B "B"
0x43: '\u0043', // C "C"
0x44: '\u0044', // D "D"
0x45: '\u0045', // E "E"
0x46: '\u0046', // F "F"
0x47: '\u0047', // G "G"
0x48: '\u0048', // H "H"
0x49: '\u0049', // I "I"
0x4a: '\u004a', // J "J"
0x4b: '\u004b', // K "K"
0x4c: '\u004c', // L "L"
0x4d: '\u004d', // M "M"
0x4e: '\u004e', // N "N"
0x4f: '\u004f', // O "O"
0x50: '\u0050', // P "P"
0x51: '\u0051', // Q "Q"
0x52: '\u0052', // R "R"
0x53: '\u0053', // S "S"
0x54: '\u0054', // T "T"
0x55: '\u0055', // U "U"
0x56: '\u0056', // V "V"
0x57: '\u0057', // W "W"
0x58: '\u0058', // X "X"
0x59: '\u0059', // Y "Y"
0x5a: '\u005a', // Z "Z"
0x5b: '\u005b', // [ "bracketleft"
0x5c: '\u005c', // \ "backslash"
0x5d: '\u005d', // ] "bracketright"
0x5e: '\u005e', // ^ "asciicircum"
0x5f: '\u005f', // _ "underscore"
0x60: '\u0060', // ` "grave"
0x61: '\u0061', // a "a"
0x62: '\u0062', // b "b"
0x63: '\u0063', // c "c"
0x64: '\u0064', // d "d"
0x65: '\u0065', // e "e"
0x66: '\u0066', // f "f"
0x67: '\u0067', // g "g"
0x68: '\u0068', // h "h"
0x69: '\u0069', // i "i"
0x6a: '\u006a', // j "j"
0x6b: '\u006b', // k "k"
0x6c: '\u006c', // l "l"
0x6d: '\u006d', // m "m"
0x6e: '\u006e', // n "n"
0x6f: '\u006f', // o "o"
0x70: '\u0070', // p "p"
0x71: '\u0071', // q "q"
0x72: '\u0072', // r "r"
0x73: '\u0073', // s "s"
0x74: '\u0074', // t "t"
0x75: '\u0075', // u "u"
0x76: '\u0076', // v "v"
0x77: '\u0077', // w "w"
0x78: '\u0078', // x "x"
0x79: '\u0079', // y "y"
0x7a: '\u007a', // z "z"
0x7b: '\u007b', // { "braceleft"
0x7c: '\u007c', // | "bar"
0x7d: '\u007d', // } "braceright"
0x7e: '\u007e', // ~ "asciitilde"
0x7f: '\u007f', // "controlDEL"
0x80: '\u20ac', // € "Euro"
0x82: '\u201a', // "quotesinglbase"
0x83: '\u0192', // ƒ "florin"
0x84: '\u201e', // „ "quotedblbase"
0x85: '\u2026', // … "ellipsis"
0x86: '\u2020', // † "dagger"
0x87: '\u2021', // ‡ "daggerdbl"
0x88: '\u02c6', // ˆ "circumflex"
0x89: '\u2030', // ‰ "perthousand"
0x8a: '\u0160', // Š "Scaron"
0x8b: '\u2039', // "guilsinglleft"
0x8c: '\u0152', // Œ "OE"
0x8e: '\u017d', // Ž "Zcaron"
0x91: '\u2018', // "quoteleft"
0x92: '\u2019', // "quoteright"
0x93: '\u201c', // “ "quotedblleft"
0x94: '\u201d', // ” "quotedblright"
0x95: '\u2022', // • "bullet"
0x96: '\u2013', // "endash"
0x97: '\u2014', // — "emdash"
0x98: '\u02dc', // ˜ "ilde"
0x99: '\u2122', // ™ "trademark"
0x9a: '\u0161', // š "scaron"
0x9b: '\u203a', // "guilsinglright"
0x9c: '\u0153', // œ "oe"
0x9e: '\u017e', // ž "zcaron"
0x9f: '\u0178', // Ÿ "Ydieresis"
0xa0: '\u00a0', // "nbspace"
0xa1: '\u00a1', // ¡ "exclamdown"
0xa2: '\u00a2', // ¢ "cent"
0xa3: '\u00a3', // £ "sterling"
0xa4: '\u00a4', // ¤ "currency"
0xa5: '\u00a5', // ¥ "yen"
0xa6: '\u00a6', // ¦ "brokenbar"
0xa7: '\u00a7', // § "section"
0xa8: '\u00a8', // ¨ "dieresis"
0xa9: '\u00a9', // © "copyright"
0xaa: '\u00aa', // ª "ordfeminine"
0xab: '\u00ab', // « "guillemotleft"
0xac: '\u00ac', // ¬ "logicalnot"
0xad: '\u00ad', // "sfthyphen"
0xae: '\u00ae', // ® "registered"
0xaf: '\u00af', // ¯ "macron"
0xb0: '\u00b0', // ° "degree"
0xb1: '\u00b1', // ± "plusminus"
0xb2: '\u00b2', // ² "twosuperior"
0xb3: '\u00b3', // ³ "threesuperior"
0xb4: '\u00b4', // ´ "acute"
0xb5: '\u00b5', // µ "mu"
0xb6: '\u00b6', // ¶ "paragraph"
0xb7: '\u00b7', // · "middot"
0xb8: '\u00b8', // ¸ "cedilla"
0xb9: '\u00b9', // ¹ "onesuperior"
0xba: '\u00ba', // º "ordmasculine"
0xbb: '\u00bb', // » "guillemotright"
0xbc: '\u00bc', // ¼ "onequarter"
0xbd: '\u00bd', // ½ "onehalf"
0xbe: '\u00be', // ¾ "threequarters"
0xbf: '\u00bf', // ¿ "questiondown"
0xc0: '\u00c0', // À "Agrave"
0xc1: '\u00c1', // Á "Aacute"
0xc2: '\u00c2', // Â "Acircumflex"
0xc3: '\u00c3', // Ã "Atilde"
0xc4: '\u00c4', // Ä "Adieresis"
0xc5: '\u00c5', // Å "Aring"
0xc6: '\u00c6', // Æ "AE"
0xc7: '\u00c7', // Ç "Ccedilla"
0xc8: '\u00c8', // È "Egrave"
0xc9: '\u00c9', // É "Eacute"
0xca: '\u00ca', // Ê "Ecircumflex"
0xcb: '\u00cb', // Ë "Edieresis"
0xcc: '\u00cc', // Ì "Igrave"
0xcd: '\u00cd', // Í "Iacute"
0xce: '\u00ce', // Î "Icircumflex"
0xcf: '\u00cf', // Ï "Idieresis"
0xd0: '\u00d0', // Ð "Eth"
0xd1: '\u00d1', // Ñ "Ntilde"
0xd2: '\u00d2', // Ò "Ograve"
0xd3: '\u00d3', // Ó "Oacute"
0xd4: '\u00d4', // Ô "Ocircumflex"
0xd5: '\u00d5', // Õ "Otilde"
0xd6: '\u00d6', // Ö "Odieresis"
0xd7: '\u00d7', // × "multiply"
0xd8: '\u00d8', // Ø "Oslash"
0xd9: '\u00d9', // Ù "Ugrave"
0xda: '\u00da', // Ú "Uacute"
0xdb: '\u00db', // Û "Ucircumflex"
0xdc: '\u00dc', // Ü "Udieresis"
0xdd: '\u00dd', // Ý "Yacute"
0xde: '\u00de', // Þ "Thorn"
0xdf: '\u00df', // ß "germandbls"
0xe0: '\u00e0', // à "agrave"
0xe1: '\u00e1', // á "aacute"
0xe2: '\u00e2', // â "acircumflex"
0xe3: '\u00e3', // ã "atilde"
0xe4: '\u00e4', // ä "adieresis"
0xe5: '\u00e5', // å "aring"
0xe6: '\u00e6', // æ "ae"
0xe7: '\u00e7', // ç "ccedilla"
0xe8: '\u00e8', // è "egrave"
0xe9: '\u00e9', // é "eacute"
0xea: '\u00ea', // ê "ecircumflex"
0xeb: '\u00eb', // ë "edieresis"
0xec: '\u00ec', // ì "igrave"
0xed: '\u00ed', // í "iacute"
0xee: '\u00ee', // î "icircumflex"
0xef: '\u00ef', // ï "idieresis"
0xf0: '\u00f0', // ð "eth"
0xf1: '\u00f1', // ñ "ntilde"
0xf2: '\u00f2', // ò "ograve"
0xf3: '\u00f3', // ó "oacute"
0xf4: '\u00f4', // ô "ocircumflex"
0xf5: '\u00f5', // õ "otilde"
0xf6: '\u00f6', // ö "odieresis"
0xf7: '\u00f7', // ÷ "divide"
0xf8: '\u00f8', // ø "oslash"
0xf9: '\u00f9', // ù "ugrave"
0xfa: '\u00fa', // ú "uacute"
0xfb: '\u00fb', // û "ucircumflex"
0xfc: '\u00fc', // ü "udieresis"
0xfd: '\u00fd', // ý "yacute"
0xfe: '\u00fe', // þ "thorn"
0xff: '\u00ff', // ÿ "ydieresis"
},
"ZapfDingbatsEncoding": map[uint16]rune{
0x20: '\u0020', // "space"
0x21: '\u2701', // ✁ ""
0x22: '\u2702', // ✂ ""
0x23: '\u2703', // ✃ ""
0x24: '\u2704', // ✄ ""
0x25: '\u260e', // ☎ "telephoneblack"
0x26: '\u2706', // ✆ ""
0x27: '\u2707', // ✇ ""
0x28: '\u2708', // ✈ ""
0x29: '\u2709', // ✉ ""
0x2a: '\u261b', // ☛ ""
0x2b: '\u261e', // ☞ "pointingindexrightwhite"
0x2c: '\u270c', // ✌ ""
0x2d: '\u270d', // ✍ ""
0x2e: '\u270e', // ✎ ""
0x2f: '\u270f', // ✏ ""
0x30: '\u2710', // ✐ ""
0x31: '\u2711', // ✑ ""
0x32: '\u2712', // ✒ ""
0x33: '\u2713', // ✓ "checkmark"
0x34: '\u2714', // ✔ ""
0x35: '\u2715', // ✕ ""
0x36: '\u2716', // ✖ ""
0x37: '\u2717', // ✗ ""
0x38: '\u2718', // ✘ ""
0x39: '\u2719', // ✙ ""
0x3a: '\u271a', // ✚ ""
0x3b: '\u271b', // ✛ ""
0x3c: '\u271c', // ✜ ""
0x3d: '\u271d', // ✝ ""
0x3e: '\u271e', // ✞ ""
0x3f: '\u271f', // ✟ ""
0x40: '\u2720', // ✠ ""
0x41: '\u2721', // ✡ ""
0x42: '\u2722', // ✢ ""
0x43: '\u2723', // ✣ ""
0x44: '\u2724', // ✤ ""
0x45: '\u2725', // ✥ ""
0x46: '\u2726', // ✦ ""
0x47: '\u2727', // ✧ ""
0x48: '\u2605', // ★ "blackstar"
0x49: '\u2729', // ✩ ""
0x4a: '\u272a', // ✪ ""
0x4b: '\u272b', // ✫ ""
0x4c: '\u272c', // ✬ ""
0x4d: '\u272d', // ✭ ""
0x4e: '\u272e', // ✮ ""
0x4f: '\u272f', // ✯ ""
0x50: '\u2730', // ✰ ""
0x51: '\u2731', // ✱ ""
0x52: '\u2732', // ✲ ""
0x53: '\u2733', // ✳ ""
0x54: '\u2734', // ✴ ""
0x55: '\u2735', // ✵ ""
0x56: '\u2736', // ✶ ""
0x57: '\u2737', // ✷ ""
0x58: '\u2738', // ✸ ""
0x59: '\u2739', // ✹ ""
0x5a: '\u273a', // ✺ ""
0x5b: '\u273b', // ✻ ""
0x5c: '\u273c', // ✼ ""
0x5d: '\u273d', // ✽ ""
0x5e: '\u273e', // ✾ ""
0x5f: '\u273f', // ✿ ""
0x60: '\u2740', // ❀ ""
0x61: '\u2741', // ❁ ""
0x62: '\u2742', // ❂ ""
0x63: '\u2743', // ❃ ""
0x64: '\u2744', // ❄ ""
0x65: '\u2745', // ❅ ""
0x66: '\u2746', // ❆ ""
0x67: '\u2747', // ❇ ""
0x68: '\u2748', // ❈ ""
0x69: '\u2749', // ❉ ""
0x6a: '\u274a', // ❊ ""
0x6b: '\u274b', // ❋ ""
0x6c: '\u25cf', // ● "H18533"
0x6d: '\u274d', // ❍ ""
0x6e: '\u25a0', // ■ "blacksquare"
0x6f: '\u274f', // ❏ ""
0x70: '\u2750', // ❐ ""
0x71: '\u2751', // ❑ ""
0x72: '\u2752', // ❒ ""
0x73: '\u25b2', // ▲ "blackuppointingtriangle"
0x74: '\u25bc', // ▼ "blackdownpointingtriangle"
0x75: '\u25c6', // ◆ "blackdiamond"
0x76: '\u2756', // ❖ ""
0x77: '\u25d7', // ◗ ""
0x78: '\u2758', // ❘ ""
0x79: '\u2759', // ❙ ""
0x7a: '\u275a', // ❚ ""
0x7b: '\u275b', // ❛ ""
0x7c: '\u275c', // ❜ ""
0x7d: '\u275d', // ❝ ""
0x7e: '\u275e', // ❞ ""
0x80: '\uf8d7', // ""
0x81: '\uf8d8', // ""
0x82: '\uf8d9', // ""
0x83: '\uf8da', // ""
0x84: '\uf8db', // ""
0x85: '\uf8dc', // ""
0x86: '\uf8dd', // ""
0x87: '\uf8de', // ""
0x88: '\uf8df', // ""
0x89: '\uf8e0', // ""
0x8a: '\uf8e1', // ""
0x8b: '\uf8e2', // ""
0x8c: '\uf8e3', // ""
0x8d: '\uf8e4', // ""
0xa1: '\u2761', // ❡ ""
0xa2: '\u2762', // ❢ ""
0xa3: '\u2763', // ❣ ""
0xa4: '\u2764', // ❤ ""
0xa5: '\u2765', // ❥ ""
0xa6: '\u2766', // ❦ ""
0xa7: '\u2767', // ❧ ""
0xa8: '\u2663', // ♣ "club"
0xa9: '\u2666', // ♦ "diamond"
0xaa: '\u2665', // ♥ "heart"
0xab: '\u2660', // ♠ "spade"
0xac: '\u2460', // ① "onecircle"
0xad: '\u2461', // ② "twocircle"
0xae: '\u2462', // ③ "threecircle"
0xaf: '\u2463', // ④ "fourcircle"
0xb0: '\u2464', // ⑤ "fivecircle"
0xb1: '\u2465', // ⑥ "sixcircle"
0xb2: '\u2466', // ⑦ "sevencircle"
0xb3: '\u2467', // ⑧ "eightcircle"
0xb4: '\u2468', // ⑨ "ninecircle"
0xb5: '\u2469', // ⑩ "tencircle"
0xb6: '\u2776', // ❶ ""
0xb7: '\u2777', // ❷ ""
0xb8: '\u2778', // ❸ ""
0xb9: '\u2779', // ❹ ""
0xba: '\u277a', // ❺ ""
0xbb: '\u277b', // ❻ ""
0xbc: '\u277c', // ❼ ""
0xbd: '\u277d', // ❽ ""
0xbe: '\u277e', // ❾ ""
0xbf: '\u277f', // ❿ ""
0xc0: '\u2780', // ➀ ""
0xc1: '\u2781', // ➁ ""
0xc2: '\u2782', // ➂ ""
0xc3: '\u2783', // ➃ ""
0xc4: '\u2784', // ➄ ""
0xc5: '\u2785', // ➅ ""
0xc6: '\u2786', // ➆ ""
0xc7: '\u2787', // ➇ ""
0xc8: '\u2788', // ➈ ""
0xc9: '\u2789', // ➉ ""
0xca: '\u278a', // ➊ "onecircleinversesansserif"
0xcb: '\u278b', // ➋ "twocircleinversesansserif"
0xcc: '\u278c', // ➌ "threecircleinversesansserif"
0xcd: '\u278d', // ➍ "fourcircleinversesansserif"
0xce: '\u278e', // ➎ "fivecircleinversesansserif"
0xcf: '\u278f', // ➏ "sixcircleinversesansserif"
0xd0: '\u2790', // ➐ "sevencircleinversesansserif"
0xd1: '\u2791', // ➑ "eightcircleinversesansserif"
0xd2: '\u2792', // ➒ "ninecircleinversesansserif"
0xd3: '\u2793', // ➓ ""
0xd4: '\u2794', // ➔ ""
0xd5: '\u2192', // → "arrowright"
0xd6: '\u2194', // ↔ "arrowboth"
0xd7: '\u2195', // ↕ "arrowupdn"
0xd8: '\u2798', // ➘ ""
0xd9: '\u2799', // ➙ ""
0xda: '\u279a', // ➚ ""
0xdb: '\u279b', // ➛ ""
0xdc: '\u279c', // ➜ ""
0xdd: '\u279d', // ➝ ""
0xde: '\u279e', // ➞ "arrowrightheavy"
0xdf: '\u279f', // ➟ ""
0xe0: '\u27a0', // ➠ ""
0xe1: '\u27a1', // ➡ ""
0xe2: '\u27a2', // ➢ ""
0xe3: '\u27a3', // ➣ ""
0xe4: '\u27a4', // ➤ ""
0xe5: '\u27a5', // ➥ ""
0xe6: '\u27a6', // ➦ ""
0xe7: '\u27a7', // ➧ ""
0xe8: '\u27a8', // ➨ ""
0xe9: '\u27a9', // ➩ ""
0xea: '\u27aa', // ➪ ""
0xeb: '\u27ab', // ➫ ""
0xec: '\u27ac', // ➬ ""
0xed: '\u27ad', // ➭ ""
0xee: '\u27ae', // ➮ ""
0xef: '\u27af', // ➯ ""
0xf1: '\u27b1', // ➱ ""
0xf2: '\u27b2', // ➲ ""
0xf3: '\u27b3', // ➳ ""
0xf4: '\u27b4', // ➴ ""
0xf5: '\u27b5', // ➵ ""
0xf6: '\u27b6', // ➶ ""
0xf7: '\u27b7', // ➷ ""
0xf8: '\u27b8', // ➸ ""
0xf9: '\u27b9', // ➹ ""
0xfa: '\u27ba', // ➺ ""
0xfb: '\u27bb', // ➻ ""
0xfc: '\u27bc', // ➼ ""
0xfd: '\u27bd', // ➽ ""
0xfe: '\u27be', // ➾ ""
},
}