Class DefaultFontFactory

java.lang.Object
net.sourceforge.jeuclid.font.FontFactory
net.sourceforge.jeuclid.font.DefaultFontFactory

@ThreadSafe public class DefaultFontFactory extends FontFactory
Concrete FontFactory implementation that does simple caching of Fonts loaded via Font.createFont(int, File) APIs.
Version:
$Revision: 2907029e5fad $
  • Method Details

    • getFont

      public Font getFont(String name, int style, float size)
      Create a font object with specified properties. Font name may refer to either 'built-in' or loaded externally and 'cached' font.
      Specified by:
      getFont in class FontFactory
      Parameters:
      name - font name or font family name
      style - font style
      size - font size
      Returns:
      Font instance
      See Also:
    • getFont

      public Font getFont(List<String> preferredFonts, int codepoint, int style, float size)
      Create a font object which is able to display the requested code point. Uses one of the list of preferred fonts is possible. If no matching font is found null is returned.
      Specified by:
      getFont in class FontFactory
      Parameters:
      preferredFonts - List of preferred fonts
      codepoint - code point which must be displayable
      style - font style
      size - font size
      Returns:
      a valid Font instance or null if no font could be found.
    • registerFont

      public Font registerFont(int format, File fontFile) throws IOException, FontFormatException
      Load an external font from a file and 'register' (aka 'cache') it for future use.
      Specified by:
      registerFont in class FontFactory
      Parameters:
      format - font format (TTF or TYPE_1 currently supported by the platform)
      fontFile - file which contains the font
      Returns:
      The newly created Font instance
      Throws:
      FontFormatException - if font contained in the file doesn't match the specified format
      IOException - in case of problem while reading the file
      See Also:
    • registerFont

      public Font registerFont(int format, InputStream fontStream) throws IOException, FontFormatException
      Load an external font from a stream and 'register' (aka 'cache') it for future use.
      Specified by:
      registerFont in class FontFactory
      Parameters:
      format - font format (TTF or TYPE_1 currently supported by the platform)
      fontStream - file which contains the font
      Returns:
      The newly created Font instance
      Throws:
      FontFormatException - if font contained in the stream doesn't match the specified format
      IOException - in case of problem while reading the stream
      See Also:
    • listFontNames

      public Set<String> listFontNames()
      Retrieve a list of all fonts registered with this fontFactory.
      Specified by:
      listFontNames in class FontFactory
      Returns:
      A set of recognized font names