Simplify into_par_items logic

This commit is contained in:
mkorje 2025-05-30 22:24:57 +10:00
parent cd9600170b
commit fb9db2e695
No known key found for this signature in database

View File

@ -304,8 +304,6 @@ impl MathRun {
frame.translate(Point::with_y(ascent)); frame.translate(Point::with_y(ascent));
}; };
let mut space_is_visible = false;
let is_space = |f: &MathFragment| { let is_space = |f: &MathFragment| {
matches!(f, MathFragment::Space(_) | MathFragment::Absolute(_, _)) matches!(f, MathFragment::Space(_) | MathFragment::Absolute(_, _))
}; };
@ -321,11 +319,6 @@ impl MathRun {
let mut iter = self.0.into_iter().peekable(); let mut iter = self.0.into_iter().peekable();
while let Some(fragment) = iter.next() { while let Some(fragment) = iter.next() {
if space_is_visible && is_space(&fragment) {
items.push(InlineItem::Absolute(fragment.width(), true));
continue;
}
let class = fragment.class(); let class = fragment.class();
let y = fragment.ascent(); let y = fragment.ascent();
@ -351,14 +344,13 @@ impl MathRun {
ascent = Abs::zero(); ascent = Abs::zero();
descent = Abs::zero(); descent = Abs::zero();
space_is_visible = true; if iter.peek().map(is_space).is_some() {
if let Some(f_next) = iter.peek() { while let Some(f_next) = iter.next_if(is_space) {
if !is_space(f_next) { items.push(InlineItem::Absolute(f_next.width(), true));
items.push(InlineItem::Absolute(Abs::zero(), true));
} }
} else {
items.push(InlineItem::Absolute(Abs::zero(), true));
} }
} else {
space_is_visible = false;
} }
} }