diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2016-07-17 21:19:37 +0930 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2016-07-17 21:19:37 +0930 |
commit | 16a8c13b6acad62c8844bf641c1296a9f4aac09d (patch) | |
tree | 9ab277ad90a3603a07b722c77d646ffee5d6e40e /src/cairo-scaled-font-subsets.c | |
parent | 190678f6444ad879847d603c3c9eaf8e9ab6887a (diff) | |
download | cairo-16a8c13b6acad62c8844bf641c1296a9f4aac09d.tar.gz |
pdf: Don't fail subsetting if unable to convert utf8 to utf16
If the unicode came from the font, don't fail if utf8_to_utf16 fails.
Diffstat (limited to 'src/cairo-scaled-font-subsets.c')
-rw-r--r-- | src/cairo-scaled-font-subsets.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cairo-scaled-font-subsets.c b/src/cairo-scaled-font-subsets.c index 74bfb9ea5..bf05fbd55 100644 --- a/src/cairo-scaled-font-subsets.c +++ b/src/cairo-scaled-font-subsets.c @@ -1281,8 +1281,12 @@ _cairo_scaled_font_subset_create_glyph_names (cairo_scaled_font_subset_t *subset utf16_len = 0; if (utf8 && *utf8) { status = _cairo_utf8_to_utf16 (utf8, -1, &utf16, &utf16_len); - if (unlikely (status)) + if (status == CAIRO_STATUS_INVALID_STRING) { + utf16 = NULL; + utf16_len = 0; + } else if (unlikely (status)) { goto CLEANUP_HASH; + } } if (utf16_len == 1) { |