feat: shared FontFile

This commit is contained in:
MihailRis 2026-02-16 02:12:23 +03:00
parent 47809b4024
commit 32f3f762a0

View file

@ -206,10 +206,15 @@ assetload::postfunc assetload::font(
auto ext = fs::path(filename).extension().string();
if (ext == ".ttf" || ext == ".otf") {
logger.info() << "loading vector font " << util::quote(filename);
return [=](auto assets) {
auto font = vector_fonts::load_font(paths.find(filename).string());
assets->store(font, filename);
assets->store(font->createInstance(cfg ? cfg->size : 16), name);
return [=](Assets* assets) {
using FontFile = vector_fonts::FontFile;
FontFile* fontFile;
if ((fontFile = assets->get<FontFile>(filename)) == nullptr) {
auto fontFilePtr = vector_fonts::load_font(paths.find(filename).string());
fontFile = fontFilePtr.get();
assets->store(fontFilePtr, filename);
}
assets->store(fontFile->createInstance(cfg ? cfg->size : 16), name);
};
}