* 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>
[sfnt, truetype] Various sanitizing fixes.

View File

@ -577,10 +577,9 @@
if ( FT_IS_SCALABLE( ttface ) )
{
#ifdef FT_CONFIG_OPTION_INCREMENTAL
if ( !ttface->internal->incremental_interface )
#endif
{
error = tt_face_load_loca( face, stream );
@ -606,58 +605,22 @@
goto Exit;
/* Check the scalable flag based on `loca'. */
if ( !ttface->internal->incremental_interface &&
ttface->num_fixed_sizes &&
face->glyph_locations &&
tt_check_single_notdef( ttface ) )
#ifdef FT_CONFIG_OPTION_INCREMENTAL
if ( !ttface->internal->incremental_interface )
#endif
{
FT_TRACE5(( "tt_face_init:"
" Only the `.notdef' glyph has an outline.\n"
" "
" Resetting scalable flag to FALSE.\n" ));
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;
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