Package org.apache.fop.afp.fonts
Class AFPFont
- java.lang.Object
-
- org.apache.fop.fonts.Typeface
-
- org.apache.fop.afp.fonts.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 Summary
Fields Modifier and Type Field Description protected java.lang.StringnameThe font name-
Fields inherited from class org.apache.fop.fonts.Typeface
eventListener, NOT_FOUND
-
-
Constructor Summary
Constructors Constructor Description AFPFont(java.lang.String name, boolean embeddable)Constructor for the base font requires the name.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.awt.RectanglegetBoundingBox(int glyphIndex, int size)Returns the bounding box of the glyph at the given index, for the given font size.abstract CharacterSetgetCharacterSet(int size)Returns the character set for a given sizejava.lang.StringgetEmbedFontName()Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").java.util.Set<java.lang.String>getFamilyNames()Returns the font's family names as a Set of Strings (Example: "Helvetica").java.lang.StringgetFontName()Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").FontTypegetFontType()Returns the type of the font.java.net.URIgetFontURI()Returns the URI of the font file from which these metrics were loaded.java.lang.StringgetFullName()Returns the font's full name (Example: "Helvetica Bold Oblique").java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.lang.Integer>>getKerningInfo()Returns the kerning map for the font.intgetStrikeoutPosition(int size)Returns the distance from the baseline to the center of the strikeout line (negative value indicates below baseline).intgetStrikeoutThickness(int size)Returns the thickness of the strikeout line.intgetUnderlineThickness(int size)Returns the thickness of the underline.int[]getWidths()Return the array of widths.booleanhasKerningInfo()Indicates if the font has kerning information.booleanisEmbeddable()Indicates if this font may be embedded.java.lang.StringtoString()protected static chartoUnicodeCodepoint(int character)Maps mapped code points to Unicode code points.-
Methods inherited from class org.apache.fop.fonts.Typeface
getEncodingName, getMaxAscent, hadMappingOperations, hasChar, hasFeature, isCID, isMultiByte, mapChar, notifyMapOperation, setEventListener, warnMissingGlyph
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.fop.fonts.FontMetrics
getAscender, getCapHeight, getDescender, getUnderlinePosition, getWidth, getXHeight
-
-
-
-
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 indexsize- 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
-
-