From 75fb4cc6bb1f655cedf4d739064071057fcfa12e Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Sat, 25 May 2019 08:54:49 +0200 Subject: [PATCH] [XCompose] Add XCompose config --- .XCompose | 116 +++++++++++++++++++++++++++++++++++++ .XCompose.d/xcompose.greek | 95 ++++++++++++++++++++++++++++++ .XCompose.d/xcompose.math | 106 +++++++++++++++++++++++++++++++++ README.org | 8 +++ 4 files changed, 325 insertions(+) create mode 100644 .XCompose create mode 100644 .XCompose.d/xcompose.greek create mode 100644 .XCompose.d/xcompose.math diff --git a/.XCompose b/.XCompose new file mode 100644 index 0000000..811f72c --- /dev/null +++ b/.XCompose @@ -0,0 +1,116 @@ + +# ~/.XCompose +# This file defines custom Compose sequences for Unicode characters + +# Import default rules from the system Compose file: +include "/usr/share/X11/locale/en_US.UTF-8/Compose" + +include "%H/.XCompose.d/xcompose.greek" +include "%H/.XCompose.d/xcompose.math" + +# To put some stuff onto compose key strokes: + : "→" U2192 # Compose - > + : "←" U2190 + : "⇒" U21D2 + : "⇐" U21D0 + : "↑" U2191 + : "↓" U2193 + + : "≤" U2264 + : "≥" U2265 + + : "✓" U2713 + + : "🙌" # PERSON RAISING BOTH HANDS IN CELEBRATION + + : "“" U201c # LEFT DOUBLE QUOTATION MARK + : "”" U201d # RIGHT DOUBLE QUOTATION MARK + +#Abbrev_it + : "comunque" +

