My ~/.XCompose

I would hate to be without my Compose key.

Started circa 2014, last updated Tagged /practices

As is customary, this file is messy, having accumulated over a more than a decade.

On my present keyboard, I have RAlt mapped to Compose.

I use these mappings extensively.

There are a few sets of characters where I’ve never used half of them—
Greek letters, Control Pictures, Apple’s Keyboard characters.

But other than those, there aren’t many that I won’t use in a given year,
and you might be surprised how many of them I use in the average week.

A handful I use many times per day: curly quotes and dashes especially.
(I’ll draw a diagram at some point to show the genius of the curly quote mappings.)

I have seriously considered throwing the includes away and only including what I want.
In a few places, it might help because of avoiding collisions.
Since some time in 2025, I’ve used fcitx5 as my Input Method (mostly so I could type Telugu),
and it takes care of all Compose behaviour, so it is at least consistent, if not always as I prefer.
Before that, each app had to handle Compose itself,
and there were clearly at least two different libraries being used for it—
conflicts were handled a bit differently, especially across imports.

include "/usr/share/X11/locale/en_US.UTF-8/Compose"
include "/home/chris/.XCompose-kragen"  # Downloaded from https://raw.githubusercontent.com/kragen/xcompose/master/dotXCompose on 2021-06-02

<Multi_key> <asciitilde> <equal> 	: "≈"   U2248 # ALMOST EQUAL TO
<Multi_key> <slash> <asciitilde> <equal> 	: "≉"   U2249 # NOT ALMOST EQUAL TO
<Multi_key> <asciitilde> <slash> <equal> 	: "≉"   U2249 # NOT ALMOST EQUAL TO
<Multi_key> <minus> <minus> <w> : "⸺"    U2E3A # TWO-EM DASH
<Multi_key> <minus> <minus> <W> : "⸻"    U2E3B # THREE-EM DASH

<Multi_key> <at> <slash> 	: "✓"   U2713 # CHECK MARK
<Multi_key> <at> <x> 	: "✗"   U2717 # BALLOT X
<Multi_key> <at> <X> 	: "✗"   U2717 # BALLOT X
<Multi_key> <at> <at> <slash> 	: "✔"   U2714 # HEAVY CHECK MARK
<Multi_key> <at> <at> <x> 	: "✘"   U2718 # HEAVY BALLOT X
<Multi_key> <at> <at> <X> 	: "✘"   U2718 # HEAVY BALLOT X

<Multi_key> <space> <period>		: " "	U2009		# THIN SPACE
<Multi_key> <z> <space> 	: "​"   U200B # ZERO WIDTH SPACE
<Multi_key> <space> <z> 	: "​"   U200B # ZERO WIDTH SPACE
<Multi_key> <z> <period> 	: "‌"   U200C # ZERO WIDTH NON-JOINER
<Multi_key> <period> <z> 	: "‌"   U200C # ZERO WIDTH NON-JOINER
<Multi_key> <space> <apostrophe> 	: " "   U202F # NARROW NO-BREAK SPACE
<Multi_key> <bar> <minus> 	: "†"   U2020 # DAGGER
<Multi_key> <minus> <bar> 	: "†"   U2020 # DAGGER
<Multi_key> <bar> <equal> 	: "‡"   U2021 # DOUBLE DAGGER
<Multi_key> <equal> <bar> 	: "‡"   U2021 # DOUBLE DAGGER
<Multi_key> <slash> <slash> 	: "⁄"   U2044 # FRACTION SLASH
<Multi_key> <minus> <period> 	: "‐"   U2010 # HYPHEN
<Multi_key> <minus> <space>	    : "­"   U00ad # SOFT HYPHEN
<Multi_key> <semicolon> <semicolon>   	: "‘"   U2018 # LEFT SINGLE QUOTATION MARK
<Multi_key> <apostrophe> <apostrophe>  	: "’"   U2019 # RIGHT SINGLE QUOTATION MARK
<Multi_key> <colon> <colon>      	: "“"   U201c # LEFT DOUBLE QUOTATION MARK
<Multi_key> <quotedbl> <quotedbl>	: "”"   U201d # RIGHT DOUBLE QUOTATION MARK
<Multi_key> <c> <o> : "℅" U2105  # CARE OF
<Multi_key> <colon> <R>      	    : "∶"   U2236 # RATIO
<Multi_key> <P> <O> : "℗" U2117 # SOUND RECORDING COPYRIGHT

