A whole novel in French

The same layout on a French text: a hundred and forty-five pages drawing the accented alphabet, so the font kept inside the file carries every shape a wider alphabet needs.

The same layout as the English book, on Jules Verne's Le tour du monde en quatre-vingts jours, published in 1873 and long out of copyright. It comes out at a hundred and forty-five pages, which makes it the longest document this site publishes, and it is the harder of the two to typeset.

What makes it harder is the alphabet. A French text draws the accented letters as well as the plain ones, so the font kept inside the file has to carry more letter shapes than an English text asks for, and the file states the width of each of those letters. The engine keeps only the shapes the book actually draws, which is why a hundred and forty-five pages of prose still come to half a megabyte.

What this example shows

  • A French text set with its accented letters, from one embedded font.
  • The longest document on this site, from the same short program.
  • Only the letter shapes the book draws are kept, never the whole font.

The code, in full

The same document is written twice, once in each language. Both files are shown in full, with the code coloured on the server, and can be copied in one click.

The document itself

The document this example writes, ready to open.

Open the document in English

Read the Rust source Read the Python source

First page of A whole novel in French

What this document weighs

This document weighs 511,433 bytes.

The team wrote this book after measuring the documents above, so there is no earlier figure to set beside it. See every document measured.

Examples near this one

Soft hyphens and no-break spaces

A justified column set twice: the long words breaking at their soft hyphens with a hyphen shown, or left whole, and a figure a no-break space keeps together.

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.

Text poured into columns

One long passage poured into three columns, each fitting the lines its height allows and handing the rest to the next.

Every example, by subject