diff options
Diffstat (limited to 'src/FontLoader.cpp')
-rw-r--r-- | src/FontLoader.cpp | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/FontLoader.cpp b/src/FontLoader.cpp deleted file mode 100644 index ca33377..0000000 --- a/src/FontLoader.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "../include/FontLoader.hpp" -#include <SFML/Graphics/Font.hpp> -#include <array> -#include <assert.h> - -static std::array<std::unique_ptr<sf::Font>, 3> font_cache; - -namespace QuickMedia::FontLoader { - sf::Font* get_font(FontType font_type) { - sf::Font *font = font_cache[(size_t)font_type].get(); - if(!font) { - auto new_font = std::make_unique<sf::Font>(); - std::vector<std::string> noto_directories; - std::string font_file_name; - switch(font_type) { - case FontType::LATIN: { - noto_directories.push_back("/usr/share/fonts/noto"); - noto_directories.push_back("/usr/share/fonts/truetype/noto"); - font_file_name = "NotoSans-Regular.ttf"; - break; - } - case FontType::LATIN_BOLD: { - noto_directories.push_back("/usr/share/fonts/noto"); - noto_directories.push_back("/usr/share/fonts/truetype/noto"); - font_file_name = "NotoSans-Bold.ttf"; - break; - } - case FontType::CJK: { - noto_directories.push_back("/usr/share/fonts/noto-cjk"); - noto_directories.push_back("/usr/share/fonts/truetype/noto-cjk"); - font_file_name = "NotoSansCJK-Regular.ttc"; - break; - } - case FontType::EMOJI: { - noto_directories.push_back("/usr/share/fonts/noto"); - noto_directories.push_back("/usr/share/fonts/truetype/noto"); - font_file_name = "NotoColorEmoji.ttf"; - break; - } - } - - for(const std::string ¬o_dir : noto_directories) { - if(new_font->loadFromFile(noto_dir + "/" + font_file_name)) - break; - } - - font_cache[(size_t)font_type] = std::move(new_font); - font = font_cache[(size_t)font_type].get(); - } - return font; - } -}
\ No newline at end of file |