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).
--- 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;