- Add a codepage 850 font imported from DragonFlyBSD / FreeBSD (original URL is http://opengrok.creo.hu/dragonfly/xref/src/share/syscons/fonts/cp850-8x8.fnt)

- Change the german translation to use umlauts
- Pass a codepage to blue.sys now, not a language ID. According to the comments, this is the right way.

TODO for the translators: Change the other codepage 850 languages to use the new available latin characters if needed.

svn path=/trunk/; revision=31914
This commit is contained in:
Colin Finck 2008-01-21 13:33:52 +00:00
parent 6d369c1393
commit 8d4ed7fa0a
9 changed files with 396 additions and 125 deletions

View file

@ -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 */ /* EOF */

View file

@ -93,10 +93,6 @@ CONSOLE_PrintTextXYN(
IN SHORT len, IN SHORT len,
IN LPCSTR fmt, ...); IN LPCSTR fmt, ...);
VOID
CONSOLE_SetFont(
IN ULONG LangId);
VOID VOID
CONSOLE_SetCursorType( CONSOLE_SetCursorType(
IN BOOL bInsert, IN BOOL bInsert,

View file

@ -597,8 +597,6 @@ UpdateKBLayout(VOID)
static PAGE_NUMBER static PAGE_NUMBER
LanguagePage(PINPUT_RECORD Ir) LanguagePage(PINPUT_RECORD Ir)
{ {
DWORD LangId;
/* Initialize the computer settings list */ /* Initialize the computer settings list */
if (LanguageList == NULL) if (LanguageList == NULL)
{ {
@ -657,8 +655,7 @@ LanguagePage(PINPUT_RECORD Ir)
} }
// Load the font // Load the font
LangId = wcstoul(SelectedLanguageId, NULL, 16); SetConsoleCodePage();
CONSOLE_SetFont(LangId);
return INTRO_PAGE; return INTRO_PAGE;
} }

View file

@ -18,19 +18,19 @@ static MUI_ENTRY deDELanguagePageEntries[] =
{ {
8, 8,
10, 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 TEXT_NORMAL
}, },
{ {
8, 8,
11, 11,
" Dann druecken Sie ENTER.", " Dann dr<EFBFBD>cken Sie ENTER.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
13, 13,
"\x07 Diese Sprache wird spaeter als Standardsprache im System verwendet.", "\x07 Diese Sprache wird spter als Standardsprache im System verwendet.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -76,31 +76,31 @@ static MUI_ENTRY deDEWelcomePageEntries[] =
{ {
8, 8,
15, 15,
"\x07 Druecken Sie ENTER, um ReactOS zu installieren.", "\x07 Dr<EFBFBD>cken Sie ENTER, um ReactOS zu installieren.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
17, 17,
"\x07 Druecken Sie R, um ReactOS zu reparieren.", "\x07 Dr<EFBFBD>cken Sie R, um ReactOS zu reparieren.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
19, 19,
"\x07 Druecken Sie L, um die Lizenzabkommen von ReactOS zu lesen.", "\x07 Dr<EFBFBD>cken Sie L, um die Lizenzabkommen von ReactOS zu lesen.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
21, 21,
"\x07 Druecken Sie F3, um das Setup zu beenden.", "\x07 Dr<EFBFBD>cken Sie F3, um das Setup zu beenden.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
23, 23,
"Fuer weitere Informationen, besuchen Sie bitte:", "F<EFBFBD>r weitere Informationen, besuchen Sie bitte:",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -140,31 +140,31 @@ static MUI_ENTRY deDEIntroPageEntries[] =
{ {
6, 6,
8, 8,
"Das ReactOS Setup ist noch in einer fruehen Entwicklungsphase. Es unter-", "Das ReactOS Setup ist noch in einer fr<EFBFBD>hen Entwicklungsphase. Es unter-",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
9, 9,
"stuetzt noch nicht alle Funktionen eines vollstaendig nutzbaren Setups.", "st<EFBFBD>tzt noch nicht alle Funktionen eines vollst„ndig nutzbaren Setups.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
12, 12,
"Es gibt folgende Beschraenkungen:", "Es gibt folgende Beschrnkungen:",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
13, 13,
"- Setup kann nur eine primaere Partition auf einer HDD verwalten.", "- Setup kann nur eine primre Partition auf einer HDD verwalten.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
14, 14,
"- Setup kann keine primaere Partition von einer HDD loeschen", "- Setup kann keine prim„re Partition von einer HDD l”schen",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -176,7 +176,7 @@ static MUI_ENTRY deDEIntroPageEntries[] =
{ {
8, 8,
16, 16,
"- Setup kann die erste erweiterte Partition nicht von der HDD loeschen", "- Setup kann die erste erweiterte Partition nicht von der HDD lschen",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -188,25 +188,25 @@ static MUI_ENTRY deDEIntroPageEntries[] =
{ {
8, 8,
18, 18,
"- Setup unterstuetzt nur FAT Dateisysteme.", "- Setup unterst<EFBFBD>tzt nur FAT Dateisysteme.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
19, 19,
"- Dateisystemueberpruefung ist noch nicht implementiert.", "- Dateisystem<EFBFBD>berpr<EFBFBD>fung ist noch nicht implementiert.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
23, 23,
"\x07 Druecken Sie ENTER, um ReactOS zu installieren.", "\x07 Dr<EFBFBD>cken Sie ENTER, um ReactOS zu installieren.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
25, 25,
"\x07 Druecken Sie F3, um das Setup zu beenden.", "\x07 Dr<EFBFBD>cken Sie F3, um das Setup zu beenden.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -336,7 +336,7 @@ static MUI_ENTRY deDELicensePageEntries[] =
{ {
0, 0,
0, 0,
" ENTER = Zurueck", " ENTER = Zur<EFBFBD>ck",
TEXT_STATUS TEXT_STATUS
}, },
{ {
@ -358,7 +358,7 @@ static MUI_ENTRY deDEDevicePageEntries[] =
{ {
6, 6,
8, 8,
"Die untere Liste zeigt die derzeitigen Geraeteeinstellungen.", "Die untere Liste zeigt die derzeitigen Gerteeinstellungen.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -393,19 +393,19 @@ static MUI_ENTRY deDEDevicePageEntries[] =
}, },
{ {
25, 25,
16, "Diese Geraeteeinstellungen akzeptieren", 16, "Diese Gerteeinstellungen akzeptieren",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
19, 19,
"Sie koennen die Einstellungen durch die Pfeiltasten auswaehlen.", "Sie k”nnen die Einstellungen durch die Pfeiltasten ausw„hlen.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
20, 20,
"Dann druecken Sie die Eingabetaste, um eine Einstellung abzuaendern.", "Dann dr<EFBFBD>cken Sie die Eingabetaste, um eine Einstellung abzu„ndern.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -417,13 +417,13 @@ static MUI_ENTRY deDEDevicePageEntries[] =
{ {
6, 6,
23, 23,
"Wenn alle Einstellungen korrekt sind, waehlen Sie \"Diese Geraete-", "Wenn alle Einstellungen korrekt sind, w„hlen Sie \"Diese Ger„te-",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
24, 24,
"einstellungen akzeptieren\" und druecken danach die Eingabetaste.", "einstellungen akzeptieren\" und dr<EFBFBD>cken danach die Eingabetaste.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -451,13 +451,13 @@ static MUI_ENTRY deDERepairPageEntries[] =
{ {
6, 6,
8, 8,
"Das ReactOS Setup ist noch in einer fruehen Entwicklungsphase. Es unter-", "Das ReactOS Setup ist noch in einer fr<EFBFBD>hen Entwicklungsphase. Es unter-",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
9, 9,
"stuetzt noch nicht alle Funktionen eines vollstaendig nutzbaren Setups.", "st<EFBFBD>tzt noch nicht alle Funktionen eines vollst„ndig nutzbaren Setups.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -469,25 +469,25 @@ static MUI_ENTRY deDERepairPageEntries[] =
{ {
8, 8,
15, 15,
"\x07 Druecken Sie U, um ReactOS zu aktualisieren.", "\x07 Dr<EFBFBD>cken Sie U, um ReactOS zu aktualisieren.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
17, 17,
"\x07 Druecken Sie R, fuer die Wiederherstellungskonsole.", "\x07 Dr<EFBFBD>cken Sie R, f<>r die Wiederherstellungskonsole.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
19, 19,
"\x07 Druecken Sie ESC, um zur Hauptseite zurueckzukehren.", "\x07 Dr<EFBFBD>cken Sie ESC, um zur Hauptseite zur<75>ckzukehren.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
21, 21,
"\x07 Druecken Sie ENTER, um den Computer neuzustarten.", "\x07 Dr<EFBFBD>cken Sie ENTER, um den Computer neuzustarten.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -514,31 +514,31 @@ static MUI_ENTRY deDEComputerPageEntries[] =
{ {
6, 6,
8, 8,
"Sie wollen den Computertyp aendern, der installiert wird.", "Sie wollen den Computertyp ndern, der installiert wird.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
10, 10,
"\x07 Druecken Sie die HOCH- oder RUNTER-Taste, um den gewuenschten", "\x07 Dr<EFBFBD>cken Sie die HOCH- oder RUNTER-Taste, um den gew<65>nschten",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
11, 11,
" Typ zu waehlen. Dann druecken Sie ENTER.", " Typ zu w„hlen. Dann dr<64>cken Sie ENTER.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
13, 13,
"\x07 Druecken Sie ESC, um zur vorherigen Seite zurueckzukehren,", "\x07 Dr<EFBFBD>cken Sie ESC, um zur vorherigen Seite zur<75>ckzukehren,",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
14, 14,
" ohne den Computertyp zu aendern.", " ohne den Computertyp zu ndern.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -606,7 +606,7 @@ static MUI_ENTRY deDEQuitPageEntries[] =
{ {
10, 10,
6, 6,
"ReactOS wurde nicht vollstaendig installiert", "ReactOS wurde nicht vollstndig installiert",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -624,7 +624,7 @@ static MUI_ENTRY deDEQuitPageEntries[] =
{ {
10, 10,
11, 11,
"Druecken Sie ENTER, um den Computer neuzustarten.", "Dr<EFBFBD>cken Sie ENTER, um den Computer neuzustarten.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -652,30 +652,30 @@ static MUI_ENTRY deDEDisplayPageEntries[] =
{ {
6, 6,
8, 8,
"Sie wollen den Bildschirmtyp aendern, der installiert wird.", "Sie wollen den Bildschirmtyp ndern, der installiert wird.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ 8, { 8,
10, 10,
"\x07 Druecken Sie die HOCH- oder RUNTER-Taste, um den gewuenschten", "\x07 Dr<EFBFBD>cken Sie die HOCH- oder RUNTER-Taste, um den gew<65>nschten",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
11, 11,
" Typ zu waehlen. Dann druecken Sie ENTER.", " Typ zu w„hlen. Dann dr<64>cken Sie ENTER.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
13, 13,
"\x07 Druecken Sie ESC, um zur vorherigen Seite zurueckzukehren, ohne", "\x07 Dr<EFBFBD>cken Sie ESC, um zur vorherigen Seite zur<75>ckzukehren, ohne",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
14, 14,
" den Bildschirmtyp zu aendern.", " den Bildschirmtyp zu ndern.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -721,7 +721,7 @@ static MUI_ENTRY deDESuccessPageEntries[] =
{ {
10, 10,
11, 11,
"Druecken Sie ENTER, um den Computer neuzustarten.", "Dr<EFBFBD>cken Sie ENTER, um den Computer neuzustarten.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -767,7 +767,7 @@ static MUI_ENTRY deDEBootPageEntries[] =
{ {
6, 6,
14, 14,
"druecken Sie ENTER.", "dr<EFBFBD>cken Sie ENTER.",
TEXT_NORMAL, TEXT_NORMAL,
}, },
{ {
@ -802,31 +802,31 @@ static MUI_ENTRY deDESelectPartitionEntries[] =
{ {
6, 6,
9, 9,
"Speicherplatz fuer neue Partitionen.", "Speicherplatz f<EFBFBD>r neue Partitionen.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
11, 11,
"\x07 Druecken Sie die Pfeiltasten, um eine Partition auszuwaehlen.", "\x07 Dr<EFBFBD>cken Sie die Pfeiltasten, um eine Partition auszuw„hlen.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
13, 13,
"\x07 Druecken Sie die Eingabetaste, um die Auswahl zu bestaetigen.", "\x07 Dr<EFBFBD>cken Sie die Eingabetaste, um die Auswahl zu best„tigen.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
15, 15,
"\x07 Druecken Sie C, um eine neue Partition zu erstellen.", "\x07 Dr<EFBFBD>cken Sie C, um eine neue Partition zu erstellen.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
17, 17,
"\x07 Druecken Sie D, um eine vorhandene Partition zu loeschen.", "\x07 Dr<EFBFBD>cken Sie D, um eine vorhandene Partition zu l”schen.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -860,13 +860,13 @@ static MUI_ENTRY deDEFormatPartitionEntries[] =
{ {
6, 6,
10, 10,
"Setup wird nun die gewuenschte Partition formatieren.", "Setup wird nun die gew<EFBFBD>nschte Partition formatieren.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
11, 11,
"Druecken Sie die Eingabetaste, um fortzufahren.", "Dr<EFBFBD>cken Sie die Eingabetaste, um fortzufahren.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -894,25 +894,25 @@ static MUI_ENTRY deDEInstallDirectoryEntries[] =
{ {
6, 6,
8, 8,
"Setup installiert die ReactOS Installationsdateien in die ausgewaehlte", "Setup installiert die ReactOS Installationsdateien in die ausgewhlte",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
9, 9,
"Partition. Waehlen Sie ein Installationsverzeichnis fuer ReactOS:", "Partition. W„hlen Sie ein Installationsverzeichnis f<>r ReactOS:",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
14, 14,
"Um den Vorschlag zu aendern druecken sie die 'Entf' Taste um", "Um den Vorschlag zu „ndern dr<64>cken sie die 'Entf' Taste um",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
6, 6,
15, 15,
"Zeichen zu loeschen und gegeben sie dann den Namen des Verzeichnis ein", "Zeichen zu lschen und gegeben sie dann den Namen des Verzeichnis ein",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -940,7 +940,7 @@ static MUI_ENTRY deDEFileCopyEntries[] =
{ {
11, 11,
12, 12,
"Bitte warten Sie waehrend ReactOS Setup die ReactOS Dateien", "Bitte warten Sie whrend ReactOS Setup die ReactOS Dateien",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -1026,31 +1026,31 @@ static MUI_ENTRY deDEKeyboardSettingsEntries[] =
{ {
6, 6,
8, 8,
"Sie wollen den Tastaturtyp aendern, der installiert wird.", "Sie wollen den Tastaturtyp ndern, der installiert wird.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
10, 10,
"\x07 Druecken Sie die HOCH- oder RUNTER-Taste, um den gewuenschten", "\x07 Dr<EFBFBD>cken Sie die HOCH- oder RUNTER-Taste, um den gew<65>nschten",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
11, 11,
" Typ zu waehlen. Dann druecken Sie ENTER.", " Typ zu w„hlen. Dann dr<64>cken Sie ENTER.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
13, 13,
"\x07 Druecken Sie ESC, um zur vorherigen Seite zurueckzukehren,", "\x07 Dr<EFBFBD>cken Sie ESC, um zur vorherigen Seite zur<75>ckzukehren,",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
14, 14,
" ohne den Tastaturtyp zu aendern.", " ohne den Tastaturtyp zu ndern.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -1078,31 +1078,31 @@ static MUI_ENTRY deDELayoutSettingsEntries[] =
{ {
6, 6,
8, 8,
"Sie wollen das Tastaturlayout aendern, der installiert wird.", "Sie wollen das Tastaturlayout ndern, der installiert wird.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
10, 10,
"\x07 Druecken Sie die HOCH- oder RUNTER-Taste, um den gewuenschten", "\x07 Dr<EFBFBD>cken Sie die HOCH- oder RUNTER-Taste, um den gew<65>nschten",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
11, 11,
" Typ zu waehlen. Dann druecken Sie ENTER.", " Typ zu w„hlen. Dann dr<64>cken Sie ENTER.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
13, 13,
"\x07 Druecken Sie ESC, um zur vorherigen Seite zurueckzukehren,", "\x07 Dr<EFBFBD>cken Sie ESC, um zur vorherigen Seite zur<75>ckzukehren,",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
14, 14,
" ohne das Tastaturlayout zu aendern.", " ohne das Tastaturlayout zu ndern.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -1131,7 +1131,7 @@ static MUI_ENTRY deDEPrepareCopyEntries[] =
{ {
6, 6,
8, 8,
"Setup bereitet ihren Computer fuer die Installation vor.", "Setup bereitet ihren Computer f<EFBFBD>r die Installation vor.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -1160,25 +1160,25 @@ static MUI_ENTRY deDESelectFSEntries[] =
{ {
6, 6,
17, 17,
"Waehlen Sie ein Dateisystem von der folgenden Liste.", "Whlen Sie ein Dateisystem von der folgenden Liste.",
0 0
}, },
{ {
8, 8,
19, 19,
"\x07 Druecken Sie die Pfeiltasten, um das Dateisystem zu aendern.", "\x07 Dr<EFBFBD>cken Sie die Pfeiltasten, um das Dateisystem zu „ndern.",
0 0
}, },
{ {
8, 8,
21, 21,
"\x07 Druecken Sie die Eingabetaste, um die Partition zu formatieren.", "\x07 Dr<EFBFBD>cken Sie die Eingabetaste, um die Partition zu formatieren.",
0 0
}, },
{ {
8, 8,
23, 23,
"\x07 Druecken Sie ESC, um eine andere Partition auszuwaehlen.", "\x07 Dr<EFBFBD>cken Sie ESC, um eine andere Partition auszuw„hlen.",
0 0
}, },
{ {
@ -1207,19 +1207,19 @@ static MUI_ENTRY deDEDeletePartitionEntries[] =
{ {
6, 6,
8, 8,
"Sie haben sich entschieden diese Partition zu loeschen", "Sie haben sich entschieden diese Partition zu lschen",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
8, 8,
18, 18,
"\x07 Druecken Sie D, um die Partition zu loeschen.", "\x07 Dr<EFBFBD>cken Sie D, um die Partition zu l”schen.",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
11, 11,
19, 19,
"Warnung: Alle Daten auf dieser Partition werden geloescht!", "Warnung: Alle Daten auf dieser Partition werden gelscht!",
TEXT_NORMAL TEXT_NORMAL
}, },
{ {
@ -1231,7 +1231,7 @@ static MUI_ENTRY deDEDeletePartitionEntries[] =
{ {
0, 0,
0, 0,
" D = Loesche Partition ESC = Abbrechen F3 = Beenden", " D = Lsche Partition ESC = Abbrechen F3 = Beenden",
TEXT_STATUS TEXT_STATUS
}, },
{ {
@ -1275,12 +1275,12 @@ MUI_ERROR deDEErrorEntries[] =
{ {
{ {
//ERROR_NOT_INSTALLED //ERROR_NOT_INSTALLED
"ReactOS ist nicht vollstaendig auf Ihrem System installiert.\n" "ReactOS ist nicht vollstndig auf Ihrem System installiert.\n"
"Wenn Sie das Setup jetzt beenden, muessen Sie das\n" "Wenn Sie das Setup jetzt beenden, m<EFBFBD>ssen Sie das\n"
"Setup erneut starten, um ROS zu installieren.\n" "Setup erneut starten, um ROS zu installieren.\n"
"\n" "\n"
" \x07 Druecken Sie ENTER um das Setup Fortzusetzen.\n" " \x07 Dr<EFBFBD>cken Sie ENTER um das Setup Fortzusetzen.\n"
" \x07 Druecken Sie F3 um das Setup zu beenden.", " \x07 Dr<EFBFBD>cken Sie F3 um das Setup zu beenden.",
"F3 = Beenden ENTER = Fortsetzen" "F3 = Beenden ENTER = Fortsetzen"
}, },
{ {
@ -1305,7 +1305,7 @@ MUI_ERROR deDEErrorEntries[] =
}, },
{ {
//ERROR_SIGNATURE_TXTSETUPSIF, //ERROR_SIGNATURE_TXTSETUPSIF,
"Setup fand eine ungueltige Signatur in TXTSETUP.SIF.\n", "Setup fand eine ung<EFBFBD>ltige Signatur in TXTSETUP.SIF.\n",
"ENTER = Computer neustarten" "ENTER = Computer neustarten"
}, },
{ {
@ -1341,27 +1341,27 @@ MUI_ERROR deDEErrorEntries[] =
{ {
//ERROR_WARN_PARTITION, //ERROR_WARN_PARTITION,
"Setup hat mindestens eine Festplatte mit einer inkompatiblen Partitionstabelle\n" "Setup hat mindestens eine Festplatte mit einer inkompatiblen Partitionstabelle\n"
"welche nicht richtig verwendet werden koennen!\n" "welche nicht richtig verwendet werden knnen!\n"
"\n" "\n"
"Partitionen zu erstellen/loeschen kann die Partitionstabelle zerstoeren.\n" "Partitionen zu erstellen/l”schen kann die Partitionstabelle zerst”ren.\n"
"\n" "\n"
" \x07 Druecken Sie F3, um das Setup zu beenden." " \x07 Dr<EFBFBD>cken Sie F3, um das Setup zu beenden."
" \x07 Druecken Sie ENTER, um das Setup Fortzusetzen.", " \x07 Dr<EFBFBD>cken Sie ENTER, um das Setup Fortzusetzen.",
"F3 = Beenden ENTER = Fortsetzen" "F3 = Beenden ENTER = Fortsetzen"
}, },
{ {
//ERROR_NEW_PARTITION, //ERROR_NEW_PARTITION,
"Sie koennen keine neue Partition in einer bereits\n" "Sie knnen keine neue Partition in einer bereits\n"
"vohandenen Partition erstellen!\n" "vohandenen Partition erstellen!\n"
"\n" "\n"
" * * Eine beliebige Taste zum Fortsetzen druecken.", " * * Eine beliebige Taste zum Fortsetzen dr<EFBFBD>cken.",
NULL NULL
}, },
{ {
//ERROR_DELETE_SPACE, //ERROR_DELETE_SPACE,
"Sie koennen unpartitionieren Speicher nicht loeschen!\n" "Sie k”nnen unpartitionieren Speicher nicht l”schen!\n"
"\n" "\n"
" * Eine beliebige Taste zum Fortsetzen druecken.", " * Eine beliebige Taste zum Fortsetzen dr<EFBFBD>cken.",
NULL NULL
}, },
{ {
@ -1406,7 +1406,7 @@ MUI_ERROR deDEErrorEntries[] =
}, },
{ {
//ERROR_INVALID_CABINET_INF, //ERROR_INVALID_CABINET_INF,
"Cabinet hat keine gueltige .inf Datei.\n", "Cabinet hat keine g<EFBFBD>ltige .inf Datei.\n",
"ENTER = Computer neustarten" "ENTER = Computer neustarten"
}, },
{ {
@ -1416,7 +1416,7 @@ MUI_ERROR deDEErrorEntries[] =
}, },
{ {
//ERROR_CABINET_SCRIPT, //ERROR_CABINET_SCRIPT,
"Cabinet enthält kein Setup Skript.\n", "Cabinet enthlt kein Setup Skript.\n",
"ENTER = Computer neustarten" "ENTER = Computer neustarten"
}, },
{ {
@ -1459,7 +1459,7 @@ MUI_ERROR deDEErrorEntries[] =
}, },
{ {
//ERROR_ADDING_CODEPAGE, //ERROR_ADDING_CODEPAGE,
"Setup konnte den CodePage-Eintrag nicht hinzufuegen.\n" "Setup konnte den CodePage-Eintrag nicht hinzuf<EFBFBD>gen.\n"
"ENTER = Computer neustarten" "ENTER = Computer neustarten"
}, },
{ {

View file

@ -568,4 +568,24 @@ AddCodePage(VOID)
return FALSE; 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 */ /* EOF */

View file

@ -56,5 +56,7 @@ MUIDefaultKeyboardLayout(VOID);
BOOLEAN BOOLEAN
AddCodePage(VOID); AddCodePage(VOID);
VOID
SetConsoleCodePage(VOID);
#endif #endif

View file

@ -726,15 +726,10 @@ ScrIoControl(PDEVICE_OBJECT DeviceObject,
case IOCTL_CONSOLE_LOADFONT: 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 // Upload a font for the codepage if needed
if (LangId == MAKELANGID(LANG_BULGARIAN, SUBLANG_DEFAULT) || ScrLoadFontTable(CodePage);
LangId == MAKELANGID(LANG_RUSSIAN, SUBLANG_DEFAULT) ||
LangId == MAKELANGID(LANG_UKRAINIAN, SUBLANG_DEFAULT))
{
ScrLoadFontTable();
}
Irp->IoStatus.Information = 0; Irp->IoStatus.Information = 0;
Status = STATUS_SUCCESS; Status = STATUS_SUCCESS;

View file

@ -58,4 +58,4 @@
#define PELINDEX (PUCHAR)0x3c8 #define PELINDEX (PUCHAR)0x3c8
#define PELDATA (PUCHAR)0x3c9 #define PELDATA (PUCHAR)0x3c9
VOID ScrLoadFontTable(); void ScrLoadFontTable(UINT CodePage);

View file

@ -4,6 +4,7 @@
* FILE: drivers/setup/blue/font.c * FILE: drivers/setup/blue/font.c
* PURPOSE: Loading specific fonts into VGA * PURPOSE: Loading specific fonts into VGA
* PROGRAMMERS: Aleksey Bragin (aleksey@reactos.org) * PROGRAMMERS: Aleksey Bragin (aleksey@reactos.org)
* Colin Finck (mail@colinfinck.de)
*/ */
/* INCLUDES ***************************************************************/ /* INCLUDES ***************************************************************/
@ -16,17 +17,19 @@
VOID OpenBitPlane(); VOID OpenBitPlane();
VOID CloseBitPlane(); 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 ****************************************************************/ /* FUNCTIONS ****************************************************************/
VOID VOID
ScrLoadFontTable() ScrLoadFontTable(UINT CodePage)
{ {
PHYSICAL_ADDRESS BaseAddress; PHYSICAL_ADDRESS BaseAddress;
PBYTE Bitplane; PBYTE Bitplane;
PUCHAR FontBitfield = NULL;
/* open bit plane for font table access */ /* open bit plane for font table access */
OpenBitPlane(); OpenBitPlane();
@ -35,7 +38,14 @@ ScrLoadFontTable()
BaseAddress.QuadPart = BITPLANE_BASE; BaseAddress.QuadPart = BITPLANE_BASE;
Bitplane = (PBYTE)MmMapIoSpace (BaseAddress, 0xFFFF, MmNonCached); 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); MmUnmapIoSpace(Bitplane, 0xFFFF);
@ -89,7 +99,7 @@ CloseBitPlane()
} }
VOID VOID
LoadFont(PBYTE Bitplane) LoadFont(PBYTE Bitplane, PUCHAR FontBitfield)
{ {
UINT i,j; UINT i,j;
@ -97,7 +107,7 @@ LoadFont(PBYTE Bitplane)
{ {
for (j=0; j<8; j++) for (j=0; j<8; j++)
{ {
*Bitplane = font8x8[i*8+j]; *Bitplane = FontBitfield[i*8+j];
Bitplane++; 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 ??? */ /* This font was provided by ??? */
static UCHAR font8x8[2048] = { static UCHAR Cp866Font[2048] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x7E,0x81,0xA5,0x81,0xBD,0x99,0x81,0x7E, 0x7E,0x81,0xA5,0x81,0xBD,0x99,0x81,0x7E,
0x7E,0xFF,0xDB,0xFF,0xC3,0xE7,0xFF,0x7E, 0x7E,0xFF,0xDB,0xFF,0xC3,0xE7,0xFF,0x7E,