{-# LANGUAGE ViewPatterns #-}
{-
Copyright (C) 2014 Matthew Pickering <matthewtpickering@gmail.com>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

-}
{- |

This module is derived from the list of unicode to LaTeX mappings
compiled by G√ľnter Milde.

An unmodified original copy of this work can be obtained from <http://milde.users.sourceforge.net/LUCR/Math/ here>

-}

{-

All request for support should be sent to the
current maintainer of this module and NOT the aforementioned original author.

The work was originally licensed under the LaTeX Project Public License.

Changes to the work can be seen via the git commit history to this module.

Whilst distributed under the GPL in conformance with clause 10a, all
deriviations of this work must also conform with clause 6 of the the
LaTeX Project Public License.

-}

module Text.TeXMath.Unicode.ToTeX ( getTeXMath
                                      , getSymbolType
                                      , records
                                      ) where

import qualified Data.Map as M
import Text.TeXMath.TeX
import Text.TeXMath.Types
import Data.Maybe (fromMaybe, listToMaybe, mapMaybe)
import Control.Applicative hiding (optional)
import Text.TeXMath.Unicode.ToASCII (getASCII)
import Text.TeXMath.Unicode.ToUnicode (fromUnicodeChar)
import qualified Text.TeXMath.Shared as S

-- | Converts a string of unicode characters into a strong of equivalent
-- TeXMath commands. An environment is a list of strings specifying which
-- additional packages are available.
getTeXMath :: String -> Env -> [TeX]
getTeXMath s e = concatMap (charToString e) s

-- Categories which require braces
commandTypes :: [TeXSymbolType]
commandTypes = [Accent, Rad, TOver, TUnder]

-- Guaranteed to return latex safe string
charToString :: Env -> Char -> [TeX]
charToString e c =
  fromMaybe fallback
    (charToLaTeXString e c <|> textConvert e c)
  where
    fallback = concatMap asciiToLaTeX $ getASCII c
    asciiToLaTeX ac = fromMaybe [escapeLaTeX ac] (charToLaTeXString e ac)

-- Takes a single character and attempts to convert it to a latex string
charToLaTeXString :: Env -> Char -> Maybe [TeX]
charToLaTeXString environment c = do
  v <- M.lookup c recordsMap
  -- Required packages for the command
  let toLit [x] = [Token x]
      toLit []   = []
      toLit cs   = [Literal cs]
  let cmds = commands v
  raw <- lookup "base" cmds
          <|> listToMaybe (mapMaybe (flip lookup cmds) environment)
  let latexCommand = if isControlSeq raw
                        then [ControlSeq raw]
                        else toLit raw
  return $ if category v `elem` commandTypes
              then latexCommand ++ [Grouped []]
              else latexCommand

-- Convert special unicode characters not in the standard mapping
textConvert :: Env -> Char -> Maybe [TeX]
textConvert env c = do
  (ttype, v) <- fromUnicodeChar c
  return [ControlSeq (S.getLaTeXTextCommand env ttype), Grouped [Token v]]


recordsMap :: M.Map Char Record
recordsMap = M.fromList (map f records)
  where
    f r = (uchar r, r)

-- | Returns TeX symbol type corresponding to a unicode character.
getSymbolType :: Char -> TeXSymbolType
getSymbolType c = fromMaybe Ord (category <$> M.lookup c recordsMap)


records :: [Record]
records =
  [ Record {uchar = '!', commands = [("base","!"),("unicode-math","\\exclam")], category = Pun, comments = "EXCLAMATION MARK"}
  , Record {uchar = '#', commands = [("base","\\#"),("oz","\\#"),("unicode-math","\\octothorpe")], category = Ord, comments = "NUMBER SIGN"}
  , Record {uchar = '$', commands = [("base","\\$"),("base","\\mathdollar"),("unicode-math","\\mathdollar")], category = Ord, comments = "DOLLAR SIGN"}
  , Record {uchar = '%', commands = [("base","\\%"),("unicode-math","\\percent")], category = Ord, comments = "PERCENT SIGN"}
  , Record {uchar = '&', commands = [("base","\\&"),("stmaryrd","\\binampersand"),("unicode-math","\\ampersand")], category = Ord, comments = ""}
  , Record {uchar = '(', commands = [("base","("),("unicode-math","\\lparen")], category = Open, comments = "LEFT PARENTHESIS"}
  , Record {uchar = ')', commands = [("base",")"),("unicode-math","\\rparen")], category = Close, comments = "RIGHT PARENTHESIS"}
  , Record {uchar = '*', commands = [("base","*"),("base","\\ast"),("unicode-math","")], category = Ord, comments = "(high) ASTERISK, star"}
  , Record {uchar = '+', commands = [("base","+"),("unicode-math","\\plus")], category = Bin, comments = "PLUS SIGN"}
  , Record {uchar = ',', commands = [("base",","),("unicode-math","\\comma")], category = Pun, comments = "COMMA"}
  , Record {uchar = '-', commands = [("base","-"),("unicode-math","")], category = Bin, comments = "t -, HYPHEN-MINUS (deprecated for math)"}
  , Record {uchar = '.', commands = [("base","."),("unicode-math","\\period")], category = Alpha, comments = "FULL STOP, period"}
  , Record {uchar = '/', commands = [("base","/"),("base","\\slash"),("unicode-math","\\mathslash")], category = Ord, comments = "SOLIDUS"}
  , Record {uchar = '0', commands = [("base","0"),("unicode-math","")], category = Ord, comments = "DIGIT ZERO"}
  , Record {uchar = '1', commands = [("base","1"),("unicode-math","")], category = Ord, comments = "DIGIT ONE"}
  , Record {uchar = '2', commands = [("base","2"),("unicode-math","")], category = Ord, comments = "DIGIT TWO"}
  , Record {uchar = '3', commands = [("base","3"),("unicode-math","")], category = Ord, comments = "DIGIT THREE"}
  , Record {uchar = '4', commands = [("base","4"),("unicode-math","")], category = Ord, comments = "DIGIT FOUR"}
  , Record {uchar = '5', commands = [("base","5"),("unicode-math","")], category = Ord, comments = "DIGIT FIVE"}
  , Record {uchar = '6', commands = [("base","6"),("unicode-math","")], category = Ord, comments = "DIGIT SIX"}
  , Record {uchar = '7', commands = [("base","7"),("unicode-math","")], category = Ord, comments = "DIGIT SEVEN"}
  , Record {uchar = '8', commands = [("base","8"),("unicode-math","")], category = Ord, comments = "DIGIT EIGHT"}
  , Record {uchar = '9', commands = [("base","9"),("unicode-math","")], category = Ord, comments = "DIGIT NINE"}
  , Record {uchar = ':', commands = [("base",":"),("literal","\\colon"),("unicode-math","\\mathcolon")], category = Pun, comments = "COLON (not ratio)"}
  , Record {uchar = ';', commands = [("base",";"),("unicode-math","\\semicolon")], category = Pun, comments = "SEMICOLON p:"}
  , Record {uchar = '<', commands = [("base","<"),("unicode-math","\\less")], category = Rel, comments = "LESS-THAN SIGN r:"}
  , Record {uchar = '=', commands = [("base","="),("unicode-math","\\equal")], category = Rel, comments = "EQUALS SIGN r:"}
  , Record {uchar = '>', commands = [("base",">"),("unicode-math","\\greater")], category = Rel, comments = "GREATER-THAN SIGN r:"}
  , Record {uchar = '?', commands = [("base","?"),("unicode-math","\\question")], category = Ord, comments = "QUESTION MARK"}
  , Record {uchar = '@', commands = [("base","@"),("unicode-math","\\atsign")], category = Ord, comments = "at"}
  , Record {uchar = 'A', commands = [("base","A"),("base","\\mathrm{A}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER A"}
  , Record {uchar = 'B', commands = [("base","B"),("base","\\mathrm{B}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER B"}
  , Record {uchar = 'C', commands = [("base","C"),("base","\\mathrm{C}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER C"}
  , Record {uchar = 'D', commands = [("base","D"),("base","\\mathrm{D}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER D"}
  , Record {uchar = 'E', commands = [("base","E"),("base","\\mathrm{E}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER E"}
  , Record {uchar = 'F', commands = [("base","F"),("base","\\mathrm{F}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER F"}
  , Record {uchar = 'G', commands = [("base","G"),("base","\\mathrm{G}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER G"}
  , Record {uchar = 'H', commands = [("base","H"),("base","\\mathrm{H}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER H"}
  , Record {uchar = 'I', commands = [("base","I"),("base","\\mathrm{I}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER I"}
  , Record {uchar = 'J', commands = [("base","J"),("base","\\mathrm{J}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER J"}
  , Record {uchar = 'K', commands = [("base","K"),("base","\\mathrm{K}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER K"}
  , Record {uchar = 'L', commands = [("base","L"),("base","\\mathrm{L}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER L"}
  , Record {uchar = 'M', commands = [("base","M"),("base","\\mathrm{M}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER M"}
  , Record {uchar = 'N', commands = [("base","N"),("base","\\mathrm{N}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER N"}
  , Record {uchar = 'O', commands = [("base","O"),("base","\\mathrm{O}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER O"}
  , Record {uchar = 'P', commands = [("base","P"),("base","\\mathrm{P}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER P"}
  , Record {uchar = 'Q', commands = [("base","Q"),("base","\\mathrm{Q}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER Q"}
  , Record {uchar = 'R', commands = [("base","R"),("base","\\mathrm{R}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER R"}
  , Record {uchar = 'S', commands = [("base","S"),("base","\\mathrm{S}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER S"}
  , Record {uchar = 'T', commands = [("base","T"),("base","\\mathrm{T}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER T"}
  , Record {uchar = 'U', commands = [("base","U"),("base","\\mathrm{U}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER U"}
  , Record {uchar = 'V', commands = [("base","V"),("base","\\mathrm{V}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER V"}
  , Record {uchar = 'W', commands = [("base","W"),("base","\\mathrm{W}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER W"}
  , Record {uchar = 'X', commands = [("base","X"),("base","\\mathrm{X}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER X"}
  , Record {uchar = 'Y', commands = [("base","Y"),("base","\\mathrm{Y}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER Y"}
  , Record {uchar = 'Z', commands = [("base","Z"),("base","\\mathrm{Z}"),("unicode-math","")], category = Alpha, comments = "LATIN CAPITAL LETTER Z"}
  , Record {uchar = '[', commands = [("base","\\lbrack"),("unicode-math","\\lbrack")], category = Open, comments = "LEFT SQUARE BRACKET"}
  , Record {uchar = '\\', commands = [("base","\\backslash"),("unicode-math","\\backslash")], category = Ord, comments = "REVERSE SOLIDUS"}
  , Record {uchar = ']', commands = [("base","\\rbrack"),("unicode-math","\\rbrack")], category = Close, comments = "RIGHT SQUARE BRACKET"}
  , Record {uchar = '^', commands = [("base","\\hat{}"),("mathord",""),("unicode-math","\\sphat")], category = Ord, comments = "amsxtra^CIRCUMFLEX ACCENT, TeX superscript operator"}
  , Record {uchar = '_', commands = [("base","\\_"),("unicode-math","")], category = Ord, comments = "LOW LINE, TeX subscript operator"}
  , Record {uchar = '`', commands = [("base",""),("unicode-math","")], category = Ord, comments = "grave, alias for 0300"}
  , Record {uchar = 'a', commands = [("base","a"),("base","\\mathrm{a}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER A"}
  , Record {uchar = 'b', commands = [("base","b"),("base","\\mathrm{b}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER B"}
  , Record {uchar = 'c', commands = [("base","c"),("base","\\mathrm{c}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER C"}
  , Record {uchar = 'd', commands = [("base","d"),("base","\\mathrm{d}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER D"}
  , Record {uchar = 'e', commands = [("base","e"),("base","\\mathrm{e}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER E"}
  , Record {uchar = 'f', commands = [("base","f"),("base","\\mathrm{f}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER F"}
  , Record {uchar = 'g', commands = [("base","g"),("base","\\mathrm{g}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER G"}
  , Record {uchar = 'h', commands = [("base","h"),("base","\\mathrm{h}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER H"}
  , Record {uchar = 'i', commands = [("base","i"),("base","\\mathrm{i}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER I"}
  , Record {uchar = 'j', commands = [("base","j"),("base","\\mathrm{j}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER J"}
  , Record {uchar = 'k', commands = [("base","k"),("base","\\mathrm{k}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER K"}
  , Record {uchar = 'l', commands = [("base","l"),("base","\\mathrm{l}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER L"}
  , Record {uchar = 'm', commands = [("base","m"),("base","\\mathrm{m}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER M"}
  , Record {uchar = 'n', commands = [("base","n"),("base","\\mathrm{n}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER N"}
  , Record {uchar = 'o', commands = [("base","o"),("base","\\mathrm{o}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER O"}
  , Record {uchar = 'p', commands = [("base","p"),("base","\\mathrm{p}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER P"}
  , Record {uchar = 'q', commands = [("base","q"),("base","\\mathrm{q}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER Q"}
  , Record {uchar = 'r', commands = [("base","r"),("base","\\mathrm{r}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER R"}
  , Record {uchar = 's', commands = [("base","s"),("base","\\mathrm{s}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER S"}
  , Record {uchar = 't', commands = [("base","t"),("base","\\mathrm{t}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER T"}
  , Record {uchar = 'u', commands = [("base","u"),("base","\\mathrm{u}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER U"}
  , Record {uchar = 'v', commands = [("base","v"),("base","\\mathrm{v}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER V"}
  , Record {uchar = 'w', commands = [("base","w"),("base","\\mathrm{w}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER W"}
  , Record {uchar = 'x', commands = [("base","x"),("base","\\mathrm{x}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER X"}
  , Record {uchar = 'y', commands = [("base","y"),("base","\\mathrm{y}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER Y"}
  , Record {uchar = 'z', commands = [("base","z"),("base","\\mathrm{z}"),("unicode-math","")], category = Alpha, comments = "LATIN SMALL LETTER Z"}
  , Record {uchar = '{', commands = [("base","\\{"),("base","\\lbrace"),("unicode-math","\\lbrace")], category = Open, comments = "LEFT CURLY BRACKET"}
  , Record {uchar = '|', commands = [("base","|"),("base","\\vert"),("unicode-math","\\vert")], category = Fence, comments = "vertical bar"}
  , Record {uchar = '}', commands = [("base","\\}"),("base","\\rbrace"),("unicode-math","\\rbrace")], category = Close, comments = "RIGHT CURLY BRACKET"}
  , Record {uchar = '~', commands = [("amsxtra","\\sptilde"),("base","\\sim"),("unicode-math","")], category = Ord, comments = "TILDE"}
  , Record {uchar = '\160', commands = [("base","~"),("unicode-math","")], category = Ord, comments = "nbsp"}
  , Record {uchar = '\161', commands = [("base",""),("unicode-math","")], category = Ord, comments = "iexcl"}
  , Record {uchar = '\162', commands = [("wasysym","\\cent"),("txfonts","\\mathcent"),("unicode-math","")], category = Ord, comments = "cent"}
  , Record {uchar = '\163', commands = [("base","\\pounds"),("txfonts","\\mathsterling"),("unicode-math","\\sterling")], category = Ord, comments = "POUND SIGN, fourier prints a dollar sign"}
  , Record {uchar = '\164', commands = [("base",""),("unicode-math","")], category = Ord, comments = "t \\currency (wasysym), curren"}
  , Record {uchar = '\165', commands = [("amsfonts","\\yen"),("unicode-math","\\yen")], category = Ord, comments = "YEN SIGN"}
  , Record {uchar = '\166', commands = [("base",""),("unicode-math","")], category = Ord, comments = "brvbar (vertical)"}
  , Record {uchar = '\167', commands = [("base",""),("unicode-math","")], category = Ord, comments = "sect"}
  , Record {uchar = '\168', commands = [("amsxtra","\\spddot"),("unicode-math","")], category = Ord, comments = "Dot /die, alias for 0308"}
  , Record {uchar = '\172', commands = [("base","\\neg"),("base","\\lnot"),("unicode-math","\\neg")], category = Ord, comments = "NOT SIGN"}
  , Record {uchar = '\174', commands = [("amsfonts","\\circledR"),("unicode-math","")], category = Ord, comments = "REGISTERED SIGN"}
  , Record {uchar = '\175', commands = [("base",""),("unicode-math","")], category = Ord, comments = "macr, alias for 0304"}
  , Record {uchar = '\176', commands = [("base",""),("unicode-math","")], category = Ord, comments = "deg"}
  , Record {uchar = '\177', commands = [("base","\\pm"),("unicode-math","\\pm")], category = Bin, comments = "plus-or-minus sign"}
  , Record {uchar = '\178', commands = [("base",""),("unicode-math","")], category = Ord, comments = "sup2"}
  , Record {uchar = '\179', commands = [("base",""),("unicode-math","")], category = Ord, comments = "sup3"}
  , Record {uchar = '\180', commands = [("base",""),("unicode-math","")], category = Ord, comments = "acute, alias for 0301"}
  , Record {uchar = '\181', commands = [("wrisym","\\Micro"),("mathcomp","\\tcmu"),("unicode-math","")], category = Alpha, comments = "t \\textmu (textcomp), # \\mathrm{\\mu} (omlmathrm), # \\muup (kpfonts mathdesign), MICRO SIGN"}
  , Record {uchar = '\182', commands = [("base",""),("unicode-math","")], category = Ord, comments = "para (paragraph sign, pilcrow)"}
  , Record {uchar = '\183', commands = [("base",""),("base","\\cdot"),("unicode-math","\\cdotp")], category = Bin, comments = "x \\centerdot, b: MIDDLE DOT"}
  , Record {uchar = '\185', commands = [("base",""),("unicode-math","")], category = Ord, comments = "sup1"}
  , Record {uchar = '\188', commands = [("base",""),("unicode-math","")], category = Ord, comments = "frac14"}
  , Record {uchar = '\189', commands = [("base",""),("unicode-math","")], category = Ord, comments = "frac12"}
  , Record {uchar = '\190', commands = [("base",""),("unicode-math","")], category = Ord, comments = "frac34"}
  , Record {uchar = '\191', commands = [("base",""),("unicode-math","")], category = Ord, comments = "iquest"}
  , Record {uchar = '\215', commands = [("base","\\times"),("unicode-math","\\times")], category = Bin, comments = "MULTIPLICATION SIGN, z notation Cartesian product"}
  , Record {uchar = '\240', commands = [("amssymb","\\eth"),("arevmath","\\eth"),("unicode-math","\\matheth")], category = Alpha, comments = "eth"}
  , Record {uchar = '\247', commands = [("base","\\div"),("unicode-math","\\div")], category = Bin, comments = "divide sign"}
  , Record {uchar = '\305', commands = [("base","\\imath"),("unicode-math","")], category = Alpha, comments = "imath"}
  , Record {uchar = '\437', commands = [("base",""),("unicode-math","\\Zbar")], category = Ord, comments = "impedance"}
  , Record {uchar = '\567', commands = [("base","\\jmath"),("unicode-math","")], category = Alpha, comments = "jmath"}
  , Record {uchar = '\710', commands = [("base","\\hat{}"),("unicode-math","")], category = Alpha, comments = "circ, alias for 0302"}
  , Record {uchar = '\711', commands = [("base",""),("unicode-math","")], category = Alpha, comments = "CARON, alias for 030C"}
  , Record {uchar = '\728', commands = [("base",""),("unicode-math","")], category = Ord, comments = "BREVE, alias for 0306"}
  , Record {uchar = '\729', commands = [("base",""),("unicode-math","")], category = Ord, comments = "dot, alias for 0307"}
  , Record {uchar = '\730', commands = [("base",""),("unicode-math","")], category = Ord, comments = "ring, alias for 030A"}
  , Record {uchar = '\732', commands = [("base",""),("unicode-math","")], category = Ord, comments = "tilde, alias for 0303"}
  , Record {uchar = '\768', commands = [("base","\\grave"),("unicode-math","\\grave")], category = Accent, comments = "grave accent"}
  , Record {uchar = '\769', commands = [("base","\\acute"),("unicode-math","\\acute")], category = Accent, comments = "acute accent"}
  , Record {uchar = '\770', commands = [("base","\\hat"),("amssymb","\\widehat"),("unicode-math","\\hat")], category = Accent, comments = "circumflex accent"}
  , Record {uchar = '\771', commands = [("base","\\tilde"),("yhmath, fourier","\\widetilde"),("unicode-math","\\tilde")], category = Accent, comments = "tilde"}
  , Record {uchar = '\772', commands = [("base","\\bar"),("unicode-math","\\bar")], category = Accent, comments = "macron"}
  , Record {uchar = '\773', commands = [("base","\\overline"),("unicode-math","\\overbar")], category = Accent, comments = "overbar embellishment"}
  , Record {uchar = '\774', commands = [("base","\\breve"),("unicode-math","\\breve")], category = Accent, comments = "breve"}
  , Record {uchar = '\775', commands = [("base","\\dot"),("wrisym","\\Dot"),("unicode-math","\\dot")], category = Accent, comments = "dot above"}
  , Record {uchar = '\776', commands = [("base","\\ddot"),("wrisym","\\DDot"),("unicode-math","\\ddot")], category = Accent, comments = "dieresis"}
  , Record {uchar = '\777', commands = [("base",""),("unicode-math","\\ovhook")], category = Accent, comments = "COMBINING HOOK ABOVE"}
  , Record {uchar = '\778', commands = [("amssymb","\\mathring"),("yhmath","\\ring"),("unicode-math","\\ocirc")], category = Accent, comments = "ring"}
  , Record {uchar = '\780', commands = [("base","\\check"),("unicode-math","\\check")], category = Accent, comments = "caron"}
  , Record {uchar = '\784', commands = [("base",""),("unicode-math","\\candra")], category = Accent, comments = "candrabindu (non-spacing)"}
  , Record {uchar = '\785', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING INVERTED BREVE"}
  , Record {uchar = '\786', commands = [("base",""),("unicode-math","\\oturnedcomma")], category = Accent, comments = "COMBINING TURNED COMMA ABOVE"}
  , Record {uchar = '\789', commands = [("base",""),("unicode-math","\\ocommatopright")], category = Accent, comments = "COMBINING COMMA ABOVE RIGHT"}
  , Record {uchar = '\794', commands = [("base",""),("unicode-math","\\droang")], category = Accent, comments = "left angle above (non-spacing)"}
  , Record {uchar = '\803', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING DOT BELOW"}
  , Record {uchar = '\812', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING CARON BELOW"}
  , Record {uchar = '\813', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING CIRCUMFLEX ACCENT BELOW"}
  , Record {uchar = '\814', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING BREVE BELOW"}
  , Record {uchar = '\815', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING INVERTED BREVE BELOW"}
  , Record {uchar = '\816', commands = [("undertilde","\\utilde"),("unicode-math","\\wideutilde")], category = Accent, comments = "under tilde accent (multiple characters and non-spacing)"}
  , Record {uchar = '\817', commands = [("base","\\underbar"),("unicode-math","\\underbar")], category = Accent, comments = "COMBINING MACRON BELOW"}
  , Record {uchar = '\818', commands = [("base","\\underline"),("unicode-math","")], category = Accent, comments = "COMBINING LOW LINE"}
  , Record {uchar = '\819', commands = [("base",""),("unicode-math","")], category = Accent, comments = "2lowbar"}
  , Record {uchar = '\824', commands = [("base","\\not"),("unicode-math","\\not")], category = Accent, comments = "COMBINING LONG SOLIDUS OVERLAY"}
  , Record {uchar = '\826', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING INVERTED BRIDGE BELOW"}
  , Record {uchar = '\831', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING DOUBLE OVERLINE"}
  , Record {uchar = '\838', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING BRIDGE ABOVE"}
  , Record {uchar = '\913', commands = [("base",""),("unicode-math","\\upAlpha")], category = Alpha, comments = "capital alpha, greek"}
  , Record {uchar = '\914', commands = [("base",""),("unicode-math","\\upBeta")], category = Alpha, comments = "capital beta, greek"}
  , Record {uchar = '\915', commands = [("base","\\Gamma"),("-slantedGreek","\\Gamma"),("unicode-math","\\upGamma")], category = Alpha, comments = "= \\mathrm{\\Gamma}, capital gamma, greek"}
  , Record {uchar = '\916', commands = [("base","\\Delta"),("-slantedGreek","\\Delta"),("unicode-math","\\upDelta")], category = Alpha, comments = "= \\mathrm{\\Delta}, capital delta, greek"}
  , Record {uchar = '\917', commands = [("base",""),("unicode-math","\\upEpsilon")], category = Alpha, comments = "capital epsilon, greek"}
  , Record {uchar = '\918', commands = [("base",""),("unicode-math","\\upZeta")], category = Alpha, comments = "capital zeta, greek"}
  , Record {uchar = '\919', commands = [("base",""),("unicode-math","\\upEta")], category = Alpha, comments = "capital eta, greek"}
  , Record {uchar = '\920', commands = [("base","\\Theta"),("-slantedGreek","\\Theta"),("unicode-math","\\upTheta")], category = Alpha, comments = "= \\mathrm{\\Theta}, capital theta, greek"}
  , Record {uchar = '\921', commands = [("base",""),("unicode-math","\\upIota")], category = Alpha, comments = "capital iota, greek"}
  , Record {uchar = '\922', commands = [("base",""),("unicode-math","\\upKappa")], category = Alpha, comments = "capital kappa, greek"}
  , Record {uchar = '\923', commands = [("base","\\Lambda"),("-slantedGreek","\\Lambda"),("unicode-math","\\upLambda")], category = Alpha, comments = "= \\mathrm{\\Lambda}, capital lambda, greek"}
  , Record {uchar = '\924', commands = [("base",""),("unicode-math","\\upMu")], category = Alpha, comments = "capital mu, greek"}
  , Record {uchar = '\925', commands = [("base",""),("unicode-math","\\upNu")], category = Alpha, comments = "capital nu, greek"}
  , Record {uchar = '\926', commands = [("base","\\Xi"),("-slantedGreek","\\Xi"),("unicode-math","\\upXi")], category = Alpha, comments = "= \\mathrm{\\Xi}, capital xi, greek"}
  , Record {uchar = '\927', commands = [("base",""),("unicode-math","\\upOmicron")], category = Alpha, comments = "capital omicron, greek"}
  , Record {uchar = '\928', commands = [("base","\\Pi"),("-slantedGreek","\\Pi"),("unicode-math","\\upPi")], category = Alpha, comments = "= \\mathrm{\\Pi}, capital pi, greek"}
  , Record {uchar = '\929', commands = [("base",""),("unicode-math","\\upRho")], category = Alpha, comments = "capital rho, greek"}
  , Record {uchar = '\931', commands = [("base","\\Sigma"),("-slantedGreek","\\Sigma"),("unicode-math","\\upSigma")], category = Alpha, comments = "= \\mathrm{\\Sigma}, capital sigma, greek"}
  , Record {uchar = '\932', commands = [("base",""),("unicode-math","\\upTau")], category = Alpha, comments = "capital tau, greek"}
  , Record {uchar = '\933', commands = [("base","\\Upsilon"),("-slantedGreek","\\Upsilon"),("unicode-math","\\upUpsilon")], category = Alpha, comments = "= \\mathrm{\\Upsilon}, capital upsilon, greek"}
  , Record {uchar = '\934', commands = [("base","\\Phi"),("-slantedGreek","\\Phi"),("unicode-math","\\upPhi")], category = Alpha, comments = "= \\mathrm{\\Phi}, capital phi, greek"}
  , Record {uchar = '\935', commands = [("base",""),("unicode-math","\\upChi")], category = Alpha, comments = "capital chi, greek"}
  , Record {uchar = '\936', commands = [("base","\\Psi"),("-slantedGreek","\\Psi"),("unicode-math","\\upPsi")], category = Alpha, comments = "= \\mathrm{\\Psi}, capital psi, greek"}
  , Record {uchar = '\937', commands = [("base","\\Omega"),("-slantedGreek","\\Omega"),("unicode-math","\\upOmega")], category = Alpha, comments = "= \\mathrm{\\Omega}, capital omega, greek"}
  , Record {uchar = '\945', commands = [("base","\\alpha"),("omlmathrm","\\mathrm{\\alpha}"),("unicode-math","\\upalpha")], category = Alpha, comments = "= \\alphaup (kpfonts mathdesign), = \\upalpha (upgreek), alpha, greek"}
  , Record {uchar = '\946', commands = [("base","\\beta"),("omlmathrm","\\mathrm{\\beta}"),("unicode-math","\\upbeta")], category = Alpha, comments = "= \\betaup (kpfonts mathdesign), = \\upbeta (upgreek), beta, greek"}
  , Record {uchar = '\947', commands = [("base","\\gamma"),("omlmathrm","\\mathrm{\\gamma}"),("unicode-math","\\upgamma")], category = Alpha, comments = "= \\gammaup (kpfonts mathdesign), = \\upgamma (upgreek), gamma, greek"}
  , Record {uchar = '\948', commands = [("base","\\delta"),("omlmathrm","\\mathrm{\\delta}"),("unicode-math","\\updelta")], category = Alpha, comments = "= \\deltaup (kpfonts mathdesign), = \\updelta (upgreek), delta, greek"}
  , Record {uchar = '\949', commands = [("base","\\varepsilon"),("omlmathrm","\\mathrm{\\varepsilon}"),("unicode-math","\\upepsilon")], category = Alpha, comments = "= \\varepsilonup (kpfonts mathdesign), = \\upepsilon (upgreek), rounded epsilon, greek"}
  , Record {uchar = '\950', commands = [("base","\\zeta"),("omlmathrm","\\mathrm{\\zeta}"),("unicode-math","\\upzeta")], category = Alpha, comments = "= \\zetaup (kpfonts mathdesign), = \\upzeta (upgreek), zeta, greek"}
  , Record {uchar = '\951', commands = [("base","\\eta"),("omlmathrm","\\mathrm{\\eta}"),("unicode-math","\\upeta")], category = Alpha, comments = "= \\etaup (kpfonts mathdesign), = \\upeta (upgreek), eta, greek"}
  , Record {uchar = '\952', commands = [("base","\\theta"),("omlmathrm","\\mathrm{\\theta}"),("unicode-math","\\uptheta")], category = Alpha, comments = "= \\thetaup (kpfonts mathdesign), straight theta, = \\uptheta (upgreek), theta, greek"}
  , Record {uchar = '\953', commands = [("base","\\iota"),("omlmathrm","\\mathrm{\\iota}"),("unicode-math","\\upiota")], category = Alpha, comments = "= \\iotaup (kpfonts mathdesign), = \\upiota (upgreek), iota, greek"}
  , Record {uchar = '\954', commands = [("base","\\kappa"),("omlmathrm","\\mathrm{\\kappa}"),("unicode-math","\\upkappa")], category = Alpha, comments = "= \\kappaup (kpfonts mathdesign), = \\upkappa (upgreek), kappa, greek"}
  , Record {uchar = '\955', commands = [("base","\\lambda"),("omlmathrm","\\mathrm{\\lambda}"),("unicode-math","\\uplambda")], category = Alpha, comments = "= \\lambdaup (kpfonts mathdesign), = \\uplambda (upgreek), lambda, greek"}
  , Record {uchar = '\956', commands = [("base","\\mu"),("omlmathrm","\\mathrm{\\mu}"),("unicode-math","\\upmu")], category = Alpha, comments = "= \\muup (kpfonts mathdesign), = \\upmu (upgreek), mu, greek"}
  , Record {uchar = '\957', commands = [("base","\\nu"),("omlmathrm","\\mathrm{\\nu}"),("unicode-math","\\upnu")], category = Alpha, comments = "= \\nuup (kpfonts mathdesign), = \\upnu (upgreek), nu, greek"}
  , Record {uchar = '\958', commands = [("base","\\xi"),("omlmathrm","\\mathrm{\\xi}"),("unicode-math","\\upxi")], category = Alpha, comments = "= \\xiup (kpfonts mathdesign), = \\upxi (upgreek), xi, greek"}
  , Record {uchar = '\959', commands = [("base",""),("unicode-math","\\upomicron")], category = Alpha, comments = "small omicron, greek"}
  , Record {uchar = '\960', commands = [("base","\\pi"),("omlmathrm","\\mathrm{\\pi}"),("unicode-math","\\uppi")], category = Alpha, comments = "= \\piup (kpfonts mathdesign), = \\uppi (upgreek), pi, greek"}
  , Record {uchar = '\961', commands = [("base","\\rho"),("omlmathrm","\\mathrm{\\rho}"),("unicode-math","\\uprho")], category = Alpha, comments = "= \\rhoup (kpfonts mathdesign), = \\uprho (upgreek), rho, greek"}
  , Record {uchar = '\962', commands = [("base","\\varsigma"),("omlmathrm","\\mathrm{\\varsigma}"),("unicode-math","\\upvarsigma")], category = Alpha, comments = "= \\varsigmaup (kpfonts mathdesign), = \\upvarsigma (upgreek), terminal sigma, greek"}
  , Record {uchar = '\963', commands = [("base","\\sigma"),("omlmathrm","\\mathrm{\\sigma}"),("unicode-math","\\upsigma")], category = Alpha, comments = "= \\sigmaup (kpfonts mathdesign), = \\upsigma (upgreek), sigma, greek"}
  , Record {uchar = '\964', commands = [("base","\\tau"),("omlmathrm","\\mathrm{\\tau}"),("unicode-math","\\uptau")], category = Alpha, comments = "= \\tauup (kpfonts mathdesign), = \\uptau (upgreek), tau, greek"}
  , Record {uchar = '\965', commands = [("base","\\upsilon"),("omlmathrm","\\mathrm{\\upsilon}"),("unicode-math","\\upupsilon")], category = Alpha, comments = "= \\upsilonup (kpfonts mathdesign), = \\upupsilon (upgreek), upsilon, greek"}
  , Record {uchar = '\966', commands = [("base","\\varphi"),("omlmathrm","\\mathrm{\\varphi}"),("unicode-math","\\upvarphi")], category = Alpha, comments = "= \\varphiup (kpfonts mathdesign), = \\upvarphi (upgreek), curly or open phi, greek"}
  , Record {uchar = '\967', commands = [("base","\\chi"),("omlmathrm","\\mathrm{\\chi}"),("unicode-math","\\upchi")], category = Alpha, comments = "= \\chiup (kpfonts mathdesign), = \\upchi (upgreek), chi, greek"}
  , Record {uchar = '\968', commands = [("base","\\psi"),("omlmathrm","\\mathrm{\\psi}"),("unicode-math","\\uppsi")], category = Alpha, comments = "= \\psiup (kpfonts mathdesign), = \\uppsi (upgreek), psi, greek"}
  , Record {uchar = '\969', commands = [("base","\\omega"),("omlmathrm","\\mathrm{\\omega}"),("unicode-math","\\upomega")], category = Alpha, comments = "= \\omegaup (kpfonts mathdesign), = \\upomega (upgreek), omega, greek"}
  , Record {uchar = '\976', commands = [("arevmath","\\varbeta"),("unicode-math","\\upvarbeta")], category = Alpha, comments = "rounded beta, greek"}
  , Record {uchar = '\977', commands = [("base","\\vartheta"),("omlmathrm","\\mathrm{\\vartheta}"),("unicode-math","\\upvartheta")], category = Alpha, comments = "= \\varthetaup (kpfonts mathdesign), curly or open theta"}
  , Record {uchar = '\978', commands = [("base",""),("base","\\mathrm{\\Upsilon}"),("unicode-math","\\upUpsilon")], category = Alpha, comments = "GREEK UPSILON WITH HOOK SYMBOL"}
  , Record {uchar = '\981', commands = [("base","\\phi"),("omlmathrm","\\mathrm{\\phi}"),("unicode-math","\\upphi")], category = Alpha, comments = "= \\phiup (kpfonts mathdesign), GREEK PHI SYMBOL (straight)"}
  , Record {uchar = '\982', commands = [("base","\\varpi"),("omlmathrm","\\mathrm{\\varpi}"),("unicode-math","\\upvarpi")], category = Alpha, comments = "= \\varpiup (kpfonts mathdesign), GREEK PI SYMBOL (pomega)"}
  , Record {uchar = '\984', commands = [("arevmath","\\Qoppa"),("wrisym","\\Koppa"),("unicode-math","\\upoldKoppa")], category = Ord, comments = "t \\Qoppa (LGR), GREEK LETTER ARCHAIC KOPPA"}
  , Record {uchar = '\985', commands = [("arevmath","\\qoppa"),("wrisym","\\koppa"),("unicode-math","\\upoldkoppa")], category = Ord, comments = "t \\qoppa (LGR), GREEK SMALL LETTER ARCHAIC KOPPA"}
  , Record {uchar = '\986', commands = [("arevmath","\\Stigma"),("wrisym","\\Stigma"),("unicode-math","\\upStigma")], category = Alpha, comments = "capital stigma"}
  , Record {uchar = '\987', commands = [("arevmath","\\stigma"),("wrisym","\\stigma"),("unicode-math","\\upstigma")], category = Alpha, comments = "GREEK SMALL LETTER STIGMA"}
  , Record {uchar = '\988', commands = [("wrisym","\\Digamma"),("amssymb","\\digamma"),("unicode-math","\\upDigamma")], category = Alpha, comments = "capital digamma"}
  , Record {uchar = '\989', commands = [("arevmath","\\digamma"),("wrisym","\\digamma"),("unicode-math","\\updigamma")], category = Alpha, comments = "GREEK SMALL LETTER DIGAMMA"}
  , Record {uchar = '\990', commands = [("arevmath","\\Koppa"),("unicode-math","\\upKoppa")], category = Alpha, comments = "capital koppa"}
  , Record {uchar = '\991', commands = [("arevmath","\\koppa"),("unicode-math","\\upkoppa")], category = Alpha, comments = "GREEK SMALL LETTER KOPPA"}
  , Record {uchar = '\992', commands = [("arevmath","\\Sampi"),("wrisym","\\Sampi"),("unicode-math","\\upSampi")], category = Alpha, comments = "capital sampi"}
  , Record {uchar = '\993', commands = [("arevmath","\\sampi"),("wrisym","\\sampi"),("unicode-math","\\upsampi")], category = Alpha, comments = "GREEK SMALL LETTER SAMPI"}
  , Record {uchar = '\1008', commands = [("base",""),("unicode-math","\\upvarkappa")], category = Alpha, comments = "GREEK KAPPA SYMBOL (round)"}
  , Record {uchar = '\1009', commands = [("base","\\varrho"),("omlmathrm","\\mathrm{\\varrho}"),("unicode-math","\\upvarrho")], category = Alpha, comments = "= \\varrhoup (kpfonts mathdesign), GREEK RHO SYMBOL (round)"}
  , Record {uchar = '\1012', commands = [("base",""),("unicode-math","\\upvarTheta")], category = Alpha, comments = "x \\varTheta (amssymb), GREEK CAPITAL THETA SYMBOL"}
  , Record {uchar = '\1013', commands = [("base","\\epsilon"),("omlmathrm","\\mathrm{\\epsilon}"),("unicode-math","\\upvarepsilon")], category = Alpha, comments = "= \\epsilonup (kpfonts mathdesign), GREEK LUNATE EPSILON SYMBOL"}
  , Record {uchar = '\1014', commands = [("amssymb","\\backepsilon"),("wrisym","\\backepsilon"),("unicode-math","\\upbackepsilon")], category = Ord, comments = "GREEK REVERSED LUNATE EPSILON SYMBOL"}
  , Record {uchar = '\1064', commands = [("base",""),("unicode-math","")], category = Alpha, comments = "t \\CYRSHHA (T2A), Shcy, CYRILLIC CAPITAL LETTER SHA"}
  , Record {uchar = '\8192', commands = [("base",""),("unicode-math","")], category = Ord, comments = "enquad"}
  , Record {uchar = '\8193', commands = [("base","\\quad"),("unicode-math","")], category = Ord, comments = "emquad"}
  , Record {uchar = '\8194', commands = [("base",""),("unicode-math","")], category = Ord, comments = "ensp (half an em)"}
  , Record {uchar = '\8195', commands = [("base",""),("unicode-math","")], category = Ord, comments = "emsp"}
  , Record {uchar = '\8196', commands = [("base",""),("unicode-math","")], category = Ord, comments = "THREE-PER-EM SPACE"}
  , Record {uchar = '\8197', commands = [("base",""),("unicode-math","")], category = Ord, comments = "FOUR-PER-EM SPACE, mid space"}
  , Record {uchar = '\8198', commands = [("base",""),("unicode-math","")], category = Ord, comments = "SIX-PER-EM SPACE"}
  , Record {uchar = '\8199', commands = [("base",""),("unicode-math","")], category = Ord, comments = "FIGURE SPACE"}
  , Record {uchar = '\8201', commands = [("base","\\,"),("unicode-math","")], category = Ord, comments = "THIN SPACE"}
  , Record {uchar = '\8202', commands = [("base",""),("unicode-math","")], category = Ord, comments = "HAIR SPACE"}
  , Record {uchar = '\8203', commands = [("base",""),("base","\\hspace{0pt}"),("unicode-math","")], category = Ord, comments = "zwsp"}
  , Record {uchar = '\8208', commands = [("base",""),("unicode-math","")], category = Ord, comments = "HYPHEN (true graphic)"}
  , Record {uchar = '\8210', commands = [("base",""),("unicode-math","")], category = Ord, comments = "dash"}
  , Record {uchar = '\8211', commands = [("base",""),("unicode-math","")], category = Ord, comments = "ndash"}
  , Record {uchar = '\8212', commands = [("base",""),("unicode-math","")], category = Ord, comments = "mdash"}
  , Record {uchar = '\8213', commands = [("base",""),("unicode-math","\\horizbar")], category = Ord, comments = "HORIZONTAL BAR"}
  , Record {uchar = '\8214', commands = [("base","\\|"),("base","\\Vert"),("unicode-math","\\Vert")], category = Fence, comments = "double vertical bar"}
  , Record {uchar = '\8215', commands = [("base",""),("unicode-math","\\twolowline")], category = Ord, comments = "DOUBLE LOW LINE (spacing)"}
  , Record {uchar = '\8220', commands = [("base","``")], category = Pun, comments = "Opening curly quote"}
  , Record {uchar = '\8221', commands = [("base","\"")], category = Pun, comments = "Closing curly quote"}
  , Record {uchar = '\8224', commands = [("base","\\dagger"),("unicode-math","\\dagger")], category = Bin, comments = "DAGGER relation"}
  , Record {uchar = '\8225', commands = [("base","\\ddagger"),("unicode-math","\\ddagger")], category = Bin, comments = "DOUBLE DAGGER relation"}
  , Record {uchar = '\8226', commands = [("base",""),("base","\\bullet"),("unicode-math","\\smblkcircle")], category = Bin, comments = "b: round BULLET, filled"}
  , Record {uchar = '\8229', commands = [("base",""),("unicode-math","\\enleadertwodots")], category = Ord, comments = "double baseline dot (en leader)"}
  , Record {uchar = '\8230', commands = [("base","\\ldots"),("unicode-math","\\unicodeellipsis")], category = Ord, comments = "ellipsis (horizontal)"}
  , Record {uchar = '\8242', commands = [("base","\\prime"),("unicode-math","\\prime")], category = Ord, comments = "PRIME or minute, not superscripted"}
  , Record {uchar = '\8243', commands = [("mathabx","\\second"),("unicode-math","\\dprime")], category = Ord, comments = "DOUBLE PRIME or second, not superscripted"}
  , Record {uchar = '\8244', commands = [("mathabx","\\third"),("unicode-math","\\trprime")], category = Ord, comments = "TRIPLE PRIME (not superscripted)"}
  , Record {uchar = '\8245', commands = [("amssymb","\\backprime"),("unicode-math","\\backprime")], category = Ord, comments = "reverse prime, not superscripted"}
  , Record {uchar = '\8246', commands = [("base",""),("unicode-math","\\backdprime")], category = Ord, comments = "double reverse prime, not superscripted"}
  , Record {uchar = '\8247', commands = [("base",""),("unicode-math","\\backtrprime")], category = Ord, comments = "triple reverse prime, not superscripted"}
  , Record {uchar = '\8248', commands = [("base",""),("unicode-math","\\caretinsert")], category = Ord, comments = "CARET (insertion mark)"}
  , Record {uchar = '\8251', commands = [("base",""),("unicode-math","")], category = Ord, comments = "REFERENCE MARK, Japanese kome jirushi"}
  , Record {uchar = '\8252', commands = [("base",""),("base","!!"),("unicode-math","\\Exclam")], category = Ord, comments = "DOUBLE EXCLAMATION MARK"}
  , Record {uchar = '\8256', commands = [("oz","\\cat"),("unicode-math","\\tieconcat")], category = Bin, comments = "CHARACTER TIE, z notation sequence concatenation"}
  , Record {uchar = '\8259', commands = [("base",""),("unicode-math","\\hyphenbullet")], category = Ord, comments = "rectangle, filled (HYPHEN BULLET)"}
  , Record {uchar = '\8260', commands = [("base",""),("base","/"),("unicode-math","\\fracslash")], category = Bin, comments = "FRACTION SLASH"}
  , Record {uchar = '\8263', commands = [("base",""),("base","??"),("unicode-math","\\Question")], category = Ord, comments = "DOUBLE QUESTION MARK"}
  , Record {uchar = '\8270', commands = [("base",""),("base","\\ast"),("unicode-math","")], category = Bin, comments = "lowast, LOW ASTERISK"}
  , Record {uchar = '\8271', commands = [("base",""),("unicode-math","")], category = Ord, comments = "bsemi, REVERSED SEMICOLON"}
  , Record {uchar = '\8272', commands = [("base",""),("unicode-math","\\closure")], category = Rel, comments = "CLOSE UP (editing mark)"}
  , Record {uchar = '\8273', commands = [("base",""),("unicode-math","")], category = Ord, comments = "Ast"}
  , Record {uchar = '\8274', commands = [("base",""),("base","./."),("unicode-math","")], category = Ord, comments = "COMMERCIAL MINUS SIGN"}
  , Record {uchar = '\8279', commands = [("mathabx","\\fourth"),("unicode-math","\\qprime")], category = Ord, comments = "QUADRUPLE PRIME, not superscripted"}
  , Record {uchar = '\8287', commands = [("base","\\:"),("amsmath","\\medspace"),("unicode-math","")], category = Ord, comments = "MEDIUM MATHEMATICAL SPACE, four-eighteenths of an em"}
  , Record {uchar = '\8289', commands = [("base",""),("unicode-math","")], category = Ord, comments = "FUNCTION APPLICATION"}
  , Record {uchar = '\8290', commands = [("base",""),("unicode-math","")], category = Ord, comments = "INVISIBLE TIMES"}
  , Record {uchar = '\8291', commands = [("base",""),("unicode-math","")], category = Ord, comments = "INVISIBLE SEPARATOR"}
  , Record {uchar = '\8292', commands = [("base",""),("unicode-math","")], category = Ord, comments = "INVISIBLE PLUS"}
  , Record {uchar = '\8314', commands = [("base",""),("unicode-math","")], category = Ord, comments = "SUPERSCRIPT PLUS SIGN subscript operators"}
  , Record {uchar = '\8315', commands = [("base",""),("unicode-math","")], category = Ord, comments = "SUPERSCRIPT MINUS subscript operators"}
  , Record {uchar = '\8316', commands = [("base",""),("unicode-math","")], category = Ord, comments = "SUPERSCRIPT EQUALS SIGN subscript operators"}
  , Record {uchar = '\8317', commands = [("base",""),("unicode-math","")], category = Open, comments = "SUPERSCRIPT LEFT PARENTHESIS subscript operators"}
  , Record {uchar = '\8318', commands = [("base",""),("unicode-math","")], category = Close, comments = "SUPERSCRIPT RIGHT PARENTHESIS subscript operators"}
  , Record {uchar = '\8330', commands = [("base",""),("unicode-math","")], category = Ord, comments = "SUBSCRIPT PLUS SIGN superscript operators"}
  , Record {uchar = '\8331', commands = [("base",""),("unicode-math","")], category = Ord, comments = "SUBSCRIPT MINUS superscript operators"}
  , Record {uchar = '\8332', commands = [("base",""),("unicode-math","")], category = Ord, comments = "SUBSCRIPT EQUALS SIGN superscript operators"}
  , Record {uchar = '\8333', commands = [("base",""),("unicode-math","")], category = Open, comments = "SUBSCRIPT LEFT PARENTHESIS superscript operators"}
  , Record {uchar = '\8334', commands = [("base",""),("unicode-math","")], category = Close, comments = "SUBSCRIPT RIGHT PARENTHESIS superscript operators"}
  , Record {uchar = '\8364', commands = [("base",""),("unicode-math","\\euro")], category = Ord, comments = "EURO SIGN"}
  , Record {uchar = '\8400', commands = [("wrisym","\\lvec"),("unicode-math","\\leftharpoonaccent")], category = Accent, comments = "COMBINING LEFT HARPOON ABOVE"}
  , Record {uchar = '\8401', commands = [("wrisym","\\vec"),("unicode-math","\\rightharpoonaccent")], category = Accent, comments = "COMBINING RIGHT HARPOON ABOVE"}
  , Record {uchar = '\8402', commands = [("base",""),("unicode-math","\\vertoverlay")], category = Accent, comments = "COMBINING LONG VERTICAL LINE OVERLAY"}
  , Record {uchar = '\8403', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING SHORT VERTICAL LINE OVERLAY"}
  , Record {uchar = '\8404', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING ANTICLOCKWISE ARROW ABOVE"}
  , Record {uchar = '\8406', commands = [("wrisym","\\LVec"),("base","\\overleftarrow"),("unicode-math","\\overleftarrow")], category = Accent, comments = "COMBINING LEFT ARROW ABOVE"}
  , Record {uchar = '\8407', commands = [("base","\\vec"),("wrisym","\\Vec"),("unicode-math","\\vec")], category = Accent, comments = "# \\overrightarrow, COMBINING RIGHT ARROW ABOVE"}
  , Record {uchar = '\8408', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING RING OVERLAY"}
  , Record {uchar = '\8409', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING CLOCKWISE RING OVERLAY"}
  , Record {uchar = '\8410', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING ANTICLOCKWISE RING OVERLAY"}
  , Record {uchar = '\8411', commands = [("amsmath","\\dddot"),("wrisym","\\DDDot"),("unicode-math","\\dddot")], category = Accent, comments = "COMBINING THREE DOTS ABOVE"}
  , Record {uchar = '\8412', commands = [("amsmath","\\ddddot"),("unicode-math","\\ddddot")], category = Accent, comments = "COMBINING FOUR DOTS ABOVE"}
  , Record {uchar = '\8413', commands = [("base",""),("unicode-math","\\enclosecircle")], category = Accent, comments = "COMBINING ENCLOSING CIRCLE"}
  , Record {uchar = '\8414', commands = [("base",""),("unicode-math","\\enclosesquare")], category = Accent, comments = "COMBINING ENCLOSING SQUARE"}
  , Record {uchar = '\8415', commands = [("base",""),("unicode-math","\\enclosediamond")], category = Accent, comments = "COMBINING ENCLOSING DIAMOND"}
  , Record {uchar = '\8417', commands = [("amsmath","\\overleftrightarrow"),("unicode-math","\\overleftrightarrow")], category = Accent, comments = "COMBINING LEFT RIGHT ARROW ABOVE"}
  , Record {uchar = '\8420', commands = [("base",""),("unicode-math","\\enclosetriangle")], category = Accent, comments = "COMBINING ENCLOSING UPWARD POINTING TRIANGLE"}
  , Record {uchar = '\8421', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING REVERSE SOLIDUS OVERLAY"}
  , Record {uchar = '\8422', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING DOUBLE VERTICAL STROKE OVERLAY, z notation finite function diacritic"}
  , Record {uchar = '\8423', commands = [("base",""),("unicode-math","\\annuity")], category = Accent, comments = "COMBINING ANNUITY SYMBOL"}
  , Record {uchar = '\8424', commands = [("base",""),("unicode-math","\\threeunderdot")], category = Accent, comments = "COMBINING TRIPLE UNDERDOT"}
  , Record {uchar = '\8425', commands = [("base",""),("unicode-math","\\widebridgeabove")], category = Accent, comments = "COMBINING WIDE BRIDGE ABOVE"}
  , Record {uchar = '\8426', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING LEFTWARDS ARROW OVERLAY"}
  , Record {uchar = '\8427', commands = [("base",""),("unicode-math","")], category = Accent, comments = "COMBINING LONG DOUBLE SOLIDUS OVERLAY"}
  , Record {uchar = '\8428', commands = [("base",""),("unicode-math","\\underrightharpoondown")], category = Accent, comments = "COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS"}
  , Record {uchar = '\8429', commands = [("base",""),("unicode-math","\\underleftharpoondown")], category = Accent, comments = "COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS"}
  , Record {uchar = '\8430', commands = [("amsmath","\\underleftarrow"),("unicode-math","\\underleftarrow")], category = Accent, comments = "COMBINING LEFT ARROW BELOW"}
  , Record {uchar = '\8431', commands = [("amsmath","\\underrightarrow"),("unicode-math","\\underrightarrow")], category = Accent, comments = "COMBINING RIGHT ARROW BELOW"}
  , Record {uchar = '\8432', commands = [("base",""),("unicode-math","\\asteraccent")], category = Accent, comments = "COMBINING ASTERISK ABOVE"}
  , Record {uchar = '\8450', commands = [("mathbb","\\mathbb{C}"),("dsfont","\\mathds{C}"),("unicode-math","\\BbbC")], category = Alpha, comments = "open face C"}
  , Record {uchar = '\8455', commands = [("wrisym","\\Euler"),("unicode-math","\\Eulerconst")], category = Ord, comments = "EULER CONSTANT"}
  , Record {uchar = '\8458', commands = [("urwchancal","\\mathcal{g}"),("unicode-math","\\mscrg")], category = Alpha, comments = "/scr g, script small letter g"}
  , Record {uchar = '\8459', commands = [("base","\\mathcal{H}"),("unicode-math","\\mscrH")], category = Alpha, comments = "hamiltonian (script capital H)"}
  , Record {uchar = '\8460', commands = [("eufrak","\\mathfrak{H}"),("unicode-math","\\mfrakH")], category = Alpha, comments = "/frak H, black-letter capital H"}
  , Record {uchar = '\8461', commands = [("mathbb","\\mathbb{H}"),("dsfont","\\mathds{H}"),("unicode-math","\\BbbH")], category = Alpha, comments = "open face capital H"}
  , Record {uchar = '\8462', commands = [("base",""),("base","h"),("unicode-math","\\Planckconst")], category = Ord, comments = "Planck constant"}
  , Record {uchar = '\8463', commands = [("amssymb","\\hslash"),("fourier","\\hslash"),("arevmath","\\hslash"),("wrisym","\\HBar"),("unicode-math","\\hslash")], category = Alpha, comments = "#\\hbar, Planck's h over 2pi"}
  , Record {uchar = '\8464', commands = [("base","\\mathcal{I}"),("unicode-math","\\mscrI")], category = Alpha, comments = "/scr I, script capital I"}
  , Record {uchar = '\8465', commands = [("base","\\Im"),("eufrak","\\mathfrak{I}"),("unicode-math","\\Im")], category = Alpha, comments = "imaginary part"}
  , Record {uchar = '\8466', commands = [("base","\\mathcal{L}"),("unicode-math","\\mscrL")], category = Alpha, comments = "lagrangian (script capital L)"}
  , Record {uchar = '\8467', commands = [("base","\\ell"),("unicode-math","\\ell")], category = Alpha, comments = "cursive small l"}
  , Record {uchar = '\8469', commands = [("mathbb","\\mathbb{N}"),("dsfont","\\mathds{N}"),("unicode-math","\\BbbN")], category = Alpha, comments = "open face N"}
  , Record {uchar = '\8472', commands = [("amssymb","\\wp"),("unicode-math","\\wp")], category = Alpha, comments = "weierstrass p"}
  , Record {uchar = '\8473', commands = [("mathbb","\\mathbb{P}"),("dsfont","\\mathds{P}"),("unicode-math","\\BbbP")], category = Alpha, comments = "open face P"}
  , Record {uchar = '\8474', commands = [("mathbb","\\mathbb{Q}"),("dsfont","\\mathds{Q}"),("unicode-math","\\BbbQ")], category = Alpha, comments = "open face Q"}
  , Record {uchar = '\8475', commands = [("base","\\mathcal{R}"),("unicode-math","\\mscrR")], category = Alpha, comments = "/scr R, script capital R"}
  , Record {uchar = '\8476', commands = [("base","\\Re"),("eufrak","\\mathfrak{R}"),("unicode-math","\\Re")], category = Alpha, comments = "real part"}
  , Record {uchar = '\8477', commands = [("mathbb","\\mathbb{R}"),("dsfont","\\mathds{R}"),("unicode-math","\\BbbR")], category = Alpha, comments = "open face R"}
  , Record {uchar = '\8484', commands = [("mathbb","\\mathbb{Z}"),("dsfont","\\mathds{Z}"),("unicode-math","\\BbbZ")], category = Alpha, comments = "open face Z"}
  , Record {uchar = '\8486', commands = [("mathcomp","\\tcohm"),("base","\\mathrm{\\Omega}"),("unicode-math","")], category = Alpha, comments = "ohm (deprecated in math, use greek letter)"}
  , Record {uchar = '\8487', commands = [("amsfonts","\\mho"),("arevmath","\\mho"),("wrisym","\\Mho"),("unicode-math","\\mho")], category = Ord, comments = "t \\agemO (wasysym), conductance"}
  , Record {uchar = '\8488', commands = [("eufrak","\\mathfrak{Z}"),("unicode-math","\\mfrakZ")], category = Alpha, comments = "/frak Z, black-letter capital Z"}
  , Record {uchar = '\8489', commands = [("base",""),("unicode-math","\\turnediota")], category = Alpha, comments = "turned iota"}
  , Record {uchar = '\8491', commands = [("wrisym","\\Angstroem"),("base","\\mathring{\\mathrm{A}}"),("unicode-math","\\Angstrom")], category = Alpha, comments = "\197ngstr\246m capital A with ring"}
  , Record {uchar = '\8492', commands = [("base","\\mathcal{B}"),("unicode-math","\\mscrB")], category = Alpha, comments = "bernoulli function (script capital B)"}
  , Record {uchar = '\8493', commands = [("eufrak","\\mathfrak{C}"),("unicode-math","\\mfrakC")], category = Alpha, comments = "black-letter capital C"}
  , Record {uchar = '\8495', commands = [("urwchancal","\\mathcal{e}"),("unicode-math","\\mscre")], category = Alpha, comments = "/scr e, script small letter e"}
  , Record {uchar = '\8496', commands = [("base","\\mathcal{E}"),("unicode-math","\\mscrE")], category = Alpha, comments = "/scr E, script capital E"}
  , Record {uchar = '\8497', commands = [("base","\\mathcal{F}"),("unicode-math","\\mscrF")], category = Alpha, comments = "/scr F, script capital F"}
  , Record {uchar = '\8498', commands = [("amssymb","\\Finv"),("unicode-math","\\Finv")], category = Ord, comments = "TURNED CAPITAL F"}
  , Record {uchar = '\8499', commands = [("base","\\mathcal{M}"),("unicode-math","\\mscrM")], category = Alpha, comments = "physics m-matrix (SCRIPT CAPITAL M)"}
  , Record {uchar = '\8500', commands = [("urwchancal","\\mathcal{o}"),("unicode-math","\\mscro")], category = Alpha, comments = "order of (SCRIPT SMALL O)"}
  , Record {uchar = '\8501', commands = [("base","\\aleph"),("unicode-math","\\aleph")], category = Alpha, comments = "aleph, hebrew"}
  , Record {uchar = '\8502', commands = [("amssymb","\\beth"),("wrisym","\\beth"),("unicode-math","\\beth")], category = Alpha, comments = "beth, hebrew"}
  , Record {uchar = '\8503', commands = [("amssymb","\\gimel"),("wrisym","\\gimel"),("unicode-math","\\gimel")], category = Alpha, comments = "gimel, hebrew"}
  , Record {uchar = '\8504', commands = [("amssymb","\\daleth"),("wrisym","\\daleth"),("unicode-math","\\daleth")], category = Alpha, comments = "daleth, hebrew"}
  , Record {uchar = '\8508', commands = [("bbold","\\mathbb{\\pi}"),("unicode-math","\\Bbbpi")], category = Ord, comments = "\\DoublePi (wrisym), DOUBLE-STRUCK SMALL PI"}
  , Record {uchar = '\8509', commands = [("bbold","\\mathbb{\\gamma}"),("unicode-math","\\Bbbgamma")], category = Alpha, comments = "\\EulerGamma (wrisym), DOUBLE-STRUCK SMALL GAMMA"}
  , Record {uchar = '\8510', commands = [("bbold","\\mathbb{\\Gamma}"),("unicode-math","\\BbbGamma")], category = Alpha, comments = "DOUBLE-STRUCK CAPITAL GAMMA"}
  , Record {uchar = '\8511', commands = [("bbold","\\mathbb{\\Pi}"),("unicode-math","\\BbbPi")], category = Alpha, comments = "DOUBLE-STRUCK CAPITAL PI"}
  , Record {uchar = '\8512', commands = [("bbold","\\mathbb{\\Sigma}"),("unicode-math","\\Bbbsum")], category = Op, comments = "DOUBLE-STRUCK N-ARY SUMMATION"}
  , Record {uchar = '\8513', commands = [("base",""),("amssymb","\\Game"),("unicode-math","\\Game")], category = Ord, comments = "TURNED SANS-SERIF CAPITAL G (amssymb has mirrored G)"}
  , Record {uchar = '\8514', commands = [("base",""),("unicode-math","\\sansLturned")], category = Ord, comments = "TURNED SANS-SERIF CAPITAL L"}
  , Record {uchar = '\8515', commands = [("base",""),("unicode-math","\\sansLmirrored")], category = Ord, comments = "REVERSED SANS-SERIF CAPITAL L"}
  , Record {uchar = '\8516', commands = [("stmaryrd","\\Yup"),("unicode-math","\\Yup")], category = Ord, comments = "TURNED SANS-SERIF CAPITAL Y"}
  , Record {uchar = '\8517', commands = [("wrisym","\\CapitalDifferentialD"),("wrisym","\\DD"),("unicode-math","\\mitBbbD")], category = Ord, comments = "DOUBLE-STRUCK ITALIC CAPITAL D"}
  , Record {uchar = '\8518', commands = [("wrisym","\\DifferentialD"),("wrisym","\\dd"),("unicode-math","\\mitBbbd")], category = Ord, comments = "DOUBLE-STRUCK ITALIC SMALL D"}
  , Record {uchar = '\8519', commands = [("wrisym","\\ExponetialE"),("wrisym","\\ee"),("unicode-math","\\mitBbbe")], category = Ord, comments = "DOUBLE-STRUCK ITALIC SMALL E"}
  , Record {uchar = '\8520', commands = [("wrisym","\\ComplexI"),("wrisym","\\ii"),("unicode-math","\\mitBbbi")], category = Ord, comments = "DOUBLE-STRUCK ITALIC SMALL I"}
  , Record {uchar = '\8521', commands = [("wrisym","\\ComplexJ"),("wrisym","\\jj"),("unicode-math","\\mitBbbj")], category = Ord, comments = "DOUBLE-STRUCK ITALIC SMALL J"}
  , Record {uchar = '\8522', commands = [("base",""),("unicode-math","\\PropertyLine")], category = Ord, comments = "PROPERTY LINE"}
  , Record {uchar = '\8523', commands = [("txfonts","\\invamp"),("stmaryrd","\\bindnasrepma"),("unicode-math","\\upand")], category = Bin, comments = "TURNED AMPERSAND"}
  , Record {uchar = '\8592', commands = [("base","\\leftarrow"),("base","\\gets"),("unicode-math","\\leftarrow")], category = Rel, comments = "a: leftward arrow"}
  , Record {uchar = '\8593', commands = [("base","\\uparrow"),("unicode-math","\\uparrow")], category = Rel, comments = "upward arrow"}
  , Record {uchar = '\8594', commands = [("base","\\rightarrow"),("base","\\to"),("unicode-math","\\rightarrow")], category = Rel, comments = "= \\tfun (oz), = \\fun (oz), rightward arrow, z notation total function"}
  , Record {uchar = '\8595', commands = [("base","\\downarrow"),("unicode-math","\\downarrow")], category = Rel, comments = "downward arrow"}
  , Record {uchar = '\8596', commands = [("base","\\leftrightarrow"),("oz","\\rel"),("unicode-math","\\leftrightarrow")], category = Rel, comments = "LEFT RIGHT ARROW, z notation relation"}
  , Record {uchar = '\8597', commands = [("base","\\updownarrow"),("unicode-math","\\updownarrow")], category = Rel, comments = "up and down arrow"}
  , Record {uchar = '\8598', commands = [("amssymb","\\nwarrow"),("unicode-math","\\nwarrow")], category = Rel, comments = "nw pointing arrow"}
  , Record {uchar = '\8599', commands = [("base","\\nearrow"),("unicode-math","\\nearrow")], category = Rel, comments = "ne pointing arrow"}
  , Record {uchar = '\8600', commands = [("base","\\searrow"),("unicode-math","\\searrow")], category = Rel, comments = "se pointing arrow"}
  , Record {uchar = '\8601', commands = [("base","\\swarrow"),("unicode-math","\\swarrow")], category = Rel, comments = "sw pointing arrow"}
  , Record {uchar = '\8602', commands = [("amssymb","\\nleftarrow"),("unicode-math","\\nleftarrow")], category = Rel, comments = "not left arrow"}
  , Record {uchar = '\8603', commands = [("amssymb","\\nrightarrow"),("unicode-math","\\nrightarrow")], category = Rel, comments = "not right arrow"}
  , Record {uchar = '\8604', commands = [("base",""),("unicode-math","\\leftwavearrow")], category = Rel, comments = "left arrow-wavy"}
  , Record {uchar = '\8605', commands = [("base",""),("unicode-math","\\rightwavearrow")], category = Rel, comments = "right arrow-wavy"}
  , Record {uchar = '\8606', commands = [("amssymb","\\twoheadleftarrow"),("unicode-math","\\twoheadleftarrow")], category = Rel, comments = "left two-headed arrow"}
  , Record {uchar = '\8607', commands = [("base",""),("unicode-math","\\twoheaduparrow")], category = Rel, comments = "up two-headed arrow"}
  , Record {uchar = '\8608', commands = [("amssymb","\\twoheadrightarrow"),("oz","\\tsur"),("unicode-math","\\twoheadrightarrow")], category = Rel, comments = "= \\surj (oz), right two-headed arrow, z notation total surjection"}
  , Record {uchar = '\8609', commands = [("base",""),("unicode-math","\\twoheaddownarrow")], category = Rel, comments = "down two-headed arrow"}
  , Record {uchar = '\8610', commands = [("amssymb","\\leftarrowtail"),("unicode-math","\\leftarrowtail")], category = Rel, comments = "left arrow-tailed"}
  , Record {uchar = '\8611', commands = [("amssymb","\\rightarrowtail"),("oz","\\tinj"),("unicode-math","\\rightarrowtail")], category = Rel, comments = "= \\inj (oz), right arrow-tailed, z notation total injection"}
  , Record {uchar = '\8612', commands = [("stmaryrd","\\mapsfrom"),("kpfonts","\\mappedfrom"),("unicode-math","\\mapsfrom")], category = Rel, comments = "maps to, leftward"}
  , Record {uchar = '\8613', commands = [("wrisym","\\MapsUp"),("unicode-math","\\mapsup")], category = Rel, comments = "maps to, upward"}
  , Record {uchar = '\8614', commands = [("base","\\mapsto"),("unicode-math","\\mapsto")], category = Rel, comments = "maps to, rightward, z notation maplet"}
  , Record {uchar = '\8615', commands = [("wrisym","\\MapsDown"),("unicode-math","\\mapsdown")], category = Rel, comments = "maps to, downward"}
  , Record {uchar = '\8616', commands = [("base",""),("unicode-math","\\updownarrowbar")], category = Ord, comments = "UP DOWN ARROW WITH BASE (perpendicular)"}
  , Record {uchar = '\8617', commands = [("base","\\hookleftarrow"),("unicode-math","\\hookleftarrow")], category = Rel, comments = "left arrow-hooked"}
  , Record {uchar = '\8618', commands = [("base","\\hookrightarrow"),("unicode-math","\\hookrightarrow")], category = Rel, comments = "right arrow-hooked"}
  , Record {uchar = '\8619', commands = [("amssymb","\\looparrowleft"),("unicode-math","\\looparrowleft")], category = Rel, comments = "left arrow-looped"}
  , Record {uchar = '\8620', commands = [("amssymb","\\looparrowright"),("unicode-math","\\looparrowright")], category = Rel, comments = "right arrow-looped"}
  , Record {uchar = '\8621', commands = [("amssymb","\\leftrightsquigarrow"),("unicode-math","\\leftrightsquigarrow")], category = Rel, comments = "left and right arr-wavy"}
  , Record {uchar = '\8622', commands = [("amssymb","\\nleftrightarrow"),("unicode-math","\\nleftrightarrow")], category = Rel, comments = "not left and right arrow"}
  , Record {uchar = '\8623', commands = [("stmaryrd","\\lightning"),("unicode-math","\\downzigzagarrow")], category = Rel, comments = "t \\Lightning (marvosym), DOWNWARDS ZIGZAG ARROW"}
  , Record {uchar = '\8624', commands = [("amssymb","\\Lsh"),("unicode-math","\\Lsh")], category = Rel, comments = "a: UPWARDS ARROW WITH TIP LEFTWARDS"}
  , Record {uchar = '\8625', commands = [("amssymb","\\Rsh"),("unicode-math","\\Rsh")], category = Rel, comments = "a: UPWARDS ARROW WITH TIP RIGHTWARDS"}
  , Record {uchar = '\8626', commands = [("mathabx","\\dlsh"),("unicode-math","\\Ldsh")], category = Rel, comments = "left down angled arrow"}
  , Record {uchar = '\8627', commands = [("mathabx","\\drsh"),("unicode-math","\\Rdsh")], category = Rel, comments = "right down angled arrow"}
  , Record {uchar = '\8628', commands = [("base",""),("unicode-math","\\linefeed")], category = Ord, comments = "RIGHTWARDS ARROW WITH CORNER DOWNWARDS"}
  , Record {uchar = '\8629', commands = [("base",""),("unicode-math","\\carriagereturn")], category = Ord, comments = "downwards arrow with corner leftward = carriage return"}
  , Record {uchar = '\8630', commands = [("amssymb","\\curvearrowleft"),("fourier","\\curvearrowleft"),("unicode-math","\\curvearrowleft")], category = Rel, comments = "left curved arrow"}
  , Record {uchar = '\8631', commands = [("amssymb","\\curvearrowright"),("fourier","\\curvearrowright"),("unicode-math","\\curvearrowright")], category = Rel, comments = "right curved arrow"}
  , Record {uchar = '\8632', commands = [("base",""),("unicode-math","\\barovernorthwestarrow")], category = Ord, comments = "NORTH WEST ARROW TO LONG BAR"}
  , Record {uchar = '\8633', commands = [("base",""),("unicode-math","\\barleftarrowrightarrowba")], category = Ord, comments = "LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR"}
  , Record {uchar = '\8634', commands = [("amssymb","\\circlearrowleft"),("wasysym","\\leftturn"),("unicode-math","\\acwopencirclearrow")], category = Ord, comments = "ANTICLOCKWISE OPEN CIRCLE ARROW"}
  , Record {uchar = '\8635', commands = [("amssymb","\\circlearrowright"),("wasysym","\\rightturn"),("unicode-math","\\cwopencirclearrow")], category = Ord, comments = "CLOCKWISE OPEN CIRCLE ARROW"}
  , Record {uchar = '\8636', commands = [("base","\\leftharpoonup"),("unicode-math","\\leftharpoonup")], category = Rel, comments = "left harpoon-up"}
  , Record {uchar = '\8637', commands = [("base","\\leftharpoondown"),("unicode-math","\\leftharpoondown")], category = Rel, comments = "left harpoon-down"}
  , Record {uchar = '\8638', commands = [("amssymb","\\upharpoonright"),("amssymb","\\restriction"),("unicode-math","\\upharpoonright")], category = Rel, comments = "= \\upharpoonrightup (wrisym), a: up harpoon-right"}
  , Record {uchar = '\8639', commands = [("amssymb","\\upharpoonleft"),("wrisym","\\upharpoonleftup"),("unicode-math","\\upharpoonleft")], category = Rel, comments = "up harpoon-left"}
  , Record {uchar = '\8640', commands = [("base","\\rightharpoonup"),("unicode-math","\\rightharpoonup")], category = Rel, comments = "right harpoon-up"}
  , Record {uchar = '\8641', commands = [("base","\\rightharpoondown"),("unicode-math","\\rightharpoondown")], category = Rel, comments = "right harpoon-down"}
  , Record {uchar = '\8642', commands = [("amssymb","\\downharpoonright"),("wrisym","\\upharpoonrightdown"),("unicode-math","\\downharpoonright")], category = Rel, comments = "down harpoon-right"}
  , Record {uchar = '\8643', commands = [("amssymb","\\downharpoonleft"),("wrisym","\\upharpoonleftdown"),("unicode-math","\\downharpoonleft")], category = Rel, comments = "down harpoon-left"}
  , Record {uchar = '\8644', commands = [("amssymb","\\rightleftarrows"),("wrisym","\\rightleftarrow"),("unicode-math","\\rightleftarrows")], category = Rel, comments = "right arrow over left arrow"}
  , Record {uchar = '\8645', commands = [("mathabx","\\updownarrows"),("wrisym","\\uparrowdownarrow"),("unicode-math","\\updownarrows")], category = Rel, comments = "up arrow, down arrow"}
  , Record {uchar = '\8646', commands = [("amssymb","\\leftrightarrows"),("wrisym","\\leftrightarrow"),("unicode-math","\\leftrightarrows")], category = Rel, comments = "left arrow over right arrow"}
  , Record {uchar = '\8647', commands = [("amssymb","\\leftleftarrows"),("fourier","\\leftleftarrows"),("unicode-math","\\leftleftarrows")], category = Rel, comments = "two left arrows"}
  , Record {uchar = '\8648', commands = [("amssymb","\\upuparrows"),("unicode-math","\\upuparrows")], category = Rel, comments = "two up arrows"}
  , Record {uchar = '\8649', commands = [("amssymb","\\rightrightarrows"),("fourier","\\rightrightarrows"),("unicode-math","\\rightrightarrows")], category = Rel, comments = "two right arrows"}
  , Record {uchar = '\8650', commands = [("amssymb","\\downdownarrows"),("unicode-math","\\downdownarrows")], category = Rel, comments = "two down arrows"}
  , Record {uchar = '\8651', commands = [("amssymb","\\leftrightharpoons"),("wrisym","\\revequilibrium"),("unicode-math","\\leftrightharpoons")], category = Rel, comments = "left harpoon over right"}
  , Record {uchar = '\8652', commands = [("base","\\rightleftharpoons"),("wrisym","\\equilibrium"),("unicode-math","\\rightleftharpoons")], category = Rel, comments = "right harpoon over left"}
  , Record {uchar = '\8653', commands = [("amssymb","\\nLeftarrow"),("unicode-math","\\nLeftarrow")], category = Rel, comments = "not implied by"}
  , Record {uchar = '\8654', commands = [("amssymb","\\nLeftrightarrow"),("unicode-math","\\nLeftrightarrow")], category = Rel, comments = "not left and right double arrows"}
  , Record {uchar = '\8655', commands = [("amssymb","\\nRightarrow"),("unicode-math","\\nRightarrow")], category = Rel, comments = "not implies"}
  , Record {uchar = '\8656', commands = [("base","\\Leftarrow"),("unicode-math","\\Leftarrow")], category = Rel, comments = "left double arrow"}
  , Record {uchar = '\8657', commands = [("base","\\Uparrow"),("unicode-math","\\Uparrow")], category = Rel, comments = "up double arrow"}
  , Record {uchar = '\8658', commands = [("base","\\Rightarrow"),("unicode-math","\\Rightarrow")], category = Rel, comments = "right double arrow"}
  , Record {uchar = '\8659', commands = [("base","\\Downarrow"),("unicode-math","\\Downarrow")], category = Rel, comments = "down double arrow"}
  , Record {uchar = '\8660', commands = [("base","\\Leftrightarrow"),("unicode-math","\\Leftrightarrow")], category = Rel, comments = "left and right double arrow"}
  , Record {uchar = '\8661', commands = [("base","\\Updownarrow"),("unicode-math","\\Updownarrow")], category = Rel, comments = "up and down double arrow"}
  , Record {uchar = '\8662', commands = [("txfonts","\\Nwarrow"),("unicode-math","\\Nwarrow")], category = Rel, comments = "nw pointing double arrow"}
  , Record {uchar = '\8663', commands = [("txfonts","\\Nearrow"),("unicode-math","\\Nearrow")], category = Rel, comments = "ne pointing double arrow"}
  , Record {uchar = '\8664', commands = [("txfonts","\\Searrow"),("unicode-math","\\Searrow")], category = Rel, comments = "se pointing double arrow"}
  , Record {uchar = '\8665', commands = [("txfonts","\\Swarrow"),("unicode-math","\\Swarrow")], category = Rel, comments = "sw pointing double arrow"}
  , Record {uchar = '\8666', commands = [("amssymb","\\Lleftarrow"),("unicode-math","\\Lleftarrow")], category = Rel, comments = "left triple arrow"}
  , Record {uchar = '\8667', commands = [("amssymb","\\Rrightarrow"),("unicode-math","\\Rrightarrow")], category = Rel, comments = "right triple arrow"}
  , Record {uchar = '\8668', commands = [("mathabx","\\leftsquigarrow"),("txfonts","\\leftsquigarrow"),("unicode-math","\\leftsquigarrow")], category = Rel, comments = "LEFTWARDS SQUIGGLE ARROW"}
  , Record {uchar = '\8669', commands = [("amssymb","\\rightsquigarrow"),("unicode-math","\\rightsquigarrow")], category = Rel, comments = "RIGHTWARDS SQUIGGLE ARROW"}
  , Record {uchar = '\8670', commands = [("base",""),("unicode-math","\\nHuparrow")], category = Ord, comments = "UPWARDS ARROW WITH DOUBLE STROKE"}
  , Record {uchar = '\8671', commands = [("base",""),("unicode-math","\\nHdownarrow")], category = Ord, comments = "DOWNWARDS ARROW WITH DOUBLE STROKE"}
  , Record {uchar = '\8672', commands = [("amsfonts","\\dashleftarrow"),("unicode-math","\\leftdasharrow")], category = Ord, comments = "LEFTWARDS DASHED ARROW"}
  , Record {uchar = '\8673', commands = [("base",""),("unicode-math","\\updasharrow")], category = Ord, comments = "UPWARDS DASHED ARROW"}
  , Record {uchar = '\8674', commands = [("amsfonts","\\dashrightarrow"),("amsfonts","\\dasharrow"),("unicode-math","\\rightdasharrow")], category = Ord, comments = "RIGHTWARDS DASHED ARROW"}
  , Record {uchar = '\8675', commands = [("base",""),("unicode-math","\\downdasharrow")], category = Ord, comments = "DOWNWARDS DASHED ARROW"}
  , Record {uchar = '\8676', commands = [("wrisym","\\LeftArrowBar"),("unicode-math","\\barleftarrow")], category = Rel, comments = "LEFTWARDS ARROW TO BAR"}
  , Record {uchar = '\8677', commands = [("wrisym","\\RightArrowBar"),("unicode-math","\\rightarrowbar")], category = Rel, comments = "RIGHTWARDS ARROW TO BAR"}
  , Record {uchar = '\8678', commands = [("base",""),("unicode-math","\\leftwhitearrow")], category = Ord, comments = "LEFTWARDS WHITE ARROW"}
  , Record {uchar = '\8679', commands = [("base",""),("unicode-math","\\upwhitearrow")], category = Ord, comments = "UPWARDS WHITE ARROW"}
  , Record {uchar = '\8680', commands = [("base",""),("unicode-math","\\rightwhitearrow")], category = Ord, comments = "RIGHTWARDS WHITE ARROW"}
  , Record {uchar = '\8681', commands = [("base",""),("unicode-math","\\downwhitearrow")], category = Ord, comments = "DOWNWARDS WHITE ARROW"}
  , Record {uchar = '\8682', commands = [("base",""),("unicode-math","\\whitearrowupfrombar")], category = Ord, comments = "UPWARDS WHITE ARROW FROM BAR"}
  , Record {uchar = '\8683', commands = [("base",""),("unicode-math","")], category = Ord, comments = "UPWARDS WHITE ARROW ON PEDESTAL"}
  , Record {uchar = '\8684', commands = [("base",""),("unicode-math","")], category = Ord, comments = "UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR"}
  , Record {uchar = '\8685', commands = [("base",""),("unicode-math","")], category = Ord, comments = "UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR"}
  , Record {uchar = '\8686', commands = [("base",""),("unicode-math","")], category = Ord, comments = "UPWARDS WHITE DOUBLE ARROW"}
  , Record {uchar = '\8687', commands = [("base",""),("unicode-math","")], category = Ord, comments = "UPWARDS WHITE DOUBLE ARROW ON PEDESTAL"}
  , Record {uchar = '\8688', commands = [("base",""),("unicode-math","")], category = Ord, comments = "RIGHTWARDS WHITE ARROW FROM WALL"}
  , Record {uchar = '\8689', commands = [("base",""),("unicode-math","")], category = Ord, comments = "NORTH WEST ARROW TO CORNER"}
  , Record {uchar = '\8690', commands = [("base",""),("unicode-math","")], category = Ord, comments = "SOUTH EAST ARROW TO CORNER"}
  , Record {uchar = '\8691', commands = [("base",""),("unicode-math","")], category = Ord, comments = "UP DOWN WHITE ARROW"}
  , Record {uchar = '\8692', commands = [("base",""),("unicode-math","\\circleonrightarrow")], category = Rel, comments = "RIGHT ARROW WITH SMALL CIRCLE"}
  , Record {uchar = '\8693', commands = [("mathabx","\\downuparrows"),("wrisym","\\downarrowuparrow"),("unicode-math","\\downuparrows")], category = Rel, comments = "DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW"}
  , Record {uchar = '\8694', commands = [("base",""),("unicode-math","\\rightthreearrows")], category = Rel, comments = "THREE RIGHTWARDS ARROWS"}
  , Record {uchar = '\8695', commands = [("base",""),("unicode-math","\\nvleftarrow")], category = Rel, comments = "LEFTWARDS ARROW WITH VERTICAL STROKE"}
  , Record {uchar = '\8696', commands = [("oz","\\pfun"),("unicode-math","\\nvrightarrow")], category = Rel, comments = "RIGHTWARDS ARROW WITH VERTICAL STROKE, z notation partial function"}
  , Record {uchar = '\8697', commands = [("base",""),("unicode-math","\\nvleftrightarrow")], category = Rel, comments = "LEFT RIGHT ARROW WITH VERTICAL STROKE, z notation partial relation"}
  , Record {uchar = '\8698', commands = [("base",""),("unicode-math","\\nVleftarrow")], category = Rel, comments = "LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE"}
  , Record {uchar = '\8699', commands = [("oz","\\ffun"),("unicode-math","\\nVrightarrow")], category = Rel, comments = "RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE, z notation finite function"}
  , Record {uchar = '\8700', commands = [("base",""),("unicode-math","\\nVleftrightarrow")], category = Rel, comments = "LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE, z notation finite relation"}
  , Record {uchar = '\8701', commands = [("stmaryrd","\\leftarrowtriangle"),("unicode-math","\\leftarrowtriangle")], category = Rel, comments = "LEFTWARDS OPEN-HEADED ARROW"}
  , Record {uchar = '\8702', commands = [("stmaryrd","\\rightarrowtriangle"),("unicode-math","\\rightarrowtriangle")], category = Rel, comments = "RIGHTWARDS OPEN-HEADED ARROW"}
  , Record {uchar = '\8703', commands = [("stmaryrd","\\leftrightarrowtriangle"),("unicode-math","\\leftrightarrowtriangle")], category = Rel, comments = "LEFT RIGHT OPEN-HEADED ARROW"}
  , Record {uchar = '\8704', commands = [("base","\\forall"),("unicode-math","\\forall")], category = Ord, comments = "FOR ALL"}
  , Record {uchar = '\8705', commands = [("amssymb","\\complement"),("fourier","\\complement"),("unicode-math","\\complement")], category = Ord, comments = "COMPLEMENT sign"}
  , Record {uchar = '\8706', commands = [("base","\\partial"),("kpfonts","\\partialup"),("unicode-math","\\partial")], category = Ord, comments = "PARTIAL DIFFERENTIAL"}
  , Record {uchar = '\8707', commands = [("base","\\exists"),("oz","\\exi"),("unicode-math","\\exists")], category = Ord, comments = "at least one exists"}
  , Record {uchar = '\8708', commands = [("amssymb","\\nexists"),("fourier","\\nexists"),("oz","\\nexi"),("unicode-math","\\nexists")], category = Ord, comments = "negated exists"}
  , Record {uchar = '\8709', commands = [("amssymb","\\varnothing"),("unicode-math","\\varnothing")], category = Ord, comments = "circle, slash"}
  , Record {uchar = '\8710', commands = [("base",""),("base","\\mathrm{\\Delta}"),("unicode-math","\\increment")], category = Ord, comments = "laplacian (Delta; nabla square)"}
  , Record {uchar = '\8711', commands = [("base","\\nabla"),("unicode-math","\\nabla")], category = Ord, comments = "NABLA, del, hamilton operator"}
  , Record {uchar = '\8712', commands = [("base","\\in"),("unicode-math","\\in")], category = Rel, comments = "set membership, variant"}
  , Record {uchar = '\8713', commands = [("base","\\notin"),("wrisym","\\nin"),("unicode-math","\\notin")], category = Rel, comments = "negated set membership"}
  , Record {uchar = '\8714', commands = [("base",""),("unicode-math","\\smallin")], category = Rel, comments = "set membership (small set membership)"}
  , Record {uchar = '\8715', commands = [("base","\\ni"),("base","\\owns"),("unicode-math","\\ni")], category = Rel, comments = "contains, variant"}
  , Record {uchar = '\8716', commands = [("wrisym","\\nni"),("txfonts","\\notni"),("unicode-math","\\nni")], category = Rel, comments = "= \\notowner (mathabx), = \\notowns (fourier), negated contains, variant"}
  , Record {uchar = '\8717', commands = [("base",""),("unicode-math","\\smallni")], category = Rel, comments = "r: contains (SMALL CONTAINS AS MEMBER)"}
  , Record {uchar = '\8718', commands = [("base",""),("amssymb","\\blacksquare"),("unicode-math","\\QED")], category = Ord, comments = "END OF PROOF"}
  , Record {uchar = '\8719', commands = [("base","\\prod"),("unicode-math","\\prod")], category = Op, comments = "product operator"}
  , Record {uchar = '\8720', commands = [("base","\\coprod"),("unicode-math","\\coprod")], category = Op, comments = "coproduct operator"}
  , Record {uchar = '\8721', commands = [("base","\\sum"),("unicode-math","\\sum")], category = Op, comments = "summation operator"}
  , Record {uchar = '\8722', commands = [("base","-"),("unicode-math","\\minus")], category = Bin, comments = "MINUS SIGN"}
  , Record {uchar = '\8723', commands = [("base","\\mp"),("unicode-math","\\mp")], category = Bin, comments = "MINUS-OR-PLUS SIGN"}
  , Record {uchar = '\8724', commands = [("amssymb","\\dotplus"),("unicode-math","\\dotplus")], category = Bin, comments = "plus sign, dot above"}
  , Record {uchar = '\8725', commands = [("base","\\slash"),("unicode-math","\\divslash")], category = Bin, comments = "DIVISION SLASH"}
  , Record {uchar = '\8726', commands = [("amssymb","\\smallsetminus"),("fourier","\\smallsetminus"),("unicode-math","\\smallsetminus")], category = Bin, comments = "small SET MINUS (cf. reverse solidus)"}
  , Record {uchar = '\8727', commands = [("base","\\ast"),("unicode-math","\\ast")], category = Bin, comments = "ASTERISK OPERATOR (Hodge star operator)"}
  , Record {uchar = '\8728', commands = [("base","\\circ"),("unicode-math","\\vysmwhtcircle")], category = Bin, comments = "composite function (small circle)"}
  , Record {uchar = '\8729', commands = [("base","\\bullet"),("unicode-math","\\vysmblkcircle")], category = Bin, comments = "BULLET OPERATOR"}
  , Record {uchar = '\8730', commands = [("base","\\sqrt"),("unicode-math","\\sqrt")], category = Rad, comments = "radical"}
  , Record {uchar = '\8731', commands = [("base","\\sqrt[3]"),("unicode-math","\\cuberoot")], category = Rad, comments = "CUBE ROOT"}
  , Record {uchar = '\8732', commands = [("base","\\sqrt[4]"),("unicode-math","\\fourthroot")], category = Rad, comments = "FOURTH ROOT"}
  , Record {uchar = '\8733', commands = [("base","\\propto"),("amssymb","\\varpropto"),("unicode-math","\\propto")], category = Rel, comments = "is PROPORTIONAL TO"}
  , Record {uchar = '\8734', commands = [("base","\\infty"),("unicode-math","\\infty")], category = Ord, comments = "INFINITY"}
  , Record {uchar = '\8735', commands = [("wrisym","\\rightangle"),("unicode-math","\\rightangle")], category = Ord, comments = "right (90 degree) angle"}
  , Record {uchar = '\8736', commands = [("base","\\angle"),("unicode-math","\\angle")], category = Ord, comments = "ANGLE"}
  , Record {uchar = '\8737', commands = [("amssymb","\\measuredangle"),("wrisym","\\measuredangle"),("unicode-math","\\measuredangle")], category = Ord, comments = "MEASURED ANGLE"}
  , Record {uchar = '\8738', commands = [("amssymb","\\sphericalangle"),("wrisym","\\sphericalangle"),("unicode-math","\\sphericalangle")], category = Ord, comments = "SPHERICAL ANGLE"}
  , Record {uchar = '\8739', commands = [("base","\\mid"),("unicode-math","\\mid")], category = Rel, comments = "r: DIVIDES"}
  , Record {uchar = '\8740', commands = [("amssymb","\\nmid"),("unicode-math","\\nmid")], category = Rel, comments = "negated mid, DOES NOT DIVIDE"}
  , Record {uchar = '\8741', commands = [("base","\\parallel"),("unicode-math","\\parallel")], category = Rel, comments = "parallel"}
  , Record {uchar = '\8742', commands = [("amssymb","\\nparallel"),("fourier","\\nparallel"),("unicode-math","\\nparallel")], category = Rel, comments = "not parallel"}
  , Record {uchar = '\8743', commands = [("amssymb","\\wedge"),("base","\\land"),("unicode-math","\\wedge")], category = Bin, comments = "b: LOGICAL AND"}
  , Record {uchar = '\8744', commands = [("base","\\vee"),("base","\\lor"),("unicode-math","\\vee")], category = Bin, comments = "b: LOGICAL OR"}
  , Record {uchar = '\8745', commands = [("base","\\cap"),("unicode-math","\\cap")], category = Bin, comments = "INTERSECTION"}
  , Record {uchar = '\8746', commands = [("base","\\cup"),("unicode-math","\\cup")], category = Bin, comments = "UNION or logical sum"}
  , Record {uchar = '\8747', commands = [("base","\\int"),("unicode-math","\\int")], category = Op, comments = "INTEGRAL operator"}
  , Record {uchar = '\8748', commands = [("amsmath","\\iint"),("fourier","\\iint"),("esint","\\iint"),("wasysym","\\iint"),("unicode-math","\\iint")], category = Op, comments = "DOUBLE INTEGRAL operator"}
  , Record {uchar = '\8749', commands = [("amsmath","\\iiint"),("fourier","\\iiint"),("esint","\\iiint"),("wasysym","\\iiint"),("unicode-math","\\iiint")], category = Op, comments = "TRIPLE INTEGRAL operator"}
  , Record {uchar = '\8750', commands = [("base","\\oint"),("unicode-math","\\oint")], category = Op, comments = "CONTOUR INTEGRAL operator"}
  , Record {uchar = '\8751', commands = [("esint","\\oiint"),("wasysym","\\oiint"),("fourier","\\oiint"),("wrisym","\\dbloint"),("unicode-math","\\oiint")], category = Op, comments = "double contour integral operator"}
  , Record {uchar = '\8752', commands = [("txfonts","\\oiiint"),("fourier","\\oiiint"),("unicode-math","\\oiiint")], category = Op, comments = "triple contour integral operator"}
  , Record {uchar = '\8753', commands = [("base",""),("unicode-math","\\intclockwise")], category = Op, comments = "CLOCKWISE INTEGRAL"}
  , Record {uchar = '\8754', commands = [("esint","\\varointclockwise"),("wrisym","\\clockoint"),("unicode-math","\\varointclockwise")], category = Op, comments = "contour integral, clockwise"}
  , Record {uchar = '\8755', commands = [("esint","\\ointctrclockwise"),("wrisym","\\cntclockoint"),("unicode-math","\\ointctrclockwise")], category = Op, comments = "contour integral, anticlockwise"}
  , Record {uchar = '\8756', commands = [("amssymb","\\therefore"),("wrisym","\\therefore"),("wasysym","\\wasytherefore"),("unicode-math","\\therefore")], category = Ord, comments = "THEREFORE"}
  , Record {uchar = '\8757', commands = [("amssymb","\\because"),("wrisym","\\because"),("unicode-math","\\because")], category = Ord, comments = "BECAUSE"}
  , Record {uchar = '\8758', commands = [("base",":"),("unicode-math","\\mathratio")], category = Rel, comments = "x \\colon, RATIO"}
  , Record {uchar = '\8759', commands = [("wrisym","\\Proportion"),("base","::"),("unicode-math","\\Colon")], category = Rel, comments = "two colons"}
  , Record {uchar = '\8760', commands = [("base",""),("unicode-math","\\dotminus")], category = Bin, comments = "minus sign, dot above"}
  , Record {uchar = '\8761', commands = [("txfonts","\\eqcolon"),("base","-:"),("unicode-math","\\dashcolon")], category = Rel, comments = "EXCESS"}
  , Record {uchar = '\8762', commands = [("base",""),("unicode-math","\\dotsminusdots")], category = Rel, comments = "minus with four dots, GEOMETRIC PROPORTION"}
  , Record {uchar = '\8763', commands = [("base",""),("unicode-math","\\kernelcontraction")], category = Rel, comments = "HOMOTHETIC"}
  , Record {uchar = '\8764', commands = [("base","\\sim"),("unicode-math","\\sim")], category = Rel, comments = "similar to, TILDE OPERATOR"}
  , Record {uchar = '\8765', commands = [("amssymb","\\backsim"),("unicode-math","\\backsim")], category = Rel, comments = "reverse similar"}
  , Record {uchar = '\8766', commands = [("base",""),("unicode-math","\\invlazys")], category = Bin, comments = "most positive, INVERTED LAZY S"}
  , Record {uchar = '\8767', commands = [("wasysym","\\AC"),("unicode-math","\\sinewave")], category = Ord, comments = "SINE WAVE, alternating current"}
  , Record {uchar = '\8768', commands = [("amssymb","\\wr"),("unicode-math","\\wr")], category = Bin, comments = "WREATH PRODUCT"}
  , Record {uchar = '\8769', commands = [("amssymb","\\nsim"),("wrisym","\\nsim"),("unicode-math","\\nsim")], category = Rel, comments = "not similar"}
  , Record {uchar = '\8770', commands = [("amssymb","\\eqsim"),("unicode-math","\\eqsim")], category = Rel, comments = "equals, similar"}
  , Record {uchar = '\8771', commands = [("base","\\simeq"),("unicode-math","\\simeq")], category = Rel, comments = "similar, equals"}
  , Record {uchar = '\8772', commands = [("txfonts","\\nsimeq"),("unicode-math","\\nsime")], category = Rel, comments = "not similar, equals"}
  , Record {uchar = '\8773', commands = [("base","\\cong"),("unicode-math","\\cong")], category = Rel, comments = "congruent with"}
  , Record {uchar = '\8774', commands = [("base",""),("unicode-math","\\simneqq")], category = Rel, comments = "similar, not equals [vert only for 9573 entity]"}
  , Record {uchar = '\8775', commands = [("amssymb","\\ncong"),("wrisym","\\ncong"),("unicode-math","\\ncong")], category = Rel, comments = "not congruent with"}
  , Record {uchar = '\8776', commands = [("base","\\approx"),("unicode-math","\\approx")], category = Rel, comments = "approximate"}
  , Record {uchar = '\8777', commands = [("wrisym","\\napprox"),("unicode-math","\\napprox")], category = Rel, comments = "not approximate"}
  , Record {uchar = '\8778', commands = [("amssymb","\\approxeq"),("unicode-math","\\approxeq")], category = Rel, comments = "approximate, equals"}
  , Record {uchar = '\8779', commands = [("base",""),("unicode-math","\\approxident")], category = Rel, comments = "approximately identical to"}
  , Record {uchar = '\8780', commands = [("base",""),("unicode-math","\\backcong")], category = Rel, comments = "ALL EQUAL TO"}
  , Record {uchar = '\8781', commands = [("base","\\asymp"),("unicode-math","\\asymp")], category = Rel, comments = "asymptotically equal to"}
  , Record {uchar = '\8782', commands = [("amssymb","\\Bumpeq"),("wrisym","\\Bumpeq"),("unicode-math","\\Bumpeq")], category = Rel, comments = "bumpy equals"}
  , Record {uchar = '\8783', commands = [("amssymb","\\bumpeq"),("wrisym","\\bumpeq"),("unicode-math","\\bumpeq")], category = Rel, comments = "bumpy equals, equals"}
  , Record {uchar = '\8784', commands = [("base","\\doteq"),("wrisym","\\dotequal"),("unicode-math","\\doteq")], category = Rel, comments = "equals, single dot above"}
  , Record {uchar = '\8785', commands = [("amssymb","\\Doteq"),("amssymb","\\doteqdot"),("unicode-math","\\Doteq")], category = Rel, comments = "/doteq r: equals, even dots"}
  , Record {uchar = '\8786', commands = [("amssymb","\\fallingdotseq"),("unicode-math","\\fallingdotseq")], category = Rel, comments = "equals, falling dots"}
  , Record {uchar = '\8787', commands = [("amssymb","\\risingdotseq"),("unicode-math","\\risingdotseq")], category = Rel, comments = "equals, rising dots"}
  , Record {uchar = '\8788', commands = [("mathabx","\\coloneq"),("txfonts","\\coloneqq"),("unicode-math","\\coloneq")], category = Rel, comments = "= \\SetDelayed (wrisym), # := colon, equals"}
  , Record {uchar = '\8789', commands = [("mathabx","\\eqcolon"),("txfonts","\\eqqcolon"),("unicode-math","\\eqcolon")], category = Rel, comments = "# =:, equals, colon"}
  , Record {uchar = '\8790', commands = [("amssymb","\\eqcirc"),("unicode-math","\\eqcirc")], category = Rel, comments = "circle on equals sign"}
  , Record {uchar = '\8791', commands = [("amssymb","\\circeq"),("unicode-math","\\circeq")], category = Rel, comments = "circle, equals"}
  , Record {uchar = '\8792', commands = [("base",""),("unicode-math","\\arceq")], category = Rel, comments = "arc, equals; CORRESPONDS TO"}
  , Record {uchar = '\8793', commands = [("mathabx","\\corresponds"),("oz","\\sdef"),("unicode-math","\\wedgeq")], category = Rel, comments = "t \\Corresponds (marvosym), corresponds to (wedge over equals)"}
  , Record {uchar = '\8794', commands = [("base",""),("unicode-math","\\veeeq")], category = Rel, comments = "logical or, equals"}
  , Record {uchar = '\8795', commands = [("base",""),("unicode-math","\\stareq")], category = Rel, comments = "STAR EQUALS"}
  , Record {uchar = '\8796', commands = [("amssymb","\\triangleq"),("oz","\\varsdef"),("unicode-math","\\triangleq")], category = Rel, comments = "triangle, equals"}
  , Record {uchar = '\8797', commands = [("base",""),("unicode-math","\\eqdef")], category = Rel, comments = "equals by definition"}
  , Record {uchar = '\8798', commands = [("base",""),("unicode-math","\\measeq")], category = Rel, comments = "MEASURED BY (m over equals)"}
  , Record {uchar = '\8799', commands = [("base",""),("unicode-math","\\questeq")], category = Rel, comments = "equal with questionmark"}
  , Record {uchar = '\8800', commands = [("base","\\neq"),("base","\\ne"),("unicode-math","\\ne")], category = Rel, comments = "r: not equal"}
  , Record {uchar = '\8801', commands = [("base","\\equiv"),("unicode-math","\\equiv")], category = Rel, comments = "identical with"}
  , Record {uchar = '\8802', commands = [("wrisym","\\nequiv"),("unicode-math","\\nequiv")], category = Rel, comments = "not identical with"}
  , Record {uchar = '\8803', commands = [("base",""),("unicode-math","\\Equiv")], category = Rel, comments = "strict equivalence (4 lines)"}
  , Record {uchar = '\8804', commands = [("base","\\leq"),("base","\\le"),("unicode-math","\\leq")], category = Rel, comments = "r: less-than-or-equal"}
  , Record {uchar = '\8805', commands = [("base","\\geq"),("base","\\ge"),("unicode-math","\\geq")], category = Rel, comments = "r: greater-than-or-equal"}
  , Record {uchar = '\8806', commands = [("amssymb","\\leqq"),("unicode-math","\\leqq")], category = Rel, comments = "less, double equals"}
  , Record {uchar = '\8807', commands = [("amssymb","\\geqq"),("unicode-math","\\geqq")], category = Rel, comments = "greater, double equals"}
  , Record {uchar = '\8808', commands = [("amssymb","\\lneqq"),("unicode-math","\\lneqq")], category = Rel, comments = "less, not double equals"}
  , Record {uchar = '\8809', commands = [("amssymb","\\gneqq"),("unicode-math","\\gneqq")], category = Rel, comments = "greater, not double equals"}
  , Record {uchar = '\8810', commands = [("base","\\ll"),("unicode-math","\\ll")], category = Rel, comments = "much less than, type 2"}
  , Record {uchar = '\8811', commands = [("base","\\gg"),("unicode-math","\\gg")], category = Rel, comments = "much greater than, type 2"}
  , Record {uchar = '\8812', commands = [("amssymb","\\between"),("unicode-math","\\between")], category = Rel, comments = "BETWEEN"}
  , Record {uchar = '\8813', commands = [("mathabx","\\notasymp"),("wrisym","\\nasymp"),("unicode-math","\\nasymp")], category = Rel, comments = "not asymptotically equal to"}
  , Record {uchar = '\8814', commands = [("amssymb","\\nless"),("unicode-math","\\nless")], category = Rel, comments = "NOT LESS-THAN"}
  , Record {uchar = '\8815', commands = [("amssymb","\\ngtr"),("unicode-math","\\ngtr")], category = Rel, comments = "NOT GREATER-THAN"}
  , Record {uchar = '\8816', commands = [("amssymb","\\nleq"),("wrisym","\\nleq"),("fourier","\\nleqslant"),("unicode-math","\\nleq")], category = Rel, comments = "not less-than-or-equal"}
  , Record {uchar = '\8817', commands = [("amssymb","\\ngeq"),("wrisym","\\ngeq"),("fourier","\\ngeqslant"),("unicode-math","\\ngeq")], category = Rel, comments = "not greater-than-or-equal"}
  , Record {uchar = '\8818', commands = [("amssymb","\\lesssim"),("wasysym","\\apprle"),("unicode-math","\\lesssim")], category = Rel, comments = "= \\LessTilde (wrisym), less, similar"}
  , Record {uchar = '\8819', commands = [("amssymb","\\gtrsim"),("wasysym","\\apprge"),("unicode-math","\\gtrsim")], category = Rel, comments = "= \\GreaterTilde (wrisym), greater, similar"}
  , Record {uchar = '\8820', commands = [("wrisym","\\NotLessTilde"),("unicode-math","\\nlesssim")], category = Rel, comments = "not less, similar"}
  , Record {uchar = '\8821', commands = [("wrisym","\\NotGreaterTilde"),("unicode-math","\\ngtrsim")], category = Rel, comments = "not greater, similar"}
  , Record {uchar = '\8822', commands = [("amssymb","\\lessgtr"),("unicode-math","\\lessgtr")], category = Rel, comments = "less, greater"}
  , Record {uchar = '\8823', commands = [("amssymb","\\gtrless"),("wrisym","\\GreaterLess"),("unicode-math","\\gtrless")], category = Rel, comments = "greater, less"}
  , Record {uchar = '\8824', commands = [("wrisym",""),("unicode-math","\\nlessgtr")], category = Rel, comments = "not less, greater"}
  , Record {uchar = '\8825', commands = [("wrisym","\\NotGreaterLess"),("unicode-math","\\ngtrless")], category = Rel, comments = "not greater, less"}
  , Record {uchar = '\8826', commands = [("base","\\prec"),("unicode-math","\\prec")], category = Rel, comments = "PRECEDES"}
  , Record {uchar = '\8827', commands = [("base","\\succ"),("unicode-math","\\succ")], category = Rel, comments = "SUCCEEDS"}
  , Record {uchar = '\8828', commands = [("amssymb","\\preccurlyeq"),("wrisym","\\PrecedesSlantEqual"),("unicode-math","\\preccurlyeq")], category = Rel, comments = "precedes, curly equals"}
  , Record {uchar = '\8829', commands = [("amssymb","\\succcurlyeq"),("wrisym","\\SucceedsSlantEqual"),("unicode-math","\\succcurlyeq")], category = Rel, comments = "succeeds, curly equals"}
  , Record {uchar = '\8830', commands = [("amssymb","\\precsim"),("wrisym","\\PrecedesTilde"),("unicode-math","\\precsim")], category = Rel, comments = "precedes, similar"}
  , Record {uchar = '\8831', commands = [("amssymb","\\succsim"),("wrisym","\\SucceedsTilde"),("unicode-math","\\succsim")], category = Rel, comments = "succeeds, similar"}
  , Record {uchar = '\8832', commands = [("amssymb","\\nprec"),("wrisym","\\nprec"),("unicode-math","\\nprec")], category = Rel, comments = "not precedes"}
  , Record {uchar = '\8833', commands = [("amssymb","\\nsucc"),("wrisym","\\nsucc"),("unicode-math","\\nsucc")], category = Rel, comments = "not succeeds"}
  , Record {uchar = '\8834', commands = [("base","\\subset"),("unicode-math","\\subset")], category = Rel, comments = "subset or is implied by"}
  , Record {uchar = '\8835', commands = [("base","\\supset"),("unicode-math","\\supset")], category = Rel, comments = "superset or implies"}
  , Record {uchar = '\8836', commands = [("wrisym","\\nsubset"),("unicode-math","\\nsubset")], category = Rel, comments = "not subset, variant [slash negation]"}
  , Record {uchar = '\8837', commands = [("wrisym","\\nsupset"),("unicode-math","\\nsupset")], category = Rel, comments = "not superset, variant [slash negation]"}
  , Record {uchar = '\8838', commands = [("base","\\subseteq"),("unicode-math","\\subseteq")], category = Rel, comments = "subset, equals"}
  , Record {uchar = '\8839', commands = [("base","\\supseteq"),("unicode-math","\\supseteq")], category = Rel, comments = "superset, equals"}
  , Record {uchar = '\8840', commands = [("amssymb","\\nsubseteq"),("wrisym","\\nsubseteq"),("unicode-math","\\nsubseteq")], category = Rel, comments = "not subset, equals"}
  , Record {uchar = '\8841', commands = [("amssymb","\\nsupseteq"),("wrisym","\\nsupseteq"),("unicode-math","\\nsupseteq")], category = Rel, comments = "not superset, equals"}
  , Record {uchar = '\8842', commands = [("amssymb","\\subsetneq"),("fourier","\\varsubsetneq"),("unicode-math","\\subsetneq")], category = Rel, comments = "subset, not equals"}
  , Record {uchar = '\8843', commands = [("amssymb","\\supsetneq"),("unicode-math","\\supsetneq")], category = Rel, comments = "superset, not equals"}
  , Record {uchar = '\8844', commands = [("base",""),("unicode-math","\\cupleftarrow")], category = Bin, comments = "MULTISET"}
  , Record {uchar = '\8845', commands = [("base",""),("unicode-math","\\cupdot")], category = Bin, comments = "union, with dot"}
  , Record {uchar = '\8846', commands = [("base","\\uplus"),("oz","\\buni"),("unicode-math","\\uplus")], category = Bin, comments = "plus sign in union"}
  , Record {uchar = '\8847', commands = [("amsfonts","\\sqsubset"),("unicode-math","\\sqsubset")], category = Rel, comments = "square subset"}
  , Record {uchar = '\8848', commands = [("amsfonts","\\sqsupset"),("unicode-math","\\sqsupset")], category = Rel, comments = "square superset"}
  , Record {uchar = '\8849', commands = [("base","\\sqsubseteq"),("unicode-math","\\sqsubseteq")], category = Rel, comments = "square subset, equals"}
  , Record {uchar = '\8850', commands = [("base","\\sqsupseteq"),("unicode-math","\\sqsupseteq")], category = Rel, comments = "square superset, equals"}
  , Record {uchar = '\8851', commands = [("base","\\sqcap"),("unicode-math","\\sqcap")], category = Bin, comments = "square intersection"}
  , Record {uchar = '\8852', commands = [("base","\\sqcup"),("unicode-math","\\sqcup")], category = Bin, comments = "square union"}
  , Record {uchar = '\8853', commands = [("base","\\oplus"),("unicode-math","\\oplus")], category = Bin, comments = "plus sign in circle"}
  , Record {uchar = '\8854', commands = [("base","\\ominus"),("unicode-math","\\ominus")], category = Bin, comments = "minus sign in circle"}
  , Record {uchar = '\8855', commands = [("base","\\otimes"),("unicode-math","\\otimes")], category = Bin, comments = "multiply sign in circle"}
  , Record {uchar = '\8856', commands = [("base","\\oslash"),("unicode-math","\\oslash")], category = Bin, comments = "solidus in circle"}
  , Record {uchar = '\8857', commands = [("base","\\odot"),("unicode-math","\\odot")], category = Bin, comments = "middle dot in circle"}
  , Record {uchar = '\8858', commands = [("amssymb","\\circledcirc"),("unicode-math","\\circledcirc")], category = Bin, comments = "small circle in circle"}
  , Record {uchar = '\8859', commands = [("amssymb","\\circledast"),("unicode-math","\\circledast")], category = Bin, comments = "asterisk in circle"}
  , Record {uchar = '\8860', commands = [("base",""),("unicode-math","\\circledequal")], category = Bin, comments = "equal in circle"}
  , Record {uchar = '\8861', commands = [("amssymb","\\circleddash"),("unicode-math","\\circleddash")], category = Bin, comments = "hyphen in circle"}
  , Record {uchar = '\8862', commands = [("amssymb","\\boxplus"),("unicode-math","\\boxplus")], category = Bin, comments = "plus sign in box"}
  , Record {uchar = '\8863', commands = [("amssymb","\\boxminus"),("unicode-math","\\boxminus")], category = Bin, comments = "minus sign in box"}
  , Record {uchar = '\8864', commands = [("amssymb","\\boxtimes"),("unicode-math","\\boxtimes")], category = Bin, comments = "multiply sign in box"}
  , Record {uchar = '\8865', commands = [("amssymb","\\boxdot"),("stmaryrd","\\boxdot"),("unicode-math","\\boxdot")], category = Bin, comments = "/dotsquare /boxdot b: small dot in box"}
  , Record {uchar = '\8866', commands = [("base","\\vdash"),("unicode-math","\\vdash")], category = Rel, comments = "RIGHT TACK, proves, implies, yields, (vertical, dash)"}
  , Record {uchar = '\8867', commands = [("amssymb","\\dashv"),("unicode-math","\\dashv")], category = Rel, comments = "LEFT TACK, non-theorem, does not yield, (dash, vertical)"}
  , Record {uchar = '\8868', commands = [("base","\\top"),("unicode-math","\\top")], category = Ord, comments = "DOWN TACK, top"}
  , Record {uchar = '\8869', commands = [("base","\\bot"),("unicode-math","\\bot")], category = Ord, comments = "UP TACK, bottom"}
  , Record {uchar = '\8870', commands = [("base",""),("base","\\vdash"),("unicode-math","\\assert")], category = Rel, comments = "ASSERTION (vertical, short dash)"}
  , Record {uchar = '\8871', commands = [("base","\\models"),("unicode-math","\\models")], category = Rel, comments = "MODELS (vertical, short double dash)"}
  , Record {uchar = '\8872', commands = [("amssymb","\\vDash"),("fourier","\\vDash"),("unicode-math","\\vDash")], category = Rel, comments = "TRUE (vertical, double dash)"}
  , Record {uchar = '\8873', commands = [("amssymb","\\Vdash"),("unicode-math","\\Vdash")], category = Rel, comments = "double vertical, dash"}
  , Record {uchar = '\8874', commands = [("amssymb","\\Vvdash"),("unicode-math","\\Vvdash")], category = Rel, comments = "triple vertical, dash"}
  , Record {uchar = '\8875', commands = [("mathabx","\\VDash"),("txfonts","\\VDash"),("unicode-math","\\VDash")], category = Rel, comments = "double vert, double dash"}
  , Record {uchar = '\8876', commands = [("amssymb","\\nvdash"),("unicode-math","\\nvdash")], category = Rel, comments = "not vertical, dash"}
  , Record {uchar = '\8877', commands = [("amssymb","\\nvDash"),("fourier","\\nvDash"),("unicode-math","\\nvDash")], category = Rel, comments = "not vertical, double dash"}
  , Record {uchar = '\8878', commands = [("amssymb","\\nVdash"),("unicode-math","\\nVdash")], category = Rel, comments = "not double vertical, dash"}
  , Record {uchar = '\8879', commands = [("amssymb","\\nVDash"),("unicode-math","\\nVDash")], category = Rel, comments = "not double vert, double dash"}
  , Record {uchar = '\8880', commands = [("base",""),("unicode-math","\\prurel")], category = Rel, comments = "element PRECEDES UNDER RELATION"}
  , Record {uchar = '\8881', commands = [("base",""),("unicode-math","\\scurel")], category = Rel, comments = "SUCCEEDS UNDER RELATION"}
  , Record {uchar = '\8882', commands = [("amssymb","\\vartriangleleft"),("unicode-math","\\vartriangleleft")], category = Rel, comments = "left triangle, open, variant"}
  , Record {uchar = '\8883', commands = [("amssymb","\\vartriangleright"),("unicode-math","\\vartriangleright")], category = Rel, comments = "right triangle, open, variant"}
  , Record {uchar = '\8884', commands = [("amssymb","\\trianglelefteq"),("wrisym","\\unlhd"),("unicode-math","\\trianglelefteq")], category = Rel, comments = "left triangle, equals"}
  , Record {uchar = '\8885', commands = [("amssymb","\\trianglerighteq"),("wrisym","\\unrhd"),("unicode-math","\\trianglerighteq")], category = Rel, comments = "right triangle, equals"}
  , Record {uchar = '\8886', commands = [("txfonts","\\multimapdotbothA"),("unicode-math","\\origof")], category = Rel, comments = "ORIGINAL OF"}
  , Record {uchar = '\8887', commands = [("txfonts","\\multimapdotbothB"),("unicode-math","\\imageof")], category = Rel, comments = "IMAGE OF"}
  , Record {uchar = '\8888', commands = [("amssymb","\\multimap"),("unicode-math","\\multimap")], category = Rel, comments = "/MULTIMAP a:"}
  , Record {uchar = '\8889', commands = [("base",""),("unicode-math","\\hermitmatrix")], category = Ord, comments = "HERMITIAN CONJUGATE MATRIX"}
  , Record {uchar = '\8890', commands = [("amssymb","\\intercal"),("fourier","\\intercal"),("unicode-math","\\intercal")], category = Bin, comments = "intercal"}
  , Record {uchar = '\8891', commands = [("amssymb","\\veebar"),("unicode-math","\\veebar")], category = Bin, comments = "logical or, bar below (large vee); exclusive disjunction"}
  , Record {uchar = '\8892', commands = [("amssymb","\\barwedge"),("unicode-math","\\barwedge")], category = Bin, comments = "logical NAND (bar over wedge)"}
  , Record {uchar = '\8893', commands = [("base",""),("unicode-math","\\barvee")], category = Bin, comments = "bar, vee (large vee)"}
  , Record {uchar = '\8894', commands = [("base",""),("unicode-math","\\measuredrightangle")], category = Ord, comments = "right angle-measured [with arc]"}
  , Record {uchar = '\8895', commands = [("base",""),("unicode-math","\\varlrtriangle")], category = Ord, comments = "RIGHT TRIANGLE"}
  , Record {uchar = '\8896', commands = [("base","\\bigwedge"),("unicode-math","\\bigwedge")], category = Op, comments = "logical or operator"}
  , Record {uchar = '\8897', commands = [("base","\\bigvee"),("unicode-math","\\bigvee")], category = Op, comments = "logical and operator"}
  , Record {uchar = '\8898', commands = [("base","\\bigcap"),("oz","\\dint"),("unicode-math","\\bigcap")], category = Op, comments = "\\dinter (oz), intersection operator"}
  , Record {uchar = '\8899', commands = [("base","\\bigcup"),("oz","\\duni"),("unicode-math","\\bigcup")], category = Op, comments = "\\dunion (oz), union operator"}
  , Record {uchar = '\8900', commands = [("base","\\diamond"),("unicode-math","\\smwhtdiamond")], category = Bin, comments = "DIAMOND OPERATOR (white diamond)"}
  , Record {uchar = '\8901', commands = [("base","\\cdot"),("unicode-math","\\cdot")], category = Bin, comments = "DOT OPERATOR (small middle dot)"}
  , Record {uchar = '\8902', commands = [("base","\\star"),("unicode-math","\\star")], category = Bin, comments = "small star, filled, low"}
  , Record {uchar = '\8903', commands = [("amssymb","\\divideontimes"),("unicode-math","\\divideontimes")], category = Bin, comments = "division on times"}
  , Record {uchar = '\8904', commands = [("base","\\bowtie"),("txfonts","\\lrtimes"),("unicode-math","\\bowtie")], category = Rel, comments = "BOWTIE"}
  , Record {uchar = '\8905', commands = [("amssymb","\\ltimes"),("unicode-math","\\ltimes")], category = Bin, comments = "times sign, left closed"}
  , Record {uchar = '\8906', commands = [("amssymb","\\rtimes"),("unicode-math","\\rtimes")], category = Bin, comments = "times sign, right closed"}
  , Record {uchar = '\8907', commands = [("amssymb","\\leftthreetimes"),("unicode-math","\\leftthreetimes")], category = Bin, comments = "LEFT SEMIDIRECT PRODUCT"}
  , Record {uchar = '\8908', commands = [("amssymb","\\rightthreetimes"),("unicode-math","\\rightthreetimes")], category = Bin, comments = "RIGHT SEMIDIRECT PRODUCT"}
  , Record {uchar = '\8909', commands = [("amssymb","\\backsimeq"),("unicode-math","\\backsimeq")], category = Rel, comments = "reverse similar, equals"}
  , Record {uchar = '\8910', commands = [("amssymb","\\curlyvee"),("unicode-math","\\curlyvee")], category = Bin, comments = "CURLY LOGICAL OR"}
  , Record {uchar = '\8911', commands = [("amssymb","\\curlywedge"),("unicode-math","\\curlywedge")], category = Bin, comments = "CURLY LOGICAL AND"}
  , Record {uchar = '\8912', commands = [("amssymb","\\Subset"),("unicode-math","\\Subset")], category = Rel, comments = "DOUBLE SUBSET"}
  , Record {uchar = '\8913', commands = [("amssymb","\\Supset"),("unicode-math","\\Supset")], category = Rel, comments = "DOUBLE SUPERSET"}
  , Record {uchar = '\8914', commands = [("amssymb","\\Cap"),("unicode-math","\\Cap")], category = Bin, comments = "/cap /doublecap b: DOUBLE INTERSECTION"}
  , Record {uchar = '\8915', commands = [("amssymb","\\Cup"),("unicode-math","\\Cup")], category = Bin, comments = "/cup /doublecup b: DOUBLE UNION"}
  , Record {uchar = '\8916', commands = [("amssymb","\\pitchfork"),("unicode-math","\\pitchfork")], category = Rel, comments = "PITCHFORK"}
  , Record {uchar = '\8917', commands = [("mathabx","\\hash"),("unicode-math","\\equalparallel")], category = Rel, comments = "parallel, equal; equal or parallel"}
  , Record {uchar = '\8918', commands = [("amssymb","\\lessdot"),("unicode-math","\\lessdot")], category = Rel, comments = "less than, with dot"}
  , Record {uchar = '\8919', commands = [("amssymb","\\gtrdot"),("unicode-math","\\gtrdot")], category = Rel, comments = "greater than, with dot"}
  , Record {uchar = '\8920', commands = [("amssymb","\\lll"),("unicode-math","\\lll")], category = Rel, comments = "triple less-than"}
  , Record {uchar = '\8921', commands = [("amssymb","\\ggg"),("unicode-math","\\ggg")], category = Rel, comments = "triple greater-than"}
  , Record {uchar = '\8922', commands = [("amssymb","\\lesseqgtr"),("unicode-math","\\lesseqgtr")], category = Rel, comments = "less, equals, greater"}
  , Record {uchar = '\8923', commands = [("amssymb","\\gtreqless"),("unicode-math","\\gtreqless")], category = Rel, comments = "greater, equals, less"}
  , Record {uchar = '\8924', commands = [("base",""),("unicode-math","\\eqless")], category = Rel, comments = "equal-or-less"}
  , Record {uchar = '\8925', commands = [("base",""),("unicode-math","\\eqgtr")], category = Rel, comments = "equal-or-greater"}
  , Record {uchar = '\8926', commands = [("amssymb","\\curlyeqprec"),("unicode-math","\\curlyeqprec")], category = Rel, comments = "curly equals, precedes"}
  , Record {uchar = '\8927', commands = [("amssymb","\\curlyeqsucc"),("unicode-math","\\curlyeqsucc")], category = Rel, comments = "curly equals, succeeds"}
  , Record {uchar = '\8928', commands = [("amssymb","\\npreceq"),("wrisym","\\npreceq"),("unicode-math","\\npreccurlyeq")], category = Rel, comments = "DOES NOT PRECEDE OR EQUAL"}
  , Record {uchar = '\8929', commands = [("amssymb","\\nsucceq"),("wrisym","\\nsucceq"),("unicode-math","\\nsucccurlyeq")], category = Rel, comments = "not succeeds, curly equals"}
  , Record {uchar = '\8930', commands = [("wrisym","\\nsqsubseteq"),("unicode-math","\\nsqsubseteq")], category = Rel, comments = "not, square subset, equals"}
  , Record {uchar = '\8931', commands = [("wrisym","\\nsqsupseteq"),("unicode-math","\\nsqsupseteq")], category = Rel, comments = "not, square superset, equals"}
  , Record {uchar = '\8932', commands = [("base",""),("unicode-math","\\sqsubsetneq")], category = Rel, comments = "square subset, not equals"}
  , Record {uchar = '\8933', commands = [("base",""),("unicode-math","\\sqsupsetneq")], category = Rel, comments = "square superset, not equals"}
  , Record {uchar = '\8934', commands = [("amssymb","\\lnsim"),("unicode-math","\\lnsim")], category = Rel, comments = "less, not similar"}
  , Record {uchar = '\8935', commands = [("amssymb","\\gnsim"),("unicode-math","\\gnsim")], category = Rel, comments = "greater, not similar"}
  , Record {uchar = '\8936', commands = [("amssymb","\\precnsim"),("unicode-math","\\precnsim")], category = Rel, comments = "precedes, not similar"}
  , Record {uchar = '\8937', commands = [("amssymb","\\succnsim"),("unicode-math","\\succnsim")], category = Rel, comments = "succeeds, not similar"}
  , Record {uchar = '\8938', commands = [("amssymb","\\ntriangleleft"),("wrisym","\\NotLeftTriangle"),("unicode-math","\\ntriangleleft")], category = Rel, comments = "not left triangle"}
  , Record {uchar = '\8939', commands = [("amssymb","\\ntriangleright"),("wrisym","\\NotRightTriangle"),("unicode-math","\\ntriangleright")], category = Rel, comments = "not right triangle"}
  , Record {uchar = '\8940', commands = [("amssymb","\\ntrianglelefteq"),("wrisym","\\nunlhd"),("unicode-math","\\ntrianglelefteq")], category = Rel, comments = "not left triangle, equals"}
  , Record {uchar = '\8941', commands = [("amssymb","\\ntrianglerighteq"),("wrisym","\\nunrhd"),("unicode-math","\\ntrianglerighteq")], category = Rel, comments = "not right triangle, equals"}
  , Record {uchar = '\8942', commands = [("base","\\vdots"),("unicode-math","\\vdots")], category = Rel, comments = "VERTICAL ELLIPSIS"}
  , Record {uchar = '\8943', commands = [("base","\\cdots"),("unicode-math","\\unicodecdots")], category = Ord, comments = "three dots, centered"}
  , Record {uchar = '\8944', commands = [("mathdots","\\iddots"),("yhmath","\\adots"),("unicode-math","\\adots")], category = Rel, comments = "three dots, ascending"}
  , Record {uchar = '\8945', commands = [("base","\\ddots"),("unicode-math","\\ddots")], category = Rel, comments = "three dots, descending"}
  , Record {uchar = '\8946', commands = [("base",""),("unicode-math","\\disin")], category = Rel, comments = "ELEMENT OF WITH LONG HORIZONTAL STROKE"}
  , Record {uchar = '\8947', commands = [("base",""),("unicode-math","\\varisins")], category = Rel, comments = "ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE"}
  , Record {uchar = '\8948', commands = [("base",""),("unicode-math","\\isins")], category = Rel, comments = "SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE"}
  , Record {uchar = '\8949', commands = [("base",""),("unicode-math","\\isindot")], category = Rel, comments = "ELEMENT OF WITH DOT ABOVE"}
  , Record {uchar = '\8950', commands = [("mathabx","\\barin"),("unicode-math","\\varisinobar")], category = Rel, comments = "ELEMENT OF WITH OVERBAR"}
  , Record {uchar = '\8951', commands = [("base",""),("unicode-math","\\isinobar")], category = Rel, comments = "SMALL ELEMENT OF WITH OVERBAR"}
  , Record {uchar = '\8952', commands = [("base",""),("unicode-math","\\isinvb")], category = Rel, comments = "ELEMENT OF WITH UNDERBAR"}
  , Record {uchar = '\8953', commands = [("base",""),("unicode-math","\\isinE")], category = Rel, comments = "ELEMENT OF WITH TWO HORIZONTAL STROKES"}
  , Record {uchar = '\8954', commands = [("base",""),("unicode-math","\\nisd")], category = Rel, comments = "CONTAINS WITH LONG HORIZONTAL STROKE"}
  , Record {uchar = '\8955', commands = [("base",""),("unicode-math","\\varnis")], category = Rel, comments = "CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE"}
  , Record {uchar = '\8956', commands = [("base",""),("unicode-math","\\nis")], category = Rel, comments = "SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE"}
  , Record {uchar = '\8957', commands = [("base",""),("unicode-math","\\varniobar")], category = Rel, comments = "CONTAINS WITH OVERBAR"}
  , Record {uchar = '\8958', commands = [("base",""),("unicode-math","\\niobar")], category = Rel, comments = "SMALL CONTAINS WITH OVERBAR"}
  , Record {uchar = '\8959', commands = [("base",""),("base","\\mathsf{E}"),("unicode-math","\\bagmember")], category = Rel, comments = "Z NOTATION BAG MEMBERSHIP"}
  , Record {uchar = '\8960', commands = [("mathabx","\\diameter"),("amssymb","\\varnothing"),("unicode-math","\\diameter")], category = Ord, comments = "DIAMETER SIGN"}
  , Record {uchar = '\8962', commands = [("base",""),("unicode-math","\\house")], category = Ord, comments = "HOUSE"}
  , Record {uchar = '\8965', commands = [("base",""),("amssymb","\\barwedge"),("unicode-math","\\varbarwedge")], category = Bin, comments = "PROJECTIVE (bar over small wedge) not nand"}
  , Record {uchar = '\8966', commands = [("base",""),("amssymb","\\doublebarwedge"),("unicode-math","\\vardoublebarwedge")], category = Bin, comments = "PERSPECTIVE (double bar over small wedge)"}
  , Record {uchar = '\8968', commands = [("base","\\lceil"),("unicode-math","\\lceil")], category = Open, comments = "LEFT CEILING"}
  , Record {uchar = '\8969', commands = [("base","\\rceil"),("unicode-math","\\rceil")], category = Close, comments = "RIGHT CEILING"}
  , Record {uchar = '\8970', commands = [("base","\\lfloor"),("unicode-math","\\lfloor")], category = Open, comments = "LEFT FLOOR"}
  , Record {uchar = '\8971', commands = [("base","\\rfloor"),("unicode-math","\\rfloor")], category = Close, comments = "RIGHT FLOOR"}
  , Record {uchar = '\8976', commands = [("wasysym","\\invneg"),("unicode-math","\\invnot")], category = Ord, comments = "reverse not"}
  , Record {uchar = '\8977', commands = [("wasysym","\\wasylozenge"),("unicode-math","\\sqlozenge")], category = Ord, comments = "SQUARE LOZENGE"}
  , Record {uchar = '\8978', commands = [("base",""),("unicode-math","\\profline")], category = Ord, comments = "profile of a line"}
  , Record {uchar = '\8979', commands = [("base",""),("unicode-math","\\profsurf")], category = Ord, comments = "profile of a surface"}
  , Record {uchar = '\8983', commands = [("base",""),("unicode-math","\\viewdata")], category = Ord, comments = "VIEWDATA SQUARE"}
  , Record {uchar = '\8985', commands = [("base",""),("unicode-math","\\turnednot")], category = Ord, comments = "TURNED NOT SIGN"}
  , Record {uchar = '\8988', commands = [("amsfonts","\\ulcorner"),("unicode-math","\\ulcorner")], category = Open, comments = "upper left corner"}
  , Record {uchar = '\8989', commands = [("amsfonts","\\urcorner"),("unicode-math","\\urcorner")], category = Close, comments = "upper right corner"}
  , Record {uchar = '\8990', commands = [("amsfonts","\\llcorner"),("unicode-math","\\llcorner")], category = Open, comments = "lower left corner"}
  , Record {uchar = '\8991', commands = [("amsfonts","\\lrcorner"),("unicode-math","\\lrcorner")], category = Close, comments = "lower right corner"}
  , Record {uchar = '\8992', commands = [("base",""),("unicode-math","\\inttop")], category = Ord, comments = "TOP HALF INTEGRAL"}
  , Record {uchar = '\8993', commands = [("base",""),("unicode-math","\\intbottom")], category = Ord, comments = "BOTTOM HALF INTEGRAL"}
  , Record {uchar = '\8994', commands = [("base","\\frown"),("base","\\smallfrown"),("unicode-math","\\frown")], category = Rel, comments = "FROWN (down curve)"}
  , Record {uchar = '\8995', commands = [("base","\\smile"),("base","\\smallsmile"),("unicode-math","\\smile")], category = Rel, comments = "SMILE (up curve)"}
  , Record {uchar = '\9001', commands = [("base","\\langle"),("unicode","\\langle")], category = Open, comments = "Left angle bracket"}
  , Record {uchar = '\9002', commands = [("base","\\rangle"),("unicode","\\rangle")], category = Close, comments = "Right angle bracket"}
  , Record {uchar = '\9004', commands = [("base",""),("unicode-math","\\varhexagonlrbonds")], category = Ord, comments = "six carbon ring, corner down, double bonds lower right etc"}
  , Record {uchar = '\9010', commands = [("base",""),("unicode-math","\\conictaper")], category = Ord, comments = "CONICAL TAPER"}
  , Record {uchar = '\9014', commands = [("base",""),("unicode-math","\\topbot")], category = Ord, comments = "APL FUNCTIONAL SYMBOL I-BEAM, top and bottom"}
  , Record {uchar = '\9015', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL SQUISH QUAD"}
  , Record {uchar = '\9016', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD EQUAL"}
  , Record {uchar = '\9017', commands = [("wasysym","\\APLinv"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD DIVIDE"}
  , Record {uchar = '\9018', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD DIAMOND"}
  , Record {uchar = '\9019', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD JOT"}
  , Record {uchar = '\9020', commands = [("base",""),("wasysym","\\APLcirc{\\APLbox}"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD CIRCLE"}
  , Record {uchar = '\9021', commands = [("base",""),("wasysym","\\APLvert{\\Circle}"),("unicode-math","\\obar")], category = Bin, comments = "x \\obar (stmaryrd), APL FUNCTIONAL SYMBOL CIRCLE STILE, circle with vertical bar"}
  , Record {uchar = '\9022', commands = [("base",""),("wasysym","\\APLcirc{\\Circle}"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL CIRCLE JOT"}
  , Record {uchar = '\9023', commands = [("wasysym","\\notslash"),("unicode-math","\\APLnotslash")], category = Rel, comments = "APL FUNCTIONAL SYMBOL SLASH BAR, solidus, bar through"}
  , Record {uchar = '\9024', commands = [("wasysym","\\notbackslash"),("unicode-math","\\APLnotbackslash")], category = Ord, comments = "APL FUNCTIONAL SYMBOL BACKSLASH BAR"}
  , Record {uchar = '\9025', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD SLASH"}
  , Record {uchar = '\9026', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD BACKSLASH"}
  , Record {uchar = '\9027', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD LESS-THAN"}
  , Record {uchar = '\9028', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD GREATER-THAN"}
  , Record {uchar = '\9029', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL LEFTWARDS VANE"}
  , Record {uchar = '\9030', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL RIGHTWARDS VANE"}
  , Record {uchar = '\9031', commands = [("wasysym","\\APLleftarrowbox"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW"}
  , Record {uchar = '\9032', commands = [("wasysym","\\APLrightarrowbox"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW"}
  , Record {uchar = '\9033', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH"}
  , Record {uchar = '\9034', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR"}
  , Record {uchar = '\9035', commands = [("base",""),("wasysym","\\APLvert{\\APLup}"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DELTA STILE"}
  , Record {uchar = '\9036', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD DOWN CARET"}
  , Record {uchar = '\9037', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD DELTA"}
  , Record {uchar = '\9038', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DOWN TACK JOT"}
  , Record {uchar = '\9039', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL UPWARDS VANE"}
  , Record {uchar = '\9040', commands = [("wasysym","\\APLuparrowbox"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW"}
  , Record {uchar = '\9041', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL UP TACK OVERBAR"}
  , Record {uchar = '\9042', commands = [("wasysym",""),("wasysym","\\APLvert{\\APLdown}"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DEL STILE"}
  , Record {uchar = '\9043', commands = [("base",""),("unicode-math","\\APLboxupcaret")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD UP CARET"}
  , Record {uchar = '\9044', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD DEL"}
  , Record {uchar = '\9045', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL UP TACK JOT"}
  , Record {uchar = '\9046', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DOWNWARDS VANE"}
  , Record {uchar = '\9047', commands = [("wasysym","\\APLdownarrowbox"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW"}
  , Record {uchar = '\9048', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUOTE UNDERBAR"}
  , Record {uchar = '\9049', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DELTA UNDERBAR"}
  , Record {uchar = '\9050', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR"}
  , Record {uchar = '\9051', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL JOT UNDERBAR"}
  , Record {uchar = '\9052', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR"}
  , Record {uchar = '\9053', commands = [("wasysym","\\APLcomment"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL UP SHOE JOT"}
  , Record {uchar = '\9054', commands = [("wasysym","\\APLinput"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUOTE QUAD"}
  , Record {uchar = '\9055', commands = [("wasysym","\\APLlog"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL CIRCLE STAR"}
  , Record {uchar = '\9056', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD COLON"}
  , Record {uchar = '\9057', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL UP TACK DIAERESIS"}
  , Record {uchar = '\9058', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DEL DIAERESIS"}
  , Record {uchar = '\9059', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL STAR DIAERESIS"}
  , Record {uchar = '\9060', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL JOT DIAERESIS"}
  , Record {uchar = '\9061', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS"}
  , Record {uchar = '\9062', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DOWN SHOE STILE"}
  , Record {uchar = '\9063', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL LEFT SHOE STILE"}
  , Record {uchar = '\9064', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL TILDE DIAERESIS"}
  , Record {uchar = '\9065', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS"}
  , Record {uchar = '\9066', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL COMMA BAR"}
  , Record {uchar = '\9067', commands = [("base",""),("wasysym","\\APLnot{\\APLdown}"),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DEL TILDE"}
  , Record {uchar = '\9068', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL ZILDE"}
  , Record {uchar = '\9069', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL STILE TILDE"}
  , Record {uchar = '\9070', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR"}
  , Record {uchar = '\9071', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD NOT EQUAL"}
  , Record {uchar = '\9072', commands = [("base",""),("unicode-math","\\APLboxquestion")], category = Ord, comments = "APL FUNCTIONAL SYMBOL QUAD QUESTION"}
  , Record {uchar = '\9073', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL DOWN CARET TILDE"}
  , Record {uchar = '\9074', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL UP CARET TILDE"}
  , Record {uchar = '\9075', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL IOTA"}
  , Record {uchar = '\9076', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL RHO"}
  , Record {uchar = '\9077', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL OMEGA"}
  , Record {uchar = '\9078', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL ALPHA UNDERBAR"}
  , Record {uchar = '\9079', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL EPSILON UNDERBAR"}
  , Record {uchar = '\9080', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL IOTA UNDERBAR"}
  , Record {uchar = '\9081', commands = [("base",""),("unicode-math","")], category = Ord, comments = "APL FUNCTIONAL SYMBOL OMEGA UNDERBAR"}
  , Record {uchar = '\9084', commands = [("base",""),("unicode-math","\\rangledownzigzagarrow")], category = Ord, comments = "RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW"}
  , Record {uchar = '\9108', commands = [("base",""),("unicode-math","\\hexagon")], category = Ord, comments = "horizontal benzene ring [hexagon flat open]"}
  , Record {uchar = '\9115', commands = [("base",""),("unicode-math","\\lparenuend")], category = Ord, comments = "LEFT PARENTHESIS UPPER HOOK"}
  , Record {uchar = '\9116', commands = [("base",""),("unicode-math","\\lparenextender")], category = Ord, comments = "LEFT PARENTHESIS EXTENSION"}
  , Record {uchar = '\9117', commands = [("base",""),("unicode-math","\\lparenlend")], category = Ord, comments = "LEFT PARENTHESIS LOWER HOOK"}
  , Record {uchar = '\9118', commands = [("base",""),("unicode-math","\\rparenuend")], category = Ord, comments = "RIGHT PARENTHESIS UPPER HOOK"}
  , Record {uchar = '\9119', commands = [("base",""),("unicode-math","\\rparenextender")], category = Ord, comments = "RIGHT PARENTHESIS EXTENSION"}
  , Record {uchar = '\9120', commands = [("base",""),("unicode-math","\\rparenlend")], category = Ord, comments = "RIGHT PARENTHESIS LOWER HOOK"}
  , Record {uchar = '\9121', commands = [("base",""),("unicode-math","\\lbrackuend")], category = Ord, comments = "LEFT SQUARE BRACKET UPPER CORNER"}
  , Record {uchar = '\9122', commands = [("base",""),("unicode-math","\\lbrackextender")], category = Ord, comments = "LEFT SQUARE BRACKET EXTENSION"}
  , Record {uchar = '\9123', commands = [("base",""),("unicode-math","\\lbracklend")], category = Ord, comments = "LEFT SQUARE BRACKET LOWER CORNER"}
  , Record {uchar = '\9124', commands = [("base",""),("unicode-math","\\rbrackuend")], category = Ord, comments = "RIGHT SQUARE BRACKET UPPER CORNER"}
  , Record {uchar = '\9125', commands = [("base",""),("unicode-math","\\rbrackextender")], category = Ord, comments = "RIGHT SQUARE BRACKET EXTENSION"}
  , Record {uchar = '\9126', commands = [("base",""),("unicode-math","\\rbracklend")], category = Ord, comments = "RIGHT SQUARE BRACKET LOWER CORNER"}
  , Record {uchar = '\9127', commands = [("base",""),("unicode-math","\\lbraceuend")], category = Ord, comments = "LEFT CURLY BRACKET UPPER HOOK"}
  , Record {uchar = '\9128', commands = [("base",""),("unicode-math","\\lbracemid")], category = Ord, comments = "LEFT CURLY BRACKET MIDDLE PIECE"}
  , Record {uchar = '\9129', commands = [("base",""),("unicode-math","\\lbracelend")], category = Ord, comments = "LEFT CURLY BRACKET LOWER HOOK"}
  , Record {uchar = '\9130', commands = [("base",""),("unicode-math","\\vbraceextender")], category = Ord, comments = "CURLY BRACKET EXTENSION"}
  , Record {uchar = '\9131', commands = [("base",""),("unicode-math","\\rbraceuend")], category = Ord, comments = "RIGHT CURLY BRACKET UPPER HOOK"}
  , Record {uchar = '\9132', commands = [("base",""),("unicode-math","\\rbracemid")], category = Ord, comments = "RIGHT CURLY BRACKET MIDDLE PIECE"}
  , Record {uchar = '\9133', commands = [("base",""),("unicode-math","\\rbracelend")], category = Ord, comments = "RIGHT CURLY BRACKET LOWER HOOK"}
  , Record {uchar = '\9134', commands = [("base",""),("unicode-math","\\intextender")], category = Ord, comments = "INTEGRAL EXTENSION"}
  , Record {uchar = '\9135', commands = [("base",""),("unicode-math","\\harrowextender")], category = Ord, comments = "HORIZONTAL LINE EXTENSION (used to extend arrows)"}
  , Record {uchar = '\9136', commands = [("base",""),("unicode-math","\\lmoustache")], category = Ord, comments = "? \\lmoustache, UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION"}
  , Record {uchar = '\9137', commands = [("base",""),("unicode-math","\\rmoustache")], category = Ord, comments = "? \\rmoustache, UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION"}
  , Record {uchar = '\9138', commands = [("base",""),("unicode-math","\\sumtop")], category = Ord, comments = "SUMMATION TOP"}
  , Record {uchar = '\9139', commands = [("base",""),("unicode-math","\\sumbottom")], category = Ord, comments = "SUMMATION BOTTOM"}
  , Record {uchar = '\9140', commands = [("base",""),("unicode-math","\\overbracket")], category = TOver, comments = "TOP SQUARE BRACKET"}
  , Record {uchar = '\9141', commands = [("base",""),("unicode-math","\\underbracket")], category = TUnder, comments = "BOTTOM SQUARE BRACKET"}
  , Record {uchar = '\9142', commands = [("base",""),("unicode-math","\\bbrktbrk")], category = Ord, comments = "BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET"}
  , Record {uchar = '\9143', commands = [("base",""),("unicode-math","\\sqrtbottom")], category = Ord, comments = "RADICAL SYMBOL BOTTOM"}
  , Record {uchar = '\9144', commands = [("base",""),("unicode-math","\\lvboxline")], category = Ord, comments = "LEFT VERTICAL BOX LINE"}
  , Record {uchar = '\9145', commands = [("base",""),("unicode-math","\\rvboxline")], category = Ord, comments = "RIGHT VERTICAL BOX LINE"}
  , Record {uchar = '\9166', commands = [("base",""),("unicode-math","\\varcarriagereturn")], category = Ord, comments = "RETURN SYMBOL"}
  , Record {uchar = '\9168', commands = [("base",""),("unicode-math","")], category = Ord, comments = "VERTICAL LINE EXTENSION (VERTICAL LINE EXTENSION)"}
  , Record {uchar = '\9180', commands = [("wrisym","\\overparen"),("yhmath mathabx fourier","\\wideparen"),("unicode-math","\\overparen")], category = TOver, comments = "TOP PARENTHESIS (mathematical use)"}
  , Record {uchar = '\9181', commands = [("wrisym","\\underparen"),("unicode-math","\\underparen")], category = TUnder, comments = "BOTTOM PARENTHESIS (mathematical use)"}
  , Record {uchar = '\9182',