java.awt
Class FontMetrics

java.lang.Object
  |
  +--java.awt.FontMetrics

public abstract class FontMetrics
extends Object

A font metrics object. Note that the implementations of these methods are inefficient, they are usually overridden with more efficient toolkit specific implementations.


Field Summary
protected  Font font
          The actual font.
 
Constructor Summary
protected FontMetrics(Font font)
          Creates a new FontMetrics object with the specified 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()
          Gets the font ascent.
 int getDescent()
          Gets the font descent.
 Font getFont()
          Gets the font.
 int getHeight()
          Gets the standard height of a line of text in this font.
 int getLeading()
          Gets the standard leading, or line spacing, for the font.
 int getMaxAdvance()
          Gets the maximum advance width of any character in this Font.
 int getMaxAscent()
          Gets the maximum ascent of all characters in this Font.
 int getMaxDecent()
          For backward compatibility only.
 int getMaxDescent()
          Gets the maximum descent of all characters in this Font.
 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 the String representation of this FontMetric's values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

font

protected Font font
The actual font.

See Also:
getFont()
Constructor Detail

FontMetrics

protected FontMetrics(Font font)
Creates a new FontMetrics object with the specified font.

Parameters:
font - the font
See Also:
Font
Method Detail

getFont

public Font getFont()
Gets the font.


getLeading

public int getLeading()
Gets the standard leading, or line spacing, for the font. This is the logical amount of space to be reserved between the descent of one line of text and the ascent of the next line. The height metric is calculated to include this extra space.


getAscent

public int getAscent()
Gets the font ascent. The font ascent is the distance from the base line to the top of most Alphanumeric characters. Note, however, that some characters in the font may extend above this height.

See Also:
getMaxAscent()

getDescent

public int getDescent()
Gets the font descent. The font descent is the distance from the base line to the bottom of most Alphanumeric characters. Note, however, that some characters in the font may extend below this height.

See Also:
getMaxDescent()

getHeight

public int getHeight()
Gets the standard height of a line of text in this font. This is the distance between the baseline of adjacent lines of text. It is the sum of the leading + ascent + descent. There is no guarantee that lines of text spaced at this distance will be disjoint; such lines may overlap if some characters overshoot either the standard ascent or the standard descent metric.


getMaxAscent

public int getMaxAscent()
Gets the maximum ascent of all characters in this Font. No character will extend further above the baseline than this distance.

See Also:
getAscent()

getMaxDescent

public int getMaxDescent()
Gets the maximum descent of all characters in this Font. No character will descend futher below the baseline than this distance.

See Also:
getDescent()

getMaxDecent

public int getMaxDecent()
For backward compatibility only.

See Also:
getMaxDescent()

getMaxAdvance

public int getMaxAdvance()
Gets the maximum advance width of any character in this Font. The advance width is the amount by which the current point is moved from one character to the next in a line of text.

Returns:
-1 if the max advance is not known.

charWidth

public int charWidth(int ch)
Returns the advance width of the specified character in this Font. The advance width is the amount by which the current point is moved from one character to the next in a line of text.

Parameters:
ch - the character to be measured
See Also:
stringWidth(java.lang.String)

charWidth

public int charWidth(char ch)
Returns the advance width of the specified character in this Font. The advance width is the amount by which the current point is moved from one character to the next in a line of text.

Parameters:
ch - the character to be measured
See Also:
stringWidth(java.lang.String)

stringWidth

public int stringWidth(String str)
Returns the total advance width for showing the specified String in this Font. The advance width is the amount by which the current point is moved from one character to the next in a line of text.

Parameters:
str - the String to be measured
See Also:
charsWidth(char[], int, int), bytesWidth(byte[], int, int)

charsWidth

public int charsWidth(char[] data,
                      int off,
                      int len)
Returns the total advance width for showing the specified array of characters in this Font. The advance width is the amount by which the current point is moved from one character to the next in a line of text.

Parameters:
data - the array of characters to be measured
off - the start offset of the characters in the array
len - the number of characters to be measured from the array
See Also:
stringWidth(java.lang.String), bytesWidth(byte[], int, int)

bytesWidth

public int bytesWidth(byte[] data,
                      int off,
                      int len)
Returns the total advance width for showing the specified array of bytes in this Font. The advance width is the amount by which the current point is moved from one character to the next in a line of text.

Parameters:
data - the array of bytes to be measured
off - the start offset of the bytes in the array
len - the number of bytes to be measured from the array
See Also:
stringWidth(java.lang.String), charsWidth(char[], int, int)

getWidths

public int[] getWidths()
Gets the advance widths of the first 256 characters in the Font. The advance width is the amount by which the current point is moved from one character to the next in a line of text.


toString

public String toString()
Returns the String representation of this FontMetric's values.

Overrides:
toString in class Object