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
    Modifier and Type | Field and 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` | `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
    Modifier and Type | Method and Description
    --- | ---
    `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`
      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