# General compose rules: # # ‘C X’ means ‘Compose + X’ # U+22C6 STAR OPERATOR (‘⋆’) represents an arbitrary key # # C ⋆ ' A letter with an acute (á) # C ⋆ u A letter with a breve (ă) # C ⋆ v A letter with a caron (ǎ) # C ⋆ , A letter with a cedilla (ç) # C ⋆ ^ A letter with a circumflex (â) # C ⋆ : A letter with a diaeresis (ä) # C ⋆ . A letter with a dot (ġ) # C ⋆ " A letter with a double-acute (ő) # C ⋆ ` A letter with a grave (à) # C ⋆ - A letter with a macron (ā) # C ⋆ ; A letter with an ogonek (ą) # C ⋆ o A letter with a ring (å) # C ⋆ / A letter with a slash or strikethrough (ø) # C ⋆ ~ A letter with a tilde (ã) # C ⋆ * The Greek letter ‘⋆’ (α) # C _ ⋆ Subscript ‘⋆’ (₁) # C ^ ⋆ Superscript ‘⋆’ (¹) # C l ⋆ Propositional logic operators (⇒) # # Ligatures or other glyphs that are composed of multiple characters # are straight forwards. For example ‘C I J’ produces ‘IJ’. # # Math symbols typically use programming counterparts if they exist, # for example ‘C ! =’ produces ‘≠’. Other symbols that look similar to # ASCII symbols are formed via repetition, for example ‘C * *’ produces # ‘⋆’. # # NOTE: System config at /usr/share/X11/locale/en_US.UTF-8/Compose # # Propositional Logic : "∧" U2227 # [L]ogical [A]nd : "⇔" U21D4 # [L]ogical [E]quivalence : "⇒" U21D2 # [L]ogical [I]mplication : "¬" U00AC # [L]ogical [N]ot : "∨" U2228 # [L]ogical [O]r : "⊕" U2295 # [L]ogical [X]or # Math : "⋆" U22C6 : "≠" U2260 : "≥" U2265 : "≤" U2264 : "÷" division : "⟮" U27EE : "⟯" U27EF : "⋅" U22C5 : "±" plusminus : "×" multiply # Typographical Symbols : "»" U00BB : "«" U00AB : "←" U2190 : "→" U2192 : "—" U2014 : "–" U2013 : "℃" U2103 : "℉" U2109 : "°" U00B0 # Latin Alphabet — Acute : "á" aacute : "Á" Aacute : "ć" U0107 : "Ć" U0106 : "é" eacute : "É" Eacute : "ǵ" U01F5 : "Ǵ" U01F4 : "í" iacute : "Í" Iacute : "ḱ" U1E31 : "Ḱ" U1E30 : "ĺ" U013A : "Ĺ" U0139 : "ḿ" U1E3F : "Ḿ" U1E3E : "ń" U0144 : "Ń" U0143 : "ó" oacute : "Ó" Oacute

: "ṕ" U1E55

: "ṗ" pabovedot

