com.lowagie.text

## Class FontFactory

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

-     public final class FontFactory
      extends java.lang.Object

  If you are using True Type fonts, you can declare the paths of the different ttf- and ttc-files to this static class first and then create fonts in your code using one of the static getFont-method without having to enter a path as parameter.
  Author:
    Bruno Lowagie

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `COURIER` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `COURIER_BOLD` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `COURIER_BOLDOBLIQUE` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `COURIER_OBLIQUE` This is a possible value of a base 14 type 1 font
    `static boolean` | `defaultEmbedding` This is the default value of the embedded variable.
    `static java.lang.String` | `defaultEncoding` This is the default encoding to use.
    `private static FontFactoryImp` | `fontImp`
    `static java.lang.String` | `HELVETICA` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `HELVETICA_BOLD` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `HELVETICA_BOLDOBLIQUE` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `HELVETICA_OBLIQUE` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `SYMBOL` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `TIMES` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `TIMES_BOLD` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `TIMES_BOLDITALIC` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `TIMES_ITALIC` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `TIMES_ROMAN` This is a possible value of a base 14 type 1 font
    `static java.lang.String` | `ZAPFDINGBATS` This is a possible value of a base 14 type 1 font

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `private` | `FontFactory()` Creates new FontFactory

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `contains(java.lang.String fontname)` Gets a set of registered fontnames.
    `static Font` | `getFont(java.util.Properties attributes)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, float size)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, float size, java.awt.Color color)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, float size, int style)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, float size, int style, java.awt.Color color)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, java.lang.String encoding)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, java.lang.String encoding, boolean embedded, float size, int style, java.awt.Color color)` Constructs a `Font`-object.
    `static 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.
    `static Font` | `getFont(java.lang.String fontname, java.lang.String encoding, float size)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, java.lang.String encoding, float size, int style)` Constructs a `Font`-object.
    `static Font` | `getFont(java.lang.String fontname, java.lang.String encoding, float size, int style, java.awt.Color color)` Constructs a `Font`-object.
    `static FontFactoryImp` | `getFontImp()` Gets the font factory implementation.
    `static java.util.Set` | `getRegisteredFamilies()` Gets a set of registered fontnames.
    `static java.util.Set` | `getRegisteredFonts()` Gets a set of registered fontnames.
    `static boolean` | `isRegistered(java.lang.String fontname)` Checks if a certain font is registered.
    `static void` | `register(java.lang.String path)` Register a ttf- or a ttc-file.
    `static void` | `register(java.lang.String path, java.lang.String alias)` Register a font file and use an alias for the font contained in it.
    `static int` | `registerDirectories()` Register fonts in some probable directories.
    `static int` | `registerDirectory(java.lang.String dir)` Register all the fonts in a directory.
    `static 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.
    `static void` | `setFontImp(FontFactoryImp fontImp)` Sets the font factory implementation.

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

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

- - ### Field Detail

    - #### COURIER

          public static final java.lang.String COURIER

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### COURIER_BOLD

          public static final java.lang.String COURIER_BOLD

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### COURIER_OBLIQUE

          public static final java.lang.String COURIER_OBLIQUE

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### COURIER_BOLDOBLIQUE

          public static final java.lang.String COURIER_BOLDOBLIQUE

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### HELVETICA

          public static final java.lang.String HELVETICA

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### HELVETICA_BOLD

          public static final java.lang.String HELVETICA_BOLD

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### HELVETICA_OBLIQUE

          public static final java.lang.String HELVETICA_OBLIQUE

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### HELVETICA_BOLDOBLIQUE

          public static final java.lang.String HELVETICA_BOLDOBLIQUE

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### SYMBOL

          public static final java.lang.String SYMBOL

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### TIMES

          public static final java.lang.String TIMES

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### TIMES_ROMAN

          public static final java.lang.String TIMES_ROMAN

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### TIMES_BOLD

          public static final java.lang.String TIMES_BOLD

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### TIMES_ITALIC

          public static final java.lang.String TIMES_ITALIC

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### TIMES_BOLDITALIC

          public static final java.lang.String TIMES_BOLDITALIC

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### ZAPFDINGBATS

          public static final java.lang.String ZAPFDINGBATS

      This is a possible value of a base 14 type 1 font
      See Also:
        Constant Field Values

    - #### fontImp

          private static FontFactoryImp fontImp

    - #### defaultEncoding

          public static java.lang.String defaultEncoding

      This is the default encoding to use.

    - #### defaultEmbedding

          public static boolean defaultEmbedding

      This is the default value of the embedded variable.

  - ### Constructor Detail

    - #### FontFactory

          private FontFactory()

      Creates new FontFactory

  - ### Method Detail

    - #### getFont

          public static Font getFont(java.lang.String fontname,
                     java.lang.String encoding,
                     boolean embedded,
                     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
        `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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static int registerDirectories()

      Register fonts in some probable directories. It usually works in Windows, Linux and Solaris.
      Returns:
        the number of fonts registered

    - #### getRegisteredFonts

          public static java.util.Set getRegisteredFonts()

      Gets a set of registered fontnames.
      Returns:
        a set of registered fonts

    - #### getRegisteredFamilies

          public static java.util.Set getRegisteredFamilies()

      Gets a set of registered fontnames.
      Returns:
        a set of registered font families

    - #### contains

          public static boolean contains(java.lang.String fontname)

      Gets a set of registered fontnames.
      Parameters:
        `fontname` - of a font that may or may not be registered
      Returns:
        true if a given font is registered

    - #### isRegistered

          public static boolean isRegistered(java.lang.String fontname)

      Checks if a certain font is registered.
      Parameters:
        `fontname` - the name of the font that has to be checked.
      Returns:
        true if the font is found

    - #### getFontImp

          public static FontFactoryImp getFontImp()

      Gets the font factory implementation.
      Returns:
        the font factory implementation

    - #### setFontImp

          public static void setFontImp(FontFactoryImp fontImp)

      Sets the font factory implementation.
      Parameters:
        `fontImp` - the font factory implementation