[cairo-commit] src/cairo-type1-subset.c

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sun Oct 21 03:14:13 UTC 2018


 src/cairo-type1-subset.c |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit 717f0e0a40b8d947dad3fb9f25c3aad1619aae87
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Sun Oct 21 13:36:46 2018 +1030

    type1: fallback if the font matrix is not a uniform scale
    
    https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1790242

diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c
index 5f0745688..754c32395 100644
--- a/src/cairo-type1-subset.c
+++ b/src/cairo-type1-subset.c
@@ -388,6 +388,11 @@ cairo_type1_font_subset_get_bbox (cairo_type1_font_subset_t *font)
     /* Freetype uses 1/yy to get units per EM */
     font->base.units_per_em = 1.0/yy;
 
+    /* If the FontMatrix is not a uniform scale the metrics we extract
+     * from the font won't match what FreeType returns */
+    if (xx != yy || yx != 0.0 || xy != 0.0)
+	return CAIRO_INT_STATUS_UNSUPPORTED;
+
     font->base.x_min = x_min / font->base.units_per_em;
     font->base.y_min = y_min / font->base.units_per_em;
     font->base.x_max = x_max / font->base.units_per_em;


More information about the cairo-commit mailing list