summaryrefslogtreecommitdiff
path: root/src/library/text/deco.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-04-02 21:55:25 +0200
committerLaurenz <laurmaedje@gmail.com>2022-04-03 13:55:58 +0200
commit23d108c8e099798dc4d35ce9cbcd3e37fb50f3b2 (patch)
treeaa068b11b9ac0a4795fb6e86bb8283b1d4718e95 /src/library/text/deco.rs
parentbeca01c826ee51c9ee6d5eadd7e5ef10f7fb9f58 (diff)
Font fallback
Diffstat (limited to 'src/library/text/deco.rs')
-rw-r--r--src/library/text/deco.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/library/text/deco.rs b/src/library/text/deco.rs
index 29c04b2d..b98eb0b2 100644
--- a/src/library/text/deco.rs
+++ b/src/library/text/deco.rs
@@ -94,10 +94,11 @@ pub fn decorate(
width: Length,
) {
let face = fonts.get(text.face_id);
+ let face_metrics = face.metrics();
let metrics = match deco.line {
- STRIKETHROUGH => face.strikethrough,
- OVERLINE => face.overline,
- UNDERLINE | _ => face.underline,
+ STRIKETHROUGH => face_metrics.strikethrough,
+ OVERLINE => face_metrics.overline,
+ UNDERLINE | _ => face_metrics.underline,
};
let evade = deco.evade && deco.line != STRIKETHROUGH;
@@ -146,7 +147,8 @@ pub fn decorate(
for glyph in text.glyphs.iter() {
let dx = glyph.x_offset.resolve(text.size) + x;
- let mut builder = BezPathBuilder::new(face.units_per_em, text.size, dx.to_raw());
+ let mut builder =
+ BezPathBuilder::new(face_metrics.units_per_em, text.size, dx.to_raw());
let bbox = face.ttf().outline_glyph(GlyphId(glyph.id), &mut builder);
let path = builder.finish();