[ros-diffs] [fireball] 31885: - 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.

fireball at svn.reactos.org fireball at svn.reactos.org
Sat Jan 19 15:51:13 CET 2008


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/interface/consup.c?rev=31885&r1=31884&r2=31885&view=diff
==============================================================================
--- 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/interface/consup.h?rev=31885&r1=31884&r2=31885&view=diff
==============================================================================
--- 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/interface/usetup.c?rev=31885&r1=31884&r2=31885&view=diff
==============================================================================
--- 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/utils/console.c?rev=31885&r1=31884&r2=31885&view=diff
==============================================================================
--- 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/utils/console.h?rev=31885&r1=31884&r2=31885&view=diff
==============================================================================
--- 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?rev=31885&r1=31884&r2=31885&view=diff
==============================================================================
--- 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?rev=31885&view=auto
==============================================================================
--- 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 at 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.rbuild?rev=31885&r1=31884&r2=31885&view=diff
==============================================================================
--- 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?rev=31885&view=auto
==============================================================================
--- 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 at 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




More information about the Ros-diffs mailing list