Package com.itextpdf.text.pdf
Class TrueTypeFont
- java.lang.Object
-
- com.itextpdf.text.pdf.BaseFont
-
- com.itextpdf.text.pdf.TrueTypeFont
-
- Direct Known Subclasses:
EnumerateTTC
,TrueTypeFontUnicode
class TrueTypeFont extends BaseFont
Reads a Truetype font
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
TrueTypeFont.FontHeader
The components of table 'head'.protected static class
TrueTypeFont.HorizontalHeader
The components of table 'hhea'.protected static class
TrueTypeFont.WindowsMetrics
The components of table 'OS/2'.-
Nested classes/interfaces inherited from class com.itextpdf.text.pdf.BaseFont
BaseFont.StreamFont
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String[][]
allNameEntries
All the names of the Names-Tableprotected int[][]
bboxes
protected boolean
cff
protected int
cffLength
protected int
cffOffset
protected java.util.HashMap<java.lang.Integer,int[]>
cmap10
The map containing the code information for the table 'cmap', encoding 1.0.protected java.util.HashMap<java.lang.Integer,int[]>
cmap31
The map containing the code information for the table 'cmap', encoding 3.1 in Unicode.protected java.util.HashMap<java.lang.Integer,int[]>
cmapExt
(package private) static java.lang.String[]
codePages
The code pages possible for a True Type font.protected int
directoryOffset
The offset from the start of the file to the table directory.protected java.lang.String[][]
familyName
The family name of the fontprotected java.lang.String
fileName
The file name.protected java.lang.String
fontName
The font name.protected java.lang.String[][]
fullName
The full name of the font 'Name ID' 1 or 'Name ID' 16protected int[]
glyphIdToChar
protected int[]
glyphWidthsByIndex
The width of the glyphs.protected TrueTypeFont.FontHeader
head
The content of table 'head'.protected TrueTypeFont.HorizontalHeader
hhea
The content of table 'hhea'.protected boolean
isFixedPitch
true
if all the glyphs have the same width.protected double
italicAngle
The italic angle.protected boolean
justNames
protected IntHashtable
kerning
The map containing the kerning information.protected int
maxGlyphId
protected TrueTypeFont.WindowsMetrics
os_2
The content of table 'OS/2'.protected RandomAccessFileOrArray
rf
The file in use.protected java.lang.String
style
The style modifierprotected java.lang.String[][]
subFamily
The font subfamily This subFamily name is usually extracted from the table 'name' with the 'Name ID' 2 or 'Name ID' 17.protected java.util.HashMap<java.lang.String,int[]>
tables
Contains the location of the several tables.protected java.lang.String
ttcIndex
The index for the TTC font.protected int
underlinePosition
protected int
underlineThickness
-
Fields inherited from class com.itextpdf.text.pdf.BaseFont
ASCENT, AWT_ASCENT, AWT_DESCENT, AWT_LEADING, AWT_MAXADVANCE, BBOXLLX, BBOXLLY, BBOXURX, BBOXURY, BuiltinFonts14, CACHED, CAPHEIGHT, CHAR_RANGE_ARABIC, CHAR_RANGE_CYRILLIC, CHAR_RANGE_HEBREW, CHAR_RANGE_LATIN, charBBoxes, CID_NEWLINE, compressionLevel, COURIER, COURIER_BOLD, COURIER_BOLDOBLIQUE, COURIER_OBLIQUE, CP1250, CP1252, CP1257, DEFAULT_FONT_MATRIX, DESCENT, differences, directTextToByte, embedded, EMBEDDED, encoding, fastWinansi, FONT_TYPE_CJK, FONT_TYPE_DOCUMENT, FONT_TYPE_T1, FONT_TYPE_T3, FONT_TYPE_TT, FONT_TYPE_TTUNI, FONT_WEIGHT, fontCache, fontSpecific, fontType, forceWidthsOutput, HELVETICA, HELVETICA_BOLD, HELVETICA_BOLDOBLIQUE, HELVETICA_OBLIQUE, IDENTITY_H, IDENTITY_V, ITALICANGLE, MACROMAN, NOT_CACHED, NOT_EMBEDDED, notdef, PARAGRAPH_SEPARATOR, RESOURCE_PATH, specialMap, STRIKETHROUGH_POSITION, STRIKETHROUGH_THICKNESS, SUBSCRIPT_OFFSET, SUBSCRIPT_SIZE, subset, subsetRanges, SUPERSCRIPT_OFFSET, SUPERSCRIPT_SIZE, SYMBOL, TIMES_BOLD, TIMES_BOLDITALIC, TIMES_ITALIC, TIMES_ROMAN, UNDERLINE_POSITION, UNDERLINE_THICKNESS, unicodeDifferences, vertical, WEIGHT_CLASS, WIDTH_CLASS, widths, WINANSI, ZAPFDINGBATS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
TrueTypeFont()
This constructor is present to allow extending the class.(package private)
TrueTypeFont(java.lang.String ttFile, java.lang.String enc, boolean emb, byte[] ttfAfm, boolean justNames, boolean forceRead)
Creates a new TrueType font.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addRangeUni(java.util.HashMap<java.lang.Integer,int[]> longTag, boolean includeMetrics, boolean subsetp)
protected void
addRangeUni(java.util.HashSet<java.lang.Integer> longTag, boolean subsetp)
(package private) void
checkCff()
protected static int[]
compactRanges(java.util.ArrayList<int[]> ranges)
(package private) void
fillTables()
Reads the tables 'head', 'hhea', 'OS/2', 'post' and 'maxp' filling several variables.java.lang.String[][]
getAllNameEntries()
Gets all the entries of the Names-Table.(package private) java.lang.String[][]
getAllNames()
Extracts all the names of the names-Table(package private) java.lang.String
getBaseFont()
Gets the Postscript font name.java.lang.String[]
getCodePagesSupported()
Gets the code pages supported by the font.java.lang.String[][]
getFamilyFontName()
Gets the family name of the font.protected PdfDictionary
getFontBaseType(PdfIndirectReference fontDescriptor, java.lang.String subsetPrefix, int firstChar, int lastChar, byte[] shortTag)
Generates the font dictionary for this font.float
getFontDescriptor(int key, float fontSize)
Gets the font parameter identified bykey
.protected PdfDictionary
getFontDescriptor(PdfIndirectReference fontStream, java.lang.String subsetPrefix, PdfIndirectReference cidset)
Generates the font descriptor for this font.protected byte[]
getFullFont()
java.lang.String[][]
getFullFontName()
Gets the full name of the font.PdfStream
getFullFontStream()
Returns a PdfStream object with the full font program.protected int
getGlyphWidth(int glyph)
Gets a glyph width.int
getKerning(int char1, int char2)
Gets the kerning between two Unicode chars.int[]
getMetricsTT(int c)
Gets the glyph index and metrics for a character.(package private) java.lang.String[][]
getNames(int id)
Extracts the names of the font in all the languages available.java.lang.String
getPostscriptFontName()
Gets the postscript font name.protected int[]
getRawCharBBox(int c, java.lang.String name)
(package private) int
getRawWidth(int c, java.lang.String name)
Gets the width from the font according to the unicode charc
.java.lang.String
getSubfamily()
Gets the full subfamily name of the font.protected byte[]
getSubSet(java.util.HashSet glyphs, boolean subsetp)
protected static java.lang.String
getTTCName(java.lang.String name)
Gets the name from a composed TTC file name.boolean
hasKernPairs()
Checks if the font has any kerning pairs.(package private) boolean
isWinAnsiSupported()
Checks whether this font may be used with winansi encoding.(package private) void
process(byte[] ttfAfm, boolean preload)
Reads the font data.private void
readBbox()
protected byte[]
readCffFont()
If this font file is using the Compact Font File Format, then this method will return the raw bytes needed for the font stream.(package private) void
readCMaps()
Reads the several maps from the table 'cmap'.(package private) java.util.HashMap<java.lang.Integer,int[]>
readFormat0()
The information in the maps of the table 'cmap' is coded in several formats.(package private) java.util.HashMap<java.lang.Integer,int[]>
readFormat12()
(package private) java.util.HashMap<java.lang.Integer,int[]>
readFormat4()
The information in the maps of the table 'cmap' is coded in several formats.(package private) java.util.HashMap<java.lang.Integer,int[]>
readFormat6()
The information in the maps of the table 'cmap' is coded in several formats.protected void
readGlyphWidths()
Reads the glyphs widths.(package private) void
readKerning()
Reads the kerning information from the 'kern' table.protected java.lang.String
readStandardString(int length)
Reads aString
from the font file as bytes using the Cp1252 encoding.protected java.lang.String
readUnicodeString(int length)
Reads a UnicodeString
from the font file.boolean
setKerning(int char1, int char2, int kern)
Sets the kerning between two Unicode chars.void
setPostscriptFontName(java.lang.String name)
Sets the font name that will appear in the pdf font dictionary.(package private) void
writeFont(PdfWriter writer, PdfIndirectReference ref, java.lang.Object[] params)
Outputs to the writer the font dictionaries and streams.-
Methods inherited from class com.itextpdf.text.pdf.BaseFont
addSubsetRange, charExists, convertToBytes, convertToBytes, correctArabicAdvance, createBuiltInFontDictionary, createEncoding, createFont, createFont, createFont, createFont, createFont, createFont, createFont, createSubsetPrefix, enumerateTTCNames, enumerateTTCNames, getAllFontNames, getAllNameEntries, getAscent, getAscentPoint, getBaseName, getCharBBox, getCidCode, getCompressionLevel, getDescent, getDescentPoint, getDifferences, getDocumentFonts, getDocumentFonts, getEncoding, getFontMatrix, getFontType, getFullFontName, getUnicodeDifferences, getUnicodeDifferences, getUnicodeEquivalent, getWidth, getWidth, getWidthPoint, getWidthPoint, getWidthPointKerned, getWidths, isDirectTextToByte, isEmbedded, isFontSpecific, isForceWidthsOutput, isSubset, isVertical, normalizeEncoding, setCharAdvance, setCompressionLevel, setDirectTextToByte, setFontDescriptor, setForceWidthsOutput, setSubset
-
-
-
-
Field Detail
-
codePages
static final java.lang.String[] codePages
The code pages possible for a True Type font.
-
justNames
protected boolean justNames
-
tables
protected java.util.HashMap<java.lang.String,int[]> tables
Contains the location of the several tables. The key is the name of the table and the value is anint[2]
where position 0 is the offset from the start of the file and position 1 is the length of the table.
-
rf
protected RandomAccessFileOrArray rf
The file in use.
-
fileName
protected java.lang.String fileName
The file name.
-
cff
protected boolean cff
-
cffOffset
protected int cffOffset
-
cffLength
protected int cffLength
-
directoryOffset
protected int directoryOffset
The offset from the start of the file to the table directory. It is 0 for TTF and may vary for TTC depending on the chosen font.
-
ttcIndex
protected java.lang.String ttcIndex
The index for the TTC font. It is an emptyString
for a TTF file.
-
style
protected java.lang.String style
The style modifier
-
head
protected TrueTypeFont.FontHeader head
The content of table 'head'.
-
hhea
protected TrueTypeFont.HorizontalHeader hhea
The content of table 'hhea'.
-
os_2
protected TrueTypeFont.WindowsMetrics os_2
The content of table 'OS/2'.
-
glyphWidthsByIndex
protected int[] glyphWidthsByIndex
The width of the glyphs. This is essentially the content of table 'hmtx' normalized to 1000 units.
-
bboxes
protected int[][] bboxes
-
cmap10
protected java.util.HashMap<java.lang.Integer,int[]> cmap10
The map containing the code information for the table 'cmap', encoding 1.0. The key is the code and the value is anint[2]
where position 0 is the glyph number and position 1 is the glyph width normalized to 1000 units.
-
cmap31
protected java.util.HashMap<java.lang.Integer,int[]> cmap31
The map containing the code information for the table 'cmap', encoding 3.1 in Unicode. The key is the code and the value is anint
[2] where position 0 is the glyph number and position 1 is the glyph width normalized to 1000 units.
-
cmapExt
protected java.util.HashMap<java.lang.Integer,int[]> cmapExt
-
glyphIdToChar
protected int[] glyphIdToChar
-
maxGlyphId
protected int maxGlyphId
-
kerning
protected IntHashtable kerning
The map containing the kerning information. It represents the content of table 'kern'. The key is anInteger
where the top 16 bits are the glyph number for the first character and the lower 16 bits are the glyph number for the second character. The value is the amount of kerning in normalized 1000 units as anInteger
. This value is usually negative.
-
fontName
protected java.lang.String fontName
The font name. This name is usually extracted from the table 'name' with the 'Name ID' 6.
-
subFamily
protected java.lang.String[][] subFamily
The font subfamily This subFamily name is usually extracted from the table 'name' with the 'Name ID' 2 or 'Name ID' 17.
-
fullName
protected java.lang.String[][] fullName
The full name of the font 'Name ID' 1 or 'Name ID' 16
-
allNameEntries
protected java.lang.String[][] allNameEntries
All the names of the Names-Table
-
familyName
protected java.lang.String[][] familyName
The family name of the font
-
italicAngle
protected double italicAngle
The italic angle. It is usually extracted from the 'post' table or in it's absence with the code:-Math.atan2(hhea.caretSlopeRun, hhea.caretSlopeRise) * 180 / Math.PI
-
isFixedPitch
protected boolean isFixedPitch
true
if all the glyphs have the same width.
-
underlinePosition
protected int underlinePosition
-
underlineThickness
protected int underlineThickness
-
-
Constructor Detail
-
TrueTypeFont
protected TrueTypeFont()
This constructor is present to allow extending the class.
-
TrueTypeFont
TrueTypeFont(java.lang.String ttFile, java.lang.String enc, boolean emb, byte[] ttfAfm, boolean justNames, boolean forceRead) throws DocumentException, java.io.IOException
Creates a new TrueType font.- Parameters:
ttFile
- the location of the font on file. The file must end in '.ttf' or '.ttc' but can have modifiers after the nameenc
- the encoding to be applied to this fontemb
- true if the font is to be embedded in the PDFttfAfm
- the font as abyte
array- Throws:
DocumentException
- the font is invalidjava.io.IOException
- the font file could not be read- Since:
- 2.1.5
-
-
Method Detail
-
getTTCName
protected static java.lang.String getTTCName(java.lang.String name)
Gets the name from a composed TTC file name. If I have for input "myfont.ttc,2" the return will be "myfont.ttc".- Parameters:
name
- the full name- Returns:
- the simple file name
-
fillTables
void fillTables() throws DocumentException, java.io.IOException
Reads the tables 'head', 'hhea', 'OS/2', 'post' and 'maxp' filling several variables.- Throws:
DocumentException
- the font is invalidjava.io.IOException
- the font file could not be read
-
getBaseFont
java.lang.String getBaseFont() throws DocumentException, java.io.IOException
Gets the Postscript font name.- Returns:
- the Postscript font name
- Throws:
DocumentException
- the font is invalidjava.io.IOException
- the font file could not be read
-
getNames
java.lang.String[][] getNames(int id) throws DocumentException, java.io.IOException
Extracts the names of the font in all the languages available.- Parameters:
id
- the name id to retrieve- Throws:
DocumentException
- on errorjava.io.IOException
- on error
-
getAllNames
java.lang.String[][] getAllNames() throws DocumentException, java.io.IOException
Extracts all the names of the names-Table- Throws:
DocumentException
- on errorjava.io.IOException
- on error
-
checkCff
void checkCff()
-
process
void process(byte[] ttfAfm, boolean preload) throws DocumentException, java.io.IOException
Reads the font data.- Parameters:
ttfAfm
- the font as abyte
array, possiblynull
- Throws:
DocumentException
- the font is invalidjava.io.IOException
- the font file could not be read- Since:
- 2.1.5
-
readStandardString
protected java.lang.String readStandardString(int length) throws java.io.IOException
Reads aString
from the font file as bytes using the Cp1252 encoding.- Parameters:
length
- the length of bytes to read- Returns:
- the
String
read - Throws:
java.io.IOException
- the font file could not be read
-
readUnicodeString
protected java.lang.String readUnicodeString(int length) throws java.io.IOException
Reads a UnicodeString
from the font file. Each character is represented by two bytes.- Parameters:
length
- the length of bytes to read. TheString
will havelength
/2 characters- Returns:
- the
String
read - Throws:
java.io.IOException
- the font file could not be read
-
readGlyphWidths
protected void readGlyphWidths() throws DocumentException, java.io.IOException
Reads the glyphs widths. The widths are extracted from the table 'hmtx'. The glyphs are normalized to 1000 units.- Throws:
DocumentException
- the font is invalidjava.io.IOException
- the font file could not be read
-
getGlyphWidth
protected int getGlyphWidth(int glyph)
Gets a glyph width.- Parameters:
glyph
- the glyph to get the width of- Returns:
- the width of the glyph in normalized 1000 units
-
readBbox
private void readBbox() throws DocumentException, java.io.IOException
- Throws:
DocumentException
java.io.IOException
-
readCMaps
void readCMaps() throws DocumentException, java.io.IOException
Reads the several maps from the table 'cmap'. The maps of interest are 1.0 for symbolic fonts and 3.1 for all others. A symbolic font is defined as having the map 3.0.- Throws:
DocumentException
- the font is invalidjava.io.IOException
- the font file could not be read
-
readFormat12
java.util.HashMap<java.lang.Integer,int[]> readFormat12() throws java.io.IOException
- Throws:
java.io.IOException
-
readFormat0
java.util.HashMap<java.lang.Integer,int[]> readFormat0() throws java.io.IOException
The information in the maps of the table 'cmap' is coded in several formats. Format 0 is the Apple standard character to glyph index mapping table.- Returns:
- a
HashMap
representing this map - Throws:
java.io.IOException
- the font file could not be read
-
readFormat4
java.util.HashMap<java.lang.Integer,int[]> readFormat4() throws java.io.IOException
The information in the maps of the table 'cmap' is coded in several formats. Format 4 is the Microsoft standard character to glyph index mapping table.- Returns:
- a
HashMap
representing this map - Throws:
java.io.IOException
- the font file could not be read
-
readFormat6
java.util.HashMap<java.lang.Integer,int[]> readFormat6() throws java.io.IOException
The information in the maps of the table 'cmap' is coded in several formats. Format 6 is a trimmed table mapping. It is similar to format 0 but can have less than 256 entries.- Returns:
- a
HashMap
representing this map - Throws:
java.io.IOException
- the font file could not be read
-
readKerning
void readKerning() throws java.io.IOException
Reads the kerning information from the 'kern' table.- Throws:
java.io.IOException
- the font file could not be read
-
getKerning
public int getKerning(int char1, int char2)
Gets the kerning between two Unicode chars.- Specified by:
getKerning
in classBaseFont
- Parameters:
char1
- the first charchar2
- the second char- Returns:
- the kerning to be applied
-
getRawWidth
int getRawWidth(int c, java.lang.String name)
Gets the width from the font according to the unicode charc
. If thename
is null it's a symbolic font.- Specified by:
getRawWidth
in classBaseFont
- Parameters:
c
- the unicode charname
- the glyph name- Returns:
- the width of the char
-
getFontDescriptor
protected PdfDictionary getFontDescriptor(PdfIndirectReference fontStream, java.lang.String subsetPrefix, PdfIndirectReference cidset)
Generates the font descriptor for this font.- Parameters:
subsetPrefix
- the subset prefixfontStream
- the indirect reference to a PdfStream containing the font ornull
- Returns:
- the PdfDictionary containing the font descriptor or
null
-
getFontBaseType
protected PdfDictionary getFontBaseType(PdfIndirectReference fontDescriptor, java.lang.String subsetPrefix, int firstChar, int lastChar, byte[] shortTag)
Generates the font dictionary for this font.- Parameters:
subsetPrefix
- the subset prefixfirstChar
- the first valid characterlastChar
- the last valid charactershortTag
- a 256 bytes longbyte
array where each unused byte is represented by 0fontDescriptor
- the indirect reference to a PdfDictionary containing the font descriptor ornull
- Returns:
- the PdfDictionary containing the font dictionary
-
getFullFont
protected byte[] getFullFont() throws java.io.IOException
- Throws:
java.io.IOException
-
getSubSet
protected byte[] getSubSet(java.util.HashSet glyphs, boolean subsetp) throws java.io.IOException, DocumentException
- Throws:
java.io.IOException
DocumentException
-
compactRanges
protected static int[] compactRanges(java.util.ArrayList<int[]> ranges)
-
addRangeUni
protected void addRangeUni(java.util.HashMap<java.lang.Integer,int[]> longTag, boolean includeMetrics, boolean subsetp)
-
addRangeUni
protected void addRangeUni(java.util.HashSet<java.lang.Integer> longTag, boolean subsetp)
-
writeFont
void writeFont(PdfWriter writer, PdfIndirectReference ref, java.lang.Object[] params) throws DocumentException, java.io.IOException
Outputs to the writer the font dictionaries and streams.- Specified by:
writeFont
in classBaseFont
- Parameters:
writer
- the writer for this documentref
- the font indirect referenceparams
- several parameters that depend on the font type- Throws:
java.io.IOException
- on errorDocumentException
- error in generating the object
-
readCffFont
protected byte[] readCffFont() throws java.io.IOException
If this font file is using the Compact Font File Format, then this method will return the raw bytes needed for the font stream. If this method is ever made public: make sure to add a test if (cff == true).- Returns:
- a byte array
- Throws:
java.io.IOException
- Since:
- 2.1.3
-
getFullFontStream
public PdfStream getFullFontStream() throws java.io.IOException, DocumentException
Returns a PdfStream object with the full font program.- Specified by:
getFullFontStream
in classBaseFont
- Returns:
- a PdfStream with the font program
- Throws:
java.io.IOException
DocumentException
- Since:
- 2.1.3
-
getFontDescriptor
public float getFontDescriptor(int key, float fontSize)
Gets the font parameter identified bykey
. Valid values forkey
areASCENT
,CAPHEIGHT
,DESCENT
andITALICANGLE
.- Specified by:
getFontDescriptor
in classBaseFont
- Parameters:
key
- the parameter to be extractedfontSize
- the font size in points- Returns:
- the parameter in points
-
getMetricsTT
public int[] getMetricsTT(int c)
Gets the glyph index and metrics for a character.- Parameters:
c
- the character- Returns:
- an
int
array with {glyph index, width}
-
getPostscriptFontName
public java.lang.String getPostscriptFontName()
Gets the postscript font name.- Specified by:
getPostscriptFontName
in classBaseFont
- Returns:
- the postscript font name
-
getCodePagesSupported
public java.lang.String[] getCodePagesSupported()
Gets the code pages supported by the font.- Overrides:
getCodePagesSupported
in classBaseFont
- Returns:
- the code pages supported by the font
-
getFullFontName
public java.lang.String[][] getFullFontName()
Gets the full name of the font. If it is a True Type font each array element will have {Platform ID, Platform Encoding ID, Language ID, font name}. The interpretation of this values can be found in the Open Type specification, chapter 2, in the 'name' table.
For the other fonts the array has a single element with {"", "", "", font name}.- Specified by:
getFullFontName
in classBaseFont
- Returns:
- the full name of the font
-
getSubfamily
public java.lang.String getSubfamily()
Gets the full subfamily name of the font. If it is a True Type font each array element will have {Platform ID, Platform Encoding ID, Language ID, subfamily}. The interpretation of this values can be found in the Open Type specification, chapter 2, in the 'name' table.- Overrides:
getSubfamily
in classBaseFont
- Returns:
- the full subfamily name of the font
-
getAllNameEntries
public java.lang.String[][] getAllNameEntries()
Gets all the entries of the Names-Table. If it is a True Type font each array element will have {Name ID, Platform ID, Platform Encoding ID, Language ID, font name}. The interpretation of this values can be found in the Open Type specification, chapter 2, in the 'name' table.
For the other fonts the array has a single element with {"", "", "", font name}.- Specified by:
getAllNameEntries
in classBaseFont
- Returns:
- the full name of the font
-
getFamilyFontName
public java.lang.String[][] getFamilyFontName()
Gets the family name of the font. If it is a True Type font each array element will have {Platform ID, Platform Encoding ID, Language ID, font name}. The interpretation of this values can be found in the Open Type specification, chapter 2, in the 'name' table.
For the other fonts the array has a single element with {"", "", "", font name}.- Specified by:
getFamilyFontName
in classBaseFont
- Returns:
- the family name of the font
-
hasKernPairs
public boolean hasKernPairs()
Checks if the font has any kerning pairs.- Specified by:
hasKernPairs
in classBaseFont
- Returns:
true
if the font has any kerning pairs
-
setPostscriptFontName
public void setPostscriptFontName(java.lang.String name)
Sets the font name that will appear in the pdf font dictionary. Use with care as it can easily make a font unreadable if not embedded.- Specified by:
setPostscriptFontName
in classBaseFont
- Parameters:
name
- the new font name
-
setKerning
public boolean setKerning(int char1, int char2, int kern)
Sets the kerning between two Unicode chars.- Specified by:
setKerning
in classBaseFont
- Parameters:
char1
- the first charchar2
- the second charkern
- the kerning to apply in normalized 1000 units- Returns:
true
if the kerning was applied,false
otherwise
-
getRawCharBBox
protected int[] getRawCharBBox(int c, java.lang.String name)
- Specified by:
getRawCharBBox
in classBaseFont
-
isWinAnsiSupported
boolean isWinAnsiSupported()
Checks whether this font may be used with winansi encoding.- Returns:
true
if the font can be correctly used with winansi encodings
-
-