Class MainFontStore
- java.lang.Object
-
- com.openhtmltopdf.pdfboxout.fontstore.AbstractFontStore
-
- com.openhtmltopdf.pdfboxout.fontstore.MainFontStore
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class MainFontStore extends AbstractFontStore implements java.io.Closeable
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.openhtmltopdf.pdfboxout.fontstore.AbstractFontStore
AbstractFontStore.BuiltinFontStore, AbstractFontStore.EmptyFontStore
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<org.apache.fontbox.ttf.TrueTypeCollection>_collectionsToCloseprivate org.apache.pdfbox.pdmodel.PDDocument_docprivate java.util.Map<java.lang.String,FontFamily<PdfBoxFontResolver.FontDescription>>_fontFamiliesprivate FSCacheEx<java.lang.String,FSCacheValue>_fontMetricsCacheprivate SharedContext_sharedContext
-
Constructor Summary
Constructors Constructor Description MainFontStore(SharedContext sharedContext, org.apache.pdfbox.pdmodel.PDDocument doc, FSCacheEx<java.lang.String,FSCacheValue> pdfMetricsCache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFont(FSSupplier<java.io.InputStream> supplier, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)voidaddFont(PDFontSupplier supplier, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)(package private) voidaddFont(org.apache.fontbox.ttf.TrueTypeFont trueTypeFont, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)Add a font using a FontBox TrueTypeFont.voidaddFontCollection(org.apache.fontbox.ttf.TrueTypeCollection collection, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)Add fonts using a FontBox TrueTypeCollection.voidaddFontFaceFont(java.lang.String fontFamilyName, IdentValue fontWeight, IdentValue fontStyle, java.lang.String uri, boolean subset)voidaddFontLazy(FSSupplier<org.apache.pdfbox.pdmodel.font.PDFont> font, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)Add a font with a lazy loaded PDFontprivate voidaddFontToFamily(boolean subset, FontFamily<PdfBoxFontResolver.FontDescription> fontFamily, PdfBoxFontResolver.FontDescription descr)voidclose()private FontFamily<PdfBoxFontResolver.FontDescription>getFontFamily(java.lang.String fontFamilyName)PdfBoxFontResolver.FontDescriptionresolveFont(SharedContext ctx, java.lang.String fontFamily, float size, IdentValue weight, IdentValue style, IdentValue variant)
-
-
-
Field Detail
-
_fontFamilies
private final java.util.Map<java.lang.String,FontFamily<PdfBoxFontResolver.FontDescription>> _fontFamilies
-
_fontMetricsCache
private final FSCacheEx<java.lang.String,FSCacheValue> _fontMetricsCache
-
_doc
private final org.apache.pdfbox.pdmodel.PDDocument _doc
-
_sharedContext
private final SharedContext _sharedContext
-
_collectionsToClose
private final java.util.List<org.apache.fontbox.ttf.TrueTypeCollection> _collectionsToClose
-
-
Constructor Detail
-
MainFontStore
public MainFontStore(SharedContext sharedContext, org.apache.pdfbox.pdmodel.PDDocument doc, FSCacheEx<java.lang.String,FSCacheValue> pdfMetricsCache)
-
-
Method Detail
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
addFont
void addFont(org.apache.fontbox.ttf.TrueTypeFont trueTypeFont, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset) throws java.io.IOExceptionAdd a font using a FontBox TrueTypeFont.- Throws:
java.io.IOException
-
addFontLazy
public void addFontLazy(FSSupplier<org.apache.pdfbox.pdmodel.font.PDFont> font, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)
Add a font with a lazy loaded PDFont
-
addFontCollection
public void addFontCollection(org.apache.fontbox.ttf.TrueTypeCollection collection, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset) throws java.io.IOExceptionAdd fonts using a FontBox TrueTypeCollection.- Throws:
java.io.IOException
-
addFontFaceFont
public void addFontFaceFont(java.lang.String fontFamilyName, IdentValue fontWeight, IdentValue fontStyle, java.lang.String uri, boolean subset)
-
addFont
public void addFont(FSSupplier<java.io.InputStream> supplier, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)
-
addFont
public void addFont(PDFontSupplier supplier, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)
-
resolveFont
public PdfBoxFontResolver.FontDescription resolveFont(SharedContext ctx, java.lang.String fontFamily, float size, IdentValue weight, IdentValue style, IdentValue variant)
- Specified by:
resolveFontin classAbstractFontStore
-
addFontToFamily
private void addFontToFamily(boolean subset, FontFamily<PdfBoxFontResolver.FontDescription> fontFamily, PdfBoxFontResolver.FontDescription descr)
-
getFontFamily
private FontFamily<PdfBoxFontResolver.FontDescription> getFontFamily(java.lang.String fontFamilyName)
-
-