An image in a four-component ICCBased color space opened with its ink
amounts but without the profile its color space holds, so PDF export
could not write it in that profile again.
- The profile is read from the color space stream (at most 16 MiB) and
kept when it is a well-formed CMYK profile. A CMYK TIFF carries it as
tag 34675; a CMYK JPEG kept as it is carries it in ICC_PROFILE APP2
segments in place of its own, with its compressed data unchanged, and
one whose segments cannot hold it is stored as a CMYK TIFF.
- jpeg_with_icc passes over fill bytes (0xFF before a marker, ITU T.81
B.1.1.2) and leaves them out of the output.
- A malformed, non-CMYK or larger profile leaves a decoded image's TIFF
untagged and a kept JPEG as it is. DeviceCMYK and DeviceN images stay
untagged.
- A CMYK TIFF's tag 34675 is read up to 16 MiB; before, a 4 MiB profile
was read back and a 16 MiB one was not. The comments of
tiff_icc_profile and source_icc give that limit.
An Abutting trace with Fills now holds a "Seam Fills" group under its
paths. For each color it has one stroke, 1.5 image pixels wide, along
the edges where a filled path of that color meets a filled path drawn
after it, in that color. A renderer that anti-aliases each path on its
own no longer shows a light hairline along those edges. The traced
paths and their shared edges do not change, and edges against the
image's border, a transparent area or a color left out get no stroke.
- vectorcraft-trace: `seam_fills` finds the segments two filled paths
share and strokes them in the lower path's color (one stroke per
gradient path). Overlapping, traces without Fills and Flat Logo get
none.
- Image Trace commands: the group comes under every path (right above
the hidden image in a live trace). Expand keeps it, Expand by color
leaves it under the color groups, and a trace whose paths have more
than half of the anchor limit gets no seam fills.
Docs: docs/mcp.md, the params text, docs/target-app-parity.md.
A layer or group with a Pathfinder effect or geometry effects moves its ruler guides above the evaluated art. Its trailing guides were split off first and its guides among the art were added after them, so [guide A, art, guide B] came out as B, A. All of its direct guides are now gathered in one pass, in document order.
select.key {id, anchor} set the new key anchor before checking it, so a
point that is in the selection but not on the path cleared the key
anchor and then returned an error. The point is now checked first: an
anchor the path does not have is not a selected anchor point, and the
other conditions are checked on a copy of the selection.
The dialog opened without the custom, entry and char fields, so
ui.dialog.set refused them until Custom was clicked or an entry typed.
The spec now lists them in its inputs, and the dialog opens with
custom off and an empty entry.
Variable Options in the Variables panel only renamed a variable, and no
command changed a variable's kind. variable.rename now takes
{name, newName?, kind?} and renames the variable, changes its kind, or
both, in one undo step, with none when nothing changes. A null or empty
value, an unknown kind, a taken name and locked variables are refused.
A kind change unbinds the objects that can't hold the new kind (text
keeps type with no other text variable, image keeps image objects,
graph keeps graph roots, visibility keeps every object) and drops the
variable's values in every data set. The dialog shows the variable's
name and kind and sends both.
- CMYK colors converted between two loaded CMYK profiles now use the
Color Settings black point compensation, as RGB colors already did:
the conversion goes through linear ProPhoto RGB and maps the source
profile's black onto the destination's.
- The edit.colorSettings, document.open and file.newFromTemplate params
text and docs/mcp.md name file.newFromTemplate with the commands that
apply the policies, and say that colorMode on open converts after the
policies, through the profiles the document keeps.
- A test covers New from Template under the policies, and another the
CMYK black point compensation.