In principle this is a page for absolutely anything about good fonts and typographical style on the internet. In practice, a small subset of that information is stuff that I need regularly and is hard to search for or remember; Most of that is about typing wacky characters. That is here. The remainder is about exotic LaTeX UTF errors.
For actual information about typography more broadly construed, see Matthew Butterick’s Practical Typography, which is a whole online book making an eloquent and detailed case for using the web for reading, which sounds nice but sounds like it might cut into screen time allocated to Candy Crush. If you need fonts that can actually display the characters you have just input, see fonts.
🏗 make or include a keyboard shortcut table
🏗 which things apply only to US-English keyboards?
Dashes and spacers
- en dash, —
⎇ -
(Mac)Compose - - .
(Gnome)- em dash, —
⎇ _
(Mac)Compose - - -
(Gnome)- Ellipsis, …
⎇ ;
(Mac)Compose ..
(Gnome)- Non-breaking space
⎇ <space>
(Mac)Compose <space> <space>
(Gnome)
This last one is mostly needed to avoid widows and such in titles, but hopefully we can all avoid that hack now thanks to CSS widows and orphans properties which solve this at a styling level.
Quotes, apostrophes
- Opening single curly quote, ‘
⎇ + ]
(Mac)Compose + < '
(Gnome)AltGr + 9
(Any X?)- Closing single curly quote ( ’ )
⎇ + }
(Mac)Compose + > '
(Gnome)AltGr + 0
(Any X?)- Opening double curly quote ( “ )
Alt + [
(Mac)Compose + < "
(Gnome)- Closing double curly quote
⎇ + {
(Mac)Compose + > "
(Gnome)- Opening low quote „
Compose + , "
(Ubuntu)
Compose keys on X Windows
Bonus time: Where is that compose key?
Using Ubuntu?
The traditional instructions
about compose
keys,
don’t work per default on recent versions.
You can re-enable Compose using gnome-tweaks
sudo apt install gnome-tweak-tool
Then launch Tweaks
- Go to
Keyboard & Mouse
. - Choose something other than
disabled
for theCompose Key
option.
I set Compose to be Capslock
because, like hundreds of millions of
computer users, I have never pressed that key deliberately to get
capital letters and it seems unlikely that this will change in the coming decades.
This all means that e.g I now type ü
as Capslock+" u
and “
as Capslock + < "
.
Which is reasonably mnemonic if you look at a US keyboard layout. Bonus: disables caps lock.
As of the last few days, my computer starts forgetting the compose key settings when it wakes from sleep. Putting the following command in the X11 start up apps list does the job:
setxkbmap -option compose:caps
In fact for me, as of recent history, this setting has joined a long list of settings that my laptop now forgets after waking from sleep.
Now I can treat myself to a caret.
However, the downside is that now you can end up with the Caps Lock key actually locking in into ALL CAPITALS BECAUSE YOU ACTUALLY SOMETIMES PRESS IT NOW SO HOW DO YOU DISABLE CAPS LOCK? There is an annoying workaround.
You can run the
setleds -caps
command from within a console. To get to a console, pressCtrl
+Alt
+F1
, and pressCtrl
+Alt
+F7
to get back to where you were.
You can alternatively (additionally?) enable ISO_Level3_Shift which does a similar thing AFAICT but with less configurability and less documentation online
Launch GNOME Tweaks
- Go to
Keyboard & Mouse
- Click on
Additional Layout Options
- Expand
Miscellaneous compatibility options
, checkEnable extra typographic characters
It is not clear to me how I enter Greek characters using either of the above methods. There is something called a dead_greek key? Is that real?
Or I could memorize some
4-digit unicode code points and enter characters via Ctrl-Shift-U
.
That would be a great use of my brief and precious time on this sweet, sweet earth.
But which Compose shortcuts exists?
You kinda need to guess,
but the Gtk list is a good start, although it could do with some examples.
There is an encyclopedia of these symbols at
fsymbols.com.
And you can, hypothetically,
define your own.
The wikipedia list has some examples.
The local version is supposedly in a file like /usr/share/X11/locale/am_ET.UTF-8/Compose
but for me this includes mostly Ethiopean input methods and not the basic stuff.
Emoji
In every environment, including ones that don’t have good emoji support or are locked down by sysadmins who hate fun, you can use the emoji search page and reference emojipedia, which is a votimg member of the unicode consortium according to wikipedia, so they must be authoritative.
Sometimes it is hard to type or view emoji. The :emoji:
syntax
allows us to refer to them via
“shortcodes” such as :roller_coaster:
for 🎢.
I’m not sure what, if any, the canonical list of these shortcodes is but the emoji cheatsehet](https://www.webfx.com/tools/emoji-cheat-sheet/) will do. The github emoji system is aligned to that, I learned via emojify. For this blog, the ugly-lookin’ and slightly divergent pandoc list was handy. One can also use emojipedia on macOS which is an OS-integrated dictionary of emoji.
Also important: sardonically rating emoji: ants, horses.
Ubuntu
In recent Ubuntu
emoji input is built-in
via Emoji picker (right click), although AFAICT only on system dialogues, which excludes,
e.g. the text editors and browsers where you actually need this stuff.
There is also the emoji hotkey,
defaulting to Ctrl+Shift+E
which enables a slightly confusing the underdocumented ibus
emoji search widget which for all that is more reliable and usable than the picker etc. However that shortcut key is annoying.
There’s also Character Map
and Characters
, two more-or-less interchangeable apps
to find and type characters for you.
Characters
is nicer-lookin’ but has awful search, whereas
Character Map
has merely bad search.
The emoji are, I think, supplied via Google’s Noto font in its emoji flavour.
macOS
You can open the emoji typer with
⌘ ⌅ Space
Mobile
Very built-in these days, but I’m sad that cute apps like Dango which did deep emoji learning, never got traction.
LaTeX
Finding that weird character
There is a nifty web app which solves a lot of these problems for one, called tell.wtf. Give it a go. You can scribble a character and it tells you the unicode translation.
Similarly, shapecatcher lets you sketch it in the browser.
Unicode character search and Unilist and copybar all provide classic style search. Probably the most popular is getemoji, the emoji-finding website from emojipedia.
If you then need to encode it to code points or UL encoding or whatever, see the many web-friendly encodings in the amusing Cryptii app and r12a >> Unicode code converter.
Advanced character molestation
Combatwombat’s Lunicode.js is full of programmatic unicode mangling tricks, e.g.
Wonky alternatives to the usual characters.
చօղҟվ ąӀէҽɾղąէìѵҽʂ էօ էհҽ մʂմąӀ çհąɾąçէҽɾʂ.
One can play with it at Lunicode.com.
Crucially, it supports Zalgo text, and various other stupid stunts from /r/Unicode/. In fact Zalgo text is a cottage industry, although I’m more of a trap text person myself obvs.
Sources
Misc
Fun fact: It takes reading of the spec to discover that Emoji are banned from YAML 1.1, which is an important text encoding system. You can use escape sequences, but only in double quoted strings.
So, to write the subtitle of this page for YAML 1.1, you could say
"Writing with \U0001f195\U0001f41c\U0001f41c"
I think this is fixed in the more recent YAML 1.2.