summaryrefslogtreecommitdiff
path: root/library/src/math/stretch.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/src/math/stretch.rs')
-rw-r--r--library/src/math/stretch.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/library/src/math/stretch.rs b/library/src/math/stretch.rs
index bb454022..bbb0c9c4 100644
--- a/library/src/math/stretch.rs
+++ b/library/src/math/stretch.rs
@@ -33,7 +33,7 @@ impl GlyphFragment {
/// The resulting frame may not have the exact desired width.
fn stretch_glyph(
ctx: &MathContext,
- base: GlyphFragment,
+ mut base: GlyphFragment,
target: Abs,
short_fall: Abs,
horizontal: bool,
@@ -73,7 +73,8 @@ fn stretch_glyph(
// This is either good or the best we've got.
if short_target <= best_advance || construction.assembly.is_none() {
- return GlyphFragment::with_id(ctx, base.c, best_id, base.span).into_variant();
+ base.set_id(ctx, best_id);
+ return base.into_variant();
}
// Assemble from parts.
@@ -142,7 +143,8 @@ fn assemble(
advance += ratio * (max_overlap - min_overlap);
}
- let fragment = GlyphFragment::with_id(ctx, base.c, part.glyph_id, base.span);
+ let mut fragment = base.clone();
+ fragment.set_id(ctx, part.glyph_id);
selected.push((fragment, advance));
}