Files
vectorcraft/crates/text/Cargo.toml
T
Jürg Lehni 9de4b40241 Type: COLR colour fonts draw and export as vector art
Glyphs whose paints documents have no form for (sweep gradients, compositing modes) are drawn as images of the glyph.
2026-10-23 05:14:47 +07:00

56 lines
2.5 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"
# Word boundaries in scripts written without spaces between words (Thai, Lao, Khmer, Myanmar), where
# lines may break: ICU4X's line segmenter (Unicode-3.0, as icu_properties already in the build),
# with its dictionaries on the desktop and its far smaller LSTM models on the web.
icu_segmenter = "2.3"
# Grapheme clusters (a Thai consonant with its vowel and tone marks, an accented letter, an emoji
# sequence) for caret movement; MIT OR Apache-2.0, already in the build.
unicode-segmentation = "1.13"
# Draws COLR colour glyphs whose paints documents have no form for (sweep gradients, compositing
# modes) into images: the canvas's renderer, already in the build.
vello_cpu = { workspace = true }
# 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]
default = ["bundled-fonts"]
# The OFL fonts of `assets/fonts` (Source Sans 3, Source Serif 4, Inter, JetBrains Mono) compiled
# in: 3.4 MB of the binary. Off, the font database starts without them (craft-fonts and system
# fonts are unaffected), for an embedder that adds its own with `FontDb::add_font` and would ship
# these twice. vectorcraft-engine turns it on by default (its `bundled-fonts` feature), and
# vectorcraft-ui-egui and vectorcraft-mcp by default through the engine.
bundled-fonts = []
# `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"