summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurenz Stampfl <47084093+LaurenzV@users.noreply.github.com>2023-09-13 23:00:35 +0200
committerGitHub <noreply@github.com>2023-09-13 23:00:35 +0200
commit47c7975d70a606a75b0c6dee8d3a72504212e4d6 (patch)
tree96235326c3a4273ceafabd6bf16182712328c626
parentc203eff9f469f263c689f71ac79e3e4c9467e55b (diff)
Fix bug where not all text nodes were detected (#2136)
-rw-r--r--crates/typst/src/image.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/typst/src/image.rs b/crates/typst/src/image.rs
index 182793d2..fa03d0eb 100644
--- a/crates/typst/src/image.rs
+++ b/crates/typst/src/image.rs
@@ -15,7 +15,7 @@ use image::codecs::png::PngDecoder;
use image::io::Limits;
use image::{guess_format, ImageDecoder, ImageResult};
use typst_macros::{cast, Cast};
-use usvg::{TreeParsing, TreeTextToPath};
+use usvg::{NodeExt, TreeParsing, TreeTextToPath};
use crate::diag::{bail, format_xml_like_error, StrResult};
use crate::eval::Bytes;
@@ -370,9 +370,9 @@ fn traverse_svg<F>(node: &usvg::Node, f: &mut F)
where
F: FnMut(&usvg::Node),
{
- f(node);
- for child in node.children() {
- traverse_svg(&child, f);
+ for descendant in node.descendants() {
+ f(&descendant);
+ descendant.subroots(|subroot| traverse_svg(&subroot, f))
}
}