all the ways in which terminals' text rendering is bad (2024)
7 points by runxiyu
7 points by runxiyu
modern text rendering has given up entirely on the assumption that text can be coerced into a 2d grid of any sort
To be pedantic, even very old text rendering, like Gutenberg's movable type, wasn’t based on 2D grids. The first device that put text in a grid was the typewriter, c.1875. Even the automated typesetters of the same era like Linotype and Monotype used variable-width characters.
One of the fun things about Linotype machines is their analogue justification mechanism. You can see a line of matrices being assembled in figure 3-2. The reference marks are visible on the front of each matrix, and the mould will be pressed against the back of the line to cast it. (The stairsteps in the top of each matrix encode a binary number used to distribute matrices into the right slots in the magazine.)
The long pieces that dangle below the line of matrices are spaces. Each is made of two sharp wedges that can slide against each other. After a line is composed, it is moved into a vice that is set to the desired width of the line, and the spaces are squashed. This makes the wedges slide from narrower to thicker so the spaces expand until the line of matrices fills the space allowed in the vice.
It’s a delightfully mechanical solution to the problem!
(Monotype machines cast individual glyphs, and they cast spaces the same way although with finer horizontal resolution. Justification is calculated ahead of time in a more digital fashion.)
Is this post some sort of a protest against capital letters and full stops?