: "Ṗ" Pabovedot : "ṙ" U1E59 : "Ṙ" U1E58 : "ṡ" sabovedot : "Ṡ" Sabovedot : "ṫ" tabovedot : "Ṫ" Tabovedot : "ẇ" U1E87 : "Ẇ" U1E86 : "ẋ" U1E8B : "Ẋ" U1E8A : "ẏ" U1E8F : "Ẏ" U1E8E : "ż" zabovedot : "Ż" Zabovedot # Latin Alphabet — Diaeresis : "ä" adiaeresis : "Ä" Adiaeresis : "ë" adiaeresis : "Ë" Ediaeresis : "ḧ" U1E27 : "Ḧ" U1E26 : "ï" adiaeresis : "Ï" Idiaeresis : "ö" adiaeresis : "Ö" Odiaeresis : "ẗ" U1E97 # NOTE: No uppercase in Unicode : "ü" adiaeresis : "Ü" Udiaeresis : "ẅ" U1E85 : "Ẅ" U1E84 : "ẍ" U1E8D : "Ẍ" U1E8C : "ÿ" ydiaeresis : "Ÿ" U0178 # Latin Alphabet — Double-Acute : "ő" odoubleacute : "Ő" Odoubleacute : "ű" udoubleacute : "Ű" Udoubleacute # Latin Alphabet — Grave : "à" agrave : "À" Agrave : "è" egrave : "È" Egrave : "ì" igrave : "Ì" Igrave : "ǹ" U01F9 : "Ǹ" U01F8 : "ò" ograve : "Ò" Ograve : "ù" ugrave : "Ù" Ugrave : "ẁ" wgrave : "Ẁ" Wgrave : "ỳ" ygrave : "Ỳ" Ygrave # Latin Alphabet — Macron : "ā" amacron : "Ā" Amacron : "ē" emacron : "Ē" Emacron : "ḡ" U1E21 : "Ḡ" U1E20 : "ī" imacron : "Ī" Imacron : "ō" omacron : "Ō" Omacron : "ū" umacron : "Ū" Umacron : "ȳ" U0233 : "Ȳ" U0232 # Latin Alphabet — Ogonek : "ą" aogonek : "Ą" Aogonek : "ę" eogonek : "Ę" Eogonek : "į" iogonek : "Į" Iogonek : "ǫ" U01EB : "Ǫ" U01EA : "ų" uogonek : "Ų" Uogonek # Latin Alphabet — Ring : "å" aring : "Å" Aring : "ů" U016F : "Ů" U016E : "ẘ" U1E98 # NOTE: No uppercase in Unicode : "ẙ" U1E99 # NOTE: No uppercase in Unicode # Latin Alphabet — Slash & Strikethrough # NOTE: Eth and D-Stroke conflict, but ð is more curvy than đ, so use # slash for the former and minus for the latter. : "đ" dstroke : "Đ" Dstroke : "ð" eth : "Ð" ETH : "ħ" U0126 : "Ħ" U0126 : "ł" U0142 : "Ł" U0141 : "ø" oslash : "Ø" Oslash # Latin Alphabet — Tilde : "ã" atilde : "Ã" Atilde : "ẽ" etilde : "Ẽ" Etilde : "ĩ" itilde : "Ĩ" Itilde : "ñ" ntilde : "Ñ" Ntilde : "õ" otilde : "Õ" Otilde : "ũ" utilde : "Ũ" Utilde : "ṽ" U1E7D : "Ṽ" U1E7C : "ỹ" ytilde : "Ỹ" Ytilde # Latin Alphabet — Ligatures & Multiglyphs : "æ" ae : "Æ" AE : "dž" U01C6 : "Dž" U01C5 : "DŽ" U01C4 : "¡" exclamdown : "‽" U203D : "ff" UFB00 : "ffi" UFB03 : "ffl" UFB04 : "fi" UFB01 : "fl" UFB02 : "ij" U0133 : "IJ" U0132 : "lj" U01C9 : "Lj" U01C8 : "LJ" U01C7 : "nj" U01CC : "Nj" U01CB : "NJ" U01CA : "№" numerosign : "œ" oe : "Œ" OE : "⸘" U2E18 : "¿" questiondown : "ſ" U017F # [s]-[l]ong : "st" UFB06 # Latin Alphabet — Extended : "ß" ssharp # [s]harp [s] : "ẞ" U1E9E # [S]HARP [S] : "þ" thorn # [t][h]orn : "Þ" THORN # [T][H]ORN # Greek Alphabet : "α" U03B1 : "Α" U0391 : "β" U03B2 : "Β" U0392 : "δ" U03B4 : "Δ" U0394 : "ε" U03B5 : "Ε" U0395 : "φ" U03C6 : "Φ" U03A6 : "γ" U03B3 : "Γ" U0393 : "η" U03B7 : "Η" U0397 : "ι" U03B9 : "Ι" U0399 : "θ" U03B8 : "Θ" U0398 : "κ" U03BA : "Κ" U039A : "λ" U03BB : "Λ" U039B : "μ" U03BC : "Μ" U039C : "ν" U03BD : "Ν" U039D : "ο" U03BF : "Ο" U039F

: "π" U03C0

: "Π" U03A0 : "χ" U03C7 : "Χ" U03A7 : "ρ" U03C1 : "Ρ" U03A1 : "ς" U03C2 # NOTE: Special case for final sigma : "σ" U03C3 : "Σ" U03A3 : "τ" U03C4 : "Τ" U03A4 : "υ" U03C5 : "Υ" U03A5 : "ω" U03C9 : "Ω" U03A9 : "ξ" U03BE : "Ξ" U039E : "ψ" U03C8 : "Ψ" U03A8 : "ζ" U03B6 : "Ζ" U0396 # Superscript <0> : "⁰" U2070 <1> : "¹" U00B9 <2> : "²" U00B2 <3> : "³" U00B3 <4> : "⁴" U2074 <5> : "⁵" U2075 <6> : "⁶" U2076 <7> : "⁷" U2077 <8> : "⁸" U2078 <9> : "⁹" U2079 : "ⁱ" U2071 : "⁻" U207B : "ⁿ" U207F : "⁽" U207D : "⁾" U207E : "⁺" U207A # Subscript <0> : "₀" U2080 <1> : "₁" U2081 <2> : "₂" U2082 <3> : "₃" U2083 <4> : "₄" U2084 <5> : "₅" U2085 <6> : "₆" U2086 <7> : "₇" U2087 <8> : "₈" U2088 <9> : "₉" U2089 : "ₐ" U2090 : "ₑ" U2090 : "ₕ" U2095 : "ᵢ" U1D62 : "ⱼ" U2C7C : "ₖ" U2089 : "ₗ" U2097 : "₋" U2089 : "ₘ" U2098 : "ₙ" U2099 : "ₒ" U2092 : "₍" U2089 : "₎" U2089 : "₊" U2089

