From e9ff2d6463bf26cb0bbafb747bf8a77800687e3f Mon Sep 17 00:00:00 2001 From: Laurenz Date: Thu, 2 Feb 2023 16:47:10 +0100 Subject: [PATCH] More robust automatic math spacing --- library/src/math/accent.rs | 2 +- library/src/math/align.rs | 5 +- library/src/math/attach.rs | 4 +- library/src/math/ctx.rs | 60 +++++++------- library/src/math/delimited.rs | 9 +-- library/src/math/frac.rs | 4 +- library/src/math/fragment.rs | 70 +++++++++++++---- library/src/math/matrix.rs | 2 +- library/src/math/mod.rs | 6 +- library/src/math/op.rs | 4 +- library/src/math/root.rs | 2 +- library/src/math/row.rs | 143 ++++++++++++++++++++-------------- library/src/math/spacing.rs | 56 +++++++------ library/src/math/stretch.rs | 2 + library/src/math/style.rs | 2 +- library/src/math/underover.rs | 3 +- tests/ref/math/delimited.png | Bin 10723 -> 10731 bytes tests/ref/math/multiline.png | Bin 7956 -> 7949 bytes tests/ref/math/op.png | Bin 6019 -> 6028 bytes tests/ref/math/spacing.png | Bin 11600 -> 11600 bytes tests/ref/math/style.png | Bin 23053 -> 23028 bytes 21 files changed, 220 insertions(+), 154 deletions(-) diff --git a/library/src/math/accent.rs b/library/src/math/accent.rs index 8cae4268b..809939258 100644 --- a/library/src/math/accent.rs +++ b/library/src/math/accent.rs @@ -118,7 +118,7 @@ impl LayoutMath for AccentNode { frame.set_baseline(baseline); frame.push_frame(accent_pos, accent); frame.push_frame(base_pos, base.to_frame(ctx)); - ctx.push(frame); + ctx.push(FrameFragment::new(ctx, frame)); Ok(()) } diff --git a/library/src/math/align.rs b/library/src/math/align.rs index 82b461e9d..e8a9c14a5 100644 --- a/library/src/math/align.rs +++ b/library/src/math/align.rs @@ -29,8 +29,7 @@ pub(super) fn alignments(rows: &[MathRow]) -> Vec { let count = rows .iter() .map(|row| { - row.0 - .iter() + row.iter() .filter(|fragment| matches!(fragment, MathFragment::Align)) .count() }) @@ -42,7 +41,7 @@ pub(super) fn alignments(rows: &[MathRow]) -> Vec { for row in rows { let mut x = Abs::zero(); let mut i = 0; - for fragment in &row.0 { + for fragment in row.iter() { if matches!(fragment, MathFragment::Align) { if i < current { x = points[i]; diff --git a/library/src/math/attach.rs b/library/src/math/attach.rs index 110ea4b79..8a1644beb 100644 --- a/library/src/math/attach.rs +++ b/library/src/math/attach.rs @@ -231,7 +231,7 @@ fn scripts( frame.push_frame(sub_pos, sub); } - ctx.push(FrameFragment::new(frame).with_class(class)); + ctx.push(FrameFragment::new(ctx, frame).with_class(class)); Ok(()) } @@ -284,7 +284,7 @@ fn limits( frame.push_frame(bottom_pos, bottom); } - ctx.push(FrameFragment::new(frame).with_class(class)); + ctx.push(FrameFragment::new(ctx, frame).with_class(class)); Ok(()) } diff --git a/library/src/math/ctx.rs b/library/src/math/ctx.rs index d682746e2..4f390817a 100644 --- a/library/src/math/ctx.rs +++ b/library/src/math/ctx.rs @@ -31,7 +31,7 @@ pub struct MathContext<'a, 'b, 'v> { pub table: ttf_parser::math::Table<'a>, pub constants: ttf_parser::math::Constants<'a>, pub space_width: Em, - pub row: MathRow, + pub fragments: Vec, pub map: StyleMap, pub style: MathStyle, pub size: Abs, @@ -69,7 +69,7 @@ impl<'a, 'b, 'v> MathContext<'a, 'b, 'v> { table, constants, space_width, - row: MathRow::new(), + fragments: vec![], map: StyleMap::new(), style: MathStyle { variant: MathVariant::Serif, @@ -88,45 +88,45 @@ impl<'a, 'b, 'v> MathContext<'a, 'b, 'v> { } pub fn push(&mut self, fragment: impl Into) { - self.row.push(self.size, self.space_width, self.style, fragment); + self.fragments.push(fragment.into()); } - pub fn extend(&mut self, row: MathRow) { - let mut iter = row.0.into_iter(); - if let Some(first) = iter.next() { - self.push(first); - } - self.row.0.extend(iter); - } - - pub fn layout_non_math(&mut self, content: &Content) -> SourceResult { - Ok(content - .layout(&mut self.vt, self.outer.chain(&self.map), self.regions)? - .into_frame()) + pub fn extend(&mut self, fragments: Vec) { + self.fragments.extend(fragments); } pub fn layout_fragment( &mut self, node: &dyn LayoutMath, ) -> SourceResult { - let row = self.layout_row(node)?; - Ok(if row.0.len() == 1 { - row.0.into_iter().next().unwrap() - } else { - row.to_frame(self).into() - }) + let row = self.layout_fragments(node)?; + Ok(MathRow::new(row).to_fragment(self)) + } + + pub fn layout_fragments( + &mut self, + node: &dyn LayoutMath, + ) -> SourceResult> { + let prev = std::mem::take(&mut self.fragments); + node.layout_math(self)?; + Ok(std::mem::replace(&mut self.fragments, prev)) } pub fn layout_row(&mut self, node: &dyn LayoutMath) -> SourceResult { - let prev = std::mem::take(&mut self.row); - node.layout_math(self)?; - Ok(std::mem::replace(&mut self.row, prev)) + let fragments = self.layout_fragments(node)?; + Ok(MathRow::new(fragments)) } pub fn layout_frame(&mut self, node: &dyn LayoutMath) -> SourceResult { Ok(self.layout_fragment(node)?.to_frame(self)) } + pub fn layout_content(&mut self, content: &Content) -> SourceResult { + Ok(content + .layout(&mut self.vt, self.outer.chain(&self.map), self.regions)? + .into_frame()) + } + pub fn layout_text(&mut self, text: &str) -> SourceResult<()> { let mut chars = text.chars(); if let Some(glyph) = chars @@ -146,13 +146,13 @@ impl<'a, 'b, 'v> MathContext<'a, 'b, 'v> { } } else if text.chars().all(|c| c.is_ascii_digit()) { // Numbers aren't that difficult. - let mut vec = vec![]; + let mut fragments = vec![]; for c in text.chars() { let c = self.style.styled_char(c); - vec.push(GlyphFragment::new(self, c).into()); + fragments.push(GlyphFragment::new(self, c).into()); } - let frame = MathRow(vec).to_frame(self); - self.push(frame); + let frame = MathRow::new(fragments).to_frame(self); + self.push(FrameFragment::new(self, frame)); } else { // Anything else is handled by Typst's standard text layout. let spaced = text.graphemes(true).count() > 1; @@ -161,9 +161,9 @@ impl<'a, 'b, 'v> MathContext<'a, 'b, 'v> { style = style.with_italic(false); } let text: EcoString = text.chars().map(|c| style.styled_char(c)).collect(); - let frame = self.layout_non_math(&TextNode::packed(text))?; + let frame = self.layout_content(&TextNode::packed(text))?; self.push( - FrameFragment::new(frame) + FrameFragment::new(self, frame) .with_class(MathClass::Alphabetic) .with_spaced(spaced), ); diff --git a/library/src/math/delimited.rs b/library/src/math/delimited.rs index cdd5718c7..b69e4c39d 100644 --- a/library/src/math/delimited.rs +++ b/library/src/math/delimited.rs @@ -60,10 +60,9 @@ impl LayoutMath for LrNode { } } - let mut row = ctx.layout_row(body)?; + let mut fragments = ctx.layout_fragments(body)?; let axis = scaled!(ctx, axis_height); - let max_extent = row - .0 + let max_extent = fragments .iter() .map(|fragment| (fragment.ascent() - axis).max(fragment.descent() + axis)) .max() @@ -75,7 +74,7 @@ impl LayoutMath for LrNode { .resolve(ctx.styles()) .relative_to(2.0 * max_extent); - match row.0.as_mut_slice() { + match fragments.as_mut_slice() { [one] => scale(ctx, one, height, None), [first, .., last] => { scale(ctx, first, height, Some(MathClass::Opening)); @@ -84,7 +83,7 @@ impl LayoutMath for LrNode { _ => {} } - ctx.extend(row); + ctx.extend(fragments); Ok(()) } diff --git a/library/src/math/frac.rs b/library/src/math/frac.rs index 9f7fb9d0d..283686c8a 100644 --- a/library/src/math/frac.rs +++ b/library/src/math/frac.rs @@ -153,7 +153,7 @@ fn layout( if binom { ctx.push(GlyphFragment::new(ctx, '(').stretch_vertical(ctx, height, short_fall)); - ctx.push(frame); + ctx.push(FrameFragment::new(ctx, frame)); ctx.push(GlyphFragment::new(ctx, ')').stretch_vertical(ctx, height, short_fall)); } else { frame.push( @@ -165,7 +165,7 @@ fn layout( }), ), ); - ctx.push(frame); + ctx.push(FrameFragment::new(ctx, frame)); } Ok(()) diff --git a/library/src/math/fragment.rs b/library/src/math/fragment.rs index bef3f5780..f1c374a14 100644 --- a/library/src/math/fragment.rs +++ b/library/src/math/fragment.rs @@ -6,7 +6,7 @@ pub enum MathFragment { Variant(VariantFragment), Frame(FrameFragment), Spacing(Abs), - Space, + Space(Abs), Linebreak, Align, } @@ -22,6 +22,7 @@ impl MathFragment { Self::Variant(variant) => variant.frame.width(), Self::Frame(fragment) => fragment.frame.width(), Self::Spacing(amount) => *amount, + Self::Space(amount) => *amount, _ => Abs::zero(), } } @@ -62,6 +63,24 @@ impl MathFragment { } } + pub fn style(&self) -> Option { + match self { + Self::Glyph(glyph) => Some(glyph.style), + Self::Variant(variant) => Some(variant.style), + Self::Frame(fragment) => Some(fragment.style), + _ => None, + } + } + + pub fn font_size(&self) -> Option { + match self { + Self::Glyph(glyph) => Some(glyph.font_size), + Self::Variant(variant) => Some(variant.font_size), + Self::Frame(fragment) => Some(fragment.font_size), + _ => None, + } + } + pub fn set_class(&mut self, class: MathClass) { match self { Self::Glyph(glyph) => glyph.class = Some(class), @@ -71,8 +90,11 @@ impl MathFragment { } } - pub fn participating(&self) -> bool { - !matches!(self, Self::Space | Self::Spacing(_) | Self::Align) + pub fn is_spaced(&self) -> bool { + match self { + MathFragment::Frame(frame) => frame.spaced, + _ => self.class() == Some(MathClass::Fence), + } } pub fn italics_correction(&self) -> Abs { @@ -111,23 +133,18 @@ impl From for MathFragment { } } -impl From for MathFragment { - fn from(frame: Frame) -> Self { - Self::Frame(FrameFragment::new(frame)) - } -} - -#[derive(Debug, Clone, Copy)] +#[derive(Clone, Copy)] pub struct GlyphFragment { pub id: GlyphId, pub c: char, pub lang: Lang, pub fill: Paint, - pub font_size: Abs, pub width: Abs, pub ascent: Abs, pub descent: Abs, pub italics_correction: Abs, + pub style: MathStyle, + pub font_size: Abs, pub class: Option, } @@ -163,6 +180,7 @@ impl GlyphFragment { c, lang: ctx.styles().get(TextNode::LANG), fill: ctx.styles().get(TextNode::FILL), + style: ctx.style, font_size: ctx.size, width, ascent: bbox.y_max.scaled(ctx), @@ -184,6 +202,8 @@ impl GlyphFragment { c: self.c, id: Some(self.id), frame: self.to_frame(ctx), + style: self.style, + font_size: self.font_size, italics_correction: self.italics_correction, class: self.class, } @@ -210,30 +230,48 @@ impl GlyphFragment { } } -#[derive(Debug, Clone)] +impl Debug for GlyphFragment { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + write!(f, "GlyphFragment({:?})", self.c) + } +} + +#[derive(Clone)] pub struct VariantFragment { pub c: char, pub id: Option, - pub frame: Frame, pub italics_correction: Abs, + pub frame: Frame, + pub style: MathStyle, + pub font_size: Abs, pub class: Option, } +impl Debug for VariantFragment { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + write!(f, "VariantFragment({:?})", self.c) + } +} + #[derive(Debug, Clone)] pub struct FrameFragment { pub frame: Frame, - pub class: MathClass, pub limits: bool, pub spaced: bool, + pub style: MathStyle, + pub font_size: Abs, + pub class: MathClass, } impl FrameFragment { - pub fn new(frame: Frame) -> Self { + pub fn new(ctx: &MathContext, frame: Frame) -> Self { Self { frame, - class: MathClass::Normal, limits: false, spaced: false, + font_size: ctx.size, + style: ctx.style, + class: MathClass::Normal, } } diff --git a/library/src/math/matrix.rs b/library/src/math/matrix.rs index e5ae6a1d2..c47f2d5ee 100644 --- a/library/src/math/matrix.rs +++ b/library/src/math/matrix.rs @@ -307,7 +307,7 @@ fn layout_delimiters( ctx.push(GlyphFragment::new(ctx, left).stretch_vertical(ctx, target, short_fall)); } - ctx.push(frame); + ctx.push(FrameFragment::new(ctx, frame)); if let Some(right) = right { ctx.push( diff --git a/library/src/math/mod.rs b/library/src/math/mod.rs index 4e60faca7..656fc2e01 100644 --- a/library/src/math/mod.rs +++ b/library/src/math/mod.rs @@ -261,7 +261,7 @@ impl LayoutMath for Content { } if self.is::() { - ctx.push(MathFragment::Space); + ctx.push(MathFragment::Space(ctx.space_width.scaled(ctx))); return Ok(()); } @@ -288,8 +288,8 @@ impl LayoutMath for Content { return node.layout_math(ctx); } - let frame = ctx.layout_non_math(self)?; - ctx.push(FrameFragment::new(frame).with_spaced(true)); + let frame = ctx.layout_content(self)?; + ctx.push(FrameFragment::new(ctx, frame).with_spaced(true)); Ok(()) } diff --git a/library/src/math/op.rs b/library/src/math/op.rs index 6e52cea5f..8cc007ead 100644 --- a/library/src/math/op.rs +++ b/library/src/math/op.rs @@ -38,9 +38,9 @@ impl OpNode { impl LayoutMath for OpNode { fn layout_math(&self, ctx: &mut MathContext) -> SourceResult<()> { - let frame = ctx.layout_non_math(&TextNode(self.text.clone()).pack())?; + let frame = ctx.layout_content(&TextNode(self.text.clone()).pack())?; ctx.push( - FrameFragment::new(frame) + FrameFragment::new(ctx, frame) .with_class(MathClass::Large) .with_limits(self.limits), ); diff --git a/library/src/math/root.rs b/library/src/math/root.rs index 2d27bb114..e1c8d9878 100644 --- a/library/src/math/root.rs +++ b/library/src/math/root.rs @@ -158,7 +158,7 @@ fn layout( ); frame.push_frame(radicand_pos, radicand); - ctx.push(frame); + ctx.push(FrameFragment::new(ctx, frame)); Ok(()) } diff --git a/library/src/math/row.rs b/library/src/math/row.rs index 41136a9e3..ecd37f462 100644 --- a/library/src/math/row.rs +++ b/library/src/math/row.rs @@ -5,55 +5,55 @@ use super::*; pub const TIGHT_LEADING: Em = Em::new(0.25); #[derive(Debug, Default, Clone)] -pub struct MathRow(pub Vec); +pub struct MathRow(Vec); impl MathRow { - pub fn new() -> Self { - Self(vec![]) - } + pub fn new(fragments: Vec) -> Self { + let mut iter = fragments.into_iter().peekable(); + let mut last: Option = None; + let mut space: Option = None; + let mut resolved: Vec = vec![]; - pub fn width(&self) -> Abs { - self.0.iter().map(|fragment| fragment.width()).sum() - } - - pub fn height(&self) -> Abs { - self.ascent() + self.descent() - } - - pub fn ascent(&self) -> Abs { - self.0.iter().map(MathFragment::ascent).max().unwrap_or_default() - } - - pub fn descent(&self) -> Abs { - self.0.iter().map(MathFragment::descent).max().unwrap_or_default() - } - - pub fn push( - &mut self, - font_size: Abs, - space_width: Em, - style: MathStyle, - fragment: impl Into, - ) { - let mut fragment = fragment.into(); - if !fragment.participating() { - self.0.push(fragment); - return; - } - - let mut space = false; - for (i, prev) in self.0.iter().enumerate().rev() { - if !prev.participating() { - space |= matches!(prev, MathFragment::Space); - if matches!(prev, MathFragment::Spacing(_)) { - break; + while let Some(mut fragment) = iter.next() { + match fragment { + // Keep space only if supported by spaced fragments. + MathFragment::Space(_) => { + if last.is_some() { + space = Some(fragment); + } + continue; } - continue; + + // Explicit spacing disables automatic spacing. + MathFragment::Spacing(_) => { + last = None; + space = None; + resolved.push(fragment); + continue; + } + + // Alignment points are resolved later. + MathFragment::Align => { + resolved.push(fragment); + continue; + } + + // New line, new things. + MathFragment::Linebreak => { + resolved.push(fragment); + space = None; + last = None; + continue; + } + + _ => {} } - if fragment.class() == Some(MathClass::Vary) { - if matches!( - prev.class(), + // Convert variable operators into binary operators if something + // precedes them. + if fragment.class() == Some(MathClass::Vary) + && matches!( + last.and_then(|i| resolved[i].class()), Some( MathClass::Normal | MathClass::Alphabetic @@ -62,22 +62,43 @@ impl MathRow { | MathClass::Fence | MathClass::Relation ) - ) { - fragment.set_class(MathClass::Binary); + ) + { + fragment.set_class(MathClass::Binary); + } + + // Insert spacing between the last and this item. + if let Some(i) = last { + if let Some(s) = spacing(&resolved[i], space.take(), &fragment) { + resolved.insert(i + 1, s); } } - let mut amount = Abs::zero(); - amount += spacing(prev, &fragment, style, space, space_width).at(font_size); - - if !amount.is_zero() { - self.0.insert(i + 1, MathFragment::Spacing(amount)); - } - - break; + last = Some(resolved.len()); + resolved.push(fragment); } - self.0.push(fragment); + Self(resolved) + } + + pub fn iter(&self) -> std::slice::Iter<'_, MathFragment> { + self.0.iter() + } + + pub fn width(&self) -> Abs { + self.iter().map(MathFragment::width).sum() + } + + pub fn height(&self) -> Abs { + self.ascent() + self.descent() + } + + pub fn ascent(&self) -> Abs { + self.iter().map(MathFragment::ascent).max().unwrap_or_default() + } + + pub fn descent(&self) -> Abs { + self.iter().map(MathFragment::descent).max().unwrap_or_default() } pub fn to_frame(self, ctx: &MathContext) -> Frame { @@ -86,14 +107,22 @@ impl MathRow { self.to_aligned_frame(ctx, &[], align) } + pub fn to_fragment(self, ctx: &MathContext) -> MathFragment { + if self.0.len() == 1 { + self.0.into_iter().next().unwrap() + } else { + FrameFragment::new(ctx, self.to_frame(ctx)).into() + } + } + pub fn to_aligned_frame( mut self, ctx: &MathContext, points: &[Abs], align: Align, ) -> Frame { - if self.0.iter().any(|frag| matches!(frag, MathFragment::Linebreak)) { - let fragments = std::mem::take(&mut self.0); + if self.iter().any(|frag| matches!(frag, MathFragment::Linebreak)) { + let fragments: Vec<_> = std::mem::take(&mut self.0); let leading = if ctx.style.size >= MathSize::Text { ctx.styles().get(ParNode::LEADING) } else { @@ -140,7 +169,7 @@ impl MathRow { if let (Some(&first), Align::Center) = (points.first(), align) { let mut offset = first; - for fragment in &self.0 { + for fragment in self.iter() { offset -= fragment.width(); if matches!(fragment, MathFragment::Align) { x = offset; diff --git a/library/src/math/spacing.rs b/library/src/math/spacing.rs index fad1c863a..172672388 100644 --- a/library/src/math/spacing.rs +++ b/library/src/math/spacing.rs @@ -1,6 +1,5 @@ use super::*; -pub(super) const ZERO: Em = Em::zero(); pub(super) const THIN: Em = Em::new(1.0 / 6.0); pub(super) const MEDIUM: Em = Em::new(2.0 / 9.0); pub(super) const THICK: Em = Em::new(5.0 / 18.0); @@ -14,49 +13,48 @@ pub(super) fn define(math: &mut Scope) { math.define("quad", HNode::strong(QUAD).pack()); } -/// Determine the spacing between two fragments in a given style. +/// Create the spacing between two fragments in a given style. pub(super) fn spacing( - left: &MathFragment, - right: &MathFragment, - style: MathStyle, - space: bool, - space_width: Em, -) -> Em { + l: &MathFragment, + space: Option, + r: &MathFragment, +) -> Option { use MathClass::*; - let script = style.size <= MathSize::Script; - let class = |frag: &MathFragment| frag.class().unwrap_or(Special); - match (class(left), class(right)) { + + let class = |f: &MathFragment| f.class().unwrap_or(Special); + let resolve = |v: Em, f: &MathFragment| { + Some(MathFragment::Spacing(f.font_size().map_or(Abs::zero(), |size| v.at(size)))) + }; + let script = + |f: &MathFragment| f.style().map_or(false, |s| s.size <= MathSize::Script); + + match (class(l), class(r)) { // No spacing before punctuation; thin spacing after punctuation, unless // in script size. - (_, Punctuation) => ZERO, - (Punctuation, _) if !script => THIN, + (_, Punctuation) => None, + (Punctuation, _) if !script(l) => resolve(THIN, l), // No spacing after opening delimiters and before closing delimiters. - (Opening, _) | (_, Closing) => ZERO, + (Opening, _) | (_, Closing) => None, // Thick spacing around relations, unless followed by a another relation // or in script size. - (Relation, Relation) => ZERO, - (Relation, _) | (_, Relation) if !script => THICK, + (Relation, Relation) => None, + (Relation, _) if !script(l) => resolve(THICK, l), + (_, Relation) if !script(r) => resolve(THICK, r), // Medium spacing around binary operators, unless in script size. - (Binary, _) | (_, Binary) if !script => MEDIUM, + (Binary, _) if !script(l) => resolve(MEDIUM, l), + (_, Binary) if !script(r) => resolve(MEDIUM, r), // Thin spacing around large operators, unless next to a delimiter. - (Large, Opening | Fence) | (Closing | Fence, Large) => ZERO, - (Large, _) | (_, Large) => THIN, + (Large, Opening | Fence) | (Closing | Fence, Large) => None, + (Large, _) => resolve(THIN, l), + (_, Large) => resolve(THIN, r), // Spacing around spaced frames. - _ if space && (is_spaced(left) || is_spaced(right)) => space_width, + _ if (l.is_spaced() || r.is_spaced()) => space, - _ => ZERO, - } -} - -/// Whether this fragment should react to adjacent spaces. -fn is_spaced(fragment: &MathFragment) -> bool { - match fragment { - MathFragment::Frame(frame) => frame.spaced, - _ => fragment.class() == Some(MathClass::Fence), + _ => None, } } diff --git a/library/src/math/stretch.rs b/library/src/math/stretch.rs index aee226d11..d308975d0 100644 --- a/library/src/math/stretch.rs +++ b/library/src/math/stretch.rs @@ -177,6 +177,8 @@ fn assemble( c: base.c, id: None, frame, + style: base.style, + font_size: base.font_size, italics_correction: Abs::zero(), class: base.class, } diff --git a/library/src/math/style.rs b/library/src/math/style.rs index da2e2313e..9ae773467 100644 --- a/library/src/math/style.rs +++ b/library/src/math/style.rs @@ -313,7 +313,7 @@ impl LayoutMath for BbNode { } } -/// The style in a formula. +/// Text properties in a formula. #[derive(Debug, Copy, Clone, Eq, PartialEq)] pub struct MathStyle { /// The style variant to select. diff --git a/library/src/math/underover.rs b/library/src/math/underover.rs index 3a47059c6..a1c27e595 100644 --- a/library/src/math/underover.rs +++ b/library/src/math/underover.rs @@ -270,7 +270,8 @@ fn layout( baseline = rows.len() - 1; } - ctx.push(stack(ctx, rows, Align::Center, gap, baseline)); + let frame = stack(ctx, rows, Align::Center, gap, baseline); + ctx.push(FrameFragment::new(ctx, frame)); Ok(()) } diff --git a/tests/ref/math/delimited.png b/tests/ref/math/delimited.png index ea3ab6c298d187d54c4bace15c8b7e70267afbef..29a8c915adaa47321bab0c908c1f1a9a43ab51cf 100644 GIT binary patch literal 10731 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 K`6}7BVgCWc64&Mc literal 10723 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 literal 7956 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 literal 6019 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 diff --git a/tests/ref/math/spacing.png b/tests/ref/math/spacing.png index fcd0d66080be54a3285eee82a370cf80a6f4d806..38d210260dff885fed1e9a5853dc9f2dc83192e5 100644 GIT binary patch literal 11600 zcmaKSXEdB$+xF-|kVFen(hxC9M)a11km%iv-bQcHM;9&nEf}5XWt73_H3VVw-U&t< zy?3Acec$JKpZir2Q=QUfq3qJI&mSN@FHut>&Hb(ff^WWKd}}%U z{zX%ba!%}^2(f}kJo)>gr;LGvo*#&x#Q`>KW1HqFDxuY;v4-hdu}!zkzf*Znd;4`$ zefno*RHUBAe0upP^sf004GjMbCXq8@2L|OLso-s@|L@KfZAC<6HA4t7x+Qz%4>7zo zsDrETVBbjaVy`2^y_M0{VvJSGY)bKzM|a{Ph}r#I80(P0Lu&?eVF$L@FiV`8dZbS* z#uzhxar_aN;CjLGR7^8Pda_g9d#4R(&)@^cfkzvcd?n+arjIyvgTUR0wj}0FO+6s} zj1_J6-}$q^UrV|Pxf7rp8nng-#h+-=frR?V93-d3A$@Z5G#T}wgZ?J#vP_Ct>ULRT6fqm$ zWp5DCziib&qXT;0FX|~tx5tD>LBwYYK)Sm4enI#e*7aUIAc&Kw` z3^H41YW@82K{M6bUl{H%Zh(@wAkm+>gf?|(;(lsFaynwYKe>4Atky=%r|?Uei_B7p za|EGpSu8nZe%*R&Hc&p%#nc?=kiTHKTo=08I@td#Tz))~>ofBsaM|`v} zRR4G9Aj%tkr&P9fUEfe}30KVUx~6!q?7R`td#e{kUKOq5-Xm^j^UYiLusSBnj&6Bu zaPd2kQdoLQ+7`0j%2l4tSR)o=Yoey!3QlTNow5R~2hW=zBUWz=YaS*LgXe2g;2XTE4Ag5dAV+>PB7K zE};FGd?aT2Vjpn98m=3j`@SqjTbu?30#ET#!!L08Ym!g%&XX_pf7maXlO&vcA%;uN z@~O(TyV>cGT`I~3v9Q=d7K*&h-}3Oi+8Fuu@la5sWP1E~9QOe&(;en_qWA9La4heF zfcGC3YVetKa$p5cM$~Wlx`G;5(ex=*nc7cAt6|p{$Jhzqe5?OzDMr)Z^lQB3D%>X7 z;D`^Mz_*XPIZ-(=KY#n_h0E8>tM?`ED{~7m`(c+QJ5=gz!~UZJ`#O*XT&LR^E!}6) zm(`=66d>m>P=w3Ud7Tx5YFHhzveNgK#eV91TbL{i=I|6J@Ayss1|jNm5LEq(UsBWe zt!b%Ft1jFT=u85eHXu$Vf^v?6Be(6qSpGE%@6}9o!Gq%7PA*J z6EdW2jm5)mgOf$J32DufEVkCRcr+Tjf~};dfeHgT!kY_v6gd*<$ux92QkA`LN*Ks< zuj_w~_qSMBon9GM$W=62>5kAK=Z1%OwhJcgbopv$h7DWRT*vmsb}{v+bTlDe0*3Z(Vm0o85NTqIgQs2?xMgfQ z!n_VVhA(8#(Z9SUOP&XBxf$~LhEmH>&;q&d2(kAAFrbl@1TAj_%RJUH$%>9AdZ9NUvo=pS~_=*f$7J!&V^o$Y^GcDz7<|H2D-&FQ^ET^M1T60enhiG z&y!?!^@qQ6Yfj1`wD35(vnf;4XfMs znZ{s5jgm^sBMnBlxXI8#P!F(pdICS1z^Dx*227C2=?0mFVyn5`G~7=ENNyFDGp*pa z>m?-GzGJ)tLda>0?;X$_BBfq9!9YD3GB?AZl$r?*z`-w`l@7&z^*TJExnq%(E_u5 z<3L|*RaQq{X+JaKbKf6p4{edBQ;AV%8)qc}i=|DEnhI{Y1rp+QQa&C6S`RDJ^!FTK z&ah84EpHPPE}r|Zv>nU;{5XwvjUCjbw6WE0Z_=%K%&LyA26C?n6Es>gSx1nL{8m>> z)#}HA@hSc&T@fax5)k;ZWXt85MVvebcfKG2r;0plsIWN~e^7jhhJArNzNZ4rSQ*|F zTdZ~z4(MRvd8%aW3We0tA_X%Jt#af{3=vrymsA_XK$w`Mfv_}|9Jk8KbV8J=Smz$< zoN#2RI?2ES)&3Y_B09L=PNk6Ti8EN8d0qjTMpwt~#j}FD!1{!nS$_&=inn?|^R~=V zv`5gy%6u!{Cv69|IMs+MhYveV5A=R_okRIa2GVdTB}UC>>env2rO3FNR>v94m8!}) zyIt~d2AriA2>RF_iq#%%>QwR`IF8*e{mK`pu)hR(wBB2&9k~t>RN^Exi_}6Su`_y@qsj*!;~X-xy(C4WoO3)39ZprzspX=O?V~xnjB{f2Tj%Es zER&fcYk|;3tUpr8O&2`oRvzX31U*|@_wZ9+WXyO3bj)11tW`n7j4Q;M5kBryJCR$N9&VIIxI zy2EKo7h)Rl0209a`dD_6pjq(#c!U|5m9s3&IO(Yy$o{-Arhp}IJ{;Dmp z4|EMkOqg3@D32&Z@(r8oWD@DA1?D<^EJmoOTh1aN3oFCE-9y zh7z5_fqA}^a@SsTPG}%pE#U9x|%3&G`L;%Zv({+LwnFScP&_d zP>&Lx^vh9Gg`Jx>92&dY25JYk=gB{&ukPTgU;MQZODJ;>9f1^uT(D{_l;BeUbzJaU zVS4SK^1NOEd0RmhzhxJf-#ZLc1j!R8CP@&UU?LvDH_SJ#wQ;3ZQ1ic5NG)a=z&Q$FpXAZ*@od`~JjTxRd$tNZy33OL|;k$(%u(z>6=&L#QAET#jpcg=2t#CB4X1Uaw z7p}RZ9u=JK_i{$@*Qr}bnqUuW^Q`5g9tCNznIEQZTCOWK>ChzqLCRSxIpV?&UhP3R zv-v*sL5wN$?WYSdkk9`!jyzyCJwHueON2sZnpSB&7kY-hA5v{2^;gNEy(Ch@A!wDf zCFvt^q^knl+OyQQZb!x(xL_e*BUfpw`Lc^#XUJz>T~4Zr48GjS*C=pAj|~HMY018< zbC6^Mmc4E=^wsavd=o6K@1Q5p`S@sBe$8axTYyf9rhrZ|ZpL!L1omvrpjAXI6`5-A zl$guvx)})LWcm=_-np3PC`L#WXYDCNmZru9faTXQp;uY_pJF232)51Lp=o_>=Wlf8 zj2(y=rn!b^xcLG!o2-%?W_0&B4%b$A!vUvpLZw|5%JzmvJ|h)m0s3VV*e1pGV~?i7 z`g3;>k6>Bu*ZSOI!unCZpa4(rvF@5B+~t~rv=o3&oD)|U2wZc|;+j)HZD6_X79d+y zDOIe=RoEa!$6YkbT{x43HRx57CuPCa0JNJy_XLlLQz`Uz-ByJfd|w^PUv~ zbU@a|PfLFfXV#}FV5Hy|D{Bis4=i8r6LSPX%_0%e9;`s#a110V`>%7Rf21L6K+n;d zq1{3W-NyWq@-MH_zO`!xW&=-p3TiUVpF|WubM!877R&8UV4;i#thDK zTlU+rdq25Lle(}QsD(cn9N5*BhV*Ysuqu;Iop5hM2GTlf6L*L2aur_cs2?XOm6Ng~ zX`=H(x|k{h4FYO0Lgd8F_lysE6+2UD*}>KBp2M9}hmjf=5SPIw9Qw&<4#w@ZHGCr>u$Bn*7etqZ8kDXG|7*ailF6R-BB_?dY}A#E?(b@jNL#y`6nA$ zw#OJ*%9(<7=BMEO{7Su_6O#MoQSLel^(7`hz&cmWvV@aYC5RKx>DSfGqulxdX+mv` zldN%HL^8=_HooJ0ul{++uv$3VGVi7VA7b{}e(DOQ3+dF-rz<5BubdTpnm;9^z9>@K z140#NpZxH&59tiC()O+^^X=aHWnl<&+RDJ_#z8++nUEW2JK6?v_)bYLaGVYbXEnk$ zl+T+Vl$HL{9iRFLsWvc`SRMLSSC1WJCHe5gVmfYrr`jOZc?utSbe;2V&N#84l=BK2 zWnGavG$&rVT1=TO+&^5_fP0mRFcun`wrh}V2?exk&u$1b*eM6;WDwbE0_9o<_Sh$ zVB98VQn{|C-}WWrlGrq)?t;(I_g1qfC*t1^hRYjE;5Te2Cry3UU$_ucqJCdLj0g63 zEFk|g^T9_*dRfl#C9FlG|FZ3X021trx=t>V3#sY5JlD`8TMlL8bjFO9JGW=z3TJ?g zl33A-=QgHWjHSI9+y>2F*EmJ1=mc(qKh|xktIz&d{+KX2@AdGzu6DwP>`yB@{w8gz zJhl&HF>`^Z&=xQ(HI>M)vI(`B>_p2%BE{cy`p~R@UGRUaFXRxa!DAKp%(^mF$kBir zAW4z(@M%**fdBoGm!{vhyK6I+Y~&L>gQ@hlk0N)EszPf;Mdd2J;!d?k%5YY3lIwwF#4vz4Krn1t4b zlXc$NhD$)AudQVRo;}>tbvcbY^VfK! zucKVXwt7Nv54W~yJHj$*r@vYb@Mo2~zl`mtp3AhQQUVY?TobOkV2$_gS=FQHNyoDg z&T#1{di-|;h`7VzV#_)+W0m9GEdxv;|POa*(n6GuM0qgE95Rbj-nF9*Vph{`{=c}E|=1( z#mS|l808{&c-fL12ZfaOWUn?VFafS^h-?NPN*7E&V795!29!HTAX$3@MyAPWmf<8>xfr%dU# zw*n{@Vf&j8-ua1-wDr$4|MCa9E75Rlxe_O!A=<4Klu+(H- zgaF{eNl*yQTVb~Pqw>1YwUZ}-2z1blRoaJ$>e`n=x?{6JPt-^auv zaa}*z_2!Ht2wM_olsOC(@t4`g$~sLo;HOk3w=5s$h#WCx#Tp+L&EplvNL!nrR@A;% z)J{ZV7YbErE$Qd=k1g`yrOY9K8cjL|q*oaykM60v>@3rq;#05tHkPChB#s^_Al}K# z06s|cR2-j;&*lxK_hbS-da_)d-B6#D2vl>&`ZI;q|BTMOYPiXp&Q}Nib+pO-CM_(e zeC!P8rwBme)h5wRce79_EB$Sdk3H+2gLZSkh@t9+`;lZ>TT>ArWR^VD_FCwyK-`I< zroRFxlX4w##)Uh{Z+}xM_oAAf($LV!51So{MoJ5V%6` z42ASqmBfsmUR|B|rK3B3t`y@Hq~mnT&klvVsq+>Kwt^wb>{B*#rRX1LDNF5$v6 zrAD+STZvb&xksmqEPQ<@s3+_`!|$&fmW@0NCI^3$&*rf}oNe0Y+?vha2^6V)?K}6` zgb##X_q`#aY%fB{{E?XEvfR$QsrhwZ;r0o0IinKnz{HUTN+)O@z;7h_*u>kTusn>S z+_|#sLXoe|@qV%m?}59@^%I78f35k(nb(ORLBa|fn59^J*}7&5+|hhj}Yviog^1<*uSM?71xBL{~*nOj{J`-04;AuXL}7b2Wy`g(eb(w zz=<@A7UnlYAPo@uU3ba2y$+eN05MHZIY*d3QdiW_UIB11Wd@4YvHlzX}vK5>*45qhCYFq+ae85 z-iC{Upv{sP@}k&QPDG~b#y5qYXMUu&E|zd>ea(?&nySewF#xXfvsq=aesX#v>)Xt7 z7IkS(eos7VpXVyawp82jl^!6`6TMgT*9LijmP9>r?aLPYZ~aCGb2Jte(F3+$p5%!- zLE$cu%~4tcJTl&6W5bDC_9i}3Z-nhH7g2RHIlQOQNA-`j%pjBCB4&yuTOJ&61FS{vjNn|$~h=qEF_vxP0?Af{ope=W?e(^<7-^k(ns)<}q#HDuQ2 zn(*$0ZJ!6`Z7xtIjP@@H_}|c+qN9bU<_1oY*otC7FPMbfI>fxG@BCTOlTK5Ub_=x3 z+8k%8%yvyk-Oxl(7kBgkB&);CGwXPxs#DkN)c-;NT3R+nm`7P6f-T33)l1AR!7aHq z*pWl~v>e~|wph;S{jV;0cNU-*kSOcvpH|;5!(4Y$i4{s}rofXZSYY;g0e)ML zK@50Y!hCzsYwZ4F=E9^N;NfYpxqZDosf%;;PCl^fNqz+3r#b<%By2e?vw03tNL@a>#bU=p0*Go|84_hIw5*{27qobW#>ldxLIpt!trO`| zOE5oQyCUlDW`ze|`N*v5%BNwb>I6PJ^g3E35rx;hyxZy6u@kX%ZSUex=#SweW%;J6 zLZlbibFOlJ!Ns|^qGwI~4MOz0UIJzg*K@JaE<6;2(kctM^^Af@Cx8JeLU}@_bjzz` zpJ6_3dT`D;{{<&;f$}38g5Kee!loN~y#Rr@cOgLEfqkk+ju*8+G+X_~YAz4L3_!4o zCqe6)$VGPUiF-ppMh+prWe_aW*{uKyU~&D!t`&gHuh;yQo`{&j^r!BjY_@8d?3W07 z$AapB=x!m(r=SUb*8<=GMm`u(?@bP|Q!mB)XpU@uh%P$xD@(4m6Kmepz>63Yt3$~` zlg=FPzrCKHWj(n0h{p+r0T6Mq51XUFu4yEm2LyFo=oM`_%GE1Po*Z*jc_RZ#)GRPz zzPI9=qY_?8dqGY-LYDc7Yu7_``0;lNU)WUq%;py?Td;%ExQp6c?4w0Dt&v?~h?_2+ zLW{{PHB+zHcC9zeY2GK`=vkHbr^?X-$B)JrUHtNo;8BqNJ89(+8p;+3tp}5*81c!J zd*rbqeLfKTx$~mznxiz8PX%phso(w_IR-OTP7Uzui)0>7tlDa_4cO1amlm0#w1bgrFxC~@(PzFoP z>&4iy!kN+4rXWU}{7Yplf`p!rz(&2b3Lx-7nMtyrz!gf%P z77ANkw$^>E@(_%el{9!murnIWCNwJvQR%iat^Dv-Zeh!|urr(@=$VLrKM`jK^nAwV z8aTxQk*3un^b!RKX3s8<%dPo`?xoCl*A_QG%SBVL^r91%jcw{oBrYB}zD#@{xBI^^ zen43Z>wd%RH4;Ba;%NOntX%&t1!MFsn%f^R$4rCP=JOL1N{3XYre|LSQo;)|Gw@{M zY`MA*mf@`@xX>L9elf9m*`O*$%!Ks@C!?3>#!_O>t!x|K}aP4ufR z^}=7MQq@bptj^`PYEf7q88?sdqgvjQ`-Rl){xvJEuhsMrEhOS8A0p}giUaMKpo3Dvj zO|{t5Ru@QKp#k&?R0*~dV*~Pr<{DK;AkYj!|5QZ(<<+iERh5qxg$c>HNp^Qis9Oh9?{Qq9+S@&KGzYdsHfdifo|h= znMKV(VW->4%s1mlRqcqkYX)D5>i+)fB3mU8ZHZa_{90X!Y)ei0r?G8JqOvFcR!{ll zV}{FN{JDehlAj~A%E?FOPNT!4J2A#y^ZuW3mHtr7m!%ofwDJsI!3V`nbVJ+?n`I?L*nO5J&=z=kBZJ2VuZVNIMg zbK$rTh1_xvI$i&sHX#S8Uo}}B-kx$D@x@j0%N2wt`Nb_zW1zC`frHAF%^M3{dO?J) z(i>NN^8^B1=VXP3<}><9ILGUq@@yjH-_r;6+cN*6Ix%|eCqD23tnv!icmlzaGJ8Pb^O@QKvZfUox!LU{OFxi9R z6QAXd<0Fcbw_mPj$NIHoxqfG+uJ4*+68dglVAmWgD{iC{MD&ixq~*%+vsg=2!6#oe z(v5cf)rnAmXvFma-wtvyg_RwTp{4wstx_CaApU~2Gj&}=d0SE@B1xF#{!>)OP||jH zhD@o+$>7I4T&L7BUxwC=o7l0$<0fgQ&rCdLe{BSJu`24q?<3v54NYYmv^=EE@}Q_) zKa1>>NQ&&@z8(=|ZV@dJnVsS^`3VqJvfeYhO+(q0vuc8Id0q{jpa1%4IrnGEB9P_X z*7@7}c4CTH8rtlj+}_iB|7q}%pl{jHzgWacgP^SCv--VqU^7)FrJhRdzi+7Q`pdr! zj3{n)7bRf`;eg1;#>$Y3`opohko#>Q1^B+L*K;-$r!_g24@8qtHVRJS`O$)ukIj`4 zK+x?@?a*)IFMg{a#&!AA1|oxFodQ1`Sj(k}j?{i{{Q}KE$_GFrty({)Ri-6jU2tiz zUxRX;;Gx{n_+In8GExMVIi&*b=FbNAIoY{K4C!);@ituzL*5u$%0-^w?G3XJ(k9-? zXFbbhyI&9MuIQ34cr^s^#hF>|p;2H(d%7B5ZM9p2)0`W5tS3uZQ7p!4-#1Ia*>njf z3%=!iqReJa^c5Mm|BuD^cLx%M=}h5v)HrLi=>!#hnIiY4#rU&W&O}^S#KGKe_w|pT z9H&`V=+t}JpDjqi8azFUtJ&Xg{v6S7u0(5i-s9PHJ~2KAcFnhRS71wyzYR~mm)m5^6SruMWiMq;w!6C`i0DEfdUu0A6g}{HoB9h zTy8W`_Do+4uig)4@wN6C z4@JOe4Qt?-sMO5}P&_%58s2`$`p&czVB&D98yOLG&qD*p6&q1@^3K|*9@v~n`_~V* zD^=gPH%ls|xJ<`>;XMRPb7naB*y@A%0V^R(qw_NbHQwtK3?vBC#p%CYC%@o-Q>UIC zVx=4ZzI8OUv-m{H+UWJu)7K$sjd4Lx!Nnn(+JaO}j@_Hq7jxgb>i_Tqms{o)HBHW? z1gO`wx~F(CGxxl3MEDabbd6~QMx-JrStSp>a?=_H5k?E0z#&Driw-Jtx&lAn~JUbZ9o4~ zH+ihf?TTYj)=)GZT{Kf>u%H-!f-42@0oi8p8k8`(IRd}auYyNV?c(oB}!?J#EbY5l*E4>~(^j(|iz3Hwf`Wjp%@?8ix(Co^W z*0Qnow~@SYemxLg>?M1(IGU^JsJhy8^kSeV4fKbfH6yt^#O=xHaGjR3TORW0f`5+U z%V;>~{KEvayoEc*98iKYDYd^Lzda@}^L<(i>A}xtE7)kZnoGZ)jh*Rau1X%#W(qVn zU}W(N72x1}cIdHTHuY-Geu0mXf3A3EHGV(RCxcA;P6!0FEr=2-EhvZA%o|*nK{~l? z4EDphn-gu@K}B?GC;17``gm2&Y+yUOHh*_KhH}R0LrVcrMiYO1c=I*{^E0fnR75u6 ztc=bohLv|_?y2dtHSv*Q&DCHk_iz9a(niM-FY~+=?A>|O{&;`3P z8i*TzQ-~C;8PxIhLPbxxsmn!Ix9&j0J&!W%iXyc=P?0(!`PcRUb8mC<#P7I&c4X5P z(^wzPH@b3w|3F-xsBl^xdkdEJX@EsMizXCB;Ox-lD9aI@;ZVAf$+uq`tL*DU#9o(F zaFuJo*@YSa@~Wk#&*cU(?vnTPZ{{MmGq7uUw&uFU+Qvrh3B;yi7Y2I3t+Z#yFIw%c zbV$mN!1uhwlaona7FJKD?jozvc>viFAHBOf5P9eoVT|8lkK-qsO(9|NflnuI$z&Ntwis~5RlZJ$};ReFSzSjK?&ScRPzEZ&W%E(yk$ zT#I%GoyF`+^=gr0nNF`t7Ba4R;`xWN#CWdb3*s^p`c&rQTk}7Fa^&B3oi{rJUM&)_ zx!fQ{%>#p2n$S3eP$8b9_)GkbH!5zF!s|x$b`C#2nonY%vR*LTWqB) z>;Xy9;qM_Th!%r&1{cie_?zJ6D-HMK7z>1|%6{TzD?)P7Mj{kC0tat_+<3MnO`4us zU)Ag~$ma4b%`a9zi#b*^~00@VRlG_Xv z9y_JVGD-Z7Nhdze$nODxg^aomXkKo;(i_1+o7mryboBx$r0F262;i8ija_#vPk%7f z28P$lY1`4<&DptGlZN>seo1clDgCUsXBl3ugsu_=#L}iy=?CfZrkQrLN1gvZuxnHq8ba= z)?_ug7g0M#Qq+DYR%I`oHknLP)_>Sx50}UcuRT=lDT8W^ewuwNjjgQ;na4pRXP3zg znn~9>bxP^ZgxuW-nRKR?mPv7`=!q8M34-hOQW?9NQU@O6%5#vNH8tLQ41V~u^po$W zy;l(wSL$fz=$_8v^6Z2Qw=%A$SKHD^4_-@DsPu|vLouxEy{`Xt(t;)hXU&({Cc?WE z;!jSA_-*_5bn5VGf4`#ib1_Dwd~wC}sqqY?3;6ljX4g`gK;7E)$nO%wMdGXl>+R7` z>pr(_tDETt+gN+=d6$VS1YS!j@zL4Jga!c5XG&<}$hyNP>Z07e*=)pbo5jnuFYKyf zYDY$I{`KgeEaA6?2XCxiA;?j)94&WqxIjcP$Yz(!=em?nSh-9S;E$5QX6=}61AL-y z$R8LlgcK`hw%M#*lPE9=;NwJZ%@Rty*ie1VwWelAgckz{mh1E~tR+tPz^AZtX07CR z4`Do?YF?VCUE;QF&}zgyth&#oV?+P^a^bXVBwv10@+Q0IC7kZD6S^75YuU?rZSr#} z;m+?TKr?(??Nj-ddRI>LcYyWZ1RnF>Y2tr#`}6;iFo@B`3Lk!&? ze&?L)oO8Y3^?vuCXYY0G{bxUG-FvP3ej?tfDG(FT5C8xGV#T+z8UO&6G5~;W``|7B z2=9 zyxDlD^g5p8qx%Dm`<9x4S3j0jC{U-Rf$DhuJS`3UY@-^#3|)_e7JZm#zS zP{_R?i;#W(?d{#7FJJfbQ*H$Xq)h`vplreh4EulHAcCGDtSTWZ4@}Oze(*^QlhsvB z<$|Ro?kVg_-;$Ho)@*lp#rj%w0iAvif8jv>O*qX-~962CaR=6F(FW) z$%>eMKabq#MX;6W87>%!W=7`=wN19)VWsib*ZU4T!xRaQEA~MRMNRXl?+G9si}McH zZdbQzDTqbkFG#_R^mlNm=qP_*HbWU}H0#CY_5%J=IiPnzhFraEWN-z?P^~%!uF%|%pmGQ1w>R-SjHyUyxYfHg=1H?aAGmz8v_|a9Sdqb>lgNW z+CrXEpMP_AikqKDE#tIglOkW4pXTzYQd>%_m*uUq!(lAjqVf7Q49#P8lTP8}pWUPH z2bGhPfDQNTcIM`icrN#2ty)S0Lu1xiig4bDe+Ke_h2bv(-WsRXTngLfqo$fT%pxPo z?0_Pqv`lR&Z-eNJzX?4o6lPpFLrn0srCK*~7qrXucJ0@#w2_Ha^Tm({piM7Q?2Zc5 zdRs#A^WNtN4e|_2_hIT#X5)^p1?R`#Aw~Q{pEs1GDntaPw51H=)W< zm7OPMwADVDI1M?mo^v<;qFo1q@rH}b$tYCsaLo$=Ch0$rd!Aj6&%JMGZ46*z=2WGA zw$iZPKgrd0(rGX{zYYS#k$~4{t)X{ZYVCYOt~ax9S}e+tyy>UBGFj1!+@z; zz<)h&ykc)v0HpDJ>Ouo8o*h#7N-=|lE4jPScD$yn_Hpo8&tG^3$^S)>Rgqq`d%9Y2 z5jDRdxVbVT@1k6kYeWz{F_l9+u3KI+usvCB)O;hZ^?%pEUnkKnWmztY4mxj*3ROO` zcsCx^k{bF$;@${ous-Qy9HJ4>OV(y6uN&M_dd3W-e;YvFoN&y^bJ`ftNr|abSB@F` zksz&P$KzI#XrT1z!Jw| zKpRh9Wkg{?^ZMI>9%lHzPa;RiKXU~CPyQ_hR9K?kw#v-*QH^3(( zZJuAjla}Lb(US*VS+~rdn40}X&6UD#(JI2F?&ZAm%I|HAgJ8Db7# zez$TK3-N=Dk{{{nnGUca$8v6ry4=HUaNj)m6GH^MYCL;rVly@$D0PBDO*ACED zwlbq_w#@qN50?XpnVdTtvVhbgs32+}uDCuC#6B_CWYZk@&pavnm2g^k5%?y%mfiYV zYfx;xe@>^t`zJz<1L&6Ee!i^qpZ^5DD6kYEaerj3pSP$!$d@XJpU`j@a~c^}vD%;w zKJXMySZVwII`Hm_<0hL5Lgfy|47;w2ar@7^2^-XE!=miMi@wvPWSwKR*&m3i1v9qAYp*rYgm= zac`BIOp#50kU~G_dYX$Y#qMLNs$E^;_T%Wn2JG1#qBE4ieJ4ggLwj%*CJJg(QZ+LEbw;mvRVPE`HLL6*4Q-AuAc05jAy|NOD>`x;gmmX`b@EAPR{6ekotGZ8TrCy!M$>x!V zqwX%hcz=MET)ggR%XqQ>xBl@c-R;pu)NE5UJx?3!&4=4(NKM4Y>6LL?OWSbg!@>02 zOMY6p=nOGorHd6y&I<+o+ooSY3!q3b$Z>%i2#ZAFf6DDYeegd!01IDuJp0`P7N_xd zEy7JGFuwL&fh9-GqLB3GEf238C@;T#9Oq3#qV8HWD#AA3(d)8b9h8^7a?aK2IWNiz z#4#fM)Cf0g8EysIn4{URozZ3IdVYtjH!`w+!9He>4McGG%xRldM-_27>(=61 zPpjB1uWa4{oCVLn!@3O@hg~oUaqh070>8U@$nz$(Ef;B2`nWBZNz!NECVc&oH1!)M zRY)iS;2E5}Q2bM_CMVl{_kO!6PYN+ruO8Qd2ARpkBfnF8<@`vFONFsIPNz>^p>>J# z%k-5h1r^M`BNMMr;dung>ycndrbuPCJuG3W1|y^$!+o-TLj&$K<Rax^p_V$t0aPp9?RKqk|()v z@c}}mBAN?IcIN%?6WBA34GV_pZe2*_ZR1-3HX12^Do7PCecl}0H4q{PxBDAZuEnl_ zcTPk75mXzRG8peJu+*3;&V_c@7Wt)8$A%hqZW9$G$>cm-S6{6nl38e-NhE&zj_qU_ zZp|srZmc{;UZ$M6=D!6B-#1CZhpgLj)4N$B3L4%rDRI zM)tlP{LcjX+fUv;MT94ES#?QV%qZS%mg#Sd5F+}z=X8M#VpHUtrw?42)&(UC&dp38 zY0aOjG|IjTGO^Lt+2*9Y;u8+@G{ko`fCy`*!R)8MJk(oX{QRzXiC};#5EeH? zJkg)U)H0@3`e)Bq3=Guhexnn&m%H>C1wJ~S(2J#=+&5gbE8&3B8L>tDXd_OmAky${ zZTg*DYDyIIdnws5ns=i*0;xcL;V6&}e8(UAq*k-68}k}D+9Ix*R*`D-l$y)-x(VpR ziPe_yrfaFoRT3BPhn=4?ahfIlxE7CT9hsKTd-M{F{8OMk(38NoN z@7(}Oe8>6z)D$l1tPS>BQDU|I5H0J5zH>4*2^@tIhZ>eoZa2nmANw{I!q2@4ctpx` zKN4tb;}~ouw`DdqZLMm$gdFINAytD1`a~1WsEhRORoy^nZPpLwg0OREz|XZg62}a( zqNR)Gxa((=?2P&~-w3h*(9(Q$bcl{Qzh`+Z=G!seC18leeLur`97O~JjhY>fodNc7~PI?NB(6npp!f}CyvC~W2iWjgVW=9 zDSNGbK>DlxEESdcx&6i$Hhe2wVr9h?i@qP!qq~5Pn2TNz-w{K7bj+I(K#loHhm8KW z+&3QLDP0lv$GwBip{NysWpW(?L*o)P(3||GA$9d{{*6eA7wQJ5;WsH`L>?(Wt zbrE~c#`|E&6X|odIp*zj15sP+s9FVwRLMn9ZiW`#JngTL>$;I|fo0%0(s%M!XXivl zs0S4>;+xiN+MTRiy?phr%ifS=X$qaQ(qLaX>UJ-1f?l+FzHrQB<3*CNIwM`G11hEk zXA@g}7Aw`|)+Z~VFK^ccmwkt0sH3K8rDhY{5QU=WX2b7sT_*Ab&{v# zJ8uA)kf!-N{Zqi&7))1gS zFx{=-ky?6-CfLs}i$uxVHK0kZS+I%hT#7TCW^=O=!xcNCj^qR?t{AP4bZ; z4o`;^@kObN9AuDPuk`7Ze#fgdqG?Boy7z|S(ck!1j;#Qv;?p-Wi@7LD{VM zv#i8Lu4z-q@e&)CR2b634l0ymi!-JyvcuKV9m`8A>xUgBg)n=dHs-^x|H^bDZ;0Zs z5MSWCZ}zlK41jM zqA1N#7hwbL!@3;Du+;;iABiiJ=pOYx=d{iEc}iVKW*Z+4kht1in|6*A%>>M7U?AoG zFlBojoKfL_BQz|O7M`u73zAa5geLOwwga7ZX`zyyM?2JQBbDE8wml_6fnKG|WzP9u zZA2OHmAeUij~h3LDg~|pS5`#bkCosm%27WU@5bLEnU zv7zym?PqY!$vurv7BujS&e7;`$%y>7Y<$#Z1CJoFlm>rXac5OiHr{$cqLf@*f$#>s<^NkcY z;xM5qPOt1-~>*c_Vhk!~(3Hjy|e2rEk!gE)$SWP~@9DpV3J^8JPQ zPDt)ZIFZ|^=?0*6h(aWm?`xT`{d-5kaW3gA>A5b$CA&#L&XuQ zgda%o7bckETN7PA3=)wHIp4yIm?iQpTm>oW39yYJANZ)5Th3#HyihBTTfi1 z>HC_1$Eb_K(9LQUZqGg5j?V?%%q1}a0V)a>sy6#-6cSqVlFR|d37;k(k8MXZ_+Y&T zI66w2C1*EOACt-CoJSqn^*ZaNdCtr;&q9wjv&K$!N#DIK?Z_5lyf8V;`j(B0^{$m2 zCBbH=TbA_U!}X=}tdZ);VCs+)Hh{T0$$x25^!M+w6Yd-2`$bHn$>necJ!8T*12yfTEwl? ze~pmxN*x#5(5Odz0PD=RT#I4weg%9=;3DRab8G05)_reXb22&~8>X{@PE-WjP`S*$ zpaqspUvcj=1XUzqi=5rSYGDj&tD$@JshIenRa;LB^m`9@!w|fPY{4X&)@RpL1|{1L zV!S+*Q)sKXTXdNjK5y;H$mY`yDRH_fFv~P-b$tgch$lLLNq8=v>TcP@(wx+vJG-mL zY*s@d+LnHYCbcwc?NUti6=T$rt{wJIrVV`_Xe|m+3seCYZib+xllegwdJu*#p;a1X zvz+AnOU@1{E}6`M>7B<@`HzF=yTy%@5Fjc43ZR6H&x7119%=zzFW=owAV4{-rv^w! zlSXcEF*VoWc1izy9M$Gft@cb_Pyahzk?rp5?UPmm!NVY!;9Z+69sL>I*FH2>=IA0H zYSiygkig9vauC0zvjXKn@N`ZEDQcaD=$~`gC5Z3Cl=8RkKebQN?PT=poO=})py{w) zZq~#_GE9!s8M#5{o&-J;QctLgJctP ztxZ+FtBB07VT5#3P*~%3G#WwiD?H0_-|XdWS##kD+cDAGz~jU^wa({LrdPpB^udf2 z$2hkX8Fa4{yMi(oQzGUv()U{2f9i{2T@O8dP)y)F13|7f9goehiR?+79jaWYJ-w^x>S>F|cfJw>w%547h)PPdY;f2%Q?;B|ZcTh! z2*5j`w!We|BGA`#BjFg8;PFF}udrbi(o|OjxBlN~zGMCmk3tll$9kQp0LiaA!H1KEAmO zyu90(lQ*62$v8-NqcF={IzM&`smr7eT4}FYVT%h?>CFS;td~r(MEjYQsB;TyA9w-hcb;b0u;|1- z)3ldo;4TV!W5##Tm*NS&uZh?Fs)m!hRKcwj@9C(^hUT1#@mim`>1_Gu|D zB*rS6bhz4VXAu3wnu@ZlAY+i0UGycONC7T{h`b(a_E4eqmSvXtPQZLDDSn6+{lNGz zJZNZQ@pSx3$|sfsmOAxJ0j;(Th%Dfe%Wzm6_aEG9Z6E)ji|m?3F%{LfLsMkz*^g5iLkOh52-tS}P!@H_srrd^JY$5f5PNNZO1w7VJqGKVl^s*eFJWJHnbm@qQhP+T+b7c31;fv5U~Xmo z(4^`3+j!g)tIGnl84aqW=Ul78!oHtp_E-;>#3#{lgWHZT9XF?lew+G9RTf^Ho-tR$ z&QyOjcV1&c)jTH;MOWcK4ickP=K8`ZRJv+9sd*=^(nEQF1#e?&WE;)eS)&#HOwB4}-~3SHL! z=07UwZWQkpL>mkC2FNvdAwT6!%-RF(XC(TDH@;j4=31o)NiMkpw=-a#)=jo7&Wlbv zYQY6O+tVq#dhPTE*_VolgU^N8SQ_nJKsQN<(BX8kC3c+7%dX030-M*$Oc#UPF|!oN zN07U4s+OY!t1|m3B}5x&)zs?-^WvVM$ib>k^qo6*jcxvQ950O6buk#?05tUR*6 z-#;NIZoX;I5134l2?yTx96TX&Q*#AF;@tWBl})qu&?_Ckn&_U^L zM4b(5krrUbk^9(`mnonH9VAYMkY^9(Hx$cyddfv|p@Z;eag;L{qUp-=+P$pQUI(0x zNWy*vZzKUbzAM9$vx3e)LKGbamnYXbN;aKp;oLQ%@G2#Xq$5{4f$N1i7R-$t4(Eq@ zyy73^@1$PSy))(lNGH0hbAdg?s-9)n8pGk)8@dZ7OP?H%`~N1x{{(<1+)u`iJ1>BD$~U zSAH0L=((ppY34I#DLs1+{Rz3Ls#mI(zE~wV-YUp26?AcGKAOjq6#m2K?SFW9chqK$ zc3FX@jlkln<0735%jzpWnK*`5w|Xh$nFTSai{n*h98*H}x4T~@zsqqn5<7{L$}ncM zF|2up%9W#a?Uo)S-03|4fo6)<69zTR6sBJ0l6l34}k;F+YDROuV6k&xF{xbS^YNJ}{gm z8Y?oboGTJ90?Rm9`cP&;n)&)Djwf7y4d-)#PbG%X_oV21UL>HvPER*O4OSZfr>I*>Ig+`AZ;FioHi+IL5fJ-@Md0c`(UKlqE&7-(W*&Ta<@aJ99f&B-)KC3 zY-M-D7qn7@y{+j^?kzJuh z5p&3P&3HLWi`i(2gR6vBG#61niS~LD(g1gNT18a;k=KB&EgzA7q6PdytBdJoMhy7alvV#k7+~AjAjU=YbKw}0qg1I*>qG)$|vJqH=58y zwRow$T2Fl+yXO>yut)Iqphe!z)#WejYqY32Xh~*%!ct?;>@r55wDc?|6Z+3$|2+OI zs&D&bNO9%qV~cwXqVv;loRD5-l}?Lv%9c}R zV6$}Y>;nNu2R5$Tdqp2$Ap4QDd+bC?#dTGU7AF?q9M+0ek8Ik?No^bl>7lBDgy!H2 zmfGXQgcKRY7^7pwda{;x#vyE1;dHm2j!a z73b(&P_akhl;Y?XT$FC5`D`f*+G{#gC*Z7I53${OZ~?iG?VhaK&~!#KmCV6%lbMZI z(R}yisP}59mI>5Np9D({;(*@2BuFpSv|AoO4{=cHX`i-@4P@Lfq<^rOXZXwNO-sWA z@o4e4jzw7hlLU2@lW%7Ut#ufJ!si_koUkAUC%%}vXSoxfib|5vPgk?agPXHFzcW%0 ztk}oVvGHpOFZMDsR#vx3{tB%$3jCFmzNq&hr@1if$mIFqwk#GySKv8~7ieEKehe#i zampXDGsu@W_$9)n`;z3t<cBoC=Pc|lLS~;BbirnjLZ)EgdM|x+7VE>U#vWp1mL* zfchxy?`bcNM&%M879iG>AFEgXBTGkR`{n{|WJ}ZM?nECM^SmOWD%&*H{QkQcraoUk=3-UcqEFS|UiTrB5lU#BYgo~-2jJ#qz0nVW52O;pcCP^d+57D+~ zsOns`bQ^uerJqn8P+mJ!UU2CXavIrxEQS^3k=ZsPipWV+z>Z(wSLpa;ol_?4ZS`#E zfRl}T)Py?g3U>_M;%U|~0--_UEak@k;^uh;%1i7vTEt&>JLeZbTNOD!WC{53@=h@m z&9=B|+El#`nom37FWpXn7OB+~ciu(_4gZO_i~vL1r{ARQ6W=poTS@$vD)(Q9U|{qJ zV&U|4oo|FjJP_U(gy&hq%TsQ}Ma!MU-2V1U($j*)f<4e-RxaZ7^R4O+;RdS?+hVdT z28mtNieA}FK=Au~Lm))mb>}<<*nn%*v6U5J(XQ~&X!lz7DSSGr(-k(mc(uirg_UID zvk7Ag&VZ8tYOkk?wAf>x8F6cnr}iIw#KGT*`8q;8mFtZ|xAQdyB=wWmLT}3iA1~`Bfw12-PMHA+6s)Kqm2!z#ciD?kp`CAg`qpcH z+Rdroi)zMy_sray_jvClHBjdGcdxTNe#qleEbYfp7X1x?hALp~`Uk5Yh3-5J6?Eys zkFwnEKM8GEvo&{@9V#ZMP`2`~_R}RC9VCnN!HV$h=03KfW@2D|uwQ_u|AFi4k`V3F z54B;Zf!YW~LPWSza`NUPaF7cq?TBxWu(%*OD$k{v*I6kd!p=hpSXL|O5^7@AD~PVH z<^q9CSaCHiaws6HdlVMKhP=cWaji+x{;?307NG#Qk!e;!rn4>LF4^U?EQqFY%GGI& zJwt@UMFF)QQAA-EdN38VGu;%aOxT<0Pbi#uwWZMz6{X80Oh)Jz{U8xP`wU^Mx^G-W<|O%=~$ZC(81Cl~;i1HeX{5W6DMudgeond1@-i4Tno(gfJiRu`81W5Qn8PDB$u zV+g5JC16F78I8{VyIIMUAD1#Q+AZLD7ZGg{itlzrp>~~I0JO)eqU!?q^~EvzgAJ*S zd!hX(i`e1#mJ6$;uZJhpnx_i&`PJh++Jj3$xNTW?gS})8aKJ+#8-hht460aIKBSLq znm<3OO1{sb7Hk&7dU?Bq=Umo)wWx5pEtO8-EKyt30Jv;0&#t)`zvsQ<-Y8~5?Twi& zw8`)TahLKBuW<`3GwcJ;3LE8SmH7f~a?>Z%{q%FgqVMZ%BL@dB5hfvbwr}`##-3No z&1a)ED$iKc*~5YN!1!~9BysZp<;)pZ>whT?&-$Qc1;&s5z7Y9elqL6H75m)eyxi2M z?0V=hXx-8B)_hv)S^Eqbf!U9qkCKAZXX%MaMAMYS*&;EwD^{55coKGcywUP)-Y*t7#A^Q{ju+MTui$83H|s;HfM$1^fJS>)lb`O z2!q4QB+}+qyak*A#>vZjozw6=Uo$^KR;YZQK-*h;UP&cNH(+njj{KfoK)w&U!YoNw z=%zrZk(n_=G%bd_TkjImFrGcazD=fQk(3N0Y%xbEJ%%1#;RhG|QS`1kY)+aSbYD&( zj71=R!40*%M7X#$1ARVu!TtvEGT=(KL#>AGp}T3|*t%CkLM$5bQS zP)NZ?=c6K}##4_hQRI5=wG5WDNakTUN;De?+%zEJd5H+gET3b3ksbl39m@R3iMVL3 zn1VW?f_bb@sZa5w`4rNu=UPHoH4;$t77ts>`y7L}9iIiISad||c75ODd*}IUZEOLT zFj~wefh!y>Vm{w9TJf8xs`^A1ZGf)^4-j%M&%5(+Sn<8hXdV)sLbgBB!;ZMJSjJOc zEN*GfeMTLBmbnVjtUkRN({o$j_RvlBI6|@`x|M_hM%mlQ`D%YhOKRn(ER(TB6)HvK zvu26$HNN5 z8gJ(H8JxEYXDo?t%U^Zr( z+urjdaCqe*Z0yR_6e)U`d(kkH^OE0KPeFQ>PVP}Kcr8o#|BLDXjzb#me^}Whw$x>G;uuHBX<+%Hp}}r9XB8Y)^di zOnC_c7oXr!zl&_m-_d&=q2HiN;?B|a4%}MyIFu?|R~uHkuNNtNi$yiz`xPUv1zFE_RXc+NpaBUtynZMwEjUWA%%$ zpNvt>3orUF^S|k7AM@4^tDJ9!PA2coOaY_kVrHShfN z->Np1?!E#^7{NAMYRKX}k+C<>=`uWn1@^H&Sz-dl7+%|##Uxdq5*B&5N^XkU@kVWm zy=)A2s&&&mv9Ub%B2@ oGRQ3rKLiIfRR910 diff --git a/tests/ref/math/style.png b/tests/ref/math/style.png index 04a2820884a6e654c93d906958659c03242dff1a..78cfe9b1d02c662fb7a752a10af29e2db2824226 100644 GIT binary patch literal 23028 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 literal 23053 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 s*;>bbK_~kEFHgQM*8ea3)hK