Choć bibliotekę OpenGL postrzega się głównie jako bibliotekę obsługującą grafikę 3D, OpenGL posiada także wsparcie do klasycznej grafiki rastrowej. Do tej grupy można zaliczyć operacje na mapach bitowych (ang. bitmap), które często utożsamiane są z pokrewnym pojęciem map pikselowych (ang. pixmap) i określane jednym terminem „bitmapa”.
Zarówno mapy bitowe jak i mapy pikselowe są prostokątnymi tablicami liczb. Zasadnicza różnica pomiędzy nimi polega na ilości informacji zawatych w tablicach. Dane tablicy zawierającej mapą bitową przyjmują tylko dwie wartości: 0 lub 1, natomiast w mapie pikselowej dane pojedynczego elementu mogą być opisywane wieloma bajtami.
Pozycja rastra
Miejsce rysowania mapy bitowej, czyli tzw. pozycję rastra, określają funkcje z grupy glRasterPos. Co do zasady pozycję rastra opisują cztery współrzędne: (x, y, z, w). Ponieważ nie we wszystkich przypadkach konieczne jest stosowanie wszystkich współrzędnych, OpenGL zawiera funkcje definiujące tylko trzy pierwsze współrzędne (wtedy wartość współrzędnej w wynosi domyślnie 1) oraz funkcje definiujące dwie pierwsze współrzędne (wtedy wartość współrzędnej z wynosi domyślnie 0, a wartość współrzędnej w wynosi 1). Początkowa pozycja rastra określona jest współrzędnymi (0, 0, 0, 1).
Grupa glRastterPos obejmuje 24 funkcje, które można podzielić na 3 równoliczne podgrupy, każda wymagająca innej ilości współrzędnych. Parametrami funkcji z każdej podgrup są albo kolejne współrzędne pozycji rastra, albo wskaźniki na tablice zawierające te współrzędne. Współrzędne pozycji rastra podlegają przekształceniom z udziałem macierzy rzutowania i modelowania (tak samo jak współrzędne wierzchołków prymitywów definiowane przez funkcje z grupy glVertex), co należy uwzględnić przy wyświetlaniu mapy bitowej.
Warto w tym miejscu przypomnieć, że z funkcji glRasterPos2i korzystaliśmy już wcześniej przy rysowaniu numerów wierzchołków prymitywów graficznych.
Alternatywnym sposób określenia pozycji rastra wprowadzono w wersji 1.4 biblioteki OpenGL. Są to funkcje z grupy glWindowPos, które pozycję rastra określają we współrzędnych okna bez udziału macierzy rzutowania i modelowania. Wcześniej takie same możliwości udostępniało rozszerzenie ARB window pos, które z kolei bazowało na opracowanym w bibliotece MESA rozszerzeniu MESA window pos.
Grupa glWindowPos obejmuje 16 funkcji, które można podzielić na 2 równoliczne podgrupy, każda wymagająca innej ilości współrzędnych. Parametrami funkcji z każdej podgrup są albo kolejne współrzędne pozycji rastra, albo wskaźniki na tablice zawierające te współrzędne. W przypadku użycia funkcji definiującej dwie współrzędne, wartość współrzędnej z wynosi 1.
W przypadku użycia funkcji z grupy glWindowPos trzeba pamiętać, że współrzędne pozycji rastra (xw , yw , zw , wc) obliczane są wg poniższego algorytmu:
gdzie near i far są zakresami wartości bufora głębokości, określonymi przez funkcję glDepthRange.
Nieprawidłowe określenie pozycji rastra, tj uzyskanie pozycji znajdującej się poza obszarem renderingu powoduje pominięcie przez OpenGL wszelkich operacji korzystających z pozycji rastra.
Funkcje z grupy glRasterPos2
void glRasterPos2d( GLdouble x, GLdouble y )
void glRasterPos2f( GLfloat x, GLfloat y )
void glRasterPos2i( GLint x, GLint y )
void glRasterPos2s( GLshort x, GLshort y )
void glRasterPos2dv( const GLdouble * v )
void glRasterPos2fv( const GLfloat * v )
void glRasterPos2iv( const GLint * v )
void glRasterPos2sv( const GLshort * v )
Funkcje z grupy glRasterPos3
void glRasterPos3d( GLdouble x, GLdouble y, GLdouble z ) void glRasterPos3f( GLfloat x, GLfloat y, GLfloat z ) void glRasterPos3i( GLint x, GLint y, GLint z )
void glRasterPos3s( GLshort x, GLshort y, GLshort z )
void glRasterPos3dv( const GLdouble * v ) void glRasterPos3fv( const GLfloat * v ) void glRasterPos3iv( const GLint * v ) void glRasterPos3sv( const GLshort * v )
Funkcje z grupy glRasterPos4
void glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w )
void glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
void glRasterPos4i( GLint x, GLint y, GLint z, GLint w )
void glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w )
void glRasterPos4dv( const GLdouble * v )
void glRasterPos4fv( const GLfloat * v )
void glRasterPos4iv( const GLint * v )
void glRasterPos4sv( const GLshort * v )
Funkcje z grupy glWindowPos2
void glWindowPos2d( GLdouble x, GLdouble y )
void glWindowPos2f( GLfloat x, GLfloat y )
void glWindowPos2i( GLint x, GLint y )
void glWindowPos2s( GLshort x, GLshort y )
void glWindowPos2dv( const GLdouble * v )
void glWindowPos2fv( const GLfloat * v )
void glWindowPos2iv( const GLint * v )
void glWindowPos2sv( const GLshort * v )
Funkcje z grupy glWindowPos3
void glWindowPos3d( GLdouble x, GLdouble y, GLdouble z )
void glWindowPos3f( GLfloat x, GLfloat y, GLfloat z )
void glWindowPos3i( GLint x, GLint y, GLint z )
void glWindowPos3s( GLshort x, GLshort y, GLshort z )
void glWindowPos3dv( const GLdouble * v )
void glWindowPos3fv( const GLfloat * v )
void glWindowPos3iv( const GLint * v )
void glWindowPos3sv( const GLshort * v )
Rysowanie mapy bitowej
Rysowanie mapy bitowej w bieżącej pozycji rastra wykonuje funkcja:
void glBitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap )
której parametry oznaczają odpowiednio:
Jeżeli pozycja rastra jest nieprawidłowa (np. współrzędne znajdują się poza bryłą odcinania) mapa bitowa nie jest rysowana. Ważną cechą przy wyświetlaniu mapy bitowej jest, to że rysowane są jedynie piksele o wartości 1. Piksele o wartości 0 są pomijane i nie wpływają na zawartość bufora kolorów. Kolor mapy bitowej określany jest w momencie ustalenia współrzędnych pozycji rastra (będzie to oczywiście kolor określony przez funkcję z grupy glColor). Wywołanie funkcji z grupy glColor po ustaleniu pozycji rastra nie ma wpływu na kolor pikseli wyświetlanej mapy bitowej.
Dane mapy bitowej
Dane mapy bitowej zapisywane są wierszami w odwrotnej kolejności tj. od wiersza dolnego do górnego. Odrębnym zagadnieniem jest sposób rozmieszczenia danych w wierszach mapy bitowej. Standardowo każdy wiersz wyrównywany jest do granicy 4 bajtów, co oczywiście przyspiesza operacje na 32-bitowych procesorach. Niestety w wielu przypadkach zwiększa to jednocześnie ilość pamięci potrzebnej do przechowywania mapy bitowej.
Pełną kontrolę nad trybem pobierania i zapisywania danych z pamięci umożliwiają funkcje z grupy glPixelStore:
void glPixelStoref( GLenum pname, GLfloat param )
void glPixelStorei( GLenum pname, GLint param )
pname określa który parametr opisujący tryb pobierania lub zapisywania danych z pamięci ma zostać zmodyfikowany, a nową wartość danego parametru zawiera param. Dopuszczalne są następujące wartości parametru pname:
Tabela 1 zawiera zbiorcze zestawienie wartości początkowych parametrów funkcji z grupy glPixelStore oraz dopuszczalne zakresy ich wartości. Przekroczenie dopuszczalnych zakresów parametru param spowoduje wygenerowanie błędu GL INVALID VALUE.
Tabela 1: Parametry funkcji z grupy glPixelStore
Przykład
Pierwszy przykładowy program (plik mapy bitowe.cpp) prezentuje podstawowe techniki związane z wykorzystaniem map bitowych. Rysując literę F, zdefiniowaną jako mapę bitową o wymiarach 8 × 16 pikseli, program pozwala także na przetestowanie efektu zmiany kolejności bitów przy odczycie danych mapy bitowej, w wyniku czego otrzymujemy lustrzane odbicie litery (patrz rysunek 2). Użycie w programie litery jako danych mapy bitowej nie jest przypadkiem - konstrukcja i możliwości funkcji glBitmap predysponują mapy bitowe do tworzenia fontów bitmapowych, co przedstawi następny program.
Plik mapy bitowe.cpp
#include <GL/glut.h>
#include <vector>
GLubyte letterF[ 16 ] =
{
0xC0,
0xC0,
0xC0,
0xC0,
0xC0,
0xC0,
0xC0,
0xFC,
0xFC,
0xC0,
0xC0,
0xC0,
0xC0,
0xC0,
0xFF,
0xFF
};
enum
{
LSB_TRUE,
LSB_FALSE,
CLEAR_RASTER,
EXIT
};
std::vector < GLint > raster_x;
std::vector < GLint > raster_y;
std::vector < GLboolean > LSB;
GLboolean currentLSB = GL_FALSE;
void Display()
{
glClearColor( 1.0, 1.0, 1.0, 1.0 );
glClear( GL_COLOR_BUFFER_BIT );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
glColor3f( 0.0, 1.0, 0.0 );
glRectf( 100, 100, glutGet( GLUT_WINDOW_WIDTH ) - 100, glutGet( GLUT_WINDOW_HEIGHT ) - 100 );
glColor3f( 1.0, 0.0, 0.0 );
glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
for( unsigned int i = 0; i < raster_x.size(); i++ )
{
glPixelStorei( GL_UNPACK_LSB_FIRST, LSB[ i ] );
glRasterPos2i( raster_x[ i ], raster_y[ i ] );
glBitmap( 8, 16, 0, 0, 0, 0, letterF );
}
glFlush();
glutSwapBuffers();
}
void Reshape( int width, int height )
{
glViewport( 0, 0, width, height );
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluOrtho2D( 0, width, 0, height );
Display();
}
void MouseButton( int button, int state, int x, int y )
{
if( button == GLUT_LEFT_BUTTON && state == GLUT_DOWN )
{
raster_x.insert( raster_x.end(), x );
raster_y.insert( raster_y.end(), glutGet( GLUT_WINDOW_HEIGHT ) - y );
LSB.insert( LSB.end(), currentLSB );
Display();
}
}
void Menu( int value )
{
switch( value )
{
case LSB_TRUE:
currentLSB = GL_TRUE;
break;
case LSB_FALSE:
currentLSB = GL_FALSE;
break;
case CLEAR_RASTER:
raster_x.erase( raster_x.begin(), raster_x.end() );
raster_y.erase( raster_y.begin(), raster_y.end() );
LSB.erase( LSB.begin(), LSB.end() );
Display();
break;
case EXIT:
exit( 0 );
}
}
int main( int argc, char * argv[] )
{
glutInit( & argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB );
glutInitWindowSize( 500, 500 );
glutCreateWindow( "Mapy bitowe" );
glutDisplayFunc( Display );
glutReshapeFunc( Reshape );
glutMouseFunc( MouseButton );
int MenuLSB = glutCreateMenu( Menu );
glutAddMenuEntry( "GL_PACK_LSB_FIRST = GL_TURE", LSB_TRUE );
glutAddMenuEntry( "GL_PACK_LSB_FIRST = GL_FALSE", LSB_FALSE );
glutCreateMenu( Menu );
#ifdef WIN32
glutAddSubMenu( "Kolejność bitów", MenuLSB );
glutAddMenuEntry( "Usuń współrzędne rastra", CLEAR_RASTER );
glutAddMenuEntry( "Wyjście", EXIT );
#else
glutAddSubMenu( "Kolejnosc bitow", MenuLSB );
glutAddMenuEntry( "Usun wspolrzedne rastra", CLEAR_RASTER );
glutAddMenuEntry( "Wyjscie", EXIT );
#endif
glutAttachMenu( GLUT_RIGHT_BUTTON );
glutMainLoop();
return 0;
}
Fonty bitmapowe
Drugi program (plik fonty bitmapowe.cpp) przedstawia jeden ze sposobów utworzenia i korzystania w bibliotece OpenGL z fontów (czcionek) bitmapowych, niezależnych od udostępnianych przez bibliotekę GLUT. Podstawową sprawą jest posiadanie danych wybranej czcionki — w przykładowym programie wykorzystano fonty dostępne pod adresem:
http://czyborra.com/. Są to czcionki zawierające znaki w kodowaniu CP1250 (rysunek 3) i ISO8859-2 (rysunek 4) uzupełnione o standardowe znaki US-ASCII (rysunek 5). Brakujące znaki uzupełniono spacjami. Definicje czcionek zawarte są w plikach cp1250.h i iso8859-2.h, a efekty działania programu przedstawiają rysunki 6 i 7.
Zastosowane w programie rozwiązanie przechowujące definicje poszczególnych znaków w dwuwymiarowej tablicy nie jest oczywiście jedynym możliwym rozwiązaniem. Alternatywnie można zbudować jedną tablicę z opisem znaków a przy ich wyświetlaniu korzystać np. z parametru GL UNPACK SKIP - ROWS funkcji z grupy glPixelStore bądź zwykłych operacji na wskaźnikach.
Plik cp1250.h
#ifndef __CP1250_H__
#define __CP1250_H__
unsigned char cp1250_8x16_font[ 224 ][ 16 ] =
{
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x00, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x00, 0x00
},
{
0x00, 0x00, 0x48, 0x48, 0x48, 0x7e, 0x24, 0x24,
0x7e, 0x12, 0x12, 0x12, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x3e, 0x49, 0x09, 0x0e, 0x38,
0x48, 0x49, 0x3e, 0x08, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x46, 0x29, 0x29, 0x16, 0x08, 0x08,
0x34, 0x4a, 0x4a, 0x31, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x39, 0x46, 0x42, 0x45, 0x39, 0x1c,
0x22, 0x22, 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00
},
{
0x00, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, 0x10,
0x10, 0x10, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00
},
{
0x00, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x08, 0x49, 0x2a, 0x1c, 0x2a,
0x49, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x7f, 0x08,
0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x10, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x20, 0x10, 0x10, 0x08,
0x08, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x28, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x20, 0x10, 0x0c,
0x02, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x02, 0x02, 0x1c,
0x02, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x04, 0x04, 0x04, 0x7e, 0x44, 0x44,
0x24, 0x14, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x02, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x7c,
0x40, 0x40, 0x20, 0x1c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04,
0x04, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x38, 0x04, 0x02, 0x02, 0x02, 0x3e,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x10, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00,
0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x10,
0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x08,
0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x00, 0x08, 0x08, 0x04,
0x02, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x1e, 0x20, 0x4e, 0x52, 0x52, 0x52,
0x56, 0x4a, 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x7c,
0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x40,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x4e, 0x40,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7e,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x3e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x38, 0x44, 0x44, 0x04, 0x04, 0x04,
0x04, 0x04, 0x04, 0x1f, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x44, 0x48, 0x50, 0x60, 0x60,
0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40,
0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x5a, 0x5a,
0x66, 0x66, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x46, 0x46, 0x4a, 0x4a, 0x52,
0x52, 0x62, 0x62, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x03, 0x3c, 0x66, 0x5a, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x44, 0x44, 0x48, 0x7c,
0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x02, 0x0c, 0x30,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x14, 0x14, 0x22, 0x22,
0x22, 0x41, 0x41, 0x41, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x66, 0x66, 0x5a, 0x5a,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18,
0x24, 0x24, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x14,
0x22, 0x22, 0x41, 0x41, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x20, 0x10, 0x08,
0x04, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x0e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x08, 0x0e, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x02, 0x02, 0x04, 0x08, 0x08, 0x10,
0x10, 0x20, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0x10, 0x70, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x42, 0x24, 0x18, 0x00, 0x00
},
{
0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 0x10, 0x10, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x5c, 0x62, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x46, 0x3a, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x7e, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x7c, 0x10, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00
},
{
0x3c, 0x42, 0x42, 0x3c, 0x20, 0x38, 0x44, 0x44,
0x44, 0x3a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x18, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00
},
{
0x30, 0x48, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
0x04, 0x0c, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x44, 0x48, 0x50, 0x60, 0x50,
0x48, 0x44, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x49, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x40, 0x40, 0x5c, 0x62, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x02, 0x02, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x46, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x02, 0x0c, 0x30, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x0c, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x18, 0x18, 0x24, 0x24, 0x24, 0x42,
0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x36, 0x49, 0x49, 0x49, 0x49, 0x49,
0x49, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x24, 0x18, 0x18, 0x24,
0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x3c, 0x02, 0x02, 0x1a, 0x26, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x04,
0x02, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x0c, 0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
0x08, 0x08, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00
},
{
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00
},
{
0x00, 0x30, 0x08, 0x08, 0x10, 0x10, 0x08, 0x08,
0x10, 0x10, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x46, 0x49, 0x31, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x0c, 0x12, 0x20, 0x20, 0x7c, 0x20,
0x7c, 0x20, 0x12, 0x0c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x10, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x44, 0x22, 0x22, 0x66, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x1c, 0x08,
0x2a, 0x7f, 0x2a, 0x08, 0x1c, 0x08, 0x00, 0x00
},
{
0x00, 0x08, 0x1c, 0x08, 0x2a, 0x7f, 0x2a, 0x08,
0x08, 0x2a, 0x7f, 0x2a, 0x08, 0x1c, 0x08, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x8a, 0x55, 0x55, 0x2a, 0x10, 0x10,
0x48, 0xa4, 0xa4, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x02, 0x0c, 0x30,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08,
0x04, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x02, 0x0c, 0x30,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x20, 0x10, 0x08,
0x04, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x20, 0x10, 0x08,
0x04, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x18, 0x10, 0x10, 0x08, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x08, 0x08, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x66, 0x44, 0x44, 0x22, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x44, 0x22, 0x22, 0x66, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x38, 0x7c, 0x7c, 0x7c,
0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x29, 0x2b, 0x2f, 0x79, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x02, 0x0c, 0x30, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10,
0x20, 0x20, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x0c, 0x30, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x0c, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x04,
0x02, 0x7e, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x04,
0x02, 0x7e, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0xc0, 0x60,
0x50, 0x48, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x42, 0x24, 0x3c, 0x24, 0x24,
0x3c, 0x24, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x03, 0x04, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x02, 0x3c, 0x42, 0x42,
0x3c, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24
},
{
0x00, 0x00, 0x3c, 0x42, 0x99, 0xa5, 0xa1, 0xa1,
0xa5, 0x99, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x30, 0x08, 0x3c, 0x42, 0x42, 0x02, 0x0c, 0x30,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x12, 0x12, 0x24, 0x24, 0x48, 0x24,
0x24, 0x12, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0xa5, 0xa9, 0xb9, 0xa5,
0xa5, 0xb9, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x20, 0x10, 0x08,
0x04, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x10, 0x10
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x28, 0x10
},
{
0x00, 0x00, 0x00, 0x7f, 0x00, 0x08, 0x08, 0x08,
0x7f, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
},
{
0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x28, 0x18,
0x0c, 0x0a, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0c
},
{
0x20, 0x20, 0x2a, 0x36, 0x22, 0x22, 0x22, 0x22,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x0e, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x3a,
0x7a, 0x7a, 0x7a, 0x7a, 0x3e, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x03, 0x04, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x30, 0x08, 0x3c, 0x42, 0x02, 0x0c, 0x30, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x48, 0x48, 0x24, 0x24, 0x12, 0x24,
0x24, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40,
0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x33
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x18, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x04,
0x02, 0x7e, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x44, 0x44, 0x48, 0x7c,
0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x24, 0x18
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x3c, 0x42, 0x42
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x24, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40,
0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x60, 0x18
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x40,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c
},
{
0x30, 0x08, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x40,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x40,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x30, 0x0c
},
{
0x06, 0x08, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x24, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x3e, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x3e, 0x00, 0x00, 0x24, 0x18
},
{
0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x30, 0x48
},
{
0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0x42, 0xf2,
0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x46, 0x46, 0x4a, 0x4a, 0x52,
0x52, 0x62, 0x62, 0x42, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x42, 0x46, 0x46, 0x4a, 0x4a, 0x52,
0x52, 0x62, 0x62, 0x42, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x24, 0x18
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x44, 0x33
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x24, 0x24
},
{
0x00, 0x00, 0x00, 0x00, 0x42, 0x24, 0x18, 0x24,
0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x44, 0x44, 0x48, 0x7c,
0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x42, 0x00, 0x18, 0x24, 0x18
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x44, 0x33
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x24, 0x24
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x14,
0x22, 0x22, 0x41, 0x41, 0x00, 0x00, 0x30, 0x0c
},
{
0x30, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x5c, 0x62, 0x42, 0x42, 0x42, 0x7c,
0x44, 0x44, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x24, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x18, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x30, 0x08, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x7e, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x0c, 0x10, 0x3c, 0x42, 0x40, 0x40, 0x7e, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x7e, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x7e, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x18, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x18, 0x00, 0x00, 0x24, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x46, 0x3a, 0x02, 0x02, 0x02, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x46, 0x3a, 0x02, 0x02, 0x0f, 0x02, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x24, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x44, 0x33, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x7e, 0x00,
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x44, 0x33, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00
},
{
0x3c, 0x02, 0x02, 0x1a, 0x26, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x30, 0x08, 0x0c, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10
}
};
#endif
Plik iso8859-2.h
#ifndef __ISO8859_2_H__
#define __ISO8859_2_H__
unsigned char iso8859_2_8x16_font[ 224 ][ 16 ] =
{
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x00, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x00, 0x00
},
{
0x00, 0x00, 0x48, 0x48, 0x48, 0x7e, 0x24, 0x24,
0x7e, 0x12, 0x12, 0x12, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x3e, 0x49, 0x09, 0x0e, 0x38,
0x48, 0x49, 0x3e, 0x08, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x46, 0x29, 0x29, 0x16, 0x08, 0x08,
0x34, 0x4a, 0x4a, 0x31, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x39, 0x46, 0x42, 0x45, 0x39, 0x1c,
0x22, 0x22, 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00
},
{
0x00, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, 0x10,
0x10, 0x10, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00
},
{
0x00, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x08, 0x49, 0x2a, 0x1c, 0x2a,
0x49, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x7f, 0x08,
0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x10, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x20, 0x10, 0x10, 0x08,
0x08, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x28, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x20, 0x10, 0x0c,
0x02, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x02, 0x02, 0x1c,
0x02, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x04, 0x04, 0x04, 0x7e, 0x44, 0x44,
0x24, 0x14, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x02, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x7c,
0x40, 0x40, 0x20, 0x1c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04,
0x04, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x38, 0x04, 0x02, 0x02, 0x02, 0x3e,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x10, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00,
0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x10,
0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x08,
0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x00, 0x08, 0x08, 0x04,
0x02, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x1e, 0x20, 0x4e, 0x52, 0x52, 0x52,
0x56, 0x4a, 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x42, 0x7c,
0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x40,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x4e, 0x40,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7e,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x3e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x38, 0x44, 0x44, 0x04, 0x04, 0x04,
0x04, 0x04, 0x04, 0x1f, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x44, 0x48, 0x50, 0x60, 0x60,
0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40,
0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x5a, 0x5a,
0x66, 0x66, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x46, 0x46, 0x4a, 0x4a, 0x52,
0x52, 0x62, 0x62, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x03, 0x3c, 0x66, 0x5a, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x44, 0x44, 0x48, 0x7c,
0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x02, 0x0c, 0x30,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x14, 0x14, 0x22, 0x22,
0x22, 0x41, 0x41, 0x41, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x66, 0x66, 0x5a, 0x5a,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18,
0x24, 0x24, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x14,
0x22, 0x22, 0x41, 0x41, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x20, 0x10, 0x08,
0x04, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x0e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x08, 0x0e, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x02, 0x02, 0x04, 0x08, 0x08, 0x10,
0x10, 0x20, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0x10, 0x70, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x42, 0x24, 0x18, 0x00, 0x00
},
{
0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 0x10, 0x10, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x5c, 0x62, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x46, 0x3a, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x7e, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x7c, 0x10, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00
},
{
0x3c, 0x42, 0x42, 0x3c, 0x20, 0x38, 0x44, 0x44,
0x44, 0x3a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x18, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00
},
{
0x30, 0x48, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
0x04, 0x0c, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x44, 0x48, 0x50, 0x60, 0x50,
0x48, 0x44, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
0x49, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x40, 0x40, 0x5c, 0x62, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x02, 0x02, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x46, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x02, 0x0c, 0x30, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x0c, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x18, 0x18, 0x24, 0x24, 0x24, 0x42,
0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x36, 0x49, 0x49, 0x49, 0x49, 0x49,
0x49, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x24, 0x18, 0x18, 0x24,
0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x3c, 0x02, 0x02, 0x1a, 0x26, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x04,
0x02, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x0c, 0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
0x08, 0x08, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00
},
{
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00
},
{
0x00, 0x30, 0x08, 0x08, 0x10, 0x10, 0x08, 0x08,
0x10, 0x10, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x46, 0x49, 0x31, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x03, 0x04, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0xc0, 0x60,
0x50, 0x48, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x42, 0x24, 0x3c, 0x24, 0x24,
0x3c, 0x24, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40,
0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x02, 0x0c, 0x30,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x3c, 0x42, 0x02, 0x3c, 0x42, 0x42,
0x3c, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x02, 0x0c, 0x30,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x18, 0x24
},
{
0x30, 0x08, 0x3c, 0x42, 0x42, 0x02, 0x0c, 0x30,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x20, 0x10, 0x08,
0x04, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x20, 0x10, 0x08,
0x04, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x20, 0x10, 0x08,
0x04, 0x02, 0x02, 0x7e, 0x00, 0x00, 0x10, 0x10
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x28, 0x10
},
{
0x03, 0x04, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x28, 0x18,
0x0c, 0x0a, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x18, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x0c, 0x30, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24
},
{
0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x02, 0x0c, 0x30, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x30, 0x08, 0x3c, 0x42, 0x02, 0x0c, 0x30, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x0c, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x04,
0x02, 0x7e, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x33
},
{
0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x04,
0x02, 0x7e, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x04,
0x02, 0x7e, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x44, 0x44, 0x48, 0x7c,
0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x24, 0x18
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x3c, 0x42, 0x42
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7e, 0x42,
0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x24, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x40,
0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x60, 0x18
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x40,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c
},
{
0x30, 0x08, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x40,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x40, 0x40, 0x40,
0x40, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x30, 0x0c
},
{
0x06, 0x08, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x24, 0x24
},
{
0x00, 0x00, 0x7e, 0x40, 0x40, 0x40, 0x40, 0x7c,
0x40, 0x40, 0x40, 0x7e, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x3e, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x3e, 0x00, 0x00, 0x24, 0x18
},
{
0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x30, 0x48
},
{
0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0x42, 0xf2,
0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x46, 0x46, 0x4a, 0x4a, 0x52,
0x52, 0x62, 0x62, 0x42, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x42, 0x46, 0x46, 0x4a, 0x4a, 0x52,
0x52, 0x62, 0x62, 0x42, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x24, 0x18
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x44, 0x33
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x24, 0x24
},
{
0x00, 0x00, 0x00, 0x00, 0x42, 0x24, 0x18, 0x24,
0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x44, 0x44, 0x48, 0x7c,
0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x42, 0x00, 0x18, 0x24, 0x18
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x44, 0x33
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x24, 0x24
},
{
0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x14,
0x22, 0x22, 0x41, 0x41, 0x00, 0x00, 0x30, 0x0c
},
{
0x30, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x5c, 0x62, 0x42, 0x42, 0x42, 0x7c,
0x44, 0x44, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x24, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x3e, 0x02,
0x42, 0x3c, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x18, 0x00, 0x00, 0x30, 0x0c
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x30, 0x08, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x40, 0x40,
0x42, 0x3c, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x7e, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x0c, 0x10, 0x3c, 0x42, 0x40, 0x40, 0x7e, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x7e, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x40, 0x40, 0x7e, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x18, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x18, 0x00, 0x00, 0x24, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x46, 0x3a, 0x02, 0x02, 0x02, 0x00, 0x18, 0x24
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x46, 0x3a, 0x02, 0x02, 0x0f, 0x02, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x24, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x44, 0x33, 0x00, 0x00
},
{
0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42,
0x42, 0x3c, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x7e, 0x00,
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42,
0x62, 0x5c, 0x00, 0x00, 0x18, 0x24, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x44, 0x33, 0x00, 0x00
},
{
0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00
},
{
0x3c, 0x02, 0x02, 0x1a, 0x26, 0x42, 0x42, 0x42,
0x42, 0x42, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00
},
{
0x30, 0x08, 0x0c, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00
},
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10
},
};
#endif
Plik fonty bitmapowe.cpp
#include <GL/glut.h>
#include <stdlib.h>
#include "cp1250.h"
#include "iso8859-2.h"
enum
{
CP_1250,
ISO_8859_2,
EXIT
};
int font = CP_1250;
void DrawCP1250String( char * str )
{
while( * str )
glBitmap( 8, 16, 0, 0, 8, 0, cp1250_8x16_font[( int )( * str++ ) - 32 ] );
}
void DrawISO8859_2String( char * str )
{
while( * str )
glBitmap( 8, 16, 0, 0, 8, 0, iso8859_2_8x16_font[( int )( * str++ ) - 32 ] );
}
void Display()
{
glClearColor( 1.0, 1.0, 1.0, 1.0 );
glClear( GL_COLOR_BUFFER_BIT );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
glColor3f( 0.0, 0.0, 0.0 );
glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
glRasterPos2f( 30, 170 );
if( font == CP_1250 )
DrawCP1250String( "CP1250" );
else
DrawISO8859_2String( "ISO8859-2" );
int character = 0;
for( int row = 0; row < 7; row++ )
{
glRasterPos2f( 30, 150 - 20 * row );
if( font == CP_1250 )
for( int i = 0; i < 32; i++ )
glBitmap( 8, 16, 0, 0, 10, 0, cp1250_8x16_font[ character++ ] );
else
for( int i = 0; i < 32; i++ )
glBitmap( 8, 16, 0, 0, 10, 0, iso8859_2_8x16_font[ character++ ] );
}
glFlush();
glutSwapBuffers();
}
void Reshape( int width, int height )
{
glViewport( 0, 0, width, height );
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluOrtho2D( 0, width, 0, height );
Display();
}
void Menu( int value )
{
switch( value )
{
case CP_1250:
font = CP_1250;
Display();
break;
case ISO_8859_2:
font = ISO_8859_2;
Display();
break;
case EXIT:
exit( 0 );
}
}
int main( int argc, char * argv[] )
{
glutInit( & argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB );
glutInitWindowSize( 400, 200 );
glutCreateWindow( "Fonty bitmapowe" );
glutDisplayFunc( Display );
glutReshapeFunc( Reshape );
glutCreateMenu( Menu );
glutAddMenuEntry( "CP1250", CP_1250 );
glutAddMenuEntry( "ISO8859-2", ISO_8859_2 );
#ifdef WIN32
glutAddMenuEntry( "Wyjście", EXIT );
#else
glutAddMenuEntry( "Wyjscie", EXIT );
#endif
glutAttachMenu( GLUT_RIGHT_BUTTON );
glutMainLoop();
return 0;
}