Package com.itextpdf.io.font
Class CFFFont
java.lang.Object
com.itextpdf.io.font.CFFFont
- Direct Known Subclasses:
-
CFFFontSubset
Class containing base Compact Font Format functionality
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final class
A dictionary number on the list.protected static final class
An unknown offset in a dictionary for the list.protected final class
Represents font contained by the CFF font in a FontSet.protected static final class
protected static final class
protected static final class
An index-offset item for the list.protected static class
List items for the linked list that builds the new CID font.protected static final class
An offset-marker item for the list.protected static class
An offset item, representing a data object.protected static final class
A range item.protected static final class
A String itemprotected static final class
protected static final class
A SID or Card16 item.protected static final class
Card24 item.protected static final class
A Card32 item.protected static final class
A Card8 item. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
protected Object[]
protected RandomAccessFileOrArray
A random Access File or an arrayprotected CFFFont.Font[]
protected int
protected int[]
protected String
protected int
protected int[]
protected int
protected int[]
protected int
protected int[]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Checks for font existence in FontSet.byte[]
Gets a single CID font.protected void
protected CFFFont.RangeItem
getEntireIndexRange
(int indexOffset) A utility that creates a range item for an entire indexString[]
getNames()
Gets all font names from FontSet table.getString
(char sid) Gets string from INDEX structure which corresponds to provided SID.boolean
isCID()
Determines whether the first font in FontSet is CID font.boolean
Determines whether specified font is CID font.
-
Field Details
-
key
-
args
-
arg_count
protected int arg_count -
buf
A random Access File or an array -
nameIndexOffset
protected int nameIndexOffset -
topdictIndexOffset
protected int topdictIndexOffset -
stringIndexOffset
protected int stringIndexOffset -
gsubrIndexOffset
protected int gsubrIndexOffset -
nameOffsets
protected int[] nameOffsets -
topdictOffsets
protected int[] topdictOffsets -
stringOffsets
protected int[] stringOffsets -
gsubrOffsets
protected int[] gsubrOffsets -
fonts
-
-
Constructor Details
-
CFFFont
public CFFFont(byte[] cff) Creates a new CFF font instance from CFF font data.- Parameters:
-
cff
- cff font binary data
-
-
Method Details
-
getString
Gets string from INDEX structure which corresponds to provided SID.- Parameters:
-
sid
- 2-byte string identifier - Returns:
- string value
-
getDictItem
protected void getDictItem() -
getEntireIndexRange
A utility that creates a range item for an entire index- Parameters:
-
indexOffset
- where the index is - Returns:
- a range item representing the entire index
-
getCID
Gets a single CID font. The PDF architecture (1.4) supports 16-bit strings only with CID CFF fonts, not in Type-1 CFF fonts, so we convert the font to CID if it is in the Type-1 format. Two other tasks that we need to do are to select only a single font from the CFF package (this again is a PDF restriction) and to subset the CharStrings glyph description.- Parameters:
-
fontName
- name of the font - Returns:
- byte array represents the CID font
-
isCID
public boolean isCID()Determines whether the first font in FontSet is CID font.- Returns:
-
true
if font is CID,false
otherwise
-
isCID
Determines whether specified font is CID font.- Parameters:
-
fontName
- font name to check in fonts table - Returns:
-
true
if specified font is CID,false
otherwise
-
exists
Checks for font existence in FontSet.- Parameters:
-
fontName
- font name to search for - Returns:
-
true
if font exists in FontSet,false
otherwise
-
getNames
Gets all font names from FontSet table.- Returns:
- font names contained by this CFF font
-