Commit Graph
2702 Commits
Author SHA1 Message Date
aiongg df46ccf1c6 Merge PR #330: Compose: the CJK leading model and character alignment apply only under the Japanese composers 2026-10-16 02:51:48 +00:00
aiongg 2f2f9d6461 Merge PR #362: IDML: $ID/ font names, placed PDF page and crop, package IDML without embedded images 2026-10-16 02:51:48 +00:00
aiongg 68e8ede100 Merge PR #366: Text: input method (IME) composition in the Type tool 2026-10-16 02:51:48 +00:00
aiongg 2382513273 Merge PR #997: Kerning: a value at the caret kerns the pair at the caret 2026-10-16 02:51:48 +00:00
aiongg 2683da3f77 Merge PR #996: Paths: Join and Convert Point respect locked layers and groups 2026-10-16 02:51:47 +00:00
aiongg 765d9891cc Merge PR #995: Typography panel: every OpenType toggle, exported figure styles, working Standard Ligatures 2026-10-16 02:51:47 +00:00
aiongg 08549dbb0a Merge PR #994: Effects: wide feathers and inner effects stay sharp at high zoom 2026-10-16 02:51:47 +00:00
aiongg 845395a8ce Merge PR #993: Type: formatting set on a blank line applies to the text typed there 2026-10-16 02:51:47 +00:00
aiongg 7c6aedf22c Merge PR #992: Sections: consecutive right pages get separate spreads 2026-10-16 02:51:47 +00:00
aiongg 5c0bb04484 Merge PR #991: Toolbar: Apply Gradient on the stroke is one undo step 2026-10-16 02:51:46 +00:00
aiongg a8d5956797 Merge PR #990: Layers: Enter in the rename field keeps an unnamed object's automatic label 2026-10-16 02:51:46 +00:00
aiongg bd2ae26587 Merge PR #989: Type menu: Define Lists path matches the menu 2026-10-16 02:51:37 +00:00
skylartaylor bdfb77baf2 feat(installer): unify Windows setup and completion screens (INSTALLER-UI) 2026-10-16 03:46:50 +02:00
skylar taylor-barrick a184db6f8f fix(export): reject oversized page selections (#1089)
Reject page selections that cannot fit the target index type before conversion, and return an error for the largest direct PPTX page index.

Validated the combined main and PR tree with all seven cargo xtask ci stages (1,967 passing tests), four actual WASM export-page regressions, and successful FreeBSD, Windows ARM64, and packaging workflows.
2026-10-15 19:18:11 -06:00
Dylan M. Taylor a9f7a4ec06 ci: add nix check workflow 2026-10-15 21:16:24 -04:00
Marco Arnulfo 2b9aae64a4 Placed greyscale and bitmap images take the swatch applied to them, as in InDesign (IDML, screen, PDF) 2026-10-16 03:07:52 +02:00
skylar taylor-barrick 7ec5c8bc6d Merge pull request #1042 from Silvertree2010/fix/h1635-rtf-import-drops-a-that-directly
Keep '-' after an RTF control word when no digit follows
2026-10-15 18:30:39 -06:00
harrisonoconnorhover fbf3132ad0 fix: add poster page presets (#1091) 2026-10-15 20:26:13 -04:00
Marco Arnulfo 912e93c684 Contributors: add my name for the About window 2026-10-16 02:19:29 +02:00
Marco Arnulfo 9f204f57ee Canvas: Enter and Tab in a panel field no longer reach the selected text (fixes #1082) 2026-10-16 01:16:50 +02:00
moppeeerandClaude Opus 5.5 5aed65ff23 Layers: a slow double-click renames an object's row; a quick one only selects, as InDesign's
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 23:10:05 +02:00
moppeeerandClaude Opus 5.5 528c7ea489 Fill and stroke with nothing selected set the colours of new shapes, as InDesign's defaults
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 22:32:22 +02:00
moppeeer c4772c3745 M2.2: extract image color themes into swatch groups 2026-10-15 21:57:26 +02:00
Hamza 76d0560ff8 Hyphenate Greek (#1008)
Greek text set unhyphenated however narrow the column: `Lang::for_language`
resolves a language through `hypher::Lang::from_iso`, which answers only for a
language whose patterns were compiled in, and `greek` was not among the features
the compose crate asks for. So `for_language("Greek")` was None and every Greek
word stayed whole.

The feature is asked for now. Nothing else was needed: the lookup is already by
ISO code, so "Greek", "Greek: Greece", "el" and "el-GR" all resolve, and
ανθρωπος breaks αν-θρω-πος as hyph-el gives it.

The patterns are `hyph-el-monoton.tex` 5.0 from hyph-utf8, Copyright (C)
2008-2011 Dimitrios Filippou, available under the LPPL or MIT and taken here
under MIT; NOTICE carries the licence, as it does for the other languages. The
published `hypher` crate ships compiled tries rather than the pattern files, so
that came from the file in hyph-utf8 rather than from the dependency.

They are the **monotonic** patterns, which is what `hypher` maps `el` to, so
polytonic text hyphenates by them too. Written into the module's documentation
rather than left to be discovered.

`gaps.md` 13, `target-app-parity.md` and `typography-parity.md` each listed the
four languages that hyphenate; they list five.
2026-10-16 00:45:39 +05:00
Marco Arnulfo ed218b9817 Text parameters: a vertical tab is a forced line break
frame.create, story.setText, text.insert and the other commands that take
text kept U+000B as a character, drawn as a missing-glyph box. It is the
forced line break of Word and PowerPoint text (Chr(11), Shift+Enter), and
what people porting scripts try first, so text_param now reads it as
U+2028, the forced line break, next to the CR handling it already has.
script --help and docs/agents.md say so.
2026-10-15 21:45:11 +02:00
moppeeerandClaude Opus 5.5 42be0c5760 Tools: a tool group's flyout closes on Esc and on a click outside it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 21:32:45 +02:00
Hamza 39ef7799c0 Thread the loaded text cursor into a text frame inside a group (gaps 27)
A click with the loaded text cursor on a text frame inside a group showed the
not-allowed cursor and did nothing: `Document::hit_item` walks the spread's
top-level items, so the hit was the group, and the group is not a text frame.
`item_hit` already looks inside a group, but only to answer whether the group
was hit at all -- the frame in it was never named. InDesign threads into it.

`hit_descendant` names it: the frontmost descendant under a point that a
predicate accepts, through nested groups, front to back and skipping hidden
children. `ToolContext::hit_text_frame` asks for a text frame, and the thread
tool resolves its target through it, falling back to the plain hit so a click on
anything else means what it meant before. `hit` is untouched, so selection still
picks the group.

One fix covers the cursor and the click, since `click` resolves through
`target`. The test asserts the cursor, that the click threads to the frame and
not to the group, that `hit` still returns the group, and that a group holding
nothing threadable is still refused.
2026-10-16 00:27:53 +05:00
moppeeerandClaude Opus 5.5 0e5a6bd9d1 Rulers: the corner menu sets both rulers' units; ruler menus as InDesign's
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 21:15:15 +02:00
moppeeerandClaude Opus 5.5 c96d3e1fab New Document: InDesign's Units list; mobile presets start with a primary text frame
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 20:56:57 +02:00
moppeeerandClaude Opus 5.5 a8388df9e8 Units: inches show four decimals, as InDesign's fields
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 20:51:56 +02:00
Gert Pellin c71ab5d12b Table of Contents dialog: page number and separator styles, Sort Entries in Alphabetical Order (#1069)
The selected style's Page Number and Between Entry and Number rows get a
character style menu ([None] first), and a Sort Entries in Alphabetical
Order checkbox. toc.entries previews entries sorted as they will be set.
ROADMAP and the parity doc name the new options.
2026-10-15 20:42:53 +02:00
Gert Pellin 801ab7d1f3 Table of Contents: page number and separator character styles, Sort Entries in Alphabetical Order (#1069)
Each included style gets pageNumberStyle, separatorStyle and sort.
toc.generate and toc.update apply the character styles to the page
number and the separator of every entry, and list the entries of a
sorted style alphabetically among their siblings, each with the
lower-level entries under it. Unknown character styles are errors.
Renaming or deleting a character style updates the definition. IDML
reads and writes PageNumberStyle, SeparatorStyle and Sort.
2026-10-15 20:32:20 +02:00
moppeeer dea0352299 TUT4.3: normalize the source run when redefining at a caret 2026-10-15 20:30:39 +02:00
moppeeerandClaude Opus 5.5 ff71790737 Pages panel: Panel Options (sizes, thumbnails, parents side by side, pages on top, resize), as InDesign's
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 20:24:57 +02:00
moppeeer 7d4ddc3679 TUT4.2: reject malformed previews and cancel replaced dialogs 2026-10-15 20:21:02 +02:00
Marco Arnulfo f65eb0fd42 Table › Convert Rows › To Header, To Body and To Footer, as in InDesign 2026-10-15 20:20:57 +02:00
moppeeerandClaude Opus 5.5 b50eb265af Pages panel: parents and pages scroll on their own, a divider resizes them, the footer stays at the bottom
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 20:12:36 +02:00
moppeeer 70df119149 TUT3.2: show captured and pending paragraph style settings 2026-10-15 19:41:49 +02:00
moppeeer 8fb944fe06 TUT4.3: redefine text styles from local formatting 2026-10-15 19:12:09 +02:00
moppeeer 4ea23d4ccd TUT1.1: restore the Typography workspace panel groups 2026-10-15 19:07:12 +02:00
moppeeer e298455174 TUT4.2: preview edits in text style options 2026-10-15 19:05:55 +02:00
moppeeer 4f3a55a190 TUT3.1: let captured text inherit later style edits 2026-10-15 19:01:13 +02:00
moppeeer 7313bdfc93 TUT4.1: show and clear text style overrides in Styles panels 2026-10-15 19:00:08 +02:00
Claude 31e9316331 Merge GitHub's sync of drop-cap-size with storytold:main (same upstream)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CgGsJkVe5GYG9qK6VFdECa
2026-10-15 16:43:21 +00:00
moppeeerandClaude Opus 5.5 09f8089943 Properties: Edit Page takes the Page tool to the page and shows its own size, as InDesign's
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 18:13:05 +02:00
moppeeerandClaude Opus 5.5 5ab0abaf6f Pages: deleting pages that contain objects asks first, with Don't show again
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 18:02:04 +02:00
moppeeerandClaude Opus 5.5 29f02d5458 Canvas: pages show their paper while their render is on its way
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 17:49:01 +02:00
Claude 5af96dcaf5 Merge upstream main into drop-cap-size
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CgGsJkVe5GYG9qK6VFdECa
2026-10-15 15:31:46 +00:00
sanyamsingh001andCodex b20a94aa6a Merge tested main 26137acbb2 into PR #456
Preserve the reviewed PR behavior and tested upstream base.

Co-Authored-By: Codex <codex@openai.com>
2026-10-16 01:31:43 +10:00
NetterSilverandClaude Haiku 5.5 108427e216 Keep text of inline content controls in DOCX import
Found while testing crates/textimport/src/docx.rs:354

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 15:24:11 +00:00