From 72e13fff6537febcd4dd316954b52a2a0d3cf1a0 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 24 Jan 2023 11:05:38 -0700 Subject: [PATCH] [COLRv1] Handle void extents --- src/OT/Color/COLR/COLR.hh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/OT/Color/COLR/COLR.hh b/src/OT/Color/COLR/COLR.hh index 012065e7b..d45dc4f03 100644 --- a/src/OT/Color/COLR/COLR.hh +++ b/src/OT/Color/COLR/COLR.hh @@ -2006,10 +2006,20 @@ struct COLR bool ret = paint_glyph (font, glyph, extents_funcs, &extents_data, 0, HB_COLOR(0,0,0,0)); hb_extents_t e = extents_data.get_extents (); - extents->x_bearing = e.xmin; - extents->y_bearing = e.ymax; - extents->width = e.xmax - e.xmin; - extents->height = e.ymin - e.ymax; + if (e.is_void ()) + { + extents->x_bearing = 0; + extents->y_bearing = 0; + extents->width = 0; + extents->height = 0; + } + else + { + extents->x_bearing = e.xmin; + extents->y_bearing = e.ymax; + extents->width = e.xmax - e.xmin; + extents->height = e.ymin - e.ymax; + } return ret; }