Skip to Content


A microtypography typesetting pass applies these adjustments to prose; it skips over code and math, and applies a different set of rules to Japanese text.

Headers (Amerpsands, Erstwhile Quaints, & Swashes)

Headers borrow the italic ampersand & rather than the roman &, allow some additional quaint ligatures that might be distracting in body text like ct or st, and swash variants like Q.


Words and acronyms formed entirely of UPPERCASE LETTERS stick out from their surrounding text like shouting, so they’re instead set in SMALL CAPS. A mix of numbers, letters, and some punctuation is allowed: JPEG, 3DES, C-3PO, TTRPGs.

A small amount of tracking has been added. However, that extra tracking is skipped with spaces, so the space in SMALL CAPS doesn’t seem overly big. And the tracking is preserved at the end with plural acronyms, such as RPGs.

Inter lacks SMALL CAPS, so runs of capital letters are set in a slightly smaller point size instead.


Old-style figures are used in most prose 123,456.

Lining figures are used in sans-serif text 123,456.

Tabular figures are used in tables so numbers line up.
Row 1123.452.3456
Row 2678.907.8901


"Straight quotation marks" are converted to their “curly forms” using an algorithm baed on David Dunham’s Smart Quotes (external link). Ink’s version knows how to traverse DOM nodes so “quoted” works correctly.

(Parentheses), [square brackets], and {curly brackets} are too tight by default; some spacing has been added. This especially helps with (italics).

EB Garamond’s ellipsis is a bit too compact (it is weirdly slightly tighter than three unspaced periods), so ellipses are instead three slightly spaced periods. The spacing around an ellipsis is contextual. a ... b c... d.... e...? f...! [...]

Analphabetic Symbols

The x in 3× faster or 210×297 is replaced with the multiplication symbol and set with small spaces.

Similarly, the : in a ratio like 2:3 is also set with small spaces.

-> becomes , shorthand for implies.

In Other Types, Sizes

The above adjustments may use different metrics at different sizes and for different types.

“quoted”, 3×, 123×456, 4:5, , (test) [test] {test}

“quoted”, 3×, 123×456, 4:5, , (test) [test] {test}

“quoted”, 3×, 123×456, 4:5, , (test) [test] {test}

“quoted”, 3×, 123×456, 4:5, , (test) [test] {test}