console: multiple issues related to colors and font loading and switching
Use 8x16 bold font for builtin default font in both kernel and loader.
BIOS loader should load 8x16b for text mode (UEFI is always using FB mode).
The user can override default 8x16 with loadfont command.
Load builtin font while setting up gfx properties in loader. This allows us to handle font loading without weird exceptions and therefore it will be easier to avoid bugs (hopefully).
loadfont command was not working while reloading currently used font. Add -l switch for loadfont command.
loader tem should not handle font decompress.
Font module should be built based on tem font
Make sure we do not create font module for builtin font, the kernel has builtin font to cover all 8-bit chars, not just ascii set.
Add FONT_BUILTIN to sys/font.h, to make it possible to track builtin font
Both loader and kernel TEM mishandle the BOLD and BRIGHT FG attributes.
Translate BOLD to bright color only if we do not have bold component in current font.
Kernel TEM should also set up the font for text mode, this will make it easier to check if we do have bold component.
Kernel TEM should not use BOLD for white on black, we use bold font for text mode and then BRIGHT FG attribute for bold text.
Reverses are wrong when used with black on white.
Early boot used wrong limit for color translation array. Replace constant 16 by XLATE_NCOLORS.
In early boot, translate white foreground to bright. This will emphasise kernel messages (kernel name).
Testing done: built/install/boot; load fonts manually, switch FB on/off/modes and observe the screen.
Updated by Electric Monk over 1 year ago
- Status changed from In Progress to Closed
- % Done changed from 90 to 100
commit e0721d5ae1542c80097f6fcd487736fdfe601233 Author: Toomas Soome <firstname.lastname@example.org> Date: 2020-08-25T19:32:26.000Z 13003 console: multiple issues related to colors and font loading and switching Reviewed by: Robert Mustacchi <email@example.com> Approved by: Dan McDonald <firstname.lastname@example.org>