Applied Tom's patches to improve CFF handling.
This commit is contained in:
parent
2b9be99c2a
commit
cb9109fc40
|
@ -406,22 +406,35 @@
|
||||||
error = t2_new_cff_index( &font->charstrings_index, stream, 0 );
|
error = t2_new_cff_index( &font->charstrings_index, stream, 0 );
|
||||||
if (error) goto Exit;
|
if (error) goto Exit;
|
||||||
|
|
||||||
/* read the local subrs */
|
/* read the local subrs, if any */
|
||||||
if ( FILE_Seek( base_offset + font->top_dict.private_offset +
|
|
||||||
font->private_dict.local_subrs_offset ) )
|
if (font->private_dict.local_subrs_offset) {
|
||||||
goto Exit;
|
|
||||||
|
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 );
|
error = t2_new_cff_index( &font->local_subrs_index, stream, 1 );
|
||||||
if (error) goto Exit;
|
if (error) goto Exit;
|
||||||
|
}
|
||||||
|
|
||||||
/* explicit the global and local subrs */
|
/* 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;
|
font->num_global_subrs = font->global_subrs_index.count;
|
||||||
|
|
||||||
error = t2_explicit_cff_index( &font->global_subrs_index,
|
|
||||||
&font->global_subrs ) ||
|
error = t2_explicit_cff_index( &font->global_subrs_index, &font->global_subrs ) ;
|
||||||
t2_explicit_cff_index( &font->local_subrs_index,
|
|
||||||
&font->local_subrs );
|
if (font->private_dict.local_subrs_offset) {
|
||||||
|
error |= t2_explicit_cff_index( &font->local_subrs_index, &font->local_subrs ) ;
|
||||||
|
}
|
||||||
|
|
||||||
if (error) goto Exit;
|
if (error) goto Exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue