Class Typeface

java.lang.Object
org.apache.fop.fonts.Typeface
All Implemented Interfaces:
FontMetrics
Direct Known Subclasses:
AFPFont, Base14Font, CustomFont, CustomFontMetricsMapper, LazyFont, SystemFontMetricsMapper

public abstract class Typeface extends Object implements FontMetrics
Base class for font classes
  • Field Details

    • NOT_FOUND

      public static final char NOT_FOUND
      Code point that is used if no code point for a specific character has been found.
      See Also:
    • eventListener

      protected FontEventListener eventListener
      An optional event listener that receives events such as missing glyphs etc.
  • Constructor Details

    • Typeface

      public Typeface()
  • Method Details

    • getEncodingName

      public abstract String getEncodingName()
      Get the encoding of the font.
      Returns:
      the encoding
    • mapChar

      public abstract char mapChar(char c)
      Map a Unicode character to a code point in the font.
      Parameters:
      c - character to map
      Returns:
      the mapped character
    • notifyMapOperation

      protected void notifyMapOperation()
      Used for keeping track of character mapping operations in order to determine if a font was used at all or not.
    • hadMappingOperations

      public boolean hadMappingOperations()
      Indicates whether this font had to do any character mapping operations. If that was not the case, it's an indication that the font has never actually been used.
      Returns:
      true if the font had to do any character mapping operations
    • hasChar

      public abstract boolean hasChar(char c)
      Determines whether this font contains a particular character/glyph.
      Parameters:
      c - character to check
      Returns:
      True if the character is supported, Falso otherwise
    • isMultiByte

      public boolean isMultiByte()
      Determines whether the font is a multibyte font.
      Specified by:
      isMultiByte in interface FontMetrics
      Returns:
      True if it is multibyte
    • isCID

      public boolean isCID()
    • getMaxAscent

      public int getMaxAscent(int size)
      Returns the maximum ascent of the font described by this FontMetrics object. Note: This is not the same as getAscender().
      Specified by:
      getMaxAscent in interface FontMetrics
      Parameters:
      size - font size
      Returns:
      ascent in milliponts
    • hasFeature

      public boolean hasFeature(int tableType, String script, String language, String feature)
      Determine if metrics supports specific feature in specified font table.
      Specified by:
      hasFeature in interface FontMetrics
      Parameters:
      tableType - type of table (GSUB, GPOS, ...), see GlyphTable.GLYPH_TABLE_TYPE_*
      script - to qualify feature lookup
      language - to qualify feature lookup
      feature - to test
      Returns:
      true if feature supported (and has at least one lookup)
    • setEventListener

      public void setEventListener(FontEventListener listener)
      Sets the font event listener that can be used to receive events about particular events in this class.
      Parameters:
      listener - the font event listener
    • warnMissingGlyph

      protected void warnMissingGlyph(char c)
      Provide proper warning if a glyph is not available.
      Parameters:
      c - the character which is missing.
    • toString

      public String toString()
      Overrides:
      toString in class Object