java.awt.font
Interface MultipleMaster


public interface MultipleMaster

The MultipleMaster interface represents Type 1 Multiple Master fonts. A particular Font object can implement this interface.


Method Summary
 Font deriveMMFont(float[] axes)
          Creates a new instance of a multiple master font based on the design axis values contained in the specified array.
 Font deriveMMFont(float[] glyphWidths, float avgStemWidth, float typicalCapHeight, float typicalXHeight, float italicAngle)
          Creates a new instance of a multiple master font based on detailed metric information.
 float[] getDesignAxisDefaults()
          Returns an array of default design values for each axis.
 String[] getDesignAxisNames()
          Returns the name for each design axis.
 float[] getDesignAxisRanges()
          Returns an array of design limits interleaved in the form [from->to] for each axis.
 int getNumDesignAxes()
          Returns the number of multiple master design controls.
 

Method Detail

getNumDesignAxes

public int getNumDesignAxes()
Returns the number of multiple master design controls. Design axes include things like width, weight and optical scaling.

Returns:
the number of multiple master design controls

getDesignAxisRanges

public float[] getDesignAxisRanges()
Returns an array of design limits interleaved in the form [from->to] for each axis. For example, design limits for weight could be from 0.1 to 1.0. The values are returned in the same order returned by getDesignAxisNames.

Returns:
an array of design limits for each axis.

getDesignAxisDefaults

public float[] getDesignAxisDefaults()
Returns an array of default design values for each axis. For example, the default value for weight could be 1.6. The values are returned in the same order returned by getDesignAxisNames.

Returns:
an array of default design values for each axis.

getDesignAxisNames

public String[] getDesignAxisNames()
Returns the name for each design axis. This also determines the order in which the values for each axis are returned.

Returns:
an array containing the names of each design axis.

deriveMMFont

public Font deriveMMFont(float[] axes)
Creates a new instance of a multiple master font based on the design axis values contained in the specified array. The size of the array must correspond to the value returned from getNumDesignAxes and the values of the array elements must fall within limits specified by getDesignAxesLimits. In case of an error, null is returned.

Parameters:
axes - an array containing axis values
Returns:
a Font object that is an instance of MultipleMaster and is based on the design axis values provided by axes.

deriveMMFont

public Font deriveMMFont(float[] glyphWidths,
                         float avgStemWidth,
                         float typicalCapHeight,
                         float typicalXHeight,
                         float italicAngle)
Creates a new instance of a multiple master font based on detailed metric information. In case of an error, null is returned.

Parameters:
glyphWidths - an array of floats representing the desired width of each glyph in font space
avgStemWidth - the average stem width for the overall font in font space
typicalCapHeight - the height of a typical upper case char
typicalXHeight - the height of a typical lower case char
italicAngle - the angle at which the italics lean, in degrees counterclockwise from vertical
Returns:
a Font object that is an instance of MultipleMaster and is based on the specified metric information.