diff options
Diffstat (limited to 'Build/source/libs/cairo/cairo-src/src/cairo-cff-subset.c')
-rw-r--r-- | Build/source/libs/cairo/cairo-src/src/cairo-cff-subset.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/Build/source/libs/cairo/cairo-src/src/cairo-cff-subset.c b/Build/source/libs/cairo/cairo-src/src/cairo-cff-subset.c index 3ffe6f663f7..775ca61befc 100644 --- a/Build/source/libs/cairo/cairo-src/src/cairo-cff-subset.c +++ b/Build/source/libs/cairo/cairo-src/src/cairo-cff-subset.c @@ -1780,7 +1780,7 @@ cairo_cff_font_subset_charstrings_and_subroutines (cairo_cff_font_t *font) font->subset_subroutines = TRUE; for (i = 0; i < font->scaled_font_subset->num_glyphs; i++) { - if (font->is_cid) { + if (font->is_cid && !font->is_opentype) { cid = font->scaled_font_subset->glyphs[i]; status = cairo_cff_font_get_gid_for_cid (font, cid, &glyph); if (unlikely (status)) @@ -1847,11 +1847,15 @@ cairo_cff_font_subset_fontdict (cairo_cff_font_t *font) font->num_subset_fontdicts = 0; for (i = 0; i < font->scaled_font_subset->num_glyphs; i++) { - cid = font->scaled_font_subset->glyphs[i]; - status = cairo_cff_font_get_gid_for_cid (font, cid, &gid); - if (unlikely (status)) { - free (reverse_map); - return status; + if (font->is_opentype) { + gid = font->scaled_font_subset->glyphs[i]; + } else { + cid = font->scaled_font_subset->glyphs[i]; + status = cairo_cff_font_get_gid_for_cid (font, cid, &gid); + if (unlikely (status)) { + free (reverse_map); + return status; + } } fd = font->fdselect[gid]; |