Projects on Typography

A Selection of my Go(lang) Projects around Type

I have a lifelong interest in typography and book design. The Go-ecosytem currently is lacking a bit in terms of typographic support, at least compared to e.g. Rust. The Go standard library includes packages for font parsing and Unicode handling, but I am not aware of production-grade font or typesetting packages. That said, my intent is not to provide a production-grade toolset right now, as I currently do not have enough spare time to polish everything up. Still, the code may be useful for other applications.

For blog posts on more in-depth discussions around typography, head over to the “Typography” topic/tag page, or to my developer deep-dive on my home page.

UAX

Unicode Text Segmentation Algorithms

Text processing applications need to segment text into pieces (words, sentences, paragraphs, …). From a typographic viewpoint, some languages present serious challenges for correct segmenting. The Unicode consortium publishes recommendations for text segmentation in their Unicode Annexes (UAX).

opentype

OpenType Font Parser and Shaper

This package provides access to OpenType font tables and features. The intended audience for this package are text shapers, such as HarfBuzz, and glyph rasterizers, such as FreeType. This is work in progress.

TySE

Typesetting Engine

Experiments with formatting Text. This project is perpetual work in progress and will never finish, but it's a fascinating topic and a challenging exercise. For a production-ready typesetter take a look at typst.

This article was updated on