diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,29 @@
 # Revision history for typst-hs
 
+## 0.3.2.0
+
+  * Add metadata element.
+
+  * Add dedup method for vector.
+
+  * Add math.class
+
+  * Make MAttach on symbols include limits if symbol is relation.
+    This is a 0.7 change: "Changed relations to show attachments as limits
+    by default (e.g. in $a ->^x b$)."
+
+  * Add Typst.MathClass.
+
+  * Add im, id, tr text operators.
+
+  * Parse math symbol shorthands as identifiers.
+
+  * Use typst-symbols 0.1.4 so we get all of the defined shorthands.
+
+  * Fix tests because of breaking symbol change ident -> equiv.
+
+  * Depend on dev texmath.
+
 ## 0.3.1.0
 
   * Allow multiplying a ratio by a length.
diff --git a/src/Typst/Evaluate.hs b/src/Typst/Evaluate.hs
--- a/src/Typst/Evaluate.hs
+++ b/src/Typst/Evaluate.hs
@@ -34,6 +34,7 @@
 import Typst.Methods (getMethod)
 import Typst.Module.Standard (loadFileText, standardModule, symModule)
 import Typst.Module.Math (mathModule)
+import Typst.MathClass (mathClassOf, MathClass(Relation))
 import Typst.Parse (parseTypst)
 import Typst.Regex (match)
 import Typst.Show (applyShowRules)
@@ -266,7 +267,18 @@
             named = OM.empty
           }
     MAttach mbBottomExp mbTopExp baseExp -> do
