Commit Graph
4739 Commits
Author SHA1 Message Date
Jürg Lehni 83a5978d6e Type on a path: right-to-left text that overflows shows its start
Its glyphs were put in visual order and then cut where the path ran out, which kept the text's end. Now the longest start of the text, in reading order, whose glyphs fit in visual order is laid out, as area type does with each line it breaks, by the same rules that place the line: steps where the glyphs sit, hanging punctuation and the path beyond the brackets.
2026-10-22 00:30:08 +07:00
BFlat c6677df848 Merge pull request #2853 from dotCooCoo/feat/load-variable-library
Variables: Load Variable Library… reads a variable library's text variables and data sets
2026-10-22 00:28:05 +07:00
BFlat d783e1565c Merge pull request #3431 from addibble/feat/ui-egui-bundled-fonts-feature
Text: an embedder of the egui panels may leave the bundled fonts out
2026-10-22 00:27:48 +07:00
BFlat 56235323a1 Merge pull request #3417 from KnottyDyes/squad/pdf-import-tracked-text
PDF import: letter-spaced text keeps its word spaces
2026-10-22 00:27:36 +07:00
BFlat 322b4852e2 Merge pull request #3428 from dotCooCoo/fix/commands-refuse-booleans-and-numbers-as-text
Commands: a boolean or number given as text is refused
2026-10-22 00:27:17 +07:00
BFlat ebce8f12df Merge pull request #3448 from midasdf/jp/ruby
Type: ruby (ふりがな) for live text
2026-10-22 00:26:59 +07:00
BFlat 76b6d31646 Merge pull request #3442 from alpha-rock/feature/3d-light-presets
Add lighting presets to 3D effects
2026-10-22 00:26:40 +07:00
BFlat 52a94d5a84 Merge pull request #3445 from dotCooCoo/feat/docinfo-repeat-objects
Document Info: a Repeat Objects category lists the document's repeats
2026-10-22 00:26:22 +07:00
BFlat 4408e9fedb Merge pull request #3430 from addibble/feat/properties-clip-group-quick-actions
G1: Properties: Edit Clipping Path and Edit Contents for one clip group
2026-10-22 00:26:05 +07:00
BFlat 0756fb0948 Merge pull request #2970 from nrq6993-a11y/stream/vc-issue-2178-pathfinder-ungroup
Fix #2178: Pathfinder Unite groups disconnected islands for Ungroup
2026-10-22 00:25:33 +07:00
bflatastic 3c6d2b371e Docs: Photoshop filter count after the Artistic batch (51/57) 2026-10-22 00:23:51 +07:00
bflatastic 695f7c0d4b G2: Effect › Artistic › Underpainting raster filter
Squashed from #3035 onto main.
2026-10-22 00:23:50 +07:00
bflatastic 755f2b9158 G2: Effect › Artistic › Rough Pastels raster filter
Squashed from #3044 onto main.
2026-10-22 00:23:50 +07:00
bflatastic 03bd5e5a53 G2: Effect › Artistic › Paint Daubs raster filter
Squashed from #3032 onto main.
2026-10-22 00:23:49 +07:00
bflatastic f329f6271d G2: Effect › Artistic › Palette Knife raster filter
Squashed from #3038 onto main.
2026-10-22 00:23:48 +07:00
bflatastic bbe026607f Variables: Load Variable Library… reads a variable library's text variables and data sets
Squashed from #2853 onto main.
2026-10-22 00:12:39 +07:00
Drew DibbleandClaude Opus 5.5 e065467a65 xtask: doc comments for the functions the fonts check touches
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-22 00:10:57 +07:00
KnottyDyesandClaude Opus 5.5 73cbba8b8d PDF import: even gaps alone still read as word spaces
Glyphs placed one by one with even gaps could be letters set apart or
words of one letter each, and a file's positions can't tell them apart.
The spacing a line's letters share is now taken off its gaps only when
the line also shows where its words break: with spaces it draws (as
with Tc), or with gaps wider than the rest (tracked words placed glyph
by glyph). Otherwise every gap past a fifth of an em is a space, as
before, so A, B, C and D placed with ordinary word spaces between them
still come in as "A B C D".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 00:10:57 +07:00
bflatastic 609c98f458 Docs: one row per area after the batch 2026-10-22 00:10:57 +07:00
KnottyDyes b024756e9f PDF import: wide even gaps and right-to-left lines keep their spaces
A line whose shared gap is over half an em is no longer read as letter
spaced: capping that gap at half an em left glyphs set 0.55 em apart
with no spaces. The regression now covers 0.55, 0.75 and 1 em.

