* src/truetype/ttobjs.c (tt_face_init): Simplify conditional code.

This commit is contained in:
Werner Lemberg 2016-12-17 13:39:31 +01:00
parent 7c75b166c8
commit db17ceb4c0
2 changed files with 18 additions and 51 deletions

View File

@ -1,3 +1,7 @@
2016-12-17 Werner Lemberg <wl@gnu.org>
* src/truetype/ttobjs.c (tt_face_init): Simplify conditional code.
2016-12-17 Werner Lemberg <wl@gnu.org> 2016-12-17 Werner Lemberg <wl@gnu.org>
[sfnt, truetype] Various sanitizing fixes. [sfnt, truetype] Various sanitizing fixes.

View File

@ -577,10 +577,9 @@
if ( FT_IS_SCALABLE( ttface ) ) if ( FT_IS_SCALABLE( ttface ) )
{ {
#ifdef FT_CONFIG_OPTION_INCREMENTAL #ifdef FT_CONFIG_OPTION_INCREMENTAL
if ( !ttface->internal->incremental_interface ) if ( !ttface->internal->incremental_interface )
#endif
{ {
error = tt_face_load_loca( face, stream ); error = tt_face_load_loca( face, stream );
@ -606,58 +605,22 @@
goto Exit; goto Exit;
/* Check the scalable flag based on `loca'. */ /* Check the scalable flag based on `loca'. */
if ( !ttface->internal->incremental_interface && #ifdef FT_CONFIG_OPTION_INCREMENTAL
ttface->num_fixed_sizes && if ( !ttface->internal->incremental_interface )
face->glyph_locations && #endif
tt_check_single_notdef( ttface ) )
{ {
FT_TRACE5(( "tt_face_init:" if ( ttface->num_fixed_sizes &&
" Only the `.notdef' glyph has an outline.\n" face->glyph_locations &&
" " tt_check_single_notdef( ttface ) )
" Resetting scalable flag to FALSE.\n" )); {
FT_TRACE5(( "tt_face_init:"
" Only the `.notdef' glyph has an outline.\n"
" "
" Resetting scalable flag to FALSE.\n" ));
ttface->face_flags &= ~FT_FACE_FLAG_SCALABLE; ttface->face_flags &= ~FT_FACE_FLAG_SCALABLE;
}
} }
#else /* !FT_CONFIG_OPTION_INCREMENTAL */
error = tt_face_load_loca( face, stream );
/* having a (non-zero) `glyf' table without */
/* a `loca' table is not valid */
if ( face->glyf_len && FT_ERR_EQ( error, Table_Missing ) )
goto Exit;
if ( error )
goto Exit;
/* `fpgm', `cvt', and `prep' are optional */
error = tt_face_load_cvt( face, stream );
if ( error && FT_ERR_NEQ( error, Table_Missing ) )
goto Exit;
error = tt_face_load_fpgm( face, stream );
if ( error && FT_ERR_NEQ( error, Table_Missing ) )
goto Exit;
error = tt_face_load_prep( face, stream );
if ( error && FT_ERR_NEQ( error, Table_Missing ) )
goto Exit;
/* Check the scalable flag based on `loca'. */
if ( ttface->num_fixed_sizes &&
face->glyph_locations &&
tt_check_single_notdef( ttface ) )
{
FT_TRACE5(( "tt_face_init:"
" Only the `.notdef' glyph has an outline.\n"
" "
" Resetting scalable flag to FALSE.\n" ));
ttface->face_flags &= ~FT_FACE_FLAG_SCALABLE;
}
#endif /* !FT_CONFIG_OPTION_INCREMENTAL */
} }
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT