mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-25 02:07:09 -06:00
The scan read only the platform's font folders, once per session (or on Character panel menu > Refresh Font List). Fonts Windows registers outside its font folders (installed as shortcuts, or by programs into their own folders) never listed, nor did fonts installed while the app was open. - Windows: the font files registered under the local machine's and the user's Fonts registry keys outside the scanned folders are scanned too (windows-registry, the windows-rs project's safe registry API). - Linux/BSD: the XDG data folders' fonts (XDG_DATA_HOME, XDG_DATA_DIRS: Flatpak, Snap, NixOS, Guix) and a Flatpak sandbox's host fonts (/run/host/fonts, local-fonts, user-fonts); macOS: /Network/Library/Fonts. - The global database looks the platform's paths up again at each scan, and a scan's roots may be font files as well as folders. - FontDb::installed_fonts_changed compares the folders the last scan read (their modification times, and the paths it started from); the app checks it when its window comes back to the front and rescans (text.rescanFonts) only when fonts were installed or removed meanwhile. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
39 lines
1.4 KiB
TOML
39 lines
1.4 KiB
TOML
[package]
|
|
name = "vectorcraft-text"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "VectorCraft text: font database, shaping, layout, glyph outlines"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
vectorcraft-geom = { workspace = true }
|
|
vectorcraft-doc = { workspace = true }
|
|
kurbo = { workspace = true }
|
|
skrifa = { workspace = true }
|
|
harfrust = { workspace = true }
|
|
log = { workspace = true }
|
|
# Font subsets for embedding (SVG @font-face); MIT OR Apache-2.0, already used by the PDF writer
|
|
# (which turns on `variable-fonts` too: named instances of variable fonts are instanced).
|
|
subsetter = { version = "0.2", default-features = false, features = ["variable-fonts"] }
|
|
unicode-bidi = "0.3.18"
|
|
unicode-general-category = "1"
|
|
unicode-script = "0.5"
|
|
# Builds a small variable font for tests (`test_fonts`; no font file is committed). MIT OR
|
|
# Apache-2.0, already in the build through subsetter.
|
|
write-fonts = { version = "0.48", optional = true }
|
|
|
|
[features]
|
|
# `vectorcraft_text::test_fonts` for other crates' tests (dev-dependencies only).
|
|
test-fonts = ["dep:write-fonts"]
|
|
|
|
[dev-dependencies]
|
|
write-fonts = "0.48"
|
|
|
|
# Fonts registered with Windows outside its font folders ("install as shortcut", installers);
|
|
# MIT OR Apache-2.0, a safe wrapper of the registry API from the windows-rs project.
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows-registry = "0.6"
|