From 55815c3b4f27cb977b4c7dabedcce65d463ff952 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Mon, 20 Nov 2017 19:15:59 +0100 Subject: Workaround freetype synthesizing unicode cmaps. --- source/pdf/pdf-font.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'source') diff --git a/source/pdf/pdf-font.c b/source/pdf/pdf-font.c index f3a48f2d..be69ce1c 100644 --- a/source/pdf/pdf-font.c +++ b/source/pdf/pdf-font.c @@ -598,15 +598,18 @@ select_truetype_cmap(FT_Face face, int symbolic) /* Then look for a Microsoft Unicode cmap */ for (i = 0; i < face->num_charmaps; i++) if (face->charmaps[i]->platform_id == 3 && face->charmaps[i]->encoding_id == 1) - return face->charmaps[i]; + if (FT_Get_CMap_Format(face->charmaps[i]) != -1) + return face->charmaps[i]; /* Finally look for an Apple MacRoman cmap */ for (i = 0; i < face->num_charmaps; i++) if (face->charmaps[i]->platform_id == 1 && face->charmaps[i]->encoding_id == 0) - return face->charmaps[i]; + if (FT_Get_CMap_Format(face->charmaps[i]) != -1) + return face->charmaps[i]; if (face->num_charmaps > 0) - return face->charmaps[0]; + if (FT_Get_CMap_Format(face->charmaps[0]) != -1) + return face->charmaps[0]; return NULL; } -- cgit v1.2.3