41#define FT_SERVICE_ID_MULTI_MASTERS "multi-masters"
45 (*FT_Get_MM_Func)( FT_Face face,
46 FT_Multi_Master* master );
49 (*FT_Get_MM_Var_Func)( FT_Face face,
53 (*FT_Set_MM_Design_Func)( FT_Face face,
60 (*FT_Set_Var_Design_Func)( FT_Face face,
67 (*FT_Set_MM_Blend_Func)( FT_Face face,
72 (*FT_Get_Var_Design_Func)( FT_Face face,
77 (*FT_Set_Named_Instance_Func)( FT_Face face,
78 FT_UInt instance_index );
81 (*FT_Get_Default_Named_Instance_Func)( FT_Face face,
82 FT_UInt *instance_index );
85 (*FT_Get_MM_Blend_Func)( FT_Face face,
90 (*FT_Get_Var_Blend_Func)( FT_Face face,
93 FT_Fixed* *normalizedcoords,
97 (*FT_Done_Blend_Func)( FT_Face face );
100 (*FT_Set_MM_WeightVector_Func)( FT_Face face,
102 FT_Fixed* weight_vector );
105 (*FT_Get_MM_WeightVector_Func)( FT_Face face,
107 FT_Fixed* weight_vector );
110 (*FT_Construct_PS_Name_Func)( FT_Face face );
113 (*FT_Var_Load_Delta_Set_Idx_Map_Func)( FT_Face face,
115 GX_DeltaSetIdxMap map,
116 GX_ItemVarStore itemStore,
117 FT_ULong table_len );
120 (*FT_Var_Load_Item_Var_Store_Func)( FT_Face face,
122 GX_ItemVarStore itemStore );
124 typedef FT_ItemVarDelta
125 (*FT_Var_Get_Item_Delta_Func)( FT_Face face,
126 GX_ItemVarStore itemStore,
128 FT_UInt innerIndex );
131 (*FT_Var_Done_Item_Var_Store_Func)( FT_Face face,
132 GX_ItemVarStore itemStore );
135 (*FT_Var_Done_Delta_Set_Idx_Map_Func)( FT_Face face,
136 GX_DeltaSetIdxMap deltaSetIdxMap );
139 FT_DEFINE_SERVICE( MultiMasters )
141 FT_Get_MM_Func get_mm;
142 FT_Set_MM_Design_Func set_mm_design;
143 FT_Set_MM_Blend_Func set_mm_blend;
144 FT_Get_MM_Blend_Func get_mm_blend;
145 FT_Get_MM_Var_Func get_mm_var;
146 FT_Set_Var_Design_Func set_var_design;
147 FT_Get_Var_Design_Func get_var_design;
148 FT_Set_Named_Instance_Func set_named_instance;
149 FT_Get_Default_Named_Instance_Func get_default_named_instance;
150 FT_Set_MM_WeightVector_Func set_mm_weightvector;
151 FT_Get_MM_WeightVector_Func get_mm_weightvector;
154 FT_Construct_PS_Name_Func construct_ps_name;
155 FT_Var_Load_Delta_Set_Idx_Map_Func load_delta_set_idx_map;
156 FT_Var_Load_Item_Var_Store_Func load_item_var_store;
157 FT_Var_Get_Item_Delta_Func get_item_delta;
158 FT_Var_Done_Item_Var_Store_Func done_item_var_store;
159 FT_Var_Done_Delta_Set_Idx_Map_Func done_delta_set_idx_map;
160 FT_Get_Var_Blend_Func get_var_blend;
161 FT_Done_Blend_Func done_blend;
165#define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_, \
173 set_named_instance_, \
174 get_default_named_instance_, \
175 set_mm_weightvector_, \
176 get_mm_weightvector_, \
178 construct_ps_name_, \
179 load_delta_set_idx_map_, \
180 load_item_var_store_, \
182 done_item_var_store_, \
183 done_delta_set_idx_map_, \
186 static const FT_Service_MultiMastersRec class_ = \
195 set_named_instance_, \
196 get_default_named_instance_, \
197 set_mm_weightvector_, \
198 get_mm_weightvector_, \
200 construct_ps_name_, \
201 load_delta_set_idx_map_, \
202 load_item_var_store_, \
204 done_item_var_store_, \
205 done_delta_set_idx_map_, \