diff --git a/reactos/base/setup/usetup/interface/consup.c b/reactos/base/setup/usetup/interface/consup.c index 0dbf4d01152..925a94225c6 100644 --- a/reactos/base/setup/usetup/interface/consup.c +++ b/reactos/base/setup/usetup/interface/consup.c @@ -520,13 +520,4 @@ CONSOLE_PrintTextXYN( } } -VOID -CONSOLE_SetFont( - IN ULONG LangId) -{ - // It should look up what codepage should be used - // but for now we just pass the lang id there - SetConsoleOutputCP((UINT)LangId); -} - /* EOF */ diff --git a/reactos/base/setup/usetup/interface/consup.h b/reactos/base/setup/usetup/interface/consup.h index 8745e7c0e44..3fbfe9cf346 100644 --- a/reactos/base/setup/usetup/interface/consup.h +++ b/reactos/base/setup/usetup/interface/consup.h @@ -93,10 +93,6 @@ CONSOLE_PrintTextXYN( IN SHORT len, IN LPCSTR fmt, ...); -VOID -CONSOLE_SetFont( - IN ULONG LangId); - VOID CONSOLE_SetCursorType( IN BOOL bInsert, diff --git a/reactos/base/setup/usetup/interface/usetup.c b/reactos/base/setup/usetup/interface/usetup.c index 8ba45f997a4..d5453c3c2a7 100644 --- a/reactos/base/setup/usetup/interface/usetup.c +++ b/reactos/base/setup/usetup/interface/usetup.c @@ -597,8 +597,6 @@ UpdateKBLayout(VOID) static PAGE_NUMBER LanguagePage(PINPUT_RECORD Ir) { - DWORD LangId; - /* Initialize the computer settings list */ if (LanguageList == NULL) { @@ -657,8 +655,7 @@ LanguagePage(PINPUT_RECORD Ir) } // Load the font - LangId = wcstoul(SelectedLanguageId, NULL, 16); - CONSOLE_SetFont(LangId); + SetConsoleCodePage(); return INTRO_PAGE; } diff --git a/reactos/base/setup/usetup/lang/de-DE.h b/reactos/base/setup/usetup/lang/de-DE.h index e3d1b2a1e3c..89de3c24c0f 100644 --- a/reactos/base/setup/usetup/lang/de-DE.h +++ b/reactos/base/setup/usetup/lang/de-DE.h @@ -18,19 +18,19 @@ static MUI_ENTRY deDELanguagePageEntries[] = { 8, 10, - "\x07 Bitte waehlen Sie die Sprache, die Sie waehrend des Setups verwenden wollen.", + "\x07 Bitte w„hlen Sie die Sprache, die Sie w„hrend des Setups verwenden wollen.", TEXT_NORMAL }, { 8, 11, - " Dann druecken Sie ENTER.", + " Dann drcken Sie ENTER.", TEXT_NORMAL }, { 8, 13, - "\x07 Diese Sprache wird spaeter als Standardsprache im System verwendet.", + "\x07 Diese Sprache wird sp„ter als Standardsprache im System verwendet.", TEXT_NORMAL }, { @@ -76,31 +76,31 @@ static MUI_ENTRY deDEWelcomePageEntries[] = { 8, 15, - "\x07 Druecken Sie ENTER, um ReactOS zu installieren.", + "\x07 Drcken Sie ENTER, um ReactOS zu installieren.", TEXT_NORMAL }, { 8, 17, - "\x07 Druecken Sie R, um ReactOS zu reparieren.", + "\x07 Drcken Sie R, um ReactOS zu reparieren.", TEXT_NORMAL }, { 8, 19, - "\x07 Druecken Sie L, um die Lizenzabkommen von ReactOS zu lesen.", + "\x07 Drcken Sie L, um die Lizenzabkommen von ReactOS zu lesen.", TEXT_NORMAL }, { 8, 21, - "\x07 Druecken Sie F3, um das Setup zu beenden.", + "\x07 Drcken Sie F3, um das Setup zu beenden.", TEXT_NORMAL }, { 6, 23, - "Fuer weitere Informationen, besuchen Sie bitte:", + "Fr weitere Informationen, besuchen Sie bitte:", TEXT_NORMAL }, { @@ -140,31 +140,31 @@ static MUI_ENTRY deDEIntroPageEntries[] = { 6, 8, - "Das ReactOS Setup ist noch in einer fruehen Entwicklungsphase. Es unter-", + "Das ReactOS Setup ist noch in einer frhen Entwicklungsphase. Es unter-", TEXT_NORMAL }, { 6, 9, - "stuetzt noch nicht alle Funktionen eines vollstaendig nutzbaren Setups.", + "sttzt noch nicht alle Funktionen eines vollst„ndig nutzbaren Setups.", TEXT_NORMAL }, { 6, 12, - "Es gibt folgende Beschraenkungen:", + "Es gibt folgende Beschr„nkungen:", TEXT_NORMAL }, { 8, 13, - "- Setup kann nur eine primaere Partition auf einer HDD verwalten.", + "- Setup kann nur eine prim„re Partition auf einer HDD verwalten.", TEXT_NORMAL }, { 8, 14, - "- Setup kann keine primaere Partition von einer HDD loeschen", + "- Setup kann keine prim„re Partition von einer HDD l”schen", TEXT_NORMAL }, { @@ -176,7 +176,7 @@ static MUI_ENTRY deDEIntroPageEntries[] = { 8, 16, - "- Setup kann die erste erweiterte Partition nicht von der HDD loeschen", + "- Setup kann die erste erweiterte Partition nicht von der HDD l”schen", TEXT_NORMAL }, { @@ -188,25 +188,25 @@ static MUI_ENTRY deDEIntroPageEntries[] = { 8, 18, - "- Setup unterstuetzt nur FAT Dateisysteme.", + "- Setup untersttzt nur FAT Dateisysteme.", TEXT_NORMAL }, { 8, 19, - "- Dateisystemueberpruefung ist noch nicht implementiert.", + "- Dateisystemberprfung ist noch nicht implementiert.", TEXT_NORMAL }, { 8, 23, - "\x07 Druecken Sie ENTER, um ReactOS zu installieren.", + "\x07 Drcken Sie ENTER, um ReactOS zu installieren.", TEXT_NORMAL }, { 8, 25, - "\x07 Druecken Sie F3, um das Setup zu beenden.", + "\x07 Drcken Sie F3, um das Setup zu beenden.", TEXT_NORMAL }, { @@ -336,7 +336,7 @@ static MUI_ENTRY deDELicensePageEntries[] = { 0, 0, - " ENTER = Zurueck", + " ENTER = Zurck", TEXT_STATUS }, { @@ -358,7 +358,7 @@ static MUI_ENTRY deDEDevicePageEntries[] = { 6, 8, - "Die untere Liste zeigt die derzeitigen Geraeteeinstellungen.", + "Die untere Liste zeigt die derzeitigen Ger„teeinstellungen.", TEXT_NORMAL }, { @@ -393,19 +393,19 @@ static MUI_ENTRY deDEDevicePageEntries[] = }, { 25, - 16, "Diese Geraeteeinstellungen akzeptieren", + 16, "Diese Ger„teeinstellungen akzeptieren", TEXT_NORMAL }, { 6, 19, - "Sie koennen die Einstellungen durch die Pfeiltasten auswaehlen.", + "Sie k”nnen die Einstellungen durch die Pfeiltasten ausw„hlen.", TEXT_NORMAL }, { 6, 20, - "Dann druecken Sie die Eingabetaste, um eine Einstellung abzuaendern.", + "Dann drcken Sie die Eingabetaste, um eine Einstellung abzu„ndern.", TEXT_NORMAL }, { @@ -417,13 +417,13 @@ static MUI_ENTRY deDEDevicePageEntries[] = { 6, 23, - "Wenn alle Einstellungen korrekt sind, waehlen Sie \"Diese Geraete-", + "Wenn alle Einstellungen korrekt sind, w„hlen Sie \"Diese Ger„te-", TEXT_NORMAL }, { 6, 24, - "einstellungen akzeptieren\" und druecken danach die Eingabetaste.", + "einstellungen akzeptieren\" und drcken danach die Eingabetaste.", TEXT_NORMAL }, { @@ -451,13 +451,13 @@ static MUI_ENTRY deDERepairPageEntries[] = { 6, 8, - "Das ReactOS Setup ist noch in einer fruehen Entwicklungsphase. Es unter-", + "Das ReactOS Setup ist noch in einer frhen Entwicklungsphase. Es unter-", TEXT_NORMAL }, { 6, 9, - "stuetzt noch nicht alle Funktionen eines vollstaendig nutzbaren Setups.", + "sttzt noch nicht alle Funktionen eines vollst„ndig nutzbaren Setups.", TEXT_NORMAL }, { @@ -469,25 +469,25 @@ static MUI_ENTRY deDERepairPageEntries[] = { 8, 15, - "\x07 Druecken Sie U, um ReactOS zu aktualisieren.", + "\x07 Drcken Sie U, um ReactOS zu aktualisieren.", TEXT_NORMAL }, { 8, 17, - "\x07 Druecken Sie R, fuer die Wiederherstellungskonsole.", + "\x07 Drcken Sie R, fr die Wiederherstellungskonsole.", TEXT_NORMAL }, { 8, 19, - "\x07 Druecken Sie ESC, um zur Hauptseite zurueckzukehren.", + "\x07 Drcken Sie ESC, um zur Hauptseite zurckzukehren.", TEXT_NORMAL }, { 8, 21, - "\x07 Druecken Sie ENTER, um den Computer neuzustarten.", + "\x07 Drcken Sie ENTER, um den Computer neuzustarten.", TEXT_NORMAL }, { @@ -514,31 +514,31 @@ static MUI_ENTRY deDEComputerPageEntries[] = { 6, 8, - "Sie wollen den Computertyp aendern, der installiert wird.", + "Sie wollen den Computertyp „ndern, der installiert wird.", TEXT_NORMAL }, { 8, 10, - "\x07 Druecken Sie die HOCH- oder RUNTER-Taste, um den gewuenschten", + "\x07 Drcken Sie die HOCH- oder RUNTER-Taste, um den gewnschten", TEXT_NORMAL }, { 8, 11, - " Typ zu waehlen. Dann druecken Sie ENTER.", + " Typ zu w„hlen. Dann drcken Sie ENTER.", TEXT_NORMAL }, { 8, 13, - "\x07 Druecken Sie ESC, um zur vorherigen Seite zurueckzukehren,", + "\x07 Drcken Sie ESC, um zur vorherigen Seite zurckzukehren,", TEXT_NORMAL }, { 8, 14, - " ohne den Computertyp zu aendern.", + " ohne den Computertyp zu „ndern.", TEXT_NORMAL }, { @@ -606,7 +606,7 @@ static MUI_ENTRY deDEQuitPageEntries[] = { 10, 6, - "ReactOS wurde nicht vollstaendig installiert", + "ReactOS wurde nicht vollst„ndig installiert", TEXT_NORMAL }, { @@ -624,7 +624,7 @@ static MUI_ENTRY deDEQuitPageEntries[] = { 10, 11, - "Druecken Sie ENTER, um den Computer neuzustarten.", + "Drcken Sie ENTER, um den Computer neuzustarten.", TEXT_NORMAL }, { @@ -652,30 +652,30 @@ static MUI_ENTRY deDEDisplayPageEntries[] = { 6, 8, - "Sie wollen den Bildschirmtyp aendern, der installiert wird.", + "Sie wollen den Bildschirmtyp „ndern, der installiert wird.", TEXT_NORMAL }, { 8, 10, - "\x07 Druecken Sie die HOCH- oder RUNTER-Taste, um den gewuenschten", + "\x07 Drcken Sie die HOCH- oder RUNTER-Taste, um den gewnschten", TEXT_NORMAL }, { 8, 11, - " Typ zu waehlen. Dann druecken Sie ENTER.", + " Typ zu w„hlen. Dann drcken Sie ENTER.", TEXT_NORMAL }, { 8, 13, - "\x07 Druecken Sie ESC, um zur vorherigen Seite zurueckzukehren, ohne", + "\x07 Drcken Sie ESC, um zur vorherigen Seite zurckzukehren, ohne", TEXT_NORMAL }, { 8, 14, - " den Bildschirmtyp zu aendern.", + " den Bildschirmtyp zu „ndern.", TEXT_NORMAL }, { @@ -721,7 +721,7 @@ static MUI_ENTRY deDESuccessPageEntries[] = { 10, 11, - "Druecken Sie ENTER, um den Computer neuzustarten.", + "Drcken Sie ENTER, um den Computer neuzustarten.", TEXT_NORMAL }, { @@ -767,7 +767,7 @@ static MUI_ENTRY deDEBootPageEntries[] = { 6, 14, - "druecken Sie ENTER.", + "drcken Sie ENTER.", TEXT_NORMAL, }, { @@ -802,31 +802,31 @@ static MUI_ENTRY deDESelectPartitionEntries[] = { 6, 9, - "Speicherplatz fuer neue Partitionen.", + "Speicherplatz fr neue Partitionen.", TEXT_NORMAL }, { 8, 11, - "\x07 Druecken Sie die Pfeiltasten, um eine Partition auszuwaehlen.", + "\x07 Drcken Sie die Pfeiltasten, um eine Partition auszuw„hlen.", TEXT_NORMAL }, { 8, 13, - "\x07 Druecken Sie die Eingabetaste, um die Auswahl zu bestaetigen.", + "\x07 Drcken Sie die Eingabetaste, um die Auswahl zu best„tigen.", TEXT_NORMAL }, { 8, 15, - "\x07 Druecken Sie C, um eine neue Partition zu erstellen.", + "\x07 Drcken Sie C, um eine neue Partition zu erstellen.", TEXT_NORMAL }, { 8, 17, - "\x07 Druecken Sie D, um eine vorhandene Partition zu loeschen.", + "\x07 Drcken Sie D, um eine vorhandene Partition zu l”schen.", TEXT_NORMAL }, { @@ -860,13 +860,13 @@ static MUI_ENTRY deDEFormatPartitionEntries[] = { 6, 10, - "Setup wird nun die gewuenschte Partition formatieren.", + "Setup wird nun die gewnschte Partition formatieren.", TEXT_NORMAL }, { 6, 11, - "Druecken Sie die Eingabetaste, um fortzufahren.", + "Drcken Sie die Eingabetaste, um fortzufahren.", TEXT_NORMAL }, { @@ -894,25 +894,25 @@ static MUI_ENTRY deDEInstallDirectoryEntries[] = { 6, 8, - "Setup installiert die ReactOS Installationsdateien in die ausgewaehlte", + "Setup installiert die ReactOS Installationsdateien in die ausgew„hlte", TEXT_NORMAL }, { 6, 9, - "Partition. Waehlen Sie ein Installationsverzeichnis fuer ReactOS:", + "Partition. W„hlen Sie ein Installationsverzeichnis fr ReactOS:", TEXT_NORMAL }, { 6, 14, - "Um den Vorschlag zu aendern druecken sie die 'Entf' Taste um", + "Um den Vorschlag zu „ndern drcken sie die 'Entf' Taste um", TEXT_NORMAL }, { 6, 15, - "Zeichen zu loeschen und gegeben sie dann den Namen des Verzeichnis ein", + "Zeichen zu l”schen und gegeben sie dann den Namen des Verzeichnis ein", TEXT_NORMAL }, { @@ -940,7 +940,7 @@ static MUI_ENTRY deDEFileCopyEntries[] = { 11, 12, - "Bitte warten Sie waehrend ReactOS Setup die ReactOS Dateien", + "Bitte warten Sie w„hrend ReactOS Setup die ReactOS Dateien", TEXT_NORMAL }, { @@ -1026,31 +1026,31 @@ static MUI_ENTRY deDEKeyboardSettingsEntries[] = { 6, 8, - "Sie wollen den Tastaturtyp aendern, der installiert wird.", + "Sie wollen den Tastaturtyp „ndern, der installiert wird.", TEXT_NORMAL }, { 8, 10, - "\x07 Druecken Sie die HOCH- oder RUNTER-Taste, um den gewuenschten", + "\x07 Drcken Sie die HOCH- oder RUNTER-Taste, um den gewnschten", TEXT_NORMAL }, { 8, 11, - " Typ zu waehlen. Dann druecken Sie ENTER.", + " Typ zu w„hlen. Dann drcken Sie ENTER.", TEXT_NORMAL }, { 8, 13, - "\x07 Druecken Sie ESC, um zur vorherigen Seite zurueckzukehren,", + "\x07 Drcken Sie ESC, um zur vorherigen Seite zurckzukehren,", TEXT_NORMAL }, { 8, 14, - " ohne den Tastaturtyp zu aendern.", + " ohne den Tastaturtyp zu „ndern.", TEXT_NORMAL }, { @@ -1078,31 +1078,31 @@ static MUI_ENTRY deDELayoutSettingsEntries[] = { 6, 8, - "Sie wollen das Tastaturlayout aendern, der installiert wird.", + "Sie wollen das Tastaturlayout „ndern, der installiert wird.", TEXT_NORMAL }, { 8, 10, - "\x07 Druecken Sie die HOCH- oder RUNTER-Taste, um den gewuenschten", + "\x07 Drcken Sie die HOCH- oder RUNTER-Taste, um den gewnschten", TEXT_NORMAL }, { 8, 11, - " Typ zu waehlen. Dann druecken Sie ENTER.", + " Typ zu w„hlen. Dann drcken Sie ENTER.", TEXT_NORMAL }, { 8, 13, - "\x07 Druecken Sie ESC, um zur vorherigen Seite zurueckzukehren,", + "\x07 Drcken Sie ESC, um zur vorherigen Seite zurckzukehren,", TEXT_NORMAL }, { 8, 14, - " ohne das Tastaturlayout zu aendern.", + " ohne das Tastaturlayout zu „ndern.", TEXT_NORMAL }, { @@ -1131,7 +1131,7 @@ static MUI_ENTRY deDEPrepareCopyEntries[] = { 6, 8, - "Setup bereitet ihren Computer fuer die Installation vor.", + "Setup bereitet ihren Computer fr die Installation vor.", TEXT_NORMAL }, { @@ -1160,25 +1160,25 @@ static MUI_ENTRY deDESelectFSEntries[] = { 6, 17, - "Waehlen Sie ein Dateisystem von der folgenden Liste.", + "W„hlen Sie ein Dateisystem von der folgenden Liste.", 0 }, { 8, 19, - "\x07 Druecken Sie die Pfeiltasten, um das Dateisystem zu aendern.", + "\x07 Drcken Sie die Pfeiltasten, um das Dateisystem zu „ndern.", 0 }, { 8, 21, - "\x07 Druecken Sie die Eingabetaste, um die Partition zu formatieren.", + "\x07 Drcken Sie die Eingabetaste, um die Partition zu formatieren.", 0 }, { 8, 23, - "\x07 Druecken Sie ESC, um eine andere Partition auszuwaehlen.", + "\x07 Drcken Sie ESC, um eine andere Partition auszuw„hlen.", 0 }, { @@ -1207,19 +1207,19 @@ static MUI_ENTRY deDEDeletePartitionEntries[] = { 6, 8, - "Sie haben sich entschieden diese Partition zu loeschen", + "Sie haben sich entschieden diese Partition zu l”schen", TEXT_NORMAL }, { 8, 18, - "\x07 Druecken Sie D, um die Partition zu loeschen.", + "\x07 Drcken Sie D, um die Partition zu l”schen.", TEXT_NORMAL }, { 11, 19, - "Warnung: Alle Daten auf dieser Partition werden geloescht!", + "Warnung: Alle Daten auf dieser Partition werden gel”scht!", TEXT_NORMAL }, { @@ -1231,7 +1231,7 @@ static MUI_ENTRY deDEDeletePartitionEntries[] = { 0, 0, - " D = Loesche Partition ESC = Abbrechen F3 = Beenden", + " D = L”sche Partition ESC = Abbrechen F3 = Beenden", TEXT_STATUS }, { @@ -1275,12 +1275,12 @@ MUI_ERROR deDEErrorEntries[] = { { //ERROR_NOT_INSTALLED - "ReactOS ist nicht vollstaendig auf Ihrem System installiert.\n" - "Wenn Sie das Setup jetzt beenden, muessen Sie das\n" + "ReactOS ist nicht vollst„ndig auf Ihrem System installiert.\n" + "Wenn Sie das Setup jetzt beenden, mssen Sie das\n" "Setup erneut starten, um ROS zu installieren.\n" "\n" - " \x07 Druecken Sie ENTER um das Setup Fortzusetzen.\n" - " \x07 Druecken Sie F3 um das Setup zu beenden.", + " \x07 Drcken Sie ENTER um das Setup Fortzusetzen.\n" + " \x07 Drcken Sie F3 um das Setup zu beenden.", "F3 = Beenden ENTER = Fortsetzen" }, { @@ -1305,7 +1305,7 @@ MUI_ERROR deDEErrorEntries[] = }, { //ERROR_SIGNATURE_TXTSETUPSIF, - "Setup fand eine ungueltige Signatur in TXTSETUP.SIF.\n", + "Setup fand eine ungltige Signatur in TXTSETUP.SIF.\n", "ENTER = Computer neustarten" }, { @@ -1341,27 +1341,27 @@ MUI_ERROR deDEErrorEntries[] = { //ERROR_WARN_PARTITION, "Setup hat mindestens eine Festplatte mit einer inkompatiblen Partitionstabelle\n" - "welche nicht richtig verwendet werden koennen!\n" + "welche nicht richtig verwendet werden k”nnen!\n" "\n" - "Partitionen zu erstellen/loeschen kann die Partitionstabelle zerstoeren.\n" + "Partitionen zu erstellen/l”schen kann die Partitionstabelle zerst”ren.\n" "\n" - " \x07 Druecken Sie F3, um das Setup zu beenden." - " \x07 Druecken Sie ENTER, um das Setup Fortzusetzen.", + " \x07 Drcken Sie F3, um das Setup zu beenden." + " \x07 Drcken Sie ENTER, um das Setup Fortzusetzen.", "F3 = Beenden ENTER = Fortsetzen" }, { //ERROR_NEW_PARTITION, - "Sie koennen keine neue Partition in einer bereits\n" + "Sie k”nnen keine neue Partition in einer bereits\n" "vohandenen Partition erstellen!\n" "\n" - " * * Eine beliebige Taste zum Fortsetzen druecken.", + " * * Eine beliebige Taste zum Fortsetzen drcken.", NULL }, { //ERROR_DELETE_SPACE, - "Sie koennen unpartitionieren Speicher nicht loeschen!\n" + "Sie k”nnen unpartitionieren Speicher nicht l”schen!\n" "\n" - " * Eine beliebige Taste zum Fortsetzen druecken.", + " * Eine beliebige Taste zum Fortsetzen drcken.", NULL }, { @@ -1406,7 +1406,7 @@ MUI_ERROR deDEErrorEntries[] = }, { //ERROR_INVALID_CABINET_INF, - "Cabinet hat keine gueltige .inf Datei.\n", + "Cabinet hat keine gltige .inf Datei.\n", "ENTER = Computer neustarten" }, { @@ -1416,7 +1416,7 @@ MUI_ERROR deDEErrorEntries[] = }, { //ERROR_CABINET_SCRIPT, - "Cabinet enthält kein Setup Skript.\n", + "Cabinet enth„lt kein Setup Skript.\n", "ENTER = Computer neustarten" }, { @@ -1459,7 +1459,7 @@ MUI_ERROR deDEErrorEntries[] = }, { //ERROR_ADDING_CODEPAGE, - "Setup konnte den CodePage-Eintrag nicht hinzufuegen.\n" + "Setup konnte den CodePage-Eintrag nicht hinzufgen.\n" "ENTER = Computer neustarten" }, { diff --git a/reactos/base/setup/usetup/mui.c b/reactos/base/setup/usetup/mui.c index ecea6627b58..02e77fc2357 100644 --- a/reactos/base/setup/usetup/mui.c +++ b/reactos/base/setup/usetup/mui.c @@ -568,4 +568,24 @@ AddCodePage(VOID) return FALSE; } +VOID +SetConsoleCodePage(VOID) +{ + ULONG lngIndex = 0; + UINT wCodePage; + + do + { + if (_wcsicmp(LanguageList[lngIndex].LanguageID , SelectedLanguageId) == 0) + { + wCodePage = (UINT) wcstoul(LanguageList[lngIndex].OEMCPage, NULL, 10); + SetConsoleOutputCP(wCodePage); + return; + } + + lngIndex++; + } + while (LanguageList[lngIndex].MuiPages != NULL); +} + /* EOF */ diff --git a/reactos/base/setup/usetup/mui.h b/reactos/base/setup/usetup/mui.h index 0a1e3e8968e..d92054906dd 100644 --- a/reactos/base/setup/usetup/mui.h +++ b/reactos/base/setup/usetup/mui.h @@ -56,5 +56,7 @@ MUIDefaultKeyboardLayout(VOID); BOOLEAN AddCodePage(VOID); +VOID +SetConsoleCodePage(VOID); #endif diff --git a/reactos/drivers/setup/blue/blue.c b/reactos/drivers/setup/blue/blue.c index fccb05f8735..a343e9c3b6e 100644 --- a/reactos/drivers/setup/blue/blue.c +++ b/reactos/drivers/setup/blue/blue.c @@ -726,15 +726,10 @@ ScrIoControl(PDEVICE_OBJECT DeviceObject, case IOCTL_CONSOLE_LOADFONT: { - ULONG LangId = (ULONG)*(PULONG)Irp->AssociatedIrp.SystemBuffer; + UINT CodePage = (UINT)*(PULONG)Irp->AssociatedIrp.SystemBuffer; - // Upload the cyrillic font into the fontgenerator, if needed - if (LangId == MAKELANGID(LANG_BULGARIAN, SUBLANG_DEFAULT) || - LangId == MAKELANGID(LANG_RUSSIAN, SUBLANG_DEFAULT) || - LangId == MAKELANGID(LANG_UKRAINIAN, SUBLANG_DEFAULT)) - { - ScrLoadFontTable(); - } + // Upload a font for the codepage if needed + ScrLoadFontTable(CodePage); Irp->IoStatus.Information = 0; Status = STATUS_SUCCESS; diff --git a/reactos/drivers/setup/blue/blue.h b/reactos/drivers/setup/blue/blue.h index c6ec8cd81ca..f8cc09dd3ea 100644 --- a/reactos/drivers/setup/blue/blue.h +++ b/reactos/drivers/setup/blue/blue.h @@ -58,4 +58,4 @@ #define PELINDEX (PUCHAR)0x3c8 #define PELDATA (PUCHAR)0x3c9 -VOID ScrLoadFontTable(); +void ScrLoadFontTable(UINT CodePage); diff --git a/reactos/drivers/setup/blue/font.c b/reactos/drivers/setup/blue/font.c index 339dbd472bc..0bd4c7edab1 100644 --- a/reactos/drivers/setup/blue/font.c +++ b/reactos/drivers/setup/blue/font.c @@ -4,6 +4,7 @@ * FILE: drivers/setup/blue/font.c * PURPOSE: Loading specific fonts into VGA * PROGRAMMERS: Aleksey Bragin (aleksey@reactos.org) +* Colin Finck (mail@colinfinck.de) */ /* INCLUDES ***************************************************************/ @@ -16,17 +17,19 @@ VOID OpenBitPlane(); VOID CloseBitPlane(); -VOID LoadFont(PBYTE Bitplane); +VOID LoadFont(PBYTE Bitplane, PUCHAR FontBitfield); -static UCHAR font8x8[2048]; +static UCHAR Cp850Font[2048]; +static UCHAR Cp866Font[2048]; /* FUNCTIONS ****************************************************************/ VOID -ScrLoadFontTable() +ScrLoadFontTable(UINT CodePage) { PHYSICAL_ADDRESS BaseAddress; PBYTE Bitplane; + PUCHAR FontBitfield = NULL; /* open bit plane for font table access */ OpenBitPlane(); @@ -35,7 +38,14 @@ ScrLoadFontTable() BaseAddress.QuadPart = BITPLANE_BASE; Bitplane = (PBYTE)MmMapIoSpace (BaseAddress, 0xFFFF, MmNonCached); - LoadFont(Bitplane); + switch(CodePage) + { + case 850: FontBitfield = Cp850Font; break; + case 866: FontBitfield = Cp866Font; break; + } + + if(FontBitfield) + LoadFont(Bitplane, FontBitfield); MmUnmapIoSpace(Bitplane, 0xFFFF); @@ -89,7 +99,7 @@ CloseBitPlane() } VOID -LoadFont(PBYTE Bitplane) +LoadFont(PBYTE Bitplane, PUCHAR FontBitfield) { UINT i,j; @@ -97,7 +107,7 @@ LoadFont(PBYTE Bitplane) { for (j=0; j<8; j++) { - *Bitplane = font8x8[i*8+j]; + *Bitplane = FontBitfield[i*8+j]; Bitplane++; } @@ -110,9 +120,269 @@ LoadFont(PBYTE Bitplane) } } +/* This font has been imported from DragonFlyBSD / FreeBSD + Original URL is: http://opengrok.creo.hu/dragonfly/xref/src/share/syscons/fonts/ (2008/01/21) */ +static UCHAR Cp850Font[2048] = { +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x7E,0x81,0xA5,0x81,0xBD,0x99,0x81,0x7E, +0x7E,0xFF,0xDB,0xFF,0xC3,0xE7,0xFF,0x7E, +0x6C,0xFE,0xFE,0xFE,0x7C,0x38,0x10,0x00, +0x10,0x38,0x7C,0xFE,0x7C,0x38,0x10,0x00, +0x38,0x7C,0x38,0xFE,0xFE,0xD6,0x10,0x38, +0x10,0x38,0x7C,0xFE,0xFE,0x7C,0x10,0x38, +0x00,0x00,0x18,0x3C,0x3C,0x18,0x00,0x00, +0xFF,0xFF,0xE7,0xC3,0xC3,0xE7,0xFF,0xFF, +0x00,0x3C,0x66,0x42,0x42,0x66,0x3C,0x00, +0xFF,0xC3,0x99,0xBD,0xBD,0x99,0xC3,0xFF, +0x0F,0x07,0x0F,0x7D,0xCC,0xCC,0xCC,0x78, +0x3C,0x66,0x66,0x66,0x3C,0x18,0x7E,0x18, +0x3F,0x33,0x3F,0x30,0x30,0x70,0xF0,0xE0, +0x7F,0x63,0x7F,0x63,0x63,0x67,0xE6,0xC0, +0x18,0xDB,0x3C,0xE7,0xE7,0x3C,0xDB,0x18, +0x80,0xE0,0xF8,0xFE,0xF8,0xE0,0x80,0x00, +0x02,0x0E,0x3E,0xFE,0x3E,0x0E,0x02,0x00, +0x18,0x3C,0x7E,0x18,0x18,0x7E,0x3C,0x18, +0x66,0x66,0x66,0x66,0x66,0x00,0x66,0x00, +0x7F,0xDB,0xDB,0x7B,0x1B,0x1B,0x1B,0x00, +0x3E,0x61,0x3C,0x66,0x66,0x3C,0x86,0x7C, +0x00,0x00,0x00,0x00,0x7E,0x7E,0x7E,0x00, +0x18,0x3C,0x7E,0x18,0x7E,0x3C,0x18,0xFF, +0x18,0x3C,0x7E,0x18,0x18,0x18,0x18,0x00, +0x18,0x18,0x18,0x18,0x7E,0x3C,0x18,0x00, +0x00,0x18,0x0C,0xFE,0x0C,0x18,0x00,0x00, +0x00,0x30,0x60,0xFE,0x60,0x30,0x00,0x00, +0x00,0x00,0xC0,0xC0,0xC0,0xFE,0x00,0x00, +0x00,0x24,0x66,0xFF,0x66,0x24,0x00,0x00, +0x00,0x18,0x3C,0x7E,0xFF,0xFF,0x00,0x00, +0x00,0xFF,0xFF,0x7E,0x3C,0x18,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x18,0x3C,0x3C,0x18,0x18,0x00,0x18,0x00, +0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00, +0x6C,0x6C,0xFE,0x6C,0xFE,0x6C,0x6C,0x00, +0x18,0x3E,0x60,0x3C,0x06,0x7C,0x18,0x00, +0x00,0xC6,0xCC,0x18,0x30,0x66,0xC6,0x00, +0x38,0x6C,0x38,0x76,0xDC,0xCC,0x76,0x00, +0x18,0x18,0x30,0x00,0x00,0x00,0x00,0x00, +0x0C,0x18,0x30,0x30,0x30,0x18,0x0C,0x00, +0x30,0x18,0x0C,0x0C,0x0C,0x18,0x30,0x00, +0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00, +0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x30, +0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00, +0x06,0x0C,0x18,0x30,0x60,0xC0,0x80,0x00, +0x38,0x6C,0xC6,0xD6,0xC6,0x6C,0x38,0x00, +0x18,0x38,0x18,0x18,0x18,0x18,0x7E,0x00, +0x7C,0xC6,0x06,0x1C,0x30,0x66,0xFE,0x00, +0x7C,0xC6,0x06,0x3C,0x06,0xC6,0x7C,0x00, +0x1C,0x3C,0x6C,0xCC,0xFE,0x0C,0x1E,0x00, +0xFE,0xC0,0xC0,0xFC,0x06,0xC6,0x7C,0x00, +0x38,0x60,0xC0,0xFC,0xC6,0xC6,0x7C,0x00, +0xFE,0xC6,0x0C,0x18,0x30,0x30,0x30,0x00, +0x7C,0xC6,0xC6,0x7C,0xC6,0xC6,0x7C,0x00, +0x7C,0xC6,0xC6,0x7E,0x06,0x0C,0x78,0x00, +0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00, +0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x30, +0x06,0x0C,0x18,0x30,0x18,0x0C,0x06,0x00, +0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00, +0x60,0x30,0x18,0x0C,0x18,0x30,0x60,0x00, +0x7C,0xC6,0x0C,0x18,0x18,0x00,0x18,0x00, +0x7C,0xC6,0xDE,0xDE,0xDE,0xC0,0x78,0x00, +0x38,0x6C,0xC6,0xFE,0xC6,0xC6,0xC6,0x00, +0xFC,0x66,0x66,0x7C,0x66,0x66,0xFC,0x00, +0x3C,0x66,0xC0,0xC0,0xC0,0x66,0x3C,0x00, +0xF8,0x6C,0x66,0x66,0x66,0x6C,0xF8,0x00, +0xFE,0x62,0x68,0x78,0x68,0x62,0xFE,0x00, +0xFE,0x62,0x68,0x78,0x68,0x60,0xF0,0x00, +0x3C,0x66,0xC0,0xC0,0xCE,0x66,0x3A,0x00, +0xC6,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0x00, +0x3C,0x18,0x18,0x18,0x18,0x18,0x3C,0x00, +0x1E,0x0C,0x0C,0x0C,0xCC,0xCC,0x78,0x00, +0xE6,0x66,0x6C,0x78,0x6C,0x66,0xE6,0x00, +0xF0,0x60,0x60,0x60,0x62,0x66,0xFE,0x00, +0xC6,0xEE,0xFE,0xFE,0xD6,0xC6,0xC6,0x00, +0xC6,0xE6,0xF6,0xDE,0xCE,0xC6,0xC6,0x00, +0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00, +0xFC,0x66,0x66,0x7C,0x60,0x60,0xF0,0x00, +0x7C,0xC6,0xC6,0xC6,0xC6,0xCE,0x7C,0x0E, +0xFC,0x66,0x66,0x7C,0x6C,0x66,0xE6,0x00, +0x3C,0x66,0x30,0x18,0x0C,0x66,0x3C,0x00, +0x7E,0x7E,0x5A,0x18,0x18,0x18,0x3C,0x00, +0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00, +0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x00, +0xC6,0xC6,0xC6,0xD6,0xD6,0xFE,0x6C,0x00, +0xC6,0xC6,0x6C,0x38,0x6C,0xC6,0xC6,0x00, +0x66,0x66,0x66,0x3C,0x18,0x18,0x3C,0x00, +0xFE,0xC6,0x8C,0x18,0x32,0x66,0xFE,0x00, +0x3C,0x30,0x30,0x30,0x30,0x30,0x3C,0x00, +0xC0,0x60,0x30,0x18,0x0C,0x06,0x02,0x00, +0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00, +0x10,0x38,0x6C,0xC6,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, +0x30,0x18,0x0C,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x78,0x0C,0x7C,0xCC,0x76,0x00, +0xE0,0x60,0x7C,0x66,0x66,0x66,0xDC,0x00, +0x00,0x00,0x7C,0xC6,0xC0,0xC6,0x7C,0x00, +0x1C,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00, +0x00,0x00,0x7C,0xC6,0xFE,0xC0,0x7C,0x00, +0x3C,0x66,0x60,0xF8,0x60,0x60,0xF0,0x00, +0x00,0x00,0x76,0xCC,0xCC,0x7C,0x0C,0xF8, +0xE0,0x60,0x6C,0x76,0x66,0x66,0xE6,0x00, +0x18,0x00,0x38,0x18,0x18,0x18,0x3C,0x00, +0x06,0x00,0x06,0x06,0x06,0x66,0x66,0x3C, +0xE0,0x60,0x66,0x6C,0x78,0x6C,0xE6,0x00, +0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00, +0x00,0x00,0xEC,0xFE,0xD6,0xD6,0xD6,0x00, +0x00,0x00,0xDC,0x66,0x66,0x66,0x66,0x00, +0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7C,0x00, +0x00,0x00,0xDC,0x66,0x66,0x7C,0x60,0xF0, +0x00,0x00,0x76,0xCC,0xCC,0x7C,0x0C,0x1E, +0x00,0x00,0xDC,0x76,0x60,0x60,0xF0,0x00, +0x00,0x00,0x7E,0xC0,0x7C,0x06,0xFC,0x00, +0x30,0x30,0xFC,0x30,0x30,0x36,0x1C,0x00, +0x00,0x00,0xCC,0xCC,0xCC,0xCC,0x76,0x00, +0x00,0x00,0xC6,0xC6,0xC6,0x6C,0x38,0x00, +0x00,0x00,0xC6,0xD6,0xD6,0xFE,0x6C,0x00, +0x00,0x00,0xC6,0x6C,0x38,0x6C,0xC6,0x00, +0x00,0x00,0xC6,0xC6,0xC6,0x7E,0x06,0xFC, +0x00,0x00,0x7E,0x4C,0x18,0x32,0x7E,0x00, +0x0E,0x18,0x18,0x70,0x18,0x18,0x0E,0x00, +0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00, +0x70,0x18,0x18,0x0E,0x18,0x18,0x70,0x00, +0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0x00, +0x7C,0xC6,0xC0,0xC0,0xC6,0x7C,0x0C,0x78, +0xCC,0x00,0xCC,0xCC,0xCC,0xCC,0x76,0x00, +0x0C,0x18,0x7C,0xC6,0xFE,0xC0,0x7C,0x00, +0x7C,0x82,0x78,0x0C,0x7C,0xCC,0x76,0x00, +0xC6,0x00,0x78,0x0C,0x7C,0xCC,0x76,0x00, +0x30,0x18,0x78,0x0C,0x7C,0xCC,0x76,0x00, +0x30,0x30,0x78,0x0C,0x7C,0xCC,0x76,0x00, +0x00,0x00,0x7E,0xC0,0xC0,0x7E,0x0C,0x38, +0x7C,0x82,0x7C,0xC6,0xFE,0xC0,0x7C,0x00, +0xC6,0x00,0x7C,0xC6,0xFE,0xC0,0x7C,0x00, +0x30,0x18,0x7C,0xC6,0xFE,0xC0,0x7C,0x00, +0x66,0x00,0x38,0x18,0x18,0x18,0x3C,0x00, +0x7C,0x82,0x38,0x18,0x18,0x18,0x3C,0x00, +0x30,0x18,0x00,0x38,0x18,0x18,0x3C,0x00, +0xC6,0x38,0x6C,0xC6,0xFE,0xC6,0xC6,0x00, +0x38,0x6C,0x7C,0xC6,0xFE,0xC6,0xC6,0x00, +0x18,0x30,0xFE,0xC0,0xF8,0xC0,0xFE,0x00, +0x00,0x00,0x7E,0x12,0xFE,0x90,0xFE,0x00, +0x3E,0x6C,0xCC,0xFE,0xCC,0xCC,0xCE,0x00, +0x7C,0x82,0x7C,0xC6,0xC6,0xC6,0x7C,0x00, +0xC6,0x00,0x7C,0xC6,0xC6,0xC6,0x7C,0x00, +0x30,0x18,0x7C,0xC6,0xC6,0xC6,0x7C,0x00, +0x78,0x84,0x00,0xCC,0xCC,0xCC,0x76,0x00, +0x60,0x30,0xCC,0xCC,0xCC,0xCC,0x76,0x00, +0xC6,0x00,0xC6,0xC6,0xC6,0x7E,0x06,0xFC, +0xC6,0x38,0x6C,0xC6,0xC6,0x6C,0x38,0x00, +0xC6,0x00,0xC6,0xC6,0xC6,0xC6,0x7C,0x00, +0x00,0x02,0x7C,0xCE,0xD6,0xE6,0x7C,0x80, +0x38,0x6C,0x64,0xF0,0x60,0x66,0xFC,0x00, +0x3A,0x6C,0xCE,0xD6,0xE6,0x6C,0xB8,0x00, +0x00,0xC6,0x6C,0x38,0x6C,0xC6,0x00,0x00, +0x0E,0x1B,0x18,0x3C,0x18,0xD8,0x70,0x00, +0x18,0x30,0x78,0x0C,0x7C,0xCC,0x76,0x00, +0x0C,0x18,0x00,0x38,0x18,0x18,0x3C,0x00, +0x0C,0x18,0x7C,0xC6,0xC6,0xC6,0x7C,0x00, +0x18,0x30,0xCC,0xCC,0xCC,0xCC,0x76,0x00, +0x76,0xDC,0x00,0xDC,0x66,0x66,0x66,0x00, +0x76,0xDC,0x00,0xE6,0xF6,0xDE,0xCE,0x00, +0x3C,0x6C,0x6C,0x3E,0x00,0x7E,0x00,0x00, +0x38,0x6C,0x6C,0x38,0x00,0x7C,0x00,0x00, +0x18,0x00,0x18,0x18,0x30,0x63,0x3E,0x00, +0x7E,0x81,0xB9,0xA5,0xB9,0xA5,0x81,0x7E, +0x00,0x00,0x00,0xFE,0x06,0x06,0x00,0x00, +0x63,0xE6,0x6C,0x7E,0x33,0x66,0xCC,0x0F, +0x63,0xE6,0x6C,0x7A,0x36,0x6A,0xDF,0x06, +0x18,0x00,0x18,0x18,0x3C,0x3C,0x18,0x00, +0x00,0x33,0x66,0xCC,0x66,0x33,0x00,0x00, +0x00,0xCC,0x66,0x33,0x66,0xCC,0x00,0x00, +0x22,0x88,0x22,0x88,0x22,0x88,0x22,0x88, +0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA, +0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD, +0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, +0x18,0x18,0x18,0x18,0xF8,0x18,0x18,0x18, +0x30,0x60,0x38,0x6C,0xC6,0xFE,0xC6,0x00, +0x7C,0x82,0x38,0x6C,0xC6,0xFE,0xC6,0x00, +0x18,0x0C,0x38,0x6C,0xC6,0xFE,0xC6,0x00, +0x7E,0x81,0x9D,0xA1,0xA1,0x9D,0x81,0x7E, +0x36,0x36,0xF6,0x06,0xF6,0x36,0x36,0x36, +0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, +0x00,0x00,0xFE,0x06,0xF6,0x36,0x36,0x36, +0x36,0x36,0xF6,0x06,0xFE,0x00,0x00,0x00, +0x18,0x18,0x7E,0xC0,0xC0,0x7E,0x18,0x18, +0x66,0x66,0x3C,0x7E,0x18,0x7E,0x18,0x18, +0x00,0x00,0x00,0x00,0xF8,0x18,0x18,0x18, +0x18,0x18,0x18,0x18,0x1F,0x00,0x00,0x00, +0x18,0x18,0x18,0x18,0xFF,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0xFF,0x18,0x18,0x18, +0x18,0x18,0x18,0x18,0x1F,0x18,0x18,0x18, +0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00, +0x18,0x18,0x18,0x18,0xFF,0x18,0x18,0x18, +0x76,0xDC,0x7C,0x06,0x7E,0xC6,0x7E,0x00, +0x76,0xDC,0x38,0x6C,0xC6,0xFE,0xC6,0x00, +0x36,0x36,0x37,0x30,0x3F,0x00,0x00,0x00, +0x00,0x00,0x3F,0x30,0x37,0x36,0x36,0x36, +0x36,0x36,0xF7,0x00,0xFF,0x00,0x00,0x00, +0x00,0x00,0xFF,0x00,0xF7,0x36,0x36,0x36, +0x36,0x36,0x37,0x30,0x37,0x36,0x36,0x36, +0x00,0x00,0xFF,0x00,0xFF,0x00,0x00,0x00, +0x36,0x36,0xF7,0x00,0xF7,0x36,0x36,0x36, +0x00,0xC6,0x7C,0xC6,0xC6,0x7C,0xC6,0x00, +0x30,0x7E,0x0C,0x7C,0xCC,0xCC,0x78,0x00, +0xF8,0x6C,0x66,0xF6,0x66,0x6C,0xF8,0x00, +0x7C,0x82,0xFE,0xC0,0xFC,0xC0,0xFE,0x00, +0xC6,0x00,0xFE,0xC0,0xFC,0xC0,0xFE,0x00, +0x30,0x18,0xFE,0xC0,0xFC,0xC0,0xFE,0x00, +0x00,0x00,0x38,0x18,0x18,0x18,0x3C,0x00, +0x0C,0x18,0x3C,0x18,0x18,0x18,0x3C,0x00, +0x3C,0x42,0x3C,0x18,0x18,0x18,0x3C,0x00, +0x66,0x00,0x3C,0x18,0x18,0x18,0x3C,0x00, +0x18,0x18,0x18,0x18,0xF8,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x1F,0x18,0x18,0x18, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF, +0x18,0x18,0x18,0x00,0x00,0x18,0x18,0x18, +0x30,0x18,0x3C,0x18,0x18,0x18,0x3C,0x00, +0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00, +0x30,0x60,0x38,0x6C,0xC6,0x6C,0x38,0x00, +0x78,0xCC,0xCC,0xD8,0xCC,0xC6,0xCC,0x00, +0x7C,0x82,0x38,0x6C,0xC6,0x6C,0x38,0x00, +0x0C,0x06,0x38,0x6C,0xC6,0x6C,0x38,0x00, +0x76,0xDC,0x7C,0xC6,0xC6,0xC6,0x7C,0x00, +0x76,0xDC,0x38,0x6C,0xC6,0x6C,0x38,0x00, +0x00,0x00,0x66,0x66,0x66,0x66,0x7C,0xC0, +0xE0,0x60,0x7C,0x66,0x66,0x7C,0x60,0xF0, +0xF0,0x60,0x7C,0x66,0x7C,0x60,0xF0,0x00, +0x18,0x30,0xC6,0xC6,0xC6,0xC6,0x7C,0x00, +0x7C,0x82,0x00,0xC6,0xC6,0xC6,0x7C,0x00, +0x60,0x30,0xC6,0xC6,0xC6,0xC6,0x7C,0x00, +0x18,0x30,0xC6,0xC6,0xC6,0x7E,0x06,0xFC, +0x0C,0x18,0x66,0x66,0x3C,0x18,0x3C,0x00, +0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x0C,0x18,0x30,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00, +0x18,0x18,0x7E,0x18,0x18,0x00,0x7E,0x00, +0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF, +0xE1,0x32,0xE4,0x3A,0xF6,0x2A,0x5F,0x86, +0x7F,0xDB,0xDB,0x7B,0x1B,0x1B,0x1B,0x00, +0x3E,0x61,0x3C,0x66,0x66,0x3C,0x86,0x7C, +0x00,0x18,0x00,0x7E,0x00,0x18,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x18,0x0C,0x38, +0x38,0x6C,0x6C,0x38,0x00,0x00,0x00,0x00, +0x00,0xC6,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00, +0x18,0x38,0x18,0x18,0x3C,0x00,0x00,0x00, +0x78,0x0C,0x38,0x0C,0x78,0x00,0x00,0x00, +0x78,0x0C,0x18,0x30,0x7C,0x00,0x00,0x00, +0x00,0x00,0x3C,0x3C,0x3C,0x3C,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +}; /* This font was provided by ??? */ -static UCHAR font8x8[2048] = { +static UCHAR Cp866Font[2048] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x7E,0x81,0xA5,0x81,0xBD,0x99,0x81,0x7E, 0x7E,0xFF,0xDB,0xFF,0xC3,0xE7,0xFF,0x7E,