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>
_collectionsToClose
private org.apache.pdfbox.pdmodel.PDDocument
_doc
private java.util.Map<java.lang.String,FontFamily<PdfBoxFontResolver.FontDescription>>
_fontFamilies
private FSCacheEx<java.lang.String,FSCacheValue>
_fontMetricsCache
private 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 void
addFont(FSSupplier<java.io.InputStream> supplier, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)
void
addFont(PDFontSupplier supplier, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)
(package private) void
addFont(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.void
addFontCollection(org.apache.fontbox.ttf.TrueTypeCollection collection, java.lang.String fontFamilyNameOverride, java.lang.Integer fontWeightOverride, IdentValue fontStyleOverride, boolean subset)
Add fonts using a FontBox TrueTypeCollection.void
addFontFaceFont(java.lang.String fontFamilyName, IdentValue fontWeight, IdentValue fontStyle, java.lang.String uri, boolean subset)
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 PDFontprivate void
addFontToFamily(boolean subset, FontFamily<PdfBoxFontResolver.FontDescription> fontFamily, PdfBoxFontResolver.FontDescription descr)
void
close()
private FontFamily<PdfBoxFontResolver.FontDescription>
getFontFamily(java.lang.String fontFamilyName)
PdfBoxFontResolver.FontDescription
resolveFont(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:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in 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.IOException
Add 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.IOException
Add 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:
resolveFont
in classAbstractFontStore
-
addFontToFamily
private void addFontToFamily(boolean subset, FontFamily<PdfBoxFontResolver.FontDescription> fontFamily, PdfBoxFontResolver.FontDescription descr)
-
getFontFamily
private FontFamily<PdfBoxFontResolver.FontDescription> getFontFamily(java.lang.String fontFamilyName)
-
-