: "password" + +#Abbrev + : "on the other hand" + : "On the other hand" + + <3> : "❤" + +# reversed accents + : "À" Agrave # LATIN CAPITAL LETTER A WITH GRAVE + : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE + : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE + : "Â" Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX + : "Ã" Atilde # LATIN CAPITAL LETTER A WITH TILDE + : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS + : "Å" Aring # LATIN CAPITAL LETTER A WITH RING ABOVE + : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA + : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA + : "È" Egrave # LATIN CAPITAL LETTER E WITH GRAVE + : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE + : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE + : "Ê" Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX + : "Ë" Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS + : "Ì" Igrave # LATIN CAPITAL LETTER I WITH GRAVE + : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE + : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE + : "Î" Icircumflex # LATIN CAPITAL LETTER I WITH CIRCUMFLEX + : "Ï" Idiaeresis # LATIN CAPITAL LETTER I WITH DIAERESIS + : "Ð" ETH # LATIN CAPITAL LETTER ETH + : "Ñ" Ntilde # LATIN CAPITAL LETTER N WITH TILDE + : "Ò" Ograve # LATIN CAPITAL LETTER O WITH GRAVE + : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE + : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE + : "Ô" Ocircumflex # LATIN CAPITAL LETTER O WITH CIRCUMFLEX + : "Õ" Otilde # LATIN CAPITAL LETTER O WITH TILDE + : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS + : "×" multiply # MULTIPLICATION SIGN + : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE + : "Ù" Ugrave # LATIN CAPITAL LETTER U WITH GRAVE + : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE + : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE + : "Û" Ucircumflex # LATIN CAPITAL LETTER U WITH CIRCUMFLEX + : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS + : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE + : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE + : "Þ" THORN # LATIN CAPITAL LETTER THORN + : "à" agrave # LATIN SMALL LETTER A WITH GRAVE + : "á" aacute # LATIN SMALL LETTER A WITH ACUTE + : "á" aacute # LATIN SMALL LETTER A WITH ACUTE + : "â" acircumflex # LATIN SMALL LETTER A WITH CIRCUMFLEX + : "ã" atilde # LATIN SMALL LETTER A WITH TILDE + : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS + : "å" aring # LATIN SMALL LETTER A WITH RING ABOVE + : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA + : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA + : "è" egrave # LATIN SMALL LETTER E WITH GRAVE + : "é" eacute # LATIN SMALL LETTER E WITH ACUTE + : "é" eacute # LATIN SMALL LETTER E WITH ACUTE + : "ê" ecircumflex # LATIN SMALL LETTER E WITH CIRCUMFLEX + : "ë" ediaeresis # LATIN SMALL LETTER E WITH DIAERESIS + : "ì" igrave # LATIN SMALL LETTER I WITH GRAVE + : "í" iacute # LATIN SMALL LETTER I WITH ACUTE + : "í" iacute # LATIN SMALL LETTER I WITH ACUTE + : "î" icircumflex # LATIN SMALL LETTER I WITH CIRCUMFLEX + : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS + : "ð" eth # LATIN SMALL LETTER ETH + : "ñ" ntilde # LATIN SMALL LETTER N WITH TILDE + : "ò" ograve # LATIN SMALL LETTER O WITH GRAVE + : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE + : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE + : "ô" ocircumflex # LATIN SMALL LETTER O WITH CIRCUMFLEX + : "õ" otilde # LATIN SMALL LETTER O WITH TILDE + : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS + : "ø" oslash # LATIN SMALL LETTER O WITH STROKE + : "ù" ugrave # LATIN SMALL LETTER U WITH GRAVE + : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE + : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE + : "û" ucircumflex # LATIN SMALL LETTER U WITH CIRCUMFLEX + : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS + : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE + : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE + : "þ" thorn # LATIN SMALL LETTER THORN + : "ÿ" ydiaeresis # LATIN SMALL LETTER Y WITH DIAERESIS + + :"ɔ" U0254 # LATIN SMALL LETTER OPEN O + :"Ɔ" U0186 # LATIN CAPITAL LETTER OPEN O diff --git a/.XCompose.d/xcompose.greek b/.XCompose.d/xcompose.greek new file mode 100644 index 0000000..62efb9d --- /dev/null +++ b/.XCompose.d/xcompose.greek @@ -0,0 +1,95 @@ +### begin xcompose.latin.greek + +# Custom additions: Greek letters. Mapping corresponds to Emacs Greek +# input method. Aristotle Pagaltzis informs me that this is the +# standard Greek keyboard layout, which is good. + : "α" U03B1 # GREEK SMALL LETTER ALPHA + : "β" U03B2 # GREEK SMALL LETTER BETA + : "ψ" U03C8 # GREEK SMALL LETTER PSI + : "δ" U03B4 # GREEK SMALL LETTER DELTA + : "ε" U03B5 # GREEK SMALL LETTER EPSILON + : "φ" U03C6 # GREEK SMALL LETTER PHI + : "γ" U03B3 # GREEK SMALL LETTER GAMMA + : "η" U03B7 # GREEK SMALL LETTER ΕΤΑ + : "ι" U03B9 # GREEK SMALL LETTER ΙΟΤΑ + : "ξ" U03BE # GREEK SMALL LETTER XI + : "κ" U03BA # GREEK SMALL LETTER KAPPA + : "λ" U03BB # GREEK SMALL LETTER LAMBDA + : "μ" U03BC # GREEK SMALL LETTER MU + : "ν" U03BD # GREEK SMALL LETTER NU + : "ο" U03BF # GREEK SMALL LETTER OMICRON +

