From f1fd8e85e8664865086b6eb2f3e7827e34d0c236 Mon Sep 17 00:00:00 2001 From: bflatastic Date: Wed, 14 Oct 2026 10:13:26 +0700 Subject: [PATCH] PDF: krilla without its text shaping, so rustybuzz and ttf-parser don't ship (#1730) krilla's default `simple-text` feature is the only thing that brings in rustybuzz and ttf-parser, which RustSec lists as unmaintained. The PDF writer places glyphs itself, so the workspace takes krilla with `raster-images` only; the one test that writes files with `draw_text` turns `simple-text` on as a dev-dependency feature. --- Cargo.toml | 4 +++- crates/pdf/Cargo.toml | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 2c3db2ed..6915eb21 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -61,7 +61,9 @@ wat = "1.228" vello_cpu = { version = "0.2", features = ["f32_pipeline"] } image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp", "gif", "tiff", "bmp"] } usvg = "0.48" -krilla = "0.8" +# Without `simple-text` (its text shaping, the only user of rustybuzz and ttf-parser, which are +# unmaintained, #1730): the PDF writer places glyphs itself. A test of the PDF crate turns it on. +krilla = { version = "0.8", default-features = false, features = ["raster-images"] } skrifa = "0.47" harfrust = "0.13" linesweeper = "0.5" diff --git a/crates/pdf/Cargo.toml b/crates/pdf/Cargo.toml index ea9e7c67..8629d12e 100644 --- a/crates/pdf/Cargo.toml +++ b/crates/pdf/Cargo.toml @@ -39,3 +39,5 @@ vectorcraft-testkit = { workspace = true } # A variable font built in code (no font file is committed). vectorcraft-text = { workspace = true, features = ["test-fonts"] } serde_json = { workspace = true } +# `draw_text`, to write test files with live text as other writers do. +krilla = { workspace = true, features = ["simple-text"] }