summaryrefslogtreecommitdiff
path: root/crates/typst-library
diff options
context:
space:
mode:
authorLU Jialin <luxxxlucy@gmail.com>2023-09-25 19:13:16 +0800
committerGitHub <noreply@github.com>2023-09-25 13:13:16 +0200
commit04b4536772362e15de5ee3e88d05dbb066f85f37 (patch)
tree7048777fd3608315e577fca57d50b19f44e7a895 /crates/typst-library
parent50b031843410505a45da6f2792d9b87e3d5845a1 (diff)
Fixing the baseline in math content (#2220)
Diffstat (limited to 'crates/typst-library')
-rw-r--r--crates/typst-library/src/math/fragment.rs4
1 files changed, 3 insertions, 1 deletions
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
}