summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2017-09-12 22:33:00 (EDT)
committer P. J. McDermott <pj@pehjota.net>2017-09-12 22:33:00 (EDT)
commit37b4fcc003d4afc2f8cd9cd79fd9359ca0af2b81 (patch)
tree937a70854e6618d22742d38a1281c53ffc1c1c57
parentdd147abae2a5dd8a182bb6256b9ee0e854ffc540 (diff)
downloadfluxbox-37b4fcc003d4afc2f8cd9cd79fd9359ca0af2b81.zip
fluxbox-37b4fcc003d4afc2f8cd9cd79fd9359ca0af2b81.tar.gz
fluxbox-37b4fcc003d4afc2f8cd9cd79fd9359ca0af2b81.tar.bz2
.XCompose*: Greatly expand multi-key input sequences
-rw-r--r--.XCompose22
-rw-r--r--.XCompose.arr43
-rw-r--r--.XCompose.ctrlpics51
-rw-r--r--.XCompose.dingbats16
-rw-r--r--.XCompose.greek61
-rw-r--r--.XCompose.hiragana105
-rw-r--r--.XCompose.katakana111
-rw-r--r--.XCompose.latinb10
-rw-r--r--.XCompose.letterlike42
-rw-r--r--.XCompose.math197
-rw-r--r--.XCompose.misc77
-rw-r--r--.XCompose.miscsymarr42
-rw-r--r--.XCompose.misctech94
-rw-r--r--.XCompose.names17
-rw-r--r--.XCompose.punctuation45
15 files changed, 932 insertions, 1 deletions
diff --git a/.XCompose b/.XCompose
index 38abc70..0563ad0 100644
--- a/.XCompose
+++ b/.XCompose
@@ -1,3 +1,23 @@
+# UTF-8 (Unicode) compose sequence
+
+# First include the locale-specific Compose file. As explained by XCompose(5),
+# a user’s .XCompose file takes precendence over the locale-specific Compose
+# file.
include "%L"
-<Multi_key> <s> <n> <o> <w> : "☃"
+include "%H/.XCompose.latinb" # 0180–024F
+include "%H/.XCompose.greek" # 0370–03FF
+include "%H/.XCompose.punctuation" # 2000–206F
+include "%H/.XCompose.letterlike" # 2100–214F
+include "%H/.XCompose.arr" # 2190–21FF
+include "%H/.XCompose.math" # 2200–22FF
+include "%H/.XCompose.misctech" # 2300–23FF
+include "%H/.XCompose.ctrlpics" # 2400–243F
+include "%H/.XCompose.misc" # 2600–26FF
+include "%H/.XCompose.dingbats" # 2700–27BF
+include "%H/.XCompose.supparra" # 27F0–27FF
+include "%H/.XCompose.miscsymarr" # 2B00–2BFF
+include "%H/.XCompose.hiragana" # 3040–309F
+include "%H/.XCompose.katakana" # 30A0–30FF
+
+include "%H/.XCompose.names"
diff --git a/.XCompose.arr b/.XCompose.arr
new file mode 100644
index 0000000..af672c6
--- /dev/null
+++ b/.XCompose.arr
@@ -0,0 +1,43 @@
+#
+# Arrows
+# Range: 2190–21FF
+#
+
+# Simple arrows
+<Multi_key> <Multi_key> <Left> <Left> : "←" U2190 # LEFTWARDS ARROW
+<Multi_key> <Multi_key> <bar> <asciicircum> : "↑" U2191 # UPWARDS ARROW
+<Multi_key> <Multi_key> <asciicircum> <bar> : "↑" U2191 # UPWARDS ARROW
+<Multi_key> <Multi_key> <Up> <Up> : "↑" U2191 # UPWARDS ARROW
+<Multi_key> <Multi_key> <Right> <Right> : "→" U2192 # RIGHTWARDS ARROW
+<Multi_key> <Multi_key> <bar> <v> : "↓" U2193 # DOWNWARDS ARROW
+<Multi_key> <Multi_key> <v> <bar> : "↓" U2193 # DOWNWARDS ARROW
+<Multi_key> <Multi_key> <Down> <Down> : "↓" U2193 # DOWNWARDS ARROW
+<Multi_key> <Multi_key> <less> <greater> : "↔" U2194 # LEFT RIGHT ARROW
+<Multi_key> <Multi_key> <Left> <Right> : "↔" U2194 # LEFT RIGHT ARROW
+<Multi_key> <Multi_key> <Right> <Left> : "↔" U2194 # LEFT RIGHT ARROW
+<Multi_key> <Multi_key> <Up> <Down> : "↕" U2195 # UP DOWN ARROW
+
+# Keyboard symbols and circle arrows
+<Multi_key> <Multi_key> <K> <B> <l> <f> : "↴" U21B4 # RIGHTWARDS ARROW WITH CORNER
+ # DOWNWARDS
+ # = line feed
+<Multi_key> <Multi_key> <K> <B> <c> <r> : "↵" U21B5 # DOWNWARDS ARROW WITH CORNER
+ # LEFTWARDS
+ # • may indicate a carriage return or new line
+
+# White arrows and keyboard symbols
+<Multi_key> <Multi_key> <K> <B> <s> <h> : "⇧" U21E7 # UPWARDS WHITE ARROW
+ # = shift
+ # = level 2 select (ISO 9995-7)
+<Multi_key> <Multi_key> <K> <B> <c> <l> <period> : "⇪" U21EA # UPWARDS WHITE ARROW FROM BAR
+ # = caps lock
+<Multi_key> <Multi_key> <K> <B> <c> <l> <underscore> : "⇬" U21EC # UPWARDS WHITE ARROW ON PEDESTAL WITH
+ # HORIZONTAL BAR
+ # = capitals (caps) lock
+<Multi_key> <Multi_key> <K> <B> <n> <l> : "⇭" U21ED # UPWARDS WHITE ARROW ON PEDESTAL WITH
+ # VERTICAL BAR
+ # = numeric lock
+<Multi_key> <Multi_key> <K> <B> <Home> <bar> : "⇱" U21F1 # NORTH WEST ARROW TO CORNER
+ # = home
+<Multi_key> <Multi_key> <K> <B> <End> <bar> : "⇲" U21F2 # SOUTH EAST ARROW TO CORNER
+ # = end
diff --git a/.XCompose.ctrlpics b/.XCompose.ctrlpics
new file mode 100644
index 0000000..393e9b6
--- /dev/null
+++ b/.XCompose.ctrlpics
@@ -0,0 +1,51 @@
+#
+# Control Pictures
+# Range: 2400–243F
+#
+
+# Graphic pictures for control codes
+<Multi_key> <Multi_key> <C> <0> <n> <u> <l> : "␀" U2400 # SYMBOL FOR NULL
+<Multi_key> <Multi_key> <C> <0> <s> <o> <h> : "␁" U2401 # SYMBOL FOR START OF HEADING
+<Multi_key> <Multi_key> <C> <0> <s> <t> <x> : "␂" U2402 # SYMBOL FOR START OF TEXT
+<Multi_key> <Multi_key> <C> <0> <e> <t> <x> : "␃" U2403 # SYMBOL FOR END OF TEXT
+<Multi_key> <Multi_key> <C> <0> <e> <o> <t> : "␄" U2404 # SYMBOL FOR END OF TRANSMISSION
+<Multi_key> <Multi_key> <C> <0> <e> <n> <q> : "␅" U2405 # SYMBOL FOR ENQUIRY
+<Multi_key> <Multi_key> <C> <0> <a> <c> <k> : "␆" U2406 # SYMBOL FOR ACKNOWLEDGE
+<Multi_key> <Multi_key> <C> <0> <b> <e> <l> : "␇" U2407 # SYMBOL FOR BELL
+<Multi_key> <Multi_key> <C> <0> <b> <s> : "␈" U2408 # SYMBOL FOR BACKSPACE
+<Multi_key> <Multi_key> <C> <0> <h> <t> : "␉" U2409 # SYMBOL FOR HORIZONTAL TABULATION
+<Multi_key> <Multi_key> <C> <0> <l> <f> : "␊" U240A # SYMBOL FOR LINE FEED
+<Multi_key> <Multi_key> <C> <0> <v> <t> : "␋" U240B # SYMBOL FOR VERTICAL TABULATION
+<Multi_key> <Multi_key> <C> <0> <f> <f> : "␌" U240C # SYMBOL FOR FORM FEED
+<Multi_key> <Multi_key> <C> <0> <c> <r> : "␍" U240D # SYMBOL FOR CARRIAGE RETURN
+<Multi_key> <Multi_key> <C> <0> <s> <o> : "␎" U240E # SYMBOL FOR SHIFT OUT
+<Multi_key> <Multi_key> <C> <0> <s> <i> : "␏" U240F # SYMBOL FOR SHIFT IN
+<Multi_key> <Multi_key> <C> <0> <d> <l> <e> : "␐" U2410 # SYMBOL FOR DATA LINK ESCAPE
+<Multi_key> <Multi_key> <C> <0> <d> <c> <1> : "␑" U2411 # SYMBOL FOR DEVICE CONTROL ONE
+<Multi_key> <Multi_key> <C> <0> <d> <c> <2> : "␒" U2412 # SYMBOL FOR DEVICE CONTROL TWO
+<Multi_key> <Multi_key> <C> <0> <d> <c> <3> : "␓" U2413 # SYMBOL FOR DEVICE CONTROL THREE
+<Multi_key> <Multi_key> <C> <0> <d> <c> <4> : "␔" U2414 # SYMBOL FOR DEVICE CONTROL FOUR
+<Multi_key> <Multi_key> <C> <0> <n> <a> <k> : "␕" U2415 # SYMBOL FOR NEGATIVE ACKNOWLEDGE
+<Multi_key> <Multi_key> <C> <0> <s> <y> <n> : "␖" U2416 # SYMBOL FOR SYNCHRONOUS IDLE
+<Multi_key> <Multi_key> <C> <0> <e> <t> <b> : "␗" U2417 # SYMBOL FOR END OF TRANSMISSION BLOCK
+<Multi_key> <Multi_key> <C> <0> <c> <a> <n> : "␘" U2418 # SYMBOL FOR CANCEL
+<Multi_key> <Multi_key> <C> <0> <e> <m> : "␙" U2419 # SYMBOL FOR END OF MEDIUM
+<Multi_key> <Multi_key> <C> <0> <s> <u> <b> : "␚" U241A # SYMBOL FOR SUBSTITUTE
+<Multi_key> <Multi_key> <C> <0> <e> <s> <c> : "␛" U241B # SYMBOL FOR ESCAPE
+<Multi_key> <Multi_key> <C> <0> <f> <s> : "␜" U241C # SYMBOL FOR FILE SEPARATOR
+<Multi_key> <Multi_key> <C> <0> <g> <s> : "␝" U241D # SYMBOL FOR GROUP SEPARATOR
+<Multi_key> <Multi_key> <C> <0> <r> <s> : "␞" U241E # SYMBOL FOR RECORD SEPARATOR
+<Multi_key> <Multi_key> <C> <0> <u> <s> : "␟" U241F # SYMBOL FOR UNIT SEPARATOR
+<Multi_key> <Multi_key> <C> <0> <s> <p> : "␠" U2420 # SYMBOL FOR SPACE
+<Multi_key> <Multi_key> <C> <0> <d> <e> <l> : "␡" U2421 # SYMBOL FOR DELETE
+
+# Specific symbols for space
+<Multi_key> <Multi_key> <S> <P> <b> <l> : "␢" U2422 # BLANK SYMBOL
+ # • graphic for space
+→ 0180 ƀ latin small letter b with stroke
+<Multi_key> <Multi_key> <S> <P> <o> <b> : "␣" U2423 # OPEN BOX
+ # • graphic for space
+ # → 2334 ⌴ counterbore
+
+# Graphic picture for control code
+<Multi_key> <Multi_key> <S> <P> <n> <l> : "␤" U2424 # SYMBOL FOR NEWLINE
diff --git a/.XCompose.dingbats b/.XCompose.dingbats
new file mode 100644
index 0000000..6196d49
--- /dev/null
+++ b/.XCompose.dingbats
@@ -0,0 +1,16 @@
+#
+# Dingbats
+# Range: 2700–27BF
+#
+
+# Miscellaneous
+<Multi_key> <Multi_key> <8> <less> : "✂" U2702 # BLACK SCISSORS
+<Multi_key> <Multi_key> <f> <w> : "✍" U270D # WRITING HAND
+<Multi_key> <Multi_key> <f> <p> <Down> : "✎" U270E # LOWER RIGHT PENCIL
+<Multi_key> <Multi_key> <f> <p> <slash> : "✎" U270E # LOWER RIGHT PENCIL
+<Multi_key> <Multi_key> <f> <p> <minus> : "✏" U270F # PENCIL
+<Multi_key> <Multi_key> <f> <p> <backslash> : "✐" U2710 # UPPER RIGHT PENCIL
+<Multi_key> <Multi_key> <at> <slash> : "✓" U2713 # CHECK MARK
+<Multi_key> <Multi_key> <at> <at> <slash> : "✔" U2714 # HEAVY CHECK MARK
+<Multi_key> <Multi_key> <at> <X> : "✗" U2717 # BALLOT X
+<Multi_key> <Multi_key> <at> <at> <X> : "✘" U2718 # HEAVY BALLOT X
diff --git a/.XCompose.greek b/.XCompose.greek
new file mode 100644
index 0000000..f597dd2
--- /dev/null
+++ b/.XCompose.greek
@@ -0,0 +1,61 @@
+#
+# Greek and Coptic
+# Range: 0370–03FF
+#
+
+# MICRO SIGN (U00B5) is different from GREEK SMALL LETTER MU (U03BC).
+# Cf. <https://en.wikipedia.org/wiki/Micro-#Symbol_encoding_in_character_sets>.
+# MICRO SIGN exists as:
+# <Multi_key> <m> <u> : "µ" mu # MICRO SIGN
+# <Multi_key> <slash> <u> : "µ" mu # MICRO SIGN
+# <Multi_key> <u> <slash> : "µ" mu # MICRO SIGN
+
+# Letters
+<Multi_key> <Multi_key> <G> <A> : "Α" U0391 # GREEK CAPITAL LETTER ALPHA
+<Multi_key> <Multi_key> <G> <a> : "α" U03B1 # GREEK SMALL LETTER ALPHA
+<Multi_key> <Multi_key> <G> <B> : "Β" U0392 # GREEK CAPITAL LETTER BETA
+<Multi_key> <Multi_key> <G> <b> : "β" U03B2 # GREEK SMALL LETTER BETA
+<Multi_key> <Multi_key> <G> <D> : "Δ" U0394 # GREEK CAPITAL LETTER DELTA
+<Multi_key> <Multi_key> <G> <d> : "δ" U03B4 # GREEK SMALL LETTER DELTA
+<Multi_key> <Multi_key> <G> <E> : "Ε" U0395 # GREEK CAPITAL LETTER EPSILON
+<Multi_key> <Multi_key> <G> <e> : "ε" U03B5 # GREEK SMALL LETTER EPSILON
+<Multi_key> <Multi_key> <G> <F> : "Φ" U03A6 # GREEK CAPITAL LETTER PHI
+<Multi_key> <Multi_key> <G> <f> : "φ" U03C6 # GREEK SMALL LETTER PHI
+<Multi_key> <Multi_key> <G> <G> : "Γ" U0393 # GREEK CAPITAL LETTER GAMMA
+<Multi_key> <Multi_key> <G> <g> : "γ" U03B3 # GREEK SMALL LETTER GAMMA
+<Multi_key> <Multi_key> <G> <H> : "Η" U0397 # GREEK CAPITAL LETTER ETA
+<Multi_key> <Multi_key> <G> <h> : "η" U03B7 # GREEK SMALL LETTER ETA
+<Multi_key> <Multi_key> <G> <I> : "Ι" U0399 # GREEK CAPITAL LETTER IOTA
+<Multi_key> <Multi_key> <G> <i> : "ι" U03B9 # GREEK SMALL LETTER IOTA
+<Multi_key> <Multi_key> <G> <J> : "Θ" U0398 # GREEK CAPITAL LETTER THETA
+<Multi_key> <Multi_key> <G> <j> : "θ" U03B8 # GREEK SMALL LETTER THETA
+<Multi_key> <Multi_key> <G> <K> : "Κ" U039A # GREEK CAPITAL LETTER KAPPA
+<Multi_key> <Multi_key> <G> <k> : "κ" U03BA # GREEK SMALL LETTER KAPPA
+<Multi_key> <Multi_key> <G> <L> : "Λ" U039B # GREEK CAPITAL LETTER LAMDA
+<Multi_key> <Multi_key> <G> <l> : "λ" U03BB # GREEK SMALL LETTER LAMDA
+<Multi_key> <Multi_key> <G> <M> : "Μ" U039C # GREEK CAPITAL LETTER MU
+<Multi_key> <Multi_key> <G> <m> : "μ" U03BC # GREEK SMALL LETTER MU
+<Multi_key> <Multi_key> <G> <N> : "Ν" U039D # GREEK CAPITAL LETTER NU
+<Multi_key> <Multi_key> <G> <n> : "ν" U03BD # GREEK SMALL LETTER NU
+<Multi_key> <Multi_key> <G> <O> : "Ο" U039F # GREEK CAPITAL LETTER OMICRON
+<Multi_key> <Multi_key> <G> <o> : "ο" U03BF # GREEK SMALL LETTER OMICRON
+<Multi_key> <Multi_key> <G> <P> : "Π" U03A0 # GREEK CAPITAL LETTER PI
+<Multi_key> <Multi_key> <G> <p> : "π" U03C0 # GREEK SMALL LETTER PI
+<Multi_key> <Multi_key> <G> <Q> : "Χ" U03A7 # GREEK CAPITAL LETTER CHI
+<Multi_key> <Multi_key> <G> <q> : "χ" U03C7 # GREEK SMALL LETTER CHI
+<Multi_key> <Multi_key> <G> <R> : "Ρ" U03A1 # GREEK CAPITAL LETTER RHO
+<Multi_key> <Multi_key> <G> <r> : "ρ" U03C1 # GREEK SMALL LETTER RHO
+<Multi_key> <Multi_key> <G> <S> : "Σ" U03A3 # GREEK CAPITAL LETTER SIGMA
+<Multi_key> <Multi_key> <G> <s> : "σ" U03C3 # GREEK SMALL LETTER SIGMA
+<Multi_key> <Multi_key> <G> <T> : "Τ" U03A4 # GREEK CAPITAL LETTER TAU
+<Multi_key> <Multi_key> <G> <t> : "τ" U03C4 # GREEK SMALL LETTER TAU
+<Multi_key> <Multi_key> <G> <U> : "Υ" U03A5 # GREEK CAPITAL LETTER UPSILON
+<Multi_key> <Multi_key> <G> <u> : "υ" U03C5 # GREEK SMALL LETTER UPSILON
+<Multi_key> <Multi_key> <G> <W> : "Ω" U03A9 # GREEK CAPITAL LETTER OMEGA
+<Multi_key> <Multi_key> <G> <w> : "ω" U03C9 # GREEK SMALL LETTER OMEGA
+<Multi_key> <Multi_key> <G> <X> : "Ξ" U039E # GREEK CAPITAL LETTER XI
+<Multi_key> <Multi_key> <G> <x> : "ξ" U03BE # GREEK SMALL LETTER XI
+<Multi_key> <Multi_key> <G> <Y> : "Ψ" U03A8 # GREEK CAPITAL LETTER PSI
+<Multi_key> <Multi_key> <G> <y> : "ψ" U03C8 # GREEK SMALL LETTER PSI
+<Multi_key> <Multi_key> <G> <Z> : "Ζ" U0396 # GREEK CAPITAL LETTER ZETA
+<Multi_key> <Multi_key> <G> <z> : "ζ" U03B6 # GREEK SMALL LETTER ZETA
diff --git a/.XCompose.hiragana b/.XCompose.hiragana
new file mode 100644
index 0000000..24abf0f
--- /dev/null
+++ b/.XCompose.hiragana
@@ -0,0 +1,105 @@
+#
+# Hiragana
+# Range: 3040–309F
+#
+
+# Hiragana letters
+<Multi_key> <Multi_key> <J> <H> <a> : "ぁ" U3041 # HIRAGANA LETTER SMALL A
+<Multi_key> <Multi_key> <J> <H> <A> : "あ" U3042 # HIRAGANA LETTER A
+<Multi_key> <Multi_key> <J> <H> <i> : "ぃ" U3043 # HIRAGANA LETTER SMALL I
+<Multi_key> <Multi_key> <J> <H> <I> : "い" U3044 # HIRAGANA LETTER I
+<Multi_key> <Multi_key> <J> <H> <u> : "ぅ" U3045 # HIRAGANA LETTER SMALL U
+<Multi_key> <Multi_key> <J> <H> <U> : "う" U3046 # HIRAGANA LETTER U
+<Multi_key> <Multi_key> <J> <H> <e> : "ぇ" U3047 # HIRAGANA LETTER SMALL E
+<Multi_key> <Multi_key> <J> <H> <E> : "え" U3048 # HIRAGANA LETTER E
+<Multi_key> <Multi_key> <J> <H> <o> : "ぉ" U3049 # HIRAGANA LETTER SMALL O
+<Multi_key> <Multi_key> <J> <H> <O> : "お" U304A # HIRAGANA LETTER O
+<Multi_key> <Multi_key> <J> <H> <K> <A> : "か" U304B # HIRAGANA LETTER KA
+<Multi_key> <Multi_key> <J> <H> <G> <A> : "が" U304C # HIRAGANA LETTER GA
+<Multi_key> <Multi_key> <J> <H> <K> <I> : "き" U304D # HIRAGANA LETTER KI
+<Multi_key> <Multi_key> <J> <H> <G> <I> : "ぎ" U304E # HIRAGANA LETTER GI
+<Multi_key> <Multi_key> <J> <H> <K> <U> : "く" U304F # HIRAGANA LETTER KU
+<Multi_key> <Multi_key> <J> <H> <G> <U> : "ぐ" U3050 # HIRAGANA LETTER GU
+<Multi_key> <Multi_key> <J> <H> <K> <E> : "け" U3051 # HIRAGANA LETTER KE
+<Multi_key> <Multi_key> <J> <H> <G> <E> : "げ" U3052 # HIRAGANA LETTER GE
+<Multi_key> <Multi_key> <J> <H> <K> <O> : "こ" U3053 # HIRAGANA LETTER KO
+<Multi_key> <Multi_key> <J> <H> <G> <O> : "ご" U3054 # HIRAGANA LETTER GO
+<Multi_key> <Multi_key> <J> <H> <S> <A> : "さ" U3055 # HIRAGANA LETTER SA
+<Multi_key> <Multi_key> <J> <H> <Z> <A> : "ざ" U3056 # HIRAGANA LETTER ZA
+<Multi_key> <Multi_key> <J> <H> <S> <I> : "し" U3057 # HIRAGANA LETTER SI / SHI
+<Multi_key> <Multi_key> <J> <H> <S> <H> <I> : "し" U3057 # HIRAGANA LETTER SI / SHI
+<Multi_key> <Multi_key> <J> <H> <Z> <I> : "じ" U3058 # HIRAGANA LETTER ZI / JI (not unique)
+<Multi_key> <Multi_key> <J> <H> <J> <I> : "じ" U3058 # HIRAGANA LETTER ZI / JI (not unique)
+<Multi_key> <Multi_key> <J> <H> <S> <U> : "す" U3059 # HIRAGANA LETTER SU
+<Multi_key> <Multi_key> <J> <H> <Z> <U> : "ず" U305A # HIRAGANA LETTER ZU
+<Multi_key> <Multi_key> <J> <H> <S> <E> : "せ" U305B # HIRAGANA LETTER SE
+<Multi_key> <Multi_key> <J> <H> <Z> <E> : "ぜ" U305C # HIRAGANA LETTER ZE
+<Multi_key> <Multi_key> <J> <H> <S> <O> : "そ" U305D # HIRAGANA LETTER SO
+<Multi_key> <Multi_key> <J> <H> <Z> <O> : "ぞ" U305E # HIRAGANA LETTER ZO
+<Multi_key> <Multi_key> <J> <H> <T> <A> : "た" U305F # HIRAGANA LETTER TA
+<Multi_key> <Multi_key> <J> <H> <D> <A> : "だ" U3060 # HIRAGANA LETTER DA
+<Multi_key> <Multi_key> <J> <H> <T> <I> : "ち" U3061 # HIRAGANA LETTER TI / CHI
+<Multi_key> <Multi_key> <J> <H> <C> <H> <I> : "ち" U3061 # HIRAGANA LETTER TI / CHI
+<Multi_key> <Multi_key> <J> <H> <D> <I> : "ぢ" U3062 # HIRAGANA LETTER DI / JI (not unique)
+<Multi_key> <Multi_key> <J> <H> <J> <I> : "ぢ" U3062 # HIRAGANA LETTER DI / JI (not unique)
+<Multi_key> <Multi_key> <J> <H> <t> <u> : "っ" U3063 # HIRAGANA LETTER SMALL TU / SMALL TSU
+<Multi_key> <Multi_key> <J> <H> <t> <s> <u> : "っ" U3063 # HIRAGANA LETTER SMALL TU / SMALL TSU
+<Multi_key> <Multi_key> <J> <H> <T> <U> : "つ" U3064 # HIRAGANA LETTER TU / TSU
+<Multi_key> <Multi_key> <J> <H> <T> <S> <U> : "つ" U3064 # HIRAGANA LETTER TU / TSU
+<Multi_key> <Multi_key> <J> <H> <D> <U> : "づ" U3065 # HIRAGANA LETTER DU / ZU (not unique)
+<Multi_key> <Multi_key> <J> <H> <Z> <U> : "づ" U3065 # HIRAGANA LETTER DU / ZU (not unique)
+<Multi_key> <Multi_key> <J> <H> <T> <E> : "て" U3066 # HIRAGANA LETTER TE
+<Multi_key> <Multi_key> <J> <H> <D> <E> : "で" U3067 # HIRAGANA LETTER DE
+<Multi_key> <Multi_key> <J> <H> <T> <O> : "と" U3068 # HIRAGANA LETTER TO
+<Multi_key> <Multi_key> <J> <H> <D> <O> : "ど" U3069 # HIRAGANA LETTER DO
+<Multi_key> <Multi_key> <J> <H> <N> <A> : "な" U306A # HIRAGANA LETTER NA
+<Multi_key> <Multi_key> <J> <H> <N> <I> : "に" U306B # HIRAGANA LETTER NI
+<Multi_key> <Multi_key> <J> <H> <N> <U> : "ぬ" U306C # HIRAGANA LETTER NU
+<Multi_key> <Multi_key> <J> <H> <N> <E> : "ね" U306D # HIRAGANA LETTER NE
+<Multi_key> <Multi_key> <J> <H> <N> <O> : "の" U306E # HIRAGANA LETTER NO
+<Multi_key> <Multi_key> <J> <H> <H> <A> : "は" U306F # HIRAGANA LETTER HA
+<Multi_key> <Multi_key> <J> <H> <B> <A> : "ば" U3070 # HIRAGANA LETTER BA
+<Multi_key> <Multi_key> <J> <H> <P> <A> : "ぱ" U3071 # HIRAGANA LETTER PA
+<Multi_key> <Multi_key> <J> <H> <H> <I> : "ひ" U3072 # HIRAGANA LETTER HI
+<Multi_key> <Multi_key> <J> <H> <B> <I> : "び" U3073 # HIRAGANA LETTER BI
+<Multi_key> <Multi_key> <J> <H> <P> <I> : "ぴ" U3074 # HIRAGANA LETTER PI
+<Multi_key> <Multi_key> <J> <H> <H> <U> : "ふ" U3075 # HIRAGANA LETTER HU
+<Multi_key> <Multi_key> <J> <H> <B> <U> : "ぶ" U3076 # HIRAGANA LETTER BU
+<Multi_key> <Multi_key> <J> <H> <P> <U> : "ぷ" U3077 # HIRAGANA LETTER PU
+<Multi_key> <Multi_key> <J> <H> <H> <E> : "へ" U3078 # HIRAGANA LETTER HE
+<Multi_key> <Multi_key> <J> <H> <B> <E> : "べ" U3079 # HIRAGANA LETTER BE
+<Multi_key> <Multi_key> <J> <H> <P> <E> : "ぺ" U307A # HIRAGANA LETTER PE
+<Multi_key> <Multi_key> <J> <H> <H> <O> : "ほ" U307B # HIRAGANA LETTER HO
+<Multi_key> <Multi_key> <J> <H> <B> <O> : "ぼ" U307C # HIRAGANA LETTER BO
+<Multi_key> <Multi_key> <J> <H> <P> <O> : "ぽ" U307D # HIRAGANA LETTER PO
+<Multi_key> <Multi_key> <J> <H> <M> <A> : "ま" U307E # HIRAGANA LETTER MA
+<Multi_key> <Multi_key> <J> <H> <M> <I> : "み" U307F # HIRAGANA LETTER MI
+<Multi_key> <Multi_key> <J> <H> <M> <U> : "む" U3080 # HIRAGANA LETTER MU
+<Multi_key> <Multi_key> <J> <H> <M> <E> : "め" U3081 # HIRAGANA LETTER ME
+<Multi_key> <Multi_key> <J> <H> <M> <O> : "も" U3082 # HIRAGANA LETTER MO
+<Multi_key> <Multi_key> <J> <H> <y> <a> : "ゃ" U3083 # HIRAGANA LETTER SMALL YA
+<Multi_key> <Multi_key> <J> <H> <Y> <A> : "や" U3084 # HIRAGANA LETTER YA
+<Multi_key> <Multi_key> <J> <H> <y> <u> : "ゅ" U3085 # HIRAGANA LETTER SMALL YU
+<Multi_key> <Multi_key> <J> <H> <Y> <U> : "ゆ" U3086 # HIRAGANA LETTER YU
+<Multi_key> <Multi_key> <J> <H> <y> <o> : "ょ" U3087 # HIRAGANA LETTER SMALL YO
+<Multi_key> <Multi_key> <J> <H> <Y> <O> : "よ" U3088 # HIRAGANA LETTER YO
+<Multi_key> <Multi_key> <J> <H> <R> <A> : "ら" U3089 # HIRAGANA LETTER RA
+<Multi_key> <Multi_key> <J> <H> <R> <I> : "り" U308A # HIRAGANA LETTER RI
+<Multi_key> <Multi_key> <J> <H> <R> <U> : "る" U308B # HIRAGANA LETTER RU
+<Multi_key> <Multi_key> <J> <H> <R> <E> : "れ" U308C # HIRAGANA LETTER RE
+<Multi_key> <Multi_key> <J> <H> <R> <O> : "ろ" U308D # HIRAGANA LETTER RO
+<Multi_key> <Multi_key> <J> <H> <w> <a> : "ゎ" U308E # HIRAGANA LETTER SMALL WA
+<Multi_key> <Multi_key> <J> <H> <W> <A> : "わ" U308F # HIRAGANA LETTER WA
+<Multi_key> <Multi_key> <J> <H> <W> <I> : "ゐ" U3090 # HIRAGANA LETTER WI
+<Multi_key> <Multi_key> <J> <H> <W> <E> : "ゑ" U3091 # HIRAGANA LETTER WE
+<Multi_key> <Multi_key> <J> <H> <W> <O> : "を" U3092 # HIRAGANA LETTER WO
+<Multi_key> <Multi_key> <J> <H> <N> <period> : "ん" U3093 # HIRAGANA LETTER N
+<Multi_key> <Multi_key> <J> <H> <V> <U> : "ゔ" U3094 # HIRAGANA LETTER VU
+
+# Small letters
+<Multi_key> <Multi_key> <J> <H> <k> <a> : "ゕ" U3095 # HIRAGANA LETTER SMALL KA
+<Multi_key> <Multi_key> <J> <H> <k> <e> : "ゖ" U3096 # HIRAGANA LETTER SMALL KE
+
+# Iteration marks
+<Multi_key> <Multi_key> <J> <H> <I> <M> : "ゝ" U309D # HIRAGANA ITERATION MARK
+<Multi_key> <Multi_key> <J> <H> <I> <M> <V> : "ゞ" U309E # HIRAGANA VOICED ITERATION MARK
diff --git a/.XCompose.katakana b/.XCompose.katakana
new file mode 100644
index 0000000..10aca1d
--- /dev/null
+++ b/.XCompose.katakana
@@ -0,0 +1,111 @@
+#
+# Katakana
+# Range: 30A0–30FF
+#
+
+# Katakana letters
+<Multi_key> <Multi_key> <J> <K> <a> : "ァ" U30A1 # KATAKANA LETTER SMALL A
+<Multi_key> <Multi_key> <J> <K> <A> : "ア" U30A2 # KATAKANA LETTER A
+<Multi_key> <Multi_key> <J> <K> <i> : "ィ" U30A3 # KATAKANA LETTER SMALL I
+<Multi_key> <Multi_key> <J> <K> <I> : "イ" U30A4 # KATAKANA LETTER I
+<Multi_key> <Multi_key> <J> <K> <u> : "ゥ" U30A5 # KATAKANA LETTER SMALL U
+<Multi_key> <Multi_key> <J> <K> <U> : "ウ" U30A6 # KATAKANA LETTER U
+<Multi_key> <Multi_key> <J> <K> <e> : "ェ" U30A7 # KATAKANA LETTER SMALL E
+<Multi_key> <Multi_key> <J> <K> <E> : "エ" U30A8 # KATAKANA LETTER E
+<Multi_key> <Multi_key> <J> <K> <o> : "ォ" U30A9 # KATAKANA LETTER SMALL O
+<Multi_key> <Multi_key> <J> <K> <O> : "オ" U30AA # KATAKANA LETTER O
+<Multi_key> <Multi_key> <J> <K> <K> <A> : "カ" U30AB # KATAKANA LETTER KA
+<Multi_key> <Multi_key> <J> <K> <G> <A> : "ガ" U30AC # KATAKANA LETTER GA
+<Multi_key> <Multi_key> <J> <K> <K> <I> : "キ" U30AD # KATAKANA LETTER KI
+<Multi_key> <Multi_key> <J> <K> <G> <I> : "ギ" U30AE # KATAKANA LETTER GI
+<Multi_key> <Multi_key> <J> <K> <K> <U> : "ク" U30AF # KATAKANA LETTER KU
+<Multi_key> <Multi_key> <J> <K> <G> <U> : "グ" U30B0 # KATAKANA LETTER GU
+<Multi_key> <Multi_key> <J> <K> <K> <E> : "ケ" U30B1 # KATAKANA LETTER KE
+<Multi_key> <Multi_key> <J> <K> <G> <E> : "ゲ" U30B2 # KATAKANA LETTER GE
+<Multi_key> <Multi_key> <J> <K> <K> <O> : "コ" U30B3 # KATAKANA LETTER KO
+<Multi_key> <Multi_key> <J> <K> <G> <O> : "ゴ" U30B4 # KATAKANA LETTER GO
+<Multi_key> <Multi_key> <J> <K> <S> <A> : "サ" U30B5 # KATAKANA LETTER SA
+<Multi_key> <Multi_key> <J> <K> <Z> <A> : "ザ" U30B6 # KATAKANA LETTER ZA
+<Multi_key> <Multi_key> <J> <K> <S> <I> : "シ" U30B7 # KATAKANA LETTER SI / SHI
+<Multi_key> <Multi_key> <J> <K> <S> <H> <I> : "シ" U30B7 # KATAKANA LETTER SI / SHI
+<Multi_key> <Multi_key> <J> <K> <Z> <I> : "ジ" U30B8 # KATAKANA LETTER ZI / JI (not unique)
+<Multi_key> <Multi_key> <J> <K> <J> <I> : "ジ" U30B8 # KATAKANA LETTER ZI / JI (not unique)
+<Multi_key> <Multi_key> <J> <K> <S> <U> : "ス" U30B9 # KATAKANA LETTER SU
+<Multi_key> <Multi_key> <J> <K> <Z> <U> : "ズ" U30BA # KATAKANA LETTER ZU
+<Multi_key> <Multi_key> <J> <K> <S> <E> : "セ" U30BB # KATAKANA LETTER SE
+<Multi_key> <Multi_key> <J> <K> <Z> <E> : "ゼ" U30BC # KATAKANA LETTER ZE
+<Multi_key> <Multi_key> <J> <K> <S> <O> : "ソ" U30BD # KATAKANA LETTER SO
+<Multi_key> <Multi_key> <J> <K> <Z> <O> : "ゾ" U30BE # KATAKANA LETTER ZO
+<Multi_key> <Multi_key> <J> <K> <T> <A> : "タ" U30BF # KATAKANA LETTER TA
+<Multi_key> <Multi_key> <J> <K> <D> <A> : "ダ" U30C0 # KATAKANA LETTER DA
+<Multi_key> <Multi_key> <J> <K> <T> <I> : "チ" U30C1 # KATAKANA LETTER TI / CHI
+<Multi_key> <Multi_key> <J> <K> <C> <H> <I> : "チ" U30C1 # KATAKANA LETTER TI / CHI
+<Multi_key> <Multi_key> <J> <K> <D> <I> : "ヂ" U30C2 # KATAKANA LETTER DI / JI (not unique)
+<Multi_key> <Multi_key> <J> <K> <J> <I> : "ヂ" U30C2 # KATAKANA LETTER DI / JI (not unique)
+<Multi_key> <Multi_key> <J> <K> <t> <u> : "ッ" U30C3 # KATAKANA LETTER SMALL TU / SMALL TSU
+<Multi_key> <Multi_key> <J> <K> <t> <s> <u> : "ッ" U30C3 # KATAKANA LETTER SMALL TU / SMALL TSU
+<Multi_key> <Multi_key> <J> <K> <T> <U> : "ツ" U30C4 # KATAKANA LETTER TU / TSU
+<Multi_key> <Multi_key> <J> <K> <T> <S> <U> : "ツ" U30C4 # KATAKANA LETTER TU / TSU
+<Multi_key> <Multi_key> <J> <K> <D> <U> : "ヅ" U30C5 # KATAKANA LETTER DU
+<Multi_key> <Multi_key> <J> <K> <T> <E> : "テ" U30C6 # KATAKANA LETTER TE
+<Multi_key> <Multi_key> <J> <K> <D> <E> : "デ" U30C7 # KATAKANA LETTER DE
+<Multi_key> <Multi_key> <J> <K> <T> <O> : "ト" U30C8 # KATAKANA LETTER TO
+<Multi_key> <Multi_key> <J> <K> <D> <O> : "ド" U30C9 # KATAKANA LETTER DO
+<Multi_key> <Multi_key> <J> <K> <N> <A> : "ナ" U30CA # KATAKANA LETTER NA
+<Multi_key> <Multi_key> <J> <K> <N> <I> : "ニ" U30CB # KATAKANA LETTER NI
+<Multi_key> <Multi_key> <J> <K> <N> <U> : "ヌ" U30CC # KATAKANA LETTER NU
+<Multi_key> <Multi_key> <J> <K> <N> <E> : "ネ" U30CD # KATAKANA LETTER NE
+<Multi_key> <Multi_key> <J> <K> <N> <O> : "ノ" U30CE # KATAKANA LETTER NO
+<Multi_key> <Multi_key> <J> <K> <H> <A> : "ハ" U30CF # KATAKANA LETTER HA
+<Multi_key> <Multi_key> <J> <K> <B> <A> : "バ" U30D0 # KATAKANA LETTER BA
+<Multi_key> <Multi_key> <J> <K> <P> <A> : "パ" U30D1 # KATAKANA LETTER PA
+<Multi_key> <Multi_key> <J> <K> <H> <I> : "ヒ" U30D2 # KATAKANA LETTER HI
+<Multi_key> <Multi_key> <J> <K> <B> <I> : "ビ" U30D3 # KATAKANA LETTER BI
+<Multi_key> <Multi_key> <J> <K> <P> <I> : "ピ" U30D4 # KATAKANA LETTER PI
+<Multi_key> <Multi_key> <J> <K> <H> <U> : "フ" U30D5 # KATAKANA LETTER HU / FU
+<Multi_key> <Multi_key> <J> <K> <F> <U> : "フ" U30D5 # KATAKANA LETTER HU / FU
+<Multi_key> <Multi_key> <J> <K> <B> <U> : "ブ" U30D6 # KATAKANA LETTER BU
+<Multi_key> <Multi_key> <J> <K> <P> <U> : "プ" U30D7 # KATAKANA LETTER PU
+<Multi_key> <Multi_key> <J> <K> <H> <E> : "ヘ" U30D8 # KATAKANA LETTER HE
+<Multi_key> <Multi_key> <J> <K> <B> <E> : "ベ" U30D9 # KATAKANA LETTER BE
+<Multi_key> <Multi_key> <J> <K> <P> <E> : "ペ" U30DA # KATAKANA LETTER PE
+<Multi_key> <Multi_key> <J> <K> <H> <O> : "ホ" U30DB # KATAKANA LETTER HO
+<Multi_key> <Multi_key> <J> <K> <B> <O> : "ボ" U30DC # KATAKANA LETTER BO
+<Multi_key> <Multi_key> <J> <K> <P> <O> : "ポ" U30DD # KATAKANA LETTER PO
+<Multi_key> <Multi_key> <J> <K> <M> <A> : "マ" U30DE # KATAKANA LETTER MA
+<Multi_key> <Multi_key> <J> <K> <M> <I> : "ミ" U30DF # KATAKANA LETTER MI
+<Multi_key> <Multi_key> <J> <K> <M> <U> : "ム" U30E0 # KATAKANA LETTER MU
+<Multi_key> <Multi_key> <J> <K> <M> <E> : "メ" U30E1 # KATAKANA LETTER ME
+<Multi_key> <Multi_key> <J> <K> <M> <O> : "モ" U30E2 # KATAKANA LETTER MO
+<Multi_key> <Multi_key> <J> <K> <y> <a> : "ャ" U30E3 # KATAKANA LETTER SMALL YA
+<Multi_key> <Multi_key> <J> <K> <Y> <A> : "ヤ" U30E4 # KATAKANA LETTER YA
+<Multi_key> <Multi_key> <J> <K> <y> <u> : "ュ" U30E5 # KATAKANA LETTER SMALL YU
+<Multi_key> <Multi_key> <J> <K> <Y> <U> : "ユ" U30E6 # KATAKANA LETTER YU
+<Multi_key> <Multi_key> <J> <K> <y> <o> : "ョ" U30E7 # KATAKANA LETTER SMALL YO
+<Multi_key> <Multi_key> <J> <K> <Y> <O> : "ヨ" U30E8 # KATAKANA LETTER YO
+<Multi_key> <Multi_key> <J> <K> <R> <A> : "ラ" U30E9 # KATAKANA LETTER RA
+<Multi_key> <Multi_key> <J> <K> <R> <I> : "リ" U30EA # KATAKANA LETTER RI
+<Multi_key> <Multi_key> <J> <K> <R> <U> : "ル" U30EB # KATAKANA LETTER RU
+<Multi_key> <Multi_key> <J> <K> <R> <E> : "レ" U30EC # KATAKANA LETTER RE
+<Multi_key> <Multi_key> <J> <K> <R> <O> : "ロ" U30ED # KATAKANA LETTER RO
+<Multi_key> <Multi_key> <J> <K> <w> <a> : "ヮ" U30EE # KATAKANA LETTER SMALL WA
+<Multi_key> <Multi_key> <J> <K> <W> <A> : "ワ" U30EF # KATAKANA LETTER WA
+<Multi_key> <Multi_key> <J> <K> <W> <I> : "ヰ" U30F0 # KATAKANA LETTER WI
+<Multi_key> <Multi_key> <J> <K> <W> <E> : "ヱ" U30F1 # KATAKANA LETTER WE
+<Multi_key> <Multi_key> <J> <K> <W> <O> : "ヲ" U30F2 # KATAKANA LETTER WO
+<Multi_key> <Multi_key> <J> <K> <N> <period> : "ン" U30F3 # KATAKANA LETTER N
+<Multi_key> <Multi_key> <J> <K> <V> <U> : "ヴ" U30F4 # KATAKANA LETTER VU
+<Multi_key> <Multi_key> <J> <K> <k> <a> : "ヵ" U30F5 # KATAKANA LETTER SMALL KA
+<Multi_key> <Multi_key> <J> <K> <k> <e> : "ヶ" U30F6 # KATAKANA LETTER SMALL KE
+<Multi_key> <Multi_key> <J> <K> <V> <A> : "ヷ" U30F7 # KATAKANA LETTER VA
+<Multi_key> <Multi_key> <J> <K> <V> <I> : "ヸ" U30F8 # KATAKANA LETTER VI
+<Multi_key> <Multi_key> <J> <K> <V> <E> : "ヹ" U30F9 # KATAKANA LETTER VE
+<Multi_key> <Multi_key> <J> <K> <V> <O> : "ヺ" U30FA # KATAKANA LETTER VO
+
+# Conjunction and length marks
+<Multi_key> <Multi_key> <J> <K> <period> : "・" U30FB # KATAKANA MIDDLE DOT
+<Multi_key> <Multi_key> <J> <K> <minus> : "ー" U30FC # KATAKANA-HIRAGANA PROLONGED SOUND MARK
+
+# Iteration marks
+<Multi_key> <Multi_key> <J> <K> <I> <M> : "ヽ" U30FD # KATAKANA ITERATION MARK
+<Multi_key> <Multi_key> <J> <K> <I> <M> <V> : "ヾ" U30FE # KATAKANA VOICED ITERATION MARK
diff --git a/.XCompose.latinb b/.XCompose.latinb
new file mode 100644
index 0000000..e25861d
--- /dev/null
+++ b/.XCompose.latinb
@@ -0,0 +1,10 @@
+#
+# Latin Extended-B
+# Range: 0180–024F
+#
+
+<Multi_key> <Multi_key> <f> <comma> : "ƒ" U0192 # LATIN SMALL LETTER F WITH HOOK
+ # = script f
+ # = Florin currency symbol (Netherlands)
+ # = function symbol
+ # • used as abbreviation convention for folder
diff --git a/.XCompose.letterlike b/.XCompose.letterlike
new file mode 100644
index 0000000..01bd130
--- /dev/null
+++ b/.XCompose.letterlike
@@ -0,0 +1,42 @@
+#
+# Letterlike Symbols
+# Range: 2100–214F
+#
+
+# Letterlike symbols
+# TODO:
+# 2102 C DOUBLE-STRUCK CAPITAL C
+# = the set of complex numbers
+<Multi_key> <Multi_key> <c> <slash> <o> : "℅" U2105 # CARE OF
+# TODO:
+# 2107 Ɛ EULER CONSTANT
+# 210A g SCRIPT SMALL G
+# = real number symbol
+# 2111 I BLACK-LETTER CAPITAL I
+# = imaginary part
+# 2115 N DOUBLE-STRUCK CAPITAL N
+# = natural number
+<Multi_key> <Multi_key> <o> <p> : "℗" U2117 # SOUND RECORDING COPYRIGHT
+ # = published
+ # = phonorecord sign
+<Multi_key> <Multi_key> <o> <P> : "℗" U2117 # SOUND RECORDING COPYRIGHT
+<Multi_key> <Multi_key> <O> <p> : "℗" U2117 # SOUND RECORDING COPYRIGHT
+<Multi_key> <Multi_key> <O> <P> : "℗" U2117 # SOUND RECORDING COPYRIGHT
+# TODO:
+# 211A Q DOUBLE-STRUCK CAPITAL Q
+# = the set of rational numbers
+# 211C R BLACK-LETTER CAPITAL R
+# = real part
+# 211D R DOUBLE-STRUCK CAPITAL R
+# = the set of real numbers
+# 2124 Z DOUBLE-STRUCK CAPITAL Z
+# = the set of integers
+# 212A K KELVIN SIGN
+# 212F e SCRIPT SMALL E
+# = error
+# = natural exponent
+<Multi_key> <Multi_key> <a> <l> <e> <p> <h> : "ℵ" U2135 # ALEF SYMBOL
+ # = first transfinite cardinal (countable)
+<Multi_key> <Multi_key> <a> <l> <e> <f> : "ℵ" U2135 # ALEF SYMBOL
+<Multi_key> <Multi_key> <a> <l> <e> <p> <0> : "ℵ₀" # Aleph-naught
+<Multi_key> <Multi_key> <a> <l> <e> <p> <1> : "ℵ₁" # Aleph-one
diff --git a/.XCompose.math b/.XCompose.math
new file mode 100644
index 0000000..a0b8484
--- /dev/null
+++ b/.XCompose.math
@@ -0,0 +1,197 @@
+#
+# Mathematical operators
+# Range: 2200–22FF
+#
+
+# Miscellaneous mathematical symbols
+<Multi_key> <Multi_key> <A> <A> : "∀" U2200 # FOR ALL
+ # = universal quantifier
+<Multi_key> <Multi_key> <p> <a> <r> <t> : "∂" U2202 # PARTIAL DIFFERENTIAL
+<Multi_key> <Multi_key> <p> <d> <i> <f> : "∂" U2202 # PARTIAL DIFFERENTIAL
+<Multi_key> <Multi_key> <E> <E> : "∃" U2203 # THERE EXISTS
+ # = existential quantifier
+<Multi_key> <Multi_key> <slash> <E> <E> : "∄" U2204 # THERE DOES NOT EXIST
+<Multi_key> <Multi_key> <l> <a> <p> : "∆" U2206 # INCREMENT
+ # = Laplace operator
+ # = forward difference
+ # = symmetric difference (in set theory)
+<Multi_key> <Multi_key> <d> <i> <f> : "∆" U2206 # INCREMENT
+<Multi_key> <Multi_key> <d> <i> <f> <f> : "∆" U2206 # INCREMENT
+<Multi_key> <Multi_key> <d> <e> <l> : "∇" U2207 # NABLA
+ # = backward difference
+ # = gradient, del
+
+# Set membership
+<Multi_key> <Multi_key> <i> <n> : "∈" U2208 # ELEMENT OF
+<Multi_key> <Multi_key> <exclam> <i> <n> : "∉" U2209 # NOT AN ELEMENT OF
+<Multi_key> <Multi_key> <slash> <i> <n> : "∉" U2209 # NOT AN ELEMENT OF
+<Multi_key> <Multi_key> <n> <i> : "∋" U220B # CONTAINS AS MEMBER
+ # = such that
+<Multi_key> <Multi_key> <exclaim> <n> <i> : "∌" U220C # DOES NOT CONTAIN AS MEMBER
+<Multi_key> <Multi_key> <slash> <n> <i> : "∌" U220C # DOES NOT CONTAIN AS MEMBER
+
+# Miscellaneous mathematical symbol
+<Multi_key> <Multi_key> <Q> <E> <D> : "∎" U220E # END OF PROOF
+ # = q.e.d.
+<Multi_key> <Multi_key> <q> <e> <d> : "∎" U220E # END OF PROOF
+
+# N-ary operators
+<Multi_key> <Multi_key> <p> <r> <o> <d> : "∏" U220F # N-ARY PRODUCT
+ # = product sign
+<Multi_key> <Multi_key> <s> <u> <m> : "∑" U2211 # N-ARY SUMMATION
+ # = summation sign
+
+# Operators
+<Multi_key> <Multi_key> <minus> <period> : "−" U2212 # MINUS
+<Multi_key> <Multi_key> <minus> <plus> : "∓" U2213 # MINUS-OR-PLUS SIGN
+<Multi_key> <Multi_key> <slash> <slash> : "∕" U2215 # DIVISION SLASH
+<Multi_key> <Multi_key> <d> <i> <v> : "∕" U2215 # DIVISION SLASH
+ # • generic division operator
+<Multi_key> <Multi_key> <asterisk> <o> : "∘" U2218 # RING OPERATOR
+ # = composite function
+ # = APL jot
+# SQUARE ROOT exists as:
+# <Multi_key> <v> <slash>
+# <Multi_key> <slash> <v>
+<Multi_key> <Multi_key> <3> <v> <slash> : "∛" U221B # CUBE ROOT
+<Multi_key> <Multi_key> <4> <v> <slash> : "∜" U221C # FOURTH ROOT
+<Multi_key> <Multi_key> <8> <3> : "∝" U221D # PROPORTIONAL TO
+
+# Angles
+<Multi_key> <Multi_key> <bar> <underscore> : "∟" U221F # RIGHT ANGLE
+<Multi_key> <Multi_key> <slash> <underscore> : "∠" U2220 # ANGLE
+<Multi_key> <Multi_key> <parenright> <slash> <underscore> : "∡" U2221 # MEASURED ANGLE
+
+# Logical and set operators
+<Multi_key> <Multi_key> <slash> <backslash> : "∧" U2227 # LOGICAL AND
+ # = wedge, conjunction
+<Multi_key> <Multi_key> <backslash> <slash> : "∨" U2228 # LOGICAL OR
+ # = vee, disjunction
+<Multi_key> <Multi_key> <braceleft> <asciicircum> : "∩" U2229 # INTERSECTION
+ # = cap, hat
+<Multi_key> <Multi_key> <braceleft> <U> : "∪" U222A # UNION
+ # = cup
+
+# Integrals
+<Multi_key> <Multi_key> <i> <n> <t> : "∫" U222B # INTEGRAL
+<Multi_key> <Multi_key> <i> <i> <n> <t> : "∬" U222C # DOUBLE INTEGRAL
+<Multi_key> <Multi_key> <i> <i> <i> <n> <t> : "∭" U222D # TRIPLE INTEGRAL
+<Multi_key> <Multi_key> <o> <i> <n> <t> : "∮" U222E # CONTOUR INTEGRAL
+<Multi_key> <Multi_key> <o> <i> <i> <n> <t> : "∯" U222F # SURFACE INTEGRAL
+<Multi_key> <Multi_key> <o> <i> <i> <i> <n> <t> : "∰" U2230 # VOLUME INTEGRAL
+
+# Relations
+<Multi_key> <Multi_key> <tilde> <period> : "∼" U223C # TILDE OPERATOR
+ # = varies with (proportional to)
+ # = difference between
+ # = similar to
+ # = not
+ # = cycle
+ # = APL tilde
+
+# Miscellaneous mathematical symbol
+<Multi_key> <Multi_key> <s> <i> <n> <e> : "∿" U223F # SINE WAVE
+ # = alternating current
+
+# Relations
+<Multi_key> <Multi_key> <slash> <tilde> <period> : "≁" U2241 # NOT TILDE
+<Multi_key> <Multi_key> <tilde> <slash> : "≁" U2241 # NOT TILDE
+<Multi_key> <Multi_key> <tilde> <minus> : "≃" U2243 # ASYMPTOTICALLY EQUAL TO
+<Multi_key> <Multi_key> <minus> <tilde> : "≃" U2243 # ASYMPTOTICALLY EQUAL TO
+<Multi_key> <Multi_key> <slash> <tilde> <minus> : "≄" U2244 # NOT ASYMPTOTICALLY EQUAL TO
+<Multi_key> <Multi_key> <tilde> <minus> <slash> : "≄" U2244 # NOT ASYMPTOTICALLY EQUAL TO
+<Multi_key> <Multi_key> <tilde> <equal> : "≅" U2245 # APPROXIMATELY EQUAL TO
+<Multi_key> <Multi_key> <equal> <tilde> : "≅" U2245 # APPROXIMATELY EQUAL TO
+<Multi_key> <Multi_key> <tilde> <slash> <equal> : "≆" U2246 # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+<Multi_key> <Multi_key> <equal> <slash> <tilde> : "≆" U2246 # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+<Multi_key> <Multi_key> <tilde> <equal> <slash> : "≇" U2247 # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+<Multi_key> <Multi_key> <slash> <tilde> <equal> : "≇" U2247 # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+<Multi_key> <Multi_key> <tilde> <tilde> : "≈" U2248 # ALMOST EQUAL TO
+ # = asymptotic to
+<Multi_key> <Multi_key> <slash> <tilde> <tilde> : "≉" U2249 # NOT ALMOST EQUAL TO
+<Multi_key> <Multi_key> <tilde> <tilde> <slash> : "≉" U2249 # NOT ALMOST EQUAL TO
+<Multi_key> <Multi_key> <tilde> <tilde> <minus> : "≊" U224A # ALMOST EQUAL OR EQUAL TO
+<Multi_key> <Multi_key> <equal> <d> <e> <f> : "≝" U225D # EQUAL TO BY DEFINITION
+<Multi_key> <Multi_key> <d> <e> <f> <equal> : "≝" U225D # EQUAL TO BY DEFINITION
+<Multi_key> <Multi_key> <equal> <question> : "≟" U225F # QUESTIONED EQUAL TO
+<Multi_key> <Multi_key> <equal> <minus> : "≡" U2261 # IDENTICAL TO
+<Multi_key> <Multi_key> <minus> <equal> : "≡" U2261 # IDENTICAL TO
+<Multi_key> <Multi_key> <slash> <equal> <minus> : "≢" U2262 # NOT IDENTICAL TO
+<Multi_key> <Multi_key> <slash> <minus> <equal> : "≢" U2262 # NOT IDENTICAL TO
+<Multi_key> <Multi_key> <equal> <minus> <slash> : "≢" U2262 # NOT IDENTICAL TO
+<Multi_key> <Multi_key> <minus> <equal> <slash> : "≢" U2262 # NOT IDENTICAL TO
+# LESS-THAN OR EQUAL TO and GREATER-THAN OR EQUAL TO exist as:
+# <Multi_key> <less> <underscore> : "≤" U2264 # < _ LESS-THAN OR EQUAL TO
+# <Multi_key> <underscore> <less> : "≤" U2264 # _ < LESS-THAN OR EQUAL TO
+# <Multi_key> <greater> <underscore> : "≥" U2265 # > _ GREATER-THAN OR EQUAL TO
+# <Multi_key> <underscore> <greater> : "≥" U2265 # _ > GREATER-THAN OR EQUAL TO
+<Multi_key> <Multi_key> <less> <equal> : "≦" U2266 # LESS-THAN OVER EQUAL TO
+<Multi_key> <Multi_key> <equal> <less> : "≦" U2266 # LESS-THAN OVER EQUAL TO
+<Multi_key> <Multi_key> <greater> <equal> : "≧" U2267 # GREATER-THAN OVER EQUAL TO
+<Multi_key> <Multi_key> <equal> <greater> : "≧" U2267 # GREATER-THAN OVER EQUAL TO
+<Multi_key> <Multi_key> <less> <slash> <equal> : "≨" U2268 # LESS-THAN BUT NOT EQUAL TO
+<Multi_key> <Multi_key> <equal> <slash> <less> : "≨" U2268 # LESS-THAN BUT NOT EQUAL TO
+<Multi_key> <Multi_key> <greater> <slash> <equal> : "≩" U2269 # GREATER-THAN BUT NOT EQUAL TO
+<Multi_key> <Multi_key> <equal> <slash> <greater> : "≩" U2269 # GREATER-THAN BUT NOT EQUAL TO
+<Multi_key> <Multi_key> <plus> <less> : "≪" U226A # MUCH LESS-THAN
+<Multi_key> <Multi_key> <plus> <greater> : "≫" U226B # MUCH GREATER-THAN
+<Multi_key> <Multi_key> <slash> <less> : "≮" U226E # NOT LESS-THAN
+<Multi_key> <Multi_key> <less> <slash> <period> : "≮" U226E # NOT LESS-THAN
+<Multi_key> <Multi_key> <slash> <greater> : "≮" U226E # NOT GREATER-THAN
+<Multi_key> <Multi_key> <greater> <slash> <period> : "≮" U226E # NOT GREATER-THAN
+<Multi_key> <Multi_key> <slash> <less> <underscore> : "≰" U2270 # NEITHER LESS-THAN NOR EQUAL TO
+<Multi_key> <Multi_key> <underscore> <less> <slash> : "≰" U2270 # NEITHER LESS-THAN NOR EQUAL TO
+<Multi_key> <Multi_key> <slash> <greater> <underscore> : "≱" U2271 # NEITHER GREATER-THAN NOR EQUAL TO
+<Multi_key> <Multi_key> <underscore> <greater> <slash> : "≱" U2271 # NEITHER GREATER-THAN NOR EQUAL TO
+<Multi_key> <Multi_key> <tilde> <less> : "≲" U2272 # LESS-THAN OR EQUIVALENT TO
+<Multi_key> <Multi_key> <less> <tilde> : "≲" U2272 # LESS-THAN OR EQUIVALENT TO
+<Multi_key> <Multi_key> <tilde> <greater> : "≳" U2273 # GREATER-THAN OR EQUIVALENT TO
+<Multi_key> <Multi_key> <greater> <tilde> : "≳" U2273 # GREATER-THAN OR EQUIVALENT TO
+<Multi_key> <Multi_key> <braceleft> <parenleft> : "⊂" U2282 # SUBSET OF
+ # = included in set
+<Multi_key> <Multi_key> <braceleft> <parenright> : "⊃" U2283 # SUPERSET OF
+ # = includes in set
+<Multi_key> <Multi_key> <slash> <braceleft> <parenleft> : "⊄" U2284 # NOT A SUBSET OF
+<Multi_key> <Multi_key> <slash> <braceleft> <parenright> : "⊅" U2285 # NOT A SUPERSET OF
+<Multi_key> <Multi_key> <braceleft> <underscore> <parenleft> : "⊆" U2286 # SUBSET OF OR EQUAL TO
+<Multi_key> <Multi_key> <braceleft> <underscore> <parenright> : "⊇" U2287 # SUPERSET OF OR EQUAL TO
+<Multi_key> <Multi_key> <slash> <braceleft> <underscore> <parenleft> : "⊈" U2288 # NEITHER A SUBSET OF NOR EQUAL TO
+<Multi_key> <Multi_key> <slash> <braceleft> <underscore> <parenright> : "⊉" U2289 # NEITHER A SUPERSET OF NOR EQUAL TO
+<Multi_key> <Multi_key> <braceleft> <underscore> <slash> <parenleft> : "⊊" U228A # SUBSET OF WITH NOT EQUAL TO
+<Multi_key> <Multi_key> <braceleft> <underscore> <slash> <parenright> : "⊋" U228B # SUPERSET OF WITH NOT EQUAL TO
+
+# Operators
+<Multi_key> <Multi_key> <bar> <minus> : "⊢" U22A2 # RIGHT TACK
+ # = turnstile
+ # = proves, implies, yields
+ # = reducible
+<Multi_key> <Multi_key> <minus> <bar> : "⊣" U22A2 # LEFT TACK
+ # = reverse turnstile
+ # = non-theorem, does not yield
+
+# Miscellaneous mathematical symbols
+<Multi_key> <Multi_key> <minus> <bar> <minus> : "⊤" U22A4 # DOWN TACK
+ # = top
+<Multi_key> <Multi_key> <underscore> <bar> <underscore> : "⊥" U22A5 # UP TACK
+ # = base, bottom
+
+# Operators
+<Multi_key> <Multi_key> <v> <underscore> : "⊻" U22BB # XOR
+<Multi_key> <Multi_key> <underscore> <v> : "⊻" U22BB # XOR
+<Multi_key> <Multi_key> <backslash> <underscore> <slash> : "⊻" U22BB # XOR
+<Multi_key> <Multi_key> <asciicircum> <minus> : "⊼" U22BC # NAND
+<Multi_key> <Multi_key> <minus> <asciicircum> : "⊼" U22BC # NAND
+<Multi_key> <Multi_key> <slash> <minus> <backslash> : "⊼" U22BC # NAND
+
+# Operators
+<Multi_key> <Multi_key> <asterisk> <period> : "⋅" U22C5 # DOT OPERATOR
+ # • preferred to 00B7 · for denotation of
+ # multiplication
+
+# Relations
+<Multi_key> <Multi_key> <bar> <period> <period> : "⋮" U22EE # VERTICAL ELLIPSIS
+ # • these four ellipses are used for matrix
+ # row/column elision
+<Multi_key> <Multi_key> <minus> <period> <period> : "⋯" U22EF # MIDLINE HORIZONTAL ELLIPSIS
+<Multi_key> <Multi_key> <slash> <period> <period> : "⋰" U22F0 # UP RIGHT DIAGONAL ELLIPSIS
+<Multi_key> <Multi_key> <backslash> <period> <period> : "⋱" U22F1 # DOWN RIGHT DIAGONAL ELLIPSIS
diff --git a/.XCompose.misc b/.XCompose.misc
new file mode 100644
index 0000000..3d30dd9
--- /dev/null
+++ b/.XCompose.misc
@@ -0,0 +1,77 @@
+#
+# Miscellaneous Symbols
+# Range: 2600–26FF
+#
+
+# Weather and astrological symbols
+<Multi_key> <Multi_key> <s> <n> <o> <w> : "☃" U2603 # SNOWMAN
+ # = snowy weather
+
+# Miscellaneous symbols
+<Multi_key> <Multi_key> <bracketleft> <space> <bracketright> : "☐" U2610 # BALLOT BOX
+<Multi_key> <Multi_key> <bracketleft> <slash> <bracketright> : "☑" U2611 # BALLOT BOX WITH CHECK
+<Multi_key> <Multi_key> <bracketleft> <x> <bracketright> : "☒" U2612 # BALLOT BOX WITH X
+
+# Pointing hand symbols
+<Multi_key> <Multi_key> <l> <h> <a> <n> <d> : "☜" U261C # WHITE LEFT POINTING INDEX
+<Multi_key> <Multi_key> <f> <Left> : "☜" U261C # WHITE LEFT POINTING INDEX
+<Multi_key> <Multi_key> <u> <h> <a> <n> <d> : "☝" U261D # WHITE UP POINTING INDEX
+<Multi_key> <Multi_key> <f> <Up> : "☝" U261D # WHITE UP POINTING INDEX
+<Multi_key> <Multi_key> <r> <h> <a> <n> <d> : "☞" U261E # WHITE RIGHT POINTING INDEX
+<Multi_key> <Multi_key> <f> <Right> : "☞" U261E # WHITE RIGHT POINTING INDEX
+<Multi_key> <Multi_key> <d> <h> <a> <n> <d> : "☟" U261F # WHITE DOWN POINTING INDEX
+<Multi_key> <Multi_key> <f> <Down> : "☟" U261F # WHITE DOWN POINTING INDEX
+
+# Chess symbols
+<Multi_key> <Multi_key> <bar> <W> <K> : "♔" U2654 # WHITE CHESS KING
+<Multi_key> <Multi_key> <bar> <W> <Q> : "♕" U2655 # WHITE CHESS QUEEN
+<Multi_key> <Multi_key> <bar> <W> <R> : "♖" U2656 # WHITE CHESS ROOK
+<Multi_key> <Multi_key> <bar> <W> <B> : "♗" U2657 # WHITE CHESS BISHOP
+<Multi_key> <Multi_key> <bar> <W> <N> : "♘" U2658 # WHITE CHESS KNIGHT
+<Multi_key> <Multi_key> <bar> <W> <P> : "♙" U2659 # WHITE CHESS PAWN
+<Multi_key> <Multi_key> <bar> <B> <K> : "♚" U265A # BLACK CHESS KING
+<Multi_key> <Multi_key> <bar> <B> <Q> : "♛" U265B # BLACK CHESS QUEEN
+<Multi_key> <Multi_key> <bar> <B> <R> : "♜" U265C # BLACK CHESS ROOK
+<Multi_key> <Multi_key> <bar> <B> <B> : "♝" U265D # BLACK CHESS BISHOP
+<Multi_key> <Multi_key> <bar> <B> <N> : "♞" U265E # BLACK CHESS KNIGHT
+<Multi_key> <Multi_key> <bar> <B> <P> : "♟" U265F # BLACK CHESS PAWN
+
+# Recycling symbols
+<Multi_key> <Multi_key> <r> <e> <c> <u> : "♲" U2672 # UNIVERSAL RECYCLING SYMBOL
+ # • used as generic symbol for recycling or to
+ # indicate that material is recyclable
+<Multi_key> <Multi_key> <r> <e> <c> <1> : "♳" U2673 # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
+ # • polyethylene terephthalate
+<Multi_key> <Multi_key> <r> <e> <c> <2> : "♴" U2674 # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
+ # • high density polyethylene
+<Multi_key> <Multi_key> <r> <e> <c> <3> : "♵" U2675 # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
+ # • vinyl, polyvinyl chloride
+<Multi_key> <Multi_key> <r> <e> <c> <4> : "♶" U2676 # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
+ # • low density polyethylene
+<Multi_key> <Multi_key> <r> <e> <c> <5> : "♷" U2677 # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
+ # • polypropylene
+<Multi_key> <Multi_key> <r> <e> <c> <6> : "♸" U2678 # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
+ # • polystyrene
+<Multi_key> <Multi_key> <r> <e> <c> <7> : "♹" U2679 # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
+ # • other plastics
+<Multi_key> <Multi_key> <r> <e> <c> <g> : "♺" U267A # RECYCLING SYMBOL FOR GENERIC MATERIALS
+ # • used together with other text and labels to
+ # indicate the type of material to be recycled
+<Multi_key> <Multi_key> <r> <e> <c> <b> : "♻" U267B # BLACK UNIVERSAL RECYCLING SYMBOL
+<Multi_key> <Multi_key> <r> <e> <c> <p> : "♼" U267C # RECYCLED PAPER SYMBOL
+ # • used to indicate 100% recycled paper content
+<Multi_key> <Multi_key> <r> <e> <c> <P> : "♽" U267D # PARTIALLY-RECYCLED PAPER SYMBOL
+ # • percentage of recycled paper content
+ # indicated in overlay or next to this symbol
+
+# Dice
+<Multi_key> <Multi_key> <d> <i> <e> <1> : "⚀" U2680 # DIE FACE-1
+<Multi_key> <Multi_key> <d> <i> <e> <2> : "⚁" U2681 # DIE FACE-2
+<Multi_key> <Multi_key> <d> <i> <e> <3> : "⚂" U2682 # DIE FACE-3
+<Multi_key> <Multi_key> <d> <i> <e> <4> : "⚃" U2683 # DIE FACE-4
+<Multi_key> <Multi_key> <d> <i> <e> <5> : "⚄" U2684 # DIE FACE-5
+<Multi_key> <Multi_key> <d> <i> <e> <6> : "⚅" U2685 # DIE FACE-6
+
+# Miscellaneous symbols
+<Multi_key> <Multi_key> <slash> <exclam> <backslash> : "⚠" U26A0 # WARNING SIGN
+<Multi_key> <Multi_key> <exclam> <asciicircum> : "⚠" U26A0 # WARNING SIGN
diff --git a/.XCompose.miscsymarr b/.XCompose.miscsymarr
new file mode 100644
index 0000000..a66dbc7
--- /dev/null
+++ b/.XCompose.miscsymarr
@@ -0,0 +1,42 @@
+#
+# Miscellaneous Symbols and Arrows
+# Range: 2B00–2BFF
+#
+
+# Dictionary and map symbols from ARIB STD B24
+<Multi_key> <Multi_key> <p> <w> <r> <o> <f> : "⭘" U2B58 # HEAVY CIRCLE
+ # = town or village office
+ # = power off symbol
+
+# Triangle-headed arrows
+<Multi_key> <Multi_key> <K> <B> <Home> <underscore> : "⭶" U2B76 # NORTH WEST TRIANGLE-HEADED ARROW TO
+ # BAR
+ # = home
+
+<Multi_key> <Multi_key> <K> <B> <End> <underscore> : "⭸" U2B78 # SOUTH EAST TRIANGLE-HEADED ARROW TO
+ # BAR
+ # = end
+
+
+<Multi_key> <Multi_key> <K> <B> <Page_Up> : "⭻" U2B7B # UPWARDS TRIANGLE-HEADED ARROW WITH
+ # DOUBLE HORIZONTAL STROKE
+ # = page up
+
+<Multi_key> <Multi_key> <K> <B> <Page_Down> : "⭽" U2B7D # DOWNWARDS TRIANGLE-HEADED ARROW
+ # WITH DOUBLE HORIZONTAL STROKE
+ # = page down
+
+# Keyboard symbols
+<Multi_key> <Multi_key> <K> <B> <h> <t> : "⭾" U2B7E # HORIZONTAL TAB KEY
+<Multi_key> <Multi_key> <K> <B> <Tab> : "⭾" U2B7E # HORIZONTAL TAB KEY
+<Multi_key> <Multi_key> <K> <B> <v> <t> : "⭿" U2B7F # VERTICAL TAB KEY
+
+# Keyboard symbols
+# Almost identical to U21EA, except with a small horizontal bar in the arrow head (in some fonts):
+# <Multi_key> <Multi_key> <K> <B> : "⇪" U2BB8 # UPWARDS WHITE ARROW FROM BAR WITH
+# # HORIZONTAL BAR
+# # = caps lock
+
+# Miscellaneous symbols
+<Multi_key> <Multi_key> <q> <u> <e> : "⯑" U2BD1 # UNCERTAINTY SIGN
+ # = query
diff --git a/.XCompose.misctech b/.XCompose.misctech
new file mode 100644
index 0000000..6c5a0b4
--- /dev/null
+++ b/.XCompose.misctech
@@ -0,0 +1,94 @@
+#
+# Miscellaneous Technical
+# Range: 2300–23FF
+#
+
+# Miscellaneous technical
+<Multi_key> <Multi_key> <d> <i> <a> : "⌀" U2300 # DIAMETER SIGN
+<Multi_key> <Multi_key> <e> <l> <e> <c> : "⌁" U2301 # ELECTRIC ARROW
+ # • from ISO 2047
+ # • symbol for End of Transmission
+
+# Ceilings and floors
+<Multi_key> <Multi_key> <7> <bracketleft> : "⌈" U2308 # LEFT CEILING
+<Multi_key> <Multi_key> <7> <bracketright> : "⌉" U2309 # RIGHT CEILING
+<Multi_key> <Multi_key> <L> <bracketleft> : "⌊" U230A # LEFT FLOOR
+<Multi_key> <Multi_key> <L> <bracketright> : "⌋" U230B # RIGHT FLOOR
+
+# Crops
+# TODO: 230C-230F
+
+# Miscellaneous technical
+<Multi_key> <Multi_key> <p> <o> <s> : "⌖" U2316 # POSITION INDICATOR
+ # = true position
+
+# Keyboard symbols
+<Multi_key> <Multi_key> <K> <B> <d> <e> <l> : "⌦" U2326 # ERASE TO THE RIGHT
+ # = delete to the right key
+<Multi_key> <Multi_key> <K> <B> <c> <l> <r> : "⌨" U2327 # X IN A RECTANGLE BOX
+ # = clear key
+<Multi_key> <Multi_key> <k> <b> <d> : "⌨" U2328 # KEYBOARD
+
+# Keyboard symbol
+<Multi_key> <Multi_key> <K> <B> <b> <s> : "⌫" U232B # ERASE TO THE LEFT
+ # = delete to the left key
+
+# Keyboard symbols from ISO 9995-7
+<Multi_key> <Multi_key> <K> <B> <p> <p> : "⎗" U2397 # PREVIOUS PAGE
+<Multi_key> <Multi_key> <K> <B> <n> <p> : "⎘" U2398 # NEXT PAGE
+<Multi_key> <Multi_key> <K> <B> <p> <s> : "⎙" U2399 # PRINT SCREEN SYMBOL
+<Multi_key> <Multi_key> <K> <B> <c> <s> : "⎚" U239A # CLEAR SCREEN SYMBOL
+
+# Bracket pieces
+# TODO: 239B-23AD
+
+# Keyboard and UI symbols
+<Multi_key> <Multi_key> <K> <B> <r> <e> <t> : "⏎" U23CE # RETURN SYMBOL
+<Multi_key> <Multi_key> <U> <I> <e> <j> : "⏏" U23CF # EJECT SYMBOL
+
+# Electrotechnical symbols
+<Multi_key> <Multi_key> <g> <n> <d> : "⏚" U23DA # EARTH GROUND
+<Multi_key> <Multi_key> <e> <g> <n> <d> : "⏚" U23DA # EARTH GROUND
+<Multi_key> <Multi_key> <f> <u> <s> <e> : "⏛" U23DB # FUSE
+
+# Miscellaneous technical
+<Multi_key> <Multi_key> <a> <c> : "⏦" U23E6 # AC CURRENT
+
+# User interface symbols
+<Multi_key> <Multi_key> <U> <I> <f> <f> <w> : "⏩" U23E9 # BLACK RIGHT-POINTING DOUBLE TRIANGLE
+ # = fast forward
+<Multi_key> <Multi_key> <U> <I> <r> <e> <w> : "⏪" U23EA # BLACK LEFT-POINTING DOUBLE TRIANGLE
+ # = fast rewind
+<Multi_key> <Multi_key> <U> <I> <n> <x> <t> : "⏭" U23ED # BLACK RIGHT-POINTING DOUBLE TRIANGLE
+ # WITH VERTICAL BAR
+<Multi_key> <Multi_key> <U> <I> <p> <r> <v> : "⏮" U23EE # BLACK LEFT-POINTING DOUBLE TRIANGLE
+ # WITH VERTICAL BAR
+<Multi_key> <Multi_key> <U> <I> <p> <p> : "⏯" U23EF # BLACK RIGHT-POINTING TRIANGLE WITH
+ # DOUBLE VERTICAL BAR
+<Multi_key> <Multi_key> <U> <I> <r> <e> <v> : "⏴" U23F4 # BLACK MEDIUM LEFT-POINTING TRIANGLE
+ # = reverse, back
+<Multi_key> <Multi_key> <U> <I> <p> <l> : "⏵" U23F5 # BLACK MEDIUM RIGHT-POINTING TRIANGLE
+ # = forward
+<Multi_key> <Multi_key> <U> <I> <f> <w> <d> : "⏵" U23F5 # BLACK MEDIUM RIGHT-POINTING TRIANGLE
+<Multi_key> <Multi_key> <U> <I> <i> <n> <c> : "⏶" U23F6 # BLACK MEDIUM UP-POINTING TRIANGLE
+ # = increase
+<Multi_key> <Multi_key> <U> <I> <d> <e> <c> : "⏷" U23F7 # BLACK MEDIUM DOWN-POINTING TRIANGLE
+ # = decrease
+<Multi_key> <Multi_key> <U> <I> <p> <a> : "⏸" U23F8 # DOUBLE VERTICAL BAR
+ # = pause
+<Multi_key> <Multi_key> <U> <I> <s> <t> : "⏹" U23F9 # BLACK SQUARE FOR STOP
+ # = stop
+<Multi_key> <Multi_key> <U> <I> <r> <e> <c> : "⏺" U23FA # BLACK CIRCLE FOR RECORD
+ # = record
+
+# Power symbols from ISO 7000:2012
+<Multi_key> <Multi_key> <p> <w> <r> <period> : "⏻" U23FB # POWER SYMBOL
+ # • IEC 5009 standby symbol
+ # • IEEE 1621 power symbol
+<Multi_key> <Multi_key> <p> <w> <r> <t> : "⏼" U23FC # POWER ON-OFF SYMBOL
+ # • IEC 5010 power on-off symbol
+<Multi_key> <Multi_key> <p> <w> <r> <o> <n> : "⏽" U23FD # POWER ON SYMBOL
+ # • use 2B58 ⭘ for power off symbol
+
+# Power symbol from IEEE 1621-2004
+<Multi_key> <Multi_key> <p> <w> <r> <s> <l> : "⏾" U23FE # POWER SLEEP SYMBOL
diff --git a/.XCompose.names b/.XCompose.names
new file mode 100644
index 0000000..44a281a
--- /dev/null
+++ b/.XCompose.names
@@ -0,0 +1,17 @@
+#
+# Commonly typed names, etc.
+#
+
+<Multi_key> <Multi_key> <Multi_key> <L> <period> : "Libiquity"
+<Multi_key> <Multi_key> <Multi_key> <l> <period> : "libiquity"
+<Multi_key> <Multi_key> <Multi_key> <T> : "Taurinus"
+<Multi_key> <Multi_key> <Multi_key> <t> : "taurinus"
+<Multi_key> <Multi_key> <Multi_key> <P> <M> : "Patrick McDermott"
+<Multi_key> <Multi_key> <Multi_key> <p> <m> <at> : "patrick.mcdermott@libiquity.com"
+<Multi_key> <Multi_key> <Multi_key> <P> : "Proteanos"
+<Multi_key> <Multi_key> <Multi_key> <p> : "proteanos"
+<Multi_key> <Multi_key> <Multi_key> <L> <B> : "Libreboot"
+<Multi_key> <Multi_key> <Multi_key> <L> <b> : "Libreboot"
+<Multi_key> <Multi_key> <Multi_key> <l> <b> : "libreboot"
+
+<Multi_key> <Multi_key> <Multi_key> <7> <2> : "------------------------------------------------------------------------"
diff --git a/.XCompose.punctuation b/.XCompose.punctuation
new file mode 100644
index 0000000..17cffcf
--- /dev/null
+++ b/.XCompose.punctuation
@@ -0,0 +1,45 @@
+#
+# General Punctuation
+# Range: 2000–206F
+#
+
+# Dashes
+<Multi_key> <Multi_key> <h> <b> <a> <r> : "―" U2015 # HORIZONTAL BAR
+ # = quotation dash
+
+# General punctuation
+<Multi_key> <Multi_key> <d> <a> <g> : "†" U2020 # DAGGER
+ # = obelisk, long cross, oblong cross
+<Multi_key> <Multi_key> <d> <d> <a> <g> : "‡" U2021 # DOUBLE DAGGER
+ # = diesis, double obelisk
+
+# General punctuation
+<Multi_key> <Multi_key> <p> : "′" U2032 # PRIME
+ # = minutes, feet
+<Multi_key> <Multi_key> <period> <apostrophe> : "′" U2032 # PRIME
+<Multi_key> <Multi_key> <apostrophe> <period> : "′" U2032 # PRIME
+<Multi_key> <Multi_key> <comma> <apostrophe> : "′" U2032 # PRIME
+<Multi_key> <Multi_key> <apostrophe> <comma> : "′" U2032 # PRIME
+<Multi_key> <Multi_key> <P> : "″" U2033 # DOUBLE PRIME
+ # = seconds, inches
+<Multi_key> <Multi_key> <period> <quotedbl> : "″" U2033 # DOUBLE PRIME
+<Multi_key> <Multi_key> <quotedbl> <period> : "″" U2033 # DOUBLE PRIME
+<Multi_key> <Multi_key> <comma> <quotedbl> : "″" U2033 # DOUBLE PRIME
+<Multi_key> <Multi_key> <quotedbl> <comma> : "″" U2033 # DOUBLE PRIME
+<Multi_key> <Multi_key> <asciicircum> <underscore> : "‸" U2038 # CARET
+<Multi_key> <Multi_key> <underscore> <asciicircum> : "‸" U2038 # CARET
+
+# General punctuation
+<Multi_key> <Multi_key> <x> <colon> : "※" U203B # REFERENCE MARK
+
+# General punctuation
+<Multi_key> <Multi_key> <colon> <asterisk> : "⁂" U2042 # ASTERISM
+<Multi_key> <Multi_key> <asterisk> <3> : "⁂" U2042 # ASTERISM
+<Multi_key> <Multi_key> <3> <asterisk> : "⁂" U2042 # ASTERISM
+<Multi_key> <Multi_key> <f> <r> <a> <c> : "⁄" U2044 # FRACTION SLASH
+ # = solidus (in typography)
+
+# General punctuation
+<Multi_key> <Multi_key> <bar> <asterisk> : "⁑" U2051 # TWO ASTERISKS ALIGNED VERTICALLY
+<Multi_key> <Multi_key> <2> <asterisk> : "⁑" U2051 # TWO ASTERISKS ALIGNED VERTICALLY
+<Multi_key> <Multi_key> <asterisk> <2> : "⁑" U2051 # TWO ASTERISKS ALIGNED VERTICALLY