<Multi_key> <T> <1> : "𝍷" U1D377 # TALLY MARK ONE
<Multi_key> <T> <2> : "𝍷𝍷"
<Multi_key> <T> <3> : "𝍷𝍷𝍷"
<Multi_key> <T> <4> : "𝍷𝍷𝍷𝍷"
<Multi_key> <T> <5> : "𝍸" U1D378 # TALLY MARK FIVE

# #b is ♭, so #B can be 𝄫
<Multi_key> <numbersign> <B>		: "𝄫" U1d12b # MUSICAL SYMBOL DOUBLE FLAT
<Multi_key> <numbersign> <asterisk>		: "𝄪" U1d12a # MUSICAL SYMBOL DOUBLE SHARP

# `Compose - - -, Compose 3 *, Compose - - -` gets tedious… let’s just do `Compose h r` instead!
<Multi_key> <h> <r> : "—⁂—"
# Temporary, as I’m using this a lot in my website for now.
# Once I’m writing Lammle instead of HTML, I’ll ditch this again.
<Multi_key> <b> <r> : "<br class=w>"

# Stock WinCompose has v.. make a vertical ellipsis, so I guess I don’t need this after all.
#<Multi_key> <period> <bar> 	: "⋮"   U22EE # VERTICAL ELLIPSIS

<Multi_key> <backslash> <slash> : "×" multiply # MULTIPLICATION SIGN
<Multi_key> <slash> <backslash> : "×" multiply # MULTIPLICATION SIGN

<Multi_key> <grave> <grave>	: "´"	acute # ACUTE ACCENT
# Unsure quite why grave grave isn’t working in Alacritty, but with this, grave grave grave works…
<Multi_key> <grave> <grave>	<grave> : "´"	acute # ACUTE ACCENT
<Multi_key> <apostrophe> <grave> : "′" U2032 # PRIME
<Multi_key> <quotedbl> <grave> : "″" U2033 # DOUBLE PRIME

# TODO: adding this line breaks previously-defined two-character <less> <*> bindings in Alacritty, report that bug and see if I can figure out what’s going on where. Something in Glutin or deeper, I’m guessing. (So try it in Glutin examples rather than in Alacritty.)
#<Multi_key> <less> <slash> <3>                  : "💔"   U1F494 # BROKEN HEART

# Let’s try this for a bit.
<Multi_key> <t> <a> <g> : "🏷"

# I’m not content with the out-of-the-box techniques for :) and :(.
#<Multi_key> <colon> <parenright>             : "☺"  U263A       # WHITE SMILING FACE (default for this Multi_key, but probably comes through as text, and is in monospace only one column wide despite the fact that fallback glyphs are going to be closer to two units wide)
#<Multi_key> <colon> <parenright>             : "☺️"  U263A UFE0F # WHITE SMILING FACE with VARIATION SELECTOR-16 (i.e. make it emoji rather than probably text, but the Vim/terminal handling is still sad-making)
<Multi_key> <colon> <parenright>             : "🙂" U1F642      # SLIGHTLY SMILING FACE (a proper emoji and two columns wide; has a smaller smile which isn’t as good, but avoids painful ugliness at the corners of the smile in most emoji sets: so all up, prettier)
#<Multi_key> <colon> <parenleft>              : "☹"  U2639       # WHITE FROWNING FACE (default for this Multi_key, but probably comes through as text, and is in monospace only one column wide despite the fact that fallback glyphs are going to be closer to two units wide)
#<Multi_key> <colon> <parenleft>              : "☹️"  U2639 UFE0F # WHITE FROWNING FACE with VARIATION SELECTOR-16 (i.e. make it emoji rather than probably text, but the Vim/terminal handling is still sad-making)
<Multi_key> <colon> <parenleft>              : "🙁" U1F641      # SLIGHTLY FROWNING FACE (a proper emoji and two columns wide; has a smaller frown which isn’t as good; I went for this rather than WHITE FROWNING FACE with VARIATION SELECTOR-16 because I don’t want to prevent text mode rendition in some places where I might *want* that.)

