summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2025-03-07 09:22:42 +0100
committerLaurenz <laurmaedje@gmail.com>2025-03-07 09:53:39 +0100
commitfe94b2b54fd8836ee5d4a5fdec000fd50755f44b (patch)
tree898a0330939da97114db6e52d737df623fbee47a
parente0074dfc01d635c5c14225cab3b81962947351d4 (diff)
Hotfix for labels on symbols (#6015)
-rw-r--r--crates/typst-realize/src/lib.rs5
-rw-r--r--tests/ref/issue-5930-symbol-label.pngbin0 -> 243 bytes
-rw-r--r--tests/suite/symbols/symbol.typ4
3 files changed, 8 insertions, 1 deletions
diff --git a/crates/typst-realize/src/lib.rs b/crates/typst-realize/src/lib.rs
index 50685a96..151ae76b 100644
--- a/crates/typst-realize/src/lib.rs
+++ b/crates/typst-realize/src/lib.rs
@@ -326,7 +326,10 @@ fn visit_math_rules<'a>(
// Symbols in non-math content transparently convert to `TextElem` so we
// don't have to handle them in non-math layout.
if let Some(elem) = content.to_packed::<SymbolElem>() {
- let text = TextElem::packed(elem.text).spanned(elem.span());
+ let mut text = TextElem::packed(elem.text).spanned(elem.span());
+ if let Some(label) = elem.label() {
+ text.set_label(label);
+ }
visit(s, s.store(text), styles)?;
return Ok(true);
}
diff --git a/tests/ref/issue-5930-symbol-label.png b/tests/ref/issue-5930-symbol-label.png
new file mode 100644
index 00000000..e8127aa0
--- /dev/null
+++ b/tests/ref/issue-5930-symbol-label.png
Binary files differ
diff --git a/tests/suite/symbols/symbol.typ b/tests/suite/symbols/symbol.typ
index 6d2513c1..5bc2cafa 100644
--- a/tests/suite/symbols/symbol.typ
+++ b/tests/suite/symbols/symbol.typ
@@ -151,3 +151,7 @@
--- symbol-sect-deprecated ---
// Warning: 5-9 `sect` is deprecated, use `inter` instead
$ A sect B = A inter B $
+
+--- issue-5930-symbol-label ---
+#emoji.face<lab>
+#context test(query(<lab>).first().text, "😀")