Adventures in Text Rendering: Kerning and Glyph Atlases
This article delves into text rendering, focusing on shaping and rasterization processes. It explains that fonts contain two main categories of data - glyph descriptions and ligature information. The text rendering process involves converting a string of characters into a set of glyphs to be rendered at particular positions (shaping) and taking a glyph described in a vector graphics format and converting it into a raster image (rasterization). The article also discusses the challenges of optimizing for performance without sacrificing quality. It introduces a glyph atlas, which is a GPU texture containing all rasterized bitmaps for the glyphs needed to display text. The author explains how they used sub-pixel alignment and adjusted the cache key to ensure proper kerning while maintaining crisp text. The article concludes by discussing other potential approaches, such as interpolating between two nearest rasterized glyphs or using supersampling for improved results. However, these alternatives were deemed not worth the tradeoff in complexity and cost.
Company
Warp
Date published
July 27, 2022
Author(s)
David Stern
Word count
3355
Language
English
Hacker News points
61