diff --git a/crates/typst-library/src/model/figure.rs b/crates/typst-library/src/model/figure.rs index e871fbeb8..fd843ee53 100644 --- a/crates/typst-library/src/model/figure.rs +++ b/crates/typst-library/src/model/figure.rs @@ -308,6 +308,7 @@ impl Synthesize for Packed { // Fill the figure's caption. let mut caption = elem.caption(styles); if let Some(caption) = &mut caption { + caption.synthesize(engine, styles)?; caption.push_kind(kind.clone()); caption.push_supplement(supplement.clone()); caption.push_numbering(numbering.clone()); diff --git a/tests/ref/issue-5370-figure-caption-separator-outline.png b/tests/ref/issue-5370-figure-caption-separator-outline.png new file mode 100644 index 000000000..a9b0d06e1 Binary files /dev/null and b/tests/ref/issue-5370-figure-caption-separator-outline.png differ diff --git a/tests/suite/model/figure.typ b/tests/suite/model/figure.typ index 58ba2b2a4..0e5db4d07 100644 --- a/tests/suite/model/figure.typ +++ b/tests/suite/model/figure.typ @@ -289,3 +289,9 @@ HI#footnote.entry(clearance: 2.5em)[There] ) #c + +--- issue-5370-figure-caption-separator-outline --- +// Test that language-dependant caption separator is respected in outline. +#outline(title: none, target: figure) +#set text(lang: "ru") +#figure(rect(), caption: [Rectangle])