diff --git a/Cargo.lock b/Cargo.lock index 3f366a28b..141fd2a8a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -862,6 +862,15 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + [[package]] name = "getopts" version = "0.2.21" @@ -1346,13 +1355,14 @@ dependencies = [ [[package]] name = "krilla" version = "0.3.0" -source = "git+https://github.com/LaurenzV/krilla?rev=7bcbda5#7bcbda5670fba9a35d9dc6124886dd5b2122ed77" +source = "git+https://github.com/LaurenzV/krilla?rev=a5346e3b#a5346e3b4009c10801098fbaebe431a0193e0309" dependencies = [ "base64", "bumpalo", "comemo", "flate2", "float-cmp 0.10.0", + "fxhash", "gif", "image-webp", "imagesize", @@ -1373,7 +1383,7 @@ dependencies = [ [[package]] name = "krilla-svg" version = "0.3.0" -source = "git+https://github.com/LaurenzV/krilla?rev=7bcbda5#7bcbda5670fba9a35d9dc6124886dd5b2122ed77" +source = "git+https://github.com/LaurenzV/krilla?rev=a5346e3b#a5346e3b4009c10801098fbaebe431a0193e0309" dependencies = [ "flate2", "fontdb", @@ -2507,7 +2517,10 @@ dependencies = [ [[package]] name = "subsetter" version = "0.2.0" -source = "git+https://github.com/typst/subsetter?rev=172416a#172416a806246e6e9010d400d5690ca7a026e53d" +source = "git+https://github.com/typst/subsetter?rev=460fdb6#460fdb66d6e0138b721b1ca9882faf15ce003246" +dependencies = [ + "fxhash", +] [[package]] name = "svgtypes" diff --git a/Cargo.toml b/Cargo.toml index 6aa8a5c1c..43b4e9471 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -71,8 +71,8 @@ if_chain = "1" image = { version = "0.25.5", default-features = false, features = ["png", "jpeg", "gif"] } indexmap = { version = "2", features = ["serde"] } kamadak-exif = "0.6" -krilla = { git = "https://github.com/LaurenzV/krilla", rev = "7bcbda5", default-features = false, features = ["raster-images", "comemo", "rayon"] } -krilla-svg = { git = "https://github.com/LaurenzV/krilla", rev = "7bcbda5" } +krilla = { git = "https://github.com/LaurenzV/krilla", rev = "a5346e3b", default-features = false, features = ["raster-images", "comemo", "rayon"] } +krilla-svg = { git = "https://github.com/LaurenzV/krilla", rev = "a5346e3b" } kurbo = "0.11" libfuzzer-sys = "0.4" lipsum = "0.9" diff --git a/crates/typst-pdf/src/image.rs b/crates/typst-pdf/src/image.rs index fff820c28..93bdb1950 100644 --- a/crates/typst-pdf/src/image.rs +++ b/crates/typst-pdf/src/image.rs @@ -34,6 +34,8 @@ pub(crate) fn handle_image( surface.start_alt_text(alt); } + gc.image_spans.insert(span); + match image.kind() { ImageKind::Raster(raster) => { let (exif_transform, new_size) = exif_transform(raster, size); @@ -46,7 +48,6 @@ pub(crate) fn handle_image( if !gc.image_to_spans.contains_key(&image) { gc.image_to_spans.insert(image.clone(), span); - gc.image_spans.insert(span); } surface.draw_image(image, new_size.to_krilla()); diff --git a/crates/typst-pdf/src/text.rs b/crates/typst-pdf/src/text.rs index 3276ae16c..8d532e08c 100644 --- a/crates/typst-pdf/src/text.rs +++ b/crates/typst-pdf/src/text.rs @@ -92,7 +92,7 @@ fn build_font(typst_font: Font) -> SourceResult { } } -#[derive(TransparentWrapper)] +#[derive(TransparentWrapper, Debug)] #[repr(transparent)] struct PdfGlyph(Glyph);