mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Refactoring
This commit is contained in:
File diff suppressed because one or more lines are too long
@ -1620,6 +1620,10 @@ void CApplicationFonts::Initialize(bool bIsCheckSelection)
|
|||||||
m_oList.LoadFromFolder(L"/system/fonts");
|
m_oList.LoadFromFolder(L"/system/fonts");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(_IOS)
|
||||||
|
m_oList.LoadFromFolder(L"/System/Library/Fonts");
|
||||||
|
#endif
|
||||||
|
|
||||||
m_oCache.m_pApplicationFontStreams = &m_oStreams;
|
m_oCache.m_pApplicationFontStreams = &m_oStreams;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,118 +0,0 @@
|
|||||||
/*
|
|
||||||
* (c) Copyright Ascensio System SIA 2010-2020
|
|
||||||
*
|
|
||||||
* This program is a free software product. You can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
|
||||||
* version 3 as published by the Free Software Foundation. In accordance with
|
|
||||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
|
||||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
|
||||||
* of any third-party rights.
|
|
||||||
*
|
|
||||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
|
||||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
|
||||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
|
||||||
*
|
|
||||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
|
||||||
* street, Riga, Latvia, EU, LV-1050.
|
|
||||||
*
|
|
||||||
* The interactive user interfaces in modified source and object code versions
|
|
||||||
* of the Program must display Appropriate Legal Notices, as required under
|
|
||||||
* Section 5 of the GNU AGPL version 3.
|
|
||||||
*
|
|
||||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
|
||||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
|
||||||
* grant you any rights under trademark law for use of our trademarks.
|
|
||||||
*
|
|
||||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
|
||||||
* well as technical writing content are licensed under the terms of the
|
|
||||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
|
||||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "FontsAssistant.h"
|
|
||||||
#include "ApplicationFontsWorker.h"
|
|
||||||
|
|
||||||
namespace ASC
|
|
||||||
{
|
|
||||||
CFontsAssistant::CFontsAssistant(const std::vector<std::wstring>& arFontsPaths, const std::wstring& sDataFontsPath)
|
|
||||||
{
|
|
||||||
m_arFontsPaths = arFontsPaths;
|
|
||||||
m_sDataFontsPath = sDataFontsPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CFontsAssistant::AddExcludeFont(const std::wstring& sFontName) {
|
|
||||||
m_arExcludeFonts.push_back(sFontName);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::wstring CFontsAssistant::GetSystemFontPath()
|
|
||||||
{
|
|
||||||
#if defined(_IOS) || defined(_MAC)
|
|
||||||
return std::wstring(L"/System/Library/Fonts");
|
|
||||||
#elif defined(__ANDROID__)
|
|
||||||
return std::wstring(L"/system/fonts");
|
|
||||||
#endif
|
|
||||||
return std::wstring(L"");
|
|
||||||
}
|
|
||||||
|
|
||||||
NSFonts::IApplicationFonts* CFontsAssistant::Load()
|
|
||||||
{
|
|
||||||
CApplicationFontsWorker oFontsWorker;
|
|
||||||
|
|
||||||
oFontsWorker.m_bIsUseOpenType = true;
|
|
||||||
oFontsWorker.m_bIsUseSystemFonts = true;
|
|
||||||
oFontsWorker.m_bIsNeedThumbnails = false;
|
|
||||||
oFontsWorker.m_sDirectory = m_sDataFontsPath;
|
|
||||||
|
|
||||||
for (size_t i = 0; i < m_arFontsPaths.size(); ++i)
|
|
||||||
{
|
|
||||||
oFontsWorker.m_arAdditionalFolders.push_back(m_arFontsPaths[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!GetSystemFontPath().empty())
|
|
||||||
{
|
|
||||||
oFontsWorker.m_arAdditionalFolders.push_back(GetSystemFontPath());
|
|
||||||
}
|
|
||||||
|
|
||||||
NSFonts::IApplicationFonts* pAppFonts = oFontsWorker.Check();
|
|
||||||
|
|
||||||
m_arAvailableFonts = oFontsWorker.GetFontNamesWithExcludes(pAppFonts, m_arExcludeFonts);
|
|
||||||
m_sScriptData = oFontsWorker.GetAllFonts();
|
|
||||||
|
|
||||||
return pAppFonts;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CFontsAssistant::Check()
|
|
||||||
{
|
|
||||||
CApplicationFontsWorker worker;
|
|
||||||
|
|
||||||
worker.m_bIsUseOpenType = true;
|
|
||||||
worker.m_bIsUseSystemFonts = true;
|
|
||||||
worker.m_bIsNeedThumbnails = false;
|
|
||||||
worker.m_sDirectory = m_sDataFontsPath;
|
|
||||||
|
|
||||||
for (size_t i = 0; i < m_arFontsPaths.size(); ++i)
|
|
||||||
{
|
|
||||||
worker.m_arAdditionalFolders.push_back(m_arFontsPaths[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!GetSystemFontPath().empty())
|
|
||||||
{
|
|
||||||
worker.m_arAdditionalFolders.push_back(GetSystemFontPath());
|
|
||||||
}
|
|
||||||
|
|
||||||
NSFonts::IApplicationFonts* appFonts = worker.Check();
|
|
||||||
|
|
||||||
RELEASEINTERFACE(appFonts);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::vector<std::wstring> CFontsAssistant::GetAvailableFonts()
|
|
||||||
{
|
|
||||||
return m_arAvailableFonts;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string CFontsAssistant::GetScriptData()
|
|
||||||
{
|
|
||||||
return m_sScriptData;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
/*
|
|
||||||
* (c) Copyright Ascensio System SIA 2010-2020
|
|
||||||
*
|
|
||||||
* This program is a free software product. You can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
|
||||||
* version 3 as published by the Free Software Foundation. In accordance with
|
|
||||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
|
||||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
|
||||||
* of any third-party rights.
|
|
||||||
*
|
|
||||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
|
||||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
|
||||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
|
||||||
*
|
|
||||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
|
||||||
* street, Riga, Latvia, EU, LV-1050.
|
|
||||||
*
|
|
||||||
* The interactive user interfaces in modified source and object code versions
|
|
||||||
* of the Program must display Appropriate Legal Notices, as required under
|
|
||||||
* Section 5 of the GNU AGPL version 3.
|
|
||||||
*
|
|
||||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
|
||||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
|
||||||
* grant you any rights under trademark law for use of our trademarks.
|
|
||||||
*
|
|
||||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
|
||||||
* well as technical writing content are licensed under the terms of the
|
|
||||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
|
||||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef FONTS_ASSISTANT_H
|
|
||||||
#define FONTS_ASSISTANT_H
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "../../../core/DesktopEditor/graphics/pro/Fonts.h"
|
|
||||||
|
|
||||||
#include "../../Common/kernel_config.h"
|
|
||||||
|
|
||||||
namespace ASC
|
|
||||||
{
|
|
||||||
class GRAPHICS_DECL CFontsAssistant
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
CFontsAssistant(const std::vector<std::wstring>& arFontsPaths, const std::wstring& sDataFontsPath);
|
|
||||||
|
|
||||||
void Check();
|
|
||||||
NSFonts::IApplicationFonts* Load();
|
|
||||||
|
|
||||||
std::vector<std::wstring> GetAvailableFonts();
|
|
||||||
std::string GetScriptData();
|
|
||||||
|
|
||||||
void AddExcludeFont(const std::wstring& sFontName);
|
|
||||||
|
|
||||||
private:
|
|
||||||
static std::wstring GetSystemFontPath();
|
|
||||||
|
|
||||||
private:
|
|
||||||
std::vector<std::wstring> m_arFontsPaths;
|
|
||||||
std::wstring m_sDataFontsPath;
|
|
||||||
|
|
||||||
std::vector<std::wstring> m_arAvailableFonts;
|
|
||||||
std::string m_sScriptData;
|
|
||||||
|
|
||||||
std::vector<std::wstring> m_arExcludeFonts;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* FONTS_ASSISTANT_H */
|
|
||||||
@ -462,12 +462,10 @@ SOURCES += \
|
|||||||
$$LIB_GRAPHICS_PRI_PATH/raster/JBig2/source/LeptonLib/skew.cpp
|
$$LIB_GRAPHICS_PRI_PATH/raster/JBig2/source/LeptonLib/skew.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
./../../fontengine/ApplicationFontsWorker.h \
|
./../../fontengine/ApplicationFontsWorker.h
|
||||||
./../../fontengine/FontsAssistant.h
|
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
./../../fontengine/ApplicationFontsWorker.cpp \
|
./../../fontengine/ApplicationFontsWorker.cpp
|
||||||
./../../fontengine/FontsAssistant.cpp
|
|
||||||
|
|
||||||
core_ios {
|
core_ios {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user