X11TK: Even more failsafes for fonts

This commit is contained in:
eafton
2025-09-22 16:14:15 +03:00
committed by Sam Lantinga
parent 8cbd5d5b25
commit 773db8eb75

View File

@@ -110,6 +110,8 @@ static const char *g_IconFont = "-*-*-bold-r-normal-*-%d-*-*-*-*-*-iso8859-1[33
/* General UI font */ /* General UI font */
static const char g_ToolkitFontLatin1[] = static const char g_ToolkitFontLatin1[] =
"-*-*-medium-r-normal--0-%d-*-*-p-0-iso8859-1"; "-*-*-medium-r-normal--0-%d-*-*-p-0-iso8859-1";
static const char g_ToolkitFontLatin1Fallback[] =
"-*-*-*-*-*--*-*-*-*-*-*-iso8859-1";
static const char *g_ToolkitFont[] = { static const char *g_ToolkitFont[] = {
"-*-*-medium-r-normal--*-%d-*-*-*-*-iso10646-1", // explicitly unicode (iso10646-1) "-*-*-medium-r-normal--*-%d-*-*-*-*-iso10646-1", // explicitly unicode (iso10646-1)
"-*-*-medium-r-*--*-%d-*-*-*-*-iso10646-1", // explicitly unicode (iso10646-1) "-*-*-medium-r-*--*-%d-*-*-*-*-iso10646-1", // explicitly unicode (iso10646-1)
@@ -375,13 +377,17 @@ static void X11Toolkit_InitWindowFonts(SDL_ToolkitWindowX11 *window)
window->font_struct = X11_XLoadQueryFont(window->display, font); window->font_struct = X11_XLoadQueryFont(window->display, font);
SDL_free(font); SDL_free(font);
if (!window->font_struct) { if (!window->font_struct) {
if (window->scale && window->iscale > 0) { if (window->iscale > 0) {
window->iscale = (int)SDL_ceilf(window->scale); if (window->scale) {
window->scale = 0; window->iscale = (int)SDL_ceilf(window->scale);
} else { window->scale = 0;
window->iscale--; } else {
} window->iscale--;
goto load_font_traditional; }
goto load_font_traditional;
} else {
window->font_struct = X11_XLoadQueryFont(window->display, g_ToolkitFontLatin1Fallback);
}
} }
} }
} }