shithub: freetype+ttf2subf

Download patch

ref: 5a00909a774dbdd65490e78d82d69abb06031692
parent: 0dabaa6ce994307b48b3e1911c3c3306472a9e8c
author: Suzuki, Toshiya (鈴木俊哉) <[email protected]>
date: Wed Jan 21 22:50:37 EST 2009

* Fix a bug in POSIX resource-fork accessor since 2008-10-04

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2009-01-22  suzuki toshiya  <[email protected]>
+
+	Fix Savannah bug #25347.
+
+	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind
+	the stream to the original position passed to this function,
+	when ft_lookup_PS_in_sfnt_stream() failed.
+	(Mac_Read_sfnt_Resource): Rewind the stream to the head of
+	sfnt resource body, when open_face_PS_from_sfnt_stream()
+	failed.
+
 2009-01-19  Michael Lotz  <[email protected]>
 
 	Fix Savannah bug #25355.
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -2,6 +2,10 @@
 
   I. IMPORTANT BUG FIXES
 
+    - The POSIX support  of MacOS resource-fork fonts  (Suitcase fonts
+      and LaserWriter Type1 PostScript fonts) was broken in 2.3.8.  If
+      FreeType2 is built without Carbon framework, these fonts are not
+      handled correctly. The version 2.3.7 didn't have this bug.
 
   II. IMPORTANT CHANGES
 
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -1417,7 +1417,7 @@
                                          &length,
                                          &is_sfnt_cid );
     if ( error )
-      return error;
+      goto Exit;
 
     if ( FT_Stream_Seek( stream, pos + offset ) )
       goto Exit;
@@ -1603,6 +1603,10 @@
                                            0, NULL,
                                            aface );
     if ( !error )
+      goto Exit;
+
+    /* rewind sfnt stream before open_face_PS_from_sfnt_stream() */
+    if ( FT_Stream_Seek( stream, flag_offset + 4 ) )
       goto Exit;
 
     if ( FT_ALLOC( sfnt_data, (FT_Long)rlen ) )