diff options
Diffstat (limited to 'res/keyboard/compose')
-rw-r--r-- | res/keyboard/compose | 2717 |
1 files changed, 2717 insertions, 0 deletions
diff --git a/res/keyboard/compose b/res/keyboard/compose new file mode 100644 index 0000000..e1b48d0 --- /dev/null +++ b/res/keyboard/compose @@ -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" + <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 + |