Class AbstractFontFileRegistry

java.lang.Object
org.pentaho.reporting.libraries.fonts.registry.AbstractFontFileRegistry
All Implemented Interfaces:
FontRegistry
Direct Known Subclasses:
AfmFontRegistry, PfmFontRegistry, TrueTypeFontRegistry

public abstract class AbstractFontFileRegistry extends Object implements FontRegistry
Creation-Date: 21.07.2007, 17:01:15
Author:
Thomas Morgner
  • Constructor Details

    • AbstractFontFileRegistry

      protected AbstractFontFileRegistry()
  • Method Details

    • getSeenFiles

      protected HashMap<String,FontFileRecord> getSeenFiles()
    • getFileFilter

      protected abstract FileFilter getFileFilter()
    • initialize

      public void initialize()
      Specified by:
      initialize in interface FontRegistry
    • getDefaultEncoding

      protected String getDefaultEncoding()
    • registerDefaultFontPath

      public void registerDefaultFontPath()
      Register os-specific font paths to the PDF-FontFactory. For unix-like operating systems, X11 is searched in /usr/X11R6 and the default truetype fontpath is added. For windows the system font path is added (%windir%/fonts)
    • registerPrimaryName

      protected void registerPrimaryName(String name, DefaultFontFamily family)
    • registerAlternativeName

      protected void registerAlternativeName(String name, DefaultFontFamily family)
    • registerFullName

      protected void registerFullName(String name, DefaultFontFamily family)
    • createFamily

      protected DefaultFontFamily createFamily(String name)
    • getRegisteredFamilies

      public String[] getRegisteredFamilies()
      Specified by:
      getRegisteredFamilies in interface FontRegistry
    • getAllRegisteredFamilies

      public String[] getAllRegisteredFamilies()
      Specified by:
      getAllRegisteredFamilies in interface FontRegistry
    • getFontFamily

      public FontFamily getFontFamily(String name)
      Description copied from interface: FontRegistry
      Tries to find a font family with the given name, looking through all alternative font names if neccessary.
      Specified by:
      getFontFamily in interface FontRegistry
      Returns:
      the font family or null, if there is no such family.
    • loadFromCache

      protected void loadFromCache(String encoding)
    • populateFromCache

      protected void populateFromCache(HashMap<String,DefaultFontFamily> cachedFontFamilies, HashMap<String,DefaultFontFamily> cachedFullFontNames, HashMap<String,DefaultFontFamily> cachedAlternateNames)
    • loadFromCache

      protected void loadFromCache(String encoding, String filename)
    • getCacheFileName

      protected String getCacheFileName()
    • storeToCache

      protected void storeToCache(String encoding)
    • registerFontPath

      public void registerFontPath(File file, String encoding)
      Register all fonts (*.ttf files) in the given path.
      Parameters:
      file - the directory that contains the font files.
      encoding - the encoding for the given font.
    • isCached

      protected boolean isCached(File file)
    • registerFontFile

      public void registerFontFile(String filename, String encoding)
      Register the font (must end this *.ttf) to the FontFactory.
      Parameters:
      filename - the filename.
      encoding - the encoding.
    • registerFontFile

      public void registerFontFile(File file, String encoding)
    • addFont

      protected abstract boolean addFont(File font, String encoding) throws IOException
      Adds the fontname by creating the basefont object. This method tries to load the fonts as embeddable fonts, if this fails, it repeats the loading with the embedded-flag set to false.
      Parameters:
      font - the font file name.
      encoding - the encoding.
      Returns:
      true, if registration was successful, false otherwise.
      Throws:
      IOException - if the base font file could not be read.
    • safeSystemGetProperty

      protected String safeSystemGetProperty(String name, String defaultValue)
    • isCacheValid

      protected boolean isCacheValid(HashMap cachedSeenFiles)
    • createStorageLocation

      protected File createStorageLocation()