public class PdfType0Font extends PdfFont
Modifier and Type | Field and Description |
---|---|
protected static int |
CID_FONT_TYPE_0
CIDFont Type0 (Type1 outlines).
|
protected static int |
CID_FONT_TYPE_2
CIDFont Type2 (TrueType outlines).
|
protected int |
cidFontType |
protected CMapEncoding |
cmapEncoding |
protected Set<Integer> |
longTag |
protected char[] |
specificUnicodeDifferences |
protected boolean |
vertical |
DEFAULT_FONT_MATRIX, embedded, EMPTY_BYTES, fontProgram, newFont, notdefGlyphs, SIMPLE_FONT_MAX_CHAR_CODE_VALUE, subset, subsetRanges
Modifier and Type | Method and Description |
---|---|
protected void |
addRangeUni(TrueTypeFont ttf, Map<Integer,int[]> longTag, boolean includeMetrics)
Deprecated.
will be removed in 7.2
|
protected void |
addRangeUni(TrueTypeFont ttf, Set<Integer> longTag)
Deprecated.
|
int |
appendAnyGlyph(String text, int from, List<Glyph> glyphs)
Append any single glyph, even notdef.
|
boolean |
appendDecodedCodesToGlyphsList(List<Glyph> list, PdfString characterCodes)
Decodes sequence of character codes (e.g.
|
int |
appendGlyphs(String text, int from, int to, List<Glyph> glyphs)
Append all supported glyphs and return number of processed chars.
|
boolean |
containsGlyph(int unicode)
Check whether font contains glyph with specified unicode.
|
byte[] |
convertToBytes(Glyph glyph) |
byte[] |
convertToBytes(GlyphLine glyphLine) |
byte[] |
convertToBytes(String text)
Converts the text into bytes to be placed in the document.
|
GlyphLine |
createGlyphLine(String content) |
String |
decode(PdfString content) |
GlyphLine |
decodeIntoGlyphLine(PdfString characterCodes)
Decodes sequence of character codes (e.g.
|
void |
flush()
To manually flush a PdfObject behind this wrapper, you have to ensure that this object is added to the document, i.e.
|
protected PdfDictionary |
getCidFont(PdfDictionary fontDescriptor, String fontName, boolean isType2)
Generates the CIDFontType2 dictionary.
|
protected PdfDictionary |
getCidFontType2(TrueTypeFont ttf, PdfDictionary fontDescriptor, String fontName, int[] glyphIds)
Deprecated.
use
getCidFont(PdfDictionary, String, boolean) instead.
|
protected PdfDictionary |
getCidFontType2(TrueTypeFont ttf, PdfDictionary fontDescriptor, String fontName, int[][] metrics)
Deprecated.
will be removed in 7.2
|
CMapEncoding |
getCmap()
Gets CMAP associated with the Pdf Font.
|
float |
getContentWidth(PdfString content) |
protected PdfDictionary |
getFontDescriptor(String fontName) |
Glyph |
getGlyph(int unicode)
Get glyph by unicode
|
PdfStream |
getToUnicode()
Creates a ToUnicode CMap to allow copy and paste from Acrobat.
|
PdfStream |
getToUnicode(Object[] metrics)
Deprecated.
will be removed in 7.2. Use
getToUnicode() instead
|
static String |
getUniMapFromOrdering(String ordering) |
boolean |
isBuiltWith(String fontProgram, String encoding)
Checks whether the PdfFont was built with corresponding fontProgram and encoding or CMAP.
|
void |
writeText(GlyphLine text, int from, int to, PdfOutputStream stream) |
void |
writeText(String text, PdfOutputStream stream) |
addSubsetRange, compactRanges, getAscent, getAscent, getDescent, getDescent, getFontMatrix, getFontProgram, getPdfFontStream, getWidth, getWidth, getWidth, getWidth, isEmbedded, isSubset, isWrappedObjectMustBeIndirect, setSubset, splitString, toString, updateSubsetPrefix
ensureObjectIsAddedToDocument, ensureUnderlyingObjectHasIndirectReference, getPdfObject, isFlushed, makeIndirect, makeIndirect, markObjectAsIndirect, setForbidRelease, setModified, setPdfObject, unsetForbidRelease
protected static final int CID_FONT_TYPE_0
protected static final int CID_FONT_TYPE_2
protected boolean vertical
protected CMapEncoding cmapEncoding
protected int cidFontType
protected char[] specificUnicodeDifferences
public Glyph getGlyph(int unicode)
PdfFont
public boolean containsGlyph(int unicode)
PdfFont
containsGlyph
in class PdfFont
unicode
- a unicode code point
public byte[] convertToBytes(String text)
PdfFont
convertToBytes
in class PdfFont
text
- the text to convert
public byte[] convertToBytes(GlyphLine glyphLine)
convertToBytes
in class PdfFont
public byte[] convertToBytes(Glyph glyph)
convertToBytes
in class PdfFont
public void writeText(GlyphLine text, int from, int to, PdfOutputStream stream)
public void writeText(String text, PdfOutputStream stream)
public GlyphLine createGlyphLine(String content)
createGlyphLine
in class PdfFont
public int appendGlyphs(String text, int from, int to, List<Glyph> glyphs)
PdfFont
appendGlyphs
in class PdfFont
text
- String to convert to glyphs.
from
- from index of the text.
to
- to index of the text.
glyphs
- array for a new glyphs, shall not be null.
public int appendAnyGlyph(String text, int from, List<Glyph> glyphs)
PdfFont
appendAnyGlyph
in class PdfFont
text
- String to convert to glyphs.
from
- from index of the text.
glyphs
- array for a new glyph, shall not be null.
public GlyphLine decodeIntoGlyphLine(PdfString characterCodes)
GlyphLine
decodeIntoGlyphLine
in class PdfFont
characterCodes
- the string which is interpreted as a sequence of character codes. Note, that PdfString
acts as a storage for char code values specific to given font, therefore individual character codes must not be interpreted as code units of the UTF-16 encoding
GlyphLine
containing the glyphs encoded by the passed string
public boolean appendDecodedCodesToGlyphsList(List<Glyph> list, PdfString characterCodes)
appendDecodedCodesToGlyphsList
in class PdfFont
list
- the list to the end of which decoded glyphs are to be added
characterCodes
- the string which is interpreted as a sequence of character codes. Note, that PdfString
acts as a storage for char code values specific to given font, therefore individual character codes must not be interpreted as code units of the UTF-16 encoding
public float getContentWidth(PdfString content)
getContentWidth
in class PdfFont
public boolean isBuiltWith(String fontProgram, String encoding)
PdfFont
PdfFont
was built with corresponding fontProgram and encoding or CMAP. Default value is false unless overridden.
isBuiltWith
in class PdfFont
fontProgram
- a font name or path to a font program
encoding
- an encoding or CMAP
PdfDocument.findFont(String, String)
, FontProgram.isBuiltWith(String)
, FontEncoding.isBuiltWith(String)
, CMapEncoding.isBuiltWith(String)
public void flush()
PdfFont
PdfObject
behind this wrapper, you have to ensure that this object is added to the document, i.e. it has an indirect reference. Basically this means that before flushing you need to explicitly call PdfObjectWrapper.makeIndirect(PdfDocument)
. For example: wrapperInstance.makeIndirect(document).flush(); Note that not every wrapper require this, only those that have such warning in documentation.
public CMapEncoding getCmap()
CMapEncoding
@Deprecated public PdfStream getToUnicode(Object[] metrics)
getToUnicode()
instead
metrics
- metrics[0] contains the glyph index and metrics[2] contains the Unicode code
null
protected PdfDictionary getFontDescriptor(String fontName)
getFontDescriptor
in class PdfFont
@Deprecated protected PdfDictionary getCidFontType2(TrueTypeFont ttf, PdfDictionary fontDescriptor, String fontName, int[][] metrics)
ttf
- a font program of this font instance
fontDescriptor
- the font descriptor dictionary
fontName
- a name of the font
metrics
- the horizontal width metrics
@Deprecated protected void addRangeUni(TrueTypeFont ttf, Map<Integer,int[]> longTag, boolean includeMetrics)
ttf
- a font program of this font instance.
longTag
- a set of integers, which are glyph ids that denote used glyphs. This set is updated inside of the method if needed.
includeMetrics
- used to define whether longTag map is populated with glyph metrics. Deprecated and is not used right now.
@Deprecated protected PdfDictionary getCidFontType2(TrueTypeFont ttf, PdfDictionary fontDescriptor, String fontName, int[] glyphIds)
getCidFont(PdfDictionary, String, boolean)
instead.
ttf
- a font program of this font instance
fontDescriptor
- the indirect reference to the font descriptor
fontName
- a name of the font
glyphIds
- glyph ids used in from the font
protected PdfDictionary getCidFont(PdfDictionary fontDescriptor, String fontName, boolean isType2)
fontDescriptor
- the font descriptor dictionary
fontName
- a name of the font
isType2
- true, if the font is CIDFontType2 (TrueType glyphs), otherwise false, i.e. CIDFontType0 (Type1/CFF glyphs)
public PdfStream getToUnicode()
null
@Deprecated protected void addRangeUni(TrueTypeFont ttf, Set<Integer> longTag)
TrueTypeFont.updateUsedGlyphs(SortedSet, boolean, List)
instead.
ttf
- a font program of this font instance.
longTag
- a set of integers, which are glyph ids that denote used glyphs. This set is updated inside of the method if needed.
Copyright © 1998–2023 iText Group NV. All rights reserved.