From 30d58bfd0f4b3c0b97740281ae680c3164dd17d0 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sun, 26 Jun 2022 16:47:21 -0600 Subject: [PATCH] [glyf] Don't translate/transform components if has no effect --- src/hb-ot-var-gvar-table.hh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/hb-ot-var-gvar-table.hh b/src/hb-ot-var-gvar-table.hh index af56180c8..d91221b5c 100644 --- a/src/hb-ot-var-gvar-table.hh +++ b/src/hb-ot-var-gvar-table.hh @@ -63,6 +63,9 @@ struct contour_point_vector_t : hb_vector_t void transform (const float (&matrix)[4]) { + if (matrix[0] == 1.f && matrix[1] == 0.f && + matrix[2] == 0.f && matrix[3] == 1.f) + return; for (unsigned int i = 0; i < length; i++) { contour_point_t &p = (*this)[i]; @@ -74,6 +77,8 @@ struct contour_point_vector_t : hb_vector_t void translate (const contour_point_t& delta) { + if (delta.x == 0.f && delta.y == 0.f) + return; for (unsigned int i = 0; i < length; i++) (*this)[i].translate (delta); }