#pragma once //#include "../stdafx.h" #include #if defined(_WIN32) || defined (_WIN64) #include #include #else #include "../../Common/DocxFormat/Source/Base/ASCString.h" #endif #include "../../DesktopEditor/fontengine/ApplicationFonts.h" //#include "DocWrapper/Base.h" namespace NSCommon{ template class nullable; } namespace ComplexTypes{ namespace Spreadsheet{ class CString_; } } namespace OOX { class CFont; class CFontTable; class CTheme; namespace Spreadsheet { class CFont; class CFontTable; class CFontScheme; class CString_; class CCharset; class CFontFamily; } } namespace DocWrapper { class FontProcessor { CFontManager* m_pFontManager; std::map fontMap; public: FontProcessor(); ~FontProcessor(); void setFontManager(CFontManager* pFontManager); CFontManager* getFontManager(); void setFontTable(OOX::CFontTable* fontTable); CString getFont(const CString& name); CString getFont(const NSCommon::nullable& oScheme, const NSCommon::nullable& oRFont, const NSCommon::nullable& oCharset, const NSCommon::nullable& oFamily, OOX::CTheme* pTheme); private: void addToFontMap(OOX::CFont& font); }; }