Lines Matching refs:blend

107     PS_Blend   blend;
112 blend = face->blend;
113 if ( !blend )
115 if ( FT_NEW( blend ) )
118 blend->num_default_design_vector = 0;
120 face->blend = blend;
126 if ( blend->num_designs == 0 )
131 /* allocate the blend `private' and `font_info' dictionaries */
132 if ( FT_NEW_ARRAY( blend->font_infos[1], num_designs ) ||
133 FT_NEW_ARRAY( blend->privates [1], num_designs ) ||
134 FT_NEW_ARRAY( blend->bboxes [1], num_designs ) ||
135 FT_NEW_ARRAY( blend->weight_vector, num_designs * 2 ) )
138 blend->default_weight_vector = blend->weight_vector + num_designs;
140 blend->font_infos[0] = &face->type1.font_info;
141 blend->privates [0] = &face->type1.private_dict;
142 blend->bboxes [0] = &face->type1.font_bbox;
146 blend->font_infos[nn] = blend->font_infos[nn - 1] + 1;
147 blend->privates [nn] = blend->privates [nn - 1] + 1;
148 blend->bboxes [nn] = blend->bboxes [nn - 1] + 1;
151 blend->num_designs = num_designs;
153 else if ( blend->num_designs != num_designs )
160 if ( blend->num_axis != 0 && blend->num_axis != num_axis )
163 blend->num_axis = num_axis;
166 /* allocate the blend design pos table if needed */
167 num_designs = blend->num_designs;
168 num_axis = blend->num_axis;
169 if ( num_designs && num_axis && blend->design_pos[0] == 0 )
174 if ( FT_NEW_ARRAY( blend->design_pos[0], num_designs * num_axis ) )
178 blend->design_pos[n] = blend->design_pos[0] + num_axis * n;
194 PS_Blend blend = face->blend;
201 if ( blend )
203 master->num_axis = blend->num_axis;
204 master->num_designs = blend->num_designs;
206 for ( n = 0; n < blend->num_axis; n++ )
209 PS_DesignMap map = blend->design_map + n;
212 axis->name = blend->axis_names[n];
226 /* Given a normalized (blend) coordinate, figure out the design */
310 PS_Blend blend = face->blend;
347 if ( blend->num_designs == ( 1U << blend->num_axis ) )
349 mm_weights_unmap( blend->default_weight_vector,
351 blend->num_axis );
354 mmvar->axis[i].def = mm_axis_unmap( &blend->design_map[i],
370 PS_Blend blend = face->blend;
377 if ( blend && blend->num_axis == num_coords )
379 /* recompute the weight vector from the blend coordinates */
380 for ( n = 0; n < blend->num_designs; n++ )
385 for ( m = 0; m < blend->num_axis; m++ )
390 /* get current blend axis position */
402 blend->weight_vector[n] = result;
417 PS_Blend blend = face->blend;
423 if ( blend && blend->num_axis == num_coords )
425 /* compute the blend coordinates through the blend design map */
429 for ( n = 0; n < blend->num_axis; n++ )
433 PS_DesignMap map = blend->design_map + n;
514 PS_Blend blend = face->blend;
517 if ( blend )
519 FT_UInt num_designs = blend->num_designs;
520 FT_UInt num_axis = blend->num_axis;
525 FT_FREE( blend->design_pos[0] );
527 blend->design_pos[n] = NULL;
529 /* release blend `private' and `font info' dictionaries */
530 FT_FREE( blend->privates[1] );
531 FT_FREE( blend->font_infos[1] );
532 FT_FREE( blend->bboxes[1] );
536 blend->privates [n] = NULL;
537 blend->font_infos[n] = NULL;
538 blend->bboxes [n] = NULL;
542 FT_FREE( blend->weight_vector );
543 blend->default_weight_vector = NULL;
547 FT_FREE( blend->axis_names[n] );
552 PS_DesignMap dmap = blend->design_map + n;
559 FT_FREE( face->blend );
571 PS_Blend blend;
591 /* allocate blend if necessary */
596 blend = face->blend;
618 if ( FT_ALLOC( blend->axis_names[n], (FT_Long)( len + 1 ) ) )
621 name = (FT_Byte*)blend->axis_names[n];
641 PS_Blend blend;
667 blend = face->blend;
698 blend = face->blend;
715 blend->design_pos[n][axis] = T1_ToFixed( parser, 0 );
734 PS_Blend blend;
763 blend = face->blend;
768 PS_DesignMap map = blend->design_map + n;
826 PS_Blend blend = face->blend;
849 if ( !blend || !blend->num_designs )
854 blend = face->blend;
856 else if ( blend->num_designs != (FT_UInt)num_designs )
875 blend->default_weight_vector[n] =
876 blend->weight_vector[n] = T1_ToFixed( parser, 0 );
921 PS_Blend blend = face->blend;
924 if ( blend && blend->num_designs == 0 )
925 blend = NULL;
944 if ( blend )
946 objects = (void**)blend->font_infos;
947 max_objects = blend->num_designs;
962 if ( blend )
964 objects = (void**)blend->privates;
965 max_objects = blend->num_designs;
974 if ( blend )
976 objects = (void**)blend->bboxes;
977 max_objects = blend->num_designs;
995 dummy_object = face->blend;
2133 if ( face->blend &&
2134 face->blend->num_default_design_vector != 0 &&
2135 face->blend->num_default_design_vector != face->blend->num_axis )
2140 face->blend->num_default_design_vector,
2141 face->blend->num_axis ));
2143 face->blend->num_default_design_vector = 0;
2148 if ( face->blend &&
2149 ( !face->blend->num_designs || !face->blend->num_axis ) )
2153 if ( face->blend )
2158 for ( i = 0; i < face->blend->num_axis; i++ )
2159 if ( !face->blend->design_map[i].num_points )
2166 if ( face->blend )