Author: fireball
Date: Sat Jan 19 17:51:12 2008
New Revision: 31885
URL:
http://svn.reactos.org/svn/reactos?rev=31885&view=rev
Log:
- Add SetConsoleCP api to the usetup, and make it call blue.sys in order to load font if
needed.
- Fix a typo in WriteConsoleOutputCharacterW prototype.
- Add font.c to the blue.sys, move and add more definitions to a common header blue.h.
- Add Cyrillic font to blue.sys driver.
Added:
trunk/reactos/drivers/setup/blue/blue.h (with props)
trunk/reactos/drivers/setup/blue/font.c (with props)
Modified:
trunk/reactos/base/setup/usetup/interface/consup.c
trunk/reactos/base/setup/usetup/interface/consup.h
trunk/reactos/base/setup/usetup/interface/usetup.c
trunk/reactos/base/setup/usetup/native/utils/console.c
trunk/reactos/base/setup/usetup/native/utils/console.h
trunk/reactos/drivers/setup/blue/blue.c
trunk/reactos/drivers/setup/blue/blue.rbuild
Modified: trunk/reactos/base/setup/usetup/interface/consup.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/interfac…
==============================================================================
--- trunk/reactos/base/setup/usetup/interface/consup.c (original)
+++ trunk/reactos/base/setup/usetup/interface/consup.c Sat Jan 19 17:51:12 2008
@@ -520,4 +520,13 @@
}
}
+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 */
Modified: trunk/reactos/base/setup/usetup/interface/consup.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/interfac…
==============================================================================
--- trunk/reactos/base/setup/usetup/interface/consup.h (original)
+++ trunk/reactos/base/setup/usetup/interface/consup.h Sat Jan 19 17:51:12 2008
@@ -94,6 +94,10 @@
IN LPCSTR fmt, ...);
VOID
+CONSOLE_SetFont(
+ IN ULONG LangId);
+
+VOID
CONSOLE_SetCursorType(
IN BOOL bInsert,
IN BOOL bVisible);
Modified: trunk/reactos/base/setup/usetup/interface/usetup.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/interfac…
==============================================================================
--- trunk/reactos/base/setup/usetup/interface/usetup.c (original)
+++ trunk/reactos/base/setup/usetup/interface/usetup.c Sat Jan 19 17:51:12 2008
@@ -597,6 +597,8 @@
static PAGE_NUMBER
LanguagePage(PINPUT_RECORD Ir)
{
+ DWORD LangId;
+
/* Initialize the computer settings list */
if (LanguageList == NULL)
{
@@ -653,6 +655,10 @@
{
UpdateKBLayout();
}
+
+ // Load the font
+ LangId = wcstoul(SelectedLanguageId, NULL, 16);
+ CONSOLE_SetFont(LangId);
return INTRO_PAGE;
}
Modified: trunk/reactos/base/setup/usetup/native/utils/console.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/native/u…
==============================================================================
--- trunk/reactos/base/setup/usetup/native/utils/console.c (original)
+++ trunk/reactos/base/setup/usetup/native/utils/console.c Sat Jan 19 17:51:12 2008
@@ -484,4 +484,29 @@
return NT_SUCCESS(Status);
}
+BOOL WINAPI
+SetConsoleOutputCP(
+ IN UINT wCodepage)
+{
+ HANDLE hConsoleOutput;
+ IO_STATUS_BLOCK IoStatusBlock;
+ NTSTATUS Status;
+
+ hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
+
+ Status = NtDeviceIoControlFile(
+ hConsoleOutput,
+ NULL,
+ NULL,
+ NULL,
+ &IoStatusBlock,
+ IOCTL_CONSOLE_LOADFONT,
+ &wCodepage,
+ sizeof(ULONG),
+ NULL,
+ 0);
+ return NT_SUCCESS(Status);
+}
+
+
/* EOF */
Modified: trunk/reactos/base/setup/usetup/native/utils/console.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/native/u…
==============================================================================
--- trunk/reactos/base/setup/usetup/native/utils/console.h (original)
+++ trunk/reactos/base/setup/usetup/native/utils/console.h Sat Jan 19 17:51:12 2008
@@ -101,13 +101,18 @@
OUT LPDWORD lpNumberOfCharsWritten);
BOOL WINAPI
-WriteConsoleOutputCharacterA(
+WriteConsoleOutputCharacterW(
HANDLE hConsoleOutput,
IN LPCSTR lpCharacter,
IN DWORD nLength,
IN COORD dwWriteCoord,
OUT LPDWORD lpNumberOfCharsWritten);
+BOOL WINAPI
+SetConsoleOutputCP(
+ IN UINT wCodePageID
+);
+
#endif /* _UTILS_CONSOLE_H_ */
/* EOF */
Modified: trunk/reactos/drivers/setup/blue/blue.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/setup/blue/blue.c?…
==============================================================================
--- trunk/reactos/drivers/setup/blue/blue.c (original)
+++ trunk/reactos/drivers/setup/blue/blue.c Sat Jan 19 17:51:12 2008
@@ -20,6 +20,7 @@
#include <blue/ntddblue.h>
#include <ndk/inbvfuncs.h>
//#include <intrin.h>
+#include "blue.h"
#define NDEBUG
#include <debug.h>
@@ -31,41 +32,6 @@
HalQueryDisplayOwnership(
VOID
);
-
-/* DEFINITIONS ***************************************************************/
-
-#define VIDMEM_BASE 0xb8000
-
-#define CRTC_COMMAND ((PUCHAR)0x3d4)
-#define CRTC_DATA ((PUCHAR)0x3d5)
-
-#define CRTC_COLUMNS 0x01
-#define CRTC_OVERFLOW 0x07
-#define CRTC_ROWS 0x12
-#define CRTC_SCANLINES 0x09
-#define CRTC_CURSORSTART 0x0a
-#define CRTC_CURSOREND 0x0b
-#define CRTC_CURSORPOSHI 0x0e
-#define CRTC_CURSORPOSLO 0x0f
-
-#define ATTRC_WRITEREG ((PUCHAR)0x3c0)
-#define ATTRC_READREG ((PUCHAR)0x3c1)
-#define ATTRC_INPST1 ((PUCHAR)0x3da)
-
-#define TAB_WIDTH 8
-
-#define MISC (PUCHAR)0x3c2
-#define SEQ (PUCHAR)0x3c4
-#define SEQDATA (PUCHAR)0x3c5
-#define CRTC (PUCHAR)0x3d4
-#define CRTCDATA (PUCHAR)0x3d5
-#define GRAPHICS (PUCHAR)0x3ce
-#define GRAPHICSDATA (PUCHAR)0x3cf
-#define ATTRIB (PUCHAR)0x3c0
-#define STATUS (PUCHAR)0x3da
-#define PELMASK (PUCHAR)0x3c6
-#define PELINDEX (PUCHAR)0x3c8
-#define PELDATA (PUCHAR)0x3c9
/* NOTES ******************************************************************/
/*
@@ -758,6 +724,23 @@
}
break;
+ case IOCTL_CONSOLE_LOADFONT:
+ {
+ ULONG LangId = (ULONG)*(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();
+ }
+
+ Irp->IoStatus.Information = 0;
+ Status = STATUS_SUCCESS;
+ }
+ break;
+
default:
Status = STATUS_NOT_IMPLEMENTED;
}
Added: trunk/reactos/drivers/setup/blue/blue.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/setup/blue/blue.h?…
==============================================================================
--- trunk/reactos/drivers/setup/blue/blue.h (added)
+++ trunk/reactos/drivers/setup/blue/blue.h Sat Jan 19 17:51:12 2008
@@ -1,0 +1,61 @@
+/*
+ * PROJECT: ReactOS Setup Driver
+ * LICENSE: GPL - See COPYING in the top level directory
+ * FILE: drivers/setup/blue/font.h
+ * PURPOSE: Loading specific fonts into VGA
+ * PROGRAMMERS: Aleksey Bragin (aleksey(a)reactos.org)
+ */
+
+/* DEFINITIONS ***************************************************************/
+
+#define VIDMEM_BASE 0xb8000
+#define BITPLANE_BASE 0xa0000
+
+#define CRTC_COMMAND ((PUCHAR)0x3d4)
+#define CRTC_DATA ((PUCHAR)0x3d5)
+
+#define CRTC_COLUMNS 0x01
+#define CRTC_OVERFLOW 0x07
+#define CRTC_ROWS 0x12
+#define CRTC_SCANLINES 0x09
+#define CRTC_CURSORSTART 0x0a
+#define CRTC_CURSOREND 0x0b
+#define CRTC_CURSORPOSHI 0x0e
+#define CRTC_CURSORPOSLO 0x0f
+
+#define SEQ_COMMAND ((PUCHAR)0x3c4)
+#define SEQ_DATA ((PUCHAR)0x3c5)
+
+#define GCT_COMMAND ((PUCHAR)0x3ce)
+#define GCT_DATA ((PUCHAR)0x3cf)
+
+/* SEQ regs numbers*/
+#define SEQ_RESET 0x00
+#define SEQ_ENABLE_WRT_PLANE 0x02
+#define SEQ_MEM_MODE 0x04
+
+/* GCT regs numbers */
+#define GCT_READ_PLANE 0x04
+#define GCT_RW_MODES 0x05
+#define GCT_GRAPH_MODE 0x06
+
+#define ATTRC_WRITEREG ((PUCHAR)0x3c0)
+#define ATTRC_READREG ((PUCHAR)0x3c1)
+#define ATTRC_INPST1 ((PUCHAR)0x3da)
+
+#define TAB_WIDTH 8
+
+#define MISC (PUCHAR)0x3c2
+#define SEQ (PUCHAR)0x3c4
+#define SEQDATA (PUCHAR)0x3c5
+#define CRTC (PUCHAR)0x3d4
+#define CRTCDATA (PUCHAR)0x3d5
+#define GRAPHICS (PUCHAR)0x3ce
+#define GRAPHICSDATA (PUCHAR)0x3cf
+#define ATTRIB (PUCHAR)0x3c0
+#define STATUS (PUCHAR)0x3da
+#define PELMASK (PUCHAR)0x3c6
+#define PELINDEX (PUCHAR)0x3c8
+#define PELDATA (PUCHAR)0x3c9
+
+VOID ScrLoadFontTable();
Propchange: trunk/reactos/drivers/setup/blue/blue.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/drivers/setup/blue/blue.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/setup/blue/blue.rb…
==============================================================================
--- trunk/reactos/drivers/setup/blue/blue.rbuild (original)
+++ trunk/reactos/drivers/setup/blue/blue.rbuild Sat Jan 19 17:51:12 2008
@@ -6,5 +6,6 @@
<library>ntoskrnl</library>
<library>hal</library>
<file>blue.c</file>
+ <file>font.c</file>
<file>blue.rc</file>
</module>
Added: trunk/reactos/drivers/setup/blue/font.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/setup/blue/font.c?…
==============================================================================
--- trunk/reactos/drivers/setup/blue/font.c (added)
+++ trunk/reactos/drivers/setup/blue/font.c Sat Jan 19 17:51:12 2008
@@ -1,0 +1,372 @@
+/*
+* PROJECT: ReactOS Setup Driver
+* LICENSE: GPL - See COPYING in the top level directory
+* FILE: drivers/setup/blue/font.c
+* PURPOSE: Loading specific fonts into VGA
+* PROGRAMMERS: Aleksey Bragin (aleksey(a)reactos.org)
+*/
+
+/* INCLUDES ***************************************************************/
+
+#include <ntddk.h>
+#include "blue.h"
+
+#define NDEBUG
+#include <debug.h>
+
+VOID OpenBitPlane();
+VOID CloseBitPlane();
+VOID LoadFont(PBYTE Bitplane);
+
+static UCHAR font8x8[2048];
+
+/* FUNCTIONS ****************************************************************/
+
+VOID
+ScrLoadFontTable()
+{
+ PHYSICAL_ADDRESS BaseAddress;
+ PBYTE Bitplane;
+
+ /* open bit plane for font table access */
+ OpenBitPlane();
+
+ /* get pointer to video memory */
+ BaseAddress.QuadPart = BITPLANE_BASE;
+ Bitplane = (PBYTE)MmMapIoSpace (BaseAddress, 0xFFFF, MmNonCached);
+
+ LoadFont(Bitplane);
+
+ MmUnmapIoSpace(Bitplane, 0xFFFF);
+
+ /* close bit plane */
+ CloseBitPlane();
+}
+
+/* PRIVATE FUNCTIONS *********************************************************/
+
+/* Font-load specific funcs */
+VOID
+OpenBitPlane()
+{
+ /* disable interrupts */
+ __asm__("cli\n\t");
+
+ /* sequence reg */
+ WRITE_PORT_UCHAR (SEQ_COMMAND, SEQ_RESET); WRITE_PORT_UCHAR (SEQ_DATA, 0x01);
+ WRITE_PORT_UCHAR (SEQ_COMMAND, SEQ_ENABLE_WRT_PLANE); WRITE_PORT_UCHAR (SEQ_DATA,
0x04);
+ WRITE_PORT_UCHAR (SEQ_COMMAND, SEQ_MEM_MODE); WRITE_PORT_UCHAR (SEQ_DATA, 0x07);
+ WRITE_PORT_UCHAR (SEQ_COMMAND, SEQ_RESET); WRITE_PORT_UCHAR (SEQ_DATA, 0x03);
+
+ /* graphic reg */
+ WRITE_PORT_UCHAR (GCT_COMMAND, GCT_READ_PLANE); WRITE_PORT_UCHAR (GCT_DATA, 0x02);
+ WRITE_PORT_UCHAR (GCT_COMMAND, GCT_RW_MODES); WRITE_PORT_UCHAR (GCT_DATA, 0x00);
+ WRITE_PORT_UCHAR (GCT_COMMAND, GCT_GRAPH_MODE); WRITE_PORT_UCHAR (GCT_DATA, 0x00);
+
+ /* enable interrupts */
+ __asm__("sti\n\t");
+}
+
+VOID
+CloseBitPlane()
+{
+ /* disable interrupts */
+ __asm__("cli\n\t");
+
+ /* sequence reg */
+ WRITE_PORT_UCHAR (SEQ_COMMAND, SEQ_RESET); WRITE_PORT_UCHAR (SEQ_DATA, 0x01);
+ WRITE_PORT_UCHAR (SEQ_COMMAND, SEQ_ENABLE_WRT_PLANE); WRITE_PORT_UCHAR (SEQ_DATA,
0x03);
+ WRITE_PORT_UCHAR (SEQ_COMMAND, SEQ_MEM_MODE); WRITE_PORT_UCHAR (SEQ_DATA, 0x03);
+ WRITE_PORT_UCHAR (SEQ_COMMAND, SEQ_RESET); WRITE_PORT_UCHAR (SEQ_DATA, 0x03);
+
+ /* graphic reg */
+ WRITE_PORT_UCHAR (GCT_COMMAND, GCT_READ_PLANE); WRITE_PORT_UCHAR (GCT_DATA, 0x00);
+ WRITE_PORT_UCHAR (GCT_COMMAND, GCT_RW_MODES); WRITE_PORT_UCHAR (GCT_DATA, 0x10);
+ WRITE_PORT_UCHAR (GCT_COMMAND, GCT_GRAPH_MODE); WRITE_PORT_UCHAR (GCT_DATA, 0x0e);
+
+ /* enable interrupts */
+ __asm__("sti\n\t");
+}
+
+VOID
+LoadFont(PBYTE Bitplane)
+{
+ UINT i,j;
+
+ for (i=0; i<256; i++)
+ {
+ for (j=0; j<8; j++)
+ {
+ *Bitplane = font8x8[i*8+j];
+ Bitplane++;
+ }
+
+ // padding
+ for (j=8; j<32; j++)
+ {
+ *Bitplane = 0;
+ Bitplane++;
+ }
+ }
+}
+
+
+/* This font was provided by ??? */
+static UCHAR font8x8[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,0x7C,0x38,0x7C,
+0x10,0x10,0x38,0x7C,0xFE,0x7C,0x38,0x7C,
+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,
+0x99,0x5A,0x3C,0xE7,0xE7,0x3C,0x5A,0x99,
+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,0x63,0x38,0x6C,0x6C,0x38,0xCC,0x78,
+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,
+0x30,0x78,0x78,0x30,0x30,0x00,0x30,0x00, // ! 33 21
+0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00, // " 34 22
+0x6C,0x6C,0xFE,0x6C,0xFE,0x6C,0x6C,0x00, // # 35 23
+0x30,0x7C,0xC0,0x78,0x0C,0xF8,0x30,0x00, // $ 36 24
+0x00,0xC6,0xCC,0x18,0x30,0x66,0xC6,0x00, // % 37 25
+0x38,0x6C,0x38,0x76,0xDC,0xCC,0x76,0x00, // & 38 26
+0x60,0x60,0xC0,0x00,0x00,0x00,0x00,0x00, // ' 39 27
+0x18,0x30,0x60,0x60,0x60,0x30,0x18,0x00, // ( 40 28
+0x60,0x30,0x18,0x18,0x18,0x30,0x60,0x00, // ) 41 29
+0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00, // * 42 2A
+0x00,0x30,0x30,0xFC,0x30,0x30,0x00,0x00, // + 43 2B
+0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x60, // , 44 2C
+0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00, // - 45 2D
+0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00, // . 46 2E
+0x06,0x0C,0x18,0x30,0x60,0xC0,0x80,0x00, // / 47 2F
+0x7C,0xC6,0xCE,0xDE,0xF6,0xE6,0x7C,0x00, // 0 48 30
+0x30,0x70,0x30,0x30,0x30,0x30,0xFC,0x00, // 1 49 31
+0x78,0xCC,0x0C,0x38,0x60,0xCC,0xFC,0x00, // 2 50 32
+0x78,0xCC,0x0C,0x38,0x0C,0xCC,0x78,0x00, // 3 51 33
+0x1C,0x3C,0x6C,0xCC,0xFE,0x0C,0x1E,0x00, // 4 52 34
+0xFC,0xC0,0xF8,0x0C,0x0C,0xCC,0x78,0x00, // 5 53 35
+0x38,0x60,0xC0,0xF8,0xCC,0xCC,0x78,0x00, // 6 54 36
+0xFC,0xCC,0x0C,0x18,0x30,0x30,0x30,0x00, // 7 55 37
+0x78,0xCC,0xCC,0x78,0xCC,0xCC,0x78,0x00, // 8 56 38
+0x78,0xCC,0xCC,0x7C,0x0C,0x18,0x70,0x00, // 9 57 39
+0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x00, // : 58 3A
+0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x60, // // 59 3B
+0x18,0x30,0x60,0xC0,0x60,0x30,0x18,0x00, // < 60 3C
+0x00,0x00,0xFC,0x00,0x00,0xFC,0x00,0x00, // = 61 3D
+0x60,0x30,0x18,0x0C,0x18,0x30,0x60,0x00, // > 62 3E
+0x78,0xCC,0x0C,0x18,0x30,0x00,0x30,0x00, // ? 63 3F
+0x7C,0xC6,0xDE,0xDE,0xDE,0xC0,0x78,0x00, // @ 64 40
+0x30,0x78,0xCC,0xCC,0xFC,0xCC,0xCC,0x00, // A 65 41
+0xFC,0x66,0x66,0x7C,0x66,0x66,0xFC,0x00, // B 66 42
+0x3C,0x66,0xC0,0xC0,0xC0,0x66,0x3C,0x00, // C 67 43
+0xF8,0x6C,0x66,0x66,0x66,0x6C,0xF8,0x00, // D 68 44
+0xFE,0x62,0x68,0x78,0x68,0x62,0xFE,0x00, // E 69 45
+0xFE,0x62,0x68,0x78,0x68,0x60,0xF0,0x00, // F 70 46
+0x3C,0x66,0xC0,0xC0,0xCE,0x66,0x3E,0x00, // G 71 47
+0xCC,0xCC,0xCC,0xFC,0xCC,0xCC,0xCC,0x00, // H 72 48
+0x78,0x30,0x30,0x30,0x30,0x30,0x78,0x00, // I 73 49
+0x1E,0x0C,0x0C,0x0C,0xCC,0xCC,0x78,0x00, // J 74 4A
+0xE6,0x66,0x6C,0x78,0x6C,0x66,0xE6,0x00, // K 75 4B
+0xF0,0x60,0x60,0x60,0x62,0x66,0xFE,0x00, // L 76 4C
+0xC6,0xEE,0xFE,0xFE,0xD6,0xC6,0xC6,0x00, // M 77 4D
+0xC6,0xE6,0xF6,0xDE,0xCE,0xC6,0xC6,0x00, // N 78 4E
+0x38,0x6C,0xC6,0xC6,0xC6,0x6C,0x38,0x00, // O 79 4F
+0xFC,0x66,0x66,0x7C,0x60,0x60,0xF0,0x00, // P 80 50
+0x78,0xCC,0xCC,0xCC,0xDC,0x78,0x1C,0x00, // Q 81 51
+0xFC,0x66,0x66,0x7C,0x6C,0x66,0xE6,0x00, // R 82 52
+0x78,0xCC,0xE0,0x70,0x1C,0xCC,0x78,0x00, // S 83 53
+0xFC,0xB4,0x30,0x30,0x30,0x30,0x78,0x00, // T 84 54
+0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xFC,0x00, // U 85 55
+0xCC,0xCC,0xCC,0xCC,0xCC,0x78,0x30,0x00, // V 86 56
+0xC6,0xC6,0xC6,0xD6,0xFE,0xEE,0xC6,0x00, // W 87 57
+0xC6,0xC6,0x6C,0x38,0x38,0x6C,0xC6,0x00, // X 88 58
+0xCC,0xCC,0xCC,0x78,0x30,0x30,0x78,0x00, // Y 89 59
+0xFE,0xC6,0x8C,0x18,0x32,0x66,0xFE,0x00, // Z 90 5A
+0x78,0x60,0x60,0x60,0x60,0x60,0x78,0x00, // [ 91 5B
+0xC0,0x60,0x30,0x18,0x0C,0x06,0x02,0x00, // \ 92 5C
+0x78,0x18,0x18,0x18,0x18,0x18,0x78,0x00, // ] 93 5D
+0x10,0x38,0x6C,0xC6,0x00,0x00,0x00,0x00, // ^ 94 5E
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, // _ 95 5F
+0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00, // ` 96 60
+0x00,0x00,0x78,0x0C,0x7C,0xCC,0x76,0x00, // a 97 61
+0xE0,0x60,0x60,0x7C,0x66,0x66,0xDC,0x00, // b 98 62
+0x00,0x00,0x78,0xCC,0xC0,0xCC,0x78,0x00, // c 99 63
+0x1C,0x0C,0x0C,0x7C,0xCC,0xCC,0x76,0x00, // d 100 64
+0x00,0x00,0x78,0xCC,0xFC,0xC0,0x78,0x00, // e 101 65
+0x38,0x6C,0x60,0xF0,0x60,0x60,0xF0,0x00, // f 102 66
+0x00,0x00,0x76,0xCC,0xCC,0x7C,0x0C,0xF8, // g 103 67
+0xE0,0x60,0x6C,0x76,0x66,0x66,0xE6,0x00, // h 104 68
+0x30,0x00,0x70,0x30,0x30,0x30,0x78,0x00, // i 105 69
+0x0C,0x00,0x0C,0x0C,0x0C,0xCC,0xCC,0x78, // j 106 6A
+0xE0,0x60,0x66,0x6C,0x78,0x6C,0xE6,0x00, // k 107 6B
+0x70,0x30,0x30,0x30,0x30,0x30,0x78,0x00, // l 108 6C
+0x00,0x00,0xCC,0xFE,0xFE,0xD6,0xC6,0x00, // m 109 6D
+0x00,0x00,0xF8,0xCC,0xCC,0xCC,0xCC,0x00, // n 110 6E
+0x00,0x00,0x78,0xCC,0xCC,0xCC,0x78,0x00, // o 111 6F
+0x00,0x00,0xDC,0x66,0x66,0x7C,0x60,0xF0, // p 112 70
+0x00,0x00,0x76,0xCC,0xCC,0x7C,0x0C,0x1E, // q 113 71
+0x00,0x00,0xDC,0x76,0x66,0x60,0xF0,0x00, // r 114 72
+0x00,0x00,0x7C,0xC0,0x78,0x0C,0xF8,0x00, // s 115 73
+0x10,0x30,0x7C,0x30,0x30,0x34,0x18,0x00, // t 116 74
+0x00,0x00,0xCC,0xCC,0xCC,0xCC,0x76,0x00, // u 117 75
+0x00,0x00,0xCC,0xCC,0xCC,0x78,0x30,0x00, // v 118 76
+0x00,0x00,0xC6,0xD6,0xFE,0xFE,0x6C,0x00, // w 119 77
+0x00,0x00,0xC6,0x6C,0x38,0x6C,0xC6,0x00, // x 120 78
+0x00,0x00,0xCC,0xCC,0xCC,0x7C,0x0C,0xF8, // y 121 79
+0x00,0x00,0xFC,0x98,0x30,0x64,0xFC,0x00, // z 122 7A
+0x1C,0x30,0x30,0xE0,0x30,0x30,0x1C,0x00, // { 123 7B
+0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x00, // | 124 7C
+0xE0,0x30,0x30,0x1C,0x30,0x30,0xE0,0x00, // } 125 7D
+0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00, // ~ 126 7E
+0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0x00, // 127 7F
+0x30,0x78,0xCC,0xCC,0xFC,0xCC,0xCC,0x00, // À 128 80
+0xFE,0x62,0x60,0x7C,0x66,0x66,0xFC,0x00, // Á 129 81
+0xFC,0x66,0x66,0x7C,0x66,0x66,0xFC,0x00, // Â 130 82
+0xFE,0x62,0x60,0x60,0x60,0x60,0xF0,0x00, // Ã 131 83
+0x3C,0x4C,0x4C,0x4C,0x4C,0x4C,0xFE,0x82, // Ä 132 84
+0xFE,0x62,0x68,0x78,0x68,0x62,0xFE,0x00, // Å 133 85
+0xD6,0xD6,0x54,0x38,0xD6,0xD6,0xD6,0x00, // Æ 134 86
+0x78,0xCC,0x0C,0x38,0x0C,0xCC,0x78,0x00, // Ç 135 87
+0xC6,0xC6,0xCE,0xDE,0xF6,0xE6,0xC6,0x00, // È 136 88
+0xD6,0xC6,0xCE,0xDE,0xF6,0xE6,0xC6,0x00, // É 137 89
+0xE6,0x66,0x6C,0x78,0x6C,0x66,0xE6,0x00, // Ê 138 8A
+0x3E,0x66,0x66,0x66,0x66,0x66,0xE6,0x00, // Ë 139 8B
+0xC6,0xEE,0xFE,0xFE,0xD6,0xC6,0xC6,0x00, // Ì 140 8C
+0xCC,0xCC,0xCC,0xFC,0xCC,0xCC,0xCC,0x00, // Í 141 8D
+0x38,0x6C,0xC6,0xC6,0xC6,0x6C,0x38,0x00, // Î 142 8E
+0xFC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x00, // Ï 143 8F
+0xFC,0x66,0x66,0x7C,0x60,0x60,0xF0,0x00, // Ð 144 90
+0x3C,0x66,0xC0,0xC0,0xC0,0x66,0x3C,0x00, // Ñ 145 91
+0xFC,0xB4,0x30,0x30,0x30,0x30,0x78,0x00, // Ò 146 92
+0xCC,0xCC,0xCC,0x7C,0x0C,0xCC,0x78,0x00, // Ó 147 93
+0x7C,0xD6,0xD6,0xD6,0x7C,0x10,0x38,0x00, // Ô 148 94
+0xC6,0xC6,0x6C,0x38,0x38,0x6C,0xC6,0x00, // Õ 149 95
+0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xFE,0x02, // Ö 150 96
+0xCC,0xCC,0xCC,0xCC,0x7C,0x0C,0x0C,0x00, // × 151 97
+0xC6,0xC6,0xC6,0xD6,0xD6,0xD6,0xFE,0x00, // Ø 152 98
+0xC6,0xC6,0xC6,0xD6,0xD6,0xD6,0xFF,0x01, // Ù 153 99
+0xF8,0xB0,0x30,0x3C,0x36,0x36,0x7C,0x00, // Ú 154 9A
+0xC6,0xC6,0xC6,0xE6,0xD6,0xD6,0xE6,0x00, // Û 155 9B
+0xF0,0x60,0x60,0x7C,0x66,0x66,0xFC,0x00, // Ü 156 9C
+0x78,0xCC,0x06,0x1E,0x06,0xCC,0x78,0x00, // Ý 157 9D
+0xCC,0xD6,0xD6,0xF6,0xD6,0xD6,0xCC,0x00, // Þ 158 9E
+0x7C,0xCC,0xCC,0x7C,0x6C,0xCC,0xCE,0x00, // ß 159 9F
+0x00,0x00,0x78,0x0C,0x7C,0xCC,0x76,0x00, // à 160 A0
+0x1C,0x30,0x60,0x7C,0x66,0x66,0x3C,0x00, // á 161 A1
+0x00,0x00,0xFC,0x66,0x7C,0x66,0xFC,0x00, // â 162 A2
+0x00,0x00,0xFE,0x62,0x60,0x60,0xF0,0x00, // ã 163 A3
+0x00,0x00,0x3C,0x4C,0x4C,0x4C,0xFE,0x82, // ä 164 A4
+0x00,0x00,0x78,0xCC,0xFC,0xC0,0x78,0x00, // å 165 A5
+0x00,0x00,0xD6,0xD6,0x7C,0xD6,0xD6,0x00, // æ 166 A6
+0x00,0x00,0x7C,0xC6,0x0C,0xC6,0x7C,0x00, // ç 167 A7
+0x00,0x00,0xC6,0xCE,0xD6,0xE6,0xC6,0x00, // è 168 A8
+0x38,0x00,0xC6,0xCE,0xD6,0xE6,0xC6,0x00, // é 169 A9
+0x00,0x00,0xE6,0x6C,0x78,0x6C,0xE6,0x00, // ê 170 AA
+0x00,0x00,0x3E,0x66,0x66,0x66,0xE6,0x00, // ë 171 AB
+0x00,0x00,0xC6,0xEE,0xFE,0xD6,0xC6,0x00, // ì 172 AC
+0x00,0x00,0xCC,0xCC,0xFC,0xCC,0xCC,0x00, // í 173 AD
+0x00,0x00,0x78,0xCC,0xCC,0xCC,0x78,0x00, // î 174 AE
+0x00,0x00,0xFC,0xCC,0xCC,0xCC,0xCC,0x00, // ï 175 AF
+0x22,0x88,0x22,0x88,0x22,0x88,0x22,0x88, // - 176 B0
+0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA, // - 177 B1
+0xDB,0x77,0xDB,0xEE,0xDB,0x77,0xDB,0xEE, // - 178 B2
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, // ? 179 B3
+0x18,0x18,0x18,0x18,0xF8,0x18,0x18,0x18, // + 180 B4
+0x18,0x18,0xF8,0x18,0xF8,0x18,0x18,0x18, // ? 181 B5
+0x36,0x36,0x36,0x36,0xF6,0x36,0x36,0x36, // ? 182 B6
+0x00,0x00,0x00,0x00,0xFE,0x36,0x36,0x36, // ? 183 B7
+0x00,0x00,0xF8,0x18,0xF8,0x18,0x18,0x18, // ? 184 B8
+0x36,0x36,0xF6,0x06,0xF6,0x36,0x36,0x36, // ? 185 B9
+0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, // ? 186 BA
+0x00,0x00,0xFE,0x06,0xF6,0x36,0x36,0x36, // ? 187 BB
+0x36,0x36,0xF6,0x06,0xFE,0x00,0x00,0x00, // - 188 BC
+0x36,0x36,0x36,0x36,0xFE,0x00,0x00,0x00, // - 189 BD
+0x18,0x18,0xF8,0x18,0xF8,0x00,0x00,0x00, // - 190 BE
+0x00,0x00,0x00,0x00,0xF8,0x18,0x18,0x18, // ? 191 BF
+0x18,0x18,0x18,0x18,0x1F,0x00,0x00,0x00, // L 192 C0
+0x18,0x18,0x18,0x18,0xFF,0x00,0x00,0x00, // + 193 C1
+0x00,0x00,0x00,0x00,0xFF,0x18,0x18,0x18, // T 194 C2
+0x18,0x18,0x18,0x18,0x1F,0x18,0x18,0x18, // + 195 C3
+0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00, // - 196 C4
+0x18,0x18,0x18,0x18,0xFF,0x18,0x18,0x18, // + 197 C5
+0x18,0x18,0x1F,0x18,0x1F,0x18,0x18,0x18, // ? 198 C6
+0x36,0x36,0x36,0x36,0x37,0x36,0x36,0x36, // ? 199 C7
+0x36,0x36,0x37,0x30,0x3F,0x00,0x00,0x00, // L 200 C8
+0x00,0x00,0x3F,0x30,0x37,0x36,0x36,0x36, // ã 201 C9
+0x36,0x36,0xF7,0x00,0xFF,0x00,0x00,0x00, // ? 202 CA
+0x00,0x00,0xFF,0x00,0xF7,0x36,0x36,0x36, // T 203 CB
+0x36,0x36,0x37,0x30,0x37,0x36,0x36,0x36, // ? 204 CC
+0x00,0x00,0xFF,0x00,0xFF,0x00,0x00,0x00, // = 205 CD
+0x36,0x36,0xF7,0x00,0xF7,0x36,0x36,0x36, // + 206 CE
+0x18,0x18,0xFF,0x00,0xFF,0x00,0x00,0x00, // ? 207 CF
+0x36,0x36,0x36,0x36,0xFF,0x00,0x00,0x00, // ? 208 D0
+0x00,0x00,0xFF,0x00,0xFF,0x18,0x18,0x18, // T 209 D1
+0x00,0x00,0x00,0x00,0xFF,0x36,0x36,0x36, // T 210 D2
+0x36,0x36,0x36,0x36,0x3F,0x00,0x00,0x00, // L 211 D3
+0x18,0x18,0x1F,0x18,0x1F,0x00,0x00,0x00, // L 212 D4
+0x00,0x00,0x1F,0x18,0x1F,0x18,0x18,0x18, // - 213 D5
+0x00,0x00,0x00,0x00,0x3F,0x36,0x36,0x36, // ã 214 D6
+0x36,0x36,0x36,0x36,0xFF,0x36,0x36,0x36, // + 215 D7
+0x18,0x18,0xFF,0x18,0xFF,0x18,0x18,0x18, // + 216 D8
+0x18,0x18,0x18,0x18,0xF8,0x00,0x00,0x00, // - 217 D9
+0x00,0x00,0x00,0x00,0x1F,0x18,0x18,0x18, // - 218 DA
+0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, // - 219 DB
+0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF, // - 220 DC
+0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, // ? 221 DD
+0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F, // ? 222 DE
+0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00, // - 223 DF
+0x00,0x00,0xFC,0x66,0x7C,0x60,0xF0,0x00, // ð 224 E0
+0x00,0x00,0x78,0xCC,0xC0,0xCC,0x78,0x00, // ñ 225 E1
+0x00,0x00,0xFC,0xB4,0x30,0x30,0x78,0x00, // ò 226 E2
+0x00,0x00,0xCC,0xCC,0x7C,0x0C,0xF8,0x00, // ó 227 E3
+0x00,0x00,0x7C,0xD6,0xD6,0x7C,0x10,0x00, // ô 228 E4
+0x00,0x00,0xC6,0x6C,0x38,0x6C,0xC6,0x00, // õ 229 E5
+0x00,0x00,0xCC,0xCC,0xCC,0xCC,0x76,0x02, // ö 230 E6
+0x00,0x00,0xCC,0xCC,0x7C,0x0C,0x0C,0x00, // ÷ 231 E7
+0x00,0x00,0xC6,0xC6,0xD6,0xD6,0xFE,0x00, // ø 232 E8
+0x00,0x00,0xC6,0xC6,0xD6,0xD6,0xFF,0x01, // ù 233 E9
+0x00,0x00,0xF0,0xB0,0x3C,0x32,0xFC,0x00, // ú 234 EA
+0x00,0x00,0xC6,0xE6,0xD6,0xD6,0xE6,0x00, // û 235 EB
+0x00,0x00,0xE0,0x60,0x7C,0x62,0xFC,0x00, // ü 236 EC
+0x00,0x00,0xFC,0x06,0x1E,0x06,0xFC,0x00, // ý 237 ED
+0x00,0x00,0xCC,0xD6,0xF6,0xD6,0xCC,0x00, // þ 238 EE
+0x00,0x00,0x76,0xCC,0x7C,0x2C,0xCE,0x00, // ÿ 239 EF
+0x00,0x7C,0x00,0x7C,0x00,0x7C,0x00,0x00, // ¨ 240 F0
+0x30,0x30,0xFC,0x30,0x30,0x00,0xFC,0x00, // ¸ 241 F1
+0x60,0x30,0x18,0x30,0x60,0x00,0xFC,0x00, // ª 242 F2
+0x18,0x30,0x60,0x30,0x18,0x00,0xFC,0x00, // º 243 F3
+0x0E,0x1B,0x1B,0x18,0x18,0x18,0x18,0x18, // ¯ 244 F4
+0x18,0x18,0x18,0x18,0x18,0xD8,0xD8,0x70, // ¿ 245 F5
+0x30,0x30,0x00,0xFC,0x00,0x30,0x30,0x00, // ¡ 246 F6
+0x00,0x76,0xDC,0x00,0x76,0xDC,0x00,0x00, // ¢ 247 F7
+0x38,0x6C,0x6C,0x38,0x00,0x00,0x00,0x00, // ° 248 F8
+0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00, // 249 F9
+0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00, // · 250 FA
+0x0F,0x0C,0x0C,0x0C,0xEC,0x6C,0x3C,0x1C, // v 251 FB
+0x78,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00, // ¹ 252 FC
+0x70,0x18,0x30,0x60,0x78,0x00,0x00,0x00, // ¤ 253 FD
+0x00,0x00,0x3C,0x3C,0x3C,0x3C,0x00,0x00, // ? 254 FE
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // 255 FF
+};
Propchange: trunk/reactos/drivers/setup/blue/font.c
------------------------------------------------------------------------------
svn:eol-style = native