The Assign rows of the Separations panel's Color Settings section (where
Edit > Assign Profile... goes) offer the three choices of the help's
"Assign or remove a color profile": Don't Color Manage This Document, the
working space of the document's color mode with its name, and Profile with
the other profiles of that kind.
The rows act on the profile of the document's color mode, so an RGB
document's RGB profile can be assigned here; before, the row always set
the CMYK profile. Picking the working space assigns its profile, which
stays when the working space changes later. A choice the document already
has runs nothing, and the other model's profile stays as it is.
Params text, docs/mcp.md and the evidence line in
docs/target-app-parity.md are updated, with catalog rows for the new
labels.
After Select All in a threaded story whose edited frame is empty, the
panel's commands style the text of every frame, but the checkbox rows,
Stylistic Sets and the East Asian items read only the empty frame. They
now read the runs of every frame, leaving out runs with no text while
any run has text, so a feature the story's text has shows checked and a
click turns it off.
An action or journal entry recorded before Scale and Reflect followed the
turned bounding box has no basis value. Replayed, such a step now acts along
the page's axes, as it did when it was recorded; steps recorded now carry
basis "box" and replay along the box. The built-in Reflect Horizontal action
names basis "box", so it keeps reflecting across the box's own axis.
The symbol test that reflects a turned instance names basis "page", which
is the reflection it was written for.
Object › Distribute follows Object › Align and lists Horizontal
Distribute Left, Center and Right, Vertical Distribute Top, Center and
Bottom, Horizontal Distribute Space and Vertical Distribute Space. Each
item runs the button's `align.distribute*` command, so it uses Align To,
the key object and the Distribute Spacing value, and with the Artboard
tool chosen it spaces the selected artboards.
At a Type tool caret the panel's commands style all of the text, but the
checkbox rows, Stylistic Sets and the H or V Style and Roman Italics
items showed only the caret's style. A click could then turn a feature
off for the whole text while most of it did not have the feature. At a
caret they now read every character of the text: a mixed row shows a
dash, a mixed item shows unchecked, and a click turns the feature on
throughout.
The measurement that runs before the style cascade and usvg now covers
the inputs that still got past it:
- usvg matches a selector without keeping what it found, so one whose
leftmost part matches nothing tests every set of ancestors in turn.
The measurement counts those tests for each copy and stops at
50,000,000; past that the SVG is refused with "the SVG's style sheets
take too long to match". An SVG image's matching stops at what the
SVG showing it left.
- A test counts one more for every 16 attributes a lookup scans and
every 16 bytes of the value it compares, so many classes against a
long class list count the work they do, in usvg's matching and in
the import's own cascade.
- The declarations the import's own cascade keeps, once per element,
count toward the 64 MB, including those of `:not()` rules, which usvg
drops. Each `:not()` alternative counts as a test.
- A linked SVG file is measured before its cascade runs. The linked SVG
files share one measurement: once they pass the limits together, the
files after that are shown without their links. The tests a file past
the limits made still count.
- SVG images share the element limit and the selector tests with the
SVG showing them, as they already shared the 64 MB.
The svg_filters reader measures its SVG before the cascade too.
The Rough Pastels dialog has a Load Texture… button, as Glass and
Texturizer have. The image's gray levels become the paper surface,
stored with the effect as `textureImage` and listed as Loaded Texture
in the Texture menu; Scaling, Relief, Light Direction and Invert act on
it as on the built-in surfaces. The dialog's Texture and Light
Direction controls are now menus instead of text fields.
effect.apply and effect.setParams read `textureImage` from a file or
take the stored string and refuse anything else, and a plug-in filter
cannot have the host read a file for it.
In the Effect Gallery's Settings, a file dialog that answers later
(the macOS sheet, the Linux dialog) now gives the texture to the values
that asked: the filter being browsed, or the stack row that asked,
found by a number each row now carries. An answer for a removed row, a
filter no longer browsed or a gallery that closed is dropped.
Params text, docs/mcp.md, docs/control-protocol.md, docs/gaps.md and
the evidence line are updated.
With Show East Asian Options on, the OpenType panel menu has H or V
Style and Roman Italics. H or V Style is the character feature tag
`hkna`: kana take the forms the font draws for horizontal type, and in
vertical type the shaper applies `vkna` in its place. Roman Italics is
`ital`, the font's italic half-width alphanumerics. Both are on or off
only (`hkna=2` is refused), set through `features` and
`featureChanges`, cleared by Reset OpenType Features, and are switches
in Character Style Options > OpenType Features.
Docs: docs/mcp.md, docs/type-parity.md, docs/target-app-parity.md.
The view items of these panels' menus kept their choice in egui panel
state, so no command could set the view. The views now live in the UI
state for the session, and ui.panelView {panel, view?} sets or reads
them; the menu items and the Swatches panel's list and thumbnail buttons
run it. An unknown panel or view is an error and changes nothing.
Docs: docs/mcp.md, docs/target-app-parity.md.
Show Code in the SVG Options dialog that File > Export Selection opens
encoded the whole document at the first artboard, while OK writes the
selected objects alone, cropped to them. The code view now encodes the
same selection document OK writes, without the artboard options, and
encodes it again when the selection changes.
show_hidden_characters_lays_out_only_type_that_changed retries its two
frames when another test changes the fonts or the hyphenation exceptions
between them. Every retry set the same text, which after the first
attempt is no edit, so the object kept its marks and the test failed
with "the edited object is laid out again". Each attempt now sets
different text.
File > Save to the document's own file planned the save with acknowledgeLoss
set, so that only its own path was asked about, and then wrote that plan. With
the acknowledgment in the plan, the files written beside the path (an EPS
saved with Use Artboards writes one per artboard) were not checked against the
file the document was read from. A document opened from one of those artboard
files, with things left out when it was read, was written over by File > Save
without the question. Save As and Save a Copy already plan again without the
acknowledgment before writing; File > Save now does the same.
Follow-up to #6751.