-      base <- pInnerContents [baseExp]
+      base' <- pInnerContents [baseExp]
+      pos <- getPosition
+      let base =
+            case base' of
+              [Elt "text" mbpos [("body", VContent [Txt t])]]
+                     | T.all ((== Relation) . mathClassOf ) t
+                -> [Elt "math.limits" mbpos
+                        [("body", VContent base')]]
+              [Txt t] | T.all ((== Relation) . mathClassOf ) t
+                -> [Elt "math.limits" (Just pos)
+                        [("body", VContent base')]]
+              _ -> base'
       mbBottom <-
         maybe
           (pure Nothing)
diff --git a/src/Typst/MathClass.hs b/src/Typst/MathClass.hs
new file mode 100644
--- /dev/null
+++ b/src/Typst/MathClass.hs
@@ -0,0 +1,2767 @@
+-- https://www.unicode.org/Public/math/revision-15/MathClass-15.txt
+module Typst.MathClass
+ ( MathClass(..),
+   mathClassOf )
+where
+import qualified Data.Map as M
+import Data.Maybe (fromMaybe)
+
+data MathClass =
+    Normal
+  | Opening
+  | Closing
+  | Fence
+  | Vary
+  | Punctuation
+  | Binary
+  | Unary
+  | Relation
+  | Alphabetic
+  | Diacritic
+  | Large
+  | GlyphPart
+  | Space
+  | Special
+  deriving (Show, Eq, Ord, Bounded)
+
+mathClassOf :: Char -> MathClass
+mathClassOf c = fromMaybe Normal $ M.lookup c mathClassMap
+
+mathClassMap :: M.Map Char MathClass
+mathClassMap = M.fromList [
+    ('\x20', Space),
+    ('\x21', Normal),
+    ('\x23', Normal),
+    ('\x24', Normal),
+    ('\x25', Normal),
+    ('\x26', Normal),
+    ('\x28', Opening),
+    ('\x29', Closing),
+    ('\x2a', Normal),
+    ('\x2b', Vary),
+    ('\x2c', Punctuation),
+    ('\x2d', Normal),
+    ('\x2e', Punctuation),
+    ('\x2f', Binary),
+    ('\x30', Normal),
+    ('\x31', Normal),
+    ('\x32', Normal),
+    ('\x33', Normal),
+    ('\x34', Normal),
+    ('\x35', Normal),
+    ('\x36', Normal),
+    ('\x37', Normal),
+    ('\x38', Normal),
+    ('\x39', Normal),
+    ('\x3a', Punctuation),
+    ('\x3b', Punctuation),
+    ('\x3c', Relation),
+    ('\x3d', Relation),
+    ('\x3e', Relation),
+    ('\x3f', Punctuation),
+    ('\x40', Normal),
+    ('\x41', Alphabetic),
+    ('\x42', Alphabetic),
+    ('\x43', Alphabetic),
+    ('\x44', Alphabetic),
+    ('\x45', Alphabetic),
+    ('\x46', Alphabetic),
+    ('\x47', Alphabetic),
+    ('\x48', Alphabetic),
+    ('\x49', Alphabetic),
+    ('\x4a', Alphabetic),
+    ('\x4b', Alphabetic),
+    ('\x4c', Alphabetic),
+    ('\x4d', Alphabetic),
+    ('\x4e', Alphabetic),
+    ('\x4f', Alphabetic),
+    ('\x50', Alphabetic),
+    ('\x51', Alphabetic),
+    ('\x52', Alphabetic),
+    ('\x53', Alphabetic),
+    ('\x54', Alphabetic),
+    ('\x55', Alphabetic),
+    ('\x56', Alphabetic),
+    ('\x57', Alphabetic),
+    ('\x58', Alphabetic),
+    ('\x59', Alphabetic),
+    ('\x5a', Alphabetic),
+    ('\x5b', Opening),
+    ('\x5c', Binary),
+    ('\x5d', Closing),
+    ('\x5e', Normal),
+    ('\x5f', Normal),
+    ('\x60', Diacritic),
+    ('\x61', Alphabetic),
+    ('\x62', Alphabetic),
+    ('\x63', Alphabetic),
+    ('\x64', Alphabetic),
+    ('\x65', Alphabetic),
+    ('\x66', Alphabetic),
+    ('\x67', Alphabetic),
+    ('\x68', Alphabetic),
+    ('\x69', Alphabetic),
+    ('\x6a', Alphabetic),
+    ('\x6b', Alphabetic),
+    ('\x6c', Alphabetic),
+    ('\x6d', Alphabetic),
+    ('\x6e', Alphabetic),
+    ('\x6f', Alphabetic),
+    ('\x70', Alphabetic),
+    ('\x71', Alphabetic),
+    ('\x72', Alphabetic),
+    ('\x73', Alphabetic),
+    ('\x74', Alphabetic),
+    ('\x75', Alphabetic),
+    ('\x76', Alphabetic),
+    ('\x77', Alphabetic),
+    ('\x78', Alphabetic),
+    ('\x79', Alphabetic),
+    ('\x7a', Alphabetic),
+    ('\x7b', Opening),
+    ('\x7c', Fence),
+    ('\x7d', Closing),
+    ('\x7e', Normal),
+    ('\xa0', Space),
+    ('\xa1', Punctuation),
+    ('\xa2', Normal),
+    ('\xa3', Normal),
+    ('\xa4', Normal),
+    ('\xa5', Normal),
+    ('\xa6', Normal),
+    ('\xa7', Normal),
+    ('\xa8', Diacritic),
+    ('\xac', Unary),
+    ('\xaf', Diacritic),
+    ('\xb0', Normal),
+    ('\xb1', Vary),
+    ('\xb2', Normal),
+    ('\xb3', Normal),
+    ('\xb4', Normal),
+    ('\xb5', Normal),
+    ('\xb6', Normal),
+    ('\xb7', Binary),
+    ('\xb9', Normal),
+    ('\xbc', Normal),
+    ('\xbd', Normal),
+    ('\xbe', Normal),
+    ('\xbf', Punctuation),
+    ('\xd7', Binary),
+    ('\xf7', Binary),
+    ('\x131', Alphabetic),
+    ('\x237', Alphabetic),
+    ('\x2c6', Diacritic),
+    ('\x2c7', Diacritic),
+    ('\x2d8', Diacritic),
+    ('\x2d9', Diacritic),
+    ('\x2da', Diacritic),
+    ('\x2dc', Diacritic),
+    ('\x300', Diacritic),
+    ('\x301', Diacritic),
+    ('\x302', Diacritic),
+    ('\x303', Diacritic),
+    ('\x304', Diacritic),
+    ('\x305', Diacritic),
+    ('\x306', Diacritic),
+    ('\x307', Diacritic),
+    ('\x308', Diacritic),
+    ('\x30a', Diacritic),
+    ('\x30c', Diacritic),
+    ('\x311', Diacritic),
+    ('\x323', Diacritic),
+    ('\x32c', Diacritic),
+    ('\x32d', Diacritic),
+    ('\x32e', Diacritic),
+    ('\x32f', Diacritic),
+    ('\x330', Diacritic),
+    ('\x331', Diacritic),
+    ('\x332', Diacritic),
+    ('\x333', Diacritic),
+    ('\x338', Diacritic),
+    ('\x33a', Diacritic),
+    ('\x33f', Diacritic),
+    ('\x346', Diacritic),
+    ('\x391', Alphabetic),
+    ('\x392', Alphabetic),
+    ('\x393', Alphabetic),
+    ('\x394', Alphabetic),
+    ('\x395', Alphabetic),
+    ('\x396', Alphabetic),
+    ('\x397', Alphabetic),
+    ('\x398', Alphabetic),
+    ('\x399', Alphabetic),
+    ('\x39a', Alphabetic),
+    ('\x39b', Alphabetic),
+    ('\x39c', Alphabetic),
+    ('\x39d', Alphabetic),
+    ('\x39e', Alphabetic),
+    ('\x39f', Alphabetic),
+    ('\x3a0', Alphabetic),
+    ('\x3a1', Alphabetic),
+    ('\x3a3', Alphabetic),
+    ('\x3a4', Alphabetic),
+    ('\x3a6', Alphabetic),
+    ('\x3a7', Alphabetic),
+    ('\x3a8', Alphabetic),
+    ('\x3a9', Alphabetic),
+    ('\x3b1', Alphabetic),
+    ('\x3b2', Alphabetic),
+    ('\x3b3', Alphabetic),
+    ('\x3b4', Alphabetic),
+    ('\x3b5', Alphabetic),
+    ('\x3b6', Alphabetic),
+    ('\x3b7', Alphabetic),
+    ('\x3b8', Alphabetic),
+    ('\x3b9', Alphabetic),
+    ('\x3ba', Alphabetic),
+    ('\x3bb', Alphabetic),
+    ('\x3bc', Alphabetic),
+    ('\x3bd', Alphabetic),
+    ('\x3be', Alphabetic),
+    ('\x3bf', Alphabetic),
+    ('\x3c0', Alphabetic),
+    ('\x3c1', Alphabetic),
+    ('\x3c3', Alphabetic),
+    ('\x3c4', Alphabetic),
+    ('\x3c5', Alphabetic),
+    ('\x3c6', Alphabetic),
+    ('\x3c7', Alphabetic),
+    ('\x3c8', Alphabetic),
+    ('\x3c9', Alphabetic),
+    ('\x3d0', Alphabetic),
+    ('\x3d1', Alphabetic),
+    ('\x3d2', Alphabetic),
+    ('\x3d5', Alphabetic),
+    ('\x3d6', Alphabetic),
+    ('\x3d8', Normal),
+    ('\x3d9', Normal),
+    ('\x3da', Alphabetic),
+    ('\x3db', Alphabetic),
+    ('\x3dc', Alphabetic),
+    ('\x3dd', Alphabetic),
+    ('\x3e0', Alphabetic),
+    ('\x3e1', Alphabetic),
+    ('\x3f0', Alphabetic),
+    ('\x3f1', Alphabetic),
+    ('\x3f4', Alphabetic),
+    ('\x3f5', Alphabetic),
+    ('\x3f6', Normal),
+    ('\x428', Alphabetic),
+    ('\x606', Large),
+    ('\x607', Large),
+    ('\x608', Alphabetic),
+    ('\x2000', Space),
+    ('\x2001', Space),
+    ('\x2002', Space),
+    ('\x2003', Space),
+    ('\x2004', Space),
+    ('\x2005', Space),
+    ('\x2006', Space),
+    ('\x2007', Space),
+    ('\x2009', Space),
+    ('\x200a', Space),
+    ('\x200b', Space),
+    ('\x2010', Punctuation),
+    ('\x2012', Punctuation),
+    ('\x2013', Punctuation),
+    ('\x2014', Punctuation),
+    ('\x2016', Fence),
+    ('\x2020', Relation),
+    ('\x2021', Relation),
+    ('\x2022', Binary),
+    ('\x2026', Normal),
+    ('\x2032', Normal),
+    ('\x2033', Normal),
+    ('\x2034', Normal),
+    ('\x2035', Normal),
+    ('\x2036', Normal),
+    ('\x2037', Normal),
+    ('\x203b', Normal),
+    ('\x203c', Normal),
+    ('\x2040', Binary),
+    ('\x2044', Binary),
+    ('\x204e', Binary),
+    ('\x204f', Relation),
+    ('\x2050', Relation),
+    ('\x2051', Normal),
+    ('\x2052', Normal),
+    ('\x2057', Normal),
+    ('\x205f', Space),
+    ('\x2061', Binary),
+    ('\x2062', Binary),
+    ('\x2063', Punctuation),
+    ('\x2064', Special),
+    ('\x207a', Normal),
+    ('\x207b', Normal),
+    ('\x207c', Normal),
+    ('\x207d', Normal),
+    ('\x207e', Normal),
+    ('\x208a', Normal),
+    ('\x208b', Normal),
+    ('\x208c', Normal),
+    ('\x208d', Normal),
+    ('\x208e', Normal),
+    ('\x20d0', Diacritic),
+    ('\x20d1', Diacritic),
+    ('\x20d2', Diacritic),
+    ('\x20d3', Special),
+    ('\x20d4', Diacritic),
+    ('\x20d5', Diacritic),
+    ('\x20d6', Diacritic),
+    ('\x20d7', Diacritic),
+    ('\x20d8', Diacritic),
+    ('\x20d9', Diacritic),
+    ('\x20da', Diacritic),
+    ('\x20db', Diacritic),
+    ('\x20dc', Diacritic),
+    ('\x20dd', Diacritic),
+    ('\x20de', Diacritic),
+    ('\x20df', Diacritic),
+    ('\x20e1', Diacritic),
+    ('\x20e4', Diacritic),
+    ('\x20e5', Diacritic),
+    ('\x20e6', Diacritic),
+    ('\x20e7', Diacritic),
+    ('\x20e8', Diacritic),
+    ('\x20e9', Diacritic),
+    ('\x20ea', Diacritic),
+    ('\x20eb', Diacritic),
+    ('\x20ec', Diacritic),
+    ('\x20ed', Diacritic),
+    ('\x20ee', Diacritic),
+    ('\x20ef', Diacritic),
+    ('\x2102', Alphabetic),
+    ('\x2107', Normal),
+    ('\x210a', Alphabetic),
+    ('\x210b', Alphabetic),
+    ('\x210c', Alphabetic),
+    ('\x210d', Alphabetic),
+    ('\x210e', Normal),
+    ('\x210f', Normal),
+    ('\x2110', Alphabetic),
+    ('\x2111', Alphabetic),
+    ('\x2112', Alphabetic),
+    ('\x2113', Alphabetic),
+    ('\x2115', Alphabetic),
+    ('\x2118', Alphabetic),
+    ('\x2119', Alphabetic),
+    ('\x211a', Alphabetic),
+    ('\x211b', Alphabetic),
+    ('\x211c', Alphabetic),
+    ('\x211d', Alphabetic),
+    ('\x2124', Alphabetic),
+    ('\x2126', Normal),
+    ('\x2127', Normal),
+    ('\x2128', Alphabetic),
+    ('\x2129', Normal),
+    ('\x212b', Alphabetic),
+    ('\x212c', Alphabetic),
+    ('\x212d', Alphabetic),
+    ('\x212f', Alphabetic),
+    ('\x2130', Alphabetic),
+    ('\x2131', Alphabetic),
+    ('\x2132', Normal),
+    ('\x2133', Alphabetic),
+    ('\x2134', Alphabetic),
+    ('\x2135', Alphabetic),
+    ('\x2136', Alphabetic),
+    ('\x2137', Alphabetic),
+    ('\x2138', Alphabetic),
+    ('\x213c', Alphabetic),
+    ('\x213d', Alphabetic),
+    ('\x213e', Normal),
+    ('\x213f', Alphabetic),
+    ('\x2140', Large),
+    ('\x2141', Normal),
+    ('\x2142', Normal),
+    ('\x2143', Normal),
+    ('\x2144', Normal),
+    ('\x2145', Normal),
+    ('\x2146', Normal),
+    ('\x2147', Normal),
+    ('\x2148', Normal),
+    ('\x2149', Normal),
+    ('\x214b', Normal),
+    ('\x2190', Relation),
+    ('\x2191', Relation),
+    ('\x2192', Relation),
+    ('\x2193', Relation),
+    ('\x2194', Relation),
+    ('\x2195', Relation),
+    ('\x2196', Relation),
+    ('\x2197', Relation),
+    ('\x2198', Relation),
+    ('\x2199', Relation),
+    ('\x219a', Relation),
+    ('\x219b', Relation),
+    ('\x219c', Relation),
+    ('\x219d', Relation),
+    ('\x219e', Relation),
+    ('\x219f', Relation),
+    ('\x21a0', Relation),
+    ('\x21a1', Relation),
+    ('\x21a2', Relation),
+    ('\x21a3', Relation),
+    ('\x21a4', Relation),
+    ('\x21a5', Relation),
+    ('\x21a6', Relation),
+    ('\x21a7', Relation),
+    ('\x21a8', Relation),
+    ('\x21a9', Relation),
+    ('\x21aa', Relation),
+    ('\x21ab', Relation),
+    ('\x21ac', Relation),
+    ('\x21ad', Relation),
+    ('\x21ae', Relation),
+    ('\x21af', Relation),
+    ('\x21b0', Relation),
+    ('\x21b1', Relation),
+    ('\x21b2', Relation),
+    ('\x21b3', Relation),
+    ('\x21b6', Relation),
+    ('\x21b7', Relation),
+    ('\x21ba', Relation),
+    ('\x21bb', Relation),
+    ('\x21bc', Relation),
+    ('\x21bd', Relation),
+    ('\x21be', Relation),
+    ('\x21bf', Relation),
+    ('\x21c0', Relation),
+    ('\x21c1', Relation),
+    ('\x21c2', Relation),
+    ('\x21c3', Relation),
+    ('\x21c4', Relation),
+    ('\x21c5', Relation),
+    ('\x21c6', Relation),
+    ('\x21c7', Relation),
+    ('\x21c8', Relation),
+    ('\x21c9', Relation),
+    ('\x21ca', Relation),
+    ('\x21cb', Relation),
+    ('\x21cc', Relation),
+    ('\x21cd', Relation),
+    ('\x21ce', Relation),
+    ('\x21cf', Relation),
+    ('\x21d0', Relation),
+    ('\x21d1', Relation),
+    ('\x21d2', Relation),
+    ('\x21d3', Relation),
+    ('\x21d4', Relation),
+    ('\x21d5', Relation),
+    ('\x21d6', Relation),
+    ('\x21d7', Relation),
+    ('\x21d8', Relation),
+    ('\x21d9', Relation),
+    ('\x21da', Relation),
+    ('\x21db', Relation),
+    ('\x21dc', Relation),
+    ('\x21dd', Relation),
+    ('\x21de', Relation),
+    ('\x21df', Relation),
+    ('\x21e0', Relation),
+    ('\x21e1', Relation),
+    ('\x21e2', Relation),
+    ('\x21e3', Relation),
+    ('\x21e4', Relation),
+    ('\x21e5', Relation),
+    ('\x21e6', Relation),
+    ('\x21e7', Relation),
+    ('\x21e8', Relation),
+    ('\x21e9', Relation),
+    ('\x21ea', Relation),
+    ('\x21eb', Relation),
+    ('\x21ec', Relation),
+    ('\x21ed', Relation),
+    ('\x21ee', Relation),
+    ('\x21ef', Relation),
+    ('\x21f0', Relation),
+    ('\x21f1', Relation),
+    ('\x21f2', Relation),
+    ('\x21f3', Relation),
+    ('\x21f4', Relation),
+    ('\x21f5', Relation),
+    ('\x21f6', Relation),
+    ('\x21f7', Relation),
+    ('\x21f8', Relation),
+    ('\x21f9', Relation),
+    ('\x21fa', Relation),
+    ('\x21fb', Relation),
+    ('\x21fc', Relation),
+    ('\x21fd', Relation),
+    ('\x21fe', Relation),
+    ('\x21ff', Relation),
+    ('\x2200', Unary),
+    ('\x2201', Unary),
+    ('\x2202', Normal),
+    ('\x2203', Unary),
+    ('\x2204', Unary),
+    ('\x2205', Normal),
+    ('\x2206', Unary),
+    ('\x2207', Unary),
+    ('\x2208', Relation),
+    ('\x2209', Relation),
+    ('\x220a', Relation),
+    ('\x220b', Relation),
+    ('\x220c', Relation),
+    ('\x220d', Relation),
+    ('\x220e', Normal),
+    ('\x220f', Large),
+    ('\x2210', Large),
+    ('\x2211', Large),
+    ('\x2212', Vary),
+    ('\x2213', Vary),
+    ('\x2214', Binary),
+    ('\x2215', Binary),
+    ('\x2216', Binary),
+    ('\x2217', Binary),
+    ('\x2218', Binary),
+    ('\x2219', Binary),
+    ('\x221a', Large),
+    ('\x221b', Large),
+    ('\x221c', Large),
+    ('\x221d', Relation),
+    ('\x221e', Normal),
+    ('\x221f', Normal),
+    ('\x2220', Normal),
+    ('\x2221', Normal),
+    ('\x2222', Normal),
+    ('\x2223', Relation),
+    ('\x2224', Relation),
+    ('\x2225', Relation),
+    ('\x2226', Relation),
+    ('\x2227', Binary),
+    ('\x2228', Binary),
+    ('\x2229', Binary),
+    ('\x222a', Binary),
+    ('\x222b', Large),
+    ('\x222c', Large),
+    ('\x222d', Large),
+    ('\x222e', Large),
+    ('\x222f', Large),
+    ('\x2230', Large),
+    ('\x2231', Large),
+    ('\x2232', Large),
+    ('\x2233', Large),
+    ('\x2234', Relation),
+    ('\x2235', Relation),
+    ('\x2236', Relation),
+    ('\x2237', Relation),
+    ('\x2238', Binary),
+    ('\x2239', Relation),
+    ('\x223a', Relation),
+    ('\x223b', Relation),
+    ('\x223c', Relation),
+    ('\x223d', Relation),
+    ('\x223e', Binary),
+    ('\x223f', Normal),
+    ('\x2240', Binary),
+    ('\x2241', Relation),
+    ('\x2242', Relation),
+    ('\x2243', Relation),
+    ('\x2244', Relation),
+    ('\x2245', Relation),
+    ('\x2246', Relation),
+    ('\x2247', Relation),
+    ('\x2248', Relation),
+    ('\x2249', Relation),
+    ('\x224a', Relation),
+    ('\x224b', Relation),
+    ('\x224c', Relation),
+    ('\x224d', Relation),
+    ('\x224e', Relation),
+    ('\x224f', Relation),
+    ('\x2250', Relation),
+    ('\x2251', Relation),
+    ('\x2252', Relation),
+    ('\x2253', Relation),
+    ('\x2254', Relation),
+    ('\x2255', Relation),
+    ('\x2256', Relation),
+    ('\x2257', Relation),
+    ('\x2258', Relation),
+    ('\x2259', Relation),
+    ('\x225a', Relation),
+    ('\x225b', Relation),
+    ('\x225c', Relation),
+    ('\x225d', Relation),
+    ('\x225e', Relation),
+    ('\x225f', Relation),
+    ('\x2260', Relation),
+    ('\x2261', Relation),
+    ('\x2262', Relation),
+    ('\x2263', Relation),
+    ('\x2264', Relation),
+    ('\x2265', Relation),
+    ('\x2266', Relation),
+    ('\x2267', Relation),
+    ('\x2268', Relation),
+    ('\x2269', Relation),
+    ('\x226a', Relation),
+    ('\x226b', Relation),
+    ('\x226c', Relation),
+    ('\x226d', Relation),
+    ('\x226e', Relation),
+    ('\x226f', Relation),
+    ('\x2270', Relation),
+    ('\x2271', Relation),
+    ('\x2272', Relation),
+    ('\x2273', Relation),
+    ('\x2274', Relation),
+    ('\x2275', Relation),
+    ('\x2276', Relation),
+    ('\x2277', Relation),
+    ('\x2278', Relation),
+    ('\x2279', Relation),
+    ('\x227a', Relation),
+    ('\x227b', Relation),
+    ('\x227c', Relation),
+    ('\x227d', Relation),
+    ('\x227e', Relation),
+    ('\x227f', Relation),
+    ('\x2280', Relation),
+    ('\x2281', Relation),
+    ('\x2282', Relation),
+    ('\x2283', Relation),
+    ('\x2284', Relation),
+    ('\x2285', Relation),
+    ('\x2286', Relation),
+    ('\x2287', Relation),
+    ('\x2288', Relation),
+    ('\x2289', Relation),
+    ('\x228a', Relation),
+    ('\x228b', Relation),
+    ('\x228c', Binary),
+    ('\x228d', Binary),
+    ('\x228e', Binary),
+    ('\x228f', Relation),
+    ('\x2290', Relation),
+    ('\x2291', Relation),
+    ('\x2292', Relation),
+    ('\x2293', Binary),
+    ('\x2294', Binary),
+    ('\x2295', Binary),
+    ('\x2296', Binary),
+    ('\x2297', Binary),
+    ('\x2298', Binary),
+    ('\x2299', Binary),
+    ('\x229a', Binary),
+    ('\x229b', Binary),
+    ('\x229c', Binary),
+    ('\x229d', Binary),
+    ('\x229e', Binary),
+    ('\x229f', Binary),
+    ('\x22a0', Binary),
+    ('\x22a1', Binary),
+    ('\x22a2', Relation),
+    ('\x22a3', Relation),
+    ('\x22a4', Normal),
+    ('\x22a5', Relation),
+    ('\x22a6', Relation),
+    ('\x22a7', Relation),
+    ('\x22a8', Relation),
+    ('\x22a9', Relation),
+    ('\x22aa', Relation),
+    ('\x22ab', Relation),
+    ('\x22ac', Relation),
+    ('\x22ad', Relation),
+    ('\x22ae', Relation),
+    ('\x22af', Relation),
+    ('\x22b0', Relation),
+    ('\x22b1', Relation),
+    ('\x22b2', Relation),
+    ('\x22b3', Relation),
+    ('\x22b4', Relation),
+    ('\x22b5', Relation),
+    ('\x22b6', Relation),
+    ('\x22b7', Relation),
+    ('\x22b8', Relation),
+    ('\x22b9', Binary),
+    ('\x22ba', Binary),
+    ('\x22bb', Binary),
+    ('\x22bc', Binary),
+    ('\x22bd', Binary),
+    ('\x22be', Normal),
+    ('\x22bf', Normal),
+    ('\x22c0', Large),
+    ('\x22c1', Large),
+    ('\x22c2', Large),
+    ('\x22c3', Large),
+    ('\x22c4', Binary),
+    ('\x22c5', Binary),
+    ('\x22c6', Binary),
+    ('\x22c7', Binary),
+    ('\x22c8', Relation),
+    ('\x22c9', Binary),
+    ('\x22ca', Binary),
+    ('\x22cb', Binary),
+    ('\x22cc', Binary),
+    ('\x22cd', Relation),
+    ('\x22ce', Binary),
+    ('\x22cf', Binary),
+    ('\x22d0', Relation),
+    ('\x22d1', Relation),
+    ('\x22d2', Binary),
+    ('\x22d3', Binary),
+    ('\x22d4', Relation),
+    ('\x22d5', Relation),
+    ('\x22d6', Relation),
+    ('\x22d7', Relation),
+    ('\x22d8', Relation),
+    ('\x22d9', Relation),
+    ('\x22da', Relation),
+    ('\x22db', Relation),
+    ('\x22dc', Relation),
+    ('\x22dd', Relation),
+    ('\x22de', Relation),
+    ('\x22df', Relation),
+    ('\x22e0', Relation),
+    ('\x22e1', Relation),
+    ('\x22e2', Relation),
+    ('\x22e3', Relation),
+    ('\x22e4', Relation),
+    ('\x22e5', Relation),
+    ('\x22e6', Relation),
+    ('\x22e7', Relation),
+    ('\x22e8', Relation),
+    ('\x22e9', Relation),
+    ('\x22ea', Relation),
+    ('\x22eb', Relation),
+    ('\x22ec', Relation),
+    ('\x22ed', Relation),
+    ('\x22ee', Relation),
+    ('\x22ef', Relation),
+    ('\x22f0', Relation),
+    ('\x22f1', Relation),
+    ('\x22f2', Relation),
+    ('\x22f3', Relation),
+    ('\x22f4', Relation),
+    ('\x22f5', Relation),
+    ('\x22f6', Relation),
+    ('\x22f7', Relation),
+    ('\x22f8', Relation),
+    ('\x22f9', Relation),
+    ('\x22fa', Relation),
+    ('\x22fb', Relation),
+    ('\x22fc', Relation),
+    ('\x22fd', Relation),
+    ('\x22fe', Relation),
+    ('\x22ff', Relation),
+    ('\x2300', Normal),
+    ('\x2302', Normal),
+    ('\x2305', Binary),
+    ('\x2306', Binary),
+    ('\x2308', Opening),
+    ('\x2309', Closing),
+    ('\x230a', Opening),
+    ('\x230b', Closing),
+    ('\x2310', Normal),
+    ('\x2311', Normal),
+    ('\x2319', Normal),
+    ('\x231c', Opening),
+    ('\x231d', Closing),
+    ('\x231e', Opening),
+    ('\x231f', Closing),
+    ('\x2320', GlyphPart),
+    ('\x2321', GlyphPart),
+    ('\x2322', Relation),
+    ('\x2323', Relation),
+    ('\x2336', Normal),
+    ('\x233d', Binary),
+    ('\x233f', Relation),
+    ('\x237c', Relation),
+    ('\x2394', Normal),
+    ('\x239b', GlyphPart),
+    ('\x239c', GlyphPart),
+    ('\x239d', GlyphPart),
+    ('\x239e', GlyphPart),
+    ('\x239f', GlyphPart),
+    ('\x23a0', GlyphPart),
+    ('\x23a1', GlyphPart),
+    ('\x23a2', GlyphPart),
+    ('\x23a3', GlyphPart),
+    ('\x23a4', GlyphPart),
+    ('\x23a5', GlyphPart),
+    ('\x23a6', GlyphPart),
+    ('\x23a7', GlyphPart),
+    ('\x23a8', GlyphPart),
+    ('\x23a9', GlyphPart),
+    ('\x23aa', GlyphPart),
+    ('\x23ab', GlyphPart),
+    ('\x23ac', GlyphPart),
+    ('\x23ad', GlyphPart),
+    ('\x23ae', GlyphPart),
+    ('\x23af', GlyphPart),
+    ('\x23b0', Relation),
+    ('\x23b1', Relation),
+    ('\x23b2', GlyphPart),
+    ('\x23b3', GlyphPart),
+    ('\x23b4', Normal),
+    ('\x23b5', Normal),
+    ('\x23b6', Normal),
+    ('\x23b7', GlyphPart),
+    ('\x23d0', GlyphPart),
+    ('\x23dc', Normal),
+    ('\x23dd', Normal),
+    ('\x23de', Normal),
+    ('\x23df', Normal),
+    ('\x23e0', Normal),
+    ('\x23e1', Normal),
+    ('\x23e2', Normal),
+    ('\x23e3', Normal),
+    ('\x23e4', Normal),
+    ('\x23e5', Normal),
+    ('\x23e6', Normal),
+    ('\x23e7', Normal),
+    ('\x24c8', Normal),
+    ('\x25a0', Normal),
+    ('\x25a1', Normal),
+    ('\x25aa', Normal),
+    ('\x25ab', Normal),
+    ('\x25ad', Normal),
+    ('\x25ae', Normal),
+    ('\x25af', Normal),
+    ('\x25b0', Normal),
+    ('\x25b1', Normal),
+    ('\x25b2', Binary),
+    ('\x25b3', Binary),
+    ('\x25b4', Binary),
+    ('\x25b5', Binary),
+    ('\x25b6', Binary),
+    ('\x25b7', Binary),
+    ('\x25b8', Binary),
+    ('\x25b9', Binary),
+    ('\x25bc', Binary),
+    ('\x25bd', Binary),
+    ('\x25be', Binary),
+    ('\x25bf', Binary),
+    ('\x25c0', Binary),
+    ('\x25c1', Binary),
+    ('\x25c2', Binary),
+    ('\x25c3', Binary),
+    ('\x25c4', Binary),
+    ('\x25c5', Binary),
+    ('\x25c6', Normal),
+    ('\x25c7', Normal),
+    ('\x25c8', Normal),
+    ('\x25c9', Normal),
+    ('\x25ca', Binary),
+    ('\x25cb', Binary),
+    ('\x25ce', Normal),
+    ('\x25cf', Normal),
+    ('\x25d0', Normal),
+    ('\x25d1', Normal),
+    ('\x25d2', Normal),
+    ('\x25d3', Normal),
+    ('\x25d6', Normal),
+    ('\x25d7', Normal),
+    ('\x25e2', Normal),
+    ('\x25e3', Normal),
+    ('\x25e4', Normal),
+    ('\x25e5', Normal),
+    ('\x25e6', Binary),
+    ('\x25e7', Normal),
+    ('\x25e8', Normal),
+    ('\x25e9', Normal),
+    ('\x25ea', Normal),
+    ('\x25eb', Binary),
+    ('\x25ec', Binary),
+    ('\x25ef', Normal),
+    ('\x25f8', Binary),
+    ('\x25f9', Binary),
+    ('\x25fa', Binary),
+    ('\x25fb', Binary),
+    ('\x25fc', Binary),
+    ('\x25fd', Binary),
+    ('\x25fe', Binary),
+    ('\x25ff', Binary),
+    ('\x2605', Binary),
+    ('\x2606', Binary),
+    ('\x2609', Normal),
+    ('\x260c', Normal),
+    ('\x263d', Normal),
+    ('\x263e', Normal),
+    ('\x263f', Normal),
+    ('\x2640', Normal),
+    ('\x2641', Normal),
+    ('\x2642', Normal),
+    ('\x2643', Normal),
+    ('\x2644', Normal),
+    ('\x2646', Normal),
+    ('\x2647', Normal),
+    ('\x2648', Normal),
+    ('\x2649', Normal),
+    ('\x2660', Normal),
+    ('\x2661', Normal),
+    ('\x2662', Normal),
+    ('\x2663', Normal),
+    ('\x2664', Normal),
+    ('\x2665', Normal),
+    ('\x2666', Normal),
+    ('\x2667', Normal),
+    ('\x2669', Normal),
+    ('\x266d', Normal),
+    ('\x266e', Normal),
+    ('\x266f', Normal),
+    ('\x2680', Normal),
+    ('\x2681', Normal),
+    ('\x2682', Normal),
+    ('\x2683', Normal),
+    ('\x2684', Normal),
+    ('\x2685', Normal),
+    ('\x2686', Normal),
+    ('\x2687', Normal),
+    ('\x2688', Normal),
+    ('\x2689', Normal),
+    ('\x26aa', Normal),
+    ('\x26ab', Normal),
+    ('\x26ac', Normal),
+    ('\x26b2', Normal),
+    ('\x2713', Normal),
+    ('\x2717', Normal),
+    ('\x2720', Normal),
+    ('\x272a', Normal),
+    ('\x2736', Normal),
+    ('\x2772', Opening),
+    ('\x2773', Closing),
+    ('\x27c0', Normal),
+    ('\x27c1', Normal),
+    ('\x27c2', Relation),
+    ('\x27c3', Relation),
+    ('\x27c4', Relation),
+    ('\x27c5', Relation),
+    ('\x27c6', Relation),
+    ('\x27c7', Relation),
+    ('\x27c8', Relation),
+    ('\x27c9', Relation),
+    ('\x27ca', Relation),
+    ('\x27cb', Relation),
+    ('\x27cc', Large),
+    ('\x27cd', Relation),
+    ('\x27ce', Binary),
+    ('\x27cf', Binary),
+    ('\x27d0', Normal),
+    ('\x27d1', Binary),
+    ('\x27d2', Relation),
+    ('\x27d3', Relation),
+    ('\x27d4', Relation),
+    ('\x27d5', Large),
+    ('\x27d6', Large),
+    ('\x27d7', Large),
+    ('\x27d8', Large),
+    ('\x27d9', Large),
+    ('\x27da', Relation),
+    ('\x27db', Relation),
+    ('\x27dc', Relation),
+    ('\x27dd', Relation),
+    ('\x27de', Relation),
+    ('\x27df', Relation),
+    ('\x27e0', Binary),
+    ('\x27e1', Binary),
+    ('\x27e2', Binary),
+    ('\x27e3', Binary),
+    ('\x27e4', Binary),
+    ('\x27e5', Binary),
+    ('\x27e6', Opening),
+    ('\x27e7', Closing),
+    ('\x27e8', Opening),
+    ('\x27e9', Closing),
+    ('\x27ea', Opening),
+    ('\x27eb', Closing),
+    ('\x27ec', Opening),
+    ('\x27ed', Closing),
+    ('\x27ee', Opening),
+    ('\x27ef', Closing),
+    ('\x27f0', Relation),
+    ('\x27f1', Relation),
+    ('\x27f2', Relation),
+    ('\x27f3', Relation),
+    ('\x27f4', Relation),
+    ('\x27f5', Relation),
+    ('\x27f6', Relation),
+    ('\x27f7', Relation),
+    ('\x27f8', Relation),
+    ('\x27f9', Relation),
+    ('\x27fa', Relation),
+    ('\x27fb', Relation),
+    ('\x27fc', Relation),
+    ('\x27fd', Relation),
+    ('\x27fe', Relation),
+    ('\x27ff', Relation),
+    ('\x2900', Relation),
+    ('\x2901', Relation),
+    ('\x2902', Relation),
+    ('\x2903', Relation),
+    ('\x2904', Relation),
+    ('\x2905', Relation),
+    ('\x2906', Relation),
+    ('\x2907', Relation),
+    ('\x2908', Relation),
+    ('\x2909', Relation),
+    ('\x290a', Relation),
+    ('\x290b', Relation),
+    ('\x290c', Relation),
+    ('\x290d', Relation),
+    ('\x290e', Relation),
+    ('\x290f', Relation),
+    ('\x2910', Relation),
+    ('\x2911', Relation),
+    ('\x2912', Relation),
+    ('\x2913', Relation),
+    ('\x2914', Relation),
+    ('\x2915', Relation),
+    ('\x2916', Relation),
+    ('\x2917', Relation),
+    ('\x2918', Relation),
+    ('\x2919', Relation),
+    ('\x291a', Relation),
+    ('\x291b', Relation),
+    ('\x291c', Relation),
+    ('\x291d', Relation),
+    ('\x291e', Relation),
+    ('\x291f', Relation),
+    ('\x2920', Relation),
+    ('\x2921', Relation),
+    ('\x2922', Relation),
+    ('\x2923', Relation),
+    ('\x2924', Relation),
+    ('\x2925', Relation),
+    ('\x2926', Relation),
+    ('\x2927', Relation),
+    ('\x2928', Relation),
+    ('\x2929', Relation),
+    ('\x292a', Relation),
+    ('\x292b', Relation),
+    ('\x292c', Relation),
+    ('\x292d', Relation),
+    ('\x292e', Relation),
+    ('\x292f', Relation),
+    ('\x2930', Relation),
+    ('\x2931', Relation),
+    ('\x2932', Relation),
+    ('\x2933', Relation),
+    ('\x2934', Relation),
+    ('\x2935', Relation),
+    ('\x2936', Relation),
+    ('\x2937', Relation),
+    ('\x2938', Relation),
+    ('\x2939', Relation),
+    ('\x293a', Relation),
+    ('\x293b', Relation),
+    ('\x293c', Relation),
+    ('\x293d', Relation),
+    ('\x293e', Relation),
+    ('\x293f', Relation),
+    ('\x2940', Relation),
+    ('\x2941', Relation),
+    ('\x2942', Relation),
+    ('\x2943', Relation),
+    ('\x2944', Relation),
+    ('\x2945', Relation),
+    ('\x2946', Relation),
+    ('\x2947', Relation),
+    ('\x2948', Relation),
+    ('\x2949', Relation),
+    ('\x294a', Relation),
+    ('\x294b', Relation),
+    ('\x294c', Relation),
+    ('\x294d', Relation),
+    ('\x294e', Relation),
+    ('\x294f', Relation),
+    ('\x2950', Relation),
+    ('\x2951', Relation),
+    ('\x2952', Relation),
+    ('\x2953', Relation),
+    ('\x2954', Relation),
+    ('\x2955', Relation),
+    ('\x2956', Relation),
+    ('\x2957', Relation),
+    ('\x2958', Relation),
+    ('\x2959', Relation),
+    ('\x295a', Relation),
+    ('\x295b', Relation),
+    ('\x295c', Relation),
+    ('\x295d', Relation),
+    ('\x295e', Relation),
+    ('\x295f', Relation),
+    ('\x2960', Relation),
+    ('\x2961', Relation),
+    ('\x2962', Relation),
+    ('\x2963', Relation),
+    ('\x2964', Relation),
+    ('\x2965', Relation),
+    ('\x2966', Relation),
+    ('\x2967', Relation),
+    ('\x2968', Relation),
+    ('\x2969', Relation),
+    ('\x296a', Relation),
+    ('\x296b', Relation),
+    ('\x296c', Relation),
+    ('\x296d', Relation),
+    ('\x296e', Relation),
+    ('\x296f', Relation),
+    ('\x2970', Relation),
+    ('\x2971', Relation),
+    ('\x2972', Relation),
+    ('\x2973', Relation),
+    ('\x2974', Relation),
+    ('\x2975', Relation),
+    ('\x2976', Relation),
+    ('\x2977', Relation),
+    ('\x2978', Relation),
+    ('\x2979', Relation),
+    ('\x297a', Relation),
+    ('\x297b', Relation),
+    ('\x297c', Relation),
+    ('\x297d', Relation),
+    ('\x297e', Relation),
+    ('\x297f', Relation),
+    ('\x2980', Fence),
+    ('\x2981', Normal),
+    ('\x2982', Fence),
+    ('\x2983', Opening),
+    ('\x2984', Closing),
+    ('\x2985', Opening),
+    ('\x2986', Closing),
+    ('\x2987', Opening),
+    ('\x2988', Closing),
+    ('\x2989', Opening),
+    ('\x298a', Closing),
+    ('\x298b', Opening),
+    ('\x298c', Closing),
+    ('\x298d', Opening),
+    ('\x298e', Closing),
+    ('\x298f', Opening),
+    ('\x2990', Closing),
+    ('\x2991', Opening),
+    ('\x2992', Closing),
+    ('\x2993', Opening),
+    ('\x2994', Closing),
+    ('\x2995', Opening),
+    ('\x2996', Closing),
+    ('\x2997', Opening),
+    ('\x2998', Closing),
+    ('\x2999', Fence),
+    ('\x299a', Fence),
+    ('\x299b', Normal),
+    ('\x299c', Normal),
+    ('\x299d', Normal),
+    ('\x299e', Normal),
+    ('\x299f', Normal),
+    ('\x29a0', Normal),
+    ('\x29a1', Normal),
+    ('\x29a2', Normal),
+    ('\x29a3', Normal),
+    ('\x29a4', Normal),
+    ('\x29a5', Normal),
+    ('\x29a6', Normal),
+    ('\x29a7', Normal),
+    ('\x29a8', Normal),
+    ('\x29a9', Normal),
+    ('\x29aa', Normal),
+    ('\x29ab', Normal),
+    ('\x29ac', Normal),
+    ('\x29ad', Normal),
+    ('\x29ae', Normal),
+    ('\x29af', Normal),
+    ('\x29b0', Normal),
+    ('\x29b1', Normal),
+    ('\x29b2', Normal),
+    ('\x29b3', Normal),
+    ('\x29b4', Normal),
+    ('\x29b5', Normal),
+    ('\x29b6', Binary),
+    ('\x29b7', Binary),
+    ('\x29b8', Binary),
+    ('\x29b9', Binary),
+    ('\x29ba', Normal),
+    ('\x29bb', Normal),
+    ('\x29bc', Normal),
+    ('\x29bd', Normal),
+    ('\x29be', Normal),
+    ('\x29bf', Normal),
+    ('\x29c0', Binary),
+    ('\x29c1', Binary),
+    ('\x29c2', Normal),
+    ('\x29c3', Normal),
+    ('\x29c4', Binary),
+    ('\x29c5', Binary),
+    ('\x29c6', Binary),
+    ('\x29c7', Binary),
+    ('\x29c8', Binary),
+    ('\x29c9', Normal),
+    ('\x29ca', Normal),
+    ('\x29cb', Normal),
+    ('\x29cc', Normal),
+    ('\x29cd', Normal),
+    ('\x29ce', Relation),
+    ('\x29cf', Relation),
+    ('\x29d0', Relation),
+    ('\x29d1', Relation),
+    ('\x29d2', Relation),
+    ('\x29d3', Relation),
+    ('\x29d4', Relation),
+    ('\x29d5', Relation),
+    ('\x29d6', Binary),
+    ('\x29d7', Binary),
+    ('\x29d8', Opening),
+    ('\x29d9', Closing),
+    ('\x29da', Opening),
+    ('\x29db', Closing),
+    ('\x29dc', Normal),
+    ('\x29dd', Normal),
+    ('\x29de', Normal),
+    ('\x29df', Relation),
+    ('\x29e0', Normal),
+    ('\x29e1', Relation),
+    ('\x29e2', Binary),
+    ('\x29e3', Relation),
+    ('\x29e4', Relation),
+    ('\x29e5', Relation),
+    ('\x29e6', Relation),
+    ('\x29e7', Normal),
+    ('\x29e8', Normal),
+    ('\x29e9', Normal),
+    ('\x29ea', Normal),
+    ('\x29eb', Binary),
+    ('\x29ec', Normal),
+    ('\x29ed', Normal),
+    ('\x29ee', Normal),
+    ('\x29ef', Normal),
+    ('\x29f0', Normal),
+    ('\x29f1', Normal),
+    ('\x29f2', Normal),
+    ('\x29f3', Normal),
+    ('\x29f4', Relation),
+    ('\x29f5', Binary),
+    ('\x29f6', Binary),
+    ('\x29f7', Binary),
+    ('\x29f8', Large),
+    ('\x29f9', Large),
+    ('\x29fa', Binary),
+    ('\x29fb', Binary),
+    ('\x29fc', Opening),
+    ('\x29fd', Closing),
+    ('\x29fe', Binary),
+    ('\x29ff', Binary),
+    ('\x2a00', Large),
+    ('\x2a01', Large),
+    ('\x2a02', Large),
+    ('\x2a03', Large),
+    ('\x2a04', Large),
+    ('\x2a05', Large),
+    ('\x2a06', Large),
+    ('\x2a07', Large),
+    ('\x2a08', Large),
+    ('\x2a09', Large),
+    ('\x2a0a', Large),
+    ('\x2a0b', Large),
+    ('\x2a0c', Large),
+    ('\x2a0d', Large),
+    ('\x2a0e', Large),
+    ('\x2a0f', Large),
+    ('\x2a10', Large),
+    ('\x2a11', Large),
+    ('\x2a12', Large),
+    ('\x2a13', Large),
+    ('\x2a14', Large),
+    ('\x2a15', Large),
+    ('\x2a16', Large),
+    ('\x2a17', Large),
+    ('\x2a18', Large),
+    ('\x2a19', Large),
+    ('\x2a1a', Large),
+    ('\x2a1b', Large),
+    ('\x2a1c', Large),
+    ('\x2a1d', Large),
+    ('\x2a1e', Large),
+    ('\x2a1f', Large),
+    ('\x2a20', Large),
+    ('\x2a21', Large),
+    ('\x2a22', Binary),
+    ('\x2a23', Binary),
+    ('\x2a24', Binary),
+    ('\x2a25', Binary),
+    ('\x2a26', Binary),
+    ('\x2a27', Binary),
+    ('\x2a28', Binary),
+    ('\x2a29', Binary),
+    ('\x2a2a', Binary),
+    ('\x2a2b', Binary),
+    ('\x2a2c', Binary),
+    ('\x2a2d', Binary),
+    ('\x2a2e', Binary),
+    ('\x2a2f', Binary),
+    ('\x2a30', Binary),
+    ('\x2a31', Binary),
+    ('\x2a32', Binary),
+    ('\x2a33', Binary),
+    ('\x2a34', Binary),
+    ('\x2a35', Binary),
+    ('\x2a36', Binary),
+    ('\x2a37', Binary),
+    ('\x2a38', Binary),
+    ('\x2a39', Binary),
+    ('\x2a3a', Binary),
+    ('\x2a3b', Binary),
+    ('\x2a3c', Binary),
+    ('\x2a3d', Binary),
+    ('\x2a3e', Binary),
+    ('\x2a3f', Binary),
+    ('\x2a40', Binary),
+    ('\x2a41', Binary),
+    ('\x2a42', Binary),
+    ('\x2a43', Binary),
+    ('\x2a44', Binary),
+    ('\x2a45', Binary),
+    ('\x2a46', Binary),
+    ('\x2a47', Binary),
+    ('\x2a48', Binary),
+    ('\x2a49', Binary),
+    ('\x2a4a', Binary),
+    ('\x2a4b', Binary),
+    ('\x2a4c', Binary),
+    ('\x2a4d', Binary),
+    ('\x2a4e', Binary),
+    ('\x2a4f', Binary),
+    ('\x2a50', Binary),
+    ('\x2a51', Binary),
+    ('\x2a52', Binary),
+    ('\x2a53', Binary),
+    ('\x2a54', Binary),
+    ('\x2a55', Binary),
+    ('\x2a56', Binary),
+    ('\x2a57', Binary),
+    ('\x2a58', Binary),
+    ('\x2a59', Relation),
+    ('\x2a5a', Binary),
+    ('\x2a5b', Binary),
+    ('\x2a5c', Binary),
+    ('\x2a5d', Binary),
+    ('\x2a5e', Binary),
+    ('\x2a5f', Binary),
+    ('\x2a60', Binary),
+    ('\x2a61', Binary),
+    ('\x2a62', Binary),
+    ('\x2a63', Binary),
+    ('\x2a64', Binary),
+    ('\x2a65', Binary),
+    ('\x2a66', Relation),
+    ('\x2a67', Relation),
+    ('\x2a68', Relation),
+    ('\x2a69', Relation),
+    ('\x2a6a', Relation),
+    ('\x2a6b', Relation),
+    ('\x2a6c', Relation),
+    ('\x2a6d', Relation),
+    ('\x2a6e', Relation),
+    ('\x2a6f', Relation),
+    ('\x2a70', Relation),
+    ('\x2a71', Binary),
+    ('\x2a72', Binary),
+    ('\x2a73', Relation),
+    ('\x2a74', Relation),
+    ('\x2a75', Relation),
+    ('\x2a76', Relation),
+    ('\x2a77', Relation),
+    ('\x2a78', Relation),
+    ('\x2a79', Relation),
+    ('\x2a7a', Relation),
+    ('\x2a7b', Relation),
+    ('\x2a7c', Relation),
+    ('\x2a7d', Relation),
+    ('\x2a7e', Relation),
+    ('\x2a7f', Relation),
+    ('\x2a80', Relation),
+    ('\x2a81', Relation),
+    ('\x2a82', Relation),
+    ('\x2a83', Relation),
+    ('\x2a84', Relation),
+    ('\x2a85', Relation),
+    ('\x2a86', Relation),
+    ('\x2a87', Relation),
+    ('\x2a88', Relation),
+    ('\x2a89', Relation),
+    ('\x2a8a', Relation),
+    ('\x2a8b', Relation),
+    ('\x2a8c', Relation),
+    ('\x2a8d', Relation),
+    ('\x2a8e', Relation),
+    ('\x2a8f', Relation),
+    ('\x2a90', Relation),
+    ('\x2a91', Relation),
+    ('\x2a92', Relation),
+    ('\x2a93', Relation),
+    ('\x2a94', Relation),
+    ('\x2a95', Relation),
+    ('\x2a96', Relation),
+    ('\x2a97', Relation),
+    ('\x2a98', Relation),
+    ('\x2a99', Relation),
+    ('\x2a9a', Relation),
+    ('\x2a9b', Relation),
+    ('\x2a9c', Relation),
+    ('\x2a9d', Relation),
+    ('\x2a9e', Relation),
+    ('\x2a9f', Relation),
+    ('\x2aa0', Relation),
+    ('\x2aa1', Relation),
+    ('\x2aa2', Relation),
+    ('\x2aa3', Relation),
+    ('\x2aa4', Relation),
+    ('\x2aa5', Relation),
+    ('\x2aa6', Relation),
+    ('\x2aa7', Relation),
+    ('\x2aa8', Relation),
+    ('\x2aa9', Relation),
+    ('\x2aaa', Relation),
+    ('\x2aab', Relation),
+    ('\x2aac', Relation),
+    ('\x2aad', Relation),
+    ('\x2aae', Relation),
+    ('\x2aaf', Relation),
+    ('\x2ab0', Relation),
+    ('\x2ab1', Relation),
+    ('\x2ab2', Relation),
+    ('\x2ab3', Relation),
+    ('\x2ab4', Relation),
+    ('\x2ab5', Relation),
+    ('\x2ab6', Relation),
+    ('\x2ab7', Relation),
+    ('\x2ab8', Relation),
+    ('\x2ab9', Relation),
+    ('\x2aba', Relation),
+    ('\x2abb', Relation),
+    ('\x2abc', Relation),
+    ('\x2abd', Relation),
+    ('\x2abe', Relation),
+    ('\x2abf', Relation),
+    ('\x2ac0', Relation),
+    ('\x2ac1', Relation),
+    ('\x2ac2', Relation),
+    ('\x2ac3', Relation),
+    ('\x2ac4', Relation),
+    ('\x2ac5', Relation),
+    ('\x2ac6', Relation),
+    ('\x2ac7', Relation),
+    ('\x2ac8', Relation),
+    ('\x2ac9', Relation),
+    ('\x2aca', Relation),
+    ('\x2acb', Relation),
+    ('\x2acc', Relation),
+    ('\x2acd', Relation),
+    ('\x2ace', Relation),
+    ('\x2acf', Relation),
+    ('\x2ad0', Relation),
+    ('\x2ad1', Relation),
+    ('\x2ad2', Relation),
+    ('\x2ad3', Relation),
+    ('\x2ad4', Relation),
+    ('\x2ad5', Relation),
+    ('\x2ad6', Relation),
+    ('\x2ad7', Relation),
+    ('\x2ad8', Relation),
+    ('\x2ad9', Relation),
+    ('\x2ada', Relation),
+    ('\x2adb', Relation),
+    ('\x2adc', Relation),
+    ('\x2add', Relation),
+    ('\x2ade', Relation),
+    ('\x2adf', Relation),
+    ('\x2ae0', Relation),
+    ('\x2ae1', Normal),
+    ('\x2ae2', Relation),
+    ('\x2ae3', Relation),
+    ('\x2ae4', Relation),
+    ('\x2ae5', Relation),
+    ('\x2ae6', Relation),
+    ('\x2ae7', Relation),
+    ('\x2ae8', Relation),
+    ('\x2ae9', Relation),
+    ('\x2aea', Relation),
+    ('\x2aeb', Relation),
+    ('\x2aec', Relation),
+    ('\x2aed', Relation),
+    ('\x2aee', Relation),
+    ('\x2aef', Relation),
+    ('\x2af0', Relation),
+    ('\x2af1', Normal),
+    ('\x2af2', Relation),
+    ('\x2af3', Relation),
+    ('\x2af4', Binary),
+    ('\x2af5', Binary),
+    ('\x2af6', Binary),
+    ('\x2af7', Relation),
+    ('\x2af8', Relation),
+    ('\x2af9', Relation),
+    ('\x2afa', Relation),
+    ('\x2afb', Binary),
+    ('\x2afc', Large),
+    ('\x2afd', Binary),
+    ('\x2afe', Binary),
+    ('\x2aff', Large),
+    ('\x2b00', Relation),
+    ('\x2b01', Relation),
+    ('\x2b02', Relation),
+    ('\x2b03', Relation),
+    ('\x2b04', Relation),
+    ('\x2b05', Relation),
+    ('\x2b06', Relation),
+    ('\x2b07', Relation),
+    ('\x2b08', Relation),
+    ('\x2b09', Relation),
+    ('\x2b0a', Relation),
+    ('\x2b0b', Relation),
+    ('\x2b0c', Relation),
+    ('\x2b0d', Relation),
+    ('\x2b0e', Relation),
+    ('\x2b0f', Relation),
+    ('\x2b10', Relation),
+    ('\x2b11', Relation),
+    ('\x2b12', Normal),
+    ('\x2b13', Normal),
+    ('\x2b14', Normal),
+    ('\x2b15', Normal),
+    ('\x2b16', Normal),
+    ('\x2b17', Normal),
+    ('\x2b18', Normal),
+    ('\x2b19', Normal),
+    ('\x2b1b', Normal),
+    ('\x2b1c', Normal),
+    ('\x2b1d', Normal),
+    ('\x2b1e', Normal),
+    ('\x2b1f', Normal),
+    ('\x2b20', Normal),
+    ('\x2b21', Normal),
+    ('\x2b22', Normal),
+    ('\x2b23', Normal),
+    ('\x2b24', Normal),
+    ('\x2b25', Normal),
+    ('\x2b26', Normal),
+    ('\x2b27', Normal),
+    ('\x2b28', Normal),
+    ('\x2b29', Normal),
+    ('\x2b2a', Normal),
+    ('\x2b2b', Normal),
+    ('\x2b2c', Normal),
+    ('\x2b2d', Normal),
+    ('\x2b2e', Normal),
+    ('\x2b2f', Normal),
+    ('\x2b30', Relation),
+    ('\x2b31', Relation),
+    ('\x2b32', Relation),
+    ('\x2b33', Relation),
+    ('\x2b34', Relation),
+    ('\x2b35', Relation),
+    ('\x2b36', Relation),
+    ('\x2b37', Relation),
+    ('\x2b38', Relation),
+    ('\x2b39', Relation),
+    ('\x2b3a', Relation),
+    ('\x2b3b', Relation),
+    ('\x2b3c', Relation),
+    ('\x2b3d', Relation),
+    ('\x2b3e', Relation),
+    ('\x2b3f', Relation),
+    ('\x2b40', Relation),
+    ('\x2b41', Relation),
+    ('\x2b42', Relation),
+    ('\x2b43', Relation),
+    ('\x2b44', Relation),
+    ('\x2b45', Relation),
+    ('\x2b46', Relation),
+    ('\x2b47', Relation),
+    ('\x2b48', Relation),
+    ('\x2b49', Relation),
+    ('\x2b4a', Relation),
+    ('\x2b4b', Relation),
+    ('\x2b4c', Relation),
+    ('\x2b50', Normal),
+    ('\x2b51', Normal),
+    ('\x2b52', Normal),
+    ('\x2b53', Normal),
+    ('\x2b54', Normal),
+    ('\x2b95', Relation),
+    ('\x2bc2', Normal),
+    ('\x2bc3', Normal),
+    ('\x2bc4', Normal),
+    ('\x2bc5', Normal),
+    ('\x2bc6', Normal),
+    ('\x2bc7', Normal),
+    ('\x2bc8', Normal),
+    ('\x2bca', Normal),
+    ('\x2bcb', Normal),
+    ('\x3008', Special),
+    ('\x3009', Special),
+    ('\x301a', Special),
+    ('\x301b', Special),
+    ('\x306e', Normal),
+    ('\xfb29', Special),
+    ('\xfe00', Diacritic),
+    ('\xfe61', Special),
+    ('\xfe62', Special),
+    ('\xfe63', Special),
+    ('\xfe64', Special),
+    ('\xfe65', Special),
+    ('\xfe66', Special),
+    ('\xfe68', Special),
+    ('\xff0b', Special),
+    ('\xff1c', Special),
+    ('\xff1d', Special),
+    ('\xff1e', Special),
+    ('\xff3c', Special),
+    ('\xff3e', Special),
+    ('\xff5c', Special),
+    ('\xff5e', Special),
+    ('\xffe2', Special),
+    ('\xffe9', Special),
+    ('\xffea', Special),
+    ('\xffeb', Special),
+    ('\xffec', Special),
+    ('\x1d400', Alphabetic),
+    ('\x1d401', Alphabetic),
+    ('\x1d402', Alphabetic),
+    ('\x1d403', Alphabetic),
+    ('\x1d404', Alphabetic),
+    ('\x1d405', Alphabetic),
+    ('\x1d406', Alphabetic),
+    ('\x1d407', Alphabetic),
+    ('\x1d408', Alphabetic),
+    ('\x1d409', Alphabetic),
+    ('\x1d40a', Alphabetic),
+    ('\x1d40b', Alphabetic),
+    ('\x1d40c', Alphabetic),
+    ('\x1d40d', Alphabetic),
+    ('\x1d40e', Alphabetic),
+    ('\x1d40f', Alphabetic),
+    ('\x1d410', Alphabetic),
+    ('\x1d411', Alphabetic),
+    ('\x1d412', Alphabetic),
+    ('\x1d413', Alphabetic),
+    ('\x1d414', Alphabetic),
+    ('\x1d415', Alphabetic),
+    ('\x1d416', Alphabetic),
+    ('\x1d417', Alphabetic),
+    ('\x1d418', Alphabetic),
+    ('\x1d419', Alphabetic),
+    ('\x1d41a', Alphabetic),
+    ('\x1d41b', Alphabetic),
+    ('\x1d41c', Alphabetic),
+    ('\x1d41d', Alphabetic),
+    ('\x1d41e', Alphabetic),
+    ('\x1d41f', Alphabetic),
+    ('\x1d420', Alphabetic),
+    ('\x1d421', Alphabetic),
+    ('\x1d422', Alphabetic),
+    ('\x1d423', Alphabetic),
+    ('\x1d424', Alphabetic),
+    ('\x1d425', Alphabetic),
+    ('\x1d426', Alphabetic),
+    ('\x1d427', Alphabetic),
+    ('\x1d428', Alphabetic),
+    ('\x1d429', Alphabetic),
+    ('\x1d42a', Alphabetic),
+    ('\x1d42b', Alphabetic),
+    ('\x1d42c', Alphabetic),
+    ('\x1d42d', Alphabetic),
+    ('\x1d42e', Alphabetic),
+    ('\x1d42f', Alphabetic),
+    ('\x1d430', Alphabetic),
+    ('\x1d431', Alphabetic),
+    ('\x1d432', Alphabetic),
+    ('\x1d433', Alphabetic),
+    ('\x1d434', Alphabetic),
+    ('\x1d435', Alphabetic),
+    ('\x1d436', Alphabetic),
+    ('\x1d437', Alphabetic),
+    ('\x1d438', Alphabetic),
+    ('\x1d439', Alphabetic),
+    ('\x1d43a', Alphabetic),
+    ('\x1d43b', Alphabetic),
+    ('\x1d43c', Alphabetic),
+    ('\x1d43d', Alphabetic),
+    ('\x1d43e', Alphabetic),
+    ('\x1d43f', Alphabetic),
+    ('\x1d440', Alphabetic),
+    ('\x1d441', Alphabetic),
+    ('\x1d442', Alphabetic),
+    ('\x1d443', Alphabetic),
+    ('\x1d444', Alphabetic),
+    ('\x1d445', Alphabetic),
+    ('\x1d446', Alphabetic),
+    ('\x1d447', Alphabetic),
+    ('\x1d448', Alphabetic),
+    ('\x1d449', Alphabetic),
+    ('\x1d44a', Alphabetic),
+    ('\x1d44b', Alphabetic),
+    ('\x1d44c', Alphabetic),
+    ('\x1d44d', Alphabetic),
+    ('\x1d44e', Alphabetic),
+    ('\x1d44f', Alphabetic),
+    ('\x1d450', Alphabetic),
+    ('\x1d451', Alphabetic),
+    ('\x1d452', Alphabetic),
+    ('\x1d453', Alphabetic),
+    ('\x1d454', Alphabetic),
+    ('\x1d456', Alphabetic),
+    ('\x1d457', Alphabetic),
+    ('\x1d458', Alphabetic),
+    ('\x1d459', Alphabetic),
+    ('\x1d45a', Alphabetic),
+    ('\x1d45b', Alphabetic),
+    ('\x1d45c', Alphabetic),
+    ('\x1d45d', Alphabetic),
+    ('\x1d45e', Alphabetic),
+    ('\x1d45f', Alphabetic),
+    ('\x1d460', Alphabetic),
+    ('\x1d461', Alphabetic),
+    ('\x1d462', Alphabetic),
+    ('\x1d463', Alphabetic),
+    ('\x1d464', Alphabetic),
+    ('\x1d465', Alphabetic),
+    ('\x1d466', Alphabetic),
+    ('\x1d467', Alphabetic),
+    ('\x1d468', Alphabetic),
+    ('\x1d469', Alphabetic),
+    ('\x1d46a', Alphabetic),
+    ('\x1d46b', Alphabetic),
+    ('\x1d46c', Alphabetic),
+    ('\x1d46d', Alphabetic),
+    ('\x1d46e', Alphabetic),
+    ('\x1d46f', Alphabetic),
+    ('\x1d470', Alphabetic),
+    ('\x1d471', Alphabetic),
+    ('\x1d472', Alphabetic),
+    ('\x1d473', Alphabetic),
+    ('\x1d474', Alphabetic),
+    ('\x1d475', Alphabetic),
+    ('\x1d476', Alphabetic),
+    ('\x1d477', Alphabetic),
+    ('\x1d478', Alphabetic),
+    ('\x1d479', Alphabetic),
+    ('\x1d47a', Alphabetic),
+    ('\x1d47b', Alphabetic),
+    ('\x1d47c', Alphabetic),
+    ('\x1d47d', Alphabetic),
+    ('\x1d47e', Alphabetic),
+    ('\x1d47f', Alphabetic),
+    ('\x1d480', Alphabetic),
+    ('\x1d481', Alphabetic),
+    ('\x1d482', Alphabetic),
+    ('\x1d483', Alphabetic),
+    ('\x1d484', Alphabetic),
+    ('\x1d485', Alphabetic),
+    ('\x1d486', Alphabetic),
+    ('\x1d487', Alphabetic),
+    ('\x1d488', Alphabetic),
+    ('\x1d489', Alphabetic),
+    ('\x1d48a', Alphabetic),
+    ('\x1d48b', Alphabetic),
+    ('\x1d48c', Alphabetic),
+    ('\x1d48d', Alphabetic),
+    ('\x1d48e', Alphabetic),
+    ('\x1d48f', Alphabetic),
+    ('\x1d490', Alphabetic),
+    ('\x1d491', Alphabetic),
+    ('\x1d492', Alphabetic),
+    ('\x1d493', Alphabetic),
+    ('\x1d494', Alphabetic),
+    ('\x1d495', Alphabetic),
+    ('\x1d496', Alphabetic),
+    ('\x1d497', Alphabetic),
+    ('\x1d498', Alphabetic),
+    ('\x1d499', Alphabetic),
+    ('\x1d49a', Alphabetic),
+    ('\x1d49b', Alphabetic),
+    ('\x1d49c', Alphabetic),
+    ('\x1d49e', Alphabetic),
+    ('\x1d49f', Alphabetic),
+    ('\x1d4a2', Alphabetic),
+    ('\x1d4a5', Alphabetic),
+    ('\x1d4a6', Alphabetic),
+    ('\x1d4a9', Alphabetic),
+    ('\x1d4aa', Alphabetic),
+    ('\x1d4ab', Alphabetic),
+    ('\x1d4ac', Alphabetic),
+    ('\x1d4ae', Alphabetic),
+    ('\x1d4af', Alphabetic),
+    ('\x1d4b0', Alphabetic),
+    ('\x1d4b1', Alphabetic),
+    ('\x1d4b2', Alphabetic),
+    ('\x1d4b3', Alphabetic),
+    ('\x1d4b4', Alphabetic),
+    ('\x1d4b5', Alphabetic),
+    ('\x1d4b6', Alphabetic),
+    ('\x1d4b7', Alphabetic),
+    ('\x1d4b8', Alphabetic),
+    ('\x1d4b9', Alphabetic),
+    ('\x1d4bb', Alphabetic),
+    ('\x1d4bd', Alphabetic),
+    ('\x1d4be', Alphabetic),
+    ('\x1d4bf', Alphabetic),
+    ('\x1d4c0', Alphabetic),
+    ('\x1d4c1', Alphabetic),
+    ('\x1d4c2', Alphabetic),
+    ('\x1d4c3', Alphabetic),
+    ('\x1d4c5', Alphabetic),
+    ('\x1d4c6', Alphabetic),
+    ('\x1d4c7', Alphabetic),
+    ('\x1d4c8', Alphabetic),
+    ('\x1d4c9', Alphabetic),
+    ('\x1d4ca', Alphabetic),
+    ('\x1d4cb', Alphabetic),
+    ('\x1d4cc', Alphabetic),
+    ('\x1d4cd', Alphabetic),
+    ('\x1d4ce', Alphabetic),
+    ('\x1d4cf', Alphabetic),
+    ('\x1d4d0', Alphabetic),
+    ('\x1d4d1', Alphabetic),
+    ('\x1d4d2', Alphabetic),
+    ('\x1d4d3', Alphabetic),
+    ('\x1d4d4', Alphabetic),
+    ('\x1d4d5', Alphabetic),
+    ('\x1d4d6', Alphabetic),
+    ('\x1d4d7', Alphabetic),
+    ('\x1d4d8', Alphabetic),
+    ('\x1d4d9', Alphabetic),
+    ('\x1d4da', Alphabetic),
+    ('\x1d4db', Alphabetic),
+    ('\x1d4dc', Alphabetic),
+    ('\x1d4dd', Alphabetic),
+    ('\x1d4de', Alphabetic),
+    ('\x1d4df', Alphabetic),
+    ('\x1d4e0', Alphabetic),
+    ('\x1d4e1', Alphabetic),
+    ('\x1d4e2', Alphabetic),
+    ('\x1d4e3', Alphabetic),
+    ('\x1d4e4', Alphabetic),
+    ('\x1d4e5', Alphabetic),
+    ('\x1d4e6', Alphabetic),
+    ('\x1d4e7', Alphabetic),
+    ('\x1d4e8', Alphabetic),
+    ('\x1d4e9', Alphabetic),
+    ('\x1d4ea', Alphabetic),
+    ('\x1d4eb', Alphabetic),
+    ('\x1d4ec', Alphabetic),
+    ('\x1d4ed', Alphabetic),
+    ('\x1d4ee', Alphabetic),
+    ('\x1d4ef', Alphabetic),
+    ('\x1d4f0', Alphabetic),
+    ('\x1d4f1', Alphabetic),
+    ('\x1d4f2', Alphabetic),
+    ('\x1d4f3', Alphabetic),
+    ('\x1d4f4', Alphabetic),
+    ('\x1d4f5', Alphabetic),
+    ('\x1d4f6', Alphabetic),
+    ('\x1d4f7', Alphabetic),
+    ('\x1d4f8', Alphabetic),
+    ('\x1d4f9', Alphabetic),
+    ('\x1d4fa', Alphabetic),
+    ('\x1d4fb', Alphabetic),
+    ('\x1d4fc', Alphabetic),
+    ('\x1d4fd', Alphabetic),
+    ('\x1d4fe', Alphabetic),
+    ('\x1d4ff', Alphabetic),
+    ('\x1d500', Alphabetic),
+    ('\x1d501', Alphabetic),
+    ('\x1d502', Alphabetic),
+    ('\x1d503', Alphabetic),
+    ('\x1d504', Alphabetic),
+    ('\x1d505', Alphabetic),
+    ('\x1d507', Alphabetic),
+    ('\x1d508', Alphabetic),
+    ('\x1d509', Alphabetic),
+    ('\x1d50a', Alphabetic),
+    ('\x1d50d', Alphabetic),
+    ('\x1d50e', Alphabetic),
+    ('\x1d50f', Alphabetic),
+    ('\x1d510', Alphabetic),
+    ('\x1d511', Alphabetic),
+    ('\x1d512', Alphabetic),
+    ('\x1d513', Alphabetic),
+    ('\x1d514', Alphabetic),
+    ('\x1d516', Alphabetic),
+    ('\x1d517', Alphabetic),
+    ('\x1d518', Alphabetic),
+    ('\x1d519', Alphabetic),
+    ('\x1d51a', Alphabetic),
+    ('\x1d51b', Alphabetic),
+    ('\x1d51c', Alphabetic),
+    ('\x1d51e', Alphabetic),
+    ('\x1d51f', Alphabetic),
+    ('\x1d520', Alphabetic),
+    ('\x1d521', Alphabetic),
+    ('\x1d522', Alphabetic),
+    ('\x1d523', Alphabetic),
+    ('\x1d524', Alphabetic),
+    ('\x1d525', Alphabetic),
+    ('\x1d526', Alphabetic),
+    ('\x1d527', Alphabetic),
+    ('\x1d528', Alphabetic),
+    ('\x1d529', Alphabetic),
+    ('\x1d52a', Alphabetic),
+    ('\x1d52b', Alphabetic),
+    ('\x1d52c', Alphabetic),
+    ('\x1d52d', Alphabetic),
+    ('\x1d52e', Alphabetic),
+    ('\x1d52f', Alphabetic),
+    ('\x1d530', Alphabetic),
+    ('\x1d531', Alphabetic),
+    ('\x1d532', Alphabetic),
+    ('\x1d533', Alphabetic),
+    ('\x1d534', Alphabetic),
+    ('\x1d535', Alphabetic),
+    ('\x1d536', Alphabetic),
+    ('\x1d537', Alphabetic),
+    ('\x1d538', Alphabetic),
+    ('\x1d539', Alphabetic),
+    ('\x1d53b', Alphabetic),
+    ('\x1d53c', Alphabetic),
+    ('\x1d53d', Alphabetic),
+    ('\x1d53e', Alphabetic),
+    ('\x1d540', Alphabetic),
+    ('\x1d541', Alphabetic),
+    ('\x1d542', Alphabetic),
+    ('\x1d543', Alphabetic),
+    ('\x1d544', Alphabetic),
+    ('\x1d546', Alphabetic),
+    ('\x1d54a', Alphabetic),
+    ('\x1d54b', Alphabetic),
+    ('\x1d54c', Alphabetic),
+    ('\x1d54d', Alphabetic),
+    ('\x1d54e', Alphabetic),
+    ('\x1d54f', Alphabetic),
+    ('\x1d550', Alphabetic),
+    ('\x1d552', Alphabetic),
+    ('\x1d553', Alphabetic),
+    ('\x1d554', Alphabetic),
+    ('\x1d555', Alphabetic),
+    ('\x1d556', Alphabetic),
+    ('\x1d557', Alphabetic),
+    ('\x1d558', Alphabetic),
+    ('\x1d559', Alphabetic),
+    ('\x1d55a', Alphabetic),
+    ('\x1d55b', Alphabetic),
+    ('\x1d55c', Alphabetic),
+    ('\x1d55d', Alphabetic),
+    ('\x1d55e', Alphabetic),
+    ('\x1d55f', Alphabetic),
+    ('\x1d560', Alphabetic),
+    ('\x1d561', Alphabetic),
+    ('\x1d562', Alphabetic),
+    ('\x1d563', Alphabetic),
+    ('\x1d564', Alphabetic),
+    ('\x1d565', Alphabetic),
+    ('\x1d566', Alphabetic),
+    ('\x1d567', Alphabetic),
+    ('\x1d568', Alphabetic),
+    ('\x1d569', Alphabetic),
+    ('\x1d56a', Alphabetic),
+    ('\x1d56b', Alphabetic),
+    ('\x1d56c', Alphabetic),
+    ('\x1d56d', Alphabetic),
+    ('\x1d56e', Alphabetic),
+    ('\x1d56f', Alphabetic),
+    ('\x1d570', Alphabetic),
+    ('\x1d571', Alphabetic),
+    ('\x1d572', Alphabetic),
+    ('\x1d573', Alphabetic),
+    ('\x1d574', Alphabetic),
+    ('\x1d575', Alphabetic),
+    ('\x1d576', Alphabetic),
+    ('\x1d577', Alphabetic),
+    ('\x1d578', Alphabetic),
+    ('\x1d579', Alphabetic),
+    ('\x1d57a', Alphabetic),
+    ('\x1d57b', Alphabetic),
+    ('\x1d57c', Alphabetic),
+    ('\x1d57d', Alphabetic),
+    ('\x1d57e', Alphabetic),
+    ('\x1d57f', Alphabetic),
+    ('\x1d580', Alphabetic),
+    ('\x1d581', Alphabetic),
+    ('\x1d582', Alphabetic),
+    ('\x1d583', Alphabetic),
+    ('\x1d584', Alphabetic),
+    ('\x1d585', Alphabetic),
+    ('\x1d586', Alphabetic),
+    ('\x1d587', Alphabetic),
+    ('\x1d588', Alphabetic),
+    ('\x1d589', Alphabetic),
+    ('\x1d58a', Alphabetic),
+    ('\x1d58b', Alphabetic),
+    ('\x1d58c', Alphabetic),
+    ('\x1d58d', Alphabetic),
+    ('\x1d58e', Alphabetic),
+    ('\x1d58f', Alphabetic),
+    ('\x1d590', Alphabetic),
+    ('\x1d591', Alphabetic),
+    ('\x1d592', Alphabetic),
+    ('\x1d593', Alphabetic),
+    ('\x1d594', Alphabetic),
+    ('\x1d595', Alphabetic),
+    ('\x1d596', Alphabetic),
+    ('\x1d597', Alphabetic),
+    ('\x1d598', Alphabetic),
+    ('\x1d599', Alphabetic),
+    ('\x1d59a', Alphabetic),
+    ('\x1d59b', Alphabetic),
+    ('\x1d59c', Alphabetic),
+    ('\x1d59d', Alphabetic),
+    ('\x1d59e', Alphabetic),
+    ('\x1d59f', Alphabetic),
+    ('\x1d5a0', Alphabetic),
+    ('\x1d5a1', Alphabetic),
+    ('\x1d5a2', Alphabetic),
+    ('\x1d5a3', Alphabetic),
+    ('\x1d5a4', Alphabetic),
+    ('\x1d5a5', Alphabetic),
+    ('\x1d5a6', Alphabetic),
+    ('\x1d5a7', Alphabetic),
+    ('\x1d5a8', Alphabetic),
+    ('\x1d5a9', Alphabetic),
+    ('\x1d5aa', Alphabetic),
+    ('\x1d5ab', Alphabetic),
+    ('\x1d5ac', Alphabetic),
+    ('\x1d5ad', Alphabetic),
+    ('\x1d5ae', Alphabetic),
+    ('\x1d5af', Alphabetic),
+    ('\x1d5b0', Alphabetic),
+    ('\x1d5b1', Alphabetic),
+    ('\x1d5b2', Alphabetic),
+    ('\x1d5b3', Alphabetic),
+    ('\x1d5b4', Alphabetic),
+    ('\x1d5b5', Alphabetic),
+    ('\x1d5b6', Alphabetic),
+    ('\x1d5b7', Alphabetic),
+    ('\x1d5b8', Alphabetic),
+    ('\x1d5b9', Alphabetic),
+    ('\x1d5ba', Alphabetic),
+    ('\x1d5bb', Alphabetic),
+    ('\x1d5bc', Alphabetic),
+    ('\x1d5bd', Alphabetic),
+    ('\x1d5be', Alphabetic),
+    ('\x1d5bf', Alphabetic),
+    ('\x1d5c0', Alphabetic),
+    ('\x1d5c1', Alphabetic),
+    ('\x1d5c2', Alphabetic),
+    ('\x1d5c3', Alphabetic),
+    ('\x1d5c4', Alphabetic),
+    ('\x1d5c5', Alphabetic),
+    ('\x1d5c6', Alphabetic),
+    ('\x1d5c7', Alphabetic),
+    ('\x1d5c8', Alphabetic),
+    ('\x1d5c9', Alphabetic),
+    ('\x1d5ca', Alphabetic),
+    ('\x1d5cb', Alphabetic),
+    ('\x1d5cc', Alphabetic),
+    ('\x1d5cd', Alphabetic),
+    ('\x1d5ce', Alphabetic),
+    ('\x1d5cf', Alphabetic),
+    ('\x1d5d0', Alphabetic),
+    ('\x1d5d1', Alphabetic),
+    ('\x1d5d2', Alphabetic),
+    ('\x1d5d3', Alphabetic),
+    ('\x1d5d4', Alphabetic),
+    ('\x1d5d5', Alphabetic),
+    ('\x1d5d6', Alphabetic),
+    ('\x1d5d7', Alphabetic),
+    ('\x1d5d8', Alphabetic),
+    ('\x1d5d9', Alphabetic),
+    ('\x1d5da', Alphabetic),
+    ('\x1d5db', Alphabetic),
+    ('\x1d5dc', Alphabetic),
+    ('\x1d5dd', Alphabetic),
+    ('\x1d5de', Alphabetic),
+    ('\x1d5df', Alphabetic),
+    ('\x1d5e0', Alphabetic),
+    ('\x1d5e1', Alphabetic),
+    ('\x1d5e2', Alphabetic),
+    ('\x1d5e3', Alphabetic),
+    ('\x1d5e4', Alphabetic),
+    ('\x1d5e5', Alphabetic),
+    ('\x1d5e6', Alphabetic),
+    ('\x1d5e7', Alphabetic),
+    ('\x1d5e8', Alphabetic),
+    ('\x1d5e9', Alphabetic),
+    ('\x1d5ea', Alphabetic),
+    ('\x1d5eb', Alphabetic),
+    ('\x1d5ec', Alphabetic),
+    ('\x1d5ed', Alphabetic),
+    ('\x1d5ee', Alphabetic),
+    ('\x1d5ef', Alphabetic),
+    ('\x1d5f0', Alphabetic),
+    ('\x1d5f1', Alphabetic),
+    ('\x1d5f2', Alphabetic),
+    ('\x1d5f3', Alphabetic),
+    ('\x1d5f4', Alphabetic),
+    ('\x1d5f5', Alphabetic),
+    ('\x1d5f6', Alphabetic),
+    ('\x1d5f7', Alphabetic),
+    ('\x1d5f8', Alphabetic),
+    ('\x1d5f9', Alphabetic),
+    ('\x1d5fa', Alphabetic),
+    ('\x1d5fb', Alphabetic),
+    ('\x1d5fc', Alphabetic),
+    ('\x1d5fd', Alphabetic),
+    ('\x1d5fe', Alphabetic),
+    ('\x1d5ff', Alphabetic),
+    ('\x1d600', Alphabetic),
+    ('\x1d601', Alphabetic),
+    ('\x1d602', Alphabetic),
+    ('\x1d603', Alphabetic),
+    ('\x1d604', Alphabetic),
+    ('\x1d605', Alphabetic),
+    ('\x1d606', Alphabetic),
+    ('\x1d607', Alphabetic),
+    ('\x1d608', Alphabetic),
+    ('\x1d609', Alphabetic),
+    ('\x1d60a', Alphabetic),
+    ('\x1d60b', Alphabetic),
+    ('\x1d60c', Alphabetic),
+    ('\x1d60d', Alphabetic),
+    ('\x1d60e', Alphabetic),
+    ('\x1d60f', Alphabetic),
+    ('\x1d610', Alphabetic),
+    ('\x1d611', Alphabetic),
+    ('\x1d612', Alphabetic),
+    ('\x1d613', Alphabetic),
+    ('\x1d614', Alphabetic),
+    ('\x1d615', Alphabetic),
+    ('\x1d616', Alphabetic),
+    ('\x1d617', Alphabetic),
+    ('\x1d618', Alphabetic),
+    ('\x1d619', Alphabetic),
+    ('\x1d61a', Alphabetic),
+    ('\x1d61b', Alphabetic),
+    ('\x1d61c', Alphabetic),
+    ('\x1d61d', Alphabetic),
+    ('\x1d61e', Alphabetic),
+    ('\x1d61f', Alphabetic),
+    ('\x1d620', Alphabetic),
+    ('\x1d621', Alphabetic),
+    ('\x1d622', Alphabetic),
+    ('\x1d623', Alphabetic),
+    ('\x1d624', Alphabetic),
+    ('\x1d625', Alphabetic),
+    ('\x1d626', Alphabetic),
+    ('\x1d627', Alphabetic),
+    ('\x1d628', Alphabetic),
+    ('\x1d629', Alphabetic),
+    ('\x1d62a', Alphabetic),
+    ('\x1d62b', Alphabetic),
+    ('\x1d62c', Alphabetic),
+    ('\x1d62d', Alphabetic),
+    ('\x1d62e', Alphabetic),
+    ('\x1d62f', Alphabetic),
+    ('\x1d630', Alphabetic),
+    ('\x1d631', Alphabetic),
+    ('\x1d632', Alphabetic),
+    ('\x1d633', Alphabetic),
+    ('\x1d634', Alphabetic),
+    ('\x1d635', Alphabetic),
+    ('\x1d636', Alphabetic),
+    ('\x1d637', Alphabetic),
+    ('\x1d638', Alphabetic),
+    ('\x1d639', Alphabetic),
+    ('\x1d63a', Alphabetic),
+    ('\x1d63b', Alphabetic),
+    ('\x1d63c', Alphabetic),
+    ('\x1d63d', Alphabetic),
+    ('\x1d63e', Alphabetic),
+    ('\x1d63f', Alphabetic),
+    ('\x1d640', Alphabetic),
+    ('\x1d641', Alphabetic),
+    ('\x1d642', Alphabetic),
+    ('\x1d643', Alphabetic),
+    ('\x1d644', Alphabetic),
+    ('\x1d645', Alphabetic),
+    ('\x1d646', Alphabetic),
+    ('\x1d647', Alphabetic),
+    ('\x1d648', Alphabetic),
+    ('\x1d649', Alphabetic),
+    ('\x1d64a', Alphabetic),
+    ('\x1d64b', Alphabetic),
+    ('\x1d64c', Alphabetic),
+    ('\x1d64d', Alphabetic),
+    ('\x1d64e', Alphabetic),
+    ('\x1d64f', Alphabetic),
+    ('\x1d650', Alphabetic),
+    ('\x1d651', Alphabetic),
+    ('\x1d652', Alphabetic),
+    ('\x1d653', Alphabetic),
+    ('\x1d654', Alphabetic),
+    ('\x1d655', Alphabetic),
+    ('\x1d656', Alphabetic),
+    ('\x1d657', Alphabetic),
+    ('\x1d658', Alphabetic),
+    ('\x1d659', Alphabetic),
+    ('\x1d65a', Alphabetic),
+    ('\x1d65b', Alphabetic),
+    ('\x1d65c', Alphabetic),
+    ('\x1d65d', Alphabetic),
+    ('\x1d65e', Alphabetic),
+    ('\x1d65f', Alphabetic),
+    ('\x1d660', Alphabetic),
+    ('\x1d661', Alphabetic),
+    ('\x1d662', Alphabetic),
+    ('\x1d663', Alphabetic),
+    ('\x1d664', Alphabetic),
+    ('\x1d665', Alphabetic),
+    ('\x1d666', Alphabetic),
+    ('\x1d667', Alphabetic),
+    ('\x1d668', Alphabetic),
+    ('\x1d669', Alphabetic),
+    ('\x1d66a', Alphabetic),
+    ('\x1d66b', Alphabetic),
+    ('\x1d66c', Alphabetic),
+    ('\x1d66d', Alphabetic),
+    ('\x1d66e', Alphabetic),
+    ('\x1d66f', Alphabetic),
+    ('\x1d670', Alphabetic),
+    ('\x1d671', Alphabetic),
+    ('\x1d672', Alphabetic),
+    ('\x1d673', Alphabetic),
+    ('\x1d674', Alphabetic),
+    ('\x1d675', Alphabetic),
+    ('\x1d676', Alphabetic),
+    ('\x1d677', Alphabetic),
+    ('\x1d678', Alphabetic),
+    ('\x1d679', Alphabetic),
+    ('\x1d67a', Alphabetic),
+    ('\x1d67b', Alphabetic),
+    ('\x1d67c', Alphabetic),
+    ('\x1d67d', Alphabetic),
+    ('\x1d67e', Alphabetic),
+    ('\x1d67f', Alphabetic),
+    ('\x1d680', Alphabetic),
+    ('\x1d681', Alphabetic),
+    ('\x1d682', Alphabetic),
+    ('\x1d683', Alphabetic),
+    ('\x1d684', Alphabetic),
+    ('\x1d685', Alphabetic),
+    ('\x1d686', Alphabetic),
+    ('\x1d687', Alphabetic),
+    ('\x1d688', Alphabetic),
+    ('\x1d689', Alphabetic),
+    ('\x1d68a', Alphabetic),
+    ('\x1d68b', Alphabetic),
+    ('\x1d68c', Alphabetic),
+    ('\x1d68d', Alphabetic),
+    ('\x1d68e', Alphabetic),
+    ('\x1d68f', Alphabetic),
+    ('\x1d690', Alphabetic),
+    ('\x1d691', Alphabetic),
+    ('\x1d692', Alphabetic),
+    ('\x1d693', Alphabetic),
+    ('\x1d694', Alphabetic),
+    ('\x1d695', Alphabetic),
+    ('\x1d696', Alphabetic),
+    ('\x1d697', Alphabetic),
+    ('\x1d698', Alphabetic),
+    ('\x1d699', Alphabetic),
+    ('\x1d69a', Alphabetic),
+    ('\x1d69b', Alphabetic),
+    ('\x1d69c', Alphabetic),
+    ('\x1d69d', Alphabetic),
+    ('\x1d69e', Alphabetic),
+    ('\x1d69f', Alphabetic),
+    ('\x1d6a0', Alphabetic),
+    ('\x1d6a1', Alphabetic),
+    ('\x1d6a2', Alphabetic),
+    ('\x1d6a3', Alphabetic),
+    ('\x1d6a4', Alphabetic),
+    ('\x1d6a5', Alphabetic),
+    ('\x1d6a8', Alphabetic),
+    ('\x1d6a9', Alphabetic),
+    ('\x1d6aa', Alphabetic),
+    ('\x1d6ab', Alphabetic),
+    ('\x1d6ac', Alphabetic),
+    ('\x1d6ad', Alphabetic),
+    ('\x1d6ae', Alphabetic),
+    ('\x1d6af', Alphabetic),
+    ('\x1d6b0', Alphabetic),
+    ('\x1d6b1', Alphabetic),
+    ('\x1d6b2', Alphabetic),
+    ('\x1d6b3', Alphabetic),
+    ('\x1d6b4', Alphabetic),
+    ('\x1d6b5', Alphabetic),
+    ('\x1d6b6', Alphabetic),
+    ('\x1d6b7', Alphabetic),
+    ('\x1d6b8', Alphabetic),
+    ('\x1d6b9', Alphabetic),
+    ('\x1d6ba', Alphabetic),
+    ('\x1d6bb', Alphabetic),
+    ('\x1d6bc', Alphabetic),
+    ('\x1d6bd', Alphabetic),
+    ('\x1d6be', Alphabetic),
+    ('\x1d6bf', Alphabetic),
+    ('\x1d6c0', Alphabetic),
+    ('\x1d6c1', Alphabetic),
+    ('\x1d6c2', Alphabetic),
+    ('\x1d6c3', Alphabetic),
+    ('\x1d6c4', Alphabetic),
+    ('\x1d6c5', Alphabetic),
+    ('\x1d6c6', Alphabetic),
+    ('\x1d6c7', Alphabetic),
+    ('\x1d6c8', Alphabetic),
+    ('\x1d6c9', Alphabetic),
+    ('\x1d6ca', Alphabetic),
+    ('\x1d6cb', Alphabetic),
+    ('\x1d6cc', Alphabetic),
+    ('\x1d6cd', Alphabetic),
+    ('\x1d6ce', Alphabetic),
+    ('\x1d6cf', Alphabetic),
+    ('\x1d6d0', Alphabetic),
+    ('\x1d6d1', Alphabetic),
+    ('\x1d6d2', Alphabetic),
+    ('\x1d6d3', Alphabetic),
+    ('\x1d6d4', Alphabetic),
+    ('\x1d6d5', Alphabetic),
+    ('\x1d6d6', Alphabetic),
+    ('\x1d6d7', Alphabetic),
+    ('\x1d6d8', Alphabetic),
+    ('\x1d6d9', Alphabetic),
+    ('\x1d6da', Alphabetic),
+    ('\x1d6db', Alphabetic),
+    ('\x1d6dc', Alphabetic),
+    ('\x1d6dd', Alphabetic),
+    ('\x1d6de', Alphabetic),
+    ('\x1d6df', Alphabetic),
+    ('\x1d6e0', Alphabetic),
+    ('\x1d6e1', Alphabetic),
+    ('\x1d6e2', Alphabetic),
+    ('\x1d6e3', Alphabetic),
+    ('\x1d6e4', Alphabetic),
+    ('\x1d6e5', Alphabetic),
+    ('\x1d6e6', Alphabetic),
+    ('\x1d6e7', Alphabetic),
+    ('\x1d6e8', Alphabetic),
+    ('\x1d6e9', Alphabetic),
+    ('\x1d6ea', Alphabetic),
+    ('\x1d6eb', Alphabetic),
+    ('\x1d6ec', Alphabetic),
+    ('\x1d6ed', Alphabetic),
+    ('\x1d6ee', Alphabetic),
+    ('\x1d6ef', Alphabetic),
+    ('\x1d6f0', Alphabetic),
+    ('\x1d6f1', Alphabetic),
+    ('\x1d6f2', Alphabetic),
+    ('\x1d6f3', Alphabetic),
+    ('\x1d6f4', Alphabetic),
+    ('\x1d6f5', Alphabetic),
+    ('\x1d6f6', Alphabetic),
+    ('\x1d6f7', Alphabetic),
+    ('\x1d6f8', Alphabetic),
+    ('\x1d6f9', Alphabetic),
+    ('\x1d6fa', Alphabetic),
+    ('\x1d6fb', Alphabetic),
+    ('\x1d6fc', Alphabetic),
+    ('\x1d6fd', Alphabetic),
+    ('\x1d6fe', Alphabetic),
+    ('\x1d6ff', Alphabetic),
+    ('\x1d700', Alphabetic),
+    ('\x1d701', Alphabetic),
+    ('\x1d702', Alphabetic),
+    ('\x1d703', Alphabetic),
+    ('\x1d704', Alphabetic),
+    ('\x1d705', Alphabetic),
+    ('\x1d706', Alphabetic),
+    ('\x1d707', Alphabetic),
+    ('\x1d708', Alphabetic),
+    ('\x1d709', Alphabetic),
+    ('\x1d70a', Alphabetic),
+    ('\x1d70b', Alphabetic),
+    ('\x1d70c', Alphabetic),
+    ('\x1d70d', Alphabetic),
+    ('\x1d70e', Alphabetic),
+    ('\x1d70f', Alphabetic),
+    ('\x1d710', Alphabetic),
+    ('\x1d711', Alphabetic),
+    ('\x1d712', Alphabetic),
+    ('\x1d713', Alphabetic),
+    ('\x1d714', Alphabetic),
+    ('\x1d715', Alphabetic),
+    ('\x1d716', Alphabetic),
+    ('\x1d717', Alphabetic),
+    ('\x1d718', Alphabetic),
+    ('\x1d719', Alphabetic),
+    ('\x1d71a', Alphabetic),
+    ('\x1d71b', Alphabetic),
+    ('\x1d71c', Alphabetic),
+    ('\x1d71d', Alphabetic),
+    ('\x1d71e', Alphabetic),
+    ('\x1d71f', Alphabetic),
+    ('\x1d720', Alphabetic),
+    ('\x1d721', Alphabetic),
+    ('\x1d722', Alphabetic),
+    ('\x1d723', Alphabetic),
+    ('\x1d724', Alphabetic),
+    ('\x1d725', Alphabetic),
+    ('\x1d726', Alphabetic),
+    ('\x1d727', Alphabetic),
+    ('\x1d728', Alphabetic),
+    ('\x1d729', Alphabetic),
+    ('\x1d72a', Alphabetic),
+    ('\x1d72b', Alphabetic),
+    ('\x1d72c', Alphabetic),
+    ('\x1d72d', Alphabetic),
+    ('\x1d72e', Alphabetic),
+    ('\x1d72f', Alphabetic),
+    ('\x1d730', Alphabetic),
+    ('\x1d731', Alphabetic),
+    ('\x1d732', Alphabetic),
+    ('\x1d733', Alphabetic),
+    ('\x1d734', Alphabetic),
+    ('\x1d735', Alphabetic),
+    ('\x1d736', Alphabetic),
+    ('\x1d737', Alphabetic),
+    ('\x1d738', Alphabetic),
+    ('\x1d739', Alphabetic),
+    ('\x1d73a', Alphabetic),
+    ('\x1d73b', Alphabetic),
+    ('\x1d73c', Alphabetic),
+    ('\x1d73d', Alphabetic),
+    ('\x1d73e', Alphabetic),
+    ('\x1d73f', Alphabetic),
+    ('\x1d740', Alphabetic),
+    ('\x1d741', Alphabetic),
+    ('\x1d742', Alphabetic),
+    ('\x1d743', Alphabetic),
+    ('\x1d744', Alphabetic),
+    ('\x1d745', Alphabetic),
+    ('\x1d746', Alphabetic),
+    ('\x1d747', Alphabetic),
+    ('\x1d748', Alphabetic),
+    ('\x1d749', Alphabetic),
+    ('\x1d74a', Alphabetic),
+    ('\x1d74b', Alphabetic),
+    ('\x1d74c', Alphabetic),
+    ('\x1d74d', Alphabetic),
+    ('\x1d74e', Alphabetic),
+    ('\x1d74f', Alphabetic),
+    ('\x1d750', Alphabetic),
+    ('\x1d751', Alphabetic),
+    ('\x1d752', Alphabetic),
+    ('\x1d753', Alphabetic),
+    ('\x1d754', Alphabetic),
+    ('\x1d755', Alphabetic),
+    ('\x1d756', Alphabetic),
+    ('\x1d757', Alphabetic),
+    ('\x1d758', Alphabetic),
+    ('\x1d759', Alphabetic),
+    ('\x1d75a', Alphabetic),
+    ('\x1d75b', Alphabetic),
+    ('\x1d75c', Alphabetic),
+    ('\x1d75d', Alphabetic),
+    ('\x1d75e', Alphabetic),
+    ('\x1d75f', Alphabetic),
+    ('\x1d760', Alphabetic),
+    ('\x1d761', Alphabetic),
+    ('\x1d762', Alphabetic),
+    ('\x1d763', Alphabetic),
+    ('\x1d764', Alphabetic),
+    ('\x1d765', Alphabetic),
+    ('\x1d766', Alphabetic),
+    ('\x1d767', Alphabetic),
+    ('\x1d768', Alphabetic),
+    ('\x1d769', Alphabetic),
+    ('\x1d76a', Alphabetic),
+    ('\x1d76b', Alphabetic),
+    ('\x1d76c', Alphabetic),
+    ('\x1d76d', Alphabetic),
+    ('\x1d76e', Alphabetic),
+    ('\x1d76f', Alphabetic),
+    ('\x1d770', Alphabetic),
+    ('\x1d771', Alphabetic),
+    ('\x1d772', Alphabetic),
+    ('\x1d773', Alphabetic),
+    ('\x1d774', Alphabetic),
+    ('\x1d775', Alphabetic),
+    ('\x1d776', Alphabetic),
+    ('\x1d777', Alphabetic),
+    ('\x1d778', Alphabetic),
+    ('\x1d779', Alphabetic),
+    ('\x1d77a', Alphabetic),
+    ('\x1d77b', Alphabetic),
+    ('\x1d77c', Alphabetic),
+    ('\x1d77d', Alphabetic),
+    ('\x1d77e', Alphabetic),
+    ('\x1d77f', Alphabetic),
+    ('\x1d780', Alphabetic),
+    ('\x1d781', Alphabetic),
+    ('\x1d782', Alphabetic),
+    ('\x1d783', Alphabetic),
+    ('\x1d784', Alphabetic),
+    ('\x1d785', Alphabetic),
+    ('\x1d786', Alphabetic),
+    ('\x1d787', Alphabetic),
+    ('\x1d788', Alphabetic),
+    ('\x1d789', Alphabetic),
+    ('\x1d78a', Alphabetic),
+    ('\x1d78b', Alphabetic),
+    ('\x1d78c', Alphabetic),
+    ('\x1d78d', Alphabetic),
+    ('\x1d78e', Alphabetic),
+    ('\x1d78f', Alphabetic),
+    ('\x1d790', Alphabetic),
+    ('\x1d791', Alphabetic),
+    ('\x1d792', Alphabetic),
+    ('\x1d793', Alphabetic),
+    ('\x1d794', Alphabetic),
+    ('\x1d795', Alphabetic),
+    ('\x1d796', Alphabetic),
+    ('\x1d797', Alphabetic),
+    ('\x1d798', Alphabetic),
+    ('\x1d799', Alphabetic),
+    ('\x1d79a', Alphabetic),
+    ('\x1d79b', Alphabetic),
+    ('\x1d79c', Alphabetic),
+    ('\x1d79d', Alphabetic),
+    ('\x1d79e', Alphabetic),
+    ('\x1d79f', Alphabetic),
+    ('\x1d7a0', Alphabetic),
+    ('\x1d7a1', Alphabetic),
+    ('\x1d7a2', Alphabetic),
+    ('\x1d7a3', Alphabetic),
+    ('\x1d7a4', Alphabetic),
+    ('\x1d7a5', Alphabetic),
+    ('\x1d7a6', Alphabetic),
+    ('\x1d7a7', Alphabetic),
+    ('\x1d7a8', Alphabetic),
+    ('\x1d7a9', Alphabetic),
+    ('\x1d7aa', Alphabetic),
+    ('\x1d7ab', Alphabetic),
+    ('\x1d7ac', Alphabetic),
+    ('\x1d7ad', Alphabetic),
+    ('\x1d7ae', Alphabetic),
+    ('\x1d7af', Alphabetic),
+    ('\x1d7b0', Alphabetic),
+    ('\x1d7b1', Alphabetic),
+    ('\x1d7b2', Alphabetic),
+    ('\x1d7b3', Alphabetic),
+    ('\x1d7b4', Alphabetic),
+    ('\x1d7b5', Alphabetic),
+    ('\x1d7b6', Alphabetic),
+    ('\x1d7b7', Alphabetic),
+    ('\x1d7b8', Alphabetic),
+    ('\x1d7b9', Alphabetic),
+    ('\x1d7ba', Alphabetic),
+    ('\x1d7bb', Alphabetic),
+    ('\x1d7bc', Alphabetic),
+    ('\x1d7bd', Alphabetic),
+    ('\x1d7be', Alphabetic),
+    ('\x1d7bf', Alphabetic),
+    ('\x1d7c0', Alphabetic),
+    ('\x1d7c1', Alphabetic),
+    ('\x1d7c2', Alphabetic),
+    ('\x1d7c3', Alphabetic),
+    ('\x1d7c4', Alphabetic),
+    ('\x1d7c5', Alphabetic),
+    ('\x1d7c6', Alphabetic),
+    ('\x1d7c7', Alphabetic),
+    ('\x1d7c8', Alphabetic),
+    ('\x1d7c9', Alphabetic),
+    ('\x1d7ca', Alphabetic),
+    ('\x1d7cb', Alphabetic),
+    ('\x1d7ce', Normal),
+    ('\x1d7cf', Normal),
+    ('\x1d7d0', Normal),
+    ('\x1d7d1', Normal),
+    ('\x1d7d2', Normal),
+    ('\x1d7d3', Normal),
+    ('\x1d7d4', Normal),
+    ('\x1d7d5', Normal),
+    ('\x1d7d6', Normal),
+    ('\x1d7d7', Normal),
+    ('\x1d7d8', Normal),
+    ('\x1d7d9', Normal),
+    ('\x1d7da', Normal),
+    ('\x1d7db', Normal),
+    ('\x1d7dc', Normal),
+    ('\x1d7dd', Normal),
+    ('\x1d7de', Normal),
+    ('\x1d7df', Normal),
+    ('\x1d7e0', Normal),
+    ('\x1d7e1', Normal),
+    ('\x1d7e2', Normal),
+    ('\x1d7e3', Normal),
+    ('\x1d7e4', Normal),
+    ('\x1d7e5', Normal),
+    ('\x1d7e6', Normal),
+    ('\x1d7e7', Normal),
+    ('\x1d7e8', Normal),
+    ('\x1d7e9', Normal),
+    ('\x1d7ea', Normal),
+    ('\x1d7eb', Normal),
+    ('\x1d7ec', Normal),
+    ('\x1d7ed', Normal),
+    ('\x1d7ee', Normal),
+    ('\x1d7ef', Normal),
+    ('\x1d7f0', Normal),
+    ('\x1d7f1', Normal),
+    ('\x1d7f2', Normal),
+    ('\x1d7f3', Normal),
+    ('\x1d7f4', Normal),
+    ('\x1d7f5', Normal),
+    ('\x1d7f6', Normal),
+    ('\x1d7f7', Normal),
+    ('\x1d7f8', Normal),
+    ('\x1d7f9', Normal),
+    ('\x1d7fa', Normal),
+    ('\x1d7fb', Normal),
+    ('\x1d7fc', Normal),
+    ('\x1d7fd', Normal),
+    ('\x1d7fe', Normal),
+    ('\x1d7ff', Normal),
+    ('\x1ee00', Alphabetic),
+    ('\x1ee01', Alphabetic),
+    ('\x1ee02', Alphabetic),
+    ('\x1ee03', Alphabetic),
+    ('\x1ee05', Alphabetic),
+    ('\x1ee06', Alphabetic),
+    ('\x1ee07', Alphabetic),
+    ('\x1ee08', Alphabetic),
+    ('\x1ee09', Alphabetic),
+    ('\x1ee0a', Alphabetic),
+    ('\x1ee0b', Alphabetic),
+    ('\x1ee0c', Alphabetic),
+    ('\x1ee0d', Alphabetic),
+    ('\x1ee0e', Alphabetic),
+    ('\x1ee0f', Alphabetic),
+    ('\x1ee10', Alphabetic),
+    ('\x1ee11', Alphabetic),
+    ('\x1ee12', Alphabetic),
+    ('\x1ee13', Alphabetic),
+    ('\x1ee14', Alphabetic),
+    ('\x1ee15', Alphabetic),
+    ('\x1ee16', Alphabetic),
+    ('\x1ee17', Alphabetic),
+    ('\x1ee18', Alphabetic),
+    ('\x1ee19', Alphabetic),
+    ('\x1ee1a', Alphabetic),
+    ('\x1ee1b', Alphabetic),
+    ('\x1ee1c', Alphabetic),
+    ('\x1ee1d', Alphabetic),
+    ('\x1ee1e', Alphabetic),
+    ('\x1ee1f', Alphabetic),
+    ('\x1ee21', Alphabetic),
+    ('\x1ee22', Alphabetic),
+    ('\x1ee24', Alphabetic),
+    ('\x1ee27', Alphabetic),
+    ('\x1ee29', Alphabetic),
+    ('\x1ee2a', Alphabetic),
+    ('\x1ee2b', Alphabetic),
+    ('\x1ee2c', Alphabetic),
+    ('\x1ee2d', Alphabetic),
+    ('\x1ee2e', Alphabetic),
+    ('\x1ee2f', Alphabetic),
+    ('\x1ee30', Alphabetic),
+    ('\x1ee31', Alphabetic),
+    ('\x1ee32', Alphabetic),
+    ('\x1ee34', Alphabetic),
+    ('\x1ee35', Alphabetic),
+    ('\x1ee36', Alphabetic),
+    ('\x1ee37', Alphabetic),
+    ('\x1ee39', Alphabetic),
+    ('\x1ee3b', Alphabetic),
+    ('\x1ee42', Alphabetic),
+    ('\x1ee47', Alphabetic),
+    ('\x1ee49', Alphabetic),
+    ('\x1ee4b', Alphabetic),
+    ('\x1ee4d', Alphabetic),
+    ('\x1ee4e', Alphabetic),
+    ('\x1ee4f', Alphabetic),
+    ('\x1ee51', Alphabetic),
+    ('\x1ee52', Alphabetic),
+    ('\x1ee54', Alphabetic),
+    ('\x1ee57', Alphabetic),
+    ('\x1ee59', Alphabetic),
+    ('\x1ee5b', Alphabetic),
+    ('\x1ee5d', Alphabetic),
+    ('\x1ee5f', Alphabetic),
+    ('\x1ee61', Alphabetic),
+    ('\x1ee62', Alphabetic),
+    ('\x1ee64', Alphabetic),
+    ('\x1ee67', Alphabetic),
+    ('\x1ee68', Alphabetic),
+    ('\x1ee69', Alphabetic),
+    ('\x1ee6a', Alphabetic),
+    ('\x1ee6c', Alphabetic),
+    ('\x1ee6d', Alphabetic),
+    ('\x1ee6e', Alphabetic),
+    ('\x1ee6f', Alphabetic),
+    ('\x1ee70', Alphabetic),
+    ('\x1ee71', Alphabetic),
+    ('\x1ee72', Alphabetic),
+    ('\x1ee74', Alphabetic),
+    ('\x1ee75', Alphabetic),
+    ('\x1ee76', Alphabetic),
+    ('\x1ee77', Alphabetic),
+    ('\x1ee79', Alphabetic),
+    ('\x1ee7a', Alphabetic),
+    ('\x1ee7b', Alphabetic),
+    ('\x1ee7c', Alphabetic),
+    ('\x1ee7e', Alphabetic),
+    ('\x1ee80', Alphabetic),
+    ('\x1ee81', Alphabetic),
+    ('\x1ee82', Alphabetic),
+    ('\x1ee83', Alphabetic),
+    ('\x1ee84', Alphabetic),
+    ('\x1ee85', Alphabetic),
+    ('\x1ee86', Alphabetic),
+    ('\x1ee87', Alphabetic),
+    ('\x1ee88', Alphabetic),
+    ('\x1ee89', Alphabetic),
+    ('\x1ee8b', Alphabetic),
+    ('\x1ee8c', Alphabetic),
+    ('\x1ee8d', Alphabetic),
+    ('\x1ee8e', Alphabetic),
+    ('\x1ee8f', Alphabetic),
+    ('\x1ee90', Alphabetic),
+    ('\x1ee91', Alphabetic),
+    ('\x1ee92', Alphabetic),
+    ('\x1ee93', Alphabetic),
+    ('\x1ee94', Alphabetic),
+    ('\x1ee95', Alphabetic),
+    ('\x1ee96', Alphabetic),
+    ('\x1ee97', Alphabetic),
+    ('\x1ee98', Alphabetic),
+    ('\x1ee99', Alphabetic),
+    ('\x1ee9a', Alphabetic),
+    ('\x1ee9b', Alphabetic),
+    ('\x1eea1', Alphabetic),
+    ('\x1eea2', Alphabetic),
+    ('\x1eea3', Alphabetic),
+    ('\x1eea5', Alphabetic),
+    ('\x1eea6', Alphabetic),
+    ('\x1eea7', Alphabetic),
+    ('\x1eea8', Alphabetic),
+    ('\x1eea9', Alphabetic),
+    ('\x1eeab', Alphabetic),
+    ('\x1eeac', Alphabetic),
+    ('\x1eead', Alphabetic),
+    ('\x1eeae', Alphabetic),
+    ('\x1eeaf', Alphabetic),
+    ('\x1eeb0', Alphabetic),
+    ('\x1eeb1', Alphabetic),
+    ('\x1eeb2', Alphabetic),
+    ('\x1eeb3', Alphabetic),
+    ('\x1eeb4', Alphabetic),
+    ('\x1eeb5', Alphabetic),
+    ('\x1eeb6', Alphabetic),
+    ('\x1eeb7', Alphabetic),
+    ('\x1eeb8', Alphabetic),
+    ('\x1eeb9', Alphabetic),
+    ('\x1eeba', Alphabetic),
+    ('\x1eebb', Alphabetic),
+    ('\x1eef0', Large),
+    ('\x1eef1', Large),
+    ('\x1f784', Normal),
+    ('\x1f78c', Normal),
+    ('\x1f78d', Normal),
+    ('\x1f797', Normal),
+    ('\x1f798', Normal),
+    ('\x1f799', Normal),
+    ('\x1f79d', Normal),
+    ('\x1f79e', Normal),
+    ('\x1f79f', Normal)]
diff --git a/src/Typst/Methods.hs b/src/Typst/Methods.hs
--- a/src/Typst/Methods.hs
+++ b/src/Typst/Methods.hs
@@ -431,6 +431,8 @@
                 (a, b) | V.null b -> if V.null a then [] else [VArray a]
                 (a, b) -> VArray a : go (V.drop 1 b)
           pure $ VArray $ V.fromList $ go v
+        "dedup" -> pure $ makeFunction $ do
+          pure $ VArray $ deduplicateVector v
         "insert" -> pure $ makeFunction $ do
           pos <- toPos <$> nthArg 1
           newval <- nthArg 2
@@ -806,3 +808,7 @@
        Just "zero" -> '0' : s
        Just "space" -> '_' : s
        _ -> s
+
+deduplicateVector :: Eq a => V.Vector a -> V.Vector a
+deduplicateVector =
+  V.foldl' (\acc x -> if x `V.elem` acc then acc else acc `V.snoc` x) mempty
diff --git a/src/Typst/Module/Math.hs b/src/Typst/Module/Math.hs
--- a/src/Typst/Module/Math.hs
+++ b/src/Typst/Module/Math.hs
@@ -29,6 +29,8 @@
           ("accent", One (TContent :|: TString :|: TSymbol))
         ],
       makeElement (Just "math") "attach" [("base", One TContent)],
+      makeElement (Just "math") "class" [("class", One TString),
+                                         ("body", One TContent)],
       makeElement (Just "math") "scripts" [("body", One TContent)],
       makeElement (Just "math") "limits" [("body", One TContent)],
       makeElement
@@ -148,7 +150,10 @@
         "max",
         "min",
         "Pr",
-        "sup"
+        "sup",
+        "id",
+        "im",
+        "tr"
       ]
       ++ map
         ( \t ->
diff --git a/src/Typst/Module/Standard.hs b/src/Typst/Module/Standard.hs
--- a/src/Typst/Module/Standard.hs
+++ b/src/Typst/Module/Standard.hs
@@ -242,6 +242,7 @@
       [ ("target", One (TLabel :|: TFunction)),
         ("location", One TLocation)
       ],
+    makeElement Nothing "metadata" [ ("value", One TAny) ],
     makeElement Nothing "ref" [("target", One TLabel)],
     makeElement Nothing "state" [("key", One TString), ("init", One TAny)],
     makeElementWithScope
diff --git a/src/Typst/Parse.hs b/src/Typst/Parse.hs
--- a/src/Typst/Parse.hs
+++ b/src/Typst/Parse.hs
@@ -7,6 +7,7 @@
   )
 where
 
+import Data.List (sortOn)
 import Control.Applicative (some)
 import Control.Monad (MonadPlus (mzero), guard, void, when)
 import Control.Monad.Identity (Identity)
@@ -19,6 +20,7 @@
 import Text.Parsec.Expr
 import Text.Read (readMaybe)
 import Typst.Syntax
+import Typst.Shorthands (mathSymbolShorthands)
 
 -- import Debug.Trace
 
@@ -362,25 +364,21 @@
 
 mSymbol :: P Markup
 mSymbol =
-  Text
-    <$> lexeme
-      ( ("≠" <$ string "!=")
-          <|> ("≥" <$ string ">=")
-          <|> ("≤" <$ string "<=")
-          <|> ("←" <$ string "<-")
-          <|> ("→" <$ string "->")
-          <|> ("⇐" <$ string "<=")
-          <|> ("⇒" <$ string "=>")
-          <|> ("⟵" <$ string "<--")
-          <|> ("⟶" <$ string "-->")
-          <|> ("⟸" <$ string "<==")
-          <|> ("⟹" <$ string "==>")
-          <|> ("…" <$ string "...")
-          <|> ("′" <$ char '\'')
-          <|> ( T.singleton
+  getPosition >>= pSym
+ where
+  pSym pos = lexeme $
+    (Code pos <$> choice (map toShorthandParser shorthands))
+          <|> ( Text . T.singleton
                   <$> satisfy (\c -> not (isSpace c) && c /= '$' && c /= '\\')
               )
-      )
+  shorthands= reverse $ sortOn (T.length . fst) mathSymbolShorthands
+  toShorthandParser (short, symname) =
+    (toSym symname <$ try (string (T.unpack short)))
+  toSym name =
+    case map (Ident . Identifier) $ T.split (== '.') name of
+      [] -> Literal None
+      [i] -> i
+      (i:is) -> foldr FieldAccess i is
 
 withIndent :: Int -> P a -> P a
 withIndent indent pa = do
diff --git a/test/out/bugs/math-realize-00.out b/test/out/bugs/math-realize-00.out
--- a/test/out/bugs/math-realize-00.out
+++ b/test/out/bugs/math-realize-00.out
@@ -167,7 +167,10 @@
         (FuncCall
            (Ident (Identifier "vec"))
            [ BlockArg [ Text "1" ] , BlockArg [ Text "2" ] ])
-    , Text "*"
+    , Code
+        "test/typ/bugs/math-realize-00.typ"
+        ( line 12 , column 12 )
+        (Ident (Identifier "convolve"))
     , Text "2"
     ]
 , ParBreak
@@ -231,7 +234,7 @@
 ]), 
   math.equation(block: true, 
                 body: { text(body: [nope]), 
-                        text(body: [*]), 
+                        text(body: [∗]), 
                         text(body: [2]) }, 
                 numbering: none), 
   parbreak() }
diff --git a/test/out/bugs/math-realize-01.out b/test/out/bugs/math-realize-01.out
--- a/test/out/bugs/math-realize-01.out
+++ b/test/out/bugs/math-realize-01.out
@@ -53,7 +53,10 @@
                    [ MGroup
                        (Just "(")
                        (Just ")")
-                       [ Text "\8805"
+                       [ Code
+                           "test/typ/bugs/math-realize-01.typ"
+                           ( line 2 , column 15 )
+                           (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "gt")))
                        , Code
                            "test/typ/bugs/math-realize-01.typ"
                            ( line 2 , column 18 )
@@ -95,8 +98,11 @@
                    Nothing
                    Nothing
                    [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]
-               , Text ":"
-               , Text "="
+               , Code
+                   "test/typ/bugs/math-realize-01.typ"
+                   ( line 4 , column 18 )
+                   (FieldAccess
+                      (Ident (Identifier "eq")) (Ident (Identifier "colon")))
                , MAttach Nothing (Just (Text "2")) (Text "x")
                ]
            ]
