shithub: freetype+ttf2subf

Download patch

ref: f4b63326f1ab54cc0a73d2b34eab5c6ae7e051e7
parent: b511999601a59d7165902282900fe30f9452048c
author: Werner Lemberg <[email protected]>
date: Sun Jul 3 07:24:46 EDT 2011

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.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2011-07-03  Werner Lemberg  <[email protected]>
+
+	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  <[email protected]>
 
 	Fix Savannah bug #33246.
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -20,6 +20,12 @@
       . 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
--- 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"