From c3657a6b955aecf09ede72bff84951f6610d00ab Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Mon, 21 Sep 2020 21:09:53 +0300 Subject: [PATCH] Add version to allfonts.js --- DesktopEditor/AllFontsGen/main.cpp | 3 +++ DesktopEditor/fontengine/ApplicationFonts.cpp | 4 ++-- DesktopEditor/fontengine/ApplicationFonts.h | 2 +- DesktopEditor/fontengine/ApplicationFontsWorker.cpp | 2 +- DesktopEditor/fontengine/application_generate_fonts.h | 8 +++++++- DesktopEditor/graphics/pro/Fonts.h | 2 +- 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/DesktopEditor/AllFontsGen/main.cpp b/DesktopEditor/AllFontsGen/main.cpp index 40c86a718d..68146a8e42 100644 --- a/DesktopEditor/AllFontsGen/main.cpp +++ b/DesktopEditor/AllFontsGen/main.cpp @@ -559,6 +559,9 @@ namespace NSCommon NSStringUtils::CStringBuilder oWriterJS; NSStringUtils::CStringBuilder oWriterJS2; + oWriterJS.WriteString(L"window[\"__all_fonts_js_version__\"] = 1;\n\n"); + oWriterJS2.WriteString(L"window[\"__all_fonts_js_version__\"] = 1;\n\n"); + // сначала все файлы size_t nCountFiles = mapFontFiles.size(); if (nCountFiles == 0) diff --git a/DesktopEditor/fontengine/ApplicationFonts.cpp b/DesktopEditor/fontengine/ApplicationFonts.cpp index c61ee02af5..8141b325c0 100644 --- a/DesktopEditor/fontengine/ApplicationFonts.cpp +++ b/DesktopEditor/fontengine/ApplicationFonts.cpp @@ -1038,7 +1038,7 @@ void CFontList::ToBuffer(BYTE** pDstData, LONG* pLen, std::wstring strDirectory, size_t nFontsCount = (size_t)m_pList.size(); for (std::vector::iterator iter = m_pList.begin(); iter != m_pList.end(); iter++) { - if (nVersion == 1) + if (nVersion == 0) lDataSize += NSFonts::GetBufferLen_1(*iter, strDirectory, bIsOnlyFileName); else lDataSize += NSFonts::GetBufferLen(*iter, strDirectory, bIsOnlyFileName); @@ -1052,7 +1052,7 @@ void CFontList::ToBuffer(BYTE** pDstData, LONG* pLen, std::wstring strDirectory, for (std::vector::iterator iter = m_pList.begin(); iter != m_pList.end(); iter++) { - if (nVersion == 1) + if (nVersion == 0) NSFonts::ToBuffer_1(*iter, pDataMem, strDirectory, bIsOnlyFileName); else NSFonts::ToBuffer(*iter, pDataMem, strDirectory, bIsOnlyFileName); diff --git a/DesktopEditor/fontengine/ApplicationFonts.h b/DesktopEditor/fontengine/ApplicationFonts.h index fe4d24a5a5..4e11248934 100644 --- a/DesktopEditor/fontengine/ApplicationFonts.h +++ b/DesktopEditor/fontengine/ApplicationFonts.h @@ -303,7 +303,7 @@ private: public: static EFontFormat GetFontFormat(FT_Face pFace); - virtual void ToBuffer(BYTE** pDstData, LONG* pLen, std::wstring strDirectory = L"", bool bIsOnlyFileName = false, int nVersion = 0); + virtual void ToBuffer(BYTE** pDstData, LONG* pLen, std::wstring strDirectory = L"", bool bIsOnlyFileName = false, int nVersion = -1); public: void LoadFromArrayFiles (std::vector& arrFiles, int nFlag = 0); diff --git a/DesktopEditor/fontengine/ApplicationFontsWorker.cpp b/DesktopEditor/fontengine/ApplicationFontsWorker.cpp index e6513e2a83..2e5f42038d 100644 --- a/DesktopEditor/fontengine/ApplicationFontsWorker.cpp +++ b/DesktopEditor/fontengine/ApplicationFontsWorker.cpp @@ -168,7 +168,7 @@ NSFonts::IApplicationFonts* CApplicationFontsWorker::Check() if (m_bIsUseAllVersions) { - NSCommon::SaveAllFontsJS(pApplicationF, strAllFontsJSPath + L".1", L"", L"", 1); + NSCommon::SaveAllFontsJS(pApplicationF, strAllFontsJSPath + L".1", L"", L"", 0); } } diff --git a/DesktopEditor/fontengine/application_generate_fonts.h b/DesktopEditor/fontengine/application_generate_fonts.h index 16e486d042..e649258a12 100644 --- a/DesktopEditor/fontengine/application_generate_fonts.h +++ b/DesktopEditor/fontengine/application_generate_fonts.h @@ -326,7 +326,7 @@ namespace NSCommon } }; - static void SaveAllFontsJS(NSFonts::IApplicationFonts* applicationFonts, std::wstring strFile, std::wstring strFolderThumbnails, std::wstring strFontSelectionBin, int nVersion = 0) + static void SaveAllFontsJS(NSFonts::IApplicationFonts* applicationFonts, std::wstring strFile, std::wstring strFolderThumbnails, std::wstring strFontSelectionBin, int nVersion = -1) { std::vector* pList = applicationFonts->GetList()->GetFonts(); int nCount = pList->size(); @@ -474,6 +474,12 @@ namespace NSCommon if (0 != strFile.length()) { NSStringUtils::CStringBuilder oWriterJS; + int nAllFontsVersion = nVersion; + if (-1 == nAllFontsVersion) + nAllFontsVersion = 1; + oWriterJS.WriteString(L"window[\"__all_fonts_js_version__\"] = "); + oWriterJS.AddInt(nAllFontsVersion); + oWriterJS.WriteString(L";\n\n"); // сначала все файлы size_t nCountFiles = mapFontFiles.size(); diff --git a/DesktopEditor/graphics/pro/Fonts.h b/DesktopEditor/graphics/pro/Fonts.h index 3b237c6e2e..0ade1461e0 100644 --- a/DesktopEditor/graphics/pro/Fonts.h +++ b/DesktopEditor/graphics/pro/Fonts.h @@ -607,7 +607,7 @@ namespace NSFonts public: virtual std::vector* GetFonts() = 0; virtual CFontInfo* GetByParams(CFontSelectFormat& oSelect, bool bIsDictionaryUse = true) = 0; - virtual void ToBuffer(BYTE** pDstData, LONG* pLen, std::wstring strDirectory = L"", bool bIsOnlyFileName = false, int nVersion = 0) = 0; + virtual void ToBuffer(BYTE** pDstData, LONG* pLen, std::wstring strDirectory = L"", bool bIsOnlyFileName = false, int nVersion = -1) = 0; }; class GRAPHICS_DECL IApplicationFonts : public NSBase::CBaseRefCounter