Whether a line is right to left is now known before its gaps are read,
from its logical order: the paragraph direction is only set afterwards,
so right-to-left lines were read for letter spacing too.

The revision-history row moves out of the Headline table, where it had
been put by mistake.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

# Conflicts:
#	docs/target-app-parity.md
2026-10-22 00:10:57 +07:00
bflatastic e7cdf154ca Commands: a boolean or number given as text is refused
Squashed from #3428 onto main.
2026-10-22 00:10:57 +07:00
bflatastic 14f804cdee Type: ruby (ふりがな) for live text
Squashed from #3448 onto main.
2026-10-22 00:10:56 +07:00
bflatastic 2cd7f156fb Add lighting presets to 3D effects
Squashed from #3442 onto main.
2026-10-22 00:01:37 +07:00
dotCooCoo 4d1581f3da Document Info: a Repeat Objects category lists the document's repeats
Document Info had no Repeat Objects category, and document.info
refused category "repeats". The reference app's Document Info panel
menu lists Repeat Objects after Font Details.

Document Info now has a Repeat Objects category after Embedded Images.
It lists each radial, grid and mirror Repeat object by name with its
kind and the number of instances it makes. For a grid it gives the
rows and columns instead, followed by the number of instances it
draws when that is fewer. The count comes from the new
RepeatSpec::instances, which gives the number of instances a repeat
draws. That number is smaller than its options give when repeats
nested in its source would pass the instance budget. With Selection
Only the category lists the Repeat objects in the selection.
document.info gives them as repeatObjects, the panel's flyout offers
the category, and the text report that Document Info › Save… and
File › Package write has a REPEAT OBJECTS section. The title has a row
in every catalog.

