ref: eb6d02087b9f540372049eff2721ac6aff837232
parent: 8f633a08f1b7e5f64d2afd3805f6fb491f8c7086
author: Werner Lemberg <[email protected]>
date: Sun Dec 18 04:29:58 EST 2016
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.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
2016-12-18 Werner Lemberg <[email protected]>
+ 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 <[email protected]>
+
[cff] Better handling of non-CFF font formats.
* src/cff/cffload.c (cff_font_load): Pure CFFs don't have a
--- a/include/freetype/internal/tttypes.h
+++ b/include/freetype/internal/tttypes.h
@@ -1230,6 +1230,10 @@
/* 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 @@
/* */
/* 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 @@
#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 */
@@ -1472,9 +1474,6 @@
FT_ULong ebdt_start; /* either `CBDT', `EBDT', or `bdat' */
FT_ULong ebdt_size;
#endif
-
- /* since 2.7.1 */
- FT_Bool is_default_instance;
} TT_FaceRec;
--- a/src/sfnt/sfobjs.c
+++ b/src/sfnt/sfobjs.c
@@ -925,8 +925,6 @@
if ( error )
return error;
- face->is_default_instance = 1;
-
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
{
FT_ULong fvar_len;
@@ -941,6 +939,8 @@
FT_Int instance_index;
+
+ face->is_default_instance = 1;
instance_index = FT_ABS( face_instance_index ) >> 16;
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -2566,9 +2566,14 @@
{
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 ));
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
@@ -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 )