diff --git a/common/lib/gterm.c b/common/lib/gterm.c index 2078fd99..ad2fd795 100644 --- a/common/lib/gterm.c +++ b/common/lib/gterm.c @@ -740,6 +740,7 @@ no_load_font:; size_t font_scale_x = 1; size_t font_scale_y = 1; + bool font_scale_is_default = true; char *menu_font_scale = config_get_value(config, 0, "TERM_FONT_SCALE"); if (menu_font_scale != NULL) { @@ -747,6 +748,8 @@ no_load_font:; if (font_scale_x > 8 || font_scale_y > 8) { font_scale_x = 1; font_scale_y = 1; + } else { + font_scale_is_default = false; } } @@ -782,6 +785,17 @@ no_load_font:; generate_canvas(fb); + if (font_scale_is_default) { + if (fb->framebuffer_width > 1366 && fb->framebuffer_height > 768) { + font_scale_x = 2; + font_scale_y = 2; + } + if (fb->framebuffer_width > 2560 && fb->framebuffer_height > 1440) { + font_scale_x = 4; + font_scale_y = 4; + } + } + terms[terms_i] = flanterm_fb_init(ext_mem_alloc, pmm_free, (void *)(uintptr_t)fb->framebuffer_addr,