Thanks for the explanation.
Reviewed-by: Ruiyu Ni <ruiyu...@intel.com>

Thanks/Ray

> -----Original Message-----
> From: Kinney, Michael D
> Sent: Thursday, November 9, 2017 12:29 AM
> To: Ni, Ruiyu <ruiyu...@intel.com>; edk2-devel@lists.01.org; Kinney, Michael
> D <michael.d.kin...@intel.com>
> Cc: Dong, Eric <eric.d...@intel.com>; Zeng, Star <star.z...@intel.com>
> Subject: RE: [edk2] [Patch] MdeModulePkg/TerminalDxe: Fix PCANSI
> mapping for TRIANGLE and ARROW
> 
> When DOS uses CodePage 437, 18 is an up arrow glyph.
> 
> A PC ANSI terminal interprets 18 as a control character.
> 
> Mike
> 
> > -----Original Message-----
> > From: Ni, Ruiyu
> > Sent: Tuesday, November 7, 2017 11:47 PM
> > To: Kinney, Michael D <michael.d.kin...@intel.com>;
> > edk2-devel@lists.01.org
> > Cc: Dong, Eric <eric.d...@intel.com>; Zeng, Star <star.z...@intel.com>
> > Subject: RE: [edk2] [Patch] MdeModulePkg/TerminalDxe:
> > Fix PCANSI mapping for TRIANGLE and ARROW
> >
> > 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/TerminalCo
> > nOut.c
> > >
> > b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalCo
> > nOut.c
> > > index e677a76e6b..5a8343162f 100644
> > > ---
> > a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalCo
> > nOut.c
> > > +++
> > b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalCo
> > nOut.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