: "ₚ" U209A : "ᵣ" U1D63 : "ₛ" U209B : "ₜ" U209C : "ᵤ" U1D64 : "ᵥ" U1D65 : "ₓ" U2093

: "Ṕ" U1E54 : "ŕ" U0155 : "Ŕ" U0154 : "ś" U015B : "Ś" U015A : "ú" uacute : "Ú" Uacute : "ẃ" U1E83 : "Ẃ" U1E82 : "ý" yacute : "Ý" Yacute : "ź" U017A : "Ź" U0179 # Latin Alphabet — Breve : "ă" abreve : "Ă" Abreve : "ĕ" U0115 : "Ĕ" U0114 : "ğ" gbreve : "Ğ" Gbreve : "ĭ" ibreve : "Ĭ" Ibreve : "ŏ" U014F : "Ŏ" U014E : "ŭ" ubreve : "Ŭ" Ubreve # Latin Alphabet — Caron : "ǎ" U01CE : "Ǎ" U01CD : "č" ccaron : "Č" Ccaron : "ď" dcaron : "Ď" Dcaron : "ě" ecaron : "Ě" Ecaron : "ǧ" gcaron : "Ǧ" Gcaron : "ȟ" U021F : "Ȟ" U021E : "ǐ" U01D0 : "Ǐ" U01CF : "ǰ" U01F0 # NOTE: No uppercase in Unicode : "ǩ" U01E9 : "Ǩ" U01E8 : "ľ" lcaron : "Ľ" Lcaron : "ň" ncaron : "Ň" Ncaron : "ǒ" ocaron : "Ǒ" Ocaron : "ř" rcaron : "Ř" Rcaron : "š" scaron : "Š" Scaron : "ť" tcaron : "Ť" Tcaron : "ǔ" U01D4 : "Ǔ" U01D3 : "ž" zcaron : "Ž" Zcaron # Latin Alphabet — Cedilla : "ç" ccedilla : "Ç" ccedilla : "ḑ" U1E11 : "Ḑ" U1E10 : "ȩ" U0229 : "Ȩ" U0228 : "ģ" U0121 : "Ģ" U0122 : "ḩ" U1E29 : "Ḩ" U1E28 : "ķ" U0137 : "Ķ" U0136 : "ļ" U013C : "Ļ" U012C : "ņ" U0146 : "Ņ" U0145 : "ŗ" U0157 : "Ŗ" U0156 : "ş" U015F : "Ş" U015E : "ţ" U0163 : "Ţ" U0162 # Latin Alphabet - Circumflex : "â" acircumflex : "Â" Acircumflex : "ĉ" U0109 : "Ĉ" U0108 : "ê" ecircumflex : "Ê" Ecircumflex : "ĝ" U011D : "Ĝ" U011C : "ĥ" U0125 : "Ĥ" U0124 : "î" icircumflex : "Î" Icircumflex : "ĵ" U0135 : "Ĵ" U0134 : "ô" ocircumflex : "Ô" Ocircumflex : "ŝ" U015D : "Ŝ" U015C : "û" ucircumflex : "Û" Ucircumflex : "ŵ" U0175 : "Ŵ" U0174 : "ŷ" U0177 : "Ŷ" U0176 : "ẑ" U1E91 : "Ẑ" U1E90 # Latin Alphabet — Dot : "ȧ" U0227 : "Ȧ" U0226 : "ḃ" babovedot : "Ḃ" Babovedot : "ċ" cabovedot : "Ċ" Cabovedot : "ḋ" dabovedot : "Ḋ" Dabovedot : "ė" eabovedot : "Ė" Eabovedot : "ḟ" fabovedot : "Ḟ" Fabovedot : "ġ" gabovedot : "Ġ" Gabovedot : "ḣ" habovedot : "Ḣ" Habovedot : "İ" Iabovedot : "ṁ" mabovedot : "Ṁ" Mabovedot : "ṅ" U1E45 : "Ṅ" U1E44 : "ȯ" U022F : "Ȯ" U022E