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 Summary
Constructors Modifier Constructor Description protectedAbstractFontFileRegistry()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract booleanaddFont(File font, String encoding)Adds the fontname by creating the basefont object.protected DefaultFontFamilycreateFamily(String name)protected FilecreateStorageLocation()String[]getAllRegisteredFamilies()protected StringgetCacheFileName()protected StringgetDefaultEncoding()protected abstract FileFiltergetFileFilter()FontFamilygetFontFamily(String name)Tries to find a font family with the given name, looking through all alternative font names if neccessary.String[]getRegisteredFamilies()protected HashMap<String,FontFileRecord>getSeenFiles()voidinitialize()protected booleanisCached(File file)protected booleanisCacheValid(HashMap cachedSeenFiles)protected voidloadFromCache(String encoding)protected voidloadFromCache(String encoding, String filename)protected voidpopulateFromCache(HashMap<String,DefaultFontFamily> cachedFontFamilies, HashMap<String,DefaultFontFamily> cachedFullFontNames, HashMap<String,DefaultFontFamily> cachedAlternateNames)protected voidregisterAlternativeName(String name, DefaultFontFamily family)voidregisterDefaultFontPath()Register os-specific font paths to the PDF-FontFactory.voidregisterFontFile(File file, String encoding)voidregisterFontFile(String filename, String encoding)Register the font (must end this *.ttf) to the FontFactory.voidregisterFontPath(File file, String encoding)Register all fonts (*.ttf files) in the given path.protected voidregisterFullName(String name, DefaultFontFamily family)protected voidregisterPrimaryName(String name, DefaultFontFamily family)protected StringsafeSystemGetProperty(String name, String defaultValue)protected voidstoreToCache(String encoding)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.pentaho.reporting.libraries.fonts.registry.FontRegistry
createMetricsFactory, getSecondLevelCache
-
-
-
-
Method Detail
-
getSeenFiles
protected HashMap<String,FontFileRecord> getSeenFiles()
-
getFileFilter
protected abstract FileFilter getFileFilter()
-
initialize
public void initialize()
- Specified by:
initializein interfaceFontRegistry
-
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:
getRegisteredFamiliesin interfaceFontRegistry
-
getAllRegisteredFamilies
public String[] getAllRegisteredFamilies()
- Specified by:
getAllRegisteredFamiliesin interfaceFontRegistry
-
getFontFamily
public FontFamily getFontFamily(String name)
Description copied from interface:FontRegistryTries to find a font family with the given name, looking through all alternative font names if neccessary.- Specified by:
getFontFamilyin interfaceFontRegistry- 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)
-
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.
-
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.
-
isCacheValid
protected boolean isCacheValid(HashMap cachedSeenFiles)
-
createStorageLocation
protected File createStorageLocation()
-
-