- FontDecompressor: replace heap-allocated std::vector hot-group and glyph
scratch buffers with static BSS arrays, eliminating per-page malloc/free
and the heap fragmentation it causes during rendering
- FontDecompressor: add bounds checks on group/glyph buffer sizes; sort
prewarm group list by ascending index for sequential flash reads
- ParsedText: upgrade line-break cost function to Knuth-Plass cubic badness
(strongly penalises very loose lines, lenient on moderate looseness)
- ParsedText: exclude gaps before closing punctuation (. , ) » etc.) from
justification distribution so they stay at natural space width
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>