Denis Gomes
f1b41ffeaa
M7: find fonts that macOS font managers activate outside the font folders
...
Font managers such as RightFont, FontBase and Typeface keep fonts in their
own library folders and activate them through Core Text, without copying
them into /Library/Fonts or ~/Library/Fonts. Every other Mac app lists
these fonts; FigCraft walks only the font folders, so it didn't, and a
file using one of them drew in a fallback font.
On macOS the scan now also asks Core Text for the file of every available
font and indexes the files that lie outside the walked folders. All three
scans (the first, the on-demand one and text.rescanFonts) share this, so a
font activated while the app runs is found by a rescan like a newly
installed one.
Core Text needs unsafe FFI, which the workspace forbids, so the query goes
through the safe wrappers of the core-text crate, pinned at =20.1.0. That
version builds on the core-foundation 0.9, core-graphics 0.23 and
foreign-types 0.5 the lockfile already has: core-text is the only new
package. The call sits inside catch_unwind, so anything unexpected from
Core Text leaves the scan with the font folders alone. Other platforms are
unchanged.
On a Mac with RightFont, 15 families from its library are now listed
(Geist, JetBrains Mono, Clash Display and others) that weren't before. A
full font listing went from 0.06 s to 0.20 s on that machine.
Tests: the filter that keeps files outside the font folders once, indexing
a font file found outside them, and (macOS only) that Core Text lists the
system's font files. cargo test --workspace, cargo clippy -p figcraft-text
--all-targets -D warnings and cargo fmt --check pass on macOS 15. CI
builds on Linux only, so the macOS path is checked locally.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
(cherry picked from commit 5699e7abe6 )
2026-10-26 00:36:21 -04:00
BFlat
33061d92fc
Merge pull request #1287 from watchakorn-18k/thai-ui-fonts-and-catalog
...
M10: Thai UI fonts and a Thai draft catalog
2026-10-26 11:31:01 +07:00
bflatastic
245a8cca0d
#1287 : the Thai code-connect hint names ArkUI too
2026-10-26 11:16:51 +07:00
bflatastic
b6d7d0a893
Merge main into #1287
...
# Conflicts:
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/src/i18n_tests.rs
# docs/localization-parity.md
# docs/translating.md
2026-10-26 11:14:49 +07:00
bflatastic
573b43d645
#1294 : its font test names no PostScript name, a field #1021 added
2026-10-26 11:13:14 +07:00
bflatastic
5ee983ef63
Merge main into #1294
...
# Conflicts:
# ROADMAP.md
# docs/roadmap.md
2026-10-26 11:12:25 +07:00
BFlat
8e79ffc3d7
Merge pull request #1021 from sarsonj/feat/sketch-import
...
M6: .sketch import (Sketch 48 and newer)
2026-10-26 11:10:16 +07:00
BFlat
d203f8fdcf
Merge pull request #698 from Dubblbindong/firma/fix/plugin-permission-to-save-a-file-86
...
feat(plugin): add saveFile permission with host-owned save dialog
2026-10-26 10:55:11 +07:00
BFlat
3a641026ad
Merge pull request #1202 from culiulemon/main
...
Vector editing, property copy/paste, dev-mode assets, ArkUI codegen and shape-builder fixes
2026-10-26 10:53:13 +07:00
bflatastic
27d1089847
Merge main into #1021
...
# Conflicts:
# ROADMAP.md
# docs/target-app-parity.md
2026-10-26 10:43:34 +07:00
BFlat
b107ddf882
Merge pull request #990 from midasdf/jp/kinsoku-jis
...
M4: CJK kinsoku completed to JIS X 4051
2026-10-26 10:41:08 +07:00
BFlat
bcde334043
Merge pull request #1314 from denisg0mes/keep-images-past-budget
...
M7: don't save over a file whose images past the budget weren't loaded
2026-10-26 10:41:03 +07:00
bflatastic
1b946a247f
Merge main into #698
...
# Conflicts:
# README.md
# crates/ui-egui/locales/fr.toml
# crates/ui-egui/locales/sv.toml
2026-10-26 10:37:14 +07:00
bflatastic
5bed282751
#1202 : the Italian and Vietnamese code-connect hints name ArkUI too
2026-10-26 10:36:00 +07:00
bflatastic
f0385ef089
Merge main into #1202
2026-10-26 10:34:05 +07:00
bflatastic
8ffc5e57e8
#1021 : the Vietnamese drop hint names .sketch too
2026-10-26 10:33:06 +07:00
bflatastic
76b5c8da6b
Merge main into #1021
2026-10-26 10:31:59 +07:00
BFlat
9e993c6a77
Merge pull request #1026 from sonth87/i18n-vi
...
i18n: add Vietnamese (vi) interface localization
2026-10-26 10:31:47 +07:00
bflatastic
7177f1c042
Merge main into #1021
...
# Conflicts:
# ROADMAP.md
# docs/roadmap.md
2026-10-26 10:29:24 +07:00
BFlat
4b33cc17cb
Merge pull request #1299 from mojtabajafarzadeh/fix/share-key-and-large-file-publish
...
ui: server key field in the Share popover (plus a longer publish reply timeout)
2026-10-26 10:27:36 +07:00
BFlat
660140ddc1
Merge pull request #984 from kler/swedish-ui-2026-10-19
...
i18n(sv): translate 38 new strings, use the agreed terms in 93
2026-10-26 10:25:56 +07:00
BFlat
f93cdc769e
Merge pull request #1340 from Silvertree2010/fix/1331-bug-report-figcraft-a-failed-bat
...
Name the failing step in batch command errors
2026-10-26 10:25:50 +07:00
BFlat
8b470eceaa
Merge pull request #1275 from Ridzzz0Alam/fix/1062-render-bounds-depth
...
fix: Issue (#1062 ) render bounds stop at the depth the renderer draws.
2026-10-26 10:25:45 +07:00
BFlat
f229d91ff2
Merge pull request #1243 from SusieeTheLinuxUser/fix/1239-wayland-clipboard
...
UI: Route text clipboard writes through egui (#1239 )
2026-10-26 10:25:41 +07:00
bflatastic
f291f89fbd
Merge main into #990
...
# Conflicts:
# ROADMAP.md
2026-10-26 10:24:45 +07:00
bflatastic
02f15fa483
#1021 : the Italian drop hint names .sketch too
2026-10-26 10:23:48 +07:00
BFlat
f93deb965b
Merge pull request #661 from AganzeFelicite/fix/adobe-fonts-macos-298
...
M7: find fonts activated through Adobe Fonts on macOS (#298 )
2026-10-26 10:23:17 +07:00
bflatastic
6c4bb00c9e
Merge main into #1021
...
# Conflicts:
# crates/text/src/fontdb_tests.rs
2026-10-26 10:20:43 +07:00
BFlat
e03ebccece
Merge pull request #1209 from aryann2611/mobile-layout
...
M6: mobile layout (phones and portrait tablets)
2026-10-26 10:20:07 +07:00
BFlat
9df8075aeb
Merge pull request #1019 from muamerETS/fix/988-toolbar-flyout-carets
...
M7: toolbar flyout carets get a wider target clear of their tool (#988 )
2026-10-26 10:19:53 +07:00
bflatastic
d0a165efaa
Merge main into #1026
...
# Conflicts:
# docs/translating.md
2026-10-26 10:15:28 +07:00
BFlat
3a845b9717
Merge pull request #703 from timrrrr/codex/cmd-resize-image-crop
...
M1: crop image fills on Command/Ctrl resize
2026-10-26 10:15:04 +07:00
BFlat
8a89d5c20e
Merge pull request #607 from MMexicann/fix/outline-stroke-rings
...
M4: preserve stroke rings when outlining shapes
2026-10-26 10:14:58 +07:00
BFlat
5eefcfaaf6
Merge pull request #623 from ahmedhosnypro/fix/system-theme-linux
...
Fix the system theme mode always drawing light on Linux and the BSDs
2026-10-26 10:14:53 +07:00
BFlat
6713b0eae3
Merge pull request #921 from YarilaFox/fix/paste-image-into-selected-shape
...
M7: paste images into selected shapes
2026-10-26 10:14:48 +07:00
BFlat
3a9fed2c6a
Merge pull request #681 from leandrodslv/i18n/fr-native-review
...
i18n(fr): translate the missing strings and review the draft catalog
2026-10-26 10:14:43 +07:00
BFlat
0e7cffb5e7
Merge pull request #1217 from Salah1St/feat/default-font
...
M7: FIGCRAFT_DEFAULT_FONT names the font new text starts in
2026-10-26 10:14:38 +07:00
BFlat
17596c6996
Merge pull request #1216 from Salah1St/fix/thai-ui-fallback
...
M7: Noto Sans Thai as a UI fallback when the build embeds it
2026-10-26 10:14:33 +07:00
BFlat
44a21e9b91
Merge pull request #1224 from CosmoNetinfo/add-italian-language
...
Add Italian (it) interface language
2026-10-26 10:14:10 +07:00
bflatastic
d9aa3eda87
Merge main into #1019
...
# Conflicts:
# crates/ui-egui/src/toolbar.rs
2026-10-26 10:06:44 +07:00
bflatastic
1aed3d4915
Merge main into #990
...
# Conflicts:
# ROADMAP.md
2026-10-26 10:03:33 +07:00
bflatastic
7c25399e4a
Merge main into #661
...
# Conflicts:
# ROADMAP.md
2026-10-26 10:03:15 +07:00
bflatastic
b6c582396b
#1287 : drop the "Contents only" key main renamed
2026-10-26 10:01:26 +07:00
bflatastic
99435b72d7
Merge main into #1287
...
# Conflicts:
# docs/translating.md
2026-10-26 10:01:26 +07:00
bflatastic
454ec26c11
#1299 : the server key field's id uses egui 0.37's Id::unique
2026-10-26 09:41:10 +07:00
watchakorn-18k and Claude Sonnet 5.5
c7669d9d6d
M10: cover Thai in the no-plural-forms test
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_015wxxFg3gana4zaUKnyirTC
2026-10-26 09:40:43 +07:00
bflatastic
3b56f18e8e
Merge main into #1202
...
# Conflicts:
# crates/engine/src/codegen.rs
# docs/mcp.md
2026-10-26 09:21:24 +07:00
bflatastic
eb16585ec2
Merge main into #698
2026-10-26 09:20:18 +07:00
bflatastic
27f3bf6730
Merge main into #703
2026-10-26 09:20:12 +07:00
bflatastic
c6d43e7903
Merge main into #607
2026-10-26 09:20:09 +07:00