Package com.itextpdf.text
Class FontFactoryImp
- java.lang.Object
-
- com.itextpdf.text.FontFactoryImp
-
- All Implemented Interfaces:
FontProvider
- Direct Known Subclasses:
XMLWorkerFontProvider
public class FontFactoryImp extends java.lang.Object implements FontProvider
If you are using True Type fonts, you can declare the paths of the different ttf- and ttc-files to this class first and then create fonts in your code using one of the getFont method without having to enter a path as parameter.
-
-
Field Summary
Fields Modifier and Type Field Description boolean
defaultEmbedding
This is the default value of the embedded variable.java.lang.String
defaultEncoding
This is the default encoding to use.private java.util.Hashtable<java.lang.String,java.util.ArrayList<java.lang.String>>
fontFamilies
This is a map of fontfamilies.private static Logger
LOGGER
private java.util.Hashtable<java.lang.String,java.lang.String>
trueTypeFonts
This is a map of postscriptfontnames of True Type fonts and the path of their ttf- or ttc-file.private static java.lang.String[]
TTFamilyOrder
-
Constructor Summary
Constructors Constructor Description FontFactoryImp()
Creates new FontFactory
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BaseFont
getBaseFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, boolean cached)
Font
getFont(java.lang.String fontname)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, float size)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, float size, int style)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, float size, int style, BaseColor color)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, float size, BaseColor color)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, java.lang.String encoding)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style, BaseColor color)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style, BaseColor color, boolean cached)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, java.lang.String encoding, float size)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, java.lang.String encoding, float size, int style)
Constructs aFont
-object.Font
getFont(java.lang.String fontname, java.lang.String encoding, float size, int style, BaseColor color)
Constructs aFont
-object.java.util.Set<java.lang.String>
getRegisteredFamilies()
Gets a set of registered fontnames.java.util.Set<java.lang.String>
getRegisteredFonts()
Gets a set of registered fontnames.boolean
isRegistered(java.lang.String fontname)
Checks if a certain font is registered.void
register(java.lang.String path)
Register a ttf- or a ttc-file.void
register(java.lang.String path, java.lang.String alias)
Register a font file and use an alias for the font contained in it.int
registerDirectories()
Register fonts in some probable directories.int
registerDirectory(java.lang.String dir)
Register all the fonts in a directory.int
registerDirectory(java.lang.String dir, boolean scanSubdirectories)
Register all the fonts in a directory and possibly its subdirectories.void
registerFamily(java.lang.String familyName, java.lang.String fullName, java.lang.String path)
Register a font by giving explicitly the font family and name.protected boolean
saveCopyOfRegularFont(java.lang.String regularFontName, java.lang.String path)
-
-
-
Field Detail
-
LOGGER
private static final Logger LOGGER
-
trueTypeFonts
private final java.util.Hashtable<java.lang.String,java.lang.String> trueTypeFonts
This is a map of postscriptfontnames of True Type fonts and the path of their ttf- or ttc-file.
-
TTFamilyOrder
private static java.lang.String[] TTFamilyOrder
-
fontFamilies
private final java.util.Hashtable<java.lang.String,java.util.ArrayList<java.lang.String>> fontFamilies
This is a map of fontfamilies.
-
defaultEncoding
public java.lang.String defaultEncoding
This is the default encoding to use.
-
defaultEmbedding
public boolean defaultEmbedding
This is the default value of the embedded variable.
-
-
Method Detail
-
getFont
public Font getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style, BaseColor color)
Constructs aFont
-object.- Specified by:
getFont
in interfaceFontProvider
- Parameters:
fontname
- the name of the fontencoding
- the encoding of the fontembedded
- true if the font is to be embedded in the PDFsize
- the size of this fontstyle
- the style of this fontcolor
- theBaseColor
of this font.- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style, BaseColor color, boolean cached)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontencoding
- the encoding of the fontembedded
- true if the font is to be embedded in the PDFsize
- the size of this fontstyle
- the style of this fontcolor
- theBaseColor
of this font.cached
- true if the font comes from the cache or is added to the cache if new, false if the font is always created new- Returns:
- the Font constructed based on the parameters
-
getBaseFont
protected BaseFont getBaseFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, boolean cached) throws java.io.IOException, DocumentException
- Throws:
java.io.IOException
DocumentException
-
getFont
public Font getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontencoding
- the encoding of the fontembedded
- true if the font is to be embedded in the PDFsize
- the size of this fontstyle
- the style of this font- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontencoding
- the encoding of the fontembedded
- true if the font is to be embedded in the PDFsize
- the size of this font- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontencoding
- the encoding of the fontembedded
- true if the font is to be embedded in the PDF- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname, java.lang.String encoding, float size, int style, BaseColor color)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontencoding
- the encoding of the fontsize
- the size of this fontstyle
- the style of this fontcolor
- theBaseColor
of this font.- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname, java.lang.String encoding, float size, int style)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontencoding
- the encoding of the fontsize
- the size of this fontstyle
- the style of this font- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname, java.lang.String encoding, float size)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontencoding
- the encoding of the fontsize
- the size of this font- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname, float size, BaseColor color)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontsize
- the size of this fontcolor
- theBaseColor
of this font.- Returns:
- the Font constructed based on the parameters
- Since:
- 2.1.0
-
getFont
public Font getFont(java.lang.String fontname, java.lang.String encoding)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontencoding
- the encoding of the font- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname, float size, int style, BaseColor color)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontsize
- the size of this fontstyle
- the style of this fontcolor
- theBaseColor
of this font.- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname, float size, int style)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontsize
- the size of this fontstyle
- the style of this font- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname, float size)
Constructs aFont
-object.- Parameters:
fontname
- the name of the fontsize
- the size of this font- Returns:
- the Font constructed based on the parameters
-
getFont
public Font getFont(java.lang.String fontname)
Constructs aFont
-object.- Parameters:
fontname
- the name of the font- Returns:
- the Font constructed based on the parameters
-
registerFamily
public void registerFamily(java.lang.String familyName, java.lang.String fullName, java.lang.String path)
Register a font by giving explicitly the font family and name.- Parameters:
familyName
- the font familyfullName
- the font namepath
- the font path
-
register
public void register(java.lang.String path)
Register a ttf- or a ttc-file.- Parameters:
path
- the path to a ttf- or ttc-file
-
register
public void register(java.lang.String path, java.lang.String alias)
Register a font file and use an alias for the font contained in it.- Parameters:
path
- the path to a font filealias
- the alias you want to use for the font
-
saveCopyOfRegularFont
protected boolean saveCopyOfRegularFont(java.lang.String regularFontName, java.lang.String path)
-
registerDirectory
public int registerDirectory(java.lang.String dir)
Register all the fonts in a directory.- Parameters:
dir
- the directory- Returns:
- the number of fonts registered
-
registerDirectory
public int registerDirectory(java.lang.String dir, boolean scanSubdirectories)
Register all the fonts in a directory and possibly its subdirectories.- Parameters:
dir
- the directoryscanSubdirectories
- recursively scan subdirectories iftrue
- Returns:
- the number of fonts registered
- Since:
- 2.1.2
-
registerDirectories
public int registerDirectories()
Register fonts in some probable directories. It usually works in Windows, Linux and Solaris.- Returns:
- the number of fonts registered
-
getRegisteredFonts
public java.util.Set<java.lang.String> getRegisteredFonts()
Gets a set of registered fontnames.- Returns:
- a set of registered fonts
-
getRegisteredFamilies
public java.util.Set<java.lang.String> getRegisteredFamilies()
Gets a set of registered fontnames.- Returns:
- a set of registered font families
-
isRegistered
public boolean isRegistered(java.lang.String fontname)
Checks if a certain font is registered.- Specified by:
isRegistered
in interfaceFontProvider
- Parameters:
fontname
- the name of the font that has to be checked.- Returns:
- true if the font is found
-
-