From c0f9adabd6ab874ae98ef26bacb46a2eef153e51 Mon Sep 17 00:00:00 2001 From: LuK1337 Date: Sun, 11 Jul 2021 00:06:13 +0200 Subject: [PATCH] LibGfx: Try to get TTF font when query is not in name->font map This change allows us to select TTF fonts in display settings again :^) --- Userland/Libraries/LibGfx/FontDatabase.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Userland/Libraries/LibGfx/FontDatabase.cpp b/Userland/Libraries/LibGfx/FontDatabase.cpp index 85c8adf7e2..555212f170 100644 --- a/Userland/Libraries/LibGfx/FontDatabase.cpp +++ b/Userland/Libraries/LibGfx/FontDatabase.cpp @@ -140,6 +140,13 @@ RefPtr FontDatabase::get_by_name(const StringView& name) { auto it = m_private->full_name_to_font_map.find(name); if (it == m_private->full_name_to_font_map.end()) { + auto parts = name.split_view(" "sv); + if (parts.size() >= 3) { + auto weight = parts.take_last().to_int().value_or(0); + auto size = parts.take_last().to_int().value_or(0); + auto family = String::join(' ', parts); + return get(family, size, weight); + } dbgln("Font lookup failed: '{}'", name); return nullptr; } @@ -152,6 +159,7 @@ RefPtr FontDatabase::get(const String& family, unsigned size, unsigne if (typeface->family() == family && typeface->weight() == weight) return typeface->get_font(size); } + dbgln("Failed to get font: '{} {} {}'", family, size, weight); return nullptr; }