diff --git a/Cargo.lock b/Cargo.lock index 95bc03bea..eae5c79a1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -250,6 +250,9 @@ name = "arrayvec" version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" +dependencies = [ + "serde", +] [[package]] name = "as-raw-xcb-connection" @@ -816,6 +819,14 @@ dependencies = [ "rustix 1.1.5", ] +[[package]] +name = "craft-cms" +version = "0.1.0" +source = "git+https://github.com/aiongg/craft-libs?rev=d11403fde04311cd50cc9913f3bc43ff6a419945#d11403fde04311cd50cc9913f3bc43ff6a419945" +dependencies = [ + "rayon", +] + [[package]] name = "craft-cms" version = "0.1.0" @@ -832,12 +843,29 @@ source = "git+https://github.com/storytold/craft-libs?rev=82a24b006eefa036b43c09 [[package]] name = "craft-pdf" version = "0.1.0" -source = "git+https://github.com/aiongg/craft-libs?rev=8fbfea8840f0a0f5a22df18901e9db324894b2ce#8fbfea8840f0a0f5a22df18901e9db324894b2ce" +source = "git+https://github.com/aiongg/craft-libs?rev=d11403fde04311cd50cc9913f3bc43ff6a419945#d11403fde04311cd50cc9913f3bc43ff6a419945" dependencies = [ + "bytemuck", + "hayro", + "hayro-interpret", + "hayro-syntax", "krilla", "thiserror 2.0.21", ] +[[package]] +name = "craft-prepress" +version = "0.1.0" +source = "git+https://github.com/aiongg/craft-libs?rev=d11403fde04311cd50cc9913f3bc43ff6a419945#d11403fde04311cd50cc9913f3bc43ff6a419945" +dependencies = [ + "craft-cms 0.1.0 (git+https://github.com/aiongg/craft-libs?rev=d11403fde04311cd50cc9913f3bc43ff6a419945)", + "craft-pdf", + "kurbo", + "linesweeper", + "thiserror 2.0.21", + "ttf-parser", +] + [[package]] name = "craft-print" version = "0.1.0" @@ -969,7 +997,7 @@ dependencies = [ name = "designcraft-color" version = "0.9.0" dependencies = [ - "craft-cms", + "craft-cms 0.1.0 (git+https://github.com/storytold/craft-libs?rev=e9546e191dd62f2bc1d61eca45dbdc2f1b3c1d8e)", "kurbo", "proptest", "serde", @@ -1114,7 +1142,7 @@ dependencies = [ name = "designcraft-images" version = "0.9.0" dependencies = [ - "craft-cms", + "craft-cms 0.1.0 (git+https://github.com/storytold/craft-libs?rev=e9546e191dd62f2bc1d61eca45dbdc2f1b3c1d8e)", "designcraft-color", "designcraft-fonts", "image", @@ -1142,8 +1170,9 @@ dependencies = [ name = "designcraft-pdf" version = "0.9.0" dependencies = [ - "craft-cms", + "craft-cms 0.1.0 (git+https://github.com/storytold/craft-libs?rev=e9546e191dd62f2bc1d61eca45dbdc2f1b3c1d8e)", "craft-pdf", + "craft-prepress", "designcraft-color", "designcraft-compose", "designcraft-doc", @@ -2106,7 +2135,7 @@ dependencies = [ [[package]] name = "hayro" version = "0.7.1" -source = "git+https://github.com/storytold/pdfcraft?rev=b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9#b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9" +source = "git+https://github.com/aiongg/craft-libs?rev=d11403fde04311cd50cc9913f3bc43ff6a419945#d11403fde04311cd50cc9913f3bc43ff6a419945" dependencies = [ "bytemuck", "hayro-interpret", @@ -2136,7 +2165,7 @@ dependencies = [ [[package]] name = "hayro-interpret" version = "0.7.0" -source = "git+https://github.com/storytold/pdfcraft?rev=b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9#b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9" +source = "git+https://github.com/aiongg/craft-libs?rev=d11403fde04311cd50cc9913f3bc43ff6a419945#d11403fde04311cd50cc9913f3bc43ff6a419945" dependencies = [ "bitflags 2.13.2", "hayro-cmap", @@ -2154,7 +2183,7 @@ dependencies = [ [[package]] name = "hayro-jbig2" version = "0.3.0" -source = "git+https://github.com/storytold/pdfcraft?rev=b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9#b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9" +source = "git+https://github.com/aiongg/craft-libs?rev=d11403fde04311cd50cc9913f3bc43ff6a419945#d11403fde04311cd50cc9913f3bc43ff6a419945" dependencies = [ "fearless_simd", "hayro-ccitt", @@ -2178,7 +2207,7 @@ checksum = "885c5ef0654933139a9b9546fc2c69e18d37f38aa2520f079092b1be18f1fcaa" [[package]] name = "hayro-syntax" version = "0.7.2" -source = "git+https://github.com/storytold/pdfcraft?rev=b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9#b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9" +source = "git+https://github.com/aiongg/craft-libs?rev=d11403fde04311cd50cc9913f3bc43ff6a419945#d11403fde04311cd50cc9913f3bc43ff6a419945" dependencies = [ "flate2", "hayro-ccitt", @@ -2542,7 +2571,7 @@ dependencies = [ [[package]] name = "krilla" version = "0.8.2" -source = "git+https://github.com/aiongg/craft-libs?rev=8fbfea8840f0a0f5a22df18901e9db324894b2ce#8fbfea8840f0a0f5a22df18901e9db324894b2ce" +source = "git+https://github.com/aiongg/craft-libs?rev=d11403fde04311cd50cc9913f3bc43ff6a419945#d11403fde04311cd50cc9913f3bc43ff6a419945" dependencies = [ "base64", "bumpalo", @@ -2642,6 +2671,19 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4a5ff6bcca6c4867b1c4fd4ef63e4db7436ef363e0ad7531d1558856bae64f4" +[[package]] +name = "linesweeper" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a25df1b0c5432893f41bba817150e323703ee5f6d974f3a6808ac7fd7f046d18" +dependencies = [ + "arrayvec", + "kurbo", + "polycool", + "rustc-hash 2.1.3", + "smallvec", +] + [[package]] name = "linux-raw-sys" version = "0.4.15" diff --git a/Cargo.toml b/Cargo.toml index ed60ece2d..b1ba7e495 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,9 +12,9 @@ repository = "https://github.com/storytold/designcraft" [workspace.dependencies] # Shared writer; the immutable revision must be published before this consumer. -craft-pdf = { git = "https://github.com/aiongg/craft-libs", rev = "8fbfea8840f0a0f5a22df18901e9db324894b2ce", version = "=0.1.0", default-features = false } +craft-pdf = { git = "https://github.com/aiongg/craft-libs", rev = "d11403fde04311cd50cc9913f3bc43ff6a419945", version = "=0.1.0", default-features = false } # Separations, ink coverage and the ink manager; same revision as craft-pdf and the krilla patch. -craft-prepress = { git = "https://github.com/aiongg/craft-libs", rev = "8fbfea8840f0a0f5a22df18901e9db324894b2ce", version = "=0.1.0" } +craft-prepress = { git = "https://github.com/aiongg/craft-libs", rev = "d11403fde04311cd50cc9913f3bc43ff6a419945", version = "=0.1.0", features = ["flatten"] } # internal designcraft-geom = { path = "crates/geom" } designcraft-color = { path = "crates/color" } @@ -119,9 +119,10 @@ debug = 0 # Opt-in cancelable macOS termination on the pinned winit 0.30 line. [patch.crates-io] winit = { git = "https://github.com/skylartaylor/winit.git", rev = "3d51077fd1a966f84df9ef287839dc84fd5b4ca7" } -krilla = { git = "https://github.com/aiongg/craft-libs", rev = "8fbfea8840f0a0f5a22df18901e9db324894b2ce", version = "=0.8.2" } -# The hayro crates from pdfcraft's vendor/ directory, with the patches its README lists. -hayro = { git = "https://github.com/storytold/pdfcraft", rev = "b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9" } -hayro-interpret = { git = "https://github.com/storytold/pdfcraft", rev = "b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9" } -hayro-syntax = { git = "https://github.com/storytold/pdfcraft", rev = "b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9" } -hayro-jbig2 = { git = "https://github.com/storytold/pdfcraft", rev = "b5467d93a0ffaa5e5e6658bccdf8655a3ba689c9" } +krilla = { git = "https://github.com/aiongg/craft-libs", rev = "d11403fde04311cd50cc9913f3bc43ff6a419945", version = "=0.8.2" } +# The hayro crates from craft-libs' vendor/ directory (pdfcraft's patches plus craft-libs'; see its +# vendor/README.craft-reader.md), at the craft-pdf revision. +hayro = { git = "https://github.com/aiongg/craft-libs", rev = "d11403fde04311cd50cc9913f3bc43ff6a419945" } +hayro-interpret = { git = "https://github.com/aiongg/craft-libs", rev = "d11403fde04311cd50cc9913f3bc43ff6a419945" } +hayro-syntax = { git = "https://github.com/aiongg/craft-libs", rev = "d11403fde04311cd50cc9913f3bc43ff6a419945" } +hayro-jbig2 = { git = "https://github.com/aiongg/craft-libs", rev = "d11403fde04311cd50cc9913f3bc43ff6a419945" } diff --git a/crates/pdf/Cargo.toml b/crates/pdf/Cargo.toml index a98047bb0..82e71ef0f 100644 --- a/crates/pdf/Cargo.toml +++ b/crates/pdf/Cargo.toml @@ -15,6 +15,7 @@ designcraft-doc = { workspace = true } designcraft-fonts = { workspace = true } designcraft-compose = { workspace = true } craft-pdf = { workspace = true, features = ["write-pdf"] } +craft-prepress = { workspace = true } craft-cms = { workspace = true } krilla-svg = { workspace = true } designcraft-images = { workspace = true } diff --git a/xtask/src/pdf_deps.rs b/xtask/src/pdf_deps.rs index 2a9e7cf2a..e469cf937 100644 --- a/xtask/src/pdf_deps.rs +++ b/xtask/src/pdf_deps.rs @@ -5,7 +5,7 @@ use std::process::Command; use serde_json::Value; const REPO: &str = "https://github.com/aiongg/craft-libs"; -const REV: &str = "8fbfea8840f0a0f5a22df18901e9db324894b2ce"; +const REV: &str = "d11403fde04311cd50cc9913f3bc43ff6a419945"; const PACKAGES: &[(&str, &str)] = &[("craft-pdf", "0.1.0"), ("krilla", "0.8.2")]; pub fn run(root: &Path) -> Result<(), String> {