aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/protocols8
-rw-r--r--res/keyboard/compose2717
-rw-r--r--res/keyboard/compose/dead2717
3 files changed, 2722 insertions, 2720 deletions
diff --git a/doc/protocols b/doc/protocols
index ea1158b..fc9ac69 100644
--- a/doc/protocols
+++ b/doc/protocols
@@ -436,6 +436,7 @@ Optional header: Key
down) Down Arrow
right) Right Arrow
shift) Shift (level 2)
+ begin) Begin (keypad 5 in nagivation mode)
ctrl) Control
alt) Alternative/Option
altgr) Alternative Graphic (level 3)
@@ -461,9 +462,10 @@ Optional header: Key
the compose key) should use `dead` instead. A position,
either `left`, `right`, `keypad` or an index, followed by a
blank space, should prefix any key that occurs on multiple
- position on the keyboard. Keys without any meaning should
- be identified as `unknown`. Modifiers and dead keys should
- not affect the value.
+ position on the keyboard, unless it only appears on the
+ keypad once and once not on the keypad. Keys without any
+ meaning should be identified as `unknown`. Modifiers and
+ dead keys should not affect the value.
Optional header: Characters
UTF-8 encoded string that has been written
diff --git a/res/keyboard/compose b/res/keyboard/compose
deleted file mode 100644
index e1b48d0..0000000
--- a/res/keyboard/compose
+++ /dev/null
@@ -1,2717 +0,0 @@
-# mds — A micro-display server
-# Copyright © 2014 Mattias Andrée (maandree@member.fsf.org)
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-
-# Based on the Unicode Character Database 7.0
-
-
-
-macro dead_ascii/1
- <dead letter \1> [" " <dead letter \1>] : "\1"
- <compose> "\1" : <dead letter \1>
-end macro
-macro dead_ascii/2
- <dead letter \1> [" " "\2" <dead letter \1>] : "\1"
- <compose> ["\1" "\2"] : <dead letter \1>
-end macro
-
-macro composite/3
- <dead letter \2> "\1" : "\3"
- <compose> "\1" ["\2" <dead letter \2>] : "\3"
-end macro
-macro composite/4
- <dead letter \2> "\1" : "\4"
- <compose> "\1" ["\2" <dead letter \2> "\3"] : "\4"
-end macro
-
-
-<compose> "u" "+" : <dead hexcompose>
-<compose> "U" "+" : <dead longhexcompose>
-
-
-# TODO C0 Controls
-
-# Basic Latin:
-dead_ascii("^")
-dead_ascii("`")
-dead_ascii("~")
-
-# TODO C1 Controls
-
-# Latin-1 Supplement:
-<compose> "!" "!" : "¡"
-<compose> ("/" "c") : "¢"
-<compose> ("|" ["c" "L"]) : "¢"
-<compose> ("-" ["l" "L"]) : "£"
-<compose> (["o" "O"] ["x" "X"]) : "¤"
-<compose> (["-" "="] ["y" "Y"]) : "¥"
-<compose> ("!" "|") : "¦"
-<compose> (["o" "O"] ["s" "S"]) : "§"
-dead_ascii("¨" "\"")
-<compose> (["o" "O"] ["c" "C"]) : "©"
-(<compose> <dead letter ~>) "_" "a" : "ª"
-<compose> "<" "<" : "«"
-<compose> ("-" ",") : "¬"
-<compose> "-" "-" " " : "­"
-<compose> (["o" "O"] ["r" "R"]) : "®"
-<compose> "-" : <dead letter ¯>
-<compose> "o" : <dead letter °>
-dead_ascii("°")
-<compose> "+" "-" : "±"
-<dead letter ^> "2" : "²"
-<dead letter ^> "3" : "³"
-dead_ascii("´" "'")
-<compose> "m" "u" : "µ"
-<compose> ["p" "P"] ["p" "P" "!"] : "¶"
-<compose> "!" ["p" "P"] : "¶"
-<compose> "." "-" : "·"
-dead_ascii("," ",")
-<dead letter ^> "1" : "¹"
-(<compose> <dead letter ~>) "_" "o" : "º"
-<compose> ">" ">" : "»"
-<compose> "1" "4" : "¼"
-<compose> "1" "2" : "½"
-<compose> "3" "4" : "¾"
-<compose> "?" "?" : "¿"
-composite("`" "A" "À")
-composite("´" "'" "A" "Á")
-composite("~" "A" "Ã")
-composite("¨" "\"" "A" "Ä")
-<dead letter °> "A" : "Å"
-<compose> "A" "E" : "Æ"
-composite("¸" "," "C" "Ç")
-composite("`" "E" "È")
-composite("´" "'" "E" "É")
-composite("^" "E" "Ê")
-composite("¨" "\"" "E" "Ë")
-composite("`" "I" "Ì")
-composite("´" "'" "I" "Í")
-composite("^" "I" "Î")
-composite("¨" "\"" "I" "Ï")
-<compose> "-" : <dead letter ->
-composite("-" "D" "Đ")
-<compose> "/" : <dead letter />
-composite("/" "D" "Đ")
-composite("~" "N" "Ñ")
-composite("`" "O" "Ò")
-composite("´" "'" "O" "Ó")
-composite("^" "O" "Ô")
-composite("~" "O" "Õ")
-composite("¨" "\"" "O" "Ö")
-<compose> "x" "x" : "×"
-composite("/" "O" "Ø")
-composite("`" "U" "Ù")
-composite("´" "'" "U" "Ú")
-composite("^" "U" "Û")
-composite("¨" "\"" "U" "Ü")
-composite("´" "'" "Y" "Ý")
-<compose> "T" "H" : "Þ"
-<compose> "s" "s" : "ß"
-<compose> "ſ" "s" : "ß"
-composite("`" "a" "à")
-composite("´" "'" "a" "á")
-composite("~" "a" "ã")
-composite("¨" "\"" "a" "ä")
-<dead letter °> "a" : "å"
-<compose> "a" "e" : "æ"
-composite("¸" "," "c" "ç")
-composite("`" "e" "è")
-composite("´" "'" "e" "é")
-composite("^" "e" "ê")
-composite("¨" "\"" "e" "ë")
-composite("`" "i" "ì")
-composite("´" "'" "i" "í")
-composite("^" "i" "î")
-composite("¨" "\"" "i" "ï")
-composite("/" "d" "ð")
-composite("~" "n" "ñ")
-composite("`" "o" "ò")
-composite("´" "'" "o" "ó")
-composite("^" "o" "ô")
-composite("~" "o" "õ")
-composite("¨" "\"" "o" "ö")
-<compose> ":" "-" : "÷"
-composite("/" "o" "ø")
-composite("`" "u" "ù")
-composite("´" "'" "u" "ú")
-composite("^" "u" "û")
-composite("¨" "\"" "u" "ü")
-composite("´" "'" "y" "ý")
-<compose> "t" "h" : "þ"
-composite("¨" "\"" "y" "ÿ")
-
-# TODO Latin Extended-A
-# TODO Latin Extended-B
-# TODO IPA Extensions
-# TODO Spacing Modifier Letter
-# TODO Combining Diacritical Marks
-# TODO Greek and Coptic
-# TODO Cyrillic
-# TODO Cyrillic Supplement
-# TODO Armenian
-# TODO Hebrew
-# TODO Arabic
-# TODO Syriac
-# TODO Arabic Supplement
-# TODO Thaana
-# TODO NKo
-# TODO Samaritan
-# TODO Mandaic
-# TODO Arabic Extended-A
-# TODO Devanagari
-# TODO Bengali
-# TODO Gurmukhi
-# TODO Gujarati
-# TODO Oriya
-# TODO Tamil
-# TODO Telugu
-# TODO Kannada
-# TODO Malayalam
-# TODO Sinhala
-# TODO Thai
-# TODO Lao
-# TODO Tibetan
-# TODO Myanmar
-# TODO Georgian
-# TODO Hangul Jamo
-# TODO Ethiopic
-# TODO Ethiopic Supplement
-# TODO Cherokee
-# TODO Unified Canadian Aboriginal Syllabics
-# TODO Ogham
-# TODO Runic
-# TODO Tagalog
-# TODO Hanunoo
-# TODO Buhid
-# TODO Tagbanwa
-# TODO Khmer
-# TODO Mongolian
-# TODO Unified Canadian Aboriginal Syllabics Extended
-# TODO Limbu
-# TODO Tai Le
-# TODO New Tai Lue
-# TODO Khmer Symbols
-# TODO Buginese
-# TODO Tai Tham
-# TODO Combining Diacritical Marks Extended
-# TODO Balinese
-# TODO Sundanese
-# TODO Batak
-# TODO Lepcha
-# TODO Ol Chiki
-# TODO Sundanese Supplement
-# TODO Vedic Extensions
-# TODO Phonetic Extensions
-# TODO Phonetic Extensions Supplement
-# TODO Combining Diacritical Marks Supplement
-# TODO Latin Extended Additional
-# TODO Greek Extended
-
-# General Punctuation:
-<compose> <space> "_" "." : "\u2000" # en quad
-<compose> <space> "_" "_" : "\u2001" # em quad
-<compose> <space> "-" "." : "\u2002" # en space
-<compose> <space> "-" "-" : "\u2003" # em space
-<compose> <space> "3" : "\u2004" # three-per-em space
-<compose> <space> "4" : "\u2005" # four-per-em space
-<compose> <space> "6" : "\u2006" # six-per-em space
-<compose> <space> "f" : "\u2007" # figure space
-<compose> <space> "." : "\u2008" # punctuation space
-<compose> <space> "t" : "\u2009" # thin space
-<compose> <space> "h" : "\u200A" # hairspace
-<compose> <space> "0" : "\u200B" # zero width space
-<compose> <space> "J" : "\u200C" # zero width non-joiner
-<compose> <space> "j" : "\u200D" # zero width joiner
-<compose> <space> "l" : "\u200E" # left-to-right mark
-<compose> <space> "r" : "\u200F" # right-to-left mark
-<compose> "-" <space> : "\u2010" # hyphen
-<compose> "-" " " : "\u2011" # non-breaking hyphen
-<compose> "-" "-" "f" : "\u2012" # figure dash
-<compose> "-" "-" "." : "\u2013" # en dash
-<compose> "-" "-" "-" : "\u2014" # em dash
-<compose> "-" "-" "_" : "\u2015" # horizontal bar
-<compose> "|" "|" : "\u2016" # double verical line
-<compose> "-" "_" : "\u2017" # double low line
-<compose> ("(" "'") : "‘"
-<compose> (")" "'") : "’"
-<compose> ("(" ",") : "‚"
-<compose> (")" ",") : "‛"
-<compose> ("(" "\"") : "“"
-<compose> (")" "\"") : "”"
-<compose> ("(" ";") : "„"
-<compose> (")" ";") : "‟"
-<compose> "+" "T" : "†"
-<compose> "+" "+" "T" : "‡"
-<shift compose> "." "." : "•"
-<shift compose> "|" ">" : "‣"
-<compose> "." "," : "\u2024" # one dot leader
-<compose> "." ";" : "\u2025" # two dot leader
-<compose> "." "." : "…"
-<compose> "-" "." : "\u2027" # hyphenation point
-<compose> "l" <space> : "\u2028" # line separator
-<compose> "p" <space> : "\u2029" # paragraph separator
-<compose> <space> "e" "l" : "\u202A" # left-to-right embedding
-<compose> <space> "e" "r" : "\u202B" # right-to-left embedding
-<compose> <space> "e" "p" : "\u202C" # pop directional formatting
-<compose> <space> "o" "l" : "\u202D" # left-to-right override
-<compose> <space> "o" "r" : "\u202E" # right-to-left override
-<compose> "m" " " : "\u202F" # narrow no-break space
-<compose> "%" ["o" "."] : "‰"
-<compose> "%" ["O" ":"] : "‱"
-<compose> ("1" ["'" "´"]) : "′"
-<compose> ("2" ["'" "´"]) : "″"
-<compose> ("3" ["'" "´"]) : "‴"
-<compose> ("1" "`") : "‵"
-<compose> ("2" "`") : "‶"
-<compose> ("3" "`") : "‷"
-<shift compose> ("." "^") : "‸"
-<shift compose> ("." "<") : "‹"
-<shift compose> ("." ">") : "›"
-<compose> ("x" "+") : "※"
-<shift compose> "!" "!" : "‼"
-<compose> "!" "?" : "‽"
-<shift compose> "^" "_" : "‾"
-<shift compose> ("_" "u") : "‿"
-<shift compose> ("^" "u") : "⁀"
-<shift compose> "/" "/" "." : "⁁"
-<compose> "*" "*" : "⁂"
-<shift compose> "-" "-" : "⁃"
-<compose> "/" "/" : "⁄"
-<compose> ("[" "-") : "⁅"
-<compose> ("]" "-") : "⁆"
-<shift compose> "?" "?" : "⁇"
-<shift compose> "?" "!" : "⁈"
-<shift compose> "!" "?" : "⁉"
-<compose> ("/" "7"): "⁊"
-<compose> "¶" "¶" : "⁋"
-<compose> ("?" ["p" "P"]) : "⁋"
-<compose> "(" "|" : "⁌"
-<compose> "|" ")" : "⁍"
-<compose> ("*" ".") : "⁎"
-<compose> ";" ";" : "⁏"
-<shift compose> "(" ")": "⁐"
-<compose> ("*" ":") : "⁑"
-<compose> "%" "%" : "⁒"
-<shift compose> "~" ["-" "~"] : "⁓"
-<shift compose> "-" "~" : "⁓"
-<sjift compose> ("_" "U") : "⁔"
-<compose> ("x" "*") : "⁕"
-<compose> "." ":" <space> : "⁖"
-<compose> ("4" ["'" "´"]) : "⁗"
-<compose> "." ":" "." : "⁘"
-<compose> ":" "." ":" : "⁙"
-<compose> "|" "." "." : "⁚"
-<shift compose> "." ":" "." : "⁛"
-<compose> ("x" ":") : "⁜"
-<compose> "|" ":" "." : "⁝"
-<compose> "|" ":" ":" : "⁞"
-<compose> <space> "m" : "\u205F" # medium mathematical space
-<compose> <space> "w" : "\u2060" # word joiner
-<shift compose> ("f" " ") : "\u2061" # function application
-<shift compose> (["x" "×" "*"] " ") : "\u2062" # invisible times
-<shift compose> (["," "."] " ") : "\u2063" # invisible separator
-<shift compose> ("+" " ") : "\u2064" # invisible plus
-<compose> <space> "i" "l" : "\u2066" # left-to-right isolate
-<compose> <space> "i" "r" : "\u2067" # right-to-left isolate
-<compose> <space> "i" "s" : "\u2068" # first strong isolate
-<compose> <space> "i" "p" : "\u2069" # pop directional isolate
-# U+206A through U+206C are deprecated
-
-# Superscripts and Subscripts:
-<dead letter ^> "0" : "⁰"
-<shift compose> ["^" <dead letter "^">] "i" : "ⁱ"
-<dead letter ^> "4" : "⁴"
-<dead letter ^> "5" : "⁵"
-<dead letter ^> "6" : "⁶"
-<dead letter ^> "7" : "⁷"
-<dead letter ^> "8" : "⁸"
-<dead letter ^> "9" : "⁹"
-<dead letter ^> "+" : "⁺"
-<dead letter ^> "-" : "⁻"
-<dead letter ^> "=" : "⁼"
-<dead letter ^> "(" : "⁽"
-<dead letter ^> ")" : "⁾"
-<shift compose> ["^" <dead letter "^">] "n" : "ⁿ"
-dead_ascii("ˇ")
-<dead letter ˇ> "0" : "₀"
-<dead letter ˇ> "1" : "₁"
-<dead letter ˇ> "2" : "₂"
-<dead letter ˇ> "3" : "₃"
-<dead letter ˇ> "4" : "₄"
-<dead letter ˇ> "5" : "₅"
-<dead letter ˇ> "6" : "₆"
-<dead letter ˇ> "7" : "₇"
-<dead letter ˇ> "8" : "₈"
-<dead letter ˇ> "9" : "₉"
-<dead letter ˇ> "+" : "₊"
-<dead letter ˇ> "-" : "₋"
-<dead letter ˇ> "=" : "₌"
-<dead letter ˇ> "(" : "₍"
-<dead letter ˇ> ")" : "₎"
-<shift compose> ["ˇ" <dead letter "ˇ">] "a" : "ₐ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "e" : "ₑ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "o" : "ₒ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "x" : "ₓ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "ə" : "ₔ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "h" : "ₕ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "k" : "ₖ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "l" : "ₗ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "m" : "ₘ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "n" : "ₙ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "p" : "ₚ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "s" : "ₛ"
-<shift compose> ["ˇ" <dead letter "ˇ">] "t" : "ₜ"
-
-# TODO Currency Symbols
-# TODO Combining Diacritical Marks for Symbols
-# TODO Letterlike Symbols
-# TODO Number Forms
-
-# Arrows:
-<shift compose> "<" "-" "-" : "←"
-<shift compose> "^" "|" <space> : "↑"
-<shift compose> "|" ["v" "V"] <space> : "→"
-<shift compose> "-" "-" ">" : "↓"
-<compose> ("←" "→") : "↔"
-<compose> ("↑" "↓") : "↕"
-<shift compose> ("←" "↑") : "↖"
-<shift compose> ("→" "↑") : "↗"
-<shift compose> ("→" "↓") : "↘"
-<shift compose> ("←" "↓") : "↙"
-<compose> ("/" "←") : "↚"
-<compose> ("/" "→") : "↛"
-composite("←" "~" "↜")
-composite("→" "~" "↝")
-<compose> "←" "←" : "↞"
-<compose> "↑" "↑" : "↟"
-<compose> "→" "→" : "↠"
-<compose> "↓" "↓" : "↡"
-<compose> "←" "<" : "↢"
-<compose> ">" "→" : "↣"
-<compose> "←" "|" : "↤"
-<compose> ("-" "↑") : "↥"
-<compose> "|" "→" : "↦"
-<compose> ("-" "↓") : "↧"
-<compose> "_" "↕" : "↨"
-<compose> "←" ")" : "↩"
-<compose> "(" "→" : "↪"
-<compose> "↩" "↩" : "↫"
-<compose> "↪" "↪" : "↬"
-<compose> ("↜" "↝") : "↭"
-<compose> ("/" "↔") : "↮"
-<compose> ("↚" "↛") : "↮"
-<compose> (["z" "Z"] "↓") : "↯"
-<shift compose> "←" "|" : "↰"
-<compose> "↲" "↲" : "↰"
-<shift compose> "|" "→" : "↱"
-<compose> "↳" "↳" : "↱"
-<shift compose> "←" "_" "|" : "↲"
-<compose> "↰" "↰" : "↲"
-<shift compose> "|" "_" "→" : "↳"
-<compose> "↱" ↱" : "↳"
-<compose> "-" "↘" : "↴"
-<compose> "." "↲" : "↵"
-<shift compose> ("n" "↙") : "↶"
-<shift compose> ("n" "↘") : "↷"
-<dead letter ^> "_" "↖" : "↸"
-<dead letter ¯> "↖" : "↸"
-<compose> "¯" "↖" : "↸"
-<compose> "⇤" "⇥" : "↹"
-<compose> "↶" "↶" : "↺"
-<compose> "↷" "↷" : "↻"
-<compose> "←" "↑" : "↼"
-<compose> "↽" "↽" : "↼"
-<compose> "←" "↓" : "↽"
-<compose> "↼" "↼" : "↽"
-<compose> "↑" "→" : "↾"
-<compose> "↿" "↿" : "↾"
-<compose> "↑" "←" : "↿"
-<compose> "↾" "↾" : "↿"
-<compose> "→" "↑" : "⇀"
-<compose> "⇁" "⇁" : "⇀"
-<compose> "→" "↓" : "⇁"
-<compose> "⇀" "⇀" : "⇁"
-<compose> "↓" "→" : "⇂"
-<compose> "⇃" "⇃" : "⇂"
-<compose> "↓" "←" : "⇃"
-<compose> "⇂" "⇂" : "⇃"
-<shift compose> "→" "←" : "⇄"
-<compose> "⇆" "⇆" : "⇄"
-<shift compose> "↑" "↓" : "⇅"
-<compose> "⇵" "⇅" : "⇅"
-<shift compose> "←" "→" : "⇆"
-<compose> "⇄" "⇄" : "⇆"
-<shift compose> "←" "←" : "⇇"
-<shift compose> "↑" "↑" : "⇈"
-<shift compose> "→" "→" : "⇉"
-<shift compose> "↓" "↓" : "⇊"
-<shift compose> ("↼" "⇁") : "⇋"
-<shift compose> ("↽" "⇀") : "⇌"
-<compose> ("/" "⇐") : "⇍"
-<compose> ("/" "⇔") : "⇎"
-<compose> ("/" "⇒") : "⇏"
-<shift compose> "<" "=" "=" : "⇐"
-<shift compose> ("=" "←") : "⇐"
-<shift compose> "^" "|" "|" : "⇑"
-<shift compose> ("=" "↑") : "⇑"
-<shift compose> "=" "=" ">" : "⇒"
-<shift compose> ("=" "→") : "⇒"
-<shift compose> "|" "|" ["v" "V"] : "⇓"
-<shift compose> ("=" "↓") : "⇓"
-<compose> ("⇐" "⇒") : "⇔"
-<shift compose> ("=" "↔") : "⇔"
-<compose> ("⇑" "⇓") : "⇕"
-<shift compose> ("=" "↕") : "⇕"
-<compose> ("⇐" "⇑") : "⇖"
-<shift compose> ("=" "↖") : "⇖"
-<compose> ("⇑" "⇒") : "⇗"
-<shift compose> ("=" "↗") : "⇗"
-<compose> ("⇒" "⇓") : "⇘"
-<shift compose> ("=" "↘") : "⇘"
-<compose> ("⇓" "⇐") : "⇙"
-<shift compose> ("=" "↙") : "⇙"
-<compose> "⇐" "⇐" : "⇚"
-<compose> "⇒" "⇒" : "⇛"
-<shift compose> "<" ["~" <dead letter ~>] ["~" <dead letter ~>] : "⇜"
-<shift compose> ["~" <dead letter ~>] ["~" <dead letter ~>] ">" : "⇝"
-<compose> ("=" "↑") : "⇞"
-<compose> ("=" "↓") : "⇟"
-<compose> (":" "←") : "⇠"
-<compose> (":" "↑") : "⇡"
-<compose> (":" "→") : "⇢"
-<compose> (":" "↓") : "⇣"
-<compose> "|" "←" : "⇤"
-<compose> "→" "|" : "⇥"
-<compose> ("←" "⇐") : "⇦"
-<compose> ("↑" "⇑") : "⇧"
-<compose> ("→" "⇒") : "⇨"
-<compose> ("↓" "⇓") : "⇩"
-<compose> "!" "⇧" : "⇪"
-<compose> ("_" "⇧") : "⇫"
-<compose> "⇫" "⇫" : "⇬"
-composite("⇫" "^" "⇬")
-<compose> ("|" ["⇧" "⇫"]) : "⇭"
-<compose> "⇧" "⇧" : "⇮"
-composite("⇧" "^" "⇮")
-<compose> ("_" "⇮") : "⇯"
-<compose> "|" "⇨" : "⇰"
-<compose> "↖" "↖" : "⇱"
-<compose> "↘" "↘" : "⇲"
-<compose> ("⇧" "⇩") : "⇳"
-<compose> ("↕" "⇕") : "⇳"
-<compose> ("o" "→") : "⇴"
-<compose> "↓" "↑" : "⇵"
-<compose> "⇅" "⇅" : "⇵"
-<compose> "3" "→" : "⇶"
-<compose> ("|" "←") : "⇷"
-<compose> ("|" "→") : "⇸"
-<compose> ("|" "↔") : "⇹"
-<compose> ("|" "⇷") : "⇺"
-<compose> ("|" "⇸") : "⇻"
-<compose> ("|" "⇹") : "⇼"
-<shift compose> "<" "|" "-" "-" : "⇽"
-<shift compose> "-" "-" "|" ">" : "⇾"
-<shift compose> "<" "|" "-" "|" ">" : "⇿"
-<compose> ("⇽" "⇾") : "⇿"
-
-# Mathematical Operators:
-<compose> "A" "A" : "∀"
-<compose> "m" "C" : "∁"
-<compose> "d" "d" : "∂"
-<compose> "E" "E" : "∃"
-<compose> ("/" "∃") : "∄"
-<compose> ("/" "0") : "∅"
-<compose> "Δ" "Δ" : "∆"
-<compose> "/" "\\" : "∆"
-<compose> "\\" "/" : "∇"
-<compose> "∆" "∆" : "∇"
-<compose> "∇" "∇" : "∆"
-<compose> "i" "n" : "∈"
-<compose> ("/" "∈") : "∉"
-<compose> ("." "∈") : "∊"
-<compose> "I" "N" : "∋"
-<compose> "∈" "∈" : "∋"
-<compose> "∉" "∉" : "∌"
-<compose> ("/" "∋") : "∌"
-<compose> "∊" "∊" : "∍"
-<compose> ("." "∋") : "∍"
-<compose> "q" "e" "d" : "∎"
-<compose> "m" "p" : "∏"
-<compose> "Π" "Π" : "∏"
-<compose> "m" "P" : "∐"
-<compose> "∏" "∏" : "∐"
-<compose> "m" "s" : "∑"
-<compose> "Σ" "Σ" : "∑"
-<compose> "m" "-" : "−"
-<compose> "-" "+" : "∓"
-<compose> "." "+" : "∔"
-<compose> "m" "/" : "∕"
-<compose> "m" "\\" : "∖"
-<compose> "m" "*" : "∗"
-<compose> "m" "o" : "∘"
-<compose> "m" "O" : "∙"
-<compose> "m" ["2" .] "r" : "√"
-<compose> ["m" "2"] "r" : "√"
-<compose> ["m" .] "3" "r" : "∛"
-<compose> ["m" .] "4" "r" : "∜"
-<compose> "0" ["c" "C"] : "∝"
-<compose> "0" "0" : "∞"
-<compose> ("m" "L") : "∟"
-<compose> ("/" "_") : "∠"
-<compose> ("∠" ")") : "∡"
-<compose> "∡" "∡" : "∢"
-<shift compose> ("<" ")") : "∢"
-<compose> "⦠" "⦠" ; "∢"
-<compose> "1" "|" : "∣"
-<compose> "/" "1" "|" : "∤"
-<compose> ("/" "∣") : "∤"
-<compose> "2" "|" : "∥"
-<compose> "∣" "∣" : "∥"
-<compose> "/" "2" "|" : "∦"
-<compose> ("/" "∥") : "∦"
-<compose> "m" "&" : "∧"
-<compose> "∨" "∨" : "∧"
-<compose> "∧" "∧" : "∨"
-<compose> "m" "V" : "∨"
-<compose> "m" "N" : "∩"
-<compose> "∪" "∪" : "∩"
-<compose> "∩" "∩" : "∪"
-<compose> "m" "U" : "∪"
-<compose> 1 ["s" "ſ"] : "∫"
-<compose> 2 ["s" "ſ"] : "∬"
-<compose> "∫" "∫" : "∬"
-<shift compose> "∫" "∫" : "∭"
-<compose> ("∫" "∬") : "∭"
-<compose> "3" ["s" "ſ" "∫"] : "∭"
-<compose> 1 "o" ["s" "ſ"] : "∮"
-<compose> 2 "o" ["s" "ſ"] : "∯"
-<compose> "∮" "∮" : "∯"
-<shift compose> "∮" "∮" : "∰"
-<compose> ("∮" "∯") : "∰"
-<compose> "3" "∮" : "∰"
-<compose> "3" "o" ["s" "ſ"] : "∰"
-<compose> ("o" "∫") : "∮"
-<compose> ("o" "∬") : "∯"
-<compose> ("o" "∭") : "∰"
-<compose> (["→" "-"] "∫") : "∱"
-<compose> ("<" "∮" : "∲")
-<compose> (">" "∮" : "∳")
-<compose> ("/" ":") : "∴"
-<compose> ("\\" ":") : "∵"
-<compose> ":" <space> : "∶"
-<compose> ":" ":" : "∷"
-<compose> "." "-" : "∸"
-<compose> "-" ":" : "∹"
-<shift compose> ":" "-" ":" : "∺"
-<compose> ":" ["~" <dead letter ~>] : "∻"
-<dead letter ~> ":" : "∻"
-<shift compose> ["~" <dead letter ~>] <space> : "∼"
-<shift compose> <space> ["~" <dead letter ~>] : "∽"
-<compose> <space> ["~" <dead letter ~>] : "∾"
-<shift compose> ["~" <dead letter ~>] ["~" <dead letter ~>] : "∿"
-<dead letter ~> "|" : "≀"
-<compose> "|" ["~" <dead letter ~>] : "≀"
-<dead letter ~> "/" : "≁"
-<compose> "/" ["~" <dead letter ~>] : "≁"
-<compose> "_" ["~" <dead letter ~>] : "≂"
-<compose> ["~" <dead letter ~>] "_" : "≃"
-<compose> ("/" "≃") : "≄"
-<shift compose> "=" ["~" <dead letter ~>] : "≅"
-<dead letter ~> "≠" : "≆"
-<shift compose> "=" ["~" <dead letter ~>] : "≇"
-<compose> "/" "≅" : "≇"
-<dead letter ~> "=" : "≈"
-<dead letter ~> "/" "=" : "≉"
-<compose> ("/" "≈") : "≉"
-<compose> ["≈" "≊"]
-<dead letter ~> "_" "=" : "≊"
-<compose> "≈" ["~" <dead letter ~>] : "≋"
-<compose> "=" ["~" <dead letter ~>] : "≌"
-<shift compose> (")" "(") : "≍"
-<compose> "≍" "≍" : "≎"
-<compose> ("_" "≎") : "≏"
-<shift compose> ("." "=") : "≐"
-<shift compose> (":" "=") : "≑"
-<shift compose> (":" "\\") "=" : "≒"
-<shift compose> (":" "/") "=" : "≓"
-<compose> ":" "=" : "≔"
-<compose> "=" ":" : "≕"
-<compose> "=" "o" : "≖"
-<compose> "o" "=" : "≗"
-<compose> ("°" "=") : "≗"
-<compose> ("(" "=") : "≘"
-<compose> ("∧" "=") : "≙"
-<compose> ("∨" "=") : "≚"
-<compose> (["*" "⋆"] "=") : "≛"
-<compose> ("Δ" "=") : "≜"
-<compose> ("∆" "=") : "≜"
-<compose> ("d" "=") : "≝"
-<compose> ("m" "=") : "≞"
-<compose> ("?" "=") : "≟"
-<compose> ("/" "=") : "≠"
-<compose> "=" "_" : "≡"
-<compose> ("/" "≡") : "≢"
-<compose> "=" "=" : "≣"
-<compose> ("_" "<") : "≤"
-<compose> ("_" ">") : "≥"
-<compose> ("=" "<") : "≦"
-<compose> ("=" ">") : "≧"
-<compose> ("≠" "<") : "≨"
-<compose> ("≠" ">") : "≩"
-<shift compose> "<" "<" <space> : "≪"
-<shift compose> ">" ">" <space> : "≫"
-<compose> ("(" ")") : "≬"
-<shift compose> "/" (")" "(") : "≭"
-<compose> ("/" "≍") : "≭"
-<compose> ("/" "<") : "≮"
-<compose> ("/" ">") : "≯"
-<compose> ("/" "≤") : "≰"
-<compose> ("/" "≥") : "≱"
-<compose> "<" ["~" <dead letter ~>] : "≲"
-<compose> ">" ["~" <dead letter ~>] : "≳"
-<compose> ("/" "≲") : "≴"
-<compose> ("/" "≳") : "≵"
-<compose> "<" ">" : "≶"
-<compose> ">" "<" : "≷"
-<compose> ("/" "≶") : "≸"
-<compose> ("/" "≷") : "≹"
-<shift compose> (["(" ")"] "<") : "≺"
-<shift compose> (["(" ")"] ">") : "≻"
-<compose> ("_" "≺") : "≼"
-<shift compose> (["(" ")"] "_") "<" : "≼"
-<compose> ("_" "≻") : "≽"
-<shift compose> (["(" ")"] "_") ">" : "≽"
-<dead letter ~> "≺" : "≾"
-<compose> "≺" ["~" <dead letter ~>] : "≾"
-<dead letter ~> "≻" : "≿"
-<compose> "≻" ["~" <dead letter ~>] : "≿"
-<compose> ("/" "≺") : "⊀"
-<shift compose> (["(" ")"] "/") "<" : "⊀"
-<compose> ("/" "≻") : "⊁"
-<shift compose> (["(" ")"] "/") ">" : "⊁"
-<shift compose> ("U" "<") : "⊂"
-<shift compose> ("U" ">") : "⊃"
-<compose> ("/" "⊂") : "⊄"
-<shift compose> ("U" "/") "<" : "⊄"
-<compose> ("/" "⊃") : "⊅"
-<shift compose> ("U" "/") ">" : "⊅"
-<compose> ("_" "⊂") : "⊆"
-<shift compose> ("U" "_") "<" : "⊆"
-<compose> ("_" "⊃") : "⊇"
-<shift compose> ("U" "_") ">" : "⊇"
-<compose> ("_" "/") "⊂" : "⊈"
-<compose> ("/" "⊆") : "⊈"
-<compose> ("_" "/") "⊃" : "⊉"
-<compose> ("/" "⊇") : "⊉"
-<shift compose> ("/" "_" "⊂") : "⊊"
-<shift compose> ("/" "_" "⊃") : "⊋"
-<compose> ("←" "∪") : "⊌"
-<compose> (["." "⋅"] "∪") : "⊍"
-<compose> ("+" "∪") : "⊎"
-<compose> (["[" "]"] "<") : "⊏"
-<compose> (["[" "]"] ">") : "⊐"
-<compose> ("_" "⊏") : "⊑"
-<compose> "_" (["[" "]"] "<") : "⊑"
-<compose> ("_" "⊐") : "⊒"
-<compose> "_" (["[" "]"] ">") : "⊒"
-<compose> ["[" "]"] ["∧" "∩"] : "⊓"
-<compose> ["[" "]"] ["∨" "∪"] : "⊔"
-<shift compose> "(" "+" ")" : "⊕"
-<shift compose> (["o" "O"] "+") : "⊕"
-<shift compose> "(" ["-" "−"] ["-" "−"] ")" : "⊖"
-<shift compose> ["o" "O"] ["-" "−"] ["-" "−"] : "⊖"
-<shift compose> ["-" "−"] ["-" "−"] ["o" "O"] : "⊖"
-<shift compose> "(" ["x" "X" "×"] ")" : "⊗"
-<shift compose> (["o" "O"] ["x" "X" "×"]) : "⊗"
-<shift compose> "(" "/" ")" : "⊘"
-<shift compose> (["o" "O"] "/") : "⊘"
-<shift compose> "(" ["." "⋅"] ")" : "⊙"
-<shift compose> (["o" "O"] ["." "⋅"]) : "⊙"
-<shift compose> "(" "o" ")" : "⊚"
-<shift compose> (["o" "O"] "o") : "⊚"
-<shift compose> "(" "*" ")" : "⊛"
-<shift compose> (["o" "O"] "*") : "⊛"
-<shift compose> "(" "=" ")" : "⊜"
-<shift compose> (["o" "O"] "=") : "⊜"
-<shift compose> "(" ["-" "−"] ")" : "⊝"
-<shift compose> (["o" "O"] ["-" "−"]) : "⊝"
-<shift compose> "[" "+" "]" : "⊞"
-<shift compose> "[" ["-" "−"] "]" : "⊟"
-<shift compose> "[" ["x" "X" "×"] "]" : "⊠"
-<shift compose> "[" ["." "⋅"] "]" : "⊡"
-<shift compose> "|" "-" "-" <space> : "⊢"
-<shift compose> "-" "-" "|" <space> : "⊣"
-<compose> "_" "|" : "⊤"
-<compose> "⊥" "⊥" : "⊤"
-<compose> "|" "_" : "⊥"
-<compose> "⊤" "⊤" : "⊥"
-<shift compose> "|" "-" <space> : "⊦"
-<shift compose> "|" "=" <space> : "⊧"
-<shift compose> "|" "=" "=" <space> : "⊨"
-<shift compose> "|" "|" "-" <space> : "⊩"
-<shift compose> "|" "|" "|" "-" <space> : "⊪"
-<shift compose> "|" "|" "=" <space> : "⊫"
-<shift compose> "/" "|" "-" "-" <space> : "⊬"
-<shift compose> "|" "-" "-" "/" : "⊬"
-<compose> ("/" "⊢") : "⊬"
-<shift compose> "/" "|" "=" "=" <space> : "⊭"
-<shift compose> "|" "=" "=" "/" : "⊭"
-<compose> ("/" "⊨") : "⊭"
-<shift compose> "/" "|" "|" "-" <space> : "⊮"
-<shift compose> "|" "|" "-" "/" : "⊮"
-<compose> ("/" "⊩") : "⊮"
-<shift compose> "/" "|" "|" "=" <space> : "⊯"
-<shift compose> "|" "|" "=" "/" : "⊯"
-<compose> ("/" "⊫") : "⊯"
-<compose> ("≺" ["(" ")"]) : "⊰"
-<compose> ("≻" ["(" ")"]) : "⊱"
-<compose> "<" "|" : "⊲"
-<compose> "|" ">" : "⊳"
-<compose> "_" "<" "|" : "⊴"
-<compose> "_" "|" ">" : "⊵"
-<compose> ("_" "⊲") : "⊴"
-<compose> ("_" "⊳") : "⊵"
-<shift compose> "o" "-" "." : "⊶"
-<compose> "⊷" "⊷" : "⊶"
-<shift compose> "." "-" "o" : "⊷"
-<compose> "⊶" "⊶" : "⊷"
-<shift compose> "-" "o" : "⊸"
-<compose> "⟜" "⟜" : "⊸"
-<compose> ("⊶" "⊷") : "⊸"
-<shift compose> "-" ["|" "¦"] "-" : "⊹"
-<compose> <m> <T> : "⊺"
-<compose> ("_" "∨") : "⊻"
-<compose> ("/" ["∧" "&"]) : "⊼"
-<compose> ("/" "∨") : "⊽"
-<compose> (["L" "∟"] ")") : "⊾"
-<compose> "∠" "|" : "⊿"
-<compose> "M" "&" : "⋀"
-<compose> "⋁" "⋁" : "⋀"
-<compose> "⋀" "⋀" : "⋁"
-<compose> "M" "V" : "⋁"
-<compose> "M" "N" : "⋂"
-<compose> "⋃" "⋃" : "⋂"
-<compose> "⋂" "⋂" : "⋃"
-<compose> "M" "U" : "⋃"
-<shift compose> "M" "." : "⋄"
-<shift compose> "m" "." : "⋅"
-<compose> "m" "*" : "⋆"
-<compose> ("÷" "×") : "⋇"
-<compose> ("⋉" "⋊") : "⋈"
-<shift compose> "|" ["X" "x"] "|" : "⋈"
-<compose> "|" ["X" "x"] : "⋉"
-<compose> ["X" "x"] "|" : "⋊"
-<shift compose> (">" "\\") : "⋋"
-<shift compose> (">" "/") : "⋌"
-<compose> ("_" "∽") : "⋍"
-<shift compose> (["(" ")"] "∧") : "⋎"
-<shift compose> (["(" ")"] "∨") : "⋏"
-<compose> "⊂" "⊂" : "⋐"
-<compose> "⊃" "⊃" : "⋑"
-<shift compose> "∩" "∩" : "⋒"
-<shift compose> "∪" "∪" : "⋓"
-<compose> ("∩" "|") : "⋔"
-<compose> "#" "#" : "⋕"
-<shift compose> ("|" "=") : "⋕"
-<compose> "<" "." : "⋖"
-<compose> "." ">" : "⋗"
-<compose> "<" "<" "<" : "⋘"
-<compose> ">" ">" ">" : "⋙"
-<compose> "≤" "≥" : "⋚"
-<compose> ("≶" ["-" "_"]) : "⋚"
-<compose> "≥" "≤" : "⋛"
-<compose> ("≷" ["-" "_"]) : "⋛"
-<shift compose> ("_" "<") : "⋜"
-<shift compose> ("_" ">") : "⋝"
-<shift compose> ("_" "≺") : "⋞"
-<shift compose> ("_" "≻") : "⋟"
-<shift compose> (["(" ")"] "/" "_") "<" : "⋠"
-<compose> ("/" "≼") : "⋠"
-<shift compose> (["(" ")"] "/" "_") ">" : "⋡"
-<compose> ("/" "≽") : "⋡"
-<compose> ("/" "⊑") : "⋢"
-<compose> ("/" "⊒") : "⋣"
-<compose> ("/" "⊏") : "⋤"
-<compose> ("/" "⊐") : "⋥"
-<compose> ("≁" "<") : "⋦"
-<compose> ("≁" ">") : "⋧"
-<compose> ("≁" "≺") : "⋨"
-<compose> ("≁" "≻") : "⋩"
-<compose> ("/" "⊲") : "⋪"
-<compose> ("/" "⊳") : "⋫"
-<compose> ("/" "⊴") : "⋬"
-<compose> ("/" "⊵") : "⋭"
-<shift compose> "." "|" : "⋮"
-<shift compose> "." "-" : "⋯"
-<shift compose> "." "/" : "⋰"
-<shift compose> "." "\\" : "⋱"
-<shift compose> ("C" "-") : "⋲"
-<compose> "⋲" "|" : "⋳"
-<compose> "." "⋳" : "⋴"
-<compose> "." "⋲" : "⋵"
-<shift compose> ("_" ["⋲" "⋳"]) : "⋶"
-[<compose> <shift compose>] ("_" "⋴") : "⋷"
-<shift compose> ("." ["⋶" "⋶"]) : "⋷"
-<compose> ("_" ["⋲" "⋳"]) : "⋸"
-<compose> "⋽" "⋽" : "⋸"
-<shift compose> ("C" "=") : "⋹"
-<compose> "€" "€" : "⋹"
-<compose> (["-" "="] ["⋲" "⋳"]) : "⋹"
-<compose> "⋲" "⋲" : "⋺"
-<compose> "⋳" "⋳" : "⋻"
-<compose> "⋴" "⋴" : "⋼"
-<compose> ("." ["⋺" "⋻"]) : "⋼"
-<compose> "⋸" "⋸" : "⋽"
-[<compose> <shift compose>] ("_" ["⋺" "⋻"]) : "⋽"
-<compose> ("." "⋽") : "⋾"
-<compose> "⋷" "⋷" : "⋾"
-[<compose> <shift compose>] ("_" "⋼") : "⋾"
-<compose> "∃" "∃" : "⋿"
-
-# TODO Miscellaneous Technical
-# TODO Control Pictures
-# TODO Optical Character Recognition
-
-# Enclosed Alphanumerics:
-for "1" to "9" as \1
- <compose> "(" "\1" ")" : "\add(\u2460 \sub(\1 "1"))"
- <compose> "(" " " "\1" [" " .] ")" : "\add(\u2474 \sub(\1 "1"))"
- <compose> "(" "\1" " " ")" : "\add(\u2474 \sub(\1 "1"))"
- <compose> "\1" "." : "\add(\u2488 \sub(\1 "1"))"
-end for
-for "0" to "9" as \1
- <compose> "(" "1" "\1" ")" : "\add(\u2469 \sub(\1 "0"))"
- <compose> "(" " " "1" "\1" [" " .] ")" : "\add(\u247D \sub(\1 "0"))"
- <compose> "(" "1" "\1" " " ")" : "\add(\u247D \sub(\1 "0"))"
- <compose> "1" "\1" "." : "\add(\u2491 \sub(\1 "0"))"
-end for
-<compose> "(" "2" "0" ")" : "\u2473"
-<compose> "(" " " "2" "0" [" " .] ")" : "\u2487"
-<compose> "(" "2" "0" " " ")" : "\u2473"
-<compose> "2" "0" "." : "\u2498"
-for "a" to "z" as \1
- <compose> "(" " " "\1" [" " .] ")" : "\add(\u249C \sub(\1 "a"))"
- <compose> "(" "\1" " " ")" : "\add(\u249C \sub(\1 "a"))"
-end for
-for "A" to "Z" as \1
- <compose> "(" "\1" ")" : "\add(\u24B6 \sub(\1 "A"))"
-end for
-for "a" to "z" as \1
- <compose> "(" "\1" ")" : "\add(\u24D0 \sub(\1 "a"))"
-end for
-<compose> "(" "0" ")" : "\u24EA"
-for "1" to "9" as \1
- <compose> "(" "(" "(" "1" "\1" ")" ")" ")" : "\add(\u24EB \sub(\1 "1"))"
-end for
-<compose> "(" "(" "(" "2" "0" ")" ")" ")" : "\u24F4"
-for "1" to "9" as \1
- <compose> "(" "(" "\1" ")" ")" : "\add(\u24F5 \sub(\1 "1"))"
-end for
-<compose> "(" "(" "1" "0" ")" ")" : "\u24FE"
-<compose> "(" "(" "(" "0" ")" ")" ")" : "\u24FF"
-
-# Box Drawing:
-<compose> ("╴" "╶") : "─"
-<compose> ("╸" "╺") : "━"
-<shift compose> "b" "-" : "─"
-<shift compose> "B" "-" : "━"
-<shift compose> "b" "|" : "│"
-<shift compose> "B" "|" : "┃"
-<shift compose> "b" "." "-" : "┄"
-<shift compose> "B" "." "-" : "┅"
-<compose> "┄" "┄" : "┅"
-<shift compose> "b" "." "|" : "┆"
-<shift compose> "B" "." "|" : "┇"
-<compose> "┆" "┆" : "┇"
-<shift compose> "b" ":" "-" : "┈"
-<shift compose> "B" ":" "-" : "┉"
-<compose> "┈" "┈" : "┉"
-<shift compose> "b" ":" "|" : "┊"
-<shift compose> "B" ":" "|" : "┋"
-<compose> "┊" "┊" : "┋"
-macro boxes/2
- let \3 : {
- 3 48 12 192 999 999 999 999 999 999 999 999 10 40 130 160
- 9 24 129 144 6 36 66 96 5 20 65 80 14 44 74 132
- 194 104 164 224 13 28 73 133 193 88 146 208 11 26 41 56
- 131 146 161 176 7 22 37 52 67 82 97 112 15 30 45 60
- 75 135 195 90 105 150 165 120 180 210 225 240 999 999 999 999
- 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999
- 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999
- 999 999 999 999 1 4 2 8 16 64 32 128 33 132 18 40
- }
- let \4 : \get(\3 \1)
- let \5 : \get(\3 \2)
- if \or(\equals(\4 999) \equals(\5 999))
- return
- endif
- let \6 : { \and(\4 16) \and(\4 32) \and(\4 64) \and(\4 128) }
- let \7 : { \and(\5 16) \and(\5 32) \and(\5 64) \and(\5 128) }
- let \4 : { \and(\4 1) \and(\4 2) \and(\4 4) \and(\4 8) }
- let \5 : { \and(\5 1) \and(\5 2) \and(\5 4) \and(\5 8) }
- for 0 to 3 as \8
- \set(\4 \8 \add(\rsh(\get(\4 \8) \8) \mul(2 \rsh(\get(\6 \8)))))
- \set(\5 \8 \add(\rsh(\get(\5 \8) \8) \mul(2 \rsh(\get(\7 \8)))))
- \set(\4 \8 \add(\get(\4 \8) \get(\4 \8)))
- if \greater(\get(\4 \8), 2)
- \set(\4, \8, 2)
- endif
- end for
- for 0 to 127 as \5
- let \6 : \get(\3 \5)
- if \equals(\4 999)
- continue
- endif
- let \7 : { \and(\6 16) \and(\6 32) \and(\6 64) \and(\6 128) }
- let \6 : { \and(\6 1) \and(\6 2) \and(\6 4) \and(\6 8) }
- for 0 to 3 as \8
- \set(\6 \8 \add(\rsh(\get(\6 \8) \8) \mul(2 \rsh(\get(\7 \8)))))
- end for
- if \equals(\get(\6 0) \get(\4 0))
- if \equals(\get(\6 1) \get(\4 1))
- if \equals(\get(\6 2) \get(\4 2))
- if \equals(\get(\6 3) \get(\4 3))
- <compose> ("\add(\u2500 \1)" "\add(\u2500 \2)") : "\add(\u2500 \5)"
- end if
- end if
- end if
- end if
- end for
-end macro
-for 0 to 127 as \1
- for \1 to 127 as \2
- boxes(\1 \2)
- end for
-end for
-<shift compose> "b" "+" : "┼"
-<shift compose> "B" "+" : "╋"
-<compose> (["-" "─"] ["|" "│"]) : "┼"
-<shift compose> "b" "." "." : "╌"
-<shift compose> "B" "." "." : "╍"
-<compose> "╌" "╌" : "╍"
-<shift compose> "b" "¦" : "╎"
-<shift compose> "b" "." ":" : "╎"
-<shift compose> "B" "¦" : "╏"
-<shift compose> "B" "." ":" : "╏"
-<compose> "╎" "╎" : "╏"
-<shift compose> "b" "=" "-" : "═"
-<compose> ("=" "─") : "═"
-<shift compose> "b" "=" "|" : "║"
-<compose> ("=" "│") : "║"
-<compose> ("+" "┍") : "╒"
-<compose> ("+" "┎") : "╓"
-<compose> ("+" ["┌" "┏"]) : "╔"
-<compose> ("+" "┑") : "╕"
-<compose> ("+" "┒") : "╖"
-<compose> ("+" ["┐" "┓"]) : "╗"
-<compose> ("+" "┕") : "╘"
-<compose> ("+" "┖") : "╙"
-<compose> ("+" ["└" "┗"]) : "╚"
-<compose> ("+" "┙") : "╛"
-<compose> ("+" "┚") : "╜"
-<compose> ("+" ["┘" "┛"]) : "╝"
-<compose> ("+" "┝") : "╞"
-<compose> ("+" "┠") : "╟"
-<compose> ("+" ["├" "┣"]) : "╠"
-<compose> ("+" "┥") : "╡"
-<compose> ("+" "┨") : "╢"
-<compose> ("+" ["┤" "┫"]) : "╣"
-<compose> ("+" "┯") : "╤"
-<compose> ("+" "┰") : "╥"
-<compose> ("+" ["┬" "┳"]) : "╦"
-<compose> ("+" "┷") : "╧"
-<compose> ("+" "┸") : "╨"
-<compose> ("+" ["┴" "┻"]) : "╩"
-<compose> ("+" "┿") : "╪"
-<compose> ("+" "╂") : "╫"
-<compose> ("+" ["┼" "╋"]) : "╬"
-<shift compose> "b" "=" "+" : "╬"
-<compose> ("=" "┼") : "╬"
-<compose> (["o" "O"] "┌") : "╭"
-<compose> (["o" "O"] "┐") : "╮"
-<compose> (["o" "O"] "┘") : "╯"
-<compose> (["o" "O"] "└") : "╰"
-<shift compose> "b" "/" : "╱"
-<shift compose> "b" "\\" : "╲"
-<compose> ("╱" "╲") : "╳"
-<shift compose> "b" "X" : "╳"
-<shift compose> "b" ["<" "←"] : "╴"
-<shift compose> "b" [<dead letter ^> "^" "↑"] : "╵"
-<shift compose> "b" [">" "→"] : "╶"
-<shift compose> "b" ["v" "," "↓"] : "╷"
-<shift compose> "B" ["<" "←"] : "╸"
-<shift compose> "B" [<dead letter ^> "^" "↑"] : "╹"
-<shift compose> "B" [">" "→"] : "╺"
-<shift compose> "B" ["v" "," "↓"] : "╻"
-
-# Block Elements:
-<shift compose> "B" <compose> : <dead letter █>
-dead_ascii("█")
-<dead letter █> "|" : <dead letter ▀>
-dead_ascii("▀")
-<dead letter ▀> "0" : "▀"
-<dead letter ▀> "1" : "▁"
-<dead letter ▀> "2" : "▂"
-<dead letter ▀> "3" : "▃"
-<dead letter ▀> "4" : "▄"
-<dead letter ▀> "5" : "▅"
-<dead letter ▀> "6" : "▆"
-<dead letter ▀> "7" : "▇"
-<dead letter █> "-" : <dead letter ▐>
-dead_ascii("▐")
-<dead letter ▐> "7" : "▉"
-<dead letter ▐> "6" : "▊"
-<dead letter ▐> "5" : "▋"
-<dead letter ▐> "4" : "▌"
-<dead letter ▐> "3" : "▍"
-<dead letter ▐> "2" : "▎"
-<dead letter ▐> "1" : "▏"
-<dead letter ▐> "0" : "▐"
-<dead letter █> "1" : "░"
-<dead letter █> "2" : "▒"
-<dead letter █> "3" : "▓"
-<dead letter ▀> "-" : "▔"
-<dead letter ▐> "|" : "▕"
-<dead letter █> "," : "▖"
-<dead letter █> "." : "▗"
-<dead letter █> ";" : "▘"
-<dead letter █> "▝" : "▙"
-<compose> "▗" "▘" : "▚"
-<dead letter █> "▗" : "▛"
-<dead letter █> "▖" : "▜"
-<dead letter █> ":" : "▝"
-<compose> "▖" "▝" : "▞"
-<dead letter █> "▘" : "▟"
-
-# Geometric Shapes:
-<compose> "□" "□" : "■"
-<shift compose> "s" "[" "]" :"□"
-<compose> "(" "□" ")" : "▢"
-<compose> ("■" "□") : "▣"
-<compose> ("-" "□") : "▤"
-<compose> ("|" "□") : "▥"
-<compose> ("+" "□") : "▦"
-<compose> ("\\" "□") : "▧"
-<compose> ("/" "□") : "▨"
-<compose> (["x" "X"] "") : "▩"
-<compose> "." "◾" : "▪"
-<compose> "." "◽" : "▫"
-<compose> "▭" "▭" : "▬"
-<compose> "-" "■" : "▬"
-<compose> "-" "□" : "▭"
-<shift compose> "-" "[" "]" : "▭"
-<compose> "▯" "▯" : "▮"
-<compose> "|" "■" : "▮"
-<compose> "|" "□" : "▯"
-<shift compose> "|" "[" "]" : "▯"
-<compose> "▱" "▱" : "▰"
-<compose> "/" "■" : "▰"
-<compose> "/" "□" : "▱"
-<shift compose> "/" "[" "]" : "▱"
-<compose> "△" "△" : "▲"
-<shift compose> "s" "⇑" : "▲"
-<shift compose> "s" "↑" : "△"
-<compose> "▵" "▵" : "▴"
-<compose> "." "▲" : "▴"
-<compose> "." "△" : "▵"
-<compose> "▷" "▷" : "▶"
-<shift compose> "s" "⇒" : "▶"
-<shift compose> "s" "→" : "▷"
-<compose> "▹" "▹" : "▸"
-<compose> "." "▶" : "▸"
-<compose> "." "▷" : "▹"
-<compose> "▻" "▻" : "►"
-<compose> "-" "▶" : "►"
-<compose> "-" "▷" : "▻"
-<compose> "▽" "▽" : "▼"
-<shift compose> "s" "⇓" : "▼"
-<shift compose> "s" "↓" : "▽"
-<compose> "▿" "▿" : "▾"
-<compose> "." "▼" : "▾"
-<compose> "." "▽" : "▿"
-<compose> "◁" "◁" : "◀"
-<shift compose> "s" "⇐" : "◀"
-<shift compose> "s" "←" : "◁"
-<compose> "◃" "◃" : "◂"
-<compose> "." "◀" : "◂"
-<compose> "." "◁" : "◃"
-<compose> "◅" "◅" : "◄"
-<compose> "-" "◀" : "◄"
-<compose> "-" "◁" : "◅"
-<compose> "◇" "◇" : "◆"
-<compose> "◀" "▶" : "◆"
-<compose> "◁" "▷" : "◇"
-<compose> ("◆" "◇") : "◈"
-<compose> ("●" "○") : "◉"
-<shift compose> "s" "<" ">" : "◊"
-<shift compose> "s" "(" ")" : "○"
-<compose> "." "◯" : "○"
-<compose> "○" "." : "◌"
-<compose> "○" "|" : "◍"
-<compose> ("○" "o") : "◎"
-<compose> "○" "○" : "●"
-<compose> ("◖" "○") : "◐"
-<compose> ("◗" "○") : "◑"
-<compose> "◑" "◑" : "◒"
-<compose> "◓" "◓" : "◒"
-<compose> "◐" "◐" : "◓"
-<compose> "◒" "◒" : "◓"
-<compose> "◷" "◷" : "◔"
-<compose> "◴" "◴" : "◕"
-<shift compose> "s" "(" "|" : "◖"
-<shift compose> "s" "|" ")" : "◗"
-<compose> ("■" "◦") : "◘"
-<compose> ("■" ["◯" "○"]) : "◙"
-<compose> ("◚" "◛") : "◙"
-<compose> ("■" ["◠" "◜" "◝"]) : "◚"
-<compose> ("■" ["◡" "◟" "◞"]) : "◛"
-<compose> (["◯" "○"] "↖") : "◜"
-<compose> (["◯" "○"] "↗") : "◝"
-<compose> (["◯" "○"] "↘") : "◞"
-<compose> (["◯" "○"] "↙") : "◟"
-<compose> (["◯" "○"] "↑") : "◠"
-<compose> ("◜" "◝") : "◠"
-<compose> (["◯" "○"] "↓") : "◡"
-<compose> ("◟" "◞") : "◡"
-<shift compose> "s" "⇘" : "◢"
-<compose> "◿" "◿" : "◢"
-<shift compose> "s" "⇙" : "◣"
-<compose> "◺" "◺" : "◣"
-<shift compose> "s" "⇖" : "◤"
-<compose> "◸" "◸" : "◤"
-<shift compose> "s" "⇗" : "◥"
-<compose> "◹" "◹" : "◥"
-<compose> "." "○" : "◦"
-<compose> (["□" "◻" "◽"] ["←" "⇐"]) : "◧"
-<compose> (["□" "◻" "◽"] ["→" "⇒"]) : "◨"
-<compose> ("◿" "◤") : "◩"
-<compose> (["□" "◻" "◽"] "◤") : "◩"
-<compose> ("◸" "◢") : "◪"
-<compose> (["□" "◻" "◽"] "◢") : "◪"
-<compose> "[" "|" "]" : ◫
-<compose> "◿" ["." .] "◺" : "◬"
-<compose> "" "◺" : "◭"
-<compose> "⧨" "⧨" : "◭"
-<compose> "◿" "" : "◮"
-<compose> "⧩" "⧩" : "◮"
-<compose> "+" "○" : "◯"
-<compose> ("◜" "◟") : "◯"
-<compose> ("◝" "◞") : "◯"
-<compose> ("◠" "◡") : "◯"
-<compose> ("◴" ["□" "◻"]) : "◰"
-<compose> ("◵" ["□" "◻"]) : "◱"
-<compose> ("◶" ["□" "◻"]) : "◲"
-<compose> ("◷" ["□" "◻"]) : "◳"
-<compose> ("○" "◜") : "◴"
-<compose> ("○" "◟") : "◵"
-<compose> ("○" "◞") : "◶"
-<compose> ("○" "◝") : "◷"
-<shift compose> "s" "↖" : "◸"
-<shift compose> "s" "↗" : "◹"
-<shift compose> "s" "↙" : "◺"
-<compose> "." "□" : "◻"
-<compose> "." "■" : "◼"
-<compose> "◻" "◻" : "◼"
-<compose> "." "◻" : "◽"
-<compose> "◽" "◽" : "◾"
-<compose> "." "◼" : "◾"
-<shift compose> "s" "↘" : "◿"
-
-# TODO Miscellaneous Symbols
-# TODO Dingbats
-
-# Miscellaneous Mathematical Symbols-A:
-<shift compose> "L" "/" : "⟀"
-<shift compose> ["Δ" "∆"] ["Δ" "∆"] : "⟁"
-<shift compose> "!" "|" : "⟂"
-<compose> ("⊂" "o") : "⟃"
-<compose> ("⊃" "o") : "⟄"
-<compose> "⟆" "⟆" : "⟅"
-<shift compose> (["~" <dead letter ~>] ["L" "l"]) : "⟅"
-<shift compose> (["~" <dead letter ~>] ["J" "j"]) : "⟆"
-<compose> "⟅" "⟅" : "⟆"
-<compose> ("∨" ".") : "⟇"
-<compose> "⟑" "⟑" : "⟇"
-<compose> "\\" "⊂" : "⟈"
-<compose> "⊃" "/" : "⟉"
-<compose> ("-" "|") : "⟊"
-<shift compose> "/" "/" : "⟋"
-<shift compose> (")" "7") : "⟌"
-<shift compose> "\\" "\\" : "⟍"
-<compose> "[" "∧" "]" : "⟎"
-<compose> "[" "∨" "]" : "⟏"
-<shift compose> "<" "." ">" : "⟐"
-<compose> ("∧" ".") : "⟑"
-<compose> "⟇" "⟇" : "⟑"
-<compose> "⫙" "⫙" : "⟒"
-<compose> ("∪" "|") : "⟒"
-<compose> "⟔" "⟔" : "⟓"
-<shift compose> "_" "." "|" : "⟓"
-<shift compose> "|" "." "_" : "⟔"
-<compose> "⟓" "⟓" : "⟔"
-<compose> "=" "⨝" : "⟕"
-<compose> "=" "⊳" : "⟕"
-<compose> "⟖" "⟖" : "⟕"
-<compose> "⊲" "=" : "⟖"
-<compose> "⨝" "=" : "⟖"
-<compose> "⟕" "⟕" : "⟖"
-<compose> "⨝" "⨝" : "⟗"
-<compose> "⟕" "⟖" : "⟗"
-<shift compose> "=" "⨝" "=" : "⟗"
-<dead letter ^> "⟘" : "⟘"
-<compose> "⟙" "⟙" : "⟘"
-<dead letter ^> "⟙" : "⟙"
-<compose> "⟘" "⟘" : "⟙"
-<compose> "⫤" "⊨" : "⟚"
-<compose> "⊣" "⊢" : "⟛"
-<shift compose> "o" "-" <space> : "⟜"
-<compose> "⊸" "⊸" : "⟜"
-<shift compose> "|" "-" "-" "-" : "⟝"
-<compose> "⊢" "-" : "⟝"
-<shift compose> "-" "-" "-" "|" : "⟞"
-<compose> "-" "⊣" : "⟞"
-<compose> "⫱" "⫱" : "⟟"
-<shift compose> "o" "|" "-" : "⟟"
-<compose> ("-" "⫯") : "⟟"
-<shift compose> "<" "-" ">" : "⟠"
-<shift compose> "." "<" ">" : "⟡"
-<shift compose> "-" "<" ">" : "⟢"
-<compose> "-" "⟡" : "⟢"
-<compose> "⟣" "⟣" : "⟢"
-<shift compose> "<" ">" "-" : "⟣"
-<compose> "⟡" "-" : "⟣"
-<compose> "⟢" "⟢" : "⟣"
-<shift compose> "-" "[" "]" : "⟤"
-<compose> "⟥" "⟥" : "⟤"
-<shift compose> "[" "]" "-" : "⟥"
-<compose> "⟤" "⟤" : "⟥"
-<compose> "[" "[" : "⟦"
-<compose> "]" "]" : "⟧"
-<compose> "<" "⟨" : "⟨"
-<compose> ")" ">" : "⟩"
-<compose> "⟨" "⟨" : "⟪"
-<compose> "⟩" "⟩" : "⟫"
-<compose> "(" "|" : "⟬"
-<compose> "|" ")" : "⟭"
-<compose> "|" "(" : "⟮"
-<compose> ")" "|" : "⟯"
-
-# Supplemental Arrows-A:
-<compose> "⤊" "⤊" : "⟰"
-<compose> "⤋" "⤋" : "⟱"
-<compose> ("↶" ["O" "o"]) : "⟲"
-<compose> "↺" "↺" : "⟲"
-<compose> ("↷" ["O" "o"]) : "⟳"
-<compose> "↻" "↻" : "⟳"
-<compose> ("O" "→") : "⟴"
-<compose> "⇴" "⇴" : "⟴"
-<compose> ("|" "⇴") : "⟴"
-<compose> "←" "-" : "⟵"
-<compose> "-" "→" : "⟶"
-<compose> "⟵" "⟶" : "⟷"
-<compose> "⇐" "=" : "⟸"
-<compose> "=" "⇒" : "⟹"
-<compose> "⟸" "⟹" : "⟺"
-<compose> "↤" "↤" : "⟻"
-<compose> "⟵" "|" : "⟻"
-<compose> "↦" "↦" : "⟼"
-<compose> "|" "⟶" : "⟼"
-<compose> "⟸" "|" : "⟽"
-<compose> "|" "⟹" : "⟾"
-<compose> "⇝" "⇝" : "⟿"
-<compose> "←" "|" : "↤"
-<compose> ("-" "↑") : "↥"
-<compose> "|" "→" : "↦"
-
-# Braille Patterns:
-function braille/1
- \or(\lsh(1 \sub("\1" "0")) "\u2800")
-end function
-macro braille_double/1
- let \2 : "\u2800"
- if \and(\1 1) = 1
- let \2 : \or(\2 8)
- endif
- if \and(\1 2) = 2
- let \2 : \or(\2 16)
- endif
- if \and(\1 4) = 4
- let \2 : \or(\2 32)
- endif
- if \and(\1 8) = 8
- let \2 : \or(\2 1)
- endif
- if \and(\1 16) = 16
- let \2 : \or(\2 2)
- endif
- if \and(\1 32) = 32
- let \2 : \or(\2 4)
- endif
- if \and(\1 64) = 64
- let \2 : \or(\2 128)
- endif
- if \and(\1 128) = 128
- let \2 : \or(\2 64)
- endif
- <compose> "\1" "\1" : "\or(\1 \2)"
-end macro
-<shift compose> "b" <space> : "\u2800"
-for "1" to "8" as \1
- <shift compose> "b" "\1" : "\braille(\1)"
- for \add(\1 1) to "8" as \2
- <shift compose> "B" ("\1" "\2") : "\or(\braille(\1) \braille(\2))"
- end for
-end for
-for "\u2800" to "\u28FF" as \1
- braille_double(\1)
- for \add(\1 1) to "\u28FF" as \2
- <compose> ("\1" "\2") : "\or(\1 \2)"
- end for
-end for
-
-# Supplemental Arrows-B:
-<shift compose> "|" "↠" : "⤀"
-<shift compose> "|" "⤀" : "⤁"
-<shift compose> "|" "⇐" : "⤂"
-<shift compose> "|" "⇒" : "⤃"
-<shift compose> "|" "⇔" : "⤄"
-<compose> "⤂" "⤃" : "⤄"
-<compose> "|" "↠" : "⤅"
-<compose> "⇐" "|" : "⤆"
-<compose> "|" "⇒" : "⤇"
-<shift compose> "-" "↓" : "⤈"
-<shift compose> "-" "↑" : "⤉"
-<compose> "⇑" "⇑" : "⤊"
-<compose> "⇓" "⇓" : "⤋"
-<compose> ("¦" "←") : "⤌"
-<compose> ("¦" "→") : "⤍"
-<compose> ("." "←") : "⤎"
-<compose> ("." "→") : "⤏"
-<compose> "." "⤖" : "⤐"
-<compose> ("…" "→") : "⤑"
-<compose> "_" "↑" : "⤒"
-<compose> "↓" "_" : "⤓"
-<compose> ("|" "↣") : "⤔"
-<compose> ("|" "⤔") : "⤕"
-<compose> ">" "↠" : "⤖"
-<compose> ("|" "⤖") : "⤗"
-<compose> ("|" "⤗") : "⤘"
-<shift compose> "-" "-" "<" : "⤙"
-<shift compose> ">" "-" "-" : "⤚"
-<shift compose> "⤙" ["<" "⤙"] : "⤛"
-<shift compose> [">" "⤚"] "⤚" : "⤜"
-<shift compose> "." "←" "⤝"
-<shift compose> "→" "." "⤞"
-<compose> "⤝" "|" : "⤟"
-<compose> "|" "⤞" : "⤠"
-<shift compose> "↖" "↘" : "⤡"
-<shift compose> "↙" "↗" : "⤢"
-<compose> ")" "↖" : "⤣"
-<compose> "↗" "(" : "⤤"
-<compose> "↘" "(" : "⤥"
-<compose> ")" "↙" : "⤦"
-<compose> "↖" "↗" "⤧"
-<compose> "↗" "↘" "⤨"
-<compose> "↘" "↙" "⤩"
-<compose> "↙" "↖" "⤪"
-<shift compose> "X" "\\" "/" : "⤫"
-<shift compose> "X" "/" "\\" : "⤬"
-<compose> "⤬" "⤨" : "⤭"
-<compose> "⤬" ("↗" "↘") : "⤭"
-<shift compose> "↗" "↘" : "⤭"
-<compose> "⤫" "⤨" : "⤮"
-<compose> "⤫" ("↗" "↘") : "⤮"
-<shift compose> "↘" "↗" : "⤮"
-<compose> "⤬" "↗" : "⤯"
-<shift compose> "↗" "\\" : "⤯"
-<compose> "⤫" "↘" : "⤰"
-<shift compose> "↘" "/" : "⤰"
-<compose> "⤫" "⤧" : "⤱"
-<compose> "⤫" "(↖" "↗") : "⤱"
-<shift compose> "↖" "↗" : "⤱"
-<compose> "⤬" "⤧" : "⤲"
-<compose> "⤬" "(↖" "↗") : "⤱"
-<shift compose> "↗" "↖" : "⤱"
-<shift compose> (["~" <dead letter ~>] "→") : "⤳"
-<shift compose> ["O" "o"] "→" "↑" : "⤴"
-<shift compose> ["O" "o"] "→" "↓" : "⤵"
-<shift compose> ["O" "o"] "↓" "←" : "⤶"
-<shift compose> ["O" "o"] "↓" "→" : "⤷"
-<compose> (")" "↓") : "⤸"
-<compose> ("(" "↓") : "⤹"
-<shift compose> ("n" "←") : "⤺"
-<shift compose> ("u" "→") : "⤻"
-<compose> "⤽" "⤽" : "⤼"
-<shift compose> "n" "-" "→" : "⤼"
-<shift compose> "n" "+" "←" : "⤽"
-<compose> "⤺" "+" : "⤽"
-<compose> "⤼" "⤼" : "⤽"
-<shift compose> "←" "." <space> : "⤾"
-<compose> "⥁" "⥁" : "⤾"
-<shift compose> "→" "." <space> : "⤿"
-<compose> "⥀" "⥀" : "⤿"
-<shift compose> "←" "O" : "⥀"
-<shift compose> "→" "O" : "⥁"
-<shift compose> "→" "." "←" : "⥂"
-<shift compose> "←" "." "→" : "⥃"
-<shift compose> "." "→" "←" : "⥄"
-<shift compose> "→" "+" : "⥅"
-<shift compose> "←" "+" : "⥆"
-<compose> "x" "→" : "⥇"
-<compose> ("↔" "o") : "⥈"
-<compose> "↟" "o" : "⥉"
-<shift compose> "↼" "⇁" : "⥊"
-<shift compose> "↽" "⇀" : "⥋"
-<shift compose> "↾" "⇃" : "⥌"
-<shift compose> "↿" "⇂" : "⥍"
-<shift compose> "↼" "⇀" : "⥎"
-<shift compose> "↾" "⇂" : "⥏"
-<shift compose> "↽" "⇁" : "⥐"
-<shift compose> "↿" "⇃" : "⥑"
-<compose> "|" "↼" : "⥒"
-<compose> "⇀" "|" : "⥓"
-<compose> "-" "↾" : "⥔"
-<compose> "⇂" "-" : "⥕"
-<compose> "|" "↽" : "⥖"
-<compose> "⇁" "|" : "⥗"
-<compose> "-" "↿" : "⥘"
-<compose> "⇃" "-" : "⥙"
-<compose> "↼" "|" : "⥚"
-<compose> "|" "⇀" : "⥛"
-<compose> "↾" "-" : "⥜"
-<compose> "-" "⇂" : "⥝"
-<compose> "↽" "|" : "⥞"
-<compose> "|" "⇁" : "⥟"
-<compose> "↿" "-" : "⥠"
-<compose> "-" "⇃" : "⥡"
-<compose> "↼" "↽" : "⥢"
-<compose> "↿" "↾" : "⥣"
-<compose> "⇀" "⇁" : "⥤"
-<compose> "⇃" "⇂" : "⥥"
-<compose> "↼" "⇀" : "⥦"
-<compose> "↽" "⇁" : "⥧"
-<compose> "⇀" "↼" : "⥨"
-<compose> "⇁" "↽" : "⥩"
-<compose> "↼" "-" : "⥪"
-<compose> "↽" "-" : "⥫"
-<compose> "-" "⇀" : "⥬"
-<compose> "-" "⇁" : "⥭"
-<compose> "↿" "⇂" : "⥮"
-<compose> "⇃" "↾" : "⥯"
-<compose> ("⊃" "]") : "⥰"
-<shift compose> "=" "→" "⥱"
-<shift compose> ["~" <dead letter ~>] "→" "⥲"
-<shift compose> "←" ["~" <dead letter ~>] "⥳"
-<shift compose> "→" ["~" <dead letter ~>] "⥴"
-<shift compose> "→" "≈" "⥵"
-<shift compose> "<" "←" "⥶"
-<shift compose> "←" "<" "⥷"
-<shift compose> ">" "→" "⥸"
-<shift compose> "⊂" "→" "⥹"
-<shift compose> "←" "⊂" "⥺"
-<shift compose> "⊃" "←" "⥻"
-<compose> "{" "←" : "⥼"
-<compose> "→" "}" : "⥽"
-<compose> ["{" "}"] "↑" : "⥾"
-<compose> ["{" "}"] "↓" : "⥿"
-
-# Miscellaneous Mathematical Symbols-B:
-<shift compose> ":" "3" "|" : "⦀"
-<shift compose> "z" "." : "⦁"
-<shift compose> "z" ":" : "⦂"
-<compose> "{" "|" : "⦃"
-<compose> "|" "}" : "⦄"
-<shift compose> "|" "(" : "⦅"
-<shift compose> ")" "|" : "⦆"
-<shift compose> "(" "|" : "⦇"
-<shift compose> "|" ")" : "⦈"
-<compose> "⟨" "|" : "⦉"
-<compose> "|" "⟩" : "⦊"
-<compose> ("_" "[") : "⦋"
-<compose> ("_" "]") : "⦌"
-<compose> ("[" "\\") : "⦍"
-<compose> ("]" "\\") : "⦎"
-<compose> ("[" "/") : "⦏"
-<compose> ("]" "/") : "⦐"
-<compose> ("⟨" ["." "⋅"]) : "⦑"
-<compose> ("⟩" ["." "⋅"]) : "⦒"
-<compose> ("(" "<") : "⦓"
-<compose> (")" ">") : "⦔"
-<compose> (">" "⸨") : "⦕"
-<compose> ("<" "⸩") : "⦖"
-<compose> "⟬" "⟬" : "⦗"
-<compose> "⟭" "⟭" : "⦘"
-<shift compose> ":" ":" "|" : "⦙"
-<compose> ("⧘" "⧙") : "⦚"
-<compose> "}" "{" : "⦚"
-<compose> ("(" "⦣") : "⦛"
-<compose> ("∟" "]") : "⦜"
-<compose> ("∟" ".") : "⦝"
-<compose> (["∠" "⦟"] "s") : "⦞"
-<compose> ["∠" "."] "∠" : "⦟"
-<compose> "∢" "∢" : "⦠"
-<shift compose> ("(" ">") : "⦠"
-<shift compose> (["(" ")" ] ["v" "V"]) : "⦡"
-<shift compose> "¯" "/" : "⦢"
-<compose> "⦣" "⦣" : "⦢"
-<shift compose> "_" "\\" : "⦣"
-<compose> "⦢" "⦢" : "⦣"
-<compose> ("_" "⦣") : "⦤"
-<compose> ("_" ["∠" "⦟"]) : "⦥"
-<shift compose> "\\" "_" : "⦦"
-<shift compose> "/" ["^" <dead letter ~>] "_" : "⦧"
-<shift compose> "/" "¯" : "⦧"
-<compose> (["∠" "⦟" "∡"] "↗") : "⦨"
-<shift compose> ("-" "↗") : "⦨"
-<compose> (["⦛" "⦣"] "↖") : "⦩"
-<shift compose> ("-" "↖") : "⦩"
-<compose> ("⦢" "↘") : "⦪"
-<shift compose> ("-" "↘") : "⦩"
-<compose> ("⦢" "↙") : "⦫"
-<shift compose> ("-" "↙") : "⦩"
-<compose> ("⩗" "↗") : "⦬"
-<shift compose> ("|" "↗") : "⦬"
-<compose> ("⩗" "↖") : "⦭"
-<shift compose> ("|" "↖") : "⦭"
-<compose> ("⩘" "↘") : "⦮"
-<shift compose> ("|" "↘") : "⦮"
-<compose> ("⩘" "↙") : "⦯"
-<shift compose> ("|" "↙") : "⦯"
-<compose> "∅" "∅" : "⦰"
-<compose> ("∅" "_") : "⦱"
-composite("∅" "°" "⦲")
-<compose> ("∅" "→") : "⦳"
-<compose> ("∅" "←") : "⦴"
-<shift compose> "(" "-" "-" ")" : "⦵"
-<shift compose> "(" "|" ")" : "⦶"
-<shift compose> "(" "|" "|" ")" : "⦷"
-<shift compose> "(" "\\" ")" : "⦸"
-<shift compose> "(" ["⟂" "⊥"] ")" : "⦹"
-<compose> "⦺" "⦺" : "⦹"
-<shift compose> "(" "⫠" ")" : "⦺"
-<compose> "⦹" "⦹" : "⦺"
-<shift compose> "(" "X" )" : "⦻"
-<shift compose> "(" "%" )" : "⦼"
-<shift compose> ("O" "↑") : "⦽"
-<shift compose> "(" "o" )" : "⦾"
-<shift compose> "(" "(" ")" )" : "⦾"
-<shift compose> "(" "(" "o" ")" )" : "⦿"
-<shift compose> "(" "(" "(" ")" ")" )" : "⦿"
-<shift compose> "(" "<" ")" : "⧀"
-<shift compose> "(" ">" ")" : "⧁"
-<shift compose> "O" "o" : "⧂"
-<shift compose> "O" "=" : "⧃"
-<shift compose> "[" "/" "]" : "⧄"
-<shift compose> "[" "\\" "]" : "⧅"
-<shift compose> "[" "*" "]" : "⧆"
-<shift compose> "[" "o" "]" : "⧇"
-<shift compose> "[" "[" "]" "]" : "⧈"
-<shift compose> "[" "]" "[" "]" : "⧉"
-<compose> (["Δ" "∆"] ".") : "⧊"
-<compose> (["Δ" "∆"] "_") : "⧋"
-<compose> (["Δ" "∆"] "s") : "⧌"
-<shift compose> (["Δ" "∆"] "_") : "⧍"
-<shift compose> "⊳" "/" "⊲" : "⧎"
-<shift compose> "⊲" "|" : "⧏"
-<shift compose> "|" "⊳" : "⧐"
-<compose> "⧑" "⧑" : "⧒"
-<compose> "|" "⧕" : "⧒"
-<compose> "⧔" "|" : "⧑"
-<compose> "⧒" "⧒" : "⧑"
-<compose> ("⧑" "⧒") : "⧓"
-<compose> "⧕" "⧕" : "⧔"
-<shift compose> "|" ">" "<" : "⧔"
-<shift compose> ">" "<" "|" : "⧕"
-<compose> "⧔" "⧔" : "⧕"
-<compose> "⧖" "⧖" : "⧗"
-<compose> "}" "|" : "⧘"
-<compose> "|" "{" : "⧙"
-<compose> "⧘" "⧘" : "⧚"
-<compose> "⧙" "⧙" : "⧛"
-<shift compose> "o" "-" "u" : "⧜"
-<shift compose> "o" "°" "o" : "⧝"
-<shift compose> "o" "|" "o" : "⧞"
-<shift compose> "0" "|" "0" : "⧞"
-<compose> ("|" "∞") : "⧞"
-<shift compose> "o" "-" "o" : "⧟"
-<compose> "⧉" "⧉" : "⧠"
-<shift compose> "[" "[" "]" <space> : "⧠"
-<compose> "⦤" "|" : "⧡"
-<shift compose> "w" "w" : "⧢"
-<shift compose> "W" "W" : "⧢"
-<compose> ("/" "#") : "⧣"
-<dead letter ~> "⧣" : "⧤"
-<compose> "⧣" "⧣" : "⧥"
-<shift compose> "|" "=" "|" : "⧦"
-<shift compose> "=" "|" : "⧧"
-<compose> "+" "\\" "\\" "|" "/" : "⧨"
-<compose> "◭" "◭" : "⧨"
-<compose> "+" "\\" "|" "/" "/" : "⧩"
-<compose> "◮" "◮" : "⧩"
-<compose> ("⧫" "↓") : "⧪"
-<shift compose> "<" "<" "<" ">" ">" ">" : "⧫"
-<compose> "◊" "◊" : "⧫"
-<shift compose> (["o" "O"] "↓") : "⧬"
-<compose> "⧬" "⧬" : "⧭"
-<shift compose> "]" "[" "[" "]" : "⧮"
-<shift compose> "[" "]" "]" "[" : "⧮"
-<compose> "⧮" "⧮" : "⧯"
-<shift compose> "]" "[" "<" ">" : "⧰"
-<shift compose> "<" ">" "]" "[" : "⧰"
-<compose> "⧰" "⧰" : "⧱"
-<shift compose> "]" "[" "(" ")" : "⧲"
-<shift compose> "(" ")" "]" "[" : "⧲"
-<shift compose> "]" "[" ["O" "o"] : "⧲"
-<shift compose> ["O" "o"] "]" "[" : "⧲"
-<compose> "⧲" "⧲" : "⧳"
-<compose> ":" "→" : "⧴"
-<compose> "\\" "\\" : "⧵"
-<compose> ("_" "∕") : "⧶"
-<shift compose> ("-" "\\") : "⧷"
-<compose> "⟋" "⟋" : "⧸"
-<compose> "∕" "∕" : "⧸"
-<compose> "⟍" "⟍" : "⧹"
-<compose> "⧵" "⧵" : "⧸"
-<shift compose> "-" "|" "-" "|" "-" : "⧺"
-<shift compose> "-" "|" "|" "|" "-" : "⧻"
-<compose> "⧺" "⧺" : "⧻"
-<shift compose> ")" "<" : "⧼"
-<shift compose> ">" "(" : "⧽"
-<shift compose> "+" "+" : "⧾"
-<compose> "⧿" "⧿" : "⧾"
-<shift compose> "−" "−" : "⧿"
-<compose> "⧾" "⧾" : "⧿"
-
-# Supplemental Mathematical Operators:
-<compose> "⊙" "⊙" : "⨀"
-<compose> "⊕" "⊕" : "⨁"
-<compose> "⊗" "⊗" : "⨂"
-<compose> "⊍" "⊍" : "⨃"
-<compose> "⊎" "⊎" : "⨄"
-<compose> "⊓" "⊓" : "⨅"
-<compose> "⊔" "⊔" : "⨆"
-<compose> "⋀" "⋀" : "⨇"
-<compose> "⋁" "⋁" : "⨈"
-<shift compose> ("/" "\\") : "⨉"
-<compose> ("o" "∑") : "⨊"
-<compose> ("∑" "∫") : "⨋"
-<compose> "∬" "∬" : "⨌"
-<compose> ("∫" "∭") : "⨌"
-<compose> "4" ["s" "ſ" "∫"] : "⨌"
-<compose> ("-" "∫") : "⨍"
-<compose> ("=" "∫") : "⨎"
-<compose> ("/" "∫") : "⨏"
-<compose> (["c" "C"] "∫") : "⨐"
-<compose> (["u" "U"] "∫") : "⨑"
-<compose> "]" "∫" : "⨒"
-<compose> ")" "∫" : "⨓"
-<compose> ")" ")" "∫" : "⨔"
-<compose> "∫" ")" ")" : "⨔"
-<compose> "(" ")" "∫" : "⨕"
-<compose> "∫" "(" ")" : "⨕"
-<compose> "[" "]" "∫" : "⨖"
-<compose> "∫" "[" "]" : "⨖"
-<compose> ("←" "∫") : "⨗"
-<compose> (["x" "X" "×"] "∫") : "⨘"
-<compose> ("∩" "∫") : "⨙"
-<compose> ("∪" "∫") : "⨚"
-<shift compose> ("_" "∫") : "⨛"
-<compose> "⨜" "⨜" : "⨛"
-<compose> ("_" "∫") : "⨜"
-<compose> "⨛" "⨛" : "⨜"
-<compose> "⊳" "⊲" : "⨝"
-<compose> "⊲" "⊲" : "⨞"
-<shift compose> "z" ";" : "⨟"
-<compose> "⨾" "⨾" : "⨟"
-<shift compose> "z" ">" : "⨠"
-<shift compose> "z" ["|" "↑"] : "⨡"
-<dead letter °> "+" : "⨢"
-<dead letter ^> "+" : "⨣"
-<dead letter ~> "+" : "⨤"
-<compose> "+" "." : "⨥"
-<compose> "+" ["~" <dead letter ~>] : "⨦"
-<compose> "+" ["2" "₂"] : "⨧"
-<compose> "+" ["^" <dead letter ^>] : "⨨"
-<compose> "," "-" : "⨩"
-<shift compose> "-" "." : "⨪"
-<shift compose> ":" "\\" "-" : "⨫"
-<shift compose> ":" "/" "-" : "⨬"
-<shift compose> "(" "+" : "⨭"
-<shift compose> "+" ")" : "⨮"
-<compose> "." "×" : "⨯"
-<shift compose> "." "×" : "⨰"
-<compose> ("." "⨯") : "⨰"
-<compose> ("_" "×") : "⨱"
-<compose> "⨱" "⨱" : "⨲"
-<compose> "×" "×" : "⨳"
-<shift compose> "(" ["x" "×"] : "⨴"
-<shift compose> ["x" "×"] ")" : "⨵"
-<shift compose> ("^" <dead letter ^>) "(" ["x" "X" "×"] ")" : "⨶"
-<dead letter ^> "⊗" : "⨶"
-<shift compose> "(" "(" ["x" "X" "×"] ")" ")" : "⨷"
-[<compose> <shift compose>] "(" "⊗" ")" : "⨷"
-<shift compose> "(" "÷" ")" : "⨸"
-<compose> (["Δ" "∆"] "+") : "⨹"
-<shift compose> "/" "+" "\\" : "⨹"
-<compose> (["Δ" "∆"] ["-" "−"]) : "⨺"
-<shift compose> "/" ["-" "−"] "\\" : "⨺"
-<compose> (["Δ" "∆"] ["x" "×"]) : "⨻"
-<shift compose> "/" ["x" "×"] "\\" : "⨻"
-<compose> ("-" "¬") : "⨼"
-<compose> ("+" "¬") : "⨽"
-<compose> "⨟" "⨟" : "⨾"
-<compose> "." "⨟" : "⨾"
-<shift compose> "∐" "∐" : "⨿"
-<compose> (∩ ["." "⋅"]) : "⩀"
-<compose> (∪ ["." "−"]) : "⩁"
-<compose> ("_" "∪") : "⩂"
-<compose> "⩌" "⩌" : "⩂"
-<compose> ("_" "∩") : "⩃" # the font "fixed" places the bar beneath instead of above in ⩃
-<compose> "⩍" "⩍" : "⩃" # the font "fixed" places the bar beneath instead of above in ⩃
-<compose> "∩" ["^" <dead letter ^>] : "⩄"
-<dead letter ^> "∩" : "⩄"
-<compose> "⩅" "⩅" : "⩄"
-<compose> ("v" "∪") : "⩅"
-<compose> "⩄" "⩄" : "⩅"
-<compose> "∪" "∩" : "⩆"
-<compose> "∩" "∪" : "⩇"
-<shift compose> "∪" "∩" : "⩈"
-<shift compose> "∩" "∪" : "⩉"
-<compose> ("∪" "w") : "⩊"
-<compose> ("∩" "m") : "⩋"
-<shift compose> ("_" "∪") : "⩌"
-<compose> "⩂" "⩂" : "⩌"
-<shift compose> ("_" "∩") : "⩍"
-<compose> "⩃" "⩃" : "⩍" # the font "fixed" places the bar beneath instead of above in ⩃
-<compose> "⊓" "⊓" : "⩎"
-<compose> "⊔" "⊔" : "⩏"
-<compose> ("*" "∪") : "⩐"
-<compose> ("." "∧") : "⩑"
-<compose> ("." "∨") : "⩒"
-<shift compose> "∨" "∨" : "⩓"
-<shift compose> "∧" "∧" : "⩔"
-<compose> "." "⨇" : "⩕"
-<compose> "." "⨈" : "⩖"
-<compose> "|" "/" : "⩗"
-<compose> "/" "|" : "⩘"
-<shift compose> ("∨" "∧") : "⩙"
-<compose> ("|" "∧") : "⩚"
-<compose> ("|" "∨") : "⩛"
-<compose> ("-" "∧") : "⩜"
-<compose> ("-" "∨") : "⩝"
-<shift compose> "=" "∧" : "⩞"
-<compose> ("_" "∧") : "⩟"
-<shift compose> "∧" "=": "⩠"
-<compose> "." "⊻" : "⩡"
-<shift compose> "=" "∨" : "⩢"
-<shift compose> "∨" "=": "⩣"
-<compose> ("⊲" "-") : "⩤"
-<compose> ("⊳" "-") : "⩥"
-<compose> ("." "⩦") : "⩦"
-<shift compose> ("." "≡") : "⩧"
-<compose> "3" "#" : "⩨"
-<compose> "4" "#" : "⩩"
-<compose> "." ["~" <dead letter ~>] : "⩪"
-<dead letter ~> "/" ":" : "⩫"
-<shift compose> ["~" <dead letter ~>] "-" ["~" <dead letter ~>] : "⩬"
-<compose> "." "≅" : "⩭"
-<shift compose> ("*" "=") : "⩮"
-<dead letter ^> "≈" : "⩯"
-<compose> "≈" ("~" <dead letter ~>) : "⩯"
-<compose> "≈" "=" : "⩰"
-<compose> "=" "+" : "⩱"
-<compose> "+" "=" : "⩲"
-<compose> "=" ("~" <dead letter ~>) : "⩳"
-<shift compose> ":" ":" "=" : "⩴"
-<shift compose> "=" "=" <space> : "⩵"
-<shift compose> "=" "=" "=" : "⩶"
-<shift compose> ":" "=" ":" : "⩷"
-<shift compose> ("…" ["=" "≡"]) : "⩸"
-<compose> ("<" "o") : "⩹"
-<compose> (">" "o") : "⩺"
-<compose> ("<" "?") : "⩻"
-<compose> (">" "?") : "⩼"
-<compose> "≤" "≤" : "⩽"
-<compose> "≥" "≥" : "⩾"
-<compose> ("." "⩽") : "⩿"
-<compose> ("." "⩾") : "⪀"
-<shift compose> "." "⩽" : "⪁"
-<shift compose> "." "⩾" : "⪂"
-<shift compose> "⩽" "." : "⪃"
-<shift compose> "⩾" "." : "⪄"
-<compose> ("<" "≈") : "⪅"
-<compose> (">" "≈") : "⪆"
-<shift compose> ("/" "≤") : "⪇"
-<shift compose> ("/" "≥") : "⪈"
-<compose> ("<" "≉") : "⪉"
-<compose> (">" "≉") : "⪊"
-<shift compose> "<" "=" ">" : "⪋"
-<shift compose> ">" "=" "<" : "⪌"
-<shift compose> "<" ["~" <dead letter ~>] ["_" "-"] : "⪍"
-<compose> "<" "≃" : "⪍"
-<compose> ("_" "≲") : "⪍"
-<shift compose> ">" ["~" <dead letter ~>] ["_" "-"] : "⪎"
-<compose> ">" "≃" : "⪎"
-<compose> ("_" "≳") : "⪎"
-<compose> ("/" "≃") : "≄"
-<shift compose> "<" ["~" <dead letter ~>] ">" : "⪏"
-<shift compose> ">" ["~" <dead letter ~>] "<" : "⪐"
-<shift compose> "<" ">" "=" : "⪑"
-<shift compose> ">" "<" "=" : "⪒"
-<compose> "⩽" "⩾" : "⪓"
-<compose> "⩾" "⩽" : "⪔"
-<compose> "⋜" "⋜" : "⪕"
-<compose> "⋝" "⋝" : "⪖"
-<compose> "⩿" "⩿" : "⪗"
-<compose> "⪀" "⪀" : "⪘"
-<compose> "≦" "≦" : "⪙" # ⪙ is mirrored by mistake in the font "fixed"
-<compose> "≧" "≧" : "⪚"
-<compose> "⪙" "⪙" : "⪛" # ⪙ is mirrored by mistake in the font "fixed"
-<compose> "⪚" "⪚" : "⪜"
-<dead letter ~> "<" : "⪝"
-<dead letter ~> ">" : "⪞"
-<compose> ("⪝" "=") : "⪟"
-<compose> ("⪞" "=") : "⪠"
-<shift compose> "." "<" "<" <space> : "⪡"
-<shift compose> "." ">" ">" <space> : "⪢"
-<compose> ("_" ["«" "≪"]) : "⪣"
-<compose> "⪥" "⪥" : "⪤"
-<shift compose> ">" "<" : "⪥"
-<compose> "<" ")" : "⪦"
-<compose> "(" ">" : "⪧"
-<compose> ("_" "⪦") : "⪨"
-<compose> ("_" "⪧") : "⪩"
-<compose> ("-" "<") : "⪪"
-<compose> ("-" ">") : "⪫"
-<compose> ("_" "⪪") : "⪬"
-<compose> ("_" "⪫") : "⪭"
-<compose> ("=" "≏") : "⪮"
-<compose> "≼" "≼" : "⪯"
-<compose> "≽" "≽ : "⪰"
-<compose> ("/" "⪯") : "⪱"
-<compose> ("/" "⪰") : "⪲"
-<compose> ("=" "≺") : "⪳"
-<compose> ("=" "≻") : "⪴"
-<compose> ("≠" "≺") : "⪵"
-<compose> ("≠" "≻") : "⪶"
-<compose> ("≈" "≺") : "⪷"
-<compose> ("≈" "≻") : "⪸"
-<compose> ("≉" "≺") : "⪹"
-<compose> ("≉" "≻") : "⪺"
-<compose> ("_" "≻") : "≽"
-<compose> "≺" "≺" : "⪻"
-<compose> "≻" "≻" : "⪼"
-<compose> ("⊂" ".") : "⪽"
-<compose> ("⊃" ".") : "⪾"
-<compose> ("⊂" "+") : "⪿"
-<compose> ("⊃" "+") : "⫀"
-<compose> ("⊂" ["x" "×"]) : "⫁"
-<compose> ("⊃" ["x" "×"]) : "⫂"
-<compose> ("⊆" ".") : "⫃"
-<compose> ("⊇" ".") : "⫄"
-<compose> ("⊂" "=") : "⫅"
-<compose> ("⊃" "=") : "⫆"
-<compose> ("⊂" ["~" <dead letter ~>]) : "⫇"
-<dead letter ~> "⊂" : "⫇"
-<compose> ("⊃" ["~" <dead letter ~>]) : "⫈"
-<dead letter ~> "⊃" : "⫈"
-<compose> ("⊂" "≈") : "⫉"
-<compose> ("⊃" "≈") : "⫊"
-<compose> ("⊂" "≠") : "⫋"
-<compose> ("⊃" "≠") : "⫌"
-<compose> ("-" "⊏") : "⫍"
-<compose> "-" (["[" "]"] "<") : "⫍"
-<compose> ("-" "⊐") : "⫎"
-<compose> "-" (["[" "]"] ">") : "⫎"
-<compose> "⊂" "|" : "⫏"
-<compose> "|" "⊃" : "⫐"
-<compose> ("_" "⫏") : "⫑"
-<compose> ("_" "⫐") : "⫒"
-<compose> "⊂" "⊃" : "⫓"
-<compose> "⊃" "⊂" : "⫔"
-<shift compose> "⊂" "⊂" : "⫕"
-<shift compose> "⊃" "⊃" : "⫖"
-<shift compose> "⊃" "⊂" : "⫗"
-<compose> ("-" "⫗") : "⫘"
-<compose> "⋔" "." : "⫙"
-<compose> "⟒" "⟒" : "⫙"
-<compose> ("∩" "Y") : "⫚"
-<compose> "⋔" "⋔" : "⫛"
-<compose> ("/" "⫝") : "⫝̸"
-<compose> ("|" "u") : "⫝"
-<compose> "." "⊣" : "⫞"
-<compose> "." "⊤" : "⫟"
-<compose> "⫠" "⫠" : "⫟"
-<compose> "." "⊥" : "⫠"
-<compose> "⫟" "⫟" : "⫠"
-<compose> (["⊥" "⟂"] "s") : "⫡"
-<compose> ("⊨" "=") : "⫢"
-<compose> "⊩" "⊩" : "⫣"
-<compose> "⊨" "⊨" : "⫤"
-<compose> "⫤" "|" : "⫥"
-<compose> ("-" "⊩") : "⫦"
-<compose> ("_" ["⫟" "⊤"]) : "⫧"
-<compose> "⫨" "⫨" : "⫧"
-<compose> ("_" ["⫠" "⊥"]) : "⫨"
-<compose> "⫧" "⫧" : "⫨"
-<compose> ["⫨" "⫠" "⊥"] ["⫧" "⫟" "⊤"] : "⫩"
-<compose> ("⊤" "|") : "⫪"
-<compose> "⫫" "⫫" : "⫪"
-<compose> ("⊥" "|") : "⫫"
-<compose> "⫪" "⫪" : "⫫"
-<compose> "⫤" "." : "⫬"
-<compose> "⫭" "⫭" : "⫬"
-<compose> "⊨" "." : "⫭"
-<compose> "⫬" "⫬" : "⫭"
-<shift compose> "\\" "|" : "⫮"
-<shift compose> "o" "|" : "⫯"
-<compose> "⫰" "⫰" : "⫯"
-<shift compose> "|" "o" : "⫰"
-<compose> "⫯" "⫯" : "⫰"
-<shift compose> "-" "|" "o" : "⫱"
-<compose> ("-" "⫰") : "⫱"
-<compose> "⟟" "⟟" : "⫱"
-<compose> ("-" "∥") : "⫲"
-<compose> "-" "2" "|" : "⫲"
-<dead letter ~> "∥" : "⫳"
-<compose> "∥" ["~" <dead letter ~>] : "⫳"
-<dead letter ~> "2" "|" : "⫳"
-<compose> "3" "|" : "⫴"
-<compose> ("-" "⫴") : "⫵"
-<compose> "-" "3" "|" : "⫵"
-<shift compose> ("." ":") "|" : "⫶"
-<shift compose> "." "<" "<" "<" : "⫷"
-<shift compose> "." ">" ">" ">" : "⫸"
-<compose> "<" "=" : "⫹"
-<compose> ">" "=" : "⫺"
-<shift compose> "/" "/" "/" <space> : "⫻"
-<shift compose> "|" "|" "|" <space> : "⫼"
-<shift compose> "/" "/" <space> : "⫽"
-<shift compose> "." "[" "]" : "⫾"
-<compose> "." "⫿" : "⫾"
-<shift compose> "[" "]" "|" : "⫿"
-
-# Miscellaneous Symbols and Arrows: (TODO)
-<compose> ("⇧" "⇨") : "⬀"
-<compose> ("↗" "⇗") : "⬀"
-<compose> ("⇦" "⇧") : "⬁"
-<compose> ("↖" "⇖") : "⬁"
-<compose> ("⇨" "⇩") : "⬂"
-<compose> ("↘" "⇘") : "⬂"
-<compose> ("⇩" "⇦") : "⬃"
-<compose> ("↙" "⇙") : "⬃"
-<compose> ("⇦" "⇨") : "⬄"
-<compose> ("↔" "⇔") : "⬄"
-<compose> "⇦" "⇦" : "⬅"
-<compose> "⇧" "⇧" : "⬆"
-<compose> "⇩" "⇩" : "⬇"
-<compose> "⬀" "⬀" : "⬈"
-<compose> ("⬆" "\u2B95") : "⬉"
-<compose> "⬁" "⬁" : "⬉"
-<compose> ("⬅" "⬆") : "⬉"
-<compose> "⬂" "⬂" : "⬊"
-<compose> ("\u2B95" "⬇") : "⬊"
-<compose> "⬃" "⬃" : "⬋"
-<compose> ("⬇" "⬅") : "⬋"
-<compose> "⬄" "⬄" : "⬌"
-<compose> ("⬅" "\u2B95") : "⬌"
-<compose> "⇳" "⇳" : "⬍"
-<compose> ("⬆" "⬇") : "⬍"
-<compose> "→" "," : "⬎"
-<compose> "→" "'" : "⬏"
-<compose> "," "←" : "⬐"
-<compose> "'" "←" : "⬑"
-<compose> (["□" "◻" "◽"] ["↑" "⇑"]) : "⬒"
-<compose> "◧" "◧" : "⬒"
-<compose> (["□" "◻" "◽"] ["↓" "⇓"]) : "⬓"
-<compose> "◨" "◨" : "⬓"
-<compose> ("◺" "◥") : "⬔"
-<compose> ("◣" "◹") : "⬕"
-<shift compose> "s" "<" "<" "|" ">" : "⬖"
-<compose> "◀" "▷" : "⬖"
-<shift compose> "s" "<" "|" ">" ">" : "⬗"
-<compose> "◁" "▶" : "⬗"
-<compose> "▲" "▽" : "⬘"
-<compose> "⬖" "⬖" : "⬘"
-<compose> "△" "▼" : "⬙"
-<compose> "⬗" "⬗" : "⬙"
-<compose> "⬜" "." : "⬚"
-<compose> "⬜" "⬜" : "⬛"
-<compose> "+" "□" : "⬜"
-<compose> "⬞" "⬞" : "⬝"
-<compose> "." "⬜" : "⬞"
-<compose> "⬠" "⬠" : "⬟"
-<compose> ("5" "⬛") : "⬟"
-<compose> ("5" "⬜") : "⬠"
-<compose> ("6" "⬜") : "⬡"
-<compose> ("6" "⬛") : "⬢"
-<compose> "⬡" "⬡" : "⬢"
-<compose> "⬢" "⬢" : "⬣"
-<compose> "◯" "◯" : "⬤"
-<compose> "⬦" "⬦" : ""
-<compose> "." "◆" : "⬥"
-<compose> "." "◇" : "⬦"
-<compose> "|" "⬥" : "⬧"
-<compose> "⬨" "⬨" : "⬧"
-<compose> "|" "⬦" : "⬨"
-<compose> "⬥" "⬥" : "⬩"
-<compose> "." "⬥" : "⬩"
-<compose> "⬫" "⬫" : "⬪"
-<compose> "." "⬧" : "⬪"
-<compose> "." "⬨" : "⬫"
-<compose> "⬭" "⬭" : "⬬"
-<compose> "-" "○" : "⬭"
-<compose> "⬯" "⬯" : "⬮"
-<compose> "|" "○" : "⬯"
-<compose> ("o" "←") : "⬰"
-<compose> "3" "←" : "⬱"
-<compose> ("O" "←") : "⬲"
-<compose> "⬰" "⬰" : "⬲"
-<compose> ("|" "⬰") : "⬲"
-# TODO ⬳ ⬴ ⬵ ⬶ ⬷ ⬸ ⬹ ⬺ ⬻ ⬼ ⬽ ⬾ ⬿ ⭀ ⭁ ⭂ ⭃ ⭄ ⭅ ⭆ ⭇ ⭈ ⭉ ⭊ ⭋ ⭌
-# TODO \u2B4D through \u2B5F
-# TODO \u2B60 through \u2B63
-<compose> ("\u2B60" "\u2B62") : "\u2B64"
-<compose> ("\u2B61" "\u2B63") : "\u2B65"
-<compose> ("\u2B60" "\u2B61") : "\u2B66"
-<compose> ("\u2B61" "\u2B62") : "\u2B67"
-<compose> ("\u2B62" "\u2B63") : "\u2B68"
-<compose> ("\u2B60" "\u2B63") : "\u2B69"
-<compose> ("." "\u2B60") : "\u2B6A"
-<compose> ("." "\u2B61") : "\u2B6B"
-<compose> ("." "\u2B62") : "\u2B6C"
-<compose> ("." "\u2B63") : "\u2B6D"
-<shift compose> "\u2B63" "\u2B60" "\u2B61" : "\u2B6E"
-<shift compose> "\u2B63" "\u2B62" "\u2B61" : "\u2B6F"
-<compose> "|" "\u2B60" : "\u2B70"
-<compose> "_" "\u2B61" : "\u2B71"
-<compose> "\u2B62" "|" : "\u2B72"
-<compose> "\u2B63" "_" : "\u2B73"
-<compose> "_" "\u2B66" : "\u2B76"
-<compose> "_" "\u2B67" : "\u2B77"
-<compose> "\u2B68" "_" : "\u2B78"
-<compose> "\u2B69" "_" : "\u2B79"
-<compose> ("=" "\u2B60") : "\u2B7A"
-<compose> ("=" "\u2B61") : "\u2B7B"
-<compose> ("=" "\u2B62") : "\u2B7C"
-<compose> ("=" "\u2B63") : "\u2B7D"
-<compose> "\u2B70" "\u2B72" : "\u2B7E"
-<compose> "\u2B73" "\u2B71" : "\u2B7F"
-<shift compose> "\u2B60" "\u2B62" : "\u2B80"
-<shift compose> "\u2B61" "\u2B63" : "\u2B81"
-<shift compose> "\u2B62" "\u2B60" : "\u2B82"
-<shift compose> "\u2B63" "\u2B61" : "\u2B83"
-<shift compose> "\u2B60" "\u2B60" : "\u2B84"
-<shift compose> "\u2B61" "\u2B61" : "\u2B85"
-<shift compose> "\u2B62" "\u2B62" : "\u2B86"
-<shift compose> "\u2B63" "\u2B63" : "\u2B87"
-<compose> "⬅" "⬅" : "\u2B87"
-<compose> "⬆" "⬆" : "\u2B88"
-<compose> "\u2B95" "\u2B95" : "\u2B89"
-<compose> "⬇" "⬇" : "\u2B8A"
-<compose> "U" "\u2B60" : "\u2B8C"
-<compose> "U" "\u2B61" : "\u2B8D"
-<compose> "U" "\u2B62" : "\u2B8E"
-<compose> "U" "\u2B63" : "\u2B8F"
-<compose> "\u2BA0" "/" : "\u2B90"
-<compose> "\\" "\u2BA1" : "\u2B91"
-<compose> "-" "\u2BA0" : "\u2B92"
-<compose> "-" "\u2BA1" : "\u2B93"
-<compose> ("\u2BA0" "\u2BA3") : "\u2B94"
-<compose> ("\u2BA1" "\u2BA2") : "\u2B94"
-<compose> "⇨" "⇨" : "\u2B95"
-<compose> ("⇦" "⬅") : "⮘"
-<compose> ("⇧" "⬆") : "⮙"
-<compose> ("⇨" : "\u2B95") : "⮚"
-<compose> ("⇩" "⬇") : "⮛"
-<compose> "⮘" "⮘" : "⮜"
-<compose> "⮙" "⮙" : "⮝"
-<compose> "⮚" "⮚" : "⮞"
-<compose> "⮛" "⮛" : "⮟"
-<shift compose> "\u2B63" "\u2B60" : "\u2BA0"
-<shift compose> "\u2B63" "\u2B62" : "\u2BA1"
-<shift compose> "\u2B61" "\u2B60" : "\u2BA2"
-<shift compose> "\u2B61" "\u2B62" : "\u2BA3"
-<shift compose> "\u2B60" "\u2B61" : "\u2BA4"
-<shift compose> "\u2B62" "\u2B61" : "\u2BA5"
-<shift compose> "\u2B60" "\u2B63" : "\u2BA6"
-<shift compose> "\u2B62" "\u2B63" : "\u2BA7"
-<shift compose> "⬇" "⬅" : "\u2BA8"
-<shift compose> "⬇" "\u2B95" : "\u2BA9"
-<shift compose> "⬆" "⬅" : "\u2BAA"
-<shift compose> "⬆" "\u2B95" : "\u2BAB"
-<shift compose> "⬅" "⬆" : "\u2BAC"
-<shift compose> "\u2B95" "⬇" : "\u2BAD"
-<shift compose> "⬅" "⬆" : "\u2BAE"
-<shift compose> "\u2B95" "⬇" : "\u2BAF"
-<shift compose> "⇩" "⇦" : "\u2BB0"
-<shift compose> "⇩" "⇨" : "\u2BB1"
-<shift compose> "⇧" "⇦" : "\u2BB2"
-<shift compose> "⇧" "⇨" : "\u2BB3"
-<shift compose> "⇦" "⇩" : "\u2BB4"
-<shift compose> "⇨" "⇩" : "\u2BB5"
-<shift compose> "⇦" "⇩" : "\u2BB6"
-<shift compose> "⇨" "⇩" : "\u2BB7"
-<compose> "!" "⇬" : "\u2BB8"
-# TODO \u2BB9
-# TODO \u2BBD
-# TODO \u2BBE
-<compose> "\u2BBE" "\u2BBE" : "\u2BBF"
-<compose> "▪" "▪" : "\u2BC0"
-<compose> "\u2BC0" "\u2BC0" : "\u2BC1"
-<compose> "◆" "◆" : "\u2BC1"
-<compose> "\u2BC1" "\u2BC1" : "\u2BC0"
-<compose> ("5" ["\u2BC0" "\u2BC1"]) : "\u2BC2"
-<compose> ("8" "\u2BC0") : "\u2BC3"
-<compose> "\u2BC4" "\u2BC4" : "\u2BC3"
-<compose> ("8" "\u2BC1") : "\u2BC4"
-<compose> "\u2BC3" "\u2BC3" : "\u2BC4"
-<compose> "⬆" "h" : "\u2BC5"
-<compose> "⬇" "h" : "\u2BC6"
-<compose> "⬅" "h" : "\u2BC7"
-<compose> "\u2B95" "h" : "\u2BC8"
-<compose> "◖" "◖" : "\u2BCA"
-<compose> "◗" "◗" : "\u2BCB"
-<compose> "\u2BCE" "\u2BCE" : "\u2BCC"
-<compose> "\u2BCF" "\u2BCF" : "\u2BCD"
-# TODO \u2BD0
-<compose> "<" "?" ">" : "\u2BD1"
-
-
-# TODO Glagolitic
-# TODO Latin Extended-C
-# TODO Coptic
-# TODO Georgian Supplement
-# TODO Tifinagh
-# TODO Ethiopic Extended
-# TODO Cyrillic Extended-A
-# TODO Supplemental Punctuation
-# TODO CJK Radicals Supplement
-# TODO Kangxi Radicals
-# TODO Ideographic Description Characters
-# TODO CJK Symbols and Punctuation
-# TODO Hiragana
-# TODO Katakana
-# TODO Bopomofo
-# TODO Hangul Compatibility Jamo
-# TODO Kanbun
-# TODO Bopomofo Extended
-# TODO CJK Strokes
-# TODO Katakana Phonetic Extensions
-# TODO Enclosed CJK Letters and Months
-# TODO CJK Compatibility
-# TODO CJK Unified Ideographs Extension A
-# TODO Yijing Hexagram Symbols
-# TODO CJK Unified Ideographs
-# TODO Yi Syllables
-# TODO Yi Radicals
-# TODO Lisu
-# TODO Vai
-# TODO Cyrillic Extended-B
-# TODO Bamum
-# TODO Modifier Tone Letters
-# TODO Latin Extended-D
-# TODO Syloti Nagri
-# TODO Common Indic Number Forms
-# TODO Phags-pa
-# TODO Saurashtra
-# TODO Devanagari Extended
-# TODO Kayah Li
-# TODO Rejang
-# TODO Hangul Jamo Extended-A
-# TODO Javanese
-# TODO Myanmar Extended-B
-# TODO Cham
-# TODO Myanmar Extended-A
-# TODO Tai Viet
-# TODO Meetei Mayek Extensions
-# TODO Ethiopic Extended-A
-# TODO Latin Extended-E
-# TODO Meetei Mayek
-# TODO Hangul Syllables
-# TODO Hangul Jamo Extended-B
-# TODO CJK Compatibility Ideographs
-# TODO Alphabetic Presentation Forms
-# TODO Arabic Presentation Forms-A
-# TODO Variation Selectors
-# TODO Vertical Forms
-# TODO Combining Half Marks
-# TODO CJK Compatibility Forms
-# TODO Small Form Variants
-# TODO Arabic Presentation Forms-B
-# TODO Halfwidth and Fullwidth Forms
-# TODO Specials
-# TODO Linear B Syllabary
-# TODO Linear B Ideograms
-# TODO Aegean Numbers
-# TODO Ancient Greek Numbers
-# TODO Ancient Symbols
-# TODO Phaistos Disc
-# TODO Lycian
-# TODO Carian
-# TODO Coptic Epact Numbers
-# TODO Old Italic
-# TODO Gothic
-# TODO Old Permic
-# TODO Ugaritic
-# TODO Old Persian
-# TODO Deseret
-# TODO Shavian
-# TODO Osmanya
-# TODO Elbasan
-# TODO Caucasian Albanian
-# TODO Linear A
-# TODO Cypriot Syllabary
-# TODO Imperial Aramaic
-# TODO Palmyrene
-# TODO Nabataean
-# TODO Phoenician
-# TODO Lydian
-# TODO Meroitic Hieroglyphs
-# TODO Meroitic Cursive
-# TODO Kharoshthi
-# TODO Old South Arabian
-# TODO Old North Arabian
-# TODO Manichaean
-# TODO Avestan
-# TODO Inscriptional Parthian
-# TODO Psalter Pahlavi
-# TODO Old Turkic
-# TODO Rumi Numeral Symbols
-# TODO Brahmi
-# TODO Kaithi
-# TODO Sora Sompeng
-# TODO Chakma
-# TODO Mahajani
-# TODO Sharada
-# TODO Sinhala Archaic Numbers
-# TODO Khojki
-# TODO Khudawadi
-# TODO Grantha
-# TODO Tirhuta
-# TODO Siddham
-# TODO Modi
-# TODO Takri
-# TODO Warang Citi
-# TODO Pau Cin Hau
-# TODO Cuneiform
-# TODO Cuneiform Numbers and Punctuation
-# TODO Egyptian Hieroglyphs
-# TODO Bamum Supplement
-# TODO Mro
-# TODO Bassa Vah
-# TODO Pahawh Hmong
-# TODO Miao
-# TODO Kana Supplement
-# TODO Duployan
-# TODO Shorthand Format Controls
-# TODO Byzantine Musical Symbols
-# TODO Musical Symbols
-# TODO Ancient Greek Musical Notation
-# TODO Tai Xuan Jing Symbols
-# TODO Counting Rod Numerals
-# TODO Mathematical Alphanumeric Symbols
-# TODO Mende Kikakui
-# TODO Arabic Mathematical Alphabetic Symbols
-
-# Mahjong Tiles:
-<shift compose> "m" "t" ">" : "\u1F000"
-<shift compose> "m" "t" "v" : "\u1F001"
-<shift compose> "m" "t" "<" : "\u1F002"
-<shift compose> "m" "t" [<dead letter ^> "^"] : "\u1F003"
-<shift compose> "m" "t" "r" : "\u1F004"
-<shift compose> "m" "t" "g" : "\u1F005"
-<shift compose> "m" "t" "w" : "\u1F006"
-for "1" to "9" as \1
- <shift compose> "m" "t" "w" "\1" : "\add(\u1F007 \sub(\1 "1"))"
- <shift compose> "m" "t" "t" "\1" : "\add(\u1F010 \sub(\1 "1"))"
- <shift compose> "m" "t" "b" "\1" : "\add(\u1F019 \sub(\1 "1"))"
-end for
-<shift compose> "m" "t" "m" : "\u1F022"
-<shift compose> "m" "t" "l" : "\u1F023"
-<shift compose> "m" "t" "z" : "\u1F024"
-<shift compose> "m" "t" "j" : "\u1F025"
-<shift compose> "m" "t" "1" : "\u1F026"
-<shift compose> "m" "t" "2" : "\u1F027"
-<shift compose> "m" "t" "3" : "\u1F028"
-<shift compose> "m" "t" "4" : "\u1F029"
-<shift compose> "m" "t" "*" : "\u1F02A"
-<shift compose> "m" "t" "/" : "\u1F02B"
-
-# Domino Tiles:
-<shift compose> "d" "t" "-" ["-" <space>] : "\u1F030"
-<shift compose> "d" "t" "|" ["|" <space>] : "\u1F062"
-for "0" to "6" as \1
- for "0" to "6" as \2
- <shift compose> "d" "t" "-" "\1" "\2" : "\add(\u1F031 \add(\mul(\sub(\1 "0") 7) \sub(\2 "0")))"
- <shift compose> "d" "t" "|" "\1" "\2" : "\add(\u1F063 \add(\mul(\sub(\1 "0") 7) \sub(\2 "0")))"
- end for
-end for
-
-# Playing Cards:
-<shift compose> "p" "c" : "🂠"
-dead_ascii(🂠)
-macro playing_card/2
- <compose> (["♠" "♤"] "\1") : "\add(\u1F0A0 \2)"
- <compose> (["♥" "♡"] "\1") : "\add(\u1F0B0 \2)"
- <compose> (["♦" "♢"] "\1") : "\add(\u1F0C0 \2)"
- <compose> (["♣" "♧"] "\1") : "\add(\u1F0D0 \2)"
-end macro
-for "1" to "9" as \1
- playing_card("\1" \sub(\1 "0") 1)
-endfor
-playing_card(["a" "A"] 1)
-playing_card("0" 10)
-playing_card(["j" "J"] 11)
-playing_card(["c" "C"] 12)
-playing_card(["q" "Q"] 13)
-playing_card(["k" "K"] 14)
-<compose> "🂠" "j" "r" : "\u1F0BF"
-<compose> "🂠" "j" "b" : "\u1F0CF"
-<compose> "🂠" "j" "w" : "\u1F0DF"
-<compose> "🂠" "0" <space> : "\u1F0E0"
-<compose> "🂠" "1" <space> : "\u1F0E1"
-<compose> "🂠" "2" <space> : "\u1F0E2"
-<compose> "🂠" "3" <space> : "\u1F0E3"
-<compose> "🂠" "4" <space> : "\u1F0E4"
-<compose> "🂠" "5" <space> : "\u1F0E5"
-<compose> "🂠" "6" <space> : "\u1F0E6"
-<compose> "🂠" "7" <space> : "\u1F0E7"
-<compose> "🂠" "8" <space> : "\u1F0E8"
-<compose> "🂠" "9" <space> : "\u1F0E9"
-<compose> "🂠" "1" "0" : "\u1F0EA"
-<compose> "🂠" "1" "1" : "\u1F0EB"
-<compose> "🂠" "1" "2" : "\u1F0EC"
-<compose> "🂠" "1" "3" : "\u1F0ED"
-<compose> "🂠" "1" "4" : "\u1F0EE"
-<compose> "🂠" "1" "5" : "\u1F0EF"
-<compose> "🂠" "1" "6" : "\u1F0F0"
-<compose> "🂠" "1" "7" : "\u1F0F1"
-<compose> "🂠" "1" "8" : "\u1F0F2"
-<compose> "🂠" "1" "9" : "\u1F0F3"
-<compose> "🂠" "2" "0" : "\u1F0F4"
-<compose> "🂠" "2" "1" : "\u1F0F5"
-
-# Enclosed Alphanumeric Supplement:
-<compose> "0" "." : "\u1F100"
-for "0" to "9" as \1
- <compose> "\1" "," : "\add(\u1F101 \sub(\1 "0")"
-end for
-<compose> "(" "0" "." ")" : "\u1F10B"
-<compose> "(" "(" "(" "0" "." ")" ")" ")" : "\u1F10C"
-for "A" to "Z" as \1
- <compose> "(" " " "\1" [" " .] ")" : "\add(\u1F110 \sub(\1 "A"))"
- <compose> "(" "\1" " " ")" : "\add(\u1F110 \sub(\1 "A"))"
-end for
-<compose> "[" " " "S" [" " .] "]" : "\u1F12A"
-<compose> "[" "S" " " "]" : "\u1F12A"
-<compose> "(" "/" "C" ["/" .] ")" : "\u1F12B"
-<compose> "(" "C" "/" ")" : "\u1F12B"
-<compose> "(" "/" "R" ["/" .] ")" : "\u1F12C"
-<compose> "(" "R" "/" ")" : "\u1F12C"
-<compose> "(" "C" "D" ")" : "\u1F12D"
-<compose> "(" "W" "z" ")" : "\u1F12E"
-for "A" to "Z" as \1
- <compose> "[" "\1" "]" : "\add(\u1F130 \sub(\1 "A"))"
- <compose> "(" "(" "(" "\1" ")" ")" ")" : "\add(\u1F160 \sub(\1 "A"))"
- <compose> "[" "[" "[" "\1" "]" "]" "]" : "\add(\u1F170 \sub(\1 "A"))"
-end for
-<compose> "[" "H" "V" "]" : "\u1F14A"
-<compose> "[" "M" "V" "]" : "\u1F14B"
-<compose> "[" "S" "D" "]" : "\u1F14C"
-<compose> "[" "S" "S" "]" : "\u1F14D"
-<compose> "[" "P" "P" "V" "]" : "\u1F14E"
-<compose> "[" "W" "C" "]" : "\u1F14F"
-<compose> "(" "M" "C" ")" : "\u1F16A"
-<compose> "(" "M" "D" ")" : "\u1F16B"
-<compose> "[" "[" "[" "X" "P" "]" "]" "]" : "\u1F18A"
-<compose> "[" "[" "[" "I" "C" "]" "]" "]" : "\u1F18B"
-<compose> "[" "[" "[" "P" "A" "]" "]" "]" : "\u1F18C"
-<compose> "[" "[" "[" "S" "A" "]" "]" "]" : "\u1F18D"
-<compose> "[" "[" "[" "A" "B" "]" "]" "]" : "\u1F18E"
-<compose> "[" "[" "[" "W" "C" "]" "]" "]" : "\u1F18F"
-<compose> "[" "D" "J" "]" : "\u1F190"
-<compose> "[" "C" "L" "]" : "\u1F191"
-<compose> "[" "C" "O" "O" "L" "]" : "\u1F192"
-<compose> "[" "F" "R" "E" "E" "]" : "\u1F193"
-<compose> "[" "I" "D" "]" : "\u1F194"
-<compose> "[" "N" "E" "W" "]" : "\u1F195"
-<compose> "[" "N" "G" "]" : "\u1F196"
-<compose> "[" "O" "K" "]" : "\u1F197"
-<compose> "[" "S" "O" "S" "]" : "\u1F198"
-<compose> "[" "U" "P" "]" : "\u1F199
-<compose> "[" "U" "P" "!" "]" : "\u1F199
-<compose> "[" "V" "S" "]" : "\u1F19A
-for "a" to "z" as \1
- <compose> "[" "r" "\1" "]" : "\add(\u1F1E6 \sub(\1 "a"))"
-end for
-
-# TODO Enclosed Ideographic Supplement
-# TODO Miscellaneous Symbols and Pictographs
-# TODO Emoticons
-# TODO Ornamental Dingbats
-# TODO Transport and Map Symbols
-# TODO Alchemical Symbols
-
-# Geometric Shapes Extended:
-<shift compose> "s" "<" "|" : "\u1F780"
-<shift compose> "s" ["^" <dead letter ^>] "-" : "\u1F781"
-<compose> "\u1F780" "\u1F780" : "\u1F781"
-<shift compose> "s" "|" ">" : "\u1F782"
-<shift compose> "s" ["v" "V"] "-" :"\u1F783"
-<compose> "\u1F782" "\u1F782" : "\u1F783"
-<shift compose> "s" "." "(" ")" : "\1F784"
-<shift compose> "s" "1" "(" ")" : "\u1F785"
-<shift compose> "s" "2" "(" ")" : "\u1F786"
-<shift compose> "s" "3" "(" ")" : "\u1F787"
-<shift compose> "s" "4" "(" ")" : "\u1F788"
-<shift compose> "s" "5" "(" ")" : "\u1F789"
-<shift compose> "s" "0" "(" ")" : "\u1F78A"
-<shift compose> "s" "(" "(" "(" ")" ")" ")" : "\u1F78B"
-<shift compose> "s" "." "[" "]" : "\u1F78C"
-<shift compose> "s" "." "." "[" "]" : "\u1F78D"
-<shift compose> "s" "1" "[" "]" : "\u1F78E"
-<shift compose> "s" "2" "[" "]" : "\u1F78F"
-<shift compose> "s" "3" "[" "]" : "\u1F790"
-<shift compose> "s" "4" "[" "]" : "\u1F791"
-<shift compose> "s" "5" "[" "]" : "\u1F792"
-<shift compose> "s" "6" "[" "]" : "\u1F793"
-<shift compose> "s" "0" "[" "]" : "\u1F794"
-<shift compose> "s" "[" "[" "]" "]" : "\u1F795"
-<shift compose> "s" "[" "[" "[" "]" "]" "]" : "\u1F796"
-<shift compose> "s" "1" "<" ">" : "\u1F797"
-<shift compose> "s" "2" "<" ">" : "\u1F798"
-<shift compose> "s" "3" "<" ">" : "\u1F799"
-<shift compose> "s" "0" "<" ">" : "\u1F79A"
-<shift compose> "s" "<" "<" "<" ">" ">" ">" : "\u1F79B"
-<shift compose> "s" "<" "<" ">" ">" : "\u1F79C"
-<shift compose> "s" "1" "|" "<" ">" : "\u1F79D"
-<shift compose> "s" "2" "|" "<" ">" : "\u1F79E"
-<shift compose> "s" "3" "|" "<" ">" : "\u1F79F"
-<shift compose> "s" "0" "|" "<" ">" : "\u1F7A0"
-<shift compose> "s" "1" "+" : "\u1F7A1"
-<shift compose> "s" "2" "+" : "\u1F7A2"
-<shift compose> "s" "3" "+" : "\u1F7A3"
-<shift compose> "s" "4" "+" : "\u1F7A4"
-<shift compose> "s" "5" "+" : "\u1F7A5"
-<shift compose> "s" "6" "+" : "\u1F7A6"
-<shift compose> "s" "7" "+" : "\u1F7A7"
-<shift compose> "s" "1" ["x" "X" "×"] : "\u1F7A8"
-<shift compose> "s" "2" ["x" "X" "×"] : "\u1F7A9"
-<shift compose> "s" "3" ["x" "X" "×"] : "\u1F7AA"
-<shift compose> "s" "4" ["x" "X" "×"] : "\u1F7AB"
-<shift compose> "s" "5" ["x" "X" "×"] : "\u1F7AC"
-<shift compose> "s" "6" ["x" "X" "×"] : "\u1F7AD"
-<shift compose> "s" "7" ["x" "X" "×"] : "\u1F7AE"
-<shift compose> "s" "1" "5" "*" : "\u1F7AF"
-<shift compose> "s" "2" "5" "*" : "\u1F7B0"
-<shift compose> "s" "3" "5" "*" : "\u1F7B1"
-<shift compose> "s" "4" "5" "*" : "\u1F7B2"
-<shift compose> "s" "5" "5" "*" : "\u1F7B3"
-<shift compose> "s" "6" "5" "*" : "\u1F7B4"
-<shift compose> "s" "1" "6" "*" : "\u1F7B5"
-<shift compose> "s" "2" "6" "*" : "\u1F7B6"
-<shift compose> "s" "3" "6" "*" : "\u1F7B7"
-<shift compose> "s" "4" "6" "*" : "\u1F7B8"
-<shift compose> "s" "5" "6" "*" : "\u1F7B9"
-<shift compose> "s" "6" "6" "*" : "\u1F7BA"
-<shift compose> "s" "1" "8" "*" : "\u1F7BB"
-<shift compose> "s" "2" "8" "*" : "\u1F7BC"
-<shift compose> "s" "3" "8" "*" : "\u1F7BD"
-<shift compose> "s" "4" "8" "*" : "\u1F7BE"
-<shift compose> "s" "5" "8" "*" : "\u1F7BF"
-<shift compose> "s" "1" "*" "3" : "\u1F7C0"
-<shift compose> "s" "2" "*" "3" : "\u1F7C1"
-<shift compose> "s" "3" "*" "3" : "\u1F7C2"
-<shift compose> "s" "0" "*" "3" : "\u1F7C3"
-<shift compose> "s" "1" "*" "4" : "\u1F7C4"
-<shift compose> "s" "2" "*" "4" : "\u1F7C5"
-<shift compose> "s" "3" "*" "4" : "\u1F7C6"
-<shift compose> "s" "0" "*" "4" : "\u1F7C7"
-<compose> "\u1F7C7" "\u1F7C7" : "\u1F7C8"
-<shift compose> "s" "1" "*" "5" : "\u1F7C9"
-<shift compose> "s" "2" "*" "5" : "\u1F7CA"
-<shift compose> "s" "1" "*" "6" : "\u1F7CB"
-<shift compose> "s" "2" "*" "6" : "\u1F7CC"
-<shift compose> "s" "0" "*" "6" : "\u1F7CD"
-<shift compose> "s" "1" "*" "8" : "\u1F7CE"
-<shift compose> "s" "2" "*" "8" : "\u1F7CF"
-<shift compose> "s" "3" "*" "8" : "\u1F7D0"
-<shift compose> "s" "0" "*" "8" : "\u1F7D1"
-<shift compose> "s" "1" "*" "*" : "\u1F7D2"
-<shift compose> "s" "2" "*" "*" : "\u1F7D3"
-<shift compose> "s" "0" "*" "*" : "\u1F7D4"
-
-# Supplemental Arrows-C:
-<shift compose> "1" "←" : "\u1F800" # leftwards arrow with small triangle arrowhead
-<shift compose> "1" "↑" : "\u1F801" # upwards arrow with small triangle arrowhead
-<shift compose> "1" "→" : "\u1F802" # rightwards arrow with small triangle arrowhead
-<shift compose> "1" "↓" : "\u1F803" # downwards arrow with small triangle arrowhead
-<shift compose> "2" "←" : "\u1F804" # leftwards arrow with medium triangle arrowhead
-<shift compose> "2" "↑" : "\u1F805" # upwards arrow with medium triangle arrowhead
-<shift compose> "2" "→" : "\u1F806" # rightwards arrow with medium triangle arrowhead
-<shift compose> "2" "↓" : "\u1F807" # downwards arrow with medium triangle arrowhead
-<shift compose> "3" "←" : "\u1F808" # leftwards arrow with large triangle arrowhead
-<shift compose> "3" "↑" : "\u1F809" # upwards arrow with large triangle arrowhead
-<shift compose> "3" "→" : "\u1F80A" # rightwards arrow with large triangle arrowhead
-<shift compose> "3" "↓" : "\u1F80B" # downwards arrow with large triangle arrowhead
-<shift compose> "1" "=" "←" : "\u1F810" # leftwards arrow with small equilateral arrowhead
-<shift compose> "1" "=" "↑" : "\u1F811" # upwards arrow with small equilateral arrowhead
-<shift compose> "1" "=" "→" : "\u1F812" # rightwards arrow with small equilateral arrowhead
-<shift compose> "1" "=" "↓" : "\u1F813" # downwards arrow with small equilateral arrowhead
-<shift compose> "2" "=" "←" : "\u1F814" # leftwards arrow with equilateral arrowhead
-<shift compose> "2" "=" "↑" : "\u1F815" # upwards arrow with equilateral arrowhead
-<shift compose> "2" "=" "→" : "\u1F816" # rightwards arrow with equilateral arrowhead
-<shift compose> "2" "=" "↓" : "\u1F817" # downwards arrow with equilateral arrowhead
-<shift compose> "4" "=" "←" : "\u1F818" # heavy leftwards arrow with equilateral arrowhead
-<shift compose> "4" "=" "↑" : "\u1F819" # heavy upwards arrow with equilateral arrowhead
-<shift compose> "4" "=" "→" : "\u1F81A" # heavy rightwards arrow with equilateral arrowhead
-<shift compose> "4" "=" "↓" : "\u1F81B" # heavy downwards arrow with equilateral arrowhead
-<shift compose> "5" "=" "←" : "\u1F81C" # heavy leftwards arrow with large equilateral arrowhead
-<shift compose> "5" "=" "↑" : "\u1F81D" # heavy upwards arrow with large equilateral arrowhead
-<shift compose> "5" "=" "→" : "\u1F81E" # heavy rightwards arrow with large equilateral arrowhead
-<shift compose> "5" "=" "↓" : "\u1F81F" # heavy downwards arrow with large equilateral arrowhead
-<shift compose> "1" "-" "←" : "\u1F820" # leftwards triangle-headed arrow with narrow shaft
-<shift compose> "1" "-" "↑" : "\u1F821" # upwards triangle-headed arrow with narrow shaft
-<shift compose> "1" "-" "→" : "\u1F822" # rightwards triangle-headed arrow with narrow shaft
-<shift compose> "1" "-" "↓" : "\u1F823" # downwards triangle-headed arrow with narrow shaft
-<shift compose> "2" "-" "←" : "\u1F824" # leftwards triangle-headed arrow with medium shaft
-<shift compose> "2" "-" "↑" : "\u1F825" # upwards triangle-headed arrow with medium shaft
-<shift compose> "2" "-" "→" : "\u1F826" # rightwards triangle-headed arrow with medium shaft
-<shift compose> "2" "-" "↓" : "\u1F827" # downwards triangle-headed arrow with medium shaft
-<shift compose> "3" "-" "←" : "\u1F828" # leftwards triangle-headed arrow with bold shaft
-<shift compose> "3" "-" "↑" : "\u1F829" # upwards triangle-headed arrow with bold shaft
-<shift compose> "3" "-" "→" : "\u1F82A" # rightwards triangle-headed arrow with bold shaft
-<shift compose> "3" "-" "↓" : "\u1F82B" # downwards triangle-headed arrow with bold shaft
-<shift compose> "4" "-" "←" : "\u1F82C" # leftwards triangle-headed arrow with heavy shaft
-<shift compose> "4" "-" "↑" : "\u1F82D" # upwards triangle-headed arrow with heavy shaft
-<shift compose> "4" "-" "→" : "\u1F82E" # rightwards triangle-headed arrow with heavy shaft
-<shift compose> "4" "-" "↓" : "\u1F82F" # downwards triangle-headed arrow with heavy shaft
-<shift compose> "5" "-" "←" : "\u1F830" # leftwards triangle-headed arrow with very heavy shaft
-<shift compose> "5" "-" "↑" : "\u1F831" # upwards triangle-headed arrow with very heavy shaft
-<shift compose> "5" "-" "→" : "\u1F832" # rightwards triangle-headed arrow with very heavy shaft
-<shift compose> "5" "-" "↓" : "\u1F833" # downwards triangle-headed arrow with very heavy shaft
-<shift compose> "←" "f" : "\u1F834" # leftwards finger-post arrow
-<shift compose> "↑" "f" : "\u1F835" # upwards finger-post arrow
-<shift compose> "→" "f" : "\u1F836" # rightwards finger-post arrow
-<shift compose> "↓" "f" : "\u1F837" # downwards finger-post arrow
-<shift compose> "←" "s" : "\u1F838" # leftwards squared arrow
-<shift compose> "↑" "s" : "\u1F839" # upwards squared arrow
-<shift compose> "→" "s" : "\u1F83A" # rightwards squared arrow
-<shift compose> "↓" "s" : "\u1F83B" # downwards squared arrow
-<shift compose> "2" "|" "←" : "\u1F83C" # leftwards compressed arrow
-<shift compose> "2" "|" "↑" : "\u1F83D" # upwards compressed arrow
-<shift compose> "2" "|" "→" : "\u1F83E" # rightwards compressed arrow
-<shift compose> "2" "|" "↓" : "\u1F83F" # downwards compressed arrow
-<shift compose> "4" "|" "←" : "\u1F840" # leftwards heavy compressed arrow
-<shift compose> "4" "|" "↑" : "\u1F841" # upwards heavy compressed arrow
-<shift compose> "4" "|" "→" : "\u1F842" # rightwards heavy compressed arrow
-<shift compose> "4" "|" "↓" : "\u1F843" # downwards heavy compressed arrow
-<shift compose> "4" "←" : "\u1F844" # leftwards heavy arrow
-<shift compose> "4" "↑" : "\u1F845" # upwards heavy arrow
-<shift compose> "4" "→" : "\u1F846" # rightwards heavy arrow
-<shift compose> "4" "↓" : "\u1F847" # downwards heavy arrow
-<shift compose> "s" "s" "←" : "\u1F850" # leftwards sans-serif arrow
-<shift compose> "s" "s" "↑" : "\u1F851" # upwards sans-serif arrow
-<shift compose> "s" "s" "→" : "\u1F852" # rightwards sans-serif arrow
-<shift compose> "s" "s" "↓" : "\u1F853" # downwards sans-serif arrow
-<shift compose> "s" "s" "↗" : "\u1F854" # north west sans-serif arrow
-<shift compose> "s" "s" "↖" : "\u1F855" # north east sans-serif arrow
-<shift compose> "s" "s" "↙" : "\u1F856" # south east sans-serif arrow
-<shift compose> "s" "s" "↘" : "\u1F857" # south west sans-serif arrow
-<shift compose> "s" "s" "↔" : "\u1F858" # left right sans-serif arrow
-<shift compose> "s" "s" "↕" : "\u1F859" # up down sans-serif arrow
-<shift compose> "1" "b" "←" : "\u1F860" # wide-headed leftwards light barb arrow
-<shift compose> "1" "b" "↑" : "\u1F861" # wide-headed upwards light barb arrow
-<shift compose> "1" "b" "→" : "\u1F862" # wide-headed rightwards light barb arrow
-<shift compose> "1" "b" "↓" : "\u1F863" # wide-headed downwards light barb arrow
-<shift compose> "1" "b" "↗" : "\u1F864" # wide-headed north west light barb arrow
-<shift compose> "1" "b" "↖" : "\u1F865" # wide-headed north east light barb arrow
-<shift compose> "1" "b" "↙" : "\u1F866" # wide-headed south east light barb arrow
-<shift compose> "1" "b" "↘" : "\u1F867" # wide-headed south west light barb arrow
-<shift compose> "2" "b" "←" : "\u1F868" # wide-headed leftwards barb arrow
-<shift compose> "2" "b" "↑" : "\u1F869" # wide-headed upwards barb arrow
-<shift compose> "2" "b" "→" : "\u1F86A" # wide-headed rightwards barb arrow
-<shift compose> "2" "b" "↓" : "\u1F86B" # wide-headed downwards barb arrow
-<shift compose> "2" "b" "↗" : "\u1F86C" # wide-headed north west barb arrow
-<shift compose> "2" "b" "↖" : "\u1F86D" # wide-headed north east barb arrow
-<shift compose> "2" "b" "↙" : "\u1F86E" # wide-headed south east barb arrow
-<shift compose> "2" "b" "↘" : "\u1F86F" # wide-headed south west barb arrow
-<shift compose> "3" "b" "←" : "\u1F870" # wide-headed leftwards medium barb arrow
-<shift compose> "3" "b" "↑" : "\u1F871" # wide-headed upwards medium barb arrow
-<shift compose> "3" "b" "→" : "\u1F872" # wide-headed rightwards medium barb arrow
-<shift compose> "3" "b" "↓" : "\u1F873" # wide-headed downwards medium barb arrow
-<shift compose> "3" "b" "↗" : "\u1F874" # wide-headed north west medium barb arrow
-<shift compose> "3" "b" "↖" : "\u1F875" # wide-headed north east medium barb arrow
-<shift compose> "3" "b" "↙" : "\u1F876" # wide-headed south east medium barb arrow
-<shift compose> "3" "b" "↘" : "\u1F877" # wide-headed south west medium barb arrow
-<shift compose> "4" "b" "←" : "\u1F878" # wide-headed leftwards heavy barb arrow
-<shift compose> "4" "b" "↑" : "\u1F879" # wide-headed upwards heavy barb arrow
-<shift compose> "4" "b" "→" : "\u1F87A" # wide-headed rightwards heavy barb arrow
-<shift compose> "4" "b" "↓" : "\u1F87B" # wide-headed downwards heavy barb arrow
-<shift compose> "4" "b" "↗" : "\u1F87C" # wide-headed north west heavy barb arrow
-<shift compose> "4" "b" "↖" : "\u1F87D" # wide-headed north east heavy barb arrow
-<shift compose> "4" "b" "↙" : "\u1F87E" # wide-headed south east heavy barb arrow
-<shift compose> "4" "b" "↘" : "\u1F87F" # wide-headed south west heavy barb arrow
-<shift compose> "5" "b" "←" : "\u1F880" # wide-headed leftwards very heavy barb arrow
-<shift compose> "5" "b" "↑" : "\u1F881" # wide-headed upwards very heavy barb arrow
-<shift compose> "5" "b" "→" : "\u1F882" # wide-headed rightwards very heavy barb arrow
-<shift compose> "5" "b" "↓" : "\u1F883" # wide-headed downwards very heavy barb arrow
-<shift compose> "5" "b" "↗" : "\u1F884" # wide-headed north west very heavy barb arrow
-<shift compose> "5" "b" "↖" : "\u1F885" # wide-headed north east very heavy barb arrow
-<shift compose> "5" "b" "↙" : "\u1F886" # wide-headed south east very heavy barb arrow
-<shift compose> "5" "b" "↘" : "\u1F887" # wide-headed south west very heavy barb arrow
-<shift compose> "←" "h" : "\u1F890" # leftwards triangle arrowhead
-<shift compose> "↑" "h" : "\u1F891" # upwards triangle arrowhead
-<shift compose> "→" "h" : "\u1F892" # rightwards triangle arrowhead
-<shift compose> "↓" "h" : "\u1F893" # downwards triangle arrowhead
-<shift compose> "←" "H" : "\u1F894" # leftwards white arrow within triangle arrowhead
-<shift compose> "↑" "H" : "\u1F895" # upwards white arrow within triangle arrowhead
-<shift compose> "→" "H" : "\u1F896" # rightwards white arrow within triangle arrowhead
-<shift compose> "↓" "H" : "\u1F897" # downwards white arrow within triangle arrowhead
-<shift compose> "←" "N" : "\u1F898" # leftwards arrow with notched tail
-<shift compose> "↑" "N" : "\u1F899" # upwards arrow with notched tail
-<shift compose> "→" "N" : "\u1F89A" # rightwards arrow with notched tail
-<shift compose> "↓" "N" : "\u1F89B" # downwards arrow with notched tail
-<shift compose> ["←" "↔" "→"] "-" "4" : "\u1F89C" # heavy arrow shaft width one
-<shift compose> ["←" "↔" "→"] "-" "3" : "\u1F89D" # heavy arrow shaft width two thirds
-<shift compose> ["←" "↔" "→"] "-" "2" : "\u1F89E" # heavy arrow shaft width one half
-<shift compose> ["←" "↔" "→"] "-" "1" : "\u1F89F" # heavy arrow shaft width one third
-<shift compose> "←" "s" "↓" : "\u1F8A0" # leftwards bottom-shaded white arrow
-<shift compose> "→" "s" "↓" : "\u1F8A1" # rightwards bottom-shaded white arrow
-<shift compose> "←" "s" "↑" : "\u1F8A2" # leftwards top-shaded white arrow
-<shift compose> "→" "s" "↑" : "\u1F8A3" # rightwards top-shaded white arrow
-<shift compose> "←" "s" "←" : "\u1F8A4" # leftwards left-shaded white arrow
-<shift compose> "→" "s" "→" : "\u1F8A5" # rightwards right-shaded white arrow
-<shift compose> "←" "s" "→" : "\u1F8A6" # leftwards right-shaded white arrow
-<shift compose> "→" "s" "←" : "\u1F8A7" # rightwards left-shaded white arrow
-<shift compose> "←" "s" ["↙" "↘"] : "\u1F8A8" # leftwards back-tilted shadowed white arrow
-<shift compose> "→" "s" ["↙" "↘"] : "\u1F8A9" # rightwards back-tilted shadowed white arrow
-<shift compose> "←" "s" ["↖" "↗"] : "\u1F8AA" # leftwards front-tilted shadowed white arrow
-<shift compose> "→" "s" ["↖" "↗"] : "\u1F8AB" # rightwards front-tilted shadowed white arrow
-<shift compose> ["←" "↔" "→"] "=" "4" : "\u1F8AC" # white arrow shaft width one
-<shift compose> ["←" "↔" "→"] "=" "3" : "\u1F8AD" # white arrow shaft width two thirds
-
-# TODO CJK Unified Ideographs Extension B
-# TODO CJK Unified Ideographs Extension C
-# TODO CJK Unified Ideographs Extension D
-# TODO CJK Compatibility Ideographs Supplement
-
-# Tags: These are deprecated
-
-# TODO Variation Selectors Supplement
-
diff --git a/res/keyboard/compose/dead b/res/keyboard/compose/dead
new file mode 100644
index 0000000..546411e
--- /dev/null
+++ b/res/keyboard/compose/dead
@@ -0,0 +1,2717 @@
+# mds — A micro-display server
+# Copyright © 2014 Mattias Andrée (maandree@member.fsf.org)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+
+# Based on the Unicode Character Database 7.0
+
+
+
+macro dead_ascii/1
+ <dead letter \1> [" " <dead letter \1>] : "\1"
+ <dead compose> "\1" : <dead letter \1>
+end macro
+macro dead_ascii/2
+ <dead letter \1> [" " "\2" <dead letter \1>] : "\1"
+ <dead compose> ["\1" "\2"] : <dead letter \1>
+end macro
+
+macro composite/3
+ <dead letter \2> "\1" : "\3"
+ <dead compose> "\1" ["\2" <dead letter \2>] : "\3"
+end macro
+macro composite/4
+ <dead letter \2> "\1" : "\4"
+ <dead compose> "\1" ["\2" <dead letter \2> "\3"] : "\4"
+end macro
+
+
+<dead compose> "u" "+" : <dead hexdead compose>
+<dead compose> "U" "+" : <dead longhexdead compose>
+
+
+# TODO C0 Controls
+
+# Basic Latin:
+dead_ascii("^")
+dead_ascii("`")
+dead_ascii("~")
+
+# TODO C1 Controls
+
+# Latin-1 Supplement:
+<dead compose> "!" "!" : "¡"
+<dead compose> ("/" "c") : "¢"
+<dead compose> ("|" ["c" "L"]) : "¢"
+<dead compose> ("-" ["l" "L"]) : "£"
+<dead compose> (["o" "O"] ["x" "X"]) : "¤"
+<dead compose> (["-" "="] ["y" "Y"]) : "¥"
+<dead compose> ("!" "|") : "¦"
+<dead compose> (["o" "O"] ["s" "S"]) : "§"
+dead_ascii("¨" "\"")
+<dead compose> (["o" "O"] ["c" "C"]) : "©"
+(<dead compose> <dead letter ~>) "_" "a" : "ª"
+<dead compose> "<" "<" : "«"
+<dead compose> ("-" ",") : "¬"
+<dead compose> "-" "-" " " : "­"
+<dead compose> (["o" "O"] ["r" "R"]) : "®"
+<dead compose> "-" : <dead letter ¯>
+<dead compose> "o" : <dead letter °>
+dead_ascii("°")
+<dead compose> "+" "-" : "±"
+<dead letter ^> "2" : "²"
+<dead letter ^> "3" : "³"
+dead_ascii("´" "'")
+<dead compose> "m" "u" : "µ"
+<dead compose> ["p" "P"] ["p" "P" "!"] : "¶"
+<dead compose> "!" ["p" "P"] : "¶"
+<dead compose> "." "-" : "·"
+dead_ascii("," ",")
+<dead letter ^> "1" : "¹"
+(<dead compose> <dead letter ~>) "_" "o" : "º"
+<dead compose> ">" ">" : "»"
+<dead compose> "1" "4" : "¼"
+<dead compose> "1" "2" : "½"
+<dead compose> "3" "4" : "¾"
+<dead compose> "?" "?" : "¿"
+composite("`" "A" "À")
+composite("´" "'" "A" "Á")
+composite("~" "A" "Ã")
+composite("¨" "\"" "A" "Ä")
+<dead letter °> "A" : "Å"
+<dead compose> "A" "E" : "Æ"
+composite("¸" "," "C" "Ç")
+composite("`" "E" "È")
+composite("´" "'" "E" "É")
+composite("^" "E" "Ê")
+composite("¨" "\"" "E" "Ë")
+composite("`" "I" "Ì")
+composite("´" "'" "I" "Í")
+composite("^" "I" "Î")
+composite("¨" "\"" "I" "Ï")
+<dead compose> "-" : <dead letter ->
+composite("-" "D" "Đ")
+<dead compose> "/" : <dead letter />
+composite("/" "D" "Đ")
+composite("~" "N" "Ñ")
+composite("`" "O" "Ò")
+composite("´" "'" "O" "Ó")
+composite("^" "O" "Ô")
+composite("~" "O" "Õ")
+composite("¨" "\"" "O" "Ö")
+<dead compose> "x" "x" : "×"
+composite("/" "O" "Ø")
+composite("`" "U" "Ù")
+composite("´" "'" "U" "Ú")
+composite("^" "U" "Û")
+composite("¨" "\"" "U" "Ü")
+composite("´" "'" "Y" "Ý")
+<dead compose> "T" "H" : "Þ"
+<dead compose> "s" "s" : "ß"
+<dead compose> "ſ" "s" : "ß"
+composite("`" "a" "à")
+composite("´" "'" "a" "á")
+composite("~" "a" "ã")
+composite("¨" "\"" "a" "ä")
+<dead letter °> "a" : "å"
+<dead compose> "a" "e" : "æ"
+composite("¸" "," "c" "ç")
+composite("`" "e" "è")
+composite("´" "'" "e" "é")
+composite("^" "e" "ê")
+composite("¨" "\"" "e" "ë")
+composite("`" "i" "ì")
+composite("´" "'" "i" "í")
+composite("^" "i" "î")
+composite("¨" "\"" "i" "ï")
+composite("/" "d" "ð")
+composite("~" "n" "ñ")
+composite("`" "o" "ò")
+composite("´" "'" "o" "ó")
+composite("^" "o" "ô")
+composite("~" "o" "õ")
+composite("¨" "\"" "o" "ö")
+<dead compose> ":" "-" : "÷"
+composite("/" "o" "ø")
+composite("`" "u" "ù")
+composite("´" "'" "u" "ú")
+composite("^" "u" "û")
+composite("¨" "\"" "u" "ü")
+composite("´" "'" "y" "ý")
+<dead compose> "t" "h" : "þ"
+composite("¨" "\"" "y" "ÿ")
+
+# TODO Latin Extended-A
+# TODO Latin Extended-B
+# TODO IPA Extensions
+# TODO Spacing Modifier Letter
+# TODO Combining Diacritical Marks
+# TODO Greek and Coptic
+# TODO Cyrillic
+# TODO Cyrillic Supplement
+# TODO Armenian
+# TODO Hebrew
+# TODO Arabic
+# TODO Syriac
+# TODO Arabic Supplement
+# TODO Thaana
+# TODO NKo
+# TODO Samaritan
+# TODO Mandaic
+# TODO Arabic Extended-A
+# TODO Devanagari
+# TODO Bengali
+# TODO Gurmukhi
+# TODO Gujarati
+# TODO Oriya
+# TODO Tamil
+# TODO Telugu
+# TODO Kannada
+# TODO Malayalam
+# TODO Sinhala
+# TODO Thai
+# TODO Lao
+# TODO Tibetan
+# TODO Myanmar
+# TODO Georgian
+# TODO Hangul Jamo
+# TODO Ethiopic
+# TODO Ethiopic Supplement
+# TODO Cherokee
+# TODO Unified Canadian Aboriginal Syllabics
+# TODO Ogham
+# TODO Runic
+# TODO Tagalog
+# TODO Hanunoo
+# TODO Buhid
+# TODO Tagbanwa
+# TODO Khmer
+# TODO Mongolian
+# TODO Unified Canadian Aboriginal Syllabics Extended
+# TODO Limbu
+# TODO Tai Le
+# TODO New Tai Lue
+# TODO Khmer Symbols
+# TODO Buginese
+# TODO Tai Tham
+# TODO Combining Diacritical Marks Extended
+# TODO Balinese
+# TODO Sundanese
+# TODO Batak
+# TODO Lepcha
+# TODO Ol Chiki
+# TODO Sundanese Supplement
+# TODO Vedic Extensions
+# TODO Phonetic Extensions
+# TODO Phonetic Extensions Supplement
+# TODO Combining Diacritical Marks Supplement
+# TODO Latin Extended Additional
+# TODO Greek Extended
+
+# General Punctuation:
+<dead compose> <space> "_" "." : "\u2000" # en quad
+<dead compose> <space> "_" "_" : "\u2001" # em quad
+<dead compose> <space> "-" "." : "\u2002" # en space
+<dead compose> <space> "-" "-" : "\u2003" # em space
+<dead compose> <space> "3" : "\u2004" # three-per-em space
+<dead compose> <space> "4" : "\u2005" # four-per-em space
+<dead compose> <space> "6" : "\u2006" # six-per-em space
+<dead compose> <space> "f" : "\u2007" # figure space
+<dead compose> <space> "." : "\u2008" # punctuation space
+<dead compose> <space> "t" : "\u2009" # thin space
+<dead compose> <space> "h" : "\u200A" # hairspace
+<dead compose> <space> "0" : "\u200B" # zero width space
+<dead compose> <space> "J" : "\u200C" # zero width non-joiner
+<dead compose> <space> "j" : "\u200D" # zero width joiner
+<dead compose> <space> "l" : "\u200E" # left-to-right mark
+<dead compose> <space> "r" : "\u200F" # right-to-left mark
+<dead compose> "-" <space> : "\u2010" # hyphen
+<dead compose> "-" " " : "\u2011" # non-breaking hyphen
+<dead compose> "-" "-" "f" : "\u2012" # figure dash
+<dead compose> "-" "-" "." : "\u2013" # en dash
+<dead compose> "-" "-" "-" : "\u2014" # em dash
+<dead compose> "-" "-" "_" : "\u2015" # horizontal bar
+<dead compose> "|" "|" : "\u2016" # double verical line
+<dead compose> "-" "_" : "\u2017" # double low line
+<dead compose> ("(" "'") : "‘"
+<dead compose> (")" "'") : "’"
+<dead compose> ("(" ",") : "‚"
+<dead compose> (")" ",") : "‛"
+<dead compose> ("(" "\"") : "“"
+<dead compose> (")" "\"") : "”"
+<dead compose> ("(" ";") : "„"
+<dead compose> (")" ";") : "‟"
+<dead compose> "+" "T" : "†"
+<dead compose> "+" "+" "T" : "‡"
+<shift dead compose> "." "." : "•"
+<shift dead compose> "|" ">" : "‣"
+<dead compose> "." "," : "\u2024" # one dot leader
+<dead compose> "." ";" : "\u2025" # two dot leader
+<dead compose> "." "." : "…"
+<dead compose> "-" "." : "\u2027" # hyphenation point
+<dead compose> "l" <space> : "\u2028" # line separator
+<dead compose> "p" <space> : "\u2029" # paragraph separator
+<dead compose> <space> "e" "l" : "\u202A" # left-to-right embedding
+<dead compose> <space> "e" "r" : "\u202B" # right-to-left embedding
+<dead compose> <space> "e" "p" : "\u202C" # pop directional formatting
+<dead compose> <space> "o" "l" : "\u202D" # left-to-right override
+<dead compose> <space> "o" "r" : "\u202E" # right-to-left override
+<dead compose> "m" " " : "\u202F" # narrow no-break space
+<dead compose> "%" ["o" "."] : "‰"
+<dead compose> "%" ["O" ":"] : "‱"
+<dead compose> ("1" ["'" "´"]) : "′"
+<dead compose> ("2" ["'" "´"]) : "″"
+<dead compose> ("3" ["'" "´"]) : "‴"
+<dead compose> ("1" "`") : "‵"
+<dead compose> ("2" "`") : "‶"
+<dead compose> ("3" "`") : "‷"
+<shift dead compose> ("." "^") : "‸"
+<shift dead compose> ("." "<") : "‹"
+<shift dead compose> ("." ">") : "›"
+<dead compose> ("x" "+") : "※"
+<shift dead compose> "!" "!" : "‼"
+<dead compose> "!" "?" : "‽"
+<shift dead compose> "^" "_" : "‾"
+<shift dead compose> ("_" "u") : "‿"
+<shift dead compose> ("^" "u") : "⁀"
+<shift dead compose> "/" "/" "." : "⁁"
+<dead compose> "*" "*" : "⁂"
+<shift dead compose> "-" "-" : "⁃"
+<dead compose> "/" "/" : "⁄"
+<dead compose> ("[" "-") : "⁅"
+<dead compose> ("]" "-") : "⁆"
+<shift dead compose> "?" "?" : "⁇"
+<shift dead compose> "?" "!" : "⁈"
+<shift dead compose> "!" "?" : "⁉"
+<dead compose> ("/" "7"): "⁊"
+<dead compose> "¶" "¶" : "⁋"
+<dead compose> ("?" ["p" "P"]) : "⁋"
+<dead compose> "(" "|" : "⁌"
+<dead compose> "|" ")" : "⁍"
+<dead compose> ("*" ".") : "⁎"
+<dead compose> ";" ";" : "⁏"
+<shift dead compose> "(" ")": "⁐"
+<dead compose> ("*" ":") : "⁑"
+<dead compose> "%" "%" : "⁒"
+<shift dead compose> "~" ["-" "~"] : "⁓"
+<shift dead compose> "-" "~" : "⁓"
+<sjift dead compose> ("_" "U") : "⁔"
+<dead compose> ("x" "*") : "⁕"
+<dead compose> "." ":" <space> : "⁖"
+<dead compose> ("4" ["'" "´"]) : "⁗"
+<dead compose> "." ":" "." : "⁘"
+<dead compose> ":" "." ":" : "⁙"
+<dead compose> "|" "." "." : "⁚"
+<shift dead compose> "." ":" "." : "⁛"
+<dead compose> ("x" ":") : "⁜"
+<dead compose> "|" ":" "." : "⁝"
+<dead compose> "|" ":" ":" : "⁞"
+<dead compose> <space> "m" : "\u205F" # medium mathematical space
+<dead compose> <space> "w" : "\u2060" # word joiner
+<shift dead compose> ("f" " ") : "\u2061" # function application
+<shift dead compose> (["x" "×" "*"] " ") : "\u2062" # invisible times
+<shift dead compose> (["," "."] " ") : "\u2063" # invisible separator
+<shift dead compose> ("+" " ") : "\u2064" # invisible plus
+<dead compose> <space> "i" "l" : "\u2066" # left-to-right isolate
+<dead compose> <space> "i" "r" : "\u2067" # right-to-left isolate
+<dead compose> <space> "i" "s" : "\u2068" # first strong isolate
+<dead compose> <space> "i" "p" : "\u2069" # pop directional isolate
+# U+206A through U+206C are deprecated
+
+# Superscripts and Subscripts:
+<dead letter ^> "0" : "⁰"
+<shift dead compose> ["^" <dead letter "^">] "i" : "ⁱ"
+<dead letter ^> "4" : "⁴"
+<dead letter ^> "5" : "⁵"
+<dead letter ^> "6" : "⁶"
+<dead letter ^> "7" : "⁷"
+<dead letter ^> "8" : "⁸"
+<dead letter ^> "9" : "⁹"
+<dead letter ^> "+" : "⁺"
+<dead letter ^> "-" : "⁻"
+<dead letter ^> "=" : "⁼"
+<dead letter ^> "(" : "⁽"
+<dead letter ^> ")" : "⁾"
+<shift dead compose> ["^" <dead letter "^">] "n" : "ⁿ"
+dead_ascii("ˇ")
+<dead letter ˇ> "0" : "₀"
+<dead letter ˇ> "1" : "₁"
+<dead letter ˇ> "2" : "₂"
+<dead letter ˇ> "3" : "₃"
+<dead letter ˇ> "4" : "₄"
+<dead letter ˇ> "5" : "₅"
+<dead letter ˇ> "6" : "₆"
+<dead letter ˇ> "7" : "₇"
+<dead letter ˇ> "8" : "₈"
+<dead letter ˇ> "9" : "₉"
+<dead letter ˇ> "+" : "₊"
+<dead letter ˇ> "-" : "₋"
+<dead letter ˇ> "=" : "₌"
+<dead letter ˇ> "(" : "₍"
+<dead letter ˇ> ")" : "₎"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "a" : "ₐ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "e" : "ₑ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "o" : "ₒ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "x" : "ₓ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "ə" : "ₔ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "h" : "ₕ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "k" : "ₖ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "l" : "ₗ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "m" : "ₘ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "n" : "ₙ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "p" : "ₚ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "s" : "ₛ"
+<shift dead compose> ["ˇ" <dead letter "ˇ">] "t" : "ₜ"
+
+# TODO Currency Symbols
+# TODO Combining Diacritical Marks for Symbols
+# TODO Letterlike Symbols
+# TODO Number Forms
+
+# Arrows:
+<shift dead compose> "<" "-" "-" : "←"
+<shift dead compose> "^" "|" <space> : "↑"
+<shift dead compose> "|" ["v" "V"] <space> : "→"
+<shift dead compose> "-" "-" ">" : "↓"
+<dead compose> ("←" "→") : "↔"
+<dead compose> ("↑" "↓") : "↕"
+<shift dead compose> ("←" "↑") : "↖"
+<shift dead compose> ("→" "↑") : "↗"
+<shift dead compose> ("→" "↓") : "↘"
+<shift dead compose> ("←" "↓") : "↙"
+<dead compose> ("/" "←") : "↚"
+<dead compose> ("/" "→") : "↛"
+composite("←" "~" "↜")
+composite("→" "~" "↝")
+<dead compose> "←" "←" : "↞"
+<dead compose> "↑" "↑" : "↟"
+<dead compose> "→" "→" : "↠"
+<dead compose> "↓" "↓" : "↡"
+<dead compose> "←" "<" : "↢"
+<dead compose> ">" "→" : "↣"
+<dead compose> "←" "|" : "↤"
+<dead compose> ("-" "↑") : "↥"
+<dead compose> "|" "→" : "↦"
+<dead compose> ("-" "↓") : "↧"
+<dead compose> "_" "↕" : "↨"
+<dead compose> "←" ")" : "↩"
+<dead compose> "(" "→" : "↪"
+<dead compose> "↩" "↩" : "↫"
+<dead compose> "↪" "↪" : "↬"
+<dead compose> ("↜" "↝") : "↭"
+<dead compose> ("/" "↔") : "↮"
+<dead compose> ("↚" "↛") : "↮"
+<dead compose> (["z" "Z"] "↓") : "↯"
+<shift dead compose> "←" "|" : "↰"
+<dead compose> "↲" "↲" : "↰"
+<shift dead compose> "|" "→" : "↱"
+<dead compose> "↳" "↳" : "↱"
+<shift dead compose> "←" "_" "|" : "↲"
+<dead compose> "↰" "↰" : "↲"
+<shift dead compose> "|" "_" "→" : "↳"
+<dead compose> "↱" ↱" : "↳"
+<dead compose> "-" "↘" : "↴"
+<dead compose> "." "↲" : "↵"
+<shift dead compose> ("n" "↙") : "↶"
+<shift dead compose> ("n" "↘") : "↷"
+<dead letter ^> "_" "↖" : "↸"
+<dead letter ¯> "↖" : "↸"
+<dead compose> "¯" "↖" : "↸"
+<dead compose> "⇤" "⇥" : "↹"
+<dead compose> "↶" "↶" : "↺"
+<dead compose> "↷" "↷" : "↻"
+<dead compose> "←" "↑" : "↼"
+<dead compose> "↽" "↽" : "↼"
+<dead compose> "←" "↓" : "↽"
+<dead compose> "↼" "↼" : "↽"
+<dead compose> "↑" "→" : "↾"
+<dead compose> "↿" "↿" : "↾"
+<dead compose> "↑" "←" : "↿"
+<dead compose> "↾" "↾" : "↿"
+<dead compose> "→" "↑" : "⇀"
+<dead compose> "⇁" "⇁" : "⇀"
+<dead compose> "→" "↓" : "⇁"
+<dead compose> "⇀" "⇀" : "⇁"
+<dead compose> "↓" "→" : "⇂"
+<dead compose> "⇃" "⇃" : "⇂"
+<dead compose> "↓" "←" : "⇃"
+<dead compose> "⇂" "⇂" : "⇃"
+<shift dead compose> "→" "←" : "⇄"
+<dead compose> "⇆" "⇆" : "⇄"
+<shift dead compose> "↑" "↓" : "⇅"
+<dead compose> "⇵" "⇅" : "⇅"
+<shift dead compose> "←" "→" : "⇆"
+<dead compose> "⇄" "⇄" : "⇆"
+<shift dead compose> "←" "←" : "⇇"
+<shift dead compose> "↑" "↑" : "⇈"
+<shift dead compose> "→" "→" : "⇉"
+<shift dead compose> "↓" "↓" : "⇊"
+<shift dead compose> ("↼" "⇁") : "⇋"
+<shift dead compose> ("↽" "⇀") : "⇌"
+<dead compose> ("/" "⇐") : "⇍"
+<dead compose> ("/" "⇔") : "⇎"
+<dead compose> ("/" "⇒") : "⇏"
+<shift dead compose> "<" "=" "=" : "⇐"
+<shift dead compose> ("=" "←") : "⇐"
+<shift dead compose> "^" "|" "|" : "⇑"
+<shift dead compose> ("=" "↑") : "⇑"
+<shift dead compose> "=" "=" ">" : "⇒"
+<shift dead compose> ("=" "→") : "⇒"
+<shift dead compose> "|" "|" ["v" "V"] : "⇓"
+<shift dead compose> ("=" "↓") : "⇓"
+<dead compose> ("⇐" "⇒") : "⇔"
+<shift dead compose> ("=" "↔") : "⇔"
+<dead compose> ("⇑" "⇓") : "⇕"
+<shift dead compose> ("=" "↕") : "⇕"
+<dead compose> ("⇐" "⇑") : "⇖"
+<shift dead compose> ("=" "↖") : "⇖"
+<dead compose> ("⇑" "⇒") : "⇗"
+<shift dead compose> ("=" "↗") : "⇗"
+<dead compose> ("⇒" "⇓") : "⇘"
+<shift dead compose> ("=" "↘") : "⇘"
+<dead compose> ("⇓" "⇐") : "⇙"
+<shift dead compose> ("=" "↙") : "⇙"
+<dead compose> "⇐" "⇐" : "⇚"
+<dead compose> "⇒" "⇒" : "⇛"
+<shift dead compose> "<" ["~" <dead letter ~>] ["~" <dead letter ~>] : "⇜"
+<shift dead compose> ["~" <dead letter ~>] ["~" <dead letter ~>] ">" : "⇝"
+<dead compose> ("=" "↑") : "⇞"
+<dead compose> ("=" "↓") : "⇟"
+<dead compose> (":" "←") : "⇠"
+<dead compose> (":" "↑") : "⇡"
+<dead compose> (":" "→") : "⇢"
+<dead compose> (":" "↓") : "⇣"
+<dead compose> "|" "←" : "⇤"
+<dead compose> "→" "|" : "⇥"
+<dead compose> ("←" "⇐") : "⇦"
+<dead compose> ("↑" "⇑") : "⇧"
+<dead compose> ("→" "⇒") : "⇨"
+<dead compose> ("↓" "⇓") : "⇩"
+<dead compose> "!" "⇧" : "⇪"
+<dead compose> ("_" "⇧") : "⇫"
+<dead compose> "⇫" "⇫" : "⇬"
+composite("⇫" "^" "⇬")
+<dead compose> ("|" ["⇧" "⇫"]) : "⇭"
+<dead compose> "⇧" "⇧" : "⇮"
+composite("⇧" "^" "⇮")
+<dead compose> ("_" "⇮") : "⇯"
+<dead compose> "|" "⇨" : "⇰"
+<dead compose> "↖" "↖" : "⇱"
+<dead compose> "↘" "↘" : "⇲"
+<dead compose> ("⇧" "⇩") : "⇳"
+<dead compose> ("↕" "⇕") : "⇳"
+<dead compose> ("o" "→") : "⇴"
+<dead compose> "↓" "↑" : "⇵"
+<dead compose> "⇅" "⇅" : "⇵"
+<dead compose> "3" "→" : "⇶"
+<dead compose> ("|" "←") : "⇷"
+<dead compose> ("|" "→") : "⇸"
+<dead compose> ("|" "↔") : "⇹"
+<dead compose> ("|" "⇷") : "⇺"
+<dead compose> ("|" "⇸") : "⇻"
+<dead compose> ("|" "⇹") : "⇼"
+<shift dead compose> "<" "|" "-" "-" : "⇽"
+<shift dead compose> "-" "-" "|" ">" : "⇾"
+<shift dead compose> "<" "|" "-" "|" ">" : "⇿"
+<dead compose> ("⇽" "⇾") : "⇿"
+
+# Mathematical Operators:
+<dead compose> "A" "A" : "∀"
+<dead compose> "m" "C" : "∁"
+<dead compose> "d" "d" : "∂"
+<dead compose> "E" "E" : "∃"
+<dead compose> ("/" "∃") : "∄"
+<dead compose> ("/" "0") : "∅"
+<dead compose> "Δ" "Δ" : "∆"
+<dead compose> "/" "\\" : "∆"
+<dead compose> "\\" "/" : "∇"
+<dead compose> "∆" "∆" : "∇"
+<dead compose> "∇" "∇" : "∆"
+<dead compose> "i" "n" : "∈"
+<dead compose> ("/" "∈") : "∉"
+<dead compose> ("." "∈") : "∊"
+<dead compose> "I" "N" : "∋"
+<dead compose> "∈" "∈" : "∋"
+<dead compose> "∉" "∉" : "∌"
+<dead compose> ("/" "∋") : "∌"
+<dead compose> "∊" "∊" : "∍"
+<dead compose> ("." "∋") : "∍"
+<dead compose> "q" "e" "d" : "∎"
+<dead compose> "m" "p" : "∏"
+<dead compose> "Π" "Π" : "∏"
+<dead compose> "m" "P" : "∐"
+<dead compose> "∏" "∏" : "∐"
+<dead compose> "m" "s" : "∑"
+<dead compose> "Σ" "Σ" : "∑"
+<dead compose> "m" "-" : "−"
+<dead compose> "-" "+" : "∓"
+<dead compose> "." "+" : "∔"
+<dead compose> "m" "/" : "∕"
+<dead compose> "m" "\\" : "∖"
+<dead compose> "m" "*" : "∗"
+<dead compose> "m" "o" : "∘"
+<dead compose> "m" "O" : "∙"
+<dead compose> "m" ["2" .] "r" : "√"
+<dead compose> ["m" "2"] "r" : "√"
+<dead compose> ["m" .] "3" "r" : "∛"
+<dead compose> ["m" .] "4" "r" : "∜"
+<dead compose> "0" ["c" "C"] : "∝"
+<dead compose> "0" "0" : "∞"
+<dead compose> ("m" "L") : "∟"
+<dead compose> ("/" "_") : "∠"
+<dead compose> ("∠" ")") : "∡"
+<dead compose> "∡" "∡" : "∢"
+<shift dead compose> ("<" ")") : "∢"
+<dead compose> "⦠" "⦠" ; "∢"
+<dead compose> "1" "|" : "∣"
+<dead compose> "/" "1" "|" : "∤"
+<dead compose> ("/" "∣") : "∤"
+<dead compose> "2" "|" : "∥"
+<dead compose> "∣" "∣" : "∥"
+<dead compose> "/" "2" "|" : "∦"
+<dead compose> ("/" "∥") : "∦"
+<dead compose> "m" "&" : "∧"
+<dead compose> "∨" "∨" : "∧"
+<dead compose> "∧" "∧" : "∨"
+<dead compose> "m" "V" : "∨"
+<dead compose> "m" "N" : "∩"
+<dead compose> "∪" "∪" : "∩"
+<dead compose> "∩" "∩" : "∪"
+<dead compose> "m" "U" : "∪"
+<dead compose> 1 ["s" "ſ"] : "∫"
+<dead compose> 2 ["s" "ſ"] : "∬"
+<dead compose> "∫" "∫" : "∬"
+<shift dead compose> "∫" "∫" : "∭"
+<dead compose> ("∫" "∬") : "∭"
+<dead compose> "3" ["s" "ſ" "∫"] : "∭"
+<dead compose> 1 "o" ["s" "ſ"] : "∮"
+<dead compose> 2 "o" ["s" "ſ"] : "∯"
+<dead compose> "∮" "∮" : "∯"
+<shift dead compose> "∮" "∮" : "∰"
+<dead compose> ("∮" "∯") : "∰"
+<dead compose> "3" "∮" : "∰"
+<dead compose> "3" "o" ["s" "ſ"] : "∰"
+<dead compose> ("o" "∫") : "∮"
+<dead compose> ("o" "∬") : "∯"
+<dead compose> ("o" "∭") : "∰"
+<dead compose> (["→" "-"] "∫") : "∱"
+<dead compose> ("<" "∮" : "∲")
+<dead compose> (">" "∮" : "∳")
+<dead compose> ("/" ":") : "∴"
+<dead compose> ("\\" ":") : "∵"
+<dead compose> ":" <space> : "∶"
+<dead compose> ":" ":" : "∷"
+<dead compose> "." "-" : "∸"
+<dead compose> "-" ":" : "∹"
+<shift dead compose> ":" "-" ":" : "∺"
+<dead compose> ":" ["~" <dead letter ~>] : "∻"
+<dead letter ~> ":" : "∻"
+<shift dead compose> ["~" <dead letter ~>] <space> : "∼"
+<shift dead compose> <space> ["~" <dead letter ~>] : "∽"
+<dead compose> <space> ["~" <dead letter ~>] : "∾"
+<shift dead compose> ["~" <dead letter ~>] ["~" <dead letter ~>] : "∿"
+<dead letter ~> "|" : "≀"
+<dead compose> "|" ["~" <dead letter ~>] : "≀"
+<dead letter ~> "/" : "≁"
+<dead compose> "/" ["~" <dead letter ~>] : "≁"
+<dead compose> "_" ["~" <dead letter ~>] : "≂"
+<dead compose> ["~" <dead letter ~>] "_" : "≃"
+<dead compose> ("/" "≃") : "≄"
+<shift dead compose> "=" ["~" <dead letter ~>] : "≅"
+<dead letter ~> "≠" : "≆"
+<shift dead compose> "=" ["~" <dead letter ~>] : "≇"
+<dead compose> "/" "≅" : "≇"
+<dead letter ~> "=" : "≈"
+<dead letter ~> "/" "=" : "≉"
+<dead compose> ("/" "≈") : "≉"
+<dead compose> ["≈" "≊"]
+<dead letter ~> "_" "=" : "≊"
+<dead compose> "≈" ["~" <dead letter ~>] : "≋"
+<dead compose> "=" ["~" <dead letter ~>] : "≌"
+<shift dead compose> (")" "(") : "≍"
+<dead compose> "≍" "≍" : "≎"
+<dead compose> ("_" "≎") : "≏"
+<shift dead compose> ("." "=") : "≐"
+<shift dead compose> (":" "=") : "≑"
+<shift dead compose> (":" "\\") "=" : "≒"
+<shift dead compose> (":" "/") "=" : "≓"
+<dead compose> ":" "=" : "≔"
+<dead compose> "=" ":" : "≕"
+<dead compose> "=" "o" : "≖"
+<dead compose> "o" "=" : "≗"
+<dead compose> ("°" "=") : "≗"
+<dead compose> ("(" "=") : "≘"
+<dead compose> ("∧" "=") : "≙"
+<dead compose> ("∨" "=") : "≚"
+<dead compose> (["*" "⋆"] "=") : "≛"
+<dead compose> ("Δ" "=") : "≜"
+<dead compose> ("∆" "=") : "≜"
+<dead compose> ("d" "=") : "≝"
+<dead compose> ("m" "=") : "≞"
+<dead compose> ("?" "=") : "≟"
+<dead compose> ("/" "=") : "≠"
+<dead compose> "=" "_" : "≡"
+<dead compose> ("/" "≡") : "≢"
+<dead compose> "=" "=" : "≣"
+<dead compose> ("_" "<") : "≤"
+<dead compose> ("_" ">") : "≥"
+<dead compose> ("=" "<") : "≦"
+<dead compose> ("=" ">") : "≧"
+<dead compose> ("≠" "<") : "≨"
+<dead compose> ("≠" ">") : "≩"
+<shift dead compose> "<" "<" <space> : "≪"
+<shift dead compose> ">" ">" <space> : "≫"
+<dead compose> ("(" ")") : "≬"
+<shift dead compose> "/" (")" "(") : "≭"
+<dead compose> ("/" "≍") : "≭"
+<dead compose> ("/" "<") : "≮"
+<dead compose> ("/" ">") : "≯"
+<dead compose> ("/" "≤") : "≰"
+<dead compose> ("/" "≥") : "≱"
+<dead compose> "<" ["~" <dead letter ~>] : "≲"
+<dead compose> ">" ["~" <dead letter ~>] : "≳"
+<dead compose> ("/" "≲") : "≴"
+<dead compose> ("/" "≳") : "≵"
+<dead compose> "<" ">" : "≶"
+<dead compose> ">" "<" : "≷"
+<dead compose> ("/" "≶") : "≸"
+<dead compose> ("/" "≷") : "≹"
+<shift dead compose> (["(" ")"] "<") : "≺"
+<shift dead compose> (["(" ")"] ">") : "≻"
+<dead compose> ("_" "≺") : "≼"
+<shift dead compose> (["(" ")"] "_") "<" : "≼"
+<dead compose> ("_" "≻") : "≽"
+<shift dead compose> (["(" ")"] "_") ">" : "≽"
+<dead letter ~> "≺" : "≾"
+<dead compose> "≺" ["~" <dead letter ~>] : "≾"
+<dead letter ~> "≻" : "≿"
+<dead compose> "≻" ["~" <dead letter ~>] : "≿"
+<dead compose> ("/" "≺") : "⊀"
+<shift dead compose> (["(" ")"] "/") "<" : "⊀"
+<dead compose> ("/" "≻") : "⊁"
+<shift dead compose> (["(" ")"] "/") ">" : "⊁"
+<shift dead compose> ("U" "<") : "⊂"
+<shift dead compose> ("U" ">") : "⊃"
+<dead compose> ("/" "⊂") : "⊄"
+<shift dead compose> ("U" "/") "<" : "⊄"
+<dead compose> ("/" "⊃") : "⊅"
+<shift dead compose> ("U" "/") ">" : "⊅"
+<dead compose> ("_" "⊂") : "⊆"
+<shift dead compose> ("U" "_") "<" : "⊆"
+<dead compose> ("_" "⊃") : "⊇"
+<shift dead compose> ("U" "_") ">" : "⊇"
+<dead compose> ("_" "/") "⊂" : "⊈"
+<dead compose> ("/" "⊆") : "⊈"
+<dead compose> ("_" "/") "⊃" : "⊉"
+<dead compose> ("/" "⊇") : "⊉"
+<shift dead compose> ("/" "_" "⊂") : "⊊"
+<shift dead compose> ("/" "_" "⊃") : "⊋"
+<dead compose> ("←" "∪") : "⊌"
+<dead compose> (["." "⋅"] "∪") : "⊍"
+<dead compose> ("+" "∪") : "⊎"
+<dead compose> (["[" "]"] "<") : "⊏"
+<dead compose> (["[" "]"] ">") : "⊐"
+<dead compose> ("_" "⊏") : "⊑"
+<dead compose> "_" (["[" "]"] "<") : "⊑"
+<dead compose> ("_" "⊐") : "⊒"
+<dead compose> "_" (["[" "]"] ">") : "⊒"
+<dead compose> ["[" "]"] ["∧" "∩"] : "⊓"
+<dead compose> ["[" "]"] ["∨" "∪"] : "⊔"
+<shift dead compose> "(" "+" ")" : "⊕"
+<shift dead compose> (["o" "O"] "+") : "⊕"
+<shift dead compose> "(" ["-" "−"] ["-" "−"] ")" : "⊖"
+<shift dead compose> ["o" "O"] ["-" "−"] ["-" "−"] : "⊖"
+<shift dead compose> ["-" "−"] ["-" "−"] ["o" "O"] : "⊖"
+<shift dead compose> "(" ["x" "X" "×"] ")" : "⊗"
+<shift dead compose> (["o" "O"] ["x" "X" "×"]) : "⊗"
+<shift dead compose> "(" "/" ")" : "⊘"
+<shift dead compose> (["o" "O"] "/") : "⊘"
+<shift dead compose> "(" ["." "⋅"] ")" : "⊙"
+<shift dead compose> (["o" "O"] ["." "⋅"]) : "⊙"
+<shift dead compose> "(" "o" ")" : "⊚"
+<shift dead compose> (["o" "O"] "o") : "⊚"
+<shift dead compose> "(" "*" ")" : "⊛"
+<shift dead compose> (["o" "O"] "*") : "⊛"
+<shift dead compose> "(" "=" ")" : "⊜"
+<shift dead compose> (["o" "O"] "=") : "⊜"
+<shift dead compose> "(" ["-" "−"] ")" : "⊝"
+<shift dead compose> (["o" "O"] ["-" "−"]) : "⊝"
+<shift dead compose> "[" "+" "]" : "⊞"
+<shift dead compose> "[" ["-" "−"] "]" : "⊟"
+<shift dead compose> "[" ["x" "X" "×"] "]" : "⊠"
+<shift dead compose> "[" ["." "⋅"] "]" : "⊡"
+<shift dead compose> "|" "-" "-" <space> : "⊢"
+<shift dead compose> "-" "-" "|" <space> : "⊣"
+<dead compose> "_" "|" : "⊤"
+<dead compose> "⊥" "⊥" : "⊤"
+<dead compose> "|" "_" : "⊥"
+<dead compose> "⊤" "⊤" : "⊥"
+<shift dead compose> "|" "-" <space> : "⊦"
+<shift dead compose> "|" "=" <space> : "⊧"
+<shift dead compose> "|" "=" "=" <space> : "⊨"
+<shift dead compose> "|" "|" "-" <space> : "⊩"
+<shift dead compose> "|" "|" "|" "-" <space> : "⊪"
+<shift dead compose> "|" "|" "=" <space> : "⊫"
+<shift dead compose> "/" "|" "-" "-" <space> : "⊬"
+<shift dead compose> "|" "-" "-" "/" : "⊬"
+<dead compose> ("/" "⊢") : "⊬"
+<shift dead compose> "/" "|" "=" "=" <space> : "⊭"
+<shift dead compose> "|" "=" "=" "/" : "⊭"
+<dead compose> ("/" "⊨") : "⊭"
+<shift dead compose> "/" "|" "|" "-" <space> : "⊮"
+<shift dead compose> "|" "|" "-" "/" : "⊮"
+<dead compose> ("/" "⊩") : "⊮"
+<shift dead compose> "/" "|" "|" "=" <space> : "⊯"
+<shift dead compose> "|" "|" "=" "/" : "⊯"
+<dead compose> ("/" "⊫") : "⊯"
+<dead compose> ("≺" ["(" ")"]) : "⊰"
+<dead compose> ("≻" ["(" ")"]) : "⊱"
+<dead compose> "<" "|" : "⊲"
+<dead compose> "|" ">" : "⊳"
+<dead compose> "_" "<" "|" : "⊴"
+<dead compose> "_" "|" ">" : "⊵"
+<dead compose> ("_" "⊲") : "⊴"
+<dead compose> ("_" "⊳") : "⊵"
+<shift dead compose> "o" "-" "." : "⊶"
+<dead compose> "⊷" "⊷" : "⊶"
+<shift dead compose> "." "-" "o" : "⊷"
+<dead compose> "⊶" "⊶" : "⊷"
+<shift dead compose> "-" "o" : "⊸"
+<dead compose> "⟜" "⟜" : "⊸"
+<dead compose> ("⊶" "⊷") : "⊸"
+<shift dead compose> "-" ["|" "¦"] "-" : "⊹"
+<dead compose> <m> <T> : "⊺"
+<dead compose> ("_" "∨") : "⊻"
+<dead compose> ("/" ["∧" "&"]) : "⊼"
+<dead compose> ("/" "∨") : "⊽"
+<dead compose> (["L" "∟"] ")") : "⊾"
+<dead compose> "∠" "|" : "⊿"
+<dead compose> "M" "&" : "⋀"
+<dead compose> "⋁" "⋁" : "⋀"
+<dead compose> "⋀" "⋀" : "⋁"
+<dead compose> "M" "V" : "⋁"
+<dead compose> "M" "N" : "⋂"
+<dead compose> "⋃" "⋃" : "⋂"
+<dead compose> "⋂" "⋂" : "⋃"
+<dead compose> "M" "U" : "⋃"
+<shift dead compose> "M" "." : "⋄"
+<shift dead compose> "m" "." : "⋅"
+<dead compose> "m" "*" : "⋆"
+<dead compose> ("÷" "×") : "⋇"
+<dead compose> ("⋉" "⋊") : "⋈"
+<shift dead compose> "|" ["X" "x"] "|" : "⋈"
+<dead compose> "|" ["X" "x"] : "⋉"
+<dead compose> ["X" "x"] "|" : "⋊"
+<shift dead compose> (">" "\\") : "⋋"
+<shift dead compose> (">" "/") : "⋌"
+<dead compose> ("_" "∽") : "⋍"
+<shift dead compose> (["(" ")"] "∧") : "⋎"
+<shift dead compose> (["(" ")"] "∨") : "⋏"
+<dead compose> "⊂" "⊂" : "⋐"
+<dead compose> "⊃" "⊃" : "⋑"
+<shift dead compose> "∩" "∩" : "⋒"
+<shift dead compose> "∪" "∪" : "⋓"
+<dead compose> ("∩" "|") : "⋔"
+<dead compose> "#" "#" : "⋕"
+<shift dead compose> ("|" "=") : "⋕"
+<dead compose> "<" "." : "⋖"
+<dead compose> "." ">" : "⋗"
+<dead compose> "<" "<" "<" : "⋘"
+<dead compose> ">" ">" ">" : "⋙"
+<dead compose> "≤" "≥" : "⋚"
+<dead compose> ("≶" ["-" "_"]) : "⋚"
+<dead compose> "≥" "≤" : "⋛"
+<dead compose> ("≷" ["-" "_"]) : "⋛"
+<shift dead compose> ("_" "<") : "⋜"
+<shift dead compose> ("_" ">") : "⋝"
+<shift dead compose> ("_" "≺") : "⋞"
+<shift dead compose> ("_" "≻") : "⋟"
+<shift dead compose> (["(" ")"] "/" "_") "<" : "⋠"
+<dead compose> ("/" "≼") : "⋠"
+<shift dead compose> (["(" ")"] "/" "_") ">" : "⋡"
+<dead compose> ("/" "≽") : "⋡"
+<dead compose> ("/" "⊑") : "⋢"
+<dead compose> ("/" "⊒") : "⋣"
+<dead compose> ("/" "⊏") : "⋤"
+<dead compose> ("/" "⊐") : "⋥"
+<dead compose> ("≁" "<") : "⋦"
+<dead compose> ("≁" ">") : "⋧"
+<dead compose> ("≁" "≺") : "⋨"
+<dead compose> ("≁" "≻") : "⋩"
+<dead compose> ("/" "⊲") : "⋪"
+<dead compose> ("/" "⊳") : "⋫"
+<dead compose> ("/" "⊴") : "⋬"
+<dead compose> ("/" "⊵") : "⋭"
+<shift dead compose> "." "|" : "⋮"
+<shift dead compose> "." "-" : "⋯"
+<shift dead compose> "." "/" : "⋰"
+<shift dead compose> "." "\\" : "⋱"
+<shift dead compose> ("C" "-") : "⋲"
+<dead compose> "⋲" "|" : "⋳"
+<dead compose> "." "⋳" : "⋴"
+<dead compose> "." "⋲" : "⋵"
+<shift dead compose> ("_" ["⋲" "⋳"]) : "⋶"
+[<dead compose> <shift dead compose>] ("_" "⋴") : "⋷"
+<shift dead compose> ("." ["⋶" "⋶"]) : "⋷"
+<dead compose> ("_" ["⋲" "⋳"]) : "⋸"
+<dead compose> "⋽" "⋽" : "⋸"
+<shift dead compose> ("C" "=") : "⋹"
+<dead compose> "€" "€" : "⋹"
+<dead compose> (["-" "="] ["⋲" "⋳"]) : "⋹"
+<dead compose> "⋲" "⋲" : "⋺"
+<dead compose> "⋳" "⋳" : "⋻"
+<dead compose> "⋴" "⋴" : "⋼"
+<dead compose> ("." ["⋺" "⋻"]) : "⋼"
+<dead compose> "⋸" "⋸" : "⋽"
+[<dead compose> <shift dead compose>] ("_" ["⋺" "⋻"]) : "⋽"
+<dead compose> ("." "⋽") : "⋾"
+<dead compose> "⋷" "⋷" : "⋾"
+[<dead compose> <shift dead compose>] ("_" "⋼") : "⋾"
+<dead compose> "∃" "∃" : "⋿"
+
+# TODO Miscellaneous Technical
+# TODO Control Pictures
+# TODO Optical Character Recognition
+
+# Enclosed Alphanumerics:
+for "1" to "9" as \1
+ <dead compose> "(" "\1" ")" : "\add(\u2460 \sub(\1 "1"))"
+ <dead compose> "(" " " "\1" [" " .] ")" : "\add(\u2474 \sub(\1 "1"))"
+ <dead compose> "(" "\1" " " ")" : "\add(\u2474 \sub(\1 "1"))"
+ <dead compose> "\1" "." : "\add(\u2488 \sub(\1 "1"))"
+end for
+for "0" to "9" as \1
+ <dead compose> "(" "1" "\1" ")" : "\add(\u2469 \sub(\1 "0"))"
+ <dead compose> "(" " " "1" "\1" [" " .] ")" : "\add(\u247D \sub(\1 "0"))"
+ <dead compose> "(" "1" "\1" " " ")" : "\add(\u247D \sub(\1 "0"))"
+ <dead compose> "1" "\1" "." : "\add(\u2491 \sub(\1 "0"))"
+end for
+<dead compose> "(" "2" "0" ")" : "\u2473"
+<dead compose> "(" " " "2" "0" [" " .] ")" : "\u2487"
+<dead compose> "(" "2" "0" " " ")" : "\u2473"
+<dead compose> "2" "0" "." : "\u2498"
+for "a" to "z" as \1
+ <dead compose> "(" " " "\1" [" " .] ")" : "\add(\u249C \sub(\1 "a"))"
+ <dead compose> "(" "\1" " " ")" : "\add(\u249C \sub(\1 "a"))"
+end for
+for "A" to "Z" as \1
+ <dead compose> "(" "\1" ")" : "\add(\u24B6 \sub(\1 "A"))"
+end for
+for "a" to "z" as \1
+ <dead compose> "(" "\1" ")" : "\add(\u24D0 \sub(\1 "a"))"
+end for
+<dead compose> "(" "0" ")" : "\u24EA"
+for "1" to "9" as \1
+ <dead compose> "(" "(" "(" "1" "\1" ")" ")" ")" : "\add(\u24EB \sub(\1 "1"))"
+end for
+<dead compose> "(" "(" "(" "2" "0" ")" ")" ")" : "\u24F4"
+for "1" to "9" as \1
+ <dead compose> "(" "(" "\1" ")" ")" : "\add(\u24F5 \sub(\1 "1"))"
+end for
+<dead compose> "(" "(" "1" "0" ")" ")" : "\u24FE"
+<dead compose> "(" "(" "(" "0" ")" ")" ")" : "\u24FF"
+
+# Box Drawing:
+<dead compose> ("╴" "╶") : "─"
+<dead compose> ("╸" "╺") : "━"
+<shift dead compose> "b" "-" : "─"
+<shift dead compose> "B" "-" : "━"
+<shift dead compose> "b" "|" : "│"
+<shift dead compose> "B" "|" : "┃"
+<shift dead compose> "b" "." "-" : "┄"
+<shift dead compose> "B" "." "-" : "┅"
+<dead compose> "┄" "┄" : "┅"
+<shift dead compose> "b" "." "|" : "┆"
+<shift dead compose> "B" "." "|" : "┇"
+<dead compose> "┆" "┆" : "┇"
+<shift dead compose> "b" ":" "-" : "┈"
+<shift dead compose> "B" ":" "-" : "┉"
+<dead compose> "┈" "┈" : "┉"
+<shift dead compose> "b" ":" "|" : "┊"
+<shift dead compose> "B" ":" "|" : "┋"
+<dead compose> "┊" "┊" : "┋"
+macro boxes/2
+ let \3 : {
+ 3 48 12 192 999 999 999 999 999 999 999 999 10 40 130 160
+ 9 24 129 144 6 36 66 96 5 20 65 80 14 44 74 132
+ 194 104 164 224 13 28 73 133 193 88 146 208 11 26 41 56
+ 131 146 161 176 7 22 37 52 67 82 97 112 15 30 45 60
+ 75 135 195 90 105 150 165 120 180 210 225 240 999 999 999 999
+ 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999
+ 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999
+ 999 999 999 999 1 4 2 8 16 64 32 128 33 132 18 40
+ }
+ let \4 : \get(\3 \1)
+ let \5 : \get(\3 \2)
+ if \or(\equals(\4 999) \equals(\5 999))
+ return
+ endif
+ let \6 : { \and(\4 16) \and(\4 32) \and(\4 64) \and(\4 128) }
+ let \7 : { \and(\5 16) \and(\5 32) \and(\5 64) \and(\5 128) }
+ let \4 : { \and(\4 1) \and(\4 2) \and(\4 4) \and(\4 8) }
+ let \5 : { \and(\5 1) \and(\5 2) \and(\5 4) \and(\5 8) }
+ for 0 to 3 as \8
+ \set(\4 \8 \add(\rsh(\get(\4 \8) \8) \mul(2 \rsh(\get(\6 \8)))))
+ \set(\5 \8 \add(\rsh(\get(\5 \8) \8) \mul(2 \rsh(\get(\7 \8)))))
+ \set(\4 \8 \add(\get(\4 \8) \get(\4 \8)))
+ if \greater(\get(\4 \8), 2)
+ \set(\4, \8, 2)
+ endif
+ end for
+ for 0 to 127 as \5
+ let \6 : \get(\3 \5)
+ if \equals(\4 999)
+ continue
+ endif
+ let \7 : { \and(\6 16) \and(\6 32) \and(\6 64) \and(\6 128) }
+ let \6 : { \and(\6 1) \and(\6 2) \and(\6 4) \and(\6 8) }
+ for 0 to 3 as \8
+ \set(\6 \8 \add(\rsh(\get(\6 \8) \8) \mul(2 \rsh(\get(\7 \8)))))
+ end for
+ if \equals(\get(\6 0) \get(\4 0))
+ if \equals(\get(\6 1) \get(\4 1))
+ if \equals(\get(\6 2) \get(\4 2))
+ if \equals(\get(\6 3) \get(\4 3))
+ <dead compose> ("\add(\u2500 \1)" "\add(\u2500 \2)") : "\add(\u2500 \5)"
+ end if
+ end if
+ end if
+ end if
+ end for
+end macro
+for 0 to 127 as \1
+ for \1 to 127 as \2
+ boxes(\1 \2)
+ end for
+end for
+<shift dead compose> "b" "+" : "┼"
+<shift dead compose> "B" "+" : "╋"
+<dead compose> (["-" "─"] ["|" "│"]) : "┼"
+<shift dead compose> "b" "." "." : "╌"
+<shift dead compose> "B" "." "." : "╍"
+<dead compose> "╌" "╌" : "╍"
+<shift dead compose> "b" "¦" : "╎"
+<shift dead compose> "b" "." ":" : "╎"
+<shift dead compose> "B" "¦" : "╏"
+<shift dead compose> "B" "." ":" : "╏"
+<dead compose> "╎" "╎" : "╏"
+<shift dead compose> "b" "=" "-" : "═"
+<dead compose> ("=" "─") : "═"
+<shift dead compose> "b" "=" "|" : "║"
+<dead compose> ("=" "│") : "║"
+<dead compose> ("+" "┍") : "╒"
+<dead compose> ("+" "┎") : "╓"
+<dead compose> ("+" ["┌" "┏"]) : "╔"
+<dead compose> ("+" "┑") : "╕"
+<dead compose> ("+" "┒") : "╖"
+<dead compose> ("+" ["┐" "┓"]) : "╗"
+<dead compose> ("+" "┕") : "╘"
+<dead compose> ("+" "┖") : "╙"
+<dead compose> ("+" ["└" "┗"]) : "╚"
+<dead compose> ("+" "┙") : "╛"
+<dead compose> ("+" "┚") : "╜"
+<dead compose> ("+" ["┘" "┛"]) : "╝"
+<dead compose> ("+" "┝") : "╞"
+<dead compose> ("+" "┠") : "╟"
+<dead compose> ("+" ["├" "┣"]) : "╠"
+<dead compose> ("+" "┥") : "╡"
+<dead compose> ("+" "┨") : "╢"
+<dead compose> ("+" ["┤" "┫"]) : "╣"
+<dead compose> ("+" "┯") : "╤"
+<dead compose> ("+" "┰") : "╥"
+<dead compose> ("+" ["┬" "┳"]) : "╦"
+<dead compose> ("+" "┷") : "╧"
+<dead compose> ("+" "┸") : "╨"
+<dead compose> ("+" ["┴" "┻"]) : "╩"
+<dead compose> ("+" "┿") : "╪"
+<dead compose> ("+" "╂") : "╫"
+<dead compose> ("+" ["┼" "╋"]) : "╬"
+<shift dead compose> "b" "=" "+" : "╬"
+<dead compose> ("=" "┼") : "╬"
+<dead compose> (["o" "O"] "┌") : "╭"
+<dead compose> (["o" "O"] "┐") : "╮"
+<dead compose> (["o" "O"] "┘") : "╯"
+<dead compose> (["o" "O"] "└") : "╰"
+<shift dead compose> "b" "/" : "╱"
+<shift dead compose> "b" "\\" : "╲"
+<dead compose> ("╱" "╲") : "╳"
+<shift dead compose> "b" "X" : "╳"
+<shift dead compose> "b" ["<" "←"] : "╴"
+<shift dead compose> "b" [<dead letter ^> "^" "↑"] : "╵"
+<shift dead compose> "b" [">" "→"] : "╶"
+<shift dead compose> "b" ["v" "," "↓"] : "╷"
+<shift dead compose> "B" ["<" "←"] : "╸"
+<shift dead compose> "B" [<dead letter ^> "^" "↑"] : "╹"
+<shift dead compose> "B" [">" "→"] : "╺"
+<shift dead compose> "B" ["v" "," "↓"] : "╻"
+
+# Block Elements:
+<shift dead compose> "B" <dead compose> : <dead letter █>
+dead_ascii("█")
+<dead letter █> "|" : <dead letter ▀>
+dead_ascii("▀")
+<dead letter ▀> "0" : "▀"
+<dead letter ▀> "1" : "▁"
+<dead letter ▀> "2" : "▂"
+<dead letter ▀> "3" : "▃"
+<dead letter ▀> "4" : "▄"
+<dead letter ▀> "5" : "▅"
+<dead letter ▀> "6" : "▆"
+<dead letter ▀> "7" : "▇"
+<dead letter █> "-" : <dead letter ▐>
+dead_ascii("▐")
+<dead letter ▐> "7" : "▉"
+<dead letter ▐> "6" : "▊"
+<dead letter ▐> "5" : "▋"
+<dead letter ▐> "4" : "▌"
+<dead letter ▐> "3" : "▍"
+<dead letter ▐> "2" : "▎"
+<dead letter ▐> "1" : "▏"
+<dead letter ▐> "0" : "▐"
+<dead letter █> "1" : "░"
+<dead letter █> "2" : "▒"
+<dead letter █> "3" : "▓"
+<dead letter ▀> "-" : "▔"
+<dead letter ▐> "|" : "▕"
+<dead letter █> "," : "▖"
+<dead letter █> "." : "▗"
+<dead letter █> ";" : "▘"
+<dead letter █> "▝" : "▙"
+<dead compose> "▗" "▘" : "▚"
+<dead letter █> "▗" : "▛"
+<dead letter █> "▖" : "▜"
+<dead letter █> ":" : "▝"
+<dead compose> "▖" "▝" : "▞"
+<dead letter █> "▘" : "▟"
+
+# Geometric Shapes:
+<dead compose> "□" "□" : "■"
+<shift dead compose> "s" "[" "]" :"□"
+<dead compose> "(" "□" ")" : "▢"
+<dead compose> ("■" "□") : "▣"
+<dead compose> ("-" "□") : "▤"
+<dead compose> ("|" "□") : "▥"
+<dead compose> ("+" "□") : "▦"
+<dead compose> ("\\" "□") : "▧"
+<dead compose> ("/" "□") : "▨"
+<dead compose> (["x" "X"] "") : "▩"
+<dead compose> "." "◾" : "▪"
+<dead compose> "." "◽" : "▫"
+<dead compose> "▭" "▭" : "▬"
+<dead compose> "-" "■" : "▬"
+<dead compose> "-" "□" : "▭"
+<shift dead compose> "-" "[" "]" : "▭"
+<dead compose> "▯" "▯" : "▮"
+<dead compose> "|" "■" : "▮"
+<dead compose> "|" "□" : "▯"
+<shift dead compose> "|" "[" "]" : "▯"
+<dead compose> "▱" "▱" : "▰"
+<dead compose> "/" "■" : "▰"
+<dead compose> "/" "□" : "▱"
+<shift dead compose> "/" "[" "]" : "▱"
+<dead compose> "△" "△" : "▲"
+<shift dead compose> "s" "⇑" : "▲"
+<shift dead compose> "s" "↑" : "△"
+<dead compose> "▵" "▵" : "▴"
+<dead compose> "." "▲" : "▴"
+<dead compose> "." "△" : "▵"
+<dead compose> "▷" "▷" : "▶"
+<shift dead compose> "s" "⇒" : "▶"
+<shift dead compose> "s" "→" : "▷"
+<dead compose> "▹" "▹" : "▸"
+<dead compose> "." "▶" : "▸"
+<dead compose> "." "▷" : "▹"
+<dead compose> "▻" "▻" : "►"
+<dead compose> "-" "▶" : "►"
+<dead compose> "-" "▷" : "▻"
+<dead compose> "▽" "▽" : "▼"
+<shift dead compose> "s" "⇓" : "▼"
+<shift dead compose> "s" "↓" : "▽"
+<dead compose> "▿" "▿" : "▾"
+<dead compose> "." "▼" : "▾"
+<dead compose> "." "▽" : "▿"
+<dead compose> "◁" "◁" : "◀"
+<shift dead compose> "s" "⇐" : "◀"
+<shift dead compose> "s" "←" : "◁"
+<dead compose> "◃" "◃" : "◂"
+<dead compose> "." "◀" : "◂"
+<dead compose> "." "◁" : "◃"
+<dead compose> "◅" "◅" : "◄"
+<dead compose> "-" "◀" : "◄"
+<dead compose> "-" "◁" : "◅"
+<dead compose> "◇" "◇" : "◆"
+<dead compose> "◀" "▶" : "◆"
+<dead compose> "◁" "▷" : "◇"
+<dead compose> ("◆" "◇") : "◈"
+<dead compose> ("●" "○") : "◉"
+<shift dead compose> "s" "<" ">" : "◊"
+<shift dead compose> "s" "(" ")" : "○"
+<dead compose> "." "◯" : "○"
+<dead compose> "○" "." : "◌"
+<dead compose> "○" "|" : "◍"
+<dead compose> ("○" "o") : "◎"
+<dead compose> "○" "○" : "●"
+<dead compose> ("◖" "○") : "◐"
+<dead compose> ("◗" "○") : "◑"
+<dead compose> "◑" "◑" : "◒"
+<dead compose> "◓" "◓" : "◒"
+<dead compose> "◐" "◐" : "◓"
+<dead compose> "◒" "◒" : "◓"
+<dead compose> "◷" "◷" : "◔"
+<dead compose> "◴" "◴" : "◕"
+<shift dead compose> "s" "(" "|" : "◖"
+<shift dead compose> "s" "|" ")" : "◗"
+<dead compose> ("■" "◦") : "◘"
+<dead compose> ("■" ["◯" "○"]) : "◙"
+<dead compose> ("◚" "◛") : "◙"
+<dead compose> ("■" ["◠" "◜" "◝"]) : "◚"
+<dead compose> ("■" ["◡" "◟" "◞"]) : "◛"
+<dead compose> (["◯" "○"] "↖") : "◜"
+<dead compose> (["◯" "○"] "↗") : "◝"
+<dead compose> (["◯" "○"] "↘") : "◞"
+<dead compose> (["◯" "○"] "↙") : "◟"
+<dead compose> (["◯" "○"] "↑") : "◠"
+<dead compose> ("◜" "◝") : "◠"
+<dead compose> (["◯" "○"] "↓") : "◡"
+<dead compose> ("◟" "◞") : "◡"
+<shift dead compose> "s" "⇘" : "◢"
+<dead compose> "◿" "◿" : "◢"
+<shift dead compose> "s" "⇙" : "◣"
+<dead compose> "◺" "◺" : "◣"
+<shift dead compose> "s" "⇖" : "◤"
+<dead compose> "◸" "◸" : "◤"
+<shift dead compose> "s" "⇗" : "◥"
+<dead compose> "◹" "◹" : "◥"
+<dead compose> "." "○" : "◦"
+<dead compose> (["□" "◻" "◽"] ["←" "⇐"]) : "◧"
+<dead compose> (["□" "◻" "◽"] ["→" "⇒"]) : "◨"
+<dead compose> ("◿" "◤") : "◩"
+<dead compose> (["□" "◻" "◽"] "◤") : "◩"
+<dead compose> ("◸" "◢") : "◪"
+<dead compose> (["□" "◻" "◽"] "◢") : "◪"
+<dead compose> "[" "|" "]" : ◫
+<dead compose> "◿" ["." .] "◺" : "◬"
+<dead compose> "" "◺" : "◭"
+<dead compose> "⧨" "⧨" : "◭"
+<dead compose> "◿" "" : "◮"
+<dead compose> "⧩" "⧩" : "◮"
+<dead compose> "+" "○" : "◯"
+<dead compose> ("◜" "◟") : "◯"
+<dead compose> ("◝" "◞") : "◯"
+<dead compose> ("◠" "◡") : "◯"
+<dead compose> ("◴" ["□" "◻"]) : "◰"
+<dead compose> ("◵" ["□" "◻"]) : "◱"
+<dead compose> ("◶" ["□" "◻"]) : "◲"
+<dead compose> ("◷" ["□" "◻"]) : "◳"
+<dead compose> ("○" "◜") : "◴"
+<dead compose> ("○" "◟") : "◵"
+<dead compose> ("○" "◞") : "◶"
+<dead compose> ("○" "◝") : "◷"
+<shift dead compose> "s" "↖" : "◸"
+<shift dead compose> "s" "↗" : "◹"
+<shift dead compose> "s" "↙" : "◺"
+<dead compose> "." "□" : "◻"
+<dead compose> "." "■" : "◼"
+<dead compose> "◻" "◻" : "◼"
+<dead compose> "." "◻" : "◽"
+<dead compose> "◽" "◽" : "◾"
+<dead compose> "." "◼" : "◾"
+<shift dead compose> "s" "↘" : "◿"
+
+# TODO Miscellaneous Symbols
+# TODO Dingbats
+
+# Miscellaneous Mathematical Symbols-A:
+<shift dead compose> "L" "/" : "⟀"
+<shift dead compose> ["Δ" "∆"] ["Δ" "∆"] : "⟁"
+<shift dead compose> "!" "|" : "⟂"
+<dead compose> ("⊂" "o") : "⟃"
+<dead compose> ("⊃" "o") : "⟄"
+<dead compose> "⟆" "⟆" : "⟅"
+<shift dead compose> (["~" <dead letter ~>] ["L" "l"]) : "⟅"
+<shift dead compose> (["~" <dead letter ~>] ["J" "j"]) : "⟆"
+<dead compose> "⟅" "⟅" : "⟆"
+<dead compose> ("∨" ".") : "⟇"
+<dead compose> "⟑" "⟑" : "⟇"
+<dead compose> "\\" "⊂" : "⟈"
+<dead compose> "⊃" "/" : "⟉"
+<dead compose> ("-" "|") : "⟊"
+<shift dead compose> "/" "/" : "⟋"
+<shift dead compose> (")" "7") : "⟌"
+<shift dead compose> "\\" "\\" : "⟍"
+<dead compose> "[" "∧" "]" : "⟎"
+<dead compose> "[" "∨" "]" : "⟏"
+<shift dead compose> "<" "." ">" : "⟐"
+<dead compose> ("∧" ".") : "⟑"
+<dead compose> "⟇" "⟇" : "⟑"
+<dead compose> "⫙" "⫙" : "⟒"
+<dead compose> ("∪" "|") : "⟒"
+<dead compose> "⟔" "⟔" : "⟓"
+<shift dead compose> "_" "." "|" : "⟓"
+<shift dead compose> "|" "." "_" : "⟔"
+<dead compose> "⟓" "⟓" : "⟔"
+<dead compose> "=" "⨝" : "⟕"
+<dead compose> "=" "⊳" : "⟕"
+<dead compose> "⟖" "⟖" : "⟕"
+<dead compose> "⊲" "=" : "⟖"
+<dead compose> "⨝" "=" : "⟖"
+<dead compose> "⟕" "⟕" : "⟖"
+<dead compose> "⨝" "⨝" : "⟗"
+<dead compose> "⟕" "⟖" : "⟗"
+<shift dead compose> "=" "⨝" "=" : "⟗"
+<dead letter ^> "⟘" : "⟘"
+<dead compose> "⟙" "⟙" : "⟘"
+<dead letter ^> "⟙" : "⟙"
+<dead compose> "⟘" "⟘" : "⟙"
+<dead compose> "⫤" "⊨" : "⟚"
+<dead compose> "⊣" "⊢" : "⟛"
+<shift dead compose> "o" "-" <space> : "⟜"
+<dead compose> "⊸" "⊸" : "⟜"
+<shift dead compose> "|" "-" "-" "-" : "⟝"
+<dead compose> "⊢" "-" : "⟝"
+<shift dead compose> "-" "-" "-" "|" : "⟞"
+<dead compose> "-" "⊣" : "⟞"
+<dead compose> "⫱" "⫱" : "⟟"
+<shift dead compose> "o" "|" "-" : "⟟"
+<dead compose> ("-" "⫯") : "⟟"
+<shift dead compose> "<" "-" ">" : "⟠"
+<shift dead compose> "." "<" ">" : "⟡"
+<shift dead compose> "-" "<" ">" : "⟢"
+<dead compose> "-" "⟡" : "⟢"
+<dead compose> "⟣" "⟣" : "⟢"
+<shift dead compose> "<" ">" "-" : "⟣"
+<dead compose> "⟡" "-" : "⟣"
+<dead compose> "⟢" "⟢" : "⟣"
+<shift dead compose> "-" "[" "]" : "⟤"
+<dead compose> "⟥" "⟥" : "⟤"
+<shift dead compose> "[" "]" "-" : "⟥"
+<dead compose> "⟤" "⟤" : "⟥"
+<dead compose> "[" "[" : "⟦"
+<dead compose> "]" "]" : "⟧"
+<dead compose> "<" "⟨" : "⟨"
+<dead compose> ")" ">" : "⟩"
+<dead compose> "⟨" "⟨" : "⟪"
+<dead compose> "⟩" "⟩" : "⟫"
+<dead compose> "(" "|" : "⟬"
+<dead compose> "|" ")" : "⟭"
+<dead compose> "|" "(" : "⟮"
+<dead compose> ")" "|" : "⟯"
+
+# Supplemental Arrows-A:
+<dead compose> "⤊" "⤊" : "⟰"
+<dead compose> "⤋" "⤋" : "⟱"
+<dead compose> ("↶" ["O" "o"]) : "⟲"
+<dead compose> "↺" "↺" : "⟲"
+<dead compose> ("↷" ["O" "o"]) : "⟳"
+<dead compose> "↻" "↻" : "⟳"
+<dead compose> ("O" "→") : "⟴"
+<dead compose> "⇴" "⇴" : "⟴"
+<dead compose> ("|" "⇴") : "⟴"
+<dead compose> "←" "-" : "⟵"
+<dead compose> "-" "→" : "⟶"
+<dead compose> "⟵" "⟶" : "⟷"
+<dead compose> "⇐" "=" : "⟸"
+<dead compose> "=" "⇒" : "⟹"
+<dead compose> "⟸" "⟹" : "⟺"
+<dead compose> "↤" "↤" : "⟻"
+<dead compose> "⟵" "|" : "⟻"
+<dead compose> "↦" "↦" : "⟼"
+<dead compose> "|" "⟶" : "⟼"
+<dead compose> "⟸" "|" : "⟽"
+<dead compose> "|" "⟹" : "⟾"
+<dead compose> "⇝" "⇝" : "⟿"
+<dead compose> "←" "|" : "↤"
+<dead compose> ("-" "↑") : "↥"
+<dead compose> "|" "→" : "↦"
+
+# Braille Patterns:
+function braille/1
+ \or(\lsh(1 \sub("\1" "0")) "\u2800")
+end function
+macro braille_double/1
+ let \2 : "\u2800"
+ if \and(\1 1) = 1
+ let \2 : \or(\2 8)
+ endif
+ if \and(\1 2) = 2
+ let \2 : \or(\2 16)
+ endif
+ if \and(\1 4) = 4
+ let \2 : \or(\2 32)
+ endif
+ if \and(\1 8) = 8
+ let \2 : \or(\2 1)
+ endif
+ if \and(\1 16) = 16
+ let \2 : \or(\2 2)
+ endif
+ if \and(\1 32) = 32
+ let \2 : \or(\2 4)
+ endif
+ if \and(\1 64) = 64
+ let \2 : \or(\2 128)
+ endif
+ if \and(\1 128) = 128
+ let \2 : \or(\2 64)
+ endif
+ <dead compose> "\1" "\1" : "\or(\1 \2)"
+end macro
+<shift dead compose> "b" <space> : "\u2800"
+for "1" to "8" as \1
+ <shift dead compose> "b" "\1" : "\braille(\1)"
+ for \add(\1 1) to "8" as \2
+ <shift dead compose> "B" ("\1" "\2") : "\or(\braille(\1) \braille(\2))"
+ end for
+end for
+for "\u2800" to "\u28FF" as \1
+ braille_double(\1)
+ for \add(\1 1) to "\u28FF" as \2
+ <dead compose> ("\1" "\2") : "\or(\1 \2)"
+ end for
+end for
+
+# Supplemental Arrows-B:
+<shift dead compose> "|" "↠" : "⤀"
+<shift dead compose> "|" "⤀" : "⤁"
+<shift dead compose> "|" "⇐" : "⤂"
+<shift dead compose> "|" "⇒" : "⤃"
+<shift dead compose> "|" "⇔" : "⤄"
+<dead compose> "⤂" "⤃" : "⤄"
+<dead compose> "|" "↠" : "⤅"
+<dead compose> "⇐" "|" : "⤆"
+<dead compose> "|" "⇒" : "⤇"
+<shift dead compose> "-" "↓" : "⤈"
+<shift dead compose> "-" "↑" : "⤉"
+<dead compose> "⇑" "⇑" : "⤊"
+<dead compose> "⇓" "⇓" : "⤋"
+<dead compose> ("¦" "←") : "⤌"
+<dead compose> ("¦" "→") : "⤍"
+<dead compose> ("." "←") : "⤎"
+<dead compose> ("." "→") : "⤏"
+<dead compose> "." "⤖" : "⤐"
+<dead compose> ("…" "→") : "⤑"
+<dead compose> "_" "↑" : "⤒"
+<dead compose> "↓" "_" : "⤓"
+<dead compose> ("|" "↣") : "⤔"
+<dead compose> ("|" "⤔") : "⤕"
+<dead compose> ">" "↠" : "⤖"
+<dead compose> ("|" "⤖") : "⤗"
+<dead compose> ("|" "⤗") : "⤘"
+<shift dead compose> "-" "-" "<" : "⤙"
+<shift dead compose> ">" "-" "-" : "⤚"
+<shift dead compose> "⤙" ["<" "⤙"] : "⤛"
+<shift dead compose> [">" "⤚"] "⤚" : "⤜"
+<shift dead compose> "." "←" "⤝"
+<shift dead compose> "→" "." "⤞"
+<dead compose> "⤝" "|" : "⤟"
+<dead compose> "|" "⤞" : "⤠"
+<shift dead compose> "↖" "↘" : "⤡"
+<shift dead compose> "↙" "↗" : "⤢"
+<dead compose> ")" "↖" : "⤣"
+<dead compose> "↗" "(" : "⤤"
+<dead compose> "↘" "(" : "⤥"
+<dead compose> ")" "↙" : "⤦"
+<dead compose> "↖" "↗" "⤧"
+<dead compose> "↗" "↘" "⤨"
+<dead compose> "↘" "↙" "⤩"
+<dead compose> "↙" "↖" "⤪"
+<shift dead compose> "X" "\\" "/" : "⤫"
+<shift dead compose> "X" "/" "\\" : "⤬"
+<dead compose> "⤬" "⤨" : "⤭"
+<dead compose> "⤬" ("↗" "↘") : "⤭"
+<shift dead compose> "↗" "↘" : "⤭"
+<dead compose> "⤫" "⤨" : "⤮"
+<dead compose> "⤫" ("↗" "↘") : "⤮"
+<shift dead compose> "↘" "↗" : "⤮"
+<dead compose> "⤬" "↗" : "⤯"
+<shift dead compose> "↗" "\\" : "⤯"
+<dead compose> "⤫" "↘" : "⤰"
+<shift dead compose> "↘" "/" : "⤰"
+<dead compose> "⤫" "⤧" : "⤱"
+<dead compose> "⤫" "(↖" "↗") : "⤱"
+<shift dead compose> "↖" "↗" : "⤱"
+<dead compose> "⤬" "⤧" : "⤲"
+<dead compose> "⤬" "(↖" "↗") : "⤱"
+<shift dead compose> "↗" "↖" : "⤱"
+<shift dead compose> (["~" <dead letter ~>] "→") : "⤳"
+<shift dead compose> ["O" "o"] "→" "↑" : "⤴"
+<shift dead compose> ["O" "o"] "→" "↓" : "⤵"
+<shift dead compose> ["O" "o"] "↓" "←" : "⤶"
+<shift dead compose> ["O" "o"] "↓" "→" : "⤷"
+<dead compose> (")" "↓") : "⤸"
+<dead compose> ("(" "↓") : "⤹"
+<shift dead compose> ("n" "←") : "⤺"
+<shift dead compose> ("u" "→") : "⤻"
+<dead compose> "⤽" "⤽" : "⤼"
+<shift dead compose> "n" "-" "→" : "⤼"
+<shift dead compose> "n" "+" "←" : "⤽"
+<dead compose> "⤺" "+" : "⤽"
+<dead compose> "⤼" "⤼" : "⤽"
+<shift dead compose> "←" "." <space> : "⤾"
+<dead compose> "⥁" "⥁" : "⤾"
+<shift dead compose> "→" "." <space> : "⤿"
+<dead compose> "⥀" "⥀" : "⤿"
+<shift dead compose> "←" "O" : "⥀"
+<shift dead compose> "→" "O" : "⥁"
+<shift dead compose> "→" "." "←" : "⥂"
+<shift dead compose> "←" "." "→" : "⥃"
+<shift dead compose> "." "→" "←" : "⥄"
+<shift dead compose> "→" "+" : "⥅"
+<shift dead compose> "←" "+" : "⥆"
+<dead compose> "x" "→" : "⥇"
+<dead compose> ("↔" "o") : "⥈"
+<dead compose> "↟" "o" : "⥉"
+<shift dead compose> "↼" "⇁" : "⥊"
+<shift dead compose> "↽" "⇀" : "⥋"
+<shift dead compose> "↾" "⇃" : "⥌"
+<shift dead compose> "↿" "⇂" : "⥍"
+<shift dead compose> "↼" "⇀" : "⥎"
+<shift dead compose> "↾" "⇂" : "⥏"
+<shift dead compose> "↽" "⇁" : "⥐"
+<shift dead compose> "↿" "⇃" : "⥑"
+<dead compose> "|" "↼" : "⥒"
+<dead compose> "⇀" "|" : "⥓"
+<dead compose> "-" "↾" : "⥔"
+<dead compose> "⇂" "-" : "⥕"
+<dead compose> "|" "↽" : "⥖"
+<dead compose> "⇁" "|" : "⥗"
+<dead compose> "-" "↿" : "⥘"
+<dead compose> "⇃" "-" : "⥙"
+<dead compose> "↼" "|" : "⥚"
+<dead compose> "|" "⇀" : "⥛"
+<dead compose> "↾" "-" : "⥜"
+<dead compose> "-" "⇂" : "⥝"
+<dead compose> "↽" "|" : "⥞"
+<dead compose> "|" "⇁" : "⥟"
+<dead compose> "↿" "-" : "⥠"
+<dead compose> "-" "⇃" : "⥡"
+<dead compose> "↼" "↽" : "⥢"
+<dead compose> "↿" "↾" : "⥣"
+<dead compose> "⇀" "⇁" : "⥤"
+<dead compose> "⇃" "⇂" : "⥥"
+<dead compose> "↼" "⇀" : "⥦"
+<dead compose> "↽" "⇁" : "⥧"
+<dead compose> "⇀" "↼" : "⥨"
+<dead compose> "⇁" "↽" : "⥩"
+<dead compose> "↼" "-" : "⥪"
+<dead compose> "↽" "-" : "⥫"
+<dead compose> "-" "⇀" : "⥬"
+<dead compose> "-" "⇁" : "⥭"
+<dead compose> "↿" "⇂" : "⥮"
+<dead compose> "⇃" "↾" : "⥯"
+<dead compose> ("⊃" "]") : "⥰"
+<shift dead compose> "=" "→" "⥱"
+<shift dead compose> ["~" <dead letter ~>] "→" "⥲"
+<shift dead compose> "←" ["~" <dead letter ~>] "⥳"
+<shift dead compose> "→" ["~" <dead letter ~>] "⥴"
+<shift dead compose> "→" "≈" "⥵"
+<shift dead compose> "<" "←" "⥶"
+<shift dead compose> "←" "<" "⥷"
+<shift dead compose> ">" "→" "⥸"
+<shift dead compose> "⊂" "→" "⥹"
+<shift dead compose> "←" "⊂" "⥺"
+<shift dead compose> "⊃" "←" "⥻"
+<dead compose> "{" "←" : "⥼"
+<dead compose> "→" "}" : "⥽"
+<dead compose> ["{" "}"] "↑" : "⥾"
+<dead compose> ["{" "}"] "↓" : "⥿"
+
+# Miscellaneous Mathematical Symbols-B:
+<shift dead compose> ":" "3" "|" : "⦀"
+<shift dead compose> "z" "." : "⦁"
+<shift dead compose> "z" ":" : "⦂"
+<dead compose> "{" "|" : "⦃"
+<dead compose> "|" "}" : "⦄"
+<shift dead compose> "|" "(" : "⦅"
+<shift dead compose> ")" "|" : "⦆"
+<shift dead compose> "(" "|" : "⦇"
+<shift dead compose> "|" ")" : "⦈"
+<dead compose> "⟨" "|" : "⦉"
+<dead compose> "|" "⟩" : "⦊"
+<dead compose> ("_" "[") : "⦋"
+<dead compose> ("_" "]") : "⦌"
+<dead compose> ("[" "\\") : "⦍"
+<dead compose> ("]" "\\") : "⦎"
+<dead compose> ("[" "/") : "⦏"
+<dead compose> ("]" "/") : "⦐"
+<dead compose> ("⟨" ["." "⋅"]) : "⦑"
+<dead compose> ("⟩" ["." "⋅"]) : "⦒"
+<dead compose> ("(" "<") : "⦓"
+<dead compose> (")" ">") : "⦔"
+<dead compose> (">" "⸨") : "⦕"
+<dead compose> ("<" "⸩") : "⦖"
+<dead compose> "⟬" "⟬" : "⦗"
+<dead compose> "⟭" "⟭" : "⦘"
+<shift dead compose> ":" ":" "|" : "⦙"
+<dead compose> ("⧘" "⧙") : "⦚"
+<dead compose> "}" "{" : "⦚"
+<dead compose> ("(" "⦣") : "⦛"
+<dead compose> ("∟" "]") : "⦜"
+<dead compose> ("∟" ".") : "⦝"
+<dead compose> (["∠" "⦟"] "s") : "⦞"
+<dead compose> ["∠" "."] "∠" : "⦟"
+<dead compose> "∢" "∢" : "⦠"
+<shift dead compose> ("(" ">") : "⦠"
+<shift dead compose> (["(" ")" ] ["v" "V"]) : "⦡"
+<shift dead compose> "¯" "/" : "⦢"
+<dead compose> "⦣" "⦣" : "⦢"
+<shift dead compose> "_" "\\" : "⦣"
+<dead compose> "⦢" "⦢" : "⦣"
+<dead compose> ("_" "⦣") : "⦤"
+<dead compose> ("_" ["∠" "⦟"]) : "⦥"
+<shift dead compose> "\\" "_" : "⦦"
+<shift dead compose> "/" ["^" <dead letter ~>] "_" : "⦧"
+<shift dead compose> "/" "¯" : "⦧"
+<dead compose> (["∠" "⦟" "∡"] "↗") : "⦨"
+<shift dead compose> ("-" "↗") : "⦨"
+<dead compose> (["⦛" "⦣"] "↖") : "⦩"
+<shift dead compose> ("-" "↖") : "⦩"
+<dead compose> ("⦢" "↘") : "⦪"
+<shift dead compose> ("-" "↘") : "⦩"
+<dead compose> ("⦢" "↙") : "⦫"
+<shift dead compose> ("-" "↙") : "⦩"
+<dead compose> ("⩗" "↗") : "⦬"
+<shift dead compose> ("|" "↗") : "⦬"
+<dead compose> ("⩗" "↖") : "⦭"
+<shift dead compose> ("|" "↖") : "⦭"
+<dead compose> ("⩘" "↘") : "⦮"
+<shift dead compose> ("|" "↘") : "⦮"
+<dead compose> ("⩘" "↙") : "⦯"
+<shift dead compose> ("|" "↙") : "⦯"
+<dead compose> "∅" "∅" : "⦰"
+<dead compose> ("∅" "_") : "⦱"
+composite("∅" "°" "⦲")
+<dead compose> ("∅" "→") : "⦳"
+<dead compose> ("∅" "←") : "⦴"
+<shift dead compose> "(" "-" "-" ")" : "⦵"
+<shift dead compose> "(" "|" ")" : "⦶"
+<shift dead compose> "(" "|" "|" ")" : "⦷"
+<shift dead compose> "(" "\\" ")" : "⦸"
+<shift dead compose> "(" ["⟂" "⊥"] ")" : "⦹"
+<dead compose> "⦺" "⦺" : "⦹"
+<shift dead compose> "(" "⫠" ")" : "⦺"
+<dead compose> "⦹" "⦹" : "⦺"
+<shift dead compose> "(" "X" )" : "⦻"
+<shift dead compose> "(" "%" )" : "⦼"
+<shift dead compose> ("O" "↑") : "⦽"
+<shift dead compose> "(" "o" )" : "⦾"
+<shift dead compose> "(" "(" ")" )" : "⦾"
+<shift dead compose> "(" "(" "o" ")" )" : "⦿"
+<shift dead compose> "(" "(" "(" ")" ")" )" : "⦿"
+<shift dead compose> "(" "<" ")" : "⧀"
+<shift dead compose> "(" ">" ")" : "⧁"
+<shift dead compose> "O" "o" : "⧂"
+<shift dead compose> "O" "=" : "⧃"
+<shift dead compose> "[" "/" "]" : "⧄"
+<shift dead compose> "[" "\\" "]" : "⧅"
+<shift dead compose> "[" "*" "]" : "⧆"
+<shift dead compose> "[" "o" "]" : "⧇"
+<shift dead compose> "[" "[" "]" "]" : "⧈"
+<shift dead compose> "[" "]" "[" "]" : "⧉"
+<dead compose> (["Δ" "∆"] ".") : "⧊"
+<dead compose> (["Δ" "∆"] "_") : "⧋"
+<dead compose> (["Δ" "∆"] "s") : "⧌"
+<shift dead compose> (["Δ" "∆"] "_") : "⧍"
+<shift dead compose> "⊳" "/" "⊲" : "⧎"
+<shift dead compose> "⊲" "|" : "⧏"
+<shift dead compose> "|" "⊳" : "⧐"
+<dead compose> "⧑" "⧑" : "⧒"
+<dead compose> "|" "⧕" : "⧒"
+<dead compose> "⧔" "|" : "⧑"
+<dead compose> "⧒" "⧒" : "⧑"
+<dead compose> ("⧑" "⧒") : "⧓"
+<dead compose> "⧕" "⧕" : "⧔"
+<shift dead compose> "|" ">" "<" : "⧔"
+<shift dead compose> ">" "<" "|" : "⧕"
+<dead compose> "⧔" "⧔" : "⧕"
+<dead compose> "⧖" "⧖" : "⧗"
+<dead compose> "}" "|" : "⧘"
+<dead compose> "|" "{" : "⧙"
+<dead compose> "⧘" "⧘" : "⧚"
+<dead compose> "⧙" "⧙" : "⧛"
+<shift dead compose> "o" "-" "u" : "⧜"
+<shift dead compose> "o" "°" "o" : "⧝"
+<shift dead compose> "o" "|" "o" : "⧞"
+<shift dead compose> "0" "|" "0" : "⧞"
+<dead compose> ("|" "∞") : "⧞"
+<shift dead compose> "o" "-" "o" : "⧟"
+<dead compose> "⧉" "⧉" : "⧠"
+<shift dead compose> "[" "[" "]" <space> : "⧠"
+<dead compose> "⦤" "|" : "⧡"
+<shift dead compose> "w" "w" : "⧢"
+<shift dead compose> "W" "W" : "⧢"
+<dead compose> ("/" "#") : "⧣"
+<dead letter ~> "⧣" : "⧤"
+<dead compose> "⧣" "⧣" : "⧥"
+<shift dead compose> "|" "=" "|" : "⧦"
+<shift dead compose> "=" "|" : "⧧"
+<dead compose> "+" "\\" "\\" "|" "/" : "⧨"
+<dead compose> "◭" "◭" : "⧨"
+<dead compose> "+" "\\" "|" "/" "/" : "⧩"
+<dead compose> "◮" "◮" : "⧩"
+<dead compose> ("⧫" "↓") : "⧪"
+<shift dead compose> "<" "<" "<" ">" ">" ">" : "⧫"
+<dead compose> "◊" "◊" : "⧫"
+<shift dead compose> (["o" "O"] "↓") : "⧬"
+<dead compose> "⧬" "⧬" : "⧭"
+<shift dead compose> "]" "[" "[" "]" : "⧮"
+<shift dead compose> "[" "]" "]" "[" : "⧮"
+<dead compose> "⧮" "⧮" : "⧯"
+<shift dead compose> "]" "[" "<" ">" : "⧰"
+<shift dead compose> "<" ">" "]" "[" : "⧰"
+<dead compose> "⧰" "⧰" : "⧱"
+<shift dead compose> "]" "[" "(" ")" : "⧲"
+<shift dead compose> "(" ")" "]" "[" : "⧲"
+<shift dead compose> "]" "[" ["O" "o"] : "⧲"
+<shift dead compose> ["O" "o"] "]" "[" : "⧲"
+<dead compose> "⧲" "⧲" : "⧳"
+<dead compose> ":" "→" : "⧴"
+<dead compose> "\\" "\\" : "⧵"
+<dead compose> ("_" "∕") : "⧶"
+<shift dead compose> ("-" "\\") : "⧷"
+<dead compose> "⟋" "⟋" : "⧸"
+<dead compose> "∕" "∕" : "⧸"
+<dead compose> "⟍" "⟍" : "⧹"
+<dead compose> "⧵" "⧵" : "⧸"
+<shift dead compose> "-" "|" "-" "|" "-" : "⧺"
+<shift dead compose> "-" "|" "|" "|" "-" : "⧻"
+<dead compose> "⧺" "⧺" : "⧻"
+<shift dead compose> ")" "<" : "⧼"
+<shift dead compose> ">" "(" : "⧽"
+<shift dead compose> "+" "+" : "⧾"
+<dead compose> "⧿" "⧿" : "⧾"
+<shift dead compose> "−" "−" : "⧿"
+<dead compose> "⧾" "⧾" : "⧿"
+
+# Supplemental Mathematical Operators:
+<dead compose> "⊙" "⊙" : "⨀"
+<dead compose> "⊕" "⊕" : "⨁"
+<dead compose> "⊗" "⊗" : "⨂"
+<dead compose> "⊍" "⊍" : "⨃"
+<dead compose> "⊎" "⊎" : "⨄"
+<dead compose> "⊓" "⊓" : "⨅"
+<dead compose> "⊔" "⊔" : "⨆"
+<dead compose> "⋀" "⋀" : "⨇"
+<dead compose> "⋁" "⋁" : "⨈"
+<shift dead compose> ("/" "\\") : "⨉"
+<dead compose> ("o" "∑") : "⨊"
+<dead compose> ("∑" "∫") : "⨋"
+<dead compose> "∬" "∬" : "⨌"
+<dead compose> ("∫" "∭") : "⨌"
+<dead compose> "4" ["s" "ſ" "∫"] : "⨌"
+<dead compose> ("-" "∫") : "⨍"
+<dead compose> ("=" "∫") : "⨎"
+<dead compose> ("/" "∫") : "⨏"
+<dead compose> (["c" "C"] "∫") : "⨐"
+<dead compose> (["u" "U"] "∫") : "⨑"
+<dead compose> "]" "∫" : "⨒"
+<dead compose> ")" "∫" : "⨓"
+<dead compose> ")" ")" "∫" : "⨔"
+<dead compose> "∫" ")" ")" : "⨔"
+<dead compose> "(" ")" "∫" : "⨕"
+<dead compose> "∫" "(" ")" : "⨕"
+<dead compose> "[" "]" "∫" : "⨖"
+<dead compose> "∫" "[" "]" : "⨖"
+<dead compose> ("←" "∫") : "⨗"
+<dead compose> (["x" "X" "×"] "∫") : "⨘"
+<dead compose> ("∩" "∫") : "⨙"
+<dead compose> ("∪" "∫") : "⨚"
+<shift dead compose> ("_" "∫") : "⨛"
+<dead compose> "⨜" "⨜" : "⨛"
+<dead compose> ("_" "∫") : "⨜"
+<dead compose> "⨛" "⨛" : "⨜"
+<dead compose> "⊳" "⊲" : "⨝"
+<dead compose> "⊲" "⊲" : "⨞"
+<shift dead compose> "z" ";" : "⨟"
+<dead compose> "⨾" "⨾" : "⨟"
+<shift dead compose> "z" ">" : "⨠"
+<shift dead compose> "z" ["|" "↑"] : "⨡"
+<dead letter °> "+" : "⨢"
+<dead letter ^> "+" : "⨣"
+<dead letter ~> "+" : "⨤"
+<dead compose> "+" "." : "⨥"
+<dead compose> "+" ["~" <dead letter ~>] : "⨦"
+<dead compose> "+" ["2" "₂"] : "⨧"
+<dead compose> "+" ["^" <dead letter ^>] : "⨨"
+<dead compose> "," "-" : "⨩"
+<shift dead compose> "-" "." : "⨪"
+<shift dead compose> ":" "\\" "-" : "⨫"
+<shift dead compose> ":" "/" "-" : "⨬"
+<shift dead compose> "(" "+" : "⨭"
+<shift dead compose> "+" ")" : "⨮"
+<dead compose> "." "×" : "⨯"
+<shift dead compose> "." "×" : "⨰"
+<dead compose> ("." "⨯") : "⨰"
+<dead compose> ("_" "×") : "⨱"
+<dead compose> "⨱" "⨱" : "⨲"
+<dead compose> "×" "×" : "⨳"
+<shift dead compose> "(" ["x" "×"] : "⨴"
+<shift dead compose> ["x" "×"] ")" : "⨵"
+<shift dead compose> ("^" <dead letter ^>) "(" ["x" "X" "×"] ")" : "⨶"
+<dead letter ^> "⊗" : "⨶"
+<shift dead compose> "(" "(" ["x" "X" "×"] ")" ")" : "⨷"
+[<dead compose> <shift dead compose>] "(" "⊗" ")" : "⨷"
+<shift dead compose> "(" "÷" ")" : "⨸"
+<dead compose> (["Δ" "∆"] "+") : "⨹"
+<shift dead compose> "/" "+" "\\" : "⨹"
+<dead compose> (["Δ" "∆"] ["-" "−"]) : "⨺"
+<shift dead compose> "/" ["-" "−"] "\\" : "⨺"
+<dead compose> (["Δ" "∆"] ["x" "×"]) : "⨻"
+<shift dead compose> "/" ["x" "×"] "\\" : "⨻"
+<dead compose> ("-" "¬") : "⨼"
+<dead compose> ("+" "¬") : "⨽"
+<dead compose> "⨟" "⨟" : "⨾"
+<dead compose> "." "⨟" : "⨾"
+<shift dead compose> "∐" "∐" : "⨿"
+<dead compose> (∩ ["." "⋅"]) : "⩀"
+<dead compose> (∪ ["." "−"]) : "⩁"
+<dead compose> ("_" "∪") : "⩂"
+<dead compose> "⩌" "⩌" : "⩂"
+<dead compose> ("_" "∩") : "⩃" # the font "fixed" places the bar beneath instead of above in ⩃
+<dead compose> "⩍" "⩍" : "⩃" # the font "fixed" places the bar beneath instead of above in ⩃
+<dead compose> "∩" ["^" <dead letter ^>] : "⩄"
+<dead letter ^> "∩" : "⩄"
+<dead compose> "⩅" "⩅" : "⩄"
+<dead compose> ("v" "∪") : "⩅"
+<dead compose> "⩄" "⩄" : "⩅"
+<dead compose> "∪" "∩" : "⩆"
+<dead compose> "∩" "∪" : "⩇"
+<shift dead compose> "∪" "∩" : "⩈"
+<shift dead compose> "∩" "∪" : "⩉"
+<dead compose> ("∪" "w") : "⩊"
+<dead compose> ("∩" "m") : "⩋"
+<shift dead compose> ("_" "∪") : "⩌"
+<dead compose> "⩂" "⩂" : "⩌"
+<shift dead compose> ("_" "∩") : "⩍"
+<dead compose> "⩃" "⩃" : "⩍" # the font "fixed" places the bar beneath instead of above in ⩃
+<dead compose> "⊓" "⊓" : "⩎"
+<dead compose> "⊔" "⊔" : "⩏"
+<dead compose> ("*" "∪") : "⩐"
+<dead compose> ("." "∧") : "⩑"
+<dead compose> ("." "∨") : "⩒"
+<shift dead compose> "∨" "∨" : "⩓"
+<shift dead compose> "∧" "∧" : "⩔"
+<dead compose> "." "⨇" : "⩕"
+<dead compose> "." "⨈" : "⩖"
+<dead compose> "|" "/" : "⩗"
+<dead compose> "/" "|" : "⩘"
+<shift dead compose> ("∨" "∧") : "⩙"
+<dead compose> ("|" "∧") : "⩚"
+<dead compose> ("|" "∨") : "⩛"
+<dead compose> ("-" "∧") : "⩜"
+<dead compose> ("-" "∨") : "⩝"
+<shift dead compose> "=" "∧" : "⩞"
+<dead compose> ("_" "∧") : "⩟"
+<shift dead compose> "∧" "=": "⩠"
+<dead compose> "." "⊻" : "⩡"
+<shift dead compose> "=" "∨" : "⩢"
+<shift dead compose> "∨" "=": "⩣"
+<dead compose> ("⊲" "-") : "⩤"
+<dead compose> ("⊳" "-") : "⩥"
+<dead compose> ("." "⩦") : "⩦"
+<shift dead compose> ("." "≡") : "⩧"
+<dead compose> "3" "#" : "⩨"
+<dead compose> "4" "#" : "⩩"
+<dead compose> "." ["~" <dead letter ~>] : "⩪"
+<dead letter ~> "/" ":" : "⩫"
+<shift dead compose> ["~" <dead letter ~>] "-" ["~" <dead letter ~>] : "⩬"
+<dead compose> "." "≅" : "⩭"
+<shift dead compose> ("*" "=") : "⩮"
+<dead letter ^> "≈" : "⩯"
+<dead compose> "≈" ("~" <dead letter ~>) : "⩯"
+<dead compose> "≈" "=" : "⩰"
+<dead compose> "=" "+" : "⩱"
+<dead compose> "+" "=" : "⩲"
+<dead compose> "=" ("~" <dead letter ~>) : "⩳"
+<shift dead compose> ":" ":" "=" : "⩴"
+<shift dead compose> "=" "=" <space> : "⩵"
+<shift dead compose> "=" "=" "=" : "⩶"
+<shift dead compose> ":" "=" ":" : "⩷"
+<shift dead compose> ("…" ["=" "≡"]) : "⩸"
+<dead compose> ("<" "o") : "⩹"
+<dead compose> (">" "o") : "⩺"
+<dead compose> ("<" "?") : "⩻"
+<dead compose> (">" "?") : "⩼"
+<dead compose> "≤" "≤" : "⩽"
+<dead compose> "≥" "≥" : "⩾"
+<dead compose> ("." "⩽") : "⩿"
+<dead compose> ("." "⩾") : "⪀"
+<shift dead compose> "." "⩽" : "⪁"
+<shift dead compose> "." "⩾" : "⪂"
+<shift dead compose> "⩽" "." : "⪃"
+<shift dead compose> "⩾" "." : "⪄"
+<dead compose> ("<" "≈") : "⪅"
+<dead compose> (">" "≈") : "⪆"
+<shift dead compose> ("/" "≤") : "⪇"
+<shift dead compose> ("/" "≥") : "⪈"
+<dead compose> ("<" "≉") : "⪉"
+<dead compose> (">" "≉") : "⪊"
+<shift dead compose> "<" "=" ">" : "⪋"
+<shift dead compose> ">" "=" "<" : "⪌"
+<shift dead compose> "<" ["~" <dead letter ~>] ["_" "-"] : "⪍"
+<dead compose> "<" "≃" : "⪍"
+<dead compose> ("_" "≲") : "⪍"
+<shift dead compose> ">" ["~" <dead letter ~>] ["_" "-"] : "⪎"
+<dead compose> ">" "≃" : "⪎"
+<dead compose> ("_" "≳") : "⪎"
+<dead compose> ("/" "≃") : "≄"
+<shift dead compose> "<" ["~" <dead letter ~>] ">" : "⪏"
+<shift dead compose> ">" ["~" <dead letter ~>] "<" : "⪐"
+<shift dead compose> "<" ">" "=" : "⪑"
+<shift dead compose> ">" "<" "=" : "⪒"
+<dead compose> "⩽" "⩾" : "⪓"
+<dead compose> "⩾" "⩽" : "⪔"
+<dead compose> "⋜" "⋜" : "⪕"
+<dead compose> "⋝" "⋝" : "⪖"
+<dead compose> "⩿" "⩿" : "⪗"
+<dead compose> "⪀" "⪀" : "⪘"
+<dead compose> "≦" "≦" : "⪙" # ⪙ is mirrored by mistake in the font "fixed"
+<dead compose> "≧" "≧" : "⪚"
+<dead compose> "⪙" "⪙" : "⪛" # ⪙ is mirrored by mistake in the font "fixed"
+<dead compose> "⪚" "⪚" : "⪜"
+<dead letter ~> "<" : "⪝"
+<dead letter ~> ">" : "⪞"
+<dead compose> ("⪝" "=") : "⪟"
+<dead compose> ("⪞" "=") : "⪠"
+<shift dead compose> "." "<" "<" <space> : "⪡"
+<shift dead compose> "." ">" ">" <space> : "⪢"
+<dead compose> ("_" ["«" "≪"]) : "⪣"
+<dead compose> "⪥" "⪥" : "⪤"
+<shift dead compose> ">" "<" : "⪥"
+<dead compose> "<" ")" : "⪦"
+<dead compose> "(" ">" : "⪧"
+<dead compose> ("_" "⪦") : "⪨"
+<dead compose> ("_" "⪧") : "⪩"
+<dead compose> ("-" "<") : "⪪"
+<dead compose> ("-" ">") : "⪫"
+<dead compose> ("_" "⪪") : "⪬"
+<dead compose> ("_" "⪫") : "⪭"
+<dead compose> ("=" "≏") : "⪮"
+<dead compose> "≼" "≼" : "⪯"
+<dead compose> "≽" "≽ : "⪰"
+<dead compose> ("/" "⪯") : "⪱"
+<dead compose> ("/" "⪰") : "⪲"
+<dead compose> ("=" "≺") : "⪳"
+<dead compose> ("=" "≻") : "⪴"
+<dead compose> ("≠" "≺") : "⪵"
+<dead compose> ("≠" "≻") : "⪶"
+<dead compose> ("≈" "≺") : "⪷"
+<dead compose> ("≈" "≻") : "⪸"
+<dead compose> ("≉" "≺") : "⪹"
+<dead compose> ("≉" "≻") : "⪺"
+<dead compose> ("_" "≻") : "≽"
+<dead compose> "≺" "≺" : "⪻"
+<dead compose> "≻" "≻" : "⪼"
+<dead compose> ("⊂" ".") : "⪽"
+<dead compose> ("⊃" ".") : "⪾"
+<dead compose> ("⊂" "+") : "⪿"
+<dead compose> ("⊃" "+") : "⫀"
+<dead compose> ("⊂" ["x" "×"]) : "⫁"
+<dead compose> ("⊃" ["x" "×"]) : "⫂"
+<dead compose> ("⊆" ".") : "⫃"
+<dead compose> ("⊇" ".") : "⫄"
+<dead compose> ("⊂" "=") : "⫅"
+<dead compose> ("⊃" "=") : "⫆"
+<dead compose> ("⊂" ["~" <dead letter ~>]) : "⫇"
+<dead letter ~> "⊂" : "⫇"
+<dead compose> ("⊃" ["~" <dead letter ~>]) : "⫈"
+<dead letter ~> "⊃" : "⫈"
+<dead compose> ("⊂" "≈") : "⫉"
+<dead compose> ("⊃" "≈") : "⫊"
+<dead compose> ("⊂" "≠") : "⫋"
+<dead compose> ("⊃" "≠") : "⫌"
+<dead compose> ("-" "⊏") : "⫍"
+<dead compose> "-" (["[" "]"] "<") : "⫍"
+<dead compose> ("-" "⊐") : "⫎"
+<dead compose> "-" (["[" "]"] ">") : "⫎"
+<dead compose> "⊂" "|" : "⫏"
+<dead compose> "|" "⊃" : "⫐"
+<dead compose> ("_" "⫏") : "⫑"
+<dead compose> ("_" "⫐") : "⫒"
+<dead compose> "⊂" "⊃" : "⫓"
+<dead compose> "⊃" "⊂" : "⫔"
+<shift dead compose> "⊂" "⊂" : "⫕"
+<shift dead compose> "⊃" "⊃" : "⫖"
+<shift dead compose> "⊃" "⊂" : "⫗"
+<dead compose> ("-" "⫗") : "⫘"
+<dead compose> "⋔" "." : "⫙"
+<dead compose> "⟒" "⟒" : "⫙"
+<dead compose> ("∩" "Y") : "⫚"
+<dead compose> "⋔" "⋔" : "⫛"
+<dead compose> ("/" "⫝") : "⫝̸"
+<dead compose> ("|" "u") : "⫝"
+<dead compose> "." "⊣" : "⫞"
+<dead compose> "." "⊤" : "⫟"
+<dead compose> "⫠" "⫠" : "⫟"
+<dead compose> "." "⊥" : "⫠"
+<dead compose> "⫟" "⫟" : "⫠"
+<dead compose> (["⊥" "⟂"] "s") : "⫡"
+<dead compose> ("⊨" "=") : "⫢"
+<dead compose> "⊩" "⊩" : "⫣"
+<dead compose> "⊨" "⊨" : "⫤"
+<dead compose> "⫤" "|" : "⫥"
+<dead compose> ("-" "⊩") : "⫦"
+<dead compose> ("_" ["⫟" "⊤"]) : "⫧"
+<dead compose> "⫨" "⫨" : "⫧"
+<dead compose> ("_" ["⫠" "⊥"]) : "⫨"
+<dead compose> "⫧" "⫧" : "⫨"
+<dead compose> ["⫨" "⫠" "⊥"] ["⫧" "⫟" "⊤"] : "⫩"
+<dead compose> ("⊤" "|") : "⫪"
+<dead compose> "⫫" "⫫" : "⫪"
+<dead compose> ("⊥" "|") : "⫫"
+<dead compose> "⫪" "⫪" : "⫫"
+<dead compose> "⫤" "." : "⫬"
+<dead compose> "⫭" "⫭" : "⫬"
+<dead compose> "⊨" "." : "⫭"
+<dead compose> "⫬" "⫬" : "⫭"
+<shift dead compose> "\\" "|" : "⫮"
+<shift dead compose> "o" "|" : "⫯"
+<dead compose> "⫰" "⫰" : "⫯"
+<shift dead compose> "|" "o" : "⫰"
+<dead compose> "⫯" "⫯" : "⫰"
+<shift dead compose> "-" "|" "o" : "⫱"
+<dead compose> ("-" "⫰") : "⫱"
+<dead compose> "⟟" "⟟" : "⫱"
+<dead compose> ("-" "∥") : "⫲"
+<dead compose> "-" "2" "|" : "⫲"
+<dead letter ~> "∥" : "⫳"
+<dead compose> "∥" ["~" <dead letter ~>] : "⫳"
+<dead letter ~> "2" "|" : "⫳"
+<dead compose> "3" "|" : "⫴"
+<dead compose> ("-" "⫴") : "⫵"
+<dead compose> "-" "3" "|" : "⫵"
+<shift dead compose> ("." ":") "|" : "⫶"
+<shift dead compose> "." "<" "<" "<" : "⫷"
+<shift dead compose> "." ">" ">" ">" : "⫸"
+<dead compose> "<" "=" : "⫹"
+<dead compose> ">" "=" : "⫺"
+<shift dead compose> "/" "/" "/" <space> : "⫻"
+<shift dead compose> "|" "|" "|" <space> : "⫼"
+<shift dead compose> "/" "/" <space> : "⫽"
+<shift dead compose> "." "[" "]" : "⫾"
+<dead compose> "." "⫿" : "⫾"
+<shift dead compose> "[" "]" "|" : "⫿"
+
+# Miscellaneous Symbols and Arrows: (TODO)
+<dead compose> ("⇧" "⇨") : "⬀"
+<dead compose> ("↗" "⇗") : "⬀"
+<dead compose> ("⇦" "⇧") : "⬁"
+<dead compose> ("↖" "⇖") : "⬁"
+<dead compose> ("⇨" "⇩") : "⬂"
+<dead compose> ("↘" "⇘") : "⬂"
+<dead compose> ("⇩" "⇦") : "⬃"
+<dead compose> ("↙" "⇙") : "⬃"
+<dead compose> ("⇦" "⇨") : "⬄"
+<dead compose> ("↔" "⇔") : "⬄"
+<dead compose> "⇦" "⇦" : "⬅"
+<dead compose> "⇧" "⇧" : "⬆"
+<dead compose> "⇩" "⇩" : "⬇"
+<dead compose> "⬀" "⬀" : "⬈"
+<dead compose> ("⬆" "\u2B95") : "⬉"
+<dead compose> "⬁" "⬁" : "⬉"
+<dead compose> ("⬅" "⬆") : "⬉"
+<dead compose> "⬂" "⬂" : "⬊"
+<dead compose> ("\u2B95" "⬇") : "⬊"
+<dead compose> "⬃" "⬃" : "⬋"
+<dead compose> ("⬇" "⬅") : "⬋"
+<dead compose> "⬄" "⬄" : "⬌"
+<dead compose> ("⬅" "\u2B95") : "⬌"
+<dead compose> "⇳" "⇳" : "⬍"
+<dead compose> ("⬆" "⬇") : "⬍"
+<dead compose> "→" "," : "⬎"
+<dead compose> "→" "'" : "⬏"
+<dead compose> "," "←" : "⬐"
+<dead compose> "'" "←" : "⬑"
+<dead compose> (["□" "◻" "◽"] ["↑" "⇑"]) : "⬒"
+<dead compose> "◧" "◧" : "⬒"
+<dead compose> (["□" "◻" "◽"] ["↓" "⇓"]) : "⬓"
+<dead compose> "◨" "◨" : "⬓"
+<dead compose> ("◺" "◥") : "⬔"
+<dead compose> ("◣" "◹") : "⬕"
+<shift dead compose> "s" "<" "<" "|" ">" : "⬖"
+<dead compose> "◀" "▷" : "⬖"
+<shift dead compose> "s" "<" "|" ">" ">" : "⬗"
+<dead compose> "◁" "▶" : "⬗"
+<dead compose> "▲" "▽" : "⬘"
+<dead compose> "⬖" "⬖" : "⬘"
+<dead compose> "△" "▼" : "⬙"
+<dead compose> "⬗" "⬗" : "⬙"
+<dead compose> "⬜" "." : "⬚"
+<dead compose> "⬜" "⬜" : "⬛"
+<dead compose> "+" "□" : "⬜"
+<dead compose> "⬞" "⬞" : "⬝"
+<dead compose> "." "⬜" : "⬞"
+<dead compose> "⬠" "⬠" : "⬟"
+<dead compose> ("5" "⬛") : "⬟"
+<dead compose> ("5" "⬜") : "⬠"
+<dead compose> ("6" "⬜") : "⬡"
+<dead compose> ("6" "⬛") : "⬢"
+<dead compose> "⬡" "⬡" : "⬢"
+<dead compose> "⬢" "⬢" : "⬣"
+<dead compose> "◯" "◯" : "⬤"
+<dead compose> "⬦" "⬦" : ""
+<dead compose> "." "◆" : "⬥"
+<dead compose> "." "◇" : "⬦"
+<dead compose> "|" "⬥" : "⬧"
+<dead compose> "⬨" "⬨" : "⬧"
+<dead compose> "|" "⬦" : "⬨"
+<dead compose> "⬥" "⬥" : "⬩"
+<dead compose> "." "⬥" : "⬩"
+<dead compose> "⬫" "⬫" : "⬪"
+<dead compose> "." "⬧" : "⬪"
+<dead compose> "." "⬨" : "⬫"
+<dead compose> "⬭" "⬭" : "⬬"
+<dead compose> "-" "○" : "⬭"
+<dead compose> "⬯" "⬯" : "⬮"
+<dead compose> "|" "○" : "⬯"
+<dead compose> ("o" "←") : "⬰"
+<dead compose> "3" "←" : "⬱"
+<dead compose> ("O" "←") : "⬲"
+<dead compose> "⬰" "⬰" : "⬲"
+<dead compose> ("|" "⬰") : "⬲"
+# TODO ⬳ ⬴ ⬵ ⬶ ⬷ ⬸ ⬹ ⬺ ⬻ ⬼ ⬽ ⬾ ⬿ ⭀ ⭁ ⭂ ⭃ ⭄ ⭅ ⭆ ⭇ ⭈ ⭉ ⭊ ⭋ ⭌
+# TODO \u2B4D through \u2B5F
+# TODO \u2B60 through \u2B63
+<dead compose> ("\u2B60" "\u2B62") : "\u2B64"
+<dead compose> ("\u2B61" "\u2B63") : "\u2B65"
+<dead compose> ("\u2B60" "\u2B61") : "\u2B66"
+<dead compose> ("\u2B61" "\u2B62") : "\u2B67"
+<dead compose> ("\u2B62" "\u2B63") : "\u2B68"
+<dead compose> ("\u2B60" "\u2B63") : "\u2B69"
+<dead compose> ("." "\u2B60") : "\u2B6A"
+<dead compose> ("." "\u2B61") : "\u2B6B"
+<dead compose> ("." "\u2B62") : "\u2B6C"
+<dead compose> ("." "\u2B63") : "\u2B6D"
+<shift dead compose> "\u2B63" "\u2B60" "\u2B61" : "\u2B6E"
+<shift dead compose> "\u2B63" "\u2B62" "\u2B61" : "\u2B6F"
+<dead compose> "|" "\u2B60" : "\u2B70"
+<dead compose> "_" "\u2B61" : "\u2B71"
+<dead compose> "\u2B62" "|" : "\u2B72"
+<dead compose> "\u2B63" "_" : "\u2B73"
+<dead compose> "_" "\u2B66" : "\u2B76"
+<dead compose> "_" "\u2B67" : "\u2B77"
+<dead compose> "\u2B68" "_" : "\u2B78"
+<dead compose> "\u2B69" "_" : "\u2B79"
+<dead compose> ("=" "\u2B60") : "\u2B7A"
+<dead compose> ("=" "\u2B61") : "\u2B7B"
+<dead compose> ("=" "\u2B62") : "\u2B7C"
+<dead compose> ("=" "\u2B63") : "\u2B7D"
+<dead compose> "\u2B70" "\u2B72" : "\u2B7E"
+<dead compose> "\u2B73" "\u2B71" : "\u2B7F"
+<shift dead compose> "\u2B60" "\u2B62" : "\u2B80"
+<shift dead compose> "\u2B61" "\u2B63" : "\u2B81"
+<shift dead compose> "\u2B62" "\u2B60" : "\u2B82"
+<shift dead compose> "\u2B63" "\u2B61" : "\u2B83"
+<shift dead compose> "\u2B60" "\u2B60" : "\u2B84"
+<shift dead compose> "\u2B61" "\u2B61" : "\u2B85"
+<shift dead compose> "\u2B62" "\u2B62" : "\u2B86"
+<shift dead compose> "\u2B63" "\u2B63" : "\u2B87"
+<dead compose> "⬅" "⬅" : "\u2B87"
+<dead compose> "⬆" "⬆" : "\u2B88"
+<dead compose> "\u2B95" "\u2B95" : "\u2B89"
+<dead compose> "⬇" "⬇" : "\u2B8A"
+<dead compose> "U" "\u2B60" : "\u2B8C"
+<dead compose> "U" "\u2B61" : "\u2B8D"
+<dead compose> "U" "\u2B62" : "\u2B8E"
+<dead compose> "U" "\u2B63" : "\u2B8F"
+<dead compose> "\u2BA0" "/" : "\u2B90"
+<dead compose> "\\" "\u2BA1" : "\u2B91"
+<dead compose> "-" "\u2BA0" : "\u2B92"
+<dead compose> "-" "\u2BA1" : "\u2B93"
+<dead compose> ("\u2BA0" "\u2BA3") : "\u2B94"
+<dead compose> ("\u2BA1" "\u2BA2") : "\u2B94"
+<dead compose> "⇨" "⇨" : "\u2B95"
+<dead compose> ("⇦" "⬅") : "⮘"
+<dead compose> ("⇧" "⬆") : "⮙"
+<dead compose> ("⇨" : "\u2B95") : "⮚"
+<dead compose> ("⇩" "⬇") : "⮛"
+<dead compose> "⮘" "⮘" : "⮜"
+<dead compose> "⮙" "⮙" : "⮝"
+<dead compose> "⮚" "⮚" : "⮞"
+<dead compose> "⮛" "⮛" : "⮟"
+<shift dead compose> "\u2B63" "\u2B60" : "\u2BA0"
+<shift dead compose> "\u2B63" "\u2B62" : "\u2BA1"
+<shift dead compose> "\u2B61" "\u2B60" : "\u2BA2"
+<shift dead compose> "\u2B61" "\u2B62" : "\u2BA3"
+<shift dead compose> "\u2B60" "\u2B61" : "\u2BA4"
+<shift dead compose> "\u2B62" "\u2B61" : "\u2BA5"
+<shift dead compose> "\u2B60" "\u2B63" : "\u2BA6"
+<shift dead compose> "\u2B62" "\u2B63" : "\u2BA7"
+<shift dead compose> "⬇" "⬅" : "\u2BA8"
+<shift dead compose> "⬇" "\u2B95" : "\u2BA9"
+<shift dead compose> "⬆" "⬅" : "\u2BAA"
+<shift dead compose> "⬆" "\u2B95" : "\u2BAB"
+<shift dead compose> "⬅" "⬆" : "\u2BAC"
+<shift dead compose> "\u2B95" "⬇" : "\u2BAD"
+<shift dead compose> "⬅" "⬆" : "\u2BAE"
+<shift dead compose> "\u2B95" "⬇" : "\u2BAF"
+<shift dead compose> "⇩" "⇦" : "\u2BB0"
+<shift dead compose> "⇩" "⇨" : "\u2BB1"
+<shift dead compose> "⇧" "⇦" : "\u2BB2"
+<shift dead compose> "⇧" "⇨" : "\u2BB3"
+<shift dead compose> "⇦" "⇩" : "\u2BB4"
+<shift dead compose> "⇨" "⇩" : "\u2BB5"
+<shift dead compose> "⇦" "⇩" : "\u2BB6"
+<shift dead compose> "⇨" "⇩" : "\u2BB7"
+<dead compose> "!" "⇬" : "\u2BB8"
+# TODO \u2BB9
+# TODO \u2BBD
+# TODO \u2BBE
+<dead compose> "\u2BBE" "\u2BBE" : "\u2BBF"
+<dead compose> "▪" "▪" : "\u2BC0"
+<dead compose> "\u2BC0" "\u2BC0" : "\u2BC1"
+<dead compose> "◆" "◆" : "\u2BC1"
+<dead compose> "\u2BC1" "\u2BC1" : "\u2BC0"
+<dead compose> ("5" ["\u2BC0" "\u2BC1"]) : "\u2BC2"
+<dead compose> ("8" "\u2BC0") : "\u2BC3"
+<dead compose> "\u2BC4" "\u2BC4" : "\u2BC3"
+<dead compose> ("8" "\u2BC1") : "\u2BC4"
+<dead compose> "\u2BC3" "\u2BC3" : "\u2BC4"
+<dead compose> "⬆" "h" : "\u2BC5"
+<dead compose> "⬇" "h" : "\u2BC6"
+<dead compose> "⬅" "h" : "\u2BC7"
+<dead compose> "\u2B95" "h" : "\u2BC8"
+<dead compose> "◖" "◖" : "\u2BCA"
+<dead compose> "◗" "◗" : "\u2BCB"
+<dead compose> "\u2BCE" "\u2BCE" : "\u2BCC"
+<dead compose> "\u2BCF" "\u2BCF" : "\u2BCD"
+# TODO \u2BD0
+<dead compose> "<" "?" ">" : "\u2BD1"
+
+
+# TODO Glagolitic
+# TODO Latin Extended-C
+# TODO Coptic
+# TODO Georgian Supplement
+# TODO Tifinagh
+# TODO Ethiopic Extended
+# TODO Cyrillic Extended-A
+# TODO Supplemental Punctuation
+# TODO CJK Radicals Supplement
+# TODO Kangxi Radicals
+# TODO Ideographic Description Characters
+# TODO CJK Symbols and Punctuation
+# TODO Hiragana
+# TODO Katakana
+# TODO Bopomofo
+# TODO Hangul Compatibility Jamo
+# TODO Kanbun
+# TODO Bopomofo Extended
+# TODO CJK Strokes
+# TODO Katakana Phonetic Extensions
+# TODO Enclosed CJK Letters and Months
+# TODO CJK Compatibility
+# TODO CJK Unified Ideographs Extension A
+# TODO Yijing Hexagram Symbols
+# TODO CJK Unified Ideographs
+# TODO Yi Syllables
+# TODO Yi Radicals
+# TODO Lisu
+# TODO Vai
+# TODO Cyrillic Extended-B
+# TODO Bamum
+# TODO Modifier Tone Letters
+# TODO Latin Extended-D
+# TODO Syloti Nagri
+# TODO Common Indic Number Forms
+# TODO Phags-pa
+# TODO Saurashtra
+# TODO Devanagari Extended
+# TODO Kayah Li
+# TODO Rejang
+# TODO Hangul Jamo Extended-A
+# TODO Javanese
+# TODO Myanmar Extended-B
+# TODO Cham
+# TODO Myanmar Extended-A
+# TODO Tai Viet
+# TODO Meetei Mayek Extensions
+# TODO Ethiopic Extended-A
+# TODO Latin Extended-E
+# TODO Meetei Mayek
+# TODO Hangul Syllables
+# TODO Hangul Jamo Extended-B
+# TODO CJK Compatibility Ideographs
+# TODO Alphabetic Presentation Forms
+# TODO Arabic Presentation Forms-A
+# TODO Variation Selectors
+# TODO Vertical Forms
+# TODO Combining Half Marks
+# TODO CJK Compatibility Forms
+# TODO Small Form Variants
+# TODO Arabic Presentation Forms-B
+# TODO Halfwidth and Fullwidth Forms
+# TODO Specials
+# TODO Linear B Syllabary
+# TODO Linear B Ideograms
+# TODO Aegean Numbers
+# TODO Ancient Greek Numbers
+# TODO Ancient Symbols
+# TODO Phaistos Disc
+# TODO Lycian
+# TODO Carian
+# TODO Coptic Epact Numbers
+# TODO Old Italic
+# TODO Gothic
+# TODO Old Permic
+# TODO Ugaritic
+# TODO Old Persian
+# TODO Deseret
+# TODO Shavian
+# TODO Osmanya
+# TODO Elbasan
+# TODO Caucasian Albanian
+# TODO Linear A
+# TODO Cypriot Syllabary
+# TODO Imperial Aramaic
+# TODO Palmyrene
+# TODO Nabataean
+# TODO Phoenician
+# TODO Lydian
+# TODO Meroitic Hieroglyphs
+# TODO Meroitic Cursive
+# TODO Kharoshthi
+# TODO Old South Arabian
+# TODO Old North Arabian
+# TODO Manichaean
+# TODO Avestan
+# TODO Inscriptional Parthian
+# TODO Psalter Pahlavi
+# TODO Old Turkic
+# TODO Rumi Numeral Symbols
+# TODO Brahmi
+# TODO Kaithi
+# TODO Sora Sompeng
+# TODO Chakma
+# TODO Mahajani
+# TODO Sharada
+# TODO Sinhala Archaic Numbers
+# TODO Khojki
+# TODO Khudawadi
+# TODO Grantha
+# TODO Tirhuta
+# TODO Siddham
+# TODO Modi
+# TODO Takri
+# TODO Warang Citi
+# TODO Pau Cin Hau
+# TODO Cuneiform
+# TODO Cuneiform Numbers and Punctuation
+# TODO Egyptian Hieroglyphs
+# TODO Bamum Supplement
+# TODO Mro
+# TODO Bassa Vah
+# TODO Pahawh Hmong
+# TODO Miao
+# TODO Kana Supplement
+# TODO Duployan
+# TODO Shorthand Format Controls
+# TODO Byzantine Musical Symbols
+# TODO Musical Symbols
+# TODO Ancient Greek Musical Notation
+# TODO Tai Xuan Jing Symbols
+# TODO Counting Rod Numerals
+# TODO Mathematical Alphanumeric Symbols
+# TODO Mende Kikakui
+# TODO Arabic Mathematical Alphabetic Symbols
+
+# Mahjong Tiles:
+<shift dead compose> "m" "t" ">" : "\u1F000"
+<shift dead compose> "m" "t" "v" : "\u1F001"
+<shift dead compose> "m" "t" "<" : "\u1F002"
+<shift dead compose> "m" "t" [<dead letter ^> "^"] : "\u1F003"
+<shift dead compose> "m" "t" "r" : "\u1F004"
+<shift dead compose> "m" "t" "g" : "\u1F005"
+<shift dead compose> "m" "t" "w" : "\u1F006"
+for "1" to "9" as \1
+ <shift dead compose> "m" "t" "w" "\1" : "\add(\u1F007 \sub(\1 "1"))"
+ <shift dead compose> "m" "t" "t" "\1" : "\add(\u1F010 \sub(\1 "1"))"
+ <shift dead compose> "m" "t" "b" "\1" : "\add(\u1F019 \sub(\1 "1"))"
+end for
+<shift dead compose> "m" "t" "m" : "\u1F022"
+<shift dead compose> "m" "t" "l" : "\u1F023"
+<shift dead compose> "m" "t" "z" : "\u1F024"
+<shift dead compose> "m" "t" "j" : "\u1F025"
+<shift dead compose> "m" "t" "1" : "\u1F026"
+<shift dead compose> "m" "t" "2" : "\u1F027"
+<shift dead compose> "m" "t" "3" : "\u1F028"
+<shift dead compose> "m" "t" "4" : "\u1F029"
+<shift dead compose> "m" "t" "*" : "\u1F02A"
+<shift dead compose> "m" "t" "/" : "\u1F02B"
+
+# Domino Tiles:
+<shift dead compose> "d" "t" "-" ["-" <space>] : "\u1F030"
+<shift dead compose> "d" "t" "|" ["|" <space>] : "\u1F062"
+for "0" to "6" as \1
+ for "0" to "6" as \2
+ <shift dead compose> "d" "t" "-" "\1" "\2" : "\add(\u1F031 \add(\mul(\sub(\1 "0") 7) \sub(\2 "0")))"
+ <shift dead compose> "d" "t" "|" "\1" "\2" : "\add(\u1F063 \add(\mul(\sub(\1 "0") 7) \sub(\2 "0")))"
+ end for
+end for
+
+# Playing Cards:
+<shift dead compose> "p" "c" : "🂠"
+dead_ascii(🂠)
+macro playing_card/2
+ <dead compose> (["♠" "♤"] "\1") : "\add(\u1F0A0 \2)"
+ <dead compose> (["♥" "♡"] "\1") : "\add(\u1F0B0 \2)"
+ <dead compose> (["♦" "♢"] "\1") : "\add(\u1F0C0 \2)"
+ <dead compose> (["♣" "♧"] "\1") : "\add(\u1F0D0 \2)"
+end macro
+for "1" to "9" as \1
+ playing_card("\1" \sub(\1 "0") 1)
+endfor
+playing_card(["a" "A"] 1)
+playing_card("0" 10)
+playing_card(["j" "J"] 11)
+playing_card(["c" "C"] 12)
+playing_card(["q" "Q"] 13)
+playing_card(["k" "K"] 14)
+<dead compose> "🂠" "j" "r" : "\u1F0BF"
+<dead compose> "🂠" "j" "b" : "\u1F0CF"
+<dead compose> "🂠" "j" "w" : "\u1F0DF"
+<dead compose> "🂠" "0" <space> : "\u1F0E0"
+<dead compose> "🂠" "1" <space> : "\u1F0E1"
+<dead compose> "🂠" "2" <space> : "\u1F0E2"
+<dead compose> "🂠" "3" <space> : "\u1F0E3"
+<dead compose> "🂠" "4" <space> : "\u1F0E4"
+<dead compose> "🂠" "5" <space> : "\u1F0E5"
+<dead compose> "🂠" "6" <space> : "\u1F0E6"
+<dead compose> "🂠" "7" <space> : "\u1F0E7"
+<dead compose> "🂠" "8" <space> : "\u1F0E8"
+<dead compose> "🂠" "9" <space> : "\u1F0E9"
+<dead compose> "🂠" "1" "0" : "\u1F0EA"
+<dead compose> "🂠" "1" "1" : "\u1F0EB"
+<dead compose> "🂠" "1" "2" : "\u1F0EC"
+<dead compose> "🂠" "1" "3" : "\u1F0ED"
+<dead compose> "🂠" "1" "4" : "\u1F0EE"
+<dead compose> "🂠" "1" "5" : "\u1F0EF"
+<dead compose> "🂠" "1" "6" : "\u1F0F0"
+<dead compose> "🂠" "1" "7" : "\u1F0F1"
+<dead compose> "🂠" "1" "8" : "\u1F0F2"
+<dead compose> "🂠" "1" "9" : "\u1F0F3"
+<dead compose> "🂠" "2" "0" : "\u1F0F4"
+<dead compose> "🂠" "2" "1" : "\u1F0F5"
+
+# Enclosed Alphanumeric Supplement:
+<dead compose> "0" "." : "\u1F100"
+for "0" to "9" as \1
+ <dead compose> "\1" "," : "\add(\u1F101 \sub(\1 "0")"
+end for
+<dead compose> "(" "0" "." ")" : "\u1F10B"
+<dead compose> "(" "(" "(" "0" "." ")" ")" ")" : "\u1F10C"
+for "A" to "Z" as \1
+ <dead compose> "(" " " "\1" [" " .] ")" : "\add(\u1F110 \sub(\1 "A"))"
+ <dead compose> "(" "\1" " " ")" : "\add(\u1F110 \sub(\1 "A"))"
+end for
+<dead compose> "[" " " "S" [" " .] "]" : "\u1F12A"
+<dead compose> "[" "S" " " "]" : "\u1F12A"
+<dead compose> "(" "/" "C" ["/" .] ")" : "\u1F12B"
+<dead compose> "(" "C" "/" ")" : "\u1F12B"
+<dead compose> "(" "/" "R" ["/" .] ")" : "\u1F12C"
+<dead compose> "(" "R" "/" ")" : "\u1F12C"
+<dead compose> "(" "C" "D" ")" : "\u1F12D"
+<dead compose> "(" "W" "z" ")" : "\u1F12E"
+for "A" to "Z" as \1
+ <dead compose> "[" "\1" "]" : "\add(\u1F130 \sub(\1 "A"))"
+ <dead compose> "(" "(" "(" "\1" ")" ")" ")" : "\add(\u1F160 \sub(\1 "A"))"
+ <dead compose> "[" "[" "[" "\1" "]" "]" "]" : "\add(\u1F170 \sub(\1 "A"))"
+end for
+<dead compose> "[" "H" "V" "]" : "\u1F14A"
+<dead compose> "[" "M" "V" "]" : "\u1F14B"
+<dead compose> "[" "S" "D" "]" : "\u1F14C"
+<dead compose> "[" "S" "S" "]" : "\u1F14D"
+<dead compose> "[" "P" "P" "V" "]" : "\u1F14E"
+<dead compose> "[" "W" "C" "]" : "\u1F14F"
+<dead compose> "(" "M" "C" ")" : "\u1F16A"
+<dead compose> "(" "M" "D" ")" : "\u1F16B"
+<dead compose> "[" "[" "[" "X" "P" "]" "]" "]" : "\u1F18A"
+<dead compose> "[" "[" "[" "I" "C" "]" "]" "]" : "\u1F18B"
+<dead compose> "[" "[" "[" "P" "A" "]" "]" "]" : "\u1F18C"
+<dead compose> "[" "[" "[" "S" "A" "]" "]" "]" : "\u1F18D"
+<dead compose> "[" "[" "[" "A" "B" "]" "]" "]" : "\u1F18E"
+<dead compose> "[" "[" "[" "W" "C" "]" "]" "]" : "\u1F18F"
+<dead compose> "[" "D" "J" "]" : "\u1F190"
+<dead compose> "[" "C" "L" "]" : "\u1F191"
+<dead compose> "[" "C" "O" "O" "L" "]" : "\u1F192"
+<dead compose> "[" "F" "R" "E" "E" "]" : "\u1F193"
+<dead compose> "[" "I" "D" "]" : "\u1F194"
+<dead compose> "[" "N" "E" "W" "]" : "\u1F195"
+<dead compose> "[" "N" "G" "]" : "\u1F196"
+<dead compose> "[" "O" "K" "]" : "\u1F197"
+<dead compose> "[" "S" "O" "S" "]" : "\u1F198"
+<dead compose> "[" "U" "P" "]" : "\u1F199
+<dead compose> "[" "U" "P" "!" "]" : "\u1F199
+<dead compose> "[" "V" "S" "]" : "\u1F19A
+for "a" to "z" as \1
+ <dead compose> "[" "r" "\1" "]" : "\add(\u1F1E6 \sub(\1 "a"))"
+end for
+
+# TODO Enclosed Ideographic Supplement
+# TODO Miscellaneous Symbols and Pictographs
+# TODO Emoticons
+# TODO Ornamental Dingbats
+# TODO Transport and Map Symbols
+# TODO Alchemical Symbols
+
+# Geometric Shapes Extended:
+<shift dead compose> "s" "<" "|" : "\u1F780"
+<shift dead compose> "s" ["^" <dead letter ^>] "-" : "\u1F781"
+<dead compose> "\u1F780" "\u1F780" : "\u1F781"
+<shift dead compose> "s" "|" ">" : "\u1F782"
+<shift dead compose> "s" ["v" "V"] "-" :"\u1F783"
+<dead compose> "\u1F782" "\u1F782" : "\u1F783"
+<shift dead compose> "s" "." "(" ")" : "\1F784"
+<shift dead compose> "s" "1" "(" ")" : "\u1F785"
+<shift dead compose> "s" "2" "(" ")" : "\u1F786"
+<shift dead compose> "s" "3" "(" ")" : "\u1F787"
+<shift dead compose> "s" "4" "(" ")" : "\u1F788"
+<shift dead compose> "s" "5" "(" ")" : "\u1F789"
+<shift dead compose> "s" "0" "(" ")" : "\u1F78A"
+<shift dead compose> "s" "(" "(" "(" ")" ")" ")" : "\u1F78B"
+<shift dead compose> "s" "." "[" "]" : "\u1F78C"
+<shift dead compose> "s" "." "." "[" "]" : "\u1F78D"
+<shift dead compose> "s" "1" "[" "]" : "\u1F78E"
+<shift dead compose> "s" "2" "[" "]" : "\u1F78F"
+<shift dead compose> "s" "3" "[" "]" : "\u1F790"
+<shift dead compose> "s" "4" "[" "]" : "\u1F791"
+<shift dead compose> "s" "5" "[" "]" : "\u1F792"
+<shift dead compose> "s" "6" "[" "]" : "\u1F793"
+<shift dead compose> "s" "0" "[" "]" : "\u1F794"
+<shift dead compose> "s" "[" "[" "]" "]" : "\u1F795"
+<shift dead compose> "s" "[" "[" "[" "]" "]" "]" : "\u1F796"
+<shift dead compose> "s" "1" "<" ">" : "\u1F797"
+<shift dead compose> "s" "2" "<" ">" : "\u1F798"
+<shift dead compose> "s" "3" "<" ">" : "\u1F799"
+<shift dead compose> "s" "0" "<" ">" : "\u1F79A"
+<shift dead compose> "s" "<" "<" "<" ">" ">" ">" : "\u1F79B"
+<shift dead compose> "s" "<" "<" ">" ">" : "\u1F79C"
+<shift dead compose> "s" "1" "|" "<" ">" : "\u1F79D"
+<shift dead compose> "s" "2" "|" "<" ">" : "\u1F79E"
+<shift dead compose> "s" "3" "|" "<" ">" : "\u1F79F"
+<shift dead compose> "s" "0" "|" "<" ">" : "\u1F7A0"
+<shift dead compose> "s" "1" "+" : "\u1F7A1"
+<shift dead compose> "s" "2" "+" : "\u1F7A2"
+<shift dead compose> "s" "3" "+" : "\u1F7A3"
+<shift dead compose> "s" "4" "+" : "\u1F7A4"
+<shift dead compose> "s" "5" "+" : "\u1F7A5"
+<shift dead compose> "s" "6" "+" : "\u1F7A6"
+<shift dead compose> "s" "7" "+" : "\u1F7A7"
+<shift dead compose> "s" "1" ["x" "X" "×"] : "\u1F7A8"
+<shift dead compose> "s" "2" ["x" "X" "×"] : "\u1F7A9"
+<shift dead compose> "s" "3" ["x" "X" "×"] : "\u1F7AA"
+<shift dead compose> "s" "4" ["x" "X" "×"] : "\u1F7AB"
+<shift dead compose> "s" "5" ["x" "X" "×"] : "\u1F7AC"
+<shift dead compose> "s" "6" ["x" "X" "×"] : "\u1F7AD"
+<shift dead compose> "s" "7" ["x" "X" "×"] : "\u1F7AE"
+<shift dead compose> "s" "1" "5" "*" : "\u1F7AF"
+<shift dead compose> "s" "2" "5" "*" : "\u1F7B0"
+<shift dead compose> "s" "3" "5" "*" : "\u1F7B1"
+<shift dead compose> "s" "4" "5" "*" : "\u1F7B2"
+<shift dead compose> "s" "5" "5" "*" : "\u1F7B3"
+<shift dead compose> "s" "6" "5" "*" : "\u1F7B4"
+<shift dead compose> "s" "1" "6" "*" : "\u1F7B5"
+<shift dead compose> "s" "2" "6" "*" : "\u1F7B6"
+<shift dead compose> "s" "3" "6" "*" : "\u1F7B7"
+<shift dead compose> "s" "4" "6" "*" : "\u1F7B8"
+<shift dead compose> "s" "5" "6" "*" : "\u1F7B9"
+<shift dead compose> "s" "6" "6" "*" : "\u1F7BA"
+<shift dead compose> "s" "1" "8" "*" : "\u1F7BB"
+<shift dead compose> "s" "2" "8" "*" : "\u1F7BC"
+<shift dead compose> "s" "3" "8" "*" : "\u1F7BD"
+<shift dead compose> "s" "4" "8" "*" : "\u1F7BE"
+<shift dead compose> "s" "5" "8" "*" : "\u1F7BF"
+<shift dead compose> "s" "1" "*" "3" : "\u1F7C0"
+<shift dead compose> "s" "2" "*" "3" : "\u1F7C1"
+<shift dead compose> "s" "3" "*" "3" : "\u1F7C2"
+<shift dead compose> "s" "0" "*" "3" : "\u1F7C3"
+<shift dead compose> "s" "1" "*" "4" : "\u1F7C4"
+<shift dead compose> "s" "2" "*" "4" : "\u1F7C5"
+<shift dead compose> "s" "3" "*" "4" : "\u1F7C6"
+<shift dead compose> "s" "0" "*" "4" : "\u1F7C7"
+<dead compose> "\u1F7C7" "\u1F7C7" : "\u1F7C8"
+<shift dead compose> "s" "1" "*" "5" : "\u1F7C9"
+<shift dead compose> "s" "2" "*" "5" : "\u1F7CA"
+<shift dead compose> "s" "1" "*" "6" : "\u1F7CB"
+<shift dead compose> "s" "2" "*" "6" : "\u1F7CC"
+<shift dead compose> "s" "0" "*" "6" : "\u1F7CD"
+<shift dead compose> "s" "1" "*" "8" : "\u1F7CE"
+<shift dead compose> "s" "2" "*" "8" : "\u1F7CF"
+<shift dead compose> "s" "3" "*" "8" : "\u1F7D0"
+<shift dead compose> "s" "0" "*" "8" : "\u1F7D1"
+<shift dead compose> "s" "1" "*" "*" : "\u1F7D2"
+<shift dead compose> "s" "2" "*" "*" : "\u1F7D3"
+<shift dead compose> "s" "0" "*" "*" : "\u1F7D4"
+
+# Supplemental Arrows-C:
+<shift dead compose> "1" "←" : "\u1F800" # leftwards arrow with small triangle arrowhead
+<shift dead compose> "1" "↑" : "\u1F801" # upwards arrow with small triangle arrowhead
+<shift dead compose> "1" "→" : "\u1F802" # rightwards arrow with small triangle arrowhead
+<shift dead compose> "1" "↓" : "\u1F803" # downwards arrow with small triangle arrowhead
+<shift dead compose> "2" "←" : "\u1F804" # leftwards arrow with medium triangle arrowhead
+<shift dead compose> "2" "↑" : "\u1F805" # upwards arrow with medium triangle arrowhead
+<shift dead compose> "2" "→" : "\u1F806" # rightwards arrow with medium triangle arrowhead
+<shift dead compose> "2" "↓" : "\u1F807" # downwards arrow with medium triangle arrowhead
+<shift dead compose> "3" "←" : "\u1F808" # leftwards arrow with large triangle arrowhead
+<shift dead compose> "3" "↑" : "\u1F809" # upwards arrow with large triangle arrowhead
+<shift dead compose> "3" "→" : "\u1F80A" # rightwards arrow with large triangle arrowhead
+<shift dead compose> "3" "↓" : "\u1F80B" # downwards arrow with large triangle arrowhead
+<shift dead compose> "1" "=" "←" : "\u1F810" # leftwards arrow with small equilateral arrowhead
+<shift dead compose> "1" "=" "↑" : "\u1F811" # upwards arrow with small equilateral arrowhead
+<shift dead compose> "1" "=" "→" : "\u1F812" # rightwards arrow with small equilateral arrowhead
+<shift dead compose> "1" "=" "↓" : "\u1F813" # downwards arrow with small equilateral arrowhead
+<shift dead compose> "2" "=" "←" : "\u1F814" # leftwards arrow with equilateral arrowhead
+<shift dead compose> "2" "=" "↑" : "\u1F815" # upwards arrow with equilateral arrowhead
+<shift dead compose> "2" "=" "→" : "\u1F816" # rightwards arrow with equilateral arrowhead
+<shift dead compose> "2" "=" "↓" : "\u1F817" # downwards arrow with equilateral arrowhead
+<shift dead compose> "4" "=" "←" : "\u1F818" # heavy leftwards arrow with equilateral arrowhead
+<shift dead compose> "4" "=" "↑" : "\u1F819" # heavy upwards arrow with equilateral arrowhead
+<shift dead compose> "4" "=" "→" : "\u1F81A" # heavy rightwards arrow with equilateral arrowhead
+<shift dead compose> "4" "=" "↓" : "\u1F81B" # heavy downwards arrow with equilateral arrowhead
+<shift dead compose> "5" "=" "←" : "\u1F81C" # heavy leftwards arrow with large equilateral arrowhead
+<shift dead compose> "5" "=" "↑" : "\u1F81D" # heavy upwards arrow with large equilateral arrowhead
+<shift dead compose> "5" "=" "→" : "\u1F81E" # heavy rightwards arrow with large equilateral arrowhead
+<shift dead compose> "5" "=" "↓" : "\u1F81F" # heavy downwards arrow with large equilateral arrowhead
+<shift dead compose> "1" "-" "←" : "\u1F820" # leftwards triangle-headed arrow with narrow shaft
+<shift dead compose> "1" "-" "↑" : "\u1F821" # upwards triangle-headed arrow with narrow shaft
+<shift dead compose> "1" "-" "→" : "\u1F822" # rightwards triangle-headed arrow with narrow shaft
+<shift dead compose> "1" "-" "↓" : "\u1F823" # downwards triangle-headed arrow with narrow shaft
+<shift dead compose> "2" "-" "←" : "\u1F824" # leftwards triangle-headed arrow with medium shaft
+<shift dead compose> "2" "-" "↑" : "\u1F825" # upwards triangle-headed arrow with medium shaft
+<shift dead compose> "2" "-" "→" : "\u1F826" # rightwards triangle-headed arrow with medium shaft
+<shift dead compose> "2" "-" "↓" : "\u1F827" # downwards triangle-headed arrow with medium shaft
+<shift dead compose> "3" "-" "←" : "\u1F828" # leftwards triangle-headed arrow with bold shaft
+<shift dead compose> "3" "-" "↑" : "\u1F829" # upwards triangle-headed arrow with bold shaft
+<shift dead compose> "3" "-" "→" : "\u1F82A" # rightwards triangle-headed arrow with bold shaft
+<shift dead compose> "3" "-" "↓" : "\u1F82B" # downwards triangle-headed arrow with bold shaft
+<shift dead compose> "4" "-" "←" : "\u1F82C" # leftwards triangle-headed arrow with heavy shaft
+<shift dead compose> "4" "-" "↑" : "\u1F82D" # upwards triangle-headed arrow with heavy shaft
+<shift dead compose> "4" "-" "→" : "\u1F82E" # rightwards triangle-headed arrow with heavy shaft
+<shift dead compose> "4" "-" "↓" : "\u1F82F" # downwards triangle-headed arrow with heavy shaft
+<shift dead compose> "5" "-" "←" : "\u1F830" # leftwards triangle-headed arrow with very heavy shaft
+<shift dead compose> "5" "-" "↑" : "\u1F831" # upwards triangle-headed arrow with very heavy shaft
+<shift dead compose> "5" "-" "→" : "\u1F832" # rightwards triangle-headed arrow with very heavy shaft
+<shift dead compose> "5" "-" "↓" : "\u1F833" # downwards triangle-headed arrow with very heavy shaft
+<shift dead compose> "←" "f" : "\u1F834" # leftwards finger-post arrow
+<shift dead compose> "↑" "f" : "\u1F835" # upwards finger-post arrow
+<shift dead compose> "→" "f" : "\u1F836" # rightwards finger-post arrow
+<shift dead compose> "↓" "f" : "\u1F837" # downwards finger-post arrow
+<shift dead compose> "←" "s" : "\u1F838" # leftwards squared arrow
+<shift dead compose> "↑" "s" : "\u1F839" # upwards squared arrow
+<shift dead compose> "→" "s" : "\u1F83A" # rightwards squared arrow
+<shift dead compose> "↓" "s" : "\u1F83B" # downwards squared arrow
+<shift dead compose> "2" "|" "←" : "\u1F83C" # leftwards compressed arrow
+<shift dead compose> "2" "|" "↑" : "\u1F83D" # upwards compressed arrow
+<shift dead compose> "2" "|" "→" : "\u1F83E" # rightwards compressed arrow
+<shift dead compose> "2" "|" "↓" : "\u1F83F" # downwards compressed arrow
+<shift dead compose> "4" "|" "←" : "\u1F840" # leftwards heavy compressed arrow
+<shift dead compose> "4" "|" "↑" : "\u1F841" # upwards heavy compressed arrow
+<shift dead compose> "4" "|" "→" : "\u1F842" # rightwards heavy compressed arrow
+<shift dead compose> "4" "|" "↓" : "\u1F843" # downwards heavy compressed arrow
+<shift dead compose> "4" "←" : "\u1F844" # leftwards heavy arrow
+<shift dead compose> "4" "↑" : "\u1F845" # upwards heavy arrow
+<shift dead compose> "4" "→" : "\u1F846" # rightwards heavy arrow
+<shift dead compose> "4" "↓" : "\u1F847" # downwards heavy arrow
+<shift dead compose> "s" "s" "←" : "\u1F850" # leftwards sans-serif arrow
+<shift dead compose> "s" "s" "↑" : "\u1F851" # upwards sans-serif arrow
+<shift dead compose> "s" "s" "→" : "\u1F852" # rightwards sans-serif arrow
+<shift dead compose> "s" "s" "↓" : "\u1F853" # downwards sans-serif arrow
+<shift dead compose> "s" "s" "↗" : "\u1F854" # north west sans-serif arrow
+<shift dead compose> "s" "s" "↖" : "\u1F855" # north east sans-serif arrow
+<shift dead compose> "s" "s" "↙" : "\u1F856" # south east sans-serif arrow
+<shift dead compose> "s" "s" "↘" : "\u1F857" # south west sans-serif arrow
+<shift dead compose> "s" "s" "↔" : "\u1F858" # left right sans-serif arrow
+<shift dead compose> "s" "s" "↕" : "\u1F859" # up down sans-serif arrow
+<shift dead compose> "1" "b" "←" : "\u1F860" # wide-headed leftwards light barb arrow
+<shift dead compose> "1" "b" "↑" : "\u1F861" # wide-headed upwards light barb arrow
+<shift dead compose> "1" "b" "→" : "\u1F862" # wide-headed rightwards light barb arrow
+<shift dead compose> "1" "b" "↓" : "\u1F863" # wide-headed downwards light barb arrow
+<shift dead compose> "1" "b" "↗" : "\u1F864" # wide-headed north west light barb arrow
+<shift dead compose> "1" "b" "↖" : "\u1F865" # wide-headed north east light barb arrow
+<shift dead compose> "1" "b" "↙" : "\u1F866" # wide-headed south east light barb arrow
+<shift dead compose> "1" "b" "↘" : "\u1F867" # wide-headed south west light barb arrow
+<shift dead compose> "2" "b" "←" : "\u1F868" # wide-headed leftwards barb arrow
+<shift dead compose> "2" "b" "↑" : "\u1F869" # wide-headed upwards barb arrow
+<shift dead compose> "2" "b" "→" : "\u1F86A" # wide-headed rightwards barb arrow
+<shift dead compose> "2" "b" "↓" : "\u1F86B" # wide-headed downwards barb arrow
+<shift dead compose> "2" "b" "↗" : "\u1F86C" # wide-headed north west barb arrow
+<shift dead compose> "2" "b" "↖" : "\u1F86D" # wide-headed north east barb arrow
+<shift dead compose> "2" "b" "↙" : "\u1F86E" # wide-headed south east barb arrow
+<shift dead compose> "2" "b" "↘" : "\u1F86F" # wide-headed south west barb arrow
+<shift dead compose> "3" "b" "←" : "\u1F870" # wide-headed leftwards medium barb arrow
+<shift dead compose> "3" "b" "↑" : "\u1F871" # wide-headed upwards medium barb arrow
+<shift dead compose> "3" "b" "→" : "\u1F872" # wide-headed rightwards medium barb arrow
+<shift dead compose> "3" "b" "↓" : "\u1F873" # wide-headed downwards medium barb arrow
+<shift dead compose> "3" "b" "↗" : "\u1F874" # wide-headed north west medium barb arrow
+<shift dead compose> "3" "b" "↖" : "\u1F875" # wide-headed north east medium barb arrow
+<shift dead compose> "3" "b" "↙" : "\u1F876" # wide-headed south east medium barb arrow
+<shift dead compose> "3" "b" "↘" : "\u1F877" # wide-headed south west medium barb arrow
+<shift dead compose> "4" "b" "←" : "\u1F878" # wide-headed leftwards heavy barb arrow
+<shift dead compose> "4" "b" "↑" : "\u1F879" # wide-headed upwards heavy barb arrow
+<shift dead compose> "4" "b" "→" : "\u1F87A" # wide-headed rightwards heavy barb arrow
+<shift dead compose> "4" "b" "↓" : "\u1F87B" # wide-headed downwards heavy barb arrow
+<shift dead compose> "4" "b" "↗" : "\u1F87C" # wide-headed north west heavy barb arrow
+<shift dead compose> "4" "b" "↖" : "\u1F87D" # wide-headed north east heavy barb arrow
+<shift dead compose> "4" "b" "↙" : "\u1F87E" # wide-headed south east heavy barb arrow
+<shift dead compose> "4" "b" "↘" : "\u1F87F" # wide-headed south west heavy barb arrow
+<shift dead compose> "5" "b" "←" : "\u1F880" # wide-headed leftwards very heavy barb arrow
+<shift dead compose> "5" "b" "↑" : "\u1F881" # wide-headed upwards very heavy barb arrow
+<shift dead compose> "5" "b" "→" : "\u1F882" # wide-headed rightwards very heavy barb arrow
+<shift dead compose> "5" "b" "↓" : "\u1F883" # wide-headed downwards very heavy barb arrow
+<shift dead compose> "5" "b" "↗" : "\u1F884" # wide-headed north west very heavy barb arrow
+<shift dead compose> "5" "b" "↖" : "\u1F885" # wide-headed north east very heavy barb arrow
+<shift dead compose> "5" "b" "↙" : "\u1F886" # wide-headed south east very heavy barb arrow
+<shift dead compose> "5" "b" "↘" : "\u1F887" # wide-headed south west very heavy barb arrow
+<shift dead compose> "←" "h" : "\u1F890" # leftwards triangle arrowhead
+<shift dead compose> "↑" "h" : "\u1F891" # upwards triangle arrowhead
+<shift dead compose> "→" "h" : "\u1F892" # rightwards triangle arrowhead
+<shift dead compose> "↓" "h" : "\u1F893" # downwards triangle arrowhead
+<shift dead compose> "←" "H" : "\u1F894" # leftwards white arrow within triangle arrowhead
+<shift dead compose> "↑" "H" : "\u1F895" # upwards white arrow within triangle arrowhead
+<shift dead compose> "→" "H" : "\u1F896" # rightwards white arrow within triangle arrowhead
+<shift dead compose> "↓" "H" : "\u1F897" # downwards white arrow within triangle arrowhead
+<shift dead compose> "←" "N" : "\u1F898" # leftwards arrow with notched tail
+<shift dead compose> "↑" "N" : "\u1F899" # upwards arrow with notched tail
+<shift dead compose> "→" "N" : "\u1F89A" # rightwards arrow with notched tail
+<shift dead compose> "↓" "N" : "\u1F89B" # downwards arrow with notched tail
+<shift dead compose> ["←" "↔" "→"] "-" "4" : "\u1F89C" # heavy arrow shaft width one
+<shift dead compose> ["←" "↔" "→"] "-" "3" : "\u1F89D" # heavy arrow shaft width two thirds
+<shift dead compose> ["←" "↔" "→"] "-" "2" : "\u1F89E" # heavy arrow shaft width one half
+<shift dead compose> ["←" "↔" "→"] "-" "1" : "\u1F89F" # heavy arrow shaft width one third
+<shift dead compose> "←" "s" "↓" : "\u1F8A0" # leftwards bottom-shaded white arrow
+<shift dead compose> "→" "s" "↓" : "\u1F8A1" # rightwards bottom-shaded white arrow
+<shift dead compose> "←" "s" "↑" : "\u1F8A2" # leftwards top-shaded white arrow
+<shift dead compose> "→" "s" "↑" : "\u1F8A3" # rightwards top-shaded white arrow
+<shift dead compose> "←" "s" "←" : "\u1F8A4" # leftwards left-shaded white arrow
+<shift dead compose> "→" "s" "→" : "\u1F8A5" # rightwards right-shaded white arrow
+<shift dead compose> "←" "s" "→" : "\u1F8A6" # leftwards right-shaded white arrow
+<shift dead compose> "→" "s" "←" : "\u1F8A7" # rightwards left-shaded white arrow
+<shift dead compose> "←" "s" ["↙" "↘"] : "\u1F8A8" # leftwards back-tilted shadowed white arrow
+<shift dead compose> "→" "s" ["↙" "↘"] : "\u1F8A9" # rightwards back-tilted shadowed white arrow
+<shift dead compose> "←" "s" ["↖" "↗"] : "\u1F8AA" # leftwards front-tilted shadowed white arrow
+<shift dead compose> "→" "s" ["↖" "↗"] : "\u1F8AB" # rightwards front-tilted shadowed white arrow
+<shift dead compose> ["←" "↔" "→"] "=" "4" : "\u1F8AC" # white arrow shaft width one
+<shift dead compose> ["←" "↔" "→"] "=" "3" : "\u1F8AD" # white arrow shaft width two thirds
+
+# TODO CJK Unified Ideographs Extension B
+# TODO CJK Unified Ideographs Extension C
+# TODO CJK Unified Ideographs Extension D
+# TODO CJK Compatibility Ideographs Supplement
+
+# Tags: These are deprecated
+
+# TODO Variation Selectors Supplement
+