: "π" U03C0 # GREEK SMALL LETTER PI +# no mapping for q; in Emacs that's ";" +# U037E GREEK QUESTION MARK is canonically equivalent to U003B SEMICOLON. + : "ρ" U03C1 # GREEK SMALL LETTER RHO + : "σ" U03C3 # GREEK SMALL LETTER SIGMA + : "τ" U03C4 # GREEK SMALL LETTER TAU + : "θ" U03B8 # GREEK SMALL LETTER THETA + : "ω" U03C9 # GREEK SMALL LETTER OMEGA + : "ς" U03C2 # GREEK SMALL LETTER FINAL SIGMA + : "χ" U03C7 # GREEK SMALL LETTER CHI + : "υ" U03C5 # GREEK SMALL LETTER UPSILON + : "ζ" U03B6 # GREEK SMALL LETTER ZETA + +# Capital greek letters. + : "Α" U0391 # GREEK CAPITAL LETTER ALPHA + : "Β" U0392 # GREEK CAPITAL LETTER BETA + : "Ψ" U03A8 # GREEK CAPITAL LETTER PSI + : "Δ" U0394 # GREEK CAPITAL LETTER DELTA + : "Ε" U0395 # GREEK CAPITAL LETTER EPSILON + : "Φ" U03A6 # GREEK CAPITAL LETTER PHI + : "Γ" U0393 # GREEK CAPITAL LETTER GAMMA + : "Η" U0397 # GREEK CAPITAL LETTER ΕΤΑ + : "Ι" U0399 # GREEK CAPITAL LETTER ΙΟΤΑ + : "Ξ" U039E # GREEK CAPITAL LETTER XI + : "Κ" U039A # GREEK CAPITAL LETTER KAPPA + : "Λ" U039B # GREEK CAPITAL LETTER LAMBDA + : "Μ" U039C # GREEK CAPITAL LETTER MU + : "Ν" U039D # GREEK CAPITAL LETTER NU + : "Ο" U039F # GREEK CAPITAL LETTER OMICRON +

: "Π" U03A0 # GREEK CAPITAL LETTER PI +# no mapping for Q; in Emacs that's ":" + : "Ρ" U03A1 # GREEK CAPITAL LETTER RHO + : "Σ" U03A3 # GREEK CAPITAL LETTER SIGMA + : "Τ" U03A4 # GREEK CAPITAL LETTER TAU + : "Θ" U0398 # GREEK CAPITAL LETTER THETA + : "Ω" U03A9 # GREEK CAPITAL LETTER OMEGA +# Emacs maps W to "Σ", but I think that’s stupid +# I think that's from the Greek keyboard. + : "Χ" U03A7 # GREEK CAPITAL LETTER CHI + : "Υ" U03A5 # GREEK CAPITAL LETTER UPSILON + : "Ζ" U0396 # GREEK CAPITAL LETTER ZETA + +# Some archaic Greek. If we only wanted *normal* characters we wouldn't be +# doing this at all! +# "period" will indicate a sort of variant of some kind; asterisk is still the "greek" marker +

: "ϖ" U03D6 # GREEK PI SYMBOL +# Reserving .f in case we want PHI SYMBOL. Digamma was "w" sound anyway. + : "ϝ" U03DD # GREEK SMALL LETTER DIGAMMA + : "Ϝ" U03DC # GREEK CAPITAL LETTER DIGAMMA + : "Ϟ" U03DE # GREEK LETTER QOPPA + : "ϟ" U03DF # GREEK SMALL LETTER QOPPA + : "Ϙ" U03D8 # GREEK LETTER ARCHAIC QOPPA + : "ϙ" U03D9 # GREEK SMALL LETTER ARCHAIC QOPPA + : "ϗ" U03D7 # GREEK KAI SYMBOL + : "Ϡ" U03E0 # GREEK LETTER SAMPI + : "ϡ" U03E1 # GREEK SMALL LETTER SAMPI + : "Ͳ" U0372 # GREEK CAPITAL LETTER ARCHAIC SAMPI + : "ͳ" U0373 # GREEK SMALL LETTER ARCHAIC SAMPI +# Sorry, couldn't think of better ones for these. Might want .s for SAN. + : "Ϛ" U03DA # GREEK LETTER STIGMA + : "ϛ" U03DB # GREEK SMALL LETTER STIGMA + +# Do we want BETA SYMBOL, RHO SYMBOL, KAPPA SYMBOL, PHI SYMBOL, THETA SYMBOL? +# The format makes them obvious enough I guess. PI SYMBOL is different enough +# that there's no question, and it is separate from these. + : "ϐ" U03D0 # GREEK BETA SYMBOL + : "ϑ" U03D1 # GREEK THETA SYMBOL + : "ϒ" U03D2 # GREEK UPSILON WITH HOOK SYMBOL + : "ϕ" U03D5 # GREEK PHI SYMBOL + : "ϰ" U03F0 # GREEK KAPPA SYMBOL + : "ϱ" U03F1 # GREEK RHO SYMBOL + : "ϴ" U03F4 # GREEK CAPITAL THETA SYMBOL + : "ϵ" U03F5 # GREEK LUNATE EPSILON SYMBOL + +### end xcompose.latin.greek diff --git a/.XCompose.d/xcompose.math b/.XCompose.d/xcompose.math new file mode 100644 index 0000000..9ac4285 --- /dev/null +++ b/.XCompose.d/xcompose.math @@ -0,0 +1,106 @@ +# Custom additions: Mathematical symbols + + + : "⊂" # Subset / Enclose an array +

