diff mbox series

[v3,6/7] efi_selftest: Add geometric shapes character selftest

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

Commit Message

Janne Grunau via B4 Relay March 16, 2024, 9:50 p.m. UTC
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(+)

Comments

Heinrich Schuchardt March 17, 2024, 9:38 a.m. UTC | #1
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 mbox series

Patch

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;
 }