Class PFMFile


  • public class PFMFile
    extends java.lang.Object
    This class represents a PFM file (or parts of it) as a Java object.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.apache.commons.logging.Log log
      logging instance
    • Constructor Summary

      Constructors 
      Constructor Description
      PFMFile()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getCapHeight()
      Returns the CapHeight parameter for the font (height of uppercase H).
      short getCharSet()
      Returns the charset used for the font.
      java.lang.String getCharSetName()
      Returns the charset of the font as a string.
      int getCharWidth​(short which)
      Returns the width of a character
      short getFirstChar()
      Returns the number of the character that defines the first entry in the widths list.
      int getFlags()
      Returns the characteristics flags for the font as needed for a PDF font descriptor (See PDF specs).
      int[] getFontBBox()
      Returns the bounding box for the font.
      boolean getIsProportional()
      Tells whether the font has proportional character spacing.
      int getItalicAngle()
      Returns the italic angle of the font.
      java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> getKerning()
      Return the kerning table.
      short getLastChar()
      Returns the number of the character that defines the last entry in the widths list.
      int getLowerCaseAscent()
      Returns the LowerCaseAscent parameter for the font (height of lowercase d).
      int getLowerCaseDescent()
      Returns the LowerCaseDescent parameter for the font (height of lowercase p).
      java.lang.String getPostscriptName()
      Returns the Postscript name of the font.
      int getStemV()
      Returns the width of the dominant vertical stems of the font.
      java.lang.String getWindowsName()
      Returns the Windows name of the font.
      int getXHeight()
      Returns the XHeight parameter for the font (height of lowercase x).
      boolean isNonSymbolic()
      Indicates whether the font is non-symbolic (Font uses the Adobe standard Latin character set or a subset of it).
      void load​(java.io.InputStream inStream)
      Parses a PFM file
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • log

        protected org.apache.commons.logging.Log log
        logging instance
    • Constructor Detail

      • PFMFile

        public PFMFile()
    • Method Detail

      • load

        public void load​(java.io.InputStream inStream)
                  throws java.io.IOException
        Parses a PFM file
        Parameters:
        inStream - The stream from which to read the PFM file.
        Throws:
        java.io.IOException - In case of an I/O problem
      • getWindowsName

        public java.lang.String getWindowsName()
        Returns the Windows name of the font.
        Returns:
        The Windows name.
      • getKerning

        public java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> getKerning()
        Return the kerning table. The kerning table is a Map with strings with glyphnames as keys, containing Maps as value. The value map contains a glyph name string key and an Integer value
        Returns:
        A Map containing the kerning table
      • getPostscriptName

        public java.lang.String getPostscriptName()
        Returns the Postscript name of the font.
        Returns:
        The Postscript name.
      • getCharSet

        public short getCharSet()
        Returns the charset used for the font.
        Returns:
        The charset (0=WinAnsi).
      • getCharSetName

        public java.lang.String getCharSetName()
        Returns the charset of the font as a string.
        Returns:
        The name of the charset.
      • getFirstChar

        public short getFirstChar()
        Returns the number of the character that defines the first entry in the widths list.
        Returns:
        The number of the first character.
      • getLastChar

        public short getLastChar()
        Returns the number of the character that defines the last entry in the widths list.
        Returns:
        The number of the last character.
      • getCapHeight

        public int getCapHeight()
        Returns the CapHeight parameter for the font (height of uppercase H).
        Returns:
        The CapHeight parameter.
      • getXHeight

        public int getXHeight()
        Returns the XHeight parameter for the font (height of lowercase x).
        Returns:
        The CapHeight parameter.
      • getLowerCaseAscent

        public int getLowerCaseAscent()
        Returns the LowerCaseAscent parameter for the font (height of lowercase d).
        Returns:
        The LowerCaseAscent parameter.
      • getLowerCaseDescent

        public int getLowerCaseDescent()
        Returns the LowerCaseDescent parameter for the font (height of lowercase p).
        Returns:
        The LowerCaseDescent parameter.
      • getIsProportional

        public boolean getIsProportional()
        Tells whether the font has proportional character spacing.
        Returns:
        ex. true for Times, false for Courier.
      • getFontBBox

        public int[] getFontBBox()
        Returns the bounding box for the font. Note: this value is just an approximation, it does not really exist in the PFM file.
        Returns:
        The calculated Font BBox.
      • isNonSymbolic

        public boolean isNonSymbolic()
        Indicates whether the font is non-symbolic (Font uses the Adobe standard Latin character set or a subset of it).
        Returns:
        true if the font is non-symbolic
      • getFlags

        public int getFlags()
        Returns the characteristics flags for the font as needed for a PDF font descriptor (See PDF specs).
        Returns:
        The characteristics flags.
      • getStemV

        public int getStemV()
        Returns the width of the dominant vertical stems of the font. Note: this value is just an approximation, it does not really exist in the PFM file.
        Returns:
        The vertical stem width.
      • getItalicAngle

        public int getItalicAngle()
        Returns the italic angle of the font. Note: this value is just an approximation, it does not really exist in the PFM file.
        Returns:
        The italic angle.
      • getCharWidth

        public int getCharWidth​(short which)
        Returns the width of a character
        Parameters:
        which - The number of the character for which the width is requested.
        Returns:
        The width of a character.