@@ -138,8 +144,7 @@
                                    math.lr(body: ({ [(], 
                                                     text(body: [x]), 
                                                     [)] })), 
-                                   text(body: [:]), 
-                                   text(body: [=]), 
+                                   text(body: [≔]), 
                                    math.attach(b: none, 
                                                base: text(body: [x]), 
                                                t: text(body: [2])) }, 
diff --git a/test/out/math/accent-02.out b/test/out/math/accent-02.out
--- a/test/out/math/accent-02.out
+++ b/test/out/math/accent-02.out
@@ -54,7 +54,14 @@
         ( line 3 , column 16 )
         (FuncCall
            (Ident (Identifier "accent"))
-           [ BlockArg [ Text "v" ] , BlockArg [ Text "\8592" ] ])
+           [ BlockArg [ Text "v" ]
+           , BlockArg
+               [ Code
+                   "test/typ/math/accent-02.typ"
+                   ( line 3 , column 26 )
+                   (FieldAccess (Ident (Identifier "l")) (Ident (Identifier "arrow")))
+               ]
+           ])
     , Text ","
     , Code
         "test/typ/math/accent-02.typ"
diff --git a/test/out/math/accent-05.out b/test/out/math/accent-05.out
--- a/test/out/math/accent-05.out
+++ b/test/out/math/accent-05.out
@@ -43,7 +43,10 @@
 , Equation
     False
     [ MAttach Nothing (Just (Text "x")) (Text "A")
-    , Text "\8800"
+    , Code
+        "test/typ/math/accent-05.typ"
+        ( line 3 , column 6 )
+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))
     , MAttach
         Nothing
         (Just (Text "x"))
