Commit Graph
4610 Commits
Author SHA1 Message Date
aiongg 8b0d264875 Merge pull request #1856 2026-11-03 20:24:26 +00:00
aiongg 41b7e31be0 Merge pull request #1424 2026-11-03 20:24:24 +00:00
aiongg d1255e2925 Merge pull request #2246 from aiongg/integration-designcraft-20261103-6
Integration batch integration-designcraft-20261103-6
2026-11-03 15:24:17 -05:00
aiongg 78139b693e Merge pull request #2193 2026-11-03 19:07:43 +00:00
aiongg 671114f5fc Merge pull request #2024 2026-11-03 19:07:43 +00:00
aiongg 35a7410481 Merge pull request #2192 2026-11-03 19:07:42 +00:00
aiongg 309f65f606 Merge pull request #2243 from aiongg/integration-designcraft-20261103-5
Integration batch integration-designcraft-20261103-5
2026-11-03 14:07:34 -05:00
aiongg 747abf4ac5 Merge main into graphic-frame-x-corners 2026-11-03 19:07:07 +00:00
aiongg 6df8d6d934 Apply review fixes
- crates/doc/src/vars.rs
2026-11-03 19:03:59 +00:00
aiongg 7892952fe6 Merge pull request #1222 2026-11-03 18:36:57 +00:00
aiongg 2996515c2a Merge pull request #1367 2026-11-03 18:36:57 +00:00
aiongg 6a78d0ca12 Merge pull request #1556 2026-11-03 18:36:56 +00:00
aiongg f3e35af8bf Merge pull request #1366 from con3code/fix/idml-q-unit
IDML: Q ruler units are Q, as InDesign writes them
2026-11-03 12:59:48 -05:00
aiongg ee5ea72aea Merge pull request #1857 from Silvertree2010/fix/h2736-iso-date-parser-accepts-any-char
Reject ISO timestamps without ':' between hour and minute
2026-11-03 12:58:13 -05:00
aiongg 1e3c5fb0ef Apply review fixes
- crates/engine/src/cmd/file/open.rs
2026-11-03 17:56:11 +00:00
Dylan M. Taylor ad3b32fbf6 hyphenation: linear heuristic, cache misses outside the lock (#2185)
* hyphenation: linear heuristic, cache misses outside the lock

The syllable heuristic built each word suffix as a String to test it, which is
quadratic in the word's length; it now uses prefix sums of vowels and UTF-8
lengths. Mapping a word's break points to glyphs scanned the word for each
point; both are indexed once per word. A word not in the hyphenation cache is
worked out without holding the cache's global mutex.

* hyphenation: compare the word ending with ends_with
2026-11-03 11:07:41 -05:00
Dylan M. Taylor f1bdec7fee compose cache: compact neighbour signatures, resolve each anchored host once (#2186)
A cached story copied every wrap neighbour's whole signature and item list into
its entry; stories on one spread share its wrapping items, so entries grew with
all of theirs together. A neighbour's signature now goes in as its hash and its
items are kept once each.

Anchored-frame placement asked for the host's composition once per frame, and
again at every level a host was reached from. Each host is now asked for once
per placement pass, and the cache and the uncached path remember the hosts they
resolved for the whole traversal.
2026-11-03 07:05:57 -05:00
Dylan M. Taylor 386b600572 compose: index lookups that were quadratic in a paragraph, line or table (#2180)
- Footnote references on a line are deduplicated with a set instead of
  searching the references collected so far.
- Nested styles stream the paragraph up to their delimiter with one character
  of lookahead instead of copying the rest of the paragraph for each style,
  and a delimiter's characters are indexed once per style.
- Shaping resolves which nested/GREP style is on top with one sweep over the
  overlay boundaries instead of scanning every overlay for each stretch.
- Column rules group crossing lines by paragraph through an index.
- Table fragments index each row's top once instead of searching the rows
  for every cell.
2026-11-03 06:48:12 -05:00
aiongg 1256decbeb Merge pull request #2194 from aiongg/integration-designcraft-20261103-3
Integration batch integration-designcraft-20261103-3
2026-11-03 01:28:04 -05:00
aiongg e55982fed7 Merge pull request #1951 2026-11-03 05:56:43 +00:00
JonRC 7bc3a26e4a type.char: warn about the font the text resolves to (follow-up to #2190)
The warning from #2190 looked only at the attributes passed. A composite
font made by style.compositeFont.set isn't an installed family, so
applying one warned "Missing font: Mixed" even when its entries were
installed. And a fontStyle-only call, or a family change that kept a
style the new family lacks, said nothing.

After a call that sets or clears fontFamily or fontStyle, type.char now
tallies the fonts the formatted text resolves to, with the code
font.list uses (composite entries per character), and warns about the
missing ones and substitute styles. At a caret it checks the font the
next typing gets. tally_story becomes tally_range over a byte range,
and describe_fonts is the part of used_fonts that type.char reuses.
2026-11-03 01:51:54 -03:00
Brandon Thomas 68ce4b63d6 Merge pull request #2149 from TrevorBrown-dev/feat/epub-cover
M6: EPUB Export Options names a cover image file (#1934)
2026-11-02 23:26:01 -05:00
Brandon Thomas b90a1bbb23 Merge remote-tracking branch 'origin/main' into HEAD 2026-11-02 23:25:39 -05:00
Brandon Thomas 26281e37aa Merge pull request #2143 from TrevorBrown-dev/fix/pen-curve-preview
M4: the Pen previews the segment a dragged smooth point shapes and curves the rubber band after one (#1438)
2026-11-02 23:25:28 -05:00
Brandon Thomas 58149665d9 Merge remote-tracking branch 'origin/main' into HEAD 2026-11-02 23:24:47 -05:00
Brandon Thomas ab96d42696 Merge remote-tracking branch 'origin/main' into HEAD
# Conflicts:
#	docs/ui-parity.md
2026-11-02 23:24:47 -05:00
Brandon Thomas 312eefac9b Merge pull request #1493 from Hamza0101/fix/overset-export-warnings
An export says what text its pages had no room for (#1465)
2026-11-02 23:24:29 -05:00
Brandon Thomas 1bca5db25b Merge pull request #1792 from marcoarnulfo/feat/thumbnailer
Linux: file managers show a .designcraft file's first page through a freedesktop thumbnailer (#1782)
2026-11-02 23:24:25 -05:00
Brandon Thomas 4e06447668 Merge pull request #1873 from Hamza0101/fix/pin-indd-dependency
Pin the indd dependency by rev, as every other git dependency is (#1599)
2026-11-02 23:24:21 -05:00
Brandon Thomas 7526fe2d43 Merge pull request #1993 from Silvertree2010/fix/h3886-striped-and-wavy-strokes-draw-a
Keep stroke styles from joining the subpaths of a compound path
2026-11-02 23:24:17 -05:00
Brandon Thomas 1e2d75d0b0 Merge pull request #2125 from Tom-R-Main/openbytes-title
File import: keep native and IDML bytes out of the INDD converter
2026-11-02 23:24:12 -05:00
Brandon Thomas a4a4cd6ee9 Merge pull request #2141 from Silvertree2010/fix/h5392-data-merge-record-range-accepts
Reject signed record numbers in data merge record ranges
2026-11-02 23:24:08 -05:00
Brandon Thomas 3eb8091bac Merge pull request #2142 from TrevorBrown-dev/fix/variables-numeric-text
M3: a Custom text variable defined with a number shows its digits (#2093)
2026-11-02 23:23:59 -05:00
Brandon Thomas 94fb5b074c Merge pull request #2153 from Silvertree2010/fix/h5779-pathdata-bounds-ignores-single-a
Include single-anchor subpaths in PathData::bounds
2026-11-02 23:23:55 -05:00
Brandon Thomas 3a40dc7577 Merge pull request #2158 from Silvertree2010/fix/2116-graphics-fallback-marks-a-workin
Keep the graphics backend when the window closes before its first frame
2026-11-02 23:23:50 -05:00
Brandon Thomas af9706176a Merge pull request #2165 from 4waymedia/fix/links-status-by-date
Links: an unchanged linked image is not read again on every poll (#2164)
2026-11-02 23:23:46 -05:00
Brandon Thomas add101f2bd Merge pull request #2160 from 4waymedia/fix/color-picker-clipped
Dialogs: the Color Picker opens at its full height (#2129)
2026-11-02 23:23:42 -05:00
Brandon Thomas ae86d466f7 Merge pull request #2162 from 4waymedia/feat/color-picker-remembers-component
Color Picker: reopens on the component it was left on
2026-11-02 23:23:37 -05:00
Brandon Thomas f87f232724 Merge pull request #2169 from ljkx/indent-to-here
Text: Indent to Here indents the paragraph's later lines to the character (#2080)
2026-11-02 23:23:33 -05:00
Brandon Thomas 0cdac69e66 Merge pull request #2174 from Silvertree2010/fix/2173-bug-report-designcraft-export-ta
Keep style export tags and classes on IDML import and export
2026-11-02 23:23:28 -05:00
Brandon Thomas fc9fbfda4c Merge pull request #2176 from Silvertree2010/fix/2175-bug-dotted-paragraph-border-prod
Space dotted paragraph border dots evenly
2026-11-02 23:23:24 -05:00
Brandon Thomas 462062e99b Merge pull request #2190 from JonRC/type-char-missing-font-warning
type.char: warn when the font family or style isn't available (#2189)
2026-11-02 23:23:20 -05:00
Brandon ThomasandClaude Opus 5.5 4c2296491e Links: key the image check cache on the resolved file, not the link text
A relative link names another file once the document is saved elsewhere,
so a status remembered for the old file must not answer for the new one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 23:09:34 -05:00
JonRC 41c59708eb cli: script --export prints the export's warnings, as run does (#2191)
The script command threw away the result of each export, so a PDF with
a drop shadow came out with nothing on stderr, while run --export
printed "warning: 1 object(s) with soft effects ... exported as images".
Each warning an export returns now goes to stderr as "warning: ...".
The JSON report on stdout is unchanged.
2026-11-03 01:05:17 -03:00
JonRC c5c7d41320 Contributors: credit JonRC as Jonathan Cardoso 2026-11-03 01:00:19 -03:00
JonRC 6abeb8a1ca type.char: warn when the font family or style isn't available (#2189)
A fontFamily the app doesn't have was applied with a null result, so a
script that asked for Courier Prime exported the PDF in the substitute
and exited 0. The font is still applied, since documents can carry
missing fonts and Find Font and preflight list them, but type.char now
returns {"warnings": ["Missing font: Courier Prime (using Source Sans 3)"]},
or "Missing font style: ..." for a style the family doesn't have, in
preflight's words. Other calls still return null.
2026-11-03 01:00:19 -03:00
Dylan M. Taylor 74eab18d16 Assets: index placed files by content so importing many graphics stays linear (#2181) 2026-11-02 22:51:17 -05:00
ljkx 70a76b15c5 Text: test that a list number's Indent to Here wins over one in the drop cap (#2080)
The drop cap is set at the indent and the list number beside it, so the
number's character is the later one on the line and sets the indent.
Pin that with a test, and say so where the character is looked up.
2026-11-03 04:44:04 +01:00
ljkx 8013118a44 Text: Indent to Here in a drop cap or a list label indents the later lines too (#2080)
The character was looked up among the line's body glyphs, so one inside
the drop cap was missed, and one in a list number's ^i matched the first
body glyph (after the label's tab) instead of itself. Find it among the
placed glyphs, which include the drop cap's and the label's.
2026-11-03 03:53:41 +01:00
ljkx d0271a562f Text: Indent to Here beside a drop cap isn't indented by the drop cap again (#2080)
The lines after an Indent to Here start at the character, which already sits past the drop cap, but the lines beside the drop cap still added its width on top. They no longer do. Adds tests for the drop cap, for Indent to Here after a tab (the usual hanging number) and for a right-to-left paragraph, and documents how the indent behaves beside a text wrap.
2026-11-03 01:59:37 +01:00