shithub: freetype+ttf2subf

Download patch

ref: edeed6b391a6158eb1948efc28a19694272b580e
parent: f9831a6675204183b89439cfcc437dd37d5c869a
author: Werner Lemberg <[email protected]>
date: Thu Jan 15 11:12:36 EST 2004

* src/cff/cffload.c (cff_font_load): Load charstrings_index earlier.
Use number of charstrings as argument to CFF_Load_FD_Select (as
documented in the CFF specs).

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-01-14  Werner Lemberg  <[email protected]>
+
+	* src/cff/cffload.c (cff_font_load): Load charstrings_index earlier.
+	Use number of charstrings as argument to CFF_Load_FD_Select (as
+	documented in the CFF specs).
+
 2004-01-13  Graham Asher  <[email protected]>
 
 	* src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of
--- a/src/cff/cffload.c
+++ b/src/cff/cffload.c
@@ -2160,6 +2160,13 @@
     if ( error )
       goto Exit;
 
+    if ( FT_STREAM_SEEK( base_offset + dict->charstrings_offset ) )
+      goto Exit;
+
+    error = cff_new_index( &font->charstrings_index, stream, 0 );
+    if ( error )
+      goto Exit;
+
     /* now, check for a CID font */
     if ( dict->cid_registry != 0xFFFFU )
     {
@@ -2204,7 +2211,7 @@
 
       /* now load the FD Select array */
       error = CFF_Load_FD_Select( &font->fd_select,
-                                  (FT_UInt)dict->cid_count,
+                                  font->charstrings_index.count,
                                   stream,
                                   base_offset + dict->cid_fd_select_offset );
 
@@ -2224,13 +2231,6 @@
       error = CFF_Err_Unknown_File_Format;
       goto Exit;
     }
-
-    if ( FT_STREAM_SEEK( base_offset + dict->charstrings_offset ) )
-      goto Exit;
-
-    error = cff_new_index( &font->charstrings_index, stream, 0 );
-    if ( error )
-      goto Exit;
 
     /* explicit the global subrs */
     font->num_global_subrs = font->global_subrs_index.count;