diff options
Diffstat (limited to 'crates/typst-library/src/math')
| -rw-r--r-- | crates/typst-library/src/math/accent.rs | 2 | ||||
| -rw-r--r-- | crates/typst-library/src/math/attach.rs | 6 | ||||
| -rw-r--r-- | crates/typst-library/src/math/cancel.rs | 2 | ||||
| -rw-r--r-- | crates/typst-library/src/math/frac.rs | 2 | ||||
| -rw-r--r-- | crates/typst-library/src/math/fragment.rs | 4 | ||||
| -rw-r--r-- | crates/typst-library/src/math/matrix.rs | 4 | ||||
| -rw-r--r-- | crates/typst-library/src/math/root.rs | 2 | ||||
| -rw-r--r-- | crates/typst-library/src/math/row.rs | 4 | ||||
| -rw-r--r-- | crates/typst-library/src/math/stretch.rs | 2 | ||||
| -rw-r--r-- | crates/typst-library/src/math/underover.rs | 4 |
10 files changed, 16 insertions, 16 deletions
diff --git a/crates/typst-library/src/math/accent.rs b/crates/typst-library/src/math/accent.rs index c92f9585..a542111b 100644 --- a/crates/typst-library/src/math/accent.rs +++ b/crates/typst-library/src/math/accent.rs @@ -88,7 +88,7 @@ impl LayoutMath for AccentElem { let base_ascent = base.ascent(); let baseline = base_pos.y + base.ascent(); - let mut frame = Frame::new(size); + let mut frame = Frame::soft(size); frame.set_baseline(baseline); frame.push_frame(accent_pos, accent); frame.push_frame(base_pos, base.into_frame()); diff --git a/crates/typst-library/src/math/attach.rs b/crates/typst-library/src/math/attach.rs index c33b58e4..5d1e477e 100644 --- a/crates/typst-library/src/math/attach.rs +++ b/crates/typst-library/src/math/attach.rs @@ -106,7 +106,7 @@ impl LayoutMath for PrimesElem { // Custom amount of primes let prime = ctx.layout_fragment(&TextElem::packed('′'))?.into_frame(); let width = prime.width() * (count + 1) as f64 / 2.0; - let mut frame = Frame::new(Size::new(width, prime.height())); + let mut frame = Frame::soft(Size::new(width, prime.height())); frame.set_baseline(prime.ascent()); for i in 0..count { @@ -260,7 +260,7 @@ fn layout_attachments( return Ok(()); } - let mut frame = Frame::new(Size::new( + let mut frame = Frame::soft(Size::new( pre_width_max + base_width + post_max_width + scaled!(ctx, space_after_script), ascent + descent, )); @@ -331,7 +331,7 @@ fn attach_top_and_bottom( let base_pos = Point::new((width - base.width()) / 2.0, base_offset); let delta = base.italics_correction() / 2.0; - let mut frame = Frame::new(Size::new(width, height)); + let mut frame = Frame::soft(Size::new(width, height)); frame.set_baseline(base_pos.y + base.ascent()); frame.push_frame(base_pos, base.into_frame()); diff --git a/crates/typst-library/src/math/cancel.rs b/crates/typst-library/src/math/cancel.rs index d27031b9..4b87117c 100644 --- a/crates/typst-library/src/math/cancel.rs +++ b/crates/typst-library/src/math/cancel.rs @@ -171,7 +171,7 @@ fn draw_cancel_line( let start = Axes::new(-mid.x, mid.y).zip_map(scales, |l, s| l * s); let delta = Axes::new(width, -height).zip_map(scales, |l, s| l * s); - let mut frame = Frame::new(body_size); + let mut frame = Frame::soft(body_size); frame.push( start.to_point(), FrameItem::Shape(Geometry::Line(delta.to_point()).stroked(stroke), span), diff --git a/crates/typst-library/src/math/frac.rs b/crates/typst-library/src/math/frac.rs index 6a296203..93819184 100644 --- a/crates/typst-library/src/math/frac.rs +++ b/crates/typst-library/src/math/frac.rs @@ -110,7 +110,7 @@ fn layout( let denom_pos = Point::new((width - denom.width()) / 2.0, height - denom.height()); let baseline = line_pos.y + axis; - let mut frame = Frame::new(size); + let mut frame = Frame::soft(size); frame.set_baseline(baseline); frame.push_frame(num_pos, num); frame.push_frame(denom_pos, denom); diff --git a/crates/typst-library/src/math/fragment.rs b/crates/typst-library/src/math/fragment.rs index 5ac1f2dd..71d8d237 100644 --- a/crates/typst-library/src/math/fragment.rs +++ b/crates/typst-library/src/math/fragment.rs @@ -148,7 +148,7 @@ impl MathFragment { Self::Glyph(glyph) => glyph.into_frame(), Self::Variant(variant) => variant.frame, Self::Frame(fragment) => fragment.frame, - _ => Frame::new(self.size()), + _ => Frame::soft(self.size()), } } @@ -309,7 +309,7 @@ impl GlyphFragment { }], }; let size = Size::new(self.width, self.ascent + self.descent); - let mut frame = Frame::new(size); + let mut frame = Frame::soft(size); frame.set_baseline(self.ascent); frame.push(Point::with_y(self.ascent + self.shift), FrameItem::Text(item)); frame.meta_iter(self.meta); diff --git a/crates/typst-library/src/math/matrix.rs b/crates/typst-library/src/math/matrix.rs index 68f7f438..1dee5434 100644 --- a/crates/typst-library/src/math/matrix.rs +++ b/crates/typst-library/src/math/matrix.rs @@ -396,7 +396,7 @@ fn layout_mat_body( let ncols = rows.first().map_or(0, |row| row.len()); let nrows = rows.len(); if ncols == 0 || nrows == 0 { - return Ok(Frame::new(Size::zero())); + return Ok(Frame::soft(Size::zero())); } // Before the full matrix body can be laid out, the @@ -431,7 +431,7 @@ fn layout_mat_body( heights.iter().map(|&(a, b)| a + b).sum::<Abs>() + gap.y * (nrows - 1) as f64; // Width starts at zero because it can't be calculated until later - let mut frame = Frame::new(Size::new(Abs::zero(), total_height)); + let mut frame = Frame::soft(Size::new(Abs::zero(), total_height)); let mut x = Abs::zero(); diff --git a/crates/typst-library/src/math/root.rs b/crates/typst-library/src/math/root.rs index 03d0a212..49ceb75f 100644 --- a/crates/typst-library/src/math/root.rs +++ b/crates/typst-library/src/math/root.rs @@ -109,7 +109,7 @@ fn layout( let line_pos = Point::new(radicand_x, radicand_y - gap - (thickness / 2.0)); let radicand_pos = Point::new(radicand_x, radicand_y); - let mut frame = Frame::new(size); + let mut frame = Frame::soft(size); frame.set_baseline(ascent); if let Some(index) = index { diff --git a/crates/typst-library/src/math/row.rs b/crates/typst-library/src/math/row.rs index cf3a8af2..70813598 100644 --- a/crates/typst-library/src/math/row.rs +++ b/crates/typst-library/src/math/row.rs @@ -156,7 +156,7 @@ impl MathRow { } let AlignmentResult { points, width } = alignments(&rows); - let mut frame = Frame::new(Size::zero()); + let mut frame = Frame::soft(Size::zero()); for (i, row) in rows.into_iter().enumerate() { let sub = row.into_line_frame(&points, align); @@ -179,7 +179,7 @@ impl MathRow { fn into_line_frame(self, points: &[Abs], align: FixedAlign) -> Frame { let ascent = self.ascent(); - let mut frame = Frame::new(Size::new(Abs::zero(), ascent + self.descent())); + let mut frame = Frame::soft(Size::new(Abs::zero(), ascent + self.descent())); frame.set_baseline(ascent); let mut next_x = { diff --git a/crates/typst-library/src/math/stretch.rs b/crates/typst-library/src/math/stretch.rs index 910f7a81..e9bf6890 100644 --- a/crates/typst-library/src/math/stretch.rs +++ b/crates/typst-library/src/math/stretch.rs @@ -161,7 +161,7 @@ fn assemble( baseline = full / 2.0 + axis; } - let mut frame = Frame::new(size); + let mut frame = Frame::soft(size); let mut offset = Abs::zero(); frame.set_baseline(baseline); frame.meta_iter(base.meta); diff --git a/crates/typst-library/src/math/underover.rs b/crates/typst-library/src/math/underover.rs index 3e8dba1a..5d010c28 100644 --- a/crates/typst-library/src/math/underover.rs +++ b/crates/typst-library/src/math/underover.rs @@ -89,7 +89,7 @@ fn layout_underoverline( let size = Size::new(width, height); let content_class = content.class().unwrap_or(MathClass::Normal); - let mut frame = Frame::new(size); + let mut frame = Frame::soft(size); frame.set_baseline(baseline); frame.push_frame(content_pos, content.into_frame()); frame.push( @@ -295,7 +295,7 @@ pub(super) fn stack( .collect(); let mut y = Abs::zero(); - let mut frame = Frame::new(Size::new( + let mut frame = Frame::soft(Size::new( width, rows.iter().map(|row| row.height()).sum::<Abs>() + rows.len().saturating_sub(1) as f64 * gap, |
