Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 296c2e7edb9276b1187539b712b901328a4a4647
      
https://github.com/tianocore/edk2/commit/296c2e7edb9276b1187539b712b901328a4a4647
  Author: Gao Qihang <[email protected]>
  Date:   2025-08-22 (Fri, 22 Aug 2025)

  Changed paths:
    M MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLibInternal.c

  Log Message:
  -----------
  MdeModulePkg: Simplify PrintInternal function to fit wide character

According to UEFI Spec, only Bit0...6 is valid in mode attribute, other
bits are undefined and must be 0. So attribute with EFI_WIDE_ATTRIBUTE
is unacceptable as EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.SetAttribute() input
parameter. In current PrintInternal function, wide character removed
WIDE_CHAR, and is used as EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.OutputString()
input parameter. So, wide character is mistakenly be treated as narrow
character.

Because EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.OutputString() can handle unicode
string with NARROW_CHAR and WIDE_CHAR, we can directly invoke
OutputString() with whole unicode string in PrintInternal function instead
of separated wide/narrow string. And then, the logic of computing unicode
string width is also simplified.

Signed-off-by: Gao Qihang <[email protected]>


  Commit: 0e1e079f4c5081da6b3b43f9dfc45932299ebb91
      
https://github.com/tianocore/edk2/commit/0e1e079f4c5081da6b3b43f9dfc45932299ebb91
  Author: Gao Qihang <[email protected]>
  Date:   2025-08-22 (Fri, 22 Aug 2025)

  Changed paths:
    M MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsole.c
    M MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h
    M MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c

  Log Message:
  -----------
  MdeModulePkg: Improve the implementation of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL

Fix TestString() to be compatible with wide/narrow string in
GraphicsConsole driver. If WIDE_CHAR or NARROW_CHAR is hit in
TestString function, ignore it since OutputString function will
correctly handle it.
Fix OutputString() to skip wide/narrow char in TerminalDxe. Because
they are not displayable in terminal emulation tool, ingore to
output if they are hit in OutputString function.

Signed-off-by: Gao Qihang <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/eb3354a49953...0e1e079f4c50

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to