https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3c5a56ed93b0f6a002e4a2f605c012308c5117b1

commit 3c5a56ed93b0f6a002e4a2f605c012308c5117b1
Author:     Katayama Hirofumi MZ <[email protected]>
AuthorDate: Sat Oct 8 07:46:00 2022 +0900
Commit:     GitHub <[email protected]>
CommitDate: Sat Oct 8 07:46:00 2022 +0900

    [USETUP][VGAFONTS] Improve Romanian character display (#4750)
    
    - Modify media/vgafonts/28606-8x8.bin Romanian VGA font to display special 
characters.
    - Add global variables for special characters "Char..." for Romanian VGA 
font.
    - Toggle the global variables "Char..." in SetConsoleCodePage function.
    CORE-18446
---
 base/setup/usetup/consup.c   |   2 +-
 base/setup/usetup/genlist.c  |  20 +++++------
 base/setup/usetup/mui.c      |  81 +++++++++++++++++++++++++++++++++++++++++--
 base/setup/usetup/mui.h      |  21 +++++++++++
 base/setup/usetup/partlist.c |  56 +++++++++++++++++-------------
 base/setup/usetup/progress.c |  36 +++++++++----------
 base/setup/usetup/usetup.c   |  28 +++++++++------
 media/vgafonts/28606-8x8.bin | Bin 2048 -> 2048 bytes
 8 files changed, 178 insertions(+), 66 deletions(-)

diff --git a/base/setup/usetup/consup.c b/base/setup/usetup/consup.c
index e72c43106e6..4aa952ce2a3 100644
--- a/base/setup/usetup/consup.c
+++ b/base/setup/usetup/consup.c
@@ -417,7 +417,7 @@ CONSOLE_SetUnderlinedTextXY(
 
     coPos.Y++;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xCD,
+                                CharDoubleHorizontalLine,
                                 Length,
                                 coPos,
                                 &Written);
diff --git a/base/setup/usetup/genlist.c b/base/setup/usetup/genlist.c
index c43f89ccd9b..c94369edbdf 100644
--- a/base/setup/usetup/genlist.c
+++ b/base/setup/usetup/genlist.c
@@ -78,7 +78,7 @@ DrawListFrame(
     coPos.X = ListUi->Left;
     coPos.Y = ListUi->Top;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xDA, // '+',
+                                CharUpperLeftCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -87,7 +87,7 @@ DrawListFrame(
     coPos.X = ListUi->Left + 1;
     coPos.Y = ListUi->Top;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC4, // '-',
+                                CharHorizontalLine, // '-',
                                 ListUi->Right - ListUi->Left - 1,
                                 coPos,
                                 &Written);
@@ -96,7 +96,7 @@ DrawListFrame(
     coPos.X = ListUi->Right;
     coPos.Y = ListUi->Top;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xBF, // '+',
+                                CharUpperRightCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -107,14 +107,14 @@ DrawListFrame(
         coPos.X = ListUi->Left;
         coPos.Y = i;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xB3, // '|',
+                                    CharVerticalLine, // '|',
                                     1,
                                     coPos,
                                     &Written);
 
         coPos.X = ListUi->Right;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xB3, //'|',
+                                    CharVerticalLine, //'|',
                                     1,
                                     coPos,
                                     &Written);
@@ -124,7 +124,7 @@ DrawListFrame(
     coPos.X = ListUi->Left;
     coPos.Y = ListUi->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC0, // '+',
+                                CharLowerLeftCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -133,7 +133,7 @@ DrawListFrame(
     coPos.X = ListUi->Left + 1;
     coPos.Y = ListUi->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC4, // '-',
+                                CharHorizontalLine, // '-',
                                 ListUi->Right - ListUi->Left - 1,
                                 coPos,
                                 &Written);
@@ -142,7 +142,7 @@ DrawListFrame(
     coPos.X = ListUi->Right;
     coPos.Y = ListUi->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xD9, // '+',
+                                CharLowerRightCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -239,7 +239,7 @@ DrawScrollBarGenericList(
     if (ListUi->FirstShown != List->ListHead.Flink)
     {
         FillConsoleOutputCharacterA(StdOutput,
-                                    '\x18',
+                                    CharUpArrow,
                                     1,
                                     coPos,
                                     &Written);
@@ -257,7 +257,7 @@ DrawScrollBarGenericList(
     if (ListUi->LastShown != List->ListHead.Blink)
     {
         FillConsoleOutputCharacterA(StdOutput,
-                                    '\x19',
+                                    CharDownArrow,
                                     1,
                                     coPos,
                                     &Written);
diff --git a/base/setup/usetup/mui.c b/base/setup/usetup/mui.c
index 365576e58f4..9360cbf5554 100644
--- a/base/setup/usetup/mui.c
+++ b/base/setup/usetup/mui.c
@@ -30,6 +30,27 @@
 #define NDEBUG
 #include <debug.h>
 
+/* Special characters */
+CHAR CharBullet                     = 0x07; /* bullet */
+CHAR CharBlock                      = 0xDB; /* block */
+CHAR CharHalfBlock                  = 0xDD; /* half-left block */
+CHAR CharUpArrow                    = 0x18; /* up arrow */
+CHAR CharDownArrow                  = 0x19; /* down arrow */
+CHAR CharHorizontalLine             = 0xC4; /* horizontal line */
+CHAR CharVerticalLine               = 0xB3; /* vertical line */
+CHAR CharUpperLeftCorner            = 0xDA; /* upper left corner */
+CHAR CharUpperRightCorner           = 0xBF; /* upper right corner */
+CHAR CharLowerLeftCorner            = 0xC0; /* lower left corner */
+CHAR CharLowerRightCorner           = 0xD9; /* lower right corner */
+CHAR CharVertLineAndRightHorizLine  = 0xC3; /* |- (vertical line and right 
horizontal line) */
+CHAR CharLeftHorizLineAndVertLine   = 0xB4; /* -| (left horizontal line and 
vertical line) */
+CHAR CharDoubleHorizontalLine       = 0xCD; /* double horizontal line (and 
underline) */
+CHAR CharDoubleVerticalLine         = 0xBA; /* double vertical line */
+CHAR CharDoubleUpperLeftCorner      = 0xC9; /* double upper left corner */
+CHAR CharDoubleUpperRightCorner     = 0xBB; /* double upper right corner */
+CHAR CharDoubleLowerLeftCorner      = 0xC8; /* double lower left corner */
+CHAR CharDoubleLowerRightCorner     = 0xBC; /* double lower right corner */
+
 static
 ULONG
 FindLanguageIndex(VOID)
@@ -535,6 +556,62 @@ SetConsoleCodePage(VOID)
     wCodePage = (UINT)wcstoul(MUIGetOEMCodePage(SelectedLanguageId), NULL, 10);
     SetConsoleOutputCP(wCodePage);
 #endif
-}
 
-/* EOF */
+    switch (wCodePage)
+    {
+        case 28606: /* Romanian */
+            /* Set special characters */
+            CharBullet = 0x07;
+            CharBlock = 0x01;
+            CharHalfBlock = 0x02;
+            CharUpArrow = 0x03;
+            CharDownArrow = 0x04;
+            CharHorizontalLine = 0x05;
+            CharVerticalLine = 0x06;
+            CharUpperLeftCorner = 0x08;
+            CharUpperRightCorner = 0x09;
+            CharLowerLeftCorner = 0x0B;
+            CharLowerRightCorner = 0x0C;
+            CharVertLineAndRightHorizLine = 0x0E;
+            CharLeftHorizLineAndVertLine = 0x0F;
+            CharDoubleHorizontalLine = 0x10;
+            CharDoubleVerticalLine = 0x11;
+            CharDoubleUpperLeftCorner = 0x12;
+            CharDoubleUpperRightCorner = 0x13;
+            CharDoubleLowerLeftCorner = 0x14;
+            CharDoubleLowerRightCorner = 0x15;
+
+            /* FIXME: Enter 640x400 video mode */
+            break;
+
+        case 932: /* Japanese */
+            /* FIXME: Set special characters */
+            /* FIXME: Enter 640x400 video mode */
+            break;
+
+        default: /* Other codepages */
+            /* Set special characters */
+            CharBullet = 0x07;
+            CharBlock = 0xDB;
+            CharHalfBlock = 0xDD;
+            CharUpArrow = 0x18;
+            CharDownArrow = 0x19;
+            CharHorizontalLine = 0xC4;
+            CharVerticalLine = 0xB3;
+            CharUpperLeftCorner = 0xDA;
+            CharUpperRightCorner = 0xBF;
+            CharLowerLeftCorner = 0xC0;
+            CharLowerRightCorner = 0xD9;
+            CharVertLineAndRightHorizLine = 0xC3;
+            CharLeftHorizLineAndVertLine = 0xB4;
+            CharDoubleHorizontalLine = 0xCD;
+            CharDoubleVerticalLine = 0xBA;
+            CharDoubleUpperLeftCorner = 0xC9;
+            CharDoubleUpperRightCorner = 0xBB;
+            CharDoubleLowerLeftCorner = 0xC8;
+            CharDoubleLowerRightCorner = 0xBC;
+
+            /* FIXME: Enter 720x400 video mode */
+            break;
+    }
+}
diff --git a/base/setup/usetup/mui.h b/base/setup/usetup/mui.h
index 9b35c0736f8..224a679f34c 100644
--- a/base/setup/usetup/mui.h
+++ b/base/setup/usetup/mui.h
@@ -99,6 +99,27 @@ MUISetStyledText(
     IN INT TextID,
     IN INT Flags);
 
+/* Special characters */
+extern CHAR CharBullet;
+extern CHAR CharBlock;
+extern CHAR CharHalfBlock;
+extern CHAR CharUpArrow;
+extern CHAR CharDownArrow;
+extern CHAR CharHorizontalLine;
+extern CHAR CharVerticalLine;
+extern CHAR CharUpperLeftCorner;
+extern CHAR CharUpperRightCorner;
+extern CHAR CharLowerLeftCorner;
+extern CHAR CharLowerRightCorner;
+extern CHAR CharVertLineAndRightHorizLine;
+extern CHAR CharLeftHorizLineAndVertLine;
+extern CHAR CharDoubleHorizontalLine;
+extern CHAR CharDoubleVerticalLine;
+extern CHAR CharDoubleUpperLeftCorner;
+extern CHAR CharDoubleUpperRightCorner;
+extern CHAR CharDoubleLowerLeftCorner;
+extern CHAR CharDoubleLowerRightCorner;
+
 /* MUI Text IDs */
 
 /* Static MUI Text */
diff --git a/base/setup/usetup/partlist.c b/base/setup/usetup/partlist.c
index 879a8015f07..d6c934bc47a 100644
--- a/base/setup/usetup/partlist.c
+++ b/base/setup/usetup/partlist.c
@@ -696,7 +696,7 @@ DrawPartitionList(
     coPos.X = ListUi->Left;
     coPos.Y = ListUi->Top;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xDA, // '+',
+                                CharUpperLeftCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -707,7 +707,7 @@ DrawPartitionList(
     if (ListUi->Offset == 0)
     {
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xC4, // '-',
+                                    CharHorizontalLine, // '-',
                                     Width,
                                     coPos,
                                     &Written);
@@ -715,19 +715,23 @@ DrawPartitionList(
     else
     {
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xC4, // '-',
+                                    CharHorizontalLine, // '-',
                                     Width - 4,
                                     coPos,
                                     &Written);
-        coPos.X = ListUi->Right - 5;
-        WriteConsoleOutputCharacterA(StdOutput,
-                                     "(\x18)", // "(up)"
-                                     3,
-                                     coPos,
-                                     &Written);
+        {
+            CHAR szBuff[] = "(.)"; // "(up)"
+            szBuff[1] = CharUpArrow;
+            coPos.X = ListUi->Right - 5;
+            WriteConsoleOutputCharacterA(StdOutput,
+                                         szBuff,
+                                         3,
+                                         coPos,
+                                         &Written);
+        }
         coPos.X = ListUi->Right - 2;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xC4, // '-',
+                                    CharHorizontalLine, // '-',
                                     2,
                                     coPos,
                                     &Written);
@@ -737,7 +741,7 @@ DrawPartitionList(
     coPos.X = ListUi->Right;
     coPos.Y = ListUi->Top;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xBF, // '+',
+                                CharUpperRightCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -748,14 +752,14 @@ DrawPartitionList(
         coPos.X = ListUi->Left;
         coPos.Y = i;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xB3, // '|',
+                                    CharVerticalLine, // '|',
                                     1,
                                     coPos,
                                     &Written);
 
         coPos.X = ListUi->Right;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xB3, //'|',
+                                    CharVerticalLine, //'|',
                                     1,
                                     coPos,
                                     &Written);
@@ -765,7 +769,7 @@ DrawPartitionList(
     coPos.X = ListUi->Left;
     coPos.Y = ListUi->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC0, // '+',
+                                CharLowerLeftCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -776,7 +780,7 @@ DrawPartitionList(
     if (LastLine - ListUi->Offset <= Height)
     {
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xC4, // '-',
+                                    CharHorizontalLine, // '-',
                                     Width,
                                     coPos,
                                     &Written);
@@ -784,19 +788,23 @@ DrawPartitionList(
     else
     {
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xC4, // '-',
+                                    CharHorizontalLine, // '-',
                                     Width - 4,
                                     coPos,
                                     &Written);
-        coPos.X = ListUi->Right - 5;
-        WriteConsoleOutputCharacterA(StdOutput,
-                                     "(\x19)", // "(down)"
-                                     3,
-                                     coPos,
-                                     &Written);
+        {
+            CHAR szBuff[] = "(.)"; // "(down)"
+            szBuff[1] = CharDownArrow;
+            coPos.X = ListUi->Right - 5;
+            WriteConsoleOutputCharacterA(StdOutput,
+                                         szBuff,
+                                         3,
+                                         coPos,
+                                         &Written);
+        }
        coPos.X = ListUi->Right - 2;
        FillConsoleOutputCharacterA(StdOutput,
-                                   0xC4, // '-',
+                                   CharHorizontalLine, // '-',
                                    2,
                                    coPos,
                                    &Written);
@@ -806,7 +814,7 @@ DrawPartitionList(
     coPos.X = ListUi->Right;
     coPos.Y = ListUi->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xD9, // '+',
+                                CharLowerRightCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
diff --git a/base/setup/usetup/progress.c b/base/setup/usetup/progress.c
index aa1f81d3e8c..312ff5a673e 100644
--- a/base/setup/usetup/progress.c
+++ b/base/setup/usetup/progress.c
@@ -56,7 +56,7 @@ DrawBorder(
     coPos.X = Bar->Left;
     coPos.Y = Bar->Top + 1;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xDA, // '+',
+                                CharUpperLeftCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -65,7 +65,7 @@ DrawBorder(
     coPos.X = Bar->Left + 1;
     coPos.Y = Bar->Top + 1;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC4, // '-',
+                                CharHorizontalLine, // '-',
                                 Bar->Right - Bar->Left - 1,
                                 coPos,
                                 &Written);
@@ -74,7 +74,7 @@ DrawBorder(
     coPos.X = Bar->Right;
     coPos.Y = Bar->Top + 1;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xBF, // '+',
+                                CharUpperRightCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -85,14 +85,14 @@ DrawBorder(
         coPos.X = Bar->Left;
         coPos.Y = i;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xB3, // '|',
+                                    CharVerticalLine, // '|',
                                     1,
                                     coPos,
                                     &Written);
 
         coPos.X = Bar->Right;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xB3, //'|',
+                                    CharVerticalLine, //'|',
                                     1,
                                     coPos,
                                     &Written);
@@ -102,7 +102,7 @@ DrawBorder(
     coPos.X = Bar->Left;
     coPos.Y = Bar->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC0, // '+',
+                                CharLowerLeftCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -111,7 +111,7 @@ DrawBorder(
     coPos.X = Bar->Left + 1;
     coPos.Y = Bar->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC4, // '-',
+                                CharHorizontalLine, // '-',
                                 Bar->Right - Bar->Left - 1,
                                 coPos,
                                 &Written);
@@ -120,7 +120,7 @@ DrawBorder(
     coPos.X = Bar->Right;
     coPos.Y = Bar->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xD9, // '+',
+                                CharLowerRightCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -139,7 +139,7 @@ DrawThickBorder(
     coPos.X = Bar->Left;
     coPos.Y = Bar->Top + 1;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC9, // '+',
+                                CharDoubleUpperLeftCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -148,7 +148,7 @@ DrawThickBorder(
     coPos.X = Bar->Left + 1;
     coPos.Y = Bar->Top + 1;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xCD, // '-',
+                                CharDoubleHorizontalLine, // '-',
                                 Bar->Right - Bar->Left - 1,
                                 coPos,
                                 &Written);
@@ -157,7 +157,7 @@ DrawThickBorder(
     coPos.X = Bar->Right;
     coPos.Y = Bar->Top + 1;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xBB, // '+',
+                                CharDoubleUpperRightCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -168,14 +168,14 @@ DrawThickBorder(
         coPos.X = Bar->Left;
         coPos.Y = i;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xBA, // '|',
+                                    CharDoubleVerticalLine, // '|',
                                     1,
                                     coPos,
                                     &Written);
 
         coPos.X = Bar->Right;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xBA, //'|',
+                                    CharDoubleVerticalLine, //'|',
                                     1,
                                     coPos,
                                     &Written);
@@ -185,7 +185,7 @@ DrawThickBorder(
     coPos.X = Bar->Left;
     coPos.Y = Bar->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC8, // '+',
+                                CharDoubleLowerLeftCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -194,7 +194,7 @@ DrawThickBorder(
     coPos.X = Bar->Left + 1;
     coPos.Y = Bar->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xCD, // '-',
+                                CharDoubleHorizontalLine, // '-',
                                 Bar->Right - Bar->Left - 1,
                                 coPos,
                                 &Written);
@@ -203,7 +203,7 @@ DrawThickBorder(
     coPos.X = Bar->Right;
     coPos.Y = Bar->Bottom;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xBC, // '+',
+                                CharDoubleLowerRightCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -404,7 +404,7 @@ ProgressSetStep(
         {
             coPos.X = Bar->Left + 1;
             FillConsoleOutputCharacterA(StdOutput,
-                                        0xDB,
+                                        CharBlock,
                                         Bar->Pos / 2,
                                         coPos,
                                         &Written);
@@ -413,7 +413,7 @@ ProgressSetStep(
             if (NewPos & 1)
             {
                 FillConsoleOutputCharacterA(StdOutput,
-                                            0xDD,
+                                            CharHalfBlock,
                                             1,
                                             coPos,
                                             &Written);
diff --git a/base/setup/usetup/usetup.c b/base/setup/usetup/usetup.c
index 4668dde86d0..e58638c1a7f 100644
--- a/base/setup/usetup/usetup.c
+++ b/base/setup/usetup/usetup.c
@@ -175,7 +175,7 @@ DrawBox(IN SHORT xLeft,
     coPos.X = xLeft;
     coPos.Y = yTop;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xDA, // '+',
+                                CharUpperLeftCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -184,7 +184,7 @@ DrawBox(IN SHORT xLeft,
     coPos.X = xLeft + 1;
     coPos.Y = yTop;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC4, // '-',
+                                CharHorizontalLine, // '-',
                                 Width - 2,
                                 coPos,
                                 &Written);
@@ -193,7 +193,7 @@ DrawBox(IN SHORT xLeft,
     coPos.X = xLeft + Width - 1;
     coPos.Y = yTop;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xBF, // '+',
+                                CharUpperRightCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -203,7 +203,7 @@ DrawBox(IN SHORT xLeft,
     {
         coPos.X = xLeft;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xB3, // '|',
+                                    CharVerticalLine, // '|',
                                     1,
                                     coPos,
                                     &Written);
@@ -217,7 +217,7 @@ DrawBox(IN SHORT xLeft,
 
         coPos.X = xLeft + Width - 1;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xB3, // '|',
+                                    CharVerticalLine, // '|',
                                     1,
                                     coPos,
                                     &Written);
@@ -227,7 +227,7 @@ DrawBox(IN SHORT xLeft,
     coPos.X = xLeft;
     coPos.Y = yTop + Height - 1;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC0, // '+',
+                                CharLowerLeftCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -236,7 +236,7 @@ DrawBox(IN SHORT xLeft,
     coPos.X = xLeft + 1;
     coPos.Y = yTop + Height - 1;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xC4, // '-',
+                                CharHorizontalLine, // '-',
                                 Width - 2,
                                 coPos,
                                 &Written);
@@ -245,7 +245,7 @@ DrawBox(IN SHORT xLeft,
     coPos.X = xLeft + Width - 1;
     coPos.Y = yTop + Height - 1;
     FillConsoleOutputCharacterA(StdOutput,
-                                0xD9, // '+',
+                                CharLowerRightCorner, // '+',
                                 1,
                                 coPos,
                                 &Written);
@@ -375,21 +375,21 @@ PopupError(PCCH Text,
         coPos.Y = yTop + Height - 3;
         coPos.X = xLeft;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xC3, // '+',
+                                    CharVertLineAndRightHorizLine, // '+',
                                     1,
                                     coPos,
                                     &Written);
 
         coPos.X = xLeft + 1;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xC4, // '-',
+                                    CharHorizontalLine, // '-',
                                     Width - 2,
                                     coPos,
                                     &Written);
 
         coPos.X = xLeft + Width - 1;
         FillConsoleOutputCharacterA(StdOutput,
-                                    0xB4, // '+',
+                                    CharLeftHorizLineAndVertLine, // '+',
                                     1,
                                     coPos,
                                     &Written);
@@ -663,6 +663,12 @@ LanguagePage(PINPUT_RECORD Ir)
                 /* Load the font */
                 SetConsoleCodePage();
 
+                /* Redraw the list */
+                DrawGenericList(&ListUi,
+                                2, 18,
+                                xScreen - 3,
+                                yScreen - 3);
+
                 /* Redraw language selection page in native language */
                 MUIDisplayPage(LANGUAGE_PAGE);
             }
diff --git a/media/vgafonts/28606-8x8.bin b/media/vgafonts/28606-8x8.bin
index 5ca8b873088..a9d387e9486 100644
Binary files a/media/vgafonts/28606-8x8.bin and b/media/vgafonts/28606-8x8.bin 
differ

Reply via email to