summaryrefslogtreecommitdiff
path: root/src/cairo-scaled-font-subsets.c
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2016-07-17 21:19:37 +0930
committerAdrian Johnson <ajohnson@redneon.com>2016-07-17 21:19:37 +0930
commit16a8c13b6acad62c8844bf641c1296a9f4aac09d (patch)
tree9ab277ad90a3603a07b722c77d646ffee5d6e40e /src/cairo-scaled-font-subsets.c
parent190678f6444ad879847d603c3c9eaf8e9ab6887a (diff)
downloadcairo-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.c6
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) {