mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-15 11:16:25 +00:00
Once a right-to-left line holds a tab and a glyph with a negative advance, the least it can be drawn at no longer grows with its tab stops, so a line that overflowed in the order of its text read on to the end of the paragraph before settling its break. Setting every line of a long paragraph that way took time quadratic in its length. Such a line now reads at most 256 legal breaks past where it first overflows in the order of its text, and ends at the latest break read that fits as drawn, the same limit the breaker uses for breaks it measures one by one. Lines without negative advances, and lines that fit, keep their breaks.