12#include <unordered_map>
58 void LoadFontsFromFolder(std::string pathToFolder);
62 void LoadFontsFromPackage();
78 std::shared_ptr<FontResources> GetFontResources(
const std::string& fontName,
int fontSize);
83 void StoreFontAtlasesInFiles(
bool in);
88 const std::vector<std::string>& GetScriptsRequiredShaping()
const;
94 std::pair<std::uint32_t, std::uint32_t> GetScriptRange(std::string script);
111 void LoadFontsAvailableInFolder(std::string pathToFolder);
116 void LoadPreloadableFontAtlasesFromFolder(
const std::unordered_map<std::string, std::string>& availableFontsInFolder);
120 void LoadFontsAvailableInPackage();
125 void LoadPreloadableFontAtlasesFromPackage(
const std::unordered_map<std::string, std::string>& availableFontsInPackage);
129 std::size_t operator()(
const std::pair<std::string, int>& p)
const {
130 return std::hash<std::string>{}(p.first) ^ (std::hash<int>{}(p.second) << 1);
134 FT_Library mLibrary = 0;
135 FT_Error mErrorResult = FT_Err_Ok;
137 RenderResourceContext mRenderResourceContext;
140 std::unordered_map<std::string, std::string> mAvailableFontsInFolder;
141 std::unordered_map<std::string, std::string> mAvailableFontsInPackage;
143 std::unordered_map<std::pair<std::string, int>, std::shared_ptr<FontResources>, PairHash> mFontResources;
145 bool bStoreFontAtlasesInFiles =
false;
152 static std::unordered_map<std::string, std::pair<std::uint32_t, std::uint32_t>> sScriptRanges;
156 static std::vector<std::string> sScriptsRequiresShaping;
160 static std::vector<std::string> sFontAtlasPreloadableScripts;
Central text system manager and font resource registry.
FT_Library & GetFontLibrary()
Returns the internal FreeType library instance.
Aggregates pointers to global rendering resource managers.