PoDoFo 0.9.6
|
#include <PdfFontCache.h>
Public Types | |
enum | EFontCreationFlags { eFontCreationFlags_None = 0 , eFontCreationFlags_AutoSelectBase14 = 1 , eFontCreationFlags_Type1Subsetting = 2 } |
Public Member Functions | |
PdfFontCache (PdfVecObjects *pParent) | |
PdfFontCache (const PdfFontConfigWrapper &rFontConfig, PdfVecObjects *pParent) | |
~PdfFontCache () | |
void | EmptyCache () |
PdfFont * | GetFont (PdfObject *pObject) |
PdfFont * | GetFont (const char *pszFontName, bool bBold, bool bItalic, bool bSymbolCharset, bool bEmbedd, EFontCreationFlags eFontCreationFlags=eFontCreationFlags_AutoSelectBase14, const PdfEncoding *const =PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), const char *pszFileName=NULL) |
PdfFont * | GetFont (FT_Face face, bool bSymbolCharset, bool bEmbedd, const PdfEncoding *const =PdfEncodingFactory::GlobalWinAnsiEncodingInstance()) |
PdfFont * | GetDuplicateFontType1 (PdfFont *pFont, const char *pszSuffix) |
PdfFont * | GetFontSubset (const char *pszFontName, bool bBold, bool bItalic, bool bSymbolCharset, const PdfEncoding *const =PdfEncodingFactory::GlobalWinAnsiEncodingInstance(), const char *pszFileName=NULL) |
void | EmbedSubsetFonts () |
FT_Library | GetFontLibrary () const |
void | SetFontConfigWrapper (const PdfFontConfigWrapper &rFontConfig) |
This class assists PdfDocument with caching font information.
Additional to font caching, this class is also responsible for font matching.
PdfFont is an actual font that can be used in a PDF file (i.e. it does also font embedding) and PdfFontMetrics provides only metrics informations.
This class is an internal class of PoDoFo and should not be used in user applications
PoDoFo::PdfFontCache::PdfFontCache | ( | PdfVecObjects * | pParent | ) |
Create an empty font cache
pParent | a PdfVecObjects which is required to create new font objects |
PoDoFo::PdfFontCache::PdfFontCache | ( | const PdfFontConfigWrapper & | rFontConfig, |
PdfVecObjects * | pParent | ||
) |
Create an empty font cache
rFontConfig | provide a handle to fontconfig, as initializing a new fontconfig intance might be time consuming. |
pParent | a PdfVecObjects which is required to create new font objects |
PoDoFo::PdfFontCache::~PdfFontCache | ( | ) |
Destroy and empty the font cache
void PoDoFo::PdfFontCache::EmbedSubsetFonts | ( | ) |
Embeds all pending subset-fonts
void PoDoFo::PdfFontCache::EmptyCache | ( | ) |
Empty the internal font cache. This should be done when ever a new document is created or openened.
Get a font with specific id from the cache. If the font does not yet exist, copy from existing type1-font and set id.
pFont | an existing font |
pszSuffix | Suffix to add to font-id |
PdfFont * PoDoFo::PdfFontCache::GetFont | ( | const char * | pszFontName, |
bool | bBold, | ||
bool | bItalic, | ||
bool | bSymbolCharset, | ||
bool | bEmbedd, | ||
EFontCreationFlags | eFontCreationFlags = eFontCreationFlags_AutoSelectBase14 , |
||
const PdfEncoding * const | pEncoding = PdfEncodingFactory::GlobalWinAnsiEncodingInstance() , |
||
const char * | pszFileName = NULL |
||
) |
Get a font from the cache. If the font does not yet exist, add it to the cache.
pszFontName | a valid fontname |
bBold | if true search for a bold font |
bItalic | if true search for an italic font |
bSymbolCharset | whether to use symbol charset, rather than unicode charset |
bEmbedd | if true a font for embedding into PDF will be created |
eFontCreationFlags | special flag to specify how fonts should be created |
pEncoding | the encoding of the font. The font will not take ownership of this object. |
pszFileName | optional path to a valid font file |
PdfFont * PoDoFo::PdfFontCache::GetFont | ( | FT_Face | face, |
bool | bSymbolCharset, | ||
bool | bEmbedd, | ||
const PdfEncoding * const | pEncoding = PdfEncodingFactory::GlobalWinAnsiEncodingInstance() |
||
) |
Get a font from the cache. If the font does not yet exist, add it to the cache.
face | a valid freetype font face (will be free'd by PoDoFo) |
bSymbolCharset | whether to use symbol charset, rather than unicode charset |
bEmbedd | if true a font for embedding into PDF will be created |
pEncoding | the encoding of the font. The font will not take ownership of this object. |
|
inline |
Returns the font library from font cache
PdfFont * PoDoFo::PdfFontCache::GetFontSubset | ( | const char * | pszFontName, |
bool | bBold, | ||
bool | bItalic, | ||
bool | bSymbolCharset, | ||
const PdfEncoding * const | pEncoding = PdfEncodingFactory::GlobalWinAnsiEncodingInstance() , |
||
const char * | pszFileName = NULL |
||
) |
Get a fontsubset from the cache. If the font does not yet exist, add it to the cache.
pszFontName | a valid fontname |
bBold | if true search for a bold font |
bItalic | if true search for an italic font |
bSymbolCharset | whether to use symbol charset, rather than unicode charset |
pEncoding | the encoding of the font. All characters of the encoding will be included in this subset. The font will not take ownership of this object. |
pszFileName | optional path to a valid font file |
|
inline |
Set wrapper for the fontconfig library. Useful to avoid initializing Fontconfig multiple times.
This setter can be called until first use of Fontconfig as the library is initialized at first use.