Commit Graph
14127 Commits
Author SHA1 Message Date
BFlat 09f882b9d2 Merge pull request #7534 from dotCooCoo/fix/tiled-documents-own-profiles
Color management: documents behind the front one draw through their own profiles
2026-11-14 21:51:30 +07:00
BFlat 4807a2b6de Merge pull request #7596 from dotCooCoo/test/swatch-batch-spot-options-defaults
Swatches: test Spot Colors options and Default Swatches replace in a batch
2026-11-14 21:51:21 +07:00
BFlat a15b44fbe4 Merge pull request #7492 from dotCooCoo/fix/eps-bitmap-glyph-rollback-test
EPS: a test covers type taken back with its color bitmap glyph images
2026-11-14 21:51:13 +07:00
BFlat ea8aaa1a56 Merge pull request #7469 from dotCooCoo/fix/trace-flat-16-levels
Image Trace: clean flat art of 10 to 16 evenly spaced levels traces as flat color
2026-11-14 21:51:05 +07:00
BFlat b8b6a4a474 Merge pull request #7404 from dotCooCoo/fix/web-open-keeps-both-link-lines
Links: a web open with missing and modified links shows both lines
2026-11-14 21:50:57 +07:00
BFlat 564eee35d4 Merge pull request #7445 from dotCooCoo/fix/web-locks-monotonic-clock
Web: Data Recovery's lock snapshots use the monotonic clock
2026-11-14 21:50:49 +07:00
BFlat d4982efeab Merge pull request #7451 from dotCooCoo/fix/flat-logo-gray-between-black-and-white
Image Trace: Flat Logo traces a gray between black and white as one shape
2026-11-14 21:50:41 +07:00
BFlat d1aa073c42 Merge pull request #7585 from dotCooCoo/fix/clipping-type-fill-effects
Export: clipping type with geometry effects clips where the canvas does
2026-11-14 21:50:33 +07:00
BFlat ca546d0831 Merge pull request #7473 from dotCooCoo/fix/map-links-stop-plates
Swatches: a gradient stop unlinked from its spot swatch also drops its plates
2026-11-14 21:50:25 +07:00
BFlat dd7f323242 Merge pull request #7542 from dotCooCoo/fix/fi-missing-message-rows
i18n: Finnish translates 117 status and error messages that no catalog had
2026-11-14 21:50:17 +07:00
BFlat 4c9d678863 Merge pull request #7591 from dotCooCoo/fix/swatch-edit-gradient-aspect
Swatches: a replacement gradient or pattern is stored the way a new swatch stores it
2026-11-14 21:50:09 +07:00
BFlat 2f0f53ce99 Merge pull request #7423 from dotCooCoo/fix/fr-missing-message-rows
i18n: French translates 114 status and error messages that no catalog had
2026-11-14 21:50:00 +07:00
BFlat 659b1595da Merge pull request #7512 from dotCooCoo/fix/tr-missing-message-rows
i18n: Turkish translates 115 status and error messages that no catalog had
2026-11-14 21:49:52 +07:00
BFlat 3183886301 Merge pull request #7513 from dotCooCoo/fix/pl-missing-message-rows
i18n: Polish translates 114 status and error messages that no catalog had
2026-11-14 21:49:44 +07:00
BFlat fc779c9412 Merge pull request #7506 from dotCooCoo/fix/cs-missing-message-rows
i18n: Czech translates 114 status and error messages that no catalog had
2026-11-14 21:49:35 +07:00
BFlat 60be06f7eb Merge pull request #7526 from dotCooCoo/perf/flatten-sweep-staggered-boxes
Flatten: boxes staggered right and down meet only the box before in the grouping sweep
2026-11-14 21:49:27 +07:00
BFlat 98324db329 Merge pull request #7460 from dotCooCoo/fix/plugin-store-folder-lock
Plug-ins: windows and processes take turns on the Plug-ins folder
2026-11-14 21:49:19 +07:00
BFlat e776df2c5b Merge pull request #7463 from dotCooCoo/fix/ja-missing-message-rows
i18n: translate 124 more status and error messages into Japanese
2026-11-14 21:49:10 +07:00
BFlat 4ddd5251d1 Merge pull request #7510 from dotCooCoo/fix/ko-missing-message-rows
i18n: Korean translates 115 status and error messages that no catalog had
2026-11-14 21:48:59 +07:00
BFlat a4a388ee69 Merge pull request #7509 from dotCooCoo/fix/ca-missing-message-rows
i18n: Catalan translates 115 status and error messages that no catalog had
2026-11-14 21:48:52 +07:00
BFlat c39426da03 Merge pull request #7508 from dotCooCoo/fix/nl-missing-message-rows
i18n: Dutch translates 115 status and error messages that no catalog had
2026-11-14 21:48:42 +07:00
BFlat 721ef5c5b2 Merge pull request #7559 from dotCooCoo/docs/mcp-own-folders-arrowheads
Docs: the automation-roots section names the app-folder commands that are confined
2026-11-14 21:48:34 +07:00
BFlat a1c49a3f21 Merge pull request #7472 from dotCooCoo/docs/complete-message-languages
Docs: the complete-message language lists match COMPLETE_MESSAGES
2026-11-14 21:48:27 +07:00
BFlat a550d02dff Merge pull request #7531 from dotCooCoo/fix/wayland-paste-copied-files
Clipboard: files copied in a file manager paste as art on core Wayland
2026-11-14 21:48:19 +07:00
BFlat d31457281a Merge pull request #7436 from dotCooCoo/fix/svg-masked-shadow
SVG export: shadows in a masked group show in readers that bound it by its shapes
2026-11-14 21:48:10 +07:00
BFlat a166e47069 Merge pull request #7538 from dotCooCoo/fix/sv-missing-message-rows
i18n: Swedish translates 114 more status and error messages
2026-11-14 21:48:02 +07:00
BFlat 0e54cf854a Merge pull request #7470 from dotCooCoo/fix/pt-br-missing-message-rows
i18n: Brazilian Portuguese translates 114 status and error messages that no catalog had
2026-11-14 21:47:53 +07:00
BFlat d65ca0c249 Merge pull request #7544 from dotCooCoo/fix/el-missing-message-rows
i18n: Greek translates 115 status and error messages it showed in English
2026-11-14 21:47:45 +07:00
BFlat 9136059c5f Merge pull request #7499 from dotCooCoo/fix/zh-hant-missing-message-rows
i18n: Traditional Chinese translates 114 status and error messages that no catalog had
2026-11-14 21:47:37 +07:00
BFlat 6c1f0d8824 Merge pull request #7570 from dotCooCoo/fix/svg-nested-image-links-read
SVG import: linked rasters inside a linked SVG file are read
2026-11-14 21:47:30 +07:00
dotCooCoo f6ad3ecc01 Merge main into feat/live-paint-selection-double-click
# Conflicts:
#	docs/target-app-parity.md
2026-11-14 06:28:52 -08:00
dotCooCoo 160abff792 Merge main into perf/flatten-held-guides-one-walk 2026-11-14 06:11:45 -08:00
dotCooCoo 867678f2e9 i18n: add the Danish row for the unknown-command Load Actions message 2026-11-14 06:11:38 -08:00
dotCooCoo e9c26abe4d Flatten: held ruler guides are gathered in one walk
When a flattened root is a sublayer, its ruler guides were found by
checking whether the sublayer held any and then walking its whole
subtree again to collect them. They are now collected in one descent
through the sublayer and its sublayers, looking at each of their
children once. The guides, their order and the layer each one goes to
are unchanged.

