Class TrueTypeFontRecord

  • All Implemented Interfaces:
    Serializable, FontRecord, FontSource

    public class TrueTypeFontRecord
    extends 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
    • Method Detail

      • getOffset

        public long getOffset()
      • 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.
      • getFontSource

        public 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.
      • getCollectionIndex

        public int getCollectionIndex()
      • isNonWindows

        public boolean isNonWindows()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object