Minor GX code shuffling.

* include/freetype/internal/tttypes.h (TT_Face): Move
`is_default_instance' into TT_CONFIG_OPTION_GX_VAR_SUPPORT
block.

* src/sfnt/sfobjs.c (sfnt_init_face): Updated.
* src/truetype/ttgload.c (IS_DEFAULT_INSTANCE): New macro.
(TT_Load_Glyph): Use it.
This commit is contained in:
Werner Lemberg 2016-12-18 09:29:58 +01:00
parent 8f633a08f1
commit eb6d02087b
4 changed files with 27 additions and 11 deletions

View File

@ -1,3 +1,15 @@
2016-12-18 Werner Lemberg <wl@gnu.org>
Minor GX code shuffling.
* include/freetype/internal/tttypes.h (TT_Face): Move
`is_default_instance' into TT_CONFIG_OPTION_GX_VAR_SUPPORT
block.
* src/sfnt/sfobjs.c (sfnt_init_face): Updated.
* src/truetype/ttgload.c (IS_DEFAULT_INSTANCE): New macro.
(TT_Load_Glyph): Use it.
2016-12-18 Werner Lemberg <wl@gnu.org>
[cff] Better handling of non-CFF font formats.

View File

@ -1230,6 +1230,10 @@ FT_BEGIN_HEADER
/* variation tables (rather like Multiple */
/* Master data). */
/* */
/* is_default_instance :: Set if the glyph outlines can be used */
/* unmodified (i.e., without applying glyph */
/* variation deltas). */
/* */
/* horz_metrics_size :: The size of the `hmtx' table. */
/* */
/* vert_metrics_size :: The size of the `vmtx' table. */
@ -1304,10 +1308,6 @@ FT_BEGIN_HEADER
/* */
/* ebdt_size :: The size of the sbit data table. */
/* */
/* is_default_instance :: Set if the glyph outlines can be used */
/* unmodified (i.e., without applying glyph */
/* variation deltas). */
/* */
typedef struct TT_FaceRec_
{
FT_FaceRec root;
@ -1424,6 +1424,8 @@ FT_BEGIN_HEADER
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
FT_Bool doblend;
GX_Blend blend;
FT_Bool is_default_instance; /* since 2.7.1 */
#endif
/* since version 2.2 */
@ -1473,9 +1475,6 @@ FT_BEGIN_HEADER
FT_ULong ebdt_size;
#endif
/* since 2.7.1 */
FT_Bool is_default_instance;
} TT_FaceRec;

View File

@ -925,8 +925,6 @@
if ( error )
return error;
face->is_default_instance = 1;
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
{
FT_ULong fvar_len;
@ -942,6 +940,8 @@
FT_Int instance_index;
face->is_default_instance = 1;
instance_index = FT_ABS( face_instance_index ) >> 16;
/* test whether current face is a GX font with named instances */

View File

@ -2566,7 +2566,12 @@
{
FT_Error error;
TT_LoaderRec loader;
TT_Face face = (TT_Face)glyph->face;
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
#define IS_DEFAULT_INSTANCE ( ( (TT_Face)glyph->face )->is_default_instance )
#else
#define IS_DEFAULT_INSTANCE 1
#endif
FT_TRACE1(( "TT_Load_Glyph: glyph index %d\n", glyph_index ));
@ -2576,7 +2581,7 @@
/* try to load embedded bitmap (if any) */
if ( size->strike_index != 0xFFFFFFFFUL &&
( load_flags & FT_LOAD_NO_BITMAP ) == 0 &&
face->is_default_instance )
IS_DEFAULT_INSTANCE )
{
error = load_sbit_image( size, glyph, glyph_index, load_flags );
if ( !error )