OG image text layout that fixes #484, #393, #532 — powered by Pretext
Satori accumulates floating-point rounding errors when measuring character widths. After enough characters, the total measured width is shorter than reality, causing text to overflow its container.
Fix: Pretext measures exact character widths with kerning pairs. No cumulative rounding errors.
URLs, hashes, and other strings without spaces are not broken by Satori even with overflow-wrap: break-word, causing horizontal overflow.
Fix: break-word correctly splits mid-word when a single word exceeds container width.
Satori approximates line height instead of computing it from font metrics. Multi-line text with custom lineHeight produces overlapping or too-widely-spaced lines.
Fix: Line height computed from font metrics (ascent + descent + lineGap).