public class PDType1Font extends PDSimpleFont implements PDVectorFont
encoding, glyphList
DEFAULT_FONT_MATRIX, dict
Constructor and Description |
---|
PDType1Font(COSDictionary fontDictionary)
Creates a Type 1 font from a Font dictionary in a PDF.
|
PDType1Font(PDDocument doc,
InputStream pfbIn)
Creates a new Type 1 font for embedding.
|
PDType1Font(PDDocument doc,
InputStream pfbIn,
Encoding encoding)
Creates a new Type 1 font for embedding.
|
PDType1Font(Standard14Fonts.FontName baseFont)
Creates a Type 1 standard 14 font for embedding.
|
Modifier and Type | Method and Description |
---|---|
String |
codeToName(int code) |
protected byte[] |
encode(int unicode)
Encodes the given Unicode code point for use in a PDF content stream.
|
float |
getAverageFontWidth()
This will get the average font width for all characters.
|
String |
getBaseFont()
Returns the PostScript name of the font.
|
org.apache.fontbox.util.BoundingBox |
getBoundingBox()
Returns the font's bounding box.
|
org.apache.fontbox.FontBoxFont |
getFontBoxFont()
Returns the embedded or system font used for rendering.
|
Matrix |
getFontMatrix()
Returns the font matrix, which represents the transformation from glyph space to text space.
|
float |
getHeight(int code)
Returns the height of the given character, in glyph space.
|
String |
getName()
Returns the name of this font, either the PostScript "BaseName" or the Type 3 "Name".
|
GeneralPath |
getNormalizedPath(int code)
Returns the normalized glyph path for the given character code in a PDF.
|
GeneralPath |
getPath(int code)
Returns the glyph path for the given character code.
|
GeneralPath |
getPath(String name)
Returns the path for the character with the given name.
|
org.apache.fontbox.type1.Type1Font |
getType1Font()
Returns the embedded or substituted Type 1 font, or null if there is none.
|
float |
getWidthFromFont(int code)
Returns the width of a glyph in the embedded font file.
|
boolean |
hasGlyph(int code)
Returns true if this font contains a glyph for the given character code in a PDF.
|
boolean |
hasGlyph(String name)
Returns true if the font contains the character with the given name.
|
boolean |
isDamaged()
Returns true if the embedded font file is damaged.
|
boolean |
isEmbedded()
Returns true if the font file is embedded in the PDF.
|
int |
readCode(InputStream in)
Reads a character code from a content stream string.
|
protected Encoding |
readEncodingFromFont()
Called by readEncoding() if the encoding needs to be extracted from the font file.
|
addToSubset, getEncoding, getGlyphList, getStandard14Width, getSymbolicFlag, hasExplicitWidth, isFontSymbolic, isNonZeroBoundingBox, isStandard14, isSymbolic, isVertical, readEncoding, subset, toUnicode, toUnicode, willBeSubset
encode, equals, getCOSObject, getDisplacement, getFontDescriptor, getPositionVector, getSpaceWidth, getStandard14AFM, getStringWidth, getSubType, getToUnicodeCMap, getType, getWidth, getWidths, hashCode, readCMap, setFontDescriptor, toString
public PDType1Font(Standard14Fonts.FontName baseFont)
baseFont
- One of the standard 14 PostScript namespublic PDType1Font(PDDocument doc, InputStream pfbIn) throws IOException
doc
- PDF document to write topfbIn
- PFB file streamIOException
public PDType1Font(PDDocument doc, InputStream pfbIn, Encoding encoding) throws IOException
doc
- PDF document to write topfbIn
- PFB file streamencoding
- IOException
public PDType1Font(COSDictionary fontDictionary) throws IOException
fontDictionary
- font dictionary.IOException
- if there was an error initializing the font.IllegalArgumentException
- if /FontFile3 was used.public final String getBaseFont()
public float getHeight(int code) throws IOException
PDFontLike
Warning: This method is deprecated in PDFBox 2.0 because there is no meaningful value
which it can return. The PDFontLike.getWidth(int)
method returns the advance width of a glyph,
but there is no corresponding advance height. The logical height of a character is the same
for every character in a font, so if you want that, retrieve the font bbox's height.
Otherwise 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. See the cyan rectangles in
the DrawPrintTextLocations.java example to see this in action.
getHeight
in interface PDFontLike
code
- character codeIOException
protected byte[] encode(int unicode) throws IOException
PDFont
This method is called when embedding text in PDFs and when filling in fields.
encode
in class PDFont
unicode
- Unicode code point.IOException
- If the text could not be encoded.public float getWidthFromFont(int code) throws IOException
PDFontLike
getWidthFromFont
in interface PDFontLike
code
- character codeIOException
- if the font could not be readpublic boolean isEmbedded()
PDFontLike
isEmbedded
in interface PDFontLike
public float getAverageFontWidth()
PDFont
getAverageFontWidth
in interface PDFontLike
getAverageFontWidth
in class PDFont
public int readCode(InputStream in) throws IOException
PDFont
readCode
in class PDFont
in
- string streamIOException
- if the CMap or stream cannot be readprotected Encoding readEncodingFromFont() throws IOException
PDSimpleFont
readEncodingFromFont
in class PDSimpleFont
IOException
- if the font file could not be read.public org.apache.fontbox.type1.Type1Font getType1Font()
public org.apache.fontbox.FontBoxFont getFontBoxFont()
PDSimpleFont
getFontBoxFont
in class PDSimpleFont
public String getName()
PDFontLike
getName
in interface PDFontLike
public org.apache.fontbox.util.BoundingBox getBoundingBox() throws IOException
PDFontLike
getBoundingBox
in interface PDFontLike
IOException
public String codeToName(int code) throws IOException
IOException
public GeneralPath getPath(String name) throws IOException
PDSimpleFont
getPath
in class PDSimpleFont
IOException
- if the path could not be readpublic GeneralPath getPath(int code) throws IOException
PDVectorFont
getPath
in interface PDVectorFont
code
- character code in a PDF. Not to be confused with unicode.IOException
- if the font could not be readpublic GeneralPath getNormalizedPath(int code) throws IOException
PDVectorFont
getNormalizedPath
in interface PDVectorFont
code
- character code in a PDF. Not to be confused with unicode.IOException
- if the font could not be readpublic boolean hasGlyph(String name) throws IOException
PDSimpleFont
hasGlyph
in class PDSimpleFont
IOException
- if the path could not be readpublic boolean hasGlyph(int code) throws IOException
PDVectorFont
hasGlyph
in interface PDVectorFont
code
- character code in a PDF. Not to be confused with unicode.IOException
public final Matrix getFontMatrix()
PDFontLike
getFontMatrix
in interface PDFontLike
getFontMatrix
in class PDFont
public boolean isDamaged()
PDFontLike
isDamaged
in interface PDFontLike
Copyright © 2002–2022 The Apache Software Foundation. All rights reserved.