diff --git a/Userland/Libraries/LibGfx/Font/FontDatabase.cpp b/Userland/Libraries/LibGfx/Font/FontDatabase.cpp index 01e672a7f3..2c33a96830 100644 --- a/Userland/Libraries/LibGfx/Font/FontDatabase.cpp +++ b/Userland/Libraries/LibGfx/Font/FontDatabase.cpp @@ -260,4 +260,13 @@ void FontDatabase::for_each_typeface(Function callback) } } +void FontDatabase::for_each_typeface_with_family_name(String const& family_name, Function callback) +{ + auto it = m_private->typefaces.find(family_name.bytes_as_string_view()); + if (it == m_private->typefaces.end()) + return; + for (auto const& typeface : it->value) + callback(*typeface); +} + } diff --git a/Userland/Libraries/LibGfx/Font/FontDatabase.h b/Userland/Libraries/LibGfx/Font/FontDatabase.h index 971b6a9e76..c76fe77bf1 100644 --- a/Userland/Libraries/LibGfx/Font/FontDatabase.h +++ b/Userland/Libraries/LibGfx/Font/FontDatabase.h @@ -55,6 +55,7 @@ public: void for_each_fixed_width_font(Function); void for_each_typeface(Function); + void for_each_typeface_with_family_name(String const& family_name, Function); void load_all_fonts_from_path(DeprecatedString const&);