|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--net.rim.device.api.ui.Font
Encapsulates a specific set of character glyphs.
Font also contains metrics, since rendering characteristics are not
abstracted on small device platforms. Currently, the font system assumes that
all Fonts have roman baselines.
The horizontal space taken up by the glyph itself is called the glyph width. More important is the total width used to display the glyph, called the advance.
The total vertical space used to display the glyph (the block height is equal to the leading plus the ascent (the space reserved to draw the glyph above the baseline) plus the descent (the space reserved to draw the glyph below the baseline).
Font sizes always refer to the font's block height (in the case of the shown example, 10), and are always measured in pixels.
A transformation matrix specifies how to transform the coordinate pairs of one coordinate space into another coordinate space. Postscript notation is used for the transformation matrix definition (see more at http://partners.adobe.com/asn/developer/pdfs/tn/PLRM.pdf 4.3.3). A two-dimensional transformation is described mathematically by a 3-by-3 matrix:
a b 0
c d 0
tx ty 1
Translation by a specified displacement (tx, ty) is described by the matrix
1 0 0 0 1 0 tx ty 1
Scaling by the factor sx in the horizontal dimension and sy in the vertical dimension is accomplished by the matrix
sx 0 0
0 sy 0
0 0 1
Rotation counterclockwise about the origin by an angle q is described by the matrix
q cos q sin 0
q sin – q cos 0
0 0 1
| Field Summary | ||
static int |
APPLICATION
In a global event, check this flag to see if the change was an application or a global one. |
|
static int |
BOLD
Bold font style modifier. |
|
static int |
DOTTED_UNDERLINED
Dotted underlined font style modifier (must specify UNDERLINED
as well). |
|
static long |
GUID_FONT_CHANGED
The GUID for the global event sent when the system font changes. |
|
static int |
ITALIC
Italic font style modifier. |
|
static int |
PLAIN
Plain font style. |
|
static int |
UNDERLINED
Underlined font style modifier. |
|
| Method Summary | ||
Font |
derive(int style)
Derives a font with a given style and the current size. |
|
Font |
derive(int style,
int height)
Derives a font of a given style and size. |
|
Font |
derive(int style,
int height,
int units)
Derives a font of a given style and size. |
|
Font |
derive(int style,
int height,
int units,
int antialiasMode,
int effects)
Derives a font of a given style and size, antialias mode and glyph effects Works like derive(int), except you can also specify a new
font size as well as style. |
|
Font |
derive(int style,
int height,
int units,
int antialiasMode,
int effects,
int[] transform)
Derives a font of a given style and size, antialias mode, glyph effects, affine transformation Works like derive(int), except you can also specify a new
font size as well as style. |
|
Font |
derive(int style,
int height,
int units,
int antialiasMode,
int effects,
int A,
int B,
int C,
int D,
int Tx,
int Ty)
Derives a font of a given style and size, antialias mode and glyph effects. |
|
int |
getAdvance(char c)
Determines particular glyph width. |
|
int |
getAdvance(char[] text,
int offset,
int length)
Determines advance of a character array's substring. |
|
int |
getAdvance(String text)
Determines advance of a text string. |
|
int |
getAdvance(StringBuffer text,
int offset,
int length)
Determines advance of a string buffer's substring. |
|
int |
getAdvance(String text,
int offset,
int length)
Determines advance of a text string's substring. |
|
int |
getAscent()
Retrieves this font's ascent height. |
|
int |
getBaseline()
Retrieve this font's baseline position. |
|
static Font |
getDefault()
Retrieves the default font. |
|
int |
getDescent()
Retrieves this font's descender height. |
|
FontFamily |
getFontFamily()
Retrieves the font family containing this font. |
|
int |
getHeight()
Retrieves this font's height. |
|
int |
getLeading()
Retrieve this font's leading. |
|
int |
getStyle()
Retrieves this font's style. |
|
boolean |
isBold()
Determines if this font is bold. |
|
boolean |
isItalic()
Determines if this font is italic. |
|
boolean |
isPlain()
Determines if this font is plain. |
|
boolean |
isUnderlined()
Determines if this font is underlined. |
|
static void |
setDefaultFont(Font defaultFont)
Sets the default font for this application. |
|
String |
toString()
Retrieves font name as a string. |
|
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final int DOTTED_UNDERLINED
UNDERLINED
as well).public static final long GUID_FONT_CHANGED
public static final int APPLICATION
| Method Detail |
public Font derive(int style)
Use this method to retrieve a new font derived from this font. For
instance, if this font is a plain font, you can retrieve the bold version
with derive(this.BOLD).
This method doesn't make up new fonts out of whole cloth: if the font variation doesn't already exist in the system, then this method simply hands back a handle to this font.
style - New style desired.public Font derive(int style, int height)
Works like derive(int), except you can also specify a new
font size as well as style.
style - New style desired.height - New height desired.public Font derive(int style, int height, int units)
Works like derive(int), except you can also specify a new
font size as well as style.
style - New style desired.height - New height desired.units - Units modifier in height, must be one of Ui.UNITS_*.public Font derive(int style, int height, int units, int antialiasMode, int effects)
Works like derive(int), except you can also specify a new
font size as well as style.
style - New style desired.height - New height desired.units - Units modifier in height, must be one of Ui.UNITS_*.antialiasMode - New antialias mode desired.effects - New glyph effects desired.public Font derive(int style, int height, int units, int antialiasMode, int effects, int[] transform)
Works like derive(int), except you can also specify a new
font size as well as style.
style - New style desired.height - New height desired.units - Units modifier in height, must be one of Ui.UNITS_*.antialiasMode - New antialias mode desired.effects - New glyph effects desired.transform - An affine two-dimensional geometric transform
represented by 3x2 matrix. The coefficients are stored using 16.16 fixed
point, so cannot be outside the range -32768...32767.public Font derive(int style, int height, int units, int antialiasMode, int effects, int A, int B, int C, int D, int Tx, int Ty)
The names for the coefficients echo those used in the PostScript Language Reference Manual, which contains a good explanation of this type of transform.
style - New style desired.height - New height desired.units - Units modifier in height, must be one of Ui.UNITS_*.antialiasMode - New antialias mode desired.effects - New glyph effects desired.A - The A (x scale) coefficient.B - The B (x slant) coefficient.C - The C (y slant) coefficient.D - The D (y scale) coefficient.Tx - The Tx (X offset) coefficient.Ty - The Ty (Y offset) coefficient.public final int getAdvance(String text)
Use this method to calculate the advance (in pixels) of a provided string drawn with this font.
text - String for which to calculate width (may be null).public int getAdvance(char c)
Use this method to determine the width (in pixels) of a specified glyph in this font's character set.
c - Character glyph for which to calculate width.public int getAdvance(String text, int offset, int length) throws NullPointerException, IllegalArgumentException
Use this method to calculate the width (in pixels) of a substring of a string in this font's character set.
text - String for which to calculate a width.offset - Character offset into the string to use as start of
substring. If illegal return 0.length - Length of substring. If Integer.MAX_VALUE,
calculates the maximum valid length.NullPointerException - If provided text parameter is null and the
requested length is not 0.IllegalArgumentException - If substring specified with
offset/length parameters wouldn't fit in provided string.public int getAdvance(StringBuffer text, int offset, int length) throws NullPointerException, IllegalArgumentException
Use this method to calculate the width (in pixels) of a substring of a string buffer in this font's character set.
text - String buffer for which to calculate a width.offset - Character offset into the string buffer to use as start of
substring. If illegal return 0.length - Length of substring. If Integer.MAX_VALUE,
calculates the maximum valid length.NullPointerException - If provided text parameter is null and the
requested length is not 0.IllegalArgumentException - If substring specified with
offset/length parameters wouldn't fit in provided string.
public int getAdvance(char[] text,
int offset,
int length)
throws NullPointerException,
IllegalArgumentException
Use this method to calculate the width (in pixels) of a substring of a character array in this font's character set.
text - Character array for which to calculate a width.offset - Array element to use as start of substring. If illegal return 0.length - Length of substring. If Integer.MAX_VALUE,
calculates the maximum valid length.NullPointerException - If provided text parameter is null and the
requested length is not 0.IllegalArgumentException - If substring specified with
offset/length parameters wouldn't fit in provided string.public int getAscent()
Use this method to retrieve the height, in pixels, reserved for drawing glyphs above the baseline.
public int getBaseline()
Use this method to retrieve the position of this font's baseline, in pixels from the top of the font.
Notice that
this.getBaseline - this.getAscent
produces the amount of leading at the top of this font.
public static Font getDefault()
If the current application doesn't have a default font, it automatically inherits (and this method returns) the current system font.
public int getDescent()
Use this method to retrieve the height, in pixels, reserved for drawing glyphs below the baseline.
public FontFamily getFontFamily()
public int getHeight()
Use this method to retrieve this font's "block" height (the drawing area for glyphs plus the leading).
public int getLeading()
Use this method to retrieve this font's leading (pixels in font blocks reserved for inter-line spacing). In our font system, a font's leading height is drawn at the top of the font "block" height.
public int getStyle()
Use this method to retrieve a bitfield formed from a
combination of font style modifiers (BOLD,
ITALIC, PLAIN,
UNDERLINED).
isBold(),
isItalic(),
isPlain()public boolean isBold()
BOLD style; otherwise, false.public boolean isItalic()
ITALIC style; otherwise,
false.public boolean isUnderlined()
UNDERLINED style; otherwise
false.public boolean isPlain()
PLAIN style; otherwise false.public static void setDefaultFont(Font defaultFont)
The GUID_FONT_CHANGED event is sent to the current
application. If the font is set prior to the application instance being
created, no notification is sent to this application that the font has
been changed.
defaultFont - Font to set as default; if null, application inherits
the default system font.public String toString()
You should not use this method to compare two fonts, particularly because the style value is internationalized and therefore changes from locale to locale.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright 1999-2004 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.