#<Multi_key> <colon> <D>                      : "😀" U1F600 # GRINNING FACE (typically rendered with a very disappointing mouth, with upper teeth, tongue, and no lower teeth)
<Multi_key> <colon> <D>                      : "😁" U1F601 # GRINNING FACE WITH SMILING EYES (typically rendered with a much better mouth, containing only all teeth)
<Multi_key> <X> <D>                          : "😆" U1F606 # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
<Multi_key> <semicolon> <parenright>         : "😉" U1F609 # WINKING FACE
<Multi_key> <colon> <bar>                    : "😒" U1F612 # UNAMUSED FACE

#<Multi_key> <colon> <slash>                  : "😕" U1F615 # CONFUSED FACE
<Multi_key> <colon> <slash>                  : "🫤" U1FAE4 # FACE WITH DIAGONAL MOUTH
<Multi_key> <colon> <S>                      : "😖" U1F616 # CONFOUNDED FACE
<Multi_key> <colon> <P>                      : "😛" U1F61B # FACE WITH STUCK-OUT TONGUE
<Multi_key> <semicolon> <P>                  : "😜" U1F61C # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
<Multi_key> <X> <P>                          : "😝" U1F61D # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
<Multi_key> <colon> <apostrophe> <parenleft> : "😢" U1F622 # CRYING FACE
<Multi_key> <colon> <O>                      : "😮" U1F62E # FACE WITH OPEN MOUTH
<Multi_key> <slash> <colon> <question>       : "🤨" U1F928 # FACE WITH ONE EYEBROW RAISED
<Multi_key> <O> <K>                          : "👌" U1F44C # OK HAND SIGN
<Multi_key> <plus> <1>                       : "👍" U1F44D # THUMBS UP SIGN
<Multi_key> <minus> <1>                      : "👎" U1F44E # THUMBS DOWN SIGN
<Multi_key> <r> <o> <f> <l>                  : "🤣" U1F923 # ROLLING ON THE FLOOR LAUGHING
<Multi_key> <z> <z>                          : "💤" U1F4A4 # SLEEPING SYMBOL
<Multi_key> <i> <o>                          : "🛈" U1F6C8 # CIRCLED INFORMATION SOURCE


