From 2fbd65a64fa41e4e5c62252fab3aa60e4aefe9da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Fri, 16 Jun 2023 02:39:54 +0200 Subject: [PATCH] Compute `ascent` and `descent` only once in `shape_skip` --- src/shape.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/shape.rs b/src/shape.rs index 1b4818c..98b0ba3 100644 --- a/src/shape.rs +++ b/src/shape.rs @@ -279,6 +279,9 @@ fn shape_skip( let metrics = font.metrics(&[]); let glyph_metrics = font.glyph_metrics(&[]).scale(1.0); + let ascent = metrics.ascent / f32::from(metrics.units_per_em); + let descent = metrics.descent / f32::from(metrics.units_per_em); + line[start_run..end_run] .chars() .enumerate() @@ -293,8 +296,8 @@ fn shape_skip( y_advance: 0.0, x_offset: 0.0, y_offset: 0.0, - ascent: metrics.ascent / f32::from(metrics.units_per_em), - descent: metrics.descent / f32::from(metrics.units_per_em), + ascent, + descent, font_id, glyph_id, color_opt: attrs.color_opt,