Tabs and tab stops

A column of figures that does not line up is worse than no column at all: the reader stops reading the numbers and starts looking at the edges. Spaces will not do the job, because in most fonts a space is not the width of a digit, so something else has to say where the next piece of text begins, whatever length the last one turned out to be.

Three ways of saying it are set side by side here, and the third is the one a column of money wants: every stop is placed where you say, and the text that reaches it either starts there, sits centred over it, or lines up on its decimal point — so 1 200.00 and 45.50 stand one above the other on the point rather than on their last digit. A grey line is drawn at each stop on this page, so the text can be seen landing on it.

What this example shows

  • Stepped, typewriter-grid and chosen tab stops, side by side.
  • Text set on a stop, centred over it, or lined up on the decimal point.
  • A row of dots running out to a stop on the right, as in a contents page.

The source code, complete

Nothing is left out and nothing is simplified: this is the program exactly as it runs, for the developer who uses this library. The third is the description itself: a plain list of what the page has to say, which is what the service is sent.

Read the Rust source Read the Python source Read the JSON source

The document itself

Open the document in English Open the document in French

Tabs and tab stops, first page

Optimised, this document weighs 14.7 kB — at least 85 % lighter than most PDF generators would write it

The document is lighter than it was, and every page still looks exactly the same. See this document's row in the table of every example.

Examples near this one

Breaking an overlong word

A word longer than the column that holds it: the library leaves it whole, or cuts it at the column's edge.

Break points after a slash or a hyphen

A justified column set twice: file paths and compounds running past the edge with no break points, then wrapping where a break after a slash or a hyphen is allowed.

A font behind the font

One line of statuses set twice: in a company font alone, where the characters it has no glyph for come out as empty boxes, then with a second font behind it that draws them.

Every example, by subject