@@ -51,7 +54,10 @@
            "test/typ/math/accent-05.typ"
            ( line 3 , column 9 )
            (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "A" ] ]))
-    , Text "\8800"
+    , Code
+        "test/typ/math/accent-05.typ"
+        ( line 3 , column 18 )
+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))
     , MAttach
         Nothing
         (Just (Text "x"))
diff --git a/test/out/math/attach-01.out b/test/out/math/attach-01.out
--- a/test/out/math/attach-01.out
+++ b/test/out/math/attach-01.out
@@ -58,7 +58,15 @@
            , KeyValArg (Identifier "tl") (Block (Content [ Text "16" ]))
            , KeyValArg (Identifier "br") (Block (Content [ Text "2" ]))
            , KeyValArg
-               (Identifier "tr") (Block (Content [ Text "2" , Text "-" ]))
+               (Identifier "tr")
+               (Block
+                  (Content
+                     [ Text "2"
+                     , Code
+                         "test/typ/math/attach-01.typ"
+                         ( line 5 , column 47 )
+                         (Ident (Identifier "minus"))
+                     ]))
            ])
     , Text ","
     , Code
@@ -83,7 +91,15 @@
                    (FuncCall (Ident (Identifier "upright")) [ BlockArg [ Text "e" ] ])
                ]
            , KeyValArg
