openpencil/desktop/Cargo.toml
Danila Poyarkov 91a9407133
refactor(tauri): discover system fonts with fontique (#782)
* refactor(tauri): discover system fonts with fontique

font-kit needed a patched fork for correct collection weights, reported
every variable-font instance at its default weight, and parsed whole
collections for each family lookup. fontique enumerates the files the
platform reports and reads each face's attributes itself.

Split the font commands into a catalog that owns discovery and face
choice, byte-level OpenType helpers, and the macOS check for installed
fonts the renderer cannot draw, which now runs only when a family is not
in the catalog.

* fix(tauri): list and load the same font styles

Map face weights to named styles in one place, so a static face is
loaded under the style it is listed as, and list every named weight a
variable face's weight axis covers. Guard face extraction against font
data that is shorter than the catalogued face.
2026-09-26 11:49:03 +04:00

56 lines
1.8 KiB
TOML

[package]
name = "open_pencil"
version = "0.15.1"
description = "OpenPencil desktop app"
authors = ["Danila Poyarkov"]
edition = "2021"
[features]
default = []
native-test = ["dep:tauri-plugin-wdio-webdriver"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[[bin]]
name = "OpenPencil"
path = "src/main.rs"
[lib]
name = "open_pencil_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
tauri = { version = "2", features = ["devtools"] }
tauri-plugin-opener = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] }
tauri-plugin-dialog = "2.6.0"
tauri-plugin-fs = { version = "2.4.5", features = ["watch"] }
tauri-plugin-shell = "2"
zstd = "0.13"
zip = { version = "2", default-features = false }
which = "7.0.3"
fontique = "0.11"
fix-path-env = { git = "https://github.com/tauri-apps/fix-path-env-rs", branch = "dev" }
tauri-plugin-updater = "2"
tauri-plugin-process = "2"
tauri-plugin-os = "2"
tauri-plugin-clipboard-manager = "2"
tauri-plugin-deep-link = "2"
keyring = "4.1.5"
url = "2"
tauri-plugin-wdio-webdriver = { version = "1.3.0", optional = true }
[target.'cfg(target_os = "macos")'.dependencies]
security-framework = "3"
objc2-core-foundation = { version = "0.3.2", default-features = false, features = ["std", "CFArray", "CFBase", "CFDictionary", "CFSet", "CFString", "CFURL"] }
objc2-core-text = { version = "0.3.2", default-features = false, features = ["std", "CTFontDescriptor"] }
[target.'cfg(any(target_os = "macos", windows, target_os = "linux"))'.dependencies]
tauri-plugin-single-instance = { version = "2", features = ["deep-link"] }