Package org.docx4j.fonts.fop.fonts.type1
Class PFMFile
java.lang.Object
org.docx4j.fonts.fop.fonts.type1.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.slf4j.Loggerloglogging instance -
Constructor Summary
Constructors Constructor Description PFMFile() -
Method Summary
Modifier and Type Method Description intgetCapHeight()Returns the CapHeight parameter for the font (height of uppercase H).shortgetCharSet()Returns the charset used for the font.java.lang.StringgetCharSetName()Returns the charset of the font as a string.intgetCharWidth(short which)Returns the width of a charactershortgetFirstChar()Returns the number of the character that defines the first entry in the widths list.intgetFlags()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.booleangetIsProportional()Tells whether the font has proportional character spacing.intgetItalicAngle()Returns the italic angle of the font.java.util.MapgetKerning()Return the kerning table.shortgetLastChar()Returns the number of the character that defines the last entry in the widths list.intgetLowerCaseAscent()Returns the LowerCaseAscent parameter for the font (height of lowercase d).intgetLowerCaseDescent()Returns the LowerCaseDescent parameter for the font (height of lowercase p).java.lang.StringgetPostscriptName()Returns the Postscript name of the font.intgetStemV()Returns the width of the dominant vertical stems of the font.java.lang.StringgetWindowsName()Returns the Windows name of the font.intgetXHeight()Returns the XHeight parameter for the font (height of lowercase x).booleanisNonSymbolic()Indicates whether the font is non-symbolic (Font uses the Adobe standard Latin character set or a subset of it).voidload(java.io.InputStream inStream)Parses a PFM file
-
Field Details
-
log
protected org.slf4j.Logger loglogging instance
-
-
Constructor Details
-
PFMFile
public PFMFile()
-
-
Method Details
-
load
public void load(java.io.InputStream inStream) throws java.io.IOExceptionParses 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 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.
-