unipdf/pdf/internal/textencoding/simple_zapfdingbats.go

242 lines
6.7 KiB
Go

/*
* This file is subject to the terms and conditions defined in
* file 'LICENSE.md', which is part of this source code package.
*/
package textencoding
import "sync"
const baseZapfDingbats = "ZapfDingbatsEncoding"
var (
zapfDingbatsOnce sync.Once
zapfDingbatsRuneToChar map[rune]byte
)
func init() {
RegisterSimpleEncoding(baseZapfDingbats, NewZapfDingbatsEncoder)
}
// NewZapfDingbatsEncoder returns a SimpleEncoder that implements ZapfDingbatsEncoding.
func NewZapfDingbatsEncoder() SimpleEncoder {
zapfDingbatsOnce.Do(initZapfDingbats)
return &simpleEncoding{
baseName: baseZapfDingbats,
encode: zapfDingbatsRuneToChar,
decode: zapfDingbatsCharToRune,
}
}
func initZapfDingbats() {
zapfDingbatsRuneToChar = make(map[rune]byte, len(zapfDingbatsRuneToChar))
for b, r := range zapfDingbatsCharToRune {
zapfDingbatsRuneToChar[r] = b
}
}
var zapfDingbatsCharToRune = map[byte]rune{ // 202 entries
0x20: 0x0020, // "space"
0x21: 0x2701, // ✁ "a1"
0x22: 0x2702, // ✂ "a2"
0x23: 0x2703, // ✃ "a202"
0x24: 0x2704, // ✄ "a3"
0x25: 0x260e, // ☎ "a4"
0x26: 0x2706, // ✆ "a5"
0x27: 0x2707, // ✇ "a119"
0x28: 0x2708, // ✈ "a118"
0x29: 0x2709, // ✉ "a117"
0x2a: 0x261b, // ☛ "a11"
0x2b: 0x261e, // ☞ "a12"
0x2c: 0x270c, // ✌ "a13"
0x2d: 0x270d, // ✍ "a14"
0x2e: 0x270e, // ✎ "a15"
0x2f: 0x270f, // ✏ "a16"
0x30: 0x2710, // ✐ "a105"
0x31: 0x2711, // ✑ "a17"
0x32: 0x2712, // ✒ "a18"
0x33: 0x2713, // ✓ "a19"
0x34: 0x2714, // ✔ "a20"
0x35: 0x2715, // ✕ "a21"
0x36: 0x2716, // ✖ "a22"
0x37: 0x2717, // ✗ "a23"
0x38: 0x2718, // ✘ "a24"
0x39: 0x2719, // ✙ "a25"
0x3a: 0x271a, // ✚ "a26"
0x3b: 0x271b, // ✛ "a27"
0x3c: 0x271c, // ✜ "a28"
0x3d: 0x271d, // ✝ "a6"
0x3e: 0x271e, // ✞ "a7"
0x3f: 0x271f, // ✟ "a8"
0x40: 0x2720, // ✠ "a9"
0x41: 0x2721, // ✡ "a10"
0x42: 0x2722, // ✢ "a29"
0x43: 0x2723, // ✣ "a30"
0x44: 0x2724, // ✤ "a31"
0x45: 0x2725, // ✥ "a32"
0x46: 0x2726, // ✦ "a33"
0x47: 0x2727, // ✧ "a34"
0x48: 0x2605, // ★ "a35"
0x49: 0x2729, // ✩ "a36"
0x4a: 0x272a, // ✪ "a37"
0x4b: 0x272b, // ✫ "a38"
0x4c: 0x272c, // ✬ "a39"
0x4d: 0x272d, // ✭ "a40"
0x4e: 0x272e, // ✮ "a41"
0x4f: 0x272f, // ✯ "a42"
0x50: 0x2730, // ✰ "a43"
0x51: 0x2731, // ✱ "a44"
0x52: 0x2732, // ✲ "a45"
0x53: 0x2733, // ✳ "a46"
0x54: 0x2734, // ✴ "a47"
0x55: 0x2735, // ✵ "a48"
0x56: 0x2736, // ✶ "a49"
0x57: 0x2737, // ✷ "a50"
0x58: 0x2738, // ✸ "a51"
0x59: 0x2739, // ✹ "a52"
0x5a: 0x273a, // ✺ "a53"
0x5b: 0x273b, // ✻ "a54"
0x5c: 0x273c, // ✼ "a55"
0x5d: 0x273d, // ✽ "a56"
0x5e: 0x273e, // ✾ "a57"
0x5f: 0x273f, // ✿ "a58"
0x60: 0x2740, // ❀ "a59"
0x61: 0x2741, // ❁ "a60"
0x62: 0x2742, // ❂ "a61"
0x63: 0x2743, // ❃ "a62"
0x64: 0x2744, // ❄ "a63"
0x65: 0x2745, // ❅ "a64"
0x66: 0x2746, // ❆ "a65"
0x67: 0x2747, // ❇ "a66"
0x68: 0x2748, // ❈ "a67"
0x69: 0x2749, // ❉ "a68"
0x6a: 0x274a, // ❊ "a69"
0x6b: 0x274b, // ❋ "a70"
0x6c: 0x25cf, // ● "a71"
0x6d: 0x274d, // ❍ "a72"
0x6e: 0x25a0, // ■ "a73"
0x6f: 0x274f, // ❏ "a74"
0x70: 0x2750, // ❐ "a203"
0x71: 0x2751, // ❑ "a75"
0x72: 0x2752, // ❒ "a204"
0x73: 0x25b2, // ▲ "a76"
0x74: 0x25bc, // ▼ "a77"
0x75: 0x25c6, // ◆ "a78"
0x76: 0x2756, // ❖ "a79"
0x77: 0x25d7, // ◗ "a81"
0x78: 0x2758, // ❘ "a82"
0x79: 0x2759, // ❙ "a83"
0x7a: 0x275a, // ❚ "a84"
0x7b: 0x275b, // ❛ "a97"
0x7c: 0x275c, // ❜ "a98"
0x7d: 0x275d, // ❝ "a99"
0x7e: 0x275e, // ❞ "a100"
0x80: 0xf8d7, // "a89"
0x81: 0xf8d8, // "a90"
0x82: 0xf8d9, // "a93"
0x83: 0xf8da, // "a94"
0x84: 0xf8db, // "a91"
0x85: 0xf8dc, // "a92"
0x86: 0xf8dd, // "a205"
0x87: 0xf8de, // "a85"
0x88: 0xf8df, // "a206"
0x89: 0xf8e0, // "a86"
0x8a: 0xf8e1, // "a87"
0x8b: 0xf8e2, // "a88"
0x8c: 0xf8e3, // "a95"
0x8d: 0xf8e4, // "a96"
0xa1: 0x2761, // ❡ "a101"
0xa2: 0x2762, // ❢ "a102"
0xa3: 0x2763, // ❣ "a103"
0xa4: 0x2764, // ❤ "a104"
0xa5: 0x2765, // ❥ "a106"
0xa6: 0x2766, // ❦ "a107"
0xa7: 0x2767, // ❧ "a108"
0xa8: 0x2663, // ♣ "a112"
0xa9: 0x2666, // ♦ "a111"
0xaa: 0x2665, // ♥ "a110"
0xab: 0x2660, // ♠ "a109"
0xac: 0x2460, // ① "a120"
0xad: 0x2461, // ② "a121"
0xae: 0x2462, // ③ "a122"
0xaf: 0x2463, // ④ "a123"
0xb0: 0x2464, // ⑤ "a124"
0xb1: 0x2465, // ⑥ "a125"
0xb2: 0x2466, // ⑦ "a126"
0xb3: 0x2467, // ⑧ "a127"
0xb4: 0x2468, // ⑨ "a128"
0xb5: 0x2469, // ⑩ "a129"
0xb6: 0x2776, // ❶ "a130"
0xb7: 0x2777, // ❷ "a131"
0xb8: 0x2778, // ❸ "a132"
0xb9: 0x2779, // ❹ "a133"
0xba: 0x277a, // ❺ "a134"
0xbb: 0x277b, // ❻ "a135"
0xbc: 0x277c, // ❼ "a136"
0xbd: 0x277d, // ❽ "a137"
0xbe: 0x277e, // ❾ "a138"
0xbf: 0x277f, // ❿ "a139"
0xc0: 0x2780, // ➀ "a140"
0xc1: 0x2781, // ➁ "a141"
0xc2: 0x2782, // ➂ "a142"
0xc3: 0x2783, // ➃ "a143"
0xc4: 0x2784, // ➄ "a144"
0xc5: 0x2785, // ➅ "a145"
0xc6: 0x2786, // ➆ "a146"
0xc7: 0x2787, // ➇ "a147"
0xc8: 0x2788, // ➈ "a148"
0xc9: 0x2789, // ➉ "a149"
0xca: 0x278a, // ➊ "a150"
0xcb: 0x278b, // ➋ "a151"
0xcc: 0x278c, // ➌ "a152"
0xcd: 0x278d, // ➍ "a153"
0xce: 0x278e, // ➎ "a154"
0xcf: 0x278f, // ➏ "a155"
0xd0: 0x2790, // ➐ "a156"
0xd1: 0x2791, // ➑ "a157"
0xd2: 0x2792, // ➒ "a158"
0xd3: 0x2793, // ➓ "a159"
0xd4: 0x2794, // ➔ "a160"
0xd5: 0x2192, // → "a161"
0xd6: 0x2194, // ↔ "a163"
0xd7: 0x2195, // ↕ "a164"
0xd8: 0x2798, // ➘ "a196"
0xd9: 0x2799, // ➙ "a165"
0xda: 0x279a, // ➚ "a192"
0xdb: 0x279b, // ➛ "a166"
0xdc: 0x279c, // ➜ "a167"
0xdd: 0x279d, // ➝ "a168"
0xde: 0x279e, // ➞ "a169"
0xdf: 0x279f, // ➟ "a170"
0xe0: 0x27a0, // ➠ "a171"
0xe1: 0x27a1, // ➡ "a172"
0xe2: 0x27a2, // ➢ "a173"
0xe3: 0x27a3, // ➣ "a162"
0xe4: 0x27a4, // ➤ "a174"
0xe5: 0x27a5, // ➥ "a175"
0xe6: 0x27a6, // ➦ "a176"
0xe7: 0x27a7, // ➧ "a177"
0xe8: 0x27a8, // ➨ "a178"
0xe9: 0x27a9, // ➩ "a179"
0xea: 0x27aa, // ➪ "a193"
0xeb: 0x27ab, // ➫ "a180"
0xec: 0x27ac, // ➬ "a199"
0xed: 0x27ad, // ➭ "a181"
0xee: 0x27ae, // ➮ "a200"
0xef: 0x27af, // ➯ "a182"
0xf1: 0x27b1, // ➱ "a201"
0xf2: 0x27b2, // ➲ "a183"
0xf3: 0x27b3, // ➳ "a184"
0xf4: 0x27b4, // ➴ "a197"
0xf5: 0x27b5, // ➵ "a185"
0xf6: 0x27b6, // ➶ "a194"
0xf7: 0x27b7, // ➷ "a198"
0xf8: 0x27b8, // ➸ "a186"
0xf9: 0x27b9, // ➹ "a195"
0xfa: 0x27ba, // ➺ "a187"
0xfb: 0x27bb, // ➻ "a188"
0xfc: 0x27bc, // ➼ "a189"
0xfd: 0x27bd, // ➽ "a190"
0xfe: 0x27be, // ➾ "a191"
}