: "⊃" # Superset / Disclose an array + : "&=" # should be eeq, but this is easier to type + : "@" + : "&" U0026 + : "=" U003D + : "→" U2192 + : "↛" U219B + : "≠" U2260 # NOT EQUAL TO + : "≠" U2260 # NOT EQUAL TO + : "≤" U2264 # LESS-THAN OR EQUAL TO + : "≤" U2264 # LESS-THAN OR EQUAL TO + : "≥" U2265 # GREATER-THAN OR EQUAL TO + : "≥" U2265 # GREATER-THAN OR EQUAL TO + : "∈" U2208 # ELEMENT OF + : "∉" U2209 # NOT AN ELEMENT OF + : "∋" U220B # CONTAINS AS MEMBER (I hope this doesn't conflict) + : "∌" U220C # DOES NOT CONTAIN AS MEMBER +

: "≅" U2245 # APPROXIMATELY EQUAL TO + : "≔" U2254 # COLON EQUALS + : "≟" U225f # QUESTIONED EQUAL TO + : "√" U221A # SQUARE ROOT + # “(Note: I had put the backslash in position 5/15. It enabled the + # ALGOL “and” to be “/\” and the “or” to be “\/”.)” --- Bob Bemer, + # http://home.ccil.org/~remlaps/www.bobbemer.com/BRACES.HTM, quoting + # himself in “A view of the history of the ISO character code”, 1972 + : "∧" U2227 # LOGICAL AND + : "∨" U2228 # LOGICAL OR + : "⊻" U22BB # XOR + : "∘" U2218 # RING OPERATOR (function composition) + <0> : "∅" U2205 # EMPTY SET (thanks jsled!) + <0> : "∅" U2205 # EMPTY SET + : "∃" U2203 # THERE EXISTS + : "∃" U2203 # THERE EXISTS +

: "∂" U2202 # Partial +# We can't use ! E E, because ! E maps to E-WITH-UNDERDOT. + : "∄" U2204 # THERE DOES NOT EXIST + : "∀" U2200 # FOR ALL + : "∀" U2200 # FOR ALL + : "∎" U220E # END OF PROOF + <8> <8> : "∞" U221E # INFINITY + : "∪" U222a + : "∩" U2229 + : "∖" U2216 + : "⊕" U2295 # CIRCLED PLUS + : "⊖" U2296 # CIRCLED MINUS + : "⊗" U2297 # CIRCLED TIMES + : "⊘" U2298 # CIRCLED DIVISION SLASH + : "⊛" U229B # CIRCLED ASTERISK OPERATOR + : "‱" U2031 # PER TEN THOUSAND (basis points) + : "⃗" U20D7 # COMBINING RIGHT ARROW ABOVE (vector) + + +# There's a whole passel of these guys starting at U+1D538 but I have no fonts for those. + : "ℂ" U2102 # DOUBLE-STRUCK CAPITAL C (set of complex numbers) + : "ℂ" U2102 # DOUBLE-STRUCK CAPITAL C (set of complex numbers) + : "ℕ" U2115 # DOUBLE-STRUCK CAPITAL N (natural number) + : "ℕ" U2115 # DOUBLE-STRUCK CAPITAL N (natural number) +

