Cedilla — a best-effort text printer

Cedilla is a simple text printer that uses Unicode internally.

Using Unicode means that the set of characters that can appear in the input is very large, and the user may very well have no font available that contains glyphs for the characters that he wants to print. Cedilla attempts to at least partially solve this problem by making heroic efforts to find or create a suitable glyph.

For example, in order to typeset a Polish e with ogonek « ę », Cedilla will first try to find a suitable precomposed glyph. If that fails, Cedilla will try to locate an ogonek « ˛ » which it will use to overstrike a plain « e ». If there is no ogonek in the font being used, Cedilla, will overstrike a plain « e » with a comma, leading to an ugly but legible rendition of Polish text.

Cedilla is believed to fully support at least the following languages:

More details about the algorithm used by Cedilla are given in the Cedilla README (PDF).


Please download Cedilla, read the latest news about Cedilla.

My working tree is available over git:

git clone https://github.com/jech/cedilla.git

A web interface is also available.

Documentation and samples

The Cedilla README: as plain text,

A sample of Vietnamese text, as plain text,

A sample of Cyrillic and Greek text, as plain text,


Le GNU a2ps, a plain text typesetter with support for a number of 8-bit encodings but no support for Unicode.

Paps is based on Pango, and therefore has excellent support for Unicode (much better than Cedilla). However, it generates bitmaps in the resulting PostScript, which makes it slow to print and unsuitable for conversion to PDF.

Related links

Markus Kuhn's Unicode FAQ, a very comprehensive resource about Unicode support on Free Unix-like systems.

Ogonkify, my first attempt at best-effort typesetting.

Belarusian translation.

Back to my software page.

Juliusz Chroboczek