Package org.docx4j.fonts.fop.fonts
Class FontManager
java.lang.Object
org.docx4j.fonts.fop.fonts.FontManager
public class FontManager
extends java.lang.Object
The manager of fonts. The class holds a reference to the font cache and information about
font substitution, referenced fonts and similar.
-
Constructor Summary
Constructors Constructor Description FontManager(InternalResourceResolver resourceResolver, FontDetector fontDetector, FontCacheManager fontCacheManager)Main constructor -
Method Summary
Modifier and Type Method Description voidautoDetectFonts(boolean autoDetectFonts, FontAdder fontAdder, boolean strict, FontEventListener listener, java.util.List<EmbedFontInfo> fontInfoList)Detect fonts from the operating system via FOPs autodetect mechanism.voiddeleteCache()Deletes the current FontCache filevoiddisableFontCache()Whether or not to cache results of font triplet detection/auto-configFontCachegetFontCache()Returns the font cache instance used by this font manager.protected FontSubstitutionsgetFontSubstitutions()Returns the font substitution catalogFontTriplet.MatchergetReferencedFontsMatcher()Gets theFontTriplet.Matcherthat can be used to identify the fonts that shall be referenced rather than embedded.InternalResourceResolvergetResourceResolver()booleanisBase14KerningEnabled()voidsaveCache()Saves the FontCache as necessaryvoidsetBase14KerningEnabled(boolean value)Controls whether kerning is activated on base 14 fonts.voidsetCacheFile(java.net.URI cacheFileURI)Sets the font cache filevoidsetFontSubstitutions(FontSubstitutions substitutions)Sets the font substitutionsvoidsetReferencedFontsMatcher(FontTriplet.Matcher matcher)Sets theFontTriplet.Matcherthat can be used to identify the fonts that shall be referenced rather than embedded.voidsetResourceResolver(InternalResourceResolver resourceResolver)Sets the font resource resolvervoidsetup(FontInfo fontInfo, FontCollection[] fontCollections)Sets up the fonts on a given FontInfo object.voidupdateReferencedFonts(java.util.List<EmbedFontInfo> fontInfoList)Updates the referenced font list using the FontManager's referenced fonts matcher (getReferencedFontsMatcher()).voidupdateReferencedFonts(java.util.List<EmbedFontInfo> fontInfoList, FontTriplet.Matcher matcher)Updates the referenced font list.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
FontManager
public FontManager(InternalResourceResolver resourceResolver, FontDetector fontDetector, FontCacheManager fontCacheManager)Main constructor- Parameters:
resourceResolver- the URI resolverfontDetector- the font detectorfontCacheManager- the font cache manager
-
-
Method Details
-
setResourceResolver
Sets the font resource resolver- Parameters:
resourceResolver- resource resolver
-
getResourceResolver
-
isBase14KerningEnabled
public boolean isBase14KerningEnabled()- Returns:
- true if kerning on base 14 fonts is enabled
-
setBase14KerningEnabled
public void setBase14KerningEnabled(boolean value)Controls whether kerning is activated on base 14 fonts.- Parameters:
value- true if kerning should be activated
-
setFontSubstitutions
Sets the font substitutions- Parameters:
substitutions- font substitutions
-
getFontSubstitutions
Returns the font substitution catalog- Returns:
- the font substitution catalog
-
setCacheFile
public void setCacheFile(java.net.URI cacheFileURI)Sets the font cache file- Parameters:
cacheFileURI- the URI of the font cache file
-
disableFontCache
public void disableFontCache()Whether or not to cache results of font triplet detection/auto-config -
getFontCache
Returns the font cache instance used by this font manager.- Returns:
- the font cache
-
saveCache
Saves the FontCache as necessary- Throws:
FOPException- fop exception
-
deleteCache
Deletes the current FontCache file- Throws:
FOPException- if an error was thrown while deleting the cache
-
setup
Sets up the fonts on a given FontInfo object. The fonts to setup are defined by an array ofFontCollectionobjects.- Parameters:
fontInfo- the FontInfo object to set upfontCollections- the array of font collections/sources
-
setReferencedFontsMatcher
Sets theFontTriplet.Matcherthat can be used to identify the fonts that shall be referenced rather than embedded.- Parameters:
matcher- the font triplet matcher
-
getReferencedFontsMatcher
Gets theFontTriplet.Matcherthat can be used to identify the fonts that shall be referenced rather than embedded.- Returns:
- the font triplet matcher (or null if none is set)
-
updateReferencedFonts
Updates the referenced font list using the FontManager's referenced fonts matcher (getReferencedFontsMatcher()).- Parameters:
fontInfoList- a font info list
-
updateReferencedFonts
public void updateReferencedFonts(java.util.List<EmbedFontInfo> fontInfoList, FontTriplet.Matcher matcher)Updates the referenced font list.- Parameters:
fontInfoList- a font info listmatcher- the font triplet matcher to use
-
autoDetectFonts
public void autoDetectFonts(boolean autoDetectFonts, FontAdder fontAdder, boolean strict, FontEventListener listener, java.util.List<EmbedFontInfo> fontInfoList) throws FOPExceptionDetect fonts from the operating system via FOPs autodetect mechanism.- Parameters:
autoDetectFonts- if autodetect has been enabledfontAdder- the font adding mechanismstrict- whether to enforce strict validationlistener- the listener for font related eventsfontInfoList- a list of font info objects- Throws:
FOPException- if an exception was thrown auto-detecting fonts
-