Applied Tom's patches to improve CFF handling.

VER-2-0-4-PATCH
Werner Lemberg 25 years ago
parent 2b9be99c2a
commit cb9109fc40
  1. 35
      src/cff/t2load.c

@ -406,22 +406,35 @@
error = t2_new_cff_index( &font->charstrings_index, stream, 0 );
if (error) goto Exit;
/* read the local subrs */
if ( FILE_Seek( base_offset + font->top_dict.private_offset +
font->private_dict.local_subrs_offset ) )
goto Exit;
/* read the local subrs, if any */
if (font->private_dict.local_subrs_offset) {
if ( FILE_Seek( base_offset + font->top_dict.private_offset +
font->private_dict.local_subrs_offset ) )
goto Exit;
error = t2_new_cff_index( &font->local_subrs_index, stream, 1 );
if (error) goto Exit;
error = t2_new_cff_index( &font->local_subrs_index, stream, 1 );
if (error) goto Exit;
}
/* explicit the global and local subrs */
font->num_local_subrs = font->local_subrs_index.count;
if (font->private_dict.local_subrs_offset) {
font->num_local_subrs = font->local_subrs_index.count;
} else {
font->num_local_subrs = 0;
}
font->num_global_subrs = font->global_subrs_index.count;
error = t2_explicit_cff_index( &font->global_subrs_index,
&font->global_subrs ) ||
t2_explicit_cff_index( &font->local_subrs_index,
&font->local_subrs );
error = t2_explicit_cff_index( &font->global_subrs_index, &font->global_subrs ) ;
if (font->private_dict.local_subrs_offset) {
error |= t2_explicit_cff_index( &font->local_subrs_index, &font->local_subrs ) ;
}
if (error) goto Exit;
}

Loading…
Cancel
Save