#pragma once #include #include #include class Font; struct Metadata { String path; bool is_fixed_width; int glyph_height; }; class GFontDatabase { public: static GFontDatabase& the(); RetainPtr get_by_name(const StringView&); void for_each_font(Function); void for_each_fixed_width_font(Function); Metadata get_metadata_by_name(const StringView& name) const { return m_name_to_metadata.get(name); }; private: GFontDatabase(); ~GFontDatabase(); HashMap m_name_to_metadata; };