## com.lowagie.text
Class FontFactoryImp

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

    public class FontFactoryImp

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 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
`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
`FontFactoryImp()` Creates new FontFactory

Method Summary
`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, 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.
`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.

  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,
                        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

### 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.

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