From a9ec0c30eba89609224734a9ad477e4e466e2083 Mon Sep 17 00:00:00 2001 From: Tom Date: Sun, 16 Jan 2022 17:40:55 -0700 Subject: [PATCH] WindowServer: Pick font with glyphs for digits for ScreenNumberOverlay We want to make sure we pick a font that has at least glyphs defined for all the digits that we may need to display. --- Userland/Services/WindowServer/Overlays.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Userland/Services/WindowServer/Overlays.cpp b/Userland/Services/WindowServer/Overlays.cpp index c14aeac9a9..582227b64c 100644 --- a/Userland/Services/WindowServer/Overlays.cpp +++ b/Userland/Services/WindowServer/Overlays.cpp @@ -178,6 +178,12 @@ void ScreenNumberOverlay::pick_font() // with default_font.name(). But the default font currently does not provide larger sizes auto size = font.glyph_height(); if (size * 2 <= screen_number_content_rect_size.height() && size > best_font_size) { + for (unsigned ch = '0'; ch <= '9'; ch++) { + if (!font.contains_glyph(ch)) { + // Skip this font, it doesn't have glyphs for digits + return; + } + } best_font_name = font.qualified_name(); best_font_size = size; }