23#include <config_options.h>
28#include <com/sun/star/lang/Locale.hpp>
40#include <unordered_map>
51class FontSelectPattern;
53namespace vcl {
struct NameRecord; }
122 std::unordered_map< OString, std::set< fontID > >
125 std::unordered_map< OString, int >
132 std::vector<PrintFont>
analyzeFontFile(
int nDirID,
const OString& rFileName,
const char *pFormat=
nullptr)
const;
147 auto it = m_aFonts.find( nID );
148 return it == m_aFonts.end() ? nullptr : &it->second;
152 auto it = m_aFonts.find( nID );
153 return it == m_aFonts.end() ? nullptr : &it->second;
189 friend class ::GenericUnixSalData;
211 return getFontFile( *getFont( nFontID ) );
static void initFontconfig()
std::set< OString > m_aPreviousLangSupportRequests
OString getFontFileSysPath(fontID nFontID) const
int getFontFaceVariation(fontID nFontID) const
DECL_DLLPRIVATE_LINK(autoInstallFontLangSupport, Timer *, void)
bool analyzeSfntFile(PrintFont &rFont) const
static void fillPrintFontInfo(const PrintFont &rFont, FastPrintFontInfo &rInfo)
static void addFontconfigDir(const OString &rDirectory)
std::unordered_map< fontID, PrintFont > m_aFonts
static FontFamily matchFamilyName(std::u16string_view rFamily)
static void deinitFontconfig()
void getFontList(std::vector< fontID > &rFontIDs)
std::vector< fontID > addFontFile(std::u16string_view rFileUrl)
const PrintFont * getFont(fontID nID) const
std::vector< OUString > m_aCurrentRequests
void countFontconfigFonts()
int getDirectoryAtom(const OString &rDirectory)
std::unordered_map< OString, std::set< fontID > > m_aFontFileToFontID
OString getDirectory(int nAtom) const
int getFontDescend(fontID nFontID)
static void analyzeSfntFamilyName(void const *pTTFont, std::vector< OUString > &rnames)
static OUString convertSfntName(const vcl::NameRecord &rNameRecord)
void matchFont(FastPrintFontInfo &rInfo, const css::lang::Locale &rLocale)
OUString getPSName(fontID nFontID)
static std::unique_ptr< FontConfigFontOptions > getFontOptions(const FontAttributes &rFontAttributes, int nSize)
std::vector< PrintFont > analyzeFontFile(int nDirID, const OString &rFileName, const char *pFormat=nullptr) const
OString getFontFile(const PrintFont &rFont) const
static void addFontconfigFile(const OString &rFile)
bool getFontFastInfo(fontID nFontID, FastPrintFontInfo &rInfo) const
fontID findFontFileID(int nDirID, const OString &rFile, int nFaceIndex, int nVariationIndex) const
std::vector< fontID > findFontFileIDs(int nDirID, const OString &rFile) const
std::unordered_map< int, OString > m_aAtomToDir
std::unordered_map< OString, int > m_aDirToAtom
int getFontAscend(fontID nFontID)
PrintFont * getFont(fontID nID)
int getFontFaceNumber(fontID nFontID) const
Timer m_aFontInstallerTimer
void Substitute(vcl::font::FontSelectPattern &rPattern, OUString &rMissingCodes)
static PrintFontManager & get()
#define VCL_PLUGIN_PUBLIC
A PhysicalFontFaceCollection is created by a PhysicalFontCollection and becomes invalid when original...
rtl_TextEncoding m_aEncoding
FontFamily m_eFamilyStyle
std::vector< OUString > m_aAliases
std::vector< OUString > m_aAliases
rtl_TextEncoding m_aEncoding
FontFamily m_eFamilyStyle
Structure used by the TrueType Creator and CreateTTFromTTGlyphs()