-               (Identifier "bl") (Block (Content [ Text "-" , Text "1" ]))
+               (Identifier "bl")
+               (Block
+                  (Content
+                     [ Code
+                         "test/typ/math/attach-01.typ"
+                         ( line 6 , column 56 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     ]))
            , KeyValArg (Identifier "tl") (Block (Content [ Text "0" ]))
            ])
     , Text "+"
@@ -107,14 +123,14 @@
                                     br: text(body: [2]), 
                                     tl: text(body: [16]), 
                                     tr: { text(body: [2]), 
-                                          text(body: [-]) }), 
+                                          text(body: [−]) }), 
                         text(body: [,]), 
                         math.attach(base: text(body: [Pb]), 
                                     bl: text(body: [82]), 
                                     tl: text(body: [207])), 
                         text(body: [+]), 
                         math.attach(base: math.upright(body: text(body: [e])), 
-                                    bl: { text(body: [-]), 
+                                    bl: { text(body: [−]), 
                                           text(body: [1]) }, 
                                     tl: text(body: [0])), 
                         text(body: [+]), 
diff --git a/test/out/math/attach-06.out b/test/out/math/attach-06.out
--- a/test/out/math/attach-06.out
+++ b/test/out/math/attach-06.out
@@ -45,13 +45,28 @@
     [ MAttach
         Nothing
         (Just (Text "n"))
-        (MGroup (Just "(") (Just ")") [ Text "-" , Text "1" ])
+        (MGroup
+           (Just "(")
+           (Just ")")
+           [ Code
+               "test/typ/math/attach-06.typ"
+               ( line 3 , column 4 )
+               (Ident (Identifier "minus"))
+           , Text "1"
+           ])
     , Text "+"
     , MAttach
         Nothing
         (Just
            (MGroup
-              Nothing Nothing [ Text "-" , MFrac (Text "1") (Text "2") ]))
+              Nothing
+              Nothing
+              [ Code
+                  "test/typ/math/attach-06.typ"
+                  ( line 3 , column 23 )
+                  (Ident (Identifier "minus"))
+              , MFrac (Text "1") (Text "2")
+              ]))
         (MGroup
            (Just "(")
            (Just ")")
@@ -65,7 +80,7 @@
   math.equation(block: true, 
                 body: { math.attach(b: none, 
                                     base: math.lr(body: ({ [(], 
-                                                           text(body: [-]), 
+                                                           text(body: [−]), 
                                                            text(body: [1]), 
                                                            [)] })), 
                                     t: text(body: [n])), 
@@ -77,7 +92,7 @@
                                                            text(body: [+]), 
                                                            text(body: [3]), 
                                                            [)] })), 