Docs: docs/mcp.md, docs/target-app-parity.md.
2026-10-22 00:01:36 +07:00
Drew DibbleandClaude Opus 5.5 4f5f573ded Properties: doc comments for the panel's entry point and its test helpers
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-22 00:01:36 +07:00
nrq6993-a11yandCursor 7ceaf900d6 Pathfinder Unite: compound path, not group (#2178)
Illustrator documents Unite as a single compound path; use shape_node_styled and compoundPath.release in tests instead of wrapping islands in groups.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 00:01:36 +07:00
Drew DibbleandClaude Opus 5.5 f19b33c219 G1: Properties: Edit Clipping Path and Edit Contents for one clip group
With one clip group selected, the Properties panel has Edit Clipping
Path and Edit Contents at its top, under the Clip Group heading, as the
reference app does: "With the clip group selected, click the Edit
Clipping Path button at the top of the Properties panel to select and
edit the mask, or click the Edit Contents button to select and edit the
masked content"
(https://www.adobe.com/learn/illustrator/web/crop-using-masks). They
run the existing object.clippingMask.editMask and editContents, which
select the clipping path or the clipped art for the selection tools, as
Object > Clipping Mask does. Edit Contents shows only when the group
clips something. With several objects selected they don't show (the
tutorial describes one selected clip group); the Contextual Task Bar
does the same. Both labels are already in every catalog.

Test: panels::properties::tests::one_clip_group_has_edit_clipping_path_and_edit_contents_at_the_top
(first under the heading, each selecting its part; Edit Clipping Path
alone once the clipped art is deleted; neither for a clip group
selected with another object in either order, or for a plain group).
Documented in docs/target-app-parity.md, docs/ui-parity.md and
docs/gaps.md.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-22 00:01:36 +07:00
nrq6993-a11yandCursor 0650c24a09 Fix #2178: Pathfinder Unite groups disconnected islands for Ungroup
After Unite, split the result with draw2::components so each island (outer
contour plus its holes) becomes one group child instead of one compound path.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 00:01:36 +07:00
BFlat 45025a8d53 Merge pull request #3292 from dotCooCoo/fix/command-integers-refuse-values-past-usize
Commands: an index of 2^32 or more no longer wraps around on 32-bit builds
2026-10-22 00:01:15 +07:00
BFlat 6f711b94d5 Merge pull request #3139 from nrq6993-a11y/stream/vc-feat1-g12-touch-workspace-pref
G12: Honor Preferences › Devices › Enable Touch Workspace
2026-10-22 00:00:36 +07:00
BFlat be669cbfc5 Merge pull request #3136 from nrq6993-a11y/stream/vc-feat1-g4-mixed-paragraph-leading
G4: Paragraph panel indents and spacing show blank when paragraphs differ
2026-10-22 00:00:20 +07:00
BFlat 240af4613d Merge pull request #3101 from nrq6993-a11y/stream/vc-feat1-g4-type-scale-text-attributes
G4: Scale Text Attributes bakes object scale into type sizes
2026-10-22 00:00:00 +07:00
BFlat 1541de79ca Merge pull request #3091 from nrq6993-a11y/stream/vc-feat1-g1-live-corners-relative-rounding
G1: Live Corners relative corner rounding (#1144)
2026-10-21 23:59:45 +07:00
BFlat 924d762640 Merge pull request #3075 from nrq6993-a11y/stream/vc-feat3-g5-key-color-eyedropper
G5: Pattern brush Key Color eyedropper in Brush Options
2026-10-21 23:59:29 +07:00
BFlat 9c278e0688 Merge pull request #3070 from nrq6993-a11y/stream/vc-feat3-g2-texturizer-load-texture
G2: Texturizer Load Texture in effect dialog
2026-10-21 23:59:12 +07:00
BFlat 154f09400e Merge pull request #3061 from nrq6993-a11y/stream/vc-feat1-g2-pathfinder-hard-mix
G2: Effect › Pathfinder › Hard Mix live effect
2026-10-21 23:58:57 +07:00
BFlat 730ccfcf8b Merge pull request #3053 from nrq6993-a11y/stream/vc-feat1-g1-cmd-alt-group-selection
G1: Cmd+Alt temporarily lends Group Selection
2026-10-21 23:58:41 +07:00
BFlat 773964cb80 Merge pull request #3026 from nrq6993-a11y/stream/vc-feat-g2-artistic-dry-brush
G2: Effect › Artistic › Dry Brush raster filter
2026-10-21 23:58:26 +07:00
BFlat a97c92481c Merge pull request #3000 from nrq6993-a11y/stream/vc-issue-2995-panel-tab-reorder
Fix #2995: reorder grouped panel tabs by dragging within the tab strip
2026-10-21 23:58:09 +07:00
BFlat e5be5c21d0 Merge pull request #2592 from dotCooCoo/feat/lock-artboards
Artboards: the Artboards panel locks an artboard and the art on it
2026-10-21 23:57:52 +07:00
BFlat f85fe0effb Merge pull request #3317 from dotCooCoo/feat/align-buttons-in-keyboard-shortcuts
Keyboard Shortcuts: each Align and Distribute button of the Align panel can be given a key
2026-10-21 23:57:37 +07:00
BFlat 775016b455 Merge pull request #3312 from dotCooCoo/feat/bristle-brush-name-limit
Brushes: New Brush and Bristle Brush Options take a bristle brush name of at most 31 characters
2026-10-21 23:57:22 +07:00
BFlat 29d783eac1 Merge pull request #3434 from dotCooCoo/feat/docx-kashida-justification
Place: Word's low, medium and high kashida justification sets Insert Kashidas
2026-10-21 23:57:03 +07:00
BFlat 4f0d98107b Merge pull request #3433 from dotCooCoo/fix/tabs-ruler-sets-whole-points
Tabs: a stop placed or moved on the ruler lands on a whole point
2026-10-21 23:56:47 +07:00
BFlat 844d78e58f Merge pull request #3427 from dotCooCoo/fix/pdf-export-writes-rights-fields
PDF export: PDF and .ai files carry File Info's copyright status, notice and URL
2026-10-21 23:56:19 +07:00
BFlat 49355a08bc Merge pull request #3422 from midasdf/jp/jis-paper-sizes
Print: JIS B4/B5 and Japanese paper sizes (はがき・封筒・四六判)
2026-10-21 23:56:04 +07:00
BFlat cda55f690a Merge pull request #3419 from flamesquirrel/eps-styled-type
EPS/.ai editing data: type keeps stacked art styles as live appearance
2026-10-21 23:55:48 +07:00
BFlat 2a1885d2de Merge pull request #3411 from nrq6993-a11y/stream/vc-featD-g4-fractional-widths
G4: Fractional Widths rounds a type object's advances to whole points
2026-10-21 23:55:05 +07:00
BFlat 10d78516f6 Merge pull request #3409 from lehni/fix/thread-release-duplicates
Threaded text: releasing a frame from a longer thread no longer duplicates its text
2026-10-21 23:54:49 +07:00
BFlat e6db3421ce Merge pull request #3408 from lehni/feature/path-type-threads
Threaded text: type on a path threads, mixed with area type
2026-10-21 23:54:34 +07:00