: "ℙ" U2119 # DOUBLE-STRUCK CAPITAL P +

: "ℙ" U2119 # DOUBLE-STRUCK CAPITAL P + : "ℚ" U211A # DOUBLE-STRUCK CAPITAL Q (set of rational numbers) + : "ℚ" U211A # DOUBLE-STRUCK CAPITAL Q (set of rational numbers) + : "ℝ" U211D # DOUBLE-STRUCK CAPITAL R (set of real numbers) + : "ℝ" U211D # DOUBLE-STRUCK CAPITAL R (set of real numbers) + : "ℤ" U2124 # DOUBLE-STRUCK CAPITAL Z (set of integers) + : "ℤ" U2124 # DOUBLE-STRUCK CAPITAL Z (set of integers) + : "ℍ" U210d # DOUBLE-STRUCK CAPITAL H + : "ⅇ" U2147 # DOUBLE-STRUCK ITALIC SMALL E + : "ⅈ" U2148 # DOUBLE-STRUCK ITALIC SMALL I + : "ⅉ" U2149 # DOUBLE-STRUCK ITALIC SMALL J + : "ℓ" U2113 # SCRIPT SMALL L + : "⊏" U228F # SQUARE IMAGE OF + : "⊑" U2291 # SQUARE IMAGE OF OR EQUAL TO + : "⊑" U2291 # SQUARE IMAGE OF OR EQUAL TO + : "⊐" U2290 # SQUARE ORIGINAL OF + : "⊒" U2291 # SQUARE ORIGINAL OF OR EQUAL TO + : "⊒" U2291 # SQUARE ORIGINAL OF OR EQUAL TO +#SUBSCRIPTS + <_> <0> : "₀" U2080 # SUBSCRIPT 0 + <_> <1> : "₁" U2081 # SUBSCRIPT 1 + <_> <2> : "₂" U2082 # SUBSCRIPT 2 + <_> <3> : "₃" U2083 # SUBSCRIPT 3 + <_> <4> : "₄" U2084 # SUBSCRIPT 4 + <_> <5> : "₅" U2085 # SUBSCRIPT 5 + <_> <6> : "₆" U2086 # SUBSCRIPT 6 + <_> <7> : "₇" U2087 # SUBSCRIPT 7 + <_> <8> : "₈" U2088 # SUBSCRIPT 8 + <_> <9> : "₉" U2089 # SUBSCRIPT 9 + +#SUPERSCRIPTS + <0> : "⁰" U2070 #SUPERSCRIPT 0 + <1> : "¹" U00B9 #SUPERSCRIPT 1 + <2> : "²" U00B2 #SUPERSCRIPT 2 + <3> : "³" U00B3 #SUPERSCRIPT 3 + <4> : "⁴" U2074 #SUPERSCRIPT 4 + <5> : "⁵" U2075 #SUPERSCRIPT 5 + <6> : "⁶" U2076 #SUPERSCRIPT 6 + <7> : "⁷" U2077 #SUPERSCRIPT 7 + <8> : "⁸" U2078 #SUPERSCRIPT 8 + <9> : "⁹" U2079 #SUPERSCRIPT 9 + : "ⁱ" U2071 #SUPERSCRIPT i + <+> : "⁺" U207A #SUPERSCRIPT + + <-> : "⁻" U207B #SUPERSCRIPT - diff --git a/README.org b/README.org index b11051f..abcefa9 100644 --- a/README.org +++ b/README.org @@ -72,3 +72,11 @@ purposes #+BEGIN_SRC sh ln config.ncmpcpp ~/.config/ncmpcpp/config #+END_SRC +* XCompose + The configuration file is split into files in the [[.XCompose.d][.XCompose.d]] + directory + #+BEGIN_SRC sh + ln .XCompose ~ + mkdir ~/.XCompose.d + ln .XCompose.d/* ~/.XCompose.d + #+END_SRC