Stamps fitted to a rectangle

DRAFT, COPY, PAID, SPECIMEN: the words a document says about itself, and the first thing an auditor looks for. They have to be unmissable and they have to lie across whatever they are marking — a whole page today, one table cell tomorrow, a translated word half as long again next month — so their size can never be settled in advance.

Here the word is turned first and only then made to fit, which is the order that matters: what has to sit inside the rectangle is the word as the reader sees it, on the slant, not the flat word it was before. Give it a wide rectangle, a tall one, a table cell or a whole page and it comes out filling that shape, with no size to work out and nothing to redo when the word is translated. Draw the stamp before the page and it lies under the text; draw it after and it lies over it.

What this example shows

  • One word made to fill rectangles of four different shapes.
  • Turned before it is fitted, so the slanted word is what has to fit.
  • The same wording stamped across a page, a cell and a field.

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

Stamps fitted to a rectangle, first page

Optimised, this document weighs 12.3 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