Editing text that flows through linked frames, cut, copy and paste that keep their formatting, bleed
that stays on its own page, and stored preferences a host has switched off.
New in this release
Cut, Copy and Paste keep the text's formatting. While editing text, Copy and Cut take the
selected text with its character and paragraph styles, its own formatting and its paragraph
breaks, and Paste in the editor gives it back as it was. Text copied here still pastes into any
other application as plain text, and text copied in another application pastes here as plain
text, in the style at the caret. Text keeps the font and size it showed where it was copied, also
when that came from its frame and it is pasted into a frame with another size.
Cut for text, and Cut and Copy in the Edit menu while editing. Edit > Cut and Edit > Copy are
available whenever text is selected (they were greyed out exactly then), Cut cuts the text rather
than the whole frame, and Cmd+X cuts the selected text. Each cut and each paste is one undo step.
Changed in this release
Undo works in every frame of a text chain. Typing, a tab or a paste in a frame after the first
was not recorded, so Cmd+Z took back the step before it instead. Now each typing burst, tab or
paste is one step, as in the first frame.
Text keeps its size when it flows into a linked frame. The frame-level font, size and style
belong to the story: every frame of a chain draws text that has no size or font of its own in the
first frame's, and a frame-level font or size change made with any frame of the chain selected
changes the whole chain, as one undo step. Text with its own size or a character style keeps it.
An arrow key no longer deletes selected text. With text selected, an arrow key moves the caret
to the start (left, up) or end (right, down) of the selection, as in other editors, also in a
table cell. Enter replaces a selection with a paragraph break as one undo step.
Double-clicking a word selects the word, without the space before it, so typing over it keeps
the spaces around it.
Bleed artwork stays on its own page in a facing spread. When a page lands on the other side of
the spine, artwork in what was its outer bleed no longer shows on the facing page: it stops at the
spine, on screen and in the PDF, and shows again when the page goes back. A picture placed across
both pages still runs across them.
Step and Repeat's page range names pages. "3", "3,5" or "2-6" now mean the pages the page bar
shows, not spreads, and each copy lands at the same place on its page, also when the element sits
on a right-hand page. A range that names no page copies nothing instead of copying to every page.
Stored preferences follow the Preferences menu item. When a host hides Edit > Preferences
(gMenuAPI.hideItem('menutitle-edit_Preferences'), hiding the Edit menu, or a validator that
returns false), the preferences a user stored earlier no longer decide what new elements, text
and pages look like; they count again when the item is shown. Defaults the host set itself are
not affected. See MenuAPI, "Hiding Edit > Preferences turns the stored preferences off".
Also in this release: personalisation in the viewer (Floris)
The canvas now reads a template's personalisation rules (the personalise block on an element and
the template's personalisation, in the document schema). Nothing changes for a template without
rules. A template that carries them keeps them through open and save, and in the viewer only the
fields edited on the design can be selected, each marked with a dashed outline and its label.
Typograph developers notes
TYP-1202, canvas #233: apply_to_root() goes through the root's RichText, so an edit in a
later frame of a chain opens the typing run. Known limitation: a chain whose first frame is on an
earlier spread is not taken back by undo (TYP-1300).
TYP-1203, canvas #236: inherit_text_rules() copies the root's default font
(copy_default_font_from(), font uuid included through bound_font_uuid());
set_font_name/style/size on a child write to the root inside one undo bracket.
TYP-1204, canvas #237 + editor #185: Editor.selection_story() / insert_story(), a text
clipboard in canvas, cut_text(), Cmd+X; the editor's CutText() and the Edit menu states.
TYP-1305, canvas #243: selection_story() writes onto a copied run the frame font it was drawn
in, where neither the run, its character style nor its paragraph font decides it;
paragraph_own_font() moved to story.ts.
TYP-1306, editor #188: parse_page_range() / page_slots() (src/core/steprepeat.ts) number
pages as the page bar does; DoStepRepeat() places a copy relative to its own page.
TYP-1296, canvas #234: Editor.keyDown() collapses a selection on an arrow key, in a table
cell too.
TYP-1299, canvas #235: selectWord() starts after the word's prefix.
TYP-1200, canvas #242 + document-generator #75: Spread.seam_clip_record() /
page_clip_screen() and TcPdfGenerator::seamClipRecord() / pageClipRect(), one rule in both
renderers; split_page() keeps such artwork on its own page. publisher-service takes it with a
composer.lock bump.
TYP-1199, editor #184: PreferencesMirror (src/core/preferencesmirror.ts) and
MenuAPI.is_item_reachable() / on_reach_change().