Class TrueTypeFontRecord
- java.lang.Object
-
- org.pentaho.reporting.libraries.fonts.truetype.TrueTypeFontRecord
-
- All Implemented Interfaces:
java.io.Serializable,FontRecord,FontSource
public class TrueTypeFontRecord extends java.lang.Object implements FontSource
A true-type font record. The record contains meta-information about the font, which allows the system to lookup the font by one of its names and other style attributes. A font without a 'name' table is rejected. The Name-Table is a mandatory table in the OpenType standard, and only weird MacOS fonts omit that table. Missing 'head' or 'OS/2' tables are ignored and default values are assumed instead.- Author:
- Thomas Morgner
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description TrueTypeFontRecord(TrueTypeFont trueTypeFont, FontFamily family)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)intgetCollectionIndex()FontFamilygetFamily()Returns the family for this record.java.lang.StringgetFontSource()Returns the file name used to load the font.FontIdentifiergetIdentifier()This identifies the font resource assigned to this record.longgetOffset()inthashCode()booleanisBold()Returns true, if this font corresponds to a bold version of the font.booleanisEmbeddable()booleanisItalic()Returns true, if this font includes italic glyphs.booleanisNonWindows()booleanisOblique()Returns tue, if this font's italic mode is in fact some sort of being oblique.
-
-
-
Constructor Detail
-
TrueTypeFontRecord
public TrueTypeFontRecord(TrueTypeFont trueTypeFont, FontFamily family) throws java.io.IOException, FontException
- Throws:
java.io.IOExceptionFontException
-
-
Method Detail
-
getOffset
public long getOffset()
-
getFamily
public FontFamily getFamily()
Description copied from interface:FontRecordReturns the family for this record.- Specified by:
getFamilyin interfaceFontRecord- Returns:
- the font family.
-
isEmbeddable
public boolean isEmbeddable()
- Specified by:
isEmbeddablein interfaceFontSource
-
isBold
public boolean isBold()
Description copied from interface:FontRecordReturns 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:
isBoldin interfaceFontRecord- Returns:
- true, if the font provides bold glyphs, false otherwise.
-
isItalic
public boolean isItalic()
Description copied from interface:FontRecordReturns 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:
isItalicin interfaceFontRecord- Returns:
- true, if the font is italic.
-
isOblique
public boolean isOblique()
Description copied from interface:FontRecordReturns 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:
isObliquein interfaceFontRecord- Returns:
- true, if the font is oblique. All italic fonts are also oblique.
-
getFontSource
public java.lang.String getFontSource()
Description copied from interface:FontSourceReturns the file name used to load the font. This method exists only for iText.- Specified by:
getFontSourcein interfaceFontSource- Returns:
- this is needed for iText.
-
getCollectionIndex
public int getCollectionIndex()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
getIdentifier
public FontIdentifier getIdentifier()
This identifies the font resource assigned to this record.- Specified by:
getIdentifierin interfaceFontRecord- Returns:
-
isNonWindows
public boolean isNonWindows()
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-