Text Set Down the Page

A sign on a narrow post, the spine of a folder, a label running up the side of a box: sometimes a word has to be read from top to bottom, one letter under the next. Here three signs are set that way on narrow boards. The first fills its columns from right to left and may break a word anywhere, closing each column a cut ends on a hyphen; the second fills them from left to right starting at the bottom, and the third centres its words in blue with more room between the columns.

Under each sign, the program writes what it measured while setting it: how many of its columns fit on the board, how tall the tallest one is, how many end a paragraph, what the first one holds, and how tall the whole text would stand in a single column. The first sign runs out of room, and the page says so: four of its seven columns fit.

What This Example Shows

  • Letters stacked one under the next, in columns.
  • Columns filled right to left or left to right.
  • What does not fit, measured and said.

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.

Read the Rust source Read the Python source

The Document Itself

Open the document in English Open the document in French Open the document in German Open the document in Spanish Open the document in Italian Open the document in Portuguese

Text Set Down the Page, first page

The Same Document in Other Languages

This document weighs 23.3 kB

Examples Near This One

Breaking an Overlong Word

A word longer than the column that holds it: the library leaves it whole, cuts it at the column's edge, or cuts it and closes the line on a hyphen.

Break Points After a Slash or a Hyphen

A justified column set four times: file paths and compounds running past the edge with no break points, wrapping where a break after a slash or a hyphen is allowed, then wherever their punctuation allows one, and last with no-break hyphens that keep each compound whole.

A Stack Laid out by Hand, One Box at a Time

A delivery slip poured into two boxes, the second taking up where the first stopped, and a poster whose picture no box can hold, each box saying what became of the stack in it.

Every example, by subject