A test-only record of the nodes looked at checks that each one is
looked at once and that the guides keep their paint order.
2026-11-14 06:11:07 -08:00
dotCooCoo 0173367444 Merge main into fix/text-wrap-offset-refused 2026-11-14 06:09:19 -08:00
dotCooCoo 20529f1ffb Merge main into fix/graph-wedge-legend-black-kept 2026-11-14 06:08:51 -08:00
dotCooCoo a558632cd9 Merge main into fix/uk-missing-message-rows 2026-11-14 06:05:29 -08:00
dotCooCoo 9efde43f1d Metafile import: EMF and WMF are read through craft-metafile, so EMF+ pictures open
EMF and WMF import now plays the records with the shared craft-metafile
reader (storytold/craft-libs#778, at the craft-libs rev the SVG, EPS and
DXF crates already use) and maps its picture onto the document here:
paths with their fills, strokes, caps, joins, miter limits and dashes,
clipping groups, images and point type. The EMF and WMF record players in
crates/metafile/src/import and the DIB decoder they used are removed. The
writers are unchanged, and the PICT reader keeps its own player.

What changes for a file being opened, placed or pasted, and for an EPS
file's Windows metafile preview (read when its PostScript can't be):

- An EMF that draws with EMF+ records is read from them. It opened empty,
  with a warning that EMF+ is not read. A file with both kinds of record
  is read from its EMF+ records too.
