#pragma once #include #include #include class Font; struct Glyph; class Texture; namespace vector_fonts { class FontFile { public: virtual ~FontFile() {} virtual std::unique_ptr createInstance(int size) = 0; virtual std::unique_ptr renderPage( int pageid, std::vector& glyphs, int size ) = 0; bool isMonospace() const { return monospace; } protected: bool monospace = true; }; void initialize(); void finalize(); std::shared_ptr load_font(const std::string& filename); }