FreeType API Reference

FreeType API Reference

Multiple Masters

The following types and functions are used to manage Multiple Master fonts, i.e. the selection of specific design instances by setting design axis coordinates.


FT_MM_Axis


  typedef struct  FT_MM_Axis_
  {
    FT_String*  name;
    FT_Long     minimum;
    FT_Long     maximum;

  } FT_MM_Axis;

A simple structure used to model a given axis in design space for Multiple Masters fonts.


fields
name

The axis's name.

minimum

The axis's minimum design coordinate.

maximum

The axis's maximum design coordinate.


FT_Multi_Master


  typedef struct  FT_Multi_Master_
  {
    FT_UInt     num_axis;
    FT_UInt     num_designs;
    FT_MM_Axis  axis[T1_MAX_MM_AXIS];

  } FT_Multi_Master;

A structure used to model the axes and space of a Multiple Masters font.


fields
num_axis

Number of axes. Cannot exceed 4.

num_designs

Number of designs; should ne normally 2^num_axis even though the Type 1 specification strangely allows for intermediate designs to be present. This number cannot exceed 16.

axis

A table of axis descriptors.


FT_Get_Multi_Master


  FT_EXPORT( FT_Error )
  FT_Get_Multi_Master( FT_Face           face,
                       FT_Multi_Master  *amaster );

Retrieves the Multiple Master descriptor of a given font.


input
face

A handle to the source face.

output
amaster

The Multiple Masters descriptor.

return

FreeType error code. 0 means success.


FT_Set_MM_Design_Coordinates


  FT_EXPORT( FT_Error )
  FT_Set_MM_Design_Coordinates( FT_Face   face,
                                FT_UInt   num_coords,
                                FT_Long*  coords );

For Multiple Masters fonts, choose an interpolated font design through design coordinates.


inout
face

A handle to the source face.

input
num_coords

The number of design coordinates (must be equal to the number of axes in the font).

coords

An array of design coordinates.

return

FreeType error code. 0 means success.


FT_Set_MM_Blend_Coordinates


  FT_EXPORT( FT_Error )
  FT_Set_MM_Blend_Coordinates( FT_Face    face,
                               FT_UInt    num_coords,
                               FT_Fixed*  coords );

For Multiple Masters fonts, choose an interpolated font design through normalized blend coordinates.


inout
face

A handle to the source face.

input
num_coords

The number of design coordinates (must be equal to the number of axes in the font).

coords

The design coordinates array (each element must be between 0 and 1.0).

return

FreeType error code. 0 means success.


generated on Mon Jan 07 13:06:52 2002