<Multi_key> <A> <asterisk>           : "Α"   U0391    # GREEK CAPITAL LETTER ALPHA
<Multi_key> <a> <asterisk>           : "α"   U03B1    # GREEK SMALL LETTER ALPHA
<Multi_key> <B> <asterisk>           : "Β"   U0392    # GREEK CAPITAL LETTER BETA
<Multi_key> <b> <asterisk>           : "β"   U03B2    # GREEK SMALL LETTER BETA
<Multi_key> <D> <asterisk>           : "Δ"   U0394    # GREEK CAPITAL LETTER DELTA
<Multi_key> <d> <asterisk>           : "δ"   U03B4    # GREEK SMALL LETTER DELTA
<Multi_key> <E> <asterisk>           : "Ε"   U0395    # GREEK CAPITAL LETTER EPSILON
<Multi_key> <e> <asterisk>           : "ε"   U03B5    # GREEK SMALL LETTER EPSILON
<Multi_key> <F> <asterisk>           : "Φ"   U03A6    # GREEK CAPITAL LETTER PHI
<Multi_key> <f> <asterisk>           : "φ"   U03C6    # GREEK SMALL LETTER PHI
<Multi_key> <G> <asterisk>           : "Γ"   U0393    # GREEK CAPITAL LETTER GAMMA
<Multi_key> <g> <asterisk>           : "γ"   U03B3    # GREEK SMALL LETTER GAMMA
<Multi_key> <H> <asterisk>           : "Η"   U0397    # GREEK CAPITAL LETTER ETA
<Multi_key> <h> <asterisk>           : "η"   U03B7    # GREEK SMALL LETTER ETA
<Multi_key> <I> <asterisk>           : "Ι"   U0399    # GREEK CAPITAL LETTER IOTA
<Multi_key> <i> <asterisk>           : "ι"   U03B9    # GREEK SMALL LETTER IOTA
<Multi_key> <J> <asterisk>           : "Θ"   U0398    # GREEK CAPITAL LETTER THETA
<Multi_key> <j> <asterisk>           : "θ"   U03B8    # GREEK SMALL LETTER THETA
<Multi_key> <K> <asterisk>           : "Κ"   U039A    # GREEK CAPITAL LETTER KAPPA
<Multi_key> <k> <asterisk>           : "κ"   U03BA    # GREEK SMALL LETTER KAPPA
<Multi_key> <L> <asterisk>           : "Λ"   U039B    # GREEK CAPITAL LETTER LAMDA
<Multi_key> <l> <asterisk>           : "λ"   U03BB    # GREEK SMALL LETTER LAMDA
<Multi_key> <M> <asterisk>           : "Μ"   U039C    # GREEK CAPITAL LETTER MU
<Multi_key> <m> <asterisk>           : "μ"   U03BC    # GREEK SMALL LETTER MU
<Multi_key> <N> <asterisk>           : "Ν"   U039D    # GREEK CAPITAL LETTER NU
<Multi_key> <n> <asterisk>           : "ν"   U03BD    # GREEK SMALL LETTER NU
<Multi_key> <O> <asterisk>           : "Ο"   U039F    # GREEK CAPITAL LETTER OMICRON
<Multi_key> <o> <asterisk>           : "ο"   U03BF    # GREEK SMALL LETTER OMICRON
<Multi_key> <P> <asterisk>           : "Π"   U03A0    # GREEK CAPITAL LETTER PI
<Multi_key> <p> <asterisk>           : "π"   U03C0    # GREEK SMALL LETTER PI
<Multi_key> <Q> <asterisk>           : "Χ"   U03A7    # GREEK CAPITAL LETTER CHI
<Multi_key> <q> <asterisk>           : "χ"   U03C7    # GREEK SMALL LETTER CHI
<Multi_key> <R> <asterisk>           : "Ρ"   U03A1    # GREEK CAPITAL LETTER RHO
<Multi_key> <r> <asterisk>           : "ρ"   U03C1    # GREEK SMALL LETTER RHO
<Multi_key> <S> <asterisk>           : "Σ"   U03A3    # GREEK CAPITAL LETTER SIGMA
<Multi_key> <s> <asterisk>           : "σ"   U03C3    # GREEK SMALL LETTER SIGMA
<Multi_key> <T> <asterisk>           : "Τ"   U03A4    # GREEK CAPITAL LETTER TAU
<Multi_key> <t> <asterisk>           : "τ"   U03C4    # GREEK SMALL LETTER TAU
<Multi_key> <U> <asterisk>           : "Υ"   U03A5    # GREEK CAPITAL LETTER UPSILON
<Multi_key> <u> <asterisk>           : "υ"   U03C5    # GREEK SMALL LETTER UPSILON
<Multi_key> <W> <asterisk>           : "Ω"   U03A9    # GREEK CAPITAL LETTER OMEGA
<Multi_key> <w> <asterisk>           : "ω"   U03C9    # GREEK SMALL LETTER OMEGA
<Multi_key> <X> <asterisk>           : "Ξ"   U039E    # GREEK CAPITAL LETTER XI
<Multi_key> <x> <asterisk>           : "ξ"   U03BE    # GREEK SMALL LETTER XI
<Multi_key> <Y> <asterisk>           : "Ψ"   U03A8    # GREEK CAPITAL LETTER PSI
<Multi_key> <y> <asterisk>           : "ψ"   U03C8    # GREEK SMALL LETTER PSI
<Multi_key> <Z> <asterisk>           : "Ζ"   U0396    # GREEK CAPITAL LETTER ZETA
<Multi_key> <z> <asterisk>           : "ζ"   U03B6    # GREEK SMALL LETTER ZETA

<Multi_key> <A> <A> : "∀"   U2200    # FOR ALL
<Multi_key> <E> <E> : "∃"   U2203    # THERE EXISTS
<Multi_key> <E> <slash> : "∄"   U2204    # THERE DOES NOT EXIST

<Multi_key> <bar> <asciicircum> : "↑"   U2191   # UPWARDS ARROW
<Multi_key> <bar> <v>           : "↓"   U2193   # DOWNWARDS ARROW

<Multi_key> <R> <s> : "₹"  U20B9  # INDIAN RUPEE SIGN
# Go back to stock behaviour, not kragen’s ₿ BITCOIN SIGN.
<Multi_key> <B> <bar>			: "฿"	U0e3f # THAI CURRENCY SYMBOL BAHT

<Multi_key> <f> <slash> : "ƒ"   function # LATIN SMALL LETTER F WITH HOOK

