Outstanding typographic quality with open source typesetting tools

By Jan Tošovský on Apr 8, 2016

Typesetting kings

The best visual typesetting tool with most advanced typographic features is Adobe InDesign. Period.

However, if a non-visual typesetting is sufficient, similar results can be achieved even with open source tools.

While a non-visual typesetting may seem outdated nowadays, it fits nicely especially into automated workflows where none or a very limited user intervention is expected. Although achieving an excellent typography in a dynamic content with a limited visual control is rather oxymoron, it is not as unrealistic as it may seem.

The best non-visual typesetting tool with the most advanced typographic features is the ConTeXt typesetting system in conjunction with the LuaTeX engine. Period.

This statement is a result of a recent comparison covering advanced font and microtypography features. These and few others are summarized in this article.

ConTeXt typographic features

Grid typesetting

It ensures the same vertical position of typeset lines:

  • in case of multiple columns it ensures the same vertical position of adjacent lines

    The grid can be kept even if a text flow is interrupted by graphics or other elements.

  • in case of duplex printing it ensures the same vertical position of lines on front and back side of the page. This approach prevents disturbing the reader by dark tint between the lines if the medium is translucent.

    If a text flow is interrupted by titles with a different line height, such titles cannot be fixed to the grid though.

Balancing columns

In case of multiple columns it allows balancing the content evenly across all the columns.

Columns are automatically balanced with the text distributed over the number of requested columns.

Orphans and widows control

It allows defining limits how many lines should be kept together alone at the top or bottom of the column/page.

Paragraph composer

It evaluates a set of breakpoints for an entire paragraph (unlike single line composer), and thus can optimize earlier lines in the paragraph in order to eliminate especially unattractive breaks later on. Paragraph composition results in more even spacing with fewer hyphens.

Paragraph last line control

In case of separating paragraphs by indenting the first line (instead of blank line), it allows influencing a minimum and maximum length of the last line. The former prevents gaps between the end of the line and the next indented line. The latter avoids cases the last line ends at the rigth edge so the next paragraph has no clear distincion from the previous one.

An unexpected gap between the end of the line and the next indented line.

A missing distinction of two paragraphs at the rigth edge.


It improves text homogeneity and provides an optical edge of the block. Applicable especially on justified blocks. It should be complemented by enabled hyphenating.

  • optical margin alignment (aka protrusion)
  • adjustment of letter width (aka expansion)
  • adjustment of interword spacing
  • adjustment of intercharacter spacing (aka tracking)

Instead of individual settings several presets can be used. In automated workflows more tolerant settings should be preferred otherwise lines may overflow to the margin.

A homogeneous text flow with protruded punctuation ensuring optical margins.

Full support for OpenType font features

  • kerning
  • ligatures
  • small capitals
  • old-style figures
  • superior characters

Source file: ConTeXt


It is clear that ConTeXt typesetting system offers really rich feature set, yet free of charge. Let's use it in our future projects!