mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-07 16:52:47 +00:00
In the legacy format, area type whose story flows through several linked areas has one text path (`Tp` ... `TP`) for each area, each with its own matrix and frame (version 7 specification, sections 15 and 15.5.3). The reader kept only the first frame, placed it with the text object's last valid matrix, and put the whole story in that one frame. Each linked area with a frame now opens as its own area type object, placed with its own matrix, and the frames are threaded in file order. The first frame holds the story: the characters after every `TP`, and the overflow text. When the file opens, the story is laid out again through the thread (section 15.1 lists the flow from area to area as final-form information). A linked area without a frame is left out. Area type with one area opens as before. The dictionary that follows a text object (its opacity mask, text wrap, name and other keys) went to its one object. Its opacity mask and text wrap now go on every frame, and its other keys on the first frame. Point type is read with its first text path's matrix, and type on a path with the matrix and start of the first text path that has a path. Area type with no frame at all opens as point type with its first text path's matrix. Before, these used the last valid matrix and, for type on a path, the last start. One text object reads at most 4,096 text paths. The number of frames times the story's character count is kept to 4,194,304, so a longer story keeps fewer frames. Frames past either limit are left out, with a warning.