---
# UEB characters
#
# Some chars that originally came from an Excel spreadsheet, converted to csv, and the greatly expanded
# 
# The UEB translation makes use of some non-braille chars as flags
#    L -- what follows is a letter
#    N -- what follows is a digit
#    C -- precedes L for capital letters
#    G -- precedes L for Greek Letters (after C for capitals)
#  Typeface Indicators ("typeforms")
#    B bold, I Italic, S Sans-serif, T script, D, Fraktur, 𝔹 blackboard-bold
#    the type face indicators can be combined with B (first) and I (second)
#  Standing alone chars:
#    Any character which acts as a standing alone character (e.g, "{") needs each braille symbol to be labeled
#    o -- opening/left side, c -- closing/right side, b -- both open and close (e.g, '"')

 
 - "=": [t: "⠐⠶"]               # 0x003D (Equals)
 - "≠": [t: "⠐⠶⠈⠱"]             # 0x2260 (Not equal)
 - "<": [t: "⠈⠣"]               # 0x003C (Less than)
 - "≤": [t: "⠸⠈⠣"]              # 0x2264 (Less than or equal to)
 - ">": [t: "⠈⠜"]               # 0x003E (Greater than)
 - "≣": [t: "⠈⠸⠠⠤"]            # 0x2263
 - "≥": [t: "⠸⠈⠜"]              # 0x2265 (Greater than or equal to)
 - "≪": [t: "⠨⠈⠣"]              # 0x226A (Much less than)
 - "≫": [t: "⠨⠈⠜"]              # 0x226B (Much greater than)
 - "≮": [t: "⠈⠣⠈⠱"]             # 0x226E (Not less than)
 - "≯": [t: "⠈⠜⠈⠱"]             # 0x226F (Not greater than)
 - "≰": [t: "⠸⠈⠣⠈⠱"]            # 0x2270 (Neither less than nor equal to)
 - "≱": [t: "⠸⠈⠜⠈⠱"]            # 0x2271 (Neither greater than nor equal to)
 - "∝": [t: "⠸⠐⠶"]              # 0x221D (Proportional to)
 - "≃": [t: "⠸⠔"]               # 0x2243 (Approximately equal to (tilde over horizontal line))
 - "≅": [t: "⠐⠸⠔"]               # 0x2245 (Approximately equal to (tilde over equals sign))
 - "≈": [t: "⠘⠔"]               # 0x2248 (Approximately equal (tilde over tilde))
 - "≏": [t: "⠘⠐⠶"]              # 0x224F (Equals with bump in top bar (difference between))
 - "≑": [t: "⠨⠐⠶"]              # 0x2251 (Geometrically equal to (equals dotted above and below))
 - "≟": [t: "𝟙⠦⠻⠐⠶"]           # 0x225F (Questioned equal to)
 - "≡": [t: "⠸⠿"]               # 0x2261 (Equivalent to (three horizontal lines))
 - "≢": [t: "⠸⠿⠈⠱"]             # 0x2262 (Not identical to)
 - "∈": [t: "⠘⠑"]               # 0x2208 (Element of (member of))
 - "∉": [t: "⠘⠑⠈⠱"]            # 0x2209 (Not Element of)
 - "+": [t: "⠐⠖"]               # 0x002B (Plus sign)
 - "∋": [t: "⠈⠘⠑"]              # 0x220B (Contains)
 - "⊂": [t: "⠘⠣"]              # 0x2282 (Subset of)
 - "⊃": [t: "⠘⠜"]              # 0x2283 (Superset of)
 - "⊆": [t: "⠸⠘⠣"]             # 0x2286 (Subset of or equal)
 - "⊇": [t: "⠸⠘⠜"]             # 0x2287 (Superset of or equal)
 - "⊊": [t: "⠨⠘⠣"]             # 0x228A (Subset of with not equal)
 - "⊋": [t: "⠨⠘⠜"]             # 0x228B (Superset of with not equal)
 - "⊲": [t: "⠈⠸⠣"]             # 0x22B2 (Normal subgroup of)
 - "⊳": [t: "⠈⠸⠜"]             # 0x22B3 (Contains as normal subgroup)
 - "⊴": [t: "⠸⠸⠣"]             # 0x22B4 (Normal subgroup of or equal)
 - "⊵": [t: "⠸⠸⠜"]             # 0x22B5 (Contains as normal subgroup or equal)
 - "⊻": [t: "𝟙⠈⠖⠠⠱"]           # 0x22bb (Xor)
 - "⋬": [t: "⠨⠸⠣"]             # 0x22EC (not normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
 - "⋭": [t: "⠨⠸⠣"]             # 0x22ED (does not contain as normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
 - "⊢": [t: "⠸⠒"]               # 0x22a2 (Right tack)
 - "⊣": [t: "⠈⠸⠒"]              # 0x22a3 (Left tack)
 - "−": [t: "⠐⠤"]               # 0x2212 (Minus sign)
 - "·": [t: "⠐⠲"]               # 0x00B7 (Multiplication dot (times))
 - "×": [t: "⠐⠦"]               # 0x00D7 (Multiplication sign (times))
 - "÷": [t: "⠐⠌"]               # 0x00F7 (Division sign (divided by))
 - "±": [t: "⠸⠖"]               # 0x00B1 (Plus or minus)
 - "∓": [t: "⠸⠤"]               # 0x2213 (Minus or plus)
 - "∗": [t: "⠐⠔"]               # 0x2217 (Asterisk operator)
 - "∘": [t: "⠐⠴"]               # 0x2218 (Ring operator)
 - "◦": [t: "⠐⠴"]               # 0x25E6 (White bullet)
 - "∼": [t: "⠈⠔"]               # 0x223C (Tilde operator)
 - "⋅": [t: "⠐⠲"]               # 0x22C5 (Dot operator)
 - "∧": [t: "⠈⠦"]               # 0x2227 (Logical and)
 - "∨": [t: "⠈⠖"]               # 0x2228 (Logical or)
 - "∩": [t: "⠨⠦"]               # 0x2229 (Intersection)
 - "∪": [t: "⠨⠖"]               # 0x222A (Union)
 - "∖": [t: "⠸⠡"]               # 0x2216 (Set minus)
 - "(": [t: "o⠐o⠣"]               # 0x0028 (Left parenthesis)
 - ")": [t: "c⠐c⠜"]               # 0x0029 (Right parenthesis)
 - "[": [t: "o⠨o⠣"]               # 0x005B (Left square bracket)
 - "]": [t: "c⠨c⠜"]               # 0x005D (Right square bracket)
 - "{": [t: "o⠸o⠣"]               # 0x007B (Left curly bracket)
 - "}": [t: "c⠸c⠜"]               # 0x007D (Right curly bracket)
 - "〈": [t: "o⠈⠣"]               # 0x2329 (Left angle bracket)
 - "〉": [t: "c⠈⠜"]               # 0x232A (Right angle bracket)
 - "⟨": [t: "o⠈⠣"]               # 0x27E8 (Left angle bracket)
 - "⟩": [t: "c⠈⠜"]               # 0x27E9 (Right angle bracket)
 - "|":                # 0x007C (Vertical line)
    - test:
        if: "preceding-sibling::* and following-sibling::*"
        then: [t: "W⠸⠳W"]        # comparison (e.g., such that -- rule 145)
        else: [t: "⠸⠳"]          # absolute value, others???
 - "!": [t: "c⠖"]                # 0x21 (Exclamation (factorial))
 - "#": [t: "⠸⠹"]               # 0x23 (Number sign (hash))
 - "%": [t: "⠨⠴"]               # 0x25 (Percent sign)
 - "&": [t: "⠈⠯"]               # 0x26 (Ampersand)
 - "*": [t: "⠐⠔"]               # 0x002A (Asterisk)
 - "/": [t: "⠸⠌"]               # 0x002F (Solidus (slash))
 - ";": [t: "1c⠆"]               # 0x003B (Semicolon)
 - "?": [t: "1c⠦"]               # 0x003F (Question mark)
 - "@": [t: "⠈⠁"]               # 0x0040 (Commercial at sign)
 - "\\": [t: "⠸⠡"]              # 0x005C (Backslash)
 - "^": [t: "⠈⠢"]               # 0x005E (Caret (hat, up arrow))
 - "_": [t: "⠨⠤"]               # 0x005F (Low line (underscore))
 - "~": [t: "⠈⠔"]               # 0x007E (Tilde (swung dash))
 - "¢": [t: "⠈⠉"]               # 0x00A2 (Cents sign)
 - "‐": [t: "⠤"]                # 0x2010 (Hyphen)
 - "–": [t: "⠠⠤"]               # 0x2013 (En Dash)
 - "―": [t: "⠐⠠⠤"]              # 0x2015 (Horizontal Bar)
 - "‖": [t: "⠸⠳"]               # 0x2016
 - "€": [t: "⠈⠑"]               # 0x20AC (Euro sign)
 - "₣": [t: "⠈⠋"]               # 0x20A3 (French franc sign)
 - "£": [t: "⠈⠇"]               # 0x00A3 (Pound sign)
 - "₦": [t: "⠈⠝"]               # 0x20A6 (Naira sign)
 - "$": [t: "⠈⠎"]               # 0x0024 (Dollar sign)
 - "¥": [t: "⠈⠽"]               # 0x00A5 (Yen sign)
 - "¦": [t: "⠨⠳"]               # 0x00A6 (Broken bar)
 - "¬": [t: "⠈⠹"]               # 0x00AC (Not sign)
 - "°": [t: "⠘⠚"]               # 0x00B0 (Degree sign)
 - "†": [t: "⠈⠠⠹"]              # 0x2020 (Dagger)
 - "‡": [t: "⠈⠠⠻"]              # 0x2021 (Double dagger)
 - "…": [t: "c⠲c⠲c⠲"]              # 0x2026 (Ellipsis)
 - "′": [t: "1⠶"]                # 0x2032 (Prime sign)
 - "″": [t: "1⠶⠶"]               # 0x2033 (Double prime sign)
 - "‴": [t: "1⠶⠶⠶"]              # 0x2034 (Triple prime sign)
 - "℃": [t: "⠘⠚⠠⠉"]             # 0x2103 (Degrees Celsius)
 - "℉": [t: "⠘⠚⠠⠋"]             # 0x2109 (Degrees Fahrenheit)
 - "Å": [t: "⠠⠘⠫⠁"]             # 0x212B (Angstrom symbol)
 - "Å": [t: "⠠⠘⠫⠁"]             # 0x00C5 (WIRIS uses this for Angstrom)
 - "∀": [t: "⠘⠁"]               # 0x2200 (For all)
 - "∂": [t: "⠈⠙"]               # 0x2202 (Partial differential)
 - "∃": [t: "⠘⠢"]               # 0x2203 (There exists)
 - "∄": [t: "⠘⠢⠈⠱"]             # 0x2204 (There does not exist)
 - "∅": [t: "⠈⠚"]               # 0x2205 (Empty set)
 - "∇": [t: "⠘⠙"]               # 0x2207 (Nabla (del, inverted capital delta))
 - "∎": [t: "⠸⠫⠼⠙t"]            # 0x220E (End of proof)
 - "√": [t: "⠐⠩"]               # 0x221A (Square root (radical) without vinculum)
 - "∞": [t: "⠼⠿"]               # 0x221E (Infinity)
 - "∠": [t: "⠸⠪"]               # 0x2220 (Angle)
 - "∡": [t: "⠨⠸⠪"]              # 0x2221 (Measured angle)
 - "⊾": [t: "⠼⠸⠪"]              # 0x22BE (Right angle with arc)
 - "∫": [t: "1⠮"]               # 0x222B (Integral)
 - "∮": [t: "⠈⠮"]               # 0x222E (Contour integral (closed line integral))
 - "∴": [t: "1⠠⠡"]               # 0x2234 (Therefore)
 - "∵": [t: "⠈⠌"]               # 0x2235 (Because (since))
 - "∶": [t: "⠒"]               # 0x2236 (Ratio)
 - "∷": [t: "⠒⠒"]              # 0x2237 (Proportion)
 - "∣": [t: "⠸⠳"]               # 0x2223 (Divides)
 - "∤": [t: "⠸⠳⠈⠱"]             # 0x2224 (Does not divide)
 - "∥": [t: "⠼⠇"]               # 0x2225 (Parallel)
 - "∦": [t: "⠼⠇⠈⠱"]             # 0x2226 (Not parallel)
 - "⟂": [t: "⠼⠤"]               # 0x27C2 (Perpendicular)
 - "⊥": [t: "⠼⠤"]               # 0x22A5 (Up tack (perpendicular))
 - "⊦": [t: "⠸⠒"]               # 0x22A6 (Assertion (is a theorem))
 - "⊨": [t: "⠘⠸⠒"]              # 0x22A8 (TRUE (is valid))
 - "⊬": [t: "⠸⠒⠈⠱"]             # 0x22AC (Does not prove)
 - "⊭": [t: "⠘⠸⠒⠈⠱"]            # 0x22AD (Not TRUE)
 - "⫅": [t: "⠘⠣⠰⠻⠐⠶"]         # 0x2AC5 (Subset above equals)
 - "⫆": [t: "⠘⠜⠰⠻⠐⠶"]         # 0x2AC6 (Superset above equals)
 - "⫤": [t: "⠨⠸⠒"]              # 0x2AE4 (Vertical bar double left turnstile)
 - "⬠": [t: "1⠫⠼⠑t"]            # 0x2B20 (White Pentagon)
 - "⬡": [t: "1⠫⠼⠋t"]            # 0x2B21 (White Hexagon)
 - "✓": [t: "⠈⠩"]               # 0x2713 (Check mark (tick))
 - "⦵": [t: "⠨⠚"]               # 0x29B5 (Plimsoll sign)
 - "⮖": [t: "1⠐⠠⠤⠯⠫⠿"]          # 0x2B96 (MEDIUM SMALL WHITE CIRCLE WITH HORIZONTAL BAR (standard state))
 - "←": [t: "1⠳⠪"]              # 0x2190 (Leftwards arrow)
 - "↑": [t: "1⠳⠬"]              # 0x2191 (Upwards arrow)
 - "→": [t: "1⠳⠕"]              # 0x2192 (Rightwards arrow)
 - "↓": [t: "1⠳⠩"]              # 0x2193 (Downwards arrow)
 - "↔": [t: "1⠳⠺⠗⠕"]            # 0x2194 (Left right arrow)
 - "↕": [t: "1⠳⠺⠗⠬"]            # 0x2195 (Up down arrow)
 - "↖": [t: "1⠳⠱"]              # 0x2196 (Northwest arrow)
 - "↗": [t: "1⠳⠎"]              # 0x2197 (Northeast arrow)
 - "↘": [t: "1⠳⠣"]              # 0x2198 (Southeast arrow)
 - "↙": [t: "1⠳⠜"]              # 0x2199 (Southwest arrow)
 - "↚": [t: "1⠳⠪⠈⠱"]            # 0x219A (Leftwards arrow with stroke)
 - "↛": [t: "1⠳⠕⠈⠱"]            # 0x219B (Rightwards arrow with stroke)
 - "↜": [t: "1⠳⠔⠢⠪"]            # 0x219C (Leftwards wave arrow)
 - "↝": [t: "1⠳⠢⠔⠕"]            # 0x219D (Rightwards wave arrow)
 - "↞": [t: "1⠳⠒⠗⠗⠪"]           # 0x219E (Leftwards two headed arrow)
 - "↟": [t: "1⠳⠒⠗⠗⠬"]           # 0x219F (Upwards two headed arrow)
 - "↠": [t: "1⠳⠒⠗⠗⠕"]           # 0x21A0 (Rightwards two headed arrow)
 - "↡": [t: "1⠳⠒⠗⠗⠩"]           # 0x21A1 (Downwards two headed arrow)
 - "↢": [t: "1⠳⠗⠗⠪"]            # 0x21A2 (Leftwards arrow with tail)
 - "↣": [t: "1⠳⠗⠗⠕"]            # 0x21A3 (Rightwards arrow with tail)
 - "↤": [t: "1⠳⠳⠗⠪"]            # 0x21A4 (Leftwards arrow from bar)
 - "↥": [t: "1⠳⠳⠗⠬"]            # 0x21A5 (Upwards arrow from bar)
 - "↦": [t: "1⠳⠳⠗⠕"]            # 0x21A6 (Rightwards arrow from bar)
 - "↧": [t: "1⠳⠳⠗⠩"]            # 0x21A7 (Downwards arrow from bar)
 - "↭": [t: "1⠳⠺⠔⠢⠗⠕"]          # 0x21AD (Left right wave arrow)
 - "↮": [t: "1⠳⠺⠗⠕⠈⠱"]          # 0x21AE (Left right arrow with stroke)
 - "↰": [t: "1⠳⠴⠬"]             # 0x21B0 (Upwards arrow with tip left)
 - "↱": [t: "1⠳⠲⠬"]             # 0x21B1 (Upwards arrow with tip right)
 - "↲": [t: "1⠳⠲⠩"]             # 0x21B2 (Downwards arrow with tip left)
 - "↳": [t: "1⠳⠴⠩"]             # 0x21B3 (Downwards arrow with tip right)
 - "↶": [t: "1⠳⠔⠔⠪"]            # 0x21B6 (Anticlockwise top semicircle arrow)
 - "↷": [t: "1⠳⠢⠢⠕"]            # 0x21B7 (Clockwise top semicircle arrow)
 - "↼": [t: "1⠳⠈⠗⠪"]            # 0x21BC (Leftwards harpoon with barb upwards)
 - "↽": [t: "1⠳⠠⠗⠪"]            # 0x21BD (Leftwards harpoon with barb downwards)
 - "↾": [t: "1⠳⠠⠗⠬"]            # 0x21BE (Upwards harpoon with barb rightwards)
 - "↿": [t: "1⠳⠈⠗⠬"]            # 0x21BF (Upwards harpoon with barb leftwards)
 - "⇀": [t: "1⠳⠈⠗⠕"]            # 0x21C0 (Rightwards harpoon with barb upwards)
 - "⇁": [t: "1⠳⠠⠗⠕"]            # 0x21C1 (Rightwards harpoon with barb downwards)
 - "⇂": [t: "1⠳⠈⠗⠩"]            # 0x21C2 (Downwards harpoon with barb rightwards)
 - "⇃": [t: "1⠳⠠⠗⠩"]            # 0x21C3 (Downwards harpoon with barb leftwards)
 - "⇄": [t: "1⠳⠕⠻⠳⠪"]           # 0x21C4 (Rightwards arrow over leftwards arrow)
 - "⇅": [t: "1⠳⠬⠿⠳⠩"]           # 0x21C5 (Upwards arrow left of Downwards arrow)
 - "⇌": [t: "1⠘⠸⠶"]              # 0x21CC (Rightwards harpoon over leftwards harpoon (equilibrium))
 - "⇐": [t: "1⠳⠶⠪"]             # 0x21D0 (Leftwards double arrow)
 - "⇑": [t: "1⠳⠶⠬"]             # 0x21D1 (Upwards double arrow)
 - "⇒": [t: "1⠳⠶⠕"]             # 0x21D2 (Rightwards double arrow)
 - "⇓": [t: "1⠳⠶⠩"]             # 0x21D3 (Downwards double arrow)
 - "⇔": [t: "1⠳⠺⠶⠗⠕"]           # 0x21D4 (Left right double arrow)
 - "⇕": [t: "1⠳⠺⠶⠗⠬"]           # 0x21D5 (Up down double arrow)
 - "⇠": [t: "1⠳⠂⠪"]             # 0x21E0 (Leftwards dashed arrow)
 - "⇡": [t: "1⠳⠂⠬"]             # 0x21E1 (Upwards dashed arrow)
 - "⇢": [t: "1⠳⠂⠕"]             # 0x21E2 (Rightwards dashed arrow)
 - "⇣": [t: "1⠳⠂⠩"]             # 0x21E3 (Downwards dashed arrow)
 - "⟵": [t: "1⠳⠒⠒⠒⠪"]           # 0x27F5 (Long leftwards arrow)
 - "⟶": [t: "1⠳⠒⠒⠒⠕"]           # 0x27F6 (Long rightwards arrow)
 - "⥂": [t: "1⠸⠶"]               # 0x2942 (Rightwards arrow above short leftwards arrow (equilibrium, trend to the right))
 - "⥄": [t: "1⠈⠸⠶"]              # 0x2944 (Short rightwards arrow above leftwards arrow (equilibrium, trend to the left))

