mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
- 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. svn path=/trunk/; revision=31885
This commit is contained in:
parent
f3e620fb65
commit
c3c7285a9b
9 changed files with 502 additions and 36 deletions
|
@ -520,4 +520,13 @@ 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 */
|
||||
|
|
|
@ -93,6 +93,10 @@ CONSOLE_PrintTextXYN(
|
|||
IN SHORT len,
|
||||
IN LPCSTR fmt, ...);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetFont(
|
||||
IN ULONG LangId);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetCursorType(
|
||||
IN BOOL bInsert,
|
||||
|
|
|
@ -597,6 +597,8 @@ UpdateKBLayout(VOID)
|
|||
static PAGE_NUMBER
|
||||
LanguagePage(PINPUT_RECORD Ir)
|
||||
{
|
||||
DWORD LangId;
|
||||
|
||||
/* Initialize the computer settings list */
|
||||
if (LanguageList == NULL)
|
||||
{
|
||||
|
@ -654,6 +656,10 @@ LanguagePage(PINPUT_RECORD Ir)
|
|||
UpdateKBLayout();
|
||||
}
|
||||
|
||||
// Load the font
|
||||
LangId = wcstoul(SelectedLanguageId, NULL, 16);
|
||||
CONSOLE_SetFont(LangId);
|
||||
|
||||
return INTRO_PAGE;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -484,4 +484,29 @@ SetConsoleTextAttribute(
|
|||
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 */
|
||||
|
|
|
@ -101,13 +101,18 @@ WriteConsoleOutputCharacterA(
|
|||
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 */
|
||||
|
|
|
@ -20,6 +20,7 @@ typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES;
|
|||
#include <blue/ntddblue.h>
|
||||
#include <ndk/inbvfuncs.h>
|
||||
//#include <intrin.h>
|
||||
#include "blue.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
@ -32,41 +33,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 ******************************************************************/
|
||||
/*
|
||||
* [[character][attribute]][[character][attribute]]....
|
||||
|
@ -758,6 +724,23 @@ ScrIoControl(PDEVICE_OBJECT DeviceObject,
|
|||
}
|
||||
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;
|
||||
}
|
||||
|
|
61
reactos/drivers/setup/blue/blue.h
Normal file
61
reactos/drivers/setup/blue/blue.h
Normal file
|
@ -0,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@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();
|
|
@ -6,5 +6,6 @@
|
|||
<library>ntoskrnl</library>
|
||||
<library>hal</library>
|
||||
<file>blue.c</file>
|
||||
<file>font.c</file>
|
||||
<file>blue.rc</file>
|
||||
</module>
|
||||
|
|
372
reactos/drivers/setup/blue/font.c
Normal file
372
reactos/drivers/setup/blue/font.c
Normal file
|
@ -0,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@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
|
||||
};
|
Loading…
Reference in a new issue