Commit dfd19a50 authored by Takashi Iwai's avatar Takashi Iwai Committed by Greg Kroah-Hartman

fonts: Prefer a bigger font for high resolution screens

Although we may have multiple fonts in kernel, the small 8x16 font is
chosen as default usually unless user specify the boot option.  This
is suboptimal for monitors with high resolutions.

This patch tries to assign a bigger font for such a high resolution by
calculating some penalty value.  This won't change anything for a
standard monitor like Full HD (1920x1080), but for a high res monitor
like UHD 4K, a bigger font like TER16x32 will be chosen once when
enabled in Kconfig.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 73a649d2
......@@ -106,7 +106,7 @@ EXPORT_SYMBOL(find_font);
const struct font_desc *get_default_font(int xres, int yres, u32 font_w,
u32 font_h)
{
int i, c, cc;
int i, c, cc, res;
const struct font_desc *f, *g;
g = NULL;
......@@ -127,6 +127,11 @@ const struct font_desc *get_default_font(int xres, int yres, u32 font_w,
if ((yres < 400) == (f->height <= 8))
c += 1000;
/* prefer a bigger font for high resolution */
res = (xres / f->width) * (yres / f->height) / 1000;
if (res > 20)
c += 20 - res;
if ((font_w & (1 << (f->width - 1))) &&
(font_h & (1 << (f->height - 1))))
c += 1000;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment