Message ID | 20220110005638.21599-7-andre.przywara@arm.com |
---|---|
State | Deferred |
Delegated to: | Tom Rini |
Headers | show |
Series | video: improve UEFI experience on DM_VIDEO | expand |
On 1/10/22 01:56, Andre Przywara wrote: > UEFI relies entirely on unicode output, which actual fonts displayed on > the screen might not be ready for. > > Add a test displaying some international characters, to reveal missing > glyphs, especially in our builtin fonts. > This would be needed to be manually checked on the screen for > correctness. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > --- > lib/efi_selftest/efi_selftest_textoutput.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c > index a87f65e197f..a437732496b 100644 > --- a/lib/efi_selftest/efi_selftest_textoutput.c > +++ b/lib/efi_selftest/efi_selftest_textoutput.c > @@ -118,6 +118,11 @@ static int execute(void) > efi_st_printf("Unicode not handled properly\n"); > return EFI_ST_FAILURE; > } > + ret = con_out->output_string(con_out, L"Österreich Edelweiß Smørrebrød Smörgås Niño René >Ἑλλάς<\n"); %s/L"/u"/ Please, don't use UTF-8 in code as some tools don't support it. Instead use \u escape codes: const u16 text[] = u"\u00d6\sterreich Edelwei\u00df \Sm\u00f8rrebr\u00f8d Sm\u00f6rg" u"\u00e5s Ni\u00f1o Ren\u00e9 >\u1f19\u03bb\u03bb\u03ac\u03c2<\n"; Best regards Heinrich > + if (ret != EFI_ST_SUCCESS) { > + efi_st_error("OutputString failed for international chars\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 a87f65e197f..a437732496b 100644 --- a/lib/efi_selftest/efi_selftest_textoutput.c +++ b/lib/efi_selftest/efi_selftest_textoutput.c @@ -118,6 +118,11 @@ static int execute(void) efi_st_printf("Unicode not handled properly\n"); return EFI_ST_FAILURE; } + ret = con_out->output_string(con_out, L"Österreich Edelweiß Smørrebrød Smörgås Niño René >Ἑλλάς<\n"); + if (ret != EFI_ST_SUCCESS) { + efi_st_error("OutputString failed for international chars\n"); + return EFI_ST_FAILURE; + } efi_st_printf("\n"); return EFI_ST_SUCCESS;
UEFI relies entirely on unicode output, which actual fonts displayed on the screen might not be ready for. Add a test displaying some international characters, to reveal missing glyphs, especially in our builtin fonts. This would be needed to be manually checked on the screen for correctness. Signed-off-by: Andre Przywara <andre.przywara@arm.com> --- lib/efi_selftest/efi_selftest_textoutput.c | 5 +++++ 1 file changed, 5 insertions(+)