# Control pictures, whee!
<Multi_key> <N> <U> <L> : "␀"  U2400  # SYMBOL FOR NULL
<Multi_key> <S> <O> <H> : "␁"  U2401  # SYMBOL FOR START OF HEADING
<Multi_key> <S> <T> <X> : "␂"  U2402  # SYMBOL FOR START OF TEXT
<Multi_key> <E> <T> <X> : "␃"  U2403  # SYMBOL FOR END OF TEXT
<Multi_key> <E> <O> <T> : "␄"  U2404  # SYMBOL FOR END OF TRANSMISSION
<Multi_key> <E> <N> <Q> : "␅"  U2405  # SYMBOL FOR ENQUIRY
<Multi_key> <A> <C> <K> : "␆"  U2406  # SYMBOL FOR ACKNOWLEDGE
<Multi_key> <B> <E> <L> : "␇"  U2407  # SYMBOL FOR BELL
<Multi_key> <B> <S>     : "␈"  U2408  # SYMBOL FOR BACKSPACE
<Multi_key> <H> <T>     : "␉"  U2409  # SYMBOL FOR HORIZONTAL TABULATION
<Multi_key> <L> <F>     : "␊"  U240A  # SYMBOL FOR LINE FEED
<Multi_key> <V> <T>     : "␋"  U240B  # SYMBOL FOR VERTICAL TABULATION
<Multi_key> <F> <F>     : "␌"  U240C  # SYMBOL FOR FORM FEED
<Multi_key> <C> <R>     : "␍"  U240D  # SYMBOL FOR CARRIAGE RETURN
<Multi_key> <S> <O>     : "␎"  U240E  # SYMBOL FOR SHIFT OUT
<Multi_key> <S> <I>     : "␏"  U240F  # SYMBOL FOR SHIFT IN
<Multi_key> <D> <L> <E> : "␐"  U2410  # SYMBOL FOR DATA LINK ESCAPE
<Multi_key> <D> <C> <1> : "␑"  U2411  # SYMBOL FOR DEVICE CONTROL 1
<Multi_key> <D> <C> <2> : "␒"  U2412  # SYMBOL FOR DEVICE CONTROL 2
<Multi_key> <D> <C> <3> : "␓"  U2413  # SYMBOL FOR DEVICE CONTROL 3
<Multi_key> <D> <C> <4> : "␔"  U2414  # SYMBOL FOR DEVICE CONTROL 4
<Multi_key> <N> <A> <K> : "␕"  U2415  # SYMBOL FOR NEGATIVE ACKNOWLEDGE
<Multi_key> <S> <Y> <N> : "␖"  U2416  # SYMBOL FOR SYNCHRONOUS IDLE
<Multi_key> <E> <T> <B> : "␗"  U2417  # SYMBOL FOR END OF TRANSMISSION BLOCK
<Multi_key> <C> <A> <N> : "␘"  U2418  # SYMBOL FOR CANCEL
<Multi_key> <E> <M>     : "␙"  U2419  # SYMBOL FOR END OF MEDIUM
<Multi_key> <S> <U> <B> : "␚"  U241A  # SYMBOL FOR SUBSTITUTE
<Multi_key> <E> <S> <C> : "␛"  U241B  # SYMBOL FOR ESCAPE
<Multi_key> <F> <S>     : "␜"  U241C  # SYMBOL FOR FILE SEPARATOR
<Multi_key> <G> <S>     : "␝"  U241D  # SYMBOL FOR GROUP SEPARATOR
<Multi_key> <R> <S>     : "␞"  U241E  # SYMBOL FOR RECORD SEPARATOR
<Multi_key> <U> <S>     : "␟"  U241F  # SYMBOL FOR UNIT SEPARATOR
<Multi_key> <S> <P>     : "␠"  U2420  # SYMBOL FOR SPACE
<Multi_key> <D> <E> <L> : "␡"  U2421  # SYMBOL FOR DELETE
<Multi_key> <N> <L>     : "␤"  U2424  # SYMBOL FOR NEWLINE
# Deliberately missing (because they have other forms): U2422, U2423, U2425 and U2426.

