[pango] Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD



commit 2fc08eeb9daeabd9fbac1e8ae409581117601bb5
Author: Behdad Esfahbod <behdad behdad org>
Date:   Thu Apr 9 13:30:26 2009 -0400

    Bug 577952 â?? Error loading {GDEF,GSUB,GPOS} table 0x6EAD
    
    Detect TrueType Collections by checking the font data header instead
    of checking for "face->num_faces >1".
---
 pango/opentype/harfbuzz-stream.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/pango/opentype/harfbuzz-stream.c b/pango/opentype/harfbuzz-stream.c
index a3c3ab5..6d35479 100644
--- a/pango/opentype/harfbuzz-stream.c
+++ b/pango/opentype/harfbuzz-stream.c
@@ -167,7 +167,7 @@ _hb_font_goto_table( HB_Font    font,
 {
   HB_Stream  stream = font->stream;
 
-  HB_UInt  offset = 0;
+  HB_UInt   offset = 0, sig;
   HB_UInt   count, nn;
   HB_Error  error;
 
@@ -190,7 +190,14 @@ _hb_font_goto_table( HB_Font    font,
   * FreeType's built-in data structures
   */
 
-  if ( font->num_faces > 1 )
+  if ( FILE_Seek( 0 ) || ACCESS_Frame( 4 ) )
+    goto Exit;
+
+  sig = GET_Tag4();
+
+  FORGET_Frame();
+
+  if ( sig == HB_MAKE_TAG( 't', 't', 'c', 'f' ) )
   {
     /* deal with TrueType collections */
     LOG(( ">> This is a TrueType Collection\n" ));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]