This commit is contained in:
Laurenz Stampfl 2025-03-29 23:26:52 +01:00
parent 0535f165f6
commit 17068f32e1
4 changed files with 21 additions and 7 deletions

19
Cargo.lock generated
View File

@ -862,6 +862,15 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
[[package]]
name = "fxhash"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
dependencies = [
"byteorder",
]
[[package]] [[package]]
name = "getopts" name = "getopts"
version = "0.2.21" version = "0.2.21"
@ -1346,13 +1355,14 @@ dependencies = [
[[package]] [[package]]
name = "krilla" name = "krilla"
version = "0.3.0" 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 = [ dependencies = [
"base64", "base64",
"bumpalo", "bumpalo",
"comemo", "comemo",
"flate2", "flate2",
"float-cmp 0.10.0", "float-cmp 0.10.0",
"fxhash",
"gif", "gif",
"image-webp", "image-webp",
"imagesize", "imagesize",
@ -1373,7 +1383,7 @@ dependencies = [
[[package]] [[package]]
name = "krilla-svg" name = "krilla-svg"
version = "0.3.0" 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 = [ dependencies = [
"flate2", "flate2",
"fontdb", "fontdb",
@ -2507,7 +2517,10 @@ dependencies = [
[[package]] [[package]]
name = "subsetter" name = "subsetter"
version = "0.2.0" 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]] [[package]]
name = "svgtypes" name = "svgtypes"

View File

@ -71,8 +71,8 @@ if_chain = "1"
image = { version = "0.25.5", default-features = false, features = ["png", "jpeg", "gif"] } image = { version = "0.25.5", default-features = false, features = ["png", "jpeg", "gif"] }
indexmap = { version = "2", features = ["serde"] } indexmap = { version = "2", features = ["serde"] }
kamadak-exif = "0.6" kamadak-exif = "0.6"
krilla = { git = "https://github.com/LaurenzV/krilla", rev = "7bcbda5", default-features = false, features = ["raster-images", "comemo", "rayon"] } 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 = "7bcbda5" } krilla-svg = { git = "https://github.com/LaurenzV/krilla", rev = "a5346e3b" }
kurbo = "0.11" kurbo = "0.11"
libfuzzer-sys = "0.4" libfuzzer-sys = "0.4"
lipsum = "0.9" lipsum = "0.9"

View File

@ -34,6 +34,8 @@ pub(crate) fn handle_image(
surface.start_alt_text(alt); surface.start_alt_text(alt);
} }
gc.image_spans.insert(span);
match image.kind() { match image.kind() {
ImageKind::Raster(raster) => { ImageKind::Raster(raster) => {
let (exif_transform, new_size) = exif_transform(raster, size); 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) { if !gc.image_to_spans.contains_key(&image) {
gc.image_to_spans.insert(image.clone(), span); gc.image_to_spans.insert(image.clone(), span);
gc.image_spans.insert(span);
} }
surface.draw_image(image, new_size.to_krilla()); surface.draw_image(image, new_size.to_krilla());

View File

@ -92,7 +92,7 @@ fn build_font(typst_font: Font) -> SourceResult<krilla::text::Font> {
} }
} }
#[derive(TransparentWrapper)] #[derive(TransparentWrapper, Debug)]
#[repr(transparent)] #[repr(transparent)]
struct PdfGlyph(Glyph); struct PdfGlyph(Glyph);