Commit Graph
4592 Commits
Author SHA1 Message Date
Hamza 39ea3513a4 Korean fallback: spell 바탕 right, and choose the label's fallback style once 2026-11-04 12:55:57 +05:00
aiongg 5792d32bdf Merge main into fix/korean-sans-fallback 2026-11-03 19:37:41 +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 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
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
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 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
Paul Gemignani 7d0f141b52 Links: an unchanged linked image is not read again on every poll (#2164)
links.list decided a placed graphic's status by reading the whole file and comparing it with the asset's bytes whenever the sizes matched, and the Links panel polls it twice a second, so a document of press-size images read every one of them in full on every poll. Image links now have the size-and-time fast path linked text files already had: a file of the remembered size and time isn't read, a new time is read once and remembered (unless the file changed in the last two seconds), a different size is modified without a read. The answer is keyed by the asset's bytes' identity, so a relink, update or undo can never be served a stale one; status() stays as the exact check for callers that want it.

Verified locally on a288a87b: fmt, clippy, engine link tests including the new unchanged_linked_images_are_not_read_again.
2026-11-02 16:40:46 -08:00
Brandon ThomasandClaude Opus 5.5 e79d682e02 Release 0.17.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.17.0
2026-11-02 19:26:33 -05:00
NetterSilverandClaude Opus 5.5 b4c9cb7d3a Space dotted paragraph border dots evenly
Fixes #2175

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:24:50 +01:00
NetterSilverandClaude Opus 5.5 7d1340a3df Keep style export tags and classes on IDML import and export
Fixes #2173

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:09:48 +01:00
ljkx 7e3d0fe2f5 Text: Indent to Here indents the paragraph's later lines to the character (#2080)
The composer treated Indent to Here as an invisible zero-width character and nothing else, so inserting it changed nothing. A line holding one now sets the start-side indent of the paragraph's following lines to the character's position, and those lines are broken again with the narrower measure. The indent holds into the next columns and frames; a later Indent to Here in the paragraph replaces it.
2026-11-02 20:07:09 +01:00
FredApps 81cca513ba Merge pull request #1072 from danielmigueltejedor/fix/gnome-window-decorations
Restore GNOME Wayland window controls without bundled fonts
2026-11-02 19:33:00 +01:00
FredApps 8bbf375118 flatpak: drop duplicate NOTICE install line 2026-11-02 19:10:52 +01:00
FredApps fc47f3156e Merge current main into fix/gnome-window-decorations 2026-11-02 19:10:33 +01:00
FredApps 71d8a68eae Merge pull request #1654 from makesomethingshit/fix/1620-parent-page-resize
Fix parent page resizing in panels and Page Tool
2026-11-02 19:03:07 +01:00