diff options
| author | Laurenz Stampfl <47084093+LaurenzV@users.noreply.github.com> | 2023-09-13 23:00:35 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-13 23:00:35 +0200 |
| commit | 47c7975d70a606a75b0c6dee8d3a72504212e4d6 (patch) | |
| tree | 96235326c3a4273ceafabd6bf16182712328c626 | |
| parent | c203eff9f469f263c689f71ac79e3e4c9467e55b (diff) | |
Fix bug where not all text nodes were detected (#2136)
| -rw-r--r-- | crates/typst/src/image.rs | 8 |
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)) } } |
