Fonts: New Terminus large console font

This patch adds an option to compile-in a high resolution
and large Terminus (ter16x32) bitmap console font for use with
HiDPI and Retina screens.

The font was convereted from standard Terminus ter-i32b.psf
(size 16x32) with the help of psftools and minor hand editing
deleting useless characters.

This patch is non-intrusive, no options are enabled by default so most
users won't notice a thing.

I am placing my changes under the GPL 2.0 just as source Terminus font.

Signed-off-by: Amanoel Dawod <amanoeladawod@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Amanoel Dawod 2018-12-05 18:56:37 -05:00 committed by Greg Kroah-Hartman
parent 9d84d3e6bd
commit ac8b6f148f
5 changed files with 2090 additions and 1 deletions

View File

@ -32,6 +32,7 @@ struct font_desc {
#define ACORN8x8_IDX 8 #define ACORN8x8_IDX 8
#define MINI4x6_IDX 9 #define MINI4x6_IDX 9
#define FONT6x10_IDX 10 #define FONT6x10_IDX 10
#define TER16x32_IDX 11
extern const struct font_desc font_vga_8x8, extern const struct font_desc font_vga_8x8,
font_vga_8x16, font_vga_8x16,
@ -43,7 +44,8 @@ extern const struct font_desc font_vga_8x8,
font_sun_12x22, font_sun_12x22,
font_acorn_8x8, font_acorn_8x8,
font_mini_4x6, font_mini_4x6,
font_6x10; font_6x10,
font_ter_16x32;
/* Find a font with a specific name */ /* Find a font with a specific name */

View File

@ -109,6 +109,15 @@ config FONT_SUN12x22
big letters (like the letters used in the SPARC PROM). If the big letters (like the letters used in the SPARC PROM). If the
standard font is unreadable for you, say Y, otherwise say N. standard font is unreadable for you, say Y, otherwise say N.
config FONT_TER16x32
bool "Terminus 16x32 font (not supported by all drivers)"
depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC)
help
Terminus Font is a clean, fixed width bitmap font, designed
for long (8 and more hours per day) work with computers.
This is the high resolution, large version for use with HiDPI screens.
If the standard font is unreadable for you, say Y, otherwise say N.
config FONT_AUTOSELECT config FONT_AUTOSELECT
def_bool y def_bool y
depends on !FONT_8x8 depends on !FONT_8x8
@ -121,6 +130,7 @@ config FONT_AUTOSELECT
depends on !FONT_SUN8x16 depends on !FONT_SUN8x16
depends on !FONT_SUN12x22 depends on !FONT_SUN12x22
depends on !FONT_10x18 depends on !FONT_10x18
depends on !FONT_TER16x32
select FONT_8x16 select FONT_8x16
endif # FONT_SUPPORT endif # FONT_SUPPORT

View File

@ -14,6 +14,7 @@ font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
font-objs-$(CONFIG_FONT_6x10) += font_6x10.o font-objs-$(CONFIG_FONT_6x10) += font_6x10.o
font-objs-$(CONFIG_FONT_TER16x32) += font_ter16x32.o
font-objs += $(font-objs-y) font-objs += $(font-objs-y)

2072
lib/fonts/font_ter16x32.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -67,6 +67,10 @@ static const struct font_desc *fonts[] = {
#undef NO_FONTS #undef NO_FONTS
&font_6x10, &font_6x10,
#endif #endif
#ifdef CONFIG_FONT_TER16x32
#undef NO_FONTS
&font_ter_16x32,
#endif
}; };
#define num_fonts ARRAY_SIZE(fonts) #define num_fonts ARRAY_SIZE(fonts)