Commit Graph
7882 Commits
Author SHA1 Message Date
dotCooCoo 98ef01a6d3 Type: bound the glyphs a contour-point caret lookup reads
A composite glyph whose components expand into glyphs with no points
could make the contour-point caret lookup read billions of glyphs. The
whole lookup now shares a budget of 65,536 glyph reads and gives no
caret when it runs out, so the caret falls back to dividing the advance.
2026-11-04 08:12:22 +07:00
dotCooCoo 817bfceda3 Resolve GDEF contour-point ligature carets 2026-11-04 08:12:22 +07:00
dotCooCoo cdd014c4e7 Type: the stop inside an upright ligature on a vertical path follows its drawn cell
On a path, vertical type turns an upright glyph about its pen, so its cell
runs from 0.12 em before the pen to 0.88 em after it without the font's
vertical metrics. The ligature caret, a click and the selection measured
the cell from the pen instead. They now take the cell where the glyph's
transform draws it, with its placement, baseline shift, Horizontal Scale
and Skew.
2026-11-04 08:12:18 +07:00
dotCooCoo 9250f2bfe6 Clear stale Find Font warning after successful replacement 2026-11-04 08:12:15 +07:00
dotCooCoo 1ad74d1ddf Type: reject doubly signed OpenType feature tags 2026-11-04 08:12:12 +07:00
dotCooCoo c6e47fece3 Render: keep the automatic thread helper out of Wasm libraries 2026-11-04 08:12:09 +07:00
Dylan M. Taylor 4338ef75e3 MCP: render_preview and window captures decode the app's PNG under size limits (#5445) 2026-11-03 17:28:38 -05:00
BFlat 1008166fa7 Merge pull request #5420 from ruchirguitar/fix/open-focuses-existing-document
Fix #5369: every way of opening a file focuses its open tab
2026-11-04 00:17:09 +07:00
BFlat a41da81c60 Merge pull request #5366 from dotCooCoo/fix/touch-type-rtl-move
Type: move right-to-left characters with Touch Type
2026-11-04 00:16:51 +07:00
ruchirguitar 5bb682c61e Fix #5369: every way of opening a file focuses its open tab
Squashed from #5420 onto main.
2026-11-03 23:58:01 +07:00
dotCooCoo cdae392fe0 Type: guard Touch Type movement at direction boundaries 2026-11-03 23:57:53 +07:00
dotCooCoo dfc25c85e4 Type: move right-to-left characters with Touch Type 2026-11-03 23:57:53 +07:00
BFlat ce9761d08f Merge pull request #5362 from dotCooCoo/feat/super-lasso
Add Enclosing Lasso as an optional tool
2026-11-03 23:56:05 +07:00
BFlat 75242074ac Merge pull request #5404 from dotCooCoo/feat/kashida-characters
Type: Character menu Kashidas controls selected text
2026-11-03 23:55:47 +07:00
BFlat 4950798e64 Merge pull request #5419 from storytold/fix/sec-testkit-temp-owner
Testkit: a reused temp dir must belong to this user
2026-11-03 23:55:29 +07:00
BFlat 5657281a9b Merge pull request #5418 from storytold/fix/sec-ui-carry-automation-scope
UI: opening, file picks and the render worker keep the automation roots they started under
2026-11-03 23:55:12 +07:00
BFlat 311c42bcef Merge pull request #5417 from storytold/fix/sec-ui-automation-handoffs
UI: automation can't open the browser or viewer; Preview in Browser stays in its folder; Graph Data is bounded
2026-11-03 23:54:56 +07:00
BFlat 8fbf1f20c0 Merge pull request #5416 from storytold/fix/sec-font-checkout-confinement
Fonts build: craft-fonts manifest paths stay inside the checkout; licences are published as text
2026-11-03 23:54:41 +07:00
BFlat 6711da4d8c Merge pull request #5415 from storytold/fix/sec-render-fx-symbol-budget
Render: symbol instances with effects use the symbol budget; CMYK decodes are admitted; checked Targa size
2026-11-03 23:54:25 +07:00
BFlat 5d02c43eec Merge pull request #5414 from storytold/fix/sec-text-paragraph-runs
Type: a paragraph looks only at its own runs
2026-11-03 23:54:11 +07:00
BFlat e8d1e486d3 Merge pull request #5412 from storytold/fix/sec-trace-raster-bounds
Trace: empty and mismatched rasters, and large swatch libraries, take bounded work
2026-11-03 23:53:56 +07:00
BFlat 138f023247 Merge pull request #5411 from storytold/fix/sec-tools-bounded-loops
Tools: Shape Builder hatch lines are counted; Liquify simplification is linear
2026-11-03 23:53:40 +07:00
BFlat ed6bfddf75 Merge pull request #5410 from storytold/fix/sec-pdf-import-bounds
PDF: bound marked-content lookup, ASCII85, editing-data hashing, image decodes and ink warnings
2026-11-03 23:53:24 +07:00
BFlat 97d440ebe6 Merge pull request #5408 from storytold/fix/sec-svg-css-string-escapes
CSS export: line breaks and angle brackets in names can't end a CSS string
2026-11-03 23:53:08 +07:00
BFlat e3fc6c4339 Merge pull request #5407 from storytold/fix/sec-svg-glyph-raster-only
SVG glyphs: keep only typed raster data URLs, and no links
2026-11-03 23:52:53 +07:00
BFlat a4f614f3d3 Merge pull request #5406 from storytold/fix/sec-svg-entity-estimate
SVG: the entity expansion cap counts every declaration and refuses names it can't follow
2026-11-03 23:52:38 +07:00
BFlat caf6e2baf9 Merge pull request #5405 from storytold/fix/sec-svg-name-suffixes
SVG: CSS class names and imported symbol names take linear work
2026-11-03 23:52:22 +07:00
bflatastic 66c4393018 Enclosing Lasso: a neutral tool id, a longer loop cap, the screen-reader test keeps its doc comment 2026-11-03 23:31:00 +07:00
dotCooCoo bbbce4318f Add Enclosing Lasso as an optional tool
Squashed from #5362 onto main.
2026-11-03 23:30:06 +07:00
dotCooCoo 63ac1395fd Type: control Kashidas for selected characters 2026-11-03 23:29:52 +07:00
Dylan M. Taylor 5f31ea5c9d fix(testkit): temp dir must belong to this user 2026-11-03 23:29:49 +07:00
Dylan M. Taylor 460a4f7a91 fix(ui): carry automation scope through opening, file picks and the render worker 2026-11-03 23:29:47 +07:00
Dylan M. Taylor 73f5ea573d fix(ui): automation hand-offs refused, preview page named inside its folder, graph grid bounded 2026-11-03 23:29:45 +07:00
Dylan M. Taylor c9d73ece85 fix(fonts): confine craft-fonts manifest paths and publish licences as text 2026-11-03 23:29:43 +07:00
Dylan M. Taylor 05bdd182b8 fix(render): charge fx symbol instances, admit CMYK decodes, checked Targa size 2026-11-03 23:29:41 +07:00
Dylan M. Taylor 670968f60a perf(text): look only at a paragraph's own runs 2026-11-03 23:29:39 +07:00
Dylan M. Taylor 8f8d04e5b5 fix(trace): empty and mismatched rasters, swatch dedupe by set 2026-11-03 23:29:37 +07:00
Dylan M. Taylor ca1c317644 fix(tools): clippy-friendly scanline bound 2026-11-03 23:29:35 +07:00
Dylan M. Taylor 1597bc378b fix(tools): count hatch scanlines; compact liquify simplification 2026-11-03 23:29:35 +07:00
Dylan M. Taylor c3f1a17ad1 test(pdf): keep the offsets for the trailer 2026-11-03 23:29:32 +07:00
Dylan M. Taylor bcc26d28a6 fix(pdf): bound marked-content lookup, ASCII85, editing hash, image decodes and ink warnings 2026-11-03 23:29:32 +07:00
Dylan M. Taylor cfd31b5010 CSS export: line breaks and angle brackets in names can't end a CSS string
Squashed from #5408 onto main.
2026-11-03 23:29:31 +07:00
Dylan M. Taylor 0086c85bc7 fix(svg): glyphs keep only typed raster data URLs and no links 2026-11-03 23:29:09 +07:00
Dylan M. Taylor c972c15d0f fix(svg): entity expansion estimate counts every declaration and refuses long names 2026-11-03 23:29:08 +07:00
Dylan M. Taylor 6b0a434c32 perf(svg): CSS class and imported symbol names go on from the last suffix 2026-11-03 23:29:06 +07:00
BFlat 408f38ea2a Merge pull request #5402 from ruchirguitar/feat/type-on-path-preview
Fix #5360: Type on a Path Options has a Preview checkbox
2026-11-03 23:14:26 +07:00
BFlat 78f573e979 Merge pull request #5399 from storytold/fix/sec-followup-5301
Copy: a PNG too large to make is not offered, and the status bar says why
2026-11-03 23:14:09 +07:00
BFlat 82db762d51 Merge pull request #5400 from storytold/fix/sec-followup-5305
Export for Screens: settings saved without their PDF passwords don't export unprotected
2026-11-03 23:13:51 +07:00
BFlat 1f73e07761 Merge pull request #5397 from storytold/fix/sec-followup-5288
DXF import: charge every dash copy and symbol name, name the block-work limit
2026-11-03 23:13:35 +07:00
BFlat d1878189ce Merge pull request #5396 from storytold/fix/sec-followup-5303
Threads: a frame left alone by a dropped repeat is flowed again
2026-11-03 23:13:19 +07:00