summaryrefslogtreecommitdiff
path: root/crates/typst-layout/src/math/attach.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/typst-layout/src/math/attach.rs')
-rw-r--r--crates/typst-layout/src/math/attach.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/crates/typst-layout/src/math/attach.rs b/crates/typst-layout/src/math/attach.rs
index e1d7d7c9..90aad941 100644
--- a/crates/typst-layout/src/math/attach.rs
+++ b/crates/typst-layout/src/math/attach.rs
@@ -434,9 +434,13 @@ fn compute_script_shifts(
}
if bl.is_some() || br.is_some() {
+ let descent = match &base {
+ MathFragment::Frame(frame) => frame.base_descent,
+ _ => base.descent(),
+ };
shift_down = shift_down
.max(sub_shift_down)
- .max(if is_text_like { Abs::zero() } else { base.descent() + sub_drop_min })
+ .max(if is_text_like { Abs::zero() } else { descent + sub_drop_min })
.max(measure!(bl, ascent) - sub_top_max)
.max(measure!(br, ascent) - sub_top_max);
}