Class FontFactoryImp

java.lang.Object
com.lowagie.text.FontFactoryImp
All Implemented Interfaces:
FontProvider

public class FontFactoryImp extends 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 Details

    • TTFamilyOrder

      private static final String[] TTFamilyOrder
    • trueTypeFonts

      private final Map<String,String> trueTypeFonts
      This is a map of postscriptfontnames of True Type fonts and the path of their ttf- or ttc-file.
    • fontFamilies

      private final Map<String,List<String>> fontFamilies
      This is a map of fontfamilies.
    • lock

      private final ReadWriteLock lock
      This is a lock for protecting fontFamilies from race condition.
    • defaultEncoding

      public String defaultEncoding
      This is the default encoding to use.
    • defaultEmbedding

      public boolean defaultEmbedding
      This is the default value of the embedded variable.
  • Constructor Details

    • FontFactoryImp

      public FontFactoryImp()
      Creates new FontFactory
  • Method Details

    • getFont

      public Font getFont(String fontName, String encoding, boolean embedded, float size, int style, 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(String fontname, String encoding, boolean embedded, float size, int style, 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(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(String fontname, 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(String fontname, 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(String fontname, 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(String fontname, String encoding, float size, int style, 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(String fontname, 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(String fontname, 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(String fontname, float size, 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(String fontname, 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(String fontname, float size, int style, 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(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(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(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(String familyName, String fullName, 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(String path)
      Register a ttf- or a ttc-file.
      Parameters:
      path - the path to a ttf- or ttc-file
    • register

      public void register(String path, 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(String dir)
      Register all the fonts in a directory.
      Parameters:
      dir - the directory
      Returns:
      the number of fonts registered
    • registerDirectory

      public int registerDirectory(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 Set<String> getRegisteredFonts()
      Gets a set of registered fontnames.
      Returns:
      a set of registered fonts
    • getRegisteredFamilies

      public Set<String> getRegisteredFamilies()
      Gets a set of registered fontnames.
      Returns:
      a set of registered font families
    • isRegistered

      public boolean isRegistered(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
    • getFontPath

      public Object getFontPath(String fontname)
      Get a registered font path.
      Parameters:
      fontname - the name of the font to get.
      Returns:
      the font path if found or null