# Mappings for some new Unicode chemistry arrows/symbols
# These repeat the short arrow version because that is what is in the spec (GTM 16), but the spec should really use the long version
 - "🣑": [t: "1⠘⠸⠶"]               # 0x1F8D1 LONG RIGHTWARDS HARPOON OVER LONG LEFTWARDS HARPOON (equilibrium)
 - "🣒": [t: "1⠐⠸⠶"]               # 0x1f8d2 LONG RIGHTWARDS HARPOON ABOVE SHORT LEFTWARDS HARPOON(equilibrium, trend to the right)
 - "🣓": [t: "1⠈⠸⠶"]                # 0x1f8d3 SHORT RIGHTWARDS HARPOON ABOVE LONG LEFTWARDS HARPOON (equilibrium, trend to the left))
 
# These need to be verified -- 0x1f8d1, 0x1f8d2, and 0x1f8d3 conflict with GTM 16 (uses short arrow when really should be long)
 - "🣐": [t: "1⠳⠒⠒⠒⠕⠻⠳⠒⠒⠒⠪"]           # 0x1F8D0 LONG RIGHTWARDS ARROW OVER LONG LEFTWARDS ARROW
 - "🣕": [t: "1⠳⠒⠈⠗⠪⠻⠳⠒⠒⠒⠠⠗⠕"]         # 0x1F8D5 SHORT LEFTWARDS HARPOON ABOVELONG RIGHTWARDS HARPOON
 - "🣖": [t: "1⠳⠒⠒⠒⠕⠯⠠⠭"]                # 0x1F8D6 LONG RIGHTWARDS ARROW WITH THROUGH X
 - "🣗": [t: "1⠳⠒⠒⠒⠕⠯⠣⠸⠌⠸⠌⠜"]          # 0x1F8D7 LONG RIGHTWARDS ARROW WITH DOUBLE SLASH
