aboutsummaryrefslogblamecommitdiffstats
path: root/res/compose
blob: 5512c2a61200c50a7dae710eed85dabf01ecfa47 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

















                                                                       

                                             

 










                                                     
                                               


                              
                                                    


         





                                         
              


               
 

                  
                     







                                      
                     


























































































                                          


































































                                                     



















































                                                                 


                                  











                                 
                                   






















                                     
                                  


















                                                                 












































                                                      



                                              










































                                             
                           
                           

                                   






























































                                                                       



                             
















                                     

                               













                                           













































                                 

                                 
                             

                             
                             
                         
                             
                             


























































                                                                   






                                      


























                                       
                                     




                             
                                           






                                           

























































































                                                         






                                   
                             
                                   
                             
                               
                             
                               

























                                          



                                         

                                   


                                 









                                   













                                               







                                









                                               
                             









                                                       

                             


                                    






































                                                                          

























































































































                                                                               
                                










                                                       






































                                                 







































































































































                                                     

                            












































































                                                         
                        

                             






















                                   

                   


                                      

                      

                      
       

                       
       

                       
       

                      
       

                      
       

                      
       

                        
       

                       
       
                                    
         






                                                                      

                              

                                        


         
                        










                                 

                             












                               



                                         

                               











                                   

                                    















                                     




                                                     



                                   


















                                         









                                   













                           













                             















                                                 




















                                       

                           



                             


                                   
                             


                                     








                                              



                                                     















                                             




































                                              













                                   


                                    

                                   





                                           




                                   
                                       
                             
                                      
                             

                                               
                             












                                         
                           






                                  


                                           

                               



                                   










                                      
                                  

























































                                                                    







                                            

                             

















































                                                                                               



                                                                       











                                             











                                 


















                                                           













                                                                              

                                           


























































                                               
                           
                             



                             




                             
                                     

















                                                         
                                
                               
                             
                               
                             
                                   
                             
                             







                                             
                                     








                                           
                                   
 





























































































































                                                                                                                              






































































































































                                             























                                                                 









                                                                                                   











































                                                     






















































                                                                       





                                            

























































































                                                         





















































































































































                                                                                                   



                                              


                            
                                     
 
# 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