org.pentaho.reporting.libraries.fonts.awt
Class AWTFontMetrics

java.lang.Object
  extended by org.pentaho.reporting.libraries.fonts.awt.AWTFontMetrics
All Implemented Interfaces:
FontMetrics

public class AWTFontMetrics
extends java.lang.Object
implements FontMetrics

Creation-Date: 16.12.2005, 21:09:39

Author:
Thomas Morgner

Constructor Summary
AWTFontMetrics(java.awt.Font font, FontContext context)
           
 
Method Summary
 long getAscent()
          From the baseline to the
 BaselineInfo getBaselines(int c, BaselineInfo info)
          Baselines are defined for scripts, not glyphs.
 long getCharWidth(int character)
           
 long getDescent()
          The font descent is the distance from the font's baseline to the bottom of most alphanumeric characters.
 java.awt.Font getFont()
           
 long getItalicAngle()
          Returns zero, as the AWT renderer will take care of the italic rendering already.
 long getKerning(int previous, int character)
          This method is EXPENSIVE.
 long getLeading()
          The standard leading, or interline spacing, is the logical amount of space to be reserved between the descent of one line of text and the ascent of the next line.
 long getMaxAscent()
           
 long getMaxCharAdvance()
           
 long getMaxDescent()
           
 long getMaxHeight()
           
 long getOverlinePosition()
           
 long getStrikeThroughPosition()
           
 long getUnderlinePosition()
           
 long getXHeight()
          The height of the lowercase 'x'.
 boolean isUniformFontMetrics()
          Is it guaranteed that the font always returns the same baseline info objct?
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AWTFontMetrics

public AWTFontMetrics(java.awt.Font font,
                      FontContext context)
Method Detail

getFont

public java.awt.Font getFont()

getAscent

public long getAscent()
From the baseline to the

Specified by:
getAscent in interface FontMetrics
Returns:

getDescent

public long getDescent()
Description copied from interface: FontMetrics
The font descent is the distance from the font's baseline to the bottom of most alphanumeric characters. The descent is always a positive number.

Specified by:
getDescent in interface FontMetrics
Returns:
the descent.

getLeading

public long getLeading()
Description copied from interface: FontMetrics
The standard leading, or interline spacing, 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. The leading is always a positive number.

Specified by:
getLeading in interface FontMetrics
Returns:
the leading.

getXHeight

public long getXHeight()
The height of the lowercase 'x'. This is used as hint, which size the lowercase characters will have.

Specified by:
getXHeight in interface FontMetrics
Returns:

getOverlinePosition

public long getOverlinePosition()
Specified by:
getOverlinePosition in interface FontMetrics

getUnderlinePosition

public long getUnderlinePosition()
Specified by:
getUnderlinePosition in interface FontMetrics

getStrikeThroughPosition

public long getStrikeThroughPosition()
Specified by:
getStrikeThroughPosition in interface FontMetrics

getMaxAscent

public long getMaxAscent()
Specified by:
getMaxAscent in interface FontMetrics

getMaxDescent

public long getMaxDescent()
Specified by:
getMaxDescent in interface FontMetrics

getMaxHeight

public long getMaxHeight()
Specified by:
getMaxHeight in interface FontMetrics

getMaxCharAdvance

public long getMaxCharAdvance()
Specified by:
getMaxCharAdvance in interface FontMetrics

getCharWidth

public long getCharWidth(int character)
Specified by:
getCharWidth in interface FontMetrics

getKerning

public long getKerning(int previous,
                       int character)
This method is EXPENSIVE.

Specified by:
getKerning in interface FontMetrics
Parameters:
previous -
character -
Returns:

getBaselines

public BaselineInfo getBaselines(int c,
                                 BaselineInfo info)
Baselines are defined for scripts, not glyphs. A glyph carries script information most of the time (unless it is a neutral characters or just weird).

The baseline info does not take any leading into account.

Specified by:
getBaselines in interface FontMetrics
Parameters:
c - the character that is used to select the script type.
Returns:

isUniformFontMetrics

public boolean isUniformFontMetrics()
Is it guaranteed that the font always returns the same baseline info objct?

Specified by:
isUniformFontMetrics in interface FontMetrics
Returns:
true, if the baseline info in question is always the same, false otherwise.

getItalicAngle

public long getItalicAngle()
Returns zero, as the AWT renderer will take care of the italic rendering already. We do not have to apply any special transformations to the font to make it look italic.

Specified by:
getItalicAngle in interface FontMetrics
Returns:
always zero.