diff options
| author | Max <me@mkor.je> | 2024-12-20 12:35:57 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-20 12:35:57 +0000 |
| commit | bb38a01d0625d5bdab0af50daf479e60c774d90e (patch) | |
| tree | b588b09ce44b698e7602d84ec3e43dd86a47b552 /crates/typst-library/src/text | |
| parent | 39706fe42f269b3a283eeff9b595480631737159 (diff) | |
Fix math size resolving (#5596)
Diffstat (limited to 'crates/typst-library/src/text')
| -rw-r--r-- | crates/typst-library/src/text/mod.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/typst-library/src/text/mod.rs b/crates/typst-library/src/text/mod.rs index ee81e3f2..25ed009e 100644 --- a/crates/typst-library/src/text/mod.rs +++ b/crates/typst-library/src/text/mod.rs @@ -50,6 +50,7 @@ use crate::foundations::{ Resolve, Scope, Set, Smart, StyleChain, }; use crate::layout::{Abs, Axis, Dir, Em, Length, Ratio, Rel}; +use crate::math::{EquationElem, MathSize}; use crate::model::ParElem; use crate::visualize::{Color, Paint, RelativeTo, Stroke}; use crate::World; @@ -981,7 +982,14 @@ impl Resolve for TextSize { type Output = Abs; fn resolve(self, styles: StyleChain) -> Self::Output { - self.0.resolve(styles) + let factor = match EquationElem::size_in(styles) { + MathSize::Display | MathSize::Text => 1.0, + MathSize::Script => EquationElem::script_scale_in(styles).0 as f64 / 100.0, + MathSize::ScriptScript => { + EquationElem::script_scale_in(styles).1 as f64 / 100.0 + } + }; + factor * self.0.resolve(styles) } } |
