diff --git a/src/base/ftmm.c b/src/base/ftmm.c index e0131ece3..1f2be46f8 100644 --- a/src/base/ftmm.c +++ b/src/base/ftmm.c @@ -24,6 +24,7 @@ #include FT_SERVICE_MULTIPLE_MASTERS_H #include FT_SERVICE_METRICS_VARIATIONS_H +#include /*************************************************************************/ /* */ @@ -201,6 +202,25 @@ if ( !error ) { error = FT_ERR( Invalid_Argument ); + if ( service_mm->get_var_design ) + { + FT_Fixed *my_coords; + FT_UInt i; + + my_coords = alloca (sizeof(FT_Fixed) * num_coords); + + error = service_mm->get_var_design( face, num_coords, my_coords ); + if (error) + return error; + + for (i = 0; i < num_coords; i++) + { + if (coords[i] != my_coords[i]) + break; + } + if (i == num_coords) + return 0; + } if ( service_mm->set_var_design ) error = service_mm->set_var_design( face, num_coords, coords ); }