Commit 8a1b5c0c6da164a1a021eb24e996d2adf26f98bb

Ewald Hew 2017-09-24T22:35:47

Minor fix. Use `MultiMasters' service in `psaux' instead of a call to `cff'. The project builds if CFF_CONFIG_OPTION_OLD_ENGINE is not defined. * src/psaux/cf2ft.c: Update includes. (cf2_getNormalizedVector): Use `mm->get_var_blend' instead of `cff_get_var_blend'.

diff --git a/ChangeLog b/ChangeLog
index 45fba7d..d277cf3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
 
+	[psaux] Minor fix.
+
+	Use `MultiMasters' service in `psaux' instead of a call to `cff'. 
+	The project builds if CFF_CONFIG_OPTION_OLD_ENGINE is not defined.
+
+	* src/psaux/cf2ft.c: Update includes.
+	(cf2_getNormalizedVector): Use `mm->get_var_blend' instead of
+	`cff_get_var_blend'.
+
+2017-09-24  Ewald Hew  <ewaldhew@gmail.com>
+
 	[psaux, cff] Move `cff_random' into `psaux' service.
 
 	NOTE: Does not compile!
diff --git a/src/psaux/cf2ft.c b/src/psaux/cf2ft.c
index ee8133c..6bffce9 100644
--- a/src/psaux/cf2ft.c
+++ b/src/psaux/cf2ft.c
@@ -42,6 +42,11 @@
 #include "cf2font.h"
 #include "cf2error.h"
 
+#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+#include FT_MULTIPLE_MASTERS_H
+#include FT_SERVICE_MULTIPLE_MASTERS_H
+#endif
+
 #include FT_SERVICE_CFF_TABLE_LOAD_H
 
 #define CF2_MAX_SIZE  cf2_intToFixed( 2000 )    /* max ppem */
@@ -456,10 +461,16 @@
                            CF2_UInt     *len,
                            FT_Fixed*    *vec )
   {
+    TT_Face  face;
+    FT_Service_MultiMasters  mm;
+
     FT_ASSERT( decoder && decoder->builder.face );
     FT_ASSERT( vec && len );
-
-    return cff_get_var_blend( decoder->builder.face, len, NULL, vec, NULL );
+    
+    face = decoder->builder.face;
+    mm = (FT_Service_MultiMasters)face->mm;
+    
+    return mm->get_var_blend( FT_FACE( face ), len, NULL, vec, NULL );
   }
 #endif