diff --git a/lib/Pdf/Toolbox/Content/Encoding/MacRoman.hs b/lib/Pdf/Toolbox/Content/Encoding/MacRoman.hs
new file mode 100644
--- /dev/null
+++ b/lib/Pdf/Toolbox/Content/Encoding/MacRoman.hs
@@ -0,0 +1,437 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module Pdf.Toolbox.Content.Encoding.MacRoman
+(
+  encoding
+)
+where
+
+import Data.Word
+import Data.Map (Map)
+import qualified Data.Map as Map
+import Data.Text (Text)
+
+encoding :: Map Word8 Text
+encoding = Map.fromList $ zip codes chars
+
+chars :: [Text]
+chars = [
+  "A",
+  "Æ",
+  "Á",
+  "Â",
+  "Ä",
+  "À",
+  "Å",
+  "Ã",
+  "B",
+  "C",
+  "Ç",
+  "D",
+  "E",
+  "É",
+  "Ê",
+  "Ë",
+  "È",
+  "F",
+  "G",
+  "H",
+  "I",
+  "Í",
+  "Î",
+  "Ï",
+  "Ì",
+  "J",
+  "K",
+  "L",
+  "M",
+  "N",
+  "Ñ",
+  "O",
+  "Œ",
+  "Ó",
+  "Ô",
+  "Ö",
+  "Ò",
+  "Ø",
+  "Õ",
+  "P",
+  "Q",
+  "R",
+  "S",
+  "T",
+  "U",
+  "Ú",
+  "Û",
+  "Ü",
+  "Ù",
+  "V",
+  "W",
+  "X",
+  "Y",
+  "Ÿ",
+  "Z",
+  "a",
+  "á",
+  "â",
+  "´",
+  "ä",
+  "æ",
+  "à",
+  "&",
+  "å",
+  "^",
+  "~",
+  "*",
+  "@",
+  "ã",
+  "b",
+  "\\",
+  "|",
+  "{",
+  "}",
+  "[",
+  "]",
+  "˘",
+  "•",
+  "c",
+  "ˇ",
+  "ç",
+  " ̧",
+  "¢",
+  "ˆ",
+  ":",
+  ",",
+  "©",
+  "¤",
+  "d",
+  "†",
+  "‡",
+  "°",
+  "¨",
+  "÷",
+  "$",
+  "˙",
+  "ı",
+  "e",
+  "é",
+  "ê",
+  "ë",
+  "è",
+  "8",
+  "…",
+  "—",
+  "–",
+  "=",
+  "!",
+  "¡",
+  "f",
+  "ﬁ",
+  "5",
+  "ﬂ",
+  "ƒ",
+  "4",
+  "⁄",
+  "g",
+  "ß",
+  "`",
+  ">",
+  "«",
+  "»",
+  "‹",
+  "›",
+  "h",
+  "˝",
+  "-",
+  "i",
+  "í",
+  "î",
+  "ï",
+  "ì",
+  "j",
+  "k",
+  "l",
+  "<",
+  "¬",
+  "m",
+  " ̄",
+  "μ",
+  "n",
+  "9",
+  "ñ",
+  "#",
+  "o",
+  "ó",
+  "ô",
+  "ö",
+  "œ",
+  "˛",
+  "ò",
+  "1",
+  "ª",
+  "º",
+  "ø",
+  "õ",
+  "p",
+  "¶",
+  "(",
+  ")",
+  "%",
+  ".",
+  "·",
+  "‰",
+  "+",
+  "±",
+  "q",
+  "?",
+  "¿",
+  "\"",
+  "„",
+  "“",
+  "”",
+  "‘",
+  "’",
+  "‚",
+  "'",
+  "r",
+  "®",
+  "∘",
+  "s",
+  "§",
+  ";",
+  "7",
+  "6",
+  "/",
+  " ",
+  "£",
+  "t",
+  "3",
+  "~",
+  "™",
+  "2",
+  "u",
+  "ú",
+  "û",
+  "ü",
+  "ù",
+  "_",
+  "v",
+  "w",
+  "x",
+  "y",
+  "ÿ",
+  "¥",
+  "z",
+  "0"
+  ]
+
+codes :: [Word8]
+codes = [
+  0o101,
+  0o256,
+  0o347,
+  0o345,
+  0o200,
+  0o313,
+  0o201,
+  0o314,
+  0o102,
+  0o103,
+  0o202,
+  0o104,
+  0o105,
+  0o203,
+  0o346,
+  0o350,
+  0o351,
+  0o106,
+  0o107,
+  0o110,
+  0o111,
+  0o352,
+  0o353,
+  0o354,
+  0o355,
+  0o112,
+  0o113,
+  0o114,
+  0o115,
+  0o116,
+  0o204,
+  0o117,
+  0o316,
+  0o356,
+  0o357,
+  0o205,
+  0o361,
+  0o257,
+  0o315,
+  0o120,
+  0o121,
+  0o122,
+  0o123,
+  0o124,
+  0o125,
+  0o362,
+  0o363,
+  0o206,
+  0o364,
+  0o126,
+  0o127,
+  0o130,
+  0o131,
+  0o331,
+  0o132,
+  0o141,
+  0o207,
+  0o211,
+  0o253,
+  0o212,
+  0o276,
+  0o210,
+  0o046,
+  0o214,
+  0o136,
+  0o176,
+  0o052,
+  0o100,
+  0o213,
+  0o142,
+  0o134,
+  0o174,
+  0o173,
+  0o175,
+  0o133,
+  0o135,
+  0o371,
+  0o245,
+  0o143,
+  0o377,
+  0o215,
+  0o374,
+  0o242,
+  0o366,
+  0o072,
+  0o054,
+  0o251,
+  0o333,
+  0o144,
+  0o240,
+  0o340,
+  0o241,
+  0o254,
+  0o326,
+  0o044,
+  0o372,
+  0o365,
+  0o145,
+  0o216,
+  0o220,
+  0o221,
+  0o217,
+  0o070,
+  0o311,
+  0o321,
+  0o320,
+  0o075,
+  0o041,
+  0o301,
+  0o146,
+  0o336,
+  0o065,
+  0o337,
+  0o304,
+  0o064,
+  0o332,
+  0o147,
+  0o247,
+  0o140,
+  0o076,
+  0o307,
+  0o310,
+  0o334,
+  0o335,
+  0o150,
+  0o375,
+  0o055,
+  0o151,
+  0o222,
+  0o224,
+  0o225,
+  0o223,
+  0o152,
+  0o153,
+  0o154,
+  0o074,
+  0o302,
+  0o155,
+  0o370,
+  0o265,
+  0o156,
+  0o071,
+  0o226,
+  0o043,
+  0o157,
+  0o227,
+  0o231,
+  0o232,
+  0o317,
+  0o376,
+  0o230,
+  0o061,
+  0o273,
+  0o274,
+  0o277,
+  0o233,
+  0o160,
+  0o246,
+  0o050,
+  0o051,
+  0o045,
+  0o056,
+  0o341,
+  0o344,
+  0o053,
+  0o261,
+  0o161,
+  0o077,
+  0o300,
+  0o042,
+  0o343,
+  0o322,
+  0o323,
+  0o324,
+  0o325,
+  0o342,
+  0o047,
+  0o162,
+  0o250,
+  0o373,
+  0o163,
+  0o244,
+  0o073,
+  0o067,
+  0o066,
+  0o057,
+  0o040,
+  0o243,
+  0o164,
+  0o063,
+  0o367,
+  0o252,
+  0o062,
+  0o165,
+  0o234,
+  0o236,
+  0o237,
+  0o235,
+  0o137,
+  0o166,
+  0o167,
+  0o170,
+  0o171,
+  0o330,
+  0o264,
+  0o172,
+  0o060
+  ]
diff --git a/lib/Pdf/Toolbox/Content/Encoding/WinAnsi.hs b/lib/Pdf/Toolbox/Content/Encoding/WinAnsi.hs
new file mode 100644
--- /dev/null
+++ b/lib/Pdf/Toolbox/Content/Encoding/WinAnsi.hs
@@ -0,0 +1,455 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module Pdf.Toolbox.Content.Encoding.WinAnsi
+(
+  encoding
+)
+where
+
+import Data.Word
+import Data.Map (Map)
+import qualified Data.Map as Map
+import Data.Text (Text)
+
+encoding :: Map Word8 Text
+encoding = Map.fromList $ zip codes chars
+
+chars :: [Text]
+chars = [
+  "A",
+  "Æ",
+  "Á",
+  "Â",
+  "Ä",
+  "À",
+  "Å",
+  "Ã",
+  "B",
+  "C",
+  "Ç",
+  "D",
+  "E",
+  "É",
+  "Ê",
+  "Ë",
+  "È",
+  "Ð",
+  "€",
+  "F",
+  "G",
+  "H",
+  "I",
+  "Í",
+  "Î",
+  "Ï",
+  "Ì",
+  "J",
+  "K",
+  "L",
+  "M",
+  "N",
+  "Ñ",
+  "O",
+  "Œ",
+  "Ó",
+  "Ô",
+  "Ö",
+  "Ò",
+  "Ø",
+  "Õ",
+  "P",
+  "Q",
+  "R",
+  "S",
+  "Š",
+  "T",
+  "Þ",
+  "U",
+  "Ú",
+  "Û",
+  "Ü",
+  "Ù",
+  "V",
+  "W",
+  "X",
+  "Y",
+  "Ý",
+  "Ÿ",
+  "Z",
+  "Ž",
+  "a",
+  "á",
+  "â",
+  "´",
+  "ä",
+  "æ",
+  "à",
+  "&",
+  "å",
+  "^",
+  "~",
+  "*",
+  "@",
+  "ã",
+  "b",
+  "\\",
+  "|",
+  "{",
+  "}",
+  "[",
+  "]",
+  "¦",
+  "•",
+  "c",
+  "ç",
+  " ̧",
+  "¢",
+  "ˆ",
+  ":",
+  ",",
+  "©",
+  "¤",
+  "d",
+  "†",
+  "‡",
+  "°",
+  "¨",
+  "÷",
+  "$",
+  "e",
+  "é",
+  "ê",
+  "ë",
+  "è",
+  "8",
+  "…",
+  "—",
+  "–",
+  "=",
+  "ð",
+  "!",
+  "¡",
+  "f",
+  "5",
+  "ƒ",
+  "4",
+  "g",
+  "ß",
+  "`",
+  ">",
+  "«",
+  "»",
+  "‹",
+  "›",
+  "h",
+  "-",
+  "i",
+  "í",
+  "î",
+  "ï",
+  "ì",
+  "j",
+  "k",
+  "l",
+  "<",
+  "¬",
+  "m",
+  " ̄",
+  "μ",
+  "×",
+  "n",
+  "9",
+  "ñ",
+  "#",
+  "o",
+  "ó",
+  "ô",
+  "ö",
+  "œ",
+  "ò",
+  "1",
+  "½",
+  "¼",
+  "¹",
+  "ª",
+  "º",
+  "ø",
+  "õ",
+  "p",
+  "¶",
+  "(",
+  ")",
+  "%",
+  ".",
+  "·",
+  "‰",
+  "+",
+  "±",
+  "q",
+  "?",
+  "¿",
+  "\"",
+  "„",
+  "“",
+  "”",
+  "‘",
+  "’",
+  "‚",
+  "'",
+  "r",
+  "®",
+  "s",
+  "š",
+  "§",
+  ";",
+  "7",
+  "6",
+  "/",
+  " ",
+  "£",
+  "t",
+  "þ",
+  "3",
+  "¾",
+  "³",
+  "~",
+  "™",
+  "2",
+  "²",
+  "u",
+  "ú",
+  "û",
+  "ü",
+  "ù",
+  "_",
+  "v",
+  "w",
+  "x",
+  "y",
+  "ý",
+  "ÿ",
+  "¥",
+  "z",
+  "ž",
+  "0"
+  ]
+
+codes :: [Word8]
+codes = [
+  0o101,
+  0o306,
+  0o301,
+  0o302,
+  0o304,
+  0o300,
+  0o305,
+  0o303,
+  0o102,
+  0o103,
+  0o307,
+  0o104,
+  0o105,
+  0o311,
+  0o312,
+  0o313,
+  0o310,
+  0o320,
+  0o200,
+  0o106,
+  0o107,
+  0o110,
+  0o111,
+  0o315,
+  0o316,
+  0o317,
+  0o314,
+  0o112,
+  0o113,
+  0o114,
+  0o115,
+  0o116,
+  0o321,
+  0o117,
+  0o214,
+  0o323,
+  0o324,
+  0o326,
+  0o322,
+  0o330,
+  0o325,
+  0o120,
+  0o121,
+  0o122,
+  0o123,
+  0o212,
+  0o124,
+  0o336,
+  0o125,
+  0o332,
+  0o333,
+  0o334,
+  0o331,
+  0o126,
+  0o127,
+  0o130,
+  0o131,
+  0o335,
+  0o237,
+  0o132,
+  0o216,
+  0o141,
+  0o341,
+  0o342,
+  0o264,
+  0o344,
+  0o346,
+  0o340,
+  0o046,
+  0o345,
+  0o136,
+  0o176,
+  0o052,
+  0o100,
+  0o343,
+  0o142,
+  0o134,
+  0o174,
+  0o173,
+  0o175,
+  0o133,
+  0o135,
+  0o246,
+  0o225,
+  0o143,
+  0o347,
+  0o270,
+  0o242,
+  0o210,
+  0o072,
+  0o054,
+  0o251,
+  0o244,
+  0o144,
+  0o206,
+  0o207,
+  0o260,
+  0o250,
+  0o367,
+  0o044,
+  0o145,
+  0o351,
+  0o352,
+  0o353,
+  0o350,
+  0o070,
+  0o205,
+  0o227,
+  0o226,
+  0o075,
+  0o360,
+  0o041,
+  0o241,
+  0o146,
+  0o065,
+  0o203,
+  0o064,
+  0o147,
+  0o337,
+  0o140,
+  0o076,
+  0o253,
+  0o273,
+  0o213,
+  0o233,
+  0o150,
+  0o055,
+  0o151,
+  0o355,
+  0o356,
+  0o357,
+  0o354,
+  0o152,
+  0o153,
+  0o154,
+  0o074,
+  0o254,
+  0o155,
+  0o257,
+  0o265,
+  0o327,
+  0o156,
+  0o071,
+  0o361,
+  0o043,
+  0o157,
+  0o363,
+  0o364,
+  0o366,
+  0o234,
+  0o362,
+  0o061,
+  0o275,
+  0o274,
+  0o271,
+  0o252,
+  0o272,
+  0o370,
+  0o365,
+  0o160,
+  0o266,
+  0o050,
+  0o051,
+  0o045,
+  0o056,
+  0o267,
+  0o211,
+  0o053,
+  0o261,
+  0o161,
+  0o077,
+  0o277,
+  0o042,
+  0o204,
+  0o223,
+  0o224,
+  0o221,
+  0o222,
+  0o202,
+  0o047,
+  0o162,
+  0o256,
+  0o163,
+  0o232,
+  0o247,
+  0o073,
+  0o067,
+  0o066,
+  0o057,
+  0o040,
+  0o243,
+  0o164,
+  0o376,
+  0o063,
+  0o276,
+  0o263,
+  0o230,
+  0o231,
+  0o062,
+  0o262,
+  0o165,
+  0o372,
+  0o373,
+  0o374,
+  0o371,
+  0o137,
+  0o166,
+  0o167,
+  0o170,
+  0o171,
+  0o375,
+  0o377,
+  0o245,
+  0o172,
+  0o236,
+  0o060
+  ]
diff --git a/lib/Pdf/Toolbox/Content/FontInfo.hs b/lib/Pdf/Toolbox/Content/FontInfo.hs
--- a/lib/Pdf/Toolbox/Content/FontInfo.hs
+++ b/lib/Pdf/Toolbox/Content/FontInfo.hs
@@ -6,6 +6,7 @@
 (
   FontInfo(..),
   FISimple(..),
+  FontBaseEncoding(..),
   SimpleFontEncoding(..),
   FIComposite(..),
   CIDFontWidths(..),
@@ -16,15 +17,15 @@
 where
 
 import Data.List
+import Data.Word
 import Data.Monoid
 import Data.Map (Map)
 import qualified Data.Map as Map
+import Data.ByteString (ByteString)
 import qualified Data.ByteString as BS
+import Data.Text (Text)
 import qualified Data.Text as Text
 import qualified Data.Text.Encoding as Text
-import qualified Data.Encoding as Encoding
-import qualified Data.Encoding.CP1252 as Encoding
-import qualified Data.Encoding.MacOSRoman as Encoding
 import Control.Monad
 
 import Pdf.Toolbox.Core
@@ -32,6 +33,10 @@
 import Pdf.Toolbox.Content.UnicodeCMap
 import Pdf.Toolbox.Content.Transform
 import Pdf.Toolbox.Content.Processor (Glyph(..))
+import Pdf.Toolbox.Content.GlyphList
+import Pdf.Toolbox.Content.TexGlyphList
+import qualified Pdf.Toolbox.Content.Encoding.WinAnsi as WinAnsi
+import qualified Pdf.Toolbox.Content.Encoding.MacRoman as MacRoman
 
 -- | Font info
 data FontInfo
@@ -43,16 +48,26 @@
 data FISimple = FISimple {
   fiSimpleUnicodeCMap :: Maybe UnicodeCMap,
   fiSimpleEncoding :: Maybe SimpleFontEncoding,
-  fiSimpleWidths :: Maybe (Int, Int, [Double])  -- ^ FirstChar, LastChar, list of widths
+  fiSimpleWidths :: Maybe (Int, Int, [Double]),  -- ^ FirstChar, LastChar, list of widths
+  fiSimpleFontMatrix :: Transform Double
   }
   deriving (Show)
 
--- | Encoding of simple font
-data SimpleFontEncoding
-  = SimpleFontEncodingWinAnsi
-  | SimpleFontEncodingMacRoman
+-- | Standard encoding, other encodings are based on them
+data FontBaseEncoding
+  = FontBaseEncodingWinAnsi
+  | FontBaseEncodingMacRoman
   deriving (Show)
 
+-- | Encoding fo simple font
+data SimpleFontEncoding = SimpleFontEncoding {
+  simpleFontBaseEncoding :: FontBaseEncoding,
+  -- | Mapping from glyph code to glyph name for cases when it is different
+  -- from base encoding
+  simpleFontDifferences :: [(Word8, ByteString)]
+  }
+  deriving (Show)
+
 -- | Font info for Type0 font
 data FIComposite = FIComposite {
   fiCompositeUnicodeCMap :: Maybe UnicodeCMap,
@@ -78,6 +93,21 @@
     cidFontWidthsRanges = cidFontWidthsRanges w1 `mappend` cidFontWidthsRanges w2
     }
 
+simpleFontEncodingDecode :: SimpleFontEncoding -> Word8 -> Maybe Text
+simpleFontEncodingDecode enc code =
+  case lookup code (simpleFontDifferences enc) of
+    Nothing ->
+      case simpleFontBaseEncoding enc of
+        FontBaseEncodingWinAnsi -> Map.lookup code WinAnsi.encoding
+        FontBaseEncodingMacRoman -> Map.lookup code MacRoman.encoding
+    Just glyphName ->
+      case Map.lookup glyphName adobeGlyphList of
+        Just c -> Just $ Text.pack [c]
+        Nothing ->
+          case Map.lookup glyphName texGlyphList of
+            Nothing-> Nothing
+            Just c -> Just $ Text.pack [c]
+
 -- | Make `CIDFontWidths` from value of \"W\" key in descendant font
 makeCIDFontWidths :: Monad m => Array -> PdfE m CIDFontWidths
 makeCIDFontWidths (Array vals) = go mempty vals
@@ -116,21 +146,33 @@
                   case Text.decodeUtf8' (BS.pack [c]) of
                     Right t -> Just t
                     _ -> Nothing
-                Just SimpleFontEncodingWinAnsi ->
-                  case Encoding.decodeStrictByteStringExplicit Encoding.CP1252 (BS.pack [c]) of
-                    Left _ -> Nothing
-                    Right t -> Just $ Text.pack t
-                Just SimpleFontEncodingMacRoman ->
-                  case Encoding.decodeStrictByteStringExplicit Encoding.MacOSRoman (BS.pack [c]) of
-                    Left _ -> Nothing
-                    Right t -> Just $ Text.pack t
-            Just toUnicode -> unicodeCMapDecodeGlyph toUnicode code
+                Just enc ->
+                  case simpleFontEncodingDecode enc c of
+                    Just t -> Just t
+                    Nothing ->
+                      case Text.decodeUtf8' (BS.pack [c]) of
+                        Right t -> Just t
+                        _ -> Nothing
+            Just toUnicode ->
+              case unicodeCMapDecodeGlyph toUnicode code of
+                Just t -> Just t
+                Nothing ->
+                  case fiSimpleEncoding fi of
+                    Nothing -> Nothing
+                    Just enc ->
+                      case simpleFontEncodingDecode enc c of
+                        Just t -> Just t
+                        Nothing ->
+                          case Text.decodeUtf8' (BS.pack [c]) of
+                            Right t -> Just t
+                            _ -> Nothing
         width =
           case fiSimpleWidths fi of
             Nothing -> 0
             Just (firstChar, lastChar, widths) ->
               if code >= firstChar && code <= lastChar && (code - firstChar) < length widths
-                 then (widths !! (code - firstChar)) / 1000
+                 then let Vector w _ = transform (fiSimpleFontMatrix fi) $ Vector (widths !! (code - firstChar)) 0
+                      in w
                  else 0
     in (Glyph {
       glyphCode = code,
diff --git a/lib/Pdf/Toolbox/Content/GlyphList.hs b/lib/Pdf/Toolbox/Content/GlyphList.hs
new file mode 100644
--- /dev/null
+++ b/lib/Pdf/Toolbox/Content/GlyphList.hs
@@ -0,0 +1,4299 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+-- | Mapping from glyph names to unicode characters
+
+module Pdf.Toolbox.Content.GlyphList
+(
+    adobeGlyphList
+)
+where
+
+import Data.ByteString (ByteString)
+import Data.Map (Map)
+import qualified Data.Map as Map
+
+-- | Glyph list
+adobeGlyphList :: Map ByteString Char
+adobeGlyphList = Map.fromList
+  [("A", '\x0041')
+  ,("AE", '\x00C6')
+  ,("AEacute", '\x01FC')
+  ,("AEmacron", '\x01E2')
+  ,("AEsmall", '\xF7E6')
+  ,("Aacute", '\x00C1')
+  ,("Aacutesmall", '\xF7E1')
+  ,("Abreve", '\x0102')
+  ,("Abreveacute", '\x1EAE')
+  ,("Abrevecyrillic", '\x04D0')
+  ,("Abrevedotbelow", '\x1EB6')
+  ,("Abrevegrave", '\x1EB0')
+  ,("Abrevehookabove", '\x1EB2')
+  ,("Abrevetilde", '\x1EB4')
+  ,("Acaron", '\x01CD')
+  ,("Acircle", '\x24B6')
+  ,("Acircumflex", '\x00C2')
+  ,("Acircumflexacute", '\x1EA4')
+  ,("Acircumflexdotbelow", '\x1EAC')
+  ,("Acircumflexgrave", '\x1EA6')
+  ,("Acircumflexhookabove", '\x1EA8')
+  ,("Acircumflexsmall", '\xF7E2')
+  ,("Acircumflextilde", '\x1EAA')
+  ,("Acute", '\xF6C9')
+  ,("Acutesmall", '\xF7B4')
+  ,("Acyrillic", '\x0410')
+  ,("Adblgrave", '\x0200')
+  ,("Adieresis", '\x00C4')
+  ,("Adieresiscyrillic", '\x04D2')
+  ,("Adieresismacron", '\x01DE')
+  ,("Adieresissmall", '\xF7E4')
+  ,("Adotbelow", '\x1EA0')
+  ,("Adotmacron", '\x01E0')
+  ,("Agrave", '\x00C0')
+  ,("Agravesmall", '\xF7E0')
+  ,("Ahookabove", '\x1EA2')
+  ,("Aiecyrillic", '\x04D4')
+  ,("Ainvertedbreve", '\x0202')
+  ,("Alpha", '\x0391')
+  ,("Alphatonos", '\x0386')
+  ,("Amacron", '\x0100')
+  ,("Amonospace", '\xFF21')
+  ,("Aogonek", '\x0104')
+  ,("Aring", '\x00C5')
+  ,("Aringacute", '\x01FA')
+  ,("Aringbelow", '\x1E00')
+  ,("Aringsmall", '\xF7E5')
+  ,("Asmall", '\xF761')
+  ,("Atilde", '\x00C3')
+  ,("Atildesmall", '\xF7E3')
+  ,("Aybarmenian", '\x0531')
+  ,("B", '\x0042')
+  ,("Bcircle", '\x24B7')
+  ,("Bdotaccent", '\x1E02')
+  ,("Bdotbelow", '\x1E04')
+  ,("Becyrillic", '\x0411')
+  ,("Benarmenian", '\x0532')
+  ,("Beta", '\x0392')
+  ,("Bhook", '\x0181')
+  ,("Blinebelow", '\x1E06')
+  ,("Bmonospace", '\xFF22')
+  ,("Brevesmall", '\xF6F4')
+  ,("Bsmall", '\xF762')
+  ,("Btopbar", '\x0182')
+  ,("C", '\x0043')
+  ,("Caarmenian", '\x053E')
+  ,("Cacute", '\x0106')
+  ,("Caron", '\xF6CA')
+  ,("Caronsmall", '\xF6F5')
+  ,("Ccaron", '\x010C')
+  ,("Ccedilla", '\x00C7')
+  ,("Ccedillaacute", '\x1E08')
+  ,("Ccedillasmall", '\xF7E7')
+  ,("Ccircle", '\x24B8')
+  ,("Ccircumflex", '\x0108')
+  ,("Cdot", '\x010A')
+  ,("Cdotaccent", '\x010A')
+  ,("Cedillasmall", '\xF7B8')
+  ,("Chaarmenian", '\x0549')
+  ,("Cheabkhasiancyrillic", '\x04BC')
+  ,("Checyrillic", '\x0427')
+  ,("Chedescenderabkhasiancyrillic", '\x04BE')
+  ,("Chedescendercyrillic", '\x04B6')
+  ,("Chedieresiscyrillic", '\x04F4')
+  ,("Cheharmenian", '\x0543')
+  ,("Chekhakassiancyrillic", '\x04CB')
+  ,("Cheverticalstrokecyrillic", '\x04B8')
+  ,("Chi", '\x03A7')
+  ,("Chook", '\x0187')
+  ,("Circumflexsmall", '\xF6F6')
+  ,("Cmonospace", '\xFF23')
+  ,("Coarmenian", '\x0551')
+  ,("Csmall", '\xF763')
+  ,("D", '\x0044')
+  ,("DZ", '\x01F1')
+  ,("DZcaron", '\x01C4')
+  ,("Daarmenian", '\x0534')
+  ,("Dafrican", '\x0189')
+  ,("Dcaron", '\x010E')
+  ,("Dcedilla", '\x1E10')
+  ,("Dcircle", '\x24B9')
+  ,("Dcircumflexbelow", '\x1E12')
+  ,("Dcroat", '\x0110')
+  ,("Ddotaccent", '\x1E0A')
+  ,("Ddotbelow", '\x1E0C')
+  ,("Decyrillic", '\x0414')
+  ,("Deicoptic", '\x03EE')
+  ,("Delta", '\x2206')
+  ,("Deltagreek", '\x0394')
+  ,("Dhook", '\x018A')
+  ,("Dieresis", '\xF6CB')
+  ,("DieresisAcute", '\xF6CC')
+  ,("DieresisGrave", '\xF6CD')
+  ,("Dieresissmall", '\xF7A8')
+  ,("Digammagreek", '\x03DC')
+  ,("Djecyrillic", '\x0402')
+  ,("Dlinebelow", '\x1E0E')
+  ,("Dmonospace", '\xFF24')
+  ,("Dotaccentsmall", '\xF6F7')
+  ,("Dslash", '\x0110')
+  ,("Dsmall", '\xF764')
+  ,("Dtopbar", '\x018B')
+  ,("Dz", '\x01F2')
+  ,("Dzcaron", '\x01C5')
+  ,("Dzeabkhasiancyrillic", '\x04E0')
+  ,("Dzecyrillic", '\x0405')
+  ,("Dzhecyrillic", '\x040F')
+  ,("E", '\x0045')
+  ,("Eacute", '\x00C9')
+  ,("Eacutesmall", '\xF7E9')
+  ,("Ebreve", '\x0114')
+  ,("Ecaron", '\x011A')
+  ,("Ecedillabreve", '\x1E1C')
+  ,("Echarmenian", '\x0535')
+  ,("Ecircle", '\x24BA')
+  ,("Ecircumflex", '\x00CA')
+  ,("Ecircumflexacute", '\x1EBE')
+  ,("Ecircumflexbelow", '\x1E18')
+  ,("Ecircumflexdotbelow", '\x1EC6')
+  ,("Ecircumflexgrave", '\x1EC0')
+  ,("Ecircumflexhookabove", '\x1EC2')
+  ,("Ecircumflexsmall", '\xF7EA')
+  ,("Ecircumflextilde", '\x1EC4')
+  ,("Ecyrillic", '\x0404')
+  ,("Edblgrave", '\x0204')
+  ,("Edieresis", '\x00CB')
+  ,("Edieresissmall", '\xF7EB')
+  ,("Edot", '\x0116')
+  ,("Edotaccent", '\x0116')
+  ,("Edotbelow", '\x1EB8')
+  ,("Efcyrillic", '\x0424')
+  ,("Egrave", '\x00C8')
+  ,("Egravesmall", '\xF7E8')
+  ,("Eharmenian", '\x0537')
+  ,("Ehookabove", '\x1EBA')
+  ,("Eightroman", '\x2167')
+  ,("Einvertedbreve", '\x0206')
+  ,("Eiotifiedcyrillic", '\x0464')
+  ,("Elcyrillic", '\x041B')
+  ,("Elevenroman", '\x216A')
+  ,("Emacron", '\x0112')
+  ,("Emacronacute", '\x1E16')
+  ,("Emacrongrave", '\x1E14')
+  ,("Emcyrillic", '\x041C')
+  ,("Emonospace", '\xFF25')
+  ,("Encyrillic", '\x041D')
+  ,("Endescendercyrillic", '\x04A2')
+  ,("Eng", '\x014A')
+  ,("Enghecyrillic", '\x04A4')
+  ,("Enhookcyrillic", '\x04C7')
+  ,("Eogonek", '\x0118')
+  ,("Eopen", '\x0190')
+  ,("Epsilon", '\x0395')
+  ,("Epsilontonos", '\x0388')
+  ,("Ercyrillic", '\x0420')
+  ,("Ereversed", '\x018E')
+  ,("Ereversedcyrillic", '\x042D')
+  ,("Escyrillic", '\x0421')
+  ,("Esdescendercyrillic", '\x04AA')
+  ,("Esh", '\x01A9')
+  ,("Esmall", '\xF765')
+  ,("Eta", '\x0397')
+  ,("Etarmenian", '\x0538')
+  ,("Etatonos", '\x0389')
+  ,("Eth", '\x00D0')
+  ,("Ethsmall", '\xF7F0')
+  ,("Etilde", '\x1EBC')
+  ,("Etildebelow", '\x1E1A')
+  ,("Euro", '\x20AC')
+  ,("Ezh", '\x01B7')
+  ,("Ezhcaron", '\x01EE')
+  ,("Ezhreversed", '\x01B8')
+  ,("F", '\x0046')
+  ,("Fcircle", '\x24BB')
+  ,("Fdotaccent", '\x1E1E')
+  ,("Feharmenian", '\x0556')
+  ,("Feicoptic", '\x03E4')
+  ,("Fhook", '\x0191')
+  ,("Fitacyrillic", '\x0472')
+  ,("Fiveroman", '\x2164')
+  ,("Fmonospace", '\xFF26')
+  ,("Fourroman", '\x2163')
+  ,("Fsmall", '\xF766')
+  ,("G", '\x0047')
+  ,("GBsquare", '\x3387')
+  ,("Gacute", '\x01F4')
+  ,("Gamma", '\x0393')
+  ,("Gammaafrican", '\x0194')
+  ,("Gangiacoptic", '\x03EA')
+  ,("Gbreve", '\x011E')
+  ,("Gcaron", '\x01E6')
+  ,("Gcedilla", '\x0122')
+  ,("Gcircle", '\x24BC')
+  ,("Gcircumflex", '\x011C')
+  ,("Gcommaaccent", '\x0122')
+  ,("Gdot", '\x0120')
+  ,("Gdotaccent", '\x0120')
+  ,("Gecyrillic", '\x0413')
+  ,("Ghadarmenian", '\x0542')
+  ,("Ghemiddlehookcyrillic", '\x0494')
+  ,("Ghestrokecyrillic", '\x0492')
+  ,("Gheupturncyrillic", '\x0490')
+  ,("Ghook", '\x0193')
+  ,("Gimarmenian", '\x0533')
+  ,("Gjecyrillic", '\x0403')
+  ,("Gmacron", '\x1E20')
+  ,("Gmonospace", '\xFF27')
+  ,("Grave", '\xF6CE')
+  ,("Gravesmall", '\xF760')
+  ,("Gsmall", '\xF767')
+  ,("Gsmallhook", '\x029B')
+  ,("Gstroke", '\x01E4')
+  ,("H", '\x0048')
+  ,("H18533", '\x25CF')
+  ,("H18543", '\x25AA')
+  ,("H18551", '\x25AB')
+  ,("H22073", '\x25A1')
+  ,("HPsquare", '\x33CB')
+  ,("Haabkhasiancyrillic", '\x04A8')
+  ,("Hadescendercyrillic", '\x04B2')
+  ,("Hardsigncyrillic", '\x042A')
+  ,("Hbar", '\x0126')
+  ,("Hbrevebelow", '\x1E2A')
+  ,("Hcedilla", '\x1E28')
+  ,("Hcircle", '\x24BD')
+  ,("Hcircumflex", '\x0124')
+  ,("Hdieresis", '\x1E26')
+  ,("Hdotaccent", '\x1E22')
+  ,("Hdotbelow", '\x1E24')
+  ,("Hmonospace", '\xFF28')
+  ,("Hoarmenian", '\x0540')
+  ,("Horicoptic", '\x03E8')
+  ,("Hsmall", '\xF768')
+  ,("Hungarumlaut", '\xF6CF')
+  ,("Hungarumlautsmall", '\xF6F8')
+  ,("Hzsquare", '\x3390')
+  ,("I", '\x0049')
+  ,("IAcyrillic", '\x042F')
+  ,("IJ", '\x0132')
+  ,("IUcyrillic", '\x042E')
+  ,("Iacute", '\x00CD')
+  ,("Iacutesmall", '\xF7ED')
+  ,("Ibreve", '\x012C')
+  ,("Icaron", '\x01CF')
+  ,("Icircle", '\x24BE')
+  ,("Icircumflex", '\x00CE')
+  ,("Icircumflexsmall", '\xF7EE')
+  ,("Icyrillic", '\x0406')
+  ,("Idblgrave", '\x0208')
+  ,("Idieresis", '\x00CF')
+  ,("Idieresisacute", '\x1E2E')
+  ,("Idieresiscyrillic", '\x04E4')
+  ,("Idieresissmall", '\xF7EF')
+  ,("Idot", '\x0130')
+  ,("Idotaccent", '\x0130')
+  ,("Idotbelow", '\x1ECA')
+  ,("Iebrevecyrillic", '\x04D6')
+  ,("Iecyrillic", '\x0415')
+  ,("Ifraktur", '\x2111')
+  ,("Igrave", '\x00CC')
+  ,("Igravesmall", '\xF7EC')
+  ,("Ihookabove", '\x1EC8')
+  ,("Iicyrillic", '\x0418')
+  ,("Iinvertedbreve", '\x020A')
+  ,("Iishortcyrillic", '\x0419')
+  ,("Imacron", '\x012A')
+  ,("Imacroncyrillic", '\x04E2')
+  ,("Imonospace", '\xFF29')
+  ,("Iniarmenian", '\x053B')
+  ,("Iocyrillic", '\x0401')
+  ,("Iogonek", '\x012E')
+  ,("Iota", '\x0399')
+  ,("Iotaafrican", '\x0196')
+  ,("Iotadieresis", '\x03AA')
+  ,("Iotatonos", '\x038A')
+  ,("Ismall", '\xF769')
+  ,("Istroke", '\x0197')
+  ,("Itilde", '\x0128')
+  ,("Itildebelow", '\x1E2C')
+  ,("Izhitsacyrillic", '\x0474')
+  ,("Izhitsadblgravecyrillic", '\x0476')
+  ,("J", '\x004A')
+  ,("Jaarmenian", '\x0541')
+  ,("Jcircle", '\x24BF')
+  ,("Jcircumflex", '\x0134')
+  ,("Jecyrillic", '\x0408')
+  ,("Jheharmenian", '\x054B')
+  ,("Jmonospace", '\xFF2A')
+  ,("Jsmall", '\xF76A')
+  ,("K", '\x004B')
+  ,("KBsquare", '\x3385')
+  ,("KKsquare", '\x33CD')
+  ,("Kabashkircyrillic", '\x04A0')
+  ,("Kacute", '\x1E30')
+  ,("Kacyrillic", '\x041A')
+  ,("Kadescendercyrillic", '\x049A')
+  ,("Kahookcyrillic", '\x04C3')
+  ,("Kappa", '\x039A')
+  ,("Kastrokecyrillic", '\x049E')
+  ,("Kaverticalstrokecyrillic", '\x049C')
+  ,("Kcaron", '\x01E8')
+  ,("Kcedilla", '\x0136')
+  ,("Kcircle", '\x24C0')
+  ,("Kcommaaccent", '\x0136')
+  ,("Kdotbelow", '\x1E32')
+  ,("Keharmenian", '\x0554')
+  ,("Kenarmenian", '\x053F')
+  ,("Khacyrillic", '\x0425')
+  ,("Kheicoptic", '\x03E6')
+  ,("Khook", '\x0198')
+  ,("Kjecyrillic", '\x040C')
+  ,("Klinebelow", '\x1E34')
+  ,("Kmonospace", '\xFF2B')
+  ,("Koppacyrillic", '\x0480')
+  ,("Koppagreek", '\x03DE')
+  ,("Ksicyrillic", '\x046E')
+  ,("Ksmall", '\xF76B')
+  ,("L", '\x004C')
+  ,("LJ", '\x01C7')
+  ,("LL", '\xF6BF')
+  ,("Lacute", '\x0139')
+  ,("Lambda", '\x039B')
+  ,("Lcaron", '\x013D')
+  ,("Lcedilla", '\x013B')
+  ,("Lcircle", '\x24C1')
+  ,("Lcircumflexbelow", '\x1E3C')
+  ,("Lcommaaccent", '\x013B')
+  ,("Ldot", '\x013F')
+  ,("Ldotaccent", '\x013F')
+  ,("Ldotbelow", '\x1E36')
+  ,("Ldotbelowmacron", '\x1E38')
+  ,("Liwnarmenian", '\x053C')
+  ,("Lj", '\x01C8')
+  ,("Ljecyrillic", '\x0409')
+  ,("Llinebelow", '\x1E3A')
+  ,("Lmonospace", '\xFF2C')
+  ,("Lslash", '\x0141')
+  ,("Lslashsmall", '\xF6F9')
+  ,("Lsmall", '\xF76C')
+  ,("M", '\x004D')
+  ,("MBsquare", '\x3386')
+  ,("Macron", '\xF6D0')
+  ,("Macronsmall", '\xF7AF')
+  ,("Macute", '\x1E3E')
+  ,("Mcircle", '\x24C2')
+  ,("Mdotaccent", '\x1E40')
+  ,("Mdotbelow", '\x1E42')
+  ,("Menarmenian", '\x0544')
+  ,("Mmonospace", '\xFF2D')
+  ,("Msmall", '\xF76D')
+  ,("Mturned", '\x019C')
+  ,("Mu", '\x039C')
+  ,("N", '\x004E')
+  ,("NJ", '\x01CA')
+  ,("Nacute", '\x0143')
+  ,("Ncaron", '\x0147')
+  ,("Ncedilla", '\x0145')
+  ,("Ncircle", '\x24C3')
+  ,("Ncircumflexbelow", '\x1E4A')
+  ,("Ncommaaccent", '\x0145')
+  ,("Ndotaccent", '\x1E44')
+  ,("Ndotbelow", '\x1E46')
+  ,("Nhookleft", '\x019D')
+  ,("Nineroman", '\x2168')
+  ,("Nj", '\x01CB')
+  ,("Njecyrillic", '\x040A')
+  ,("Nlinebelow", '\x1E48')
+  ,("Nmonospace", '\xFF2E')
+  ,("Nowarmenian", '\x0546')
+  ,("Nsmall", '\xF76E')
+  ,("Ntilde", '\x00D1')
+  ,("Ntildesmall", '\xF7F1')
+  ,("Nu", '\x039D')
+  ,("O", '\x004F')
+  ,("OE", '\x0152')
+  ,("OEsmall", '\xF6FA')
+  ,("Oacute", '\x00D3')
+  ,("Oacutesmall", '\xF7F3')
+  ,("Obarredcyrillic", '\x04E8')
+  ,("Obarreddieresiscyrillic", '\x04EA')
+  ,("Obreve", '\x014E')
+  ,("Ocaron", '\x01D1')
+  ,("Ocenteredtilde", '\x019F')
+  ,("Ocircle", '\x24C4')
+  ,("Ocircumflex", '\x00D4')
+  ,("Ocircumflexacute", '\x1ED0')
+  ,("Ocircumflexdotbelow", '\x1ED8')
+  ,("Ocircumflexgrave", '\x1ED2')
+  ,("Ocircumflexhookabove", '\x1ED4')
+  ,("Ocircumflexsmall", '\xF7F4')
+  ,("Ocircumflextilde", '\x1ED6')
+  ,("Ocyrillic", '\x041E')
+  ,("Odblacute", '\x0150')
+  ,("Odblgrave", '\x020C')
+  ,("Odieresis", '\x00D6')
+  ,("Odieresiscyrillic", '\x04E6')
+  ,("Odieresissmall", '\xF7F6')
+  ,("Odotbelow", '\x1ECC')
+  ,("Ogoneksmall", '\xF6FB')
+  ,("Ograve", '\x00D2')
+  ,("Ogravesmall", '\xF7F2')
+  ,("Oharmenian", '\x0555')
+  ,("Ohm", '\x2126')
+  ,("Ohookabove", '\x1ECE')
+  ,("Ohorn", '\x01A0')
+  ,("Ohornacute", '\x1EDA')
+  ,("Ohorndotbelow", '\x1EE2')
+  ,("Ohorngrave", '\x1EDC')
+  ,("Ohornhookabove", '\x1EDE')
+  ,("Ohorntilde", '\x1EE0')
+  ,("Ohungarumlaut", '\x0150')
+  ,("Oi", '\x01A2')
+  ,("Oinvertedbreve", '\x020E')
+  ,("Omacron", '\x014C')
+  ,("Omacronacute", '\x1E52')
+  ,("Omacrongrave", '\x1E50')
+  ,("Omega", '\x2126')
+  ,("Omegacyrillic", '\x0460')
+  ,("Omegagreek", '\x03A9')
+  ,("Omegaroundcyrillic", '\x047A')
+  ,("Omegatitlocyrillic", '\x047C')
+  ,("Omegatonos", '\x038F')
+  ,("Omicron", '\x039F')
+  ,("Omicrontonos", '\x038C')
+  ,("Omonospace", '\xFF2F')
+  ,("Oneroman", '\x2160')
+  ,("Oogonek", '\x01EA')
+  ,("Oogonekmacron", '\x01EC')
+  ,("Oopen", '\x0186')
+  ,("Oslash", '\x00D8')
+  ,("Oslashacute", '\x01FE')
+  ,("Oslashsmall", '\xF7F8')
+  ,("Osmall", '\xF76F')
+  ,("Ostrokeacute", '\x01FE')
+  ,("Otcyrillic", '\x047E')
+  ,("Otilde", '\x00D5')
+  ,("Otildeacute", '\x1E4C')
+  ,("Otildedieresis", '\x1E4E')
+  ,("Otildesmall", '\xF7F5')
+  ,("P", '\x0050')
+  ,("Pacute", '\x1E54')
+  ,("Pcircle", '\x24C5')
+  ,("Pdotaccent", '\x1E56')
+  ,("Pecyrillic", '\x041F')
+  ,("Peharmenian", '\x054A')
+  ,("Pemiddlehookcyrillic", '\x04A6')
+  ,("Phi", '\x03A6')
+  ,("Phook", '\x01A4')
+  ,("Pi", '\x03A0')
+  ,("Piwrarmenian", '\x0553')
+  ,("Pmonospace", '\xFF30')
+  ,("Psi", '\x03A8')
+  ,("Psicyrillic", '\x0470')
+  ,("Psmall", '\xF770')
+  ,("Q", '\x0051')
+  ,("Qcircle", '\x24C6')
+  ,("Qmonospace", '\xFF31')
+  ,("Qsmall", '\xF771')
+  ,("R", '\x0052')
+  ,("Raarmenian", '\x054C')
+  ,("Racute", '\x0154')
+  ,("Rcaron", '\x0158')
+  ,("Rcedilla", '\x0156')
+  ,("Rcircle", '\x24C7')
+  ,("Rcommaaccent", '\x0156')
+  ,("Rdblgrave", '\x0210')
+  ,("Rdotaccent", '\x1E58')
+  ,("Rdotbelow", '\x1E5A')
+  ,("Rdotbelowmacron", '\x1E5C')
+  ,("Reharmenian", '\x0550')
+  ,("Rfraktur", '\x211C')
+  ,("Rho", '\x03A1')
+  ,("Ringsmall", '\xF6FC')
+  ,("Rinvertedbreve", '\x0212')
+  ,("Rlinebelow", '\x1E5E')
+  ,("Rmonospace", '\xFF32')
+  ,("Rsmall", '\xF772')
+  ,("Rsmallinverted", '\x0281')
+  ,("Rsmallinvertedsuperior", '\x02B6')
+  ,("S", '\x0053')
+  ,("SF010000", '\x250C')
+  ,("SF020000", '\x2514')
+  ,("SF030000", '\x2510')
+  ,("SF040000", '\x2518')
+  ,("SF050000", '\x253C')
+  ,("SF060000", '\x252C')
+  ,("SF070000", '\x2534')
+  ,("SF080000", '\x251C')
+  ,("SF090000", '\x2524')
+  ,("SF100000", '\x2500')
+  ,("SF110000", '\x2502')
+  ,("SF190000", '\x2561')
+  ,("SF200000", '\x2562')
+  ,("SF210000", '\x2556')
+  ,("SF220000", '\x2555')
+  ,("SF230000", '\x2563')
+  ,("SF240000", '\x2551')
+  ,("SF250000", '\x2557')
+  ,("SF260000", '\x255D')
+  ,("SF270000", '\x255C')
+  ,("SF280000", '\x255B')
+  ,("SF360000", '\x255E')
+  ,("SF370000", '\x255F')
+  ,("SF380000", '\x255A')
+  ,("SF390000", '\x2554')
+  ,("SF400000", '\x2569')
+  ,("SF410000", '\x2566')
+  ,("SF420000", '\x2560')
+  ,("SF430000", '\x2550')
+  ,("SF440000", '\x256C')
+  ,("SF450000", '\x2567')
+  ,("SF460000", '\x2568')
+  ,("SF470000", '\x2564')
+  ,("SF480000", '\x2565')
+  ,("SF490000", '\x2559')
+  ,("SF500000", '\x2558')
+  ,("SF510000", '\x2552')
+  ,("SF520000", '\x2553')
+  ,("SF530000", '\x256B')
+  ,("SF540000", '\x256A')
+  ,("Sacute", '\x015A')
+  ,("Sacutedotaccent", '\x1E64')
+  ,("Sampigreek", '\x03E0')
+  ,("Scaron", '\x0160')
+  ,("Scarondotaccent", '\x1E66')
+  ,("Scaronsmall", '\xF6FD')
+  ,("Scedilla", '\x015E')
+  ,("Schwa", '\x018F')
+  ,("Schwacyrillic", '\x04D8')
+  ,("Schwadieresiscyrillic", '\x04DA')
+  ,("Scircle", '\x24C8')
+  ,("Scircumflex", '\x015C')
+  ,("Scommaaccent", '\x0218')
+  ,("Sdotaccent", '\x1E60')
+  ,("Sdotbelow", '\x1E62')
+  ,("Sdotbelowdotaccent", '\x1E68')
+  ,("Seharmenian", '\x054D')
+  ,("Sevenroman", '\x2166')
+  ,("Shaarmenian", '\x0547')
+  ,("Shacyrillic", '\x0428')
+  ,("Shchacyrillic", '\x0429')
+  ,("Sheicoptic", '\x03E2')
+  ,("Shhacyrillic", '\x04BA')
+  ,("Shimacoptic", '\x03EC')
+  ,("Sigma", '\x03A3')
+  ,("Sixroman", '\x2165')
+  ,("Smonospace", '\xFF33')
+  ,("Softsigncyrillic", '\x042C')
+  ,("Ssmall", '\xF773')
+  ,("Stigmagreek", '\x03DA')
+  ,("T", '\x0054')
+  ,("Tau", '\x03A4')
+  ,("Tbar", '\x0166')
+  ,("Tcaron", '\x0164')
+  ,("Tcedilla", '\x0162')
+  ,("Tcircle", '\x24C9')
+  ,("Tcircumflexbelow", '\x1E70')
+  ,("Tcommaaccent", '\x0162')
+  ,("Tdotaccent", '\x1E6A')
+  ,("Tdotbelow", '\x1E6C')
+  ,("Tecyrillic", '\x0422')
+  ,("Tedescendercyrillic", '\x04AC')
+  ,("Tenroman", '\x2169')
+  ,("Tetsecyrillic", '\x04B4')
+  ,("Theta", '\x0398')
+  ,("Thook", '\x01AC')
+  ,("Thorn", '\x00DE')
+  ,("Thornsmall", '\xF7FE')
+  ,("Threeroman", '\x2162')
+  ,("Tildesmall", '\xF6FE')
+  ,("Tiwnarmenian", '\x054F')
+  ,("Tlinebelow", '\x1E6E')
+  ,("Tmonospace", '\xFF34')
+  ,("Toarmenian", '\x0539')
+  ,("Tonefive", '\x01BC')
+  ,("Tonesix", '\x0184')
+  ,("Tonetwo", '\x01A7')
+  ,("Tretroflexhook", '\x01AE')
+  ,("Tsecyrillic", '\x0426')
+  ,("Tshecyrillic", '\x040B')
+  ,("Tsmall", '\xF774')
+  ,("Twelveroman", '\x216B')
+  ,("Tworoman", '\x2161')
+  ,("U", '\x0055')
+  ,("Uacute", '\x00DA')
+  ,("Uacutesmall", '\xF7FA')
+  ,("Ubreve", '\x016C')
+  ,("Ucaron", '\x01D3')
+  ,("Ucircle", '\x24CA')
+  ,("Ucircumflex", '\x00DB')
+  ,("Ucircumflexbelow", '\x1E76')
+  ,("Ucircumflexsmall", '\xF7FB')
+  ,("Ucyrillic", '\x0423')
+  ,("Udblacute", '\x0170')
+  ,("Udblgrave", '\x0214')
+  ,("Udieresis", '\x00DC')
+  ,("Udieresisacute", '\x01D7')
+  ,("Udieresisbelow", '\x1E72')
+  ,("Udieresiscaron", '\x01D9')
+  ,("Udieresiscyrillic", '\x04F0')
+  ,("Udieresisgrave", '\x01DB')
+  ,("Udieresismacron", '\x01D5')
+  ,("Udieresissmall", '\xF7FC')
+  ,("Udotbelow", '\x1EE4')
+  ,("Ugrave", '\x00D9')
+  ,("Ugravesmall", '\xF7F9')
+  ,("Uhookabove", '\x1EE6')
+  ,("Uhorn", '\x01AF')
+  ,("Uhornacute", '\x1EE8')
+  ,("Uhorndotbelow", '\x1EF0')
+  ,("Uhorngrave", '\x1EEA')
+  ,("Uhornhookabove", '\x1EEC')
+  ,("Uhorntilde", '\x1EEE')
+  ,("Uhungarumlaut", '\x0170')
+  ,("Uhungarumlautcyrillic", '\x04F2')
+  ,("Uinvertedbreve", '\x0216')
+  ,("Ukcyrillic", '\x0478')
+  ,("Umacron", '\x016A')
+  ,("Umacroncyrillic", '\x04EE')
+  ,("Umacrondieresis", '\x1E7A')
+  ,("Umonospace", '\xFF35')
+  ,("Uogonek", '\x0172')
+  ,("Upsilon", '\x03A5')
+  ,("Upsilon1", '\x03D2')
+  ,("Upsilonacutehooksymbolgreek", '\x03D3')
+  ,("Upsilonafrican", '\x01B1')
+  ,("Upsilondieresis", '\x03AB')
+  ,("Upsilondieresishooksymbolgreek", '\x03D4')
+  ,("Upsilonhooksymbol", '\x03D2')
+  ,("Upsilontonos", '\x038E')
+  ,("Uring", '\x016E')
+  ,("Ushortcyrillic", '\x040E')
+  ,("Usmall", '\xF775')
+  ,("Ustraightcyrillic", '\x04AE')
+  ,("Ustraightstrokecyrillic", '\x04B0')
+  ,("Utilde", '\x0168')
+  ,("Utildeacute", '\x1E78')
+  ,("Utildebelow", '\x1E74')
+  ,("V", '\x0056')
+  ,("Vcircle", '\x24CB')
+  ,("Vdotbelow", '\x1E7E')
+  ,("Vecyrillic", '\x0412')
+  ,("Vewarmenian", '\x054E')
+  ,("Vhook", '\x01B2')
+  ,("Vmonospace", '\xFF36')
+  ,("Voarmenian", '\x0548')
+  ,("Vsmall", '\xF776')
+  ,("Vtilde", '\x1E7C')
+  ,("W", '\x0057')
+  ,("Wacute", '\x1E82')
+  ,("Wcircle", '\x24CC')
+  ,("Wcircumflex", '\x0174')
+  ,("Wdieresis", '\x1E84')
+  ,("Wdotaccent", '\x1E86')
+  ,("Wdotbelow", '\x1E88')
+  ,("Wgrave", '\x1E80')
+  ,("Wmonospace", '\xFF37')
+  ,("Wsmall", '\xF777')
+  ,("X", '\x0058')
+  ,("Xcircle", '\x24CD')
+  ,("Xdieresis", '\x1E8C')
+  ,("Xdotaccent", '\x1E8A')
+  ,("Xeharmenian", '\x053D')
+  ,("Xi", '\x039E')
+  ,("Xmonospace", '\xFF38')
+  ,("Xsmall", '\xF778')
+  ,("Y", '\x0059')
+  ,("Yacute", '\x00DD')
+  ,("Yacutesmall", '\xF7FD')
+  ,("Yatcyrillic", '\x0462')
+  ,("Ycircle", '\x24CE')
+  ,("Ycircumflex", '\x0176')
+  ,("Ydieresis", '\x0178')
+  ,("Ydieresissmall", '\xF7FF')
+  ,("Ydotaccent", '\x1E8E')
+  ,("Ydotbelow", '\x1EF4')
+  ,("Yericyrillic", '\x042B')
+  ,("Yerudieresiscyrillic", '\x04F8')
+  ,("Ygrave", '\x1EF2')
+  ,("Yhook", '\x01B3')
+  ,("Yhookabove", '\x1EF6')
+  ,("Yiarmenian", '\x0545')
+  ,("Yicyrillic", '\x0407')
+  ,("Yiwnarmenian", '\x0552')
+  ,("Ymonospace", '\xFF39')
+  ,("Ysmall", '\xF779')
+  ,("Ytilde", '\x1EF8')
+  ,("Yusbigcyrillic", '\x046A')
+  ,("Yusbigiotifiedcyrillic", '\x046C')
+  ,("Yuslittlecyrillic", '\x0466')
+  ,("Yuslittleiotifiedcyrillic", '\x0468')
+  ,("Z", '\x005A')
+  ,("Zaarmenian", '\x0536')
+  ,("Zacute", '\x0179')
+  ,("Zcaron", '\x017D')
+  ,("Zcaronsmall", '\xF6FF')
+  ,("Zcircle", '\x24CF')
+  ,("Zcircumflex", '\x1E90')
+  ,("Zdot", '\x017B')
+  ,("Zdotaccent", '\x017B')
+  ,("Zdotbelow", '\x1E92')
+  ,("Zecyrillic", '\x0417')
+  ,("Zedescendercyrillic", '\x0498')
+  ,("Zedieresiscyrillic", '\x04DE')
+  ,("Zeta", '\x0396')
+  ,("Zhearmenian", '\x053A')
+  ,("Zhebrevecyrillic", '\x04C1')
+  ,("Zhecyrillic", '\x0416')
+  ,("Zhedescendercyrillic", '\x0496')
+  ,("Zhedieresiscyrillic", '\x04DC')
+  ,("Zlinebelow", '\x1E94')
+  ,("Zmonospace", '\xFF3A')
+  ,("Zsmall", '\xF77A')
+  ,("Zstroke", '\x01B5')
+  ,("a", '\x0061')
+  ,("aabengali", '\x0986')
+  ,("aacute", '\x00E1')
+  ,("aadeva", '\x0906')
+  ,("aagujarati", '\x0A86')
+  ,("aagurmukhi", '\x0A06')
+  ,("aamatragurmukhi", '\x0A3E')
+  ,("aarusquare", '\x3303')
+  ,("aavowelsignbengali", '\x09BE')
+  ,("aavowelsigndeva", '\x093E')
+  ,("aavowelsigngujarati", '\x0ABE')
+  ,("abbreviationmarkarmenian", '\x055F')
+  ,("abbreviationsigndeva", '\x0970')
+  ,("abengali", '\x0985')
+  ,("abopomofo", '\x311A')
+  ,("abreve", '\x0103')
+  ,("abreveacute", '\x1EAF')
+  ,("abrevecyrillic", '\x04D1')
+  ,("abrevedotbelow", '\x1EB7')
+  ,("abrevegrave", '\x1EB1')
+  ,("abrevehookabove", '\x1EB3')
+  ,("abrevetilde", '\x1EB5')
+  ,("acaron", '\x01CE')
+  ,("acircle", '\x24D0')
+  ,("acircumflex", '\x00E2')
+  ,("acircumflexacute", '\x1EA5')
+  ,("acircumflexdotbelow", '\x1EAD')
+  ,("acircumflexgrave", '\x1EA7')
+  ,("acircumflexhookabove", '\x1EA9')
+  ,("acircumflextilde", '\x1EAB')
+  ,("acute", '\x00B4')
+  ,("acutebelowcmb", '\x0317')
+  ,("acutecmb", '\x0301')
+  ,("acutecomb", '\x0301')
+  ,("acutedeva", '\x0954')
+  ,("acutelowmod", '\x02CF')
+  ,("acutetonecmb", '\x0341')
+  ,("acyrillic", '\x0430')
+  ,("adblgrave", '\x0201')
+  ,("addakgurmukhi", '\x0A71')
+  ,("adeva", '\x0905')
+  ,("adieresis", '\x00E4')
+  ,("adieresiscyrillic", '\x04D3')
+  ,("adieresismacron", '\x01DF')
+  ,("adotbelow", '\x1EA1')
+  ,("adotmacron", '\x01E1')
+  ,("ae", '\x00E6')
+  ,("aeacute", '\x01FD')
+  ,("aekorean", '\x3150')
+  ,("aemacron", '\x01E3')
+  ,("afii00208", '\x2015')
+  ,("afii08941", '\x20A4')
+  ,("afii10017", '\x0410')
+  ,("afii10018", '\x0411')
+  ,("afii10019", '\x0412')
+  ,("afii10020", '\x0413')
+  ,("afii10021", '\x0414')
+  ,("afii10022", '\x0415')
+  ,("afii10023", '\x0401')
+  ,("afii10024", '\x0416')
+  ,("afii10025", '\x0417')
+  ,("afii10026", '\x0418')
+  ,("afii10027", '\x0419')
+  ,("afii10028", '\x041A')
+  ,("afii10029", '\x041B')
+  ,("afii10030", '\x041C')
+  ,("afii10031", '\x041D')
+  ,("afii10032", '\x041E')
+  ,("afii10033", '\x041F')
+  ,("afii10034", '\x0420')
+  ,("afii10035", '\x0421')
+  ,("afii10036", '\x0422')
+  ,("afii10037", '\x0423')
+  ,("afii10038", '\x0424')
+  ,("afii10039", '\x0425')
+  ,("afii10040", '\x0426')
+  ,("afii10041", '\x0427')
+  ,("afii10042", '\x0428')
+  ,("afii10043", '\x0429')
+  ,("afii10044", '\x042A')
+  ,("afii10045", '\x042B')
+  ,("afii10046", '\x042C')
+  ,("afii10047", '\x042D')
+  ,("afii10048", '\x042E')
+  ,("afii10049", '\x042F')
+  ,("afii10050", '\x0490')
+  ,("afii10051", '\x0402')
+  ,("afii10052", '\x0403')
+  ,("afii10053", '\x0404')
+  ,("afii10054", '\x0405')
+  ,("afii10055", '\x0406')
+  ,("afii10056", '\x0407')
+  ,("afii10057", '\x0408')
+  ,("afii10058", '\x0409')
+  ,("afii10059", '\x040A')
+  ,("afii10060", '\x040B')
+  ,("afii10061", '\x040C')
+  ,("afii10062", '\x040E')
+  ,("afii10063", '\xF6C4')
+  ,("afii10064", '\xF6C5')
+  ,("afii10065", '\x0430')
+  ,("afii10066", '\x0431')
+  ,("afii10067", '\x0432')
+  ,("afii10068", '\x0433')
+  ,("afii10069", '\x0434')
+  ,("afii10070", '\x0435')
+  ,("afii10071", '\x0451')
+  ,("afii10072", '\x0436')
+  ,("afii10073", '\x0437')
+  ,("afii10074", '\x0438')
+  ,("afii10075", '\x0439')
+  ,("afii10076", '\x043A')
+  ,("afii10077", '\x043B')
+  ,("afii10078", '\x043C')
+  ,("afii10079", '\x043D')
+  ,("afii10080", '\x043E')
+  ,("afii10081", '\x043F')
+  ,("afii10082", '\x0440')
+  ,("afii10083", '\x0441')
+  ,("afii10084", '\x0442')
+  ,("afii10085", '\x0443')
+  ,("afii10086", '\x0444')
+  ,("afii10087", '\x0445')
+  ,("afii10088", '\x0446')
+  ,("afii10089", '\x0447')
+  ,("afii10090", '\x0448')
+  ,("afii10091", '\x0449')
+  ,("afii10092", '\x044A')
+  ,("afii10093", '\x044B')
+  ,("afii10094", '\x044C')
+  ,("afii10095", '\x044D')
+  ,("afii10096", '\x044E')
+  ,("afii10097", '\x044F')
+  ,("afii10098", '\x0491')
+  ,("afii10099", '\x0452')
+  ,("afii10100", '\x0453')
+  ,("afii10101", '\x0454')
+  ,("afii10102", '\x0455')
+  ,("afii10103", '\x0456')
+  ,("afii10104", '\x0457')
+  ,("afii10105", '\x0458')
+  ,("afii10106", '\x0459')
+  ,("afii10107", '\x045A')
+  ,("afii10108", '\x045B')
+  ,("afii10109", '\x045C')
+  ,("afii10110", '\x045E')
+  ,("afii10145", '\x040F')
+  ,("afii10146", '\x0462')
+  ,("afii10147", '\x0472')
+  ,("afii10148", '\x0474')
+  ,("afii10192", '\xF6C6')
+  ,("afii10193", '\x045F')
+  ,("afii10194", '\x0463')
+  ,("afii10195", '\x0473')
+  ,("afii10196", '\x0475')
+  ,("afii10831", '\xF6C7')
+  ,("afii10832", '\xF6C8')
+  ,("afii10846", '\x04D9')
+  ,("afii299", '\x200E')
+  ,("afii300", '\x200F')
+  ,("afii301", '\x200D')
+  ,("afii57381", '\x066A')
+  ,("afii57388", '\x060C')
+  ,("afii57392", '\x0660')
+  ,("afii57393", '\x0661')
+  ,("afii57394", '\x0662')
+  ,("afii57395", '\x0663')
+  ,("afii57396", '\x0664')
+  ,("afii57397", '\x0665')
+  ,("afii57398", '\x0666')
+  ,("afii57399", '\x0667')
+  ,("afii57400", '\x0668')
+  ,("afii57401", '\x0669')
+  ,("afii57403", '\x061B')
+  ,("afii57407", '\x061F')
+  ,("afii57409", '\x0621')
+  ,("afii57410", '\x0622')
+  ,("afii57411", '\x0623')
+  ,("afii57412", '\x0624')
+  ,("afii57413", '\x0625')
+  ,("afii57414", '\x0626')
+  ,("afii57415", '\x0627')
+  ,("afii57416", '\x0628')
+  ,("afii57417", '\x0629')
+  ,("afii57418", '\x062A')
+  ,("afii57419", '\x062B')
+  ,("afii57420", '\x062C')
+  ,("afii57421", '\x062D')
+  ,("afii57422", '\x062E')
+  ,("afii57423", '\x062F')
+  ,("afii57424", '\x0630')
+  ,("afii57425", '\x0631')
+  ,("afii57426", '\x0632')
+  ,("afii57427", '\x0633')
+  ,("afii57428", '\x0634')
+  ,("afii57429", '\x0635')
+  ,("afii57430", '\x0636')
+  ,("afii57431", '\x0637')
+  ,("afii57432", '\x0638')
+  ,("afii57433", '\x0639')
+  ,("afii57434", '\x063A')
+  ,("afii57440", '\x0640')
+  ,("afii57441", '\x0641')
+  ,("afii57442", '\x0642')
+  ,("afii57443", '\x0643')
+  ,("afii57444", '\x0644')
+  ,("afii57445", '\x0645')
+  ,("afii57446", '\x0646')
+  ,("afii57448", '\x0648')
+  ,("afii57449", '\x0649')
+  ,("afii57450", '\x064A')
+  ,("afii57451", '\x064B')
+  ,("afii57452", '\x064C')
+  ,("afii57453", '\x064D')
+  ,("afii57454", '\x064E')
+  ,("afii57455", '\x064F')
+  ,("afii57456", '\x0650')
+  ,("afii57457", '\x0651')
+  ,("afii57458", '\x0652')
+  ,("afii57470", '\x0647')
+  ,("afii57505", '\x06A4')
+  ,("afii57506", '\x067E')
+  ,("afii57507", '\x0686')
+  ,("afii57508", '\x0698')
+  ,("afii57509", '\x06AF')
+  ,("afii57511", '\x0679')
+  ,("afii57512", '\x0688')
+  ,("afii57513", '\x0691')
+  ,("afii57514", '\x06BA')
+  ,("afii57519", '\x06D2')
+  ,("afii57534", '\x06D5')
+  ,("afii57636", '\x20AA')
+  ,("afii57645", '\x05BE')
+  ,("afii57658", '\x05C3')
+  ,("afii57664", '\x05D0')
+  ,("afii57665", '\x05D1')
+  ,("afii57666", '\x05D2')
+  ,("afii57667", '\x05D3')
+  ,("afii57668", '\x05D4')
+  ,("afii57669", '\x05D5')
+  ,("afii57670", '\x05D6')
+  ,("afii57671", '\x05D7')
+  ,("afii57672", '\x05D8')
+  ,("afii57673", '\x05D9')
+  ,("afii57674", '\x05DA')
+  ,("afii57675", '\x05DB')
+  ,("afii57676", '\x05DC')
+  ,("afii57677", '\x05DD')
+  ,("afii57678", '\x05DE')
+  ,("afii57679", '\x05DF')
+  ,("afii57680", '\x05E0')
+  ,("afii57681", '\x05E1')
+  ,("afii57682", '\x05E2')
+  ,("afii57683", '\x05E3')
+  ,("afii57684", '\x05E4')
+  ,("afii57685", '\x05E5')
+  ,("afii57686", '\x05E6')
+  ,("afii57687", '\x05E7')
+  ,("afii57688", '\x05E8')
+  ,("afii57689", '\x05E9')
+  ,("afii57690", '\x05EA')
+  ,("afii57694", '\xFB2A')
+  ,("afii57695", '\xFB2B')
+  ,("afii57700", '\xFB4B')
+  ,("afii57705", '\xFB1F')
+  ,("afii57716", '\x05F0')
+  ,("afii57717", '\x05F1')
+  ,("afii57718", '\x05F2')
+  ,("afii57723", '\xFB35')
+  ,("afii57793", '\x05B4')
+  ,("afii57794", '\x05B5')
+  ,("afii57795", '\x05B6')
+  ,("afii57796", '\x05BB')
+  ,("afii57797", '\x05B8')
+  ,("afii57798", '\x05B7')
+  ,("afii57799", '\x05B0')
+  ,("afii57800", '\x05B2')
+  ,("afii57801", '\x05B1')
+  ,("afii57802", '\x05B3')
+  ,("afii57803", '\x05C2')
+  ,("afii57804", '\x05C1')
+  ,("afii57806", '\x05B9')
+  ,("afii57807", '\x05BC')
+  ,("afii57839", '\x05BD')
+  ,("afii57841", '\x05BF')
+  ,("afii57842", '\x05C0')
+  ,("afii57929", '\x02BC')
+  ,("afii61248", '\x2105')
+  ,("afii61289", '\x2113')
+  ,("afii61352", '\x2116')
+  ,("afii61573", '\x202C')
+  ,("afii61574", '\x202D')
+  ,("afii61575", '\x202E')
+  ,("afii61664", '\x200C')
+  ,("afii63167", '\x066D')
+  ,("afii64937", '\x02BD')
+  ,("agrave", '\x00E0')
+  ,("agujarati", '\x0A85')
+  ,("agurmukhi", '\x0A05')
+  ,("ahiragana", '\x3042')
+  ,("ahookabove", '\x1EA3')
+  ,("aibengali", '\x0990')
+  ,("aibopomofo", '\x311E')
+  ,("aideva", '\x0910')
+  ,("aiecyrillic", '\x04D5')
+  ,("aigujarati", '\x0A90')
+  ,("aigurmukhi", '\x0A10')
+  ,("aimatragurmukhi", '\x0A48')
+  ,("ainarabic", '\x0639')
+  ,("ainfinalarabic", '\xFECA')
+  ,("aininitialarabic", '\xFECB')
+  ,("ainmedialarabic", '\xFECC')
+  ,("ainvertedbreve", '\x0203')
+  ,("aivowelsignbengali", '\x09C8')
+  ,("aivowelsigndeva", '\x0948')
+  ,("aivowelsigngujarati", '\x0AC8')
+  ,("akatakana", '\x30A2')
+  ,("akatakanahalfwidth", '\xFF71')
+  ,("akorean", '\x314F')
+  ,("alef", '\x05D0')
+  ,("alefarabic", '\x0627')
+  ,("alefdageshhebrew", '\xFB30')
+  ,("aleffinalarabic", '\xFE8E')
+  ,("alefhamzaabovearabic", '\x0623')
+  ,("alefhamzaabovefinalarabic", '\xFE84')
+  ,("alefhamzabelowarabic", '\x0625')
+  ,("alefhamzabelowfinalarabic", '\xFE88')
+  ,("alefhebrew", '\x05D0')
+  ,("aleflamedhebrew", '\xFB4F')
+  ,("alefmaddaabovearabic", '\x0622')
+  ,("alefmaddaabovefinalarabic", '\xFE82')
+  ,("alefmaksuraarabic", '\x0649')
+  ,("alefmaksurafinalarabic", '\xFEF0')
+  ,("alefmaksurainitialarabic", '\xFEF3')
+  ,("alefmaksuramedialarabic", '\xFEF4')
+  ,("alefpatahhebrew", '\xFB2E')
+  ,("alefqamatshebrew", '\xFB2F')
+  ,("aleph", '\x2135')
+  ,("allequal", '\x224C')
+  ,("alpha", '\x03B1')
+  ,("alphatonos", '\x03AC')
+  ,("amacron", '\x0101')
+  ,("amonospace", '\xFF41')
+  ,("ampersand", '\x0026')
+  ,("ampersandmonospace", '\xFF06')
+  ,("ampersandsmall", '\xF726')
+  ,("amsquare", '\x33C2')
+  ,("anbopomofo", '\x3122')
+  ,("angbopomofo", '\x3124')
+  ,("angkhankhuthai", '\x0E5A')
+  ,("angle", '\x2220')
+  ,("anglebracketleft", '\x3008')
+  ,("anglebracketleftvertical", '\xFE3F')
+  ,("anglebracketright", '\x3009')
+  ,("anglebracketrightvertical", '\xFE40')
+  ,("angleleft", '\x2329')
+  ,("angleright", '\x232A')
+  ,("angstrom", '\x212B')
+  ,("anoteleia", '\x0387')
+  ,("anudattadeva", '\x0952')
+  ,("anusvarabengali", '\x0982')
+  ,("anusvaradeva", '\x0902')
+  ,("anusvaragujarati", '\x0A82')
+  ,("aogonek", '\x0105')
+  ,("apaatosquare", '\x3300')
+  ,("aparen", '\x249C')
+  ,("apostrophearmenian", '\x055A')
+  ,("apostrophemod", '\x02BC')
+  ,("apple", '\xF8FF')
+  ,("approaches", '\x2250')
+  ,("approxequal", '\x2248')
+  ,("approxequalorimage", '\x2252')
+  ,("approximatelyequal", '\x2245')
+  ,("araeaekorean", '\x318E')
+  ,("araeakorean", '\x318D')
+  ,("arc", '\x2312')
+  ,("arighthalfring", '\x1E9A')
+  ,("aring", '\x00E5')
+  ,("aringacute", '\x01FB')
+  ,("aringbelow", '\x1E01')
+  ,("arrowboth", '\x2194')
+  ,("arrowdashdown", '\x21E3')
+  ,("arrowdashleft", '\x21E0')
+  ,("arrowdashright", '\x21E2')
+  ,("arrowdashup", '\x21E1')
+  ,("arrowdblboth", '\x21D4')
+  ,("arrowdbldown", '\x21D3')
+  ,("arrowdblleft", '\x21D0')
+  ,("arrowdblright", '\x21D2')
+  ,("arrowdblup", '\x21D1')
+  ,("arrowdown", '\x2193')
+  ,("arrowdownleft", '\x2199')
+  ,("arrowdownright", '\x2198')
+  ,("arrowdownwhite", '\x21E9')
+  ,("arrowheaddownmod", '\x02C5')
+  ,("arrowheadleftmod", '\x02C2')
+  ,("arrowheadrightmod", '\x02C3')
+  ,("arrowheadupmod", '\x02C4')
+  ,("arrowhorizex", '\xF8E7')
+  ,("arrowleft", '\x2190')
+  ,("arrowleftdbl", '\x21D0')
+  ,("arrowleftdblstroke", '\x21CD')
+  ,("arrowleftoverright", '\x21C6')
+  ,("arrowleftwhite", '\x21E6')
+  ,("arrowright", '\x2192')
+  ,("arrowrightdblstroke", '\x21CF')
+  ,("arrowrightheavy", '\x279E')
+  ,("arrowrightoverleft", '\x21C4')
+  ,("arrowrightwhite", '\x21E8')
+  ,("arrowtableft", '\x21E4')
+  ,("arrowtabright", '\x21E5')
+  ,("arrowup", '\x2191')
+  ,("arrowupdn", '\x2195')
+  ,("arrowupdnbse", '\x21A8')
+  ,("arrowupdownbase", '\x21A8')
+  ,("arrowupleft", '\x2196')
+  ,("arrowupleftofdown", '\x21C5')
+  ,("arrowupright", '\x2197')
+  ,("arrowupwhite", '\x21E7')
+  ,("arrowvertex", '\xF8E6')
+  ,("asciicircum", '\x005E')
+  ,("asciicircummonospace", '\xFF3E')
+  ,("asciitilde", '\x007E')
+  ,("asciitildemonospace", '\xFF5E')
+  ,("ascript", '\x0251')
+  ,("ascriptturned", '\x0252')
+  ,("asmallhiragana", '\x3041')
+  ,("asmallkatakana", '\x30A1')
+  ,("asmallkatakanahalfwidth", '\xFF67')
+  ,("asterisk", '\x002A')
+  ,("asteriskaltonearabic", '\x066D')
+  ,("asteriskarabic", '\x066D')
+  ,("asteriskmath", '\x2217')
+  ,("asteriskmonospace", '\xFF0A')
+  ,("asterisksmall", '\xFE61')
+  ,("asterism", '\x2042')
+  ,("asuperior", '\xF6E9')
+  ,("asymptoticallyequal", '\x2243')
+  ,("at", '\x0040')
+  ,("atilde", '\x00E3')
+  ,("atmonospace", '\xFF20')
+  ,("atsmall", '\xFE6B')
+  ,("aturned", '\x0250')
+  ,("aubengali", '\x0994')
+  ,("aubopomofo", '\x3120')
+  ,("audeva", '\x0914')
+  ,("augujarati", '\x0A94')
+  ,("augurmukhi", '\x0A14')
+  ,("aulengthmarkbengali", '\x09D7')
+  ,("aumatragurmukhi", '\x0A4C')
+  ,("auvowelsignbengali", '\x09CC')
+  ,("auvowelsigndeva", '\x094C')
+  ,("auvowelsigngujarati", '\x0ACC')
+  ,("avagrahadeva", '\x093D')
+  ,("aybarmenian", '\x0561')
+  ,("ayin", '\x05E2')
+  ,("ayinaltonehebrew", '\xFB20')
+  ,("ayinhebrew", '\x05E2')
+  ,("b", '\x0062')
+  ,("babengali", '\x09AC')
+  ,("backslash", '\x005C')
+  ,("backslashmonospace", '\xFF3C')
+  ,("badeva", '\x092C')
+  ,("bagujarati", '\x0AAC')
+  ,("bagurmukhi", '\x0A2C')
+  ,("bahiragana", '\x3070')
+  ,("bahtthai", '\x0E3F')
+  ,("bakatakana", '\x30D0')
+  ,("bar", '\x007C')
+  ,("barmonospace", '\xFF5C')
+  ,("bbopomofo", '\x3105')
+  ,("bcircle", '\x24D1')
+  ,("bdotaccent", '\x1E03')
+  ,("bdotbelow", '\x1E05')
+  ,("beamedsixteenthnotes", '\x266C')
+  ,("because", '\x2235')
+  ,("becyrillic", '\x0431')
+  ,("beharabic", '\x0628')
+  ,("behfinalarabic", '\xFE90')
+  ,("behinitialarabic", '\xFE91')
+  ,("behiragana", '\x3079')
+  ,("behmedialarabic", '\xFE92')
+  ,("behmeeminitialarabic", '\xFC9F')
+  ,("behmeemisolatedarabic", '\xFC08')
+  ,("behnoonfinalarabic", '\xFC6D')
+  ,("bekatakana", '\x30D9')
+  ,("benarmenian", '\x0562')
+  ,("bet", '\x05D1')
+  ,("beta", '\x03B2')
+  ,("betasymbolgreek", '\x03D0')
+  ,("betdagesh", '\xFB31')
+  ,("betdageshhebrew", '\xFB31')
+  ,("bethebrew", '\x05D1')
+  ,("betrafehebrew", '\xFB4C')
+  ,("bhabengali", '\x09AD')
+  ,("bhadeva", '\x092D')
+  ,("bhagujarati", '\x0AAD')
+  ,("bhagurmukhi", '\x0A2D')
+  ,("bhook", '\x0253')
+  ,("bihiragana", '\x3073')
+  ,("bikatakana", '\x30D3')
+  ,("bilabialclick", '\x0298')
+  ,("bindigurmukhi", '\x0A02')
+  ,("birusquare", '\x3331')
+  ,("blackcircle", '\x25CF')
+  ,("blackdiamond", '\x25C6')
+  ,("blackdownpointingtriangle", '\x25BC')
+  ,("blackleftpointingpointer", '\x25C4')
+  ,("blackleftpointingtriangle", '\x25C0')
+  ,("blacklenticularbracketleft", '\x3010')
+  ,("blacklenticularbracketleftvertical", '\xFE3B')
+  ,("blacklenticularbracketright", '\x3011')
+  ,("blacklenticularbracketrightvertical", '\xFE3C')
+  ,("blacklowerlefttriangle", '\x25E3')
+  ,("blacklowerrighttriangle", '\x25E2')
+  ,("blackrectangle", '\x25AC')
+  ,("blackrightpointingpointer", '\x25BA')
+  ,("blackrightpointingtriangle", '\x25B6')
+  ,("blacksmallsquare", '\x25AA')
+  ,("blacksmilingface", '\x263B')
+  ,("blacksquare", '\x25A0')
+  ,("blackstar", '\x2605')
+  ,("blackupperlefttriangle", '\x25E4')
+  ,("blackupperrighttriangle", '\x25E5')
+  ,("blackuppointingsmalltriangle", '\x25B4')
+  ,("blackuppointingtriangle", '\x25B2')
+  ,("blank", '\x2423')
+  ,("blinebelow", '\x1E07')
+  ,("block", '\x2588')
+  ,("bmonospace", '\xFF42')
+  ,("bobaimaithai", '\x0E1A')
+  ,("bohiragana", '\x307C')
+  ,("bokatakana", '\x30DC')
+  ,("bparen", '\x249D')
+  ,("bqsquare", '\x33C3')
+  ,("braceex", '\xF8F4')
+  ,("braceleft", '\x007B')
+  ,("braceleftbt", '\xF8F3')
+  ,("braceleftmid", '\xF8F2')
+  ,("braceleftmonospace", '\xFF5B')
+  ,("braceleftsmall", '\xFE5B')
+  ,("bracelefttp", '\xF8F1')
+  ,("braceleftvertical", '\xFE37')
+  ,("braceright", '\x007D')
+  ,("bracerightbt", '\xF8FE')
+  ,("bracerightmid", '\xF8FD')
+  ,("bracerightmonospace", '\xFF5D')
+  ,("bracerightsmall", '\xFE5C')
+  ,("bracerighttp", '\xF8FC')
+  ,("bracerightvertical", '\xFE38')
+  ,("bracketleft", '\x005B')
+  ,("bracketleftbt", '\xF8F0')
+  ,("bracketleftex", '\xF8EF')
+  ,("bracketleftmonospace", '\xFF3B')
+  ,("bracketlefttp", '\xF8EE')
+  ,("bracketright", '\x005D')
+  ,("bracketrightbt", '\xF8FB')
+  ,("bracketrightex", '\xF8FA')
+  ,("bracketrightmonospace", '\xFF3D')
+  ,("bracketrighttp", '\xF8F9')
+  ,("breve", '\x02D8')
+  ,("brevebelowcmb", '\x032E')
+  ,("brevecmb", '\x0306')
+  ,("breveinvertedbelowcmb", '\x032F')
+  ,("breveinvertedcmb", '\x0311')
+  ,("breveinverteddoublecmb", '\x0361')
+  ,("bridgebelowcmb", '\x032A')
+  ,("bridgeinvertedbelowcmb", '\x033A')
+  ,("brokenbar", '\x00A6')
+  ,("bstroke", '\x0180')
+  ,("bsuperior", '\xF6EA')
+  ,("btopbar", '\x0183')
+  ,("buhiragana", '\x3076')
+  ,("bukatakana", '\x30D6')
+  ,("bullet", '\x2022')
+  ,("bulletinverse", '\x25D8')
+  ,("bulletoperator", '\x2219')
+  ,("bullseye", '\x25CE')
+  ,("c", '\x0063')
+  ,("caarmenian", '\x056E')
+  ,("cabengali", '\x099A')
+  ,("cacute", '\x0107')
+  ,("cadeva", '\x091A')
+  ,("cagujarati", '\x0A9A')
+  ,("cagurmukhi", '\x0A1A')
+  ,("calsquare", '\x3388')
+  ,("candrabindubengali", '\x0981')
+  ,("candrabinducmb", '\x0310')
+  ,("candrabindudeva", '\x0901')
+  ,("candrabindugujarati", '\x0A81')
+  ,("capslock", '\x21EA')
+  ,("careof", '\x2105')
+  ,("caron", '\x02C7')
+  ,("caronbelowcmb", '\x032C')
+  ,("caroncmb", '\x030C')
+  ,("carriagereturn", '\x21B5')
+  ,("cbopomofo", '\x3118')
+  ,("ccaron", '\x010D')
+  ,("ccedilla", '\x00E7')
+  ,("ccedillaacute", '\x1E09')
+  ,("ccircle", '\x24D2')
+  ,("ccircumflex", '\x0109')
+  ,("ccurl", '\x0255')
+  ,("cdot", '\x010B')
+  ,("cdotaccent", '\x010B')
+  ,("cdsquare", '\x33C5')
+  ,("cedilla", '\x00B8')
+  ,("cedillacmb", '\x0327')
+  ,("cent", '\x00A2')
+  ,("centigrade", '\x2103')
+  ,("centinferior", '\xF6DF')
+  ,("centmonospace", '\xFFE0')
+  ,("centoldstyle", '\xF7A2')
+  ,("centsuperior", '\xF6E0')
+  ,("chaarmenian", '\x0579')
+  ,("chabengali", '\x099B')
+  ,("chadeva", '\x091B')
+  ,("chagujarati", '\x0A9B')
+  ,("chagurmukhi", '\x0A1B')
+  ,("chbopomofo", '\x3114')
+  ,("cheabkhasiancyrillic", '\x04BD')
+  ,("checkmark", '\x2713')
+  ,("checyrillic", '\x0447')
+  ,("chedescenderabkhasiancyrillic", '\x04BF')
+  ,("chedescendercyrillic", '\x04B7')
+  ,("chedieresiscyrillic", '\x04F5')
+  ,("cheharmenian", '\x0573')
+  ,("chekhakassiancyrillic", '\x04CC')
+  ,("cheverticalstrokecyrillic", '\x04B9')
+  ,("chi", '\x03C7')
+  ,("chieuchacirclekorean", '\x3277')
+  ,("chieuchaparenkorean", '\x3217')
+  ,("chieuchcirclekorean", '\x3269')
+  ,("chieuchkorean", '\x314A')
+  ,("chieuchparenkorean", '\x3209')
+  ,("chochangthai", '\x0E0A')
+  ,("chochanthai", '\x0E08')
+  ,("chochingthai", '\x0E09')
+  ,("chochoethai", '\x0E0C')
+  ,("chook", '\x0188')
+  ,("cieucacirclekorean", '\x3276')
+  ,("cieucaparenkorean", '\x3216')
+  ,("cieuccirclekorean", '\x3268')
+  ,("cieuckorean", '\x3148')
+  ,("cieucparenkorean", '\x3208')
+  ,("cieucuparenkorean", '\x321C')
+  ,("circle", '\x25CB')
+  ,("circlemultiply", '\x2297')
+  ,("circleot", '\x2299')
+  ,("circleplus", '\x2295')
+  ,("circlepostalmark", '\x3036')
+  ,("circlewithlefthalfblack", '\x25D0')
+  ,("circlewithrighthalfblack", '\x25D1')
+  ,("circumflex", '\x02C6')
+  ,("circumflexbelowcmb", '\x032D')
+  ,("circumflexcmb", '\x0302')
+  ,("clear", '\x2327')
+  ,("clickalveolar", '\x01C2')
+  ,("clickdental", '\x01C0')
+  ,("clicklateral", '\x01C1')
+  ,("clickretroflex", '\x01C3')
+  ,("club", '\x2663')
+  ,("clubsuitblack", '\x2663')
+  ,("clubsuitwhite", '\x2667')
+  ,("cmcubedsquare", '\x33A4')
+  ,("cmonospace", '\xFF43')
+  ,("cmsquaredsquare", '\x33A0')
+  ,("coarmenian", '\x0581')
+  ,("colon", '\x003A')
+  ,("colonmonetary", '\x20A1')
+  ,("colonmonospace", '\xFF1A')
+  ,("colonsign", '\x20A1')
+  ,("colonsmall", '\xFE55')
+  ,("colontriangularhalfmod", '\x02D1')
+  ,("colontriangularmod", '\x02D0')
+  ,("comma", '\x002C')
+  ,("commaabovecmb", '\x0313')
+  ,("commaaboverightcmb", '\x0315')
+  ,("commaaccent", '\xF6C3')
+  ,("commaarabic", '\x060C')
+  ,("commaarmenian", '\x055D')
+  ,("commainferior", '\xF6E1')
+  ,("commamonospace", '\xFF0C')
+  ,("commareversedabovecmb", '\x0314')
+  ,("commareversedmod", '\x02BD')
+  ,("commasmall", '\xFE50')
+  ,("commasuperior", '\xF6E2')
+  ,("commaturnedabovecmb", '\x0312')
+  ,("commaturnedmod", '\x02BB')
+  ,("compass", '\x263C')
+  ,("congruent", '\x2245')
+  ,("contourintegral", '\x222E')
+  ,("control", '\x2303')
+  ,("controlACK", '\x0006')
+  ,("controlBEL", '\x0007')
+  ,("controlBS", '\x0008')
+  ,("controlCAN", '\x0018')
+  ,("controlCR", '\x000D')
+  ,("controlDC1", '\x0011')
+  ,("controlDC2", '\x0012')
+  ,("controlDC3", '\x0013')
+  ,("controlDC4", '\x0014')
+  ,("controlDEL", '\x007F')
+  ,("controlDLE", '\x0010')
+  ,("controlEM", '\x0019')
+  ,("controlENQ", '\x0005')
+  ,("controlEOT", '\x0004')
+  ,("controlESC", '\x001B')
+  ,("controlETB", '\x0017')
+  ,("controlETX", '\x0003')
+  ,("controlFF", '\x000C')
+  ,("controlFS", '\x001C')
+  ,("controlGS", '\x001D')
+  ,("controlHT", '\x0009')
+  ,("controlLF", '\x000A')
+  ,("controlNAK", '\x0015')
+  ,("controlRS", '\x001E')
+  ,("controlSI", '\x000F')
+  ,("controlSO", '\x000E')
+  ,("controlSOT", '\x0002')
+  ,("controlSTX", '\x0001')
+  ,("controlSUB", '\x001A')
+  ,("controlSYN", '\x0016')
+  ,("controlUS", '\x001F')
+  ,("controlVT", '\x000B')
+  ,("copyright", '\x00A9')
+  ,("copyrightsans", '\xF8E9')
+  ,("copyrightserif", '\xF6D9')
+  ,("cornerbracketleft", '\x300C')
+  ,("cornerbracketlefthalfwidth", '\xFF62')
+  ,("cornerbracketleftvertical", '\xFE41')
+  ,("cornerbracketright", '\x300D')
+  ,("cornerbracketrighthalfwidth", '\xFF63')
+  ,("cornerbracketrightvertical", '\xFE42')
+  ,("corporationsquare", '\x337F')
+  ,("cosquare", '\x33C7')
+  ,("coverkgsquare", '\x33C6')
+  ,("cparen", '\x249E')
+  ,("cruzeiro", '\x20A2')
+  ,("cstretched", '\x0297')
+  ,("curlyand", '\x22CF')
+  ,("curlyor", '\x22CE')
+  ,("currency", '\x00A4')
+  ,("cyrBreve", '\xF6D1')
+  ,("cyrFlex", '\xF6D2')
+  ,("cyrbreve", '\xF6D4')
+  ,("cyrflex", '\xF6D5')
+  ,("d", '\x0064')
+  ,("daarmenian", '\x0564')
+  ,("dabengali", '\x09A6')
+  ,("dadarabic", '\x0636')
+  ,("dadeva", '\x0926')
+  ,("dadfinalarabic", '\xFEBE')
+  ,("dadinitialarabic", '\xFEBF')
+  ,("dadmedialarabic", '\xFEC0')
+  ,("dagesh", '\x05BC')
+  ,("dageshhebrew", '\x05BC')
+  ,("dagger", '\x2020')
+  ,("daggerdbl", '\x2021')
+  ,("dagujarati", '\x0AA6')
+  ,("dagurmukhi", '\x0A26')
+  ,("dahiragana", '\x3060')
+  ,("dakatakana", '\x30C0')
+  ,("dalarabic", '\x062F')
+  ,("dalet", '\x05D3')
+  ,("daletdagesh", '\xFB33')
+  ,("daletdageshhebrew", '\xFB33')
+  ,("dalethatafpatah", '\x05D3')
+  ,("dalethatafpatahhebrew", '\x05D3')
+  ,("dalethatafsegol", '\x05D3')
+  ,("dalethatafsegolhebrew", '\x05D3')
+  ,("dalethebrew", '\x05D3')
+  ,("dalethiriq", '\x05D3')
+  ,("dalethiriqhebrew", '\x05D3')
+  ,("daletholam", '\x05D3')
+  ,("daletholamhebrew", '\x05D3')
+  ,("daletpatah", '\x05D3')
+  ,("daletpatahhebrew", '\x05D3')
+  ,("daletqamats", '\x05D3')
+  ,("daletqamatshebrew", '\x05D3')
+  ,("daletqubuts", '\x05D3')
+  ,("daletqubutshebrew", '\x05D3')
+  ,("daletsegol", '\x05D3')
+  ,("daletsegolhebrew", '\x05D3')
+  ,("daletsheva", '\x05D3')
+  ,("daletshevahebrew", '\x05D3')
+  ,("dalettsere", '\x05D3')
+  ,("dalettserehebrew", '\x05D3')
+  ,("dalfinalarabic", '\xFEAA')
+  ,("dammaarabic", '\x064F')
+  ,("dammalowarabic", '\x064F')
+  ,("dammatanaltonearabic", '\x064C')
+  ,("dammatanarabic", '\x064C')
+  ,("danda", '\x0964')
+  ,("dargahebrew", '\x05A7')
+  ,("dargalefthebrew", '\x05A7')
+  ,("dasiapneumatacyrilliccmb", '\x0485')
+  ,("dblGrave", '\xF6D3')
+  ,("dblanglebracketleft", '\x300A')
+  ,("dblanglebracketleftvertical", '\xFE3D')
+  ,("dblanglebracketright", '\x300B')
+  ,("dblanglebracketrightvertical", '\xFE3E')
+  ,("dblarchinvertedbelowcmb", '\x032B')
+  ,("dblarrowleft", '\x21D4')
+  ,("dblarrowright", '\x21D2')
+  ,("dbldanda", '\x0965')
+  ,("dblgrave", '\xF6D6')
+  ,("dblgravecmb", '\x030F')
+  ,("dblintegral", '\x222C')
+  ,("dbllowline", '\x2017')
+  ,("dbllowlinecmb", '\x0333')
+  ,("dbloverlinecmb", '\x033F')
+  ,("dblprimemod", '\x02BA')
+  ,("dblverticalbar", '\x2016')
+  ,("dblverticallineabovecmb", '\x030E')
+  ,("dbopomofo", '\x3109')
+  ,("dbsquare", '\x33C8')
+  ,("dcaron", '\x010F')
+  ,("dcedilla", '\x1E11')
+  ,("dcircle", '\x24D3')
+  ,("dcircumflexbelow", '\x1E13')
+  ,("dcroat", '\x0111')
+  ,("ddabengali", '\x09A1')
+  ,("ddadeva", '\x0921')
+  ,("ddagujarati", '\x0AA1')
+  ,("ddagurmukhi", '\x0A21')
+  ,("ddalarabic", '\x0688')
+  ,("ddalfinalarabic", '\xFB89')
+  ,("dddhadeva", '\x095C')
+  ,("ddhabengali", '\x09A2')
+  ,("ddhadeva", '\x0922')
+  ,("ddhagujarati", '\x0AA2')
+  ,("ddhagurmukhi", '\x0A22')
+  ,("ddotaccent", '\x1E0B')
+  ,("ddotbelow", '\x1E0D')
+  ,("decimalseparatorarabic", '\x066B')
+  ,("decimalseparatorpersian", '\x066B')
+  ,("decyrillic", '\x0434')
+  ,("degree", '\x00B0')
+  ,("dehihebrew", '\x05AD')
+  ,("dehiragana", '\x3067')
+  ,("deicoptic", '\x03EF')
+  ,("dekatakana", '\x30C7')
+  ,("deleteleft", '\x232B')
+  ,("deleteright", '\x2326')
+  ,("delta", '\x03B4')
+  ,("deltaturned", '\x018D')
+  ,("denominatorminusonenumeratorbengali", '\x09F8')
+  ,("dezh", '\x02A4')
+  ,("dhabengali", '\x09A7')
+  ,("dhadeva", '\x0927')
+  ,("dhagujarati", '\x0AA7')
+  ,("dhagurmukhi", '\x0A27')
+  ,("dhook", '\x0257')
+  ,("dialytikatonos", '\x0385')
+  ,("dialytikatonoscmb", '\x0344')
+  ,("diamond", '\x2666')
+  ,("diamondsuitwhite", '\x2662')
+  ,("dieresis", '\x00A8')
+  ,("dieresisacute", '\xF6D7')
+  ,("dieresisbelowcmb", '\x0324')
+  ,("dieresiscmb", '\x0308')
+  ,("dieresisgrave", '\xF6D8')
+  ,("dieresistonos", '\x0385')
+  ,("dihiragana", '\x3062')
+  ,("dikatakana", '\x30C2')
+  ,("dittomark", '\x3003')
+  ,("divide", '\x00F7')
+  ,("divides", '\x2223')
+  ,("divisionslash", '\x2215')
+  ,("djecyrillic", '\x0452')
+  ,("dkshade", '\x2593')
+  ,("dlinebelow", '\x1E0F')
+  ,("dlsquare", '\x3397')
+  ,("dmacron", '\x0111')
+  ,("dmonospace", '\xFF44')
+  ,("dnblock", '\x2584')
+  ,("dochadathai", '\x0E0E')
+  ,("dodekthai", '\x0E14')
+  ,("dohiragana", '\x3069')
+  ,("dokatakana", '\x30C9')
+  ,("dollar", '\x0024')
+  ,("dollarinferior", '\xF6E3')
+  ,("dollarmonospace", '\xFF04')
+  ,("dollaroldstyle", '\xF724')
+  ,("dollarsmall", '\xFE69')
+  ,("dollarsuperior", '\xF6E4')
+  ,("dong", '\x20AB')
+  ,("dorusquare", '\x3326')
+  ,("dotaccent", '\x02D9')
+  ,("dotaccentcmb", '\x0307')
+  ,("dotbelowcmb", '\x0323')
+  ,("dotbelowcomb", '\x0323')
+  ,("dotkatakana", '\x30FB')
+  ,("dotlessi", '\x0131')
+  ,("dotlessj", '\xF6BE')
+  ,("dotlessjstrokehook", '\x0284')
+  ,("dotmath", '\x22C5')
+  ,("dottedcircle", '\x25CC')
+  ,("doubleyodpatah", '\xFB1F')
+  ,("doubleyodpatahhebrew", '\xFB1F')
+  ,("downtackbelowcmb", '\x031E')
+  ,("downtackmod", '\x02D5')
+  ,("dparen", '\x249F')
+  ,("dsuperior", '\xF6EB')
+  ,("dtail", '\x0256')
+  ,("dtopbar", '\x018C')
+  ,("duhiragana", '\x3065')
+  ,("dukatakana", '\x30C5')
+  ,("dz", '\x01F3')
+  ,("dzaltone", '\x02A3')
+  ,("dzcaron", '\x01C6')
+  ,("dzcurl", '\x02A5')
+  ,("dzeabkhasiancyrillic", '\x04E1')
+  ,("dzecyrillic", '\x0455')
+  ,("dzhecyrillic", '\x045F')
+  ,("e", '\x0065')
+  ,("eacute", '\x00E9')
+  ,("earth", '\x2641')
+  ,("ebengali", '\x098F')
+  ,("ebopomofo", '\x311C')
+  ,("ebreve", '\x0115')
+  ,("ecandradeva", '\x090D')
+  ,("ecandragujarati", '\x0A8D')
+  ,("ecandravowelsigndeva", '\x0945')
+  ,("ecandravowelsigngujarati", '\x0AC5')
+  ,("ecaron", '\x011B')
+  ,("ecedillabreve", '\x1E1D')
+  ,("echarmenian", '\x0565')
+  ,("echyiwnarmenian", '\x0587')
+  ,("ecircle", '\x24D4')
+  ,("ecircumflex", '\x00EA')
+  ,("ecircumflexacute", '\x1EBF')
+  ,("ecircumflexbelow", '\x1E19')
+  ,("ecircumflexdotbelow", '\x1EC7')
+  ,("ecircumflexgrave", '\x1EC1')
+  ,("ecircumflexhookabove", '\x1EC3')
+  ,("ecircumflextilde", '\x1EC5')
+  ,("ecyrillic", '\x0454')
+  ,("edblgrave", '\x0205')
+  ,("edeva", '\x090F')
+  ,("edieresis", '\x00EB')
+  ,("edot", '\x0117')
+  ,("edotaccent", '\x0117')
+  ,("edotbelow", '\x1EB9')
+  ,("eegurmukhi", '\x0A0F')
+  ,("eematragurmukhi", '\x0A47')
+  ,("efcyrillic", '\x0444')
+  ,("egrave", '\x00E8')
+  ,("egujarati", '\x0A8F')
+  ,("eharmenian", '\x0567')
+  ,("ehbopomofo", '\x311D')
+  ,("ehiragana", '\x3048')
+  ,("ehookabove", '\x1EBB')
+  ,("eibopomofo", '\x311F')
+  ,("eight", '\x0038')
+  ,("eightarabic", '\x0668')
+  ,("eightbengali", '\x09EE')
+  ,("eightcircle", '\x2467')
+  ,("eightcircleinversesansserif", '\x2791')
+  ,("eightdeva", '\x096E')
+  ,("eighteencircle", '\x2471')
+  ,("eighteenparen", '\x2485')
+  ,("eighteenperiod", '\x2499')
+  ,("eightgujarati", '\x0AEE')
+  ,("eightgurmukhi", '\x0A6E')
+  ,("eighthackarabic", '\x0668')
+  ,("eighthangzhou", '\x3028')
+  ,("eighthnotebeamed", '\x266B')
+  ,("eightideographicparen", '\x3227')
+  ,("eightinferior", '\x2088')
+  ,("eightmonospace", '\xFF18')
+  ,("eightoldstyle", '\xF738')
+  ,("eightparen", '\x247B')
+  ,("eightperiod", '\x248F')
+  ,("eightpersian", '\x06F8')
+  ,("eightroman", '\x2177')
+  ,("eightsuperior", '\x2078')
+  ,("eightthai", '\x0E58')
+  ,("einvertedbreve", '\x0207')
+  ,("eiotifiedcyrillic", '\x0465')
+  ,("ekatakana", '\x30A8')
+  ,("ekatakanahalfwidth", '\xFF74')
+  ,("ekonkargurmukhi", '\x0A74')
+  ,("ekorean", '\x3154')
+  ,("elcyrillic", '\x043B')
+  ,("element", '\x2208')
+  ,("elevencircle", '\x246A')
+  ,("elevenparen", '\x247E')
+  ,("elevenperiod", '\x2492')
+  ,("elevenroman", '\x217A')
+  ,("ellipsis", '\x2026')
+  ,("ellipsisvertical", '\x22EE')
+  ,("emacron", '\x0113')
+  ,("emacronacute", '\x1E17')
+  ,("emacrongrave", '\x1E15')
+  ,("emcyrillic", '\x043C')
+  ,("emdash", '\x2014')
+  ,("emdashvertical", '\xFE31')
+  ,("emonospace", '\xFF45')
+  ,("emphasismarkarmenian", '\x055B')
+  ,("emptyset", '\x2205')
+  ,("enbopomofo", '\x3123')
+  ,("encyrillic", '\x043D')
+  ,("endash", '\x2013')
+  ,("endashvertical", '\xFE32')
+  ,("endescendercyrillic", '\x04A3')
+  ,("eng", '\x014B')
+  ,("engbopomofo", '\x3125')
+  ,("enghecyrillic", '\x04A5')
+  ,("enhookcyrillic", '\x04C8')
+  ,("enspace", '\x2002')
+  ,("eogonek", '\x0119')
+  ,("eokorean", '\x3153')
+  ,("eopen", '\x025B')
+  ,("eopenclosed", '\x029A')
+  ,("eopenreversed", '\x025C')
+  ,("eopenreversedclosed", '\x025E')
+  ,("eopenreversedhook", '\x025D')
+  ,("eparen", '\x24A0')
+  ,("epsilon", '\x03B5')
+  ,("epsilontonos", '\x03AD')
+  ,("equal", '\x003D')
+  ,("equalmonospace", '\xFF1D')
+  ,("equalsmall", '\xFE66')
+  ,("equalsuperior", '\x207C')
+  ,("equivalence", '\x2261')
+  ,("erbopomofo", '\x3126')
+  ,("ercyrillic", '\x0440')
+  ,("ereversed", '\x0258')
+  ,("ereversedcyrillic", '\x044D')
+  ,("escyrillic", '\x0441')
+  ,("esdescendercyrillic", '\x04AB')
+  ,("esh", '\x0283')
+  ,("eshcurl", '\x0286')
+  ,("eshortdeva", '\x090E')
+  ,("eshortvowelsigndeva", '\x0946')
+  ,("eshreversedloop", '\x01AA')
+  ,("eshsquatreversed", '\x0285')
+  ,("esmallhiragana", '\x3047')
+  ,("esmallkatakana", '\x30A7')
+  ,("esmallkatakanahalfwidth", '\xFF6A')
+  ,("estimated", '\x212E')
+  ,("esuperior", '\xF6EC')
+  ,("eta", '\x03B7')
+  ,("etarmenian", '\x0568')
+  ,("etatonos", '\x03AE')
+  ,("eth", '\x00F0')
+  ,("etilde", '\x1EBD')
+  ,("etildebelow", '\x1E1B')
+  ,("etnahtafoukhhebrew", '\x0591')
+  ,("etnahtafoukhlefthebrew", '\x0591')
+  ,("etnahtahebrew", '\x0591')
+  ,("etnahtalefthebrew", '\x0591')
+  ,("eturned", '\x01DD')
+  ,("eukorean", '\x3161')
+  ,("euro", '\x20AC')
+  ,("evowelsignbengali", '\x09C7')
+  ,("evowelsigndeva", '\x0947')
+  ,("evowelsigngujarati", '\x0AC7')
+  ,("exclam", '\x0021')
+  ,("exclamarmenian", '\x055C')
+  ,("exclamdbl", '\x203C')
+  ,("exclamdown", '\x00A1')
+  ,("exclamdownsmall", '\xF7A1')
+  ,("exclammonospace", '\xFF01')
+  ,("exclamsmall", '\xF721')
+  ,("existential", '\x2203')
+  ,("ezh", '\x0292')
+  ,("ezhcaron", '\x01EF')
+  ,("ezhcurl", '\x0293')
+  ,("ezhreversed", '\x01B9')
+  ,("ezhtail", '\x01BA')
+  ,("f", '\x0066')
+  ,("fadeva", '\x095E')
+  ,("fagurmukhi", '\x0A5E')
+  ,("fahrenheit", '\x2109')
+  ,("fathaarabic", '\x064E')
+  ,("fathalowarabic", '\x064E')
+  ,("fathatanarabic", '\x064B')
+  ,("fbopomofo", '\x3108')
+  ,("fcircle", '\x24D5')
+  ,("fdotaccent", '\x1E1F')
+  ,("feharabic", '\x0641')
+  ,("feharmenian", '\x0586')
+  ,("fehfinalarabic", '\xFED2')
+  ,("fehinitialarabic", '\xFED3')
+  ,("fehmedialarabic", '\xFED4')
+  ,("feicoptic", '\x03E5')
+  ,("female", '\x2640')
+  ,("ff", '\xFB00')
+  ,("ffi", '\xFB03')
+  ,("ffl", '\xFB04')
+  ,("fi", '\xFB01')
+  ,("fifteencircle", '\x246E')
+  ,("fifteenparen", '\x2482')
+  ,("fifteenperiod", '\x2496')
+  ,("figuredash", '\x2012')
+  ,("filledbox", '\x25A0')
+  ,("filledrect", '\x25AC')
+  ,("finalkaf", '\x05DA')
+  ,("finalkafdagesh", '\xFB3A')
+  ,("finalkafdageshhebrew", '\xFB3A')
+  ,("finalkafhebrew", '\x05DA')
+  ,("finalkafqamats", '\x05DA')
+  ,("finalkafqamatshebrew", '\x05DA')
+  ,("finalkafsheva", '\x05DA')
+  ,("finalkafshevahebrew", '\x05DA')
+  ,("finalmem", '\x05DD')
+  ,("finalmemhebrew", '\x05DD')
+  ,("finalnun", '\x05DF')
+  ,("finalnunhebrew", '\x05DF')
+  ,("finalpe", '\x05E3')
+  ,("finalpehebrew", '\x05E3')
+  ,("finaltsadi", '\x05E5')
+  ,("finaltsadihebrew", '\x05E5')
+  ,("firsttonechinese", '\x02C9')
+  ,("fisheye", '\x25C9')
+  ,("fitacyrillic", '\x0473')
+  ,("five", '\x0035')
+  ,("fivearabic", '\x0665')
+  ,("fivebengali", '\x09EB')
+  ,("fivecircle", '\x2464')
+  ,("fivecircleinversesansserif", '\x278E')
+  ,("fivedeva", '\x096B')
+  ,("fiveeighths", '\x215D')
+  ,("fivegujarati", '\x0AEB')
+  ,("fivegurmukhi", '\x0A6B')
+  ,("fivehackarabic", '\x0665')
+  ,("fivehangzhou", '\x3025')
+  ,("fiveideographicparen", '\x3224')
+  ,("fiveinferior", '\x2085')
+  ,("fivemonospace", '\xFF15')
+  ,("fiveoldstyle", '\xF735')
+  ,("fiveparen", '\x2478')
+  ,("fiveperiod", '\x248C')
+  ,("fivepersian", '\x06F5')
+  ,("fiveroman", '\x2174')
+  ,("fivesuperior", '\x2075')
+  ,("fivethai", '\x0E55')
+  ,("fl", '\xFB02')
+  ,("florin", '\x0192')
+  ,("fmonospace", '\xFF46')
+  ,("fmsquare", '\x3399')
+  ,("fofanthai", '\x0E1F')
+  ,("fofathai", '\x0E1D')
+  ,("fongmanthai", '\x0E4F')
+  ,("forall", '\x2200')
+  ,("four", '\x0034')
+  ,("fourarabic", '\x0664')
+  ,("fourbengali", '\x09EA')
+  ,("fourcircle", '\x2463')
+  ,("fourcircleinversesansserif", '\x278D')
+  ,("fourdeva", '\x096A')
+  ,("fourgujarati", '\x0AEA')
+  ,("fourgurmukhi", '\x0A6A')
+  ,("fourhackarabic", '\x0664')
+  ,("fourhangzhou", '\x3024')
+  ,("fourideographicparen", '\x3223')
+  ,("fourinferior", '\x2084')
+  ,("fourmonospace", '\xFF14')
+  ,("fournumeratorbengali", '\x09F7')
+  ,("fouroldstyle", '\xF734')
+  ,("fourparen", '\x2477')
+  ,("fourperiod", '\x248B')
+  ,("fourpersian", '\x06F4')
+  ,("fourroman", '\x2173')
+  ,("foursuperior", '\x2074')
+  ,("fourteencircle", '\x246D')
+  ,("fourteenparen", '\x2481')
+  ,("fourteenperiod", '\x2495')
+  ,("fourthai", '\x0E54')
+  ,("fourthtonechinese", '\x02CB')
+  ,("fparen", '\x24A1')
+  ,("fraction", '\x2044')
+  ,("franc", '\x20A3')
+  ,("g", '\x0067')
+  ,("gabengali", '\x0997')
+  ,("gacute", '\x01F5')
+  ,("gadeva", '\x0917')
+  ,("gafarabic", '\x06AF')
+  ,("gaffinalarabic", '\xFB93')
+  ,("gafinitialarabic", '\xFB94')
+  ,("gafmedialarabic", '\xFB95')
+  ,("gagujarati", '\x0A97')
+  ,("gagurmukhi", '\x0A17')
+  ,("gahiragana", '\x304C')
+  ,("gakatakana", '\x30AC')
+  ,("gamma", '\x03B3')
+  ,("gammalatinsmall", '\x0263')
+  ,("gammasuperior", '\x02E0')
+  ,("gangiacoptic", '\x03EB')
+  ,("gbopomofo", '\x310D')
+  ,("gbreve", '\x011F')
+  ,("gcaron", '\x01E7')
+  ,("gcedilla", '\x0123')
+  ,("gcircle", '\x24D6')
+  ,("gcircumflex", '\x011D')
+  ,("gcommaaccent", '\x0123')
+  ,("gdot", '\x0121')
+  ,("gdotaccent", '\x0121')
+  ,("gecyrillic", '\x0433')
+  ,("gehiragana", '\x3052')
+  ,("gekatakana", '\x30B2')
+  ,("geometricallyequal", '\x2251')
+  ,("gereshaccenthebrew", '\x059C')
+  ,("gereshhebrew", '\x05F3')
+  ,("gereshmuqdamhebrew", '\x059D')
+  ,("germandbls", '\x00DF')
+  ,("gershayimaccenthebrew", '\x059E')
+  ,("gershayimhebrew", '\x05F4')
+  ,("getamark", '\x3013')
+  ,("ghabengali", '\x0998')
+  ,("ghadarmenian", '\x0572')
+  ,("ghadeva", '\x0918')
+  ,("ghagujarati", '\x0A98')
+  ,("ghagurmukhi", '\x0A18')
+  ,("ghainarabic", '\x063A')
+  ,("ghainfinalarabic", '\xFECE')
+  ,("ghaininitialarabic", '\xFECF')
+  ,("ghainmedialarabic", '\xFED0')
+  ,("ghemiddlehookcyrillic", '\x0495')
+  ,("ghestrokecyrillic", '\x0493')
+  ,("gheupturncyrillic", '\x0491')
+  ,("ghhadeva", '\x095A')
+  ,("ghhagurmukhi", '\x0A5A')
+  ,("ghook", '\x0260')
+  ,("ghzsquare", '\x3393')
+  ,("gihiragana", '\x304E')
+  ,("gikatakana", '\x30AE')
+  ,("gimarmenian", '\x0563')
+  ,("gimel", '\x05D2')
+  ,("gimeldagesh", '\xFB32')
+  ,("gimeldageshhebrew", '\xFB32')
+  ,("gimelhebrew", '\x05D2')
+  ,("gjecyrillic", '\x0453')
+  ,("glottalinvertedstroke", '\x01BE')
+  ,("glottalstop", '\x0294')
+  ,("glottalstopinverted", '\x0296')
+  ,("glottalstopmod", '\x02C0')
+  ,("glottalstopreversed", '\x0295')
+  ,("glottalstopreversedmod", '\x02C1')
+  ,("glottalstopreversedsuperior", '\x02E4')
+  ,("glottalstopstroke", '\x02A1')
+  ,("glottalstopstrokereversed", '\x02A2')
+  ,("gmacron", '\x1E21')
+  ,("gmonospace", '\xFF47')
+  ,("gohiragana", '\x3054')
+  ,("gokatakana", '\x30B4')
+  ,("gparen", '\x24A2')
+  ,("gpasquare", '\x33AC')
+  ,("gradient", '\x2207')
+  ,("grave", '\x0060')
+  ,("gravebelowcmb", '\x0316')
+  ,("gravecmb", '\x0300')
+  ,("gravecomb", '\x0300')
+  ,("gravedeva", '\x0953')
+  ,("gravelowmod", '\x02CE')
+  ,("gravemonospace", '\xFF40')
+  ,("gravetonecmb", '\x0340')
+  ,("greater", '\x003E')
+  ,("greaterequal", '\x2265')
+  ,("greaterequalorless", '\x22DB')
+  ,("greatermonospace", '\xFF1E')
+  ,("greaterorequivalent", '\x2273')
+  ,("greaterorless", '\x2277')
+  ,("greateroverequal", '\x2267')
+  ,("greatersmall", '\xFE65')
+  ,("gscript", '\x0261')
+  ,("gstroke", '\x01E5')
+  ,("guhiragana", '\x3050')
+  ,("guillemotleft", '\x00AB')
+  ,("guillemotright", '\x00BB')
+  ,("guilsinglleft", '\x2039')
+  ,("guilsinglright", '\x203A')
+  ,("gukatakana", '\x30B0')
+  ,("guramusquare", '\x3318')
+  ,("gysquare", '\x33C9')
+  ,("h", '\x0068')
+  ,("haabkhasiancyrillic", '\x04A9')
+  ,("haaltonearabic", '\x06C1')
+  ,("habengali", '\x09B9')
+  ,("hadescendercyrillic", '\x04B3')
+  ,("hadeva", '\x0939')
+  ,("hagujarati", '\x0AB9')
+  ,("hagurmukhi", '\x0A39')
+  ,("haharabic", '\x062D')
+  ,("hahfinalarabic", '\xFEA2')
+  ,("hahinitialarabic", '\xFEA3')
+  ,("hahiragana", '\x306F')
+  ,("hahmedialarabic", '\xFEA4')
+  ,("haitusquare", '\x332A')
+  ,("hakatakana", '\x30CF')
+  ,("hakatakanahalfwidth", '\xFF8A')
+  ,("halantgurmukhi", '\x0A4D')
+  ,("hamzaarabic", '\x0621')
+  ,("hamzadammaarabic", '\x0621')
+  ,("hamzadammatanarabic", '\x0621')
+  ,("hamzafathaarabic", '\x0621')
+  ,("hamzafathatanarabic", '\x0621')
+  ,("hamzalowarabic", '\x0621')
+  ,("hamzalowkasraarabic", '\x0621')
+  ,("hamzalowkasratanarabic", '\x0621')
+  ,("hamzasukunarabic", '\x0621')
+  ,("hangulfiller", '\x3164')
+  ,("hardsigncyrillic", '\x044A')
+  ,("harpoonleftbarbup", '\x21BC')
+  ,("harpoonrightbarbup", '\x21C0')
+  ,("hasquare", '\x33CA')
+  ,("hatafpatah", '\x05B2')
+  ,("hatafpatah16", '\x05B2')
+  ,("hatafpatah23", '\x05B2')
+  ,("hatafpatah2f", '\x05B2')
+  ,("hatafpatahhebrew", '\x05B2')
+  ,("hatafpatahnarrowhebrew", '\x05B2')
+  ,("hatafpatahquarterhebrew", '\x05B2')
+  ,("hatafpatahwidehebrew", '\x05B2')
+  ,("hatafqamats", '\x05B3')
+  ,("hatafqamats1b", '\x05B3')
+  ,("hatafqamats28", '\x05B3')
+  ,("hatafqamats34", '\x05B3')
+  ,("hatafqamatshebrew", '\x05B3')
+  ,("hatafqamatsnarrowhebrew", '\x05B3')
+  ,("hatafqamatsquarterhebrew", '\x05B3')
+  ,("hatafqamatswidehebrew", '\x05B3')
+  ,("hatafsegol", '\x05B1')
+  ,("hatafsegol17", '\x05B1')
+  ,("hatafsegol24", '\x05B1')
+  ,("hatafsegol30", '\x05B1')
+  ,("hatafsegolhebrew", '\x05B1')
+  ,("hatafsegolnarrowhebrew", '\x05B1')
+  ,("hatafsegolquarterhebrew", '\x05B1')
+  ,("hatafsegolwidehebrew", '\x05B1')
+  ,("hbar", '\x0127')
+  ,("hbopomofo", '\x310F')
+  ,("hbrevebelow", '\x1E2B')
+  ,("hcedilla", '\x1E29')
+  ,("hcircle", '\x24D7')
+  ,("hcircumflex", '\x0125')
+  ,("hdieresis", '\x1E27')
+  ,("hdotaccent", '\x1E23')
+  ,("hdotbelow", '\x1E25')
+  ,("he", '\x05D4')
+  ,("heart", '\x2665')
+  ,("heartsuitblack", '\x2665')
+  ,("heartsuitwhite", '\x2661')
+  ,("hedagesh", '\xFB34')
+  ,("hedageshhebrew", '\xFB34')
+  ,("hehaltonearabic", '\x06C1')
+  ,("heharabic", '\x0647')
+  ,("hehebrew", '\x05D4')
+  ,("hehfinalaltonearabic", '\xFBA7')
+  ,("hehfinalalttwoarabic", '\xFEEA')
+  ,("hehfinalarabic", '\xFEEA')
+  ,("hehhamzaabovefinalarabic", '\xFBA5')
+  ,("hehhamzaaboveisolatedarabic", '\xFBA4')
+  ,("hehinitialaltonearabic", '\xFBA8')
+  ,("hehinitialarabic", '\xFEEB')
+  ,("hehiragana", '\x3078')
+  ,("hehmedialaltonearabic", '\xFBA9')
+  ,("hehmedialarabic", '\xFEEC')
+  ,("heiseierasquare", '\x337B')
+  ,("hekatakana", '\x30D8')
+  ,("hekatakanahalfwidth", '\xFF8D')
+  ,("hekutaarusquare", '\x3336')
+  ,("henghook", '\x0267')
+  ,("herutusquare", '\x3339')
+  ,("het", '\x05D7')
+  ,("hethebrew", '\x05D7')
+  ,("hhook", '\x0266')
+  ,("hhooksuperior", '\x02B1')
+  ,("hieuhacirclekorean", '\x327B')
+  ,("hieuhaparenkorean", '\x321B')
+  ,("hieuhcirclekorean", '\x326D')
+  ,("hieuhkorean", '\x314E')
+  ,("hieuhparenkorean", '\x320D')
+  ,("hihiragana", '\x3072')
+  ,("hikatakana", '\x30D2')
+  ,("hikatakanahalfwidth", '\xFF8B')
+  ,("hiriq", '\x05B4')
+  ,("hiriq14", '\x05B4')
+  ,("hiriq21", '\x05B4')
+  ,("hiriq2d", '\x05B4')
+  ,("hiriqhebrew", '\x05B4')
+  ,("hiriqnarrowhebrew", '\x05B4')
+  ,("hiriqquarterhebrew", '\x05B4')
+  ,("hiriqwidehebrew", '\x05B4')
+  ,("hlinebelow", '\x1E96')
+  ,("hmonospace", '\xFF48')
+  ,("hoarmenian", '\x0570')
+  ,("hohipthai", '\x0E2B')
+  ,("hohiragana", '\x307B')
+  ,("hokatakana", '\x30DB')
+  ,("hokatakanahalfwidth", '\xFF8E')
+  ,("holam", '\x05B9')
+  ,("holam19", '\x05B9')
+  ,("holam26", '\x05B9')
+  ,("holam32", '\x05B9')
+  ,("holamhebrew", '\x05B9')
+  ,("holamnarrowhebrew", '\x05B9')
+  ,("holamquarterhebrew", '\x05B9')
+  ,("holamwidehebrew", '\x05B9')
+  ,("honokhukthai", '\x0E2E')
+  ,("hookabovecomb", '\x0309')
+  ,("hookcmb", '\x0309')
+  ,("hookpalatalizedbelowcmb", '\x0321')
+  ,("hookretroflexbelowcmb", '\x0322')
+  ,("hoonsquare", '\x3342')
+  ,("horicoptic", '\x03E9')
+  ,("horizontalbar", '\x2015')
+  ,("horncmb", '\x031B')
+  ,("hotsprings", '\x2668')
+  ,("house", '\x2302')
+  ,("hparen", '\x24A3')
+  ,("hsuperior", '\x02B0')
+  ,("hturned", '\x0265')
+  ,("huhiragana", '\x3075')
+  ,("huiitosquare", '\x3333')
+  ,("hukatakana", '\x30D5')
+  ,("hukatakanahalfwidth", '\xFF8C')
+  ,("hungarumlaut", '\x02DD')
+  ,("hungarumlautcmb", '\x030B')
+  ,("hv", '\x0195')
+  ,("hyphen", '\x002D')
+  ,("hypheninferior", '\xF6E5')
+  ,("hyphenmonospace", '\xFF0D')
+  ,("hyphensmall", '\xFE63')
+  ,("hyphensuperior", '\xF6E6')
+  ,("hyphentwo", '\x2010')
+  ,("i", '\x0069')
+  ,("iacute", '\x00ED')
+  ,("iacyrillic", '\x044F')
+  ,("ibengali", '\x0987')
+  ,("ibopomofo", '\x3127')
+  ,("ibreve", '\x012D')
+  ,("icaron", '\x01D0')
+  ,("icircle", '\x24D8')
+  ,("icircumflex", '\x00EE')
+  ,("icyrillic", '\x0456')
+  ,("idblgrave", '\x0209')
+  ,("ideographearthcircle", '\x328F')
+  ,("ideographfirecircle", '\x328B')
+  ,("ideographicallianceparen", '\x323F')
+  ,("ideographiccallparen", '\x323A')
+  ,("ideographiccentrecircle", '\x32A5')
+  ,("ideographicclose", '\x3006')
+  ,("ideographiccomma", '\x3001')
+  ,("ideographiccommaleft", '\xFF64')
+  ,("ideographiccongratulationparen", '\x3237')
+  ,("ideographiccorrectcircle", '\x32A3')
+  ,("ideographicearthparen", '\x322F')
+  ,("ideographicenterpriseparen", '\x323D')
+  ,("ideographicexcellentcircle", '\x329D')
+  ,("ideographicfestivalparen", '\x3240')
+  ,("ideographicfinancialcircle", '\x3296')
+  ,("ideographicfinancialparen", '\x3236')
+  ,("ideographicfireparen", '\x322B')
+  ,("ideographichaveparen", '\x3232')
+  ,("ideographichighcircle", '\x32A4')
+  ,("ideographiciterationmark", '\x3005')
+  ,("ideographiclaborcircle", '\x3298')
+  ,("ideographiclaborparen", '\x3238')
+  ,("ideographicleftcircle", '\x32A7')
+  ,("ideographiclowcircle", '\x32A6')
+  ,("ideographicmedicinecircle", '\x32A9')
+  ,("ideographicmetalparen", '\x322E')
+  ,("ideographicmoonparen", '\x322A')
+  ,("ideographicnameparen", '\x3234')
+  ,("ideographicperiod", '\x3002')
+  ,("ideographicprintcircle", '\x329E')
+  ,("ideographicreachparen", '\x3243')
+  ,("ideographicrepresentparen", '\x3239')
+  ,("ideographicresourceparen", '\x323E')
+  ,("ideographicrightcircle", '\x32A8')
+  ,("ideographicsecretcircle", '\x3299')
+  ,("ideographicselfparen", '\x3242')
+  ,("ideographicsocietyparen", '\x3233')
+  ,("ideographicspace", '\x3000')
+  ,("ideographicspecialparen", '\x3235')
+  ,("ideographicstockparen", '\x3231')
+  ,("ideographicstudyparen", '\x323B')
+  ,("ideographicsunparen", '\x3230')
+  ,("ideographicsuperviseparen", '\x323C')
+  ,("ideographicwaterparen", '\x322C')
+  ,("ideographicwoodparen", '\x322D')
+  ,("ideographiczero", '\x3007')
+  ,("ideographmetalcircle", '\x328E')
+  ,("ideographmooncircle", '\x328A')
+  ,("ideographnamecircle", '\x3294')
+  ,("ideographsuncircle", '\x3290')
+  ,("ideographwatercircle", '\x328C')
+  ,("ideographwoodcircle", '\x328D')
+  ,("ideva", '\x0907')
+  ,("idieresis", '\x00EF')
+  ,("idieresisacute", '\x1E2F')
+  ,("idieresiscyrillic", '\x04E5')
+  ,("idotbelow", '\x1ECB')
+  ,("iebrevecyrillic", '\x04D7')
+  ,("iecyrillic", '\x0435')
+  ,("ieungacirclekorean", '\x3275')
+  ,("ieungaparenkorean", '\x3215')
+  ,("ieungcirclekorean", '\x3267')
+  ,("ieungkorean", '\x3147')
+  ,("ieungparenkorean", '\x3207')
+  ,("igrave", '\x00EC')
+  ,("igujarati", '\x0A87')
+  ,("igurmukhi", '\x0A07')
+  ,("ihiragana", '\x3044')
+  ,("ihookabove", '\x1EC9')
+  ,("iibengali", '\x0988')
+  ,("iicyrillic", '\x0438')
+  ,("iideva", '\x0908')
+  ,("iigujarati", '\x0A88')
+  ,("iigurmukhi", '\x0A08')
+  ,("iimatragurmukhi", '\x0A40')
+  ,("iinvertedbreve", '\x020B')
+  ,("iishortcyrillic", '\x0439')
+  ,("iivowelsignbengali", '\x09C0')
+  ,("iivowelsigndeva", '\x0940')
+  ,("iivowelsigngujarati", '\x0AC0')
+  ,("ij", '\x0133')
+  ,("ikatakana", '\x30A4')
+  ,("ikatakanahalfwidth", '\xFF72')
+  ,("ikorean", '\x3163')
+  ,("ilde", '\x02DC')
+  ,("iluyhebrew", '\x05AC')
+  ,("imacron", '\x012B')
+  ,("imacroncyrillic", '\x04E3')
+  ,("imageorapproximatelyequal", '\x2253')
+  ,("imatragurmukhi", '\x0A3F')
+  ,("imonospace", '\xFF49')
+  ,("increment", '\x2206')
+  ,("infinity", '\x221E')
+  ,("iniarmenian", '\x056B')
+  ,("integral", '\x222B')
+  ,("integralbottom", '\x2321')
+  ,("integralbt", '\x2321')
+  ,("integralex", '\xF8F5')
+  ,("integraltop", '\x2320')
+  ,("integraltp", '\x2320')
+  ,("intersection", '\x2229')
+  ,("intisquare", '\x3305')
+  ,("invbullet", '\x25D8')
+  ,("invcircle", '\x25D9')
+  ,("invsmileface", '\x263B')
+  ,("iocyrillic", '\x0451')
+  ,("iogonek", '\x012F')
+  ,("iota", '\x03B9')
+  ,("iotadieresis", '\x03CA')
+  ,("iotadieresistonos", '\x0390')
+  ,("iotalatin", '\x0269')
+  ,("iotatonos", '\x03AF')
+  ,("iparen", '\x24A4')
+  ,("irigurmukhi", '\x0A72')
+  ,("ismallhiragana", '\x3043')
+  ,("ismallkatakana", '\x30A3')
+  ,("ismallkatakanahalfwidth", '\xFF68')
+  ,("issharbengali", '\x09FA')
+  ,("istroke", '\x0268')
+  ,("isuperior", '\xF6ED')
+  ,("iterationhiragana", '\x309D')
+  ,("iterationkatakana", '\x30FD')
+  ,("itilde", '\x0129')
+  ,("itildebelow", '\x1E2D')
+  ,("iubopomofo", '\x3129')
+  ,("iucyrillic", '\x044E')
+  ,("ivowelsignbengali", '\x09BF')
+  ,("ivowelsigndeva", '\x093F')
+  ,("ivowelsigngujarati", '\x0ABF')
+  ,("izhitsacyrillic", '\x0475')
+  ,("izhitsadblgravecyrillic", '\x0477')
+  ,("j", '\x006A')
+  ,("jaarmenian", '\x0571')
+  ,("jabengali", '\x099C')
+  ,("jadeva", '\x091C')
+  ,("jagujarati", '\x0A9C')
+  ,("jagurmukhi", '\x0A1C')
+  ,("jbopomofo", '\x3110')
+  ,("jcaron", '\x01F0')
+  ,("jcircle", '\x24D9')
+  ,("jcircumflex", '\x0135')
+  ,("jcrossedtail", '\x029D')
+  ,("jdotlessstroke", '\x025F')
+  ,("jecyrillic", '\x0458')
+  ,("jeemarabic", '\x062C')
+  ,("jeemfinalarabic", '\xFE9E')
+  ,("jeeminitialarabic", '\xFE9F')
+  ,("jeemmedialarabic", '\xFEA0')
+  ,("jeharabic", '\x0698')
+  ,("jehfinalarabic", '\xFB8B')
+  ,("jhabengali", '\x099D')
+  ,("jhadeva", '\x091D')
+  ,("jhagujarati", '\x0A9D')
+  ,("jhagurmukhi", '\x0A1D')
+  ,("jheharmenian", '\x057B')
+  ,("jis", '\x3004')
+  ,("jmonospace", '\xFF4A')
+  ,("jparen", '\x24A5')
+  ,("jsuperior", '\x02B2')
+  ,("k", '\x006B')
+  ,("kabashkircyrillic", '\x04A1')
+  ,("kabengali", '\x0995')
+  ,("kacute", '\x1E31')
+  ,("kacyrillic", '\x043A')
+  ,("kadescendercyrillic", '\x049B')
+  ,("kadeva", '\x0915')
+  ,("kaf", '\x05DB')
+  ,("kafarabic", '\x0643')
+  ,("kafdagesh", '\xFB3B')
+  ,("kafdageshhebrew", '\xFB3B')
+  ,("kaffinalarabic", '\xFEDA')
+  ,("kafhebrew", '\x05DB')
+  ,("kafinitialarabic", '\xFEDB')
+  ,("kafmedialarabic", '\xFEDC')
+  ,("kafrafehebrew", '\xFB4D')
+  ,("kagujarati", '\x0A95')
+  ,("kagurmukhi", '\x0A15')
+  ,("kahiragana", '\x304B')
+  ,("kahookcyrillic", '\x04C4')
+  ,("kakatakana", '\x30AB')
+  ,("kakatakanahalfwidth", '\xFF76')
+  ,("kappa", '\x03BA')
+  ,("kappasymbolgreek", '\x03F0')
+  ,("kapyeounmieumkorean", '\x3171')
+  ,("kapyeounphieuphkorean", '\x3184')
+  ,("kapyeounpieupkorean", '\x3178')
+  ,("kapyeounssangpieupkorean", '\x3179')
+  ,("karoriisquare", '\x330D')
+  ,("kashidaautoarabic", '\x0640')
+  ,("kashidaautonosidebearingarabic", '\x0640')
+  ,("kasmallkatakana", '\x30F5')
+  ,("kasquare", '\x3384')
+  ,("kasraarabic", '\x0650')
+  ,("kasratanarabic", '\x064D')
+  ,("kastrokecyrillic", '\x049F')
+  ,("katahiraprolongmarkhalfwidth", '\xFF70')
+  ,("kaverticalstrokecyrillic", '\x049D')
+  ,("kbopomofo", '\x310E')
+  ,("kcalsquare", '\x3389')
+  ,("kcaron", '\x01E9')
+  ,("kcedilla", '\x0137')
+  ,("kcircle", '\x24DA')
+  ,("kcommaaccent", '\x0137')
+  ,("kdotbelow", '\x1E33')
+  ,("keharmenian", '\x0584')
+  ,("kehiragana", '\x3051')
+  ,("kekatakana", '\x30B1')
+  ,("kekatakanahalfwidth", '\xFF79')
+  ,("kenarmenian", '\x056F')
+  ,("kesmallkatakana", '\x30F6')
+  ,("kgreenlandic", '\x0138')
+  ,("khabengali", '\x0996')
+  ,("khacyrillic", '\x0445')
+  ,("khadeva", '\x0916')
+  ,("khagujarati", '\x0A96')
+  ,("khagurmukhi", '\x0A16')
+  ,("khaharabic", '\x062E')
+  ,("khahfinalarabic", '\xFEA6')
+  ,("khahinitialarabic", '\xFEA7')
+  ,("khahmedialarabic", '\xFEA8')
+  ,("kheicoptic", '\x03E7')
+  ,("khhadeva", '\x0959')
+  ,("khhagurmukhi", '\x0A59')
+  ,("khieukhacirclekorean", '\x3278')
+  ,("khieukhaparenkorean", '\x3218')
+  ,("khieukhcirclekorean", '\x326A')
+  ,("khieukhkorean", '\x314B')
+  ,("khieukhparenkorean", '\x320A')
+  ,("khokhaithai", '\x0E02')
+  ,("khokhonthai", '\x0E05')
+  ,("khokhuatthai", '\x0E03')
+  ,("khokhwaithai", '\x0E04')
+  ,("khomutthai", '\x0E5B')
+  ,("khook", '\x0199')
+  ,("khorakhangthai", '\x0E06')
+  ,("khzsquare", '\x3391')
+  ,("kihiragana", '\x304D')
+  ,("kikatakana", '\x30AD')
+  ,("kikatakanahalfwidth", '\xFF77')
+  ,("kiroguramusquare", '\x3315')
+  ,("kiromeetorusquare", '\x3316')
+  ,("kirosquare", '\x3314')
+  ,("kiyeokacirclekorean", '\x326E')
+  ,("kiyeokaparenkorean", '\x320E')
+  ,("kiyeokcirclekorean", '\x3260')
+  ,("kiyeokkorean", '\x3131')
+  ,("kiyeokparenkorean", '\x3200')
+  ,("kiyeoksioskorean", '\x3133')
+  ,("kjecyrillic", '\x045C')
+  ,("klinebelow", '\x1E35')
+  ,("klsquare", '\x3398')
+  ,("kmcubedsquare", '\x33A6')
+  ,("kmonospace", '\xFF4B')
+  ,("kmsquaredsquare", '\x33A2')
+  ,("kohiragana", '\x3053')
+  ,("kohmsquare", '\x33C0')
+  ,("kokaithai", '\x0E01')
+  ,("kokatakana", '\x30B3')
+  ,("kokatakanahalfwidth", '\xFF7A')
+  ,("kooposquare", '\x331E')
+  ,("koppacyrillic", '\x0481')
+  ,("koreanstandardsymbol", '\x327F')
+  ,("koroniscmb", '\x0343')
+  ,("kparen", '\x24A6')
+  ,("kpasquare", '\x33AA')
+  ,("ksicyrillic", '\x046F')
+  ,("ktsquare", '\x33CF')
+  ,("kturned", '\x029E')
+  ,("kuhiragana", '\x304F')
+  ,("kukatakana", '\x30AF')
+  ,("kukatakanahalfwidth", '\xFF78')
+  ,("kvsquare", '\x33B8')
+  ,("kwsquare", '\x33BE')
+  ,("l", '\x006C')
+  ,("labengali", '\x09B2')
+  ,("lacute", '\x013A')
+  ,("ladeva", '\x0932')
+  ,("lagujarati", '\x0AB2')
+  ,("lagurmukhi", '\x0A32')
+  ,("lakkhangyaothai", '\x0E45')
+  ,("lamaleffinalarabic", '\xFEFC')
+  ,("lamalefhamzaabovefinalarabic", '\xFEF8')
+  ,("lamalefhamzaaboveisolatedarabic", '\xFEF7')
+  ,("lamalefhamzabelowfinalarabic", '\xFEFA')
+  ,("lamalefhamzabelowisolatedarabic", '\xFEF9')
+  ,("lamalefisolatedarabic", '\xFEFB')
+  ,("lamalefmaddaabovefinalarabic", '\xFEF6')
+  ,("lamalefmaddaaboveisolatedarabic", '\xFEF5')
+  ,("lamarabic", '\x0644')
+  ,("lambda", '\x03BB')
+  ,("lambdastroke", '\x019B')
+  ,("lamed", '\x05DC')
+  ,("lameddagesh", '\xFB3C')
+  ,("lameddageshhebrew", '\xFB3C')
+  ,("lamedhebrew", '\x05DC')
+  ,("lamedholam", '\x05DC')
+  ,("lamedholamdagesh", '\x05DC')
+  ,("lamedholamdageshhebrew", '\x05DC')
+  ,("lamedholamhebrew", '\x05DC')
+  ,("lamfinalarabic", '\xFEDE')
+  ,("lamhahinitialarabic", '\xFCCA')
+  ,("laminitialarabic", '\xFEDF')
+  ,("lamjeeminitialarabic", '\xFCC9')
+  ,("lamkhahinitialarabic", '\xFCCB')
+  ,("lamlamhehisolatedarabic", '\xFDF2')
+  ,("lammedialarabic", '\xFEE0')
+  ,("lammeemhahinitialarabic", '\xFD88')
+  ,("lammeeminitialarabic", '\xFCCC')
+  ,("lammeemjeeminitialarabic", '\xFEDF')
+  ,("lammeemkhahinitialarabic", '\xFEDF')
+  ,("largecircle", '\x25EF')
+  ,("lbar", '\x019A')
+  ,("lbelt", '\x026C')
+  ,("lbopomofo", '\x310C')
+  ,("lcaron", '\x013E')
+  ,("lcedilla", '\x013C')
+  ,("lcircle", '\x24DB')
+  ,("lcircumflexbelow", '\x1E3D')
+  ,("lcommaaccent", '\x013C')
+  ,("ldot", '\x0140')
+  ,("ldotaccent", '\x0140')
+  ,("ldotbelow", '\x1E37')
+  ,("ldotbelowmacron", '\x1E39')
+  ,("leftangleabovecmb", '\x031A')
+  ,("lefttackbelowcmb", '\x0318')
+  ,("less", '\x003C')
+  ,("lessequal", '\x2264')
+  ,("lessequalorgreater", '\x22DA')
+  ,("lessmonospace", '\xFF1C')
+  ,("lessorequivalent", '\x2272')
+  ,("lessorgreater", '\x2276')
+  ,("lessoverequal", '\x2266')
+  ,("lesssmall", '\xFE64')
+  ,("lezh", '\x026E')
+  ,("lfblock", '\x258C')
+  ,("lhookretroflex", '\x026D')
+  ,("lira", '\x20A4')
+  ,("liwnarmenian", '\x056C')
+  ,("lj", '\x01C9')
+  ,("ljecyrillic", '\x0459')
+  ,("ll", '\xF6C0')
+  ,("lladeva", '\x0933')
+  ,("llagujarati", '\x0AB3')
+  ,("llinebelow", '\x1E3B')
+  ,("llladeva", '\x0934')
+  ,("llvocalicbengali", '\x09E1')
+  ,("llvocalicdeva", '\x0961')
+  ,("llvocalicvowelsignbengali", '\x09E3')
+  ,("llvocalicvowelsigndeva", '\x0963')
+  ,("lmiddletilde", '\x026B')
+  ,("lmonospace", '\xFF4C')
+  ,("lmsquare", '\x33D0')
+  ,("lochulathai", '\x0E2C')
+  ,("logicaland", '\x2227')
+  ,("logicalnot", '\x00AC')
+  ,("logicalnotreversed", '\x2310')
+  ,("logicalor", '\x2228')
+  ,("lolingthai", '\x0E25')
+  ,("longs", '\x017F')
+  ,("lowlinecenterline", '\xFE4E')
+  ,("lowlinecmb", '\x0332')
+  ,("lowlinedashed", '\xFE4D')
+  ,("lozenge", '\x25CA')
+  ,("lparen", '\x24A7')
+  ,("lslash", '\x0142')
+  ,("lsquare", '\x2113')
+  ,("lsuperior", '\xF6EE')
+  ,("ltshade", '\x2591')
+  ,("luthai", '\x0E26')
+  ,("lvocalicbengali", '\x098C')
+  ,("lvocalicdeva", '\x090C')
+  ,("lvocalicvowelsignbengali", '\x09E2')
+  ,("lvocalicvowelsigndeva", '\x0962')
+  ,("lxsquare", '\x33D3')
+  ,("m", '\x006D')
+  ,("mabengali", '\x09AE')
+  ,("macron", '\x00AF')
+  ,("macronbelowcmb", '\x0331')
+  ,("macroncmb", '\x0304')
+  ,("macronlowmod", '\x02CD')
+  ,("macronmonospace", '\xFFE3')
+  ,("macute", '\x1E3F')
+  ,("madeva", '\x092E')
+  ,("magujarati", '\x0AAE')
+  ,("magurmukhi", '\x0A2E')
+  ,("mahapakhhebrew", '\x05A4')
+  ,("mahapakhlefthebrew", '\x05A4')
+  ,("mahiragana", '\x307E')
+  ,("maichattawalowleftthai", '\xF895')
+  ,("maichattawalowrightthai", '\xF894')
+  ,("maichattawathai", '\x0E4B')
+  ,("maichattawaupperleftthai", '\xF893')
+  ,("maieklowleftthai", '\xF88C')
+  ,("maieklowrightthai", '\xF88B')
+  ,("maiekthai", '\x0E48')
+  ,("maiekupperleftthai", '\xF88A')
+  ,("maihanakatleftthai", '\xF884')
+  ,("maihanakatthai", '\x0E31')
+  ,("maitaikhuleftthai", '\xF889')
+  ,("maitaikhuthai", '\x0E47')
+  ,("maitholowleftthai", '\xF88F')
+  ,("maitholowrightthai", '\xF88E')
+  ,("maithothai", '\x0E49')
+  ,("maithoupperleftthai", '\xF88D')
+  ,("maitrilowleftthai", '\xF892')
+  ,("maitrilowrightthai", '\xF891')
+  ,("maitrithai", '\x0E4A')
+  ,("maitriupperleftthai", '\xF890')
+  ,("maiyamokthai", '\x0E46')
+  ,("makatakana", '\x30DE')
+  ,("makatakanahalfwidth", '\xFF8F')
+  ,("male", '\x2642')
+  ,("mansyonsquare", '\x3347')
+  ,("maqafhebrew", '\x05BE')
+  ,("mars", '\x2642')
+  ,("masoracirclehebrew", '\x05AF')
+  ,("masquare", '\x3383')
+  ,("mbopomofo", '\x3107')
+  ,("mbsquare", '\x33D4')
+  ,("mcircle", '\x24DC')
+  ,("mcubedsquare", '\x33A5')
+  ,("mdotaccent", '\x1E41')
+  ,("mdotbelow", '\x1E43')
+  ,("meemarabic", '\x0645')
+  ,("meemfinalarabic", '\xFEE2')
+  ,("meeminitialarabic", '\xFEE3')
+  ,("meemmedialarabic", '\xFEE4')
+  ,("meemmeeminitialarabic", '\xFCD1')
+  ,("meemmeemisolatedarabic", '\xFC48')
+  ,("meetorusquare", '\x334D')
+  ,("mehiragana", '\x3081')
+  ,("meizierasquare", '\x337E')
+  ,("mekatakana", '\x30E1')
+  ,("mekatakanahalfwidth", '\xFF92')
+  ,("mem", '\x05DE')
+  ,("memdagesh", '\xFB3E')
+  ,("memdageshhebrew", '\xFB3E')
+  ,("memhebrew", '\x05DE')
+  ,("menarmenian", '\x0574')
+  ,("merkhahebrew", '\x05A5')
+  ,("merkhakefulahebrew", '\x05A6')
+  ,("merkhakefulalefthebrew", '\x05A6')
+  ,("merkhalefthebrew", '\x05A5')
+  ,("mhook", '\x0271')
+  ,("mhzsquare", '\x3392')
+  ,("middledotkatakanahalfwidth", '\xFF65')
+  ,("middot", '\x00B7')
+  ,("mieumacirclekorean", '\x3272')
+  ,("mieumaparenkorean", '\x3212')
+  ,("mieumcirclekorean", '\x3264')
+  ,("mieumkorean", '\x3141')
+  ,("mieumpansioskorean", '\x3170')
+  ,("mieumparenkorean", '\x3204')
+  ,("mieumpieupkorean", '\x316E')
+  ,("mieumsioskorean", '\x316F')
+  ,("mihiragana", '\x307F')
+  ,("mikatakana", '\x30DF')
+  ,("mikatakanahalfwidth", '\xFF90')
+  ,("minus", '\x2212')
+  ,("minusbelowcmb", '\x0320')
+  ,("minuscircle", '\x2296')
+  ,("minusmod", '\x02D7')
+  ,("minusplus", '\x2213')
+  ,("minute", '\x2032')
+  ,("miribaarusquare", '\x334A')
+  ,("mirisquare", '\x3349')
+  ,("mlonglegturned", '\x0270')
+  ,("mlsquare", '\x3396')
+  ,("mmcubedsquare", '\x33A3')
+  ,("mmonospace", '\xFF4D')
+  ,("mmsquaredsquare", '\x339F')
+  ,("mohiragana", '\x3082')
+  ,("mohmsquare", '\x33C1')
+  ,("mokatakana", '\x30E2')
+  ,("mokatakanahalfwidth", '\xFF93')
+  ,("molsquare", '\x33D6')
+  ,("momathai", '\x0E21')
+  ,("moverssquare", '\x33A7')
+  ,("moverssquaredsquare", '\x33A8')
+  ,("mparen", '\x24A8')
+  ,("mpasquare", '\x33AB')
+  ,("mssquare", '\x33B3')
+  ,("msuperior", '\xF6EF')
+  ,("mturned", '\x026F')
+  ,("mu", '\x00B5')
+  ,("mu1", '\x00B5')
+  ,("muasquare", '\x3382')
+  ,("muchgreater", '\x226B')
+  ,("muchless", '\x226A')
+  ,("mufsquare", '\x338C')
+  ,("mugreek", '\x03BC')
+  ,("mugsquare", '\x338D')
+  ,("muhiragana", '\x3080')
+  ,("mukatakana", '\x30E0')
+  ,("mukatakanahalfwidth", '\xFF91')
+  ,("mulsquare", '\x3395')
+  ,("multiply", '\x00D7')
+  ,("mumsquare", '\x339B')
+  ,("munahhebrew", '\x05A3')
+  ,("munahlefthebrew", '\x05A3')
+  ,("musicalnote", '\x266A')
+  ,("musicalnotedbl", '\x266B')
+  ,("musicflatsign", '\x266D')
+  ,("musicsharpsign", '\x266F')
+  ,("mussquare", '\x33B2')
+  ,("muvsquare", '\x33B6')
+  ,("muwsquare", '\x33BC')
+  ,("mvmegasquare", '\x33B9')
+  ,("mvsquare", '\x33B7')
+  ,("mwmegasquare", '\x33BF')
+  ,("mwsquare", '\x33BD')
+  ,("n", '\x006E')
+  ,("nabengali", '\x09A8')
+  ,("nabla", '\x2207')
+  ,("nacute", '\x0144')
+  ,("nadeva", '\x0928')
+  ,("nagujarati", '\x0AA8')
+  ,("nagurmukhi", '\x0A28')
+  ,("nahiragana", '\x306A')
+  ,("nakatakana", '\x30CA')
+  ,("nakatakanahalfwidth", '\xFF85')
+  ,("napostrophe", '\x0149')
+  ,("nasquare", '\x3381')
+  ,("nbopomofo", '\x310B')
+  ,("nbspace", '\x00A0')
+  ,("ncaron", '\x0148')
+  ,("ncedilla", '\x0146')
+  ,("ncircle", '\x24DD')
+  ,("ncircumflexbelow", '\x1E4B')
+  ,("ncommaaccent", '\x0146')
+  ,("ndotaccent", '\x1E45')
+  ,("ndotbelow", '\x1E47')
+  ,("nehiragana", '\x306D')
+  ,("nekatakana", '\x30CD')
+  ,("nekatakanahalfwidth", '\xFF88')
+  ,("newsheqelsign", '\x20AA')
+  ,("nfsquare", '\x338B')
+  ,("ngabengali", '\x0999')
+  ,("ngadeva", '\x0919')
+  ,("ngagujarati", '\x0A99')
+  ,("ngagurmukhi", '\x0A19')
+  ,("ngonguthai", '\x0E07')
+  ,("nhiragana", '\x3093')
+  ,("nhookleft", '\x0272')
+  ,("nhookretroflex", '\x0273')
+  ,("nieunacirclekorean", '\x326F')
+  ,("nieunaparenkorean", '\x320F')
+  ,("nieuncieuckorean", '\x3135')
+  ,("nieuncirclekorean", '\x3261')
+  ,("nieunhieuhkorean", '\x3136')
+  ,("nieunkorean", '\x3134')
+  ,("nieunpansioskorean", '\x3168')
+  ,("nieunparenkorean", '\x3201')
+  ,("nieunsioskorean", '\x3167')
+  ,("nieuntikeutkorean", '\x3166')
+  ,("nihiragana", '\x306B')
+  ,("nikatakana", '\x30CB')
+  ,("nikatakanahalfwidth", '\xFF86')
+  ,("nikhahitleftthai", '\xF899')
+  ,("nikhahitthai", '\x0E4D')
+  ,("nine", '\x0039')
+  ,("ninearabic", '\x0669')
+  ,("ninebengali", '\x09EF')
+  ,("ninecircle", '\x2468')
+  ,("ninecircleinversesansserif", '\x2792')
+  ,("ninedeva", '\x096F')
+  ,("ninegujarati", '\x0AEF')
+  ,("ninegurmukhi", '\x0A6F')
+  ,("ninehackarabic", '\x0669')
+  ,("ninehangzhou", '\x3029')
+  ,("nineideographicparen", '\x3228')
+  ,("nineinferior", '\x2089')
+  ,("ninemonospace", '\xFF19')
+  ,("nineoldstyle", '\xF739')
+  ,("nineparen", '\x247C')
+  ,("nineperiod", '\x2490')
+  ,("ninepersian", '\x06F9')
+  ,("nineroman", '\x2178')
+  ,("ninesuperior", '\x2079')
+  ,("nineteencircle", '\x2472')
+  ,("nineteenparen", '\x2486')
+  ,("nineteenperiod", '\x249A')
+  ,("ninethai", '\x0E59')
+  ,("nj", '\x01CC')
+  ,("njecyrillic", '\x045A')
+  ,("nkatakana", '\x30F3')
+  ,("nkatakanahalfwidth", '\xFF9D')
+  ,("nlegrightlong", '\x019E')
+  ,("nlinebelow", '\x1E49')
+  ,("nmonospace", '\xFF4E')
+  ,("nmsquare", '\x339A')
+  ,("nnabengali", '\x09A3')
+  ,("nnadeva", '\x0923')
+  ,("nnagujarati", '\x0AA3')
+  ,("nnagurmukhi", '\x0A23')
+  ,("nnnadeva", '\x0929')
+  ,("nohiragana", '\x306E')
+  ,("nokatakana", '\x30CE')
+  ,("nokatakanahalfwidth", '\xFF89')
+  ,("nonbreakingspace", '\x00A0')
+  ,("nonenthai", '\x0E13')
+  ,("nonuthai", '\x0E19')
+  ,("noonarabic", '\x0646')
+  ,("noonfinalarabic", '\xFEE6')
+  ,("noonghunnaarabic", '\x06BA')
+  ,("noonghunnafinalarabic", '\xFB9F')
+  ,("noonhehinitialarabic", '\xFEE7')
+  ,("nooninitialarabic", '\xFEE7')
+  ,("noonjeeminitialarabic", '\xFCD2')
+  ,("noonjeemisolatedarabic", '\xFC4B')
+  ,("noonmedialarabic", '\xFEE8')
+  ,("noonmeeminitialarabic", '\xFCD5')
+  ,("noonmeemisolatedarabic", '\xFC4E')
+  ,("noonnoonfinalarabic", '\xFC8D')
+  ,("notcontains", '\x220C')
+  ,("notelement", '\x2209')
+  ,("notelementof", '\x2209')
+  ,("notequal", '\x2260')
+  ,("notgreater", '\x226F')
+  ,("notgreaternorequal", '\x2271')
+  ,("notgreaternorless", '\x2279')
+  ,("notidentical", '\x2262')
+  ,("notless", '\x226E')
+  ,("notlessnorequal", '\x2270')
+  ,("notparallel", '\x2226')
+  ,("notprecedes", '\x2280')
+  ,("notsubset", '\x2284')
+  ,("notsucceeds", '\x2281')
+  ,("notsuperset", '\x2285')
+  ,("nowarmenian", '\x0576')
+  ,("nparen", '\x24A9')
+  ,("nssquare", '\x33B1')
+  ,("nsuperior", '\x207F')
+  ,("ntilde", '\x00F1')
+  ,("nu", '\x03BD')
+  ,("nuhiragana", '\x306C')
+  ,("nukatakana", '\x30CC')
+  ,("nukatakanahalfwidth", '\xFF87')
+  ,("nuktabengali", '\x09BC')
+  ,("nuktadeva", '\x093C')
+  ,("nuktagujarati", '\x0ABC')
+  ,("nuktagurmukhi", '\x0A3C')
+  ,("numbersign", '\x0023')
+  ,("numbersignmonospace", '\xFF03')
+  ,("numbersignsmall", '\xFE5F')
+  ,("numeralsigngreek", '\x0374')
+  ,("numeralsignlowergreek", '\x0375')
+  ,("numero", '\x2116')
+  ,("nun", '\x05E0')
+  ,("nundagesh", '\xFB40')
+  ,("nundageshhebrew", '\xFB40')
+  ,("nunhebrew", '\x05E0')
+  ,("nvsquare", '\x33B5')
+  ,("nwsquare", '\x33BB')
+  ,("nyabengali", '\x099E')
+  ,("nyadeva", '\x091E')
+  ,("nyagujarati", '\x0A9E')
+  ,("nyagurmukhi", '\x0A1E')
+  ,("o", '\x006F')
+  ,("oacute", '\x00F3')
+  ,("oangthai", '\x0E2D')
+  ,("obarred", '\x0275')
+  ,("obarredcyrillic", '\x04E9')
+  ,("obarreddieresiscyrillic", '\x04EB')
+  ,("obengali", '\x0993')
+  ,("obopomofo", '\x311B')
+  ,("obreve", '\x014F')
+  ,("ocandradeva", '\x0911')
+  ,("ocandragujarati", '\x0A91')
+  ,("ocandravowelsigndeva", '\x0949')
+  ,("ocandravowelsigngujarati", '\x0AC9')
+  ,("ocaron", '\x01D2')
+  ,("ocircle", '\x24DE')
+  ,("ocircumflex", '\x00F4')
+  ,("ocircumflexacute", '\x1ED1')
+  ,("ocircumflexdotbelow", '\x1ED9')
+  ,("ocircumflexgrave", '\x1ED3')
+  ,("ocircumflexhookabove", '\x1ED5')
+  ,("ocircumflextilde", '\x1ED7')
+  ,("ocyrillic", '\x043E')
+  ,("odblacute", '\x0151')
+  ,("odblgrave", '\x020D')
+  ,("odeva", '\x0913')
+  ,("odieresis", '\x00F6')
+  ,("odieresiscyrillic", '\x04E7')
+  ,("odotbelow", '\x1ECD')
+  ,("oe", '\x0153')
+  ,("oekorean", '\x315A')
+  ,("ogonek", '\x02DB')
+  ,("ogonekcmb", '\x0328')
+  ,("ograve", '\x00F2')
+  ,("ogujarati", '\x0A93')
+  ,("oharmenian", '\x0585')
+  ,("ohiragana", '\x304A')
+  ,("ohookabove", '\x1ECF')
+  ,("ohorn", '\x01A1')
+  ,("ohornacute", '\x1EDB')
+  ,("ohorndotbelow", '\x1EE3')
+  ,("ohorngrave", '\x1EDD')
+  ,("ohornhookabove", '\x1EDF')
+  ,("ohorntilde", '\x1EE1')
+  ,("ohungarumlaut", '\x0151')
+  ,("oi", '\x01A3')
+  ,("oinvertedbreve", '\x020F')
+  ,("okatakana", '\x30AA')
+  ,("okatakanahalfwidth", '\xFF75')
+  ,("okorean", '\x3157')
+  ,("olehebrew", '\x05AB')
+  ,("omacron", '\x014D')
+  ,("omacronacute", '\x1E53')
+  ,("omacrongrave", '\x1E51')
+  ,("omdeva", '\x0950')
+  ,("omega", '\x03C9')
+  ,("omega1", '\x03D6')
+  ,("omegacyrillic", '\x0461')
+  ,("omegalatinclosed", '\x0277')
+  ,("omegaroundcyrillic", '\x047B')
+  ,("omegatitlocyrillic", '\x047D')
+  ,("omegatonos", '\x03CE')
+  ,("omgujarati", '\x0AD0')
+  ,("omicron", '\x03BF')
+  ,("omicrontonos", '\x03CC')
+  ,("omonospace", '\xFF4F')
+  ,("one", '\x0031')
+  ,("onearabic", '\x0661')
+  ,("onebengali", '\x09E7')
+  ,("onecircle", '\x2460')
+  ,("onecircleinversesansserif", '\x278A')
+  ,("onedeva", '\x0967')
+  ,("onedotenleader", '\x2024')
+  ,("oneeighth", '\x215B')
+  ,("onefitted", '\xF6DC')
+  ,("onegujarati", '\x0AE7')
+  ,("onegurmukhi", '\x0A67')
+  ,("onehackarabic", '\x0661')
+  ,("onehalf", '\x00BD')
+  ,("onehangzhou", '\x3021')
+  ,("oneideographicparen", '\x3220')
+  ,("oneinferior", '\x2081')
+  ,("onemonospace", '\xFF11')
+  ,("onenumeratorbengali", '\x09F4')
+  ,("oneoldstyle", '\xF731')
+  ,("oneparen", '\x2474')
+  ,("oneperiod", '\x2488')
+  ,("onepersian", '\x06F1')
+  ,("onequarter", '\x00BC')
+  ,("oneroman", '\x2170')
+  ,("onesuperior", '\x00B9')
+  ,("onethai", '\x0E51')
+  ,("onethird", '\x2153')
+  ,("oogonek", '\x01EB')
+  ,("oogonekmacron", '\x01ED')
+  ,("oogurmukhi", '\x0A13')
+  ,("oomatragurmukhi", '\x0A4B')
+  ,("oopen", '\x0254')
+  ,("oparen", '\x24AA')
+  ,("openbullet", '\x25E6')
+  ,("option", '\x2325')
+  ,("ordfeminine", '\x00AA')
+  ,("ordmasculine", '\x00BA')
+  ,("orthogonal", '\x221F')
+  ,("oshortdeva", '\x0912')
+  ,("oshortvowelsigndeva", '\x094A')
+  ,("oslash", '\x00F8')
+  ,("oslashacute", '\x01FF')
+  ,("osmallhiragana", '\x3049')
+  ,("osmallkatakana", '\x30A9')
+  ,("osmallkatakanahalfwidth", '\xFF6B')
+  ,("ostrokeacute", '\x01FF')
+  ,("osuperior", '\xF6F0')
+  ,("otcyrillic", '\x047F')
+  ,("otilde", '\x00F5')
+  ,("otildeacute", '\x1E4D')
+  ,("otildedieresis", '\x1E4F')
+  ,("oubopomofo", '\x3121')
+  ,("overline", '\x203E')
+  ,("overlinecenterline", '\xFE4A')
+  ,("overlinecmb", '\x0305')
+  ,("overlinedashed", '\xFE49')
+  ,("overlinedblwavy", '\xFE4C')
+  ,("overlinewavy", '\xFE4B')
+  ,("overscore", '\x00AF')
+  ,("ovowelsignbengali", '\x09CB')
+  ,("ovowelsigndeva", '\x094B')
+  ,("ovowelsigngujarati", '\x0ACB')
+  ,("p", '\x0070')
+  ,("paampssquare", '\x3380')
+  ,("paasentosquare", '\x332B')
+  ,("pabengali", '\x09AA')
+  ,("pacute", '\x1E55')
+  ,("padeva", '\x092A')
+  ,("pagedown", '\x21DF')
+  ,("pageup", '\x21DE')
+  ,("pagujarati", '\x0AAA')
+  ,("pagurmukhi", '\x0A2A')
+  ,("pahiragana", '\x3071')
+  ,("paiyannoithai", '\x0E2F')
+  ,("pakatakana", '\x30D1')
+  ,("palatalizationcyrilliccmb", '\x0484')
+  ,("palochkacyrillic", '\x04C0')
+  ,("pansioskorean", '\x317F')
+  ,("paragraph", '\x00B6')
+  ,("parallel", '\x2225')
+  ,("parenleft", '\x0028')
+  ,("parenleftaltonearabic", '\xFD3E')
+  ,("parenleftbt", '\xF8ED')
+  ,("parenleftex", '\xF8EC')
+  ,("parenleftinferior", '\x208D')
+  ,("parenleftmonospace", '\xFF08')
+  ,("parenleftsmall", '\xFE59')
+  ,("parenleftsuperior", '\x207D')
+  ,("parenlefttp", '\xF8EB')
+  ,("parenleftvertical", '\xFE35')
+  ,("parenright", '\x0029')
+  ,("parenrightaltonearabic", '\xFD3F')
+  ,("parenrightbt", '\xF8F8')
+  ,("parenrightex", '\xF8F7')
+  ,("parenrightinferior", '\x208E')
+  ,("parenrightmonospace", '\xFF09')
+  ,("parenrightsmall", '\xFE5A')
+  ,("parenrightsuperior", '\x207E')
+  ,("parenrighttp", '\xF8F6')
+  ,("parenrightvertical", '\xFE36')
+  ,("partialdiff", '\x2202')
+  ,("paseqhebrew", '\x05C0')
+  ,("pashtahebrew", '\x0599')
+  ,("pasquare", '\x33A9')
+  ,("patah", '\x05B7')
+  ,("patah11", '\x05B7')
+  ,("patah1d", '\x05B7')
+  ,("patah2a", '\x05B7')
+  ,("patahhebrew", '\x05B7')
+  ,("patahnarrowhebrew", '\x05B7')
+  ,("patahquarterhebrew", '\x05B7')
+  ,("patahwidehebrew", '\x05B7')
+  ,("pazerhebrew", '\x05A1')
+  ,("pbopomofo", '\x3106')
+  ,("pcircle", '\x24DF')
+  ,("pdotaccent", '\x1E57')
+  ,("pe", '\x05E4')
+  ,("pecyrillic", '\x043F')
+  ,("pedagesh", '\xFB44')
+  ,("pedageshhebrew", '\xFB44')
+  ,("peezisquare", '\x333B')
+  ,("pefinaldageshhebrew", '\xFB43')
+  ,("peharabic", '\x067E')
+  ,("peharmenian", '\x057A')
+  ,("pehebrew", '\x05E4')
+  ,("pehfinalarabic", '\xFB57')
+  ,("pehinitialarabic", '\xFB58')
+  ,("pehiragana", '\x307A')
+  ,("pehmedialarabic", '\xFB59')
+  ,("pekatakana", '\x30DA')
+  ,("pemiddlehookcyrillic", '\x04A7')
+  ,("perafehebrew", '\xFB4E')
+  ,("percent", '\x0025')
+  ,("percentarabic", '\x066A')
+  ,("percentmonospace", '\xFF05')
+  ,("percentsmall", '\xFE6A')
+  ,("period", '\x002E')
+  ,("periodarmenian", '\x0589')
+  ,("periodcentered", '\x00B7')
+  ,("periodhalfwidth", '\xFF61')
+  ,("periodinferior", '\xF6E7')
+  ,("periodmonospace", '\xFF0E')
+  ,("periodsmall", '\xFE52')
+  ,("periodsuperior", '\xF6E8')
+  ,("perispomenigreekcmb", '\x0342')
+  ,("perpendicular", '\x22A5')
+  ,("perthousand", '\x2030')
+  ,("peseta", '\x20A7')
+  ,("pfsquare", '\x338A')
+  ,("phabengali", '\x09AB')
+  ,("phadeva", '\x092B')
+  ,("phagujarati", '\x0AAB')
+  ,("phagurmukhi", '\x0A2B')
+  ,("phi", '\x03C6')
+  ,("phi1", '\x03D5')
+  ,("phieuphacirclekorean", '\x327A')
+  ,("phieuphaparenkorean", '\x321A')
+  ,("phieuphcirclekorean", '\x326C')
+  ,("phieuphkorean", '\x314D')
+  ,("phieuphparenkorean", '\x320C')
+  ,("philatin", '\x0278')
+  ,("phinthuthai", '\x0E3A')
+  ,("phisymbolgreek", '\x03D5')
+  ,("phook", '\x01A5')
+  ,("phophanthai", '\x0E1E')
+  ,("phophungthai", '\x0E1C')
+  ,("phosamphaothai", '\x0E20')
+  ,("pi", '\x03C0')
+  ,("pieupacirclekorean", '\x3273')
+  ,("pieupaparenkorean", '\x3213')
+  ,("pieupcieuckorean", '\x3176')
+  ,("pieupcirclekorean", '\x3265')
+  ,("pieupkiyeokkorean", '\x3172')
+  ,("pieupkorean", '\x3142')
+  ,("pieupparenkorean", '\x3205')
+  ,("pieupsioskiyeokkorean", '\x3174')
+  ,("pieupsioskorean", '\x3144')
+  ,("pieupsiostikeutkorean", '\x3175')
+  ,("pieupthieuthkorean", '\x3177')
+  ,("pieuptikeutkorean", '\x3173')
+  ,("pihiragana", '\x3074')
+  ,("pikatakana", '\x30D4')
+  ,("pisymbolgreek", '\x03D6')
+  ,("piwrarmenian", '\x0583')
+  ,("plus", '\x002B')
+  ,("plusbelowcmb", '\x031F')
+  ,("pluscircle", '\x2295')
+  ,("plusminus", '\x00B1')
+  ,("plusmod", '\x02D6')
+  ,("plusmonospace", '\xFF0B')
+  ,("plussmall", '\xFE62')
+  ,("plussuperior", '\x207A')
+  ,("pmonospace", '\xFF50')
+  ,("pmsquare", '\x33D8')
+  ,("pohiragana", '\x307D')
+  ,("pointingindexdownwhite", '\x261F')
+  ,("pointingindexleftwhite", '\x261C')
+  ,("pointingindexrightwhite", '\x261E')
+  ,("pointingindexupwhite", '\x261D')
+  ,("pokatakana", '\x30DD')
+  ,("poplathai", '\x0E1B')
+  ,("postalmark", '\x3012')
+  ,("postalmarkface", '\x3020')
+  ,("pparen", '\x24AB')
+  ,("precedes", '\x227A')
+  ,("prescription", '\x211E')
+  ,("primemod", '\x02B9')
+  ,("primereversed", '\x2035')
+  ,("product", '\x220F')
+  ,("projective", '\x2305')
+  ,("prolongedkana", '\x30FC')
+  ,("propellor", '\x2318')
+  ,("propersubset", '\x2282')
+  ,("propersuperset", '\x2283')
+  ,("proportion", '\x2237')
+  ,("proportional", '\x221D')
+  ,("psi", '\x03C8')
+  ,("psicyrillic", '\x0471')
+  ,("psilipneumatacyrilliccmb", '\x0486')
+  ,("pssquare", '\x33B0')
+  ,("puhiragana", '\x3077')
+  ,("pukatakana", '\x30D7')
+  ,("pvsquare", '\x33B4')
+  ,("pwsquare", '\x33BA')
+  ,("q", '\x0071')
+  ,("qadeva", '\x0958')
+  ,("qadmahebrew", '\x05A8')
+  ,("qafarabic", '\x0642')
+  ,("qaffinalarabic", '\xFED6')
+  ,("qafinitialarabic", '\xFED7')
+  ,("qafmedialarabic", '\xFED8')
+  ,("qamats", '\x05B8')
+  ,("qamats10", '\x05B8')
+  ,("qamats1a", '\x05B8')
+  ,("qamats1c", '\x05B8')
+  ,("qamats27", '\x05B8')
+  ,("qamats29", '\x05B8')
+  ,("qamats33", '\x05B8')
+  ,("qamatsde", '\x05B8')
+  ,("qamatshebrew", '\x05B8')
+  ,("qamatsnarrowhebrew", '\x05B8')
+  ,("qamatsqatanhebrew", '\x05B8')
+  ,("qamatsqatannarrowhebrew", '\x05B8')
+  ,("qamatsqatanquarterhebrew", '\x05B8')
+  ,("qamatsqatanwidehebrew", '\x05B8')
+  ,("qamatsquarterhebrew", '\x05B8')
+  ,("qamatswidehebrew", '\x05B8')
+  ,("qarneyparahebrew", '\x059F')
+  ,("qbopomofo", '\x3111')
+  ,("qcircle", '\x24E0')
+  ,("qhook", '\x02A0')
+  ,("qmonospace", '\xFF51')
+  ,("qof", '\x05E7')
+  ,("qofdagesh", '\xFB47')
+  ,("qofdageshhebrew", '\xFB47')
+  ,("qofhatafpatah", '\x05E7')
+  ,("qofhatafpatahhebrew", '\x05E7')
+  ,("qofhatafsegol", '\x05E7')
+  ,("qofhatafsegolhebrew", '\x05E7')
+  ,("qofhebrew", '\x05E7')
+  ,("qofhiriq", '\x05E7')
+  ,("qofhiriqhebrew", '\x05E7')
+  ,("qofholam", '\x05E7')
+  ,("qofholamhebrew", '\x05E7')
+  ,("qofpatah", '\x05E7')
+  ,("qofpatahhebrew", '\x05E7')
+  ,("qofqamats", '\x05E7')
+  ,("qofqamatshebrew", '\x05E7')
+  ,("qofqubuts", '\x05E7')
+  ,("qofqubutshebrew", '\x05E7')
+  ,("qofsegol", '\x05E7')
+  ,("qofsegolhebrew", '\x05E7')
+  ,("qofsheva", '\x05E7')
+  ,("qofshevahebrew", '\x05E7')
+  ,("qoftsere", '\x05E7')
+  ,("qoftserehebrew", '\x05E7')
+  ,("qparen", '\x24AC')
+  ,("quarternote", '\x2669')
+  ,("qubuts", '\x05BB')
+  ,("qubuts18", '\x05BB')
+  ,("qubuts25", '\x05BB')
+  ,("qubuts31", '\x05BB')
+  ,("qubutshebrew", '\x05BB')
+  ,("qubutsnarrowhebrew", '\x05BB')
+  ,("qubutsquarterhebrew", '\x05BB')
+  ,("qubutswidehebrew", '\x05BB')
+  ,("question", '\x003F')
+  ,("questionarabic", '\x061F')
+  ,("questionarmenian", '\x055E')
+  ,("questiondown", '\x00BF')
+  ,("questiondownsmall", '\xF7BF')
+  ,("questiongreek", '\x037E')
+  ,("questionmonospace", '\xFF1F')
+  ,("questionsmall", '\xF73F')
+  ,("quotedbl", '\x0022')
+  ,("quotedblbase", '\x201E')
+  ,("quotedblleft", '\x201C')
+  ,("quotedblmonospace", '\xFF02')
+  ,("quotedblprime", '\x301E')
+  ,("quotedblprimereversed", '\x301D')
+  ,("quotedblright", '\x201D')
+  ,("quoteleft", '\x2018')
+  ,("quoteleftreversed", '\x201B')
+  ,("quotereversed", '\x201B')
+  ,("quoteright", '\x2019')
+  ,("quoterightn", '\x0149')
+  ,("quotesinglbase", '\x201A')
+  ,("quotesingle", '\x0027')
+  ,("quotesinglemonospace", '\xFF07')
+  ,("r", '\x0072')
+  ,("raarmenian", '\x057C')
+  ,("rabengali", '\x09B0')
+  ,("racute", '\x0155')
+  ,("radeva", '\x0930')
+  ,("radical", '\x221A')
+  ,("radicalex", '\xF8E5')
+  ,("radoverssquare", '\x33AE')
+  ,("radoverssquaredsquare", '\x33AF')
+  ,("radsquare", '\x33AD')
+  ,("rafe", '\x05BF')
+  ,("rafehebrew", '\x05BF')
+  ,("ragujarati", '\x0AB0')
+  ,("ragurmukhi", '\x0A30')
+  ,("rahiragana", '\x3089')
+  ,("rakatakana", '\x30E9')
+  ,("rakatakanahalfwidth", '\xFF97')
+  ,("ralowerdiagonalbengali", '\x09F1')
+  ,("ramiddlediagonalbengali", '\x09F0')
+  ,("ramshorn", '\x0264')
+  ,("ratio", '\x2236')
+  ,("rbopomofo", '\x3116')
+  ,("rcaron", '\x0159')
+  ,("rcedilla", '\x0157')
+  ,("rcircle", '\x24E1')
+  ,("rcommaaccent", '\x0157')
+  ,("rdblgrave", '\x0211')
+  ,("rdotaccent", '\x1E59')
+  ,("rdotbelow", '\x1E5B')
+  ,("rdotbelowmacron", '\x1E5D')
+  ,("referencemark", '\x203B')
+  ,("reflexsubset", '\x2286')
+  ,("reflexsuperset", '\x2287')
+  ,("registered", '\x00AE')
+  ,("registersans", '\xF8E8')
+  ,("registerserif", '\xF6DA')
+  ,("reharabic", '\x0631')
+  ,("reharmenian", '\x0580')
+  ,("rehfinalarabic", '\xFEAE')
+  ,("rehiragana", '\x308C')
+  ,("rehyehaleflamarabic", '\x0631')
+  ,("rekatakana", '\x30EC')
+  ,("rekatakanahalfwidth", '\xFF9A')
+  ,("resh", '\x05E8')
+  ,("reshdageshhebrew", '\xFB48')
+  ,("reshhatafpatah", '\x05E8')
+  ,("reshhatafpatahhebrew", '\x05E8')
+  ,("reshhatafsegol", '\x05E8')
+  ,("reshhatafsegolhebrew", '\x05E8')
+  ,("reshhebrew", '\x05E8')
+  ,("reshhiriq", '\x05E8')
+  ,("reshhiriqhebrew", '\x05E8')
+  ,("reshholam", '\x05E8')
+  ,("reshholamhebrew", '\x05E8')
+  ,("reshpatah", '\x05E8')
+  ,("reshpatahhebrew", '\x05E8')
+  ,("reshqamats", '\x05E8')
+  ,("reshqamatshebrew", '\x05E8')
+  ,("reshqubuts", '\x05E8')
+  ,("reshqubutshebrew", '\x05E8')
+  ,("reshsegol", '\x05E8')
+  ,("reshsegolhebrew", '\x05E8')
+  ,("reshsheva", '\x05E8')
+  ,("reshshevahebrew", '\x05E8')
+  ,("reshtsere", '\x05E8')
+  ,("reshtserehebrew", '\x05E8')
+  ,("reversedtilde", '\x223D')
+  ,("reviahebrew", '\x0597')
+  ,("reviamugrashhebrew", '\x0597')
+  ,("revlogicalnot", '\x2310')
+  ,("rfishhook", '\x027E')
+  ,("rfishhookreversed", '\x027F')
+  ,("rhabengali", '\x09DD')
+  ,("rhadeva", '\x095D')
+  ,("rho", '\x03C1')
+  ,("rhook", '\x027D')
+  ,("rhookturned", '\x027B')
+  ,("rhookturnedsuperior", '\x02B5')
+  ,("rhosymbolgreek", '\x03F1')
+  ,("rhotichookmod", '\x02DE')
+  ,("rieulacirclekorean", '\x3271')
+  ,("rieulaparenkorean", '\x3211')
+  ,("rieulcirclekorean", '\x3263')
+  ,("rieulhieuhkorean", '\x3140')
+  ,("rieulkiyeokkorean", '\x313A')
+  ,("rieulkiyeoksioskorean", '\x3169')
+  ,("rieulkorean", '\x3139')
+  ,("rieulmieumkorean", '\x313B')
+  ,("rieulpansioskorean", '\x316C')
+  ,("rieulparenkorean", '\x3203')
+  ,("rieulphieuphkorean", '\x313F')
+  ,("rieulpieupkorean", '\x313C')
+  ,("rieulpieupsioskorean", '\x316B')
+  ,("rieulsioskorean", '\x313D')
+  ,("rieulthieuthkorean", '\x313E')
+  ,("rieultikeutkorean", '\x316A')
+  ,("rieulyeorinhieuhkorean", '\x316D')
+  ,("rightangle", '\x221F')
+  ,("righttackbelowcmb", '\x0319')
+  ,("righttriangle", '\x22BF')
+  ,("rihiragana", '\x308A')
+  ,("rikatakana", '\x30EA')
+  ,("rikatakanahalfwidth", '\xFF98')
+  ,("ring", '\x02DA')
+  ,("ringbelowcmb", '\x0325')
+  ,("ringcmb", '\x030A')
+  ,("ringhalfleft", '\x02BF')
+  ,("ringhalfleftarmenian", '\x0559')
+  ,("ringhalfleftbelowcmb", '\x031C')
+  ,("ringhalfleftcentered", '\x02D3')
+  ,("ringhalfright", '\x02BE')
+  ,("ringhalfrightbelowcmb", '\x0339')
+  ,("ringhalfrightcentered", '\x02D2')
+  ,("rinvertedbreve", '\x0213')
+  ,("rittorusquare", '\x3351')
+  ,("rlinebelow", '\x1E5F')
+  ,("rlongleg", '\x027C')
+  ,("rlonglegturned", '\x027A')
+  ,("rmonospace", '\xFF52')
+  ,("rohiragana", '\x308D')
+  ,("rokatakana", '\x30ED')
+  ,("rokatakanahalfwidth", '\xFF9B')
+  ,("roruathai", '\x0E23')
+  ,("rparen", '\x24AD')
+  ,("rrabengali", '\x09DC')
+  ,("rradeva", '\x0931')
+  ,("rragurmukhi", '\x0A5C')
+  ,("rreharabic", '\x0691')
+  ,("rrehfinalarabic", '\xFB8D')
+  ,("rrvocalicbengali", '\x09E0')
+  ,("rrvocalicdeva", '\x0960')
+  ,("rrvocalicgujarati", '\x0AE0')
+  ,("rrvocalicvowelsignbengali", '\x09C4')
+  ,("rrvocalicvowelsigndeva", '\x0944')
+  ,("rrvocalicvowelsigngujarati", '\x0AC4')
+  ,("rsuperior", '\xF6F1')
+  ,("rtblock", '\x2590')
+  ,("rturned", '\x0279')
+  ,("rturnedsuperior", '\x02B4')
+  ,("ruhiragana", '\x308B')
+  ,("rukatakana", '\x30EB')
+  ,("rukatakanahalfwidth", '\xFF99')
+  ,("rupeemarkbengali", '\x09F2')
+  ,("rupeesignbengali", '\x09F3')
+  ,("rupiah", '\xF6DD')
+  ,("ruthai", '\x0E24')
+  ,("rvocalicbengali", '\x098B')
+  ,("rvocalicdeva", '\x090B')
+  ,("rvocalicgujarati", '\x0A8B')
+  ,("rvocalicvowelsignbengali", '\x09C3')
+  ,("rvocalicvowelsigndeva", '\x0943')
+  ,("rvocalicvowelsigngujarati", '\x0AC3')
+  ,("s", '\x0073')
+  ,("sabengali", '\x09B8')
+  ,("sacute", '\x015B')
+  ,("sacutedotaccent", '\x1E65')
+  ,("sadarabic", '\x0635')
+  ,("sadeva", '\x0938')
+  ,("sadfinalarabic", '\xFEBA')
+  ,("sadinitialarabic", '\xFEBB')
+  ,("sadmedialarabic", '\xFEBC')
+  ,("sagujarati", '\x0AB8')
+  ,("sagurmukhi", '\x0A38')
+  ,("sahiragana", '\x3055')
+  ,("sakatakana", '\x30B5')
+  ,("sakatakanahalfwidth", '\xFF7B')
+  ,("sallallahoualayhewasallamarabic", '\xFDFA')
+  ,("samekh", '\x05E1')
+  ,("samekhdagesh", '\xFB41')
+  ,("samekhdageshhebrew", '\xFB41')
+  ,("samekhhebrew", '\x05E1')
+  ,("saraaathai", '\x0E32')
+  ,("saraaethai", '\x0E41')
+  ,("saraaimaimalaithai", '\x0E44')
+  ,("saraaimaimuanthai", '\x0E43')
+  ,("saraamthai", '\x0E33')
+  ,("saraathai", '\x0E30')
+  ,("saraethai", '\x0E40')
+  ,("saraiileftthai", '\xF886')
+  ,("saraiithai", '\x0E35')
+  ,("saraileftthai", '\xF885')
+  ,("saraithai", '\x0E34')
+  ,("saraothai", '\x0E42')
+  ,("saraueeleftthai", '\xF888')
+  ,("saraueethai", '\x0E37')
+  ,("saraueleftthai", '\xF887')
+  ,("sarauethai", '\x0E36')
+  ,("sarauthai", '\x0E38')
+  ,("sarauuthai", '\x0E39')
+  ,("sbopomofo", '\x3119')
+  ,("scaron", '\x0161')
+  ,("scarondotaccent", '\x1E67')
+  ,("scedilla", '\x015F')
+  ,("schwa", '\x0259')
+  ,("schwacyrillic", '\x04D9')
+  ,("schwadieresiscyrillic", '\x04DB')
+  ,("schwahook", '\x025A')
+  ,("scircle", '\x24E2')
+  ,("scircumflex", '\x015D')
+  ,("scommaaccent", '\x0219')
+  ,("sdotaccent", '\x1E61')
+  ,("sdotbelow", '\x1E63')
+  ,("sdotbelowdotaccent", '\x1E69')
+  ,("seagullbelowcmb", '\x033C')
+  ,("second", '\x2033')
+  ,("secondtonechinese", '\x02CA')
+  ,("section", '\x00A7')
+  ,("seenarabic", '\x0633')
+  ,("seenfinalarabic", '\xFEB2')
+  ,("seeninitialarabic", '\xFEB3')
+  ,("seenmedialarabic", '\xFEB4')
+  ,("segol", '\x05B6')
+  ,("segol13", '\x05B6')
+  ,("segol1f", '\x05B6')
+  ,("segol2c", '\x05B6')
+  ,("segolhebrew", '\x05B6')
+  ,("segolnarrowhebrew", '\x05B6')
+  ,("segolquarterhebrew", '\x05B6')
+  ,("segoltahebrew", '\x0592')
+  ,("segolwidehebrew", '\x05B6')
+  ,("seharmenian", '\x057D')
+  ,("sehiragana", '\x305B')
+  ,("sekatakana", '\x30BB')
+  ,("sekatakanahalfwidth", '\xFF7E')
+  ,("semicolon", '\x003B')
+  ,("semicolonarabic", '\x061B')
+  ,("semicolonmonospace", '\xFF1B')
+  ,("semicolonsmall", '\xFE54')
+  ,("semivoicedmarkkana", '\x309C')
+  ,("semivoicedmarkkanahalfwidth", '\xFF9F')
+  ,("sentisquare", '\x3322')
+  ,("sentosquare", '\x3323')
+  ,("seven", '\x0037')
+  ,("sevenarabic", '\x0667')
+  ,("sevenbengali", '\x09ED')
+  ,("sevencircle", '\x2466')
+  ,("sevencircleinversesansserif", '\x2790')
+  ,("sevendeva", '\x096D')
+  ,("seveneighths", '\x215E')
+  ,("sevengujarati", '\x0AED')
+  ,("sevengurmukhi", '\x0A6D')
+  ,("sevenhackarabic", '\x0667')
+  ,("sevenhangzhou", '\x3027')
+  ,("sevenideographicparen", '\x3226')
+  ,("seveninferior", '\x2087')
+  ,("sevenmonospace", '\xFF17')
+  ,("sevenoldstyle", '\xF737')
+  ,("sevenparen", '\x247A')
+  ,("sevenperiod", '\x248E')
+  ,("sevenpersian", '\x06F7')
+  ,("sevenroman", '\x2176')
+  ,("sevensuperior", '\x2077')
+  ,("seventeencircle", '\x2470')
+  ,("seventeenparen", '\x2484')
+  ,("seventeenperiod", '\x2498')
+  ,("seventhai", '\x0E57')
+  ,("sfthyphen", '\x00AD')
+  ,("shaarmenian", '\x0577')
+  ,("shabengali", '\x09B6')
+  ,("shacyrillic", '\x0448')
+  ,("shaddaarabic", '\x0651')
+  ,("shaddadammaarabic", '\xFC61')
+  ,("shaddadammatanarabic", '\xFC5E')
+  ,("shaddafathaarabic", '\xFC60')
+  ,("shaddafathatanarabic", '\x0651')
+  ,("shaddakasraarabic", '\xFC62')
+  ,("shaddakasratanarabic", '\xFC5F')
+  ,("shade", '\x2592')
+  ,("shadedark", '\x2593')
+  ,("shadelight", '\x2591')
+  ,("shademedium", '\x2592')
+  ,("shadeva", '\x0936')
+  ,("shagujarati", '\x0AB6')
+  ,("shagurmukhi", '\x0A36')
+  ,("shalshelethebrew", '\x0593')
+  ,("shbopomofo", '\x3115')
+  ,("shchacyrillic", '\x0449')
+  ,("sheenarabic", '\x0634')
+  ,("sheenfinalarabic", '\xFEB6')
+  ,("sheeninitialarabic", '\xFEB7')
+  ,("sheenmedialarabic", '\xFEB8')
+  ,("sheicoptic", '\x03E3')
+  ,("sheqel", '\x20AA')
+  ,("sheqelhebrew", '\x20AA')
+  ,("sheva", '\x05B0')
+  ,("sheva115", '\x05B0')
+  ,("sheva15", '\x05B0')
+  ,("sheva22", '\x05B0')
+  ,("sheva2e", '\x05B0')
+  ,("shevahebrew", '\x05B0')
+  ,("shevanarrowhebrew", '\x05B0')
+  ,("shevaquarterhebrew", '\x05B0')
+  ,("shevawidehebrew", '\x05B0')
+  ,("shhacyrillic", '\x04BB')
+  ,("shimacoptic", '\x03ED')
+  ,("shin", '\x05E9')
+  ,("shindagesh", '\xFB49')
+  ,("shindageshhebrew", '\xFB49')
+  ,("shindageshshindot", '\xFB2C')
+  ,("shindageshshindothebrew", '\xFB2C')
+  ,("shindageshsindot", '\xFB2D')
+  ,("shindageshsindothebrew", '\xFB2D')
+  ,("shindothebrew", '\x05C1')
+  ,("shinhebrew", '\x05E9')
+  ,("shinshindot", '\xFB2A')
+  ,("shinshindothebrew", '\xFB2A')
+  ,("shinsindot", '\xFB2B')
+  ,("shinsindothebrew", '\xFB2B')
+  ,("shook", '\x0282')
+  ,("sigma", '\x03C3')
+  ,("sigma1", '\x03C2')
+  ,("sigmafinal", '\x03C2')
+  ,("sigmalunatesymbolgreek", '\x03F2')
+  ,("sihiragana", '\x3057')
+  ,("sikatakana", '\x30B7')
+  ,("sikatakanahalfwidth", '\xFF7C')
+  ,("siluqhebrew", '\x05BD')
+  ,("siluqlefthebrew", '\x05BD')
+  ,("similar", '\x223C')
+  ,("sindothebrew", '\x05C2')
+  ,("siosacirclekorean", '\x3274')
+  ,("siosaparenkorean", '\x3214')
+  ,("sioscieuckorean", '\x317E')
+  ,("sioscirclekorean", '\x3266')
+  ,("sioskiyeokkorean", '\x317A')
+  ,("sioskorean", '\x3145')
+  ,("siosnieunkorean", '\x317B')
+  ,("siosparenkorean", '\x3206')
+  ,("siospieupkorean", '\x317D')
+  ,("siostikeutkorean", '\x317C')
+  ,("six", '\x0036')
+  ,("sixarabic", '\x0666')
+  ,("sixbengali", '\x09EC')
+  ,("sixcircle", '\x2465')
+  ,("sixcircleinversesansserif", '\x278F')
+  ,("sixdeva", '\x096C')
+  ,("sixgujarati", '\x0AEC')
+  ,("sixgurmukhi", '\x0A6C')
+  ,("sixhackarabic", '\x0666')
+  ,("sixhangzhou", '\x3026')
+  ,("sixideographicparen", '\x3225')
+  ,("sixinferior", '\x2086')
+  ,("sixmonospace", '\xFF16')
+  ,("sixoldstyle", '\xF736')
+  ,("sixparen", '\x2479')
+  ,("sixperiod", '\x248D')
+  ,("sixpersian", '\x06F6')
+  ,("sixroman", '\x2175')
+  ,("sixsuperior", '\x2076')
+  ,("sixteencircle", '\x246F')
+  ,("sixteencurrencydenominatorbengali", '\x09F9')
+  ,("sixteenparen", '\x2483')
+  ,("sixteenperiod", '\x2497')
+  ,("sixthai", '\x0E56')
+  ,("slash", '\x002F')
+  ,("slashmonospace", '\xFF0F')
+  ,("slong", '\x017F')
+  ,("slongdotaccent", '\x1E9B')
+  ,("smileface", '\x263A')
+  ,("smonospace", '\xFF53')
+  ,("sofpasuqhebrew", '\x05C3')
+  ,("softhyphen", '\x00AD')
+  ,("softsigncyrillic", '\x044C')
+  ,("sohiragana", '\x305D')
+  ,("sokatakana", '\x30BD')
+  ,("sokatakanahalfwidth", '\xFF7F')
+  ,("soliduslongoverlaycmb", '\x0338')
+  ,("solidusshortoverlaycmb", '\x0337')
+  ,("sorusithai", '\x0E29')
+  ,("sosalathai", '\x0E28')
+  ,("sosothai", '\x0E0B')
+  ,("sosuathai", '\x0E2A')
+  ,("space", '\x0020')
+  ,("spacehackarabic", '\x0020')
+  ,("spade", '\x2660')
+  ,("spadesuitblack", '\x2660')
+  ,("spadesuitwhite", '\x2664')
+  ,("sparen", '\x24AE')
+  ,("squarebelowcmb", '\x033B')
+  ,("squarecc", '\x33C4')
+  ,("squarecm", '\x339D')
+  ,("squarediagonalcrosshatchfill", '\x25A9')
+  ,("squarehorizontalfill", '\x25A4')
+  ,("squarekg", '\x338F')
+  ,("squarekm", '\x339E')
+  ,("squarekmcapital", '\x33CE')
+  ,("squareln", '\x33D1')
+  ,("squarelog", '\x33D2')
+  ,("squaremg", '\x338E')
+  ,("squaremil", '\x33D5')
+  ,("squaremm", '\x339C')
+  ,("squaremsquared", '\x33A1')
+  ,("squareorthogonalcrosshatchfill", '\x25A6')
+  ,("squareupperlefttolowerrightfill", '\x25A7')
+  ,("squareupperrighttolowerleftfill", '\x25A8')
+  ,("squareverticalfill", '\x25A5')
+  ,("squarewhitewithsmallblack", '\x25A3')
+  ,("srsquare", '\x33DB')
+  ,("ssabengali", '\x09B7')
+  ,("ssadeva", '\x0937')
+  ,("ssagujarati", '\x0AB7')
+  ,("ssangcieuckorean", '\x3149')
+  ,("ssanghieuhkorean", '\x3185')
+  ,("ssangieungkorean", '\x3180')
+  ,("ssangkiyeokkorean", '\x3132')
+  ,("ssangnieunkorean", '\x3165')
+  ,("ssangpieupkorean", '\x3143')
+  ,("ssangsioskorean", '\x3146')
+  ,("ssangtikeutkorean", '\x3138')
+  ,("ssuperior", '\xF6F2')
+  ,("sterling", '\x00A3')
+  ,("sterlingmonospace", '\xFFE1')
+  ,("strokelongoverlaycmb", '\x0336')
+  ,("strokeshortoverlaycmb", '\x0335')
+  ,("subset", '\x2282')
+  ,("subsetnotequal", '\x228A')
+  ,("subsetorequal", '\x2286')
+  ,("succeeds", '\x227B')
+  ,("suchthat", '\x220B')
+  ,("suhiragana", '\x3059')
+  ,("sukatakana", '\x30B9')
+  ,("sukatakanahalfwidth", '\xFF7D')
+  ,("sukunarabic", '\x0652')
+  ,("summation", '\x2211')
+  ,("sun", '\x263C')
+  ,("superset", '\x2283')
+  ,("supersetnotequal", '\x228B')
+  ,("supersetorequal", '\x2287')
+  ,("svsquare", '\x33DC')
+  ,("syouwaerasquare", '\x337C')
+  ,("t", '\x0074')
+  ,("tabengali", '\x09A4')
+  ,("tackdown", '\x22A4')
+  ,("tackleft", '\x22A3')
+  ,("tadeva", '\x0924')
+  ,("tagujarati", '\x0AA4')
+  ,("tagurmukhi", '\x0A24')
+  ,("taharabic", '\x0637')
+  ,("tahfinalarabic", '\xFEC2')
+  ,("tahinitialarabic", '\xFEC3')
+  ,("tahiragana", '\x305F')
+  ,("tahmedialarabic", '\xFEC4')
+  ,("taisyouerasquare", '\x337D')
+  ,("takatakana", '\x30BF')
+  ,("takatakanahalfwidth", '\xFF80')
+  ,("tatweelarabic", '\x0640')
+  ,("tau", '\x03C4')
+  ,("tav", '\x05EA')
+  ,("tavdages", '\xFB4A')
+  ,("tavdagesh", '\xFB4A')
+  ,("tavdageshhebrew", '\xFB4A')
+  ,("tavhebrew", '\x05EA')
+  ,("tbar", '\x0167')
+  ,("tbopomofo", '\x310A')
+  ,("tcaron", '\x0165')
+  ,("tccurl", '\x02A8')
+  ,("tcedilla", '\x0163')
+  ,("tcheharabic", '\x0686')
+  ,("tchehfinalarabic", '\xFB7B')
+  ,("tchehinitialarabic", '\xFB7C')
+  ,("tchehmedialarabic", '\xFB7D')
+  ,("tchehmeeminitialarabic", '\xFB7C')
+  ,("tcircle", '\x24E3')
+  ,("tcircumflexbelow", '\x1E71')
+  ,("tcommaaccent", '\x0163')
+  ,("tdieresis", '\x1E97')
+  ,("tdotaccent", '\x1E6B')
+  ,("tdotbelow", '\x1E6D')
+  ,("tecyrillic", '\x0442')
+  ,("tedescendercyrillic", '\x04AD')
+  ,("teharabic", '\x062A')
+  ,("tehfinalarabic", '\xFE96')
+  ,("tehhahinitialarabic", '\xFCA2')
+  ,("tehhahisolatedarabic", '\xFC0C')
+  ,("tehinitialarabic", '\xFE97')
+  ,("tehiragana", '\x3066')
+  ,("tehjeeminitialarabic", '\xFCA1')
+  ,("tehjeemisolatedarabic", '\xFC0B')
+  ,("tehmarbutaarabic", '\x0629')
+  ,("tehmarbutafinalarabic", '\xFE94')
+  ,("tehmedialarabic", '\xFE98')
+  ,("tehmeeminitialarabic", '\xFCA4')
+  ,("tehmeemisolatedarabic", '\xFC0E')
+  ,("tehnoonfinalarabic", '\xFC73')
+  ,("tekatakana", '\x30C6')
+  ,("tekatakanahalfwidth", '\xFF83')
+  ,("telephone", '\x2121')
+  ,("telephoneblack", '\x260E')
+  ,("telishagedolahebrew", '\x05A0')
+  ,("telishaqetanahebrew", '\x05A9')
+  ,("tencircle", '\x2469')
+  ,("tenideographicparen", '\x3229')
+  ,("tenparen", '\x247D')
+  ,("tenperiod", '\x2491')
+  ,("tenroman", '\x2179')
+  ,("tesh", '\x02A7')
+  ,("tet", '\x05D8')
+  ,("tetdagesh", '\xFB38')
+  ,("tetdageshhebrew", '\xFB38')
+  ,("tethebrew", '\x05D8')
+  ,("tetsecyrillic", '\x04B5')
+  ,("tevirhebrew", '\x059B')
+  ,("tevirlefthebrew", '\x059B')
+  ,("thabengali", '\x09A5')
+  ,("thadeva", '\x0925')
+  ,("thagujarati", '\x0AA5')
+  ,("thagurmukhi", '\x0A25')
+  ,("thalarabic", '\x0630')
+  ,("thalfinalarabic", '\xFEAC')
+  ,("thanthakhatlowleftthai", '\xF898')
+  ,("thanthakhatlowrightthai", '\xF897')
+  ,("thanthakhatthai", '\x0E4C')
+  ,("thanthakhatupperleftthai", '\xF896')
+  ,("theharabic", '\x062B')
+  ,("thehfinalarabic", '\xFE9A')
+  ,("thehinitialarabic", '\xFE9B')
+  ,("thehmedialarabic", '\xFE9C')
+  ,("thereexists", '\x2203')
+  ,("therefore", '\x2234')
+  ,("theta", '\x03B8')
+  ,("theta1", '\x03D1')
+  ,("thetasymbolgreek", '\x03D1')
+  ,("thieuthacirclekorean", '\x3279')
+  ,("thieuthaparenkorean", '\x3219')
+  ,("thieuthcirclekorean", '\x326B')
+  ,("thieuthkorean", '\x314C')
+  ,("thieuthparenkorean", '\x320B')
+  ,("thirteencircle", '\x246C')
+  ,("thirteenparen", '\x2480')
+  ,("thirteenperiod", '\x2494')
+  ,("thonangmonthothai", '\x0E11')
+  ,("thook", '\x01AD')
+  ,("thophuthaothai", '\x0E12')
+  ,("thorn", '\x00FE')
+  ,("thothahanthai", '\x0E17')
+  ,("thothanthai", '\x0E10')
+  ,("thothongthai", '\x0E18')
+  ,("thothungthai", '\x0E16')
+  ,("thousandcyrillic", '\x0482')
+  ,("thousandsseparatorarabic", '\x066C')
+  ,("thousandsseparatorpersian", '\x066C')
+  ,("three", '\x0033')
+  ,("threearabic", '\x0663')
+  ,("threebengali", '\x09E9')
+  ,("threecircle", '\x2462')
+  ,("threecircleinversesansserif", '\x278C')
+  ,("threedeva", '\x0969')
+  ,("threeeighths", '\x215C')
+  ,("threegujarati", '\x0AE9')
+  ,("threegurmukhi", '\x0A69')
+  ,("threehackarabic", '\x0663')
+  ,("threehangzhou", '\x3023')
+  ,("threeideographicparen", '\x3222')
+  ,("threeinferior", '\x2083')
+  ,("threemonospace", '\xFF13')
+  ,("threenumeratorbengali", '\x09F6')
+  ,("threeoldstyle", '\xF733')
+  ,("threeparen", '\x2476')
+  ,("threeperiod", '\x248A')
+  ,("threepersian", '\x06F3')
+  ,("threequarters", '\x00BE')
+  ,("threequartersemdash", '\xF6DE')
+  ,("threeroman", '\x2172')
+  ,("threesuperior", '\x00B3')
+  ,("threethai", '\x0E53')
+  ,("thzsquare", '\x3394')
+  ,("tihiragana", '\x3061')
+  ,("tikatakana", '\x30C1')
+  ,("tikatakanahalfwidth", '\xFF81')
+  ,("tikeutacirclekorean", '\x3270')
+  ,("tikeutaparenkorean", '\x3210')
+  ,("tikeutcirclekorean", '\x3262')
+  ,("tikeutkorean", '\x3137')
+  ,("tikeutparenkorean", '\x3202')
+  ,("tilde", '\x02DC')
+  ,("tildebelowcmb", '\x0330')
+  ,("tildecmb", '\x0303')
+  ,("tildecomb", '\x0303')
+  ,("tildedoublecmb", '\x0360')
+  ,("tildeoperator", '\x223C')
+  ,("tildeoverlaycmb", '\x0334')
+  ,("tildeverticalcmb", '\x033E')
+  ,("timescircle", '\x2297')
+  ,("tipehahebrew", '\x0596')
+  ,("tipehalefthebrew", '\x0596')
+  ,("tippigurmukhi", '\x0A70')
+  ,("titlocyrilliccmb", '\x0483')
+  ,("tiwnarmenian", '\x057F')
+  ,("tlinebelow", '\x1E6F')
+  ,("tmonospace", '\xFF54')
+  ,("toarmenian", '\x0569')
+  ,("tohiragana", '\x3068')
+  ,("tokatakana", '\x30C8')
+  ,("tokatakanahalfwidth", '\xFF84')
+  ,("tonebarextrahighmod", '\x02E5')
+  ,("tonebarextralowmod", '\x02E9')
+  ,("tonebarhighmod", '\x02E6')
+  ,("tonebarlowmod", '\x02E8')
+  ,("tonebarmidmod", '\x02E7')
+  ,("tonefive", '\x01BD')
+  ,("tonesix", '\x0185')
+  ,("tonetwo", '\x01A8')
+  ,("tonos", '\x0384')
+  ,("tonsquare", '\x3327')
+  ,("topatakthai", '\x0E0F')
+  ,("tortoiseshellbracketleft", '\x3014')
+  ,("tortoiseshellbracketleftsmall", '\xFE5D')
+  ,("tortoiseshellbracketleftvertical", '\xFE39')
+  ,("tortoiseshellbracketright", '\x3015')
+  ,("tortoiseshellbracketrightsmall", '\xFE5E')
+  ,("tortoiseshellbracketrightvertical", '\xFE3A')
+  ,("totaothai", '\x0E15')
+  ,("tpalatalhook", '\x01AB')
+  ,("tparen", '\x24AF')
+  ,("trademark", '\x2122')
+  ,("trademarksans", '\xF8EA')
+  ,("trademarkserif", '\xF6DB')
+  ,("tretroflexhook", '\x0288')
+  ,("triagdn", '\x25BC')
+  ,("triaglf", '\x25C4')
+  ,("triagrt", '\x25BA')
+  ,("triagup", '\x25B2')
+  ,("ts", '\x02A6')
+  ,("tsadi", '\x05E6')
+  ,("tsadidagesh", '\xFB46')
+  ,("tsadidageshhebrew", '\xFB46')
+  ,("tsadihebrew", '\x05E6')
+  ,("tsecyrillic", '\x0446')
+  ,("tsere", '\x05B5')
+  ,("tsere12", '\x05B5')
+  ,("tsere1e", '\x05B5')
+  ,("tsere2b", '\x05B5')
+  ,("tserehebrew", '\x05B5')
+  ,("tserenarrowhebrew", '\x05B5')
+  ,("tserequarterhebrew", '\x05B5')
+  ,("tserewidehebrew", '\x05B5')
+  ,("tshecyrillic", '\x045B')
+  ,("tsuperior", '\xF6F3')
+  ,("ttabengali", '\x099F')
+  ,("ttadeva", '\x091F')
+  ,("ttagujarati", '\x0A9F')
+  ,("ttagurmukhi", '\x0A1F')
+  ,("tteharabic", '\x0679')
+  ,("ttehfinalarabic", '\xFB67')
+  ,("ttehinitialarabic", '\xFB68')
+  ,("ttehmedialarabic", '\xFB69')
+  ,("tthabengali", '\x09A0')
+  ,("tthadeva", '\x0920')
+  ,("tthagujarati", '\x0AA0')
+  ,("tthagurmukhi", '\x0A20')
+  ,("tturned", '\x0287')
+  ,("tuhiragana", '\x3064')
+  ,("tukatakana", '\x30C4')
+  ,("tukatakanahalfwidth", '\xFF82')
+  ,("tusmallhiragana", '\x3063')
+  ,("tusmallkatakana", '\x30C3')
+  ,("tusmallkatakanahalfwidth", '\xFF6F')
+  ,("twelvecircle", '\x246B')
+  ,("twelveparen", '\x247F')
+  ,("twelveperiod", '\x2493')
+  ,("twelveroman", '\x217B')
+  ,("twentycircle", '\x2473')
+  ,("twentyhangzhou", '\x5344')
+  ,("twentyparen", '\x2487')
+  ,("twentyperiod", '\x249B')
+  ,("two", '\x0032')
+  ,("twoarabic", '\x0662')
+  ,("twobengali", '\x09E8')
+  ,("twocircle", '\x2461')
+  ,("twocircleinversesansserif", '\x278B')
+  ,("twodeva", '\x0968')
+  ,("twodotenleader", '\x2025')
+  ,("twodotleader", '\x2025')
+  ,("twodotleadervertical", '\xFE30')
+  ,("twogujarati", '\x0AE8')
+  ,("twogurmukhi", '\x0A68')
+  ,("twohackarabic", '\x0662')
+  ,("twohangzhou", '\x3022')
+  ,("twoideographicparen", '\x3221')
+  ,("twoinferior", '\x2082')
+  ,("twomonospace", '\xFF12')
+  ,("twonumeratorbengali", '\x09F5')
+  ,("twooldstyle", '\xF732')
+  ,("twoparen", '\x2475')
+  ,("twoperiod", '\x2489')
+  ,("twopersian", '\x06F2')
+  ,("tworoman", '\x2171')
+  ,("twostroke", '\x01BB')
+  ,("twosuperior", '\x00B2')
+  ,("twothai", '\x0E52')
+  ,("twothirds", '\x2154')
+  ,("u", '\x0075')
+  ,("uacute", '\x00FA')
+  ,("ubar", '\x0289')
+  ,("ubengali", '\x0989')
+  ,("ubopomofo", '\x3128')
+  ,("ubreve", '\x016D')
+  ,("ucaron", '\x01D4')
+  ,("ucircle", '\x24E4')
+  ,("ucircumflex", '\x00FB')
+  ,("ucircumflexbelow", '\x1E77')
+  ,("ucyrillic", '\x0443')
+  ,("udattadeva", '\x0951')
+  ,("udblacute", '\x0171')
+  ,("udblgrave", '\x0215')
+  ,("udeva", '\x0909')
+  ,("udieresis", '\x00FC')
+  ,("udieresisacute", '\x01D8')
+  ,("udieresisbelow", '\x1E73')
+  ,("udieresiscaron", '\x01DA')
+  ,("udieresiscyrillic", '\x04F1')
+  ,("udieresisgrave", '\x01DC')
+  ,("udieresismacron", '\x01D6')
+  ,("udotbelow", '\x1EE5')
+  ,("ugrave", '\x00F9')
+  ,("ugujarati", '\x0A89')
+  ,("ugurmukhi", '\x0A09')
+  ,("uhiragana", '\x3046')
+  ,("uhookabove", '\x1EE7')
+  ,("uhorn", '\x01B0')
+  ,("uhornacute", '\x1EE9')
+  ,("uhorndotbelow", '\x1EF1')
+  ,("uhorngrave", '\x1EEB')
+  ,("uhornhookabove", '\x1EED')
+  ,("uhorntilde", '\x1EEF')
+  ,("uhungarumlaut", '\x0171')
+  ,("uhungarumlautcyrillic", '\x04F3')
+  ,("uinvertedbreve", '\x0217')
+  ,("ukatakana", '\x30A6')
+  ,("ukatakanahalfwidth", '\xFF73')
+  ,("ukcyrillic", '\x0479')
+  ,("ukorean", '\x315C')
+  ,("umacron", '\x016B')
+  ,("umacroncyrillic", '\x04EF')
+  ,("umacrondieresis", '\x1E7B')
+  ,("umatragurmukhi", '\x0A41')
+  ,("umonospace", '\xFF55')
+  ,("underscore", '\x005F')
+  ,("underscoredbl", '\x2017')
+  ,("underscoremonospace", '\xFF3F')
+  ,("underscorevertical", '\xFE33')
+  ,("underscorewavy", '\xFE4F')
+  ,("union", '\x222A')
+  ,("universal", '\x2200')
+  ,("uogonek", '\x0173')
+  ,("uparen", '\x24B0')
+  ,("upblock", '\x2580')
+  ,("upperdothebrew", '\x05C4')
+  ,("upsilon", '\x03C5')
+  ,("upsilondieresis", '\x03CB')
+  ,("upsilondieresistonos", '\x03B0')
+  ,("upsilonlatin", '\x028A')
+  ,("upsilontonos", '\x03CD')
+  ,("uptackbelowcmb", '\x031D')
+  ,("uptackmod", '\x02D4')
+  ,("uragurmukhi", '\x0A73')
+  ,("uring", '\x016F')
+  ,("ushortcyrillic", '\x045E')
+  ,("usmallhiragana", '\x3045')
+  ,("usmallkatakana", '\x30A5')
+  ,("usmallkatakanahalfwidth", '\xFF69')
+  ,("ustraightcyrillic", '\x04AF')
+  ,("ustraightstrokecyrillic", '\x04B1')
+  ,("utilde", '\x0169')
+  ,("utildeacute", '\x1E79')
+  ,("utildebelow", '\x1E75')
+  ,("uubengali", '\x098A')
+  ,("uudeva", '\x090A')
+  ,("uugujarati", '\x0A8A')
+  ,("uugurmukhi", '\x0A0A')
+  ,("uumatragurmukhi", '\x0A42')
+  ,("uuvowelsignbengali", '\x09C2')
+  ,("uuvowelsigndeva", '\x0942')
+  ,("uuvowelsigngujarati", '\x0AC2')
+  ,("uvowelsignbengali", '\x09C1')
+  ,("uvowelsigndeva", '\x0941')
+  ,("uvowelsigngujarati", '\x0AC1')
+  ,("v", '\x0076')
+  ,("vadeva", '\x0935')
+  ,("vagujarati", '\x0AB5')
+  ,("vagurmukhi", '\x0A35')
+  ,("vakatakana", '\x30F7')
+  ,("vav", '\x05D5')
+  ,("vavdagesh", '\xFB35')
+  ,("vavdagesh65", '\xFB35')
+  ,("vavdageshhebrew", '\xFB35')
+  ,("vavhebrew", '\x05D5')
+  ,("vavholam", '\xFB4B')
+  ,("vavholamhebrew", '\xFB4B')
+  ,("vavvavhebrew", '\x05F0')
+  ,("vavyodhebrew", '\x05F1')
+  ,("vcircle", '\x24E5')
+  ,("vdotbelow", '\x1E7F')
+  ,("vecyrillic", '\x0432')
+  ,("veharabic", '\x06A4')
+  ,("vehfinalarabic", '\xFB6B')
+  ,("vehinitialarabic", '\xFB6C')
+  ,("vehmedialarabic", '\xFB6D')
+  ,("vekatakana", '\x30F9')
+  ,("venus", '\x2640')
+  ,("verticalbar", '\x007C')
+  ,("verticallineabovecmb", '\x030D')
+  ,("verticallinebelowcmb", '\x0329')
+  ,("verticallinelowmod", '\x02CC')
+  ,("verticallinemod", '\x02C8')
+  ,("vewarmenian", '\x057E')
+  ,("vhook", '\x028B')
+  ,("vikatakana", '\x30F8')
+  ,("viramabengali", '\x09CD')
+  ,("viramadeva", '\x094D')
+  ,("viramagujarati", '\x0ACD')
+  ,("visargabengali", '\x0983')
+  ,("visargadeva", '\x0903')
+  ,("visargagujarati", '\x0A83')
+  ,("vmonospace", '\xFF56')
+  ,("voarmenian", '\x0578')
+  ,("voicediterationhiragana", '\x309E')
+  ,("voicediterationkatakana", '\x30FE')
+  ,("voicedmarkkana", '\x309B')
+  ,("voicedmarkkanahalfwidth", '\xFF9E')
+  ,("vokatakana", '\x30FA')
+  ,("vparen", '\x24B1')
+  ,("vtilde", '\x1E7D')
+  ,("vturned", '\x028C')
+  ,("vuhiragana", '\x3094')
+  ,("vukatakana", '\x30F4')
+  ,("w", '\x0077')
+  ,("wacute", '\x1E83')
+  ,("waekorean", '\x3159')
+  ,("wahiragana", '\x308F')
+  ,("wakatakana", '\x30EF')
+  ,("wakatakanahalfwidth", '\xFF9C')
+  ,("wakorean", '\x3158')
+  ,("wasmallhiragana", '\x308E')
+  ,("wasmallkatakana", '\x30EE')
+  ,("wattosquare", '\x3357')
+  ,("wavedash", '\x301C')
+  ,("wavyunderscorevertical", '\xFE34')
+  ,("wawarabic", '\x0648')
+  ,("wawfinalarabic", '\xFEEE')
+  ,("wawhamzaabovearabic", '\x0624')
+  ,("wawhamzaabovefinalarabic", '\xFE86')
+  ,("wbsquare", '\x33DD')
+  ,("wcircle", '\x24E6')
+  ,("wcircumflex", '\x0175')
+  ,("wdieresis", '\x1E85')
+  ,("wdotaccent", '\x1E87')
+  ,("wdotbelow", '\x1E89')
+  ,("wehiragana", '\x3091')
+  ,("weierstrass", '\x2118')
+  ,("wekatakana", '\x30F1')
+  ,("wekorean", '\x315E')
+  ,("weokorean", '\x315D')
+  ,("wgrave", '\x1E81')
+  ,("whitebullet", '\x25E6')
+  ,("whitecircle", '\x25CB')
+  ,("whitecircleinverse", '\x25D9')
+  ,("whitecornerbracketleft", '\x300E')
+  ,("whitecornerbracketleftvertical", '\xFE43')
+  ,("whitecornerbracketright", '\x300F')
+  ,("whitecornerbracketrightvertical", '\xFE44')
+  ,("whitediamond", '\x25C7')
+  ,("whitediamondcontainingblacksmalldiamond", '\x25C8')
+  ,("whitedownpointingsmalltriangle", '\x25BF')
+  ,("whitedownpointingtriangle", '\x25BD')
+  ,("whiteleftpointingsmalltriangle", '\x25C3')
+  ,("whiteleftpointingtriangle", '\x25C1')
+  ,("whitelenticularbracketleft", '\x3016')
+  ,("whitelenticularbracketright", '\x3017')
+  ,("whiterightpointingsmalltriangle", '\x25B9')
+  ,("whiterightpointingtriangle", '\x25B7')
+  ,("whitesmallsquare", '\x25AB')
+  ,("whitesmilingface", '\x263A')
+  ,("whitesquare", '\x25A1')
+  ,("whitestar", '\x2606')
+  ,("whitetelephone", '\x260F')
+  ,("whitetortoiseshellbracketleft", '\x3018')
+  ,("whitetortoiseshellbracketright", '\x3019')
+  ,("whiteuppointingsmalltriangle", '\x25B5')
+  ,("whiteuppointingtriangle", '\x25B3')
+  ,("wihiragana", '\x3090')
+  ,("wikatakana", '\x30F0')
+  ,("wikorean", '\x315F')
+  ,("wmonospace", '\xFF57')
+  ,("wohiragana", '\x3092')
+  ,("wokatakana", '\x30F2')
+  ,("wokatakanahalfwidth", '\xFF66')
+  ,("won", '\x20A9')
+  ,("wonmonospace", '\xFFE6')
+  ,("wowaenthai", '\x0E27')
+  ,("wparen", '\x24B2')
+  ,("wring", '\x1E98')
+  ,("wsuperior", '\x02B7')
+  ,("wturned", '\x028D')
+  ,("wynn", '\x01BF')
+  ,("x", '\x0078')
+  ,("xabovecmb", '\x033D')
+  ,("xbopomofo", '\x3112')
+  ,("xcircle", '\x24E7')
+  ,("xdieresis", '\x1E8D')
+  ,("xdotaccent", '\x1E8B')
+  ,("xeharmenian", '\x056D')
+  ,("xi", '\x03BE')
+  ,("xmonospace", '\xFF58')
+  ,("xparen", '\x24B3')
+  ,("xsuperior", '\x02E3')
+  ,("y", '\x0079')
+  ,("yaadosquare", '\x334E')
+  ,("yabengali", '\x09AF')
+  ,("yacute", '\x00FD')
+  ,("yadeva", '\x092F')
+  ,("yaekorean", '\x3152')
+  ,("yagujarati", '\x0AAF')
+  ,("yagurmukhi", '\x0A2F')
+  ,("yahiragana", '\x3084')
+  ,("yakatakana", '\x30E4')
+  ,("yakatakanahalfwidth", '\xFF94')
+  ,("yakorean", '\x3151')
+  ,("yamakkanthai", '\x0E4E')
+  ,("yasmallhiragana", '\x3083')
+  ,("yasmallkatakana", '\x30E3')
+  ,("yasmallkatakanahalfwidth", '\xFF6C')
+  ,("yatcyrillic", '\x0463')
+  ,("ycircle", '\x24E8')
+  ,("ycircumflex", '\x0177')
+  ,("ydieresis", '\x00FF')
+  ,("ydotaccent", '\x1E8F')
+  ,("ydotbelow", '\x1EF5')
+  ,("yeharabic", '\x064A')
+  ,("yehbarreearabic", '\x06D2')
+  ,("yehbarreefinalarabic", '\xFBAF')
+  ,("yehfinalarabic", '\xFEF2')
+  ,("yehhamzaabovearabic", '\x0626')
+  ,("yehhamzaabovefinalarabic", '\xFE8A')
+  ,("yehhamzaaboveinitialarabic", '\xFE8B')
+  ,("yehhamzaabovemedialarabic", '\xFE8C')
+  ,("yehinitialarabic", '\xFEF3')
+  ,("yehmedialarabic", '\xFEF4')
+  ,("yehmeeminitialarabic", '\xFCDD')
+  ,("yehmeemisolatedarabic", '\xFC58')
+  ,("yehnoonfinalarabic", '\xFC94')
+  ,("yehthreedotsbelowarabic", '\x06D1')
+  ,("yekorean", '\x3156')
+  ,("yen", '\x00A5')
+  ,("yenmonospace", '\xFFE5')
+  ,("yeokorean", '\x3155')
+  ,("yeorinhieuhkorean", '\x3186')
+  ,("yerahbenyomohebrew", '\x05AA')
+  ,("yerahbenyomolefthebrew", '\x05AA')
+  ,("yericyrillic", '\x044B')
+  ,("yerudieresiscyrillic", '\x04F9')
+  ,("yesieungkorean", '\x3181')
+  ,("yesieungpansioskorean", '\x3183')
+  ,("yesieungsioskorean", '\x3182')
+  ,("yetivhebrew", '\x059A')
+  ,("ygrave", '\x1EF3')
+  ,("yhook", '\x01B4')
+  ,("yhookabove", '\x1EF7')
+  ,("yiarmenian", '\x0575')
+  ,("yicyrillic", '\x0457')
+  ,("yikorean", '\x3162')
+  ,("yinyang", '\x262F')
+  ,("yiwnarmenian", '\x0582')
+  ,("ymonospace", '\xFF59')
+  ,("yod", '\x05D9')
+  ,("yoddagesh", '\xFB39')
+  ,("yoddageshhebrew", '\xFB39')
+  ,("yodhebrew", '\x05D9')
+  ,("yodyodhebrew", '\x05F2')
+  ,("yodyodpatahhebrew", '\xFB1F')
+  ,("yohiragana", '\x3088')
+  ,("yoikorean", '\x3189')
+  ,("yokatakana", '\x30E8')
+  ,("yokatakanahalfwidth", '\xFF96')
+  ,("yokorean", '\x315B')
+  ,("yosmallhiragana", '\x3087')
+  ,("yosmallkatakana", '\x30E7')
+  ,("yosmallkatakanahalfwidth", '\xFF6E')
+  ,("yotgreek", '\x03F3')
+  ,("yoyaekorean", '\x3188')
+  ,("yoyakorean", '\x3187')
+  ,("yoyakthai", '\x0E22')
+  ,("yoyingthai", '\x0E0D')
+  ,("yparen", '\x24B4')
+  ,("ypogegrammeni", '\x037A')
+  ,("ypogegrammenigreekcmb", '\x0345')
+  ,("yr", '\x01A6')
+  ,("yring", '\x1E99')
+  ,("ysuperior", '\x02B8')
+  ,("ytilde", '\x1EF9')
+  ,("yturned", '\x028E')
+  ,("yuhiragana", '\x3086')
+  ,("yuikorean", '\x318C')
+  ,("yukatakana", '\x30E6')
+  ,("yukatakanahalfwidth", '\xFF95')
+  ,("yukorean", '\x3160')
+  ,("yusbigcyrillic", '\x046B')
+  ,("yusbigiotifiedcyrillic", '\x046D')
+  ,("yuslittlecyrillic", '\x0467')
+  ,("yuslittleiotifiedcyrillic", '\x0469')
+  ,("yusmallhiragana", '\x3085')
+  ,("yusmallkatakana", '\x30E5')
+  ,("yusmallkatakanahalfwidth", '\xFF6D')
+  ,("yuyekorean", '\x318B')
+  ,("yuyeokorean", '\x318A')
+  ,("yyabengali", '\x09DF')
+  ,("yyadeva", '\x095F')
+  ,("z", '\x007A')
+  ,("zaarmenian", '\x0566')
+  ,("zacute", '\x017A')
+  ,("zadeva", '\x095B')
+  ,("zagurmukhi", '\x0A5B')
+  ,("zaharabic", '\x0638')
+  ,("zahfinalarabic", '\xFEC6')
+  ,("zahinitialarabic", '\xFEC7')
+  ,("zahiragana", '\x3056')
+  ,("zahmedialarabic", '\xFEC8')
+  ,("zainarabic", '\x0632')
+  ,("zainfinalarabic", '\xFEB0')
+  ,("zakatakana", '\x30B6')
+  ,("zaqefgadolhebrew", '\x0595')
+  ,("zaqefqatanhebrew", '\x0594')
+  ,("zarqahebrew", '\x0598')
+  ,("zayin", '\x05D6')
+  ,("zayindagesh", '\xFB36')
+  ,("zayindageshhebrew", '\xFB36')
+  ,("zayinhebrew", '\x05D6')
+  ,("zbopomofo", '\x3117')
+  ,("zcaron", '\x017E')
+  ,("zcircle", '\x24E9')
+  ,("zcircumflex", '\x1E91')
+  ,("zcurl", '\x0291')
+  ,("zdot", '\x017C')
+  ,("zdotaccent", '\x017C')
+  ,("zdotbelow", '\x1E93')
+  ,("zecyrillic", '\x0437')
+  ,("zedescendercyrillic", '\x0499')
+  ,("zedieresiscyrillic", '\x04DF')
+  ,("zehiragana", '\x305C')
+  ,("zekatakana", '\x30BC')
+  ,("zero", '\x0030')
+  ,("zeroarabic", '\x0660')
+  ,("zerobengali", '\x09E6')
+  ,("zerodeva", '\x0966')
+  ,("zerogujarati", '\x0AE6')
+  ,("zerogurmukhi", '\x0A66')
+  ,("zerohackarabic", '\x0660')
+  ,("zeroinferior", '\x2080')
+  ,("zeromonospace", '\xFF10')
+  ,("zerooldstyle", '\xF730')
+  ,("zeropersian", '\x06F0')
+  ,("zerosuperior", '\x2070')
+  ,("zerothai", '\x0E50')
+  ,("zerowidthjoiner", '\xFEFF')
+  ,("zerowidthnonjoiner", '\x200C')
+  ,("zerowidthspace", '\x200B')
+  ,("zeta", '\x03B6')
+  ,("zhbopomofo", '\x3113')
+  ,("zhearmenian", '\x056A')
+  ,("zhebrevecyrillic", '\x04C2')
+  ,("zhecyrillic", '\x0436')
+  ,("zhedescendercyrillic", '\x0497')
+  ,("zhedieresiscyrillic", '\x04DD')
+  ,("zihiragana", '\x3058')
+  ,("zikatakana", '\x30B8')
+  ,("zinorhebrew", '\x05AE')
+  ,("zlinebelow", '\x1E95')
+  ,("zmonospace", '\xFF5A')
+  ,("zohiragana", '\x305E')
+  ,("zokatakana", '\x30BE')
+  ,("zparen", '\x24B5')
+  ,("zretroflexhook", '\x0290')
+  ,("zstroke", '\x01B6')
+  ,("zuhiragana", '\x305A')
+  ,("zukatakana", '\x30BA')
+  ]
diff --git a/lib/Pdf/Toolbox/Content/TexGlyphList.hs b/lib/Pdf/Toolbox/Content/TexGlyphList.hs
new file mode 100644
--- /dev/null
+++ b/lib/Pdf/Toolbox/Content/TexGlyphList.hs
@@ -0,0 +1,304 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+-- | Mapping from glyph names to unicode characters
+-- for TeX fonts
+
+module Pdf.Toolbox.Content.TexGlyphList
+(
+  texGlyphList
+)
+where
+
+import Data.ByteString (ByteString)
+import Data.Map (Map)
+import qualified Data.Map as Map
+
+-- | Glyph list
+texGlyphList :: Map ByteString Char
+texGlyphList = Map.fromList
+  [("Delta", '\x2206')
+  ,("Ifractur", '\x2111')
+  ,("FFsmall", '\xF766')
+  ,("FFIsmall", '\xF766')
+  ,("FFLsmall", '\xF766')
+  ,("FIsmall", '\xF766')
+  ,("FLsmall", '\xF766')
+  ,("Germandbls", '\x0053')
+  ,("Germandblssmall", '\xF773')
+  ,("Ng", '\x014A')
+  ,("Omega", '\x2126')
+  ,("Rfractur", '\x211C')
+  ,("SS", '\x0053')
+  ,("SSsmall", '\xF773')
+  ,("altselector", '\xD802')
+  ,("angbracketleft", '\x27E8')
+  ,("angbracketright", '\x27E9')
+  ,("arrowbothv", '\x2195')
+  ,("arrowdblbothv", '\x21D5')
+  ,("arrowleftbothalf", '\x21BD')
+  ,("arrowlefttophalf", '\x21BC')
+  ,("arrownortheast", '\x2197')
+  ,("arrownorthwest", '\x2196')
+  ,("arrowrightbothalf", '\x21C1')
+  ,("arrowrighttophalf", '\x21C0')
+  ,("arrowsoutheast", '\x2198')
+  ,("arrowsouthwest", '\x2199')
+  ,("ascendercompwordmark", '\xD80A')
+  ,("asteriskcentered", '\x2217')
+  ,("bardbl", '\x2225')
+  ,("capitalcompwordmark", '\xD809')
+  ,("ceilingleft", '\x2308')
+  ,("ceilingright", '\x2309')
+  ,("circlecopyrt", '\x20DD')
+  ,("circledivide", '\x2298')
+  ,("circledot", '\x2299')
+  ,("circleminus", '\x2296')
+  ,("coproduct", '\x2A3F')
+  ,("ct", '\x0063')
+  ,("cwm", '\x200C')
+  ,("dblbracketleft", '\x27E6')
+  ,("dblbracketright", '\x27E7')
+  ,("diamond", '\x2662')
+  ,("diamondmath", '\x22C4')
+  ,("dotlessj", '\x0237')
+  ,("emptyset", '\x2205')
+  ,("emptyslot", '\xD801')
+  ,("epsilon1", '\x03F5')
+  ,("epsiloninv", '\x03F6')
+  ,("equivasymptotic", '\x224D')
+  ,("flat", '\x266D')
+  ,("floorleft", '\x230A')
+  ,("floorright", '\x230B')
+  ,("follows", '\x227B')
+  ,("followsequal", '\x2AB0')
+  ,("followsorcurly", '\x227D')
+  ,("greatermuch", '\x226B')
+  ,("heart", '\x2661')
+  ,("interrobang", '\x203D')
+  ,("interrobangdown", '\x2E18')
+  ,("intersectionsq", '\x2293')
+  ,("latticetop", '\x22A4')
+  ,("lessmuch", '\x226A')
+  ,("longdbls", '\x017F')
+  ,("longsh", '\x017F')
+  ,("longsi", '\x017F')
+  ,("longsl", '\x017F')
+  ,("longst", '\xFB05')
+  ,("lscript", '\x2113')
+  ,("natural", '\x266E')
+  ,("negationslash", '\x0338')
+  ,("ng", '\x014B')
+  ,("owner", '\x220B')
+  ,("pertenthousand", '\x2031')
+  ,("phi", '\x03D5')
+  ,("phi1", '\x03C6')
+  ,("pi1", '\x03D6')
+  ,("precedesequal", '\x2AAF')
+  ,("precedesorcurly", '\x227C')
+  ,("prime", '\x2032')
+  ,("rho1", '\x03F1')
+  ,("ringfitted", '\xD80D')
+  ,("sharp", '\x266F')
+  ,("similarequal", '\x2243')
+  ,("slurabove", '\x2322')
+  ,("slurbelow", '\x2323')
+  ,("st", '\xFB06')
+  ,("star", '\x22C6')
+  ,("subsetsqequal", '\x2291')
+  ,("supersetsqequal", '\x2292')
+  ,("triangle", '\x25B3')
+  ,("triangleinv", '\x25BD')
+  ,("triangleleft", '\x25C1')
+  ,("triangleright", '\x25B7')
+  ,("turnstileleft", '\x22A2')
+  ,("turnstileright", '\x22A3')
+  ,("twelveudash", '\xD80C')
+  ,("unionmulti", '\x228E')
+  ,("unionsq", '\x2294')
+  ,("vector", '\x20D7')
+  ,("visualspace", '\x2423')
+  ,("wreathproduct", '\x2240')
+  ,("Dbar", '\x0110')
+  ,("compwordmark", '\x200C')
+  ,("dbar", '\x0111')
+  ,("rangedash", '\x2013')
+  ,("hyphenchar", '\x002D')
+  ,("punctdash", '\x2014')
+  ,("visiblespace", '\x2423')
+  ,("Yen", '\x00A5')
+  ,("anticlockwise", '\x27F2')
+  ,("arrowparrleftright", '\x21C6')
+  ,("arrowparrrightleft", '\x21C4')
+  ,("arrowtailleft", '\x21A2')
+  ,("arrowtailright", '\x21A3')
+  ,("arrowtripleleft", '\x21DA')
+  ,("arrowtripleright", '\x21DB')
+  ,("between", '\x226C')
+  ,("check", '\x2713')
+  ,("circleR", '\x00AE')
+  ,("circleS", '\x24C8')
+  ,("circleasterisk", '\x229B')
+  ,("circleequal", '\x229C')
+  ,("circlering", '\x229A')
+  ,("clockwise", '\x27F3')
+  ,("complement", '\x2201')
+  ,("curlyleft", '\x21AB')
+  ,("curlyright", '\x21AC')
+  ,("dblarrowdwn", '\x21CA')
+  ,("dblarrowheadleft", '\x219E')
+  ,("dblarrowheadright", '\x21A0')
+  ,("dblarrowup", '\x21C8')
+  ,("defines", '\x225C')
+  ,("diamondsolid", '\x2666')
+  ,("difference", '\x224F')
+  ,("dotplus", '\x2214')
+  ,("downfall", '\x22CE')
+  ,("equaldotleftright", '\x2252')
+  ,("equaldotrightleft", '\x2253')
+  ,("equalorfollows", '\x22DF')
+  ,("equalorgreater", '\x2A96')
+  ,("equalorless", '\x2A95')
+  ,("equalorprecedes", '\x22DE')
+  ,("equalsdots", '\x2251')
+  ,("followsorequal", '\x227F')
+  ,("forces", '\x22A9')
+  ,("forcesbar", '\x22AA')
+  ,("fork", '\x22D4')
+  ,("frown", '\x2322')
+  ,("geomequivalent", '\x224E')
+  ,("greaterdbleqlless", '\x2A8C')
+  ,("greaterdblequal", '\x2267')
+  ,("greaterlessequal", '\x22DB')
+  ,("greaterorapproxeql", '\x2A86')
+  ,("greaterorequalslant", '\x2A7E')
+  ,("greaterorsimilar", '\x2273')
+  ,("harpoondownleft", '\x21C3')
+  ,("harpoondownright", '\x21C2')
+  ,("harpoonleftright", '\x21CC')
+  ,("harpoonrightleft", '\x21CB')
+  ,("harpoonupleft", '\x21BF')
+  ,("harpoonupright", '\x21BE')
+  ,("intercal", '\x22BA')
+  ,("intersectiondbl", '\x22D2')
+  ,("lessdbleqlgreater", '\x2A8B')
+  ,("lessdblequal", '\x2266')
+  ,("lessequalgreater", '\x22DA')
+  ,("lessorapproxeql", '\x2A85')
+  ,("lessorequalslant", '\x2A7D')
+  ,("lessorsimilar", '\x2272')
+  ,("maltesecross", '\x2720')
+  ,("measuredangle", '\x2221')
+  ,("multimap", '\x22B8')
+  ,("multiopenleft", '\x22CB')
+  ,("multiopenright", '\x22CC')
+  ,("nand", '\x22BC')
+  ,("orunderscore", '\x22BB')
+  ,("perpcorrespond", '\x2A5E')
+  ,("precedesorequal", '\x227E')
+  ,("primereverse", '\x2035')
+  ,("revasymptequal", '\x22CD')
+  ,("revsimilar", '\x223D')
+  ,("rightanglene", '\x231D')
+  ,("rightanglenw", '\x231C')
+  ,("rightanglese", '\x231F')
+  ,("rightanglesw", '\x231E')
+  ,("ringinequal", '\x2256')
+  ,("satisfies", '\x22A8')
+  ,("shiftleft", '\x21B0')
+  ,("shiftright", '\x21B1')
+  ,("smile", '\x2323')
+  ,("sphericalangle", '\x2222')
+  ,("square", '\x25A1')
+  ,("squaredot", '\x22A1')
+  ,("squareimage", '\x228F')
+  ,("squareminus", '\x229F')
+  ,("squaremultiply", '\x22A0')
+  ,("squareoriginal", '\x2290')
+  ,("squareplus", '\x229E')
+  ,("squaresolid", '\x25A0')
+  ,("squiggleleftright", '\x21AD')
+  ,("squiggleright", '\x21DD')
+  ,("subsetdbl", '\x22D0')
+  ,("subsetdblequal", '\x2AC5')
+  ,("supersetdbl", '\x22D1')
+  ,("supersetdblequal", '\x2AC6')
+  ,("triangledownsld", '\x25BC')
+  ,("triangleleftequal", '\x22B4')
+  ,("triangleleftsld", '\x25C0')
+  ,("trianglerightequal", '\x22B5')
+  ,("trianglerightsld", '\x25B6')
+  ,("trianglesolid", '\x25B2')
+  ,("uniondbl", '\x22D3')
+  ,("uprise", '\x22CF')
+  ,("Digamma", '\x1D7CB')
+  ,("Finv", '\x2132')
+  ,("Gmir", '\x2141')
+  ,("Omegainv", '\x2127')
+  ,("approxorequal", '\x224A')
+  ,("archleftdown", '\x21B6')
+  ,("archrightdown", '\x21B7')
+  ,("beth", '\x2136')
+  ,("daleth", '\x2138')
+  ,("dividemultiply", '\x22C7')
+  ,("downslope", '\x29F9')
+  ,("equalorsimilar", '\x2242')
+  ,("follownotdbleqv", '\x2ABA')
+  ,("follownotslnteql", '\x2AB6')
+  ,("followornoteqvlnt", '\x22E9')
+  ,("greaterdot", '\x22D7')
+  ,("greaternotdblequal", '\x2A8A')
+  ,("greaternotequal", '\x2A88')
+  ,("greaterornotdbleql", '\x2269')
+  ,("greaterornotequal", '\x2269')
+  ,("integerdivide", '\x2216')
+  ,("lessdot", '\x22D6')
+  ,("lessnotdblequal", '\x2A89')
+  ,("lessnotequal", '\x2A87')
+  ,("lessornotdbleql", '\x2268')
+  ,("lessornotequal", '\x2268')
+  ,("multicloseleft", '\x22C9')
+  ,("multicloseright", '\x22CA')
+  ,("notapproxequal", '\x2247')
+  ,("notarrowboth", '\x21AE')
+  ,("notarrowleft", '\x219A')
+  ,("notarrowright", '\x219B')
+  ,("notbar", '\x2224')
+  ,("notdblarrowboth", '\x21CE')
+  ,("notdblarrowleft", '\x21CD')
+  ,("notdblarrowright", '\x21CF')
+  ,("notexistential", '\x2204')
+  ,("notfollows", '\x2281')
+  ,("notfollowsoreql", '\x2AB0')
+  ,("notforces", '\x22AE')
+  ,("notforcesextra", '\x22AF')
+  ,("notgreaterdblequal", '\x2267')
+  ,("notgreaterequal", '\x2271')
+  ,("notgreaterorslnteql", '\x2A7E')
+  ,("notlessdblequal", '\x2266')
+  ,("notlessequal", '\x2270')
+  ,("notlessorslnteql", '\x2A7D')
+  ,("notprecedesoreql", '\x2AAF')
+  ,("notsatisfies", '\x22AD')
+  ,("notsimilar", '\x2241')
+  ,("notsubseteql", '\x2288')
+  ,("notsubsetordbleql", '\x2AC5')
+  ,("notsubsetoreql", '\x228A')
+  ,("notsuperseteql", '\x2289')
+  ,("notsupersetordbleql", '\x2AC6')
+  ,("notsupersetoreql", '\x228B')
+  ,("nottriangeqlleft", '\x22EC')
+  ,("nottriangeqlright", '\x22ED')
+  ,("nottriangleleft", '\x22EA')
+  ,("nottriangleright", '\x22EB')
+  ,("notturnstile", '\x22AC')
+  ,("planckover2pi", '\x210F')
+  ,("planckover2pi1", '\x210F')
+  ,("precedenotdbleqv", '\x2AB9')
+  ,("precedenotslnteql", '\x2AB5')
+  ,("precedeornoteqvlnt", '\x22E8')
+  ,("subsetnoteql", '\x228A')
+  ,("subsetornotdbleql", '\x2ACB')
+  ,("supersetnoteql", '\x228B')
+  ,("supersetornotdbleql", '\x2ACC')
+  ,("upslope", '\x29F8')
+  ]
diff --git a/pdf-toolbox-content.cabal b/pdf-toolbox-content.cabal
--- a/pdf-toolbox-content.cabal
+++ b/pdf-toolbox-content.cabal
@@ -1,5 +1,5 @@
 name:                pdf-toolbox-content
-version:             0.0.2.0
+version:             0.0.3.0
 synopsis:            A collection of tools for processing PDF files
 license:             BSD3
 license-file:        LICENSE
@@ -12,6 +12,10 @@
 description:
   Tools for processing PDF content streams
 
+source-repository head
+  type:                git
+  location:            git://github.com/Yuras/pdf-toolbox.git
+
 library
   hs-source-dirs:      lib
   exposed-modules:
@@ -22,12 +26,15 @@
                        Pdf.Toolbox.Content.Transform
                        Pdf.Toolbox.Content.UnicodeCMap
                        Pdf.Toolbox.Content.FontInfo
-  build-depends:       base ==4.6.*,
+                       Pdf.Toolbox.Content.GlyphList
+                       Pdf.Toolbox.Content.TexGlyphList
+                       Pdf.Toolbox.Content.Encoding.WinAnsi
+                       Pdf.Toolbox.Content.Encoding.MacRoman
+  build-depends:       base >= 4.6 && < 4.8,
                        containers,
                        attoparsec,
                        bytestring,
                        base16-bytestring,
                        text,
                        io-streams,
-                       encoding,
                        pdf-toolbox-core ==0.0.2.*
