com.lowagie.text

## Class FontFactoryImp

- java.lang.Object
- - com.lowagie.text.FontFactoryImp

All Implemented Interfaces:
  FontProvider

    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.

Author:
  Bruno Lowagie

### Field Summary

Fields
`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` `fontFamilies` This is a map of fontfamilies.
`private java.util.Properties` `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 and Description
`FontFactoryImp()` Creates new FontFactory

### Method Summary

Methods
`Font` `getFont(java.util.Properties attributes)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, float size)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, float size, java.awt.Color color)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, float size, int style)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, float size, int style, java.awt.Color color)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, java.lang.String encoding)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style, java.awt.Color color)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style, java.awt.Color color, boolean cached)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, java.lang.String encoding, float size)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, java.lang.String encoding, float size, int style)` Constructs a `Font`-object.
`Font` `getFont(java.lang.String fontname, java.lang.String encoding, float size, int style, java.awt.Color color)` Constructs a `Font`-object.
`java.util.Set` `getRegisteredFamilies()` Gets a set of registered fontnames.
`java.util.Set` `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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### trueTypeFonts

    private java.util.Properties 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 java.util.Hashtable 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.

### Constructor Detail

#### FontFactoryImp

    public FontFactoryImp()

Creates new FontFactory

### Method Detail

#### getFont

    public Font getFont(java.lang.String fontname,
               java.lang.String encoding,
               boolean embedded,
               float size,
               int style,
               java.awt.Color color)

Constructs a `Font`-object.

Specified by:
  `getFont` in interface `FontProvider`
Parameters:
  `fontname` - the name of the font
  `encoding` - the encoding of the font
  `embedded` - true if the font is to be embedded in the PDF
  `size` - the size of this font
  `style` - the style of this font
  `color` - the `Color` 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,
               java.awt.Color color,
               boolean cached)

Constructs a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `encoding` - the encoding of the font
  `embedded` - true if the font is to be embedded in the PDF
  `size` - the size of this font
  `style` - the style of this font
  `color` - the `Color` 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

#### getFont

    public Font getFont(java.util.Properties attributes)

Constructs a `Font`-object.

Parameters:
  `attributes` - the attributes of a `Font` object.
Returns:
  the Font constructed based on the attributes

#### getFont

    public Font getFont(java.lang.String fontname,
               java.lang.String encoding,
               boolean embedded,
               float size,
               int style)

Constructs a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `encoding` - the encoding of the font
  `embedded` - true if the font is to be embedded in the PDF
  `size` - the size of this font
  `style` - 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 a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `encoding` - the encoding of the font
  `embedded` - true if the font is to be embedded in the PDF
  `size` - 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 a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `encoding` - the encoding of the font
  `embedded` - 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,
               java.awt.Color color)

Constructs a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `encoding` - the encoding of the font
  `size` - the size of this font
  `style` - the style of this font
  `color` - the `Color` 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 a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `encoding` - the encoding of the font
  `size` - the size of this font
  `style` - 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 a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `encoding` - the encoding of the font
  `size` - the size of this font
Returns:
  the Font constructed based on the parameters

#### getFont

    public Font getFont(java.lang.String fontname,
               float size,
               java.awt.Color color)

Constructs a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `size` - the size of this font
  `color` - the `Color` 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 a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `encoding` - 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,
               java.awt.Color color)

Constructs a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `size` - the size of this font
  `style` - the style of this font
  `color` - the `Color` of this font.
Returns:
  the Font constructed based on the parameters

#### getFont

    public Font getFont(java.lang.String fontname,
               float size,
               int style)

Constructs a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `size` - the size of this font
  `style` - the style of this font
Returns:
  the Font constructed based on the parameters

#### getFont

    public Font getFont(java.lang.String fontname,
               float size)

Constructs a `Font`-object.

Parameters:
  `fontname` - the name of the font
  `size` - the size of this font
Returns:
  the Font constructed based on the parameters

#### getFont

    public Font getFont(java.lang.String fontname)

Constructs a `Font`-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 family
  `fullName` - the font name
  `path` - 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 file
  `alias` - the alias you want to use for the font

#### 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 directory
  `scanSubdirectories` - recursively scan subdirectories if `true</true>`
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 getRegisteredFonts()

Gets a set of registered fontnames.

Returns:
  a set of registered fonts

#### getRegisteredFamilies

    public java.util.Set 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 interface `FontProvider`
Parameters:
  `fontname` - the name of the font that has to be checked.
Returns:
  true if the font is found