- Hatched and pattern brushes fill with the average color of the brush's
  tile, translucent where the tile has gaps. Hatches filled with the hatch
  color and pattern brushes with gray.
- Translucent fills, strokes and EMF+ text keep their alpha as opacity.
- Text keeps a stretch across from the world transform; it kept only the
  turn. Text the file clips to a rectangle is clipped to it, and an
  underlined or struck-through font gives underlined or struck-through
  type.
- A clip path whose bounding box holds the whole picture is kept unless
  it is that rectangle; a diamond or a bow tie around the picture was
  dropped.
- Images drawn with SRCAND, SRCPAINT or SRCINVERT are drawn as they look
  over white, and images drawn with other raster operations are drawn as
  a plain copy. They were left out with a warning.
- Excluded clip rectangles and the other clip region modes are applied.
  A clip path combined with RGN_OR, RGN_XOR or RGN_DIFF is ignored
  without the warning it gave.
- An image past the reader's size or pixel limits, or one that can't be
  decoded, is left out without a warning of its own. A file past the
  reader's limits (more than 32 nested clip paths, 200,000 drawn items,
  256 MiB held) is read up to that point without a warning.
- An EMF record whose size is not a multiple of 4 ends the file, with the
  "ends early" warning.

Tests: an EMF+ only picture imports its fill (it failed before), a dual
EMF+ file draws its translucent EMF+ fill and not its fallback, hatch and
pattern brush colors, clipped and underlined text, excluded clip
rectangles, a shared clipping group, an odd record size, WMF at 1440
units an inch without a placeable header and at its own units with an
inverted box, an EMF without a frame, diamond and bow-tie clips, text with a
stretch, clips nested past the stack and 200,000 clip records; the fuzz
test gains random EMF+ records.
2026-11-14 06:04:19 -08:00
dotCooCoo e45c6f518e PDF export: PDF/X-1a writes tagged gray images in DeviceGray
PDF/X-1a allows device colors only, but a gray TIFF that carried a gray
ICC profile kept it when no color conversion applied, and the export
then failed its PDF/X check. A gray or RGB PNG or JPEG with a profile
went the same way through the PDF writer. In PDF/X-1a, images are now
written without the profile they carry; the other standards and plain
exports keep it.
2026-11-14 06:02:55 -08:00
dotCooCoo 4f7a10c002 Merge main into fix/3d-shadow-builds-once 2026-11-14 06:02:41 -08:00
dotCooCoo 551b8bd235 Merge main into fix/live-paint-make-drawn-rows 2026-11-14 06:01:57 -08:00
dotCooCoo 62fea70bbb Merge main into fix/it-missing-message-rows 2026-11-14 06:01:32 -08:00
dotCooCoo d058086fc6 Merge main into feat/arrange-nest 2026-11-14 06:00:51 -08:00
dotCooCoo 80854eb4b8 Merge main into fix/export-bakes-symbol-art-effects 2026-11-14 06:00:09 -08:00
dotCooCoo 4d6b24c1d3 Merge main into feat/da-complete-messages 2026-11-14 05:59:28 -08:00
dotCooCoo e2a8b9f66d Merge main into fix/svg-rtl-absolute-chunks 2026-11-14 05:58:49 -08:00
dotCooCoo c05f5b83cf Merge main into feat/smooth-keeps-corners 2026-11-14 05:58:33 -08:00
dotCooCoo d233cd8291 Merge main into fix/graph-series-group-opacity 2026-11-14 05:57:05 -08:00
dotCooCoo f37b8f3c83 Merge main into fix/tr-message-rows 2026-11-14 05:56:57 -08:00
dotCooCoo aca4f3dcd1 Merge main into fix/ja-message-rows 2026-11-14 05:56:44 -08:00