diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-04-02 21:55:25 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-04-03 13:55:58 +0200 |
| commit | 23d108c8e099798dc4d35ce9cbcd3e37fb50f3b2 (patch) | |
| tree | aa068b11b9ac0a4795fb6e86bb8283b1d4718e95 /src/library/text/deco.rs | |
| parent | beca01c826ee51c9ee6d5eadd7e5ef10f7fb9f58 (diff) | |
Font fallback
Diffstat (limited to 'src/library/text/deco.rs')
| -rw-r--r-- | src/library/text/deco.rs | 10 |
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(); |
