Package org.apache.fontbox.cff
Class CFFType1Font
- java.lang.Object
-
- org.apache.fontbox.cff.CFFFont
-
- org.apache.fontbox.cff.CFFType1Font
-
- All Implemented Interfaces:
EncodedFont
,FontBoxFont
public class CFFType1Font extends CFFFont implements EncodedFont
A Type 1-equivalent font program represented in a CFF file. Thread safe.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
CFFType1Font.PrivateType1CharStringReader
Private implementation of Type1CharStringReader, because only CFFType1Font can expose this publicly, as CIDFonts only support this for legacy 'seac' commands.
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.Integer,Type2CharString>
charStringCache
private CFFEncoding
encoding
private java.util.Map<java.lang.String,java.lang.Object>
privateDict
private CFFType1Font.PrivateType1CharStringReader
reader
-
Fields inherited from class org.apache.fontbox.cff.CFFFont
charset, charStrings, fontName, globalSubrIndex, topDict
-
-
Constructor Summary
Constructors Constructor Description CFFType1Font()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
addToPrivateDict(java.lang.String name, java.lang.Object value)
Adds the given key/value pair to the private dictionary.private int
getDefaultWidthX()
CFFEncoding
getEncoding()
Returns the CFFEncoding of the font.java.util.List<java.lang.Number>
getFontMatrix()
Returns the FontMatrix.private byte[][]
getLocalSubrIndex()
private int
getNominalWidthX()
java.awt.geom.GeneralPath
getPath(java.lang.String name)
Returns the path for the character with the given name.java.util.Map<java.lang.String,java.lang.Object>
getPrivateDict()
Returns the private dictionary.private java.lang.Object
getProperty(java.lang.String name)
Type1CharString
getType1CharString(java.lang.String name)
Returns the Type 1 charstring for the given PostScript glyph name.Type2CharString
getType2CharString(int gid)
Returns the Type 1 charstring for the given GID.private Type2CharString
getType2CharString(int gid, java.lang.String name)
float
getWidth(java.lang.String name)
Returns the advance width for the character with the given name.boolean
hasGlyph(java.lang.String name)
Returns true if the font contains the given glyph.int
nameToGID(java.lang.String name)
Returns the GID for the given PostScript glyph name.(package private) void
setEncoding(CFFEncoding encoding)
Sets the CFFEncoding of the font.-
Methods inherited from class org.apache.fontbox.cff.CFFFont
addValueToTopDict, getCharset, getCharStringBytes, getData, getFontBBox, getGlobalSubrIndex, getName, getNumCharStrings, getTopDict, setCharset, setData, setGlobalSubrIndex, setName, toString
-
-
-
-
Field Detail
-
privateDict
private final java.util.Map<java.lang.String,java.lang.Object> privateDict
-
encoding
private CFFEncoding encoding
-
charStringCache
private final java.util.Map<java.lang.Integer,Type2CharString> charStringCache
-
reader
private final CFFType1Font.PrivateType1CharStringReader reader
-
-
Method Detail
-
getPath
public java.awt.geom.GeneralPath getPath(java.lang.String name) throws java.io.IOException
Description copied from interface:FontBoxFont
Returns the path for the character with the given name.- Specified by:
getPath
in interfaceFontBoxFont
- Returns:
- glyph path
- Throws:
java.io.IOException
- if the path could not be read
-
getWidth
public float getWidth(java.lang.String name) throws java.io.IOException
Description copied from interface:FontBoxFont
Returns the advance width for the character with the given name.- Specified by:
getWidth
in interfaceFontBoxFont
- Returns:
- glyph advance width
- Throws:
java.io.IOException
- if the path could not be read
-
hasGlyph
public boolean hasGlyph(java.lang.String name)
Description copied from interface:FontBoxFont
Returns true if the font contains the given glyph.- Specified by:
hasGlyph
in interfaceFontBoxFont
- Parameters:
name
- PostScript glyph name
-
getFontMatrix
public java.util.List<java.lang.Number> getFontMatrix()
Description copied from class:CFFFont
Returns the FontMatrix.- Specified by:
getFontMatrix
in interfaceFontBoxFont
- Specified by:
getFontMatrix
in classCFFFont
-
getType1CharString
public Type1CharString getType1CharString(java.lang.String name) throws java.io.IOException
Returns the Type 1 charstring for the given PostScript glyph name.- Parameters:
name
- PostScript glyph name- Throws:
java.io.IOException
- if the charstring could not be read
-
nameToGID
public int nameToGID(java.lang.String name)
Returns the GID for the given PostScript glyph name.- Parameters:
name
- a PostScript glyph name.- Returns:
- GID
-
getType2CharString
public Type2CharString getType2CharString(int gid) throws java.io.IOException
Returns the Type 1 charstring for the given GID.- Specified by:
getType2CharString
in classCFFFont
- Parameters:
gid
- GID- Throws:
java.io.IOException
- if the charstring could not be read
-
getType2CharString
private Type2CharString getType2CharString(int gid, java.lang.String name) throws java.io.IOException
- Throws:
java.io.IOException
-
getPrivateDict
public java.util.Map<java.lang.String,java.lang.Object> getPrivateDict()
Returns the private dictionary.- Returns:
- the dictionary
-
addToPrivateDict
void addToPrivateDict(java.lang.String name, java.lang.Object value)
Adds the given key/value pair to the private dictionary.- Parameters:
name
- the given keyvalue
- the given value
-
getEncoding
public CFFEncoding getEncoding()
Returns the CFFEncoding of the font.- Specified by:
getEncoding
in interfaceEncodedFont
- Returns:
- the encoding
-
setEncoding
void setEncoding(CFFEncoding encoding)
Sets the CFFEncoding of the font.- Parameters:
encoding
- the given CFFEncoding
-
getLocalSubrIndex
private byte[][] getLocalSubrIndex()
-
getProperty
private java.lang.Object getProperty(java.lang.String name)
-
getDefaultWidthX
private int getDefaultWidthX()
-
getNominalWidthX
private int getNominalWidthX()
-
-