# Ordinals
<Multi_key> <asciicircum> <s> <t> : "ˢᵗ"
<Multi_key> <asciicircum> <n> <d> : "ⁿᵈ"
<Multi_key> <asciicircum> <r> <d> : "ʳᵈ"
<Multi_key> <asciicircum> <t> <h> : "ᵗʰ"

<Multi_key> <L> <c> : "Lᶜ"

# Shapes. So many types to choose from, and so inconsistently ordered and styled!
<Multi_key> <U> <T> : "▲"  U25B2  # BLACK UP-POINTING TRIANGLE
<Multi_key> <D> <T> : "▼"  U25BC  # BLACK DOWN-POINTING TRIANGLE
<Multi_key> <R> <T> : "▶"  U25B6  # BLACK RIGHT-POINTING TRIANGLE
<Multi_key> <L> <T> : "◀"  U25C0  # BLACK LEFT-POINTING TRIANGLE
#<Multi_key> <L> <t> : "⏴"  U23F4  # BLACK MEDIUM LEFT-POINTING TRIANGLE
#<Multi_key> <R> <t> : "⏵"  U23F5  # BLACK MEDIUM RIGHT-POINTING TRIANGLE
#<Multi_key> <U> <t> : "⏶"  U23F6  # BLACK MEDIUM UP-POINTING TRIANGLE
#<Multi_key> <D> <t> : "⏷"  U23F7  # BLACK MEDIUM DOWN-POINTING TRIANGLE
<Multi_key> <U> <t> : "⯅"  U2BC5  # BLACK MEDIUM UP-POINTING TRIANGLE CENTRED
<Multi_key> <D> <t> : "⯆"  U2BC6  # BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED
<Multi_key> <L> <t> : "⯇"  U2BC7  # BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED
<Multi_key> <R> <t> : "⯈"  U2BC8  # BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED

<Multi_key> <less> <greater> : "◊"  U25CA  # LOZENGE

<Multi_key> <asciicircum> <underscore> 	: "̅"   U0305 # COMBINING OVERLINE

# Glyphs macOS uses in presenting keyboard shortcuts:
<Multi_key> <at> <C>     : "⌘" U8984 # Command
<Multi_key> <at> <c>     : "⌃" U8963 # Control
<Multi_key> <at> <asciicircum> : "⌃" U8963 # Control
<Multi_key> <at> <o>     : "⌥" U8997 # Option
<Multi_key> <at> <s>     : "⇧" U8679 # Shift
<Multi_key> <at> <b>     : "⌫" U9003 # Delete (Backspace)
<Multi_key> <at> <d>     : "⌦" U8998 # Forward Delete (Delete)
<Multi_key> <at> <e>     : "⎋" U9099 # Escape
<Multi_key> <at> <Right> : "→" U8594 # Right
<Multi_key> <at> <Left>  : "←" U8592 # Left
<Multi_key> <at> <Up>    : "↑" U8593 # Up
<Multi_key> <at> <Down>  : "↓" U8595 # Down
<Multi_key> <at> <U>     : "⇞" U8670 # Page Up
<Multi_key> <at> <D>     : "⇟" U8671 # Page Down
<Multi_key> <at> <H>     : "↖" U8598 # Home
<Multi_key> <at> <E>     : "↘" U8600 # End
<Multi_key> <at> <t>     : "⇥" U8677 # Tab
<Multi_key> <at> <T>     : "⇤" U8676 # Shift Tab
<Multi_key> <at> <space> : "␣" U9251 # Space
# Other glyphs that macOS might use:
# U8999 "⌧" # Clear
# U8682 "⇪" # Caps Lock
# U9167 "⏏" # Eject
# U8617 "↩" # Return
# U8629 "↵" # Return
# U9166 "⏎" # Return
# U8996 "⌤" # Enter
# U9250 "␢" # Blank

# Ones from WinCompose {{{1
# DefaultUserSequences.txt {{{2
<Multi_key> <s> <f> : "¯\\_(ツ)_/¯"     # Shrug face
# WinCompose.txt {{{2
<Multi_key> <minus> <minus> <equal> : "−"    U2212 # MINUS SIGN
# Unknown (can’t find them in a file, but I had ’em; TODO investigate to find the rest!) {{{2
<Multi_key> <asterisk> <asterisk> : "★"     U2605 # BLACK STAR
# }}}1
Body text: Fonts:
Theme:
Explanation of all this
(yes, this works without JavaScript; persists to cookies)