Commit Graph
13122 Commits
Author SHA1 Message Date
BFlat 9f55dbdd46 Merge pull request #7327 from dotCooCoo/fix/graph-label-paint-recolor
Graphs: recolor, stroke and gradient edits on labels are kept for their kind
2026-11-14 20:37:50 +07:00
BFlat ca0050be1b Merge pull request #7578 from dotCooCoo/fix/gradient-spot-colorants-drawn-stops
PDF and EPS export: gradients name only the spot inks of stops that color something
2026-11-14 20:37:42 +07:00
BFlat e5153bd625 Merge pull request #7574 from dotCooCoo/fix/issue-7411
Fix #7411: a selection grabbed by an anchor snaps it onto other paths
2026-11-14 20:37:33 +07:00
BFlat 9800d48e58 Merge pull request #7571 from dotCooCoo/fix/cmyk-tiff-alpha-16-bit
TIFF: a 16-bit CMYK or gray TIFF with alpha converts at 16 bits
2026-11-14 20:37:26 +07:00
BFlat a967f28548 Merge pull request #7421 from dotCooCoo/fix/art-brush-proportional-weight
Brushes: Scale Proportionately art grows with the stroke weight
2026-11-14 20:37:17 +07:00
BFlat c8230b469a Merge pull request #7422 from dotCooCoo/fix/dcs-placement-clip-keeps-file-clip
Place: Placement Options clip a DCS image inside its file's clipping path
2026-11-14 20:37:10 +07:00
BFlat 50ac301797 Merge pull request #7416 from dotCooCoo/fix/plugin-unlinked-stop-plates
Plug-ins: unlinking a gradient stop's spot swatch also clears its plates
2026-11-14 20:37:02 +07:00
BFlat a1d320917e Merge pull request #7438 from dotCooCoo/feat/ai-import-kinsoku-settings
.ai import: reads Kinsoku, Kinsoku Shori Type, Burasagari and Bunri-Kinshi
2026-11-14 20:36:54 +07:00
BFlat f793044f83 Merge pull request #7587 from dotCooCoo/fix/open-dimension-labels-own-fonts
Dimensions: an opened file redraws its labels in its own composite fonts
2026-11-14 20:36:46 +07:00
BFlat f8faab6597 Merge pull request #7429 from dotCooCoo/fix/live-shape-replay-negative-radius
Live Shapes: saved object.setLiveShape steps with a negative radius or out-of-range sides replay again
2026-11-14 20:36:38 +07:00
BFlat 487b60d63c Merge pull request #7577 from dotCooCoo/fix/hu-missing-message-rows
i18n: Hungarian translates 115 status and error messages it showed in English
2026-11-14 20:35:20 +07:00
BFlat 48b947692b Merge pull request #7576 from dotCooCoo/fix/svg-path-type-before-start
SVG import: type on a closed path wraps around past the path's start
2026-11-14 20:35:12 +07:00
BFlat 9aa328047a Merge pull request #7420 from dotCooCoo/fix/dxf-ellipse-doc-line
Docs: DXF export of a non-circular ellipse is listed as a native ELLIPSE
2026-11-14 20:35:00 +07:00
BFlat d2b4b5f956 Merge pull request #7410 from dotCooCoo/fix/de-missing-message-rows
i18n: German translates the messages no catalog had a row for
2026-11-14 20:34:51 +07:00
BFlat bbb5a38100 Merge pull request #7362 from dotCooCoo/fix/nl-message-rows
i18n: Dutch translates 1,813 of the status and error messages the untranslated report lists
2026-11-14 20:34:40 +07:00
BFlat 8deaeda1f5 Merge pull request #7516 from ruchirguitar/feat/symbol-weather-icons
Symbols: built-in Weather Icons symbol library
2026-11-14 20:34:29 +07:00
BFlat a47d7eec91 Merge pull request #7478 from dotCooCoo/fix/export-selection-pdf-options
Export Selection: the picked format's options dialog follows the save panel
2026-11-14 19:38:30 +07:00
BFlat 73b9eee842 Merge pull request #7151 from dotCooCoo/fix/i18n-literal-brace-messages
i18n: messages with literal braces match only their own catalog row
2026-11-14 19:38:19 +07:00
BFlat c1d153c051 Merge pull request #7485 from dotCooCoo/fix/quit-hides-all-windows-wayland
Clipboard: quitting on Linux takes every window off screen before the clipboard wait
2026-11-14 19:38:10 +07:00
BFlat 95c9f347d6 Merge pull request #7507 from dotCooCoo/feat/cjk-tsume
Type: Tsume narrows the space around each character's ink
2026-11-14 19:38:02 +07:00
BFlat 2509131581 Merge pull request #7567 from dotCooCoo/fix/svg-plaintext-isolate-across-tspans
SVG import: plaintext finds its first strong character across tspans
2026-11-14 19:37:53 +07:00
BFlat da9d9f8cf4 Merge pull request #7498 from dotCooCoo/fix/graph-design-art-style-redefine
Graphs: graphic styles leave a design's art in a series unlinked
2026-11-14 19:37:45 +07:00
BFlat 67f432c965 Merge pull request #7502 from dotCooCoo/fix/revolve-local-depth-order
Revolve: overlapping faces draw in the order of their depths where they overlap
2026-11-14 19:37:37 +07:00
BFlat 9a8b7bc3db Merge pull request #7517 from jayzed80/fix/offset-path-clip-silhouette-7289
Appearance: a group's own fills and strokes follow a clip group's clipping path, not the art it hides (#7289)
2026-11-14 19:37:29 +07:00
dotCooCoo 8301810b22 Merge main into feat/ai-import-kinsoku-settings 2026-11-14 04:36:29 -08:00
dotCooCoo 9b252a9d58 Merge main into fix/live-shape-replay-negative-radius 2026-11-14 04:35:32 -08:00
dotCooCoo 7e8d9bce31 Merge main into fix/dcs-placement-clip-keeps-file-clip 2026-11-14 04:32:45 -08:00
dotCooCoo b569c9a859 Merge main into fix/plugin-unlinked-stop-plates 2026-11-14 04:32:42 -08:00
dotCooCoo 6d8412c4d4 Merge main into fix/dxf-ellipse-doc-line 2026-11-14 04:31:45 -08:00
dotCooCoo bfa0c8e15e Dimensions: an opened file redraws its labels in its own composite fonts
When a document opens or is reverted with dimensions whose art is not in
its color mode, the dimensions are drawn again before the document's
composite fonts are registered. A label whose font names a composite font
that another open document defines differently was measured in that other
definition, so it was centered off its anchor. The redraw now measures the
labels in the document's own composite fonts, in front and in the back.
2026-11-14 04:31:29 -08:00
dotCooCoo deb3c4345a Merge main into fix/art-brush-proportional-weight 2026-11-14 04:31:00 -08:00
dotCooCoo 5909f1c643 Merge main into fix/de-missing-message-rows 2026-11-14 04:27:37 -08:00
dotCooCoo fdb58f4951 Merge main into fix/nl-message-rows 2026-11-14 04:22:24 -08:00
dotCooCoo 61a7784588 Merge main into fix/graph-label-paint-recolor 2026-11-14 04:18:07 -08:00
dotCooCoo efb31aa51a PDF and EPS export: gradients name only the spot inks of stops that color something
A gradient's Separation or DeviceN space, and EPS's %%DocumentCustomColors,
named the spot ink of every linked stop. A stop out of order whose
neighboring stretches have no width, a stop at a tint of 0 without process
plates, and in PDF a stop whose stretches are fully transparent print no
ink, but their spot inks were still declared, so separations got an empty
plate.

- vectorcraft-color: Gradient::drawn_stops (the rule Document Info uses,
  moved here) and Gradient::reached_stops (every stop taken as opaque).
- PDF: Separation and DeviceN shadings, the Perceptual spot shadings and
  the spot-image warning name only inks of drawn stops at a tint above 0
  or with process plates; other stops are written with no ink, so their
  process inks and RGB or Lab colors no longer shape the space either.
- EPS: the same with reached stops, since EPS writes stops opaque; a
  transparent spot stop keeps its ink.

Output is unchanged when every stop colors part of the gradient and every
spot stop has a tint above 0 or process plates.
2026-11-14 04:11:40 -08:00
dotCooCoo 490c803080 SVG import: type on a closed path wraps around past the path's start
Text on a path of one closed subpath that is anchored to start before
the path's start point (text-anchor end or middle, right-to-left start,
or a negative startOffset) started at the start point, and text offset
past the path's end started at its end. It now wraps around the path,
as SVG 2's startOffset attribute describes for a single closed subpath
(https://www.w3.org/TR/SVG2/text.html#TextPathElementStartOffsetAttribute):
text-anchor end at startOffset 0 ends at the start point. Open paths
and paths of several subpaths still start the text at the path's start
or end.
2026-11-14 04:04:48 -08:00
ruchirguitar e5a881b05f i18n: French keeps [subpath, anchor] in English 2026-11-14 17:27:09 +05:30
dotCooCoo cacbfc8ad6 Merge main into fix/hu-missing-message-rows 2026-11-14 03:51:41 -08:00
dotCooCoo c764c59825 SVG import: plaintext finds its first strong character across tspans
With `unicode-bidi: plaintext`, SVG import looked for the first strong
character of an element in each text node on its own and kept the
first answer. An isolate that opened in one text node and closed in a
later one hid the rest of that node, and the node then answered left
to right. For `&#x2067;ab<tspan>&#x2069;&#x5D0;</tspan>` the element
ran left to right, where UAX #9 P2 skips the isolate and finds the
right-to-left letter after it
(https://www.unicode.org/reports/tr9/#P2).

The characters of the whole `<text>` are now read once, in order, and
each isolate initiator is matched with its PDI (UAX #9 BD9). Each
element's first strong character is then found in constant time, so
nested `plaintext` elements do not read the same characters again. An
isolate that opens inside an element and closes after it hides the
rest of that element.

vectorcraft-svg takes `unicode-bidi` 0.3.18, which vectorcraft-text
already uses, for the bidi classes.
2026-11-14 03:50:57 -08:00
BFlat 124e3cc2f1 Merge pull request #7537 from storytold/fix/fr-bracket-fields
i18n: French keeps [subpath, anchor] in English (fix main)
2026-11-14 18:50:46 +07:00
dotCooCoo fe82f68d6f TIFF: a 16-bit CMYK or gray TIFF with alpha converts at 16 bits
Place, Open and relink read a CMYK or grayscale TIFF with an alpha
channel through extra_samples_tiff_rgba, which cut every 16-bit sample
to its high byte before converting it. A faint ink or a low alpha was
lost: cyan 129 at full alpha showed as white, and an alpha of 129
became fully transparent.

The samples are now normalized at the depth the file stores them, and
only the resulting color and alpha are rounded to 8 bits (a 16-bit
alpha to the nearest 8-bit value). Associated alpha is divided out at
16 bits. A pixel whose associated alpha is zero now has no color,
instead of keeping its stored color. TIFF 6.0's Associated Alpha
Handling section states this arithmetic and the zero-alpha rule for
RGB data; applying them to CMYK and gray samples is VectorCraft's own
rule.
2026-11-14 03:44:41 -08:00
dotCooCoo 5803d2da4a Fix #7411: a selection grabbed by an anchor snaps it onto other paths
With Smart Guides on, a selection the Selection tool grabbed by one of
its anchors only landed that anchor on other anchors and centers, or
lined its bounds up. The anchor now also lands on the other objects'
paths ("path"), and where a path crosses another path or a ruler guide
("intersect"), in the order Direct Selection uses for a dragged anchor.
When the anchor lands on a path, the bounds do not also line up with
other objects, and a ruler guide nearby does not pull it off the path.
A selection grabbed anywhere else keeps lining its bounds up.

- Targets::for_move_by_anchor gathers the other art's path segments as
  well, and Targets::snap_onto_path lands a point on them or on their
  crossings with each other and with the ruler guides.
- MoveSnap::by_anchor uses those targets; the Selection tool picks it
  when the press grabbed an anchor.

Reported by pivot-al.

Docs: docs/target-app-parity.md.
2026-11-14 03:42:08 -08:00
dotCooCoo 6d7da50374 i18n: Hungarian leaves the answers[{i}] message to the script.run answers change
#7532 adds a Hungarian row for `answers[{i}]` {e}. Two rows with the same source would fail the catalog's duplicate check once both merge.
2026-11-14 03:17:09 -08:00
bflatastic d97bb27d58 i18n: French keeps [subpath, anchor] in English
#7307's French message rows ran CI before #7392 made bracketed field names stay in English,
and two of them translate [subpath, anchor], so main fails
translated_messages_keep_the_field_names_and_values_their_english_lists.
2026-11-14 17:46:50 +07:00
dotCooCoo 9aaa092cc3 Merge main into fix/hu-missing-message-rows 2026-11-14 02:46:11 -08:00
dotCooCoo ffbc5446d5 i18n: Hungarian translates the index and PDF knockout messages no catalog had
Adds Hungarian rows for two messages that reached main after the earlier rows: the `index` whole-number error and the warning for PDF knockout groups with too many overlapping translucent elements.
2026-11-14 02:43:44 -08:00
dotCooCoo 55595f0cff i18n: Dutch messages keep the bracketed field names in English
Ten nl rows translated the field names inside [subpath, anchor], [x, y, width, height] and [width, height], which a command reads only in English. They now keep the English names, as the other catalogs do.
2026-11-14 02:40:39 -08:00
ruchirguitar e0fe953258 docs: sync symbols area row inventory in target-app-parity 2026-11-14 16:05:47 +05:30
dotCooCoo a8c2a405ac Merge main into fix/dxf-ellipse-doc-line 2026-11-14 02:34:12 -08:00
dotCooCoo 110cf34f29 Merge main into feat/ai-import-kinsoku-settings 2026-11-14 02:32:17 -08:00