org.pentaho.reporting.libraries.fonts.afm
Class AfmFontRecord

java.lang.Object
  extended by org.pentaho.reporting.libraries.fonts.afm.AfmFontRecord
All Implemented Interfaces:
java.io.Serializable, FontIdentifier, FontRecord, FontSource

public class AfmFontRecord
extends java.lang.Object
implements FontSource, FontIdentifier

Creation-Date: 22.07.2007, 17:19:04

Author:
Thomas Morgner
See Also:
Serialized Form

Constructor Summary
AfmFontRecord(AfmFont font, DefaultFontFamily fontFamily)
           
 
Method Summary
 boolean equals(java.lang.Object o)
           
 FontFamily getFamily()
          Returns the family for this record.
 java.lang.String getFontSource()
          Returns the file name used to load the font.
 FontType getFontType()
          Returns the general type of this font identifier.
 FontIdentifier getIdentifier()
           
 int hashCode()
           
 boolean isBold()
          Returns true, if this font corresponds to a bold version of the font.
 boolean isEmbeddable()
           
 boolean isItalic()
          Returns true, if this font includes italic glyphs.
 boolean isOblique()
          Returns tue, if this font's italic mode is in fact some sort of being oblique.
 boolean isScalable()
          Defines, whether the font identifier represents a scalable font type.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AfmFontRecord

public AfmFontRecord(AfmFont font,
                     DefaultFontFamily fontFamily)
Method Detail

getFamily

public FontFamily getFamily()
Description copied from interface: FontRecord
Returns the family for this record.

Specified by:
getFamily in interface FontRecord
Returns:
the font family.

isBold

public boolean isBold()
Description copied from interface: FontRecord
Returns true, if this font corresponds to a bold version of the font. A font-renderer that renders a font that does not provide a bold face must emulate the boldness using other means.

The font should *not* lie here and say 'true', if it does not contain bold glyphs, as this will make it impossible to differentiate between native bold fonts and fonts for which the renderer will have to provide boldness.

Specified by:
isBold in interface FontRecord
Returns:
true, if the font provides bold glyphs, false otherwise.

isItalic

public boolean isItalic()
Description copied from interface: FontRecord
Returns true, if this font includes italic glyphs. Italics is different from oblique, as certain glyphs (most notably the lowercase 'f') will have a different appearance, making the font look more like a script font. A font-renderer that renders a font that does not provide an italic face must emulate the italics using other means.

The font should *not* lie here and say 'true', if it does not contain italic glyphs, as this will make it impossible to differentiate between native italics fonts and fonts for which the renderer will have to provide the italics style.

Specified by:
isItalic in interface FontRecord
Returns:
true, if the font is italic.

isOblique

public boolean isOblique()
Description copied from interface: FontRecord
Returns tue, if this font's italic mode is in fact some sort of being oblique. An oblique font's glyphs are sheared, but they are not made to look more script like. A font-renderer that renders a font that does not provide a oblique face must emulate the oblique-mode using other means.

The font should *not* lie here and say 'true', if it does not contain oblique glyphs, as this will make it impossible to differentiate between native oblique fonts and fonts for which the renderer will have to provide the oblique style.

Specified by:
isOblique in interface FontRecord
Returns:
true, if the font is oblique. All italic fonts are also oblique.

getIdentifier

public FontIdentifier getIdentifier()
Specified by:
getIdentifier in interface FontRecord

getFontSource

public java.lang.String getFontSource()
Description copied from interface: FontSource
Returns the file name used to load the font. This method exists only for iText.

Specified by:
getFontSource in interface FontSource
Returns:
this is needed for iText.

isEmbeddable

public boolean isEmbeddable()
Specified by:
isEmbeddable in interface FontSource

isScalable

public boolean isScalable()
Description copied from interface: FontIdentifier
Defines, whether the font identifier represents a scalable font type. Such fonts usually create one font metric object for each physical font, and apply the font size afterwards.

Specified by:
isScalable in interface FontIdentifier
Returns:
true, if the font is scalable, false otherwise

getFontType

public FontType getFontType()
Description copied from interface: FontIdentifier
Returns the general type of this font identifier. This is for debugging, not for the real world.

Specified by:
getFontType in interface FontIdentifier
Returns:

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in interface FontIdentifier
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Specified by:
hashCode in interface FontIdentifier
Overrides:
hashCode in class java.lang.Object