Changelog

Kolofon · 14 August 2026

0.9.4 — the letter that goes below the line

13:04 — from a printed copy, not from a preview

0.9.4 — the letter that goes below the line

Text: Kolofon

The initial in the book stood three lines tall; on the page it stands two. That was a mistake in one direction and on its own would have cost a single changed number. What turned up beside it was worse.

The letter was scaled by cap height: from the top of the bowl down to the baseline. For P, Ś or N that is the whole letter and everything agrees. For J it is not. The bowl ends at the baseline and the tail carries on below it, outside the measurement. The grid row reserved space only down to the baseline, so the tail hung into the text flowing underneath and ran across the words.

The fix is not a list of glyphs. We compare a letter's inked extent with its cap height; if it reaches lower, the letter is given one line more and scaled by that whole extent rather than by cap height alone. The tail then fits within the third line and never reaches the fourth. The rule picks up Q and letters with an ogonek along the way — and it will pick up glyphs nobody here anticipated, because a measurement decides, not a table of exceptions.

There is an unavoidable side effect: a J is optically a little larger than a P. The alternative was to keep the letter at two-line size and reserve an empty third line — which leaves a band of blank under the letter and breaks the rhythm of the leading. A larger letter is less visible than a hole.

The fault passed through the preview and was caught only in print. Not because the preview lacked it — it was there, on the same page. A screen simply does not force you to look at a whole column at once, and paper does. That is the second confirmation of the same principle in this release, after the error glyph in someone else's reader: faults in typesetting and distribution are visible from outside, not from within.

And a procedural rule, written down here so it does not have to be reconstructed: every change to the engine is a new release. A fix is not glued onto a number that has already shipped, and a changelog entry is not rewritten to agree with today's code. Release 0.9.3 set the initial across three lines and its entry still says so. It is 0.9.4 that sets it across two.