This module provides a chain of tools to layout text. It is mainly a port of the following C libraries harfbuzz and graphite.
As of v0.1.0, the content of this repository has been split, with higher level, more experimental packages moved to textprocessing. The remaining packages are the more stable, low level logic used by go-text.
The package fonts provides the low level primitives to load and read font files. Once a font is selected, harfbuzz is responsible for laying out a line of text, that is transforming a sequence of unicode points (runes) to a sequence of positionned glyphs. Graphite fonts are supported via the graphite package. Some higher level library may wrap these tools to provide an interface capable of laying out an entire text.
This project is a work in progress. Some parts of it are already usable : fonts/truetype, harfbuzz and graphite, but breaking changes may be committed on the fly.
This module is licensed as MIT.