|
|
# 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> ("○" "◟") : "◵"
<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:
<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> "'" "←" : "⬑"
# TODO ⬒ ⬓ ⬔ ⬕ ⬖ ⬗ ⬘ ⬙ ⬚ ⬛ ⬜ ⬝ ⬞ ⬟ ⬠ ⬡ ⬢ ⬣ ⬤ ⬥ ⬦ ⬧ ⬨ ⬩ ⬪ ⬫ ⬬ ⬭ ⬮ ⬯
<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"
# TODO \u2B90 through \u2B9F
<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"
# TODO \u2BB8 \u2BB9
# TODO \u2BBD through \u2BD1 but not \u2BC9
# 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
|