mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-30 05:16:56 -06:00
A missing family the suite's font store has (Google Fonts, Noto) gets a Download button. The first one asks the user to allow downloading fonts, then craft-libs' craft-font-store installs pinned, checksum-verified files into the Craft apps' shared font folder on a thread of its own. The font scan reads that folder; once installed the text fits the real font. font.download / font.downloads drive the store as its agent: refused while downloading is off, never able to turn it on. Desktop only.
35 lines
1.5 KiB
TOML
35 lines
1.5 KiB
TOML
[package]
|
|
name = "figcraft-text"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "FigCraft text: font database (embedded craft-fonts + system fonts), shaping, line layout, glyph outlines"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
figcraft-geom = { workspace = true }
|
|
figcraft-doc = { workspace = true }
|
|
skrifa = { workspace = true }
|
|
harfrust = { workspace = true }
|
|
# Colour emoji: sbix/CBDT strikes are PNG images the text layer decodes for the renderer.
|
|
png = { workspace = true }
|
|
unicode-bidi = { workspace = true }
|
|
unicode-segmentation = { workspace = true }
|
|
log = { workspace = true }
|
|
|
|
# Fonts that font managers (RightFont, FontBase, Typeface) activate without copying them into a font
|
|
# folder are known only to Core Text. Its safe wrappers list every available font's file (Core Text
|
|
# needs unsafe FFI, which the workspace forbids). 22.0 is the first release whose
|
|
# `get_descriptors` takes ownership of the array correctly (20.x and 21.x leak it on every scan);
|
|
# it brings core-foundation 0.10, core-graphics 0.25 and core-graphics-types 0.2 beside the older
|
|
# versions other crates use. Pinned exactly: review the diff before bumping.
|
|
# The suite's font store folder (fonts installed by any Craft app) is scanned with the system's.
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
craft-font-catalog = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
core-text = { version = "=22.0.0", default-features = false, features = ["link"] }
|
|
objc2 = "0.6"
|