Message ID | 20240316-vidconsole-utf8-uefi-v3-6-4e8a3d349447@jannau.net |
---|---|
State | Accepted, archived |
Delegated to: | Heinrich Schuchardt |
Headers | show |
Series | video: Add UTF-8 support for UEFI applications | expand |
On 3/16/24 22:50, Janne Grunau via B4 Relay wrote: > From: Janne Grunau <j@jannau.net> > > Draw symbols from Unicode's "Geometric shapes" page which translate to > code page 437 code points 1-31. These are used by UEFI applications to > draw user interfaces using EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL. > The output has to be checked manually on the screen for correctness. > > Signed-off-by: Janne Grunau <j@jannau.net> > --- > lib/efi_selftest/efi_selftest_textoutput.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c > index b56fd2ab76..2208a9877a 100644 > --- a/lib/efi_selftest/efi_selftest_textoutput.c > +++ b/lib/efi_selftest/efi_selftest_textoutput.c > @@ -60,6 +60,13 @@ u"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534" > u"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" > u"\u2500\u2500\u2500\u2500\u2518\n"; > > + const u16 shapes[] = > +u"Geometric shapes as described\n" > +u"U+25B2 \u25B2 - Black up-pointing triangle\n" > +u"U+25BA \u25BA - Black right-pointing pointer\n" > +u"U+25BC \u25BC - Black down-pointing triangle\n" > +u"U+25C4 \u25C4 - Black left-pointing pointer\n"; Please, indent the strings by two tabs. Otherwise Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > + > /* SetAttribute */ > efi_st_printf("\nColor palette\n"); > for (foreground = 0; foreground < 0x10; ++foreground) { > @@ -160,6 +167,12 @@ u"\u2500\u2500\u2500\u2500\u2518\n"; > return EFI_ST_FAILURE; > } > efi_st_printf("\n"); > + ret = con_out->output_string(con_out, shapes); > + if (ret != EFI_ST_SUCCESS) { > + efi_st_error("OutputString failed for geometric shapes\n"); > + return EFI_ST_FAILURE; > + } > + efi_st_printf("\n"); > > return EFI_ST_SUCCESS; > } >
diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c index b56fd2ab76..2208a9877a 100644 --- a/lib/efi_selftest/efi_selftest_textoutput.c +++ b/lib/efi_selftest/efi_selftest_textoutput.c @@ -60,6 +60,13 @@ u"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534" u"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" u"\u2500\u2500\u2500\u2500\u2518\n"; + const u16 shapes[] = +u"Geometric shapes as described\n" +u"U+25B2 \u25B2 - Black up-pointing triangle\n" +u"U+25BA \u25BA - Black right-pointing pointer\n" +u"U+25BC \u25BC - Black down-pointing triangle\n" +u"U+25C4 \u25C4 - Black left-pointing pointer\n"; + /* SetAttribute */ efi_st_printf("\nColor palette\n"); for (foreground = 0; foreground < 0x10; ++foreground) { @@ -160,6 +167,12 @@ u"\u2500\u2500\u2500\u2500\u2518\n"; return EFI_ST_FAILURE; } efi_st_printf("\n"); + ret = con_out->output_string(con_out, shapes); + if (ret != EFI_ST_SUCCESS) { + efi_st_error("OutputString failed for geometric shapes\n"); + return EFI_ST_FAILURE; + } + efi_st_printf("\n"); return EFI_ST_SUCCESS; }