A clip group whose clipping path is type with a fill or stroke lost that
paint when a group around it had a geometry effect. Outlining the type
for the effect replaced it with a group of glyph outlines, and a group
paints nothing as a clipping path. Distort effects lost it on the canvas
and in SVG and PDF; Transform effects that only move lost it in SVG and
PDF when other type in the group stayed type.
The type's outlines now clip, its fills become art behind the clipped
art inside the clip, and its strokes become art over it outside the
clip, as the canvas draws an unaffected clip group.
While the Selection, Direct Selection or Group Selection tool moves the
selection, or the Gradient tool draws a vector, W and H show the change
in x and y, with the distance and the angle under them. A Scale tool
drag shows its percentages; a Rotate, Reflect or Shear tool drag shows
the center of the selection's box and its angles. The Zoom tool adds the
magnification and the Paintbrush the name of its brush.
W and H follow Use Preview Bounds. With several objects selected, the
panel shows only the fill, stroke and type values they share, and Show
Options adds a tint's swatch and percentage and a gradient's swatch name.
- Tool::readout and Readout (crates/tools/src/readout.rs).
- info.readout returns the selection's size and the tool's readout.
- Docs: docs/mcp.md, docs/ui-parity.md.
Replace measured the image inside a PSD or PSB file's clip group only
when the new file brought its own clipping path. A plain image placed
with `replace` over such a clip group took only the group's center and
came in at 100%, losing the image's scale and rotation. The image in
the group is now measured whenever the new art is an image, clipped or
not.
A .ai in the legacy PostScript format opened with the box around all of
its art as the artboard, so art placed off the artboard came in on it.
Files opened as .eps keep their page.
- A .ai file read through its layers used the EPS rule from #1102, which
makes the art's bounding box the artboard. It now keeps the artboard
its header gives (%AI5_ArtSize around the center of %AI3_TemplateBox),
with its art outside it. The engine opens a PostScript .ai or .ait
through the new vectorcraft_eps::import_ai; an EPS's private data is
still read as an EPS.
- A .ai of versions 3 and 4 (no %AI5_FileFormat) does not record its
artboard's size. When it has a template box, its artboard is now
VectorCraft's own default, a US Letter page, centered on the template
box's center, which the version 7 specification (section 2.2) places
at the artboard's center. Before, it was the art's box. This also
applies to .ai files other apps write with a template box and no art
size (#1027).
- The center of a template box with a size (a file with a template
image) is now the middle of the box, not its lower-left corner.
A .ai with neither an art size nor a template box keeps its art's box
as the artboard.
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.
With something selected, the Control bar shows a Select Similar Objects
button and, beside it, the Select Similar Options menu. The button
selects the objects like the first selected one by the attribute kept
for the session; a menu item selects by its attribute and keeps it,
and the kept item is checked. The items are All, Fill Color, Fill &
Stroke, Stroke Color, Stroke Weight, Opacity, Blending Mode,
Appearance, Graphic Style, Shape and Symbol Instance.
- select.similar {by?} runs the select.same command of that name, or
for "all" matches fill and stroke colors, stroke weight, opacity and
blending mode together. An unknown by is an error that keeps the
selection and the kept attribute. The journal records the attribute
used, so a recorded action repeats it, and a failed script or plug-in
call puts the kept attribute back.
- The button and menu belong to the Object Options group and sit at
the right end of the bar, after the X, Y, W and H fields. They take
only the room the other controls leave, so the bar leaves them out
before any other control.
- The Paragraph tests' control_bar_node looks for a label before a
value, so a link's text run listed first no longer stands in for
the link.
Docs: docs/mcp.md, docs/target-app-parity.md.
Pattern Options gets the Move Tile with Art checkbox under Size Tile to
Art. With it on, a move of all of the tile art in pattern editing mode
moves the tile as far as the art moved, pixel-grid snapping included:
object.move, object.nudge, object.transform with a translation, and
drags with the Selection tool. A group counts as moved when each of its
members moved. A move of only
some of the art, a copy, a rotation, a scale and a move of
direct-selected anchors leave the tile where it is. The option is off
for a new pattern.
pattern.options takes moveTileWithArt and pattern.list reports it. A
pattern.options call that changes nothing no longer records an undo
step.
The Place dialog gets a Show Import Options checkbox after Link, Template
and Replace. On (the default, saved with the preferences), each PDF, DXF
or text file asks for its import options before it is placed, also each
file of the place cursor when it is clicked or dragged. Off, each file is
placed with the options last confirmed for its format: the Text Import
Options, the DXF fit, lineweight, centering and layer choices, a PDF's
first page and crop box. An encrypted PDF still asks for its password.
file.place takes showImportOptions (true or false; anything else is an
error). Text Import Options now remembers its options and starts from
them.