Class RasterFont

All Implemented Interfaces:
FontMetrics

public class RasterFont extends AFPFont
A font where each character is stored as an array of pixels (a bitmap). Such fonts are not easily scalable, in contrast to vectored fonts. With this type of font, the font metrics information is held in character set files (one for each size and style).
  • Field Details

    • LOG

      protected static final org.apache.commons.logging.Log LOG
      Static logging instance
  • Constructor Details

    • RasterFont

      public RasterFont(String name, boolean embeddable)
      Constructor for the raster font requires the name, weight and style attribute to be available as this forms the key to the font.
      Parameters:
      name - the name of the font
      embeddable - true if the font is embeddable
  • Method Details

    • addCharacterSet

      public void addCharacterSet(int size, CharacterSet characterSet)
      Adds the character set for the given point size
      Parameters:
      size - point size (in mpt)
      characterSet - character set
    • getCharacterSet

      public CharacterSet getCharacterSet(int sizeInMpt)
      Get the character set metrics for the specified point size.
      Specified by:
      getCharacterSet in class AFPFont
      Parameters:
      sizeInMpt - the point size (in mpt)
      Returns:
      the character set metrics
    • getAscender

      public int getAscender(int size)
      The ascender is the part of a lowercase letter that extends above the "x-height" (the height of the letter "x"), such as "d", "t", or "h". Also used to denote the part of the letter extending above the x-height.
      Parameters:
      size - the font size (in mpt)
      Returns:
      the ascender for the given point size
    • getUnderlinePosition

      public int getUnderlinePosition(int size)
      Returns the distance from the baseline to the center of the underline (negative value indicates below baseline).
      Parameters:
      size - font size
      Returns:
      the position in 1/1000ths of the font size
    • getUnderlineThickness

      public int getUnderlineThickness(int size)
      Description copied from class: AFPFont
      Returns the thickness of the underline.
      Specified by:
      getUnderlineThickness in interface FontMetrics
      Overrides:
      getUnderlineThickness in class AFPFont
      Parameters:
      size - font size
      Returns:
      the thickness in 1/1000ths of the font size
    • getCapHeight

      public int getCapHeight(int size)
      Obtains the height of capital letters for the specified point size.
      Parameters:
      size - the font size (in mpt)
      Returns:
      the cap height for the specified point size
    • getDescender

      public int getDescender(int size)
      The descender is the part of a lowercase letter that extends below the base line, such as "g", "j", or "p". Also used to denote the part of the letter extending below the base line.
      Parameters:
      size - the font size (in mpt)
      Returns:
      the descender for the specified point size
    • getXHeight

      public int getXHeight(int size)
      The "x-height" (the height of the letter "x").
      Parameters:
      size - the font size (in mpt)
      Returns:
      the x height for the given point size
    • getWidth

      public int getWidth(int character, int size)
      Obtain the width of the character for the specified point size.
      Parameters:
      character - the character
      size - the font size (in mpt)
      Returns:
      the width for the given point size
    • getBoundingBox

      public Rectangle getBoundingBox(int character, int size)
      TODO
      Specified by:
      getBoundingBox in interface FontMetrics
      Specified by:
      getBoundingBox in class AFPFont
      Parameters:
      character - glyph index
      size - font size
      Returns:
      the scaled bounding box scaled in 1/1000ths of the given size
    • hasChar

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

      public char mapChar(char c)
      Map a Unicode character to a code point in the font.
      Specified by:
      mapChar in class Typeface
      Parameters:
      c - character to map
      Returns:
      the mapped character
    • getEncodingName

      public String getEncodingName()
      Get the encoding of the font.
      Specified by:
      getEncodingName in class Typeface
      Returns:
      the encoding