src/fcfreetype.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) New commits: commit 8c44becd452488f79655ff279e36ddf4ebc099ee Author: Akira TAGOH <akira@xxxxxxxxx> Date: Mon Jul 29 09:38:51 2019 +0000 Fix failing the check of prep table in some fonts diff --git a/src/fcfreetype.c b/src/fcfreetype.c index 77c174e..65630c3 100644 --- a/src/fcfreetype.c +++ b/src/fcfreetype.c @@ -2608,6 +2608,20 @@ compareulong (const void *a, const void *b) return *ua - *ub; } +static FcBool +FindTable (FT_Face face, FT_ULong tabletag) +{ + FT_Stream stream = face->stream; + FT_Error error; + + if (!stream) + return FcFalse; + + if (( error = ftglue_face_goto_table( face, tabletag, stream ) )) + return FcFalse; + + return FcTrue; +} static int GetScriptTags(FT_Face face, FT_ULong tabletag, FT_ULong **stags) @@ -2746,14 +2760,7 @@ bail: static FcBool FcFontHasHint (FT_Face face) { - FT_ULong *prep = NULL; - FT_UShort prep_count = 0; - - prep_count = GetScriptTags (face, TTAG_prep, &prep); - - free (prep); - - return prep_count > 0; + return FindTable (face, TTAG_prep); } _______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/fontconfig