-                                    t: { text(body: [-]), 
+                                    t: { text(body: [−]), 
                                          math.frac(denom: text(body: [2]), 
                                                    num: text(body: [1])) }) }, 
                 numbering: none), 
diff --git a/test/out/math/attach-07.out b/test/out/math/attach-07.out
--- a/test/out/math/attach-07.out
+++ b/test/out/math/attach-07.out
@@ -177,7 +177,10 @@
         (Just (Text "1"))
         Nothing
         (MAttach Nothing (Just (Text "1")) (Text ")"))
-    , Text "\8800"
+    , Code
+        "test/typ/math/attach-07.typ"
+        ( line 9 , column 24 )
+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))
     , MAttach
         (Just (Text "1"))
         Nothing
diff --git a/test/out/math/attach-08.out b/test/out/math/attach-08.out
--- a/test/out/math/attach-08.out
+++ b/test/out/math/attach-08.out
@@ -48,7 +48,10 @@
               Nothing
               Nothing
               [ Text "n"
-              , Text "\8594"
+              , Code
+                  "test/typ/math/attach-08.typ"
+                  ( line 3 , column 9 )
+                  (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))
               , Code
                   "test/typ/math/attach-08.typ"
                   ( line 3 , column 11 )
diff --git a/test/out/math/attach-09.out b/test/out/math/attach-09.out
--- a/test/out/math/attach-09.out
+++ b/test/out/math/attach-09.out
@@ -49,7 +49,10 @@
            "test/typ/math/attach-09.typ"
            ( line 3 , column 3 )
            (FuncCall (Ident (Identifier "limits")) [ BlockArg [ Text "A" ] ]))
-    , Text "\8800"
+    , Code
+        "test/typ/math/attach-09.typ"
+        ( line 3 , column 17 )
+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))
     , MAttach (Just (Text "1")) (Just (Text "2")) (Text "A")
     ]
 , SoftBreak
@@ -70,7 +73,10 @@
                       (Ident (Identifier "sum"))
                   ]
               ]))
-    , Text "\8800"
+    , Code
+        "test/typ/math/attach-09.typ"
+        ( line 4 , column 20 )
+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))
     , MAttach
         (Just (Text "1"))
         (Just (Text "2"))
@@ -97,7 +103,10 @@
                       (Ident (Identifier "integral"))
                   ]
               ]))
-    , Text "\8800"
+    , Code
+        "test/typ/math/attach-09.typ"
+        ( line 5 , column 24 )
+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))
     , MAttach
         (Just (Text "a"))
         (Just (Text "b"))
diff --git a/test/out/math/cancel-00.out b/test/out/math/cancel-00.out
--- a/test/out/math/cancel-00.out
+++ b/test/out/math/cancel-00.out
@@ -52,9 +52,12 @@
         (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "x" ] ])
     , Text "+"
     , Text "b"
-    , Text "-"
     , Code
         "test/typ/math/cancel-00.typ"
+        ( line 3 , column 24 )
+        (Ident (Identifier "minus"))
+    , Code
+        "test/typ/math/cancel-00.typ"
         ( line 3 , column 26 )
         (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "x" ] ])
     ]
@@ -119,7 +122,7 @@
                         math.cancel(body: text(body: [x])), 
                         text(body: [+]), 
                         text(body: [b]), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         math.cancel(body: text(body: [x])) }, 
                 numbering: none), 
   parbreak(), 
diff --git a/test/out/math/cancel-01.out b/test/out/math/cancel-01.out
--- a/test/out/math/cancel-01.out
+++ b/test/out/math/cancel-01.out
@@ -59,26 +59,38 @@
         (FuncCall
            (Ident (Identifier "cancel"))
            [ BlockArg [ Text "b" , Text "+" , Text "c" ] ])
-    , Text "-"
     , Code
         "test/typ/math/cancel-01.typ"
+        ( line 4 , column 25 )
+        (Ident (Identifier "minus"))
+    , Code
+        "test/typ/math/cancel-01.typ"
         ( line 4 , column 27 )
         (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "b" ] ])
-    , Text "-"
     , Code
         "test/typ/math/cancel-01.typ"
+        ( line 4 , column 37 )
+        (Ident (Identifier "minus"))
+    , Code
+        "test/typ/math/cancel-01.typ"
         ( line 4 , column 39 )
         (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "c" ] ])
-    , Text "-"
+    , Code
+        "test/typ/math/cancel-01.typ"
+        ( line 4 , column 49 )
+        (Ident (Identifier "minus"))
     , Text "5"
     , Text "+"
     , Code
         "test/typ/math/cancel-01.typ"
         ( line 4 , column 55 )
         (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "6" ] ])
-    , Text "-"
     , Code
         "test/typ/math/cancel-01.typ"
+        ( line 4 , column 65 )
+        (Ident (Identifier "minus"))
+    , Code
+        "test/typ/math/cancel-01.typ"
         ( line 4 , column 67 )
         (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "6" ] ])
     ]
@@ -136,15 +148,15 @@
                         math.cancel(body: { text(body: [b]), 
                                             text(body: [+]), 
                                             text(body: [c]) }), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         math.cancel(body: text(body: [b])), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         math.cancel(body: text(body: [c])), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         text(body: [5]), 
                         text(body: [+]), 
                         math.cancel(body: text(body: [6])), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         math.cancel(body: text(body: [6])) }, 
                 numbering: none), 
   text(body: [
diff --git a/test/out/math/cancel-02.out b/test/out/math/cancel-02.out
--- a/test/out/math/cancel-02.out
+++ b/test/out/math/cancel-02.out
@@ -52,9 +52,12 @@
            [ BlockArg [ Text "x" ]
            , KeyValArg (Identifier "inverted") (Literal (Boolean True))
            ])
-    , Text "-"
     , Code
         "test/typ/math/cancel-02.typ"
+        ( line 3 , column 33 )
+        (Ident (Identifier "minus"))
+    , Code
+        "test/typ/math/cancel-02.typ"
         ( line 3 , column 35 )
         (FuncCall
            (Ident (Identifier "cancel"))
@@ -68,9 +71,12 @@
         "test/typ/math/cancel-02.typ"
         ( line 3 , column 69 )
         (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "y" ] ])
-    , Text "-"
     , Code
         "test/typ/math/cancel-02.typ"
+        ( line 3 , column 79 )
+        (Ident (Identifier "minus"))
+    , Code
+        "test/typ/math/cancel-02.typ"
         ( line 3 , column 81 )
         (FuncCall (Ident (Identifier "cancel")) [ BlockArg [ Text "y" ] ])
     ]
