Skip to content

Commit b08ee4d

Browse files
neilaykhdeller
authored andcommitted
lib/fonts: Add Terminus 10x18 console font
Add a compile-in option for Terminus 10x18 bitmap console font to improve readability on modern laptop displays. On modern 13-16 inch laptop displays with high pixel density, common scaled resolutions like 1280x800 and 1440x900 are widely used. At these resolutions, VGA 8x16 is too small and difficult to read for extended periods, while Terminus 16x32 is too large, providing only 25-28 rows. The existing 10x18 font has poor readability. Terminus 10x18 provides improved readability with its clean, fixed-width design while maintaining practical row counts (44-50 rows). A comfortable and readable built-in font for early boot messages, kernel panics or whenever userspace is unavailable. The font was converted from standard Terminus ter-i18b.psf using psftools and formatted to match kernel font conventions. This patch is non-intrusive, no options are enabled by default so most users won't notice a thing. Signed-off-by: Neilay Kharwadkar <neilaykharwadkar@gmail.com> Signed-off-by: Helge Deller <deller@gmx.de>
1 parent 0155e86 commit b08ee4d

5 files changed

Lines changed: 5162 additions & 1 deletion

File tree

include/linux/font.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ struct font_desc {
3535
#define FONT6x10_IDX 10
3636
#define TER16x32_IDX 11
3737
#define FONT6x8_IDX 12
38+
#define TER10x18_IDX 13
3839

3940
extern const struct font_desc font_vga_8x8,
4041
font_vga_8x16,
@@ -48,7 +49,8 @@ extern const struct font_desc font_vga_8x8,
4849
font_mini_4x6,
4950
font_6x10,
5051
font_ter_16x32,
51-
font_6x8;
52+
font_6x8,
53+
font_ter_10x18;
5254

5355
/* Find a font with a specific name */
5456

lib/fonts/Kconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,17 @@ config FONT_SUN12x22
112112
big letters (like the letters used in the SPARC PROM). If the
113113
standard font is unreadable for you, say Y, otherwise say N.
114114

115+
config FONT_TER10x18
116+
bool "Terminus 10x18 font (not supported by all drivers)"
117+
depends on FRAMEBUFFER_CONSOLE || DRM_PANIC
118+
depends on !SPARC && FONTS || SPARC
119+
help
120+
Terminus Font is a clean, fixed width bitmap font, designed
121+
for long (8 and more hours per day) work with computers.
122+
This is the high resolution version made for use with 13-16" laptops.
123+
It fits between the normal 8x16 font and Terminus 16x32.
124+
If other fonts are unreadable for you, say Y, otherwise say N.
125+
115126
config FONT_TER16x32
116127
bool "Terminus 16x32 font (not supported by all drivers)"
117128
depends on FRAMEBUFFER_CONSOLE || DRM_PANIC
@@ -140,6 +151,7 @@ config FONT_AUTOSELECT
140151
depends on !FONT_SUN8x16
141152
depends on !FONT_SUN12x22
142153
depends on !FONT_10x18
154+
depends on !FONT_TER10x18
143155
depends on !FONT_TER16x32
144156
depends on !FONT_6x8
145157
select FONT_8x16

lib/fonts/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
1414
font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
1515
font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
1616
font-objs-$(CONFIG_FONT_6x10) += font_6x10.o
17+
font-objs-$(CONFIG_FONT_TER10x18) += font_ter10x18.o
1718
font-objs-$(CONFIG_FONT_TER16x32) += font_ter16x32.o
1819
font-objs-$(CONFIG_FONT_6x8) += font_6x8.o
1920

0 commit comments

Comments
 (0)