diff --git a/DesktopEditor/doctrenderer/docbuilder_p.h b/DesktopEditor/doctrenderer/docbuilder_p.h index ad4d96ae76..1edf25f99c 100644 --- a/DesktopEditor/doctrenderer/docbuilder_p.h +++ b/DesktopEditor/doctrenderer/docbuilder_p.h @@ -49,6 +49,7 @@ #include "embed/NativeBuilderEmbed.h" #include "embed/NativeControlEmbed.h" #include "embed/MemoryStreamEmbed.h" +#include "embed/GraphicsEmbed.h" #ifdef LINUX #include @@ -317,6 +318,7 @@ namespace NSDoctRenderer oWorker.m_bIsUseSystemFonts = bIsCheckSystemFonts; oWorker.m_bIsNeedThumbnails = false; oWorker.m_sDirectory = sDirectory; + NSGraphics::CGraphics::m_sApplicvationFontsDirectory = sDirectory; NSFonts::IApplicationFonts* pFonts = oWorker.Check(); if(pFonts) pFonts->Release(); diff --git a/DesktopEditor/doctrenderer/graphics.cpp b/DesktopEditor/doctrenderer/graphics.cpp index 030f198535..d00b12d847 100644 --- a/DesktopEditor/doctrenderer/graphics.cpp +++ b/DesktopEditor/doctrenderer/graphics.cpp @@ -3,10 +3,15 @@ #include #include +std::wstring NSGraphics::CGraphics::m_sApplicvationFontsDirectory; + namespace NSGraphics { void CGraphics::init(double width_px, double height_px, double width_mm, double height_mm) { + m_pApplicationFonts = NSFonts::NSApplication::Create(); + m_pApplicationFonts->InitializeFromFolder(m_sApplicvationFontsDirectory.empty() ? NSFile::GetProcessDirectory() : m_sApplicvationFontsDirectory); + NSFonts::IFontManager* pManager = m_pApplicationFonts->GenerateFontManager(); m_pRenderer = NSGraphics::Create(); diff --git a/DesktopEditor/doctrenderer/graphics.h b/DesktopEditor/doctrenderer/graphics.h index 686da6b129..8493d2349a 100644 --- a/DesktopEditor/doctrenderer/graphics.h +++ b/DesktopEditor/doctrenderer/graphics.h @@ -5,6 +5,7 @@ #include #include "../common/Types.h" +#include "../common/File.h" #include "../graphics/pro/Graphics.h" namespace NSGraphics @@ -94,10 +95,13 @@ namespace NSGraphics class CGraphics { + public: + static std::wstring m_sApplicvationFontsDirectory; + private: - NSFonts ::IApplicationFonts* m_pApplicationFonts; // этот объект - один на приложение - NSGraphics::IGraphicsRenderer* m_pRenderer; // drawer interface - CBgraFrame m_oFrame; // image data + NSFonts::IApplicationFonts* m_pApplicationFonts; + NSGraphics::IGraphicsRenderer* m_pRenderer; + CBgraFrame m_oFrame; CGrState oGrState; std::wstring m_sFontsDirectory; @@ -110,7 +114,6 @@ namespace NSGraphics } ~CGraphics() { - RELEASEOBJECT(m_pApplicationFonts); RELEASEOBJECT(m_pRenderer); }