Mike,
I am a bit confused about mapping 0x18 to upper arrow.
I remembered that in old days, pressing ALT+18 in DOS window can generate upper 
arrow.

Thanks/Ray

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Michael D Kinney
> Sent: Wednesday, November 8, 2017 12:24 PM
> To: edk2-devel@lists.01.org
> Cc: Dong, Eric <eric.d...@intel.com>; Zeng, Star <star.z...@intel.com>
> Subject: [edk2] [Patch] MdeModulePkg/TerminalDxe: Fix PCANSI mapping
> for TRIANGLE and ARROW
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=761
> 
> When a TerminalType is set to PCANSI, characters in the range 0x00 to 0x1F
> are control characters.  The mapping table for PCANSI maps TRIANGLE glyphs,
> ARROW_UP glyph, and ARROW_DOWN glyph into this control character
> range and that causes no characters to be displayed by PCANSI compatible
> terminal emulators.
> 
> The mappings are updated so these glyphs are mapped to ANSI characters in
> the range 0x20 to 0x7E.
> 
> GEOMETRICSHAPE_UP_TRIANGLE     '^'
> GEOMETRICSHAPE_RIGHT_TRIANGLE  '>'
> GEOMETRICSHAPE_DOWN_TRIANGLE   'v'
> GEOMETRICSHAPE_LEFT_TRIANGLE   '<'
> ARROW_UP                       '^'
> ARROW_DOWN                     'v'
> 
> Cc: Star Zeng <star.z...@intel.com>
> Cc: Eric Dong <eric.d...@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Michael D Kinney <michael.d.kin...@intel.com>
> ---
>  .../Universal/Console/TerminalDxe/TerminalConOut.c     | 18 +++++++++----
> -----
>  1 file changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git
> a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
> b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
> index e677a76e6b..5a8343162f 100644
> --- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
> +++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
> @@ -66,15 +66,15 @@ UNICODE_TO_CHAR  UnicodeToPcAnsiOrAscii[] = {
>    { BLOCKELEMENT_FULL_BLOCK,            0xdb, L'*' },
>    { BLOCKELEMENT_LIGHT_SHADE,           0xb0, L'+' },
> 
> -  { GEOMETRICSHAPE_UP_TRIANGLE,         0x1e, L'^' },
> -  { GEOMETRICSHAPE_RIGHT_TRIANGLE,      0x10, L'>' },
> -  { GEOMETRICSHAPE_DOWN_TRIANGLE,       0x1f, L'v' },
> -  { GEOMETRICSHAPE_LEFT_TRIANGLE,       0x11, L'<' },
> -
> -  { ARROW_LEFT,                         0x3c, L'<' },
> -  { ARROW_UP,                           0x18, L'^' },
> -  { ARROW_RIGHT,                        0x3e, L'>' },
> -  { ARROW_DOWN,                         0x19, L'v' },
> +  { GEOMETRICSHAPE_UP_TRIANGLE,         '^', L'^' },
> +  { GEOMETRICSHAPE_RIGHT_TRIANGLE,      '>', L'>' },
> +  { GEOMETRICSHAPE_DOWN_TRIANGLE,       'v', L'v' },
> +  { GEOMETRICSHAPE_LEFT_TRIANGLE,       '<', L'<' },
> +
> +  { ARROW_LEFT,                         '<', L'<' },
> +  { ARROW_UP,                           '^', L'^' },
> +  { ARROW_RIGHT,                        '>', L'>' },
> +  { ARROW_DOWN,                         'v', L'v' },
> 
>    { 0x0000,                             0x00, L'\0' }
>  };
> --
> 2.14.2.windows.3
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to