|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.awt.FontMetrics
public abstract class FontMetrics
A font metrics object, which gives information about the rendering of a particular font on a particular screen. Note that the implementations of these methods are inefficient, they are usually overridden with more efficient toolkit-specific implementations.
Note to subclassers: Since many of these methods form closed mutually recursive loops, you must take care that you implement at least one of the methods in each such loop in order to prevent infinite recursion when your subclass is used. In particular, the following is the minimal suggested set of methods to override in order to ensure correctness and prevent infinite recursion (though other subsets are equally feasible):
When an application asks AWT to place a character at the position
(x, y), the character is placed so that its
reference point (shown as the dot in the accompanying image) is
put at that position. The reference point specifies a horizontal
line called the baseline of the character. In normal
printing, the baselines of characters should align.
In addition, every character in a font has an ascent, a descent, and an advance width. The ascent is the amount by which the character ascends above the baseline. The descent is the amount by which the character descends below the baseline. The advance width indicates the position at which AWT should place the next character.
If the current character is placed with its reference point
at the position (x, y), and
the character's advance width is w, then the following
character is placed with its reference point at the position
(x + w, y).
The advance width is often the same as the width of character's
bounding box, but need not be so. In particular, oblique and
italic fonts often have characters whose top-right corner extends
slightly beyond the advance width.
An array of characters or a string can also have an ascent, a descent, and an advance width. The ascent of the array is the maximum ascent of any character in the array. The descent is the maximum descent of any character in the array. The advance width is the sum of the advance widths of each of the characters in the array.
Font,
Serialized Form| Field Summary | |
|---|---|
protected Font |
font
The actual font. |
| Constructor Summary | |
|---|---|
protected |
FontMetrics(Font font)
Creates a new FontMetrics object for finding out
height and width information about the specified font and
specific character glyphs in that font. |
| Method Summary | |
|---|---|
int |
bytesWidth(byte[] data,
int off,
int len)
Returns the total advance width for showing the specified array of bytes in this Font. |
int |
charsWidth(char[] data,
int off,
int len)
Returns the total advance width for showing the specified array of characters in this Font. |
int |
charWidth(char ch)
Returns the advance width of the specified character in this Font. |
int |
charWidth(int ch)
Returns the advance width of the specified character in this Font. |
int |
getAscent()
Determines the font ascent of the font described by this font metric. |
int |
getDescent()
Determines the font descent of the font described by this font metric. |
Font |
getFont()
Gets the font described by this font metric. |
int |
getHeight()
Gets the standard height of a line of text in this font. |
int |
getLeading()
Determines the standard leading of the font described by this font metric. |
int |
getMaxAdvance()
Gets the maximum advance width of any character in this Font. |
int |
getMaxAscent()
Determines the maximum ascent of the font described by this font metric. |
int |
getMaxDecent()
Deprecated. As of JDK version 1.1.1, replaced by getMaxDescent(). |
int |
getMaxDescent()
Determines the maximum descent of the font described by this font metric. |
int[] |
getWidths()
Gets the advance widths of the first 256 characters in the Font. |
int |
stringWidth(String str)
Returns the total advance width for showing the specified String in this Font. |
String |
toString()
Returns a representation of this FontMetric
object's values as a string. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected Font font
getFont()| Constructor Detail |
|---|
protected FontMetrics(Font font)
FontMetrics object for finding out
height and width information about the specified font and
specific character glyphs in that font.
font - the fontFont| Method Detail |
|---|
public Font getFont()
public int getLeading()
getHeight(),
getAscent(),
getDescent()public int getAscent()
getMaxAscent()public int getDescent()
getMaxDescent()public int getHeight()
getLeading(),
getAscent(),
getDescent()public int getMaxAscent()
getAscent()public int getMaxDescent()
getDescent()public int getMaxDecent()
getMaxDescent().
getMaxDescent()public int getMaxAdvance()
-1 if the
maximum advance width is not known.public int charWidth(int ch)
ch - the character to be measured
char
in the font described by this font metric.charsWidth(char[], int, int),
stringWidth(java.lang.String)public int charWidth(char ch)
ch - the character to be measured
char >
in the font described by this font metric.charsWidth(char[], int, int),
stringWidth(java.lang.String)public int stringWidth(String str)
str - the String to be measured
bytesWidth(byte[], int, int),
charsWidth(char[], int, int)
public int charsWidth(char[] data,
int off,
int len)
data - the array of characters to be measuredoff - the start offset of the characters in the arraylen - the number of characters to be measured from the array
char array in the font described by
this font metric.charWidth(int),
charWidth(char),
bytesWidth(byte[], int, int),
stringWidth(java.lang.String)
public int bytesWidth(byte[] data,
int off,
int len)
data - the array of bytes to be measuredoff - the start offset of the bytes in the arraylen - the number of bytes to be measured from the array
byte array in the font described by
this font metric.charsWidth(char[], int, int),
stringWidth(java.lang.String)public int[] getWidths()
public String toString()
FontMetric
object's values as a string.
toString in class Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||