You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.3 KiB
107 lines
3.3 KiB
/*
|
|
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*/
|
|
package java.awt.font;
|
|
|
|
import java.awt.Font;
|
|
|
|
/**
|
|
* The <code>MultipleMaster</code> interface represents Type 1
|
|
* Multiple Master fonts.
|
|
* A particular {@link Font} object can implement this interface.
|
|
*/
|
|
public interface MultipleMaster {
|
|
|
|
/**
|
|
* Returns the number of multiple master design controls.
|
|
* Design axes include things like width, weight and optical scaling.
|
|
* @return the number of multiple master design controls
|
|
*/
|
|
public int getNumDesignAxes();
|
|
|
|
/**
|
|
* 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
|
|
* <code>getDesignAxisNames</code>.
|
|
* @return an array of design limits for each axis.
|
|
*/
|
|
public float[] getDesignAxisRanges();
|
|
|
|
/**
|
|
* 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 <code>getDesignAxisNames</code>.
|
|
* @return an array of default design values for each axis.
|
|
*/
|
|
public float[] getDesignAxisDefaults();
|
|
|
|
/**
|
|
* Returns the name for each design axis. This also determines the order in
|
|
* which the values for each axis are returned.
|
|
* @return an array containing the names of each design axis.
|
|
*/
|
|
public String[] getDesignAxisNames();
|
|
|
|
/**
|
|
* 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
|
|
* <code>getNumDesignAxes</code> and the values of the array elements
|
|
* must fall within limits specified by
|
|
* <code>getDesignAxesLimits</code>. In case of an error,
|
|
* <code>null</code> is returned.
|
|
* @param axes an array containing axis values
|
|
* @return a {@link Font} object that is an instance of
|
|
* <code>MultipleMaster</code> and is based on the design axis values
|
|
* provided by <code>axes</code>.
|
|
*/
|
|
public Font deriveMMFont(float[] axes);
|
|
|
|
/**
|
|
* Creates a new instance of a multiple master font based on detailed metric
|
|
* information. In case of an error, <code>null</code> is returned.
|
|
* @param glyphWidths an array of floats representing the desired width
|
|
* of each glyph in font space
|
|
* @param avgStemWidth the average stem width for the overall font in
|
|
* font space
|
|
* @param typicalCapHeight the height of a typical upper case char
|
|
* @param typicalXHeight the height of a typical lower case char
|
|
* @param italicAngle the angle at which the italics lean, in degrees
|
|
* counterclockwise from vertical
|
|
* @return a <code>Font</code> object that is an instance of
|
|
* <code>MultipleMaster</code> and is based on the specified metric
|
|
* information.
|
|
*/
|
|
public Font deriveMMFont(
|
|
float[] glyphWidths,
|
|
float avgStemWidth,
|
|
float typicalCapHeight,
|
|
float typicalXHeight,
|
|
float italicAngle);
|
|
|
|
|
|
}
|