diff --git a/ChangeLog b/ChangeLog index 651f78f34..97a77d94f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-01-14 Werner Lemberg + + * 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 * src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of diff --git a/src/cff/cffload.c b/src/cff/cffload.c index d77959d3d..8f92a425f 100644 --- 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 ); @@ -2225,13 +2232,6 @@ 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; font->num_glyphs = font->charstrings_index.count;