From f4b63326f1ab54cc0a73d2b34eab5c6ae7e051e7 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sun, 3 Jul 2011 11:24:46 +0200 Subject: [PATCH] Fix previous commit. We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap strikes in the font. * src/truetype/ttobjs.c (tt_face_init): Implement it. * docs/CHANGES: Updated. --- ChangeLog | 11 +++++++++++ docs/CHANGES | 6 ++++++ src/truetype/ttobjs.c | 10 +++++++--- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 077299e9..a0bfb665 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2011-07-03 Werner Lemberg + + Fix previous commit. + + We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap + strikes in the font. + + * src/truetype/ttobjs.c (tt_face_init): Implement it. + + * docs/CHANGES: Updated. + 2011-07-02 Just Fill Bugs Fix Savannah bug #33246. diff --git a/docs/CHANGES b/docs/CHANGES index 603f18a2..d0941008 100644 --- a/docs/CHANGES +++ b/docs/CHANGES @@ -20,6 +20,12 @@ CHANGES BETWEEN 2.4.4 and 2.4.5 . Various stroking glitches has been fixed. + II. MISCELLANEOUS + + - SFNT bitmap fonts which contain an outline glyph for `.notdef' + only no longer set the FT_FACE_FLAG_SCALABLE flag. + + ====================================================================== CHANGES BETWEEN 2.4.4 and 2.4.5 diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c index 66379ab2..d77c3c42 100644 --- a/src/truetype/ttobjs.c +++ b/src/truetype/ttobjs.c @@ -553,8 +553,10 @@ error = tt_face_load_prep( face, stream ); /* Check the scalable flag based on `loca'. */ - if ( !ttface->internal->incremental_interface && - face->glyph_locations && tt_check_single_notdef( ttface ) ) + if ( !ttface->internal->incremental_interface && + 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" @@ -576,7 +578,9 @@ error = tt_face_load_prep( face, stream ); /* Check the scalable flag based on `loca'. */ - if ( face->glyph_locations && tt_check_single_notdef( ttface ) ) + 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"