
UEFI programs use Unicode for console output, e.g. GRUB uses characters from the 0x2500 code block to draw a box around the menu.
The video console does not understand the UTF-8 codes and renders each byte individually.
The series adds the necessary conversions both for the TrueType as well as for the normal and rotated consoles which only support code page 437.
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
Heinrich Schuchardt (6): efi_loader: move codepage 437 table efi_loader: carve out utf_to_cp() lib/charset: utf8_get() should return error lib/charset: UTF-8 stream conversion video: use int for character in putc_xy() video: support Unicode in video console
drivers/video/console_normal.c | 2 +- drivers/video/console_rotate.c | 6 +- drivers/video/console_truetype.c | 2 +- drivers/video/vidconsole-uclass.c | 29 ++++++- include/charset.h | 34 ++++++++ include/video_console.h | 4 +- lib/charset.c | 96 +++++++++++++++++++-- lib/efi_loader/efi_unicode_collation.c | 21 +---- test/unicode_ut.c | 114 +++++++++++++++++++++++++ 9 files changed, 271 insertions(+), 37 deletions(-)
-- 2.30.0