diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2023-11-28 10:37:03 -0800 |
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2023-11-28 11:50:26 -0800 |
| commit | 9901aa2a40b1c8987e00b1212e10d6f1357d42cc (patch) | |
| tree | c8f5c26adcc3144290a83926c97b4b180309c6be /src/Text | |
| parent | 4259d64d256f7bb73ba13bf21e57173d62168619 (diff) | |
Docx reader: Improve handling of w:sym.
Add T.P.Readers.Docx.Symbols. This gives us a table to use to
resolve characters included in docx via w:sym element.
Use this table to resolve characters when symbol fonts are specified.
Closes #9220.
Diffstat (limited to 'src/Text')
| -rw-r--r-- | src/Text/Pandoc/Readers/Docx/Parse.hs | 30 | ||||
| -rw-r--r-- | src/Text/Pandoc/Readers/Docx/Symbols.hs | 1085 |
2 files changed, 1101 insertions, 14 deletions
diff --git a/src/Text/Pandoc/Readers/Docx/Parse.hs b/src/Text/Pandoc/Readers/Docx/Parse.hs index 71be50c18..e83d764fd 100644 --- a/src/Text/Pandoc/Readers/Docx/Parse.hs +++ b/src/Text/Pandoc/Readers/Docx/Parse.hs @@ -79,7 +79,7 @@ import Text.Pandoc.Shared (filteredFilesFromArchive, safeRead) import qualified Text.Pandoc.UTF8 as UTF8 import Text.TeXMath (Exp) import Text.TeXMath.Readers.OMML (readOMML) -import Text.TeXMath.Unicode.Fonts (Font (..), getUnicode, textToFont) +import Text.Pandoc.Readers.Docx.Symbols (symbolMap, Font(..), textToFont) import Text.Pandoc.XML.Light ( filterChild, findElement, @@ -1200,33 +1200,35 @@ elemToRunElem ns element case font of Nothing -> return $ TextRun str Just f -> return . TextRun $ - T.map (\x -> fromMaybe x . getUnicode f . lowerFromPrivate $ x) str + T.map (\c -> fromMaybe c (getFontChar f c)) str | isElem ns "w" "br" element = return LnBrk | isElem ns "w" "tab" element = return Tab | isElem ns "w" "softHyphen" element = return SoftHyphen | isElem ns "w" "noBreakHyphen" element = return NoBreakHyphen | isElem ns "w" "sym" element = return (getSymChar ns element) | otherwise = throwError WrongElem - where - lowerFromPrivate (ord -> c) - | c >= ord '\xF000' = chr $ c - ord '\xF000' - | otherwise = chr c -- The char attribute is a hex string getSymChar :: NameSpaces -> Element -> RunElem getSymChar ns element - | Just s <- lowerFromPrivate <$> getCodepoint + | Just s <- getCodepoint , Just font <- getFont = case readLitChar ("\\x" ++ T.unpack s) of - [(char, _)] -> TextRun . maybe "" T.singleton $ getUnicode font char - _ -> TextRun "" + [(ch, _)] -> + TextRun $ T.singleton $ fromMaybe ch $ getFontChar font ch + _ -> TextRun "" where getCodepoint = findAttrByName ns "w" "char" element - getFont = textToFont =<< findAttrByName ns "w" "font" element - lowerFromPrivate t | "F" `T.isPrefixOf` t = "0" <> T.drop 1 t - | otherwise = t + getFont = findAttrByName ns "w" "font" element >>= textToFont getSymChar _ _ = TextRun "" +getFontChar :: Font -> Char -> Maybe Char +getFontChar font ch = chr <$> M.lookup (font, point) symbolMap + where + point -- sometimes F000 is added to put char in private range: + | ch >= '\xF000' = ord ch - 0xF000 + | otherwise = ord ch + elemToRunElems :: NameSpaces -> Element -> D [RunElem] elemToRunElems ns element | isElem ns "w" "r" element @@ -1234,9 +1236,9 @@ elemToRunElems ns element let qualName = elemName ns "w" let font = do fontElem <- findElement (qualName "rFonts") element - textToFont =<< - foldr ((<|>) . (flip findAttr fontElem . qualName)) + foldr ((<|>) . (flip findAttr fontElem . qualName)) Nothing ["ascii", "hAnsi"] + >>= textToFont local (setFont font) (mapD (elemToRunElem ns) (elChildren element)) elemToRunElems _ _ = throwError WrongElem diff --git a/src/Text/Pandoc/Readers/Docx/Symbols.hs b/src/Text/Pandoc/Readers/Docx/Symbols.hs new file mode 100644 index 000000000..4ded9d5f9 --- /dev/null +++ b/src/Text/Pandoc/Readers/Docx/Symbols.hs @@ -0,0 +1,1085 @@ +{-# LANGUAGE OverloadedStrings #-} +{- | + Module : Text.Pandoc.Readers.Docx.Symbols + Copyright : © 2023 John MacFarlane <jgm@berkeley.edu> + License : GNU GPL, version 2 or above + + Maintainer : John MacFarlane <jgm@berkeley.edu> + Stability : alpha + Portability : portable + +Symbol tables for MS symbol fonts. This is needed for w:sym. +-} +module Text.Pandoc.Readers.Docx.Symbols ( Font(..), + textToFont, + symbolMap ) where + +import Data.Text (Text) +import qualified Data.Map as M + +data Font = Symbol | Wingdings | Wingdings2 | Wingdings3 | Webdings + deriving (Show, Ord, Eq) + +textToFont :: Text -> Maybe Font +textToFont "Symbol" = Just Symbol +textToFont "Wingdings" = Just Wingdings +textToFont "Wingdings 2" = Just Wingdings2 +textToFont "Wingdings 3" = Just Wingdings3 +textToFont "Webdings" = Just Webdings +textToFont _ = Nothing + +-- \ Maps font and internal character number to Unicode code point. +symbolMap :: M.Map (Font, Int) Int +symbolMap = M.fromList + [((Wingdings, 0x21), 0x1F589) + ,((Wingdings, 0x22), 0x2702) + ,((Wingdings, 0x23), 0x2701) + ,((Wingdings, 0x24), 0x1F453) + ,((Wingdings, 0x25), 0x1F56D) + ,((Wingdings, 0x26), 0x1F56E) + ,((Wingdings, 0x27), 0x1F56F) + ,((Wingdings, 0x28), 0x1F57F) + ,((Wingdings, 0x29), 0x2706) + ,((Wingdings, 0x2A), 0x1F582) + ,((Wingdings, 0x2B), 0x1F583) + ,((Wingdings, 0x2C), 0x1F4EA) + ,((Wingdings, 0x2D), 0x1F4EB) + ,((Wingdings, 0x2E), 0x1F4EC) + ,((Wingdings, 0x2F), 0x1F4ED) + ,((Wingdings, 0x30), 0x1F4C1) + ,((Wingdings, 0x31), 0x1F4C2) + ,((Wingdings, 0x32), 0x1F4C4) + ,((Wingdings, 0x33), 0x1F5CF) + ,((Wingdings, 0x34), 0x1F5D0) + ,((Wingdings, 0x35), 0x1F5C4) + ,((Wingdings, 0x36), 0x231B) + ,((Wingdings, 0x37), 0x1F5AE) + ,((Wingdings, 0x38), 0x1F5B0) + ,((Wingdings, 0x39), 0x1F5B2) + ,((Wingdings, 0x3A), 0x1F5B3) + ,((Wingdings, 0x3B), 0x1F5B4) + ,((Wingdings, 0x3C), 0x1F5AB) + ,((Wingdings, 0x3D), 0x1F5AC) + ,((Wingdings, 0x3E), 0x2707) + ,((Wingdings, 0x3F), 0x270D) + ,((Wingdings, 0x40), 0x1F58E) + ,((Wingdings, 0x41), 0x270C) + ,((Wingdings, 0x42), 0x1F44C) + ,((Wingdings, 0x43), 0x1F44D) + ,((Wingdings, 0x44), 0x1F44E) + ,((Wingdings, 0x45), 0x261C) + ,((Wingdings, 0x46), 0x261E) + ,((Wingdings, 0x47), 0x261D) + ,((Wingdings, 0x48), 0x261F) + ,((Wingdings, 0x49), 0x1F590) + ,((Wingdings, 0x4A), 0x263A) + ,((Wingdings, 0x4B), 0x1F610) + ,((Wingdings, 0x4C), 0x2639) + ,((Wingdings, 0x4D), 0x1F4A3) + ,((Wingdings, 0x4E), 0x2620) + ,((Wingdings, 0x4F), 0x1F3F3) + ,((Wingdings, 0x50), 0x1F3F1) + ,((Wingdings, 0x51), 0x2708) + ,((Wingdings, 0x52), 0x263C) + ,((Wingdings, 0x53), 0x1F4A7) + ,((Wingdings, 0x54), 0x2744) + ,((Wingdings, 0x55), 0x1F546) + ,((Wingdings, 0x56), 0x271E) + ,((Wingdings, 0x57), 0x1F548) + ,((Wingdings, 0x58), 0x2720) + ,((Wingdings, 0x59), 0x2721) + ,((Wingdings, 0x5A), 0x262A) + ,((Wingdings, 0x5B), 0x262F) + ,((Wingdings, 0x5C), 0x0950) + ,((Wingdings, 0x5D), 0x2638) + ,((Wingdings, 0x5E), 0x2648) + ,((Wingdings, 0x5F), 0x2649) + ,((Wingdings, 0x60), 0x264A) + ,((Wingdings, 0x61), 0x264B) + ,((Wingdings, 0x62), 0x264C) + ,((Wingdings, 0x63), 0x264D) + ,((Wingdings, 0x64), 0x264E) + ,((Wingdings, 0x65), 0x264F) + ,((Wingdings, 0x66), 0x2650) + ,((Wingdings, 0x67), 0x2651) + ,((Wingdings, 0x68), 0x2652) + ,((Wingdings, 0x69), 0x2653) + ,((Wingdings, 0x6A), 0x1F670) + ,((Wingdings, 0x6B), 0x1F675) + ,((Wingdings, 0x6C), 0x25CF) + ,((Wingdings, 0x6D), 0x1F53E) + ,((Wingdings, 0x6E), 0x25A0) + ,((Wingdings, 0x6F), 0x25A1) + ,((Wingdings, 0x70), 0x1F790) + ,((Wingdings, 0x71), 0x2751) + ,((Wingdings, 0x72), 0x2752) + ,((Wingdings, 0x73), 0x2B27) + ,((Wingdings, 0x74), 0x29EB) + ,((Wingdings, 0x75), 0x25C6) + ,((Wingdings, 0x76), 0x2756) + ,((Wingdings, 0x77), 0x2B25) + ,((Wingdings, 0x78), 0x2327) + ,((Wingdings, 0x79), 0x2BB9) + ,((Wingdings, 0x7A), 0x2318) + ,((Wingdings, 0x7B), 0x1F3F5) + ,((Wingdings, 0x7C), 0x1F3F6) + ,((Wingdings, 0x7D), 0x1F676) + ,((Wingdings, 0x7E), 0x1F677) + ,((Wingdings, 0x80), 0x24EA) + ,((Wingdings, 0x81), 0x2460) + ,((Wingdings, 0x82), 0x2461) + ,((Wingdings, 0x83), 0x2462) + ,((Wingdings, 0x84), 0x2463) + ,((Wingdings, 0x85), 0x2464) + ,((Wingdings, 0x86), 0x2465) + ,((Wingdings, 0x87), 0x2466) + ,((Wingdings, 0x88), 0x2467) + ,((Wingdings, 0x89), 0x2468) + ,((Wingdings, 0x8A), 0x2469) + ,((Wingdings, 0x8B), 0x24FF) + ,((Wingdings, 0x8C), 0x2776) + ,((Wingdings, 0x8D), 0x2777) + ,((Wingdings, 0x8E), 0x2778) + ,((Wingdings, 0x8F), 0x2779) + ,((Wingdings, 0x90), 0x277A) + ,((Wingdings, 0x91), 0x277B) + ,((Wingdings, 0x92), 0x277C) + ,((Wingdings, 0x93), 0x277D) + ,((Wingdings, 0x94), 0x277E) + ,((Wingdings, 0x95), 0x277F) + ,((Wingdings, 0x96), 0x1F662) + ,((Wingdings, 0x97), 0x1F660) + ,((Wingdings, 0x98), 0x1F661) + ,((Wingdings, 0x99), 0x1F663) + ,((Wingdings, 0x9A), 0x1F65E) + ,((Wingdings, 0x9B), 0x1F65C) + ,((Wingdings, 0x9C), 0x1F65D) + ,((Wingdings, 0x9D), 0x1F65F) + ,((Wingdings, 0x9E), 0x00B7) + ,((Wingdings, 0x9F), 0x2022) + ,((Wingdings, 0xA1), 0x26AA) + ,((Wingdings, 0xA2), 0x1F786) + ,((Wingdings, 0xA3), 0x1F788) + ,((Wingdings, 0xA4), 0x25C9) + ,((Wingdings, 0xA5), 0x25CE) + ,((Wingdings, 0xA6), 0x1F53F) + ,((Wingdings, 0xA7), 0x25AA) + ,((Wingdings, 0xA8), 0x25FB) + ,((Wingdings, 0xA9), 0x1F7C2) + ,((Wingdings, 0xAA), 0x2726) + ,((Wingdings, 0xAB), 0x2605) + ,((Wingdings, 0xAC), 0x2736) + ,((Wingdings, 0xAD), 0x2734) + ,((Wingdings, 0xAE), 0x2739) + ,((Wingdings, 0xAF), 0x2735) + ,((Wingdings, 0xB0), 0x2BD0) + ,((Wingdings, 0xB1), 0x2316) + ,((Wingdings, 0xB2), 0x27E1) + ,((Wingdings, 0xB3), 0x2311) + ,((Wingdings, 0xB4), 0x2BD1) + ,((Wingdings, 0xB5), 0x272A) + ,((Wingdings, 0xB6), 0x2730) + ,((Wingdings, 0xB7), 0x1F550) + ,((Wingdings, 0xB8), 0x1F551) + ,((Wingdings, 0xB9), 0x1F552) + ,((Wingdings, 0xBA), 0x1F553) + ,((Wingdings, 0xBB), 0x1F554) + ,((Wingdings, 0xBC), 0x1F555) + ,((Wingdings, 0xBD), 0x1F556) + ,((Wingdings, 0xBE), 0x1F557) + ,((Wingdings, 0xBF), 0x1F558) + ,((Wingdings, 0xC0), 0x1F559) + ,((Wingdings, 0xC1), 0x1F55A) + ,((Wingdings, 0xC2), 0x1F55B) + ,((Wingdings, 0xC3), 0x2BB0) + ,((Wingdings, 0xC4), 0x2BB1) + ,((Wingdings, 0xC5), 0x2BB2) + ,((Wingdings, 0xC6), 0x2BB3) + ,((Wingdings, 0xC7), 0x2BB4) + ,((Wingdings, 0xC8), 0x2BB5) + ,((Wingdings, 0xC9), 0x2BB6) + ,((Wingdings, 0xCA), 0x2BB7) + ,((Wingdings, 0xCB), 0x1F66A) + ,((Wingdings, 0xCC), 0x1F66B) + ,((Wingdings, 0xCD), 0x1F655) + ,((Wingdings, 0xCE), 0x1F654) + ,((Wingdings, 0xCF), 0x1F657) + ,((Wingdings, 0xD0), 0x1F656) + ,((Wingdings, 0xD1), 0x1F650) + ,((Wingdings, 0xD2), 0x1F651) + ,((Wingdings, 0xD3), 0x1F652) + ,((Wingdings, 0xD4), 0x1F653) + ,((Wingdings, 0xD5), 0x232B) + ,((Wingdings, 0xD6), 0x2326) + ,((Wingdings, 0xD7), 0x2B98) + ,((Wingdings, 0xD8), 0x2B9A) + ,((Wingdings, 0xD9), 0x2B99) + ,((Wingdings, 0xDA), 0x2B9B) + ,((Wingdings, 0xDB), 0x2B88) + ,((Wingdings, 0xDC), 0x2B8A) + ,((Wingdings, 0xDD), 0x2B89) + ,((Wingdings, 0xDE), 0x2B8B) + ,((Wingdings, 0xDF), 0x1F868) + ,((Wingdings, 0xE0), 0x1F86A) + ,((Wingdings, 0xE1), 0x1F869) + ,((Wingdings, 0xE2), 0x1F86B) + ,((Wingdings, 0xE3), 0x1F86C) + ,((Wingdings, 0xE4), 0x1F86D) + ,((Wingdings, 0xE5), 0x1F86F) + ,((Wingdings, 0xE6), 0x1F86E) + ,((Wingdings, 0xE7), 0x1F878) + ,((Wingdings, 0xE8), 0x1F87A) + ,((Wingdings, 0xE9), 0x1F879) + ,((Wingdings, 0xEA), 0x1F87B) + ,((Wingdings, 0xEB), 0x1F87C) + ,((Wingdings, 0xEC), 0x1F87D) + ,((Wingdings, 0xED), 0x1F87F) + ,((Wingdings, 0xEE), 0x1F87E) + ,((Wingdings, 0xEF), 0x21E6) + ,((Wingdings, 0xF0), 0x21E8) + ,((Wingdings, 0xF1), 0x21E7) + ,((Wingdings, 0xF2), 0x21E9) + ,((Wingdings, 0xF3), 0x2B04) + ,((Wingdings, 0xF4), 0x21F3) + ,((Wingdings, 0xF5), 0x2B00) + ,((Wingdings, 0xF6), 0x2B01) + ,((Wingdings, 0xF7), 0x2B03) + ,((Wingdings, 0xF8), 0x2B02) + ,((Wingdings, 0xF9), 0x1F8AC) + ,((Wingdings, 0xFA), 0x1F8AD) + ,((Wingdings, 0xFB), 0x1F5F6) + ,((Wingdings, 0xFC), 0x2714) + ,((Wingdings, 0xFD), 0x1F5F7) + ,((Wingdings, 0xFE), 0x1F5F9) + ,((Wingdings2, 0x21), 0x1F58A) + ,((Wingdings2, 0x22), 0x1F58B) + ,((Wingdings2, 0x23), 0x1F58C) + ,((Wingdings2, 0x24), 0x1F58D) + ,((Wingdings2, 0x25), 0x2704) + ,((Wingdings2, 0x26), 0x2700) + ,((Wingdings2, 0x27), 0x1F57E) + ,((Wingdings2, 0x28), 0x1F57D) + ,((Wingdings2, 0x29), 0x1F5C5) + ,((Wingdings2, 0x2A), 0x1F5C6) + ,((Wingdings2, 0x2B), 0x1F5C7) + ,((Wingdings2, 0x2C), 0x1F5C8) + ,((Wingdings2, 0x2D), 0x1F5C9) + ,((Wingdings2, 0x2E), 0x1F5CA) + ,((Wingdings2, 0x2F), 0x1F5CB) + ,((Wingdings2, 0x30), 0x1F5CC) + ,((Wingdings2, 0x31), 0x1F5CD) + ,((Wingdings2, 0x32), 0x1F4CB) + ,((Wingdings2, 0x33), 0x1F5D1) + ,((Wingdings2, 0x34), 0x1F5D4) + ,((Wingdings2, 0x35), 0x1F5B5) + ,((Wingdings2, 0x36), 0x1F5B6) + ,((Wingdings2, 0x37), 0x1F5B7) + ,((Wingdings2, 0x38), 0x1F5B8) + ,((Wingdings2, 0x39), 0x1F5AD) + ,((Wingdings2, 0x3A), 0x1F5AF) + ,((Wingdings2, 0x3B), 0x1F5B1) + ,((Wingdings2, 0x3C), 0x1F592) + ,((Wingdings2, 0x3D), 0x1F593) + ,((Wingdings2, 0x3E), 0x1F598) + ,((Wingdings2, 0x3F), 0x1F599) + ,((Wingdings2, 0x40), 0x1F59A) + ,((Wingdings2, 0x41), 0x1F59B) + ,((Wingdings2, 0x42), 0x1F448) + ,((Wingdings2, 0x43), 0x1F449) + ,((Wingdings2, 0x44), 0x1F59C) + ,((Wingdings2, 0x45), 0x1F59D) + ,((Wingdings2, 0x46), 0x1F59E) + ,((Wingdings2, 0x47), 0x1F59F) + ,((Wingdings2, 0x48), 0x1F5A0) + ,((Wingdings2, 0x49), 0x1F5A1) + ,((Wingdings2, 0x4A), 0x1F446) + ,((Wingdings2, 0x4B), 0x1F447) + ,((Wingdings2, 0x4C), 0x1F5A2) + ,((Wingdings2, 0x4D), 0x1F5A3) + ,((Wingdings2, 0x4E), 0x1F591) + ,((Wingdings2, 0x4F), 0x1F5F4) + ,((Wingdings2, 0x50), 0x2713) + ,((Wingdings2, 0x51), 0x1F5F5) + ,((Wingdings2, 0x52), 0x2611) + ,((Wingdings2, 0x53), 0x2612) + ,((Wingdings2, 0x54), 0x2612) + ,((Wingdings2, 0x55), 0x2BBE) + ,((Wingdings2, 0x56), 0x2BBF) + ,((Wingdings2, 0x57), 0x29B8) + ,((Wingdings2, 0x58), 0x29B8) + ,((Wingdings2, 0x59), 0x1F671) + ,((Wingdings2, 0x5A), 0x1F674) + ,((Wingdings2, 0x5B), 0x1F672) + ,((Wingdings2, 0x5C), 0x1F673) + ,((Wingdings2, 0x5D), 0x203D) + ,((Wingdings2, 0x5E), 0x1F679) + ,((Wingdings2, 0x5F), 0x1F67A) + ,((Wingdings2, 0x60), 0x1F67B) + ,((Wingdings2, 0x61), 0x1F666) + ,((Wingdings2, 0x62), 0x1F664) + ,((Wingdings2, 0x63), 0x1F665) + ,((Wingdings2, 0x64), 0x1F667) + ,((Wingdings2, 0x65), 0x1F65A) + ,((Wingdings2, 0x66), 0x1F658) + ,((Wingdings2, 0x67), 0x1F659) + ,((Wingdings2, 0x68), 0x1F65B) + ,((Wingdings2, 0x69), 0x24EA) + ,((Wingdings2, 0x6A), 0x2460) + ,((Wingdings2, 0x6B), 0x2461) + ,((Wingdings2, 0x6C), 0x2462) + ,((Wingdings2, 0x6D), 0x2463) + ,((Wingdings2, 0x6E), 0x2464) + ,((Wingdings2, 0x6F), 0x2465) + ,((Wingdings2, 0x70), 0x2466) + ,((Wingdings2, 0x71), 0x2467) + ,((Wingdings2, 0x72), 0x2468) + ,((Wingdings2, 0x73), 0x2469) + ,((Wingdings2, 0x74), 0x24FF) + ,((Wingdings2, 0x75), 0x2776) + ,((Wingdings2, 0x76), 0x2777) + ,((Wingdings2, 0x77), 0x2778) + ,((Wingdings2, 0x78), 0x2779) + ,((Wingdings2, 0x79), 0x277A) + ,((Wingdings2, 0x7A), 0x277B) + ,((Wingdings2, 0x7B), 0x277C) + ,((Wingdings2, 0x7C), 0x277D) + ,((Wingdings2, 0x7D), 0x277E) + ,((Wingdings2, 0x7E), 0x277F) + ,((Wingdings2, 0x80), 0x2609) + ,((Wingdings2, 0x81), 0x1F315) + ,((Wingdings2, 0x82), 0x263D) + ,((Wingdings2, 0x83), 0x263E) + ,((Wingdings2, 0x84), 0x2E3F) + ,((Wingdings2, 0x85), 0x271D) + ,((Wingdings2, 0x86), 0x1F547) + ,((Wingdings2, 0x87), 0x1F55C) + ,((Wingdings2, 0x88), 0x1F55D) + ,((Wingdings2, 0x89), 0x1F55E) + ,((Wingdings2, 0x8A), 0x1F55F) + ,((Wingdings2, 0x8B), 0x1F560) + ,((Wingdings2, 0x8C), 0x1F561) + ,((Wingdings2, 0x8D), 0x1F562) + ,((Wingdings2, 0x8E), 0x1F563) + ,((Wingdings2, 0x8F), 0x1F564) + ,((Wingdings2, 0x90), 0x1F565) + ,((Wingdings2, 0x91), 0x1F566) + ,((Wingdings2, 0x92), 0x1F567) + ,((Wingdings2, 0x93), 0x1F668) + ,((Wingdings2, 0x94), 0x1F669) + ,((Wingdings2, 0x95), 0x2022) + ,((Wingdings2, 0x96), 0x25CF) + ,((Wingdings2, 0x97), 0x26AB) + ,((Wingdings2, 0x98), 0x2B24) + ,((Wingdings2, 0x99), 0x1F785) + ,((Wingdings2, 0x9A), 0x1F786) + ,((Wingdings2, 0x9B), 0x1F787) + ,((Wingdings2, 0x9C), 0x1F788) + ,((Wingdings2, 0x9D), 0x1F78A) + ,((Wingdings2, 0x9E), 0x29BF) + ,((Wingdings2, 0x9F), 0x25FE) + ,((Wingdings2, 0xA1), 0x25FC) + ,((Wingdings2, 0xA2), 0x2B1B) + ,((Wingdings2, 0xA3), 0x2B1C) + ,((Wingdings2, 0xA4), 0x1F791) + ,((Wingdings2, 0xA5), 0x1F792) + ,((Wingdings2, 0xA6), 0x1F793) + ,((Wingdings2, 0xA7), 0x1F794) + ,((Wingdings2, 0xA8), 0x25A3) + ,((Wingdings2, 0xA9), 0x1F795) + ,((Wingdings2, 0xAA), 0x1F796) + ,((Wingdings2, 0xAB), 0x1F797) + ,((Wingdings2, 0xAC), 0x2B29) + ,((Wingdings2, 0xAD), 0x2B25) + ,((Wingdings2, 0xAE), 0x25C6) + ,((Wingdings2, 0xAF), 0x25C7) + ,((Wingdings2, 0xB0), 0x1F79A) + ,((Wingdings2, 0xB1), 0x25C8) + ,((Wingdings2, 0xB2), 0x1F79B) + ,((Wingdings2, 0xB3), 0x1F79C) + ,((Wingdings2, 0xB4), 0x1F79D) + ,((Wingdings2, 0xB5), 0x2B2A) + ,((Wingdings2, 0xB6), 0x2B27) + ,((Wingdings2, 0xB7), 0x29EB) + ,((Wingdings2, 0xB8), 0x25CA) + ,((Wingdings2, 0xB9), 0x1F7A0) + ,((Wingdings2, 0xBA), 0x25D6) + ,((Wingdings2, 0xBB), 0x25D7) + ,((Wingdings2, 0xBC), 0x2BCA) + ,((Wingdings2, 0xBD), 0x2BCB) + ,((Wingdings2, 0xBE), 0x25FC) + ,((Wingdings2, 0xBF), 0x2B25) + ,((Wingdings2, 0xC0), 0x2B1F) + ,((Wingdings2, 0xC1), 0x2BC2) + ,((Wingdings2, 0xC2), 0x2B23) + ,((Wingdings2, 0xC3), 0x2B22) + ,((Wingdings2, 0xC4), 0x2BC3) + ,((Wingdings2, 0xC5), 0x2BC4) + ,((Wingdings2, 0xC6), 0x1F7A1) + ,((Wingdings2, 0xC7), 0x1F7A2) + ,((Wingdings2, 0xC8), 0x1F7A3) + ,((Wingdings2, 0xC9), 0x1F7A4) + ,((Wingdings2, 0xCA), 0x1F7A5) + ,((Wingdings2, 0xCB), 0x1F7A6) + ,((Wingdings2, 0xCC), 0x1F7A7) + ,((Wingdings2, 0xCD), 0x1F7A8) + ,((Wingdings2, 0xCE), 0x1F7A9) + ,((Wingdings2, 0xCF), 0x1F7AA) + ,((Wingdings2, 0xD0), 0x1F7AB) + ,((Wingdings2, 0xD1), 0x1F7AC) + ,((Wingdings2, 0xD2), 0x1F7AD) + ,((Wingdings2, 0xD3), 0x1F7AE) + ,((Wingdings2, 0xD4), 0x1F7AF) + ,((Wingdings2, 0xD5), 0x1F7B0) + ,((Wingdings2, 0xD6), 0x1F7B1) + ,((Wingdings2, 0xD7), 0x1F7B2) + ,((Wingdings2, 0xD8), 0x1F7B3) + ,((Wingdings2, 0xD9), 0x1F7B4) + ,((Wingdings2, 0xDA), 0x1F7B5) + ,((Wingdings2, 0xDB), 0x1F7B6) + ,((Wingdings2, 0xDC), 0x1F7B7) + ,((Wingdings2, 0xDD), 0x1F7B8) + ,((Wingdings2, 0xDE), 0x1F7B9) + ,((Wingdings2, 0xDF), 0x1F7BA) + ,((Wingdings2, 0xE0), 0x1F7BB) + ,((Wingdings2, 0xE1), 0x1F7BC) + ,((Wingdings2, 0xE2), 0x1F7BD) + ,((Wingdings2, 0xE3), 0x1F7BE) + ,((Wingdings2, 0xE4), 0x1F7BF) + ,((Wingdings2, 0xE5), 0x1F7C0) + ,((Wingdings2, 0xE6), 0x1F7C2) + ,((Wingdings2, 0xE7), 0x1F7C4) + ,((Wingdings2, 0xE8), 0x2726) + ,((Wingdings2, 0xE9), 0x1F7C9) + ,((Wingdings2, 0xEA), 0x2605) + ,((Wingdings2, 0xEB), 0x2736) + ,((Wingdings2, 0xEC), 0x1F7CB) + ,((Wingdings2, 0xED), 0x2737) + ,((Wingdings2, 0xEE), 0x1F7CF) + ,((Wingdings2, 0xEF), 0x1F7D2) + ,((Wingdings2, 0xF0), 0x2739) + ,((Wingdings2, 0xF1), 0x1F7C3) + ,((Wingdings2, 0xF2), 0x1F7C7) + ,((Wingdings2, 0xF3), 0x272F) + ,((Wingdings2, 0xF4), 0x1F7CD) + ,((Wingdings2, 0xF5), 0x1F7D4) + ,((Wingdings2, 0xF6), 0x2BCC) + ,((Wingdings2, 0xF7), 0x2BCD) + ,((Wingdings2, 0xF8), 0x203B) + ,((Wingdings2, 0xF9), 0x2042) + ,((Wingdings3, 0x21), 0x2B60) + ,((Wingdings3, 0x22), 0x2B62) + ,((Wingdings3, 0x23), 0x2B61) + ,((Wingdings3, 0x24), 0x2B63) + ,((Wingdings3, 0x25), 0x2B66) + ,((Wingdings3, 0x26), 0x2B67) + ,((Wingdings3, 0x27), 0x2B69) + ,((Wingdings3, 0x28), 0x2B68) + ,((Wingdings3, 0x29), 0x2B70) + ,((Wingdings3, 0x2A), 0x2B72) + ,((Wingdings3, 0x2B), 0x2B71) + ,((Wingdings3, 0x2C), 0x2B73) + ,((Wingdings3, 0x2D), 0x2B76) + ,((Wingdings3, 0x2E), 0x2B78) + ,((Wingdings3, 0x2F), 0x2B7B) + ,((Wingdings3, 0x30), 0x2B7D) + ,((Wingdings3, 0x31), 0x2B64) + ,((Wingdings3, 0x32), 0x2B65) + ,((Wingdings3, 0x33), 0x2B6A) + ,((Wingdings3, 0x34), 0x2B6C) + ,((Wingdings3, 0x35), 0x2B6B) + ,((Wingdings3, 0x36), 0x2B6D) + ,((Wingdings3, 0x37), 0x2B4D) + ,((Wingdings3, 0x38), 0x2BA0) + ,((Wingdings3, 0x39), 0x2BA1) + ,((Wingdings3, 0x3A), 0x2BA2) + ,((Wingdings3, 0x3B), 0x2BA3) + ,((Wingdings3, 0x3C), 0x2BA4) + ,((Wingdings3, 0x3D), 0x2BA5) + ,((Wingdings3, 0x3E), 0x2BA6) + ,((Wingdings3, 0x3F), 0x2BA7) + ,((Wingdings3, 0x40), 0x2B90) + ,((Wingdings3, 0x41), 0x2B91) + ,((Wingdings3, 0x42), 0x2B92) + ,((Wingdings3, 0x43), 0x2B93) + ,((Wingdings3, 0x44), 0x2B80) + ,((Wingdings3, 0x45), 0x2B83) + ,((Wingdings3, 0x46), 0x2B7E) + ,((Wingdings3, 0x47), 0x2B7F) + ,((Wingdings3, 0x48), 0x2B84) + ,((Wingdings3, 0x49), 0x2B86) + ,((Wingdings3, 0x4A), 0x2B85) + ,((Wingdings3, 0x4B), 0x2B87) + ,((Wingdings3, 0x4C), 0x2B8F) + ,((Wingdings3, 0x4D), 0x2B8D) + ,((Wingdings3, 0x4E), 0x2B8E) + ,((Wingdings3, 0x4F), 0x2B8C) + ,((Wingdings3, 0x50), 0x2B6E) + ,((Wingdings3, 0x51), 0x2B6F) + ,((Wingdings3, 0x52), 0x238B) + ,((Wingdings3, 0x53), 0x2324) + ,((Wingdings3, 0x54), 0x2303) + ,((Wingdings3, 0x55), 0x2325) + ,((Wingdings3, 0x56), 0x23B5) + ,((Wingdings3, 0x57), 0x237D) + ,((Wingdings3, 0x58), 0x21EA) + ,((Wingdings3, 0x59), 0x2BB8) + ,((Wingdings3, 0x5A), 0x1F8A0) + ,((Wingdings3, 0x5B), 0x1F8A1) + ,((Wingdings3, 0x5C), 0x1F8A2) + ,((Wingdings3, 0x5D), 0x1F8A3) + ,((Wingdings3, 0x5E), 0x1F8A4) + ,((Wingdings3, 0x5F), 0x1F8A5) + ,((Wingdings3, 0x60), 0x1F8A6) + ,((Wingdings3, 0x61), 0x1F8A7) + ,((Wingdings3, 0x62), 0x1F8A8) + ,((Wingdings3, 0x63), 0x1F8A9) + ,((Wingdings3, 0x64), 0x1F8AA) + ,((Wingdings3, 0x65), 0x1F8AB) + ,((Wingdings3, 0x66), 0x2190) + ,((Wingdings3, 0x67), 0x2192) + ,((Wingdings3, 0x68), 0x2191) + ,((Wingdings3, 0x69), 0x2193) + ,((Wingdings3, 0x6A), 0x2196) + ,((Wingdings3, 0x6B), 0x2197) + ,((Wingdings3, 0x6C), 0x2199) + ,((Wingdings3, 0x6D), 0x2198) + ,((Wingdings3, 0x6E), 0x1F858) + ,((Wingdings3, 0x6F), 0x1F859) + ,((Wingdings3, 0x70), 0x25B2) + ,((Wingdings3, 0x71), 0x25BC) + ,((Wingdings3, 0x72), 0x25B3) + ,((Wingdings3, 0x73), 0x25BD) + ,((Wingdings3, 0x74), 0x25C4) + ,((Wingdings3, 0x75), 0x25BA) + ,((Wingdings3, 0x76), 0x25C1) + ,((Wingdings3, 0x77), 0x25B7) + ,((Wingdings3, 0x78), 0x25E3) + ,((Wingdings3, 0x79), 0x25E2) + ,((Wingdings3, 0x7A), 0x25E4) + ,((Wingdings3, 0x7B), 0x25E5) + ,((Wingdings3, 0x7C), 0x1F780) + ,((Wingdings3, 0x7D), 0x1F782) + ,((Wingdings3, 0x7E), 0x1F781) + ,((Wingdings3, 0x80), 0x1F783) + ,((Wingdings3, 0x81), 0x25B2) + ,((Wingdings3, 0x82), 0x25BC) + ,((Wingdings3, 0x83), 0x25C0) + ,((Wingdings3, 0x84), 0x25B6) + ,((Wingdings3, 0x85), 0x2B9C) + ,((Wingdings3, 0x86), 0x2B9E) + ,((Wingdings3, 0x87), 0x2B9D) + ,((Wingdings3, 0x88), 0x2B9F) + ,((Wingdings3, 0x89), 0x1F810) + ,((Wingdings3, 0x8A), 0x1F812) + ,((Wingdings3, 0x8B), 0x1F811) + ,((Wingdings3, 0x8C), 0x1F813) + ,((Wingdings3, 0x8D), 0x1F814) + ,((Wingdings3, 0x8E), 0x1F816) + ,((Wingdings3, 0x8F), 0x1F815) + ,((Wingdings3, 0x90), 0x1F817) + ,((Wingdings3, 0x91), 0x1F818) + ,((Wingdings3, 0x92), 0x1F81A) + ,((Wingdings3, 0x93), 0x1F819) + ,((Wingdings3, 0x94), 0x1F81B) + ,((Wingdings3, 0x95), 0x1F81C) + ,((Wingdings3, 0x96), 0x1F81E) + ,((Wingdings3, 0x97), 0x1F81D) + ,((Wingdings3, 0x98), 0x1F81F) + ,((Wingdings3, 0x99), 0x1F800) + ,((Wingdings3, 0x9A), 0x1F802) + ,((Wingdings3, 0x9B), 0x1F801) + ,((Wingdings3, 0x9C), 0x1F803) + ,((Wingdings3, 0x9D), 0x1F804) + ,((Wingdings3, 0x9E), 0x1F806) + ,((Wingdings3, 0x9F), 0x1F805) + ,((Wingdings3, 0xA1), 0x1F808) + ,((Wingdings3, 0xA2), 0x1F80A) + ,((Wingdings3, 0xA3), 0x1F809) + ,((Wingdings3, 0xA4), 0x1F80B) + ,((Wingdings3, 0xA5), 0x1F820) + ,((Wingdings3, 0xA6), 0x1F822) + ,((Wingdings3, 0xA7), 0x1F824) + ,((Wingdings3, 0xA8), 0x1F826) + ,((Wingdings3, 0xA9), 0x1F828) + ,((Wingdings3, 0xAA), 0x1F82A) + ,((Wingdings3, 0xAB), 0x1F82C) + ,((Wingdings3, 0xAC), 0x1F89C) + ,((Wingdings3, 0xAD), 0x1F89D) + ,((Wingdings3, 0xAE), 0x1F89E) + ,((Wingdings3, 0xAF), 0x1F89F) + ,((Wingdings3, 0xB0), 0x1F82E) + ,((Wingdings3, 0xB1), 0x1F830) + ,((Wingdings3, 0xB2), 0x1F832) + ,((Wingdings3, 0xB3), 0x1F834) + ,((Wingdings3, 0xB4), 0x1F836) + ,((Wingdings3, 0xB5), 0x1F838) + ,((Wingdings3, 0xB6), 0x1F83A) + ,((Wingdings3, 0xB7), 0x1F839) + ,((Wingdings3, 0xB8), 0x1F83B) + ,((Wingdings3, 0xB9), 0x1F898) + ,((Wingdings3, 0xBA), 0x1F89A) + ,((Wingdings3, 0xBB), 0x1F899) + ,((Wingdings3, 0xBC), 0x1F89B) + ,((Wingdings3, 0xBD), 0x1F83C) + ,((Wingdings3, 0xBE), 0x1F83E) + ,((Wingdings3, 0xBF), 0x1F83D) + ,((Wingdings3, 0xC0), 0x1F83F) + ,((Wingdings3, 0xC1), 0x1F840) + ,((Wingdings3, 0xC2), 0x1F842) + ,((Wingdings3, 0xC3), 0x1F841) + ,((Wingdings3, 0xC4), 0x1F843) + ,((Wingdings3, 0xC5), 0x1F844) + ,((Wingdings3, 0xC6), 0x1F846) + ,((Wingdings3, 0xC7), 0x1F845) + ,((Wingdings3, 0xC8), 0x1F847) + ,((Wingdings3, 0xC9), 0x2BA8) + ,((Wingdings3, 0xCA), 0x2BA9) + ,((Wingdings3, 0xCB), 0x2BAA) + ,((Wingdings3, 0xCC), 0x2BAB) + ,((Wingdings3, 0xCD), 0x2BAC) + ,((Wingdings3, 0xCE), 0x2BAD) + ,((Wingdings3, 0xCF), 0x2BAE) + ,((Wingdings3, 0xD0), 0x2BAF) + ,((Wingdings3, 0xD1), 0x1F860) + ,((Wingdings3, 0xD2), 0x1F862) + ,((Wingdings3, 0xD3), 0x1F861) + ,((Wingdings3, 0xD4), 0x1F863) + ,((Wingdings3, 0xD5), 0x1F864) + ,((Wingdings3, 0xD6), 0x1F865) + ,((Wingdings3, 0xD7), 0x1F867) + ,((Wingdings3, 0xD8), 0x1F866) + ,((Wingdings3, 0xD9), 0x1F870) + ,((Wingdings3, 0xDA), 0x1F872) + ,((Wingdings3, 0xDB), 0x1F871) + ,((Wingdings3, 0xDC), 0x1F873) + ,((Wingdings3, 0xDD), 0x1F874) + ,((Wingdings3, 0xDE), 0x1F875) + ,((Wingdings3, 0xDF), 0x1F877) + ,((Wingdings3, 0xE0), 0x1F876) + ,((Wingdings3, 0xE1), 0x1F880) + ,((Wingdings3, 0xE2), 0x1F882) + ,((Wingdings3, 0xE3), 0x1F881) + ,((Wingdings3, 0xE4), 0x1F883) + ,((Wingdings3, 0xE5), 0x1F884) + ,((Wingdings3, 0xE6), 0x1F885) + ,((Wingdings3, 0xE7), 0x1F887) + ,((Wingdings3, 0xE8), 0x1F886) + ,((Wingdings3, 0xE9), 0x1F890) + ,((Wingdings3, 0xEA), 0x1F892) + ,((Wingdings3, 0xEB), 0x1F891) + ,((Wingdings3, 0xEC), 0x1F893) + ,((Wingdings3, 0xED), 0x1F894) + ,((Wingdings3, 0xEE), 0x1F896) + ,((Wingdings3, 0xEF), 0x1F895) + ,((Wingdings3, 0xF0), 0x1F897) + ,((Webdings, 0x21), 0x1F577) + ,((Webdings, 0x22), 0x1F578) + ,((Webdings, 0x23), 0x1F572) + ,((Webdings, 0x24), 0x1F576) + ,((Webdings, 0x25), 0x1F3C6) + ,((Webdings, 0x26), 0x1F396) + ,((Webdings, 0x27), 0x1F587) + ,((Webdings, 0x28), 0x1F5E8) + ,((Webdings, 0x29), 0x1F5E9) + ,((Webdings, 0x2A), 0x1F5F0) + ,((Webdings, 0x2B), 0x1F5F1) + ,((Webdings, 0x2C), 0x1F336) + ,((Webdings, 0x2D), 0x1F397) + ,((Webdings, 0x2E), 0x1F67E) + ,((Webdings, 0x2F), 0x1F67C) + ,((Webdings, 0x30), 0x1F5D5) + ,((Webdings, 0x31), 0x1F5D6) + ,((Webdings, 0x32), 0x1F5D7) + ,((Webdings, 0x33), 0x23F4) + ,((Webdings, 0x34), 0x23F5) + ,((Webdings, 0x35), 0x23F6) + ,((Webdings, 0x36), 0x23F7) + ,((Webdings, 0x37), 0x23EA) + ,((Webdings, 0x38), 0x23E9) + ,((Webdings, 0x39), 0x23EE) + ,((Webdings, 0x3A), 0x23ED) + ,((Webdings, 0x3B), 0x23F8) + ,((Webdings, 0x3C), 0x23F9) + ,((Webdings, 0x3D), 0x23FA) + ,((Webdings, 0x3E), 0x1F5DA) + ,((Webdings, 0x3F), 0x1F5F3) + ,((Webdings, 0x40), 0x1F6E0) + ,((Webdings, 0x41), 0x1F3D7) + ,((Webdings, 0x42), 0x1F3D8) + ,((Webdings, 0x43), 0x1F3D9) + ,((Webdings, 0x44), 0x1F3DA) + ,((Webdings, 0x45), 0x1F3DC) + ,((Webdings, 0x46), 0x1F3ED) + ,((Webdings, 0x47), 0x1F3DB) + ,((Webdings, 0x48), 0x1F3E0) + ,((Webdings, 0x49), 0x1F3D6) + ,((Webdings, 0x4A), 0x1F3DD) + ,((Webdings, 0x4B), 0x1F6E3) + ,((Webdings, 0x4C), 0x1F50D) + ,((Webdings, 0x4D), 0x1F3D4) + ,((Webdings, 0x4E), 0x1F441) + ,((Webdings, 0x4F), 0x1F442) + ,((Webdings, 0x50), 0x1F3DE) + ,((Webdings, 0x51), 0x1F3D5) + ,((Webdings, 0x52), 0x1F6E4) + ,((Webdings, 0x53), 0x1F3DF) + ,((Webdings, 0x54), 0x1F6F3) + ,((Webdings, 0x55), 0x1F56C) + ,((Webdings, 0x56), 0x1F56B) + ,((Webdings, 0x57), 0x1F568) + ,((Webdings, 0x58), 0x1F508) + ,((Webdings, 0x59), 0x1F394) + ,((Webdings, 0x5A), 0x1F395) + ,((Webdings, 0x5B), 0x1F5EC) + ,((Webdings, 0x5C), 0x1F67D) + ,((Webdings, 0x5D), 0x1F5ED) + ,((Webdings, 0x5E), 0x1F5EA) + ,((Webdings, 0x5F), 0x1F5EB) + ,((Webdings, 0x60), 0x2B94) + ,((Webdings, 0x61), 0x2714) + ,((Webdings, 0x62), 0x1F6B2) + ,((Webdings, 0x63), 0x25A1) + ,((Webdings, 0x64), 0x1F6E1) + ,((Webdings, 0x65), 0x1F4E6) + ,((Webdings, 0x66), 0x1F6F1) + ,((Webdings, 0x67), 0x25A0) + ,((Webdings, 0x68), 0x1F691) + ,((Webdings, 0x69), 0x1F6C8) + ,((Webdings, 0x6A), 0x1F6E9) + ,((Webdings, 0x6B), 0x1F6F0) + ,((Webdings, 0x6C), 0x1F7C8) + ,((Webdings, 0x6D), 0x1F574) + ,((Webdings, 0x6E), 0x26AB) + ,((Webdings, 0x6F), 0x1F6E5) + ,((Webdings, 0x70), 0x1F694) + ,((Webdings, 0x71), 0x1F5D8) + ,((Webdings, 0x72), 0x1F5D9) + ,((Webdings, 0x73), 0x2753) + ,((Webdings, 0x74), 0x1F6F2) + ,((Webdings, 0x75), 0x1F687) + ,((Webdings, 0x76), 0x1F68D) + ,((Webdings, 0x77), 0x26F3) + ,((Webdings, 0x78), 0x1F6C7) + ,((Webdings, 0x79), 0x2296) + ,((Webdings, 0x7A), 0x1F6AD) + ,((Webdings, 0x7B), 0x1F5EE) + ,((Webdings, 0x7C), 0x007C) + ,((Webdings, 0x7D), 0x1F5EF) + ,((Webdings, 0x7E), 0x1F5F2) + ,((Webdings, 0x80), 0x1F6B9) + ,((Webdings, 0x81), 0x1F6BA) + ,((Webdings, 0x82), 0x1F6C9) + ,((Webdings, 0x83), 0x1F6CA) + ,((Webdings, 0x84), 0x1F6BC) + ,((Webdings, 0x85), 0x1F47D) + ,((Webdings, 0x86), 0x1F3CB) + ,((Webdings, 0x87), 0x26F7) + ,((Webdings, 0x88), 0x1F3C2) + ,((Webdings, 0x89), 0x1F3CC) + ,((Webdings, 0x8A), 0x1F3CA) + ,((Webdings, 0x8B), 0x1F3C4) + ,((Webdings, 0x8C), 0x1F3CD) + ,((Webdings, 0x8D), 0x1F3CE) + ,((Webdings, 0x8E), 0x1F698) + ,((Webdings, 0x8F), 0x1F5E0) + ,((Webdings, 0x90), 0x1F6E2) + ,((Webdings, 0x91), 0x1F4B0) + ,((Webdings, 0x92), 0x1F3F7) + ,((Webdings, 0x93), 0x1F4B3) + ,((Webdings, 0x94), 0x1F46A) + ,((Webdings, 0x95), 0x1F5E1) + ,((Webdings, 0x96), 0x1F5E2) + ,((Webdings, 0x97), 0x1F5E3) + ,((Webdings, 0x98), 0x272F) + ,((Webdings, 0x99), 0x1F584) + ,((Webdings, 0x9A), 0x1F585) + ,((Webdings, 0x9B), 0x1F583) + ,((Webdings, 0x9C), 0x1F586) + ,((Webdings, 0x9D), 0x1F5B9) + ,((Webdings, 0x9E), 0x1F5BA) + ,((Webdings, 0x9F), 0x1F5BB) + ,((Webdings, 0xA1), 0x1F570) + ,((Webdings, 0xA2), 0x1F5BD) + ,((Webdings, 0xA3), 0x1F5BE) + ,((Webdings, 0xA4), 0x1F4CB) + ,((Webdings, 0xA5), 0x1F5D2) + ,((Webdings, 0xA6), 0x1F5D3) + ,((Webdings, 0xA7), 0x1F4D6) + ,((Webdings, 0xA8), 0x1F4DA) + ,((Webdings, 0xA9), 0x1F5DE) + ,((Webdings, 0xAA), 0x1F5DF) + ,((Webdings, 0xAB), 0x1F5C3) + ,((Webdings, 0xAC), 0x1F5C2) + ,((Webdings, 0xAD), 0x1F5BC) + ,((Webdings, 0xAE), 0x1F3AD) + ,((Webdings, 0xAF), 0x1F39C) + ,((Webdings, 0xB0), 0x1F398) + ,((Webdings, 0xB1), 0x1F399) + ,((Webdings, 0xB2), 0x1F3A7) + ,((Webdings, 0xB3), 0x1F4BF) + ,((Webdings, 0xB4), 0x1F39E) + ,((Webdings, 0xB5), 0x1F4F7) + ,((Webdings, 0xB6), 0x1F39F) + ,((Webdings, 0xB7), 0x1F3AC) + ,((Webdings, 0xB8), 0x1F4FD) + ,((Webdings, 0xB9), 0x1F4F9) + ,((Webdings, 0xBA), 0x1F4FE) + ,((Webdings, 0xBB), 0x1F4FB) + ,((Webdings, 0xBC), 0x1F39A) + ,((Webdings, 0xBD), 0x1F39B) + ,((Webdings, 0xBE), 0x1F4FA) + ,((Webdings, 0xBF), 0x1F4BB) + ,((Webdings, 0xC0), 0x1F5A5) + ,((Webdings, 0xC1), 0x1F5A6) + ,((Webdings, 0xC2), 0x1F5A7) + ,((Webdings, 0xC3), 0x1F579) + ,((Webdings, 0xC4), 0x1F3AE) + ,((Webdings, 0xC5), 0x1F57B) + ,((Webdings, 0xC6), 0x1F57C) + ,((Webdings, 0xC7), 0x1F4DF) + ,((Webdings, 0xC8), 0x1F581) + ,((Webdings, 0xC9), 0x1F580) + ,((Webdings, 0xCA), 0x1F5A8) + ,((Webdings, 0xCB), 0x1F5A9) + ,((Webdings, 0xCC), 0x1F5BF) + ,((Webdings, 0xCD), 0x1F5AA) + ,((Webdings, 0xCE), 0x1F5DC) + ,((Webdings, 0xCF), 0x1F512) + ,((Webdings, 0xD0), 0x1F513) + ,((Webdings, 0xD1), 0x1F5DD) + ,((Webdings, 0xD2), 0x1F4E5) + ,((Webdings, 0xD3), 0x1F4E4) + ,((Webdings, 0xD4), 0x1F573) + ,((Webdings, 0xD5), 0x1F323) + ,((Webdings, 0xD6), 0x1F324) + ,((Webdings, 0xD7), 0x1F325) + ,((Webdings, 0xD8), 0x1F326) + ,((Webdings, 0xD9), 0x2601) + ,((Webdings, 0xDA), 0x1F327) + ,((Webdings, 0xDB), 0x1F328) + ,((Webdings, 0xDC), 0x1F329) + ,((Webdings, 0xDD), 0x1F32A) + ,((Webdings, 0xDE), 0x1F32C) + ,((Webdings, 0xDF), 0x1F32B) + ,((Webdings, 0xE0), 0x1F31C) + ,((Webdings, 0xE1), 0x1F321) + ,((Webdings, 0xE2), 0x1F6CB) + ,((Webdings, 0xE3), 0x1F6CF) + ,((Webdings, 0xE4), 0x1F37D) + ,((Webdings, 0xE5), 0x1F378) + ,((Webdings, 0xE6), 0x1F6CE) + ,((Webdings, 0xE7), 0x1F6CD) + ,((Webdings, 0xE8), 0x24C5) + ,((Webdings, 0xE9), 0x267F) + ,((Webdings, 0xEA), 0x1F6C6) + ,((Webdings, 0xEB), 0x1F588) + ,((Webdings, 0xEC), 0x1F393) + ,((Webdings, 0xED), 0x1F5E4) + ,((Webdings, 0xEE), 0x1F5E5) + ,((Webdings, 0xEF), 0x1F5E6) + ,((Webdings, 0xF0), 0x1F5E7) + ,((Webdings, 0xF1), 0x1F6EA) + ,((Webdings, 0xF2), 0x1F43F) + ,((Webdings, 0xF3), 0x1F426) + ,((Webdings, 0xF4), 0x1F41F) + ,((Webdings, 0xF5), 0x1F415) + ,((Webdings, 0xF6), 0x1F408) + ,((Webdings, 0xF7), 0x1F66C) + ,((Webdings, 0xF8), 0x1F66E) + ,((Webdings, 0xF9), 0x1F66D) + ,((Webdings, 0xFA), 0x1F66F) + ,((Webdings, 0xFB), 0x1F5FA) + ,((Webdings, 0xFC), 0x1F30D) + ,((Webdings, 0xFD), 0x1F30F) + ,((Webdings, 0xFE), 0x1F30E) + ,((Webdings, 0xFF), 0x1F54A) + ,((Symbol,0x20), 0xA0) + ,((Symbol,0x21), 0x21) + ,((Symbol,0x22), 0x2200) + ,((Symbol,0x23), 0x23) + ,((Symbol,0x24), 0x2203) + ,((Symbol,0x25), 0x25) + ,((Symbol,0x26), 0x26) + ,((Symbol,0x27), 0x220B) + ,((Symbol,0x28), 0x28) + ,((Symbol,0x29), 0x29) + ,((Symbol,0x2A), 0x2217) + ,((Symbol,0x2B), 0x2B) + ,((Symbol,0x2C), 0x2C) + ,((Symbol,0x2D), 0x2212) + ,((Symbol,0x2E), 0x2E) + ,((Symbol,0x2F), 0x2F) + ,((Symbol,0x30), 0x30) + ,((Symbol,0x31), 0x31) + ,((Symbol,0x32), 0x32) + ,((Symbol,0x33), 0x33) + ,((Symbol,0x34), 0x34) + ,((Symbol,0x35), 0x35) + ,((Symbol,0x36), 0x36) + ,((Symbol,0x37), 0x37) + ,((Symbol,0x38), 0x38) + ,((Symbol,0x39), 0x39) + ,((Symbol,0x3A), 0x3A) + ,((Symbol,0x3B), 0x3B) + ,((Symbol,0x3C), 0x3C) + ,((Symbol,0x3D), 0x3D) + ,((Symbol,0x3E), 0x3E) + ,((Symbol,0x3F), 0x3F) + ,((Symbol,0x40), 0x2245) + ,((Symbol,0x41), 0x391) + ,((Symbol,0x42), 0x392) + ,((Symbol,0x43), 0x3A7) + ,((Symbol,0x44), 0x2206) + ,((Symbol,0x45), 0x395) + ,((Symbol,0x46), 0x3A6) + ,((Symbol,0x47), 0x393) + ,((Symbol,0x48), 0x397) + ,((Symbol,0x49), 0x399) + ,((Symbol,0x4A), 0x3D1) + ,((Symbol,0x4B), 0x39A) + ,((Symbol,0x4C), 0x39B) + ,((Symbol,0x4D), 0x39C) + ,((Symbol,0x4E), 0x39D) + ,((Symbol,0x4F), 0x39F) + ,((Symbol,0x50), 0x3A0) + ,((Symbol,0x51), 0x398) + ,((Symbol,0x52), 0x3A1) + ,((Symbol,0x53), 0x3A3) + ,((Symbol,0x54), 0x3A4) + ,((Symbol,0x55), 0x3A5) + ,((Symbol,0x56), 0x3C2) + ,((Symbol,0x57), 0x2126) + ,((Symbol,0x58), 0x39E) + ,((Symbol,0x59), 0x3A8) + ,((Symbol,0x5A), 0x396) + ,((Symbol,0x5B), 0x5B) + ,((Symbol,0x5C), 0x2234) + ,((Symbol,0x5D), 0x5D) + ,((Symbol,0x5E), 0x22A5) + ,((Symbol,0x5F), 0x5F) + ,((Symbol,0x60), 0xF8E5) + ,((Symbol,0x61), 0x3B1) + ,((Symbol,0x62), 0x3B2) + ,((Symbol,0x63), 0x3C7) + ,((Symbol,0x64), 0x3B4) + ,((Symbol,0x65), 0x3B5) + ,((Symbol,0x66), 0x3C6) + ,((Symbol,0x67), 0x3B3) + ,((Symbol,0x68), 0x3B7) + ,((Symbol,0x69), 0x3B9) + ,((Symbol,0x6A), 0x3D5) + ,((Symbol,0x6B), 0x3BA) + ,((Symbol,0x6C), 0x3BB) + ,((Symbol,0x6D), 0x3BC) + ,((Symbol,0x6E), 0x3BD) + ,((Symbol,0x6F), 0x3BF) + ,((Symbol,0x70), 0x3C0) + ,((Symbol,0x71), 0x3B8) + ,((Symbol,0x72), 0x3C1) + ,((Symbol,0x73), 0x3C3) + ,((Symbol,0x74), 0x3C4) + ,((Symbol,0x75), 0x3C5) + ,((Symbol,0x76), 0x3D6) + ,((Symbol,0x77), 0x3C9) + ,((Symbol,0x78), 0x3BE) + ,((Symbol,0x79), 0x3C8) + ,((Symbol,0x7A), 0x3B6) + ,((Symbol,0x7B), 0x7B) + ,((Symbol,0x7C), 0x7C) + ,((Symbol,0x7D), 0x7D) + ,((Symbol,0x7E), 0x223C) + ,((Symbol,0xA0), 0x20AC) + ,((Symbol,0xA1), 0x3D2) + ,((Symbol,0xA2), 0x2032) + ,((Symbol,0xA3), 0x2264) + ,((Symbol,0xA4), 0x2215) + ,((Symbol,0xA5), 0x221E) + ,((Symbol,0xA6), 0x192) + ,((Symbol,0xA7), 0x2663) + ,((Symbol,0xA8), 0x2666) + ,((Symbol,0xA9), 0x2665) + ,((Symbol,0xAA), 0x2660) + ,((Symbol,0xAB), 0x2194) + ,((Symbol,0xAC), 0x2190) + ,((Symbol,0xAD), 0x2191) + ,((Symbol,0xAE), 0x2192) + ,((Symbol,0xAF), 0x2193) + ,((Symbol,0xB0), 0xB0) + ,((Symbol,0xB1), 0xB1) + ,((Symbol,0xB2), 0x2033) + ,((Symbol,0xB3), 0x2265) + ,((Symbol,0xB4), 0xD7) + ,((Symbol,0xB5), 0x221D) + ,((Symbol,0xB6), 0x2202) + ,((Symbol,0xB7), 0x2022) + ,((Symbol,0xB8), 0xF7) + ,((Symbol,0xB9), 0x2260) + ,((Symbol,0xBA), 0x2261) + ,((Symbol,0xBB), 0x2248) + ,((Symbol,0xBC), 0x2026) + ,((Symbol,0xBD), 0xF8E6) + ,((Symbol,0xBE), 0xF8E7) + ,((Symbol,0xBF), 0x21B5) + ,((Symbol,0xC0), 0x2135) + ,((Symbol,0xC1), 0x2111) + ,((Symbol,0xC2), 0x211C) + ,((Symbol,0xC3), 0x2118) + ,((Symbol,0xC4), 0x2297) + ,((Symbol,0xC5), 0x2295) + ,((Symbol,0xC6), 0x2205) + ,((Symbol,0xC7), 0x2229) + ,((Symbol,0xC8), 0x222A) + ,((Symbol,0xC9), 0x2283) + ,((Symbol,0xCA), 0x2287) + ,((Symbol,0xCB), 0x2284) + ,((Symbol,0xCC), 0x2282) + ,((Symbol,0xCD), 0x2286) + ,((Symbol,0xCE), 0x2208) + ,((Symbol,0xCF), 0x2209) + ,((Symbol,0xD0), 0x2220) + ,((Symbol,0xD1), 0x2207) + ,((Symbol,0xD2), 0xF6DA) + ,((Symbol,0xD3), 0xF6D9) + ,((Symbol,0xD4), 0xF6DB) + ,((Symbol,0xD5), 0x220F) + ,((Symbol,0xD6), 0x221A) + ,((Symbol,0xD7), 0x22C5) + ,((Symbol,0xD8), 0xAC) + ,((Symbol,0xD9), 0x2227) + ,((Symbol,0xDA), 0x2228) + ,((Symbol,0xDB), 0x21D4) + ,((Symbol,0xDC), 0x21D0) + ,((Symbol,0xDD), 0x21D1) + ,((Symbol,0xDE), 0x21D2) + ,((Symbol,0xDF), 0x21D3) + ,((Symbol,0xE0), 0x25CA) + ,((Symbol,0xE1), 0x2329) + ,((Symbol,0xE2), 0xF8E8) + ,((Symbol,0xE3), 0xF8E9) + ,((Symbol,0xE4), 0xF8EA) + ,((Symbol,0xE5), 0x2211) + ,((Symbol,0xE6), 0xF8EB) + ,((Symbol,0xE7), 0xF8EC) + ,((Symbol,0xE8), 0xF8ED) + ,((Symbol,0xE9), 0xF8EE) + ,((Symbol,0xEA), 0xF8EF) + ,((Symbol,0xEB), 0xF8F0) + ,((Symbol,0xEC), 0xF8F1) + ,((Symbol,0xED), 0xF8F2) + ,((Symbol,0xEE), 0xF8F3) + ,((Symbol,0xEF), 0xF8F4) + ,((Symbol,0xF1), 0x232A) + ,((Symbol,0xF2), 0x222B) + ,((Symbol,0xF3), 0x2320) + ,((Symbol,0xF4), 0xF8F5) + ,((Symbol,0xF5), 0x2321) + ,((Symbol,0xF6), 0xF8F6) + ,((Symbol,0xF7), 0xF8F7) + ,((Symbol,0xF8), 0xF8F8) + ,((Symbol,0xF9), 0xF8F9) + ,((Symbol,0xFA), 0xF8FA) + ,((Symbol,0xFB), 0xF8FB) + ,((Symbol,0xFC), 0xF8FC) + ,((Symbol,0xFD), 0xF8FD) + ,((Symbol,0xFE), 0xF8FE) + ] |