#  - "": [t: ""]                  # 0x1F8D8 LONG LEFT RIGHT ARROW WITH DEPENDENT LOBE (no clue what to do)

 - "△": [t: "1⠫⠼⠉t"]            # 0x25B3 (Triangle)
 - "▫": [t: "1⠫⠼⠙t"]             # 0x25AB (Small white Square)
 - "□": [t: "1⠫⠼⠙t"]            # 0x25A1 (Square)
 - "◻": [t: "1⠫⠼⠙t"]            # 0x25FB (Square)
 - "▤": [t: "⠨⠫⠼⠙t"]            # 0x25A4 (Square with horizontal fill)
 - "▥": [t: "⠨⠫⠼⠙t"]            # 0x25A5 (Square with vertical fill)
 - "▦": [t: "⠨⠫⠼⠙t"]            # 0x25A6 (Square with orthogonal crosshatch fill)
 - "▧": [t: "⠨⠫⠼⠙t"]            # 0x25A7 (Square with upper left to lower right fill)
 - "▨": [t: "⠨⠫⠼⠙t"]            # 0x25A8 (Square with upper right to lower left fill)
 - "▩": [t: "⠨⠫⠼⠙t"]            # 0x25A9 (Square with diagonal crosshatch fill)
 - "○": [t: "1⠫⠿t"]             # 0x25CB (Circle)
 - "◍": [t: "⠨⠫⠿t"]             # 0x25CD (Circle with vertical fill)
 - "▱": [t: "1⠫⠈⠼⠙t"]           # 0x25B1 (Parallelogram)
 - "▲": [t: "⠸⠫⠼⠉t"]            # 0x25B2 (Filled triangle)
 - "■": [t: "⠸⠫⠼⠙t"]            # 0x25A0 (Filled square)
 - "≜": [t: "⠠⠨⠙⠻⠐⠶"]           # 0x225C (Delta equal to)
 - "≝": [t: "1⠣⠙⠑⠋⠜⠻⠐⠶"]        # 0x225D (Equal to by definition)
 - "⊕": [t: "1⠫⠿⠪⠐⠖t"]          # 0x2295 (Circled plus)
 - "⊖": [t: "1⠫⠿⠪⠐⠤t"]          # 0x2296 (Circled minus)
 - "⊗": [t: "1⠫⠿⠪⠐⠦t"]          # 0x2297 (Circled times)
 - "⊛": [t: "1⠫⠿⠪⠐⠔t"]          # 0x229B (Circled asterisk operator)
 - "⊞": [t: "1⠫⠼⠙⠪⠐⠖t"]         # 0x229E (Squared plus)
 - "⊟": [t: "1⠫⠼⠙⠪⠐⠤t"]         # 0x229F (Squared minus)
 - "⊠": [t: "1⠫⠼⠙⠪⠐⠦t"]         # 0x22A0 (Squared times)
 - "˙": [t: "1⠲"]               # 0x02D9 ( Dot Above)
 - "¨": [t: "1⠲⠲"]              # 0x00A8 ( Diaeresis/Double Dot Above )
 - "©": [t: "⠘⠉"]               # 0xa9 (Copyright)


 - "\"": [t: "b⠠b⠶"]
 - "'": [t: "b⠄"]
 - "“": [t: "o⠘o⠦"]
 - "”": [t: "c⠘c⠴"]
 - "‘": [t: "o⠠o⠦"]
 - "’": [t: "c⠠c⠴"]
 - "«": [t: "o⠸o⠦"]
 - "»": [t: "c⠸c⠴"]

 - " ":                        # 0x20 (Space)
     - test:
        if: "self::m:mn"
        then: [t: "N⠐"]
        else: [t: "W"]
 - " ":                        # 0xa0 (Non-breaking Space)
     - test:
        - if: "self::m:mn"
          then: [t: "N⠐"]
        - else_if: "@data-added='missing-content' or @data-empty-in-2D or @width > 1.1"
          then: [t: "⠬"]       # omission
        - else_if: "@width < 0.25"
          then: [t: ""]       # tweaking space -- ignore
          else: [t: "W"]      # space in text or wide enough space
 - ",":                        # 0x2c (Comma)
     - test:
        if: "self::m:mn"
        then: [t: "N⠂"]
        else: [t: "c,W"]
 - ".":                        # 0x2e (Period)
     - test:
        if: "self::m:mn"
        then: [t: "N⠲"]
        else: [t: "c."]
 - ":":                         # 0x003A (Colon)
        # We can't normally tell spacing, but it *should* have a space in function mapping and set builder notation if the author used appropriate notation
        # The canonicalization code makes this guess and adds "data-space-after"
    - test:
        if: "@data-space-after or (../self::m:mrow and ancestor::*[2][IsBracketed(., '{', '}')]) or following-sibling::*[1]/*[2][IsInDefinition(., 'Braille', 'Arrows')]" # "Arrows" is a bit broad...
        then: [t: "1⠒W"]
        else: [t: "1c⠒"]

 - "-":                        # 0x2d (Minus sign or hyphen)
     - test:
        if: "self::m:mo"
        then: [t: "⠐⠤"]
        else: [t: "⠤"]

 - "⁡":                          # 0x2061⁡ (invisible function apply)
    - test:
        if:
        - "preceding-sibling::*[1][self::m:mi and substring(., string-length(.), 1)!=' '] and " # avoid scripted function names and one that end with spaces
        - "following-sibling::*[1][self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = '']" # GTM 9.3.2
        then: [t: "W"]
        else: [t: ""]

 - "⁢":                         # 0x2062 (invisible times)
    - test:
        if: # GTM 9.3.3 (not very clear in rule, but the function name has to start with a lower case latin char ['no indicators'])
        - "parent::m:mrow and "
        - "preceding-sibling::*[1]["
        - "           (self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '') or "
        - "           (self::m:mrow and translate(*[last()], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '')] and"
        - "  following::*[1][self::m:mrow and count(*)=3 and "   # look for function apply
        - "     *[2][.='⁡'] and *[1][self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = '']]" 
        then: [t: "W"]
        else: [t: ""]
 - "⁣": [t: ""]                 # 0x2063⁡ (invisible separator)
 - "⁤": [t: ""]                 # 0x2064 (invisible plus)
 - "0": [t: "N⠚"]               # 0x30 
 - "1": [t: "N⠁"]               # 0x31 
 - "2": [t: "N⠃"]               # 0x32 
 - "3": [t: "N⠉"]               # 0x33 
 - "4": [t: "N⠙"]               # 0x34 
 - "5": [t: "N⠑"]               # 0x35 
 - "6": [t: "N⠋"]               # 0x36 
 - "7": [t: "N⠛"]               # 0x37 
 - "8": [t: "N⠓"]               # 0x38 
 - "9": [t: "N⠊"]               # 0x39 

 - "a": [t: "L⠁"]               # 0x61 
 - "b": [t: "L⠃"]               # 0x62 
 - "c": [t: "L⠉"]               # 0x63 
 - "d": [t: "L⠙"]               # 0x64 
 - "e": [t: "L⠑"]               # 0x65 
 - "f": [t: "L⠋"]               # 0x66 
 - "g": [t: "L⠛"]               # 0x67 
 - "h": [t: "L⠓"]               # 0x68 
 - "i": [t: "L⠊"]               # 0x69 
 - "j": [t: "L⠚"]               # 0x6a 
 - "k": [t: "L⠅"]               # 0x6b 
 - "l": [t: "L⠇"]               # 0x6c 
 - "m": [t: "L⠍"]               # 0x6d 
 - "n": [t: "L⠝"]               # 0x6e 
 - "o": [t: "L⠕"]               # 0x6f 
 - "p": [t: "L⠏"]               # 0x70 
 - "q": [t: "L⠟"]               # 0x71 
 - "r": [t: "L⠗"]               # 0x72 
 - "s": [t: "L⠎"]               # 0x73 
 - "t": [t: "L⠞"]               # 0x74 
 - "u": [t: "L⠥"]               # 0x75 
 - "v": [t: "L⠧"]               # 0x76 
 - "w": [t: "L⠺"]               # 0x77 
 - "x": [t: "L⠭"]               # 0x78 
 - "y": [t: "L⠽"]               # 0x79 
 - "z": [t: "L⠵"]               # 0x7a 

 - "A": [t: "CL⠁"]              # 0x41 
 - "B":                         # 0x42 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠃"]
        else: [t: "CL⠃"]
 - "C":                         # 0x43 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠉"]
        else: [t: "CL⠉"]
 - "D": [t: "CL⠙"]              # 0x44 
 - "E": [t: "CL⠑"]              # 0x45 
 - "F": [t: "CL⠋"]              # 0x46 
 - "G": [t: "CL⠛"]              # 0x47 
 - "H":                         # 0x48 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠓"]
        else: [t: "CL⠓"]
 - "I":                         # 0x49 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠊"]
        else: [t: "CL⠊"]
 - "J": [t: "CL⠚"]              # 0x4a 
 - "K":                         # 0x4b 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠅"]
        else: [t: "CL⠅"]
 - "L": [t: "CL⠇"]              # 0x4c 
 - "M": [t: "CL⠍"]              # 0x4d 
 - "N":                         # 0x4e 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠝"]
        else: [t: "CL⠝"]
 - "O":                         # 0x4f 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠕"]
        else: [t: "CL⠕"]
 - "P":                         # 0x50 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠏"]
        else: [t: "CL⠏"]
 - "Q": [t: "CL⠟"]              # 0x51 
 - "R": [t: "CL⠗"]              # 0x52 
 - "S":                         # 0x53 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠎"]
        else: [t: "CL⠎"]
 - "T": [t: "CL⠞"]              # 0x54 
 - "U":                         # 0x55 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠥"]
        else: [t: "CL⠥"]
 - "V":                         # 0x56 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠧"]
        else: [t: "CL⠧"]
 - "W":                         # 0x57 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠺"]
        else: [t: "CL⠺"]
 - "X": [t: "CL⠭"]              # 0x58 
 - "Y":                         # 0x59 
    - test:
        if: "@data-chem-element"
        then: [t: "𝐶L⠽"]
        else: [t: "CL⠽"]
 - "Z": [t: "CL⠵"]              # 0x5a 

 - "α": [t: "GL⠁"]              # 0x3b1 
 - "β": [t: "GL⠃"]              # 0x3b2 
 - "γ": [t: "GL⠛"]              # 0x3b3 
 - "δ": [t: "GL⠙"]              # 0x3b4 
 - "ε": [t: "GL⠑"]              # 0x3b5 
 - "ζ": [t: "GL⠵"]              # 0x3b6 
 - "η": [t: "GL⠱"]             # 0x3b7 
 - "θ": [t: "GL⠹"]              # 0x3b8 
 - "ι": [t: "GL⠊"]              # 0x3b9 
 - "κ": [t: "GL⠅"]              # 0x3ba 
 - "λ": [t: "GL⠇"]              # 0x3bb 
 - "μ": [t: "GL⠍"]              # 0x3bc 
 - "ν": [t: "GL⠝"]              # 0x3bd 
 - "ξ": [t: "GL⠭"]              # 0x3be 
 - "ο": [t: "GL⠕"]              # 0x3bf 
 - "π": [t: "GL⠏"]              # 0x3c0 
 - "ρ": [t: "GL⠗"]              # 0x3c1 
 - "ς": [t: "GL⠎"]              # 0x3c2 
 - "σ": [t: "GL⠎"]              # 0x3c3 
 - "τ": [t: "GL⠞"]              # 0x3c4 
 - "υ": [t: "GL⠥"]              # 0x3c5 
 - "φ": [t: "GL⠋"]              # 0x3c6 
 - "χ": [t: "GL⠯"]              # 0x3c7 
 - "ψ": [t: "GL⠽"]              # 0x3c8 
 - "ω": [t: "GL⠺"]              # 0x3c9 

 - "ϑ": [t: "GL⠹"]              # 0x3d1
 - "ϵ": [t: "GL⠑"]              # 0x3f5 \varepsilon
 - "ϰ": [t: "GL⠅"]              # 0x3f0
 - "ϕ": [t: "GL⠋"]              # 0x3d5
 - "ϱ": [t: "GL⠗"]              # 0x3f1
 - "ϖ": [t: "GL⠏"]              # 0x3d6
 - "Ϝ": [t: "GL⠧"]              # 0x3d7

 - "Α": [t: "CGL⠁"]             # 0x391 
 - "Β": [t: "CGL⠃"]             # 0x392 
 - "Γ": [t: "CGL⠛"]             # 0x393 
 - "Δ": [t: "CGL⠙"]             # 0x394 
 - "Ε": [t: "CGL⠑"]             # 0x395 
 - "Ζ": [t: "CGL⠵"]             # 0x396 
 - "Η": [t: "CGL⠱ "]            # 0x397 
 - "Θ": [t: "CGL⠹"]             # 0x398 
 - "Ι": [t: "CGL⠊"]             # 0x399 
 - "Κ": [t: "CGL⠅"]             # 0x39a 
 - "Λ": [t: "CGL⠇"]             # 0x39b 
 - "Μ": [t: "CGL⠍"]             # 0x39c 
 - "Ν": [t: "CGL⠝"]             # 0x39d 
 - "Ξ": [t: "CGL⠭"]             # 0x39e 
 - "Ο": [t: "CGL⠕"]             # 0x39f 
 - "Π": [t: "CGL⠏"]             # 0x3a0 
 - "Ρ": [t: "CGL⠗"]             # 0x3a1 
 - "΢": [t: "CGL⠎"]             # 0x3a2 
 - "Σ": [t: "CGL⠎"]             # 0x3a3 
 - "Τ": [t: "CGL⠞"]             # 0x3a4 
 - "Υ": [t: "CGL⠥"]             # 0x3a5 
 - "Φ": [t: "CGL⠋"]             # 0x3a6 
 - "Χ": [t: "CGL⠯"]             # 0x3a7 
 - "Ψ": [t: "CGL⠽"]             # 0x3a8 
 - "Ω": [t: "CGL⠺"]             # 0x3a9

 - "µ": [t: "GL⠍"]              # 0x00B5 (Micro (Greek mu))
 - "Ω": [t: "CGL⠺"]             # 0x2126 (Ohm sign (capital Greek omega))
 - "∆": [t: "CGL⠙"]             # 0x2206 (Increment (capital Greek delta))
 - "∏": [t: "CGL⠏"]             # 0x220F (Product (capital Greek pi))
 - "∑": [t: "CGL⠎"]             # 0x2211 (Sum (capital Greek sigma))

 # --- restored short definitions that differ from unicode-full ---
 - "⋇": [t: "1⠌⠯⠦"]             # 0x22C7 (Division times)
 - "⊩": [t: "⠸⠳⠿⠸⠒"]            # 0x22A9 (Forces)
