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
saved by
related reading
- Details That Make Interfaces Feel Betterjakub.kr
- The Design of This Websiteturntrout.com
- Say precisely what you mean.index.how
- How OpenType Workssimoncozens.github.io
- GitHub - chenglou/pretext: Fast, accurate & comprehensive text measurement & layoutgithub.com
- GPU text rendering with vector textures · Will Dobbiewdobbie.com
- The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) – Joel on Softwarejoelonsoftware.com
- The Elements of UI Engineering — overreactedoverreacted.io
- Peritext: A CRDT for Rich-Text Collaborationinkandswitch.com
- Design Systems Typography Guidedesignsystems.com
- Thousands of Styled Rectangles in 120FPS on GPU - tchayen.comtchayen.com
- An interactive introduction to the terrific experience of rendering Arabic typography and its technical debt | La Vita Nouvalr0.org