mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-13 22:21:59 +00:00
Distributing a story through threaded frames measured every frame but the last with the whole rest of the story, and copied that rest several times per frame, so a long story through many frames cost frames times story length. - The rest of the story is a borrowed view of the given runs (run index, byte offset, length). Each frame's share is copied once; the slices, styles of empty shares and the run left once the story is used up are the same as before. - Area type without Shrink Text to Fit whose lines align to the top is first measured with the text through the end of the paragraph that reaches about twice the previous frame's share (at least 512 bytes), doubling while the story goes on. The share is taken when its text stops fitting before the last paragraph break measured; layout places lines in order, stops at the first that does not fit and shapes each paragraph on its own text. Type on a path, Shrink Text to Fit, other vertical alignments and a share ending in the story's last paragraph are measured with the whole rest. Tests compare every slice with the earlier algorithm, kept in the tests, for many kinds of frames, styles and paragraphs and 12 seeded stories. A story of 1,500 paragraphs (55,892 bytes) through 40 frames was laid out over 2,126,762 bytes while measuring and is now laid out over 21,035.