From 58aa0c8ee83f7bbd232401583106387517d216a9 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 9 Apr 2009 13:31:18 -0400 Subject: [PATCH] Detect TrueType Collections by checking the font data header Instead of checking for "face->num_faces >1". (GNOME bug #577952) --- src/ftglue.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ftglue.c b/src/ftglue.c index 9caad7c..b337751 100644 --- a/src/ftglue.c +++ b/src/ftglue.c @@ -245,10 +245,17 @@ ftglue_face_goto_table( FT_Face face, /* parse the directory table directly, without using * FreeType's built-in data structures */ - FT_ULong offset = 0; + FT_ULong offset = 0, sig; FT_UInt count, nn; - if ( face->num_faces > 1 ) + if ( FILE_Seek( 0 ) || ACCESS_Frame( 4 ) ) + goto Exit; + + sig = GET_Tag4(); + + FORGET_Frame(); + + if ( sig == FT_MAKE_TAG( 't', 't', 'c', 'f' ) ) { /* deal with TrueType collections */