@@ -98,14 +104,14 @@
                         text(body: [+]), 
                         math.cancel(body: text(body: [x]), 
                                     inverted: true), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         math.cancel(body: text(body: [x]), 
                                     inverted: true), 
                         text(body: [+]), 
                         text(body: [10]), 
                         text(body: [+]), 
                         math.cancel(body: text(body: [y])), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         math.cancel(body: text(body: [y])) }, 
                 numbering: none), 
   text(body: [
diff --git a/test/out/math/cancel-04.out b/test/out/math/cancel-04.out
--- a/test/out/math/cancel-04.out
+++ b/test/out/math/cancel-04.out
@@ -61,9 +61,12 @@
            [ BlockArg [ Text "x" ]
            , KeyValArg (Identifier "length") (Literal (Numeric 200.0 Percent))
            ])
-    , Text "-"
     , Code
         "test/typ/math/cancel-04.typ"
+        ( line 4 , column 31 )
+        (Ident (Identifier "minus"))
+    , Code
+        "test/typ/math/cancel-04.typ"
         ( line 4 , column 33 )
         (FuncCall
            (Ident (Identifier "cancel"))
@@ -89,9 +92,12 @@
            [ BlockArg [ Text "x" ]
            , KeyValArg (Identifier "length") (Literal (Numeric 150.0 Percent))
            ])
-    , Text "-"
     , Code
         "test/typ/math/cancel-04.typ"
+        ( line 5 , column 32 )
+        (Ident (Identifier "minus"))
+    , Code
+        "test/typ/math/cancel-04.typ"
         ( line 5 , column 34 )
         (FuncCall
            (Ident (Identifier "cancel"))
@@ -116,7 +122,7 @@
                         text(body: [+]), 
                         math.cancel(body: text(body: [x]), 
                                     length: 200%), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         math.cancel(body: text(body: [x]), 
                                     length: 50%, 
                                     stroke: (thickness: 1.1pt,
@@ -129,7 +135,7 @@
                         text(body: [+]), 
                         math.cancel(body: text(body: [x]), 
                                     length: 150%), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         math.cancel(body: { text(body: [a]), 
                                             text(body: [+]), 
                                             text(body: [b]), 
diff --git a/test/out/math/cancel-05.out b/test/out/math/cancel-05.out
--- a/test/out/math/cancel-05.out
+++ b/test/out/math/cancel-05.out
@@ -52,9 +52,12 @@
            [ BlockArg [ Text "y" ]
            , KeyValArg (Identifier "rotation") (Literal (Numeric 90.0 Deg))
            ])
-    , Text "-"
     , Code
         "test/typ/math/cancel-05.typ"
+        ( line 3 , column 34 )
+        (Ident (Identifier "minus"))
+    , Code
+        "test/typ/math/cancel-05.typ"
         ( line 3 , column 36 )
         (FuncCall
            (Ident (Identifier "cancel"))
@@ -78,9 +81,12 @@
                    (MGroup Nothing Nothing [ Text "f" , Text "+" , Text "e" ])
                ]
            ])
-    , Text "-"
     , Code
         "test/typ/math/cancel-05.typ"
+        ( line 4 , column 31 )
+        (Ident (Identifier "minus"))
+    , Code
+        "test/typ/math/cancel-05.typ"
         ( line 4 , column 33 )
         (FuncCall
            (Ident (Identifier "cancel"))
@@ -102,7 +108,7 @@
                         text(body: [+]), 
                         math.cancel(body: text(body: [y]), 
                                     rotation: 90.0deg), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         math.cancel(body: text(body: [z]), 
                                     rotation: 135.0deg) }, 
                 numbering: none), 
@@ -117,7 +123,7 @@
                                                     num: { text(body: [j]), 
                                                            text(body: [+]), 
                                                            text(body: [e]) })), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         math.cancel(body: math.frac(denom: { text(body: [f]), 
                                                              text(body: [+]), 
                                                              text(body: [e]) }, 
diff --git a/test/out/math/cases-00.out b/test/out/math/cases-00.out
--- a/test/out/math/cases-00.out
+++ b/test/out/math/cases-00.out
@@ -47,10 +47,13 @@
         [ Text "f"
         , MGroup (Just "(") (Just ")") [ Text "x" , Text "," , Text "y" ]
         ]
-    , Text ":"
-    , Text "="
     , Code
         "test/typ/math/cases-00.typ"
+        ( line 2 , column 11 )
+        (FieldAccess
+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))
+    , Code
+        "test/typ/math/cases-00.typ"
         ( line 2 , column 14 )
         (FuncCall
            (Ident (Identifier "cases"))
@@ -74,7 +77,10 @@
                       , Text "y"
                       ])
                    (Text "2")
-               , Text "\8804"
+               , Code
+                   "test/typ/math/cases-00.typ"
+                   ( line 3 , column 28 )
+                   (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))
                , Text "0"
                ]
            , BlockArg
@@ -117,8 +123,7 @@
                                          text(body: [,]), 
                                          text(body: [y]), 
                                          [)] })), 
-                        text(body: [:]), 
-                        text(body: [=]), 
+                        text(body: [≔]), 
                         math.cases(children: ({ text(body: [1]), 
                                                 text(body: [ ]), 
                                                 math.alignpoint(), 
diff --git a/test/out/math/content-01.out b/test/out/math/content-01.out
--- a/test/out/math/content-01.out
+++ b/test/out/math/content-01.out
@@ -43,8 +43,11 @@
 , Equation
     True
     [ Text "x"
-    , Text ":"
-    , Text "="
+    , Code
+        "test/typ/math/content-01.typ"
+        ( line 3 , column 5 )
+        (FieldAccess
+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))
     , MFrac
         (Code
            "test/typ/math/content-01.typ"
@@ -82,8 +85,7 @@
 ]), 
   math.equation(block: true, 
                 body: { text(body: [x]), 
-                        text(body: [:]), 
-                        text(body: [=]), 
+                        text(body: [≔]), 
                         math.frac(denom: math.mat(rows: ((text(body: [1]), 
                                                           text(body: [2]), 
                                                           text(body: [3])))), 
diff --git a/test/out/math/content-03.out b/test/out/math/content-03.out
--- a/test/out/math/content-03.out
+++ b/test/out/math/content-03.out
@@ -56,10 +56,13 @@
         "test/typ/math/content-03.typ"
         ( line 4 , column 3 )
         (FuncCall (Ident (Identifier "here")) [ BlockArg [ Text "f" ] ])
-    , Text ":"
-    , Text "="
     , Code
         "test/typ/math/content-03.typ"
+        ( line 4 , column 11 )
+        (FieldAccess
+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))
+    , Code
+        "test/typ/math/content-03.typ"
         ( line 4 , column 15 )
         (FuncCall
            (Ident (Identifier "here"))
@@ -76,8 +79,7 @@
   math.equation(block: false, 
                 body: { text(body: text(body: [f]), 
                              font: "Noto Sans"), 
-                        text(body: [:]), 
-                        text(body: [=]), 
+                        text(body: [≔]), 
                         text(body: { text(body: [Hi]), 
                                      text(body: [ ]), 
                                      text(body: [there]) }, 
diff --git a/test/out/math/delimited-01.out b/test/out/math/delimited-01.out
--- a/test/out/math/delimited-01.out
+++ b/test/out/math/delimited-01.out
@@ -59,7 +59,10 @@
                 , Text ","
                 , Text "2"
                 , Text ")"
-                , Text "\8800"
+                , Code
+                    "test/typ/math/delimited-01.typ"
+                    ( line 3 , column 16 )
+                    (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))
                 , Code
                     "test/typ/math/delimited-01.typ"
                     ( line 3 , column 19 )
diff --git a/test/out/math/delimited-02.out b/test/out/math/delimited-02.out
--- a/test/out/math/delimited-02.out
+++ b/test/out/math/delimited-02.out
@@ -46,9 +46,12 @@
         (Just "[")
         (Just "]")
         [ MGroup (Just "|") (Just "|") [ MFrac (Text "a") (Text "b") ] ]
-    , Text "\8800"
     , Code
         "test/typ/math/delimited-02.typ"
+        ( line 3 , column 11 )
+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))
+    , Code
+        "test/typ/math/delimited-02.typ"
         ( line 3 , column 14 )
         (FuncCall
            (Ident (Identifier "lr"))
@@ -58,7 +61,10 @@
                , Text "]"
                ]
            ])
-    , Text "\8800"
+    , Code
+        "test/typ/math/delimited-02.typ"
+        ( line 3 , column 26 )
+        (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))
     , MGroup
         (Just "[") Nothing [ MFrac (Text "a") (Text "b") , Text ")" ]
     ]
diff --git a/test/out/math/frac-02.out b/test/out/math/frac-02.out
--- a/test/out/math/frac-02.out
+++ b/test/out/math/frac-02.out
@@ -48,7 +48,10 @@
         (MGroup
            (Just "(")
            (Just ")")
-           [ Text "-"
+           [ Code
+               "test/typ/math/frac-02.typ"
+               ( line 3 , column 8 )
+               (Ident (Identifier "minus"))
            , Text "b"
            , Code
                "test/typ/math/frac-02.typ"
@@ -62,7 +65,10 @@
                   (Ident (Identifier "sqrt"))
                   [ BlockArg
                       [ MAttach Nothing (Just (Text "2")) (Text "b")
-                      , Text "-"
+                      , Code
+                          "test/typ/math/frac-02.typ"
+                          ( line 3 , column 31 )
+                          (Ident (Identifier "minus"))
                       , Text "4"
                       , Text "a"
                       , Text "c"
@@ -81,13 +87,13 @@
                         text(body: [=]), 
                         math.frac(denom: { text(body: [2]), 
                                            text(body: [a]) }, 
-                                  num: { text(body: [-]), 
+                                  num: { text(body: [−]), 
                                          text(body: [b]), 
                                          text(body: [±]), 
                                          math.sqrt(radicand: { math.attach(b: none, 
                                                                            base: text(body: [b]), 
                                                                            t: text(body: [2])), 
-                                                               text(body: [-]), 
+                                                               text(body: [−]), 
                                                                text(body: [4]), 
                                                                text(body: [a]), 
                                                                text(body: [c]) }) }) }, 
diff --git a/test/out/math/matrix-01.out b/test/out/math/matrix-01.out
--- a/test/out/math/matrix-01.out
+++ b/test/out/math/matrix-01.out
@@ -48,8 +48,22 @@
         (FuncCall
            (Ident (Identifier "mat"))
            [ ArrayArg
-               [ [ Text "1" , Text "2" , Text "\8230" , Text "10" ]
-               , [ Text "2" , Text "2" , Text "\8230" , Text "10" ]
+               [ [ Text "1"
+                 , Text "2"
+                 , Code
+                     "test/typ/math/matrix-01.typ"
+                     ( line 4 , column 9 )
+                     (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))
+                 , Text "10"
+                 ]
+               , [ Text "2"
+                 , Text "2"
+                 , Code
+                     "test/typ/math/matrix-01.typ"
+                     ( line 5 , column 9 )
+                     (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))
+                 , Text "10"
+                 ]
                , [ Code
                      "test/typ/math/matrix-01.typ"
                      ( line 6 , column 3 )
@@ -68,7 +82,14 @@
                      ( line 6 , column 30 )
                      (FieldAccess (Ident (Identifier "v")) (Ident (Identifier "dots")))
                  ]
-               , [ Text "10" , Text "10" , Text "\8230" , Text "10" ]
+               , [ Text "10"
+                 , Text "10"
+                 , Code
+                     "test/typ/math/matrix-01.typ"
+                     ( line 7 , column 11 )
+                     (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))
+                 , Text "10"
+                 ]
                ]
            ])
     ]
diff --git a/test/out/math/matrix-alignment-05.out b/test/out/math/matrix-alignment-05.out
--- a/test/out/math/matrix-alignment-05.out
+++ b/test/out/math/matrix-alignment-05.out
@@ -132,13 +132,19 @@
                , [ MGroup
                      Nothing
                      Nothing
-                     [ Text "\8230"
+                     [ Code
+                         "test/typ/math/matrix-alignment-05.typ"
+                         ( line 6 , column 17 )
+                         (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))
                      , Text "."
                      , Text "."
                      , MAlignPoint
                      , Text "d"
                      , MAlignPoint
-                     , Text "\8230"
+                     , Code
+                         "test/typ/math/matrix-alignment-05.typ"
+                         ( line 6 , column 25 )
+                         (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))
                      , Text "."
                      , Text "."
                      ]
diff --git a/test/out/math/matrix-alignment-06.out b/test/out/math/matrix-alignment-06.out
--- a/test/out/math/matrix-alignment-06.out
+++ b/test/out/math/matrix-alignment-06.out
@@ -48,17 +48,41 @@
         (FuncCall
            (Ident (Identifier "mat"))
            [ ArrayArg
-               [ [ MGroup Nothing Nothing [ Text "-" , Text "1" ]
+               [ [ MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 3 , column 7 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     ]
                  , Text "1"
                  , Text "1"
                  ]
                , [ Text "1"
-                 , MGroup Nothing Nothing [ Text "-" , Text "1" ]
+                 , MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 3 , column 20 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     ]
                  , Text "1"
                  ]
                , [ Text "1"
                  , Text "1"
-                 , MGroup Nothing Nothing [ Text "-" , Text "1" ]
+                 , MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 3 , column 33 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     ]
                  ]
                ]
            ])
@@ -72,17 +96,44 @@
         (FuncCall
            (Ident (Identifier "mat"))
            [ ArrayArg
-               [ [ MGroup Nothing Nothing [ Text "-" , Text "1" , MAlignPoint ]
+               [ [ MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 4 , column 7 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     , MAlignPoint
+                     ]
                  , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]
                  , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]
                  ]
                , [ MGroup Nothing Nothing [ Text "1" , MAlignPoint ]
-                 , MGroup Nothing Nothing [ Text "-" , Text "1" , MAlignPoint ]
+                 , MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 4 , column 24 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     , MAlignPoint
+                     ]
                  , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]
                  ]
                , [ MGroup Nothing Nothing [ Text "1" , MAlignPoint ]
                  , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]
-                 , MGroup Nothing Nothing [ Text "-" , Text "1" , MAlignPoint ]
+                 , MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 4 , column 41 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     , MAlignPoint
+                     ]
                  ]
                ]
            ])
@@ -96,17 +147,42 @@
         (FuncCall
            (Ident (Identifier "mat"))
            [ ArrayArg
-               [ [ MGroup Nothing Nothing [ Text "-" , Text "1" , MAlignPoint ]
+               [ [ MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 5 , column 7 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     , MAlignPoint
+                     ]
                  , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]
                  , MGroup Nothing Nothing [ Text "1" , MAlignPoint ]
                  ]
                , [ Text "1"
-                 , MGroup Nothing Nothing [ Text "-" , Text "1" ]
+                 , MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 5 , column 23 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     ]
                  , Text "1"
                  ]
                , [ Text "1"
                  , Text "1"
-                 , MGroup Nothing Nothing [ Text "-" , Text "1" ]
+                 , MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 5 , column 36 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     ]
                  ]
                ]
            ])
