Package org.apache.fop.fonts.type1
Class AFMFile
- java.lang.Object
-
- org.apache.fop.fonts.type1.AFMFile
-
public class AFMFile extends java.lang.Object
Represents the contents of a Type 1 AFM font metrics file.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Number
ascender
private java.lang.Number
capHeight
private java.lang.String
characterSet
private java.util.List<AFMCharMetrics>
charMetrics
private java.util.Map<java.lang.String,AFMCharMetrics>
charNameToMetrics
private java.lang.Number
descender
private java.lang.String
encodingScheme
private java.lang.String
familyName
private int
firstChar
private java.awt.geom.RectangularShape
fontBBox
private java.lang.String
fontName
private java.lang.String
fullName
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.awt.geom.Dimension2D>>
kerningMap
private int
lastChar
private static org.apache.commons.logging.Log
LOG
logging instanceprivate java.lang.Number
stdHW
private java.lang.Number
stdVW
private java.lang.String
weight
private AFMWritingDirectionMetrics[]
writingDirectionMetrics
private java.lang.Number
xHeight
-
Constructor Summary
Constructors Constructor Description AFMFile()
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCharMetrics(AFMCharMetrics metrics)
Adds new character metrics.void
addXKerning(java.lang.String name1, java.lang.String name2, double kx)
Adds a X-kerning entry.java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.lang.Integer>>
createXKerningMapEncoded()
Creates and returns a kerning map for writing mode 0 (ltr) with character codes.java.lang.Number
getAscender()
Returns the Ascender value.java.lang.Number
getCapHeight()
Returns the CapHeight value.AFMCharMetrics
getChar(java.lang.String name)
Returns the character metrics associated with the character name.java.lang.String
getCharacterSet()
Returns the CharacterSet value.int
getCharCount()
Returns the number of character available for this font.java.util.List<AFMCharMetrics>
getCharMetrics()
Returns the list of AFMCharMetrics instances representing all the available characters.java.lang.Number
getDescender()
Returns the Descender value.java.lang.String
getEncodingScheme()
Returns the EncodingScheme value.java.lang.String
getFamilyName()
Returns the FamilyName value.int
getFirstChar()
Returns the first character index in the encoding that has a glyph.java.awt.geom.RectangularShape
getFontBBox()
Returns the FontBBox value.int[]
getFontBBoxAsIntArray()
Returns the FontBBox value as integer array.java.lang.String
getFontName()
Returns the FontName value.java.lang.String
getFullName()
Returns the FullName value.int
getLastChar()
Returns the last character index in the encoding that has a glyph.java.lang.Number
getStdHW()
Returns the StdHW value.java.lang.Number
getStdVW()
Returns the StdVW value.java.lang.String
getWeight()
Returns the Weight value.AFMWritingDirectionMetrics
getWritingDirectionMetrics(int index)
Gets writing direction metrics.java.lang.Number
getXHeight()
Returns the XHeight value.boolean
hasKerning()
Indicates whether the font has kerning information.void
overridePrimaryEncoding(SingleByteEncoding encoding)
The character codes in an AFM cannot always be trusted to be the same values as in the font's primary encoding.void
setAscender(java.lang.Number ascender)
Sets the Ascender value.void
setCapHeight(java.lang.Number capHeight)
Sets the CapHeight value.void
setCharacterSet(java.lang.String characterSet)
Sets the CharacterSet value.void
setDescender(java.lang.Number descender)
Sets the Descender value.void
setEncodingScheme(java.lang.String encodingScheme)
Sets the EncodingScheme valuevoid
setFamilyName(java.lang.String familyName)
Sets the FamilyName value.void
setFontBBox(java.awt.geom.RectangularShape fontBBox)
Sets the FontBBox value.void
setFontName(java.lang.String fontName)
Sets the FontName value.void
setFullName(java.lang.String fullName)
Sets the FullName value.void
setStdHW(java.lang.Number stdHW)
Sets the StdHW value.void
setStdVW(java.lang.Number stdVW)
Sets the StdVW value.void
setWeight(java.lang.String weight)
Sets the Weight value.void
setWritingDirectionMetrics(int index, AFMWritingDirectionMetrics metrics)
Sets writing direction metrics.void
setXHeight(java.lang.Number height)
Sets the XHeight value.java.lang.String
toString()
-
-
-
Field Detail
-
LOG
private static final org.apache.commons.logging.Log LOG
logging instance
-
fontName
private java.lang.String fontName
-
fullName
private java.lang.String fullName
-
familyName
private java.lang.String familyName
-
weight
private java.lang.String weight
-
fontBBox
private java.awt.geom.RectangularShape fontBBox
-
encodingScheme
private java.lang.String encodingScheme
-
characterSet
private java.lang.String characterSet
-
capHeight
private java.lang.Number capHeight
-
xHeight
private java.lang.Number xHeight
-
ascender
private java.lang.Number ascender
-
descender
private java.lang.Number descender
-
stdHW
private java.lang.Number stdHW
-
stdVW
private java.lang.Number stdVW
-
writingDirectionMetrics
private AFMWritingDirectionMetrics[] writingDirectionMetrics
-
charMetrics
private java.util.List<AFMCharMetrics> charMetrics
-
charNameToMetrics
private java.util.Map<java.lang.String,AFMCharMetrics> charNameToMetrics
-
firstChar
private int firstChar
-
lastChar
private int lastChar
-
kerningMap
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.awt.geom.Dimension2D>> kerningMap
-
-
Method Detail
-
getFontName
public java.lang.String getFontName()
Returns the FontName value.- Returns:
- the font name
-
setFontName
public void setFontName(java.lang.String fontName)
Sets the FontName value.- Parameters:
fontName
- the font name to set
-
getFullName
public java.lang.String getFullName()
Returns the FullName value.- Returns:
- the full name of the font
-
setFullName
public void setFullName(java.lang.String fullName)
Sets the FullName value.- Parameters:
fullName
- the full name to set
-
getFamilyName
public java.lang.String getFamilyName()
Returns the FamilyName value.- Returns:
- the family name of the font
-
setFamilyName
public void setFamilyName(java.lang.String familyName)
Sets the FamilyName value.- Parameters:
familyName
- the family name to set
-
getWeight
public java.lang.String getWeight()
Returns the Weight value.- Returns:
- the weight
-
setWeight
public void setWeight(java.lang.String weight)
Sets the Weight value.- Parameters:
weight
- the weight to set
-
getFontBBox
public java.awt.geom.RectangularShape getFontBBox()
Returns the FontBBox value.- Returns:
- the font's bounding box
-
getFontBBoxAsIntArray
public int[] getFontBBoxAsIntArray()
Returns the FontBBox value as integer array.- Returns:
- the font's bounding box
-
setFontBBox
public void setFontBBox(java.awt.geom.RectangularShape fontBBox)
Sets the FontBBox value.- Parameters:
fontBBox
- the fontBBox to set
-
getEncodingScheme
public java.lang.String getEncodingScheme()
Returns the EncodingScheme value.- Returns:
- the encoding scheme
-
setEncodingScheme
public void setEncodingScheme(java.lang.String encodingScheme)
Sets the EncodingScheme value- Parameters:
encodingScheme
- the encodingScheme to set
-
getCharacterSet
public java.lang.String getCharacterSet()
Returns the CharacterSet value.- Returns:
- the characterSet
-
setCharacterSet
public void setCharacterSet(java.lang.String characterSet)
Sets the CharacterSet value.- Parameters:
characterSet
- the characterSet to set
-
getCapHeight
public java.lang.Number getCapHeight()
Returns the CapHeight value.- Returns:
- the capHeight
-
setCapHeight
public void setCapHeight(java.lang.Number capHeight)
Sets the CapHeight value.- Parameters:
capHeight
- the capHeight to set
-
getXHeight
public java.lang.Number getXHeight()
Returns the XHeight value.- Returns:
- the xHeight
-
setXHeight
public void setXHeight(java.lang.Number height)
Sets the XHeight value.- Parameters:
height
- the xHeight to set
-
getAscender
public java.lang.Number getAscender()
Returns the Ascender value.- Returns:
- the ascender
-
setAscender
public void setAscender(java.lang.Number ascender)
Sets the Ascender value.- Parameters:
ascender
- the ascender to set
-
getDescender
public java.lang.Number getDescender()
Returns the Descender value.- Returns:
- the descender
-
setDescender
public void setDescender(java.lang.Number descender)
Sets the Descender value.- Parameters:
descender
- the descender to set
-
getStdHW
public java.lang.Number getStdHW()
Returns the StdHW value.- Returns:
- the descender
-
setStdHW
public void setStdHW(java.lang.Number stdHW)
Sets the StdHW value.- Parameters:
stdHW
- the StdHW to set
-
getStdVW
public java.lang.Number getStdVW()
Returns the StdVW value.- Returns:
- the descender
-
setStdVW
public void setStdVW(java.lang.Number stdVW)
Sets the StdVW value.- Parameters:
stdVW
- the StdVW to set
-
getWritingDirectionMetrics
public AFMWritingDirectionMetrics getWritingDirectionMetrics(int index)
Gets writing direction metrics.- Parameters:
index
- the writing direction (0, 1 or 2)- Returns:
- the writing direction metrics
-
setWritingDirectionMetrics
public void setWritingDirectionMetrics(int index, AFMWritingDirectionMetrics metrics)
Sets writing direction metrics.- Parameters:
index
- the writing direction (0, 1 or 2)metrics
- the writing direction metrics
-
addCharMetrics
public void addCharMetrics(AFMCharMetrics metrics)
Adds new character metrics.- Parameters:
metrics
- the character metrics
-
getCharCount
public int getCharCount()
Returns the number of character available for this font.- Returns:
- the number of character
-
getFirstChar
public int getFirstChar()
Returns the first character index in the encoding that has a glyph.- Returns:
- the first character index with a glyph
-
getLastChar
public int getLastChar()
Returns the last character index in the encoding that has a glyph.- Returns:
- the last character index with a glyph
-
getChar
public AFMCharMetrics getChar(java.lang.String name)
Returns the character metrics associated with the character name.- Parameters:
name
- the character name- Returns:
- the character metrics or null if there's no such character
-
getCharMetrics
public java.util.List<AFMCharMetrics> getCharMetrics()
Returns the list of AFMCharMetrics instances representing all the available characters.- Returns:
- a List of AFMCharMetrics instances
-
addXKerning
public void addXKerning(java.lang.String name1, java.lang.String name2, double kx)
Adds a X-kerning entry.- Parameters:
name1
- the name of the first charactername2
- the name of the second characterkx
- kerning value in x-direction
-
hasKerning
public boolean hasKerning()
Indicates whether the font has kerning information.- Returns:
- true if there is kerning information
-
createXKerningMapEncoded
public java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.lang.Integer>> createXKerningMapEncoded()
Creates and returns a kerning map for writing mode 0 (ltr) with character codes.- Returns:
- the kerning map or null if there is no kerning information.
-
overridePrimaryEncoding
public void overridePrimaryEncoding(SingleByteEncoding encoding)
The character codes in an AFM cannot always be trusted to be the same values as in the font's primary encoding. Therefore, we provide a way to override this primary encoding.- Parameters:
encoding
- the encoding to replace the one given in the AFM
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-