# mds — A micro-display server
# Copyright © 2014, 2015 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
# If we are compile this file as a stand-alone file we will pretend
# that the keyboard already have basic latin latters so can create a
# complete compose table from those symbols without getting a lot of
# warnings about those symbols not being available. We will also
# assume that we have the basic modifiers.
assumption
have_range "a" "z"
have_range "A" "Z"
have_range "0" "9"
have_chars " !\"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"
have <dead compose>
have <shift>
have <altgr>
have <alt>
have <ctrl>
end assumption
macro dead_ascii/1
<dead letter \1> [" " <dead letter \1>] : "\1"
<dead compose> "\1" : <dead letter \1>
end macro
macro dead_ascii/2
<dead letter \1> [" " "\2" <dead letter \1>] : "\1"
<dead compose> ["\1" "\2"] : <dead letter \1>
end macro
macro composite/3
<dead letter \2> "\1" : "\3"
<dead compose> "\1" ["\2" <dead letter \2>] : "\3"
end macro
macro composite/4
<dead letter \2> "\1" : "\4"
<dead compose> "\1" ["\2" <dead letter \2> "\3"] : "\4"
end macro
<dead compose> "-" : <dead letter ->
<dead compose> "." : <dead letter ˙>
dead_ascii("˙")
macro macron/2
composite("¯" "\1" "\2")
end macro
macro breve/2
composite("˘" "\1" "\2")
end macro
macro ogonek/2
composite("˛" "\1" "\2")
end macro
macro tilde/2
composite("~" "\1" "\2")
composite("˜" "\1" "\2")
end macro
macro grave/2
composite("`" "\1" "\2")
end macro
macro acute/2
composite("´" "'" "\1" "\2")
end macro
macro circumflex/2
composite("^" "\1" "\2")
end macro
macro dot_above/2
composite("˙" "." "\1" "\2")
end macro
macro caron/2
composite("ˇ" "\1" "\2")
end macro
macro stroke/2
composite("-" "\1" "\2")
end macro
macro cedilla/2
composite("¸" "," "\1" "\2")
end macro
macro middle_dot/2
dot_above("\1" "\2")
end macro
macro slash/2
composite("/" "\1" "\2")
end macro
macro double_acute/2
composite("˝" "\1" "\2")
end macro
macro ring_above/2
composite("°" "\1" "\2")
composite("˚" "\1" "\2")
end macro
macro diaeresis/2
composite("¨" "\"" "\1" "\2")
end macro
# TODO hook
# TODO topbar
# TODO double_grave
# TODO inverted_breve
# TODO turned
<shift dead compose> "u" "+" : <dead hexcompose>
<shift dead compose> "U" "+" : <dead longhexcompose>
# TODO C0 Controls
# Basic Latin:
dead_ascii("^")
dead_ascii("`")
dead_ascii("~")
<dead compose> "v" "v" : "w"
<dead compose> "V" ["V" "v"] : "W"
<dead compose> "k" "s" : "x"
<dead compose> "K" ["S" "s"] : "X"
# TODO C1 Controls
# Latin-1 Supplement:
<dead compose> "!" "!" : "¡"
<dead compose> ("/" "c") : "¢"
<dead compose> ("|" ["c" "L"]) : "¢"
<dead compose> ("-" ["l" "L"]) : "£"
<dead compose> (["o" "O"] ["x" "X"]) : "¤"
<dead compose> (["-" "="] ["y" "Y"]) : "¥"
<dead compose> ("!" "|") : "¦"
<dead compose> (["o" "O"] ["s" "S"]) : "§"
dead_ascii("¨" "\"")
<dead compose> (["o" "O"] ["c" "C"]) : "©"
(<dead compose> <dead letter ~>) "_" "a" : "ª"
<dead compose> "<" "<" : "«"
<dead compose> ("-" ",") : "¬"
<dead compose> "-" "-" <space> : ""
<dead compose> (["o" "O"] ["r" "R"]) : "®"
<dead compose> "-" : <dead letter ¯>
<dead compose> "o" : <dead letter °>
dead_ascii("°")
<dead compose> "+" "-" : "±"
<dead letter ^> "2" : "²"
<dead letter ^> "3" : "³"
dead_ascii("´" "'")
<dead compose> "m" "u" : "µ"
<dead compose> ["p" "P"] ["p" "P" "!"] : "¶"
<dead compose> "!" ["p" "P"] : "¶"
<dead compose> "." "-" : "·"
dead_ascii("," ",")
<dead letter ^> "1" : "¹"
(<dead compose> <dead letter ~>) "_" "o" : "º"
<dead compose> ">" ">" : "»"
<dead compose> "1" "4" : "¼"
<dead compose> "1" "2" : "½"
<dead compose> "3" "4" : "¾"
<dead compose> "?" "?" : "¿"
grave("A" "À")
acute("A" "Á")
tilde("A" "Ã")
diaeresis("A" "Ä")
ring_above("A" "Å")
<dead compose> "A" "E" : "Æ"
cedilla("C" "Ç")
grave("E" "È")
acute("E" "É")
circumflex("E" "Ê")
diaeresis("E" "Ë")
grave("I" "Ì")
acute("I" "Í")
circumflex("I" "Î")
diaeresis("I" "Ï")
<dead compose> "/" : <dead letter />
slash("D" "Đ")
tilde("N" "Ñ")
grave("O" "Ò")
acute("O" "Ó")
circumflex("O" "Ô")
tilde("O" "Õ")
diaeresis("O" "Ö")
<dead compose> "x" "x" : "×"
slash("O" "Ø")
grave("U" "Ù")
acute("U" "Ú")
circumflex("U" "Û")
diaeresis("U" "Ü")
acute("Y" "Ý")
<dead compose> "T" "H" : "Þ"
<dead compose> "s" "s" : "ß"
<dead compose> "ſ" "s" : "ß"
grave("a" "à")
acute("a" "á")
tilde("a" "ã")
diaeresis("a" "ä")
ring_above("a" "å")
<dead compose> "a" "e" : "æ"
cedilla("c" "ç")
grave("e" "è")
acute("e" "é")
circumflex("e" "ê")
diaeresis("e" "ë")
grave("i" "ì")
acute("i" "í")
circumflex("i" "î")
diaeresis("i" "ï")
slash("d" "ð")
tilde("n" "ñ")
grave("o" "ò")
acute("o" "ó")
circumflex("o" "ô")
tilde("o" "õ")
diaeresis("o" "ö")
<dead compose> ":" "-" : "÷"
slash("o" "ø")
grave("u" "ù")
acute("u" "ú")
circumflex("u" "û")
diaeresis("u" "ü")
acute("y" "ý")
<dead compose> "t" "h" : "þ"
diaeresis("y" "ÿ")
# Latin Extended-A:
macron("A" "Ā")
macron("a" "ā")
breve("A" "Ă")
breve("a" "ă")
ogonek("A" "Ą")
ogonek("a" "ą")
acute("C" "Ć")
acute("c" "ć")
circumflex("C" "Ĉ")
circumflex("c" "ĉ")
dot_above("C" "Ċ")
dot_above("c" "ċ")
dot_above("D" "Ď")
dot_above("d" "ď")
stroke("D" "Đ")
stroke("d" "đ")
macron("E" "Ē")
macron("e" "ē")
breve("E" "Ĕ")
breve("e" "ĕ")
dot_above("E" "Ė")
dot_above("e" "ė")
ogonek("E" "Ę")
ogonek("e" "ę")
caron("E" "Ě")
caron("e" "ě")
circumflex("G" "Ĝ")
circumflex("g" "ĝ")
breve("G" "Ğ")
breve("g" "ğ")
dot_above("G" "Ġ")
dot_above("g" "ġ")
cedilla("G" "Ģ")
cedilla("g" "ģ")
circumflex("H" "Ĥ")
circumflex("h" "ĥ")
stroke("H" "Ħ")
stroke("h" "ħ")
tilde("I" "Ĩ")
tilde("i" "ĩ")
macron("I" "Ī")
macron("i" "ī")
breve("I" "Ĭ")
breve("i" "ĭ")
ogonek("I" "Į")
ogonek("i" "į")
dot_above("I" "İ")
dot_above("i" "ı")
<dead compose> "I" "J" : "IJ"
<dead compose> "i" "j" : "ij"
circumflex("J" "Ĵ")
circumflex("j" "ĵ")
cedilla("K" "Ķ")
cedilla("k" "ķ")
<dead compose> "k" "k" : "ĸ"
acute("L" "Ĺ")
acute("l" "ĺ")
cedilla("L" "Ļ")
cedilla("l" "ļ")
caron("L" "Ľ")
caron("l" "ľ")
middle_dot("L" "Ŀ")
middle_dot("l" "ŀ")
slash("L" "Ł")
slash("l" "ł")
acute("N" "Ń")
acute("n" "ń")
cedilla("N" "Ņ")
cedilla("n" "ņ")
caron("N" "Ň")
caron("n" "ň")
# ʼn has been deprecated
<dead compose> "N" ["G" "g"] : "Ŋ"
<dead compose> "n" "g" : "ŋ"
macron("O" "Ō")
macron("o" "ō")
breve("O" "Ŏ")
breve("o" "ŏ")
double_acute("O" "Ő")
double_acute("o" "ő")
<dead compose> "O" "E" : "Œ"
<dead compose> "o" "e" : "œ"
acute("R" "Ŕ")
acute("r" "ŕ")
cedilla("R" "Ŗ")
cedilla("r" "ŗ")
caron("R" "Ř")
caron("r" "ř")
acute("S" "Ś")
acute("s" "ś")
circumflex("S" "Ŝ")
circumflex("s" "ŝ")
cedilla("S" "Ş")
cedilla("s" "ş")
caron("S" "Š")
caron("s" "š")
cedilla("T" "Ţ")
cedilla("t" "ţ")
caron("T" "Ť")
caron("t" "ť")
stroke("T" "Ŧ")
stroke("t" "ŧ")
tilde("U" "Ũ")
tilde("u" "ũ")
macron("U" "Ū")
macron("u" "ū")
breve("U" "Ŭ")
breve("u" "ŭ")
ring_above("U" "Ů")
ring_above("u" "ů")
double_acute("U" "Ű")
double_acute("u" "ű")
ogonek("U" "Ų")
ogonek("u" "ų")
circumflex("W" "Ŵ")
circumflex("w" "ŵ")
circumflex("Y" "Ŷ")
circumflex("y" "ŷ")
diaeresis("Y" "Ÿ")
acute("Z" "Ź")
acute("z" "ź")
dot_above("Z" "Ż")
dot_above("z" "ż")
caron("Z" "Ž")
caron("z" "ž")
<dead compose> "s" "f" : "ſ"
# Latin Extended-B:
stroke("b" "ƀ")
hook("B" "Ɓ")
topbar("B" "Ƃ")
topbar("b" "ƃ")
# TODO (Ƅ) latin capital letter tone six
# TODO (ƅ) latin small letter tone six
# TODO (Ɔ) latin captial letter open o
hook("C" "Ƈ")
hook("c" "ƈ")
# TODO (Ɖ) latin captial letter african d
hook("D" "Ɗ")
topbar("D" "Ƌ")
topbar("d" "ƌ")
# TODO (ƍ) latin small letter turned delta
# TODO (Ǝ) latin capital letter reversed e
# TODO (Ə) latin capital letter schwa
# TODO (Ɛ) latin capital letter open e
hook("F" "Ƒ")
hook("f" "ƒ")
hook("G" "Ɠ")
# TODO (Ɣ) latin capital letter gamma
<dead compose> "h" "v" : "ƕ"
# TODO (Ɩ) latin capital letter iota
stroke("I" "Ɨ")
hook("K" "Ƙ")
hook("k" "ƙ")
# TODO (ƚ) latin small letter l with bar
# TODO (ƛ) latin small letter lambda with stroke
turned("M" "Ɯ")
# TODO (Ɲ) latin capital letter n with left hook
# TODO (ƞ) latin small letter n with long right leg
# TODO (Ɵ) latin capital letter o with middle tilde
# TODO (Ơ) latin capital letter o with horn
# TODO (ơ) latin small letter o with horn
<dead compose> "O" ["I" "i"] : "Ƣ"
<dead compose> "o" "i" : "ƣ"
hook("P" "Ƥ")
hook("p" "ƥ")
<dead compose> ["Y" "y"] ["R" "r"] : "Ʀ"
# TODO (Ƨ) latin capital letter tone two
# TODO (ƨ) latin small letter tone two
# TODO (Ʃ) latin capital letter esh
# TODO (ƪ) latin letter reversed esh loop
# TODO (ƫ) latin small letter t with palatal hook
hook("T" "Ƭ")
hook("t" "ƭ")
# TODO (Ʈ) latin capital letter t with retroflex hook
hook("U" "Ư")
hook("u" "ư")
# TODO (Ʊ) latin capital letter upsilon
hook("V" "Ʋ")
hook("Y" "Ƴ")
hook("y" "ƴ")
stroke("Z" "Ƶ")
stroke("z" "ƶ")
# TODO (Ʒ) latin capital letter ezh
# TODO (Ƹ) latin capital letter ezh reversed
# TODO (ƹ) latin small letter ezh reversed
# TODO (ƺ) latin small letter ezh with tail
# TODO (ƻ) latin letter two with stroke
# TODO (Ƽ) latin capital letter tone five
# TODO (ƽ) latin small letter tone five
# TODO (ƾ) latin letter inverted glottal stop with stroke
# TODO (ƿ) latin letter wynn
# TODO (ǀ) latin letter dental click
# TODO (ǁ) latin letter lateral click
# TODO (ǂ) latin letter alveolar click
# TODO (ǃ) latin letter retroflex click
# TODO (DŽ) latin capital letter dz with caron (dŽ caron(DZ))
# TODO (Dž) latin capital letter d with small letter z with caron (Dž caron(Dz))
# TODO (dž) latin small letter dz with caron (dž caron(dz))
<dead compose> "L" "J" : "LJ"
<dead compose> "L" "j" : "Lj"
<dead compose> "l" "j" : "lj"
<dead compose> "N" "J" : "NJ"
<dead compose> "N" "j" : "Nj"
<dead compose> "n" "j" : "nj"
caron("A" "Ǎ")
caron("a" "ǎ")
caron("I" "Ǐ")
caron("i" "ǐ")
caron("O" "Ǒ")
caron("o" "ǒ")
caron("U" "Ǔ")
caron("u" "ǔ")
# TODO (Ǖǖ) Uu diaeresis+maron
# TODO (Ǘǘ) Uu diaeresis+acute
# TODO (Ǚǚ) Uu diaeresis+caron
# TODO (Ǜǜ) Uu diaeresis+grave
turned("e" "ǝ")
# TODO (Ǟǟ) Aa diaeresis+maron
# TODO (Ǡǡ) Aa dot above+maron
# TODO (Ǣǣ) Ææ maron
maron("Æ" "Ǣ")
maron("æ" "ǣ")
stroke("G" "Ǥ")
stroke("g" "ǥ")
caron("G" "Ǧ")
caron("g" "ǧ")
caron("K" "Ǩ")
caron("k" "ǩ")
ogonek("O" "Ǫ")
ogonek("o" "ǫ")
# TODO (Ǭǭ) Oo ogonek+macron
# TODO (Ǯ) latin capital letter ezh with caron
# TODO (ǯ) latin small letter ezh with caron
caron("j" "ǰ")
<dead compose> "D" "Z" : "DZ"
<dead compose> "D" "z" : "Dz"
<dead compose> "d" "z" : "dz"
acute("G" "Ǵ")
acute("g" "ǵ")
<dead compose> "H" ["V" "v"] : "Ƕ"
# TODO (Ƿ) latin capital letter wynn
grave("N" "Ǹ")
grave("n" "ǹ")
acute("Å" "Ǻ") # TODO latin capital letter a with ring above and acute
acute("å" "ǻ") # TODO latin small letter a with ring above and acute
acute("Æ" "Ǽ") # TODO latin capital letter ae with acute
acute("æ" "ǽ") # TODO latin small letter ae with acute
acute("Ø" "Ǿ") # TODO latin capital letter o with stroke and acute
acute("ø" "ǿ") # TODO latin small letter o with stroke and acute
double_grave("A" "Ȁ")
double_grave("a" "ȁ")
inverted_breve("A" "Ȃ")
inverted_breve("a" "ȃ")
double_grave("E" "Ȅ")
double_grave("e" "ȅ")
inverted_breve("E" "Ȇ")
inverted_breve("e" "ȇ")
double_grave("I" "Ȉ")
double_grave("i" "ȉ")
inverted_breve("I" "Ȋ")
inverted_breve("i" "ȋ")
double_grave("O" "Ȍ")
double_grave("o" "ȍ")
inverted_breve("O" "Ȏ")
inverted_breve("o" "ȏ")
double_grave("R" "Ȑ")
double_grave("r" "ȑ")
inverted_breve("R" "Ȓ")
inverted_breve("r" "ȓ")
double_grave("U" "Ȕ")
double_grave("u" "ȕ")
inverted_breve("U" "Ȗ")
inverted_breve("u" "ȗ")
# TODO (Ș) latin capital letter s with comma below
# TODO (ș) latin small letter s with comma below
# TODO (Ț) latin capital letter t with comma below
# TODO (ț) latin small letter t with comma below
# TODO (Ȝ) latin capital letter yogh
# TODO (ȝ) latin small letter yogh
caron("H" "Ȟ")
caron("h" "ȟ")
# TODO (Ƞ) latin capital letter n with long right leg
# TODO (ȡ) latin small letter d with curl
<dead compose> "O" ["U" "u"] : "Ȣ"
<dead compose> "o" "u" : "ȣ"
hook("Z" "Ȥ")
hook("z" "ȥ")
dot_above("A" "Ȧ")
dot_above("a" "ȧ")
cedilla("E" "Ȩ")
cedilla("e" "ȩ")
# TODO (Ȫ) latin capital letter o with diaeresis and macron
# TODO (ȫ) latin small letter o with diaeresis and macron
# TODO (Ȭ) latin capital letter o with tilde and macron
# TODO (ȭ) latin small letter o with tilde and macron
dot_above("O" "Ȯ")
dot_above("o" "ȯ")
# TODO (Ȱ) latin capital letter o with dot above and macron
# TODO (ȱ) latin small letter o with dot above and macron
macron("Y" "Ȳ")
macron("y" "ȳ")
# TODO (ȴ) latin small letter l with curl
# TODO (ȵ) latin small letter n with curl
# TODO (ȶ) latin small letter t with curl
dot_above("j" "ȷ")
<dead compose> "d" "b" : "ȸ"
<dead compose> "q" "p" : "ȹ"
stroke("A" "Ⱥ")
stroke("C" "Ȼ")
stroke("c" "ȼ")
# TODO (Ƚ) latin capital letter l with bar
# TODO (Ⱦ) latin capital letter t with diagonal stroke
# TODO (ȿ) latin small letter s with swash tail
# TODO (ɀ) latin small letter z with swash tail
# TODO (Ɂ) latin capital letter glottal stop
# TODO (ɂ) latin small letter glottal stop
stroke("B" "Ƀ")
# TODO (Ʉ) latin capital letter u bar
turned("V" "Ʌ")
stroke("E" "Ɇ")
stroke("e" "ɇ")
stroke("J" "Ɉ")
stroke("j" "ɉ")
# TODO (Ɋ) latin capital letter small q with hook tail
# TODO (ɋ) latin small letter q with hook tail
stroke("R" "Ɍ")
stroke("r" "ɍ")
stroke("Y" "Ɏ")
stroke("y" "ɏ")
# IPA Extensions: (TODO)
turned("a" "ɐ")
# (ɑ) latin small letter alpha
turned("ɑ" "ɒ")
hook("b" "ɓ")
# (ɔ) latin small letter open o (turned c)
# (ɕ) latin small letter c with curl
# (ɖ) latin small letter d with tail (d retroflex hook)
# (ɗ) latin small letter d with hook
# (ɘ) latin small letter reversed e
# (ə) latin small letter schwa (latin small letter turned e [already exists])
hook("ə" "ɚ")
# (ɛ) latin small letter open e (epsilon)
# (ɜ) latin small letter reversed open e
hook("ɜ" "ɝ")
# (ɞ) latin small letter closed reversed open e
# (ɟ) latin small letter dotless j with stroke
hook("g" "ɠ")
# (ɡ) latin small letter script g
# (ɢ) latin letter small captial g
# (ɣ) latin small letter gamma
# (ɤ) latin small letter rams horn (latin small letter baby gamma)
turned("h" "ɥ")
hook("h" "ɦ")
# (ɧ) latin small letter heng with hook
# (ɨ) latin small letter i with stroke (barred i, i bar)
# (ɩ) latin small letter iota
# (ɪ) latin letter small capital i
# (ɫ) latin small letter l with middle tilde
# (ɬ) latin small letter l with belt
# (ɭ) latin small letter l with retroflex hook
<dead compose> "l" "ʒ" : "ɮ"
turned("m" "ɯ")
# (ɰ) latin small letter turned m with long leg
hook("m" "ɱ")
# (ɲ) latin small letter n with left hook
# (ɳ) latin small letter n with retroflex hook
# (ɴ) latin letter small captial n
# (ɵ) latin small letter barred o (o bar)
# (ɶ) latin letter small capital oe
# (ɷ) latin small letter closed omega
# (ɸ) latin small letter phi
turned("r" "ɹ")
# (ɺ) latin small letter turned r with long leg
# (ɻ) latin small letter turned r with hook
# (ɼ) latin small letter r with long leg
# (ɽ) latin small letter r with tail
# (ɾ) latin small letter r with fishhook
# (ɿ) latin small letter revered r with fishhook
# (ʀ) latin small letter captial r
# (ʁ) latin small letter inverted r
hook("s" "ʂ")
# (ʄ) latin small letter dotless j with stroke and hook
# (ʅ) latin small letter squat reversed esh
# (ʆ) latin small letter esh with curl
turned("t" "ʇ")
# (ʈ) latin small letter t with retroflex hook
# (ʉ) latin small letter u bar
# (ʊ) latin small letter upsilon
hook("v" "ʋ")
turned("v" "ʌ")
turned("w" "ʍ")
turned("y" "ʎ")
# (ʏ) latin letter small captial y
# (ʐ) latin small letter z with retroflex hook
# (ʑ) latin small letter z with curl
# (ʒ) latin small letter ezh
# (ʓ) latin small letter ezh with curl
# (ʔ) latin letter glottal stop
# (ʕ) latin letter pharyngeal covied fricative (revered glottal stop(ʔ))
# (ʖ) latin letter inverted glottal stop
# (ʗ) latin letter stretched c
# (ʘ) latin letter bilabial click
# (ʙ) latin letter small capital b
# (ʚ) latin small letter closed open e (closed epsilon(ɛ))
# (ʛ) latin letter small capital g with hook
# (ʜ) latin letter small capital h
# (ʝ) latin small letter j with crossed-tail
turned("k" "ʞ")
# (ʟ) latin letter small captial l
hook("q" "ʠ")
# (ʡ) latin letter glottal stop with stroke (stroke ʔ)
# (ʢ) latin letter reversed glottal stop with stroke (reversed ʡ, stroke ʕ)
<dead compose> "d" "z" : "ʣ"
<dead compose> "d" "ʒ" : "ʤ"
<dead compose> "d" "ʑ" : "ʥ"
# (ʥ) ʣ with curl
<dead compose> "t" "s" : "ʦ"
# <dead compose> "t" esh : "ʧ"
# (ʨ) latin small letter tc digraph with curl
# (ʩ) latin small letter feng digraph
<dead compose> "l" "s" : "ʪ"
<dead compose> "l" "z" : "ʫ"
# (ʬ) latin letter bilabial percussive (two stacked w)
# (ʭ) latin letter didental percussive (two rotated [)
# (ʮ) latin small letter turned h with fishhook
# (ʯ) latin small letter turned h with fishhook and tail
# TODO Spacing Modifier Letter
# TODO Combining Diacritical Marks
# TODO Greek and Coptic
# TODO Cyrillic
# TODO Cyrillic Supplement
# TODO Armenian
# TODO Hebrew
# TODO Arabic
# TODO Syriac
# TODO Arabic Supplement
# TODO Thaana
# TODO NKo
# TODO Samaritan
# TODO Mandaic
# TODO Arabic Extended-A
# TODO Devanagari
# TODO Bengali
# TODO Gurmukhi
# TODO Gujarati
# TODO Oriya
# TODO Tamil
# TODO Telugu
# TODO Kannada
# TODO Malayalam
# TODO Sinhala
# TODO Thai
# TODO Lao
# TODO Tibetan
# TODO Myanmar
# TODO Georgian
# TODO Hangul Jamo
# TODO Ethiopic
# TODO Ethiopic Supplement
# TODO Cherokee
# TODO Unified Canadian Aboriginal Syllabics
# TODO Ogham
# TODO Runic
# TODO Tagalog
# TODO Hanunoo
# TODO Buhid
# TODO Tagbanwa
# TODO Khmer
# TODO Mongolian
# TODO Unified Canadian Aboriginal Syllabics Extended
# TODO Limbu
# TODO Tai Le
# TODO New Tai Lue
# TODO Khmer Symbols
# TODO Buginese
# TODO Tai Tham
# TODO Combining Diacritical Marks Extended
# TODO Balinese
# TODO Sundanese
# TODO Batak
# TODO Lepcha
# TODO Ol Chiki
# TODO Sundanese Supplement
# TODO Vedic Extensions
# TODO Phonetic Extensions
# TODO Phonetic Extensions Supplement
# TODO Combining Diacritical Marks Supplement
# TODO Latin Extended Additional
# TODO Greek Extended
# General Punctuation:
<dead compose> <space> "_" "." : "\u2000" # en quad
<dead compose> <space> "_" "_" : "\u2001" # em quad
<dead compose> <space> "-" "." : "\u2002" # en space
<dead compose> <space> "-" "-" : "\u2003" # em space
<dead compose> <space> "3" : "\u2004" # three-per-em space
<dead compose> <space> "4" : "\u2005" # four-per-em space
<dead compose> <space> "6" : "\u2006" # six-per-em space
<dead compose> <space> "f" : "\u2007" # figure space
<dead compose> <space> "." : "\u2008" # punctuation space
<dead compose> <space> "t" : "\u2009" # thin space
<dead compose> <space> "h" : "\u200A" # hairspace
<dead compose> <space> "0" : "\u200B" # zero width space
<dead compose> <space> "J" : "\u200C" # zero width non-joiner
<dead compose> <space> "j" : "\u200D" # zero width joiner
<dead compose> <space> "l" : "\u200E" # left-to-right mark
<dead compose> <space> "r" : "\u200F" # right-to-left mark
<dead compose> "-" <space> : "\u2010" # hyphen
<dead compose> "-" " " : "\u2011" # non-breaking hyphen
<dead compose> "-" "-" "f" : "\u2012" # figure dash
<dead compose> "-" "-" "." : "\u2013" # en dash
<dead compose> "-" "-" "-" : "\u2014" # em dash
<dead compose> "-" "-" "_" : "\u2015" # horizontal bar
<dead compose> "|" "|" : "\u2016" # double verical line
<dead compose> "-" "_" : "\u2017" # double low line
<dead compose> ("(" "'") : "‘"
<dead compose> (")" "'") : "’"
<dead compose> ("(" ",") : "‚"
<dead compose> (")" ",") : "‛"
<dead compose> ("(" "\"") : "“"
<dead compose> (")" "\"") : "”"
<dead compose> ("(" ";") : "„"
<dead compose> (")" ";") : "‟"
<dead compose> "+" "T" : "†"
<dead compose> "+" "+" "T" : "‡"
<shift dead compose> "." "." : "•"
<shift dead compose> "|" ">" : "‣"
<dead compose> "." "," : "\u2024" # one dot leader
<dead compose> "." ";" : "\u2025" # two dot leader
<dead compose> "." "." : "…"
<dead compose> "-" "." : "\u2027" # hyphenation point
<dead compose> "l" <space> : "\u2028" # line separator
<dead compose> "p" <space> : "\u2029" # paragraph separator
<dead compose> <space> "e" "l" : "\u202A" # left-to-right embedding
<dead compose> <space> "e" "r" : "\u202B" # right-to-left embedding
<dead compose> <space> "e" "p" : "\u202C" # pop directional formatting
<dead compose> <space> "o" "l" : "\u202D" # left-to-right override
<dead compose> <space> "o" "r" : "\u202E" # right-to-left override
<dead compose> "m" " " : "\u202F" # narrow no-break space
<dead compose> "%" ["o" "."] : "‰"
<dead compose> "%" ["O" ":"] : "‱"
<dead compose> ("1" ["'" "´"]) : "′"
<dead compose> ("2" ["'" "´"]) : "″"
<dead compose> ("3" ["'" "´"]) : "‴"
<dead compose> ("1" "`") : "‵"
<dead compose> ("2" "`") : "‶"
<dead compose> ("3" "`") : "‷"
<shift dead compose> ("." "^") : "‸"
<shift dead compose> ("." "<") : "‹"
<shift dead compose> ("." ">") : "›"
<dead compose> ("x" "+") : "※"
<shift dead compose> "!" "!" : "‼"
<dead compose> "!" "?" : "‽"
<shift dead compose> "^" "_" : "‾"
<shift dead compose> ("_" "u") : "‿"
<shift dead compose> ("^" "u") : "⁀"
<shift dead compose> "/" "/" "." : "⁁"
<dead compose> "*" "*" : "⁂"
<shift dead compose> "-" "-" : "⁃"
<dead compose> "/" "/" : "⁄"
<dead compose> ("[" "-") : "⁅"
<dead compose> ("]" "-") : "⁆"
<shift dead compose> "?" "?" : "⁇"
<shift dead compose> "?" "!" : "⁈"
<shift dead compose> "!" "?" : "⁉"
<dead compose> ("/" "7"): "⁊"
<dead compose> "¶" "¶" : "⁋"
<dead compose> ("?" ["p" "P"]) : "⁋"
<dead compose> "(" "|" : "⁌"
<dead compose> "|" ")" : "⁍"
<dead compose> ("*" ".") : "⁎"
<dead compose> "|" ";" : "⁏"
<shift dead compose> "(" ")" : "⁐"
<dead compose> ("*" ":") : "⁑"
<dead compose> "%" "%" : "⁒"
<shift dead compose> "~" ["-" "~"] : "⁓"
<shift dead compose> "-" "~" : "⁓"
<shift dead compose> ("_" "U") : "⁔"
<dead compose> ("x" "*") : "⁕"
<dead compose> "." ":" <space> : "⁖"
<dead compose> ("4" ["'" "´"]) : "⁗"
<dead compose> "." ":" "." : "⁘"
<dead compose> ":" "." ":" : "⁙"
<dead compose> "|" "." "." : "⁚"
<shift dead compose> "." ":" "." : "⁛"
<dead compose> ("x" ":") : "⁜"
<dead compose> "|" ":" "." : "⁝"
<dead compose> "|" ":" ":" : "⁞"
<dead compose> <space> "m" : "\u205F" # medium mathematical space
<dead compose> <space> "w" : "\u2060" # word joiner
<shift dead compose> ("f" " ") : "\u2061" # function application
<shift dead compose> (["x" "×" "*"] " ") : "\u2062" # invisible times
<shift dead compose> (["," "."] " ") : "\u2063" # invisible separator
<shift dead compose> ("+" " ") : "\u2064" # invisible plus
<dead compose> <space> "i" "l" : "\u2066" # left-to-right isolate
<dead compose> <space> "i" "r" : "\u2067" # right-to-left isolate
<dead compose> <space> "i" "s" : "\u2068" # first strong isolate
<dead compose> <space> "i" "p" : "\u2069" # pop directional isolate
# U+206A through U+206C are deprecated
# Superscripts and Subscripts:
<dead letter ^> "0" : "⁰"
<shift dead compose> ["^" <dead letter "^">] "i" : "ⁱ"
<dead letter ^> "4" : "⁴"
<dead letter ^> "5" : "⁵"
<dead letter ^> "6" : "⁶"
<dead letter ^> "7" : "⁷"
<dead letter ^> "8" : "⁸"
<dead letter ^> "9" : "⁹"
<dead letter ^> "+" : "⁺"
<dead letter ^> "-" : "⁻"
<dead letter ^> "=" : "⁼"
<dead letter ^> "(" : "⁽"
<dead letter ^> ")" : "⁾"
<shift dead compose> ["^" <dead letter "^">] "n" : "ⁿ"
dead_ascii("ˇ")
<dead letter ˇ> "0" : "₀"
<dead letter ˇ> "1" : "₁"
<dead letter ˇ> "2" : "₂"
<dead letter ˇ> "3" : "₃"
<dead letter ˇ> "4" : "₄"
<dead letter ˇ> "5" : "₅"
<dead letter ˇ> "6" : "₆"
<dead letter ˇ> "7" : "₇"
<dead letter ˇ> "8" : "₈"
<dead letter ˇ> "9" : "₉"
<dead letter ˇ> "+" : "₊"
<dead letter ˇ> "-" : "₋"
<dead letter ˇ> "=" : "₌"
<dead letter ˇ> "(" : "₍"
<dead letter ˇ> ")" : "₎"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "a" : "ₐ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "e" : "ₑ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "o" : "ₒ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "x" : "ₓ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "ə" : "ₔ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "h" : "ₕ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "k" : "ₖ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "l" : "ₗ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "m" : "ₘ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "n" : "ₙ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "p" : "ₚ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "s" : "ₛ"
<shift dead compose> ["ˇ" <dead letter "ˇ">] "t" : "ₜ"
# TODO Currency Symbols
# TODO Combining Diacritical Marks for Symbols
# TODO Letterlike Symbols
# Number Forms:
<dead compose> "1" "7" : "⅐"
<dead compose> "1" "9" : "⅑"
<dead compose> "1" "0" : "⅒"
<dead compose> "1" "3" : "⅓"
<dead compose> "2" "3" : "⅔"
<dead compose> "1" "5" : "⅕"
<dead compose> "2" "5" : "⅖"
<dead compose> "3" "5" : "⅗"
<dead compose> "4" "5" : "⅘"
<dead compose> "1" "6" : "⅙"
<dead compose> "5" "6" : "⅚"
<dead compose> "1" "8" : "⅛"
<dead compose> "3" "8" : "⅜"
<dead compose> "5" "8" : "⅝"
<dead compose> "7" "8" : "⅞"
<dead compose> "1" <space> : "⅟"
<shift dead compose> "r" "i" <space> : "Ⅰ"
<shift dead compose> "r" "i" "i" <space> : "Ⅱ"
<shift dead compose> "r" "i" "i" "i" <space> : "Ⅲ"
<shift dead compose> "r" "i" "i" "i" "i" <space> : "Ⅳ"
<shift dead compose> "r" "i" "v" <space> : "Ⅳ"
<shift dead compose> "r" "v" <space> : "Ⅴ"
<shift dead compose> "r" "v" "i" <space> : "Ⅵ"
<shift dead compose> "r" "v" "i" "i" <space> : "Ⅶ"
<shift dead compose> "r" "v" "i" "i" "i" <space> : "Ⅷ"
<shift dead compose> "r" "i" "x" <space> : "Ⅸ"
<shift dead compose> "r" "x" <space> : "Ⅹ"
<shift dead compose> "r" "x" "i" <space> : "Ⅺ"
<shift dead compose> "r" "x" "i" "i" <space> : "Ⅻ"
<shift dead compose> "r" "l" : "Ⅼ"
<shift dead compose> "r" "c" : "Ⅽ"
<shift dead compose> "r" "(" <space> : "Ⅽ"
<shift dead compose> "r" "d" : "Ⅾ"
<shift dead compose> "r" "|" [")" "Ↄ"] <space> : "Ⅾ"
<shift dead compose> "r" "m" : "Ⅿ"
<shift dead compose> "R" "i" <space> : "ⅰ"
<shift dead compose> "R" "i" "i" <space> : "ⅱ"
<shift dead compose> "R" "i" "i" "i" <space> : "ⅲ"
<shift dead compose> "R" "i" "i" "i" "i" <space> : "ⅳ"
<shift dead compose> "R" "i" "v" <space> : "ⅳ"
<shift dead compose> "R" "v" <space> : "ⅴ"
<shift dead compose> "R" "v" "i" <space> : "ⅵ"
<shift dead compose> "R" "v" "i" "i" <space> : "ⅶ"
<shift dead compose> "R" "v" "i" "i" "i" <space> : "ⅷ"
<shift dead compose> "R" "i" "x" <space> : "ⅸ"
<shift dead compose> "R" "x" <space> : "ⅹ"
<shift dead compose> "R" "x" "i" <space> : "ⅺ"
<shift dead compose> "R" "x" "i" "i" <space> : "ⅻ"
<shift dead compose> "R" "l" : "ⅼ"
<shift dead compose> "R" "c" : "ⅽ"
<shift dead compose> "R" "d" : "ⅾ"
<shift dead compose> "R" "m" : "ⅿ"
<shift dead compose> "r" ["Ⅽ" "("] "Ⅾ" : "ↀ"
<shift dead compose> "r" ["Ⅽ" "("] "|" [")" "Ↄ"] : "ↀ"
<shift dead compose> "r" "Ⅾ" [")" "Ↄ"] <space> : "ↁ"
<shift dead compose> "r" "|" [")" "Ↄ"] [")" "Ↄ"] <space> : "ↁ"
<shift dead compose> "r" ["Ⅽ" "("] ["Ⅽ" "("] "|" [")" "Ↄ"] [")" "Ↄ"] : "ↂ"
<shift dead compose> "r" ["Ⅽ" "("] ["Ⅽ" "("] "D" [")" "Ↄ"] : "ↂ"
<shift dead compose> "r" ["Ⅽ" "("] ["Ⅽ" "("] "ↁ" : "ↂ"
<shift dead compose> "r" ["Ⅽ" "("] "ↀ" [")" "Ↄ"] : "ↂ"
<shift dead compose> "r" ")" : "Ↄ"
<dead compose> "Ⅽ" "Ⅽ" : "Ↄ"
<dead compose> "." "Ↄ" : "ↄ"
<shift dead compose> "r" "g" : "ↅ"
<shift dead compose> "r" "(" "," : "ↅ"
<dead compose> "Ⅽ" "," : "ↅ"
<dead compose> "Ⅴ" "Ⅴ" : "ↆ"
<shift dead compose> "r" "↓" : "ↆ"
<shift dead compose> "r" "Ⅾ" [")" "Ↄ"] [")" "Ↄ"] : "ↇ"
<shift dead compose> "r" "ↁ" [")" "Ↄ"] : "ↇ"
<shift dead compose> "r" "|" [")" "Ↄ"] [")" "Ↄ"] [")" "Ↄ"] : "ↇ"
<shift dead compose> "r" ["Ⅽ" "("] ["Ⅽ" "("] ["Ⅽ" "("] "|" [")" "Ↄ"] [")" "Ↄ"] [")" "Ↄ"] : "ↈ"
<shift dead compose> "r" ["Ⅽ" "("] ["Ⅽ" "("] ["Ⅽ" "("] "D" [")" "Ↄ"] [")" "Ↄ"] : "ↈ"
<shift dead compose> "r" ["Ⅽ" "("] ["Ⅽ" "("] ["Ⅽ" "("] "ↁ" [")" "Ↄ"] : "ↈ"
<shift dead compose> "r" ["Ⅽ" "("] ["Ⅽ" "("] ["Ⅽ" "("] "ↇ" : "ↈ"
<shift dead compose> "r" ["Ⅽ" "("] ["Ⅽ" "("] "ↀ" [")" "Ↄ"] [")" "Ↄ"] : "ↈ"
<shift dead compose> "r" ["Ⅽ" "("] "ↂ" [")" "Ↄ"] : "ↈ"
<shift dead compose> "r" ")" : "Ↄ"
<dead compose> "0" "3" : "↉"
# Arrows:
<shift dead compose> "<" "-" "-" : "←"
<shift dead compose> "^" "|" <space> : "↑"
<shift dead compose> "|" ["v" "V"] <space> : "→"
<shift dead compose> "-" "-" ">" : "↓"
<dead compose> ("←" "→") : "↔"
<dead compose> ("↑" "↓") : "↕"
<shift dead compose> ("←" "↑") : "↖"
<shift dead compose> ("→" "↑") : "↗"
<shift dead compose> ("→" "↓") : "↘"
<shift dead compose> ("←" "↓") : "↙"
<dead compose> ("/" "←") : "↚"
<dead compose> ("/" "→") : "↛"
composite("←" "~" "↜")
composite("→" "~" "↝")
<dead compose> "←" "←" : "↞"
<dead compose> "↑" "↑" : "↟"
<dead compose> "→" "→" : "↠"
<dead compose> "↓" "↓" : "↡"
<dead compose> "←" "<" : "↢"
<dead compose> ">" "→" : "↣"
<dead compose> "←" "|" : "↤"
<dead compose> ("-" "↑") : "↥"
<dead compose> "|" "→" : "↦"
<dead compose> ("-" "↓") : "↧"
<dead compose> "_" "↕" : "↨"
<dead compose> "←" ")" : "↩"
<dead compose> "(" "→" : "↪"
<dead compose> "↩" "↩" : "↫"
<dead compose> "↪" "↪" : "↬"
<dead compose> ("↜" "↝") : "↭"
<dead compose> ("/" "↔") : "↮"
<dead compose> ("↚" "↛") : "↮"
<dead compose> (["z" "Z"] "↓") : "↯"
<dead compose> "\u2B4D" "\u2B4D" : "↯"
<shift dead compose> "←" "|" : "↰"
<dead compose> "↲" "↲" : "↰"
<shift dead compose> "|" "→" : "↱"
<dead compose> "↳" "↳" : "↱"
<shift dead compose> "←" "_" "|" : "↲"
<dead compose> "↰" "↰" : "↲"
<shift dead compose> "|" "_" "→" : "↳"
<dead compose> "↱" "↱" : "↳"
<dead compose> "-" "↘" : "↴"
<dead compose> "." "↲" : "↵"
<shift dead compose> ("n" "↙") : "↶"
<shift dead compose> ("n" "↘") : "↷"
<dead letter ^> "_" "↖" : "↸"
<dead letter ¯> "↖" : "↸"
<dead compose> "¯" "↖" : "↸"
<dead compose> "⇤" "⇥" : "↹"
<dead compose> "↶" "↶" : "↺"
<dead compose> "↷" "↷" : "↻"
<dead compose> "←" "↑" : "↼"
<dead compose> "↽" "↽" : "↼"
<dead compose> "←" "↓" : "↽"
<dead compose> "↼" "↼" : "↽"
<dead compose> "↑" "→" : "↾"
<dead compose> "↿" "↿" : "↾"
<dead compose> "↑" "←" : "↿"
<dead compose> "↾" "↾" : "↿"
<dead compose> "→" "↑" : "⇀"
<dead compose> "⇁" "⇁" : "⇀"
<dead compose> "→" "↓" : "⇁"
<dead compose> "⇀" "⇀" : "⇁"
<dead compose> "↓" "→" : "⇂"
<dead compose> "⇃" "⇃" : "⇂"
<dead compose> "↓" "←" : "⇃"
<dead compose> "⇂" "⇂" : "⇃"
<shift dead compose> "→" "←" : "⇄"
<dead compose> "⇆" "⇆" : "⇄"
<shift dead compose> "↑" "↓" : "⇅"
<dead compose> "⇵" "⇅" : "⇅"
<shift dead compose> "←" "→" : "⇆"
<dead compose> "⇄" "⇄" : "⇆"
<shift dead compose> "←" "←" : "⇇"
<shift dead compose> "↑" "↑" : "⇈"
<shift dead compose> "→" "→" : "⇉"
<shift dead compose> "↓" "↓" : "⇊"
<shift dead compose> ("↼" "⇁") : "⇋"
<shift dead compose> ("↽" "⇀") : "⇌"
<dead compose> ("/" "⇐") : "⇍"
<dead compose> ("/" "⇔") : "⇎"
<dead compose> ("/" "⇒") : "⇏"
<shift dead compose> "<" "=" "=" : "⇐"
<shift dead compose> ("=" "←") : "⇐"
<shift dead compose> "^" "|" "|" : "⇑"
<shift dead compose> ("=" "↑") : "⇑"
<shift dead compose> "=" "=" ">" : "⇒"
<shift dead compose> ("=" "→") : "⇒"
<shift dead compose> "|" "|" ["v" "V"] : "⇓"
<shift dead compose> ("=" "↓") : "⇓"
<dead compose> ("⇐" "⇒") : "⇔"
<shift dead compose> ("=" "↔") : "⇔"
<dead compose> ("⇑" "⇓") : "⇕"
<shift dead compose> ("=" "↕") : "⇕"
<dead compose> ("⇐" "⇑") : "⇖"
<shift dead compose> ("=" "↖") : "⇖"
<dead compose> ("⇑" "⇒") : "⇗"
<shift dead compose> ("=" "↗") : "⇗"
<dead compose> ("⇒" "⇓") : "⇘"
<shift dead compose> ("=" "↘") : "⇘"
<dead compose> ("⇓" "⇐") : "⇙"
<shift dead compose> ("=" "↙") : "⇙"
<dead compose> "⇐" "⇐" : "⇚"
<dead compose> "⇒" "⇒" : "⇛"
<shift dead compose> "<" ["~" <dead letter ~>] ["~" <dead letter ~>] : "⇜"
<shift dead compose> ["~" <dead letter ~>] ["~" <dead letter ~>] ">" : "⇝"
<dead compose> ("=" "↑") : "⇞"
<dead compose> ("=" "↓") : "⇟"
<dead compose> (":" "←") : "⇠"
<dead compose> (":" "↑") : "⇡"
<dead compose> (":" "→") : "⇢"
<dead compose> (":" "↓") : "⇣"
<dead compose> "|" "←" : "⇤"
<dead compose> "→" "|" : "⇥"
<dead compose> ("←" "⇐") : "⇦"
<dead compose> ("↑" "⇑") : "⇧"
<dead compose> ("→" "⇒") : "⇨"
<dead compose> ("↓" "⇓") : "⇩"
<dead compose> "!" "⇧" : "⇪"
<dead compose> ("_" "⇧") : "⇫"
<dead compose> "⇫" "⇫" : "⇬"
composite("⇫" "^" "⇬")
<dead compose> ("|" ["⇧" "⇫"]) : "⇭"
<dead compose> "⇧" "⇧" : "⇮"
composite("⇧" "^" "⇮")
<dead compose> ("_" "⇮") : "⇯"
<dead compose> "|" "⇨" : "⇰"
<dead compose> "↖" "↖" : "⇱"
<dead compose> "↘" "↘" : "⇲"
<dead compose> ("⇧" "⇩") : "⇳"
<dead compose> ("↕" "⇕") : "⇳"
<dead compose> ("o" "→") : "⇴"
<dead compose> "↓" "↑" : "⇵"
<dead compose> "⇅" "⇅" : "⇵"
<dead compose> "3" "→" : "⇶"
<dead compose> ("|" "←") : "⇷"
<dead compose> ("|" "→") : "⇸"
<dead compose> ("|" "↔") : "⇹"
<dead compose> ("|" "⇷") : "⇺"
<dead compose> ("|" "⇸") : "⇻"
<dead compose> ("|" "⇹") : "⇼"
<shift dead compose> "<" "|" "-" "-" : "⇽"
<shift dead compose> "-" "-" "|" ">" : "⇾"
<shift dead compose> "<" "|" "-" "|" ">" : "⇿"
<dead compose> ("⇽" "⇾") : "⇿"
# Mathematical Operators:
<dead compose> "A" "A" : "∀"
<dead compose> "m" "C" : "∁"
<dead compose> "d" "d" : "∂"
<shift dead compose> "E" "E" : "∃"
<dead compose> ("/" "∃") : "∄"
<dead compose> ("/" "0") : "∅"
<dead compose> "Δ" "Δ" : "∆"
<dead compose> "/" "\\" : "∆"
<dead compose> "\\" "/" : "∇"
<dead compose> "∆" "∆" : "∇"
<dead compose> "∇" "∇" : "∆"
<dead compose> "i" "n" : "∈"
<dead compose> ("/" "∈") : "∉"
<dead compose> ("." "∈") : "∊"
<dead compose> "I" "N" : "∋"
<dead compose> "∈" "∈" : "∋"
<dead compose> "∉" "∉" : "∌"
<dead compose> ("/" "∋") : "∌"
<dead compose> "∊" "∊" : "∍"
<dead compose> ("." "∋") : "∍"
<dead compose> "q" "e" "d" : "∎"
<dead compose> "m" "p" : "∏"
<dead compose> "Π" "Π" : "∏"
<dead compose> "m" "P" : "∐"
<dead compose> "∏" "∏" : "∐"
<dead compose> "m" "s" : "∑"
<dead compose> "Σ" "Σ" : "∑"
<dead compose> "m" "-" : "−"
<dead compose> "-" "+" : "∓"
<dead compose> "." "+" : "∔"
<dead compose> "m" "/" : "∕"
<dead compose> "m" "\\" : "∖"
<dead compose> "m" "*" : "∗"
<dead compose> "m" "o" : "∘"
<dead compose> "m" "O" : "∙"
<dead compose> "m" ["2" .] "r" : "√"
<dead compose> ["m" "2"] "r" : "√"
<dead compose> ["m" .] "3" "r" : "∛"
<dead compose> ["m" .] "4" "r" : "∜"
<dead compose> "0" ["c" "C"] : "∝"
<dead compose> "0" "0" : "∞"
<dead compose> ("m" "L") : "∟"
<dead compose> ("/" "_") : "∠"
<dead compose> ("∠" ")") : "∡"
<dead compose> "∡" "∡" : "∢"
<shift dead compose> ("<" ")") : "∢"
<dead compose> "⦠" "⦠" : "∢"
<dead compose> "1" "|" : "∣"
<dead compose> "/" "1" "|" : "∤"
<dead compose> ("/" "∣") : "∤"
<dead compose> "2" "|" : "∥"
<dead compose> "∣" "∣" : "∥"
<dead compose> "/" "2" "|" : "∦"
<dead compose> ("/" "∥") : "∦"
<dead compose> "m" "&" : "∧"
<dead compose> "∨" "∨" : "∧"
<dead compose> "∧" "∧" : "∨"
<dead compose> "m" "V" : "∨"
<dead compose> "m" "N" : "∩"
<dead compose> "∪" "∪" : "∩"
<dead compose> "∩" "∩" : "∪"
<dead compose> "m" "U" : "∪"
<dead compose> 1 ["s" "ſ"] : "∫"
<dead compose> 2 ["s" "ſ"] : "∬"
<dead compose> "∫" "∫" : "∬"
<shift dead compose> "∫" "∫" : "∭"
<dead compose> ("∫" "∬") : "∭"
<dead compose> "3" ["s" "ſ" "∫"] : "∭"
<dead compose> 1 "o" ["s" "ſ"] : "∮"
<dead compose> 2 "o" ["s" "ſ"] : "∯"
<dead compose> "∮" "∮" : "∯"
<shift dead compose> "∮" "∮" : "∰"
<dead compose> ("∮" "∯") : "∰"
<dead compose> "3" "∮" : "∰"
<dead compose> "3" "o" ["s" "ſ"] : "∰"
<dead compose> ("o" "∫") : "∮"
<dead compose> ("o" "∬") : "∯"
<dead compose> ("o" "∭") : "∰"
<dead compose> (["→" "-"] "∫") : "∱"
<dead compose> ("<" "∮") : "∲"
<dead compose> (">" "∮") : "∳"
<dead compose> ("/" ":") : "∴"
<dead compose> ("\\" ":") : "∵"
<dead compose> ":" <space> : "∶"
<dead compose> ":" ":" : "∷"
<dead compose> "." "-" : "∸"
<dead compose> "-" ":" : "∹"
<shift dead compose> ":" "-" ":" : "∺"
<dead compose> ":" ["~" <dead letter ~>] : "∻"
<dead letter ~> ":" : "∻"
<shift dead compose> ["~" <dead letter ~>] <space> : "∼"
<shift dead compose> <space> ["~" <dead letter ~>] : "∽"
<dead compose> <space> ["~" <dead letter ~>] : "∾"
<shift dead compose> ["~" <dead letter ~>] ["~" <dead letter ~>] : "∿"
<dead letter ~> "|" : "≀"
<dead compose> "|" ["~" <dead letter ~>] : "≀"
<dead letter ~> "/" : "≁"
<dead compose> "/" ["~" <dead letter ~>] : "≁"
<dead compose> "_" ["~" <dead letter ~>] : "≂"
<dead compose> ["~" <dead letter ~>] "_" : "≃"
<dead compose> ("/" "≃") : "≄"
<shift dead compose> "=" ["~" <dead letter ~>] : "≅"
<dead letter ~> "≠" : "≆"
<shift dead compose> "=" ["~" <dead letter ~>] : "≇"
<dead compose> "/" "≅" : "≇"
<dead letter ~> "=" : "≈"
<dead letter ~> "/" "=" : "≉"
<dead compose> ("/" "≈") : "≉"
<dead compose> ["≈" "_"] : "≊"
<dead letter ~> "_" "=" : "≊"
<dead compose> "≈" ["~" <dead letter ~>] : "≋"
<dead compose> "=" ["~" <dead letter ~>] : "≌"
<shift dead compose> (")" "(") : "≍"
<dead compose> "≍" "≍" : "≎"
<dead compose> ("_" "≎") : "≏"
<shift dead compose> ("." "=") : "≐"
<shift dead compose> (":" "=") : "≑"
<shift dead compose> (":" "\\") "=" : "≒"
<shift dead compose> (":" "/") "=" : "≓"
<dead compose> ":" "=" : "≔"
<dead compose> "=" ":" : "≕"
<dead compose> "=" "o" : "≖"
<dead compose> "o" "=" : "≗"
<dead compose> ("°" "=") : "≗"
<dead compose> ("(" "=") : "≘"
<dead compose> ("∧" "=") : "≙"
<dead compose> ("∨" "=") : "≚"
<dead compose> (["*" "⋆"] "=") : "≛"
<dead compose> ("Δ" "=") : "≜"
<dead compose> ("∆" "=") : "≜"
<dead compose> ("d" "=") : "≝"
<dead compose> ("m" "=") : "≞"
<dead compose> ("?" "=") : "≟"
<dead compose> ("/" "=") : "≠"
<dead compose> "=" "_" : "≡"
<dead compose> ("/" "≡") : "≢"
<dead compose> "=" "=" : "≣"
<dead compose> ("_" "<") : "≤"
<dead compose> ("_" ">") : "≥"
<dead compose> ("=" "<") : "≦"
<dead compose> ("=" ">") : "≧"
<dead compose> ("≠" "<") : "≨"
<dead compose> ("≠" ">") : "≩"
<shift dead compose> "<" "<" <space> : "≪"
<shift dead compose> ">" ">" <space> : "≫"
<dead compose> ("(" ")") : "≬"
<shift dead compose> "/" (")" "(") : "≭"
<dead compose> ("/" "≍") : "≭"
<dead compose> ("/" "<") : "≮"
<dead compose> ("/" ">") : "≯"
<dead compose> ("/" "≤") : "≰"
<dead compose> ("/" "≥") : "≱"
<dead compose> "<" ["~" <dead letter ~>] : "≲"
<dead compose> ">" ["~" <dead letter ~>] : "≳"
<dead compose> ("/" "≲") : "≴"
<dead compose> ("/" "≳") : "≵"
<dead compose> "<" ">" : "≶"
<dead compose> ">" "<" : "≷"
<dead compose> ("/" "≶") : "≸"
<dead compose> ("/" "≷") : "≹"
<shift dead compose> (["(" ")"] "<") : "≺"
<shift dead compose> (["(" ")"] ">") : "≻"
<dead compose> ("_" "≺") : "≼"
<shift dead compose> (["(" ")"] "_") "<" : "≼"
<dead compose> ("_" "≻") : "≽"
<shift dead compose> (["(" ")"] "_") ">" : "≽"
<dead letter ~> "≺" : "≾"
<dead compose> "≺" ["~" <dead letter ~>] : "≾"
<dead letter ~> "≻" : "≿"
<dead compose> "≻" ["~" <dead letter ~>] : "≿"
<dead compose> ("/" "≺") : "⊀"
<shift dead compose> (["(" ")"] "/") "<" : "⊀"
<dead compose> ("/" "≻") : "⊁"
<shift dead compose> (["(" ")"] "/") ">" : "⊁"
<shift dead compose> ("U" "<") : "⊂"
<shift dead compose> ("U" ">") : "⊃"
<dead compose> ("/" "⊂") : "⊄"
<shift dead compose> ("U" "/") "<" : "⊄"
<dead compose> ("/" "⊃") : "⊅"
<shift dead compose> ("U" "/") ">" : "⊅"
<dead compose> ("_" "⊂") : "⊆"
<shift dead compose> ("U" "_") "<" : "⊆"
<dead compose> ("_" "⊃") : "⊇"
<shift dead compose> ("U" "_") ">" : "⊇"
<dead compose> ("_" "/") "⊂" : "⊈"
<dead compose> ("/" "⊆") : "⊈"
<dead compose> ("_" "/") "⊃" : "⊉"
<dead compose> ("/" "⊇") : "⊉"
<shift dead compose> ("/" "_" "⊂") : "⊊"
<shift dead compose> ("/" "_" "⊃") : "⊋"
<dead compose> ("←" "∪") : "⊌"
<dead compose> (["." "⋅"] "∪") : "⊍"
<dead compose> ("+" "∪") : "⊎"
<dead compose> (["[" "]"] "<") : "⊏"
<dead compose> (["[" "]"] ">") : "⊐"
<dead compose> ("_" "⊏") : "⊑"
<dead compose> "_" (["[" "]"] "<") : "⊑"
<dead compose> ("_" "⊐") : "⊒"
<dead compose> "_" (["[" "]"] ">") : "⊒"
<dead compose> ["[" "]"] ["∧" "∩"] : "⊓"
<dead compose> ["[" "]"] ["∨" "∪"] : "⊔"
<shift dead compose> "(" "+" ")" : "⊕"
<shift dead compose> (["o" "O"] "+") : "⊕"
<shift dead compose> "(" ["-" "−"] ["-" "−"] ")" : "⊖"
<shift dead compose> ["o" "O"] ["-" "−"] ["-" "−"] : "⊖"
<shift dead compose> ["-" "−"] ["-" "−"] ["o" "O"] : "⊖"
<shift dead compose> "(" ["x" "X" "×"] ")" : "⊗"
<shift dead compose> (["o" "O"] ["x" "X" "×"]) : "⊗"
<shift dead compose> "(" "/" ")" : "⊘"
<shift dead compose> (["o" "O"] "/") : "⊘"
<shift dead compose> "(" ["." "⋅"] ")" : "⊙"
<shift dead compose> (["o" "O"] ["." "⋅"]) : "⊙"
<shift dead compose> "(" "o" ")" : "⊚"
<shift dead compose> (["o" "O"] "o") : "⊚"
<shift dead compose> "(" "*" ")" : "⊛"
<shift dead compose> (["o" "O"] "*") : "⊛"
<shift dead compose> "(" "=" ")" : "⊜"
<shift dead compose> (["o" "O"] "=") : "⊜"
<shift dead compose> "(" ["-" "−"] ")" : "⊝"
<shift dead compose> (["o" "O"] ["-" "−"]) : "⊝"
<shift dead compose> "[" "+" "]" : "⊞"
<shift dead compose> "[" ["-" "−"] "]" : "⊟"
<shift dead compose> "[" ["x" "X" "×"] "]" : "⊠"
<shift dead compose> "[" ["." "⋅"] "]" : "⊡"
<shift dead compose> "|" "-" "-" <space> : "⊢"
<shift dead compose> "-" "-" "|" <space> : "⊣"
<dead compose> "_" "|" : "⊤"
<dead compose> "⊥" "⊥" : "⊤"
<dead compose> "|" "_" : "⊥"
<dead compose> "⊤" "⊤" : "⊥"
<shift dead compose> "|" "-" <space> : "⊦"
<shift dead compose> "|" "=" <space> : "⊧"
<shift dead compose> "|" "=" "=" <space> : "⊨"
<shift dead compose> "|" "|" "-" <space> : "⊩"
<shift dead compose> "|" "|" "|" "-" <space> : "⊪"
<shift dead compose> "|" "|" "=" <space> : "⊫"
<shift dead compose> "/" "|" "-" "-" <space> : "⊬"
<shift dead compose> "|" "-" "-" "/" : "⊬"
<dead compose> ("/" "⊢") : "⊬"
<shift dead compose> "/" "|" "=" "=" <space> : "⊭"
<shift dead compose> "|" "=" "=" "/" : "⊭"
<dead compose> ("/" "⊨") : "⊭"
<shift dead compose> "/" "|" "|" "-" <space> : "⊮"
<shift dead compose> "|" "|" "-" "/" : "⊮"
<dead compose> ("/" "⊩") : "⊮"
<shift dead compose> "/" "|" "|" "=" <space> : "⊯"
<shift dead compose> "|" "|" "=" "/" : "⊯"
<dead compose> ("/" "⊫") : "⊯"
<dead compose> ("≺" ["(" ")"]) : "⊰"
<dead compose> ("≻" ["(" ")"]) : "⊱"
<dead compose> "<" "|" : "⊲"
<dead compose> "|" ">" : "⊳"
<dead compose> "_" "<" "|" : "⊴"
<dead compose> "_" "|" ">" : "⊵"
<dead compose> ("_" "⊲") : "⊴"
<dead compose> ("_" "⊳") : "⊵"
<shift dead compose> "o" "-" "." : "⊶"
<dead compose> "⊷" "⊷" : "⊶"
<shift dead compose> "." "-" "o" : "⊷"
<dead compose> "⊶" "⊶" : "⊷"
<shift dead compose> "-" "o" : "⊸"
<dead compose> "⟜" "⟜" : "⊸"
<dead compose> ("⊶" "⊷") : "⊸"
<shift dead compose> "-" ["|" "¦"] "-" : "⊹"
<dead compose> "m" "T" : "⊺"
<dead compose> ("_" "∨") : "⊻"
<dead compose> ("/" ["∧" "&"]) : "⊼"
<dead compose> ("/" "∨") : "⊽"
<dead compose> (["L" "∟"] ")") : "⊾"
<dead compose> "∠" "|" : "⊿"
<dead compose> "M" "&" : "⋀"
<dead compose> "⋁" "⋁" : "⋀"
<dead compose> "⋀" "⋀" : "⋁"
<dead compose> "M" "V" : "⋁"
<dead compose> "M" "N" : "⋂"
<dead compose> "⋃" "⋃" : "⋂"
<dead compose> "⋂" "⋂" : "⋃"
<dead compose> "M" "U" : "⋃"
<shift dead compose> "M" "." : "⋄"
<shift dead compose> "m" "." : "⋅"
<dead compose> "m" "*" : "⋆"
<dead compose> ("÷" "×") : "⋇"
<dead compose> ("⋉" "⋊") : "⋈"
<shift dead compose> "|" ["X" "x"] "|" : "⋈"
<dead compose> "|" ["X" "x"] : "⋉"
<dead compose> ["X" "x"] "|" : "⋊"
<shift dead compose> (">" "\\") : "⋋"
<shift dead compose> (">" "/") : "⋌"
<dead compose> ("_" "∽") : "⋍"
<shift dead compose> (["(" ")"] "∧") : "⋎"
<shift dead compose> (["(" ")"] "∨") : "⋏"
<dead compose> "⊂" "⊂" : "⋐"
<dead compose> "⊃" "⊃" : "⋑"
<shift dead compose> "∩" "∩" : "⋒"
<shift dead compose> "∪" "∪" : "⋓"
<dead compose> ("∩" "|") : "⋔"
<dead compose> "#" "#" : "⋕"
<shift dead compose> ("|" "=") : "⋕"
<dead compose> "<" "." : "⋖"
<dead compose> "." ">" : "⋗"
<dead compose> "<" "<" "<" : "⋘"
<dead compose> ">" ">" ">" : "⋙"
<dead compose> "≤" "≥" : "⋚"
<dead compose> ("≶" ["-" "_"]) : "⋚"
<dead compose> "≥" "≤" : "⋛"
<dead compose> ("≷" ["-" "_"]) : "⋛"
<shift dead compose> ("_" "<") : "⋜"
<shift dead compose> ("_" ">") : "⋝"
<shift dead compose> ("_" "≺") : "⋞"
<shift dead compose> ("_" "≻") : "⋟"
<shift dead compose> (["(" ")"] "/" "_") "<" : "⋠"
<dead compose> ("/" "≼") : "⋠"
<shift dead compose> (["(" ")"] "/" "_") ">" : "⋡"
<dead compose> ("/" "≽") : "⋡"
<dead compose> ("/" "⊑") : "⋢"
<dead compose> ("/" "⊒") : "⋣"
<dead compose> ("/" "⊏") : "⋤"
<dead compose> ("/" "⊐") : "⋥"
<dead compose> ("≁" "<") : "⋦"
<dead compose> ("≁" ">") : "⋧"
<dead compose> ("≁" "≺") : "⋨"
<dead compose> ("≁" "≻") : "⋩"
<dead compose> ("/" "⊲") : "⋪"
<dead compose> ("/" "⊳") : "⋫"
<dead compose> ("/" "⊴") : "⋬"
<dead compose> ("/" "⊵") : "⋭"
<shift dead compose> "." "|" : "⋮"
<shift dead compose> "." "-" : "⋯"
<shift dead compose> "." "/" : "⋰"
<shift dead compose> "." "\\" : "⋱"
<shift dead compose> ("C" "-") : "⋲"
<dead compose> "⋲" "|" : "⋳"
<dead compose> "." "⋳" : "⋴"
<dead compose> "." "⋲" : "⋵"
<shift dead compose> ("_" ["⋲" "⋳"]) : "⋶"
[<dead compose> <shift dead compose>] ("_" "⋴") : "⋷"
<shift dead compose> ("." ["⋶" "⋶"]) : "⋷"
<dead compose> ("_" ["⋲" "⋳"]) : "⋸"
<dead compose> "⋽" "⋽" : "⋸"
<shift dead compose> ("C" "=") : "⋹"
<dead compose> "€" "€" : "⋹"
<dead compose> (["-" "="] ["⋲" "⋳"]) : "⋹"
<dead compose> "⋲" "⋲" : "⋺"
<dead compose> "⋳" "⋳" : "⋻"
<dead compose> "⋴" "⋴" : "⋼"
<dead compose> ("." ["⋺" "⋻"]) : "⋼"
<dead compose> "⋸" "⋸" : "⋽"
[<dead compose> <shift dead compose>] ("_" ["⋺" "⋻"]) : "⋽"
<dead compose> ("." "⋽") : "⋾"
<dead compose> "⋷" "⋷" : "⋾"
[<dead compose> <shift dead compose>] ("_" "⋼") : "⋾"
<dead compose> "∃" "∃" : "⋿"
# TODO Miscellaneous Technical
# TODO Control Pictures
# TODO Optical Character Recognition
# Enclosed Alphanumerics:
for "1" to "9" as \1
<dead compose> "(" "\1" ")" : "\add(\u2460 \sub(\1 "1"))"
<dead compose> "(" <space> "\1" [" " .] ")" : "\add(\u2474 \sub(\1 "1"))"
<dead compose> "(" "\1" <space> ")" : "\add(\u2474 \sub(\1 "1"))"
<dead compose> "\1" "." : "\add(\u2488 \sub(\1 "1"))"
end for
for "0" to "9" as \1
<dead compose> "(" "1" "\1" ")" : "\add(\u2469 \sub(\1 "0"))"
<dead compose> "(" <space> "1" "\1" [" " .] ")" : "\add(\u247D \sub(\1 "0"))"
<dead compose> "(" "1" "\1" <space> ")" : "\add(\u247D \sub(\1 "0"))"
<dead compose> "1" "\1" "." : "\add(\u2491 \sub(\1 "0"))"
end for
<dead compose> "(" "2" "0" ")" : "\u2473"
<dead compose> "(" <space> "2" "0" [" " .] ")" : "\u2487"
<dead compose> "(" "2" "0" <space> ")" : "\u2473"
<dead compose> "2" "0" "." : "\u2498"
for "a" to "z" as \1
<dead compose> "(" <space> "\1" [" " .] ")" : "\add(\u249C \sub(\1 "a"))"
<dead compose> "(" "\1" <space> ")" : "\add(\u249C \sub(\1 "a"))"
end for
for "A" to "Z" as \1
<dead compose> "(" "\1" ")" : "\add(\u24B6 \sub(\1 "A"))"
end for
for "a" to "z" as \1
<dead compose> "(" "\1" ")" : "\add(\u24D0 \sub(\1 "a"))"
end for
<dead compose> "(" "0" ")" : "\u24EA"
for "1" to "9" as \1
<shift dead compose> "(" "(" "(" "1" "\1" ")" ")" ")" : "\add(\u24EB \sub(\1 "1"))"
end for
<shift dead compose> "(" "(" "(" "2" "0" ")" ")" ")" : "\u24F4"
for "1" to "9" as \1
<shift dead compose> "(" "(" "\1" ")" ")" : "\add(\u24F5 \sub(\1 "1"))"
end for
<shift dead compose> "(" "(" "1" "0" ")" ")" : "\u24FE"
<shift dead compose> "(" "(" "(" "0" ")" ")" ")" : "\u24FF"
# Box Drawing:
<dead compose> ("╴" "╶") : "─"
<dead compose> ("╸" "╺") : "━"
<shift dead compose> "b" "-" : "─"
<shift dead compose> "B" "-" : "━"
<shift dead compose> "b" "|" : "│"
<shift dead compose> "B" "|" : "┃"
<shift dead compose> "b" "." "-" : "┄"
<shift dead compose> "B" "." "-" : "┅"
<dead compose> "┄" "┄" : "┅"
<shift dead compose> "b" "." "|" : "┆"
<shift dead compose> "B" "." "|" : "┇"
<dead compose> "┆" "┆" : "┇"
<shift dead compose> "b" ":" "-" : "┈"
<shift dead compose> "B" ":" "-" : "┉"
<dead compose> "┈" "┈" : "┉"
<shift dead compose> "b" ":" "|" : "┊"
<shift dead compose> "B" ":" "|" : "┋"
<dead compose> "┊" "┊" : "┋"
macro boxes/2
let \3 : {
3 48 12 192 999 999 999 999 999 999 999 999 10 40 130 160
9 24 129 144 6 36 66 96 5 20 65 80 14 44 74 132
194 104 164 224 13 28 73 133 193 88 146 208 11 26 41 56
131 146 161 176 7 22 37 52 67 82 97 112 15 30 45 60
75 135 195 90 105 150 165 120 180 210 225 240 999 999 999 999
999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999
999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999
999 999 999 999 1 4 2 8 16 64 32 128 33 132 18 40
}
let \4 : \get(3 \1)
let \5 : \get(3 \2)
if \or(\equals(\4 999) \equals(\5 999))
return
end if
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) \8))))
\set(5 \8 \add(\rsh(\get(5 \8) \8) \mul(2 \rsh(\get(7 \8) \8))))
\set(4 \8 \add(\get(4 \8) \get(4 \8)))
if \greater(\get(4 \8) 2)
\set(4 \8 2)
end if
end for
for 0 to 127 as \9
let \6 : \get(3 \9)
if \equals(\6 999)
continue
end if
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) \8))))
end for
if \equals(\get(6 0) \get(4 0))
if \equals(\get(6 1) \get(4 1))
if \equals(\get(6 2) \get(4 2))
if \equals(\get(6 3) \get(4 3))
<dead compose> ("\add(\u2500 \1)" "\add(\u2500 \2)") : "\add(\u2500 \9)"
end if
end if
end if
end if
end for
end macro
for 0 to 127 as \1
for \1 to 127 as \2
boxes(\1 \2)
end for
end for
<shift dead compose> "b" "+" : "┼"
<shift dead compose> "B" "+" : "╋"
<dead compose> (["-" "─"] ["|" "│"]) : "┼"
<shift dead compose> "b" "." "." : "╌"
<shift dead compose> "B" "." "." : "╍"
<dead compose> "╌" "╌" : "╍"
<shift dead compose> "b" "¦" : "╎"
<shift dead compose> "b" "." ":" : "╎"
<shift dead compose> "B" "¦" : "╏"
<shift dead compose> "B" "." ":" : "╏"
<dead compose> "╎" "╎" : "╏"
<shift dead compose> "b" "=" "-" : "═"
<dead compose> ("=" "─") : "═"
<shift dead compose> "b" "=" "|" : "║"
<dead compose> ("=" "│") : "║"
<dead compose> ("+" "┍") : "╒"
<dead compose> ("+" "┎") : "╓"
<dead compose> ("+" ["┌" "┏"]) : "╔"
<dead compose> ("+" "┑") : "╕"
<dead compose> ("+" "┒") : "╖"
<dead compose> ("+" ["┐" "┓"]) : "╗"
<dead compose> ("+" "┕") : "╘"
<dead compose> ("+" "┖") : "╙"
<dead compose> ("+" ["└" "┗"]) : "╚"
<dead compose> ("+" "┙") : "╛"
<dead compose> ("+" "┚") : "╜"
<dead compose> ("+" ["┘" "┛"]) : "╝"
<dead compose> ("+" "┝") : "╞"
<dead compose> ("+" "┠") : "╟"
<dead compose> ("+" ["├" "┣"]) : "╠"
<dead compose> ("+" "┥") : "╡"
<dead compose> ("+" "┨") : "╢"
<dead compose> ("+" ["┤" "┫"]) : "╣"
<dead compose> ("+" "┯") : "╤"
<dead compose> ("+" "┰") : "╥"
<dead compose> ("+" ["┬" "┳"]) : "╦"
<dead compose> ("+" "┷") : "╧"
<dead compose> ("+" "┸") : "╨"
<dead compose> ("+" ["┴" "┻"]) : "╩"
<dead compose> ("+" "┿") : "╪"
<dead compose> ("+" "╂") : "╫"
<dead compose> ("+" ["┼" "╋"]) : "╬"
<shift dead compose> "b" "=" "+" : "╬"
<dead compose> ("=" "┼") : "╬"
<dead compose> (["o" "O"] "┌") : "╭"
<dead compose> (["o" "O"] "┐") : "╮"
<dead compose> (["o" "O"] "┘") : "╯"
<dead compose> (["o" "O"] "└") : "╰"
<shift dead compose> "b" "/" : "╱"
<shift dead compose> "b" "\\" : "╲"
<dead compose> ("╱" "╲") : "╳"
<shift dead compose> "b" "X" : "╳"
<shift dead compose> "b" ["<" "←"] : "╴"
<shift dead compose> "b" [<dead letter ^> "^" "↑"] : "╵"
<shift dead compose> "b" [">" "→"] : "╶"
<shift dead compose> "b" ["v" "," "↓"] : "╷"
<shift dead compose> "B" ["<" "←"] : "╸"
<shift dead compose> "B" [<dead letter ^> "^" "↑"] : "╹"
<shift dead compose> "B" [">" "→"] : "╺"
<shift dead compose> "B" ["v" "," "↓"] : "╻"
# Block Elements:
<shift dead compose> "B" <dead compose> : <dead letter █>
dead_ascii("█")
<dead letter █> "|" : <dead letter ▀>
dead_ascii("▀")
<dead letter ▀> "0" : "▀"
<dead letter ▀> "1" : "▁"
<dead letter ▀> "2" : "▂"
<dead letter ▀> "3" : "▃"
<dead letter ▀> "4" : "▄"
<dead letter ▀> "5" : "▅"
<dead letter ▀> "6" : "▆"
<dead letter ▀> "7" : "▇"
<dead letter █> "-" : <dead letter ▐>
dead_ascii("▐")
<dead letter ▐> "7" : "▉"
<dead letter ▐> "6" : "▊"
<dead letter ▐> "5" : "▋"
<dead letter ▐> "4" : "▌"
<dead letter ▐> "3" : "▍"
<dead letter ▐> "2" : "▎"
<dead letter ▐> "1" : "▏"
<dead letter ▐> "0" : "▐"
<dead letter █> "1" : "░"
<dead letter █> "2" : "▒"
<dead letter █> "3" : "▓"
<dead letter ▀> "-" : "▔"
<dead letter ▐> "|" : "▕"
<dead letter █> "," : "▖"
<dead letter █> "." : "▗"
<dead letter █> ";" : "▘"
<dead letter █> "▝" : "▙"
<dead compose> "▗" "▘" : "▚"
<dead letter █> "▗" : "▛"
<dead letter █> "▖" : "▜"
<dead letter █> ":" : "▝"
<dead compose> "▖" "▝" : "▞"
<dead letter █> "▘" : "▟"
# Geometric Shapes:
<dead compose> "□" "□" : "■"
<shift dead compose> "s" "[" "]" :"□"
<dead compose> "(" "□" ")" : "▢"
<dead compose> ("■" "□") : "▣"
<dead compose> ("-" "□") : "▤"
<dead compose> ("|" "□") : "▥"
<dead compose> ("+" "□") : "▦"
<dead compose> ("\\" "□") : "▧"
<dead compose> ("/" "□") : "▨"
<dead compose> (["x" "X"] "") : "▩"
<dead compose> "." "◾" : "▪"
<dead compose> "." "◽" : "▫"
<dead compose> "▭" "▭" : "▬"
<dead compose> "-" "■" : "▬"
<dead compose> "-" "□" : "▭"
<shift dead compose> "-" "[" "]" : "▭"
<dead compose> "▯" "▯" : "▮"
<dead compose> "|" "■" : "▮"
<dead compose> "|" "□" : "▯"
<shift dead compose> "|" "[" "]" : "▯"
<dead compose> "▱" "▱" : "▰"
<dead compose> "/" "■" : "▰"
<dead compose> "/" "□" : "▱"
<shift dead compose> "/" "[" "]" : "▱"
<dead compose> "△" "△" : "▲"
<shift dead compose> "s" "⇑" : "▲"
<shift dead compose> "s" "↑" : "△"
<dead compose> "▵" "▵" : "▴"
<dead compose> "." "▲" : "▴"
<dead compose> "." "△" : "▵"
<dead compose> "▷" "▷" : "▶"
<shift dead compose> "s" "⇒" : "▶"
<shift dead compose> "s" "→" : "▷"
<dead compose> "▹" "▹" : "▸"
<dead compose> "." "▶" : "▸"
<dead compose> "." "▷" : "▹"
<dead compose> "▻" "▻" : "►"
<dead compose> "-" "▶" : "►"
<dead compose> "-" "▷" : "▻"
<dead compose> "▽" "▽" : "▼"
<shift dead compose> "s" "⇓" : "▼"
<shift dead compose> "s" "↓" : "▽"
<dead compose> "▿" "▿" : "▾"
<dead compose> "." "▼" : "▾"
<dead compose> "." "▽" : "▿"
<dead compose> "◁" "◁" : "◀"
<shift dead compose> "s" "⇐" : "◀"
<shift dead compose> "s" "←" : "◁"
<dead compose> "◃" "◃" : "◂"
<dead compose> "." "◀" : "◂"
<dead compose> "." "◁" : "◃"
<dead compose> "◅" "◅" : "◄"
<dead compose> "-" "◀" : "◄"
<dead compose> "-" "◁" : "◅"
<dead compose> "◇" "◇" : "◆"
<dead compose> "◀" "▶" : "◆"
<dead compose> "◁" "▷" : "◇"
<dead compose> ("◆" "◇") : "◈"
<dead compose> ("●" "○") : "◉"
<shift dead compose> "s" "<" ">" : "◊"
<shift dead compose> "s" "(" ")" : "○"
<dead compose> "." "◯" : "○"
<dead compose> "○" "." : "◌"
<dead compose> "○" "|" : "◍"
<dead compose> ("○" "o") : "◎"
<dead compose> "○" "○" : "●"
<dead compose> ("◖" "○") : "◐"
<dead compose> ("◗" "○") : "◑"
<dead compose> "◑" "◑" : "◒"
<dead compose> "◓" "◓" : "◒"
<dead compose> "◐" "◐" : "◓"
<dead compose> "◒" "◒" : "◓"
<dead compose> "◷" "◷" : "◔"
<dead compose> "◴" "◴" : "◕"
<shift dead compose> "s" "(" "|" : "◖"
<shift dead compose> "s" "|" ")" : "◗"
<dead compose> ("■" "◦") : "◘"
<dead compose> ("■" ["◯" "○"]) : "◙"
<dead compose> ("◚" "◛") : "◙"
<dead compose> ("■" ["◠" "◜" "◝"]) : "◚"
<dead compose> ("■" ["◡" "◟" "◞"]) : "◛"
<dead compose> (["◯" "○"] "↖") : "◜"
<dead compose> (["◯" "○"] "↗") : "◝"
<dead compose> (["◯" "○"] "↘") : "◞"
<dead compose> (["◯" "○"] "↙") : "◟"
<dead compose> (["◯" "○"] "↑") : "◠"
<dead compose> ("◜" "◝") : "◠"
<dead compose> (["◯" "○"] "↓") : "◡"
<dead compose> ("◟" "◞") : "◡"
<shift dead compose> "s" "⇘" : "◢"
<dead compose> "◿" "◿" : "◢"
<shift dead compose> "s" "⇙" : "◣"
<dead compose> "◺" "◺" : "◣"
<shift dead compose> "s" "⇖" : "◤"
<dead compose> "◸" "◸" : "◤"
<shift dead compose> "s" "⇗" : "◥"
<dead compose> "◹" "◹" : "◥"
<dead compose> "." "○" : "◦"
<dead compose> (["□" "◻" "◽"] ["←" "⇐"]) : "◧"
<dead compose> (["□" "◻" "◽"] ["→" "⇒"]) : "◨"
<dead compose> ("◿" "◤") : "◩"
<dead compose> (["□" "◻" "◽"] "◤") : "◩"
<dead compose> ("◸" "◢") : "◪"
<dead compose> (["□" "◻" "◽"] "◢") : "◪"
<dead compose> "[" "|" "]" : "◫"
<dead compose> "◿" ["." .] "◺" : "◬"
<dead compose> "" "◺" : "◭"
<dead compose> "⧨" "⧨" : "◭"
<dead compose> "◿" "" : "◮"
<dead compose> "⧩" "⧩" : "◮"
<dead compose> "+" "○" : "◯"
<dead compose> ("◜" "◟") : "◯"
<dead compose> ("◝" "◞") : "◯"
<dead compose> ("◠" "◡") : "◯"
<dead compose> ("◴" ["□" "◻"]) : "◰"
<dead compose> ("◵" ["□" "◻"]) : "◱"
<dead compose> ("◶" ["□" "◻"]) : "◲"
<dead compose> ("◷" ["□" "◻"]) : "◳"
<dead compose> ("○" "◜") : "◴"
<dead compose> ("○" "◟") : "◵"
<dead compose> ("○" "◞") : "◶"
<dead compose> ("○" "◝") : "◷"
<shift dead compose> "s" "↖" : "◸"
<shift dead compose> "s" "↗" : "◹"
<shift dead compose> "s" "↙" : "◺"
<dead compose> "." "□" : "◻"
<dead compose> "." "■" : "◼"
<dead compose> "◻" "◻" : "◼"
<dead compose> "." "◻" : "◽"
<dead compose> "◽" "◽" : "◾"
<dead compose> "." "◼" : "◾"
<shift dead compose> "s" "↘" : "◿"
# TODO Miscellaneous Symbols
# TODO Dingbats
# Miscellaneous Mathematical Symbols-A:
<shift dead compose> "L" "/" : "⟀"
<shift dead compose> ["Δ" "∆"] ["Δ" "∆"] : "⟁"
<shift dead compose> "!" "|" : "⟂"
<dead compose> ("⊂" "o") : "⟃"
<dead compose> ("⊃" "o") : "⟄"
<dead compose> "⟆" "⟆" : "⟅"
<shift dead compose> (["~" <dead letter ~>] ["L" "l"]) : "⟅"
<shift dead compose> (["~" <dead letter ~>] ["J" "j"]) : "⟆"
<dead compose> "⟅" "⟅" : "⟆"
<dead compose> ("∨" ".") : "⟇"
<dead compose> "⟑" "⟑" : "⟇"
<dead compose> "\\" "⊂" : "⟈"
<dead compose> "⊃" "/" : "⟉"
<dead compose> ("⸠" "⸡") : "⟊"
<shift dead compose> "/" "/" : "⟋"
<shift dead compose> (")" "7") : "⟌"
<shift dead compose> "\\" "\\" : "⟍"
<dead compose> "[" "∧" "]" : "⟎"
<dead compose> "[" "∨" "]" : "⟏"
<shift dead compose> "<" "." ">" : "⟐"
<dead compose> ("∧" ".") : "⟑"
<dead compose> "⟇" "⟇" : "⟑"
<dead compose> "⫙" "⫙" : "⟒"
<dead compose> ("∪" "|") : "⟒"
<dead compose> "⟔" "⟔" : "⟓"
<shift dead compose> "_" "." "|" : "⟓"
<shift dead compose> "|" "." "_" : "⟔"
<dead compose> "⟓" "⟓" : "⟔"
<dead compose> "=" "⨝" : "⟕"
<dead compose> "=" "⊳" : "⟕"
<dead compose> "⟖" "⟖" : "⟕"
<dead compose> "⊲" "=" : "⟖"
<dead compose> "⨝" "=" : "⟖"
<dead compose> "⟕" "⟕" : "⟖"
<dead compose> "⨝" "⨝" : "⟗"
<dead compose> "⟕" "⟖" : "⟗"
<shift dead compose> "=" "⨝" "=" : "⟗"
<dead letter ^> "⟘" : "⟘"
<dead compose> "⟙" "⟙" : "⟘"
<dead letter ^> "⟙" : "⟙"
<dead compose> "⟘" "⟘" : "⟙"
<dead compose> "⫤" "⊨" : "⟚"
<dead compose> "⊣" "⊢" : "⟛"
<shift dead compose> "o" "-" <space> : "⟜"
<dead compose> "⊸" "⊸" : "⟜"
<shift dead compose> "|" "-" "-" "-" : "⟝"
<dead compose> "⊢" "-" : "⟝"
<shift dead compose> "-" "-" "-" "|" : "⟞"
<dead compose> "-" "⊣" : "⟞"
<dead compose> "⫱" "⫱" : "⟟"
<shift dead compose> "o" "|" "-" : "⟟"
<dead compose> ("-" "⫯") : "⟟"
<shift dead compose> "<" "-" ">" : "⟠"
<shift dead compose> "." "<" ">" : "⟡"
<shift dead compose> "-" "<" ">" : "⟢"
<dead compose> "-" "⟡" : "⟢"
<dead compose> "⟣" "⟣" : "⟢"
<shift dead compose> "<" ">" "-" : "⟣"
<dead compose> "⟡" "-" : "⟣"
<dead compose> "⟢" "⟢" : "⟣"
<shift dead compose> "-" "[" "]" : "⟤"
<dead compose> "⟥" "⟥" : "⟤"
<shift dead compose> "[" "]" "-" : "⟥"
<dead compose> "⟤" "⟤" : "⟥"
<dead compose> "[" "[" : "⟦"
<dead compose> "]" "]" : "⟧"
<dead compose> "<" "⟨" : "⟨"
<dead compose> ")" ">" : "⟩"
<dead compose> "⟨" "⟨" : "⟪"
<dead compose> "⟩" "⟩" : "⟫"
<dead compose> "(" "|" : "⟬"
<dead compose> "|" ")" : "⟭"
<dead compose> "|" "(" : "⟮"
<dead compose> ")" "|" : "⟯"
# Supplemental Arrows-A:
<dead compose> "⤊" "⤊" : "⟰"
<dead compose> "⤋" "⤋" : "⟱"
<dead compose> ("↶" ["O" "o"]) : "⟲"
<dead compose> "↺" "↺" : "⟲"
<dead compose> ("↷" ["O" "o"]) : "⟳"
<dead compose> "↻" "↻" : "⟳"
<dead compose> ("O" "→") : "⟴"
<dead compose> "⇴" "⇴" : "⟴"
<dead compose> ("|" "⇴") : "⟴"
<dead compose> "←" "-" : "⟵"
<dead compose> "-" "→" : "⟶"
<dead compose> "⟵" "⟶" : "⟷"
<dead compose> "⇐" "=" : "⟸"
<dead compose> "=" "⇒" : "⟹"
<dead compose> "⟸" "⟹" : "⟺"
<dead compose> "↤" "↤" : "⟻"
<dead compose> "⟵" "|" : "⟻"
<dead compose> "↦" "↦" : "⟼"
<dead compose> "|" "⟶" : "⟼"
<dead compose> "⟸" "|" : "⟽"
<dead compose> "|" "⟹" : "⟾"
<dead compose> "⇝" "⇝" : "⟿"
<dead compose> "←" "|" : "↤"
<dead compose> ("-" "↑") : "↥"
<dead compose> "|" "→" : "↦"
# Braille Patterns:
function braille/1
\or(\lsh(1 \sub("\1" "0")) "\u2800")
end function
macro braille_double/1
let \2 : "\u2800"
if \and(\1 1)
let \2 : \or(\2 8)
end if
if \and(\1 2)
let \2 : \or(\2 16)
end if
if \and(\1 4)
let \2 : \or(\2 32)
end if
if \and(\1 8)
let \2 : \or(\2 1)
end if
if \and(\1 16)
let \2 : \or(\2 2)
end if
if \and(\1 32)
let \2 : \or(\2 4)
end if
if \and(\1 64)
let \2 : \or(\2 128)
end if
if \and(\1 128)
let \2 : \or(\2 64)
end if
<dead compose> "\1" "\1" : "\or(\1 \2)"
end macro
<shift dead compose> "b" <space> : "\u2800"
for "1" to "8" as \1
<shift dead compose> "b" "\1" : "\braille(\1)"
for \add(\1 1) to "8" as \2
<shift dead compose> "B" ("\1" "\2") : "\or(\braille(\1) \braille(\2))"
end for
end for
for "\u2800" to "\u28FF" as \1
braille_double(\1)
for \add(\1 1) to "\u28FF" as \2
<dead compose> ("\1" "\2") : "\or(\1 \2)"
end for
end for
# Supplemental Arrows-B:
<shift dead compose> "|" "↠" : "⤀"
<shift dead compose> "|" "⤀" : "⤁"
<shift dead compose> "|" "⇐" : "⤂"
<shift dead compose> "|" "⇒" : "⤃"
<shift dead compose> "|" "⇔" : "⤄"
<dead compose> "⤂" "⤃" : "⤄"
<dead compose> "|" "↠" : "⤅"
<dead compose> "⇐" "|" : "⤆"
<dead compose> "|" "⇒" : "⤇"
<shift dead compose> "-" "↓" : "⤈"
<shift dead compose> "-" "↑" : "⤉"
<dead compose> "⇑" "⇑" : "⤊"
<dead compose> "⇓" "⇓" : "⤋"
<dead compose> ("¦" "←") : "⤌"
<dead compose> ("¦" "→") : "⤍"
<dead compose> ("." "←") : "⤎"
<dead compose> ("." "→") : "⤏"
<dead compose> "." "⤖" : "⤐"
<dead compose> ("…" "→") : "⤑"
<dead compose> "_" "↑" : "⤒"
<dead compose> "↓" "_" : "⤓"
<dead compose> ("|" "↣") : "⤔"
<dead compose> ("|" "⤔") : "⤕"
<dead compose> ">" "↠" : "⤖"
<dead compose> ("|" "⤖") : "⤗"
<dead compose> ("|" "⤗") : "⤘"
<shift dead compose> "-" "-" "<" : "⤙"
<shift dead compose> ">" "-" "-" : "⤚"
<shift dead compose> "⤙" ["<" "⤙"] : "⤛"
<shift dead compose> [">" "⤚"] "⤚" : "⤜"
<shift dead compose> "." "←" : "⤝"
<shift dead compose> "→" "." : "⤞"
<dead compose> "⤝" "|" : "⤟"
<dead compose> "|" "⤞" : "⤠"
<shift dead compose> "↖" "↘" : "⤡"
<shift dead compose> "↙" "↗" : "⤢"
<dead compose> ")" "↖" : "⤣"
<dead compose> "↗" "(" : "⤤"
<dead compose> "↘" "(" : "⤥"
<dead compose> ")" "↙" : "⤦"
<dead compose> "↖" "↗" : "⤧"
<dead compose> "↗" "↘" : "⤨"
<dead compose> "↘" "↙" : "⤩"
<dead compose> "↙" "↖" : "⤪"
<shift dead compose> "X" "\\" "/" : "⤫"
<shift dead compose> "X" "/" "\\" : "⤬"
<dead compose> "⤬" "⤨" : "⤭"
<dead compose> "⤬" ("↗" "↘") : "⤭"
<shift dead compose> "↗" "↘" : "⤭"
<dead compose> "⤫" "⤨" : "⤮"
<dead compose> "⤫" ("↗" "↘") : "⤮"
<shift dead compose> "↘" "↗" : "⤮"
<dead compose> "⤬" "↗" : "⤯"
<shift dead compose> "↗" "\\" : "⤯"
<dead compose> "⤫" "↘" : "⤰"
<shift dead compose> "↘" "/" : "⤰"
<dead compose> "⤫" "⤧" : "⤱"
<dead compose> "⤫" ("↖" "↗") : "⤱"
<shift dead compose> "↖" "↗" : "⤱"
<dead compose> "⤬" "⤧" : "⤲"
<dead compose> "⤬" ("↖" "↗") : "⤱"
<shift dead compose> "↗" "↖" : "⤱"
<shift dead compose> (["~" <dead letter ~>] "→") : "⤳"
<shift dead compose> ["O" "o"] "→" "↑" : "⤴"
<shift dead compose> ["O" "o"] "→" "↓" : "⤵"
<shift dead compose> ["O" "o"] "↓" "←" : "⤶"
<shift dead compose> ["O" "o"] "↓" "→" : "⤷"
<dead compose> (")" "↓") : "⤸"
<dead compose> ("(" "↓") : "⤹"
<shift dead compose> ("n" "←") : "⤺"
<shift dead compose> ("u" "→") : "⤻"
<dead compose> "⤽" "⤽" : "⤼"
<shift dead compose> "n" "-" "→" : "⤼"
<shift dead compose> "n" "+" "←" : "⤽"
<dead compose> "⤺" "+" : "⤽"
<dead compose> "⤼" "⤼" : "⤽"
<shift dead compose> "←" "." <space> : "⤾"
<dead compose> "⥁" "⥁" : "⤾"
<shift dead compose> "→" "." <space> : "⤿"
<dead compose> "⥀" "⥀" : "⤿"
<shift dead compose> "←" "O" : "⥀"
<shift dead compose> "→" "O" : "⥁"
<shift dead compose> "→" "." "←" : "⥂"
<shift dead compose> "←" "." "→" : "⥃"
<shift dead compose> "." "→" "←" : "⥄"
<shift dead compose> "→" "+" : "⥅"
<shift dead compose> "←" "+" : "⥆"
<dead compose> "x" "→" : "⥇"
<dead compose> ("↔" "o") : "⥈"
<dead compose> "↟" "o" : "⥉"
<shift dead compose> "↼" "⇁" : "⥊"
<shift dead compose> "↽" "⇀" : "⥋"
<shift dead compose> "↾" "⇃" : "⥌"
<shift dead compose> "↿" "⇂" : "⥍"
<shift dead compose> "↼" "⇀" : "⥎"
<shift dead compose> "↾" "⇂" : "⥏"
<shift dead compose> "↽" "⇁" : "⥐"
<shift dead compose> "↿" "⇃" : "⥑"
<dead compose> "|" "↼" : "⥒"
<dead compose> "⇀" "|" : "⥓"
<dead compose> "-" "↾" : "⥔"
<dead compose> "⇂" "-" : "⥕"
<dead compose> "|" "↽" : "⥖"
<dead compose> "⇁" "|" : "⥗"
<dead compose> "-" "↿" : "⥘"
<dead compose> "⇃" "-" : "⥙"
<dead compose> "↼" "|" : "⥚"
<dead compose> "|" "⇀" : "⥛"
<dead compose> "↾" "-" : "⥜"
<dead compose> "-" "⇂" : "⥝"
<dead compose> "↽" "|" : "⥞"
<dead compose> "|" "⇁" : "⥟"
<dead compose> "↿" "-" : "⥠"
<dead compose> "-" "⇃" : "⥡"
<dead compose> "↼" "↽" : "⥢"
<dead compose> "↿" "↾" : "⥣"
<dead compose> "⇀" "⇁" : "⥤"
<dead compose> "⇃" "⇂" : "⥥"
<dead compose> "↼" "⇀" : "⥦"
<dead compose> "↽" "⇁" : "⥧"
<dead compose> "⇀" "↼" : "⥨"
<dead compose> "⇁" "↽" : "⥩"
<dead compose> "↼" "-" : "⥪"
<dead compose> "↽" "-" : "⥫"
<dead compose> "-" "⇀" : "⥬"
<dead compose> "-" "⇁" : "⥭"
<dead compose> "↿" "⇂" : "⥮"
<dead compose> "⇃" "↾" : "⥯"
<dead compose> ("⊃" "]") : "⥰"
<shift dead compose> "=" "→" : "⥱"
<shift dead compose> ["~" <dead letter ~>] "→" : "⥲"
<shift dead compose> "←" ["~" <dead letter ~>] : "⥳"
<shift dead compose> "→" ["~" <dead letter ~>] : "⥴"
<shift dead compose> "→" "≈" : "⥵"
<shift dead compose> "<" "←" : "⥶"
<shift dead compose> "←" "<" : "⥷"
<shift dead compose> ">" "→" : "⥸"
<shift dead compose> "⊂" "→" : "⥹"
<shift dead compose> "←" "⊂" : "⥺"
<shift dead compose> "⊃" "←" : "⥻"
<dead compose> "{" "←" : "⥼"
<dead compose> "→" "}" : "⥽"
<dead compose> ["{" "}"] "↑" : "⥾"
<dead compose> ["{" "}"] "↓" : "⥿"
# Miscellaneous Mathematical Symbols-B:
<shift dead compose> ":" "3" "|" : "⦀"
<shift dead compose> "z" "." : "⦁"
<shift dead compose> "z" ":" : "⦂"
<dead compose> "{" "|" : "⦃"
<dead compose> "|" "}" : "⦄"
<shift dead compose> "|" "(" : "⦅"
<shift dead compose> ")" "|" : "⦆"
<shift dead compose> "(" "|" : "⦇"
<shift dead compose> "|" ")" : "⦈"
<dead compose> "⟨" "|" : "⦉"
<dead compose> "|" "⟩" : "⦊"
<dead compose> ("_" "[") : "⦋"
<dead compose> ("_" "]") : "⦌"
<dead compose> ("[" "\\") : "⦍"
<dead compose> ("]" "\\") : "⦎"
<dead compose> ("[" "/") : "⦏"
<dead compose> ("]" "/") : "⦐"
<dead compose> ("⟨" ["." "⋅"]) : "⦑"
<dead compose> ("⟩" ["." "⋅"]) : "⦒"
<dead compose> ("(" "<") : "⦓"
<dead compose> (")" ">") : "⦔"
<dead compose> (">" "⸨") : "⦕"
<dead compose> ("<" "⸩") : "⦖"
<dead compose> "⟬" "⟬" : "⦗"
<dead compose> "⟭" "⟭" : "⦘"
<shift dead compose> ":" ":" "|" : "⦙"
<dead compose> ("⧘" "⧙") : "⦚"
<dead compose> "}" "{" : "⦚"
<dead compose> ("(" "⦣") : "⦛"
<dead compose> ("∟" "]") : "⦜"
<dead compose> ("∟" ".") : "⦝"
<dead compose> (["∠" "⦟"] "s") : "⦞"
<dead compose> ["∠" "."] "∠" : "⦟"
<dead compose> "∢" "∢" : "⦠"
<shift dead compose> ("(" ">") : "⦠"
<shift dead compose> (["(" ")" ] ["v" "V"]) : "⦡"
<shift dead compose> "¯" "/" : "⦢"
<dead compose> "⦣" "⦣" : "⦢"
<shift dead compose> "_" "\\" : "⦣"
<dead compose> "⦢" "⦢" : "⦣"
<dead compose> ("_" "⦣") : "⦤"
<dead compose> ("_" ["∠" "⦟"]) : "⦥"
<shift dead compose> "\\" "_" : "⦦"
<shift dead compose> "/" ["^" <dead letter ~>] "_" : "⦧"
<shift dead compose> "/" "¯" : "⦧"
<dead compose> (["∠" "⦟" "∡"] "↗") : "⦨"
<shift dead compose> ("-" "↗") : "⦨"
<dead compose> (["⦛" "⦣"] "↖") : "⦩"
<shift dead compose> ("-" "↖") : "⦩"
<dead compose> ("⦢" "↘") : "⦪"
<shift dead compose> ("-" "↘") : "⦩"
<dead compose> ("⦢" "↙") : "⦫"
<shift dead compose> ("-" "↙") : "⦩"
<dead compose> ("⩗" "↗") : "⦬"
<shift dead compose> ("|" "↗") : "⦬"
<dead compose> ("⩗" "↖") : "⦭"
<shift dead compose> ("|" "↖") : "⦭"
<dead compose> ("⩘" "↘") : "⦮"
<shift dead compose> ("|" "↘") : "⦮"
<dead compose> ("⩘" "↙") : "⦯"
<shift dead compose> ("|" "↙") : "⦯"
<dead compose> "∅" "∅" : "⦰"
<dead compose> ("∅" "_") : "⦱"
composite("∅" "°" "⦲")
<dead compose> ("∅" "→") : "⦳"
<dead compose> ("∅" "←") : "⦴"
<shift dead compose> "(" "-" "-" ")" : "⦵"
<shift dead compose> "(" "|" ")" : "⦶"
<shift dead compose> "(" "|" "|" ")" : "⦷"
<shift dead compose> "(" "\\" ")" : "⦸"
<shift dead compose> "(" ["⟂" "⊥"] ")" : "⦹"
<dead compose> "⦺" "⦺" : "⦹"
<shift dead compose> "(" "⫠" ")" : "⦺"
<dead compose> "⦹" "⦹" : "⦺"
<shift dead compose> "(" "X" ")" : "⦻"
<shift dead compose> "(" "%" ")" : "⦼"
<shift dead compose> ("O" "↑") : "⦽"
<shift dead compose> "(" "o" ")" : "⦾"
<shift dead compose> "(" "(" ")" ")" : "⦾"
<shift dead compose> "(" "(" "o" ")" ")" : "⦿"
<shift dead compose> "(" "(" "(" ")" ")" ")" : "⦿"
<shift dead compose> "(" "<" ")" : "⧀"
<shift dead compose> "(" ">" ")" : "⧁"
<shift dead compose> "O" "o" : "⧂"
<shift dead compose> "O" "=" : "⧃"
<shift dead compose> "[" "/" "]" : "⧄"
<shift dead compose> "[" "\\" "]" : "⧅"
<shift dead compose> "[" "*" "]" : "⧆"
<shift dead compose> "[" "o" "]" : "⧇"
<shift dead compose> "[" "[" "]" "]" : "⧈"
<shift dead compose> "[" "]" "[" "]" : "⧉"
<dead compose> (["Δ" "∆"] ".") : "⧊"
<dead compose> (["Δ" "∆"] "_") : "⧋"
<dead compose> (["Δ" "∆"] "s") : "⧌"
<shift dead compose> (["Δ" "∆"] "_") : "⧍"
<shift dead compose> "⊳" "/" "⊲" : "⧎"
<shift dead compose> "⊲" "|" : "⧏"
<shift dead compose> "|" "⊳" : "⧐"
<dead compose> "⧑" "⧑" : "⧒"
<dead compose> "|" "⧕" : "⧒"
<dead compose> "⧔" "|" : "⧑"
<dead compose> "⧒" "⧒" : "⧑"
<dead compose> ("⧑" "⧒") : "⧓"
<dead compose> "⧕" "⧕" : "⧔"
<shift dead compose> "|" ">" "<" : "⧔"
<shift dead compose> ">" "<" "|" : "⧕"
<dead compose> "⧔" "⧔" : "⧕"
<dead compose> "⧖" "⧖" : "⧗"
<dead compose> "}" "|" : "⧘"
<dead compose> "|" "{" : "⧙"
<dead compose> "⧘" "⧘" : "⧚"
<dead compose> "⧙" "⧙" : "⧛"
<shift dead compose> "o" "-" "u" : "⧜"
<shift dead compose> "o" "°" "o" : "⧝"
<shift dead compose> "o" "|" "o" : "⧞"
<shift dead compose> "0" "|" "0" : "⧞"
<dead compose> ("|" "∞") : "⧞"
<shift dead compose> "o" "-" "o" : "⧟"
<dead compose> "⧉" "⧉" : "⧠"
<shift dead compose> "[" "[" "]" <space> : "⧠"
<dead compose> "⦤" "|" : "⧡"
<shift dead compose> "w" "w" : "⧢"
<shift dead compose> "W" "W" : "⧢"
<dead compose> ("/" "#") : "⧣"
<dead letter ~> "⧣" : "⧤"
<dead compose> "⧣" "⧣" : "⧥"
<shift dead compose> "|" "=" "|" : "⧦"
<shift dead compose> "=" "|" : "⧧"
<dead compose> "+" "\\" "\\" "|" "/" : "⧨"
<dead compose> "◭" "◭" : "⧨"
<dead compose> "+" "\\" "|" "/" "/" : "⧩"
<dead compose> "◮" "◮" : "⧩"
<dead compose> ("⧫" "↓") : "⧪"
<shift dead compose> "<" "<" "<" ">" ">" ">" : "⧫"
<dead compose> "◊" "◊" : "⧫"
<shift dead compose> (["o" "O"] "↓") : "⧬"
<dead compose> "⧬" "⧬" : "⧭"
<shift dead compose> "]" "[" "[" "]" : "⧮"
<shift dead compose> "[" "]" "]" "[" : "⧮"
<dead compose> "⧮" "⧮" : "⧯"
<shift dead compose> "]" "[" "<" ">" : "⧰"
<shift dead compose> "<" ">" "]" "[" : "⧰"
<dead compose> "⧰" "⧰" : "⧱"
<shift dead compose> "]" "[" "(" ")" : "⧲"
<shift dead compose> "(" ")" "]" "[" : "⧲"
<shift dead compose> "]" "[" ["O" "o"] : "⧲"
<shift dead compose> ["O" "o"] "]" "[" : "⧲"
<dead compose> "⧲" "⧲" : "⧳"
<dead compose> ":" "→" : "⧴"
<dead compose> "\\" "\\" : "⧵"
<dead compose> ("_" "∕") : "⧶"
<shift dead compose> ("-" "\\") : "⧷"
<dead compose> "⟋" "⟋" : "⧸"
<dead compose> "∕" "∕" : "⧸"
<dead compose> "⟍" "⟍" : "⧹"
<dead compose> "⧵" "⧵" : "⧸"
<shift dead compose> "-" "|" "-" "|" "-" : "⧺"
<shift dead compose> "-" "|" "|" "|" "-" : "⧻"
<dead compose> "⧺" "⧺" : "⧻"
<shift dead compose> ")" "<" : "⧼"
<shift dead compose> ">" "(" : "⧽"
<shift dead compose> "+" "+" : "⧾"
<dead compose> "⧿" "⧿" : "⧾"
<shift dead compose> "−" "−" : "⧿"
<dead compose> "⧾" "⧾" : "⧿"
# Supplemental Mathematical Operators:
<dead compose> "⊙" "⊙" : "⨀"
<dead compose> "⊕" "⊕" : "⨁"
<dead compose> "⊗" "⊗" : "⨂"
<dead compose> "⊍" "⊍" : "⨃"
<dead compose> "⊎" "⊎" : "⨄"
<dead compose> "⊓" "⊓" : "⨅"
<dead compose> "⊔" "⊔" : "⨆"
<dead compose> "⋀" "⋀" : "⨇"
<dead compose> "⋁" "⋁" : "⨈"
<shift dead compose> ("/" "\\") : "⨉"
<dead compose> ("o" "∑") : "⨊"
<dead compose> ("∑" "∫") : "⨋"
<dead compose> "∬" "∬" : "⨌"
<dead compose> ("∫" "∭") : "⨌"
<dead compose> "4" ["s" "ſ" "∫"] : "⨌"
<dead compose> ("-" "∫") : "⨍"
<dead compose> ("=" "∫") : "⨎"
<dead compose> ("/" "∫") : "⨏"
<dead compose> (["c" "C"] "∫") : "⨐"
<dead compose> (["u" "U"] "∫") : "⨑"
<dead compose> "]" "∫" : "⨒"
<dead compose> ")" "∫" : "⨓"
<dead compose> "∫" ")" ")" : "⨔"
<dead compose> "(" ")" "∫" : "⨕"
<dead compose> "∫" "(" ")" : "⨕"
<dead compose> "[" "]" "∫" : "⨖"
<dead compose> "∫" "[" "]" : "⨖"
<dead compose> ("←" "∫") : "⨗"
<dead compose> (["x" "X" "×"] "∫") : "⨘"
<dead compose> ("∩" "∫") : "⨙"
<dead compose> ("∪" "∫") : "⨚"
<shift dead compose> ("_" "∫") : "⨛"
<dead compose> "⨜" "⨜" : "⨛"
<dead compose> ("_" "∫") : "⨜"
<dead compose> "⨛" "⨛" : "⨜"
<dead compose> "⊳" "⊲" : "⨝"
<dead compose> "⊲" "⊲" : "⨞"
<shift dead compose> "z" ";" : "⨟"
<dead compose> "⨾" "⨾" : "⨟"
<shift dead compose> "z" ">" : "⨠"
<shift dead compose> "z" ["|" "↑"] : "⨡"
<dead letter °> "+" : "⨢"
<dead letter ^> "+" : "⨣"
<dead letter ~> "+" : "⨤"
<dead compose> "+" "." : "⨥"
<dead compose> "+" ["~" <dead letter ~>] : "⨦"
<dead compose> "+" ["2" "₂"] : "⨧"
<dead compose> "+" ["^" <dead letter ^>] : "⨨"
<dead compose> "," "-" : "⨩"
<shift dead compose> "-" "." : "⨪"
<shift dead compose> ":" "\\" "-" : "⨫"
<shift dead compose> ":" "/" "-" : "⨬"
<shift dead compose> "(" "+" : "⨭"
<shift dead compose> "+" ")" : "⨮"
<dead compose> "." "×" : "⨯"
<shift dead compose> "." "×" : "⨰"
<dead compose> ("." "⨯") : "⨰"
<dead compose> ("_" "×") : "⨱"
<dead compose> "⨱" "⨱" : "⨲"
<dead compose> "×" "×" : "⨳"
<shift dead compose> "(" ["x" "×"] : "⨴"
<shift dead compose> ["x" "×"] ")" : "⨵"
<shift dead compose> ("^" <dead letter ^>) "(" ["x" "X" "×"] ")" : "⨶"
<dead letter ^> "⊗" : "⨶"
<shift dead compose> "(" "(" ["x" "X" "×"] ")" ")" : "⨷"
[<dead compose> <shift dead compose>] "(" "⊗" ")" : "⨷"
<shift dead compose> "(" "÷" ")" : "⨸"
<dead compose> (["Δ" "∆"] "+") : "⨹"
<shift dead compose> "/" "+" "\\" : "⨹"
<dead compose> (["Δ" "∆"] ["-" "−"]) : "⨺"
<shift dead compose> "/" ["-" "−"] "\\" : "⨺"
<dead compose> (["Δ" "∆"] ["x" "×"]) : "⨻"
<shift dead compose> "/" ["x" "×"] "\\" : "⨻"
<dead compose> ("-" "¬") : "⨼"
<dead compose> ("+" "¬") : "⨽"
<dead compose> "⨟" "⨟" : "⨾"
<dead compose> "." "⨟" : "⨾"
<shift dead compose> "∐" "∐" : "⨿"
<dead compose> ("∩" ["." "⋅"]) : "⩀"
<dead compose> ("∪" ["." "−"]) : "⩁"
<dead compose> ("_" "∪") : "⩂"
<dead compose> "⩌" "⩌" : "⩂"
<dead compose> ("_" "∩") : "⩃" # the font "fixed" places the bar beneath instead of above in ⩃
<dead compose> "⩍" "⩍" : "⩃" # the font "fixed" places the bar beneath instead of above in ⩃
<dead compose> "∩" ["^" <dead letter ^>] : "⩄"
<dead letter ^> "∩" : "⩄"
<dead compose> "⩅" "⩅" : "⩄"
<dead compose> ("v" "∪") : "⩅"
<dead compose> "⩄" "⩄" : "⩅"
<dead compose> "∪" "∩" : "⩆"
<dead compose> "∩" "∪" : "⩇"
<shift dead compose> "∪" "∩" : "⩈"
<shift dead compose> "∩" "∪" : "⩉"
<dead compose> ("∪" "w") : "⩊"
<dead compose> ("∩" "m") : "⩋"
<shift dead compose> ("_" "∪") : "⩌"
<dead compose> "⩂" "⩂" : "⩌"
<shift dead compose> ("_" "∩") : "⩍"
<dead compose> "⩃" "⩃" : "⩍" # the font "fixed" places the bar beneath instead of above in ⩃
<dead compose> "⊓" "⊓" : "⩎"
<dead compose> "⊔" "⊔" : "⩏"
<dead compose> ("*" "∪") : "⩐"
<dead compose> ("." "∧") : "⩑"
<dead compose> ("." "∨") : "⩒"
<shift dead compose> "∨" "∨" : "⩓"
<shift dead compose> "∧" "∧" : "⩔"
<dead compose> "." "⨇" : "⩕"
<dead compose> "." "⨈" : "⩖"
<dead compose> "|" "/" : "⩗"
<dead compose> "/" "|" : "⩘"
<shift dead compose> ("∨" "∧") : "⩙"
<dead compose> ("|" "∧") : "⩚"
<dead compose> ("|" "∨") : "⩛"
<dead compose> ("-" "∧") : "⩜"
<dead compose> ("-" "∨") : "⩝"
<shift dead compose> "=" "∧" : "⩞"
<dead compose> ("_" "∧") : "⩟"
<shift dead compose> "∧" "=" : "⩠"
<dead compose> "." "⊻" : "⩡"
<shift dead compose> "=" "∨" : "⩢"
<shift dead compose> "∨" "=" : "⩣"
<dead compose> ("⊲" "-") : "⩤"
<dead compose> ("⊳" "-") : "⩥"
<dead compose> ("." "⩦") : "⩦"
<shift dead compose> ("." "≡") : "⩧"
<dead compose> "3" "#" : "⩨"
<dead compose> "4" "#" : "⩩"
<dead compose> "." ["~" <dead letter ~>] : "⩪"
<dead letter ~> "/" ":" : "⩫"
<shift dead compose> ["~" <dead letter ~>] "-" ["~" <dead letter ~>] : "⩬"
<dead compose> "." "≅" : "⩭"
<shift dead compose> ("*" "=") : "⩮"
<dead letter ^> "≈" : "⩯"
<dead compose> "≈" ("~" <dead letter ~>) : "⩯"
<dead compose> "≈" "=" : "⩰"
<dead compose> "=" "+" : "⩱"
<dead compose> "+" "=" : "⩲"
<dead compose> "=" ("~" <dead letter ~>) : "⩳"
<shift dead compose> ":" ":" "=" : "⩴"
<shift dead compose> "=" "=" <space> : "⩵"
<shift dead compose> "=" "=" "=" : "⩶"
<shift dead compose> ":" "=" ":" : "⩷"
<shift dead compose> ("…" ["=" "≡"]) : "⩸"
<dead compose> ("<" "o") : "⩹"
<dead compose> (">" "o") : "⩺"
<dead compose> ("<" "?") : "⩻"
<dead compose> (">" "?") : "⩼"
<dead compose> "≤" "≤" : "⩽"
<dead compose> "≥" "≥" : "⩾"
<dead compose> ("." "⩽") : "⩿"
<dead compose> ("." "⩾") : "⪀"
<shift dead compose> "." "⩽" : "⪁"
<shift dead compose> "." "⩾" : "⪂"
<shift dead compose> "⩽" "." : "⪃"
<shift dead compose> "⩾" "." : "⪄"
<dead compose> ("<" "≈") : "⪅"
<dead compose> (">" "≈") : "⪆"
<shift dead compose> ("/" "≤") : "⪇"
<shift dead compose> ("/" "≥") : "⪈"
<dead compose> ("<" "≉") : "⪉"
<dead compose> (">" "≉") : "⪊"
<shift dead compose> "<" "=" ">" : "⪋"
<shift dead compose> ">" "=" "<" : "⪌"
<shift dead compose> "<" ["~" <dead letter ~>] ["_" "-"] : "⪍"
<dead compose> "<" "≃" : "⪍"
<dead compose> ("_" "≲") : "⪍"
<shift dead compose> ">" ["~" <dead letter ~>] ["_" "-"] : "⪎"
<dead compose> ">" "≃" : "⪎"
<dead compose> ("_" "≳") : "⪎"
<dead compose> ("/" "≃") : "≄"
<shift dead compose> "<" ["~" <dead letter ~>] ">" : "⪏"
<shift dead compose> ">" ["~" <dead letter ~>] "<" : "⪐"
<shift dead compose> "<" ">" "=" : "⪑"
<shift dead compose> ">" "<" "=" : "⪒"
<dead compose> "⩽" "⩾" : "⪓"
<dead compose> "⩾" "⩽" : "⪔"
<dead compose> "⋜" "⋜" : "⪕"
<dead compose> "⋝" "⋝" : "⪖"
<dead compose> "⩿" "⩿" : "⪗"
<dead compose> "⪀" "⪀" : "⪘"
<dead compose> "≦" "≦" : "⪙" # ⪙ is mirrored by mistake in the font "fixed"
<dead compose> "≧" "≧" : "⪚"
<dead compose> "⪙" "⪙" : "⪛" # ⪙ is mirrored by mistake in the font "fixed"
<dead compose> "⪚" "⪚" : "⪜"
<dead letter ~> "<" : "⪝"
<dead letter ~> ">" : "⪞"
<dead compose> ("⪝" "=") : "⪟"
<dead compose> ("⪞" "=") : "⪠"
<shift dead compose> "." "<" "<" <space> : "⪡"
<shift dead compose> "." ">" ">" <space> : "⪢"
<dead compose> ("_" ["«" "≪"]) : "⪣"
<dead compose> "⪥" "⪥" : "⪤"
<shift dead compose> ">" "<" : "⪥"
<dead compose> "<" ")" : "⪦"
<dead compose> "(" ">" : "⪧"
<dead compose> ("_" "⪦") : "⪨"
<dead compose> ("_" "⪧") : "⪩"
<dead compose> ("-" "<") : "⪪"
<dead compose> ("-" ">") : "⪫"
<dead compose> ("_" "⪪") : "⪬"
<dead compose> ("_" "⪫") : "⪭"
<dead compose> ("=" "≏") : "⪮"
<dead compose> "≼" "≼" : "⪯"
<dead compose> "≽" "≽" : "⪰"
<dead compose> ("/" "⪯") : "⪱"
<dead compose> ("/" "⪰") : "⪲"
<dead compose> ("=" "≺") : "⪳"
<dead compose> ("=" "≻") : "⪴"
<dead compose> ("≠" "≺") : "⪵"
<dead compose> ("≠" "≻") : "⪶"
<dead compose> ("≈" "≺") : "⪷"
<dead compose> ("≈" "≻") : "⪸"
<dead compose> ("≉" "≺") : "⪹"
<dead compose> ("≉" "≻") : "⪺"
<dead compose> ("_" "≻") : "≽"
<dead compose> "≺" "≺" : "⪻"
<dead compose> "≻" "≻" : "⪼"
<dead compose> ("⊂" ".") : "⪽"
<dead compose> ("⊃" ".") : "⪾"
<dead compose> ("⊂" "+") : "⪿"
<dead compose> ("⊃" "+") : "⫀"
<dead compose> ("⊂" ["x" "×"]) : "⫁"
<dead compose> ("⊃" ["x" "×"]) : "⫂"
<dead compose> ("⊆" ".") : "⫃"
<dead compose> ("⊇" ".") : "⫄"
<dead compose> ("⊂" "=") : "⫅"
<dead compose> ("⊃" "=") : "⫆"
<dead compose> ("⊂" ["~" <dead letter ~>]) : "⫇"
<dead letter ~> "⊂" : "⫇"
<dead compose> ("⊃" ["~" <dead letter ~>]) : "⫈"
<dead letter ~> "⊃" : "⫈"
<dead compose> ("⊂" "≈") : "⫉"
<dead compose> ("⊃" "≈") : "⫊"
<dead compose> ("⊂" "≠") : "⫋"
<dead compose> ("⊃" "≠") : "⫌"
<dead compose> ("-" "⊏") : "⫍"
<dead compose> "-" (["[" "]"] "<") : "⫍"
<dead compose> ("-" "⊐") : "⫎"
<dead compose> "-" (["[" "]"] ">") : "⫎"
<dead compose> "⊂" "|" : "⫏"
<dead compose> "|" "⊃" : "⫐"
<dead compose> ("_" "⫏") : "⫑"
<dead compose> ("_" "⫐") : "⫒"
<dead compose> "⊂" "⊃" : "⫓"
<dead compose> "⊃" "⊂" : "⫔"
<shift dead compose> "⊂" "⊂" : "⫕"
<shift dead compose> "⊃" "⊃" : "⫖"
<shift dead compose> "⊃" "⊂" : "⫗"
<dead compose> ("-" "⫗") : "⫘"
<dead compose> "⋔" "." : "⫙"
<dead compose> "⟒" "⟒" : "⫙"
<dead compose> ("∩" "Y") : "⫚"
<dead compose> "⋔" "⋔" : "⫛"
<dead compose> ("/" "⫝") : "⫝̸"
<dead compose> ("|" "u") : "⫝"
<dead compose> "." "⊣" : "⫞"
<dead compose> "." "⊤" : "⫟"
<dead compose> "⫠" "⫠" : "⫟"
<dead compose> "." "⊥" : "⫠"
<dead compose> "⫟" "⫟" : "⫠"
<dead compose> (["⊥" "⟂"] "s") : "⫡"
<dead compose> ("⊨" "=") : "⫢"
<dead compose> "⊩" "⊩" : "⫣"
<dead compose> "⊨" "⊨" : "⫤"
<dead compose> "⫤" "|" : "⫥"
<dead compose> ("-" "⊩") : "⫦"
<dead compose> ("_" ["⫟" "⊤"]) : "⫧"
<dead compose> "⫨" "⫨" : "⫧"
<dead compose> ("_" ["⫠" "⊥"]) : "⫨"
<dead compose> "⫧" "⫧" : "⫨"
<dead compose> ["⫨" "⫠" "⊥"] ["⫧" "⫟" "⊤"] : "⫩"
<dead compose> ("⊤" "|") : "⫪"
<dead compose> "⫫" "⫫" : "⫪"
<dead compose> ("⊥" "|") : "⫫"
<dead compose> "⫪" "⫪" : "⫫"
<dead compose> "⫤" "." : "⫬"
<dead compose> "⫭" "⫭" : "⫬"
<dead compose> "⊨" "." : "⫭"
<dead compose> "⫬" "⫬" : "⫭"
<shift dead compose> "\\" "|" : "⫮"
<shift dead compose> "o" "|" : "⫯"
<dead compose> "⫰" "⫰" : "⫯"
<shift dead compose> "|" "o" : "⫰"
<dead compose> "⫯" "⫯" : "⫰"
<shift dead compose> "-" "|" "o" : "⫱"
<dead compose> ("-" "⫰") : "⫱"
<dead compose> "⟟" "⟟" : "⫱"
<dead compose> ("-" "∥") : "⫲"
<dead compose> "-" "2" "|" : "⫲"
<dead letter ~> "∥" : "⫳"
<dead compose> "∥" ["~" <dead letter ~>] : "⫳"
<dead letter ~> "2" "|" : "⫳"
<dead compose> "3" "|" : "⫴"
<dead compose> ("-" "⫴") : "⫵"
<dead compose> "-" "3" "|" : "⫵"
<shift dead compose> ("." ":") "|" : "⫶"
<shift dead compose> "." "<" "<" "<" : "⫷"
<shift dead compose> "." ">" ">" ">" : "⫸"
<dead compose> "<" "=" : "⫹"
<dead compose> ">" "=" : "⫺"
<shift dead compose> "/" "/" "/" <space> : "⫻"
<shift dead compose> "|" "|" "|" <space> : "⫼"
<shift dead compose> "/" "/" <space> : "⫽"
<shift dead compose> "." "[" "]" : "⫾"
<dead compose> "." "⫿" : "⫾"
<shift dead compose> "[" "]" "|" : "⫿"
# Miscellaneous Symbols and Arrows:
<dead compose> ("⇧" "⇨") : "⬀"
<dead compose> ("↗" "⇗") : "⬀"
<dead compose> ("⇦" "⇧") : "⬁"
<dead compose> ("↖" "⇖") : "⬁"
<dead compose> ("⇨" "⇩") : "⬂"
<dead compose> ("↘" "⇘") : "⬂"
<dead compose> ("⇩" "⇦") : "⬃"
<dead compose> ("↙" "⇙") : "⬃"
<dead compose> ("⇦" "⇨") : "⬄"
<dead compose> ("↔" "⇔") : "⬄"
<dead compose> "⇦" "⇦" : "⬅"
<dead compose> "⇧" "⇧" : "⬆"
<dead compose> "⇩" "⇩" : "⬇"
<dead compose> "⬀" "⬀" : "⬈"
<dead compose> ("⬆" "\u2B95") : "⬉"
<dead compose> "⬁" "⬁" : "⬉"
<dead compose> ("⬅" "⬆") : "⬉"
<dead compose> "⬂" "⬂" : "⬊"
<dead compose> ("\u2B95" "⬇") : "⬊"
<dead compose> "⬃" "⬃" : "⬋"
<dead compose> ("⬇" "⬅") : "⬋"
<dead compose> "⬄" "⬄" : "⬌"
<dead compose> ("⬅" "\u2B95") : "⬌"
<dead compose> "⇳" "⇳" : "⬍"
<dead compose> ("⬆" "⬇") : "⬍"
<dead compose> "→" "," : "⬎"
<dead compose> "→" "'" : "⬏"
<dead compose> "," "←" : "⬐"
<dead compose> "'" "←" : "⬑"
<dead compose> (["□" "◻" "◽"] ["↑" "⇑"]) : "⬒"
<dead compose> "◧" "◧" : "⬒"
<dead compose> (["□" "◻" "◽"] ["↓" "⇓"]) : "⬓"
<dead compose> "◨" "◨" : "⬓"
<dead compose> ("◺" "◥") : "⬔"
<dead compose> ("◣" "◹") : "⬕"
<shift dead compose> "s" "<" "<" "|" ">" : "⬖"
<dead compose> "◀" "▷" : "⬖"
<shift dead compose> "s" "<" "|" ">" ">" : "⬗"
<dead compose> "◁" "▶" : "⬗"
<dead compose> "▲" "▽" : "⬘"
<dead compose> "⬖" "⬖" : "⬘"
<dead compose> "△" "▼" : "⬙"
<dead compose> "⬗" "⬗" : "⬙"
<dead compose> "⬜" "." : "⬚"
<dead compose> "⬜" "⬜" : "⬛"
<dead compose> "+" "□" : "⬜"
<dead compose> "⬞" "⬞" : "⬝"
<dead compose> "." "⬜" : "⬞"
<dead compose> "⬠" "⬠" : "⬟"
<dead compose> ("5" "⬛") : "⬟"
<dead compose> ("5" "⬜") : "⬠"
<dead compose> ("6" "⬜") : "⬡"
<dead compose> ("6" "⬛") : "⬢"
<dead compose> "⬡" "⬡" : "⬢"
<dead compose> "⬢" "⬢" : "⬣"
<dead compose> "◯" "◯" : "⬤"
<dead compose> "⬦" "⬦" : ""
<dead compose> "." "◆" : "⬥"
<dead compose> "." "◇" : "⬦"
<dead compose> "|" "⬥" : "⬧"
<dead compose> "⬨" "⬨" : "⬧"
<dead compose> "|" "⬦" : "⬨"
<dead compose> "⬥" "⬥" : "⬩"
<dead compose> "." "⬥" : "⬩"
<dead compose> "⬫" "⬫" : "⬪"
<dead compose> "." "⬧" : "⬪"
<dead compose> "." "⬨" : "⬫"
<dead compose> "⬭" "⬭" : "⬬"
<dead compose> "-" "○" : "⬭"
<dead compose> "⬯" "⬯" : "⬮"
<dead compose> "|" "○" : "⬯"
<dead compose> ("o" "←") : "⬰"
<dead compose> "3" "←" : "⬱"
<dead compose> ("O" "←") : "⬲"
<dead compose> "⬰" "⬰" : "⬲"
<dead compose> ("|" "⬰") : "⬲"
<dead compose> "⇜" "⇜" : "⬳"
<shift dead compose> ("|" "↞") : "⬴"
<shift dead compose> ("|" "⬴") : "⬵"
<dead compose> "↞" "|" : "⬶"
<dead compose> "." "⬻" : "⬷"
<dead compose> "…" "←" : "⬸"
<dead compose> ("|" "↢") : "⬹"
<dead compose> ("|" "⬹") : "⬺"
<dead compose> "↞" "<" : "⬻"
<dead compose> ("|" "⬻") : "⬼"
<dead compose> ("|" "⬼") : "⬽"
<dead compose> ("x" "⬻") : "⬾"
<shift dead compose> (["~" <dead letter ~>] "←") : "⬿"
<shift dead compose> "=" "←" : "⭀"
<dead compose> "⭊" "⭊" : "⭂"
<shift dead compose> "→" ">" : "⭃"
<shift dead compose> "→" "⊃" : "⭄"
<dead compose> "⇚" "⇚" : "⭅"
<dead compose> "⇛" "⇛" : "⭆"
<dead compose> "⥲" "⥲" : "⭇"
<dead compose> "⥵" "⥵" : "⭈"
<shift dead compose> ["~" <dead letter ~>] "←" : "⭉"
<shift dead compose> "←" "≈" : "⭊"
<dead compose> "⥳" "⥳" : "⭋"
<dead compose> "⥴" "⥴" : "⭌"
<dead compose> (["z" "Z"] "↙") : "\u2B4D"
<dead compose> "↯" "↯" : "\u2B4D"
<dead compose> "\u2B4E" "\u2B4E" : "\u2B4F"
<dead compose> "," "↗" : "\u2B4E"
<dead compose> "," "↘" : "\u2B4F"
<dead compose> "\u2B4F" "\u2B4F" : "\u2B4E"
<dead compose> ("p" "⬜") : "\u2B50"
<dead compose> ("p" "⬛") : "\u2B51"
<dead compose> "\u2B50" "\u2B50" : "\u2B51"
<dead compose> "." "\u2B50" : "\u2B52"
<dead compose> "\u2B54" "\u2B54" : "\u2B53"
<shift dead compose> ("5" "⬛") : "\u2B53"
<shift dead compose> ("5" "⬜") : "\u2B54"
<dead compose> "+" "\u2B58" : "\u2B55"
<dead compose> "-" "\u2B57" : "\u2B56"
<dead compose> "\u2B58" "\u2B58" : "\u2B57"
<shift dead compose> "(" "(" <space> ")" ")" : "\u2B58"
<shift dead compose> "+" "(" "×" ")" : "\u2B59"
<dead compose> "/" "↙" : "\u2B5A"
<dead compose> "\\" "↘" : "\u2B5B"
<dead compose> "_" "↗" : "\u2B5C"
<dead compose> "¯" "↘" : "\u2B5D"
<dead compose> "_" "↘" : "\u2B5D"
<dead compose> "/" "↗" : "\u2B5E"
<dead compose> "." "\u2B5E" : "\u2B5F"
<shift dead compose> "s" "<" "-" : "\u2B60"
<shift dead compose> "s" "^" "|" : "\u2B61"
<shift dead compose> "s" "-" ">" : "\u2B62"
<shift dead compose> "s" ("|" "v") : "\u2B63"
<dead compose> ("\u2B60" "\u2B62") : "\u2B64"
<dead compose> ("\u2B61" "\u2B63") : "\u2B65"
<dead compose> ("\u2B60" "\u2B61") : "\u2B66"
<dead compose> ("\u2B61" "\u2B62") : "\u2B67"
<dead compose> ("\u2B62" "\u2B63") : "\u2B68"
<dead compose> ("\u2B60" "\u2B63") : "\u2B69"
<dead compose> ("." "\u2B60") : "\u2B6A"
<dead compose> ("." "\u2B61") : "\u2B6B"
<dead compose> ("." "\u2B62") : "\u2B6C"
<dead compose> ("." "\u2B63") : "\u2B6D"
<shift dead compose> "\u2B63" "\u2B60" "\u2B61" : "\u2B6E"
<shift dead compose> "\u2B63" "\u2B62" "\u2B61" : "\u2B6F"
<dead compose> "|" "\u2B60" : "\u2B70"
<dead compose> "_" "\u2B61" : "\u2B71"
<dead compose> "\u2B62" "|" : "\u2B72"
<dead compose> "\u2B63" "_" : "\u2B73"
<dead compose> "_" "\u2B66" : "\u2B76"
<dead compose> "_" "\u2B67" : "\u2B77"
<dead compose> "\u2B68" "_" : "\u2B78"
<dead compose> "\u2B69" "_" : "\u2B79"
<dead compose> ("=" "\u2B60") : "\u2B7A"
<dead compose> ("=" "\u2B61") : "\u2B7B"
<dead compose> ("=" "\u2B62") : "\u2B7C"
<dead compose> ("=" "\u2B63") : "\u2B7D"
<dead compose> "\u2B70" "\u2B72" : "\u2B7E"
<dead compose> "\u2B73" "\u2B71" : "\u2B7F"
<shift dead compose> "\u2B60" "\u2B62" : "\u2B80"
<shift dead compose> "\u2B61" "\u2B63" : "\u2B81"
<shift dead compose> "\u2B62" "\u2B60" : "\u2B82"
<shift dead compose> "\u2B63" "\u2B61" : "\u2B83"
<shift dead compose> "\u2B60" "\u2B60" : "\u2B84"
<shift dead compose> "\u2B61" "\u2B61" : "\u2B85"
<shift dead compose> "\u2B62" "\u2B62" : "\u2B86"
<shift dead compose> "\u2B63" "\u2B63" : "\u2B87"
<dead compose> "⬅" "⬅" : "\u2B87"
<dead compose> "⬆" "⬆" : "\u2B88"
<dead compose> "\u2B95" "\u2B95" : "\u2B89"
<dead compose> "⬇" "⬇" : "\u2B8A"
<dead compose> "U" "\u2B60" : "\u2B8C"
<dead compose> "U" "\u2B61" : "\u2B8D"
<dead compose> "U" "\u2B62" : "\u2B8E"
<dead compose> "U" "\u2B63" : "\u2B8F"
<dead compose> "\u2BA0" "/" : "\u2B90"
<dead compose> "\\" "\u2BA1" : "\u2B91"
<dead compose> "-" "\u2BA0" : "\u2B92"
<dead compose> "-" "\u2BA1" : "\u2B93"
<dead compose> ("\u2BA0" "\u2BA3") : "\u2B94"
<dead compose> ("\u2BA1" "\u2BA2") : "\u2B94"
<dead compose> "⇨" "⇨" : "\u2B95"
<dead compose> ("⇦" "⬅") : "⮘"
<dead compose> ("⇧" "⬆") : "⮙"
<dead compose> ("⇨" "\u2B95") : "⮚"
<dead compose> ("⇩" "⬇") : "⮛"
<dead compose> "⮘" "⮘" : "⮜"
<dead compose> "⮙" "⮙" : "⮝"
<dead compose> "⮚" "⮚" : "⮞"
<dead compose> "⮛" "⮛" : "⮟"
<shift dead compose> "\u2B63" "\u2B60" : "\u2BA0"
<shift dead compose> "\u2B63" "\u2B62" : "\u2BA1"
<shift dead compose> "\u2B61" "\u2B60" : "\u2BA2"
<shift dead compose> "\u2B61" "\u2B62" : "\u2BA3"
<shift dead compose> "\u2B60" "\u2B61" : "\u2BA4"
<shift dead compose> "\u2B62" "\u2B61" : "\u2BA5"
<shift dead compose> "\u2B60" "\u2B63" : "\u2BA6"
<shift dead compose> "\u2B62" "\u2B63" : "\u2BA7"
<shift dead compose> "⬇" "⬅" : "\u2BA8"
<shift dead compose> "⬇" "\u2B95" : "\u2BA9"
<shift dead compose> "⬆" "⬅" : "\u2BAA"
<shift dead compose> "⬆" "\u2B95" : "\u2BAB"
<shift dead compose> "⬅" "⬆" : "\u2BAC"
<shift dead compose> "\u2B95" "⬇" : "\u2BAD"
<shift dead compose> "⬅" "⬆" : "\u2BAE"
<shift dead compose> "\u2B95" "⬇" : "\u2BAF"
<shift dead compose> "⇩" "⇦" : "\u2BB0"
<shift dead compose> "⇩" "⇨" : "\u2BB1"
<shift dead compose> "⇧" "⇦" : "\u2BB2"
<shift dead compose> "⇧" "⇨" : "\u2BB3"
<shift dead compose> "⇦" "⇩" : "\u2BB4"
<shift dead compose> "⇨" "⇩" : "\u2BB5"
<shift dead compose> "⇦" "⇩" : "\u2BB6"
<shift dead compose> "⇨" "⇩" : "\u2BB7"
<dead compose> "!" "⇬" : "\u2BB8"
<shift dead compose> "[" "^" "]" : "\u2BB9"
<shift dead compose> "[" "×" "]" : "\u2BBD"
<shift dead compose> "(" "×" ")" : "\u2BBE"
<shift dead compose> "(" "(" "×" ")" ")" : "\u2BBF"
<dead compose> "\u2BBE" "\u2BBE" : "\u2BBF"
<dead compose> "▪" "▪" : "\u2BC0"
<dead compose> "\u2BC0" "\u2BC0" : "\u2BC1"
<dead compose> "◆" "◆" : "\u2BC1"
<dead compose> "\u2BC1" "\u2BC1" : "\u2BC0"
<dead compose> ("5" ["\u2BC0" "\u2BC1"]) : "\u2BC2"
<dead compose> ("8" "\u2BC0") : "\u2BC3"
<dead compose> "\u2BC4" "\u2BC4" : "\u2BC3"
<dead compose> ("8" "\u2BC1") : "\u2BC4"
<dead compose> "\u2BC3" "\u2BC3" : "\u2BC4"
<dead compose> "⬆" "h" : "\u2BC5"
<dead compose> "⬇" "h" : "\u2BC6"
<dead compose> "⬅" "h" : "\u2BC7"
<dead compose> "\u2B95" "h" : "\u2BC8"
<dead compose> "◖" "◖" : "\u2BCA"
<dead compose> "◗" "◗" : "\u2BCB"
<dead compose> "\u2BCE" "\u2BCE" : "\u2BCC"
<dead compose> "\u2BCF" "\u2BCF" : "\u2BCD"
<shift dead compose> "[" "-" "¦" "-" "]" : "\u2BD0"
<dead compose> "<" "?" ">" : "\u2BD1"
# TODO Glagolitic
# Latin Extended-C:
# Ⱡ LATIN CAPITAL LETTER L WITH DOUBLE BAR
# ⱡ LATIN SMALL LETTER L WITH DOUBLE BAR
# Ɫ LATIN CAPITAL LETTER L WITH MIDDLE TILDE
# Ᵽ LATIN CAPITAL LETTER P WITH STROKE
# Ɽ LATIN CAPITAL LETTER R WITH TAIL
# ⱥ LATIN SMALL LETTER A WITH (DIAGONAL) STROKE
# ⱦ LATIN SMALL LETTER T WITH DIAGONAL STROKE
# TODO Coptic
# TODO Georgian Supplement
# TODO Tifinagh
# TODO Ethiopic Extended
# TODO Cyrillic Extended-A
# Supplemental Punctuation:
<dead compose> "⸢" "⸢" : "⸀"
<dead compose> ("." "⸀") : "⸁"
<dead compose> ("⸀" "(") : "⸂"
<dead compose> ("⸀" ")") : "⸃"
<dead compose> ("⸁" "(") : "⸄"
<dead compose> ("." "⸂") : "⸄"
<dead compose> ("⸁" ")") : "⸅"
<dead compose> ("." "⸃") : "⸅"
<dead compose> ("T" "⸀") : "⸆"
<dead compose> ("T" "⸁") : "⸆"
<dead compose> ("." "⸆") : "⸇"
<dead compose> ("S" "⸁") : "⸈"
<dead compose> ("." "⸉") : "⸈"
<dead compose> ("S" "⸀") : "⸉"
<dead compose> ("Z" "⸀") : "⸊"
<dead compose> ["|" "⸉"] "⸉" : "⸊"
<dead letter ^> "[" "]" : "⸋"
<dead compose> "'" "\\" : "⸌"
<dead compose> "'" "/" : "⸍"
<dead compose> "<" "$" ">" : "⸎"
<shift dead compose> "_" "_" : "⸏"
<dead compose> ">" "⸏" : "⸐"
<dead compose> "⸏" "<" : "⸑"
<dead compose> "," "," : "⸒"
<dead compose> "/" "%" : "⸓"
<dead compose> "(" "%" : "⸔"
<dead compose> "%" ")" : "⸕"
<dead compose> (">" ":") : "⸖"
<shift dead compose> "/" "=" : "⸗"
<dead compose> "‽" "‽" : "⸘"
<dead compose> "?" "!" : "⸘"
<dead compose> ("¡" "¿") : "⸘"
<dead compose> "/" "$" : "⸙"
<dead letter ¨> "-" : "⸚"
<dead compose> "o" ["~" <dead letter ~>] ["~" <dead letter ~>] : "⸛"
<dead compose> "," "\\" : "⸜"
<dead compose> "," "/" : "⸝"
<dead compose> "." ["~" <dead letter ~>] ["~" <dead letter ~>] : "⸞" # some fonts misplaces the dot
<dead compose> "⸞" "⸞" : "⸟"
<dead compose> "|" "-" : "⸠"
<dead compose> "-" "|" : "⸡"
<dead compose> "'" "[" : "⸢"
<dead compose> "'" "]" : "⸣"
<dead compose> "," "[" : "⸤"
<dead compose> "," "]" : "⸥"
<dead compose> "." "(" : "⸦"
<dead compose> "." ")" : "⸧"
<dead compose> "(" "(" : "⸨"
<dead compose> ")" ")" : "⸩"
<dead compose> "∵" "∵" : "⸪"
<dead compose> "∴" "∴" : "⸫"
<dead compose> "∷" "∷" : "⸬"
<dead compose> (["∵" "⸪"] ":") : "⸭"
<dead compose> (["∴" "⸫"] ":") : "⸭"
<dead compose> "|" "?" : "⸮"
<shift dead compose> ("'" ["~" <dead letter ~>]) : "ⸯ"
<shift dead compose> "o" "o" : "⸰"
<shift dead compose> "·" "·" : "⸱"
<shift dead compose> "," "," : "⸲"
<shift dead compose> ["^" <dead letter ^>] "." : "⸳"
<shift dead compose> ["^" <dead letter ^>] "," : "⸴"
<dead compose> ";" ";" : "⸵" # the font fixed misses the dot in this turned semicolon
<dead compose> "-" "†" : "⸶"
<dead compose> "†" "-" : "⸷"
<dead compose> "†" "†" : "⸸"
<dead compose> "'" "§" : "⸹"
<dead compose> "2" "-" : "⸺"
<dead compose> "3" "-" : "⸻"
<shift dead compose> "." "x" : "\u2E3C"
<shift dead compose> ":" ":" ":" : "\u2E3D"
<dead compose> "≀" "≀" : "\u2E3E"
<dead compose> (["c" "C"] "¶") : "\u2E3F"
<shift dead compose> "¶" "¶" : "\u2E3F"
<dead compose> "⁃" "⁃" : "\u2E40"
<dead compose> "|" "," : "\u2E41"
<dead compose> "|" "„" : "\u2E42"
# TODO CJK Radicals Supplement
# TODO Kangxi Radicals
# TODO Ideographic Description Characters
# TODO CJK Symbols and Punctuation
# TODO Hiragana
# TODO Katakana
# TODO Bopomofo
# TODO Hangul Compatibility Jamo
# TODO Kanbun
# TODO Bopomofo Extended
# TODO CJK Strokes
# TODO Katakana Phonetic Extensions
# TODO Enclosed CJK Letters and Months
# TODO CJK Compatibility
# TODO CJK Unified Ideographs Extension A
# TODO Yijing Hexagram Symbols
# TODO CJK Unified Ideographs
# TODO Yi Syllables
# TODO Yi Radicals
# TODO Lisu
# TODO Vai
# TODO Cyrillic Extended-B
# TODO Bamum
# TODO Modifier Tone Letters
# TODO Latin Extended-D
# TODO Syloti Nagri
# TODO Common Indic Number Forms
# TODO Phags-pa
# TODO Saurashtra
# TODO Devanagari Extended
# TODO Kayah Li
# TODO Rejang
# TODO Hangul Jamo Extended-A
# TODO Javanese
# TODO Myanmar Extended-B
# TODO Cham
# TODO Myanmar Extended-A
# TODO Tai Viet
# TODO Meetei Mayek Extensions
# TODO Ethiopic Extended-A
# TODO Latin Extended-E
# TODO Meetei Mayek
# TODO Hangul Syllables
# TODO Hangul Jamo Extended-B
# TODO CJK Compatibility Ideographs
# TODO Alphabetic Presentation Forms
# TODO Arabic Presentation Forms-A
# TODO Variation Selectors
# TODO Vertical Forms
# TODO Combining Half Marks
# TODO CJK Compatibility Forms
# TODO Small Form Variants
# TODO Arabic Presentation Forms-B
# TODO Halfwidth and Fullwidth Forms
# TODO Specials
# TODO Linear B Syllabary
# TODO Linear B Ideograms
# TODO Aegean Numbers
# TODO Ancient Greek Numbers
# TODO Ancient Symbols
# TODO Phaistos Disc
# TODO Lycian
# TODO Carian
# TODO Coptic Epact Numbers
# TODO Old Italic
# TODO Gothic
# TODO Old Permic
# TODO Ugaritic
# TODO Old Persian
# TODO Deseret
# TODO Shavian
# TODO Osmanya
# TODO Elbasan
# TODO Caucasian Albanian
# TODO Linear A
# TODO Cypriot Syllabary
# TODO Imperial Aramaic
# TODO Palmyrene
# TODO Nabataean
# TODO Phoenician
# TODO Lydian
# TODO Meroitic Hieroglyphs
# TODO Meroitic Cursive
# TODO Kharoshthi
# TODO Old South Arabian
# TODO Old North Arabian
# TODO Manichaean
# TODO Avestan
# TODO Inscriptional Parthian
# TODO Psalter Pahlavi
# TODO Old Turkic
# TODO Rumi Numeral Symbols
# TODO Brahmi
# TODO Kaithi
# TODO Sora Sompeng
# TODO Chakma
# TODO Mahajani
# TODO Sharada
# TODO Sinhala Archaic Numbers
# TODO Khojki
# TODO Khudawadi
# TODO Grantha
# TODO Tirhuta
# TODO Siddham
# TODO Modi
# TODO Takri
# TODO Warang Citi
# TODO Pau Cin Hau
# TODO Cuneiform
# TODO Cuneiform Numbers and Punctuation
# TODO Egyptian Hieroglyphs
# TODO Bamum Supplement
# TODO Mro
# TODO Bassa Vah
# TODO Pahawh Hmong
# TODO Miao
# TODO Kana Supplement
# TODO Duployan
# TODO Shorthand Format Controls
# TODO Byzantine Musical Symbols
# TODO Musical Symbols
# TODO Ancient Greek Musical Notation
# TODO Tai Xuan Jing Symbols
# TODO Counting Rod Numerals
# TODO Mathematical Alphanumeric Symbols
# TODO Mende Kikakui
# TODO Arabic Mathematical Alphabetic Symbols
# Mahjong Tiles:
<shift dead compose> "m" "t" ">" : "\u1F000"
<shift dead compose> "m" "t" "v" : "\u1F001"
<shift dead compose> "m" "t" "<" : "\u1F002"
<shift dead compose> "m" "t" [<dead letter ^> "^"] : "\u1F003"
<shift dead compose> "m" "t" "r" : "\u1F004"
<shift dead compose> "m" "t" "g" : "\u1F005"
<shift dead compose> "m" "t" "w" : "\u1F006"
for "1" to "9" as \1
<shift dead compose> "m" "t" "w" "\1" : "\add(\u1F007 \sub(\1 "1"))"
<shift dead compose> "m" "t" "t" "\1" : "\add(\u1F010 \sub(\1 "1"))"
<shift dead compose> "m" "t" "b" "\1" : "\add(\u1F019 \sub(\1 "1"))"
end for
<shift dead compose> "m" "t" "m" : "\u1F022"
<shift dead compose> "m" "t" "l" : "\u1F023"
<shift dead compose> "m" "t" "z" : "\u1F024"
<shift dead compose> "m" "t" "j" : "\u1F025"
<shift dead compose> "m" "t" "1" : "\u1F026"
<shift dead compose> "m" "t" "2" : "\u1F027"
<shift dead compose> "m" "t" "3" : "\u1F028"
<shift dead compose> "m" "t" "4" : "\u1F029"
<shift dead compose> "m" "t" "*" : "\u1F02A"
<shift dead compose> "m" "t" "/" : "\u1F02B"
# Domino Tiles:
<shift dead compose> "d" "t" "-" ["-" <space>] : "\u1F030"
<shift dead compose> "d" "t" "|" ["|" <space>] : "\u1F062"
for "0" to "6" as \1
for "0" to "6" as \2
<shift dead compose> "d" "t" "-" "\1" "\2" : "\add(\u1F031 \add(\mul(\sub(\1 "0") 7) \sub(\2 "0")))"
<shift dead compose> "d" "t" "|" "\1" "\2" : "\add(\u1F063 \add(\mul(\sub(\1 "0") 7) \sub(\2 "0")))"
end for
end for
# Playing Cards:
<shift dead compose> "p" "c" : "🂠"
dead_ascii("🂠")
macro playing_card/2
<dead compose> (["♠" "♤"] "\1") : "\add(\u1F0A0 \2)"
<dead compose> (["♥" "♡"] "\1") : "\add(\u1F0B0 \2)"
<dead compose> (["♦" "♢"] "\1") : "\add(\u1F0C0 \2)"
<dead compose> (["♣" "♧"] "\1") : "\add(\u1F0D0 \2)"
end macro
for "1" to "9" as \1
playing_card("\1" \sub(\1 "0"))
end for
playing_card(["a" "A"] 1)
playing_card("0" 10)
playing_card(["j" "J"] 11)
playing_card(["c" "C"] 12)
playing_card(["q" "Q"] 13)
playing_card(["k" "K"] 14)
<dead compose> "🂠" "j" "r" : "\u1F0BF"
<dead compose> "🂠" "j" "b" : "\u1F0CF"
<dead compose> "🂠" "j" "w" : "\u1F0DF"
<dead compose> "🂠" "0" <space> : "\u1F0E0"
<dead compose> "🂠" "1" <space> : "\u1F0E1"
<dead compose> "🂠" "2" <space> : "\u1F0E2"
<dead compose> "🂠" "3" <space> : "\u1F0E3"
<dead compose> "🂠" "4" <space> : "\u1F0E4"
<dead compose> "🂠" "5" <space> : "\u1F0E5"
<dead compose> "🂠" "6" <space> : "\u1F0E6"
<dead compose> "🂠" "7" <space> : "\u1F0E7"
<dead compose> "🂠" "8" <space> : "\u1F0E8"
<dead compose> "🂠" "9" <space> : "\u1F0E9"
<dead compose> "🂠" "1" "0" : "\u1F0EA"
<dead compose> "🂠" "1" "1" : "\u1F0EB"
<dead compose> "🂠" "1" "2" : "\u1F0EC"
<dead compose> "🂠" "1" "3" : "\u1F0ED"
<dead compose> "🂠" "1" "4" : "\u1F0EE"
<dead compose> "🂠" "1" "5" : "\u1F0EF"
<dead compose> "🂠" "1" "6" : "\u1F0F0"
<dead compose> "🂠" "1" "7" : "\u1F0F1"
<dead compose> "🂠" "1" "8" : "\u1F0F2"
<dead compose> "🂠" "1" "9" : "\u1F0F3"
<dead compose> "🂠" "2" "0" : "\u1F0F4"
<dead compose> "🂠" "2" "1" : "\u1F0F5"
# Enclosed Alphanumeric Supplement:
<dead compose> "0" "." : "\u1F100"
for "0" to "9" as \1
<dead compose> "\1" "," : "\add(\u1F101 \sub(\1 "0"))"
end for
<dead compose> "(" "0" "." ")" : "\u1F10B"
<dead compose> "(" "(" "(" "0" "." ")" ")" ")" : "\u1F10C"
for "A" to "Z" as \1
<dead compose> "(" <space> "\1" [" " .] ")" : "\add(\u1F110 \sub(\1 "A"))"
<dead compose> "(" "\1" <space> ")" : "\add(\u1F110 \sub(\1 "A"))"
end for
<dead compose> "[" <space> "S" [" " .] "]" : "\u1F12A"
<dead compose> "[" "S" <space> "]" : "\u1F12A"
<dead compose> "(" "/" "C" ["/" .] ")" : "\u1F12B"
<dead compose> "(" "C" "/" ")" : "\u1F12B"
<dead compose> "(" "/" "R" ["/" .] ")" : "\u1F12C"
<dead compose> "(" "R" "/" ")" : "\u1F12C"
<dead compose> "(" "C" "D" ")" : "\u1F12D"
<dead compose> "(" "W" "z" ")" : "\u1F12E"
for "A" to "Z" as \1
<dead compose> "[" "\1" "]" : "\add(\u1F130 \sub(\1 "A"))"
<dead compose> "(" "(" "(" "\1" ")" ")" ")" : "\add(\u1F160 \sub(\1 "A"))"
<dead compose> "[" "[" "[" "\1" "]" "]" "]" : "\add(\u1F170 \sub(\1 "A"))"
end for
<dead compose> "[" "H" "V" "]" : "\u1F14A"
<dead compose> "[" "M" "V" "]" : "\u1F14B"
<dead compose> "[" "S" "D" "]" : "\u1F14C"
<dead compose> "[" "S" "S" "]" : "\u1F14D"
<dead compose> "[" "P" "P" "V" "]" : "\u1F14E"
<dead compose> "[" "W" "C" "]" : "\u1F14F"
<dead compose> "(" "M" "C" ")" : "\u1F16A"
<dead compose> "(" "M" "D" ")" : "\u1F16B"
<dead compose> "[" "[" "[" "X" "P" "]" "]" "]" : "\u1F18A"
<dead compose> "[" "[" "[" "I" "C" "]" "]" "]" : "\u1F18B"
<dead compose> "[" "[" "[" "P" "A" "]" "]" "]" : "\u1F18C"
<dead compose> "[" "[" "[" "S" "A" "]" "]" "]" : "\u1F18D"
<dead compose> "[" "[" "[" "A" "B" "]" "]" "]" : "\u1F18E"
<dead compose> "[" "[" "[" "W" "C" "]" "]" "]" : "\u1F18F"
<dead compose> "[" "D" "J" "]" : "\u1F190"
<dead compose> "[" "C" "L" "]" : "\u1F191"
<dead compose> "[" "C" "O" "O" "L" "]" : "\u1F192"
<dead compose> "[" "F" "R" "E" "E" "]" : "\u1F193"
<dead compose> "[" "I" "D" "]" : "\u1F194"
<dead compose> "[" "N" "E" "W" "]" : "\u1F195"
<dead compose> "[" "N" "G" "]" : "\u1F196"
<dead compose> "[" "O" "K" "]" : "\u1F197"
<dead compose> "[" "S" "O" "S" "]" : "\u1F198"
<dead compose> "[" "U" "P" "]" : "\u1F199"
<dead compose> "[" "U" "P" "!" "]" : "\u1F199"
<dead compose> "[" "V" "S" "]" : "\u1F19A"
for "a" to "z" as \1
<dead compose> "[" "r" "\1" "]" : "\add(\u1F1E6 \sub(\1 "a"))"
end for
# TODO Enclosed Ideographic Supplement
# TODO Miscellaneous Symbols and Pictographs
# TODO Emoticons
# TODO Ornamental Dingbats
# TODO Transport and Map Symbols
# TODO Alchemical Symbols
# Geometric Shapes Extended:
<shift dead compose> "s" "<" "|" : "\u1F780"
<shift dead compose> "s" ["^" <dead letter ^>] "-" : "\u1F781"
<dead compose> "\u1F780" "\u1F780" : "\u1F781"
<shift dead compose> "s" "|" ">" : "\u1F782"
<shift dead compose> "s" ["v" "V"] "-" :"\u1F783"
<dead compose> "\u1F782" "\u1F782" : "\u1F783"
<shift dead compose> "s" "." "(" ")" : "\1F784"
<shift dead compose> "s" "1" "(" ")" : "\u1F785"
<shift dead compose> "s" "2" "(" ")" : "\u1F786"
<shift dead compose> "s" "3" "(" ")" : "\u1F787"
<shift dead compose> "s" "4" "(" ")" : "\u1F788"
<shift dead compose> "s" "5" "(" ")" : "\u1F789"
<shift dead compose> "s" "0" "(" ")" : "\u1F78A"
<shift dead compose> "s" "(" "(" "(" ")" ")" ")" : "\u1F78B"
<shift dead compose> "s" "." "[" "]" : "\u1F78C"
<shift dead compose> "s" "." "." "[" "]" : "\u1F78D"
<shift dead compose> "s" "1" "[" "]" : "\u1F78E"
<shift dead compose> "s" "2" "[" "]" : "\u1F78F"
<shift dead compose> "s" "3" "[" "]" : "\u1F790"
<shift dead compose> "s" "4" "[" "]" : "\u1F791"
<shift dead compose> "s" "5" "[" "]" : "\u1F792"
<shift dead compose> "s" "6" "[" "]" : "\u1F793"
<shift dead compose> "s" "0" "[" "]" : "\u1F794"
<shift dead compose> "s" "[" "[" "]" "]" : "\u1F795"
<shift dead compose> "s" "[" "[" "[" "]" "]" "]" : "\u1F796"
<shift dead compose> "s" "1" "<" ">" : "\u1F797"
<shift dead compose> "s" "2" "<" ">" : "\u1F798"
<shift dead compose> "s" "3" "<" ">" : "\u1F799"
<shift dead compose> "s" "0" "<" ">" : "\u1F79A"
<shift dead compose> "s" "<" "<" "<" ">" ">" ">" : "\u1F79B"
<shift dead compose> "s" "<" "<" ">" ">" : "\u1F79C"
<shift dead compose> "s" "1" "|" "<" ">" : "\u1F79D"
<shift dead compose> "s" "2" "|" "<" ">" : "\u1F79E"
<shift dead compose> "s" "3" "|" "<" ">" : "\u1F79F"
<shift dead compose> "s" "0" "|" "<" ">" : "\u1F7A0"
<shift dead compose> "s" "1" "+" : "\u1F7A1"
<shift dead compose> "s" "2" "+" : "\u1F7A2"
<shift dead compose> "s" "3" "+" : "\u1F7A3"
<shift dead compose> "s" "4" "+" : "\u1F7A4"
<shift dead compose> "s" "5" "+" : "\u1F7A5"
<shift dead compose> "s" "6" "+" : "\u1F7A6"
<shift dead compose> "s" "7" "+" : "\u1F7A7"
<shift dead compose> "s" "1" ["x" "X" "×"] : "\u1F7A8"
<shift dead compose> "s" "2" ["x" "X" "×"] : "\u1F7A9"
<shift dead compose> "s" "3" ["x" "X" "×"] : "\u1F7AA"
<shift dead compose> "s" "4" ["x" "X" "×"] : "\u1F7AB"
<shift dead compose> "s" "5" ["x" "X" "×"] : "\u1F7AC"
<shift dead compose> "s" "6" ["x" "X" "×"] : "\u1F7AD"
<shift dead compose> "s" "7" ["x" "X" "×"] : "\u1F7AE"
<shift dead compose> "s" "1" "5" "*" : "\u1F7AF"
<shift dead compose> "s" "2" "5" "*" : "\u1F7B0"
<shift dead compose> "s" "3" "5" "*" : "\u1F7B1"
<shift dead compose> "s" "4" "5" "*" : "\u1F7B2"
<shift dead compose> "s" "5" "5" "*" : "\u1F7B3"
<shift dead compose> "s" "6" "5" "*" : "\u1F7B4"
<shift dead compose> "s" "1" "6" "*" : "\u1F7B5"
<shift dead compose> "s" "2" "6" "*" : "\u1F7B6"
<shift dead compose> "s" "3" "6" "*" : "\u1F7B7"
<shift dead compose> "s" "4" "6" "*" : "\u1F7B8"
<shift dead compose> "s" "5" "6" "*" : "\u1F7B9"
<shift dead compose> "s" "6" "6" "*" : "\u1F7BA"
<shift dead compose> "s" "1" "8" "*" : "\u1F7BB"
<shift dead compose> "s" "2" "8" "*" : "\u1F7BC"
<shift dead compose> "s" "3" "8" "*" : "\u1F7BD"
<shift dead compose> "s" "4" "8" "*" : "\u1F7BE"
<shift dead compose> "s" "5" "8" "*" : "\u1F7BF"
<shift dead compose> "s" "1" "*" "3" : "\u1F7C0"
<shift dead compose> "s" "2" "*" "3" : "\u1F7C1"
<shift dead compose> "s" "3" "*" "3" : "\u1F7C2"
<shift dead compose> "s" "0" "*" "3" : "\u1F7C3"
<shift dead compose> "s" "1" "*" "4" : "\u1F7C4"
<shift dead compose> "s" "2" "*" "4" : "\u1F7C5"
<shift dead compose> "s" "3" "*" "4" : "\u1F7C6"
<shift dead compose> "s" "0" "*" "4" : "\u1F7C7"
<dead compose> "\u1F7C7" "\u1F7C7" : "\u1F7C8"
<shift dead compose> "s" "1" "*" "5" : "\u1F7C9"
<shift dead compose> "s" "2" "*" "5" : "\u1F7CA"
<shift dead compose> "s" "1" "*" "6" : "\u1F7CB"
<shift dead compose> "s" "2" "*" "6" : "\u1F7CC"
<shift dead compose> "s" "0" "*" "6" : "\u1F7CD"
<shift dead compose> "s" "1" "*" "8" : "\u1F7CE"
<shift dead compose> "s" "2" "*" "8" : "\u1F7CF"
<shift dead compose> "s" "3" "*" "8" : "\u1F7D0"
<shift dead compose> "s" "0" "*" "8" : "\u1F7D1"
<shift dead compose> "s" "1" "*" "*" : "\u1F7D2"
<shift dead compose> "s" "2" "*" "*" : "\u1F7D3"
<shift dead compose> "s" "0" "*" "*" : "\u1F7D4"
# Supplemental Arrows-C:
<shift dead compose> "1" "←" : "\u1F800" # leftwards arrow with small triangle arrowhead
<shift dead compose> "1" "↑" : "\u1F801" # upwards arrow with small triangle arrowhead
<shift dead compose> "1" "→" : "\u1F802" # rightwards arrow with small triangle arrowhead
<shift dead compose> "1" "↓" : "\u1F803" # downwards arrow with small triangle arrowhead
<shift dead compose> "2" "←" : "\u1F804" # leftwards arrow with medium triangle arrowhead
<shift dead compose> "2" "↑" : "\u1F805" # upwards arrow with medium triangle arrowhead
<shift dead compose> "2" "→" : "\u1F806" # rightwards arrow with medium triangle arrowhead
<shift dead compose> "2" "↓" : "\u1F807" # downwards arrow with medium triangle arrowhead
<shift dead compose> "3" "←" : "\u1F808" # leftwards arrow with large triangle arrowhead
<shift dead compose> "3" "↑" : "\u1F809" # upwards arrow with large triangle arrowhead
<shift dead compose> "3" "→" : "\u1F80A" # rightwards arrow with large triangle arrowhead
<shift dead compose> "3" "↓" : "\u1F80B" # downwards arrow with large triangle arrowhead
<shift dead compose> "1" "=" "←" : "\u1F810" # leftwards arrow with small equilateral arrowhead
<shift dead compose> "1" "=" "↑" : "\u1F811" # upwards arrow with small equilateral arrowhead
<shift dead compose> "1" "=" "→" : "\u1F812" # rightwards arrow with small equilateral arrowhead
<shift dead compose> "1" "=" "↓" : "\u1F813" # downwards arrow with small equilateral arrowhead
<shift dead compose> "2" "=" "←" : "\u1F814" # leftwards arrow with equilateral arrowhead
<shift dead compose> "2" "=" "↑" : "\u1F815" # upwards arrow with equilateral arrowhead
<shift dead compose> "2" "=" "→" : "\u1F816" # rightwards arrow with equilateral arrowhead
<shift dead compose> "2" "=" "↓" : "\u1F817" # downwards arrow with equilateral arrowhead
<shift dead compose> "4" "=" "←" : "\u1F818" # heavy leftwards arrow with equilateral arrowhead
<shift dead compose> "4" "=" "↑" : "\u1F819" # heavy upwards arrow with equilateral arrowhead
<shift dead compose> "4" "=" "→" : "\u1F81A" # heavy rightwards arrow with equilateral arrowhead
<shift dead compose> "4" "=" "↓" : "\u1F81B" # heavy downwards arrow with equilateral arrowhead
<shift dead compose> "5" "=" "←" : "\u1F81C" # heavy leftwards arrow with large equilateral arrowhead
<shift dead compose> "5" "=" "↑" : "\u1F81D" # heavy upwards arrow with large equilateral arrowhead
<shift dead compose> "5" "=" "→" : "\u1F81E" # heavy rightwards arrow with large equilateral arrowhead
<shift dead compose> "5" "=" "↓" : "\u1F81F" # heavy downwards arrow with large equilateral arrowhead
<shift dead compose> "1" "-" "←" : "\u1F820" # leftwards triangle-headed arrow with narrow shaft
<shift dead compose> "1" "-" "↑" : "\u1F821" # upwards triangle-headed arrow with narrow shaft
<shift dead compose> "1" "-" "→" : "\u1F822" # rightwards triangle-headed arrow with narrow shaft
<shift dead compose> "1" "-" "↓" : "\u1F823" # downwards triangle-headed arrow with narrow shaft
<shift dead compose> "2" "-" "←" : "\u1F824" # leftwards triangle-headed arrow with medium shaft
<shift dead compose> "2" "-" "↑" : "\u1F825" # upwards triangle-headed arrow with medium shaft
<shift dead compose> "2" "-" "→" : "\u1F826" # rightwards triangle-headed arrow with medium shaft
<shift dead compose> "2" "-" "↓" : "\u1F827" # downwards triangle-headed arrow with medium shaft
<shift dead compose> "3" "-" "←" : "\u1F828" # leftwards triangle-headed arrow with bold shaft
<shift dead compose> "3" "-" "↑" : "\u1F829" # upwards triangle-headed arrow with bold shaft
<shift dead compose> "3" "-" "→" : "\u1F82A" # rightwards triangle-headed arrow with bold shaft
<shift dead compose> "3" "-" "↓" : "\u1F82B" # downwards triangle-headed arrow with bold shaft
<shift dead compose> "4" "-" "←" : "\u1F82C" # leftwards triangle-headed arrow with heavy shaft
<shift dead compose> "4" "-" "↑" : "\u1F82D" # upwards triangle-headed arrow with heavy shaft
<shift dead compose> "4" "-" "→" : "\u1F82E" # rightwards triangle-headed arrow with heavy shaft
<shift dead compose> "4" "-" "↓" : "\u1F82F" # downwards triangle-headed arrow with heavy shaft
<shift dead compose> "5" "-" "←" : "\u1F830" # leftwards triangle-headed arrow with very heavy shaft
<shift dead compose> "5" "-" "↑" : "\u1F831" # upwards triangle-headed arrow with very heavy shaft
<shift dead compose> "5" "-" "→" : "\u1F832" # rightwards triangle-headed arrow with very heavy shaft
<shift dead compose> "5" "-" "↓" : "\u1F833" # downwards triangle-headed arrow with very heavy shaft
<shift dead compose> "←" "f" : "\u1F834" # leftwards finger-post arrow
<shift dead compose> "↑" "f" : "\u1F835" # upwards finger-post arrow
<shift dead compose> "→" "f" : "\u1F836" # rightwards finger-post arrow
<shift dead compose> "↓" "f" : "\u1F837" # downwards finger-post arrow
<shift dead compose> "←" "s" : "\u1F838" # leftwards squared arrow
<shift dead compose> "↑" "s" : "\u1F839" # upwards squared arrow
<shift dead compose> "→" "s" : "\u1F83A" # rightwards squared arrow
<shift dead compose> "↓" "s" : "\u1F83B" # downwards squared arrow
<shift dead compose> "2" "|" "←" : "\u1F83C" # leftwards compressed arrow
<shift dead compose> "2" "|" "↑" : "\u1F83D" # upwards compressed arrow
<shift dead compose> "2" "|" "→" : "\u1F83E" # rightwards compressed arrow
<shift dead compose> "2" "|" "↓" : "\u1F83F" # downwards compressed arrow
<shift dead compose> "4" "|" "←" : "\u1F840" # leftwards heavy compressed arrow
<shift dead compose> "4" "|" "↑" : "\u1F841" # upwards heavy compressed arrow
<shift dead compose> "4" "|" "→" : "\u1F842" # rightwards heavy compressed arrow
<shift dead compose> "4" "|" "↓" : "\u1F843" # downwards heavy compressed arrow
<shift dead compose> "4" "←" : "\u1F844" # leftwards heavy arrow
<shift dead compose> "4" "↑" : "\u1F845" # upwards heavy arrow
<shift dead compose> "4" "→" : "\u1F846" # rightwards heavy arrow
<shift dead compose> "4" "↓" : "\u1F847" # downwards heavy arrow
<shift dead compose> "s" "s" "←" : "\u1F850" # leftwards sans-serif arrow
<shift dead compose> "s" "s" "↑" : "\u1F851" # upwards sans-serif arrow
<shift dead compose> "s" "s" "→" : "\u1F852" # rightwards sans-serif arrow
<shift dead compose> "s" "s" "↓" : "\u1F853" # downwards sans-serif arrow
<shift dead compose> "s" "s" "↗" : "\u1F854" # north west sans-serif arrow
<shift dead compose> "s" "s" "↖" : "\u1F855" # north east sans-serif arrow
<shift dead compose> "s" "s" "↙" : "\u1F856" # south east sans-serif arrow
<shift dead compose> "s" "s" "↘" : "\u1F857" # south west sans-serif arrow
<shift dead compose> "s" "s" "↔" : "\u1F858" # left right sans-serif arrow
<shift dead compose> "s" "s" "↕" : "\u1F859" # up down sans-serif arrow
<shift dead compose> "1" "b" "←" : "\u1F860" # wide-headed leftwards light barb arrow
<shift dead compose> "1" "b" "↑" : "\u1F861" # wide-headed upwards light barb arrow
<shift dead compose> "1" "b" "→" : "\u1F862" # wide-headed rightwards light barb arrow
<shift dead compose> "1" "b" "↓" : "\u1F863" # wide-headed downwards light barb arrow
<shift dead compose> "1" "b" "↗" : "\u1F864" # wide-headed north west light barb arrow
<shift dead compose> "1" "b" "↖" : "\u1F865" # wide-headed north east light barb arrow
<shift dead compose> "1" "b" "↙" : "\u1F866" # wide-headed south east light barb arrow
<shift dead compose> "1" "b" "↘" : "\u1F867" # wide-headed south west light barb arrow
<shift dead compose> "2" "b" "←" : "\u1F868" # wide-headed leftwards barb arrow
<shift dead compose> "2" "b" "↑" : "\u1F869" # wide-headed upwards barb arrow
<shift dead compose> "2" "b" "→" : "\u1F86A" # wide-headed rightwards barb arrow
<shift dead compose> "2" "b" "↓" : "\u1F86B" # wide-headed downwards barb arrow
<shift dead compose> "2" "b" "↗" : "\u1F86C" # wide-headed north west barb arrow
<shift dead compose> "2" "b" "↖" : "\u1F86D" # wide-headed north east barb arrow
<shift dead compose> "2" "b" "↙" : "\u1F86E" # wide-headed south east barb arrow
<shift dead compose> "2" "b" "↘" : "\u1F86F" # wide-headed south west barb arrow
<shift dead compose> "3" "b" "←" : "\u1F870" # wide-headed leftwards medium barb arrow
<shift dead compose> "3" "b" "↑" : "\u1F871" # wide-headed upwards medium barb arrow
<shift dead compose> "3" "b" "→" : "\u1F872" # wide-headed rightwards medium barb arrow
<shift dead compose> "3" "b" "↓" : "\u1F873" # wide-headed downwards medium barb arrow
<shift dead compose> "3" "b" "↗" : "\u1F874" # wide-headed north west medium barb arrow
<shift dead compose> "3" "b" "↖" : "\u1F875" # wide-headed north east medium barb arrow
<shift dead compose> "3" "b" "↙" : "\u1F876" # wide-headed south east medium barb arrow
<shift dead compose> "3" "b" "↘" : "\u1F877" # wide-headed south west medium barb arrow
<shift dead compose> "4" "b" "←" : "\u1F878" # wide-headed leftwards heavy barb arrow
<shift dead compose> "4" "b" "↑" : "\u1F879" # wide-headed upwards heavy barb arrow
<shift dead compose> "4" "b" "→" : "\u1F87A" # wide-headed rightwards heavy barb arrow
<shift dead compose> "4" "b" "↓" : "\u1F87B" # wide-headed downwards heavy barb arrow
<shift dead compose> "4" "b" "↗" : "\u1F87C" # wide-headed north west heavy barb arrow
<shift dead compose> "4" "b" "↖" : "\u1F87D" # wide-headed north east heavy barb arrow
<shift dead compose> "4" "b" "↙" : "\u1F87E" # wide-headed south east heavy barb arrow
<shift dead compose> "4" "b" "↘" : "\u1F87F" # wide-headed south west heavy barb arrow
<shift dead compose> "5" "b" "←" : "\u1F880" # wide-headed leftwards very heavy barb arrow
<shift dead compose> "5" "b" "↑" : "\u1F881" # wide-headed upwards very heavy barb arrow
<shift dead compose> "5" "b" "→" : "\u1F882" # wide-headed rightwards very heavy barb arrow
<shift dead compose> "5" "b" "↓" : "\u1F883" # wide-headed downwards very heavy barb arrow
<shift dead compose> "5" "b" "↗" : "\u1F884" # wide-headed north west very heavy barb arrow
<shift dead compose> "5" "b" "↖" : "\u1F885" # wide-headed north east very heavy barb arrow
<shift dead compose> "5" "b" "↙" : "\u1F886" # wide-headed south east very heavy barb arrow
<shift dead compose> "5" "b" "↘" : "\u1F887" # wide-headed south west very heavy barb arrow
<shift dead compose> "←" "h" : "\u1F890" # leftwards triangle arrowhead
<shift dead compose> "↑" "h" : "\u1F891" # upwards triangle arrowhead
<shift dead compose> "→" "h" : "\u1F892" # rightwards triangle arrowhead
<shift dead compose> "↓" "h" : "\u1F893" # downwards triangle arrowhead
<shift dead compose> "←" "H" : "\u1F894" # leftwards white arrow within triangle arrowhead
<shift dead compose> "↑" "H" : "\u1F895" # upwards white arrow within triangle arrowhead
<shift dead compose> "→" "H" : "\u1F896" # rightwards white arrow within triangle arrowhead
<shift dead compose> "↓" "H" : "\u1F897" # downwards white arrow within triangle arrowhead
<shift dead compose> "←" "N" : "\u1F898" # leftwards arrow with notched tail
<shift dead compose> "↑" "N" : "\u1F899" # upwards arrow with notched tail
<shift dead compose> "→" "N" : "\u1F89A" # rightwards arrow with notched tail
<shift dead compose> "↓" "N" : "\u1F89B" # downwards arrow with notched tail
<shift dead compose> ["←" "↔" "→"] "-" "4" : "\u1F89C" # heavy arrow shaft width one
<shift dead compose> ["←" "↔" "→"] "-" "3" : "\u1F89D" # heavy arrow shaft width two thirds
<shift dead compose> ["←" "↔" "→"] "-" "2" : "\u1F89E" # heavy arrow shaft width one half
<shift dead compose> ["←" "↔" "→"] "-" "1" : "\u1F89F" # heavy arrow shaft width one third
<shift dead compose> "←" "s" "↓" : "\u1F8A0" # leftwards bottom-shaded white arrow
<shift dead compose> "→" "s" "↓" : "\u1F8A1" # rightwards bottom-shaded white arrow
<shift dead compose> "←" "s" "↑" : "\u1F8A2" # leftwards top-shaded white arrow
<shift dead compose> "→" "s" "↑" : "\u1F8A3" # rightwards top-shaded white arrow
<shift dead compose> "←" "s" "←" : "\u1F8A4" # leftwards left-shaded white arrow
<shift dead compose> "→" "s" "→" : "\u1F8A5" # rightwards right-shaded white arrow
<shift dead compose> "←" "s" "→" : "\u1F8A6" # leftwards right-shaded white arrow
<shift dead compose> "→" "s" "←" : "\u1F8A7" # rightwards left-shaded white arrow
<shift dead compose> "←" "s" ["↙" "↘"] : "\u1F8A8" # leftwards back-tilted shadowed white arrow
<shift dead compose> "→" "s" ["↙" "↘"] : "\u1F8A9" # rightwards back-tilted shadowed white arrow
<shift dead compose> "←" "s" ["↖" "↗"] : "\u1F8AA" # leftwards front-tilted shadowed white arrow
<shift dead compose> "→" "s" ["↖" "↗"] : "\u1F8AB" # rightwards front-tilted shadowed white arrow
<shift dead compose> ["←" "↔" "→"] "=" "4" : "\u1F8AC" # white arrow shaft width one
<shift dead compose> ["←" "↔" "→"] "=" "3" : "\u1F8AD" # white arrow shaft width two thirds
# TODO CJK Unified Ideographs Extension B
# TODO CJK Unified Ideographs Extension C
# TODO CJK Unified Ideographs Extension D
# TODO CJK Compatibility Ideographs Supplement
# Tags: These are deprecated
# TODO Variation Selectors Supplement