Class AFPFont

  • All Implemented Interfaces:
    FontMetrics
    Direct Known Subclasses:
    AbstractOutlineFont, RasterFont

    public abstract class AFPFont
    extends Typeface
    All implementations of AFP fonts should extend this base class, the object implements the FontMetrics information.
    • Field Detail

      • STRIKEOUT_POSITION_FACTOR

        private static final double STRIKEOUT_POSITION_FACTOR
        See Also:
        Constant Field Values
      • name

        protected final java.lang.String name
        The font name
      • embeddable

        private final boolean embeddable
    • Constructor Detail

      • AFPFont

        public AFPFont​(java.lang.String name,
                       boolean embeddable)
        Constructor for the base font requires the name.
        Parameters:
        name - the name of the font
        embeddable - whether this font is to be embedded
    • Method Detail

      • getFontURI

        public java.net.URI getFontURI()
        Returns the URI of the font file from which these metrics were loaded.
        Returns:
        the font file's URI
      • getFontName

        public java.lang.String getFontName()
        Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").
        Returns:
        the font name
      • getEmbedFontName

        public java.lang.String getEmbedFontName()
        Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").
        Returns:
        the name for font embedding
      • getFullName

        public java.lang.String getFullName()
        Returns the font's full name (Example: "Helvetica Bold Oblique").
        Returns:
        the font's full name
      • getFamilyNames

        public java.util.Set<java.lang.String> getFamilyNames()
        Returns the font's family names as a Set of Strings (Example: "Helvetica").
        Returns:
        the font's family names (a Set of Strings)
      • getFontType

        public FontType getFontType()
        Returns the type of the font.
        Returns:
        the font type
      • hasKerningInfo

        public boolean hasKerningInfo()
        Indicates if the font has kerning information.
        Returns:
        True, if kerning is available.
      • getKerningInfo

        public java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> getKerningInfo()
        Returns the kerning map for the font.
        Returns:
        the kerning map
      • getCharacterSet

        public abstract CharacterSet getCharacterSet​(int size)
        Returns the character set for a given size
        Parameters:
        size - the font size
        Returns:
        the character set object
      • isEmbeddable

        public boolean isEmbeddable()
        Indicates if this font may be embedded.
        Returns:
        True, if embedding is possible/permitted
      • toUnicodeCodepoint

        protected static final char toUnicodeCodepoint​(int character)
        Maps mapped code points to Unicode code points.
        Parameters:
        character - the mapped code point
        Returns:
        the corresponding Unicode code point
      • getUnderlineThickness

        public int getUnderlineThickness​(int size)
        Returns the thickness of the underline.
        Parameters:
        size - font size
        Returns:
        the thickness in 1/1000ths of the font size
      • getStrikeoutPosition

        public int getStrikeoutPosition​(int size)
        Returns the distance from the baseline to the center of the strikeout line (negative value indicates below baseline).
        Parameters:
        size - font size
        Returns:
        the position in 1/1000ths of the font size
      • getStrikeoutThickness

        public int getStrikeoutThickness​(int size)
        Returns the thickness of the strikeout line.
        Parameters:
        size - font size
        Returns:
        the thickness in 1/1000ths of the font size
      • getBoundingBox

        public abstract java.awt.Rectangle getBoundingBox​(int glyphIndex,
                                                          int size)
        Returns the bounding box of the glyph at the given index, for the given font size.
        Parameters:
        glyphIndex - glyph index
        size - font size
        Returns:
        the scaled bounding box scaled in 1/1000ths of the given size
      • getWidths

        public int[] getWidths()
        Return the array of widths.

        This is used to get an array for inserting in an output format. It should not be used for lookup.

        Returns:
        an array of widths
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Typeface