From 3063f0f44c61869bc6bb07d46bf881f1558ac015 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 18 Jun 2009 16:33:12 +0100 Subject: [PATCH] [scaled-font-subset] Check for matching font-face implementors Catch toy and user fonts which may have different font-faces for their implementation than the original ones they were created with. --- src/cairo-scaled-font-subsets.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cairo-scaled-font-subsets.c b/src/cairo-scaled-font-subsets.c index 02b32aa7f..64c9d9aad 100644 --- a/src/cairo-scaled-font-subsets.c +++ b/src/cairo-scaled-font-subsets.c @@ -230,11 +230,13 @@ _cairo_sub_fonts_equal (const void *key_a, const void *key_b) { const cairo_sub_font_t *sub_font_a = key_a; const cairo_sub_font_t *sub_font_b = key_b; + cairo_scaled_font_t *a = sub_font_a->scaled_font; + cairo_scaled_font_t *b = sub_font_b->scaled_font; if (sub_font_a->is_scaled) - return sub_font_a->scaled_font == sub_font_b->scaled_font; + return a == b; else - return sub_font_a->scaled_font->font_face == sub_font_b->scaled_font->font_face; + return a->font_face == b->font_face || a->original_font_face == b->original_font_face; } static void