java.lang.Object
org.sejda.sambox.pdmodel.font.PDCIDFont
- All Implemented Interfaces:
COSObjectable,PDFontLike,PDVectorFont
- Direct Known Subclasses:
PDCIDFontType0,PDCIDFontType2
A CIDFont. A CIDFont is a PDF object that contains information about a CIDFont program. Although
its Type value is Font, a CIDFont is not actually a font.
It is not usually necessary to use this class directly, prefer PDType0Font.
- Author:
- Ben Litchfield
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionabstract intcodeToCID(int code) Returns the CID for the given character code.abstract intcodeToGID(int code) Returns the GID for the given character code.protected abstract byte[]encode(int unicode) Encodes the given Unicode code point for use in a PDF content stream.floatThis will get the average font width for all characters.The PostScript name of the font.Returns the CIDSystemInfo, or null if it is missing (which isn't allowed but could happen).Returns the font descriptor, may be null.getName()Returns the name of this font, either the PostScript "BaseName" or the Type 3 "Name".final PDType0FontReturns the Type 0 font which is the parent of this font.getPositionVector(int code) Returns the position vector (v), in text space, for the given character.floatgetVerticalDisplacementVectorY(int code) Returns the y-component of the vertical displacement vector (w1).floatgetWidth(int code) Returns the advance width of the given character, in glyph space.booleanhasExplicitWidth(int code) Returns true if the Font dictionary specifies an explicit width for the given glyph.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.sejda.sambox.pdmodel.font.PDFontLike
getBoundingBox, getFontMatrix, getHeight, getWidthFromFont, isDamaged, isEmbedded, isMappingFallbackUsed, isOriginalEmbeddedMissingMethods inherited from interface org.sejda.sambox.pdmodel.font.PDVectorFont
getPath, hasGlyph
-
Field Details
-
parent
-
dict
-
-
Method Details
-
getCOSObject
- Specified by:
getCOSObjectin interfaceCOSObjectable- Returns:
- The
COSBasethat matches this Java object.
-
getBaseFont
The PostScript name of the font.- Returns:
- The postscript name of the font.
-
getName
Description copied from interface:PDFontLikeReturns the name of this font, either the PostScript "BaseName" or the Type 3 "Name".- Specified by:
getNamein interfacePDFontLike
-
getFontDescriptor
Description copied from interface:PDFontLikeReturns the font descriptor, may be null.- Specified by:
getFontDescriptorin interfacePDFontLike
-
getParent
Returns the Type 0 font which is the parent of this font.- Returns:
- parent Type 0 font
-
hasExplicitWidth
Description copied from interface:PDFontLikeReturns true if the Font dictionary specifies an explicit width for the given glyph. This includes Width, W but not default widths entries.- Specified by:
hasExplicitWidthin interfacePDFontLike- Parameters:
code- character code- Throws:
IOException- if the font could not be read
-
getPositionVector
Description copied from interface:PDFontLikeReturns the position vector (v), in text space, for the given character. This represents the position of vertical origin relative to horizontal origin, for horizontal writing it will always be (0, 0). For vertical writing both x and y are set.- Specified by:
getPositionVectorin interfacePDFontLike- Parameters:
code- character code- Returns:
- position vector
-
getVerticalDisplacementVectorY
public float getVerticalDisplacementVectorY(int code) Returns the y-component of the vertical displacement vector (w1).- Parameters:
code- character code- Returns:
- w1y
-
getWidth
Description copied from interface:PDFontLikeReturns the advance width of the given character, in glyph space. If you want the visual bounds of the glyph then call getPath(..) on the appropriate PDFont subclass to retrieve the glyph outline as a GeneralPath instead.- Specified by:
getWidthin interfacePDFontLike- Parameters:
code- character code- Throws:
IOException
-
getAverageFontWidth
public float getAverageFontWidth()Description copied from interface:PDFontLikeThis will get the average font width for all characters.- Specified by:
getAverageFontWidthin interfacePDFontLike- Returns:
- The width is in 1000 unit of text space, ie 333 or 777
-
getCIDSystemInfo
Returns the CIDSystemInfo, or null if it is missing (which isn't allowed but could happen). -
codeToCID
public abstract int codeToCID(int code) Returns the CID for the given character code. If not found then CID 0 is returned.- Parameters:
code- character code- Returns:
- CID
-
codeToGID
Returns the GID for the given character code.- Parameters:
code- character code- Returns:
- GID
- Throws:
IOException
-
encode
Encodes the given Unicode code point for use in a PDF content stream. Content streams use a multi-byte encoding with 1 to 4 bytes.This method is called when embedding text in PDFs and when filling in fields.
- Parameters:
unicode- Unicode code point.- Returns:
- Array of 1 to 4 PDF content stream bytes.
- Throws:
IOException- If the text could not be encoded.
-