Text Rendering Hates You - Faultlore
Rendering text, how hard could it be? As it turns out, incredibly hard! To my knowledge, literally no system renders text “perfectly”. It’s all best-effort, although some efforts are more important than others. I’ll be assuming you want to support arbitrary text provided by users with custom fonts, colors, and styles with line-wrapping and support for text-selection. Basically the minimum required to properly display a simple rich-text document, terminal, webpage, or anything else. The overarching theme here will be: there are no consistent right answers, everything is way more important than you think, and everything affects everything else. The topics I focus on here have no particular rhyme or reason, they’re just the ones that come to mind after a few years of working on rendering in Firefox. For instance, I don’t spend much time talking about the challenges of text-segmentation or managing the different platform-specific text libraries, because I don’t look at that much. Text is c
Text Rendering Hates You Rendering text, how hard could it be? As it turns out, incredibly hard! To my knowledge, literally no system renders text “perfectly”. It’s all best-effort, although some efforts are more important than others. I’ll be assuming you want to support arbitrary text provided by users with custom fonts, colors, and styles with line-wrapping and support for text-selection. Basically the minimum required to properly display a simple rich-text document, terminal, webpage, or anything else. The overarching theme here will be: there are no consistent right answers, everything is
Explore this link on the map →saved by
related reading
- Departure Monodeparturemono.com
- GPU text rendering with vector textures · Will Dobbiewdobbie.com
- Font Conceptssimoncozens.github.io
- Font Conceptssimoncozens.github.io
- An interactive introduction to the terrific experience of rendering Arabic typography and its technical debt | La Vita Nouvalr0.org
- ASCII characters are not pixels: a deep dive into ASCII renderingalexharri.com
- Peritext: A CRDT for Rich-Text Collaborationinkandswitch.com
- MAKING SOFTWAREmakingsoftware.co
- Monaspacemonaspace.githubnext.com
- Cheng Lou on X: "My dear front-end developers (and anyone who’s interested in the future of interfaces): I have crawled through depths of hell to bring you, for the foreseeable years, one of the more important foundational pieces of UI engineering (if not in implementation then certainly at https://t.co/BKnwCDIp75" / Xx.com
- TextFXtextfx.withgoogle.com
- Gwern visits BAIR – Yuxi on the Wiredyuxi.ml