@@ -120,17 +196,42 @@
         (FuncCall
            (Ident (Identifier "mat"))
            [ ArrayArg
-               [ [ MGroup Nothing Nothing [ MAlignPoint , Text "-" , Text "1" ]
+               [ [ MGroup
+                     Nothing
+                     Nothing
+                     [ MAlignPoint
+                     , Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 6 , column 8 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     ]
                  , MGroup Nothing Nothing [ MAlignPoint , Text "1" ]
                  , MGroup Nothing Nothing [ MAlignPoint , Text "1" ]
                  ]
                , [ Text "1"
-                 , MGroup Nothing Nothing [ Text "-" , Text "1" ]
+                 , MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 6 , column 23 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     ]
                  , Text "1"
                  ]
                , [ Text "1"
                  , Text "1"
-                 , MGroup Nothing Nothing [ Text "-" , Text "1" ]
+                 , MGroup
+                     Nothing
+                     Nothing
+                     [ Code
+                         "test/typ/math/matrix-alignment-06.typ"
+                         ( line 6 , column 36 )
+                         (Ident (Identifier "minus"))
+                     , Text "1"
+                     ]
                  ]
                ]
            ])
@@ -141,23 +242,23 @@
 { text(body: [
 ]), 
   math.equation(block: true, 
-                body: math.mat(rows: (({ text(body: [-]), 
+                body: math.mat(rows: (({ text(body: [−]), 
                                          text(body: [1]) }, 
                                        text(body: [1]), 
                                        text(body: [1])), 
                                       (text(body: [1]), 
-                                       { text(body: [-]), 
+                                       { text(body: [−]), 
                                          text(body: [1]) }, 
                                        text(body: [1])), 
                                       (text(body: [1]), 
                                        text(body: [1]), 
-                                       { text(body: [-]), 
+                                       { text(body: [−]), 
                                          text(body: [1]) }))), 
                 numbering: none), 
   text(body: [
 ]), 
   math.equation(block: true, 
-                body: math.mat(rows: (({ text(body: [-]), 
+                body: math.mat(rows: (({ text(body: [−]), 
                                          text(body: [1]), 
                                          math.alignpoint() }, 
                                        { text(body: [1]), 
@@ -166,7 +267,7 @@
                                          math.alignpoint() }), 
                                       ({ text(body: [1]), 
                                          math.alignpoint() }, 
-                                       { text(body: [-]), 
+                                       { text(body: [−]), 
                                          text(body: [1]), 
                                          math.alignpoint() }, 
                                        { text(body: [1]), 
@@ -175,14 +276,14 @@
                                          math.alignpoint() }, 
                                        { text(body: [1]), 
                                          math.alignpoint() }, 
-                                       { text(body: [-]), 
+                                       { text(body: [−]), 
                                          text(body: [1]), 
                                          math.alignpoint() }))), 
                 numbering: none), 
   text(body: [
 ]), 
   math.equation(block: true, 
-                body: math.mat(rows: (({ text(body: [-]), 
+                body: math.mat(rows: (({ text(body: [−]), 
                                          text(body: [1]), 
                                          math.alignpoint() }, 
                                        { text(body: [1]), 
@@ -190,31 +291,31 @@
                                        { text(body: [1]), 
                                          math.alignpoint() }), 
                                       (text(body: [1]), 
-                                       { text(body: [-]), 
+                                       { text(body: [−]), 
                                          text(body: [1]) }, 
                                        text(body: [1])), 
                                       (text(body: [1]), 
                                        text(body: [1]), 
-                                       { text(body: [-]), 
+                                       { text(body: [−]), 
                                          text(body: [1]) }))), 
                 numbering: none), 
   text(body: [
 ]), 
   math.equation(block: true, 
                 body: math.mat(rows: (({ math.alignpoint(), 
-                                         text(body: [-]), 
+                                         text(body: [−]), 
                                          text(body: [1]) }, 
                                        { math.alignpoint(), 
                                          text(body: [1]) }, 
                                        { math.alignpoint(), 
                                          text(body: [1]) }), 
                                       (text(body: [1]), 
-                                       { text(body: [-]), 
+                                       { text(body: [−]), 
                                          text(body: [1]) }, 
                                        text(body: [1])), 
                                       (text(body: [1]), 
                                        text(body: [1]), 
-                                       { text(body: [-]), 
+                                       { text(body: [−]), 
                                          text(body: [1]) }))), 
                 numbering: none), 
   parbreak() }
diff --git a/test/out/math/multiline-03.out b/test/out/math/multiline-03.out
--- a/test/out/math/multiline-03.out
+++ b/test/out/math/multiline-03.out
@@ -43,10 +43,13 @@
 , Equation
     True
     [ Text "f"
-    , Text ":"
-    , Text "="
     , Code
         "test/typ/math/multiline-03.typ"
+        ( line 3 , column 5 )
+        (FieldAccess
+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))
+    , Code
+        "test/typ/math/multiline-03.typ"
         ( line 3 , column 8 )
         (FuncCall
            (Ident (Identifier "cases"))
@@ -70,8 +73,7 @@
 ]), 
   math.equation(block: true, 
                 body: { text(body: [f]), 
-                        text(body: [:]), 
-                        text(body: [=]), 
+                        text(body: [≔]), 
                         math.cases(children: ({ text(body: [1]), 
                                                 text(body: [+]), 
                                                 text(body: [2]), 
diff --git a/test/out/math/multiline-05.out b/test/out/math/multiline-05.out
--- a/test/out/math/multiline-05.out
+++ b/test/out/math/multiline-05.out
@@ -58,7 +58,10 @@
                   (Ident (Identifier "NN"))
               , HardBreak
               , Text "n"
-              , Text "\8804"
+              , Code
+                  "test/typ/math/multiline-05.typ"
+                  ( line 3 , column 20 )
+                  (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))
               , Text "5"
               ]))
         Nothing
diff --git a/test/out/math/numbering-00.out b/test/out/math/numbering-00.out
--- a/test/out/math/numbering-00.out
+++ b/test/out/math/numbering-00.out
@@ -75,8 +75,11 @@
         "test/typ/math/numbering-00.typ"
         ( line 6 , column 3 )
         (FieldAccess (Ident (Identifier "alt")) (Ident (Identifier "phi")))
-    , Text ":"
-    , Text "="
+    , Code
+        "test/typ/math/numbering-00.typ"
+        ( line 6 , column 11 )
+        (FieldAccess
+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))
     , MFrac
         (MGroup
            (Just "(")
@@ -156,8 +159,7 @@
 ]), 
   math.equation(block: true, 
                 body: { text(body: [ϕ]), 
-                        text(body: [:]), 
-                        text(body: [=]), 
+                        text(body: [≔]), 
                         math.frac(denom: text(body: [2]), 
                                   num: { text(body: [1]), 
                                          text(body: [+]), 
diff --git a/test/out/math/op-00.out b/test/out/math/op-00.out
--- a/test/out/math/op-00.out
+++ b/test/out/math/op-00.out
@@ -47,7 +47,18 @@
            (MGroup
               Nothing
               Nothing
-              [ Text "1" , Text "\8804" , Text "n" , Text "\8804" , Text "m" ]))
+              [ Text "1"
+              , Code
+                  "test/typ/math/op-00.typ"
+                  ( line 3 , column 9 )
+                  (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))
+              , Text "n"
+              , Code
+                  "test/typ/math/op-00.typ"
+                  ( line 3 , column 12 )
+                  (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "lt")))
+              , Text "m"
+              ]))
         Nothing
         (Code
            "test/typ/math/op-00.typ"
diff --git a/test/out/math/op-02.out b/test/out/math/op-02.out
--- a/test/out/math/op-02.out
+++ b/test/out/math/op-02.out
@@ -59,9 +59,12 @@
               Nothing
               Nothing
               [ Text "n"
-              , Text "\8594"
               , Code
                   "test/typ/math/op-02.typ"
+                  ( line 4 , column 16 )
+                  (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))
+              , Code
+                  "test/typ/math/op-02.typ"
                   ( line 4 , column 18 )
                   (Ident (Identifier "oo"))
               ]))
@@ -84,7 +87,10 @@
               Nothing
               Nothing
               [ Text "n"
-              , Text "\8594"
+              , Code
+                  "test/typ/math/op-02.typ"
+                  ( line 5 , column 9 )
+                  (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))
               , Code
                   "test/typ/math/op-02.typ"
                   ( line 5 , column 11 )
diff --git a/test/out/math/op-03.out b/test/out/math/op-03.out
--- a/test/out/math/op-03.out
+++ b/test/out/math/op-03.out
@@ -45,7 +45,16 @@
     [ MAttach
         (Just
            (MGroup
-              Nothing Nothing [ Text "x" , Text ":" , Text "=" , Text "1" ]))
+              Nothing
+              Nothing
+              [ Text "x"
+              , Code
+                  "test/typ/math/op-03.typ"
+                  ( line 3 , column 32 )
+                  (FieldAccess
+                     (Ident (Identifier "eq")) (Ident (Identifier "colon")))
+              , Text "1"
+              ]))
         Nothing
         (Code
            "test/typ/math/op-03.typ"
@@ -60,7 +69,16 @@
     , MAttach
         (Just
            (MGroup
-              Nothing Nothing [ Text "x" , Text ":" , Text "=" , Text "1" ]))
+              Nothing
+              Nothing
+              [ Text "x"
+              , Code
+                  "test/typ/math/op-03.typ"
+                  ( line 4 , column 31 )
+                  (FieldAccess
+                     (Ident (Identifier "eq")) (Ident (Identifier "colon")))
+              , Text "1"
+              ]))
         Nothing
         (Code
            "test/typ/math/op-03.typ"
@@ -79,8 +97,7 @@
 ]), 
   math.equation(block: true, 
                 body: { math.attach(b: { text(body: [x]), 
-                                         text(body: [:]), 
-                                         text(body: [=]), 
+                                         text(body: [≔]), 
                                          text(body: [1]) }, 
                                     base: math.op(limits: false, 
                                                   text: text(body: [myop])), 
@@ -88,8 +105,7 @@
                         text(body: [x]), 
                         linebreak(), 
                         math.attach(b: { text(body: [x]), 
-                                         text(body: [:]), 
-                                         text(body: [=]), 
+                                         text(body: [≔]), 
                                          text(body: [1]) }, 
                                     base: math.op(limits: true, 
                                                   text: text(body: [myop])), 
diff --git a/test/out/math/spacing-00.out b/test/out/math/spacing-00.out
--- a/test/out/math/spacing-00.out
+++ b/test/out/math/spacing-00.out
@@ -75,7 +75,14 @@
     , Text "<"
     , Text "\10214"
     , Text ","
-    , MGroup (Just "|") (Just "|") [ Text "-" ]
+    , MGroup
+        (Just "|")
+        (Just "|")
+        [ Code
+            "test/typ/math/spacing-00.typ"
+            ( line 5 , column 8 )
+            (Ident (Identifier "minus"))
+        ]
     , Text ","
     , MGroup (Just "[") Nothing [ Text "=" ]
     ]
@@ -95,7 +102,16 @@
 , Space
 , HardBreak
 , Equation
-    False [ Text "-" , Text "a" , Text "," , Text "+" , Text "a" ]
+    False
+    [ Code
+        "test/typ/math/spacing-00.typ"
+        ( line 7 , column 2 )
+        (Ident (Identifier "minus"))
+    , Text "a"
+    , Text ","
+    , Text "+"
+    , Text "a"
+    ]
 , Space
 , HardBreak
 , Equation
@@ -116,7 +132,10 @@
     , Text "b"
     , Text ","
     , Text "a"
-    , Text "*"
+    , Code
+        "test/typ/math/spacing-00.typ"
+        ( line 9 , column 8 )
+        (Ident (Identifier "convolve"))
     , Text "b"
     ]
 , Space
@@ -205,7 +224,7 @@
                         text(body: [⟦]), 
                         text(body: [,]), 
                         math.lr(body: ({ [|], 
-                                         text(body: [-]), 
+                                         text(body: [−]), 
                                          [|] })), 
                         text(body: [,]), 
                         text(body: [[]), 
@@ -226,7 +245,7 @@
   text(body: [ ]), 
   linebreak(), 
   math.equation(block: false, 
-                body: { text(body: [-]), 
+                body: { text(body: [−]), 
                         text(body: [a]), 
                         text(body: [,]), 
                         text(body: [+]), 
@@ -247,7 +266,7 @@
                         text(body: [b]), 
                         text(body: [,]), 
                         text(body: [a]), 
-                        text(body: [*]), 
+                        text(body: [∗]), 
                         text(body: [b]) }, 
                 numbering: none), 
   text(body: [ ]), 
diff --git a/test/out/math/spacing-02.out b/test/out/math/spacing-02.out
--- a/test/out/math/spacing-02.out
+++ b/test/out/math/spacing-02.out
@@ -87,12 +87,15 @@
 , Equation
     False
     [ Text "a"
-    , Text "-"
+    , Code
+        "test/typ/math/spacing-02.typ"
+        ( line 5 , column 4 )
+        (Ident (Identifier "minus"))
     , Text "b"
     , Code
         "test/typ/math/spacing-02.typ"
         ( line 5 , column 8 )
-        (Ident (Identifier "ident"))
+        (Ident (Identifier "equiv"))
     , Text "c"
     , Code
         "test/typ/math/spacing-02.typ"
@@ -142,7 +145,7 @@
   linebreak(), 
   math.equation(block: false, 
                 body: { text(body: [a]), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         text(body: [b]), 
                         text(body: [≡]), 
                         text(body: [c]), 
diff --git a/test/out/math/spacing-04.out b/test/out/math/spacing-04.out
--- a/test/out/math/spacing-04.out
+++ b/test/out/math/spacing-04.out
@@ -53,13 +53,22 @@
     , Code
         "test/typ/math/spacing-04.typ"
         ( line 4 , column 4 )
-        (Ident (Identifier "ident"))
+        (Ident (Identifier "equiv"))
     , Text "b"
     , Text "+"
     , Text "c"
-    , Text "-"
+    , Code
+        "test/typ/math/spacing-04.typ"
+        ( line 4 , column 16 )
+        (Ident (Identifier "minus"))
     , Text "d"
-    , Text "\8658"
+    , Code
+        "test/typ/math/spacing-04.typ"
+        ( line 4 , column 20 )
+        (FieldAccess
+           (Ident (Identifier "r"))
+           (FieldAccess
+              (Ident (Identifier "double")) (Ident (Identifier "arrow"))))
     , Text "e"
     , Code
         "test/typ/math/spacing-04.typ"
@@ -86,7 +95,7 @@
                [ Code
                    "test/typ/math/spacing-04.typ"
                    ( line 5 , column 11 )
-                   (Ident (Identifier "ident"))
+                   (Ident (Identifier "equiv"))
                ]
            ])
     , Text "b"
@@ -99,12 +108,31 @@
     , Code
         "test/typ/math/spacing-04.typ"
         ( line 5 , column 34 )
-        (FuncCall (Ident (Identifier "arrow")) [ BlockArg [ Text "-" ] ])
+        (FuncCall
+           (Ident (Identifier "arrow"))
+           [ BlockArg
+               [ Code
+                   "test/typ/math/spacing-04.typ"
+                   ( line 5 , column 40 )
+                   (Ident (Identifier "minus"))
+               ]
+           ])
     , Text "d"
     , Code
         "test/typ/math/spacing-04.typ"
         ( line 5 , column 45 )
-        (FuncCall (Ident (Identifier "hat")) [ BlockArg [ Text "\8658" ] ])
+        (FuncCall
+           (Ident (Identifier "hat"))
+           [ BlockArg
+               [ Code
+                   "test/typ/math/spacing-04.typ"
+                   ( line 5 , column 49 )
+                   (FieldAccess
+                      (Ident (Identifier "r"))
+                      (FieldAccess
+                         (Ident (Identifier "double")) (Ident (Identifier "arrow"))))
+               ]
+           ])
     , Text "e"
     , Code
         "test/typ/math/spacing-04.typ"
@@ -147,7 +175,7 @@
                [ Code
                    "test/typ/math/spacing-04.typ"
                    ( line 6 , column 14 )
-                   (Ident (Identifier "ident"))
+                   (Ident (Identifier "equiv"))
                ]
            ])
     , Text "b"
@@ -160,13 +188,31 @@
     , Code
         "test/typ/math/spacing-04.typ"
         ( line 6 , column 38 )
-        (FuncCall (Ident (Identifier "grave")) [ BlockArg [ Text "-" ] ])
+        (FuncCall
+           (Ident (Identifier "grave"))
+           [ BlockArg
+               [ Code
+                   "test/typ/math/spacing-04.typ"
+                   ( line 6 , column 44 )
+                   (Ident (Identifier "minus"))
+               ]
+           ])
     , Text "d"
     , Code
         "test/typ/math/spacing-04.typ"
         ( line 6 , column 49 )
         (FuncCall
-           (Ident (Identifier "underbracket")) [ BlockArg [ Text "\8658" ] ])
+           (Ident (Identifier "underbracket"))
+           [ BlockArg
+               [ Code
+                   "test/typ/math/spacing-04.typ"
+                   ( line 6 , column 62 )
+                   (FieldAccess
+                      (Ident (Identifier "r"))
+                      (FieldAccess
+                         (Ident (Identifier "double")) (Ident (Identifier "arrow"))))
+               ]
+           ])
     , Text "e"
     , Code
         "test/typ/math/spacing-04.typ"
@@ -210,7 +256,7 @@
                [ Code
                    "test/typ/math/spacing-04.typ"
                    ( line 8 , column 11 )
-                   (Ident (Identifier "ident"))
+                   (Ident (Identifier "equiv"))
                ]
            , KeyValArg (Identifier "tl") (Block (Content [ Text "a" ]))
            , KeyValArg (Identifier "tr") (Block (Content [ Text "b" ]))
@@ -234,13 +280,31 @@
     , Code
         "test/typ/math/spacing-04.typ"
         ( line 8 , column 66 )
-        (FuncCall (Ident (Identifier "tilde")) [ BlockArg [ Text "-" ] ])
+        (FuncCall
+           (Ident (Identifier "tilde"))
+           [ BlockArg
+               [ Code
+                   "test/typ/math/spacing-04.typ"
+                   ( line 8 , column 72 )
+                   (Ident (Identifier "minus"))
+               ]
+           ])
     , Text "d"
     , Code
         "test/typ/math/spacing-04.typ"
         ( line 8 , column 77 )
         (FuncCall
-           (Ident (Identifier "breve")) [ BlockArg [ Text "\8658" ] ])
+           (Ident (Identifier "breve"))
+           [ BlockArg
+               [ Code
+                   "test/typ/math/spacing-04.typ"
+                   ( line 8 , column 83 )
+                   (FieldAccess
+                      (Ident (Identifier "r"))
+                      (FieldAccess
+                         (Ident (Identifier "double")) (Ident (Identifier "arrow"))))
+               ]
+           ])
     , Text "e"
     , Code
         "test/typ/math/spacing-04.typ"
@@ -294,7 +358,7 @@
                         text(body: [b]), 
                         text(body: [+]), 
                         text(body: [c]), 
-                        text(body: [-]), 
+                        text(body: [−]), 
                         text(body: [d]), 
                         text(body: [⇒]), 
                         text(body: [e]), 
@@ -313,7 +377,7 @@
                         math.overline(body: text(body: [+])), 
                         text(body: [c]), 
                         math.accent(accent: →, 
-                                    base: text(body: [-])), 
+                                    base: text(body: [−])), 
                         text(body: [d]), 
                         math.accent(accent: ^, 
                                     base: text(body: [⇒])), 
@@ -334,7 +398,7 @@
                         math.underline(body: text(body: [+])), 
                         text(body: [c]), 
                         math.accent(accent: `, 
-                                    base: text(body: [-])), 
+                                    base: text(body: [−])), 
                         text(body: [d]), 
                         math.underbracket(body: text(body: [⇒])), 
                         text(body: [e]), 
@@ -360,7 +424,7 @@
                                     t: text(body: [a])), 
                         text(body: [c]), 
                         math.accent(accent: ∼, 
-                                    base: text(body: [-])), 
+                                    base: text(body: [−])), 
                         text(body: [d]), 
                         math.accent(accent: ˘, 
                                     base: text(body: [⇒])), 
diff --git a/test/out/math/style-05.out b/test/out/math/style-05.out
--- a/test/out/math/style-05.out
+++ b/test/out/math/style-05.out
@@ -54,16 +54,26 @@
 , Equation
     True
     [ Text "v"
-    , Text ":"
-    , Text "="
     , Code
         "test/typ/math/style-05.typ"
+        ( line 4 , column 5 )
+        (FieldAccess
+           (Ident (Identifier "eq")) (Ident (Identifier "colon")))
+    , Code
+        "test/typ/math/style-05.typ"
         ( line 4 , column 8 )
         (FuncCall
            (Ident (Identifier "vec"))
            [ BlockArg [ Text "1" , Text "+" , Text "2" ]
-           , BlockArg [ Text "2" , Text "-" , Text "4" ]
            , BlockArg
+               [ Text "2"
+               , Code
+                   "test/typ/math/style-05.typ"
+                   ( line 4 , column 21 )
+                   (Ident (Identifier "minus"))
+               , Text "4"
+               ]
+           , BlockArg
                [ Code
                    "test/typ/math/style-05.typ"
                    ( line 4 , column 26 )
@@ -88,13 +98,12 @@
 ]), 
   math.equation(block: true, 
                 body: { text(body: [v]), 
-                        text(body: [:]), 
-                        text(body: [=]), 
+                        text(body: [≔]), 
                         math.vec(children: ({ text(body: [1]), 
                                               text(body: [+]), 
                                               text(body: [2]) }, 
                                             { text(body: [2]), 
-                                              text(body: [-]), 
+                                              text(body: [−]), 
                                               text(body: [4]) }, 
                                             math.sqrt(radicand: text(body: [3])), 
                                             math.accent(accent: →, 
diff --git a/test/out/math/syntax-01.out b/test/out/math/syntax-01.out
--- a/test/out/math/syntax-01.out
+++ b/test/out/math/syntax-01.out
@@ -49,25 +49,36 @@
            (Ident (Identifier "underline"))
            [ BlockArg
                [ Text "f"
-               , Text "\8242"
+               , Code
+                   "test/typ/math/syntax-01.typ"
+                   ( line 3 , column 14 )
+                   (Ident (Identifier "prime"))
                , Text ":"
                , Code
                    "test/typ/math/syntax-01.typ"
                    ( line 3 , column 18 )
                    (Ident (Identifier "NN"))
-               , Text "\8594"
                , Code
                    "test/typ/math/syntax-01.typ"
+                   ( line 3 , column 21 )
+                   (FieldAccess (Ident (Identifier "r")) (Ident (Identifier "arrow")))
+               , Code
+                   "test/typ/math/syntax-01.typ"
                    ( line 3 , column 24 )
                    (Ident (Identifier "RR"))
                ]
            ])
     , HardBreak
     , Text "n"
-    , Text "|"
-    , Text "\8594"
     , Code
         "test/typ/math/syntax-01.typ"
+        ( line 4 , column 5 )
+        (FieldAccess
+           (Ident (Identifier "r"))
+           (FieldAccess
+              (Ident (Identifier "bar")) (Ident (Identifier "arrow"))))
+    , Code
+        "test/typ/math/syntax-01.typ"
         ( line 4 , column 9 )
         (FuncCall
            (Ident (Identifier "cases"))
@@ -77,31 +88,45 @@
                , MAlignPoint
                , Text "if "
                , Text "n"
-               , Text ">"
-               , Text ">"
-               , Text ">"
+               , Code
+                   "test/typ/math/syntax-01.typ"
+                   ( line 5 , column 19 )
+                   (FieldAccess
+                      (Ident (Identifier "triple")) (Ident (Identifier "gt")))
                , Text "10"
                ]
            , BlockArg
                [ Text "2"
-               , Text "*"
+               , Code
+                   "test/typ/math/syntax-01.typ"
+                   ( line 6 , column 7 )
+                   (Ident (Identifier "convolve"))
                , Text "3"
                , MAlignPoint
                , Text "if "
                , Text "n"
-               , Text "\8800"
+               , Code
+                   "test/typ/math/syntax-01.typ"
+                   ( line 6 , column 19 )
+                   (FieldAccess (Ident (Identifier "not")) (Ident (Identifier "eq")))
                , Text "5"
                ]
            , BlockArg
                [ Text "1"
-               , Text "-"
+               , Code
+                   "test/typ/math/syntax-01.typ"
+                   ( line 7 , column 7 )
+                   (Ident (Identifier "minus"))
                , Text "0"
                , Code
                    "test/typ/math/syntax-01.typ"
                    ( line 7 , column 11 )
                    (Ident (Identifier "thick"))
                , MAlignPoint
-               , Text "\8230"
+               , Code
+                   "test/typ/math/syntax-01.typ"
+                   ( line 7 , column 18 )
+                   (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))
                ]
            ])
     ]
@@ -119,8 +144,7 @@
                                                text(body: [ℝ]) }), 
                         linebreak(), 
                         text(body: [n]), 
-                        text(body: [|]), 
-                        text(body: [→]), 
+                        text(body: [↦]), 
                         math.cases(children: ({ math.lr(body: ({ [[], 
                                                                  math.lr(body: ({ [|], 
                                                                                   text(body: [1]), 
@@ -129,12 +153,10 @@
                                                 math.alignpoint(), 
                                                 text(body: [if ]), 
                                                 text(body: [n]), 
-                                                text(body: [>]), 
-                                                text(body: [>]), 
-                                                text(body: [>]), 
+                                                text(body: [⋙]), 
                                                 text(body: [10]) }, 
                                               { text(body: [2]), 
-                                                text(body: [*]), 
+                                                text(body: [∗]), 
                                                 text(body: [3]), 
                                                 math.alignpoint(), 
                                                 text(body: [if ]), 
@@ -142,7 +164,7 @@
                                                 text(body: [≠]), 
                                                 text(body: [5]) }, 
                                               { text(body: [1]), 
-                                                text(body: [-]), 
+                                                text(body: [−]), 
                                                 text(body: [0]), 
                                                 text(body: [ ]), 
                                                 math.alignpoint(), 
diff --git a/test/out/math/underover-00.out b/test/out/math/underover-00.out
--- a/test/out/math/underover-00.out
+++ b/test/out/math/underover-00.out
@@ -54,7 +54,10 @@
                , Text "+"
                , Text "2"
                , Text "+"
-               , Text "\8230"
+               , Code
+                   "test/typ/math/underover-00.typ"
+                   ( line 4 , column 11 )
+                   (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))
                , Text "+"
                , Text "5"
                ]
diff --git a/test/out/math/underover-01.out b/test/out/math/underover-01.out
--- a/test/out/math/underover-01.out
+++ b/test/out/math/underover-01.out
@@ -70,7 +70,10 @@
                , Text "+"
                , Text "2"
                , Text "+"
-               , Text "\8230"
+               , Code
+                   "test/typ/math/underover-01.typ"
+                   ( line 5 , column 11 )
+                   (FieldAccess (Ident (Identifier "h")) (Ident (Identifier "dots")))
                , Text "+"
                , Text "5"
                ]
diff --git a/test/typ/math/spacing-02.typ b/test/typ/math/spacing-02.typ
--- a/test/typ/math/spacing-02.typ
+++ b/test/typ/math/spacing-02.typ
@@ -1,5 +1,5 @@
 // Test predefined spacings.
 $a thin b, a med b, a thick b, a quad b$ \
 $a = thin b$ \
-$a - b ident c quad (mod 2)$
+$a - b equiv c quad (mod 2)$
 
diff --git a/test/typ/math/spacing-04.typ b/test/typ/math/spacing-04.typ
--- a/test/typ/math/spacing-04.typ
+++ b/test/typ/math/spacing-04.typ
@@ -1,7 +1,7 @@
 // Test spacing for operators with decorations and modifiers on them
 #set page(width: auto)
-$a ident b + c - d => e log 5 op("ln") 6$ \
-$a cancel(ident) b overline(+) c arrow(-) d hat(=>) e cancel(log) 5 dot(op("ln")) 6$ \
-$a overbrace(ident) b underline(+) c grave(-) d underbracket(=>) e circle(log) 5 caron(op("ln")) 6$ \
+$a equiv b + c - d => e log 5 op("ln") 6$ \
+$a cancel(equiv) b overline(+) c arrow(-) d hat(=>) e cancel(log) 5 dot(op("ln")) 6$ \
+$a overbrace(equiv) b underline(+) c grave(-) d underbracket(=>) e circle(log) 5 caron(op("ln")) 6$ \
 \
-$a attach(ident, tl: a, tr: b) b attach(limits(+), t: a, b: b) c tilde(-) d breve(=>) e attach(limits(log), t: a, b: b) 5 attach(op("ln"), tr: a, bl: b) 6$
+$a attach(equiv, tl: a, tr: b) b attach(limits(+), t: a, b: b) c tilde(-) d breve(=>) e attach(limits(log), t: a, b: b) 5 attach(op("ln"), tr: a, bl: b) 6$
diff --git a/typst.cabal b/typst.cabal
--- a/typst.cabal
+++ b/typst.cabal
@@ -1,10 +1,10 @@
 cabal-version:      2.4
 name:               typst
-version:            0.3.1.0
+version:            0.3.2.0
 synopsis:           Parsing and evaluating typst syntax.
 description:        A library for parsing and evaluating typst syntax.
                     Typst (<https://typst.app>) is a document layout and
-                    formatting language. This library targets typst 0.6
+                    formatting language. This library targets typst 0.7
                     and currently offers only partial support.
 license:            BSD-3-Clause
 license-file:       LICENSE
@@ -52,10 +52,11 @@
                       Typst.Module.Standard
                       Typst.Module.Math
                       Typst.Module.Calc
+                      Typst.MathClass
 
     -- other-extensions:
     build-depends:    base >= 4.14 && <= 5,
-                      typst-symbols >= 0.1.2 && < 0.2,
+                      typst-symbols >= 0.1.4 && < 0.1.5,
                       mtl,
                       vector,
                       parsec,
@@ -70,7 +71,7 @@
                       scientific,
                       xml-conduit,
                       yaml,
-                      toml-parser ^>= 1.2.0.0,
+                      toml-parser ^>= 1.3.0.0,
                       regex-tdfa,
                       array,
                       time,
