From 04b4536772362e15de5ee3e88d05dbb066f85f37 Mon Sep 17 00:00:00 2001 From: LU Jialin Date: Mon, 25 Sep 2023 19:13:16 +0800 Subject: Fixing the baseline in math content (#2220) --- crates/typst-library/src/math/fragment.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'crates') diff --git a/crates/typst-library/src/math/fragment.rs b/crates/typst-library/src/math/fragment.rs index 4e174349..5ac1f2dd 100644 --- a/crates/typst-library/src/math/fragment.rs +++ b/crates/typst-library/src/math/fragment.rs @@ -187,6 +187,7 @@ pub struct GlyphFragment { pub font: Font, pub lang: Lang, pub fill: Paint, + pub shift: Abs, pub width: Abs, pub ascent: Abs, pub descent: Abs, @@ -225,6 +226,7 @@ impl GlyphFragment { font: ctx.font.clone(), lang: TextElem::lang_in(ctx.styles()), fill: TextElem::fill_in(ctx.styles()), + shift: TextElem::baseline_in(ctx.styles()), style: ctx.style, font_size: ctx.size, width: Abs::zero(), @@ -309,7 +311,7 @@ impl GlyphFragment { let size = Size::new(self.width, self.ascent + self.descent); let mut frame = Frame::new(size); frame.set_baseline(self.ascent); - frame.push(Point::with_y(self.ascent), FrameItem::Text(item)); + frame.push(Point::with_y(self.ascent + self.shift), FrameItem::Text(item)); frame.meta_iter(self.meta); frame } -- cgit v1.2.3