initial check-in
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 16 Sep 1999 22:45:24 +0000 (22:45 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 16 Sep 1999 22:45:24 +0000 (22:45 +0000)
40 files changed:
src/glut/beos/Makefile [new file with mode: 0644]
src/glut/beos/Makefile.orig [new file with mode: 0644]
src/glut/beos/beos_x11.cpp [new file with mode: 0644]
src/glut/beos/beos_x11.h [new file with mode: 0644]
src/glut/beos/glutBlocker.cpp [new file with mode: 0644]
src/glut/beos/glutBlocker.h [new file with mode: 0644]
src/glut/beos/glutCallback.cpp [new file with mode: 0644]
src/glut/beos/glutColor.cpp [new file with mode: 0644]
src/glut/beos/glutCursor.cpp [new file with mode: 0644]
src/glut/beos/glutCursors.h [new file with mode: 0644]
src/glut/beos/glutDstr.cpp [new file with mode: 0644]
src/glut/beos/glutEvent.cpp [new file with mode: 0644]
src/glut/beos/glutGet.cpp [new file with mode: 0644]
src/glut/beos/glutInit.cpp [new file with mode: 0644]
src/glut/beos/glutMenu.cpp [new file with mode: 0644]
src/glut/beos/glutMenu.h [new file with mode: 0644]
src/glut/beos/glutOverlay.cpp [new file with mode: 0644]
src/glut/beos/glutState.h [new file with mode: 0644]
src/glut/beos/glutWindow.cpp [new file with mode: 0644]
src/glut/beos/glutWindow.h [new file with mode: 0644]
src/glut/beos/glut_8x13.cpp [new file with mode: 0644]
src/glut/beos/glut_9x15.cpp [new file with mode: 0644]
src/glut/beos/glut_bitmap.cpp [new file with mode: 0644]
src/glut/beos/glut_bwidth.cpp [new file with mode: 0644]
src/glut/beos/glut_hel10.cpp [new file with mode: 0644]
src/glut/beos/glut_hel12.cpp [new file with mode: 0644]
src/glut/beos/glut_hel18.cpp [new file with mode: 0644]
src/glut/beos/glut_mroman.cpp [new file with mode: 0644]
src/glut/beos/glut_roman.cpp [new file with mode: 0644]
src/glut/beos/glut_shapes.cpp [new file with mode: 0644]
src/glut/beos/glut_stroke.cpp [new file with mode: 0644]
src/glut/beos/glut_swidth.cpp [new file with mode: 0644]
src/glut/beos/glut_teapot.cpp [new file with mode: 0644]
src/glut/beos/glut_tr10.cpp [new file with mode: 0644]
src/glut/beos/glut_tr24.cpp [new file with mode: 0644]
src/glut/beos/glut_util.cpp [new file with mode: 0644]
src/glut/beos/glutbitmap.h [new file with mode: 0644]
src/glut/beos/glutint.h [new file with mode: 0644]
src/glut/beos/glutstroke.h [new file with mode: 0644]
src/glut/beos/libglut.def [new file with mode: 0644]

diff --git a/src/glut/beos/Makefile b/src/glut/beos/Makefile
new file mode 100644 (file)
index 0000000..f7337cd
--- /dev/null
@@ -0,0 +1,105 @@
+## BeOS Generic Makefile v2.0 ##
+
+## Modified by Brian Paul to work with Mesa 3.1
+
+
+## Fill in this file to specify the project being created, and the referenced
+## makefile-engine will do all of the hard work for you.  This handles both
+## Intel and PowerPC builds of the BeOS.
+
+## Application Specific Settings ---------------------------------------------
+
+# specify the name of the binary
+NAME= libglut.so
+
+# specify the type of binary
+#      APP:    Application
+#      SHARED: Shared library or add-on
+#      STATIC: Static library archive
+#      DRIVER: Kernel Driver
+TYPE= SHARED
+
+#      specify the source files to use
+#      full paths or paths relative to the makefile can be included
+#      all files, regardless of directory, will have their object
+#      files created in the common object directory.
+#      Note that this means this makefile will not work correctly
+#      if two source files with the same name (source.c or source.cpp)
+#      are included from different directories.  Also note that spaces
+#      in folder names do not work well with this makefile.
+SRCS= glut_util.cpp glutBlocker.cpp glutInit.cpp glutWindow.cpp \
+glutEvent.cpp glutCallback.cpp glutOverlay.cpp glutGet.cpp glutColor.cpp \
+glutCursor.cpp glutMenu.cpp glutDstr.cpp glut_bitmap.cpp glut_bwidth.cpp \
+glut_8x13.cpp glut_9x15.cpp glut_hel10.cpp glut_hel12.cpp glut_hel18.cpp \
+glut_tr10.cpp glut_tr24.cpp glut_mroman.cpp glut_roman.cpp glut_stroke.cpp \
+glut_swidth.cpp glut_shapes.cpp glut_teapot.cpp beos_x11.cpp
+
+#      specify the resource files to use
+#      full path or a relative path to the resource file can be used.
+RSRCS= 
+
+#      specify additional libraries to link against
+#      there are two acceptable forms of library specifications
+#      -       if your library follows the naming pattern of:
+#              libXXX.so or libXXX.a you can simply specify XXX
+#              library: libbe.so entry: be
+#              
+#      -       if your library does not follow the standard library
+#              naming scheme you need to specify the path to the library
+#              and it's name
+#              library: my_lib.a entry: my_lib.a or path/my_lib.a
+LIBS= MesaGL MesaGLU be
+               
+#      specify additional paths to directories following the standard
+#      libXXX.so or libXXX.a naming scheme.  You can specify full paths
+#      or paths relative to the makefile.  The paths included may not
+#      be recursive, so include all of the paths where libraries can
+#      be found.  Directories where source files are found are
+#      automatically included.
+LIBPATHS= ../lib
+
+#      additional paths to look for system headers
+#      thes use the form: #include <header>
+#      source file directories are NOT auto-included here
+SYSTEM_INCLUDE_PATHS = ../../include /boot/develop/headers/be/opengl
+
+#      additional paths to look for local headers
+#      thes use the form: #include "header"
+#      source file directories are automatically included
+LOCAL_INCLUDE_PATHS = 
+
+#      specify the level of optimization that you desire
+#      NONE, SOME, FULL
+OPTIMIZE= FULL
+
+#      specify any preprocessor symbols to be defined.  The symbols
+#      will be set to a value of 1.  For example specify DEBUG if you want
+#      DEBUG=1 to be set when compiling.
+DEFINES= 
+
+#      specify special warning levels
+#      if unspecified default warnings will be used
+#      NONE = supress all warnings
+#      ALL = enable all warnings
+WARNINGS = ALL
+
+#      specify whether image symbols will be created
+#      so that stack crawls in the debugger are meaningful
+#      if TRUE symbols will be created
+SYMBOLS = 
+
+#      specify debug settings
+#      if TRUE will allow application to be run from
+#      a source-level debugger
+DEBUGGER = 
+
+#      specify additional compiler flags for all files
+COMPILER_FLAGS =
+
+#      specify additional linker flags
+LINKER_FLAGS =
+
+
+## include the makefile-engine
+include /boot/develop/etc/makefile-engine
+
diff --git a/src/glut/beos/Makefile.orig b/src/glut/beos/Makefile.orig
new file mode 100644 (file)
index 0000000..2ea791f
--- /dev/null
@@ -0,0 +1,102 @@
+## BeOS Generic Makefile v2.0 ##
+
+## Fill in this file to specify the project being created, and the referenced
+## makefile-engine will do all of the hard work for you.  This handles both
+## Intel and PowerPC builds of the BeOS.
+
+## Application Specific Settings ---------------------------------------------
+
+# specify the name of the binary
+NAME= libglut.so
+
+# specify the type of binary
+#      APP:    Application
+#      SHARED: Shared library or add-on
+#      STATIC: Static library archive
+#      DRIVER: Kernel Driver
+TYPE= SHARED
+
+#      specify the source files to use
+#      full paths or paths relative to the makefile can be included
+#      all files, regardless of directory, will have their object
+#      files created in the common object directory.
+#      Note that this means this makefile will not work correctly
+#      if two source files with the same name (source.c or source.cpp)
+#      are included from different directories.  Also note that spaces
+#      in folder names do not work well with this makefile.
+SRCS= glut_util.cpp glutBlocker.cpp glutInit.cpp glutWindow.cpp \
+glutEvent.cpp glutCallback.cpp glutOverlay.cpp glutGet.cpp glutColor.cpp \
+glutCursor.cpp glutMenu.cpp glutDstr.cpp glut_bitmap.cpp glut_bwidth.cpp \
+glut_8x13.cpp glut_9x15.cpp glut_hel10.cpp glut_hel12.cpp glut_hel18.cpp \
+glut_tr10.cpp glut_tr24.cpp glut_mroman.cpp glut_roman.cpp glut_stroke.cpp \
+glut_swidth.cpp glut_shapes.cpp glut_teapot.cpp beos_x11.cpp
+
+#      specify the resource files to use
+#      full path or a relative path to the resource file can be used.
+RSRCS= 
+
+#      specify additional libraries to link against
+#      there are two acceptable forms of library specifications
+#      -       if your library follows the naming pattern of:
+#              libXXX.so or libXXX.a you can simply specify XXX
+#              library: libbe.so entry: be
+#              
+#      -       if your library does not follow the standard library
+#              naming scheme you need to specify the path to the library
+#              and it's name
+#              library: my_lib.a entry: my_lib.a or path/my_lib.a
+LIBS= GL be
+               
+#      specify additional paths to directories following the standard
+#      libXXX.so or libXXX.a naming scheme.  You can specify full paths
+#      or paths relative to the makefile.  The paths included may not
+#      be recursive, so include all of the paths where libraries can
+#      be found.  Directories where source files are found are
+#      automatically included.
+LIBPATHS= 
+
+#      additional paths to look for system headers
+#      thes use the form: #include <header>
+#      source file directories are NOT auto-included here
+SYSTEM_INCLUDE_PATHS = ../../include /boot/develop/headers/be/opengl
+
+#      additional paths to look for local headers
+#      thes use the form: #include "header"
+#      source file directories are automatically included
+LOCAL_INCLUDE_PATHS = 
+
+#      specify the level of optimization that you desire
+#      NONE, SOME, FULL
+OPTIMIZE= FULL
+
+#      specify any preprocessor symbols to be defined.  The symbols
+#      will be set to a value of 1.  For example specify DEBUG if you want
+#      DEBUG=1 to be set when compiling.
+DEFINES= 
+
+#      specify special warning levels
+#      if unspecified default warnings will be used
+#      NONE = supress all warnings
+#      ALL = enable all warnings
+WARNINGS = ALL
+
+#      specify whether image symbols will be created
+#      so that stack crawls in the debugger are meaningful
+#      if TRUE symbols will be created
+SYMBOLS = 
+
+#      specify debug settings
+#      if TRUE will allow application to be run from
+#      a source-level debugger
+DEBUGGER = 
+
+#      specify additional compiler flags for all files
+COMPILER_FLAGS =
+
+#      specify additional linker flags
+LINKER_FLAGS =
+
+
+## include the makefile-engine
+include /boot/develop/etc/makefile-engine
+
diff --git a/src/glut/beos/beos_x11.cpp b/src/glut/beos/beos_x11.cpp
new file mode 100644 (file)
index 0000000..20c7503
--- /dev/null
@@ -0,0 +1,176 @@
+
+/* Copyright (c) Nate Robins, 1997. */
+
+/* This program is freely distributable without licensing fees 
+   and is provided without guarantee or warrantee expressed or 
+   implied. This program is -not- in the public domain. */
+
+#include <Screen.h>
+#include <stdio.h>
+#include "beos_x11.h"
+
+/* NOTE:  These functions require a BApplication to be instantiated first */
+int DisplayWidth() {
+       BScreen s;
+       return s.Frame().IntegerWidth() + 1;
+}
+
+int DisplayHeight() {
+       BScreen s;
+       return s.Frame().IntegerHeight() + 1;
+}
+
+/* the following function was stolen from the X sources as indicated. */
+
+/* Copyright   Massachusetts Institute of Technology  1985, 1986, 1987 */
+/* $XConsortium: XParseGeom.c,v 11.18 91/02/21 17:23:05 rws Exp $ */
+
+/*
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of M.I.T. not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.  M.I.T. makes no representations about the
+suitability of this software for any purpose.  It is provided "as is"
+without express or implied warranty.
+*/
+
+/* 
+ *Returns pointer to first char ins search which is also in what, else NULL.
+ */
+static char *strscan (char *search, char *what)
+{
+       int i, len = strlen (what);
+       char c;
+
+       while ((c = *(search++)) != (int)NULL)
+               for (i = 0; i < len; i++)
+                       if (c == what [i])
+                               return (--search);
+       return (NULL);
+}
+
+/*
+ *    XParseGeometry parses strings of the form
+ *   "=<width>x<height>{+-}<xoffset>{+-}<yoffset>", where
+ *   width, height, xoffset, and yoffset are unsigned integers.
+ *   Example:  "=80x24+300-49"
+ *   The equal sign is optional.
+ *   It returns a bitmask that indicates which of the four values
+ *   were actually found in the string.  For each value found,
+ *   the corresponding argument is updated;  for each value
+ *   not found, the corresponding argument is left unchanged. 
+ */
+
+static int
+ReadInteger(char *string, char **NextString)
+{
+    register int Result = 0;
+    int Sign = 1;
+    
+    if (*string == '+')
+       string++;
+    else if (*string == '-')
+    {
+       string++;
+       Sign = -1;
+    }
+    for (; (*string >= '0') && (*string <= '9'); string++)
+    {
+       Result = (Result * 10) + (*string - '0');
+    }
+    *NextString = string;
+    if (Sign >= 0)
+       return (Result);
+    else
+       return (-Result);
+}
+
+int XParseGeometry (char *string, int *x, int *y, 
+                                       unsigned int *width, unsigned int *height)
+{
+       int mask = NoValue;
+       register char *strind;
+       unsigned int tempWidth=0, tempHeight=0;
+       int tempX=0, tempY=0;
+       char *nextCharacter;
+
+       if ( (string == NULL) || (*string == '\0')) return(mask);
+       if (*string == '=')
+               string++;  /* ignore possible '=' at beg of geometry spec */
+
+       strind = (char *)string;
+       if (*strind != '+' && *strind != '-' && *strind != 'x') {
+               tempWidth = ReadInteger(strind, &nextCharacter);
+               if (strind == nextCharacter) 
+                   return (0);
+               strind = nextCharacter;
+               mask |= WidthValue;
+       }
+
+       if (*strind == 'x' || *strind == 'X') { 
+               strind++;
+               tempHeight = ReadInteger(strind, &nextCharacter);
+               if (strind == nextCharacter)
+                   return (0);
+               strind = nextCharacter;
+               mask |= HeightValue;
+       }
+
+       if ((*strind == '+') || (*strind == '-')) {
+               if (*strind == '-') {
+                       strind++;
+                       tempX = -ReadInteger(strind, &nextCharacter);
+                       if (strind == nextCharacter)
+                           return (0);
+                       strind = nextCharacter;
+                       mask |= XNegative;
+
+               }
+               else
+               {       strind++;
+                       tempX = ReadInteger(strind, &nextCharacter);
+                       if (strind == nextCharacter)
+                           return(0);
+                       strind = nextCharacter;
+               }
+               mask |= XValue;
+               if ((*strind == '+') || (*strind == '-')) {
+                       if (*strind == '-') {
+                               strind++;
+                               tempY = -ReadInteger(strind, &nextCharacter);
+                               if (strind == nextCharacter)
+                                   return(0);
+                               strind = nextCharacter;
+                               mask |= YNegative;
+
+                       }
+                       else
+                       {
+                               strind++;
+                               tempY = ReadInteger(strind, &nextCharacter);
+                               if (strind == nextCharacter)
+                                   return(0);
+                               strind = nextCharacter;
+                       }
+                       mask |= YValue;
+               }
+       }
+       
+       /* If strind isn't at the end of the string the it's an invalid
+               geometry specification. */
+
+       if (*strind != '\0') return (0);
+
+       if (mask & XValue)
+           *x = tempX;
+       if (mask & YValue)
+           *y = tempY;
+       if (mask & WidthValue)
+            *width = tempWidth;
+       if (mask & HeightValue)
+            *height = tempHeight;
+       return (mask);
+}
diff --git a/src/glut/beos/beos_x11.h b/src/glut/beos/beos_x11.h
new file mode 100644 (file)
index 0000000..966dddd
--- /dev/null
@@ -0,0 +1,33 @@
+#ifndef __beos_x11_h__
+#define __beos_x11_h__
+
+/* Copyright (c) Nate Robins, 1997. */
+
+/* This program is freely distributable without licensing fees 
+   and is provided without guarantee or warrantee expressed or 
+   implied. This program is -not- in the public domain. */
+
+/* 
+ * Bitmask returned by XParseGeometry().  Each bit tells if the corresponding
+ * value (x, y, width, height) was found in the parsed string.
+*/
+#define NoValue                0x0000
+#define XValue         0x0001
+#define YValue         0x0002
+#define WidthValue     0x0004
+#define HeightValue    0x0008
+#define AllValues      0x000F
+#define XNegative      0x0010
+#define YNegative      0x0020
+
+/* Function prototypes. */
+
+extern int DisplayWidth();
+extern int DisplayHeight();
+
+extern int XParseGeometry(
+  char* string,
+  int* x, int* y, 
+  unsigned int* width, unsigned int* height);
+
+#endif /* __beos_x11_h__ */
diff --git a/src/glut/beos/glutBlocker.cpp b/src/glut/beos/glutBlocker.cpp
new file mode 100644 (file)
index 0000000..e2cfcf7
--- /dev/null
@@ -0,0 +1,65 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutBlocker.cpp
+ *
+ *     DESCRIPTION:    helper class for GLUT event loop.
+ *             if a window receives an event, wake up the event loop.
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include "glutBlocker.h"
+
+/***********************************************************
+ *     Global variable
+ ***********************************************************/
+GlutBlocker gBlock;
+
+/***********************************************************
+ *     Member functions
+ ***********************************************************/
+GlutBlocker::GlutBlocker() {
+       gSem = create_sem(1, "gSem");
+       eSem = create_sem(0, "eSem");
+       events = false;
+       sleeping = false;
+}
+
+GlutBlocker::~GlutBlocker() {
+       delete_sem(eSem);
+       delete_sem(gSem);
+}
+
+void GlutBlocker::WaitEvent() {
+       acquire_sem(gSem);
+       if(!events) {                   // wait for new event
+               sleeping = true;
+               release_sem(gSem);
+               acquire_sem(eSem);      // next event will release eSem
+       } else {
+               release_sem(gSem);
+       }
+}
+
+void GlutBlocker::WaitEvent(bigtime_t usecs) {
+       acquire_sem(gSem);
+       if(!events) {                   // wait for new event
+               sleeping = true;
+               release_sem(gSem);
+               acquire_sem_etc(eSem, 1, B_TIMEOUT, usecs);     // wait for next event or timeout
+       } else {
+               release_sem(gSem);
+       }
+}
+
+void GlutBlocker::NewEvent() {
+       acquire_sem(gSem);
+       events = true;          // next call to WaitEvent returns immediately
+       if(sleeping) {
+               sleeping = false;
+               release_sem(eSem);      // if event loop is blocking, wake it up
+       }
+       release_sem(gSem);
+}
diff --git a/src/glut/beos/glutBlocker.h b/src/glut/beos/glutBlocker.h
new file mode 100644 (file)
index 0000000..e6d1f4e
--- /dev/null
@@ -0,0 +1,43 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutBlocker.h
+ *
+ *     DESCRIPTION:    helper class for GLUT event loop.
+ *             if a window receives an event, wake up the event loop.
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <kernel/OS.h>
+
+/***********************************************************
+ *     CLASS:  GlutBlocker
+ *
+ *     DESCRIPTION:  Fairly naive, but safe implementation.
+ *             global semaphore controls access to state
+ *             event semaphore blocks WaitEvent() call if necessary
+ *             (this is basically a condition variable class)
+ ***********************************************************/
+class GlutBlocker {
+public:
+       GlutBlocker();
+       ~GlutBlocker();
+       void WaitEvent();               // wait for new event
+       void WaitEvent(bigtime_t usecs);        // wait with timeout
+       void NewEvent();                // new event from a window (may need to wakeup main thread)
+       void QuickNewEvent() { events = true; } // new event from main thread
+       void ClearEvents() { events = false; }          // clear counter at beginning of event loop
+       bool PendingEvent() { return events; }          // XPending() equivalent
+private:
+       sem_id gSem;
+       sem_id eSem;
+       bool events;    // are there any new events?
+       bool sleeping;  // is someone sleeping on eSem?
+};
+
+/***********************************************************
+ *     Global variable
+ ***********************************************************/
+extern GlutBlocker gBlock;
\ No newline at end of file
diff --git a/src/glut/beos/glutCallback.cpp b/src/glut/beos/glutCallback.cpp
new file mode 100644 (file)
index 0000000..82707d5
--- /dev/null
@@ -0,0 +1,147 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutCallback.cpp
+ *
+ *     DESCRIPTION:    put all the callback setting routines in
+ *             one place
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include "glutint.h"
+#include "glutState.h"
+
+/***********************************************************
+ *     Window related callbacks
+ ***********************************************************/
+void APIENTRY 
+glutDisplayFunc(GLUTdisplayCB displayFunc)
+{
+  /* XXX Remove the warning after GLUT 3.0. */
+  if (!displayFunc)
+    __glutFatalError("NULL display callback not allowed in GLUT 3.0; update your code.");
+  gState.currentWindow->display = displayFunc;
+}
+
+void APIENTRY 
+glutKeyboardFunc(GLUTkeyboardCB keyboardFunc)
+{
+  gState.currentWindow->keyboard = keyboardFunc;
+}
+
+void APIENTRY 
+glutSpecialFunc(GLUTspecialCB specialFunc)
+{
+  gState.currentWindow->special = specialFunc;
+}
+
+void APIENTRY 
+glutMouseFunc(GLUTmouseCB mouseFunc)
+{
+  gState.currentWindow->mouse = mouseFunc;
+}
+
+void APIENTRY 
+glutMotionFunc(GLUTmotionCB motionFunc)
+{
+  gState.currentWindow->motion = motionFunc;
+}
+
+void APIENTRY 
+glutPassiveMotionFunc(GLUTpassiveCB passiveMotionFunc)
+{
+  gState.currentWindow->passive = passiveMotionFunc;
+}
+
+void APIENTRY 
+glutEntryFunc(GLUTentryCB entryFunc)
+{
+  gState.currentWindow->entry = entryFunc;
+  if (!entryFunc) {
+    gState.currentWindow->entryState = -1;
+  }
+}
+
+void APIENTRY 
+glutVisibilityFunc(GLUTvisibilityCB visibilityFunc)
+{
+  gState.currentWindow->visibility = visibilityFunc;
+}
+
+void APIENTRY 
+glutReshapeFunc(GLUTreshapeCB reshapeFunc)
+{
+  if (reshapeFunc) {
+    gState.currentWindow->reshape = reshapeFunc;
+  } else {
+    gState.currentWindow->reshape = __glutDefaultReshape;
+  }
+}
+
+/***********************************************************
+ *     General callbacks (timer callback in glutEvent.cpp)
+ ***********************************************************/
+/* DEPRICATED, use glutMenuStatusFunc instead. */
+void APIENTRY
+glutMenuStateFunc(GLUTmenuStateCB menuStateFunc)
+{
+  gState.menuStatus = (GLUTmenuStatusCB) menuStateFunc;
+}
+
+void APIENTRY
+glutMenuStatusFunc(GLUTmenuStatusCB menuStatusFunc)
+{
+  gState.menuStatus = menuStatusFunc;
+}
+
+void APIENTRY
+glutIdleFunc(GLUTidleCB idleFunc)
+{
+  gState.idle = idleFunc;
+}
+
+/***********************************************************
+ *     Unsupported callbacks
+ ***********************************************************/
+void APIENTRY
+glutOverlayDisplayFunc(GLUTdisplayCB displayFunc)
+{
+}
+
+void APIENTRY
+glutSpaceballMotionFunc(GLUTspaceMotionCB spaceMotionFunc)
+{
+}
+
+void APIENTRY
+glutSpaceballRotateFunc(GLUTspaceRotateCB spaceRotateFunc)
+{
+}
+
+void APIENTRY
+glutSpaceballButtonFunc(GLUTspaceButtonCB spaceButtonFunc)
+{
+}
+
+void APIENTRY
+glutButtonBoxFunc(GLUTbuttonBoxCB buttonBoxFunc)
+{
+}
+
+void APIENTRY
+glutDialsFunc(GLUTdialsCB dialsFunc)
+{
+}
+
+void APIENTRY
+glutTabletMotionFunc(GLUTtabletMotionCB tabletMotionFunc)
+{
+}
+
+void APIENTRY
+glutTabletButtonFunc(GLUTtabletButtonCB tabletButtonFunc)
+{
+}
\ No newline at end of file
diff --git a/src/glut/beos/glutColor.cpp b/src/glut/beos/glutColor.cpp
new file mode 100644 (file)
index 0000000..5979dea
--- /dev/null
@@ -0,0 +1,27 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutColor.cpp
+ *
+ *     DESCRIPTION:    we don't support indexed color, so this code is
+ *             really simple
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include "glutint.h"
+
+void glutSetColor(int cell, GLfloat red, GLfloat green, GLfloat blue) {
+       __glutWarning("glutSetColor: current window is RGBA");
+}
+
+GLfloat glutGetColor(int cell, int component) {
+       __glutWarning("glutGetColor: current window is RGBA");
+       return -1.0;
+}
+
+void glutCopyColormap(int win) {
+       __glutWarning("glutCopyColormap: color index not supported in BeOS");
+}
\ No newline at end of file
diff --git a/src/glut/beos/glutCursor.cpp b/src/glut/beos/glutCursor.cpp
new file mode 100644 (file)
index 0000000..e8debe8
--- /dev/null
@@ -0,0 +1,85 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutCursor.cpp
+ *
+ *     DESCRIPTION:    code for handling custom mouse cursors
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include "glutint.h"
+#include "glutState.h"
+#include "glutCursors.h"
+
+static const unsigned char *cursorTable[] = {
+  XC_arrow,              /* GLUT_CURSOR_RIGHT_ARROW */
+  XC_top_left_arrow,     /* GLUT_CURSOR_LEFT_ARROW */
+  XC_hand1,              /* GLUT_CURSOR_INFO */
+  XC_pirate,             /* GLUT_CURSOR_DESTROY */
+  XC_question_arrow,     /* GLUT_CURSOR_HELP */
+  XC_exchange,           /* GLUT_CURSOR_CYCLE */
+  XC_spraycan,           /* GLUT_CURSOR_SPRAY */
+  XC_watch,              /* GLUT_CURSOR_WAIT */
+  XC_xterm,              /* GLUT_CURSOR_TEXT */
+  XC_crosshair,                  /* GLUT_CURSOR_CROSSHAIR */
+  XC_sb_v_double_arrow,          /* GLUT_CURSOR_UP_DOWN */
+  XC_sb_h_double_arrow,          /* GLUT_CURSOR_LEFT_RIGHT */
+  XC_top_side,           /* GLUT_CURSOR_TOP_SIDE */
+  XC_bottom_side,        /* GLUT_CURSOR_BOTTOM_SIDE */
+  XC_left_side,                  /* GLUT_CURSOR_LEFT_SIDE */
+  XC_right_side,         /* GLUT_CURSOR_RIGHT_SIDE */
+  XC_top_left_corner,    /* GLUT_CURSOR_TOP_LEFT_CORNER */
+  XC_top_right_corner,   /* GLUT_CURSOR_TOP_RIGHT_CORNER */
+  XC_bottom_right_corner, /* GLUT_CURSOR_BOTTOM_RIGHT_CORNER */
+  XC_bottom_left_corner,  /* GLUT_CURSOR_BOTTOM_LEFT_CORNER */
+};
+
+/***********************************************************
+ *     FUNCTION:       glutSetCursor (4.13)
+ *
+ *     DESCRIPTION:  set a new mouse cursor for current window
+ ***********************************************************/
+void glutSetCursor(int cursor) {
+       gState.currentWindow->Window()->Lock();
+       gState.currentWindow->cursor = cursor;
+       __glutSetCursor(cursor);
+       gState.currentWindow->Window()->Unlock();
+}
+
+/***********************************************************
+ *     FUNCTION:       __glutSetCursor
+ *
+ *     DESCRIPTION:  the actual cursor changing routine
+ ***********************************************************/
+void __glutSetCursor(int cursor) {
+       int realcursor = cursor;
+       if (cursor < 0 || cursor > GLUT_CURSOR_BOTTOM_LEFT_CORNER) {
+               switch(cursor) {
+               case GLUT_CURSOR_INHERIT:
+                       return;         // don't change cursor
+               case GLUT_CURSOR_NONE:
+                       // this hides the cursor until the user moves the mouse
+                       // change it to HideCursor() AT YOUR OWN RISK!
+                       be_app->ObscureCursor();
+                       return;
+               case GLUT_CURSOR_FULL_CROSSHAIR:
+                       realcursor = GLUT_CURSOR_CROSSHAIR;
+                       break;
+               default:
+                       __glutWarning("unknown cursor\n");
+                       return;
+               }
+       }
+       be_app->SetCursor(cursorTable[realcursor]);
+}
+
+/***********************************************************
+ *     FUNCTION:       glutWarpPointer (x.xx)
+ *
+ *     DESCRIPTION:  move the mouse pointer to a new location
+ *             (note:  can't do this in BeOS!)
+ ***********************************************************/
+void glutWarpPointer(int x, int y) { }
\ No newline at end of file
diff --git a/src/glut/beos/glutCursors.h b/src/glut/beos/glutCursors.h
new file mode 100644 (file)
index 0000000..59f6951
--- /dev/null
@@ -0,0 +1,3083 @@
+/* cursors.h:  X Window standard cursor shapes */
+/* Generated by bdftobcursor */
+
+const unsigned char XC_X_cursor[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 9,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x70, 0xe,
+       0x78, 0x1e,
+       0x7c, 0x3e,
+       0x3e, 0x7c,
+       0x1f, 0xf8,
+       0xf, 0xf0,
+       0x7, 0xe0,
+       0x7, 0xe0,
+       0xf, 0xf0,
+       0x1f, 0xf8,
+       0x3e, 0x7c,
+       0x7c, 0x3e,
+       0x78, 0x1e,
+       0x70, 0xe,
+       0x0, 0x0,
+       /* mask */
+       0xf0, 0xf,
+       0xf8, 0x1f,
+       0xfc, 0x3f,
+       0xfe, 0x7f,
+       0x7f, 0xfe,
+       0x3f, 0xfc,
+       0x1f, 0xf8,
+       0xf, 0xf0,
+       0xf, 0xf0,
+       0x1f, 0xf8,
+       0x3f, 0xfc,
+       0x7f, 0xfe,
+       0xfe, 0x7f,
+       0xfc, 0x3f,
+       0xf8, 0x1f,
+       0xf0, 0xf,
+};
+
+const unsigned char XC_arrow[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       1, 2,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x60, 0x0,
+       0x78, 0x0,
+       0x3e, 0x0,
+       0x3f, 0x80,
+       0x1f, 0xe0,
+       0x1f, 0xf8,
+       0xf, 0x80,
+       0xf, 0xc0,
+       0x6, 0xe0,
+       0x6, 0x70,
+       0x2, 0x38,
+       0x2, 0x1c,
+       0x0, 0xe,
+       0x0, 0x4,
+       0x0, 0x0,
+       /* mask */
+       0xe0, 0x0,
+       0xf8, 0x0,
+       0xfe, 0x0,
+       0x7f, 0x80,
+       0x7f, 0xe0,
+       0x3f, 0xf8,
+       0x3f, 0xfc,
+       0x1f, 0xfc,
+       0x1f, 0xe0,
+       0xf, 0xf0,
+       0xf, 0xf8,
+       0x7, 0x7c,
+       0x7, 0x3e,
+       0x2, 0x1f,
+       0x0, 0xe,
+       0x0, 0x4,
+};
+
+const unsigned char XC_based_arrow_down[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       12, 9,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0xf, 0xf0,
+       0x0, 0x0,
+       0xf, 0xf0,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x5, 0xa0,
+       0x3, 0xc0,
+       0x1, 0x80,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0xf, 0xf0,
+       0xf, 0xf0,
+       0xf, 0xf0,
+       0x7, 0xe0,
+       0x3, 0xc0,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_based_arrow_up[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       12, 9,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x1, 0x80,
+       0x3, 0xc0,
+       0x5, 0xa0,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0xf, 0xf0,
+       0x0, 0x0,
+       0xf, 0xf0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x1, 0x80,
+       0x3, 0xc0,
+       0xf, 0xf0,
+       0xf, 0xf0,
+       0xf, 0xf0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_boat[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 2,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x80,
+       0x3, 0xe0,
+       0x6, 0x11,
+       0xff, 0xff,
+       0x18, 0x0,
+       0x4, 0x0,
+       0x2, 0x0,
+       0x3, 0xff,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0xe0,
+       0x3, 0xf0,
+       0x7, 0xf9,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x1f, 0xff,
+       0x7, 0xff,
+       0x3, 0xff,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_bogosity[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x38, 0x8e,
+       0x8, 0x88,
+       0x8, 0x88,
+       0x8, 0x88,
+       0x3f, 0xfe,
+       0x28, 0x8a,
+       0x28, 0x8a,
+       0x28, 0x8a,
+       0x28, 0x8a,
+       0x3f, 0xfe,
+       0x8, 0x88,
+       0x8, 0x88,
+       0x8, 0x88,
+       0x38, 0x8e,
+       0x0, 0x0,
+       /* mask */
+       0x7d, 0xdf,
+       0x7d, 0xdf,
+       0x7d, 0xdf,
+       0x1d, 0xdc,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7d, 0xdf,
+       0x7d, 0xdf,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x1d, 0xdc,
+       0x7d, 0xdf,
+       0x7d, 0xdf,
+       0x7d, 0xdf,
+};
+
+const unsigned char XC_bottom_left_corner[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       14, 15, /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x6,
+       0x0, 0x6,
+       0x10, 0x46,
+       0x8, 0x46,
+       0x4, 0x46,
+       0x2, 0x46,
+       0x1, 0x46,
+       0x0, 0xc6,
+       0x1f, 0xc6,
+       0x0, 0x6,
+       0x0, 0x6,
+       0x0, 0x6,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0xf,
+       0x0, 0xf,
+       0x30, 0xef,
+       0x38, 0xef,
+       0x1c, 0xef,
+       0xe, 0xef,
+       0x7, 0xef,
+       0x3, 0xef,
+       0x3f, 0xef,
+       0x3f, 0xef,
+       0x3f, 0xef,
+       0x0, 0xf,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+};
+
+const unsigned char XC_bottom_right_corner[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       14, 2,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x60, 0x0,
+       0x60, 0x0,
+       0x62, 0x8,
+       0x62, 0x10,
+       0x62, 0x20,
+       0x62, 0x40,
+       0x62, 0x80,
+       0x63, 0x0,
+       0x63, 0xf8,
+       0x60, 0x0,
+       0x60, 0x0,
+       0x60, 0x0,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x0, 0x0,
+       /* mask */
+       0xf0, 0x0,
+       0xf0, 0x0,
+       0xf7, 0xc,
+       0xf7, 0x1c,
+       0xf7, 0x38,
+       0xf7, 0x70,
+       0xf7, 0xe0,
+       0xf7, 0xc0,
+       0xf7, 0xfc,
+       0xf7, 0xfc,
+       0xf7, 0xfc,
+       0xf0, 0x0,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+};
+
+const unsigned char XC_bottom_side[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       14, 8,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x8, 0x88,
+       0x4, 0x90,
+       0x2, 0xa0,
+       0x1, 0xc0,
+       0x0, 0x80,
+       0x0, 0x0,
+       0x3f, 0xfe,
+       0x3f, 0xfe,
+       0x0, 0x0,
+       /* mask */
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x19, 0xcc,
+       0x1d, 0xdc,
+       0xf, 0xf8,
+       0x7, 0xf0,
+       0x3, 0xe0,
+       0x1, 0xc0,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+};
+
+const unsigned char XC_bottom_tee[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       12, 8,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_box_spiral[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 7,   /* y,x of hotspot */
+       /* data */
+       0xff, 0xff,
+       0x0, 0x1,
+       0x7f, 0xfd,
+       0x40, 0x5,
+       0x5f, 0xf5,
+       0x50, 0x15,
+       0x57, 0xd5,
+       0x54, 0x55,
+       0x55, 0x55,
+       0x55, 0xd5,
+       0x54, 0x15,
+       0x57, 0xf5,
+       0x50, 0x5,
+       0x5f, 0xfd,
+       0x40, 0x1,
+       0x7f, 0xff,
+       /* mask */
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+};
+
+const unsigned char XC_center_ptr[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       1, 9,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x81, 0x80,
+       0x1, 0x80,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x7, 0xe0,
+       0x7, 0xe0,
+       0xf, 0xf0,
+       0xf, 0xf0,
+       0x19, 0x98,
+       0x11, 0x88,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x0, 0x0,
+       /* mask */
+       0x83, 0xc0,
+       0x3, 0xc0,
+       0x7, 0xe0,
+       0x7, 0xe0,
+       0xf, 0xf0,
+       0xf, 0xf0,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3b, 0xdc,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+};
+
+const unsigned char XC_circle[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x3, 0xc0,
+       0xf, 0xf0,
+       0x1f, 0xf8,
+       0x3c, 0x3c,
+       0x38, 0x1c,
+       0x70, 0xe,
+       0x70, 0xe,
+       0x70, 0xe,
+       0x70, 0xe,
+       0x38, 0x1c,
+       0x3c, 0x3c,
+       0x1f, 0xf8,
+       0xf, 0xf0,
+       0x3, 0xc0,
+       0x0, 0x0,
+       /* mask */
+       0x7, 0xe0,
+       0x1f, 0xf8,
+       0x3f, 0xfc,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0xfc, 0x3f,
+       0xf8, 0x1f,
+       0xf8, 0x1f,
+       0xf8, 0x1f,
+       0xf8, 0x1f,
+       0xfc, 0x3f,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x3f, 0xfc,
+       0x1f, 0xf8,
+       0x7, 0xe0,
+};
+
+const unsigned char XC_clock[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       3, 9,   /* y,x of hotspot */
+       /* data */
+       0x1f, 0xf8,
+       0x33, 0xcc,
+       0x66, 0x26,
+       0x49, 0x92,
+       0x48, 0xf2,
+       0x44, 0x22,
+       0x63, 0xc6,
+       0x3f, 0xfc,
+       0x29, 0x94,
+       0x29, 0x94,
+       0x29, 0x94,
+       0x2b, 0xd4,
+       0x69, 0x96,
+       0x78, 0x1e,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       /* mask */
+       0x1f, 0xfe,
+       0x39, 0xf7,
+       0x77, 0xdb,
+       0x6d, 0xed,
+       0x6f, 0xfd,
+       0x66, 0xf9,
+       0x73, 0xf3,
+       0x3f, 0xff,
+       0x35, 0xeb,
+       0x35, 0xeb,
+       0x35, 0xeb,
+       0x37, 0xfb,
+       0x75, 0xeb,
+       0x7c, 0xcf,
+       0x7f, 0xff,
+       0x7f, 0xff,
+};
+
+const unsigned char XC_coffee_mug[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       9, 8,   /* y,x of hotspot */
+       /* data */
+       0x8f, 0xf8,
+       0x10, 0x4,
+       0x60, 0x6,
+       0x58, 0xa,
+       0x47, 0xf2,
+       0x40, 0x3,
+       0x40, 0x3,
+       0x40, 0x2,
+       0x40, 0x2,
+       0x58, 0x9a,
+       0x55, 0x56,
+       0x55, 0xd7,
+       0x59, 0x5b,
+       0x40, 0x2,
+       0x40, 0x2,
+       0x3f, 0xfc,
+       /* mask */
+       0xf, 0xf8,
+       0x1f, 0xfc,
+       0xff, 0xfe,
+       0xff, 0xfe,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xfe,
+       0xff, 0xfe,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xfe,
+       0x3f, 0xfc,
+};
+
+const unsigned char XC_cross[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 9,   /* y,x of hotspot */
+       /* data */
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0xff, 0x7f,
+       0x0, 0x0,
+       0xff, 0x7f,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x0, 0x0,
+       /* mask */
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+};
+
+const unsigned char XC_cross_reverse[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 9,   /* y,x of hotspot */
+       /* data */
+       0x21, 0x42,
+       0x51, 0x45,
+       0x29, 0x4a,
+       0x15, 0x54,
+       0xb, 0x68,
+       0x5, 0x50,
+       0xfe, 0xbf,
+       0x1, 0x40,
+       0xfe, 0xbf,
+       0x5, 0x50,
+       0xb, 0x68,
+       0x15, 0x54,
+       0x29, 0x4a,
+       0x51, 0x45,
+       0x21, 0x42,
+       0x0, 0x0,
+       /* mask */
+       0x33, 0x66,
+       0xdb, 0x6d,
+       0x6f, 0x7b,
+       0x37, 0x76,
+       0x1b, 0x6c,
+       0xfd, 0x5f,
+       0xfe, 0x3f,
+       0x0, 0x80,
+       0xfe, 0x3f,
+       0xfd, 0x5f,
+       0x1b, 0x6c,
+       0x37, 0x76,
+       0x6f, 0x7b,
+       0xdb, 0x6d,
+       0x33, 0x66,
+       0x0, 0x0,
+};
+
+const unsigned char XC_crosshair[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 9,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0xff, 0x7f,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x0,
+       /* mask */
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+};
+
+const unsigned char XC_diamond_cross[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x81, 0x40,
+       0x3, 0x60,
+       0x5, 0x50,
+       0x9, 0x48,
+       0x11, 0x44,
+       0x21, 0x42,
+       0x7f, 0x7f,
+       0x0, 0x0,
+       0x7f, 0x7f,
+       0x21, 0x42,
+       0x11, 0x44,
+       0x9, 0x48,
+       0x5, 0x50,
+       0x3, 0x60,
+       0x1, 0x40,
+       0x0, 0x0,
+       /* mask */
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0xf, 0xf8,
+       0x1d, 0xdc,
+       0x39, 0xce,
+       0x71, 0xc7,
+       0xff, 0xff,
+       0xff, 0x7f,
+       0xff, 0xff,
+       0x71, 0xc7,
+       0x39, 0xce,
+       0x1d, 0xdc,
+       0xf, 0xf8,
+       0x7, 0xf0,
+       0x3, 0xe0,
+       0x1, 0xc0,
+};
+
+const unsigned char XC_dot[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x83, 0xc0,
+       0xf, 0xf0,
+       0xf, 0xf0,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0xf, 0xf0,
+       0xf, 0xf0,
+       0x3, 0xc0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x87, 0xe0,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x7, 0xe0,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_dotbox[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x7f, 0xfc,
+       0x20, 0x4,
+       0x20, 0x4,
+       0x20, 0x4,
+       0x20, 0x4,
+       0x21, 0x84,
+       0x21, 0x84,
+       0x20, 0x4,
+       0x20, 0x4,
+       0x20, 0x4,
+       0x20, 0x4,
+       0x3f, 0xfc,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x70, 0xe,
+       0x70, 0xe,
+       0x73, 0xce,
+       0x73, 0xce,
+       0x73, 0xce,
+       0x73, 0xce,
+       0x70, 0xe,
+       0x70, 0xe,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x0, 0x0,
+};
+
+const unsigned char XC_double_arrow[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x81, 0x80,
+       0x3, 0xc0,
+       0x7, 0xe0,
+       0xd, 0xb0,
+       0x19, 0x98,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x19, 0x98,
+       0xd, 0xb0,
+       0x7, 0xe0,
+       0x3, 0xc0,
+       0x1, 0x80,
+       0x0, 0x0,
+       /* mask */
+       0x83, 0xc0,
+       0x7, 0xe0,
+       0xf, 0xf0,
+       0x1f, 0xf8,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x1f, 0xf8,
+       0xf, 0xf0,
+       0x7, 0xe0,
+       0x3, 0xc0,
+};
+
+const unsigned char XC_draft_large[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       0, 1,   /* y,x of hotspot */
+       /* data */
+       0xc0, 0x0,
+       0x30, 0x0,
+       0x3c, 0x0,
+       0x1f, 0x0,
+       0x1f, 0xc0,
+       0xf, 0xf0,
+       0xf, 0xfc,
+       0x7, 0x80,
+       0x7, 0x40,
+       0x3, 0x20,
+       0x3, 0x10,
+       0x1, 0x8,
+       0x1, 0x4,
+       0x0, 0x2,
+       0x0, 0x1,
+       0x0, 0x0,
+       /* mask */
+       0x60, 0x0,
+       0x78, 0x0,
+       0x7e, 0x0,
+       0x3f, 0x80,
+       0x1f, 0xe0,
+       0x1f, 0xf8,
+       0xf, 0xfe,
+       0xf, 0xfe,
+       0x7, 0xe0,
+       0x7, 0xf0,
+       0x3, 0xb8,
+       0x3, 0x9c,
+       0x1, 0x8e,
+       0x1, 0x87,
+       0x0, 0x3,
+       0x0, 0x1,
+};
+
+const unsigned char XC_draft_small[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       0, 1,   /* y,x of hotspot */
+       /* data */
+       0x40, 0x0,
+       0x30, 0x0,
+       0x3c, 0x0,
+       0x1f, 0x0,
+       0x1f, 0xc0,
+       0xe, 0x0,
+       0xd, 0x0,
+       0x4, 0x80,
+       0x4, 0x40,
+       0x0, 0x20,
+       0x0, 0x10,
+       0x0, 0x8,
+       0x0, 0x4,
+       0x0, 0x2,
+       0x0, 0x1,
+       0x0, 0x0,
+       /* mask */
+       0x60, 0x0,
+       0x78, 0x0,
+       0x3e, 0x0,
+       0x3f, 0x80,
+       0x1f, 0xe0,
+       0x1f, 0xe0,
+       0xf, 0x80,
+       0xf, 0xc0,
+       0x6, 0xe0,
+       0x2, 0x70,
+       0x0, 0x38,
+       0x0, 0x1c,
+       0x0, 0xe,
+       0x0, 0x7,
+       0x0, 0x3,
+       0x0, 0x0,
+};
+
+const unsigned char XC_draped_box[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x7f, 0xfc,
+       0x22, 0x44,
+       0x26, 0x64,
+       0x2c, 0x34,
+       0x38, 0x1c,
+       0x21, 0x84,
+       0x21, 0x84,
+       0x38, 0x1c,
+       0x2c, 0x34,
+       0x26, 0x64,
+       0x22, 0x44,
+       0x3f, 0xfc,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x67, 0xe6,
+       0x6f, 0xf6,
+       0x7e, 0x7e,
+       0x7d, 0xbe,
+       0x7b, 0xde,
+       0x7b, 0xde,
+       0x7d, 0xbe,
+       0x7e, 0x7e,
+       0x6f, 0xf6,
+       0x67, 0xe6,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x0, 0x0,
+};
+
+const unsigned char XC_exchange[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 9,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x7, 0xe2,
+       0xf, 0xf6,
+       0x18, 0x3e,
+       0x10, 0x12,
+       0x0, 0x32,
+       0x0, 0x7e,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x7e, 0x0,
+       0x4c, 0x0,
+       0x48, 0x8,
+       0x7c, 0x18,
+       0x6f, 0xf0,
+       0x47, 0xe0,
+       0x0, 0x0,
+       /* mask */
+       0x7, 0xe3,
+       0xf, 0xf7,
+       0x1f, 0xff,
+       0x3f, 0xff,
+       0x38, 0x3f,
+       0x30, 0xff,
+       0x0, 0xff,
+       0x0, 0xff,
+       0xff, 0x0,
+       0xff, 0x0,
+       0xfe, 0xc,
+       0xfc, 0x1c,
+       0xff, 0xfc,
+       0xff, 0xf8,
+       0xef, 0xf0,
+       0xc7, 0xe0,
+};
+
+const unsigned char XC_fleur[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x1, 0x80,
+       0x3, 0xc0,
+       0x7, 0xe0,
+       0x1, 0x80,
+       0x11, 0x88,
+       0x31, 0x8c,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x31, 0x8c,
+       0x11, 0x88,
+       0x1, 0x80,
+       0x7, 0xe0,
+       0x3, 0xc0,
+       0x1, 0x80,
+       0x0, 0x0,
+       /* mask */
+       0x3, 0xc0,
+       0x7, 0xc0,
+       0x7, 0xe0,
+       0xf, 0xf0,
+       0x17, 0xe8,
+       0x3b, 0xdc,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x3b, 0xdc,
+       0x17, 0xe8,
+       0xf, 0xf0,
+       0x7, 0xe0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+};
+
+const unsigned char XC_gobbler[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       2, 2,   /* y,x of hotspot */
+       /* data */
+       0x1e, 0x0,
+       0xe, 0x0,
+       0xcc, 0x1,
+       0xd, 0xf9,
+       0xf, 0xff,
+       0xc, 0x7f,
+       0xc, 0x3f,
+       0x1c, 0x6,
+       0xf, 0x0,
+       0x7, 0xf8,
+       0x0, 0x10,
+       0x0, 0x10,
+       0x0, 0x10,
+       0x0, 0x10,
+       0x0, 0x78,
+       0x0, 0x0,
+       /* mask */
+       0x3f, 0x0,
+       0x3f, 0x0,
+       0xff, 0x3,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x3f, 0xff,
+       0x3f, 0xff,
+       0x3f, 0xff,
+       0x3f, 0xff,
+       0x3f, 0xff,
+       0x1f, 0xfe,
+       0xf, 0xf8,
+       0x0, 0x38,
+       0x0, 0x38,
+       0x0, 0xfc,
+       0x0, 0xfc,
+};
+
+const unsigned char XC_gumby[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       0, 14,  /* y,x of hotspot */
+       /* data */
+       0x0, 0xfc,
+       0x1, 0x8,
+       0x2, 0x13,
+       0x5, 0x57,
+       0x4, 0x13,
+       0x5, 0xd3,
+       0x3c, 0x1f,
+       0xfc, 0x1c,
+       0xe4, 0x10,
+       0xe4, 0x10,
+       0xf4, 0x90,
+       0xe4, 0x90,
+       0x4, 0x90,
+       0x8, 0x88,
+       0x10, 0x84,
+       0x1f, 0x7c,
+       /* mask */
+       0x0, 0xfc,
+       0x1, 0xfb,
+       0x3, 0xf7,
+       0x7, 0xff,
+       0x7, 0xf7,
+       0x3f, 0xf7,
+       0x7f, 0xff,
+       0xff, 0xff,
+       0xf7, 0xfc,
+       0xf7, 0xf0,
+       0xff, 0xf0,
+       0xf7, 0xf0,
+       0xe7, 0xf0,
+       0xf, 0xf8,
+       0x1f, 0xfc,
+       0x1f, 0x7c,
+};
+
+const unsigned char XC_hand1[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       0, 2,   /* y,x of hotspot */
+       /* data */
+       0x30, 0x0,
+       0x3c, 0x0,
+       0xf, 0x0,
+       0x7, 0x80,
+       0x3, 0xc0,
+       0x7, 0xe0,
+       0xf, 0xf0,
+       0x7, 0xf4,
+       0xf, 0xfe,
+       0xf, 0xfa,
+       0x7, 0xe0,
+       0x3, 0xe0,
+       0x0, 0x52,
+       0x0, 0x46,
+       0x0, 0x2c,
+       0x0, 0x18,
+       /* mask */
+       0xb8, 0x0,
+       0x3e, 0x0,
+       0x1f, 0x80,
+       0xf, 0xc0,
+       0x7, 0xe0,
+       0xf, 0xf0,
+       0x1f, 0xfc,
+       0x1f, 0xfe,
+       0x1f, 0xfe,
+       0x1f, 0xfe,
+       0xf, 0xfe,
+       0x7, 0xfe,
+       0x3, 0xfe,
+       0x0, 0xfe,
+       0x0, 0x7e,
+       0x0, 0x3c,
+};
+
+const unsigned char XC_hand2[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       1, 15,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x1, 0xfe,
+       0x2, 0x1,
+       0x4, 0x7e,
+       0x8, 0x8,
+       0x8, 0x70,
+       0x8, 0x8,
+       0x14, 0x70,
+       0x22, 0x8,
+       0x41, 0x30,
+       0x20, 0xc0,
+       0x12, 0x40,
+       0x8, 0x80,
+       0x5, 0x0,
+       0x2, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x1, 0xfe,
+       0x3, 0xff,
+       0x7, 0xff,
+       0xf, 0xff,
+       0x1f, 0xfe,
+       0x1f, 0xf8,
+       0x1f, 0xfc,
+       0x3f, 0xf8,
+       0x7f, 0xfc,
+       0xff, 0xf8,
+       0x7f, 0xf0,
+       0x3f, 0xe0,
+       0x1f, 0xc0,
+       0xf, 0x80,
+       0x7, 0x0,
+       0x2, 0x0,
+};
+
+const unsigned char XC_heart[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       9, 9,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x1f, 0x7c,
+       0x31, 0xc6,
+       0x60, 0x83,
+       0x40, 0x1,
+       0x40, 0x1,
+       0x40, 0x1,
+       0x40, 0x1,
+       0x60, 0x3,
+       0x30, 0x6,
+       0x18, 0xc,
+       0xc, 0x18,
+       0x6, 0x30,
+       0x3, 0x60,
+       0x1, 0xc0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x9f, 0x7c,
+       0x3f, 0xfe,
+       0x71, 0xc7,
+       0x60, 0x83,
+       0x60, 0x3,
+       0x60, 0x3,
+       0x61, 0x43,
+       0x70, 0x87,
+       0x38, 0xe,
+       0x1c, 0x1c,
+       0xe, 0x38,
+       0x7, 0xf0,
+       0x3, 0xe0,
+       0x1, 0xc0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_icon[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 8,   /* y,x of hotspot */
+       /* data */
+       0xff, 0xff,
+       0xaa, 0xab,
+       0xd5, 0x55,
+       0xaa, 0xab,
+       0xd0, 0x5,
+       0xa0, 0xb,
+       0xd0, 0x5,
+       0xa0, 0xb,
+       0xd0, 0x5,
+       0xa0, 0xb,
+       0xd0, 0x5,
+       0xa0, 0xb,
+       0xd5, 0x55,
+       0xaa, 0xab,
+       0xd5, 0x55,
+       0xff, 0xff,
+       /* mask */
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+};
+
+const unsigned char XC_iron_cross[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x3f, 0xfc,
+       0x1f, 0xf8,
+       0x4f, 0xf2,
+       0x67, 0xe6,
+       0x73, 0xce,
+       0x79, 0x9e,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x79, 0x9e,
+       0x73, 0xce,
+       0x67, 0xe6,
+       0x4f, 0xf2,
+       0x1f, 0xf8,
+       0x3f, 0xfc,
+       0x0, 0x0,
+       /* mask */
+       0x3f, 0xfc,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x7f, 0xfe,
+       0x7f, 0xfe,
+       0x3f, 0xfc,
+};
+
+const unsigned char XC_left_ptr[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       1, 12,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x10,
+       0x0, 0x30,
+       0x0, 0x70,
+       0x0, 0xf0,
+       0x1, 0xf0,
+       0x3, 0xf0,
+       0x7, 0xf0,
+       0xf, 0xf0,
+       0x1, 0xf0,
+       0x1, 0xb0,
+       0x3, 0x10,
+       0x3, 0x0,
+       0x6, 0x0,
+       0x6, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x18,
+       0x0, 0x38,
+       0x0, 0x78,
+       0x0, 0xf8,
+       0x1, 0xf8,
+       0x3, 0xf8,
+       0x7, 0xf8,
+       0xf, 0xf8,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x3, 0xf8,
+       0x7, 0xb8,
+       0x7, 0x98,
+       0xf, 0x0,
+       0xf, 0x0,
+       0x6, 0x0,
+};
+
+const unsigned char XC_left_side[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 15,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x6,
+       0x0, 0x6,
+       0x1, 0x6,
+       0x0, 0x86,
+       0x0, 0x46,
+       0x0, 0x26,
+       0x7f, 0xf6,
+       0x0, 0x26,
+       0x0, 0x46,
+       0x0, 0x86,
+       0x1, 0x6,
+       0x0, 0x6,
+       0x0, 0x6,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0xf,
+       0x0, 0xf,
+       0x3, 0xf,
+       0x3, 0x8f,
+       0x1, 0xcf,
+       0x0, 0xef,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x0, 0xef,
+       0x1, 0xcf,
+       0x3, 0x8f,
+       0x3, 0xf,
+       0x0, 0xf,
+       0x0, 0xf,
+       0x0, 0x0,
+};
+
+const unsigned char XC_left_tee[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 13,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x80, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+};
+
+const unsigned char XC_leftbutton[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 8,   /* y,x of hotspot */
+       /* data */
+       0xc0, 0x1,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xa2, 0x22,
+       0xaa, 0xa2,
+       0xaa, 0xa2,
+       0xaa, 0xa2,
+       0xaa, 0xa2,
+       0xa2, 0x22,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xc0, 0x1,
+       /* mask */
+       0xbf, 0xfe,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x3f, 0xfe,
+};
+
+const unsigned char XC_ll_angle[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       12, 13, /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x80, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_lr_angle[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       12, 4,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x98, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_man[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       5, 2,   /* y,x of hotspot */
+       /* data */
+       0x1, 0xc0,
+       0xf, 0x78,
+       0x1, 0x40,
+       0x0, 0x81,
+       0xe1, 0xc2,
+       0xd2, 0x24,
+       0xe, 0xb8,
+       0x2, 0xa0,
+       0x2, 0x20,
+       0x1, 0x40,
+       0x2, 0x20,
+       0x4, 0x90,
+       0x9, 0x48,
+       0xa, 0x28,
+       0x3c, 0x1e,
+       0xfc, 0x1f,
+       /* mask */
+       0x7, 0xf8,
+       0xf, 0xfc,
+       0x1f, 0xfc,
+       0x41, 0xc3,
+       0xe3, 0xe7,
+       0xff, 0xfe,
+       0xdf, 0xfc,
+       0xf, 0xf8,
+       0x7, 0xe0,
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0xf, 0xf8,
+       0x1f, 0xfc,
+       0x3f, 0x7e,
+       0xfe, 0x3f,
+       0xfe, 0x3f,
+};
+
+const unsigned char XC_middlebutton[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 8,   /* y,x of hotspot */
+       /* data */
+       0xc0, 0x1,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xa2, 0x22,
+       0xaa, 0x2a,
+       0xaa, 0x2a,
+       0xaa, 0x2a,
+       0xaa, 0x2a,
+       0xa2, 0x22,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xc0, 0x1,
+       /* mask */
+       0xbf, 0xfe,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x3f, 0xfe,
+};
+
+const unsigned char XC_mouse[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       2, 11,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0xe0,
+       0x0, 0x30,
+       0x0, 0x60,
+       0x0, 0xc0,
+       0x1f, 0xfe,
+       0x20, 0x1,
+       0x6c, 0xcd,
+       0x6c, 0xcd,
+       0x6c, 0xcd,
+       0x60, 0x1,
+       0x60, 0x1,
+       0x38, 0x6,
+       0x6, 0x18,
+       0x1, 0xe0,
+       0x0, 0x0,
+       /* mask */
+       0x1, 0xf0,
+       0x0, 0x78,
+       0x0, 0xf0,
+       0x0, 0xe0,
+       0x1f, 0xfe,
+       0x3f, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xef, 0xfc,
+       0x7, 0xf8,
+       0x3, 0xf0,
+       0x1, 0xe0,
+};
+
+const unsigned char XC_pencil[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       15, 3,  /* y,x of hotspot */
+       /* data */
+       0x40, 0x38,
+       0x0, 0x44,
+       0x0, 0xc4,
+       0x1, 0x48,
+       0x1, 0x78,
+       0x2, 0x10,
+       0x2, 0x20,
+       0x4, 0x20,
+       0x4, 0x40,
+       0x8, 0xc0,
+       0x8, 0x80,
+       0x11, 0x0,
+       0x1e, 0x0,
+       0x1c, 0x0,
+       0x18, 0x0,
+       0x10, 0x0,
+       /* mask */
+       0x80, 0x7e,
+       0x0, 0xfe,
+       0x1, 0xfe,
+       0x1, 0xfc,
+       0x3, 0xf8,
+       0x3, 0xf8,
+       0x7, 0xf0,
+       0x7, 0xe0,
+       0xf, 0xe0,
+       0xf, 0xc0,
+       0x1f, 0xc0,
+       0x3f, 0x80,
+       0x3f, 0x0,
+       0x3e, 0x0,
+       0x3c, 0x0,
+       0x38, 0x0,
+};
+
+const unsigned char XC_pirate[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       12, 8,  /* y,x of hotspot */
+       /* data */
+       0x1, 0xe0,
+       0x3, 0xf0,
+       0x7, 0xf8,
+       0xc, 0xcc,
+       0xc, 0xcc,
+       0x7, 0xf8,
+       0x3, 0xf0,
+       0x1, 0xe0,
+       0x21, 0xe1,
+       0x61, 0xe1,
+       0x10, 0xc2,
+       0xe, 0x1c,
+       0x1, 0xe0,
+       0x47, 0xf8,
+       0x7c, 0xf,
+       0x20, 0x1,
+       /* mask */
+       0x3, 0xf0,
+       0x7, 0xf8,
+       0xf, 0xfc,
+       0x1f, 0xfe,
+       0x1f, 0xfe,
+       0xf, 0xfc,
+       0x7, 0xf8,
+       0x83, 0xf1,
+       0xe3, 0xf1,
+       0xf3, 0xf3,
+       0x39, 0xef,
+       0x1e, 0x1e,
+       0x1, 0xe0,
+       0xc7, 0xfe,
+       0xff, 0xff,
+       0x7c, 0xf,
+};
+
+const unsigned char XC_plus[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 9,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x81, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_question_arrow[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x83, 0xe0,
+       0x7, 0xf0,
+       0xe, 0x38,
+       0xc, 0x18,
+       0xc, 0x38,
+       0xe, 0x30,
+       0x7, 0x0,
+       0x3, 0xc0,
+       0x1, 0xc0,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x7, 0x70,
+       0x3, 0x60,
+       0x1, 0xc0,
+       0x0, 0x80,
+       0x0, 0x0,
+       /* mask */
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0xf, 0xf8,
+       0x1f, 0xfc,
+       0x1e, 0x3c,
+       0x1e, 0x7c,
+       0x1f, 0x78,
+       0xf, 0xf0,
+       0x7, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0xf, 0xf8,
+       0x7, 0xf0,
+       0x3, 0xe0,
+       0x1, 0xc0,
+};
+
+const unsigned char XC_right_ptr[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       1, 5,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x8, 0x0,
+       0xc, 0x0,
+       0xe, 0x0,
+       0xf, 0x0,
+       0xf, 0x80,
+       0xf, 0xc0,
+       0xf, 0xe0,
+       0xf, 0xf0,
+       0xf, 0x80,
+       0xd, 0x80,
+       0x8, 0xc0,
+       0x0, 0xc0,
+       0x0, 0x60,
+       0x0, 0x60,
+       0x0, 0x0,
+       /* mask */
+       0x18, 0x0,
+       0x1c, 0x0,
+       0x1e, 0x0,
+       0x1f, 0x0,
+       0x1f, 0x80,
+       0x1f, 0xc0,
+       0x1f, 0xe0,
+       0x1f, 0xf0,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x1f, 0xc0,
+       0x1d, 0xe0,
+       0x19, 0xe0,
+       0x0, 0xf0,
+       0x0, 0xf0,
+       0x0, 0x60,
+};
+
+const unsigned char XC_right_side[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 2,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x60, 0x0,
+       0x60, 0x0,
+       0x60, 0x80,
+       0x61, 0x0,
+       0x62, 0x0,
+       0x64, 0x0,
+       0x6f, 0xfe,
+       0x64, 0x0,
+       0x62, 0x0,
+       0x61, 0x0,
+       0x60, 0x80,
+       0x60, 0x0,
+       0x60, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0xf0, 0x0,
+       0xf0, 0x0,
+       0xf0, 0xc0,
+       0xf1, 0xc0,
+       0xf3, 0x80,
+       0xf7, 0x0,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xf7, 0x0,
+       0xf3, 0x80,
+       0xf1, 0xc0,
+       0xf0, 0xc0,
+       0xf0, 0x0,
+       0xf0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_right_tee[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 4,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x98, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+};
+
+const unsigned char XC_rightbutton[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 8,   /* y,x of hotspot */
+       /* data */
+       0xc0, 0x1,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xa2, 0x22,
+       0xa2, 0xaa,
+       0xa2, 0xaa,
+       0xa2, 0xaa,
+       0xa2, 0xaa,
+       0xa2, 0x22,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xbf, 0xfe,
+       0xc0, 0x1,
+       /* mask */
+       0xbf, 0xfe,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x3f, 0xfe,
+};
+
+const unsigned char XC_rtl_logo[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 9,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x7f, 0xfe,
+       0x44, 0x2,
+       0x44, 0x2,
+       0x44, 0x2,
+       0x47, 0xfe,
+       0x44, 0x22,
+       0x44, 0x22,
+       0x44, 0x22,
+       0x44, 0x22,
+       0x7f, 0xe2,
+       0x40, 0x22,
+       0x40, 0x22,
+       0x40, 0x22,
+       0x7f, 0xfe,
+       0x0, 0x0,
+       /* mask */
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xee, 0x7,
+       0xef, 0xff,
+       0xef, 0xff,
+       0xef, 0xff,
+       0xee, 0x77,
+       0xee, 0x77,
+       0xff, 0xf7,
+       0xff, 0xf7,
+       0xff, 0xf7,
+       0xe0, 0x77,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+};
+
+const unsigned char XC_sailboat[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       0, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x42, 0x0,
+       0x2, 0x0,
+       0x6, 0x80,
+       0x6, 0x80,
+       0x6, 0xc0,
+       0xe, 0xc0,
+       0xe, 0xe0,
+       0xe, 0xe0,
+       0x1e, 0xf0,
+       0x1e, 0xf0,
+       0x1e, 0xf8,
+       0x3e, 0xf8,
+       0x1c, 0x7c,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x3, 0x0,
+       0x7, 0x0,
+       0x7, 0x80,
+       0xf, 0xc0,
+       0xf, 0xc0,
+       0xf, 0xe0,
+       0x1f, 0xe0,
+       0x1f, 0xf0,
+       0x1f, 0xf0,
+       0x3f, 0xf8,
+       0x3f, 0xf8,
+       0x3f, 0xfc,
+       0xff, 0xfc,
+       0xff, 0xfe,
+       0x1f, 0xff,
+       0x7, 0xfe,
+};
+
+const unsigned char XC_sb_down_arrow[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       15, 8,  /* y,x of hotspot */
+       /* data */
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x7, 0xf0,
+       0x3, 0xe0,
+       0x1, 0xc0,
+       0x0, 0x80,
+       0x0, 0x0,
+       /* mask */
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0xf, 0xf8,
+       0xf, 0xf8,
+       0x7, 0xf0,
+       0x3, 0xe0,
+       0x1, 0xc0,
+       0x0, 0x80,
+};
+
+const unsigned char XC_sb_h_double_arrow[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x8, 0x8,
+       0x18, 0xc,
+       0x3f, 0xfe,
+       0x78, 0xf,
+       0x3f, 0xfe,
+       0x18, 0xc,
+       0x8, 0x8,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x8c, 0x18,
+       0x1c, 0x1c,
+       0x3f, 0xfe,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x3f, 0xfe,
+       0x1c, 0x1c,
+       0xc, 0x18,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_sb_left_arrow[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 16,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x8,
+       0x0, 0xc,
+       0x7f, 0xfe,
+       0x0, 0xf,
+       0x7f, 0xfe,
+       0x0, 0xc,
+       0x0, 0x8,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x30,
+       0x0, 0x38,
+       0xff, 0xfc,
+       0xff, 0xfe,
+       0xff, 0xff,
+       0xff, 0xfe,
+       0xff, 0xfc,
+       0x0, 0x38,
+       0x0, 0x30,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_sb_right_arrow[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 0,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x8, 0x0,
+       0x18, 0x0,
+       0x3f, 0xff,
+       0x78, 0x0,
+       0x3f, 0xff,
+       0x18, 0x0,
+       0x8, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0xc, 0x0,
+       0x1c, 0x0,
+       0x3f, 0xff,
+       0x7f, 0xff,
+       0xff, 0xff,
+       0x7f, 0xff,
+       0x3f, 0xff,
+       0x1c, 0x0,
+       0xc, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_sb_up_arrow[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       0, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x80,
+       0x9, 0xc0,
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x80,
+       0x1, 0xc0,
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0xf, 0xf8,
+       0xf, 0xf8,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+};
+
+const unsigned char XC_sb_v_double_arrow[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x80,
+       0x9, 0xc0,
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x7, 0xf0,
+       0x3, 0xe0,
+       0x1, 0xc0,
+       0x0, 0x80,
+       0x0, 0x0,
+       /* mask */
+       0x1, 0xc0,
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0xf, 0xf8,
+       0xf, 0xf8,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0x3, 0xe0,
+       0xf, 0xf8,
+       0xf, 0xf8,
+       0x7, 0xf0,
+       0x3, 0xe0,
+       0x1, 0xc0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_shuttle[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       0, 5,   /* y,x of hotspot */
+       /* data */
+       0x84, 0x0,
+       0xe, 0x0,
+       0x1f, 0x0,
+       0x7b, 0x80,
+       0x7b, 0xa0,
+       0x7b, 0x90,
+       0x7b, 0x88,
+       0x7b, 0x88,
+       0x7b, 0x88,
+       0x7b, 0x88,
+       0x7b, 0x8c,
+       0x7b, 0x8e,
+       0x7b, 0xbf,
+       0x11, 0x18,
+       0x1e, 0x0,
+       0xc, 0x0,
+       /* mask */
+       0x1c, 0x0,
+       0x3e, 0x0,
+       0x7f, 0x0,
+       0xff, 0x0,
+       0xff, 0x60,
+       0xff, 0x70,
+       0xff, 0x78,
+       0xff, 0x78,
+       0xff, 0x78,
+       0xff, 0x78,
+       0xff, 0x7c,
+       0xff, 0x7e,
+       0xff, 0x7f,
+       0x7f, 0x7e,
+       0x7e, 0x30,
+       0x3c, 0x0,
+};
+
+const unsigned char XC_sizing[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x81, 0xfe,
+       0x0, 0x2,
+       0x0, 0x2,
+       0x0, 0x2,
+       0x7, 0xe2,
+       0x4, 0x22,
+       0x44, 0x22,
+       0x44, 0x22,
+       0x44, 0x20,
+       0x47, 0xe0,
+       0x48, 0x0,
+       0x50, 0x0,
+       0x60, 0x0,
+       0x7f, 0x80,
+       0x0, 0x0,
+       /* mask */
+       0x3, 0xff,
+       0x3, 0xff,
+       0x3, 0xff,
+       0x0, 0x7,
+       0xf, 0xf7,
+       0xf, 0xf7,
+       0xef, 0xf7,
+       0xee, 0x77,
+       0xee, 0x77,
+       0xef, 0xf7,
+       0xef, 0xf0,
+       0xff, 0xf0,
+       0xf8, 0x0,
+       0xff, 0xc0,
+       0xff, 0xc0,
+       0xff, 0xc0,
+};
+
+const unsigned char XC_spider[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 10,  /* y,x of hotspot */
+       /* data */
+       0x8, 0x4,
+       0x4, 0x8,
+       0x4, 0x8,
+       0x2, 0x10,
+       0x2, 0x10,
+       0xe1, 0xe1,
+       0x19, 0xe6,
+       0x7, 0xf8,
+       0x7, 0xf8,
+       0x19, 0xe6,
+       0xe1, 0xe1,
+       0x2, 0x10,
+       0x2, 0x10,
+       0x4, 0x8,
+       0x4, 0x8,
+       0x8, 0x4,
+       /* mask */
+       0x18, 0x6,
+       0xc, 0xc,
+       0x4, 0x8,
+       0x6, 0x18,
+       0x83, 0xf1,
+       0xf3, 0xf3,
+       0x3b, 0xf6,
+       0xf, 0xfc,
+       0x7, 0xfc,
+       0x1f, 0xf6,
+       0xf3, 0xf3,
+       0x83, 0xf1,
+       0x2, 0x18,
+       0x6, 0x18,
+       0xc, 0xc,
+       0x18, 0x6,
+};
+
+const unsigned char XC_spraycan[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       2, 4,   /* y,x of hotspot */
+       /* data */
+       0x98, 0x0,
+       0x2, 0x0,
+       0x18, 0xb0,
+       0x2, 0x78,
+       0x18, 0x58,
+       0x0, 0xfc,
+       0x0, 0x84,
+       0x0, 0x9c,
+       0x0, 0x94,
+       0x0, 0x9c,
+       0x0, 0x94,
+       0x0, 0x9c,
+       0x0, 0x9c,
+       0x0, 0x84,
+       0x0, 0x84,
+       0x0, 0xfc,
+       /* mask */
+       0x30, 0x0,
+       0x34, 0x60,
+       0x35, 0xf0,
+       0x35, 0xf0,
+       0x35, 0xf8,
+       0x3, 0xfc,
+       0x3, 0xfc,
+       0x3, 0xfc,
+       0x3, 0xfc,
+       0x3, 0xfc,
+       0x3, 0xfc,
+       0x3, 0xfc,
+       0x3, 0xfc,
+       0x3, 0xfc,
+       0x3, 0xfc,
+       0x3, 0xfc,
+};
+
+const unsigned char XC_star[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x80, 0x80,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x1, 0x40,
+       0x2, 0x20,
+       0x2, 0x20,
+       0x2, 0x20,
+       0x1c, 0x9c,
+       0x60, 0x3,
+       0x1c, 0x1c,
+       0x4, 0x90,
+       0x9, 0x48,
+       0x12, 0x24,
+       0x14, 0x14,
+       0x18, 0xc,
+       0x10, 0x4,
+       /* mask */
+       0x0, 0x80,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x3, 0x60,
+       0x3, 0x60,
+       0x6, 0x30,
+       0x1e, 0x38,
+       0x7c, 0x9f,
+       0xe0, 0x3,
+       0x7c, 0x1f,
+       0x1c, 0x9c,
+       0x19, 0xcc,
+       0x33, 0x66,
+       0x36, 0x36,
+       0x3c, 0x1e,
+       0x38, 0xe,
+};
+
+const unsigned char XC_target[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x81, 0xc0,
+       0x7, 0xf0,
+       0xe, 0x38,
+       0x18, 0xc,
+       0x30, 0x6,
+       0x60, 0x83,
+       0x61, 0x43,
+       0x60, 0x83,
+       0x30, 0x6,
+       0x18, 0xc,
+       0xe, 0x38,
+       0x7, 0xf0,
+       0x1, 0xc0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0xf, 0xf8,
+       0x1e, 0x3c,
+       0x38, 0xe,
+       0x70, 0x87,
+       0xe1, 0xc3,
+       0xe3, 0x63,
+       0xe1, 0xc3,
+       0x70, 0x87,
+       0x38, 0xe,
+       0x1e, 0x3c,
+       0xf, 0xf8,
+       0x3, 0xe0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_tcross[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       7, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0xc0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x3f, 0xfe,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_top_left_arrow[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       1, 15,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x80, 0x6,
+       0x0, 0x1e,
+       0x0, 0x7c,
+       0x1, 0xfc,
+       0x7, 0xf8,
+       0x1f, 0xf8,
+       0x1, 0xf0,
+       0x1, 0xf0,
+       0x2, 0x60,
+       0x4, 0x60,
+       0x8, 0x40,
+       0x10, 0x40,
+       0x20, 0x0,
+       0x40, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x7,
+       0x0, 0x1f,
+       0x0, 0x7f,
+       0x1, 0xfe,
+       0x7, 0xfe,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xf8,
+       0x3, 0xf8,
+       0x7, 0xf0,
+       0xe, 0xf0,
+       0x1c, 0xe0,
+       0x38, 0xe0,
+       0x70, 0xe0,
+       0xe0, 0x0,
+       0xc0, 0x0,
+};
+
+const unsigned char XC_top_left_corner[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       1, 15,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0xff, 0xfe,
+       0x7f, 0xfe,
+       0x0, 0x6,
+       0x0, 0x6,
+       0x0, 0x6,
+       0x1f, 0xc6,
+       0x0, 0xc6,
+       0x1, 0x46,
+       0x2, 0x46,
+       0x4, 0x46,
+       0x8, 0x46,
+       0x10, 0x46,
+       0x0, 0x6,
+       0x0, 0x6,
+       0x0, 0x0,
+       /* mask */
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x0, 0xf,
+       0x3f, 0xef,
+       0x3f, 0xef,
+       0x3f, 0xef,
+       0x3, 0xef,
+       0x7, 0xef,
+       0xe, 0xef,
+       0x1c, 0xef,
+       0x38, 0xef,
+       0x30, 0xef,
+       0x0, 0xf,
+       0x0, 0xf,
+};
+
+const unsigned char XC_top_right_corner[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       1, 2,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0xff, 0xfe,
+       0x7f, 0xfe,
+       0x60, 0x0,
+       0x60, 0x0,
+       0x60, 0x0,
+       0x63, 0xf8,
+       0x63, 0x0,
+       0x62, 0x80,
+       0x62, 0x40,
+       0x62, 0x20,
+       0x62, 0x10,
+       0x62, 0x8,
+       0x60, 0x0,
+       0x60, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xf0, 0x0,
+       0xf7, 0xfc,
+       0xf7, 0xfc,
+       0xf7, 0xfc,
+       0xf7, 0xc0,
+       0xf7, 0xe0,
+       0xf7, 0x70,
+       0xf7, 0x38,
+       0xf7, 0x1c,
+       0xf7, 0xc,
+       0xf0, 0x0,
+       0xf0, 0x0,
+};
+
+const unsigned char XC_top_side[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       1, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0xff, 0xfe,
+       0x3f, 0xfe,
+       0x0, 0x0,
+       0x0, 0x80,
+       0x1, 0xc0,
+       0x2, 0xa0,
+       0x4, 0x90,
+       0x8, 0x88,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x0,
+       /* mask */
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x7f, 0xff,
+       0x1, 0xc0,
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0xf, 0xf8,
+       0x1d, 0xdc,
+       0x19, 0xcc,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+};
+
+const unsigned char XC_top_tee[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       3, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0xff, 0xfe,
+       0x7f, 0xfe,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x1, 0x80,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x3, 0xc0,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_trek[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       0, 8,   /* y,x of hotspot */
+       /* data */
+       0x8, 0x80,
+       0x8, 0x0,
+       0x1, 0xc0,
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0x7, 0x70,
+       0x7, 0xf0,
+       0x3, 0xe0,
+       0x1, 0xc0,
+       0x0, 0x80,
+       0x5, 0xd0,
+       0x6, 0xb0,
+       0x4, 0x90,
+       0x4, 0x10,
+       0x4, 0x10,
+       0x4, 0x10,
+       /* mask */
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x3, 0xe0,
+       0x7, 0xf0,
+       0xf, 0xf8,
+       0xf, 0xf8,
+       0xf, 0xf8,
+       0x7, 0xf0,
+       0x3, 0xe0,
+       0x5, 0xd0,
+       0xf, 0xf8,
+       0xf, 0xf8,
+       0xf, 0xf8,
+       0xe, 0xb8,
+       0xe, 0xb8,
+       0xe, 0x38,
+};
+
+const unsigned char XC_ul_angle[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       3, 13,  /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x18,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x3c,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_umbrella[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       3, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x89, 0x10,
+       0x14, 0x40,
+       0x65, 0x92,
+       0x13, 0xe4,
+       0xc, 0x98,
+       0x30, 0x86,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x2, 0x80,
+       0x2, 0x80,
+       0x1, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x76, 0xe8,
+       0xdf, 0xfb,
+       0x3f, 0xfd,
+       0xff, 0xfe,
+       0x3f, 0xff,
+       0xff, 0xff,
+       0x79, 0xcf,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x7, 0xc0,
+       0x7, 0xc0,
+       0x7, 0xc0,
+       0x7, 0xc0,
+       0x3, 0x80,
+};
+
+const unsigned char XC_ur_angle[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       3, 4,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x1f, 0xf8,
+       0x1f, 0xf8,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x18, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+       /* mask */
+       0x0, 0x0,
+       0x0, 0x0,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3f, 0xfc,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x3c, 0x0,
+       0x0, 0x0,
+       0x0, 0x0,
+};
+
+const unsigned char XC_watch[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       9, 1,   /* y,x of hotspot */
+       /* data */
+       0x7, 0xf8,
+       0x7, 0xf8,
+       0x7, 0xf8,
+       0xf, 0xfc,
+       0x18, 0x86,
+       0x30, 0x83,
+       0xe0, 0x81,
+       0xe1, 0xc1,
+       0xe1, 0xc1,
+       0xe0, 0x21,
+       0x30, 0x13,
+       0x18, 0x6,
+       0xf, 0xfc,
+       0x7, 0xf8,
+       0x7, 0xf8,
+       0x7, 0xf8,
+       /* mask */
+       0xf, 0xfc,
+       0xf, 0xfc,
+       0xf, 0xfc,
+       0x1f, 0xfe,
+       0x3f, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0xff, 0xff,
+       0x3f, 0xff,
+       0x1f, 0xfe,
+       0xf, 0xfc,
+       0xf, 0xfc,
+       0xf, 0xfc,
+};
+
+const unsigned char XC_xterm[] = {
+       16,     /* 16x16 size */
+       1,      /* 1 bit depth */
+       8, 8,   /* y,x of hotspot */
+       /* data */
+       0x0, 0x0,
+       0xf, 0x70,
+       0x9, 0xc0,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x0, 0x80,
+       0x1, 0xc0,
+       0x7, 0x70,
+       0x0, 0x0,
+       /* mask */
+       0xf, 0x78,
+       0xf, 0xf8,
+       0xf, 0xf8,
+       0x3, 0xe0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x1, 0xc0,
+       0x3, 0xe0,
+       0xf, 0xf8,
+       0xf, 0xf8,
+       0xf, 0x78,
+};
+
diff --git a/src/glut/beos/glutDstr.cpp b/src/glut/beos/glutDstr.cpp
new file mode 100644 (file)
index 0000000..c594cfd
--- /dev/null
@@ -0,0 +1,79 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutDstr.cpp
+ *
+ *     DESCRIPTION:    convert display string into a Be options variable
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include <string.h>
+#include <stdlib.h>
+#include "glutint.h"
+#include "glutState.h"
+
+/***********************************************************
+ *     FUNCTION:       glutInitDisplayString
+ *
+ *     DESCRIPTION:  sets the display string variable
+ ***********************************************************/
+void APIENTRY 
+glutInitDisplayString(const char *string)
+{
+  if (gState.displayString) {
+    free(gState.displayString);
+  }
+  if (string) {
+    gState.displayString = strdup(string);
+    if (!gState.displayString)
+      __glutFatalError("out of memory.");
+  } else
+    gState.displayString = NULL;
+}
+
+/***********************************************************
+ *     FUNCTION:       __glutConvertDisplayModeFromString
+ *
+ *     DESCRIPTION:  converts the current display mode into a BGLView
+ *             display mode, printing warnings as appropriate.
+ *
+ *     PARAMETERS:      if options is non-NULL, the current display mode is
+ *             returned in it.
+ *
+ *     RETURNS:        1 if the current display mode is possible, else 0
+ ***********************************************************/
+int __glutConvertDisplayModeFromString(unsigned long *options) {
+       ulong newoptions = BGL_DOUBLE;
+       gState.swapHack = true;         // assume single buffered
+       
+       char *word = strtok(gState.displayString, " \t");
+       do {
+               char *cstr = strpbrk(word, "=><!~");
+               if(cstr)
+                       *cstr = '\0';
+               // this is the most minimal possible parser.  scan for
+               // options that we support, and add them to newoptions
+               // this will certainly cause it to accept things that we
+               // don't actually support, but if we don't support it, the
+               // program's probably not going to work anyway.
+               if(!strcmp(word, "alpha")) {
+                       newoptions |= BGL_ALPHA;
+               } else if((!strcmp(word, "acc")) || (!strcmp(word, "acca"))) {
+                       newoptions |= BGL_ACCUM;
+               } else if(!strcmp(word, "depth")) {
+                       newoptions |= BGL_DEPTH;
+               } else if(!strcmp(word, "double")) {
+                       gState.swapHack = false;
+               } else if(!strcmp(word, "stencil")) {
+                       newoptions |= BGL_STENCIL;
+               }
+       } while((word = strtok(0, " \t")) != 0);
+
+       if (options)
+               *options = newoptions;
+
+       return 1;       // assume we support it
+}
diff --git a/src/glut/beos/glutEvent.cpp b/src/glut/beos/glutEvent.cpp
new file mode 100644 (file)
index 0000000..20b1cad
--- /dev/null
@@ -0,0 +1,721 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutEvent.cpp
+ *
+ *     DESCRIPTION:    here it is, the BeOS GLUT event loop
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include "glutint.h"
+#include "glutState.h"
+#include "glutBlocker.h"
+
+/***********************************************************
+ *     CLASS:  GLUTtimer
+ *
+ *     DESCRIPTION:    list of timer callbacks
+ ***********************************************************/
+struct GLUTtimer {
+       GLUTtimer *next;        // list of timers
+       bigtime_t timeout;      // time to be called
+       GLUTtimerCB func;       // function to call
+       int value;                      // value
+};
+
+/***********************************************************
+ *     Private variables
+ ***********************************************************/
+static GLUTtimer *__glutTimerList = 0;                 // list of timer callbacks
+static GLUTtimer *freeTimerList = 0;
+
+/***********************************************************
+ *     FUNCTION:       glutTimerFunc (7.19)
+ *
+ *     DESCRIPTION:  register a new timer callback
+ ***********************************************************/
+void APIENTRY 
+glutTimerFunc(unsigned int interval, GLUTtimerCB timerFunc, int value)
+{
+  GLUTtimer *timer, *other;
+  GLUTtimer **prevptr;
+
+  if (!timerFunc)
+    return;
+
+  if (freeTimerList) {
+    timer = freeTimerList;
+    freeTimerList = timer->next;
+  } else {
+    timer = new GLUTtimer();
+    if (!timer)
+      __glutFatalError("out of memory.");
+  }
+
+  timer->func = timerFunc;
+  timer->value = value;
+  timer->next = NULL;
+  timer->timeout = system_time() + (interval*1000);    // 1000 ticks in a millisecond
+  prevptr = &__glutTimerList;
+  other = *prevptr;
+  while (other && (other->timeout < timer->timeout)) {
+    prevptr = &other->next;
+    other = *prevptr;
+  }
+  timer->next = other;
+  *prevptr = timer;
+}
+
+/***********************************************************
+ *     FUNCTION:       handleTimeouts
+ *
+ *     DESCRIPTION:  private function to handle outstanding timeouts
+ ***********************************************************/
+static void
+handleTimeouts(void)
+{
+  bigtime_t now;
+  GLUTtimer *timer;
+
+  /* Assumption is that __glutTimerList is already determined
+     to be non-NULL. */
+  now = system_time();
+  while (__glutTimerList->timeout <= now) {
+    timer = __glutTimerList;
+    if(gState.currentWindow)
+           gState.currentWindow->LockGL();
+    timer->func(timer->value);
+    if(gState.currentWindow)
+           gState.currentWindow->UnlockGL();
+    __glutTimerList = timer->next;
+    timer->next = freeTimerList;
+    freeTimerList = timer;
+    if (!__glutTimerList)
+      break;
+  }
+}
+
+
+/***********************************************************
+ *     FUNCTION:       processEventsAndTimeouts
+ *
+ *     DESCRIPTION:  clear gBlock, then check all windows for events
+ ***********************************************************/
+static void
+processEventsAndTimeouts(void)
+{
+       gBlock.WaitEvent();             // if there is already an event, returns
+                                                       // immediately, otherwise wait forever
+       gBlock.ClearEvents();
+       
+       if (gState.currentWindow)
+               gState.currentWindow->LockGL();
+       for(int i=0; i<gState.windowListSize; i++) {
+               if (gState.windowList[i]) {
+                       GlutWindow *win = gState.windowList[i];
+                       win->Window()->Lock();
+                       // NOTE: we can use win as a shortcut for gState.windowList[i]
+                       // in callbacks, EXCEPT we need to check the original variable
+                       // after each callback to make sure the window hasn't been destroyed
+                       if (win->anyevents) {
+                               win->anyevents = false;
+                               if (win->reshapeEvent) {
+                                       win->reshapeEvent = false;
+                                       __glutSetWindow(win);
+                                       win->reshape(win->m_width, win->m_height);
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+
+                               if (win->displayEvent) {
+                                       win->displayEvent = false;
+                                       __glutSetWindow(win);
+                                       win->display();
+                                       if (gState.windowList[i] && win->swapHack) {
+                                               // fake single buffering by swapping buffers
+                                               __glutSetWindow(win);
+                                               win->SwapBuffers();
+                                       }
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+
+                               if (win->mouseEvent) {
+                                       win->mouseEvent = false;
+                                       __glutSetWindow(win);
+                                       if (win->mouse) {
+                                               gState.modifierKeys = win->modifierKeys;
+                                               win->mouse(win->button, win->mouseState, win->mouseX, win->mouseY);
+                                               gState.modifierKeys = ~0;
+                                       }
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+
+                               if (win->menuEvent) {
+                                       win->menuEvent = false;
+                                       __glutSetWindow(win);
+                                       GlutMenu *menu = __glutGetMenuByNum(win->menuNumber);
+                                       if (menu) {
+                                               gState.currentMenu = menu;
+                                               menu->select(win->menuValue);
+                                       }
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+
+                               if (win->statusEvent) {
+                                       win->statusEvent = false;
+                                       __glutSetWindow(win);
+                                       if (gState.menuStatus) {
+                                               gState.currentMenu = __glutGetMenuByNum(win->menuNumber);
+                                               gState.menuStatus(win->menuStatus, win->statusX, win->statusY);
+                                       }
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+
+                               if (win->motionEvent) {
+                                       win->motionEvent = false;
+                                       __glutSetWindow(win);
+                                       if (win->motion)
+                                               win->motion(win->motionX, win->motionY);
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+
+                               if (win->passiveEvent) {
+                                       win->passiveEvent = false;
+                                       __glutSetWindow(win);
+                                       if (win->passive)
+                                               win->passive(win->passiveX, win->passiveY);
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+
+                               if (win->keybEvent) {
+                                       win->keybEvent = false;
+                                       __glutSetWindow(win);
+                                       if (win->keyboard) {
+                                               gState.modifierKeys = win->modifierKeys;
+                                               win->keyboard(win->key, win->keyX, win->keyY);
+                                               gState.modifierKeys = ~0;
+                                       }
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+
+                               if (win->specialEvent) {
+                                       win->specialEvent = false;
+                                       __glutSetWindow(win);
+                                       if (win->special) {
+                                               gState.modifierKeys = win->modifierKeys;
+                                               win->special(win->specialKey, win->specialX, win->specialY);
+                                               gState.modifierKeys = ~0;
+                                       }
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+
+                               if (win->entryEvent) {
+                                       win->entryEvent = false;
+                                       __glutSetWindow(win);
+                                       if (win->entry)
+                                               win->entry(win->entryState);
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+
+                               if (win->visEvent) {
+                                       win->visEvent = false;
+                                       __glutSetWindow(win);
+                                       if (win->visibility)
+                                               win->visibility(win->visState);
+                               }
+                               if (!gState.windowList[i])
+                                       continue;       // window was destroyed by callback!
+                       }
+                       if(gState.windowList[i])        // window hasn't been destroyed
+                               win->Window()->Unlock();
+               }
+       }
+       if (gState.currentWindow)
+               gState.currentWindow->UnlockGL();
+
+       // This code isn't necessary since BGLView automatically traps errors
+#if 0
+       if(gState.debug) {
+               for(int i=0; i<gState.windowListSize; i++) {
+                       if (gState.windowList[i]) {
+                               gState.windowList[i]->LockGL();
+                               glutReportErrors();
+                               gState.windowList[i]->UnlockGL();
+                       }
+               }
+       }
+#endif
+       if (__glutTimerList) {
+      handleTimeouts();
+    }
+}
+
+/***********************************************************
+ *     FUNCTION:       waitForSomething
+ *
+ *     DESCRIPTION:  use gBlock to wait for a new event or timeout
+ ***********************************************************/
+static void
+waitForSomething(void)
+{
+       bigtime_t timeout = __glutTimerList->timeout;
+       bigtime_t now = system_time();
+       
+       if (gBlock.PendingEvent())
+               goto immediatelyHandleEvent;
+       
+       if(timeout>now)
+               gBlock.WaitEvent(timeout-now);
+       if (gBlock.PendingEvent()) {
+       immediatelyHandleEvent:
+               processEventsAndTimeouts();
+       } else {
+               if (__glutTimerList)
+                       handleTimeouts();
+       }
+}
+
+/***********************************************************
+ *     FUNCTION:       idleWait
+ *
+ *     DESCRIPTION:  check for events, then call idle function
+ ***********************************************************/
+static void
+idleWait(void)
+{
+  if (gBlock.PendingEvent()) {
+    processEventsAndTimeouts();
+  } else {
+    if (__glutTimerList)
+      handleTimeouts();
+  }
+  /* Make sure idle func still exists! */
+  if(gState.currentWindow)
+         gState.currentWindow->LockGL();
+  if (gState.idle)
+    gState.idle();
+  if(gState.currentWindow)
+         gState.currentWindow->UnlockGL();
+}
+
+/***********************************************************
+ *     FUNCTION:       glutMainLoop (3.1)
+ *
+ *     DESCRIPTION:  enter the event processing loop
+ ***********************************************************/
+void glutMainLoop()
+{
+  if (!gState.windowListSize)
+    __glutFatalUsage("main loop entered with no windows created.");
+
+  if(gState.currentWindow)
+         gState.currentWindow->UnlockGL();
+
+  for (;;) {
+    if (gState.idle) {
+      idleWait();
+    } else {
+      if (__glutTimerList) {
+        waitForSomething();
+      } else {
+        processEventsAndTimeouts();
+      }
+    }
+  }
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       KeyDown
+ *
+ *     DESCRIPTION:  handles keyboard and special events
+ ***********************************************************/
+void GlutWindow::KeyDown(const char *s, int32 slen)
+{
+  ulong aChar = s[0];
+  BGLView::KeyDown(s,slen);
+  
+  BPoint p;
+       
+       switch (aChar) {
+               case B_FUNCTION_KEY:
+               switch(Window()->CurrentMessage()->FindInt32("key")) {
+                       case B_F1_KEY:
+                               aChar = GLUT_KEY_F1;
+                               goto specialLabel;
+                       case B_F2_KEY:
+                               aChar = GLUT_KEY_F2;
+                               goto specialLabel;
+                       case B_F3_KEY:
+                               aChar = GLUT_KEY_F3;
+                               goto specialLabel;
+                       case B_F4_KEY:
+                               aChar = GLUT_KEY_F4;
+                               goto specialLabel;
+                       case B_F5_KEY:
+                               aChar = GLUT_KEY_F5;
+                               goto specialLabel;
+                       case B_F6_KEY:
+                               aChar = GLUT_KEY_F6;
+                               goto specialLabel;
+                       case B_F7_KEY:
+                               aChar = GLUT_KEY_F7;
+                               goto specialLabel;
+                       case B_F8_KEY:
+                               aChar = GLUT_KEY_F8;
+                               goto specialLabel;
+                       case B_F9_KEY:
+                               aChar = GLUT_KEY_F9;
+                               goto specialLabel;
+                       case B_F10_KEY:
+                               aChar = GLUT_KEY_F10;
+                               goto specialLabel;
+                       case B_F11_KEY:
+                               aChar = GLUT_KEY_F11;
+                               goto specialLabel;
+                       case B_F12_KEY:
+                               aChar = GLUT_KEY_F12;
+                               goto specialLabel;
+                       default:
+                               return;
+               }
+               case B_LEFT_ARROW:
+                       aChar = GLUT_KEY_LEFT;
+                       goto specialLabel;
+               case B_UP_ARROW:
+                       aChar = GLUT_KEY_UP;
+                       goto specialLabel;
+               case B_RIGHT_ARROW:
+                       aChar = GLUT_KEY_RIGHT;
+                       goto specialLabel;
+               case B_DOWN_ARROW:
+                       aChar = GLUT_KEY_DOWN;
+                       goto specialLabel;
+               case B_PAGE_UP:
+                       aChar = GLUT_KEY_PAGE_UP;
+                       goto specialLabel;
+               case B_PAGE_DOWN:
+                       aChar = GLUT_KEY_PAGE_DOWN;
+                       goto specialLabel;
+               case B_HOME:
+                       aChar = GLUT_KEY_HOME;
+                       goto specialLabel;
+               case B_END:
+                       aChar = GLUT_KEY_END;
+                       goto specialLabel;
+               case B_INSERT:
+            aChar = GLUT_KEY_INSERT;
+specialLabel:  
+                       if (special) {
+                               anyevents = specialEvent = true;
+                               GetMouse(&p,&m_buttons);
+                               specialKey = aChar;
+                               specialX = (int)p.x;
+                               specialY = (int)p.y;
+                               goto setModifiers;      // set the modifier variable
+                       }
+                       return;
+
+               default:
+                       break;
+       }
+               
+       if (keyboard) {
+               anyevents = keybEvent = true;
+               GetMouse(&p,&m_buttons);
+               key = aChar;
+               keyX = (int)p.x;
+               keyY = (int)p.y;
+setModifiers:
+               modifierKeys = 0;
+               uint32 beMod = Window()->CurrentMessage()->FindInt32("modifiers");
+               if(beMod & B_SHIFT_KEY)
+                       modifierKeys |= GLUT_ACTIVE_SHIFT;
+               if(beMod & B_CONTROL_KEY)
+                       modifierKeys |= GLUT_ACTIVE_CTRL;
+               if(beMod & B_OPTION_KEY) {
+                       // since the window traps B_COMMAND_KEY, we'll have to settle
+                       // for the option key.. but we need to get the raw character,
+                       // not the Unicode-enhanced version
+                       key = Window()->CurrentMessage()->FindInt32("raw_char");
+                       modifierKeys |= GLUT_ACTIVE_ALT;
+               }
+               gBlock.NewEvent();
+       }
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       MouseDown
+ *
+ *     DESCRIPTION:  handles mouse and menustatus events
+ ***********************************************************/
+void GlutWindow::MouseDown(BPoint point)
+{
+       BGLView::MouseDown(point);
+       MouseCheck();
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       MouseCheck
+ *
+ *     DESCRIPTION:  checks for button state changes
+ ***********************************************************/
+void GlutWindow::MouseCheck()
+{
+       if (mouseEvent)
+               return;         // we already have an outstanding mouse event
+
+       BPoint point;
+       uint32 newButtons;
+       GetMouse(&point, &newButtons);
+       if (m_buttons != newButtons) {
+               if (newButtons&B_PRIMARY_MOUSE_BUTTON && !(m_buttons&B_PRIMARY_MOUSE_BUTTON)) {
+                       button = GLUT_LEFT_BUTTON;
+                       mouseState = GLUT_DOWN;
+               } else if (m_buttons&B_PRIMARY_MOUSE_BUTTON && !(newButtons&B_PRIMARY_MOUSE_BUTTON)) {
+                       button = GLUT_LEFT_BUTTON;
+                       mouseState = GLUT_UP;
+               } else if (newButtons&B_SECONDARY_MOUSE_BUTTON && !(m_buttons&B_SECONDARY_MOUSE_BUTTON)) {
+                       button = GLUT_RIGHT_BUTTON;
+                       mouseState = GLUT_DOWN;
+               } else if (m_buttons&B_SECONDARY_MOUSE_BUTTON && !(newButtons&B_SECONDARY_MOUSE_BUTTON)) {
+                       button = GLUT_RIGHT_BUTTON;
+                       mouseState = GLUT_UP;
+               } else if (newButtons&B_TERTIARY_MOUSE_BUTTON && !(m_buttons&B_TERTIARY_MOUSE_BUTTON)) {
+                       button = GLUT_MIDDLE_BUTTON;
+                       mouseState = GLUT_DOWN;
+               } else if (m_buttons&B_TERTIARY_MOUSE_BUTTON && !(newButtons&B_TERTIARY_MOUSE_BUTTON)) {
+                       button = GLUT_MIDDLE_BUTTON;
+                       mouseState = GLUT_UP;
+               }
+       } else {
+               return;         // no change, return
+       }
+       m_buttons = newButtons;
+
+       if (mouseState == GLUT_DOWN) {
+               BWindow *w = Window();
+               GlutMenu *m = __glutGetMenuByNum(menu[button]);
+               if (m) {
+                       if (gState.menuStatus) {
+                               anyevents = statusEvent = true;
+                               menuNumber = menu[button];
+                               menuStatus = GLUT_MENU_IN_USE;
+                               statusX = (int)point.x;
+                               statusY = (int)point.y;
+                               gBlock.NewEvent();
+                       }               
+                       BRect bounds = w->Frame();
+                       point.x += bounds.left;
+                       point.y += bounds.top;
+                       GlutPopUp *bmenu = static_cast<GlutPopUp*>(m->CreateBMenu());   // start menu
+                       bmenu->point = point;
+                       bmenu->win = this;
+                       thread_id menu_thread = spawn_thread(MenuThread, "menu thread", B_NORMAL_PRIORITY, bmenu);
+                       resume_thread(menu_thread);
+                       return;
+               }
+       }
+
+       if (mouse) {
+               anyevents = mouseEvent = true;
+               mouseX = (int)point.x;
+               mouseY = (int)point.y;
+               modifierKeys = 0;
+               uint32 beMod = modifiers();
+               if(beMod & B_SHIFT_KEY)
+                       modifierKeys |= GLUT_ACTIVE_SHIFT;
+               if(beMod & B_CONTROL_KEY)
+                       modifierKeys |= GLUT_ACTIVE_CTRL;
+               if(beMod & B_OPTION_KEY) {
+                       modifierKeys |= GLUT_ACTIVE_ALT;
+               }
+               gBlock.NewEvent();
+       }
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       MouseMoved
+ *
+ *     DESCRIPTION:  handles entry, motion, and passive events
+ ***********************************************************/
+void GlutWindow::MouseMoved(BPoint point,
+                                               ulong transit, const BMessage *msg)
+{
+       BGLView::MouseMoved(point,transit,msg);
+       
+       if(transit != B_INSIDE_VIEW) {
+               if (entry) {
+                       anyevents = entryEvent = true;
+                       gBlock.NewEvent();
+               }
+               if (transit == B_ENTERED_VIEW) {
+                       entryState = GLUT_ENTERED;
+                       MakeFocus();    // make me the current focus
+                       __glutSetCursor(cursor);
+               } else
+                       entryState = GLUT_LEFT;
+       }
+       
+       MouseCheck();
+       if(m_buttons) {
+               if(motion) {
+                       anyevents = motionEvent = true;
+                       motionX = (int)point.x;
+                       motionY = (int)point.y;
+                       gBlock.NewEvent();
+               }
+       } else {
+               if(passive) {
+                       anyevents = passiveEvent = true;
+                       passiveX = (int)point.x;
+                       passiveY = (int)point.y;
+                       gBlock.NewEvent();
+               }
+       }
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       FrameResized
+ *
+ *     DESCRIPTION:  handles reshape event
+ ***********************************************************/
+void GlutWindow::FrameResized(float width, float height)
+{
+       BGLView::FrameResized(width, height);
+       if (visState == GLUT_VISIBLE) {
+               anyevents = reshapeEvent = true;
+               m_width = (int)(width)+1;
+               m_height = (int)(height)+1;
+               gBlock.NewEvent();
+       }
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       Draw
+ *
+ *     DESCRIPTION:  handles reshape and display events
+ ***********************************************************/
+void GlutWindow::Draw(BRect updateRect)
+{
+       BGLView::Draw(updateRect);
+       BRect frame = Frame();
+       if (m_width != (frame.Width()+1) || m_height != (frame.Height()+1)) {
+               FrameResized(frame.Width(), frame.Height());
+       }
+       if (visState == GLUT_VISIBLE) {
+               anyevents = displayEvent = true;
+               gBlock.NewEvent();
+       }
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       Hide
+ *                             Show
+ *
+ *     DESCRIPTION:  handles visibility event
+ ***********************************************************/
+void GlutWindow::Hide()
+{
+       BGLView::Hide();
+       if (visibility) {
+               anyevents = visEvent = true;
+               visState = GLUT_NOT_VISIBLE;
+               displayEvent = false;   // display callbacks not allowed when hidden
+               gBlock.NewEvent();
+       }
+}
+
+void GlutWindow::Show()
+{
+       BGLView::Show();
+       if (visibility) {
+               anyevents = visEvent = true;
+               visState = GLUT_VISIBLE;
+               gBlock.NewEvent();
+       }
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       Pulse
+ *
+ *     DESCRIPTION:  handles mouse up event (MouseUp is broken)
+ ***********************************************************/
+void GlutWindow::Pulse()
+{
+       BGLView::Pulse();
+       if (m_buttons) {        // if there are buttons pressed
+               MouseCheck();
+       }
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       ErrorCallback
+ *
+ *     DESCRIPTION:  handles GL error messages
+ ***********************************************************/
+void GlutWindow::ErrorCallback(GLenum errorCode) {
+       __glutWarning("GL error: %s", gluErrorString(errorCode));
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       MenuThread
+ *
+ *     DESCRIPTION:  a new thread to launch popup menu, wait
+ *                     wait for response, then clean up afterwards and
+ *                     send appropriate messages
+ ***********************************************************/
+long GlutWindow::MenuThread(void *m) {
+       GlutPopUp *bmenu = static_cast<GlutPopUp*>(m);
+       GlutWindow *win = bmenu->win;   // my window
+       GlutBMenuItem *result = (GlutBMenuItem*)bmenu->Go(bmenu->point);
+       win->Window()->Lock();
+       win->anyevents = win->statusEvent = true;
+       win->menuStatus = GLUT_MENU_NOT_IN_USE;
+       win->menuNumber = bmenu->menu;
+       BPoint cursor;
+       uint32 buttons;
+       win->GetMouse(&cursor, &buttons);
+       win->statusX = (int)cursor.x;
+       win->statusY = (int)cursor.y;
+       if(result && result->menu) {
+               win->menuEvent = true;
+               win->menuNumber = result->menu;  // in case it was a submenu
+               win->menuValue = result->value;
+       }
+       win->Window()->Unlock();
+       gBlock.NewEvent();
+       delete bmenu;
+       return 0;
+}
diff --git a/src/glut/beos/glutGet.cpp b/src/glut/beos/glutGet.cpp
new file mode 100644 (file)
index 0000000..33355af
--- /dev/null
@@ -0,0 +1,240 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutGet.cpp
+ *
+ *     DESCRIPTION:    get state information from GL
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include <string.h>
+#include <Autolock.h>
+#include "glutint.h"
+#include "glutState.h"
+
+/***********************************************************
+ *     Global variables
+ ***********************************************************/
+// rough guess, since we don't know how big the monitor really is
+const float dots_per_mm = (72/25.4);   // dots per millimeter
+
+/***********************************************************
+ *     FUNCTION:       glutGet (9.1)
+ *
+ *     DESCRIPTION:  retrieve window and GL state
+ ***********************************************************/
+int glutGet(GLenum state) {
+       switch(state) {
+       case GLUT_WINDOW_X:
+               {BAutolock winlock(gState.currentWindow->Window());     // need to lock the window
+               if (gState.currentWindow->parent)
+                       return (int)gState.currentWindow->Frame().left;
+               else
+                       return (int)gState.currentWindow->Window()->Frame().left;
+               }
+       case GLUT_WINDOW_Y:
+               {BAutolock winlock(gState.currentWindow->Window());
+               if (gState.currentWindow->parent)
+                       return (int)gState.currentWindow->Frame().top;
+               else
+                       return (int)gState.currentWindow->Window()->Frame().top;
+               }
+       case GLUT_WINDOW_WIDTH:
+               {BAutolock winlock(gState.currentWindow->Window());
+               return gState.currentWindow->m_width;
+               }
+       case GLUT_WINDOW_HEIGHT:
+               {BAutolock winlock(gState.currentWindow->Window());
+               return gState.currentWindow->m_height;
+               }
+       case GLUT_WINDOW_PARENT:
+               {BAutolock winlock(gState.currentWindow->Window());
+               if(gState.currentWindow->parent)
+                       return gState.currentWindow->parent->num + 1;
+               else
+                       return 0;
+               }
+       case GLUT_WINDOW_NUM_CHILDREN:
+               {BAutolock winlock(gState.currentWindow->Window());
+               int num = 0;
+               GlutWindow *children = gState.currentWindow->children;
+               while (children) {
+                       num++;
+                       children = children->siblings;
+               }
+               return num; 
+               }
+  case GLUT_WINDOW_BUFFER_SIZE:        // best guesses
+  case GLUT_WINDOW_DEPTH_SIZE:
+        return 32;
+
+  case GLUT_WINDOW_STENCIL_SIZE:
+  case GLUT_WINDOW_RED_SIZE:           // always 24-bit color
+  case GLUT_WINDOW_GREEN_SIZE:
+  case GLUT_WINDOW_BLUE_SIZE:
+  case GLUT_WINDOW_ALPHA_SIZE:
+  case GLUT_WINDOW_ACCUM_RED_SIZE:
+  case GLUT_WINDOW_ACCUM_GREEN_SIZE:
+  case GLUT_WINDOW_ACCUM_BLUE_SIZE:
+  case GLUT_WINDOW_ACCUM_ALPHA_SIZE:
+        return 8;
+
+  case GLUT_WINDOW_DOUBLEBUFFER:       // always double-buffered RGBA
+  case GLUT_WINDOW_RGBA:
+        return 1;
+
+  case GLUT_WINDOW_COLORMAP_SIZE:      // don't support these
+  case GLUT_WINDOW_NUM_SAMPLES:
+  case GLUT_WINDOW_STEREO:
+        return 0;
+       case GLUT_WINDOW_CURSOR:
+               return gState.currentWindow->cursor;    // don't need to lock window since it won't change
+
+       case GLUT_SCREEN_WIDTH:
+               return (int)(BScreen().Frame().Width()) + 1;
+       case GLUT_SCREEN_HEIGHT:
+               return (int)(BScreen().Frame().Height()) + 1;
+       case GLUT_SCREEN_WIDTH_MM:
+               return (int)((BScreen().Frame().Width() + 1) / dots_per_mm);
+       case GLUT_SCREEN_HEIGHT_MM:
+               return (int)((BScreen().Frame().Height() + 1) / dots_per_mm);
+       case GLUT_MENU_NUM_ITEMS:
+               return gState.currentMenu->num;
+       case GLUT_DISPLAY_MODE_POSSIBLE:
+               return __glutConvertDisplayMode(0);     // returns 1 if possible
+       case GLUT_INIT_DISPLAY_MODE:
+               return gState.displayMode;
+       case GLUT_INIT_WINDOW_X:
+               return gState.initX;
+       case GLUT_INIT_WINDOW_Y:
+               return gState.initY;
+       case GLUT_INIT_WINDOW_WIDTH:
+               return gState.initWidth;
+       case GLUT_INIT_WINDOW_HEIGHT:
+               return gState.initHeight;
+       case GLUT_ELAPSED_TIME:
+               bigtime_t elapsed, beginning, now;
+               __glutInitTime(&beginning);
+               now = system_time();
+               elapsed = now - beginning;
+               return (int) (elapsed / 1000);  // 1000 ticks in a millisecond
+       default:
+               __glutWarning("invalid glutGet parameter: %d", state);
+               return -1;
+       }
+}
+
+/***********************************************************
+ *     FUNCTION:       glutLayerGet (9.2)
+ *
+ *     DESCRIPTION:  since we don't support layers, this is easy
+ ***********************************************************/
+int glutLayerGet(GLenum info) {
+       switch(info) {
+       case GLUT_OVERLAY_POSSIBLE:
+       case GLUT_HAS_OVERLAY:
+               return 0;
+       case GLUT_LAYER_IN_USE:
+               return GLUT_NORMAL;
+       case GLUT_TRANSPARENT_INDEX:
+               return -1;
+       case GLUT_NORMAL_DAMAGED:
+               return gState.currentWindow->displayEvent;
+       case GLUT_OVERLAY_DAMAGED:
+               return -1;
+       default:
+               __glutWarning("invalid glutLayerGet param: %d", info);
+               return -1;
+       }
+}
+
+/***********************************************************
+ *     FUNCTION:       glutDeviceGet (9.3)
+ *
+ *     DESCRIPTION:  get info about I/O devices we support
+ *             easy, since BeOS only supports a keyboard and mouse now
+ ***********************************************************/
+int glutDeviceGet(GLenum info) {
+       switch(info) {
+       case GLUT_HAS_KEYBOARD:
+       case GLUT_HAS_MOUSE:
+               return 1;
+
+       case GLUT_HAS_SPACEBALL:
+       case GLUT_HAS_DIAL_AND_BUTTON_BOX:
+       case GLUT_HAS_TABLET:
+       case GLUT_NUM_SPACEBALL_BUTTONS:
+       case GLUT_NUM_BUTTON_BOX_BUTTONS:
+       case GLUT_NUM_DIALS:
+       case GLUT_NUM_TABLET_BUTTONS:
+               return 0;
+       
+       case GLUT_NUM_MOUSE_BUTTONS:
+           {
+               int32 mouseButtons = 3;         // good guess
+               if(get_mouse_type(&mouseButtons) != B_OK) {
+                       __glutWarning("error getting number of mouse buttons");
+               }
+               return mouseButtons;
+           }
+
+       default:
+               __glutWarning("invalid glutDeviceGet parameter: %d", info);
+               return -1;
+       }
+}
+
+/***********************************************************
+ *     FUNCTION:       glutGetModifiers (9.4)
+ *
+ *     DESCRIPTION:  get the modifier key state for the current window
+ ***********************************************************/
+int glutGetModifiers() {
+       if(gState.modifierKeys == (int) ~0) {
+         __glutWarning(
+               "glutCurrentModifiers: do not call outside core input callback.");
+    return 0;
+       }
+       return gState.modifierKeys;
+}
+
+/***********************************************************
+ *     FUNCTION:       glutExtensionSupported (9.5)
+ *
+ *     DESCRIPTION:  is an OpenGL extension supported (from glut_ext.c)
+ ***********************************************************/
+int glutExtensionSupported(const char *extension) {
+  static const GLubyte *extensions = NULL;
+  const GLubyte *start;
+  GLubyte *where, *terminator;
+
+  /* Extension names should not have spaces. */
+  where = (GLubyte *) strchr(extension, ' ');
+  if (where || *extension == '\0')
+    return 0;
+
+  if (!extensions)
+    extensions = glGetString(GL_EXTENSIONS);
+  /* It takes a bit of care to be fool-proof about parsing the
+     OpenGL extensions string.  Don't be fooled by sub-strings, 
+
+     etc. */
+  start = extensions;
+  for (;;) {
+    where = (GLubyte *) strstr((const char *) start, extension);
+    if (!where)
+      break;
+    terminator = where + strlen(extension);
+    if (where == start || *(where - 1) == ' ') {
+      if (*terminator == ' ' || *terminator == '\0') {
+        return 1;
+      }
+    }
+    start = terminator;
+  }
+  return 0;
+}
diff --git a/src/glut/beos/glutInit.cpp b/src/glut/beos/glutInit.cpp
new file mode 100644 (file)
index 0000000..9aa0f47
--- /dev/null
@@ -0,0 +1,238 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutInit.cpp
+ *
+ *     DESCRIPTION:    initialize GLUT state
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include <string.h>
+#include <stdlib.h>
+#include "glutint.h"
+#include "glutState.h"
+#include "beos_x11.h"
+
+/***********************************************************
+ *     Global variables
+ ***********************************************************/
+GlutState gState;
+
+/***********************************************************
+ *     Private variables
+ ***********************************************************/
+static int __glutArgc;
+static char **__glutArgv;
+
+/***********************************************************
+ *     FUNCTION:       __glutInitTime
+ *
+ *     DESCRIPTION:  set up start time variable
+ ***********************************************************/
+void __glutInitTime(bigtime_t *beginning)
+{
+  static int beenhere = 0;
+  static bigtime_t genesis;
+
+  if (!beenhere) {
+    genesis = system_time();
+    beenhere = 1;
+  }
+  *beginning = genesis;
+}
+
+/***********************************************************
+ *     FUNCTION:       removeArgs
+ *
+ *     DESCRIPTION:  helper function for glutInit to remove args
+ *             from argv variable passed in
+ ***********************************************************/
+static void
+removeArgs(int *argcp, char **argv, int numToRemove)
+{
+  int i, j;
+
+  for (i = 0, j = numToRemove; argv[j]; i++, j++) {
+    argv[i] = argv[j];
+  }
+  argv[i] = NULL;
+  *argcp -= numToRemove;
+}
+
+/***********************************************************
+ *     FUNCTION:       bAppThread
+ *
+ *     DESCRIPTION:  starts the BApplication message loop running
+ ***********************************************************/
+static int32 bAppThread(void *arg) {
+       be_app->Lock();
+       return be_app->Run();
+}
+
+/***********************************************************
+ *     FUNCTION:       glutInit (2.1)
+ *
+ *     DESCRIPTION:  create BApplication, parse cmd-line arguments,
+ *             and set up gState structure.
+ ***********************************************************/
+void glutInit(int *argcp, char **argv) {
+  char *str, *geometry = NULL;
+  int i;
+
+  if (gState.display) {
+    __glutWarning("glutInit being called a second time.");
+    return;
+  }
+  /* Determine temporary program name. */
+  str = strrchr(argv[0], '/');
+  if (str == NULL) {
+    gState.programName = argv[0];
+  } else {
+    gState.programName = str + 1;
+  }
+
+  /* Make private copy of command line arguments. */
+  __glutArgc = *argcp;
+  __glutArgv = (char **) malloc(__glutArgc * sizeof(char *));
+  if (!__glutArgv)
+    __glutFatalError("out of memory.");
+  for (i = 0; i < __glutArgc; i++) {
+    __glutArgv[i] = strdup(argv[i]);
+    if (!__glutArgv[i])
+      __glutFatalError("out of memory.");
+  }
+
+  /* determine permanent program name */
+  str = strrchr(__glutArgv[0], '/');
+  if (str == NULL) {
+    gState.programName = __glutArgv[0];
+  } else {
+    gState.programName = str + 1;
+  }
+
+  /* parse arguments for standard options */
+  for (i = 1; i < __glutArgc; i++) {
+    if (!strcmp(__glutArgv[i], "-display")) {
+      __glutWarning("-display option only valid for X glut.");
+      if (++i >= __glutArgc) {
+        __glutFatalError(
+          "follow -display option with X display name.");
+      }
+      removeArgs(argcp, &argv[1], 2);
+    } else if (!strcmp(__glutArgv[i], "-geometry")) {
+      if (++i >= __glutArgc) {
+        __glutFatalError(
+          "follow -geometry option with geometry parameter.");
+      }
+      geometry = __glutArgv[i];
+      removeArgs(argcp, &argv[1], 2);
+    } else if (!strcmp(__glutArgv[i], "-direct")) {
+      __glutWarning("-direct option only valid for X glut.");
+      removeArgs(argcp, &argv[1], 1);
+    } else if (!strcmp(__glutArgv[i], "-indirect")) {
+      __glutWarning("-indirect option only valid for X glut.");
+      removeArgs(argcp, &argv[1], 1);
+    } else if (!strcmp(__glutArgv[i], "-iconic")) {
+      __glutWarning("-iconic option doesn't make sense in BeOS.");
+      removeArgs(argcp, &argv[1], 1);
+    } else if (!strcmp(__glutArgv[i], "-gldebug")) {
+      gState.debug = true;
+      removeArgs(argcp, &argv[1], 1);
+    } else if (!strcmp(__glutArgv[i], "-sync")) {
+      __glutWarning("-sync option only valid for X glut.");
+      removeArgs(argcp, &argv[1], 1);
+    } else {
+      /* Once unknown option encountered, stop command line
+         processing. */
+      break;
+    }
+  }
+  
+  __glutInit();  /* Create BApplication first so DisplayWidth() works */
+  if (geometry) {
+    int flags, x, y, width, height;
+
+    /* Fix bogus "{width|height} may be used before set"
+       warning */
+    width = 0;
+    height = 0;
+
+    flags = XParseGeometry(geometry, &x, &y,
+      (unsigned int *) &width, (unsigned int *) &height);
+    if (WidthValue & flags) {
+      /* Careful because X does not allow zero or negative
+         width windows */
+      if (width > 0)
+        gState.initWidth = width;
+    }
+    if (HeightValue & flags) {
+      /* Careful because X does not allow zero or negative
+         height windows */
+      if (height > 0)
+        gState.initHeight = height;
+    }
+    if (XValue & flags) {
+      if (XNegative & flags)
+        x = DisplayWidth() + x - gState.initWidth;
+      /* Play safe: reject negative X locations */
+      if (x >= 0)
+        gState.initX = x;
+    }
+    if (YValue & flags) {
+      if (YNegative & flags)
+        y = DisplayHeight() + y - gState.initHeight;
+      /* Play safe: reject negative Y locations */
+      if (y >= 0)
+        gState.initY = y;
+    }
+  }
+}
+
+/***********************************************************
+ *     FUNCTION:       __glutInit
+ *
+ *     DESCRIPTION:  create BApplication, parse cmd-line arguments,
+ *             and set up gState structure.
+ ***********************************************************/
+void __glutInit() {
+  // open BApplication
+  gState.display = new BApplication("application/x-glut-demo");
+  be_app->Unlock();
+  thread_id appthread = spawn_thread(bAppThread, "BApplication", B_NORMAL_PRIORITY, 0);
+  resume_thread(appthread);
+
+  bigtime_t unused;
+  __glutInitTime(&unused);
+}
+
+/***********************************************************
+ *     FUNCTION:       glutInitWindowPosition (2.2)
+ *
+ *     DESCRIPTION:  set initial window position
+ ***********************************************************/
+void glutInitWindowPosition(int x, int y) {
+       gState.initX = x;
+       gState.initY = y;
+}
+
+/***********************************************************
+ *     FUNCTION:       glutInitWindowSize (2.2)
+ *
+ *     DESCRIPTION:  set initial window size
+ ***********************************************************/
+void glutInitWindowSize(int width, int height) {
+       gState.initWidth = width;
+       gState.initHeight = height;
+}
+
+/***********************************************************
+ *     FUNCTION:       glutInitDisplayMode (2.3)
+ *
+ *     DESCRIPTION:  set initial display mode
+ ***********************************************************/
+void glutInitDisplayMode(unsigned int mode) {
+       gState.displayMode = mode;
+}
diff --git a/src/glut/beos/glutMenu.cpp b/src/glut/beos/glutMenu.cpp
new file mode 100644 (file)
index 0000000..1dad597
--- /dev/null
@@ -0,0 +1,322 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutMenu.cpp
+ *
+ *     DESCRIPTION:    code for popup menu handling
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include <stdlib.h>
+#include <string.h>
+#include "glutint.h"
+#include "glutState.h"
+
+/***********************************************************
+ *     Private variables
+ ***********************************************************/
+static GlutMenu **menuList = 0;
+static int menuListSize = 0;
+
+/***********************************************************
+ *     FUNCTION:       getUnusedMenuSlot
+ *
+ *     DESCRIPTION:  helper function to get a new menu slot
+ ***********************************************************/
+GlutMenu *__glutGetMenuByNum(int menunum)
+{
+  if (menunum < 1 || menunum > menuListSize) {
+    return NULL;
+  }
+  return menuList[menunum - 1];
+}
+
+/***********************************************************
+ *     FUNCTION:       getUnusedMenuSlot
+ *
+ *     DESCRIPTION:  helper function to get a new menu slot
+ ***********************************************************/
+static int
+getUnusedMenuSlot(void)
+{
+  int i;
+
+  /* Look for allocated, unused slot. */
+  for (i = 0; i < menuListSize; i++) {
+    if (!menuList[i]) {
+      return i;
+    }
+  }
+  /* Allocate a new slot. */
+  menuListSize++;
+  menuList = (GlutMenu **)
+      realloc(menuList, menuListSize * sizeof(GlutMenu *));
+  if (!menuList)
+    __glutFatalError("out of memory.");
+  menuList[menuListSize - 1] = NULL;
+  return menuListSize - 1;
+}
+
+/***********************************************************
+ *     FUNCTION:       glutCreateMenu (6.1)
+ *
+ *     DESCRIPTION:  create a new menu
+ ***********************************************************/
+int APIENTRY 
+glutCreateMenu(GLUTselectCB selectFunc)
+{
+  GlutMenu *menu;
+  int menuid;
+
+  menuid = getUnusedMenuSlot();
+  menu = new GlutMenu(menuid, selectFunc);     // constructor sets up members
+  menuList[menuid] = menu;
+  gState.currentMenu = menu;
+  return menuid + 1;
+}
+
+/***********************************************************
+ *     FUNCTION:       glutSetMenu (6.2)
+ *                             glutGetMenu
+ *
+ *     DESCRIPTION:  set and get the current menu
+ ***********************************************************/
+int APIENTRY 
+glutGetMenu(void)
+{
+  if (gState.currentMenu) {
+    return gState.currentMenu->id + 1;
+  } else {
+    return 0;
+  }
+}
+
+void APIENTRY 
+glutSetMenu(int menuid)
+{
+  GlutMenu *menu;
+
+  if (menuid < 1 || menuid > menuListSize) {
+    __glutWarning("glutSetMenu attempted on bogus menu.");
+    return;
+  }
+  menu = menuList[menuid - 1];
+  if (!menu) {
+    __glutWarning("glutSetMenu attempted on bogus menu.");
+    return;
+  }
+  gState.currentMenu = menu;
+}
+
+/***********************************************************
+ *     FUNCTION:       glutDestroyMenu (6.3)
+ *
+ *     DESCRIPTION:  destroy the specified menu
+ ***********************************************************/
+void APIENTRY 
+glutDestroyMenu(int menunum)
+{
+  GlutMenu *menu = __glutGetMenuByNum(menunum);
+  menuList[menunum - 1] = 0;
+  if (gState.currentMenu == menu) {
+    gState.currentMenu = 0;
+  }
+  delete menu;
+}
+
+/***********************************************************
+ *     FUNCTION:       glutAddMenuEntry (6.4)
+ *
+ *     DESCRIPTION:  add a new menu item
+ ***********************************************************/
+void
+glutAddMenuEntry(const char *label, int value)
+{
+       new GlutMenuItem(gState.currentMenu, false, value, label);
+}
+
+/***********************************************************
+ *     FUNCTION:       glutAddSubMenu (6.5)
+ *
+ *     DESCRIPTION:  add a new submenu
+ ***********************************************************/
+void
+glutAddSubMenu(const char *label, int menu)
+{
+       new GlutMenuItem(gState.currentMenu, true, menu-1, label);
+}
+
+/***********************************************************
+ *     FUNCTION:       glutChangeToMenuEntry (6.6)
+ *
+ *     DESCRIPTION:  change menuitem into a menu entry
+ ***********************************************************/
+void
+glutChangeToMenuEntry(int num, const char *label, int value)
+{
+  GlutMenuItem *item;
+  int i;
+
+  i = gState.currentMenu->num;
+  item = gState.currentMenu->list;
+  while (item) {
+    if (i == num) {
+      free(item->label);
+      item->label = strdup(label);
+      item->isTrigger = false;
+      item->value = value;
+      return;
+    }
+    i--;
+    item = item->next;
+  }
+  __glutWarning("Current menu has no %d item.", num);
+}
+
+/***********************************************************
+ *     FUNCTION:       glutChangeToSubMenu (6.7)
+ *
+ *     DESCRIPTION:  change menuitem into a submenu
+ ***********************************************************/
+void
+glutChangeToSubMenu(int num, const char *label, int menu)
+{
+  GlutMenuItem *item;
+  int i;
+
+  i = gState.currentMenu->num;
+  item = gState.currentMenu->list;
+  while (item) {
+    if (i == num) {
+      free(item->label);
+      item->label = strdup(label);
+      item->isTrigger = true;
+      item->value = menu-1;
+      return;
+    }
+    i--;
+    item = item->next;
+  }
+  __glutWarning("Current menu has no %d item.", num);
+}
+
+/***********************************************************
+ *     FUNCTION:       glutRemoveMenuItem (6.8)
+ *
+ *     DESCRIPTION:  remove a menu item
+ ***********************************************************/
+void
+glutRemoveMenuItem(int num)
+{
+  GlutMenuItem *item, **prev;
+  int i;
+
+  i = gState.currentMenu->num;
+  prev = &gState.currentMenu->list;
+  item = gState.currentMenu->list;
+
+  while (item) {
+    if (i == num) {
+      gState.currentMenu->num--;
+
+      /* Patch up menu's item list. */
+      *prev = item->next;
+
+      free(item->label);
+      delete item;
+      return;
+    }
+    i--;
+    prev = &item->next;
+    item = item->next;
+  }
+  __glutWarning("Current menu has no %d item.", num);
+}
+
+/***********************************************************
+ *     FUNCTION:       glutAttachMenu (6.9)
+ *                             glutDetachMenu
+ *
+ *     DESCRIPTION:  attach and detach menu from view
+ ***********************************************************/
+void
+glutAttachMenu(int button)
+{
+       gState.currentWindow->menu[button] = gState.currentMenu->id + 1;
+}
+
+void
+glutDetachMenu(int button)
+{
+       gState.currentWindow->menu[button] = 0;
+}
+
+/***********************************************************
+ *     CLASS:          GlutMenu
+ *
+ *     FUNCTION:       CreateBMenu
+ *
+ *     DESCRIPTION:  construct a BPopupMenu for this menu
+ ***********************************************************/
+BMenu *GlutMenu::CreateBMenu(bool toplevel) {
+       BMenu *bpopup;
+       if(toplevel) {
+               bpopup = new GlutPopUp(id+1);
+       } else {
+               bpopup = new BMenu("");
+       }
+       GlutMenuItem *item = list;
+       while (item) {
+               GlutBMenuItem *bitem;
+               if(item->isTrigger) {
+                       // recursively call CreateBMenu
+                       bitem = new GlutBMenuItem(menuList[item->value]->CreateBMenu(false));
+                       bitem->SetLabel(item->label);
+                       bitem->menu = 0;        // real menu items start at 1
+                       bitem->value = 0;
+               } else {
+                       bitem = new GlutBMenuItem(item->label);
+                       bitem->menu = id + 1;
+                       bitem->value = item->value;
+               }
+               bpopup->AddItem(bitem, 0);
+               item = item->next;
+       }
+       return bpopup;
+}
+
+/***********************************************************
+ *     CLASS:          GlutMenu
+ *
+ *     FUNCTION:       (destructor)
+ *
+ *     DESCRIPTION:  destroy the menu and its items (but not submenus!)
+ ***********************************************************/
+GlutMenu::~GlutMenu() {
+       while (list) {
+               GlutMenuItem *next = list->next;
+               delete list;
+               list = next;
+       }
+}
+
+/***********************************************************
+ *     CLASS:          GlutMenuItem
+ *
+ *     FUNCTION:       (constructor)
+ *
+ *     DESCRIPTION:  construct the new menu item and add to parent
+ ***********************************************************/
+GlutMenuItem::GlutMenuItem(GlutMenu *n_menu, bool n_trig, int n_value, const char *n_label)
+{
+       menu = n_menu;
+       isTrigger = n_trig;
+       value = n_value;
+       label = strdup(n_label);
+       next = menu->list;
+       menu->list = this;
+       menu->num++;
+}
diff --git a/src/glut/beos/glutMenu.h b/src/glut/beos/glutMenu.h
new file mode 100644 (file)
index 0000000..f61b9aa
--- /dev/null
@@ -0,0 +1,79 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutMenu.h
+ *
+ *     DESCRIPTION:    the GlutMenu class is a simple popup menu
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include <Menu.h>
+#include <MenuItem.h>
+
+/***********************************************************
+ *     Definitions
+ ***********************************************************/
+const int32 MENU_ITEM = 'menu';
+
+/***********************************************************
+ *     CLASS:  GlutMenu
+ ***********************************************************/
+class GlutMenuItem;
+class GlutPopUp;
+class GlutMenu {
+public:
+       GlutMenu(int n_id, GLUTselectCB n_select) {
+               id = n_id;
+               select = n_select;
+               list = 0;
+               num = 0;
+       }
+       ~GlutMenu();
+       BMenu *CreateBMenu(bool toplevel=true); // construct BPopUpMenu
+
+       // public data
+       int id;
+       GLUTselectCB select;    // callback function
+       GlutMenuItem *list;             // list of menu items
+       int num;                                // number of items
+};
+
+/***********************************************************
+ *     CLASS:  GlutMenuItem
+ ***********************************************************/
+class GlutMenuItem {
+public:
+       GlutMenuItem(GlutMenu *n_menu, bool n_trig, int n_value, const char *n_label);
+
+       // public data
+       GlutMenu *menu;         // parent menu
+       bool isTrigger;         // are we a submenu?
+       int value;                      // value to send, or submenu id if isTrigger
+       char *label;            // strdup'ed label string
+       GlutMenuItem *next; // next menu entry on list
+};
+
+/***********************************************************
+ *     CLASS:  GlutPopUp
+ ***********************************************************/
+class GlutPopUp : public BPopUpMenu {
+public:
+       GlutPopUp(int m) : BPopUpMenu(0, false, false) { menu = m;}
+       
+       BPoint point;   // point to start menu
+       GlutWindow *win;        // pointer to my window
+       int menu;               // my menu number
+};
+
+/***********************************************************
+ *     CLASS:  GlutBMenuItem
+ ***********************************************************/
+class GlutBMenuItem : public BMenuItem {
+public:
+       GlutBMenuItem(const char *name) : BMenuItem(name, 0) {}
+       GlutBMenuItem(BMenu* menu) : BMenuItem(menu) {}
+       int menu, value;
+};
diff --git a/src/glut/beos/glutOverlay.cpp b/src/glut/beos/glutOverlay.cpp
new file mode 100644 (file)
index 0000000..eaabb83
--- /dev/null
@@ -0,0 +1,38 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutOverlay.cpp
+ *
+ *     DESCRIPTION:    we don't support overlays, so this code is
+ *             really simple
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include "glutint.h"
+
+void glutEstablishOverlay() {
+       __glutFatalError("BeOS lacks overlay support.");
+}
+
+void glutUseLayer(GLenum layer) {
+       // ignore
+}
+
+void glutRemoveOverlay() {
+       // ignore
+}
+
+void glutPostOverlayRedisplay() {
+       // ignore
+}
+
+void glutShowOverlay() {
+       // ignore
+}
+
+void glutHideOverlay() {
+       // ignore
+}
\ No newline at end of file
diff --git a/src/glut/beos/glutState.h b/src/glut/beos/glutState.h
new file mode 100644 (file)
index 0000000..c9a9a52
--- /dev/null
@@ -0,0 +1,65 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutState.h
+ *
+ *     DESCRIPTION:    the global state for GLUT
+ *             (takes the place of glutint.h in the C version)
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include <Application.h>
+#include "glutWindow.h"
+#include "glutMenu.h"
+
+/***********************************************************
+ *     CLASS:  GlutState
+ *
+ *     DESCRIPTION:    all the global state variables
+ ***********************************************************/
+struct GlutState {
+       BApplication *display;
+       char *programName;                      // used in error messages
+       int initX, initY;                       // initial window position
+       int initWidth, initHeight;      // initial window size
+       unsigned int displayMode;       // initial display mode
+       char *displayString;            // verbose display mode
+
+       GlutWindow *currentWindow;      // current window
+       GlutMenu *currentMenu;          // current menu
+       
+       GlutWindow **windowList;        // array of pointers to windows
+       int windowListSize;                     // size of window list
+       
+       GLUTidleCB idle;                                // idle callback
+       GLUTmenuStatusCB menuStatus;    // menu status callback
+       int modifierKeys;                               // only valid during keyboard callback
+       
+       bool debug;                                     // call glGetError
+       bool swapHack;
+       
+       GlutState() {
+               display = 0;
+               programName = 0;
+               initX = initY = -1;
+               initWidth = initHeight = 300;
+               displayMode = GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH;
+               displayString = 0;
+               currentWindow = 0;
+               currentMenu = 0;
+               windowList = 0;
+               windowListSize = 0;
+               idle = 0;
+               menuStatus = 0;
+               modifierKeys = ~0;
+               debug = swapHack = false;
+       }
+};
+
+/***********************************************************
+ *     Global variable (declared in glutInit.cpp)
+ ***********************************************************/
+extern GlutState gState;
\ No newline at end of file
diff --git a/src/glut/beos/glutWindow.cpp b/src/glut/beos/glutWindow.cpp
new file mode 100644 (file)
index 0000000..dbdd3b8
--- /dev/null
@@ -0,0 +1,525 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutWindow.cpp
+ *
+ *     DESCRIPTION:    all the routines for dealing with GlutWindows
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include <stdlib.h>
+#include "glutint.h"
+#include "glutState.h"
+#include "glutBlocker.h"
+
+/***********************************************************
+ *     FUNCTION:       getUnusedWindowSlot
+ *
+ *     DESCRIPTION:  helper function to get a new window slot
+ ***********************************************************/
+static int
+getUnusedWindowSlot()
+{
+  int i;
+
+  /* Look for allocated, unused slot. */
+  for (i = 0; i < gState.windowListSize; i++) {
+    if (!gState.windowList[i]) {
+      return i;
+    }
+  }
+  /* Allocate a new slot. */
+  gState.windowListSize++;
+  gState.windowList = (GlutWindow **)
+    realloc(gState.windowList,
+      gState.windowListSize * sizeof(GlutWindow *));
+
+  if (!gState.windowList)
+    __glutFatalError("out of memory.");
+  gState.windowList[gState.windowListSize - 1] = NULL;
+  return gState.windowListSize - 1;
+}
+
+/***********************************************************
+ *     FUNCTION:       __glutDefaultDisplay
+ *                             __glutDefaultReshape
+ *
+ *     DESCRIPTION:  default display and reshape functions
+ ***********************************************************/
+static void
+__glutDefaultDisplay(void)
+{
+  /* XXX Remove the warning after GLUT 3.0. */
+  __glutWarning("The following is a new check for GLUT 3.0; update your code.");
+  __glutFatalError(
+    "redisplay needed for window %d, but no display callback.",
+    gState.currentWindow->num + 1);
+}
+
+void
+__glutDefaultReshape(int width, int height)
+{
+  /* Adjust the viewport of the window */
+  glViewport(0, 0, (GLsizei) width, (GLsizei) height);
+}
+
+/***********************************************************
+ *     CLASS:          GlutWindow
+ *
+ *     FUNCTION:       (constructor)
+ *
+ *     DESCRIPTION:  creates a new GLUT window
+ *             note:  subwindows don't resize, but top-level windows
+ *             follow all sides
+ ***********************************************************/
+GlutWindow::GlutWindow(GlutWindow *nparent, char *name,
+               int x, int y, int width, int height, ulong options) :
+               BGLView(
+               (nparent ? BRect(x,y,x+width-1,y+height-1) :
+                       BRect(0,0,width-1,height-1)), name,
+               (nparent ? B_FOLLOW_NONE : B_FOLLOW_ALL_SIDES), 
+               B_WILL_DRAW|B_FRAME_EVENTS|B_FULL_UPDATE_ON_RESIZE|B_PULSE_NEEDED,
+               options)
+{
+       // add myself to window list
+       num = getUnusedWindowSlot();
+       gState.windowList[num] = this;
+
+       // set up parent/children relationships
+       parent = nparent;
+       if (parent) {
+               siblings = parent->children;
+               parent->children = this;
+       } else {
+               siblings = 0;
+       }
+       children = 0;
+               
+       // initialize variables
+       cursor = GLUT_CURSOR_INHERIT;   // default cursor
+       for (int i = 0; i < GLUT_MAX_MENUS; i++) {
+               menu[i] = 0;
+       }
+       m_width = width;
+       m_height = height;
+       m_buttons = 0;
+       
+       // clear callbacks
+       display = __glutDefaultDisplay;
+       reshape = __glutDefaultReshape;
+       mouse = 0;
+       motion = 0;
+       passive = 0;
+       entry = 0;
+       keyboard = 0;
+       visibility = 0;
+       special = 0;
+       
+       // faked out single buffering
+       swapHack = gState.swapHack;
+       
+       // clear event counters
+       anyevents = 1;
+       displayEvent = 1;       // get a reshape and a display event right away
+       reshapeEvent = 1;
+       mouseEvent = 0;
+       motionEvent = 0;
+       passiveEvent = 0;
+       entryEvent = 0;
+       keybEvent = 0;
+       visEvent = 1;           // we also get a visibility event
+       visState = GLUT_VISIBLE;
+       specialEvent = 0;
+       statusEvent = 0;
+       menuEvent = 0;
+       gBlock.QuickNewEvent();
+       
+       // if i'm a subwindow, add me to my parent view
+       if (parent) {
+               parent->Window()->Lock();
+               parent->AddChild(this);
+               parent->Window()->Unlock();
+       } else {
+               // if I'm a top-level window, create my BWindow
+               GlutBWindow *mybwindow = new GlutBWindow(
+                       BRect(x,y,x+width-1,y+height-1), name);
+               mybwindow->AddChild(this);
+               mybwindow->Show();
+       }
+       
+       // give me the keyboard focus (focus follows mouse, X style, as
+       // implemented in GlutWindow::MouseMoved())
+       Window()->Lock();
+       MakeFocus();
+       Window()->Unlock();
+       
+       // make myself the default window
+       __glutSetWindow(this);
+}
+
+/***********************************************************
+ *     FUNCTION:       glutCreateWindow (4.1)
+ *
+ *     DESCRIPTION:  creates a new GLUT window
+ ***********************************************************/
+int glutCreateWindow(const char *name) {
+       if (!be_app)
+               __glutInit();
+
+       ulong options;
+       if (!__glutConvertDisplayMode(&options)) {
+               __glutWarning("visual with necessary capabilities not found.");
+       }
+       
+       // if X or Y is negative, then start at a reasonable position
+       bool defaultxy = (gState.initX < 0) || (gState.initY < 0);
+       
+       GlutWindow *window = new GlutWindow(0, const_cast<char*>(name), 
+               (defaultxy ? 50 : gState.initX), (defaultxy ? 50 : gState.initY), 
+               gState.initWidth, gState.initHeight, options);
+               
+       return window->num + 1;
+}
+
+/***********************************************************
+ *     FUNCTION:       glutCreateSubWindow (4.2)
+ *
+ *     DESCRIPTION:  creates a new GLUT subwindow
+ *             Note: a subwindow is a GlutWindow (which is actually
+ *             a BGLView) without its own BWindow
+ ***********************************************************/
+int glutCreateSubWindow(int win, int x, int y, int width, int height) {
+       ulong options;
+       if (!__glutConvertDisplayMode(&options)) {
+               __glutFatalError("visual with necessary capabilities not found.");
+       }
+       
+       GlutWindow *window = new GlutWindow(gState.windowList[win-1], "child",
+               x, y, width, height, options);
+       
+       return window->num + 1;
+}
+
+/***********************************************************
+ *     FUNCTION:       __glutSetWindow
+ *
+ *     DESCRIPTION:  set the current window (utility function)
+ ***********************************************************/
+void
+__glutSetWindow(GlutWindow * window)
+{
+  if (gState.currentWindow)
+         gState.currentWindow->UnlockGL();
+  gState.currentWindow = window;
+  gState.currentWindow->LockGL();
+}
+
+/***********************************************************
+ *     FUNCTION:       glutSetWindow (4.3)
+ *                             glutGetWindow
+ *
+ *     DESCRIPTION:  set and get the current window
+ ***********************************************************/
+void glutSetWindow(int win) {
+  GlutWindow *window;
+
+  if (win < 1 || win > gState.windowListSize) {
+    __glutWarning("glutSetWindow attempted on bogus window.");
+    return;
+  }
+  window = gState.windowList[win - 1];
+  if (!window) {
+    __glutWarning("glutSetWindow attempted on bogus window.");
+    return;
+  }
+  __glutSetWindow(window);
+}
+
+int glutGetWindow() {
+  if (gState.currentWindow) {
+    return gState.currentWindow->num + 1;
+  } else {
+    return 0;
+  }
+}
+
+/***********************************************************
+ *     FUNCTION:       __glutDestroyWindow
+ *
+ *     DESCRIPTION:  recursively set entries to 0
+ ***********************************************************/
+static void
+__glutDestroyWindow(GlutWindow *window, GlutWindow *initialWindow) {
+       // first, find all children recursively and set their entries to 0
+       GlutWindow *cur = window->children;
+       while (cur) {
+               GlutWindow *siblings = cur->siblings;
+               __glutDestroyWindow(cur, initialWindow);
+               cur = siblings;
+       }
+       
+  /* Remove from parent's children list (only necessary for
+     non-initial windows and subwindows!). */
+  GlutWindow *parent = window->parent;
+  if (parent && parent == initialWindow->parent) {
+    GlutWindow **prev = &parent->children;
+    cur = parent->children;
+    while (cur) {
+      if (cur == window) {
+        *prev = cur->siblings;
+        break;
+      }
+      prev = &(cur->siblings);
+      cur = cur->siblings;
+    }
+  }
+  
+  // finally, check if we are the current window, and set to 0
+  if (gState.currentWindow == window) {
+       gState.currentWindow = 0;
+  }
+  gState.windowList[window->num] = 0;
+}
+
+/***********************************************************
+ *     FUNCTION:       glutDestroyWindow (4.4)
+ *
+ *     DESCRIPTION:  destroy window and all its children
+ ***********************************************************/
+void glutDestroyWindow(int win) {
+       // can't destroy a window if another window has the GL context
+       gState.currentWindow->UnlockGL();
+       
+       // lock the window
+       GlutWindow *window = gState.windowList[win-1];
+       BWindow *bwindow = window->Window();
+       bwindow->Lock();
+
+       // if win is the current window, set current window to 0 and unlock GL
+       if (gState.currentWindow == window) {
+               
+               gState.currentWindow = 0;
+       }
+
+       // recursively set child entries to 0
+       __glutDestroyWindow(window, window);
+  
+       // now, if the window was top-level, delete its BWindow
+       if(!window->parent) {
+               bwindow->Quit();
+       } else {
+               // else, detach it from the BWindow and delete it
+               window->RemoveSelf();
+               delete window;
+               bwindow->Unlock();
+       }
+       
+       // relock GL if the current window is still valid
+       if(gState.currentWindow)
+               gState.currentWindow->LockGL();
+}
+
+/***********************************************************
+ *     FUNCTION:       glutPostRedisplay (4.5)
+ *
+ *     DESCRIPTION:  mark window as needing redisplay
+ ***********************************************************/
+void glutPostRedisplay() {
+       gState.currentWindow->Window()->Lock();
+       gState.currentWindow->anyevents = true;
+       gState.currentWindow->displayEvent = true;
+       gState.currentWindow->Window()->Unlock();
+       gBlock.QuickNewEvent();
+}
+
+/***********************************************************
+ *     FUNCTION:       glutSwapBuffers (4.6)
+ *
+ *     DESCRIPTION:  swap buffers
+ ***********************************************************/
+void glutSwapBuffers() {
+       gState.currentWindow->SwapBuffers();
+}
+
+/***********************************************************
+ *     FUNCTION:       glutPositionWindow (4.7)
+ *
+ *     DESCRIPTION:  move window
+ ***********************************************************/
+void glutPositionWindow(int x, int y) {
+       gState.currentWindow->Window()->Lock();
+       if (gState.currentWindow->parent)
+               gState.currentWindow->MoveTo(x, y);     // move the child view
+       else
+               gState.currentWindow->Window()->MoveTo(x, y);  // move the window
+       gState.currentWindow->Window()->Unlock();
+}
+
+/***********************************************************
+ *     FUNCTION:       glutReshapeWindow (4.8)
+ *
+ *     DESCRIPTION:  reshape window (we'll catch the callback
+ *                             when the view gets a Draw() message
+ ***********************************************************/
+void glutReshapeWindow(int width, int height) {
+       gState.currentWindow->Window()->Lock();
+       if (gState.currentWindow->parent)
+               gState.currentWindow->ResizeTo(width-1, height-1);              // resize the child
+       else
+               gState.currentWindow->Window()->ResizeTo(width-1, height-1);  // resize the parent
+       gState.currentWindow->Window()->Unlock();
+}
+
+/***********************************************************
+ *     FUNCTION:       glutFullScreen (4.9)
+ *
+ *     DESCRIPTION:  makes the window full screen
+ *             NOTE:           we could add Game Kit support later?
+ ***********************************************************/
+void glutFullScreen() {
+       gState.currentWindow->Window()->Lock();
+       BRect frame = BScreen(gState.currentWindow->Window()).Frame();
+       glutPositionWindow(0, 0);
+       glutReshapeWindow((int)(frame.Width()) + 1, (int)(frame.Height()) + 1);
+       gState.currentWindow->Window()->Unlock();
+}
+
+/***********************************************************
+ *     FUNCTION:       glutPopWindow (4.10)
+ *                             glutPushWindow
+ *
+ *     DESCRIPTION:  change the stacking order of the current window
+ *             NOTE:   I can't figure out how to do this for windows,
+ *                             and there is no concept of "stacking order" for
+ *                             subwindows, so these are currently no-ops.
+ ***********************************************************/
+void glutPopWindow() { }
+void glutPushWindow() { }
+
+/***********************************************************
+ *     FUNCTION:       glutShowWindow (4.11)
+ *                             glutHideWindow
+ *                             glutIconifyWindow
+ *
+ *     DESCRIPTION:  change display status of current window
+ ***********************************************************/
+void glutShowWindow() {
+       gState.currentWindow->Window()->Lock();
+       if (gState.currentWindow->parent)       // subwindow
+               gState.currentWindow->Show();
+       else {
+               gState.currentWindow->Window()->Show(); // show the actual BWindow
+               gState.currentWindow->Window()->Minimize(false);
+       }
+       gState.currentWindow->Window()->Unlock();
+}
+
+void glutHideWindow() {
+       gState.currentWindow->Window()->Lock();
+       if (gState.currentWindow->parent)       // subwindow
+               gState.currentWindow->Hide();
+       else
+               gState.currentWindow->Window()->Hide(); // show the actual BWindow
+       gState.currentWindow->Window()->Unlock();
+}
+
+void glutIconifyWindow() {
+       if(gState.currentWindow->parent)
+               __glutFatalError("can't iconify a subwindow");
+               
+       gState.currentWindow->Window()->Lock();
+       gState.currentWindow->Window()->Minimize(true);
+       gState.currentWindow->Window()->Unlock();
+}
+
+/***********************************************************
+ *     FUNCTION:       glutSetWindowTitle (4.12)
+ *                             glutSetIconTitle
+ *
+ *     DESCRIPTION:  set the window title (icon title is same)
+ ***********************************************************/
+void glutSetWindowTitle(const char *name) {
+       if (gState.currentWindow->parent)
+               __glutFatalError("glutSetWindowTitle: isn't a top-level window");
+       
+       gState.currentWindow->Window()->Lock();
+       gState.currentWindow->Window()->SetTitle(name);
+       gState.currentWindow->Window()->Unlock();
+}
+
+void glutSetIconTitle(const char *name) {
+       glutSetWindowTitle(name);
+}
+
+/***********************************************************
+ *     FUNCTION:       __glutConvertDisplayMode
+ *
+ *     DESCRIPTION:  converts the current display mode into a BGLView
+ *             display mode, printing warnings as appropriate.
+ *
+ *     PARAMETERS:      if options is non-NULL, the current display mode is
+ *             returned in it.
+ *
+ *     RETURNS:        1 if the current display mode is possible, else 0
+ ***********************************************************/
+int __glutConvertDisplayMode(unsigned long *options) {
+       if (gState.displayString) {
+               /* __glutDisplayString should be NULL except if
+       glutInitDisplayString has been called to register a
+       different display string.  Calling glutInitDisplayString
+       means using a string instead of an integer mask determine
+       the visual to use.  This big ugly code is in glutDstr.cpp */
+       return __glutConvertDisplayModeFromString(options);
+    }
+
+       if(options) {
+               ulong newoptions = BGL_DOUBLE;
+               if(gState.displayMode & GLUT_ACCUM)
+                       newoptions |= BGL_ACCUM;
+               if(gState.displayMode & GLUT_ALPHA)
+                       newoptions |= BGL_ALPHA;
+               if(gState.displayMode & GLUT_DEPTH)
+                       newoptions |= BGL_DEPTH;
+               if(gState.displayMode & GLUT_STENCIL)
+                       newoptions |= BGL_STENCIL;
+               *options = newoptions;
+       }
+       
+       // if not GLUT_DOUBLE, turn on the swap hack bit
+       gState.swapHack = !(gState.displayMode & GLUT_DOUBLE);
+       
+       if(gState.displayMode & GLUT_INDEX) {
+               __glutWarning("BeOS doesn't support indexed color");
+               return 0;
+       }
+       if(gState.displayMode & GLUT_MULTISAMPLE) {
+               return 1;       // try to go without multisampling
+       }
+       if(gState.displayMode & GLUT_STEREO) {
+               __glutWarning("BeOS doesn't support stereo windows");
+               return 0;
+       }
+       if(gState.displayMode & GLUT_LUMINANCE) {
+               __glutWarning("BeOS doesn't support luminance color model");
+               return 0;
+       }
+       return 1;       // visual supported
+}
+
+/***********************************************************
+ *     CLASS:          GlutBWindow
+ *
+ *     DESCRIPTION:  very thin wrapper around BWindow
+ ***********************************************************/
+GlutBWindow::GlutBWindow(BRect frame, char *name) :
+                       BWindow(frame, name, B_TITLED_WINDOW, 0) {
+       SetPulseRate(100000);
+}
+
+bool GlutBWindow::QuitRequested() {
+       exit(0);        // exit program completely on quit
+       return true;    // UNREACHED
+}
diff --git a/src/glut/beos/glutWindow.h b/src/glut/beos/glutWindow.h
new file mode 100644 (file)
index 0000000..7a4292e
--- /dev/null
@@ -0,0 +1,109 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutWindow.h
+ *
+ *     DESCRIPTION:    the GlutWindow class saves all events for
+ *             handling by main thread
+ ***********************************************************/
+
+/***********************************************************
+ *     Headers
+ ***********************************************************/
+#include <GL/glut.h>
+#include <Window.h>
+#include <GLView.h>
+
+/***********************************************************
+ *     CLASS:  GlutWindow
+ *
+ *  INHERITS FROM:  BGLView (NOT BWindow!)
+ *
+ *  DESCRIPTION:       all information needed for windows and
+ *                     subwindows (handled as similarly as possible)
+ ***********************************************************/
+class GlutWindow : public BGLView {
+public:
+       GlutWindow(GlutWindow *nparent, char *name, int x, int y, int width,
+                               int height, ulong options);
+       
+       void KeyDown(const char *bytes, int32 numBytes);
+       void MouseDown(BPoint point);
+       void MouseMoved(BPoint point, uint32 transit, const BMessage *message);
+       void FrameResized(float width, float height);
+       void Draw(BRect updateRect);
+       void Hide();
+       void Show();
+       void Pulse();           // needed since MouseUp() is broken
+       void MouseCheck();      // check for button state changes
+       void ErrorCallback(GLenum errorCode);
+
+       static long MenuThread(void *menu);
+       
+       int num;                        // window number returned to user
+       int cursor;                     // my cursor
+#define GLUT_MAX_MENUS              3
+       int menu[GLUT_MAX_MENUS];       // my popup menus
+       int m_width, m_height;          // the last width and height reported to GLUT
+       uint32 m_buttons;                       // the last mouse button state
+
+       /* Window relationship state. */
+  GlutWindow *parent;   /* parent window */
+  GlutWindow *children; /* first child window */
+  GlutWindow *siblings; /* next sibling */
+
+       // leave out buttons and dials callbacks that we don't support
+  GLUTdisplayCB display;  /* redraw  */
+  GLUTreshapeCB reshape;  /* resize  (width,height) */
+  GLUTmouseCB mouse;    /* mouse  (button,state,x,y) */
+  GLUTmotionCB motion;  /* motion  (x,y) */
+  GLUTpassiveCB passive;  /* passive motion  (x,y) */
+  GLUTentryCB entry;    /* window entry/exit  (state) */
+  GLUTkeyboardCB keyboard;  /* keyboard  (ASCII,x,y) */
+  GLUTvisibilityCB visibility;  /* visibility  */
+  GLUTspecialCB special;  /* special key  */
+
+       bool anyevents;         // were any events received?
+       bool displayEvent;              // call display
+       bool reshapeEvent;              // call reshape
+       bool mouseEvent;                // call mouse
+       bool motionEvent;               // call motion
+       bool passiveEvent;              // call passive
+       bool entryEvent;                // call entry
+       bool keybEvent;                 // call keyboard
+       bool visEvent;                  // call visibility
+       bool specialEvent;              // call special
+       bool statusEvent;               // menu status changed
+       bool menuEvent;                 // menu selected
+       
+       bool swapHack;                  // faked out single buffering
+       
+       int button, mouseState; // for mouse callback
+       int mouseX, mouseY; // for mouse callback
+       int motionX, motionY; // for motion callback
+       int passiveX, passiveY; // for passive callback
+       int entryState;  // for entry callback
+       unsigned char key;  // for keyboard callback
+       int keyX, keyY;  // for keyboard callback
+       int visState;  // for visibility callback
+       int specialKey; // for special key callback
+       int specialX, specialY; // for special callback
+       int modifierKeys;       // modifier key state
+       int menuStatus;         // for status callback
+       int statusX, statusY;   // for status callback
+       int menuNumber;         // for menu and status callbacks
+       int menuValue;          // for menu callback
+};
+
+/***********************************************************
+ *     CLASS:  GlutBWindow
+ *
+ *  INHERITS FROM:     BWindow
+ *
+ *     DESCRIPTION:  basically a BWindow that won't quit
+ ***********************************************************/
+class GlutBWindow : public BWindow {
+public:
+       GlutBWindow(BRect frame, char *name);
+       bool QuitRequested();   // exits app
+};
\ No newline at end of file
diff --git a/src/glut/beos/glut_8x13.cpp b/src/glut/beos/glut_8x13.cpp
new file mode 100644 (file)
index 0000000..f0df89d
--- /dev/null
@@ -0,0 +1,2072 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "glutbitmap.h"
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch0data[] = { 0x0 };
+static const BitmapCharRec ch0 = {1,1,0,0,8,ch0data};
+#else
+static const BitmapCharRec ch0 = {0,0,0,0,8,0};
+#endif
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch32data[] = { 0x0 };
+static const BitmapCharRec ch32 = {1,1,0,0,8,ch32data};
+#else
+static const BitmapCharRec ch32 = {0,0,0,0,8,0};
+#endif
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch127data[] = { 0x0 };
+static const BitmapCharRec ch127 = {1,1,0,0,8,ch127data};
+#else
+static const BitmapCharRec ch127 = {0,0,0,0,8,0};
+#endif
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch160data[] = { 0x0 };
+static const BitmapCharRec ch160 = {1,1,0,0,8,ch160data};
+#else
+static const BitmapCharRec ch160 = {0,0,0,0,8,0};
+#endif
+
+/* char: 0xff */
+
+static const GLubyte ch255data[] = {
+0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x0,0x0,0x48,0x48,
+};
+
+static const BitmapCharRec ch255 = {6,12,-1,2,8,ch255data};
+
+/* char: 0xfe */
+
+static const GLubyte ch254data[] = {
+0x80,0x80,0xb8,0xc4,0x84,0x84,0xc4,0xb8,0x80,0x80,
+};
+
+static const BitmapCharRec ch254 = {6,10,-1,2,8,ch254data};
+
+/* char: 0xfd */
+
+static const GLubyte ch253data[] = {
+0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x0,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch253 = {6,12,-1,2,8,ch253data};
+
+/* char: 0xfc */
+
+static const GLubyte ch252data[] = {
+0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x48,0x48,
+};
+
+static const BitmapCharRec ch252 = {6,10,-1,0,8,ch252data};
+
+/* char: 0xfb */
+
+static const GLubyte ch251data[] = {
+0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x48,0x30,
+};
+
+static const BitmapCharRec ch251 = {6,10,-1,0,8,ch251data};
+
+/* char: 0xfa */
+
+static const GLubyte ch250data[] = {
+0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch250 = {6,10,-1,0,8,ch250data};
+
+/* char: 0xf9 */
+
+static const GLubyte ch249data[] = {
+0x74,0x88,0x88,0x88,0x88,0x88,0x0,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch249 = {6,10,-1,0,8,ch249data};
+
+/* char: 0xf8 */
+
+static const GLubyte ch248data[] = {
+0x80,0x78,0xc4,0xa4,0x94,0x8c,0x78,0x4,
+};
+
+static const BitmapCharRec ch248 = {6,8,-1,1,8,ch248data};
+
+/* char: 0xf7 */
+
+static const GLubyte ch247data[] = {
+0x20,0x20,0x0,0xf8,0x0,0x20,0x20,
+};
+
+static const BitmapCharRec ch247 = {5,7,-1,-1,8,ch247data};
+
+/* char: 0xf6 */
+
+static const GLubyte ch246data[] = {
+0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x48,0x48,
+};
+
+static const BitmapCharRec ch246 = {6,10,-1,0,8,ch246data};
+
+/* char: 0xf5 */
+
+static const GLubyte ch245data[] = {
+0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch245 = {6,10,-1,0,8,ch245data};
+
+/* char: 0xf4 */
+
+static const GLubyte ch244data[] = {
+0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x48,0x30,
+};
+
+static const BitmapCharRec ch244 = {6,10,-1,0,8,ch244data};
+
+/* char: 0xf3 */
+
+static const GLubyte ch243data[] = {
+0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch243 = {6,10,-1,0,8,ch243data};
+
+/* char: 0xf2 */
+
+static const GLubyte ch242data[] = {
+0x78,0x84,0x84,0x84,0x84,0x78,0x0,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch242 = {6,10,-1,0,8,ch242data};
+
+/* char: 0xf1 */
+
+static const GLubyte ch241data[] = {
+0x84,0x84,0x84,0x84,0xc4,0xb8,0x0,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch241 = {6,10,-1,0,8,ch241data};
+
+/* char: 0xf0 */
+
+static const GLubyte ch240data[] = {
+0x78,0x84,0x84,0x84,0x84,0x78,0x8,0x50,0x30,0x48,
+};
+
+static const BitmapCharRec ch240 = {6,10,-1,0,8,ch240data};
+
+/* char: 0xef */
+
+static const GLubyte ch239data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x50,0x50,
+};
+
+static const BitmapCharRec ch239 = {5,10,-1,0,8,ch239data};
+
+/* char: 0xee */
+
+static const GLubyte ch238data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x90,0x60,
+};
+
+static const BitmapCharRec ch238 = {5,10,-1,0,8,ch238data};
+
+/* char: 0xed */
+
+static const GLubyte ch237data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x40,0x20,
+};
+
+static const BitmapCharRec ch237 = {5,10,-1,0,8,ch237data};
+
+/* char: 0xec */
+
+static const GLubyte ch236data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch236 = {5,10,-1,0,8,ch236data};
+
+/* char: 0xeb */
+
+static const GLubyte ch235data[] = {
+0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x48,0x48,
+};
+
+static const BitmapCharRec ch235 = {6,10,-1,0,8,ch235data};
+
+/* char: 0xea */
+
+static const GLubyte ch234data[] = {
+0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x48,0x30,
+};
+
+static const BitmapCharRec ch234 = {6,10,-1,0,8,ch234data};
+
+/* char: 0xe9 */
+
+static const GLubyte ch233data[] = {
+0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch233 = {6,10,-1,0,8,ch233data};
+
+/* char: 0xe8 */
+
+static const GLubyte ch232data[] = {
+0x78,0x84,0x80,0xfc,0x84,0x78,0x0,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch232 = {6,10,-1,0,8,ch232data};
+
+/* char: 0xe7 */
+
+static const GLubyte ch231data[] = {
+0x20,0x10,0x78,0x84,0x80,0x80,0x84,0x78,
+};
+
+static const BitmapCharRec ch231 = {6,8,-1,2,8,ch231data};
+
+/* char: 0xe6 */
+
+static const GLubyte ch230data[] = {
+0x6c,0x92,0x90,0x7c,0x12,0x6c,
+};
+
+static const BitmapCharRec ch230 = {7,6,0,0,8,ch230data};
+
+/* char: 0xe5 */
+
+static const GLubyte ch229data[] = {
+0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x30,0x48,0x30,
+};
+
+static const BitmapCharRec ch229 = {6,10,-1,0,8,ch229data};
+
+/* char: 0xe4 */
+
+static const GLubyte ch228data[] = {
+0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x48,0x48,
+};
+
+static const BitmapCharRec ch228 = {6,10,-1,0,8,ch228data};
+
+/* char: 0xe3 */
+
+static const GLubyte ch227data[] = {
+0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch227 = {6,10,-1,0,8,ch227data};
+
+/* char: 0xe2 */
+
+static const GLubyte ch226data[] = {
+0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x48,0x30,
+};
+
+static const BitmapCharRec ch226 = {6,10,-1,0,8,ch226data};
+
+/* char: 0xe1 */
+
+static const GLubyte ch225data[] = {
+0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch225 = {6,10,-1,0,8,ch225data};
+
+/* char: 0xe0 */
+
+static const GLubyte ch224data[] = {
+0x74,0x8c,0x84,0x7c,0x4,0x78,0x0,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch224 = {6,10,-1,0,8,ch224data};
+
+/* char: 0xdf */
+
+static const GLubyte ch223data[] = {
+0x80,0xb8,0xc4,0x84,0x84,0xf8,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch223 = {6,9,-1,1,8,ch223data};
+
+/* char: 0xde */
+
+static const GLubyte ch222data[] = {
+0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,0x80,
+};
+
+static const BitmapCharRec ch222 = {6,9,-1,0,8,ch222data};
+
+/* char: 0xdd */
+
+static const GLubyte ch221data[] = {
+0x20,0x20,0x20,0x20,0x50,0x88,0x88,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch221 = {5,10,-1,0,8,ch221data};
+
+/* char: 0xdc */
+
+static const GLubyte ch220data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,0x48,
+};
+
+static const BitmapCharRec ch220 = {6,10,-1,0,8,ch220data};
+
+/* char: 0xdb */
+
+static const GLubyte ch219data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,0x30,
+};
+
+static const BitmapCharRec ch219 = {6,10,-1,0,8,ch219data};
+
+/* char: 0xda */
+
+static const GLubyte ch218data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch218 = {6,10,-1,0,8,ch218data};
+
+/* char: 0xd9 */
+
+static const GLubyte ch217data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch217 = {6,10,-1,0,8,ch217data};
+
+/* char: 0xd8 */
+
+static const GLubyte ch216data[] = {
+0x80,0x78,0xc4,0xa4,0xa4,0xa4,0x94,0x94,0x8c,0x78,0x4,
+};
+
+static const BitmapCharRec ch216 = {6,11,-1,1,8,ch216data};
+
+/* char: 0xd7 */
+
+static const GLubyte ch215data[] = {
+0x84,0x48,0x30,0x30,0x48,0x84,
+};
+
+static const BitmapCharRec ch215 = {6,6,-1,-1,8,ch215data};
+
+/* char: 0xd6 */
+
+static const GLubyte ch214data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x28,
+};
+
+static const BitmapCharRec ch214 = {7,10,0,0,8,ch214data};
+
+/* char: 0xd5 */
+
+static const GLubyte ch213data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x14,
+};
+
+static const BitmapCharRec ch213 = {7,10,0,0,8,ch213data};
+
+/* char: 0xd4 */
+
+static const GLubyte ch212data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x24,0x18,
+};
+
+static const BitmapCharRec ch212 = {7,10,0,0,8,ch212data};
+
+/* char: 0xd3 */
+
+static const GLubyte ch211data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch211 = {7,10,0,0,8,ch211data};
+
+/* char: 0xd2 */
+
+static const GLubyte ch210data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x8,0x10,
+};
+
+static const BitmapCharRec ch210 = {7,10,0,0,8,ch210data};
+
+/* char: 0xd1 */
+
+static const GLubyte ch209data[] = {
+0x82,0x86,0x8a,0x92,0xa2,0xc2,0x82,0x0,0x28,0x14,
+};
+
+static const BitmapCharRec ch209 = {7,10,0,0,8,ch209data};
+
+/* char: 0xd0 */
+
+static const GLubyte ch208data[] = {
+0xfc,0x42,0x42,0x42,0xe2,0x42,0x42,0x42,0xfc,
+};
+
+static const BitmapCharRec ch208 = {7,9,0,0,8,ch208data};
+
+/* char: 0xcf */
+
+static const GLubyte ch207data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x50,0x50,
+};
+
+static const BitmapCharRec ch207 = {5,10,-1,0,8,ch207data};
+
+/* char: 0xce */
+
+static const GLubyte ch206data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x48,0x30,
+};
+
+static const BitmapCharRec ch206 = {5,10,-1,0,8,ch206data};
+
+/* char: 0xcd */
+
+static const GLubyte ch205data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch205 = {5,10,-1,0,8,ch205data};
+
+/* char: 0xcc */
+
+static const GLubyte ch204data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch204 = {5,10,-1,0,8,ch204data};
+
+/* char: 0xcb */
+
+static const GLubyte ch203data[] = {
+0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x48,0x48,
+};
+
+static const BitmapCharRec ch203 = {6,10,-1,0,8,ch203data};
+
+/* char: 0xca */
+
+static const GLubyte ch202data[] = {
+0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x48,0x30,
+};
+
+static const BitmapCharRec ch202 = {6,10,-1,0,8,ch202data};
+
+/* char: 0xc9 */
+
+static const GLubyte ch201data[] = {
+0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch201 = {6,10,-1,0,8,ch201data};
+
+/* char: 0xc8 */
+
+static const GLubyte ch200data[] = {
+0xfc,0x80,0x80,0xf0,0x80,0x80,0xfc,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch200 = {6,10,-1,0,8,ch200data};
+
+/* char: 0xc7 */
+
+static const GLubyte ch199data[] = {
+0x20,0x10,0x78,0x84,0x80,0x80,0x80,0x80,0x80,0x84,0x78,
+};
+
+static const BitmapCharRec ch199 = {6,11,-1,2,8,ch199data};
+
+/* char: 0xc6 */
+
+static const GLubyte ch198data[] = {
+0x9e,0x90,0x90,0xf0,0x9c,0x90,0x90,0x90,0x6e,
+};
+
+static const BitmapCharRec ch198 = {7,9,0,0,8,ch198data};
+
+/* char: 0xc5 */
+
+static const GLubyte ch197data[] = {
+0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x30,0x48,0x30,
+};
+
+static const BitmapCharRec ch197 = {6,10,-1,0,8,ch197data};
+
+/* char: 0xc4 */
+
+static const GLubyte ch196data[] = {
+0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x48,0x48,
+};
+
+static const BitmapCharRec ch196 = {6,10,-1,0,8,ch196data};
+
+/* char: 0xc3 */
+
+static const GLubyte ch195data[] = {
+0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch195 = {6,10,-1,0,8,ch195data};
+
+/* char: 0xc2 */
+
+static const GLubyte ch194data[] = {
+0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x48,0x30,
+};
+
+static const BitmapCharRec ch194 = {6,10,-1,0,8,ch194data};
+
+/* char: 0xc1 */
+
+static const GLubyte ch193data[] = {
+0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch193 = {6,10,-1,0,8,ch193data};
+
+/* char: 0xc0 */
+
+static const GLubyte ch192data[] = {
+0x84,0x84,0xfc,0x84,0x84,0x48,0x30,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch192 = {6,10,-1,0,8,ch192data};
+
+/* char: 0xbf */
+
+static const GLubyte ch191data[] = {
+0x78,0x84,0x84,0x80,0x40,0x20,0x20,0x0,0x20,
+};
+
+static const BitmapCharRec ch191 = {6,9,-1,0,8,ch191data};
+
+/* char: 0xbe */
+
+static const GLubyte ch190data[] = {
+0x6,0x1a,0x12,0xa,0x66,0x92,0x10,0x20,0x90,0x60,
+};
+
+static const BitmapCharRec ch190 = {7,10,0,0,8,ch190data};
+
+/* char: 0xbd */
+
+static const GLubyte ch189data[] = {
+0x1e,0x10,0xc,0x2,0xf2,0x4c,0x40,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch189 = {7,10,0,0,8,ch189data};
+
+/* char: 0xbc */
+
+static const GLubyte ch188data[] = {
+0x6,0x1a,0x12,0xa,0xe6,0x42,0x40,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch188 = {7,10,0,0,8,ch188data};
+
+/* char: 0xbb */
+
+static const GLubyte ch187data[] = {
+0x90,0x48,0x24,0x12,0x24,0x48,0x90,
+};
+
+static const BitmapCharRec ch187 = {7,7,0,-1,8,ch187data};
+
+/* char: 0xba */
+
+static const GLubyte ch186data[] = {
+0xf0,0x0,0x60,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch186 = {4,6,-1,-3,8,ch186data};
+
+/* char: 0xb9 */
+
+static const GLubyte ch185data[] = {
+0xe0,0x40,0x40,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch185 = {3,6,-1,-4,8,ch185data};
+
+/* char: 0xb8 */
+
+static const GLubyte ch184data[] = {
+0xc0,0x40,
+};
+
+static const BitmapCharRec ch184 = {2,2,-3,2,8,ch184data};
+
+/* char: 0xb7 */
+
+static const GLubyte ch183data[] = {
+0xc0,
+};
+
+static const BitmapCharRec ch183 = {2,1,-3,-4,8,ch183data};
+
+/* char: 0xb6 */
+
+static const GLubyte ch182data[] = {
+0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
+};
+
+static const BitmapCharRec ch182 = {6,9,-1,0,8,ch182data};
+
+/* char: 0xb5 */
+
+static const GLubyte ch181data[] = {
+0x80,0xb4,0xcc,0x84,0x84,0x84,0x84,
+};
+
+static const BitmapCharRec ch181 = {6,7,-1,1,8,ch181data};
+
+/* char: 0xb4 */
+
+static const GLubyte ch180data[] = {
+0x80,0x40,
+};
+
+static const BitmapCharRec ch180 = {2,2,-3,-8,8,ch180data};
+
+/* char: 0xb3 */
+
+static const GLubyte ch179data[] = {
+0x60,0x90,0x10,0x20,0x90,0x60,
+};
+
+static const BitmapCharRec ch179 = {4,6,-1,-4,8,ch179data};
+
+/* char: 0xb2 */
+
+static const GLubyte ch178data[] = {
+0xf0,0x80,0x60,0x10,0x90,0x60,
+};
+
+static const BitmapCharRec ch178 = {4,6,-1,-4,8,ch178data};
+
+/* char: 0xb1 */
+
+static const GLubyte ch177data[] = {
+0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
+};
+
+static const BitmapCharRec ch177 = {5,7,-1,-1,8,ch177data};
+
+/* char: 0xb0 */
+
+static const GLubyte ch176data[] = {
+0x60,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch176 = {4,4,-2,-5,8,ch176data};
+
+/* char: 0xaf */
+
+static const GLubyte ch175data[] = {
+0xfc,
+};
+
+static const BitmapCharRec ch175 = {6,1,-1,-8,8,ch175data};
+
+/* char: 0xae */
+
+static const GLubyte ch174data[] = {
+0x38,0x44,0xaa,0xb2,0xaa,0xaa,0x92,0x44,0x38,
+};
+
+static const BitmapCharRec ch174 = {7,9,0,-1,8,ch174data};
+
+/* char: 0xad */
+
+static const GLubyte ch173data[] = {
+0xfc,
+};
+
+static const BitmapCharRec ch173 = {6,1,-1,-4,8,ch173data};
+
+/* char: 0xac */
+
+static const GLubyte ch172data[] = {
+0x4,0x4,0x4,0xfc,
+};
+
+static const BitmapCharRec ch172 = {6,4,-1,-1,8,ch172data};
+
+/* char: 0xab */
+
+static const GLubyte ch171data[] = {
+0x12,0x24,0x48,0x90,0x48,0x24,0x12,
+};
+
+static const BitmapCharRec ch171 = {7,7,0,-1,8,ch171data};
+
+/* char: 0xaa */
+
+static const GLubyte ch170data[] = {
+0xf8,0x0,0x78,0x88,0x78,0x8,0x70,
+};
+
+static const BitmapCharRec ch170 = {5,7,-1,-2,8,ch170data};
+
+/* char: 0xa9 */
+
+static const GLubyte ch169data[] = {
+0x38,0x44,0x92,0xaa,0xa2,0xaa,0x92,0x44,0x38,
+};
+
+static const BitmapCharRec ch169 = {7,9,0,-1,8,ch169data};
+
+/* char: 0xa8 */
+
+static const GLubyte ch168data[] = {
+0xd8,
+};
+
+static const BitmapCharRec ch168 = {5,1,-1,-8,8,ch168data};
+
+/* char: 0xa7 */
+
+static const GLubyte ch167data[] = {
+0x60,0x90,0x10,0x60,0x90,0x90,0x60,0x80,0x90,0x60,
+};
+
+static const BitmapCharRec ch167 = {4,10,-2,0,8,ch167data};
+
+/* char: 0xa6 */
+
+static const GLubyte ch166data[] = {
+0x80,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch166 = {1,9,-3,0,8,ch166data};
+
+/* char: 0xa5 */
+
+static const GLubyte ch165data[] = {
+0x10,0x10,0x7c,0x10,0x7c,0x28,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch165 = {7,9,0,0,8,ch165data};
+
+/* char: 0xa4 */
+
+static const GLubyte ch164data[] = {
+0x84,0x78,0x48,0x48,0x78,0x84,
+};
+
+static const BitmapCharRec ch164 = {6,6,-1,-1,8,ch164data};
+
+/* char: 0xa3 */
+
+static const GLubyte ch163data[] = {
+0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,
+};
+
+static const BitmapCharRec ch163 = {7,9,0,0,8,ch163data};
+
+/* char: 0xa2 */
+
+static const GLubyte ch162data[] = {
+0x20,0x70,0xa8,0xa0,0xa0,0xa8,0x70,0x20,
+};
+
+static const BitmapCharRec ch162 = {5,8,-1,-1,8,ch162data};
+
+/* char: 0xa1 */
+
+static const GLubyte ch161data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
+};
+
+static const BitmapCharRec ch161 = {1,9,-3,0,8,ch161data};
+
+/* char: 0x7e '~' */
+
+static const GLubyte ch126data[] = {
+0x90,0xa8,0x48,
+};
+
+static const BitmapCharRec ch126 = {5,3,-1,-6,8,ch126data};
+
+/* char: 0x7d '}' */
+
+static const GLubyte ch125data[] = {
+0xe0,0x10,0x10,0x20,0x18,0x20,0x10,0x10,0xe0,
+};
+
+static const BitmapCharRec ch125 = {5,9,-1,0,8,ch125data};
+
+/* char: 0x7c '|' */
+
+static const GLubyte ch124data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch124 = {1,9,-3,0,8,ch124data};
+
+/* char: 0x7b '{' */
+
+static const GLubyte ch123data[] = {
+0x38,0x40,0x40,0x20,0xc0,0x20,0x40,0x40,0x38,
+};
+
+static const BitmapCharRec ch123 = {5,9,-2,0,8,ch123data};
+
+/* char: 0x7a 'z' */
+
+static const GLubyte ch122data[] = {
+0xfc,0x40,0x20,0x10,0x8,0xfc,
+};
+
+static const BitmapCharRec ch122 = {6,6,-1,0,8,ch122data};
+
+/* char: 0x79 'y' */
+
+static const GLubyte ch121data[] = {
+0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,
+};
+
+static const BitmapCharRec ch121 = {6,8,-1,2,8,ch121data};
+
+/* char: 0x78 'x' */
+
+static const GLubyte ch120data[] = {
+0x84,0x48,0x30,0x30,0x48,0x84,
+};
+
+static const BitmapCharRec ch120 = {6,6,-1,0,8,ch120data};
+
+/* char: 0x77 'w' */
+
+static const GLubyte ch119data[] = {
+0x44,0xaa,0x92,0x92,0x82,0x82,
+};
+
+static const BitmapCharRec ch119 = {7,6,0,0,8,ch119data};
+
+/* char: 0x76 'v' */
+
+static const GLubyte ch118data[] = {
+0x20,0x50,0x50,0x88,0x88,0x88,
+};
+
+static const BitmapCharRec ch118 = {5,6,-1,0,8,ch118data};
+
+/* char: 0x75 'u' */
+
+static const GLubyte ch117data[] = {
+0x74,0x88,0x88,0x88,0x88,0x88,
+};
+
+static const BitmapCharRec ch117 = {6,6,-1,0,8,ch117data};
+
+/* char: 0x74 't' */
+
+static const GLubyte ch116data[] = {
+0x38,0x44,0x40,0x40,0x40,0xf8,0x40,0x40,
+};
+
+static const BitmapCharRec ch116 = {6,8,-1,0,8,ch116data};
+
+/* char: 0x73 's' */
+
+static const GLubyte ch115data[] = {
+0x78,0x84,0x18,0x60,0x84,0x78,
+};
+
+static const BitmapCharRec ch115 = {6,6,-1,0,8,ch115data};
+
+/* char: 0x72 'r' */
+
+static const GLubyte ch114data[] = {
+0x40,0x40,0x40,0x40,0x44,0xb8,
+};
+
+static const BitmapCharRec ch114 = {6,6,-1,0,8,ch114data};
+
+/* char: 0x71 'q' */
+
+static const GLubyte ch113data[] = {
+0x4,0x4,0x4,0x74,0x8c,0x84,0x8c,0x74,
+};
+
+static const BitmapCharRec ch113 = {6,8,-1,2,8,ch113data};
+
+/* char: 0x70 'p' */
+
+static const GLubyte ch112data[] = {
+0x80,0x80,0x80,0xb8,0xc4,0x84,0xc4,0xb8,
+};
+
+static const BitmapCharRec ch112 = {6,8,-1,2,8,ch112data};
+
+/* char: 0x6f 'o' */
+
+static const GLubyte ch111data[] = {
+0x78,0x84,0x84,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch111 = {6,6,-1,0,8,ch111data};
+
+/* char: 0x6e 'n' */
+
+static const GLubyte ch110data[] = {
+0x84,0x84,0x84,0x84,0xc4,0xb8,
+};
+
+static const BitmapCharRec ch110 = {6,6,-1,0,8,ch110data};
+
+/* char: 0x6d 'm' */
+
+static const GLubyte ch109data[] = {
+0x82,0x92,0x92,0x92,0x92,0xec,
+};
+
+static const BitmapCharRec ch109 = {7,6,0,0,8,ch109data};
+
+/* char: 0x6c 'l' */
+
+static const GLubyte ch108data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x60,
+};
+
+static const BitmapCharRec ch108 = {5,9,-1,0,8,ch108data};
+
+/* char: 0x6b 'k' */
+
+static const GLubyte ch107data[] = {
+0x84,0x88,0x90,0xe0,0x90,0x88,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch107 = {6,9,-1,0,8,ch107data};
+
+/* char: 0x6a 'j' */
+
+static const GLubyte ch106data[] = {
+0x70,0x88,0x88,0x8,0x8,0x8,0x8,0x18,0x0,0x8,
+};
+
+static const BitmapCharRec ch106 = {5,10,-1,2,8,ch106data};
+
+/* char: 0x69 'i' */
+
+static const GLubyte ch105data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x60,0x0,0x20,
+};
+
+static const BitmapCharRec ch105 = {5,8,-1,0,8,ch105data};
+
+/* char: 0x68 'h' */
+
+static const GLubyte ch104data[] = {
+0x84,0x84,0x84,0x84,0xc4,0xb8,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch104 = {6,9,-1,0,8,ch104data};
+
+/* char: 0x67 'g' */
+
+static const GLubyte ch103data[] = {
+0x78,0x84,0x78,0x80,0x70,0x88,0x88,0x74,
+};
+
+static const BitmapCharRec ch103 = {6,8,-1,2,8,ch103data};
+
+/* char: 0x66 'f' */
+
+static const GLubyte ch102data[] = {
+0x40,0x40,0x40,0x40,0xf8,0x40,0x40,0x44,0x38,
+};
+
+static const BitmapCharRec ch102 = {6,9,-1,0,8,ch102data};
+
+/* char: 0x65 'e' */
+
+static const GLubyte ch101data[] = {
+0x78,0x84,0x80,0xfc,0x84,0x78,
+};
+
+static const BitmapCharRec ch101 = {6,6,-1,0,8,ch101data};
+
+/* char: 0x64 'd' */
+
+static const GLubyte ch100data[] = {
+0x74,0x8c,0x84,0x84,0x8c,0x74,0x4,0x4,0x4,
+};
+
+static const BitmapCharRec ch100 = {6,9,-1,0,8,ch100data};
+
+/* char: 0x63 'c' */
+
+static const GLubyte ch99data[] = {
+0x78,0x84,0x80,0x80,0x84,0x78,
+};
+
+static const BitmapCharRec ch99 = {6,6,-1,0,8,ch99data};
+
+/* char: 0x62 'b' */
+
+static const GLubyte ch98data[] = {
+0xb8,0xc4,0x84,0x84,0xc4,0xb8,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch98 = {6,9,-1,0,8,ch98data};
+
+/* char: 0x61 'a' */
+
+static const GLubyte ch97data[] = {
+0x74,0x8c,0x84,0x7c,0x4,0x78,
+};
+
+static const BitmapCharRec ch97 = {6,6,-1,0,8,ch97data};
+
+/* char: 0x60 '`' */
+
+static const GLubyte ch96data[] = {
+0x10,0x60,0xe0,
+};
+
+static const BitmapCharRec ch96 = {4,3,-2,-6,8,ch96data};
+
+/* char: 0x5f '_' */
+
+static const GLubyte ch95data[] = {
+0xfe,
+};
+
+static const BitmapCharRec ch95 = {7,1,0,1,8,ch95data};
+
+/* char: 0x5e '^' */
+
+static const GLubyte ch94data[] = {
+0x88,0x50,0x20,
+};
+
+static const BitmapCharRec ch94 = {5,3,-1,-6,8,ch94data};
+
+/* char: 0x5d ']' */
+
+static const GLubyte ch93data[] = {
+0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf0,
+};
+
+static const BitmapCharRec ch93 = {4,9,-1,0,8,ch93data};
+
+/* char: 0x5c '\' */
+
+static const GLubyte ch92data[] = {
+0x2,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x80,
+};
+
+static const BitmapCharRec ch92 = {7,9,0,0,8,ch92data};
+
+/* char: 0x5b '[' */
+
+static const GLubyte ch91data[] = {
+0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,
+};
+
+static const BitmapCharRec ch91 = {4,9,-2,0,8,ch91data};
+
+/* char: 0x5a 'Z' */
+
+static const GLubyte ch90data[] = {
+0xfc,0x80,0x80,0x40,0x20,0x10,0x8,0x4,0xfc,
+};
+
+static const BitmapCharRec ch90 = {6,9,-1,0,8,ch90data};
+
+/* char: 0x59 'Y' */
+
+static const GLubyte ch89data[] = {
+0x10,0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch89 = {7,9,0,0,8,ch89data};
+
+/* char: 0x58 'X' */
+
+static const GLubyte ch88data[] = {
+0x82,0x82,0x44,0x28,0x10,0x28,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch88 = {7,9,0,0,8,ch88data};
+
+/* char: 0x57 'W' */
+
+static const GLubyte ch87data[] = {
+0x44,0xaa,0x92,0x92,0x92,0x82,0x82,0x82,0x82,
+};
+
+static const BitmapCharRec ch87 = {7,9,0,0,8,ch87data};
+
+/* char: 0x56 'V' */
+
+static const GLubyte ch86data[] = {
+0x10,0x28,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch86 = {7,9,0,0,8,ch86data};
+
+/* char: 0x55 'U' */
+
+static const GLubyte ch85data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+};
+
+static const BitmapCharRec ch85 = {6,9,-1,0,8,ch85data};
+
+/* char: 0x54 'T' */
+
+static const GLubyte ch84data[] = {
+0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
+};
+
+static const BitmapCharRec ch84 = {7,9,0,0,8,ch84data};
+
+/* char: 0x53 'S' */
+
+static const GLubyte ch83data[] = {
+0x78,0x84,0x4,0x4,0x78,0x80,0x80,0x84,0x78,
+};
+
+static const BitmapCharRec ch83 = {6,9,-1,0,8,ch83data};
+
+/* char: 0x52 'R' */
+
+static const GLubyte ch82data[] = {
+0x84,0x88,0x90,0xa0,0xf8,0x84,0x84,0x84,0xf8,
+};
+
+static const BitmapCharRec ch82 = {6,9,-1,0,8,ch82data};
+
+/* char: 0x51 'Q' */
+
+static const GLubyte ch81data[] = {
+0x4,0x78,0x94,0xa4,0x84,0x84,0x84,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch81 = {6,10,-1,1,8,ch81data};
+
+/* char: 0x50 'P' */
+
+static const GLubyte ch80data[] = {
+0x80,0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,
+};
+
+static const BitmapCharRec ch80 = {6,9,-1,0,8,ch80data};
+
+/* char: 0x4f 'O' */
+
+static const GLubyte ch79data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch79 = {6,9,-1,0,8,ch79data};
+
+/* char: 0x4e 'N' */
+
+static const GLubyte ch78data[] = {
+0x84,0x84,0x84,0x8c,0x94,0xa4,0xc4,0x84,0x84,
+};
+
+static const BitmapCharRec ch78 = {6,9,-1,0,8,ch78data};
+
+/* char: 0x4d 'M' */
+
+static const GLubyte ch77data[] = {
+0x82,0x82,0x82,0x92,0x92,0xaa,0xc6,0x82,0x82,
+};
+
+static const BitmapCharRec ch77 = {7,9,0,0,8,ch77data};
+
+/* char: 0x4c 'L' */
+
+static const GLubyte ch76data[] = {
+0xfc,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch76 = {6,9,-1,0,8,ch76data};
+
+/* char: 0x4b 'K' */
+
+static const GLubyte ch75data[] = {
+0x84,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x84,
+};
+
+static const BitmapCharRec ch75 = {6,9,-1,0,8,ch75data};
+
+/* char: 0x4a 'J' */
+
+static const GLubyte ch74data[] = {
+0x70,0x88,0x8,0x8,0x8,0x8,0x8,0x8,0x3c,
+};
+
+static const BitmapCharRec ch74 = {6,9,-1,0,8,ch74data};
+
+/* char: 0x49 'I' */
+
+static const GLubyte ch73data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
+};
+
+static const BitmapCharRec ch73 = {5,9,-1,0,8,ch73data};
+
+/* char: 0x48 'H' */
+
+static const GLubyte ch72data[] = {
+0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0x84,
+};
+
+static const BitmapCharRec ch72 = {6,9,-1,0,8,ch72data};
+
+/* char: 0x47 'G' */
+
+static const GLubyte ch71data[] = {
+0x74,0x8c,0x84,0x9c,0x80,0x80,0x80,0x84,0x78,
+};
+
+static const BitmapCharRec ch71 = {6,9,-1,0,8,ch71data};
+
+/* char: 0x46 'F' */
+
+static const GLubyte ch70data[] = {
+0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0x80,0xfc,
+};
+
+static const BitmapCharRec ch70 = {6,9,-1,0,8,ch70data};
+
+/* char: 0x45 'E' */
+
+static const GLubyte ch69data[] = {
+0xfc,0x80,0x80,0x80,0xf0,0x80,0x80,0x80,0xfc,
+};
+
+static const BitmapCharRec ch69 = {6,9,-1,0,8,ch69data};
+
+/* char: 0x44 'D' */
+
+static const GLubyte ch68data[] = {
+0xfc,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfc,
+};
+
+static const BitmapCharRec ch68 = {7,9,0,0,8,ch68data};
+
+/* char: 0x43 'C' */
+
+static const GLubyte ch67data[] = {
+0x78,0x84,0x80,0x80,0x80,0x80,0x80,0x84,0x78,
+};
+
+static const BitmapCharRec ch67 = {6,9,-1,0,8,ch67data};
+
+/* char: 0x42 'B' */
+
+static const GLubyte ch66data[] = {
+0xfc,0x42,0x42,0x42,0x7c,0x42,0x42,0x42,0xfc,
+};
+
+static const BitmapCharRec ch66 = {7,9,0,0,8,ch66data};
+
+/* char: 0x41 'A' */
+
+static const GLubyte ch65data[] = {
+0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0x48,0x30,
+};
+
+static const BitmapCharRec ch65 = {6,9,-1,0,8,ch65data};
+
+/* char: 0x40 '@' */
+
+static const GLubyte ch64data[] = {
+0x78,0x80,0x94,0xac,0xa4,0x9c,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch64 = {6,9,-1,0,8,ch64data};
+
+/* char: 0x3f '?' */
+
+static const GLubyte ch63data[] = {
+0x10,0x0,0x10,0x10,0x8,0x4,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch63 = {6,9,-1,0,8,ch63data};
+
+/* char: 0x3e '>' */
+
+static const GLubyte ch62data[] = {
+0x80,0x40,0x20,0x10,0x8,0x10,0x20,0x40,0x80,
+};
+
+static const BitmapCharRec ch62 = {5,9,-1,0,8,ch62data};
+
+/* char: 0x3d '=' */
+
+static const GLubyte ch61data[] = {
+0xfc,0x0,0x0,0xfc,
+};
+
+static const BitmapCharRec ch61 = {6,4,-1,-2,8,ch61data};
+
+/* char: 0x3c '<' */
+
+static const GLubyte ch60data[] = {
+0x8,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x8,
+};
+
+static const BitmapCharRec ch60 = {5,9,-2,0,8,ch60data};
+
+/* char: 0x3b ';' */
+
+static const GLubyte ch59data[] = {
+0x80,0x60,0x70,0x0,0x0,0x20,0x70,0x20,
+};
+
+static const BitmapCharRec ch59 = {4,8,-1,1,8,ch59data};
+
+/* char: 0x3a ':' */
+
+static const GLubyte ch58data[] = {
+0x40,0xe0,0x40,0x0,0x0,0x40,0xe0,0x40,
+};
+
+static const BitmapCharRec ch58 = {3,8,-2,1,8,ch58data};
+
+/* char: 0x39 '9' */
+
+static const GLubyte ch57data[] = {
+0x70,0x8,0x4,0x4,0x74,0x8c,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch57 = {6,9,-1,0,8,ch57data};
+
+/* char: 0x38 '8' */
+
+static const GLubyte ch56data[] = {
+0x78,0x84,0x84,0x84,0x78,0x84,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch56 = {6,9,-1,0,8,ch56data};
+
+/* char: 0x37 '7' */
+
+static const GLubyte ch55data[] = {
+0x40,0x40,0x20,0x20,0x10,0x10,0x8,0x4,0xfc,
+};
+
+static const BitmapCharRec ch55 = {6,9,-1,0,8,ch55data};
+
+/* char: 0x36 '6' */
+
+static const GLubyte ch54data[] = {
+0x78,0x84,0x84,0xc4,0xb8,0x80,0x80,0x40,0x38,
+};
+
+static const BitmapCharRec ch54 = {6,9,-1,0,8,ch54data};
+
+/* char: 0x35 '5' */
+
+static const GLubyte ch53data[] = {
+0x78,0x84,0x4,0x4,0xc4,0xb8,0x80,0x80,0xfc,
+};
+
+static const BitmapCharRec ch53 = {6,9,-1,0,8,ch53data};
+
+/* char: 0x34 '4' */
+
+static const GLubyte ch52data[] = {
+0x8,0x8,0xfc,0x88,0x88,0x48,0x28,0x18,0x8,
+};
+
+static const BitmapCharRec ch52 = {6,9,-1,0,8,ch52data};
+
+/* char: 0x33 '3' */
+
+static const GLubyte ch51data[] = {
+0x78,0x84,0x4,0x4,0x38,0x10,0x8,0x4,0xfc,
+};
+
+static const BitmapCharRec ch51 = {6,9,-1,0,8,ch51data};
+
+/* char: 0x32 '2' */
+
+static const GLubyte ch50data[] = {
+0xfc,0x80,0x40,0x30,0x8,0x4,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch50 = {6,9,-1,0,8,ch50data};
+
+/* char: 0x31 '1' */
+
+static const GLubyte ch49data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0xa0,0x60,0x20,
+};
+
+static const BitmapCharRec ch49 = {5,9,-1,0,8,ch49data};
+
+/* char: 0x30 '0' */
+
+static const GLubyte ch48data[] = {
+0x30,0x48,0x84,0x84,0x84,0x84,0x84,0x48,0x30,
+};
+
+static const BitmapCharRec ch48 = {6,9,-1,0,8,ch48data};
+
+/* char: 0x2f '/' */
+
+static const GLubyte ch47data[] = {
+0x80,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x2,
+};
+
+static const BitmapCharRec ch47 = {7,9,0,0,8,ch47data};
+
+/* char: 0x2e '.' */
+
+static const GLubyte ch46data[] = {
+0x40,0xe0,0x40,
+};
+
+static const BitmapCharRec ch46 = {3,3,-2,1,8,ch46data};
+
+/* char: 0x2d '-' */
+
+static const GLubyte ch45data[] = {
+0xfc,
+};
+
+static const BitmapCharRec ch45 = {6,1,-1,-4,8,ch45data};
+
+/* char: 0x2c ',' */
+
+static const GLubyte ch44data[] = {
+0x80,0x60,0x70,
+};
+
+static const BitmapCharRec ch44 = {4,3,-1,1,8,ch44data};
+
+/* char: 0x2b '+' */
+
+static const GLubyte ch43data[] = {
+0x20,0x20,0xf8,0x20,0x20,
+};
+
+static const BitmapCharRec ch43 = {5,5,-1,-2,8,ch43data};
+
+/* char: 0x2a '*' */
+
+static const GLubyte ch42data[] = {
+0x48,0x30,0xfc,0x30,0x48,
+};
+
+static const BitmapCharRec ch42 = {6,5,-1,-2,8,ch42data};
+
+/* char: 0x29 ')' */
+
+static const GLubyte ch41data[] = {
+0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80,
+};
+
+static const BitmapCharRec ch41 = {3,9,-2,0,8,ch41data};
+
+/* char: 0x28 '(' */
+
+static const GLubyte ch40data[] = {
+0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,
+};
+
+static const BitmapCharRec ch40 = {3,9,-3,0,8,ch40data};
+
+/* char: 0x27 ''' */
+
+static const GLubyte ch39data[] = {
+0x80,0x60,0x70,
+};
+
+static const BitmapCharRec ch39 = {4,3,-1,-6,8,ch39data};
+
+/* char: 0x26 '&' */
+
+static const GLubyte ch38data[] = {
+0x74,0x88,0x94,0x60,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch38 = {6,7,-1,0,8,ch38data};
+
+/* char: 0x25 '%' */
+
+static const GLubyte ch37data[] = {
+0x88,0x54,0x48,0x20,0x10,0x10,0x48,0xa4,0x44,
+};
+
+static const BitmapCharRec ch37 = {6,9,-1,0,8,ch37data};
+
+/* char: 0x24 '$' */
+
+static const GLubyte ch36data[] = {
+0x20,0xf0,0x28,0x70,0xa0,0x78,0x20,
+};
+
+static const BitmapCharRec ch36 = {5,7,-1,-1,8,ch36data};
+
+/* char: 0x23 '#' */
+
+static const GLubyte ch35data[] = {
+0x48,0x48,0xfc,0x48,0xfc,0x48,0x48,
+};
+
+static const BitmapCharRec ch35 = {6,7,-1,-1,8,ch35data};
+
+/* char: 0x22 '"' */
+
+static const GLubyte ch34data[] = {
+0x90,0x90,0x90,
+};
+
+static const BitmapCharRec ch34 = {4,3,-2,-6,8,ch34data};
+
+/* char: 0x21 '!' */
+
+static const GLubyte ch33data[] = {
+0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch33 = {1,9,-3,0,8,ch33data};
+
+/* char: 0x1f */
+
+static const GLubyte ch31data[] = {
+0x80,
+};
+
+static const BitmapCharRec ch31 = {1,1,-3,-3,8,ch31data};
+
+/* char: 0x1e */
+
+static const GLubyte ch30data[] = {
+0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,
+};
+
+static const BitmapCharRec ch30 = {7,9,0,0,8,ch30data};
+
+/* char: 0x1d */
+
+static const GLubyte ch29data[] = {
+0x80,0x40,0xfe,0x10,0xfe,0x4,0x2,
+};
+
+static const BitmapCharRec ch29 = {7,7,0,0,8,ch29data};
+
+/* char: 0x1c */
+
+static const GLubyte ch28data[] = {
+0x88,0x48,0x48,0x48,0x48,0xfc,
+};
+
+static const BitmapCharRec ch28 = {6,6,-1,0,8,ch28data};
+
+/* char: 0x1b */
+
+static const GLubyte ch27data[] = {
+0xfe,0x80,0x20,0x8,0x2,0x8,0x20,0x80,
+};
+
+static const BitmapCharRec ch27 = {7,8,0,0,8,ch27data};
+
+/* char: 0x1a */
+
+static const GLubyte ch26data[] = {
+0xfe,0x2,0x8,0x20,0x80,0x20,0x8,0x2,
+};
+
+static const BitmapCharRec ch26 = {7,8,0,0,8,ch26data};
+
+/* char: 0x19 */
+
+static const GLubyte ch25data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch25 = {1,13,-3,2,8,ch25data};
+
+/* char: 0x18 */
+
+static const GLubyte ch24data[] = {
+0x10,0x10,0x10,0x10,0x10,0xff,
+};
+
+static const BitmapCharRec ch24 = {8,6,0,2,8,ch24data};
+
+/* char: 0x17 */
+
+static const GLubyte ch23data[] = {
+0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+};
+
+static const BitmapCharRec ch23 = {8,8,0,-3,8,ch23data};
+
+/* char: 0x16 */
+
+static const GLubyte ch22data[] = {
+0x10,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+};
+
+static const BitmapCharRec ch22 = {4,13,0,2,8,ch22data};
+
+/* char: 0x15 */
+
+static const GLubyte ch21data[] = {
+0x80,0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch21 = {5,13,-3,2,8,ch21data};
+
+/* char: 0x14 */
+
+static const GLubyte ch20data[] = {
+0xff,
+};
+
+static const BitmapCharRec ch20 = {8,1,0,1,8,ch20data};
+
+/* char: 0x13 */
+
+static const GLubyte ch19data[] = {
+0xff,
+};
+
+static const BitmapCharRec ch19 = {8,1,0,-1,8,ch19data};
+
+/* char: 0x12 */
+
+static const GLubyte ch18data[] = {
+0xff,
+};
+
+static const BitmapCharRec ch18 = {8,1,0,-3,8,ch18data};
+
+/* char: 0x11 */
+
+static const GLubyte ch17data[] = {
+0xff,
+};
+
+static const BitmapCharRec ch17 = {8,1,0,-5,8,ch17data};
+
+/* char: 0x10 */
+
+static const GLubyte ch16data[] = {
+0xff,
+};
+
+static const BitmapCharRec ch16 = {8,1,0,-7,8,ch16data};
+
+/* char: 0xf */
+
+static const GLubyte ch15data[] = {
+0x10,0x10,0x10,0x10,0x10,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+};
+
+static const BitmapCharRec ch15 = {8,13,0,2,8,ch15data};
+
+/* char: 0xe */
+
+static const GLubyte ch14data[] = {
+0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch14 = {5,8,-3,-3,8,ch14data};
+
+/* char: 0xd */
+
+static const GLubyte ch13data[] = {
+0x80,0x80,0x80,0x80,0x80,0xf8,
+};
+
+static const BitmapCharRec ch13 = {5,6,-3,2,8,ch13data};
+
+/* char: 0xc */
+
+static const GLubyte ch12data[] = {
+0x10,0x10,0x10,0x10,0x10,0xf0,
+};
+
+static const BitmapCharRec ch12 = {4,6,0,2,8,ch12data};
+
+/* char: 0xb */
+
+static const GLubyte ch11data[] = {
+0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+};
+
+static const BitmapCharRec ch11 = {4,8,0,-3,8,ch11data};
+
+/* char: 0xa */
+
+static const GLubyte ch10data[] = {
+0x8,0x8,0x8,0x8,0x3e,0x20,0x50,0x88,0x88,
+};
+
+static const BitmapCharRec ch10 = {7,9,0,2,8,ch10data};
+
+/* char: 0x9 */
+
+static const GLubyte ch9data[] = {
+0x3e,0x20,0x20,0x20,0x88,0x98,0xa8,0xc8,0x88,
+};
+
+static const BitmapCharRec ch9 = {7,9,0,2,8,ch9data};
+
+/* char: 0x8 */
+
+static const GLubyte ch8data[] = {
+0xfe,0x10,0x10,0xfe,0x10,0x10,
+};
+
+static const BitmapCharRec ch8 = {7,6,0,0,8,ch8data};
+
+/* char: 0x7 */
+
+static const GLubyte ch7data[] = {
+0x70,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch7 = {5,4,-1,-5,8,ch7data};
+
+/* char: 0x6 */
+
+static const GLubyte ch6data[] = {
+0x20,0x20,0x3c,0x20,0x3e,0xf8,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch6 = {7,9,0,2,8,ch6data};
+
+/* char: 0x5 */
+
+static const GLubyte ch5data[] = {
+0x22,0x22,0x3c,0x22,0x3c,0x78,0x80,0x80,0x78,
+};
+
+static const BitmapCharRec ch5 = {7,9,0,2,8,ch5data};
+
+/* char: 0x4 */
+
+static const GLubyte ch4data[] = {
+0x10,0x10,0x1c,0x10,0x9e,0x80,0xe0,0x80,0xf0,
+};
+
+static const BitmapCharRec ch4 = {7,9,0,2,8,ch4data};
+
+/* char: 0x3 */
+
+static const GLubyte ch3data[] = {
+0x8,0x8,0x8,0x3e,0x88,0x88,0xf8,0x88,0x88,
+};
+
+static const BitmapCharRec ch3 = {7,9,0,2,8,ch3data};
+
+/* char: 0x2 */
+
+static const GLubyte ch2data[] = {
+0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
+};
+
+static const BitmapCharRec ch2 = {8,12,0,2,8,ch2data};
+
+/* char: 0x1 */
+
+static const GLubyte ch1data[] = {
+0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,
+};
+
+static const BitmapCharRec ch1 = {7,7,0,-1,8,ch1data};
+
+static const BitmapCharRec * const chars[] = {
+&ch0,
+&ch1,
+&ch2,
+&ch3,
+&ch4,
+&ch5,
+&ch6,
+&ch7,
+&ch8,
+&ch9,
+&ch10,
+&ch11,
+&ch12,
+&ch13,
+&ch14,
+&ch15,
+&ch16,
+&ch17,
+&ch18,
+&ch19,
+&ch20,
+&ch21,
+&ch22,
+&ch23,
+&ch24,
+&ch25,
+&ch26,
+&ch27,
+&ch28,
+&ch29,
+&ch30,
+&ch31,
+&ch32,
+&ch33,
+&ch34,
+&ch35,
+&ch36,
+&ch37,
+&ch38,
+&ch39,
+&ch40,
+&ch41,
+&ch42,
+&ch43,
+&ch44,
+&ch45,
+&ch46,
+&ch47,
+&ch48,
+&ch49,
+&ch50,
+&ch51,
+&ch52,
+&ch53,
+&ch54,
+&ch55,
+&ch56,
+&ch57,
+&ch58,
+&ch59,
+&ch60,
+&ch61,
+&ch62,
+&ch63,
+&ch64,
+&ch65,
+&ch66,
+&ch67,
+&ch68,
+&ch69,
+&ch70,
+&ch71,
+&ch72,
+&ch73,
+&ch74,
+&ch75,
+&ch76,
+&ch77,
+&ch78,
+&ch79,
+&ch80,
+&ch81,
+&ch82,
+&ch83,
+&ch84,
+&ch85,
+&ch86,
+&ch87,
+&ch88,
+&ch89,
+&ch90,
+&ch91,
+&ch92,
+&ch93,
+&ch94,
+&ch95,
+&ch96,
+&ch97,
+&ch98,
+&ch99,
+&ch100,
+&ch101,
+&ch102,
+&ch103,
+&ch104,
+&ch105,
+&ch106,
+&ch107,
+&ch108,
+&ch109,
+&ch110,
+&ch111,
+&ch112,
+&ch113,
+&ch114,
+&ch115,
+&ch116,
+&ch117,
+&ch118,
+&ch119,
+&ch120,
+&ch121,
+&ch122,
+&ch123,
+&ch124,
+&ch125,
+&ch126,
+&ch127,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+&ch160,
+&ch161,
+&ch162,
+&ch163,
+&ch164,
+&ch165,
+&ch166,
+&ch167,
+&ch168,
+&ch169,
+&ch170,
+&ch171,
+&ch172,
+&ch173,
+&ch174,
+&ch175,
+&ch176,
+&ch177,
+&ch178,
+&ch179,
+&ch180,
+&ch181,
+&ch182,
+&ch183,
+&ch184,
+&ch185,
+&ch186,
+&ch187,
+&ch188,
+&ch189,
+&ch190,
+&ch191,
+&ch192,
+&ch193,
+&ch194,
+&ch195,
+&ch196,
+&ch197,
+&ch198,
+&ch199,
+&ch200,
+&ch201,
+&ch202,
+&ch203,
+&ch204,
+&ch205,
+&ch206,
+&ch207,
+&ch208,
+&ch209,
+&ch210,
+&ch211,
+&ch212,
+&ch213,
+&ch214,
+&ch215,
+&ch216,
+&ch217,
+&ch218,
+&ch219,
+&ch220,
+&ch221,
+&ch222,
+&ch223,
+&ch224,
+&ch225,
+&ch226,
+&ch227,
+&ch228,
+&ch229,
+&ch230,
+&ch231,
+&ch232,
+&ch233,
+&ch234,
+&ch235,
+&ch236,
+&ch237,
+&ch238,
+&ch239,
+&ch240,
+&ch241,
+&ch242,
+&ch243,
+&ch244,
+&ch245,
+&ch246,
+&ch247,
+&ch248,
+&ch249,
+&ch250,
+&ch251,
+&ch252,
+&ch253,
+&ch254,
+&ch255,
+};
+
+// jeh: removed const so mwld can export structure to shared lib
+BitmapFontRec glutBitmap8By13 = {
+"-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1",
+256,
+0,
+chars
+};
+
diff --git a/src/glut/beos/glut_9x15.cpp b/src/glut/beos/glut_9x15.cpp
new file mode 100644 (file)
index 0000000..52b379f
--- /dev/null
@@ -0,0 +1,2074 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "glutbitmap.h"
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch0data[] = { 0x0 };
+static const BitmapCharRec ch0 = {1,1,0,0,9,ch0data};
+#else
+static const BitmapCharRec ch0 = {0,0,0,0,9,0};
+#endif
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch32data[] = { 0x0 };
+static const BitmapCharRec ch32 = {1,1,0,0,9,ch32data};
+#else
+static const BitmapCharRec ch32 = {0,0,0,0,9,0};
+#endif
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch127data[] = { 0x0 };
+static const BitmapCharRec ch127 = {1,1,0,0,9,ch127data};
+#else
+static const BitmapCharRec ch127 = {0,0,0,0,9,0};
+#endif
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch160data[] = { 0x0 };
+static const BitmapCharRec ch160 = {1,1,0,0,9,ch160data};
+#else
+static const BitmapCharRec ch160 = {0,0,0,0,9,0};
+#endif
+
+/* char: 0xff */
+
+static const GLubyte ch255data[] = {
+0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x28,0x28,
+};
+
+static const BitmapCharRec ch255 = {6,14,-1,3,9,ch255data};
+
+/* char: 0xfe */
+
+static const GLubyte ch254data[] = {
+0x80,0x80,0x80,0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,
+};
+
+static const BitmapCharRec ch254 = {7,12,-1,3,9,ch254data};
+
+/* char: 0xfd */
+
+static const GLubyte ch253data[] = {
+0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x30,0x8,
+};
+
+static const BitmapCharRec ch253 = {6,14,-1,3,9,ch253data};
+
+/* char: 0xfc */
+
+static const GLubyte ch252data[] = {
+0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x28,0x28,
+};
+
+static const BitmapCharRec ch252 = {7,11,-1,0,9,ch252data};
+
+/* char: 0xfb */
+
+static const GLubyte ch251data[] = {
+0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x44,0x38,
+};
+
+static const BitmapCharRec ch251 = {7,11,-1,0,9,ch251data};
+
+/* char: 0xfa */
+
+static const GLubyte ch250data[] = {
+0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x30,0x8,
+};
+
+static const BitmapCharRec ch250 = {7,11,-1,0,9,ch250data};
+
+/* char: 0xf9 */
+
+static const GLubyte ch249data[] = {
+0x7a,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x0,0x18,0x20,
+};
+
+static const BitmapCharRec ch249 = {7,11,-1,0,9,ch249data};
+
+/* char: 0xf8 */
+
+static const GLubyte ch248data[] = {
+0x80,0x7c,0xa2,0xa2,0x92,0x8a,0x8a,0x7c,0x2,
+};
+
+static const BitmapCharRec ch248 = {7,9,-1,1,9,ch248data};
+
+/* char: 0xf7 */
+
+static const GLubyte ch247data[] = {
+0x10,0x38,0x10,0x0,0xfe,0x0,0x10,0x38,0x10,
+};
+
+static const BitmapCharRec ch247 = {7,9,-1,0,9,ch247data};
+
+/* char: 0xf6 */
+
+static const GLubyte ch246data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x28,0x28,
+};
+
+static const BitmapCharRec ch246 = {7,11,-1,0,9,ch246data};
+
+/* char: 0xf5 */
+
+static const GLubyte ch245data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch245 = {7,11,-1,0,9,ch245data};
+
+/* char: 0xf4 */
+
+static const GLubyte ch244data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x44,0x38,
+};
+
+static const BitmapCharRec ch244 = {7,11,-1,0,9,ch244data};
+
+/* char: 0xf3 */
+
+static const GLubyte ch243data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x30,0x8,
+};
+
+static const BitmapCharRec ch243 = {7,11,-1,0,9,ch243data};
+
+/* char: 0xf2 */
+
+static const GLubyte ch242data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x0,0x18,0x20,
+};
+
+static const BitmapCharRec ch242 = {7,11,-1,0,9,ch242data};
+
+/* char: 0xf1 */
+
+static const GLubyte ch241data[] = {
+0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,0x0,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch241 = {7,11,-1,0,9,ch241data};
+
+/* char: 0xf0 */
+
+static const GLubyte ch240data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x8,0x50,0x30,0x48,
+};
+
+static const BitmapCharRec ch240 = {7,11,-1,0,9,ch240data};
+
+/* char: 0xef */
+
+static const GLubyte ch239data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x50,0x50,
+};
+
+static const BitmapCharRec ch239 = {5,11,-2,0,9,ch239data};
+
+/* char: 0xee */
+
+static const GLubyte ch238data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x90,0x60,
+};
+
+static const BitmapCharRec ch238 = {5,11,-2,0,9,ch238data};
+
+/* char: 0xed */
+
+static const GLubyte ch237data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x60,0x10,
+};
+
+static const BitmapCharRec ch237 = {5,11,-2,0,9,ch237data};
+
+/* char: 0xec */
+
+static const GLubyte ch236data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x30,0x40,
+};
+
+static const BitmapCharRec ch236 = {5,11,-2,0,9,ch236data};
+
+/* char: 0xeb */
+
+static const GLubyte ch235data[] = {
+0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x28,0x28,
+};
+
+static const BitmapCharRec ch235 = {7,11,-1,0,9,ch235data};
+
+/* char: 0xea */
+
+static const GLubyte ch234data[] = {
+0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x44,0x38,
+};
+
+static const BitmapCharRec ch234 = {7,11,-1,0,9,ch234data};
+
+/* char: 0xe9 */
+
+static const GLubyte ch233data[] = {
+0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x30,0x8,
+};
+
+static const BitmapCharRec ch233 = {7,11,-1,0,9,ch233data};
+
+/* char: 0xe8 */
+
+static const GLubyte ch232data[] = {
+0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,0x0,0x0,0x18,0x20,
+};
+
+static const BitmapCharRec ch232 = {7,11,-1,0,9,ch232data};
+
+/* char: 0xe7 */
+
+static const GLubyte ch231data[] = {
+0x30,0x48,0x18,0x7c,0x82,0x80,0x80,0x80,0x82,0x7c,
+};
+
+static const BitmapCharRec ch231 = {7,10,-1,3,9,ch231data};
+
+/* char: 0xe6 */
+
+static const GLubyte ch230data[] = {
+0x6e,0x92,0x90,0x7c,0x12,0x92,0x6c,
+};
+
+static const BitmapCharRec ch230 = {7,7,-1,0,9,ch230data};
+
+/* char: 0xe5 */
+
+static const GLubyte ch229data[] = {
+0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x18,0x24,0x18,
+};
+
+static const BitmapCharRec ch229 = {7,11,-1,0,9,ch229data};
+
+/* char: 0xe4 */
+
+static const GLubyte ch228data[] = {
+0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x28,0x28,
+};
+
+static const BitmapCharRec ch228 = {7,11,-1,0,9,ch228data};
+
+/* char: 0xe3 */
+
+static const GLubyte ch227data[] = {
+0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch227 = {7,11,-1,0,9,ch227data};
+
+/* char: 0xe2 */
+
+static const GLubyte ch226data[] = {
+0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x44,0x38,
+};
+
+static const BitmapCharRec ch226 = {7,11,-1,0,9,ch226data};
+
+/* char: 0xe1 */
+
+static const GLubyte ch225data[] = {
+0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x30,0x8,
+};
+
+static const BitmapCharRec ch225 = {7,11,-1,0,9,ch225data};
+
+/* char: 0xe0 */
+
+static const GLubyte ch224data[] = {
+0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,0x0,0x0,0x18,0x20,
+};
+
+static const BitmapCharRec ch224 = {7,11,-1,0,9,ch224data};
+
+/* char: 0xdf */
+
+static const GLubyte ch223data[] = {
+0x80,0xbc,0xc2,0x82,0x82,0xfc,0x82,0x82,0x7c,
+};
+
+static const BitmapCharRec ch223 = {7,9,-1,1,9,ch223data};
+
+/* char: 0xde */
+
+static const GLubyte ch222data[] = {
+0x80,0x80,0x80,0xfc,0x82,0x82,0x82,0xfc,0x80,0x80,
+};
+
+static const BitmapCharRec ch222 = {7,10,-1,0,9,ch222data};
+
+/* char: 0xdd */
+
+static const GLubyte ch221data[] = {
+0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,0x0,0x30,0x8,
+};
+
+static const BitmapCharRec ch221 = {7,11,-1,0,9,ch221data};
+
+/* char: 0xdc */
+
+static const GLubyte ch220data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x28,0x28,
+};
+
+static const BitmapCharRec ch220 = {7,11,-1,0,9,ch220data};
+
+/* char: 0xdb */
+
+static const GLubyte ch219data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x44,0x38,
+};
+
+static const BitmapCharRec ch219 = {7,11,-1,0,9,ch219data};
+
+/* char: 0xda */
+
+static const GLubyte ch218data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x30,0x8,
+};
+
+static const BitmapCharRec ch218 = {7,11,-1,0,9,ch218data};
+
+/* char: 0xd9 */
+
+static const GLubyte ch217data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x0,0x18,0x20,
+};
+
+static const BitmapCharRec ch217 = {7,11,-1,0,9,ch217data};
+
+/* char: 0xd8 */
+
+static const GLubyte ch216data[] = {
+0x80,0x7c,0xc2,0xa2,0xa2,0x92,0x92,0x8a,0x8a,0x86,0x7c,0x2,
+};
+
+static const BitmapCharRec ch216 = {7,12,-1,1,9,ch216data};
+
+/* char: 0xd7 */
+
+static const GLubyte ch215data[] = {
+0x82,0x44,0x28,0x10,0x28,0x44,0x82,
+};
+
+static const BitmapCharRec ch215 = {7,7,-1,-1,9,ch215data};
+
+/* char: 0xd6 */
+
+static const GLubyte ch214data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x28,
+};
+
+static const BitmapCharRec ch214 = {7,11,-1,0,9,ch214data};
+
+/* char: 0xd5 */
+
+static const GLubyte ch213data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch213 = {7,11,-1,0,9,ch213data};
+
+/* char: 0xd4 */
+
+static const GLubyte ch212data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x44,0x38,
+};
+
+static const BitmapCharRec ch212 = {7,11,-1,0,9,ch212data};
+
+/* char: 0xd3 */
+
+static const GLubyte ch211data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x30,0x8,
+};
+
+static const BitmapCharRec ch211 = {7,11,-1,0,9,ch211data};
+
+/* char: 0xd2 */
+
+static const GLubyte ch210data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x18,0x20,
+};
+
+static const BitmapCharRec ch210 = {7,11,-1,0,9,ch210data};
+
+/* char: 0xd1 */
+
+static const GLubyte ch209data[] = {
+0x82,0x86,0x8a,0x92,0x92,0xa2,0xc2,0x82,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch209 = {7,11,-1,0,9,ch209data};
+
+/* char: 0xd0 */
+
+static const GLubyte ch208data[] = {
+0xfc,0x42,0x42,0x42,0x42,0xf2,0x42,0x42,0x42,0xfc,
+};
+
+static const BitmapCharRec ch208 = {7,10,-1,0,9,ch208data};
+
+/* char: 0xcf */
+
+static const GLubyte ch207data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x50,0x50,
+};
+
+static const BitmapCharRec ch207 = {5,11,-2,0,9,ch207data};
+
+/* char: 0xce */
+
+static const GLubyte ch206data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x88,0x70,
+};
+
+static const BitmapCharRec ch206 = {5,11,-2,0,9,ch206data};
+
+/* char: 0xcd */
+
+static const GLubyte ch205data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x60,0x10,
+};
+
+static const BitmapCharRec ch205 = {5,11,-2,0,9,ch205data};
+
+/* char: 0xcc */
+
+static const GLubyte ch204data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,0x0,0x30,0x40,
+};
+
+static const BitmapCharRec ch204 = {5,11,-2,0,9,ch204data};
+
+/* char: 0xcb */
+
+static const GLubyte ch203data[] = {
+0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x28,0x28,
+};
+
+static const BitmapCharRec ch203 = {7,11,-1,0,9,ch203data};
+
+/* char: 0xca */
+
+static const GLubyte ch202data[] = {
+0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x44,0x38,
+};
+
+static const BitmapCharRec ch202 = {7,11,-1,0,9,ch202data};
+
+/* char: 0xc9 */
+
+static const GLubyte ch201data[] = {
+0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x30,0x8,
+};
+
+static const BitmapCharRec ch201 = {7,11,-1,0,9,ch201data};
+
+/* char: 0xc8 */
+
+static const GLubyte ch200data[] = {
+0xfe,0x40,0x40,0x40,0x78,0x40,0x40,0xfe,0x0,0x18,0x20,
+};
+
+static const BitmapCharRec ch200 = {7,11,-1,0,9,ch200data};
+
+/* char: 0xc7 */
+
+static const GLubyte ch199data[] = {
+0x30,0x48,0x18,0x7c,0x82,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x7c,
+};
+
+static const BitmapCharRec ch199 = {7,13,-1,3,9,ch199data};
+
+/* char: 0xc6 */
+
+static const GLubyte ch198data[] = {
+0x9e,0x90,0x90,0x90,0xfc,0x90,0x90,0x90,0x90,0x6e,
+};
+
+static const BitmapCharRec ch198 = {7,10,-1,0,9,ch198data};
+
+/* char: 0xc5 */
+
+static const GLubyte ch197data[] = {
+0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x10,0x28,0x10,
+};
+
+static const BitmapCharRec ch197 = {7,11,-1,0,9,ch197data};
+
+/* char: 0xc4 */
+
+static const GLubyte ch196data[] = {
+0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x28,0x28,
+};
+
+static const BitmapCharRec ch196 = {7,11,-1,0,9,ch196data};
+
+/* char: 0xc3 */
+
+static const GLubyte ch195data[] = {
+0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch195 = {7,11,-1,0,9,ch195data};
+
+/* char: 0xc2 */
+
+static const GLubyte ch194data[] = {
+0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x44,0x38,
+};
+
+static const BitmapCharRec ch194 = {7,11,-1,0,9,ch194data};
+
+/* char: 0xc1 */
+
+static const GLubyte ch193data[] = {
+0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x30,0x8,
+};
+
+static const BitmapCharRec ch193 = {7,11,-1,0,9,ch193data};
+
+/* char: 0xc0 */
+
+static const GLubyte ch192data[] = {
+0x82,0x82,0x82,0xfe,0x82,0x82,0x44,0x38,0x0,0x18,0x20,
+};
+
+static const BitmapCharRec ch192 = {7,11,-1,0,9,ch192data};
+
+/* char: 0xbf */
+
+static const GLubyte ch191data[] = {
+0x7c,0x82,0x82,0x80,0x40,0x20,0x10,0x10,0x0,0x10,
+};
+
+static const BitmapCharRec ch191 = {7,10,-1,0,9,ch191data};
+
+/* char: 0xbe */
+
+static const GLubyte ch190data[] = {
+0x6,0x1a,0x12,0xa,0x66,0x92,0x10,0x20,0x90,0x60,
+};
+
+static const BitmapCharRec ch190 = {7,10,-1,0,9,ch190data};
+
+/* char: 0xbd */
+
+static const GLubyte ch189data[] = {
+0x1e,0x10,0xc,0x2,0xf2,0x4c,0x40,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch189 = {7,10,-1,0,9,ch189data};
+
+/* char: 0xbc */
+
+static const GLubyte ch188data[] = {
+0x6,0x1a,0x12,0xa,0xe6,0x42,0x40,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch188 = {7,10,-1,0,9,ch188data};
+
+/* char: 0xbb */
+
+static const GLubyte ch187data[] = {
+0x90,0x48,0x24,0x12,0x12,0x24,0x48,0x90,
+};
+
+static const BitmapCharRec ch187 = {7,8,-1,-1,9,ch187data};
+
+/* char: 0xba */
+
+static const GLubyte ch186data[] = {
+0xf8,0x0,0x70,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch186 = {5,6,-1,-5,9,ch186data};
+
+/* char: 0xb9 */
+
+static const GLubyte ch185data[] = {
+0xe0,0x40,0x40,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch185 = {3,6,-1,-4,9,ch185data};
+
+/* char: 0xb8 */
+
+static const GLubyte ch184data[] = {
+0x60,0x90,0x30,
+};
+
+static const BitmapCharRec ch184 = {4,3,-2,3,9,ch184data};
+
+/* char: 0xb7 */
+
+static const GLubyte ch183data[] = {
+0xc0,0xc0,
+};
+
+static const BitmapCharRec ch183 = {2,2,-4,-4,9,ch183data};
+
+/* char: 0xb6 */
+
+static const GLubyte ch182data[] = {
+0xa,0xa,0xa,0xa,0xa,0x7a,0x8a,0x8a,0x8a,0x7e,
+};
+
+static const BitmapCharRec ch182 = {7,10,-1,0,9,ch182data};
+
+/* char: 0xb5 */
+
+static const GLubyte ch181data[] = {
+0x80,0x80,0xba,0xc6,0x82,0x82,0x82,0x82,0x82,
+};
+
+static const BitmapCharRec ch181 = {7,9,-1,2,9,ch181data};
+
+/* char: 0xb4 */
+
+static const GLubyte ch180data[] = {
+0xc0,0x20,
+};
+
+static const BitmapCharRec ch180 = {3,2,-3,-9,9,ch180data};
+
+/* char: 0xb3 */
+
+static const GLubyte ch179data[] = {
+0x60,0x90,0x10,0x20,0x90,0x60,
+};
+
+static const BitmapCharRec ch179 = {4,6,-1,-4,9,ch179data};
+
+/* char: 0xb2 */
+
+static const GLubyte ch178data[] = {
+0xf0,0x80,0x60,0x10,0x90,0x60,
+};
+
+static const BitmapCharRec ch178 = {4,6,-1,-4,9,ch178data};
+
+/* char: 0xb1 */
+
+static const GLubyte ch177data[] = {
+0xfe,0x0,0x10,0x10,0x10,0xfe,0x10,0x10,0x10,
+};
+
+static const BitmapCharRec ch177 = {7,9,-1,-1,9,ch177data};
+
+/* char: 0xb0 */
+
+static const GLubyte ch176data[] = {
+0x60,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch176 = {4,4,-3,-6,9,ch176data};
+
+/* char: 0xaf */
+
+static const GLubyte ch175data[] = {
+0xfc,
+};
+
+static const BitmapCharRec ch175 = {6,1,-1,-9,9,ch175data};
+
+/* char: 0xae */
+
+static const GLubyte ch174data[] = {
+0x3c,0x42,0xa5,0xa9,0xbd,0xa5,0xb9,0x42,0x3c,
+};
+
+static const BitmapCharRec ch174 = {8,9,0,-1,9,ch174data};
+
+/* char: 0xad */
+
+static const GLubyte ch173data[] = {
+0xfc,
+};
+
+static const BitmapCharRec ch173 = {6,1,-1,-4,9,ch173data};
+
+/* char: 0xac */
+
+static const GLubyte ch172data[] = {
+0x4,0x4,0x4,0xfc,
+};
+
+static const BitmapCharRec ch172 = {6,4,-1,-2,9,ch172data};
+
+/* char: 0xab */
+
+static const GLubyte ch171data[] = {
+0x12,0x24,0x48,0x90,0x90,0x48,0x24,0x12,
+};
+
+static const BitmapCharRec ch171 = {7,8,-1,-1,9,ch171data};
+
+/* char: 0xaa */
+
+static const GLubyte ch170data[] = {
+0xf8,0x0,0x78,0x90,0x70,0x90,0x60,
+};
+
+static const BitmapCharRec ch170 = {5,7,-3,-3,9,ch170data};
+
+/* char: 0xa9 */
+
+static const GLubyte ch169data[] = {
+0x3c,0x42,0x99,0xa5,0xa1,0xa5,0x99,0x42,0x3c,
+};
+
+static const BitmapCharRec ch169 = {8,9,0,-1,9,ch169data};
+
+/* char: 0xa8 */
+
+static const GLubyte ch168data[] = {
+0xa0,0xa0,
+};
+
+static const BitmapCharRec ch168 = {3,2,-3,-9,9,ch168data};
+
+/* char: 0xa7 */
+
+static const GLubyte ch167data[] = {
+0x70,0x88,0x8,0x70,0x88,0x88,0x88,0x70,0x80,0x88,0x70,
+};
+
+static const BitmapCharRec ch167 = {5,11,-2,1,9,ch167data};
+
+/* char: 0xa6 */
+
+static const GLubyte ch166data[] = {
+0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch166 = {1,11,-4,1,9,ch166data};
+
+/* char: 0xa5 */
+
+static const GLubyte ch165data[] = {
+0x10,0x10,0x10,0x7c,0x10,0x7c,0x28,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch165 = {7,10,-1,0,9,ch165data};
+
+/* char: 0xa4 */
+
+static const GLubyte ch164data[] = {
+0x82,0x7c,0x44,0x44,0x7c,0x82,
+};
+
+static const BitmapCharRec ch164 = {7,6,-1,-3,9,ch164data};
+
+/* char: 0xa3 */
+
+static const GLubyte ch163data[] = {
+0x5c,0xa2,0x60,0x20,0x20,0xf8,0x20,0x20,0x22,0x1c,
+};
+
+static const BitmapCharRec ch163 = {7,10,-1,0,9,ch163data};
+
+/* char: 0xa2 */
+
+static const GLubyte ch162data[] = {
+0x40,0x78,0xa4,0xa0,0x90,0x94,0x78,0x8,
+};
+
+static const BitmapCharRec ch162 = {6,8,-1,0,9,ch162data};
+
+/* char: 0xa1 */
+
+static const GLubyte ch161data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x80,
+};
+
+static const BitmapCharRec ch161 = {1,11,-4,0,9,ch161data};
+
+/* char: 0x7e '~' */
+
+static const GLubyte ch126data[] = {
+0x8c,0x92,0x62,
+};
+
+static const BitmapCharRec ch126 = {7,3,-1,-7,9,ch126data};
+
+/* char: 0x7d '}' */
+
+static const GLubyte ch125data[] = {
+0xe0,0x10,0x10,0x10,0x20,0x18,0x18,0x20,0x10,0x10,0x10,0xe0,
+};
+
+static const BitmapCharRec ch125 = {5,12,-1,1,9,ch125data};
+
+/* char: 0x7c '|' */
+
+static const GLubyte ch124data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch124 = {1,12,-4,1,9,ch124data};
+
+/* char: 0x7b '{' */
+
+static const GLubyte ch123data[] = {
+0x38,0x40,0x40,0x40,0x20,0xc0,0xc0,0x20,0x40,0x40,0x40,0x38,
+};
+
+static const BitmapCharRec ch123 = {5,12,-3,1,9,ch123data};
+
+/* char: 0x7a 'z' */
+
+static const GLubyte ch122data[] = {
+0xfe,0x40,0x20,0x10,0x8,0x4,0xfe,
+};
+
+static const BitmapCharRec ch122 = {7,7,-1,0,9,ch122data};
+
+/* char: 0x79 'y' */
+
+static const GLubyte ch121data[] = {
+0x78,0x84,0x4,0x74,0x8c,0x84,0x84,0x84,0x84,0x84,
+};
+
+static const BitmapCharRec ch121 = {6,10,-1,3,9,ch121data};
+
+/* char: 0x78 'x' */
+
+static const GLubyte ch120data[] = {
+0x82,0x44,0x28,0x10,0x28,0x44,0x82,
+};
+
+static const BitmapCharRec ch120 = {7,7,-1,0,9,ch120data};
+
+/* char: 0x77 'w' */
+
+static const GLubyte ch119data[] = {
+0x44,0xaa,0x92,0x92,0x92,0x82,0x82,
+};
+
+static const BitmapCharRec ch119 = {7,7,-1,0,9,ch119data};
+
+/* char: 0x76 'v' */
+
+static const GLubyte ch118data[] = {
+0x10,0x28,0x28,0x44,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch118 = {7,7,-1,0,9,ch118data};
+
+/* char: 0x75 'u' */
+
+static const GLubyte ch117data[] = {
+0x7a,0x84,0x84,0x84,0x84,0x84,0x84,
+};
+
+static const BitmapCharRec ch117 = {7,7,-1,0,9,ch117data};
+
+/* char: 0x74 't' */
+
+static const GLubyte ch116data[] = {
+0x1c,0x22,0x20,0x20,0x20,0x20,0xfc,0x20,0x20,
+};
+
+static const BitmapCharRec ch116 = {7,9,-1,0,9,ch116data};
+
+/* char: 0x73 's' */
+
+static const GLubyte ch115data[] = {
+0x7c,0x82,0x2,0x7c,0x80,0x82,0x7c,
+};
+
+static const BitmapCharRec ch115 = {7,7,-1,0,9,ch115data};
+
+/* char: 0x72 'r' */
+
+static const GLubyte ch114data[] = {
+0x40,0x40,0x40,0x40,0x42,0x62,0x9c,
+};
+
+static const BitmapCharRec ch114 = {7,7,-1,0,9,ch114data};
+
+/* char: 0x71 'q' */
+
+static const GLubyte ch113data[] = {
+0x2,0x2,0x2,0x7a,0x86,0x82,0x82,0x82,0x86,0x7a,
+};
+
+static const BitmapCharRec ch113 = {7,10,-1,3,9,ch113data};
+
+/* char: 0x70 'p' */
+
+static const GLubyte ch112data[] = {
+0x80,0x80,0x80,0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,
+};
+
+static const BitmapCharRec ch112 = {7,10,-1,3,9,ch112data};
+
+/* char: 0x6f 'o' */
+
+static const GLubyte ch111data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,
+};
+
+static const BitmapCharRec ch111 = {7,7,-1,0,9,ch111data};
+
+/* char: 0x6e 'n' */
+
+static const GLubyte ch110data[] = {
+0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,
+};
+
+static const BitmapCharRec ch110 = {7,7,-1,0,9,ch110data};
+
+/* char: 0x6d 'm' */
+
+static const GLubyte ch109data[] = {
+0x82,0x92,0x92,0x92,0x92,0x92,0xec,
+};
+
+static const BitmapCharRec ch109 = {7,7,-1,0,9,ch109data};
+
+/* char: 0x6c 'l' */
+
+static const GLubyte ch108data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,
+};
+
+static const BitmapCharRec ch108 = {5,10,-2,0,9,ch108data};
+
+/* char: 0x6b 'k' */
+
+static const GLubyte ch107data[] = {
+0x82,0x8c,0xb0,0xc0,0xb0,0x8c,0x82,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch107 = {7,10,-1,0,9,ch107data};
+
+/* char: 0x6a 'j' */
+
+static const GLubyte ch106data[] = {
+0x78,0x84,0x84,0x84,0x4,0x4,0x4,0x4,0x4,0x1c,0x0,0x0,0xc,
+};
+
+static const BitmapCharRec ch106 = {6,13,-1,3,9,ch106data};
+
+/* char: 0x69 'i' */
+
+static const GLubyte ch105data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0xe0,0x0,0x0,0x60,
+};
+
+static const BitmapCharRec ch105 = {5,10,-2,0,9,ch105data};
+
+/* char: 0x68 'h' */
+
+static const GLubyte ch104data[] = {
+0x82,0x82,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch104 = {7,10,-1,0,9,ch104data};
+
+/* char: 0x67 'g' */
+
+static const GLubyte ch103data[] = {
+0x7c,0x82,0x82,0x7c,0x80,0x78,0x84,0x84,0x84,0x7a,
+};
+
+static const BitmapCharRec ch103 = {7,10,-1,3,9,ch103data};
+
+/* char: 0x66 'f' */
+
+static const GLubyte ch102data[] = {
+0x20,0x20,0x20,0x20,0xf8,0x20,0x20,0x22,0x22,0x1c,
+};
+
+static const BitmapCharRec ch102 = {7,10,-1,0,9,ch102data};
+
+/* char: 0x65 'e' */
+
+static const GLubyte ch101data[] = {
+0x7c,0x80,0x80,0xfe,0x82,0x82,0x7c,
+};
+
+static const BitmapCharRec ch101 = {7,7,-1,0,9,ch101data};
+
+/* char: 0x64 'd' */
+
+static const GLubyte ch100data[] = {
+0x7a,0x86,0x82,0x82,0x82,0x86,0x7a,0x2,0x2,0x2,
+};
+
+static const BitmapCharRec ch100 = {7,10,-1,0,9,ch100data};
+
+/* char: 0x63 'c' */
+
+static const GLubyte ch99data[] = {
+0x7c,0x82,0x80,0x80,0x80,0x82,0x7c,
+};
+
+static const BitmapCharRec ch99 = {7,7,-1,0,9,ch99data};
+
+/* char: 0x62 'b' */
+
+static const GLubyte ch98data[] = {
+0xbc,0xc2,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch98 = {7,10,-1,0,9,ch98data};
+
+/* char: 0x61 'a' */
+
+static const GLubyte ch97data[] = {
+0x7a,0x86,0x82,0x7e,0x2,0x2,0x7c,
+};
+
+static const BitmapCharRec ch97 = {7,7,-1,0,9,ch97data};
+
+/* char: 0x60 '`' */
+
+static const GLubyte ch96data[] = {
+0x10,0x20,0x40,0xc0,
+};
+
+static const BitmapCharRec ch96 = {4,4,-3,-6,9,ch96data};
+
+/* char: 0x5f '_' */
+
+static const GLubyte ch95data[] = {
+0xff,
+};
+
+static const BitmapCharRec ch95 = {8,1,0,1,9,ch95data};
+
+/* char: 0x5e '^' */
+
+static const GLubyte ch94data[] = {
+0x82,0x44,0x28,0x10,
+};
+
+static const BitmapCharRec ch94 = {7,4,-1,-6,9,ch94data};
+
+/* char: 0x5d ']' */
+
+static const GLubyte ch93data[] = {
+0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xf0,
+};
+
+static const BitmapCharRec ch93 = {4,12,-2,1,9,ch93data};
+
+/* char: 0x5c '\' */
+
+static const GLubyte ch92data[] = {
+0x2,0x4,0x4,0x8,0x10,0x10,0x20,0x40,0x40,0x80,
+};
+
+static const BitmapCharRec ch92 = {7,10,-1,0,9,ch92data};
+
+/* char: 0x5b '[' */
+
+static const GLubyte ch91data[] = {
+0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,
+};
+
+static const BitmapCharRec ch91 = {4,12,-3,1,9,ch91data};
+
+/* char: 0x5a 'Z' */
+
+static const GLubyte ch90data[] = {
+0xfe,0x80,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0xfe,
+};
+
+static const BitmapCharRec ch90 = {7,10,-1,0,9,ch90data};
+
+/* char: 0x59 'Y' */
+
+static const GLubyte ch89data[] = {
+0x10,0x10,0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch89 = {7,10,-1,0,9,ch89data};
+
+/* char: 0x58 'X' */
+
+static const GLubyte ch88data[] = {
+0x82,0x82,0x44,0x28,0x10,0x10,0x28,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch88 = {7,10,-1,0,9,ch88data};
+
+/* char: 0x57 'W' */
+
+static const GLubyte ch87data[] = {
+0x44,0xaa,0x92,0x92,0x92,0x92,0x82,0x82,0x82,0x82,
+};
+
+static const BitmapCharRec ch87 = {7,10,-1,0,9,ch87data};
+
+/* char: 0x56 'V' */
+
+static const GLubyte ch86data[] = {
+0x10,0x28,0x28,0x28,0x44,0x44,0x44,0x82,0x82,0x82,
+};
+
+static const BitmapCharRec ch86 = {7,10,-1,0,9,ch86data};
+
+/* char: 0x55 'U' */
+
+static const GLubyte ch85data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,
+};
+
+static const BitmapCharRec ch85 = {7,10,-1,0,9,ch85data};
+
+/* char: 0x54 'T' */
+
+static const GLubyte ch84data[] = {
+0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
+};
+
+static const BitmapCharRec ch84 = {7,10,-1,0,9,ch84data};
+
+/* char: 0x53 'S' */
+
+static const GLubyte ch83data[] = {
+0x7c,0x82,0x82,0x2,0xc,0x70,0x80,0x82,0x82,0x7c,
+};
+
+static const BitmapCharRec ch83 = {7,10,-1,0,9,ch83data};
+
+/* char: 0x52 'R' */
+
+static const GLubyte ch82data[] = {
+0x82,0x82,0x84,0x88,0x90,0xfc,0x82,0x82,0x82,0xfc,
+};
+
+static const BitmapCharRec ch82 = {7,10,-1,0,9,ch82data};
+
+/* char: 0x51 'Q' */
+
+static const GLubyte ch81data[] = {
+0x6,0x8,0x7c,0x92,0xa2,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,
+};
+
+static const BitmapCharRec ch81 = {7,12,-1,2,9,ch81data};
+
+/* char: 0x50 'P' */
+
+static const GLubyte ch80data[] = {
+0x80,0x80,0x80,0x80,0x80,0xfc,0x82,0x82,0x82,0xfc,
+};
+
+static const BitmapCharRec ch80 = {7,10,-1,0,9,ch80data};
+
+/* char: 0x4f 'O' */
+
+static const GLubyte ch79data[] = {
+0x7c,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x7c,
+};
+
+static const BitmapCharRec ch79 = {7,10,-1,0,9,ch79data};
+
+/* char: 0x4e 'N' */
+
+static const GLubyte ch78data[] = {
+0x82,0x82,0x82,0x86,0x8a,0x92,0xa2,0xc2,0x82,0x82,
+};
+
+static const BitmapCharRec ch78 = {7,10,-1,0,9,ch78data};
+
+/* char: 0x4d 'M' */
+
+static const GLubyte ch77data[] = {
+0x82,0x82,0x82,0x92,0x92,0xaa,0xaa,0xc6,0x82,0x82,
+};
+
+static const BitmapCharRec ch77 = {7,10,-1,0,9,ch77data};
+
+/* char: 0x4c 'L' */
+
+static const GLubyte ch76data[] = {
+0xfe,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch76 = {7,10,-1,0,9,ch76data};
+
+/* char: 0x4b 'K' */
+
+static const GLubyte ch75data[] = {
+0x82,0x84,0x88,0x90,0xa0,0xe0,0x90,0x88,0x84,0x82,
+};
+
+static const BitmapCharRec ch75 = {7,10,-1,0,9,ch75data};
+
+/* char: 0x4a 'J' */
+
+static const GLubyte ch74data[] = {
+0x78,0x84,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x1e,
+};
+
+static const BitmapCharRec ch74 = {7,10,-1,0,9,ch74data};
+
+/* char: 0x49 'I' */
+
+static const GLubyte ch73data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
+};
+
+static const BitmapCharRec ch73 = {5,10,-2,0,9,ch73data};
+
+/* char: 0x48 'H' */
+
+static const GLubyte ch72data[] = {
+0x82,0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x82,
+};
+
+static const BitmapCharRec ch72 = {7,10,-1,0,9,ch72data};
+
+/* char: 0x47 'G' */
+
+static const GLubyte ch71data[] = {
+0x7c,0x82,0x82,0x82,0x8e,0x80,0x80,0x80,0x82,0x7c,
+};
+
+static const BitmapCharRec ch71 = {7,10,-1,0,9,ch71data};
+
+/* char: 0x46 'F' */
+
+static const GLubyte ch70data[] = {
+0x40,0x40,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0xfe,
+};
+
+static const BitmapCharRec ch70 = {7,10,-1,0,9,ch70data};
+
+/* char: 0x45 'E' */
+
+static const GLubyte ch69data[] = {
+0xfe,0x40,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0xfe,
+};
+
+static const BitmapCharRec ch69 = {7,10,-1,0,9,ch69data};
+
+/* char: 0x44 'D' */
+
+static const GLubyte ch68data[] = {
+0xfc,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfc,
+};
+
+static const BitmapCharRec ch68 = {7,10,-1,0,9,ch68data};
+
+/* char: 0x43 'C' */
+
+static const GLubyte ch67data[] = {
+0x7c,0x82,0x80,0x80,0x80,0x80,0x80,0x80,0x82,0x7c,
+};
+
+static const BitmapCharRec ch67 = {7,10,-1,0,9,ch67data};
+
+/* char: 0x42 'B' */
+
+static const GLubyte ch66data[] = {
+0xfc,0x42,0x42,0x42,0x42,0x7c,0x42,0x42,0x42,0xfc,
+};
+
+static const BitmapCharRec ch66 = {7,10,-1,0,9,ch66data};
+
+/* char: 0x41 'A' */
+
+static const GLubyte ch65data[] = {
+0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x44,0x28,0x10,
+};
+
+static const BitmapCharRec ch65 = {7,10,-1,0,9,ch65data};
+
+/* char: 0x40 '@' */
+
+static const GLubyte ch64data[] = {
+0x7c,0x80,0x80,0x9a,0xa6,0xa2,0x9e,0x82,0x82,0x7c,
+};
+
+static const BitmapCharRec ch64 = {7,10,-1,0,9,ch64data};
+
+/* char: 0x3f '?' */
+
+static const GLubyte ch63data[] = {
+0x10,0x0,0x10,0x10,0x8,0x4,0x2,0x82,0x82,0x7c,
+};
+
+static const BitmapCharRec ch63 = {7,10,-1,0,9,ch63data};
+
+/* char: 0x3e '>' */
+
+static const GLubyte ch62data[] = {
+0x80,0x40,0x20,0x10,0x8,0x8,0x10,0x20,0x40,0x80,
+};
+
+static const BitmapCharRec ch62 = {5,10,-2,0,9,ch62data};
+
+/* char: 0x3d '=' */
+
+static const GLubyte ch61data[] = {
+0xfe,0x0,0x0,0xfe,
+};
+
+static const BitmapCharRec ch61 = {7,4,-1,-2,9,ch61data};
+
+/* char: 0x3c '<' */
+
+static const GLubyte ch60data[] = {
+0x8,0x10,0x20,0x40,0x80,0x80,0x40,0x20,0x10,0x8,
+};
+
+static const BitmapCharRec ch60 = {5,10,-2,0,9,ch60data};
+
+/* char: 0x3b ';' */
+
+static const GLubyte ch59data[] = {
+0x80,0x40,0x40,0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch59 = {2,10,-4,3,9,ch59data};
+
+/* char: 0x3a ':' */
+
+static const GLubyte ch58data[] = {
+0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch58 = {2,7,-4,0,9,ch58data};
+
+/* char: 0x39 '9' */
+
+static const GLubyte ch57data[] = {
+0x78,0x4,0x2,0x2,0x7a,0x86,0x82,0x82,0x82,0x7c,
+};
+
+static const BitmapCharRec ch57 = {7,10,-1,0,9,ch57data};
+
+/* char: 0x38 '8' */
+
+static const GLubyte ch56data[] = {
+0x38,0x44,0x82,0x82,0x44,0x38,0x44,0x82,0x44,0x38,
+};
+
+static const BitmapCharRec ch56 = {7,10,-1,0,9,ch56data};
+
+/* char: 0x37 '7' */
+
+static const GLubyte ch55data[] = {
+0x40,0x40,0x20,0x20,0x10,0x8,0x4,0x2,0x2,0xfe,
+};
+
+static const BitmapCharRec ch55 = {7,10,-1,0,9,ch55data};
+
+/* char: 0x36 '6' */
+
+static const GLubyte ch54data[] = {
+0x7c,0x82,0x82,0x82,0xc2,0xbc,0x80,0x80,0x40,0x3c,
+};
+
+static const BitmapCharRec ch54 = {7,10,-1,0,9,ch54data};
+
+/* char: 0x35 '5' */
+
+static const GLubyte ch53data[] = {
+0x7c,0x82,0x2,0x2,0x2,0xc2,0xbc,0x80,0x80,0xfe,
+};
+
+static const BitmapCharRec ch53 = {7,10,-1,0,9,ch53data};
+
+/* char: 0x34 '4' */
+
+static const GLubyte ch52data[] = {
+0x4,0x4,0x4,0xfe,0x84,0x44,0x24,0x14,0xc,0x4,
+};
+
+static const BitmapCharRec ch52 = {7,10,-1,0,9,ch52data};
+
+/* char: 0x33 '3' */
+
+static const GLubyte ch51data[] = {
+0x7c,0x82,0x2,0x2,0x2,0x1c,0x8,0x4,0x2,0xfe,
+};
+
+static const BitmapCharRec ch51 = {7,10,-1,0,9,ch51data};
+
+/* char: 0x32 '2' */
+
+static const GLubyte ch50data[] = {
+0xfe,0x80,0x40,0x30,0x8,0x4,0x2,0x82,0x82,0x7c,
+};
+
+static const BitmapCharRec ch50 = {7,10,-1,0,9,ch50data};
+
+/* char: 0x31 '1' */
+
+static const GLubyte ch49data[] = {
+0xfe,0x10,0x10,0x10,0x10,0x10,0x90,0x50,0x30,0x10,
+};
+
+static const BitmapCharRec ch49 = {7,10,-1,0,9,ch49data};
+
+/* char: 0x30 '0' */
+
+static const GLubyte ch48data[] = {
+0x38,0x44,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x38,
+};
+
+static const BitmapCharRec ch48 = {7,10,-1,0,9,ch48data};
+
+/* char: 0x2f '/' */
+
+static const GLubyte ch47data[] = {
+0x80,0x40,0x40,0x20,0x10,0x10,0x8,0x4,0x4,0x2,
+};
+
+static const BitmapCharRec ch47 = {7,10,-1,0,9,ch47data};
+
+/* char: 0x2e '.' */
+
+static const GLubyte ch46data[] = {
+0xc0,0xc0,
+};
+
+static const BitmapCharRec ch46 = {2,2,-4,0,9,ch46data};
+
+/* char: 0x2d '-' */
+
+static const GLubyte ch45data[] = {
+0xfe,
+};
+
+static const BitmapCharRec ch45 = {7,1,-1,-4,9,ch45data};
+
+/* char: 0x2c ',' */
+
+static const GLubyte ch44data[] = {
+0x80,0x40,0x40,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch44 = {2,5,-4,3,9,ch44data};
+
+/* char: 0x2b '+' */
+
+static const GLubyte ch43data[] = {
+0x10,0x10,0x10,0xfe,0x10,0x10,0x10,
+};
+
+static const BitmapCharRec ch43 = {7,7,-1,-1,9,ch43data};
+
+/* char: 0x2a '*' */
+
+static const GLubyte ch42data[] = {
+0x10,0x92,0x54,0x38,0x54,0x92,0x10,
+};
+
+static const BitmapCharRec ch42 = {7,7,-1,-1,9,ch42data};
+
+/* char: 0x29 ')' */
+
+static const GLubyte ch41data[] = {
+0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
+};
+
+static const BitmapCharRec ch41 = {3,12,-3,1,9,ch41data};
+
+/* char: 0x28 '(' */
+
+static const GLubyte ch40data[] = {
+0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
+};
+
+static const BitmapCharRec ch40 = {3,12,-3,1,9,ch40data};
+
+/* char: 0x27 ''' */
+
+static const GLubyte ch39data[] = {
+0x80,0x40,0x20,0x30,
+};
+
+static const BitmapCharRec ch39 = {4,4,-3,-6,9,ch39data};
+
+/* char: 0x26 '&' */
+
+static const GLubyte ch38data[] = {
+0x62,0x94,0x88,0x94,0x62,0x60,0x90,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch38 = {7,10,-1,0,9,ch38data};
+
+/* char: 0x25 '%' */
+
+static const GLubyte ch37data[] = {
+0x84,0x4a,0x4a,0x24,0x10,0x10,0x48,0xa4,0xa4,0x42,
+};
+
+static const BitmapCharRec ch37 = {7,10,-1,0,9,ch37data};
+
+/* char: 0x24 '$' */
+
+static const GLubyte ch36data[] = {
+0x10,0x7c,0x92,0x12,0x12,0x14,0x38,0x50,0x90,0x92,0x7c,0x10,
+};
+
+static const BitmapCharRec ch36 = {7,12,-1,1,9,ch36data};
+
+/* char: 0x23 '#' */
+
+static const GLubyte ch35data[] = {
+0x48,0x48,0xfc,0x48,0x48,0xfc,0x48,0x48,
+};
+
+static const BitmapCharRec ch35 = {6,8,-1,-1,9,ch35data};
+
+/* char: 0x22 '"' */
+
+static const GLubyte ch34data[] = {
+0x90,0x90,0x90,
+};
+
+static const BitmapCharRec ch34 = {4,3,-3,-7,9,ch34data};
+
+/* char: 0x21 '!' */
+
+static const GLubyte ch33data[] = {
+0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch33 = {1,11,-4,0,9,ch33data};
+
+/* char: 0x1f */
+
+static const GLubyte ch31data[] = {
+0xc0,0xc0,
+};
+
+static const BitmapCharRec ch31 = {2,2,-4,-2,9,ch31data};
+
+/* char: 0x1e */
+
+static const GLubyte ch30data[] = {
+0x5c,0xa2,0x60,0x20,0x20,0xf8,0x20,0x20,0x22,0x1c,
+};
+
+static const BitmapCharRec ch30 = {7,10,-1,0,9,ch30data};
+
+/* char: 0x1d */
+
+static const GLubyte ch29data[] = {
+0x80,0x40,0xfe,0x10,0xfe,0x4,0x2,
+};
+
+static const BitmapCharRec ch29 = {7,7,-1,0,9,ch29data};
+
+/* char: 0x1c */
+
+static const GLubyte ch28data[] = {
+0x44,0x24,0x24,0x24,0x24,0x24,0xfe,
+};
+
+static const BitmapCharRec ch28 = {7,7,-1,0,9,ch28data};
+
+/* char: 0x1b */
+
+static const GLubyte ch27data[] = {
+0xfe,0x0,0x80,0x40,0x20,0x10,0x8,0x8,0x10,0x20,0x40,0x80,
+};
+
+static const BitmapCharRec ch27 = {7,12,-1,2,9,ch27data};
+
+/* char: 0x1a */
+
+static const GLubyte ch26data[] = {
+0xfc,0x0,0x4,0x8,0x10,0x20,0x40,0x40,0x20,0x10,0x8,0x4,
+};
+
+static const BitmapCharRec ch26 = {6,12,-2,2,9,ch26data};
+
+/* char: 0x19 */
+
+static const GLubyte ch25data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch25 = {1,15,-4,3,9,ch25data};
+
+/* char: 0x18 */
+
+static const GLubyte ch24data[] = {
+0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,
+};
+
+static const BitmapCharRec ch24 = {9,7,0,3,9,ch24data};
+
+/* char: 0x17 */
+
+static const GLubyte ch23data[] = {
+0xff,0x80,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+0x8,0x0,
+};
+
+static const BitmapCharRec ch23 = {9,9,0,-3,9,ch23data};
+
+/* char: 0x16 */
+
+static const GLubyte ch22data[] = {
+0x8,0x8,0x8,0x8,0x8,0x8,0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
+};
+
+static const BitmapCharRec ch22 = {5,15,0,3,9,ch22data};
+
+/* char: 0x15 */
+
+static const GLubyte ch21data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch21 = {5,15,-4,3,9,ch21data};
+
+/* char: 0x14 */
+
+static const GLubyte ch20data[] = {
+0xff,0x80,
+};
+
+static const BitmapCharRec ch20 = {9,1,0,1,9,ch20data};
+
+/* char: 0x13 */
+
+static const GLubyte ch19data[] = {
+0xff,0x80,
+};
+
+static const BitmapCharRec ch19 = {9,1,0,-1,9,ch19data};
+
+/* char: 0x12 */
+
+static const GLubyte ch18data[] = {
+0xff,0x80,
+};
+
+static const BitmapCharRec ch18 = {9,1,0,-3,9,ch18data};
+
+/* char: 0x11 */
+
+static const GLubyte ch17data[] = {
+0xff,0x80,
+};
+
+static const BitmapCharRec ch17 = {9,1,0,-5,9,ch17data};
+
+/* char: 0x10 */
+
+static const GLubyte ch16data[] = {
+0xff,0x80,
+};
+
+static const BitmapCharRec ch16 = {9,1,0,-7,9,ch16data};
+
+/* char: 0xf */
+
+static const GLubyte ch15data[] = {
+0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,0x8,0x0,
+0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+};
+
+static const BitmapCharRec ch15 = {9,15,0,3,9,ch15data};
+
+/* char: 0xe */
+
+static const GLubyte ch14data[] = {
+0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch14 = {5,9,-4,-3,9,ch14data};
+
+/* char: 0xd */
+
+static const GLubyte ch13data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0xf8,
+};
+
+static const BitmapCharRec ch13 = {5,7,-4,3,9,ch13data};
+
+/* char: 0xc */
+
+static const GLubyte ch12data[] = {
+0x8,0x8,0x8,0x8,0x8,0x8,0xf8,
+};
+
+static const BitmapCharRec ch12 = {5,7,0,3,9,ch12data};
+
+/* char: 0xb */
+
+static const GLubyte ch11data[] = {
+0xf8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,
+};
+
+static const BitmapCharRec ch11 = {5,9,0,-3,9,ch11data};
+
+/* char: 0xa */
+
+static const GLubyte ch10data[] = {
+0x8,0x8,0x8,0x8,0x3e,0x0,0x20,0x50,0x88,0x88,
+};
+
+static const BitmapCharRec ch10 = {7,10,-1,2,9,ch10data};
+
+/* char: 0x9 */
+
+static const GLubyte ch9data[] = {
+0x3e,0x20,0x20,0x20,0x20,0x88,0x98,0xa8,0xc8,0x88,
+};
+
+static const BitmapCharRec ch9 = {7,10,-1,2,9,ch9data};
+
+/* char: 0x8 */
+
+static const GLubyte ch8data[] = {
+0xfe,0x10,0x10,0xfe,0x10,0x10,
+};
+
+static const BitmapCharRec ch8 = {7,6,-1,0,9,ch8data};
+
+/* char: 0x7 */
+
+static const GLubyte ch7data[] = {
+0x70,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch7 = {5,4,-2,-6,9,ch7data};
+
+/* char: 0x6 */
+
+static const GLubyte ch6data[] = {
+0x20,0x20,0x3c,0x20,0x3e,0x0,0xf8,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch6 = {7,10,-1,2,9,ch6data};
+
+/* char: 0x5 */
+
+static const GLubyte ch5data[] = {
+0x22,0x22,0x3c,0x22,0x3c,0x0,0x78,0x80,0x80,0x78,
+};
+
+static const BitmapCharRec ch5 = {7,10,-1,2,9,ch5data};
+
+/* char: 0x4 */
+
+static const GLubyte ch4data[] = {
+0x10,0x10,0x1c,0x10,0x1e,0x80,0x80,0xe0,0x80,0xf0,
+};
+
+static const BitmapCharRec ch4 = {7,10,-1,2,9,ch4data};
+
+/* char: 0x3 */
+
+static const GLubyte ch3data[] = {
+0x8,0x8,0x8,0x3e,0x0,0x88,0x88,0xf8,0x88,0x88,
+};
+
+static const BitmapCharRec ch3 = {7,10,-1,2,9,ch3data};
+
+/* char: 0x2 */
+
+static const GLubyte ch2data[] = {
+0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
+};
+
+static const BitmapCharRec ch2 = {8,14,0,3,9,ch2data};
+
+/* char: 0x1 */
+
+static const GLubyte ch1data[] = {
+0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,
+};
+
+static const BitmapCharRec ch1 = {7,7,-1,0,9,ch1data};
+
+static const BitmapCharRec * const chars[] = {
+&ch0,
+&ch1,
+&ch2,
+&ch3,
+&ch4,
+&ch5,
+&ch6,
+&ch7,
+&ch8,
+&ch9,
+&ch10,
+&ch11,
+&ch12,
+&ch13,
+&ch14,
+&ch15,
+&ch16,
+&ch17,
+&ch18,
+&ch19,
+&ch20,
+&ch21,
+&ch22,
+&ch23,
+&ch24,
+&ch25,
+&ch26,
+&ch27,
+&ch28,
+&ch29,
+&ch30,
+&ch31,
+&ch32,
+&ch33,
+&ch34,
+&ch35,
+&ch36,
+&ch37,
+&ch38,
+&ch39,
+&ch40,
+&ch41,
+&ch42,
+&ch43,
+&ch44,
+&ch45,
+&ch46,
+&ch47,
+&ch48,
+&ch49,
+&ch50,
+&ch51,
+&ch52,
+&ch53,
+&ch54,
+&ch55,
+&ch56,
+&ch57,
+&ch58,
+&ch59,
+&ch60,
+&ch61,
+&ch62,
+&ch63,
+&ch64,
+&ch65,
+&ch66,
+&ch67,
+&ch68,
+&ch69,
+&ch70,
+&ch71,
+&ch72,
+&ch73,
+&ch74,
+&ch75,
+&ch76,
+&ch77,
+&ch78,
+&ch79,
+&ch80,
+&ch81,
+&ch82,
+&ch83,
+&ch84,
+&ch85,
+&ch86,
+&ch87,
+&ch88,
+&ch89,
+&ch90,
+&ch91,
+&ch92,
+&ch93,
+&ch94,
+&ch95,
+&ch96,
+&ch97,
+&ch98,
+&ch99,
+&ch100,
+&ch101,
+&ch102,
+&ch103,
+&ch104,
+&ch105,
+&ch106,
+&ch107,
+&ch108,
+&ch109,
+&ch110,
+&ch111,
+&ch112,
+&ch113,
+&ch114,
+&ch115,
+&ch116,
+&ch117,
+&ch118,
+&ch119,
+&ch120,
+&ch121,
+&ch122,
+&ch123,
+&ch124,
+&ch125,
+&ch126,
+&ch127,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+&ch160,
+&ch161,
+&ch162,
+&ch163,
+&ch164,
+&ch165,
+&ch166,
+&ch167,
+&ch168,
+&ch169,
+&ch170,
+&ch171,
+&ch172,
+&ch173,
+&ch174,
+&ch175,
+&ch176,
+&ch177,
+&ch178,
+&ch179,
+&ch180,
+&ch181,
+&ch182,
+&ch183,
+&ch184,
+&ch185,
+&ch186,
+&ch187,
+&ch188,
+&ch189,
+&ch190,
+&ch191,
+&ch192,
+&ch193,
+&ch194,
+&ch195,
+&ch196,
+&ch197,
+&ch198,
+&ch199,
+&ch200,
+&ch201,
+&ch202,
+&ch203,
+&ch204,
+&ch205,
+&ch206,
+&ch207,
+&ch208,
+&ch209,
+&ch210,
+&ch211,
+&ch212,
+&ch213,
+&ch214,
+&ch215,
+&ch216,
+&ch217,
+&ch218,
+&ch219,
+&ch220,
+&ch221,
+&ch222,
+&ch223,
+&ch224,
+&ch225,
+&ch226,
+&ch227,
+&ch228,
+&ch229,
+&ch230,
+&ch231,
+&ch232,
+&ch233,
+&ch234,
+&ch235,
+&ch236,
+&ch237,
+&ch238,
+&ch239,
+&ch240,
+&ch241,
+&ch242,
+&ch243,
+&ch244,
+&ch245,
+&ch246,
+&ch247,
+&ch248,
+&ch249,
+&ch250,
+&ch251,
+&ch252,
+&ch253,
+&ch254,
+&ch255,
+};
+
+// jeh: removed const so mwld can export structure to shared lib
+BitmapFontRec glutBitmap9By15 = {
+"-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1",
+256,
+0,
+chars
+};
+
diff --git a/src/glut/beos/glut_bitmap.cpp b/src/glut/beos/glut_bitmap.cpp
new file mode 100644 (file)
index 0000000..874a05e
--- /dev/null
@@ -0,0 +1,58 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/* This program is freely distributable without licensing fees
+   and is provided without guarantee or warrantee expressed or
+   implied. This program is -not- in the public domain. */
+
+#include <GL/glut.h>
+#include "glutint.h"
+#include "glutbitmap.h"
+
+void APIENTRY 
+glutBitmapCharacter(GLUTbitmapFont font, int c)
+{
+  const BitmapCharRec *ch;
+  BitmapFontPtr fontinfo;
+  GLint swapbytes, lsbfirst, rowlength;
+  GLint skiprows, skippixels, alignment;
+
+#if defined(WIN32)
+  fontinfo = (BitmapFontPtr) __glutFont(font);
+#else
+  fontinfo = (BitmapFontPtr) font;
+#endif
+
+  if (c < fontinfo->first ||
+    c >= fontinfo->first + fontinfo->num_chars)
+    return;
+  ch = fontinfo->ch[c - fontinfo->first];
+  if (ch) {
+    /* Save current modes. */
+    glGetIntegerv(GL_UNPACK_SWAP_BYTES, &swapbytes);
+    glGetIntegerv(GL_UNPACK_LSB_FIRST, &lsbfirst);
+    glGetIntegerv(GL_UNPACK_ROW_LENGTH, &rowlength);
+    glGetIntegerv(GL_UNPACK_SKIP_ROWS, &skiprows);
+    glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &skippixels);
+    glGetIntegerv(GL_UNPACK_ALIGNMENT, &alignment);
+    /* Little endian machines (DEC Alpha for example) could
+       benefit from setting GL_UNPACK_LSB_FIRST to GL_TRUE
+       instead of GL_FALSE, but this would require changing the
+       generated bitmaps too. */
+    glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE);
+    glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE);
+    glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
+    glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
+    glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
+    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+    glBitmap(ch->width, ch->height, ch->xorig, ch->yorig,
+      ch->advance, 0, ch->bitmap);
+    /* Restore saved modes. */
+    glPixelStorei(GL_UNPACK_SWAP_BYTES, swapbytes);
+    glPixelStorei(GL_UNPACK_LSB_FIRST, lsbfirst);
+    glPixelStorei(GL_UNPACK_ROW_LENGTH, rowlength);
+    glPixelStorei(GL_UNPACK_SKIP_ROWS, skiprows);
+    glPixelStorei(GL_UNPACK_SKIP_PIXELS, skippixels);
+    glPixelStorei(GL_UNPACK_ALIGNMENT, alignment);
+  }
+}
diff --git a/src/glut/beos/glut_bwidth.cpp b/src/glut/beos/glut_bwidth.cpp
new file mode 100644 (file)
index 0000000..711dfa5
--- /dev/null
@@ -0,0 +1,59 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/* This program is freely distributable without licensing fees
+   and is provided without guarantee or warrantee expressed or
+   implied. This program is -not- in the public domain. */
+
+#include <GL/glut.h>
+#include "glutint.h"
+#include "glutbitmap.h"
+
+/* CENTRY */
+int APIENTRY 
+glutBitmapWidth(GLUTbitmapFont font, int c)
+{
+  BitmapFontPtr fontinfo;
+  const BitmapCharRec *ch;
+
+#if defined(WIN32)
+  fontinfo = (BitmapFontPtr) __glutFont(font);
+#else
+  fontinfo = (BitmapFontPtr) font;
+#endif
+
+  if (c < fontinfo->first || c >= fontinfo->first + fontinfo->num_chars)
+    return 0;
+  ch = fontinfo->ch[c - fontinfo->first];
+  if (ch)
+    return (int)ch->advance;
+  else
+    return 0;
+}
+
+int APIENTRY 
+glutBitmapLength(GLUTbitmapFont font, const char *string)
+{
+  int c, length;
+  BitmapFontPtr fontinfo;
+  const BitmapCharRec *ch;
+
+#ifdef WIN32
+  fontinfo = (BitmapFontPtr) __glutFont(font);
+#else
+  fontinfo = (BitmapFontPtr) font;
+#endif
+
+  length = 0;
+  for (; *string != '\0'; string++) {
+    c = *string;
+    if (c >= fontinfo->first && c < fontinfo->first + fontinfo->num_chars) {
+      ch = fontinfo->ch[c - fontinfo->first];
+      if (ch)
+        length += (int)ch->advance;
+    }
+  }
+  return length;
+}
+
+/* ENDCENTRY */
diff --git a/src/glut/beos/glut_hel10.cpp b/src/glut/beos/glut_hel10.cpp
new file mode 100644 (file)
index 0000000..7ed306c
--- /dev/null
@@ -0,0 +1,1777 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "glutbitmap.h"
+
+/* char: 0xff */
+
+static const GLubyte ch255data[] = {
+0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x50,
+};
+
+static const BitmapCharRec ch255 = {4,10,0,2,5,ch255data};
+
+/* char: 0xfe */
+
+static const GLubyte ch254data[] = {
+0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80,
+};
+
+static const BitmapCharRec ch254 = {5,10,0,2,6,ch254data};
+
+/* char: 0xfd */
+
+static const GLubyte ch253data[] = {
+0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch253 = {4,11,0,2,5,ch253data};
+
+/* char: 0xfc */
+
+static const GLubyte ch252data[] = {
+0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50,
+};
+
+static const BitmapCharRec ch252 = {4,8,0,0,5,ch252data};
+
+/* char: 0xfb */
+
+static const GLubyte ch251data[] = {
+0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch251 = {4,9,0,0,5,ch251data};
+
+/* char: 0xfa */
+
+static const GLubyte ch250data[] = {
+0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x40,0x20,
+};
+
+static const BitmapCharRec ch250 = {4,9,0,0,5,ch250data};
+
+/* char: 0xf9 */
+
+static const GLubyte ch249data[] = {
+0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch249 = {4,9,0,0,5,ch249data};
+
+/* char: 0xf8 */
+
+static const GLubyte ch248data[] = {
+0x70,0x88,0xc8,0xa8,0x98,0x74,
+};
+
+static const BitmapCharRec ch248 = {6,6,0,0,6,ch248data};
+
+/* char: 0xf7 */
+
+static const GLubyte ch247data[] = {
+0x20,0x0,0xf8,0x0,0x20,
+};
+
+static const BitmapCharRec ch247 = {5,5,0,-1,6,ch247data};
+
+/* char: 0xf6 */
+
+static const GLubyte ch246data[] = {
+0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,
+};
+
+static const BitmapCharRec ch246 = {5,8,0,0,6,ch246data};
+
+/* char: 0xf5 */
+
+static const GLubyte ch245data[] = {
+0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch245 = {5,9,0,0,6,ch245data};
+
+/* char: 0xf4 */
+
+static const GLubyte ch244data[] = {
+0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch244 = {5,9,0,0,6,ch244data};
+
+/* char: 0xf3 */
+
+static const GLubyte ch243data[] = {
+0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch243 = {5,9,0,0,6,ch243data};
+
+/* char: 0xf2 */
+
+static const GLubyte ch242data[] = {
+0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch242 = {5,9,0,0,6,ch242data};
+
+/* char: 0xf1 */
+
+static const GLubyte ch241data[] = {
+0x90,0x90,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50,
+};
+
+static const BitmapCharRec ch241 = {4,9,0,0,5,ch241data};
+
+/* char: 0xf0 */
+
+static const GLubyte ch240data[] = {
+0x70,0x88,0x88,0x88,0x88,0x78,0x90,0x60,0x50,
+};
+
+static const BitmapCharRec ch240 = {5,9,0,0,6,ch240data};
+
+/* char: 0xef */
+
+static const GLubyte ch239data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
+};
+
+static const BitmapCharRec ch239 = {3,8,0,0,2,ch239data};
+
+/* char: 0xee */
+
+static const GLubyte ch238data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
+};
+
+static const BitmapCharRec ch238 = {3,9,1,0,2,ch238data};
+
+/* char: 0xed */
+
+static const GLubyte ch237data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
+};
+
+static const BitmapCharRec ch237 = {2,9,0,0,2,ch237data};
+
+/* char: 0xec */
+
+static const GLubyte ch236data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
+};
+
+static const BitmapCharRec ch236 = {2,9,1,0,2,ch236data};
+
+/* char: 0xeb */
+
+static const GLubyte ch235data[] = {
+0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50,
+};
+
+static const BitmapCharRec ch235 = {4,8,0,0,5,ch235data};
+
+/* char: 0xea */
+
+static const GLubyte ch234data[] = {
+0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch234 = {4,9,0,0,5,ch234data};
+
+/* char: 0xe9 */
+
+static const GLubyte ch233data[] = {
+0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x40,0x20,
+};
+
+static const BitmapCharRec ch233 = {4,9,0,0,5,ch233data};
+
+/* char: 0xe8 */
+
+static const GLubyte ch232data[] = {
+0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch232 = {4,9,0,0,5,ch232data};
+
+/* char: 0xe7 */
+
+static const GLubyte ch231data[] = {
+0x60,0x20,0x60,0x90,0x80,0x80,0x90,0x60,
+};
+
+static const BitmapCharRec ch231 = {4,8,0,2,5,ch231data};
+
+/* char: 0xe6 */
+
+static const GLubyte ch230data[] = {
+0x6c,0x92,0x90,0x7e,0x12,0xec,
+};
+
+static const BitmapCharRec ch230 = {7,6,0,0,8,ch230data};
+
+/* char: 0xe5 */
+
+static const GLubyte ch229data[] = {
+0x68,0x90,0x90,0x70,0x10,0xe0,0x20,0x50,0x20,
+};
+
+static const BitmapCharRec ch229 = {5,9,0,0,5,ch229data};
+
+/* char: 0xe4 */
+
+static const GLubyte ch228data[] = {
+0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50,
+};
+
+static const BitmapCharRec ch228 = {5,8,0,0,5,ch228data};
+
+/* char: 0xe3 */
+
+static const GLubyte ch227data[] = {
+0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0xa0,0x50,
+};
+
+static const BitmapCharRec ch227 = {5,9,0,0,5,ch227data};
+
+/* char: 0xe2 */
+
+static const GLubyte ch226data[] = {
+0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch226 = {5,9,0,0,5,ch226data};
+
+/* char: 0xe1 */
+
+static const GLubyte ch225data[] = {
+0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch225 = {5,9,0,0,5,ch225data};
+
+/* char: 0xe0 */
+
+static const GLubyte ch224data[] = {
+0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch224 = {5,9,0,0,5,ch224data};
+
+/* char: 0xdf */
+
+static const GLubyte ch223data[] = {
+0xa0,0x90,0x90,0x90,0xa0,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch223 = {4,8,0,0,5,ch223data};
+
+/* char: 0xde */
+
+static const GLubyte ch222data[] = {
+0x80,0x80,0xf0,0x88,0x88,0xf0,0x80,0x80,
+};
+
+static const BitmapCharRec ch222 = {5,8,-1,0,7,ch222data};
+
+/* char: 0xdd */
+
+static const GLubyte ch221data[] = {
+0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch221 = {7,11,0,0,7,ch221data};
+
+/* char: 0xdc */
+
+static const GLubyte ch220data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,
+};
+
+static const BitmapCharRec ch220 = {6,10,-1,0,8,ch220data};
+
+/* char: 0xdb */
+
+static const GLubyte ch219data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10,
+};
+
+static const BitmapCharRec ch219 = {6,11,-1,0,8,ch219data};
+
+/* char: 0xda */
+
+static const GLubyte ch218data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch218 = {6,11,-1,0,8,ch218data};
+
+/* char: 0xd9 */
+
+static const GLubyte ch217data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch217 = {6,11,-1,0,8,ch217data};
+
+/* char: 0xd8 */
+
+static const GLubyte ch216data[] = {
+0x80,0x78,0xc4,0xa4,0xa4,0x94,0x94,0x8c,0x78,0x4,
+};
+
+static const BitmapCharRec ch216 = {6,10,-1,1,8,ch216data};
+
+/* char: 0xd7 */
+
+static const GLubyte ch215data[] = {
+0x88,0x50,0x20,0x50,0x88,
+};
+
+static const BitmapCharRec ch215 = {5,5,0,-1,6,ch215data};
+
+/* char: 0xd6 */
+
+static const GLubyte ch214data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x48,
+};
+
+static const BitmapCharRec ch214 = {6,10,-1,0,8,ch214data};
+
+/* char: 0xd5 */
+
+static const GLubyte ch213data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch213 = {6,11,-1,0,8,ch213data};
+
+/* char: 0xd4 */
+
+static const GLubyte ch212data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x28,0x10,
+};
+
+static const BitmapCharRec ch212 = {6,11,-1,0,8,ch212data};
+
+/* char: 0xd3 */
+
+static const GLubyte ch211data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch211 = {6,11,-1,0,8,ch211data};
+
+/* char: 0xd2 */
+
+static const GLubyte ch210data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch210 = {6,11,-1,0,8,ch210data};
+
+/* char: 0xd1 */
+
+static const GLubyte ch209data[] = {
+0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch209 = {6,11,-1,0,8,ch209data};
+
+/* char: 0xd0 */
+
+static const GLubyte ch208data[] = {
+0x78,0x44,0x42,0x42,0xf2,0x42,0x44,0x78,
+};
+
+static const BitmapCharRec ch208 = {7,8,0,0,8,ch208data};
+
+/* char: 0xcf */
+
+static const GLubyte ch207data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
+};
+
+static const BitmapCharRec ch207 = {3,10,0,0,3,ch207data};
+
+/* char: 0xce */
+
+static const GLubyte ch206data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
+};
+
+static const BitmapCharRec ch206 = {3,11,0,0,3,ch206data};
+
+/* char: 0xcd */
+
+static const GLubyte ch205data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
+};
+
+static const BitmapCharRec ch205 = {2,11,-1,0,3,ch205data};
+
+/* char: 0xcc */
+
+static const GLubyte ch204data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
+};
+
+static const BitmapCharRec ch204 = {2,11,0,0,3,ch204data};
+
+/* char: 0xcb */
+
+static const GLubyte ch203data[] = {
+0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x50,
+};
+
+static const BitmapCharRec ch203 = {5,10,-1,0,7,ch203data};
+
+/* char: 0xca */
+
+static const GLubyte ch202data[] = {
+0xf8,0x80,0x80,0xf8,0x80,0x80,0x80,0xf8,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch202 = {5,11,-1,0,7,ch202data};
+
+/* char: 0xc9 */
+
+static const GLubyte ch201data[] = {
+0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch201 = {5,11,-1,0,7,ch201data};
+
+/* char: 0xc8 */
+
+static const GLubyte ch200data[] = {
+0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch200 = {5,11,-1,0,7,ch200data};
+
+/* char: 0xc7 */
+
+static const GLubyte ch199data[] = {
+0x30,0x10,0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78,
+};
+
+static const BitmapCharRec ch199 = {6,10,-1,2,8,ch199data};
+
+/* char: 0xc6 */
+
+static const GLubyte ch198data[] = {
+0x8f,0x80,0x88,0x0,0x78,0x0,0x48,0x0,0x2f,0x80,0x28,0x0,0x18,0x0,0x1f,0x80,
+};
+
+static const BitmapCharRec ch198 = {9,8,0,0,10,ch198data};
+
+/* char: 0xc5 */
+
+static const GLubyte ch197data[] = {
+0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x10,0x28,0x10,
+};
+
+static const BitmapCharRec ch197 = {7,11,0,0,7,ch197data};
+
+/* char: 0xc4 */
+
+static const GLubyte ch196data[] = {
+0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,
+};
+
+static const BitmapCharRec ch196 = {7,10,0,0,7,ch196data};
+
+/* char: 0xc3 */
+
+static const GLubyte ch195data[] = {
+0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x14,
+};
+
+static const BitmapCharRec ch195 = {7,11,0,0,7,ch195data};
+
+/* char: 0xc2 */
+
+static const GLubyte ch194data[] = {
+0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x10,
+};
+
+static const BitmapCharRec ch194 = {7,11,0,0,7,ch194data};
+
+/* char: 0xc1 */
+
+static const GLubyte ch193data[] = {
+0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch193 = {7,11,0,0,7,ch193data};
+
+/* char: 0xc0 */
+
+static const GLubyte ch192data[] = {
+0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch192 = {7,11,0,0,7,ch192data};
+
+/* char: 0xbf */
+
+static const GLubyte ch191data[] = {
+0x60,0x90,0x80,0x40,0x20,0x20,0x0,0x20,
+};
+
+static const BitmapCharRec ch191 = {4,8,-1,2,6,ch191data};
+
+/* char: 0xbe */
+
+static const GLubyte ch190data[] = {
+0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0xc8,0x0,0x24,0x0,0x44,0x0,0xe2,0x0,
+};
+
+static const BitmapCharRec ch190 = {9,8,0,0,9,ch190data};
+
+/* char: 0xbd */
+
+static const GLubyte ch189data[] = {
+0x27,0x12,0x15,0xb,0x48,0x44,0xc4,0x42,
+};
+
+static const BitmapCharRec ch189 = {8,8,0,0,9,ch189data};
+
+/* char: 0xbc */
+
+static const GLubyte ch188data[] = {
+0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0x48,0x0,0x44,0x0,0xc4,0x0,0x42,0x0,
+};
+
+static const BitmapCharRec ch188 = {9,8,0,0,9,ch188data};
+
+/* char: 0xbb */
+
+static const GLubyte ch187data[] = {
+0xa0,0x50,0x28,0x50,0xa0,
+};
+
+static const BitmapCharRec ch187 = {5,5,0,0,6,ch187data};
+
+/* char: 0xba */
+
+static const GLubyte ch186data[] = {
+0xe0,0x0,0xe0,0xa0,0xe0,
+};
+
+static const BitmapCharRec ch186 = {3,5,0,-3,4,ch186data};
+
+/* char: 0xb9 */
+
+static const GLubyte ch185data[] = {
+0x40,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch185 = {2,4,0,-3,3,ch185data};
+
+/* char: 0xb8 */
+
+static const GLubyte ch184data[] = {
+0xc0,0x40,
+};
+
+static const BitmapCharRec ch184 = {2,2,0,2,3,ch184data};
+
+/* char: 0xb7 */
+
+static const GLubyte ch183data[] = {
+0xc0,
+};
+
+static const BitmapCharRec ch183 = {2,1,0,-3,3,ch183data};
+
+/* char: 0xb6 */
+
+static const GLubyte ch182data[] = {
+0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
+};
+
+static const BitmapCharRec ch182 = {6,10,0,2,6,ch182data};
+
+/* char: 0xb5 */
+
+static const GLubyte ch181data[] = {
+0x80,0x80,0xf0,0x90,0x90,0x90,0x90,0x90,
+};
+
+static const BitmapCharRec ch181 = {4,8,0,2,5,ch181data};
+
+/* char: 0xb4 */
+
+static const GLubyte ch180data[] = {
+0x80,0x40,
+};
+
+static const BitmapCharRec ch180 = {2,2,0,-6,3,ch180data};
+
+/* char: 0xb3 */
+
+static const GLubyte ch179data[] = {
+0xc0,0x20,0x40,0xe0,
+};
+
+static const BitmapCharRec ch179 = {3,4,0,-3,3,ch179data};
+
+/* char: 0xb2 */
+
+static const GLubyte ch178data[] = {
+0xe0,0x40,0xa0,0x60,
+};
+
+static const BitmapCharRec ch178 = {3,4,0,-3,3,ch178data};
+
+/* char: 0xb1 */
+
+static const GLubyte ch177data[] = {
+0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
+};
+
+static const BitmapCharRec ch177 = {5,7,0,0,6,ch177data};
+
+/* char: 0xb0 */
+
+static const GLubyte ch176data[] = {
+0x60,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch176 = {4,4,0,-3,4,ch176data};
+
+/* char: 0xaf */
+
+static const GLubyte ch175data[] = {
+0xe0,
+};
+
+static const BitmapCharRec ch175 = {3,1,0,-7,3,ch175data};
+
+/* char: 0xae */
+
+static const GLubyte ch174data[] = {
+0x38,0x44,0xaa,0xb2,0xba,0x44,0x38,
+};
+
+static const BitmapCharRec ch174 = {7,7,-1,0,9,ch174data};
+
+/* char: 0xad */
+
+static const GLubyte ch173data[] = {
+0xe0,
+};
+
+static const BitmapCharRec ch173 = {3,1,0,-3,4,ch173data};
+
+/* char: 0xac */
+
+static const GLubyte ch172data[] = {
+0x8,0x8,0xf8,
+};
+
+static const BitmapCharRec ch172 = {5,3,-1,-2,7,ch172data};
+
+/* char: 0xab */
+
+static const GLubyte ch171data[] = {
+0x28,0x50,0xa0,0x50,0x28,
+};
+
+static const BitmapCharRec ch171 = {5,5,0,0,6,ch171data};
+
+/* char: 0xaa */
+
+static const GLubyte ch170data[] = {
+0xe0,0x0,0xa0,0x20,0xe0,
+};
+
+static const BitmapCharRec ch170 = {3,5,0,-3,4,ch170data};
+
+/* char: 0xa9 */
+
+static const GLubyte ch169data[] = {
+0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38,
+};
+
+static const BitmapCharRec ch169 = {7,7,-1,0,9,ch169data};
+
+/* char: 0xa8 */
+
+static const GLubyte ch168data[] = {
+0xa0,
+};
+
+static const BitmapCharRec ch168 = {3,1,0,-7,3,ch168data};
+
+/* char: 0xa7 */
+
+static const GLubyte ch167data[] = {
+0x70,0x88,0x18,0x70,0xc8,0x98,0x70,0xc0,0x88,0x70,
+};
+
+static const BitmapCharRec ch167 = {5,10,0,2,6,ch167data};
+
+/* char: 0xa6 */
+
+static const GLubyte ch166data[] = {
+0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch166 = {1,10,-1,2,3,ch166data};
+
+/* char: 0xa5 */
+
+static const GLubyte ch165data[] = {
+0x20,0xf8,0x20,0xf8,0x50,0x50,0x88,0x88,
+};
+
+static const BitmapCharRec ch165 = {5,8,0,0,6,ch165data};
+
+/* char: 0xa4 */
+
+static const GLubyte ch164data[] = {
+0x90,0x60,0x90,0x90,0x60,0x90,
+};
+
+static const BitmapCharRec ch164 = {4,6,0,-1,5,ch164data};
+
+/* char: 0xa3 */
+
+static const GLubyte ch163data[] = {
+0xb0,0x48,0x40,0x40,0xe0,0x40,0x48,0x30,
+};
+
+static const BitmapCharRec ch163 = {5,8,0,0,6,ch163data};
+
+/* char: 0xa2 */
+
+static const GLubyte ch162data[] = {
+0x40,0x70,0xa8,0xa0,0xa0,0xa8,0x70,0x10,
+};
+
+static const BitmapCharRec ch162 = {5,8,0,1,6,ch162data};
+
+/* char: 0xa1 */
+
+static const GLubyte ch161data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
+};
+
+static const BitmapCharRec ch161 = {1,8,-1,2,3,ch161data};
+
+/* char: 0xa0 */
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch160data[] = { 0x0 };
+static const BitmapCharRec ch160 = {1,1,0,0,3,ch160data};
+#else
+static const BitmapCharRec ch160 = {0,0,0,0,3,0};
+#endif
+
+/* char: 0x7e '~' */
+
+static const GLubyte ch126data[] = {
+0x98,0x64,
+};
+
+static const BitmapCharRec ch126 = {6,2,0,-3,7,ch126data};
+
+/* char: 0x7d '}' */
+
+static const GLubyte ch125data[] = {
+0x80,0x40,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80,
+};
+
+static const BitmapCharRec ch125 = {3,10,0,2,3,ch125data};
+
+/* char: 0x7c '|' */
+
+static const GLubyte ch124data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch124 = {1,10,-1,2,3,ch124data};
+
+/* char: 0x7b '{' */
+
+static const GLubyte ch123data[] = {
+0x20,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20,
+};
+
+static const BitmapCharRec ch123 = {3,10,0,2,3,ch123data};
+
+/* char: 0x7a 'z' */
+
+static const GLubyte ch122data[] = {
+0xf0,0x80,0x40,0x20,0x10,0xf0,
+};
+
+static const BitmapCharRec ch122 = {4,6,0,0,5,ch122data};
+
+/* char: 0x79 'y' */
+
+static const GLubyte ch121data[] = {
+0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,
+};
+
+static const BitmapCharRec ch121 = {4,8,0,2,5,ch121data};
+
+/* char: 0x78 'x' */
+
+static const GLubyte ch120data[] = {
+0x88,0x88,0x50,0x20,0x50,0x88,
+};
+
+static const BitmapCharRec ch120 = {5,6,0,0,6,ch120data};
+
+/* char: 0x77 'w' */
+
+static const GLubyte ch119data[] = {
+0x28,0x28,0x54,0x54,0x92,0x92,
+};
+
+static const BitmapCharRec ch119 = {7,6,0,0,8,ch119data};
+
+/* char: 0x76 'v' */
+
+static const GLubyte ch118data[] = {
+0x20,0x20,0x50,0x50,0x88,0x88,
+};
+
+static const BitmapCharRec ch118 = {5,6,0,0,6,ch118data};
+
+/* char: 0x75 'u' */
+
+static const GLubyte ch117data[] = {
+0x70,0x90,0x90,0x90,0x90,0x90,
+};
+
+static const BitmapCharRec ch117 = {4,6,0,0,5,ch117data};
+
+/* char: 0x74 't' */
+
+static const GLubyte ch116data[] = {
+0x60,0x40,0x40,0x40,0x40,0xe0,0x40,0x40,
+};
+
+static const BitmapCharRec ch116 = {3,8,0,0,4,ch116data};
+
+/* char: 0x73 's' */
+
+static const GLubyte ch115data[] = {
+0x60,0x90,0x10,0x60,0x90,0x60,
+};
+
+static const BitmapCharRec ch115 = {4,6,0,0,5,ch115data};
+
+/* char: 0x72 'r' */
+
+static const GLubyte ch114data[] = {
+0x80,0x80,0x80,0x80,0xc0,0xa0,
+};
+
+static const BitmapCharRec ch114 = {3,6,0,0,4,ch114data};
+
+/* char: 0x71 'q' */
+
+static const GLubyte ch113data[] = {
+0x8,0x8,0x68,0x98,0x88,0x88,0x98,0x68,
+};
+
+static const BitmapCharRec ch113 = {5,8,0,2,6,ch113data};
+
+/* char: 0x70 'p' */
+
+static const GLubyte ch112data[] = {
+0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,
+};
+
+static const BitmapCharRec ch112 = {5,8,0,2,6,ch112data};
+
+/* char: 0x6f 'o' */
+
+static const GLubyte ch111data[] = {
+0x70,0x88,0x88,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch111 = {5,6,0,0,6,ch111data};
+
+/* char: 0x6e 'n' */
+
+static const GLubyte ch110data[] = {
+0x88,0x88,0x88,0x88,0xc8,0xb0,
+};
+
+static const BitmapCharRec ch110 = {5,6,0,0,6,ch110data};
+
+/* char: 0x6d 'm' */
+
+static const GLubyte ch109data[] = {
+0x92,0x92,0x92,0x92,0x92,0xec,
+};
+
+static const BitmapCharRec ch109 = {7,6,0,0,8,ch109data};
+
+/* char: 0x6c 'l' */
+
+static const GLubyte ch108data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch108 = {1,8,0,0,2,ch108data};
+
+/* char: 0x6b 'k' */
+
+static const GLubyte ch107data[] = {
+0x90,0x90,0xa0,0xc0,0xa0,0x90,0x80,0x80,
+};
+
+static const BitmapCharRec ch107 = {4,8,0,0,5,ch107data};
+
+/* char: 0x6a 'j' */
+
+static const GLubyte ch106data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
+};
+
+static const BitmapCharRec ch106 = {1,9,0,1,2,ch106data};
+
+/* char: 0x69 'i' */
+
+static const GLubyte ch105data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
+};
+
+static const BitmapCharRec ch105 = {1,8,0,0,2,ch105data};
+
+/* char: 0x68 'h' */
+
+static const GLubyte ch104data[] = {
+0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
+};
+
+static const BitmapCharRec ch104 = {5,8,0,0,6,ch104data};
+
+/* char: 0x67 'g' */
+
+static const GLubyte ch103data[] = {
+0x70,0x8,0x68,0x98,0x88,0x88,0x98,0x68,
+};
+
+static const BitmapCharRec ch103 = {5,8,0,2,6,ch103data};
+
+/* char: 0x66 'f' */
+
+static const GLubyte ch102data[] = {
+0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30,
+};
+
+static const BitmapCharRec ch102 = {4,8,0,0,4,ch102data};
+
+/* char: 0x65 'e' */
+
+static const GLubyte ch101data[] = {
+0x60,0x90,0x80,0xf0,0x90,0x60,
+};
+
+static const BitmapCharRec ch101 = {4,6,0,0,5,ch101data};
+
+/* char: 0x64 'd' */
+
+static const GLubyte ch100data[] = {
+0x68,0x98,0x88,0x88,0x98,0x68,0x8,0x8,
+};
+
+static const BitmapCharRec ch100 = {5,8,0,0,6,ch100data};
+
+/* char: 0x63 'c' */
+
+static const GLubyte ch99data[] = {
+0x60,0x90,0x80,0x80,0x90,0x60,
+};
+
+static const BitmapCharRec ch99 = {4,6,0,0,5,ch99data};
+
+/* char: 0x62 'b' */
+
+static const GLubyte ch98data[] = {
+0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80,
+};
+
+static const BitmapCharRec ch98 = {5,8,0,0,6,ch98data};
+
+/* char: 0x61 'a' */
+
+static const GLubyte ch97data[] = {
+0x68,0x90,0x90,0x70,0x10,0xe0,
+};
+
+static const BitmapCharRec ch97 = {5,6,0,0,5,ch97data};
+
+/* char: 0x60 '`' */
+
+static const GLubyte ch96data[] = {
+0x80,0x80,0x40,
+};
+
+static const BitmapCharRec ch96 = {2,3,0,-5,3,ch96data};
+
+/* char: 0x5f '_' */
+
+static const GLubyte ch95data[] = {
+0xfc,
+};
+
+static const BitmapCharRec ch95 = {6,1,0,2,6,ch95data};
+
+/* char: 0x5e '^' */
+
+static const GLubyte ch94data[] = {
+0x88,0x50,0x50,0x20,0x20,
+};
+
+static const BitmapCharRec ch94 = {5,5,0,-3,6,ch94data};
+
+/* char: 0x5d ']' */
+
+static const GLubyte ch93data[] = {
+0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
+};
+
+static const BitmapCharRec ch93 = {2,10,0,2,3,ch93data};
+
+/* char: 0x5c '\' */
+
+static const GLubyte ch92data[] = {
+0x20,0x20,0x40,0x40,0x40,0x40,0x80,0x80,
+};
+
+static const BitmapCharRec ch92 = {3,8,0,0,3,ch92data};
+
+/* char: 0x5b '[' */
+
+static const GLubyte ch91data[] = {
+0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
+};
+
+static const BitmapCharRec ch91 = {2,10,-1,2,3,ch91data};
+
+/* char: 0x5a 'Z' */
+
+static const GLubyte ch90data[] = {
+0xf8,0x80,0x40,0x20,0x20,0x10,0x8,0xf8,
+};
+
+static const BitmapCharRec ch90 = {5,8,-1,0,7,ch90data};
+
+/* char: 0x59 'Y' */
+
+static const GLubyte ch89data[] = {
+0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82,
+};
+
+static const BitmapCharRec ch89 = {7,8,0,0,7,ch89data};
+
+/* char: 0x58 'X' */
+
+static const GLubyte ch88data[] = {
+0x88,0x88,0x50,0x50,0x20,0x50,0x88,0x88,
+};
+
+static const BitmapCharRec ch88 = {5,8,-1,0,7,ch88data};
+
+/* char: 0x57 'W' */
+
+static const GLubyte ch87data[] = {
+0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
+};
+
+static const BitmapCharRec ch87 = {9,8,0,0,9,ch87data};
+
+/* char: 0x56 'V' */
+
+static const GLubyte ch86data[] = {
+0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch86 = {7,8,0,0,7,ch86data};
+
+/* char: 0x55 'U' */
+
+static const GLubyte ch85data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+};
+
+static const BitmapCharRec ch85 = {6,8,-1,0,8,ch85data};
+
+/* char: 0x54 'T' */
+
+static const GLubyte ch84data[] = {
+0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8,
+};
+
+static const BitmapCharRec ch84 = {5,8,0,0,5,ch84data};
+
+/* char: 0x53 'S' */
+
+static const GLubyte ch83data[] = {
+0x70,0x88,0x88,0x8,0x70,0x80,0x88,0x70,
+};
+
+static const BitmapCharRec ch83 = {5,8,-1,0,7,ch83data};
+
+/* char: 0x52 'R' */
+
+static const GLubyte ch82data[] = {
+0x88,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0,
+};
+
+static const BitmapCharRec ch82 = {5,8,-1,0,7,ch82data};
+
+/* char: 0x51 'Q' */
+
+static const GLubyte ch81data[] = {
+0x2,0x7c,0x8c,0x94,0x84,0x84,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch81 = {7,9,-1,1,8,ch81data};
+
+/* char: 0x50 'P' */
+
+static const GLubyte ch80data[] = {
+0x80,0x80,0x80,0x80,0xf0,0x88,0x88,0xf0,
+};
+
+static const BitmapCharRec ch80 = {5,8,-1,0,7,ch80data};
+
+/* char: 0x4f 'O' */
+
+static const GLubyte ch79data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,
+};
+
+static const BitmapCharRec ch79 = {6,8,-1,0,8,ch79data};
+
+/* char: 0x4e 'N' */
+
+static const GLubyte ch78data[] = {
+0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4,
+};
+
+static const BitmapCharRec ch78 = {6,8,-1,0,8,ch78data};
+
+/* char: 0x4d 'M' */
+
+static const GLubyte ch77data[] = {
+0x92,0x92,0x92,0xaa,0xaa,0xc6,0xc6,0x82,
+};
+
+static const BitmapCharRec ch77 = {7,8,-1,0,9,ch77data};
+
+/* char: 0x4c 'L' */
+
+static const GLubyte ch76data[] = {
+0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch76 = {4,8,-1,0,6,ch76data};
+
+/* char: 0x4b 'K' */
+
+static const GLubyte ch75data[] = {
+0x88,0x88,0x90,0x90,0xe0,0xa0,0x90,0x88,
+};
+
+static const BitmapCharRec ch75 = {5,8,-1,0,7,ch75data};
+
+/* char: 0x4a 'J' */
+
+static const GLubyte ch74data[] = {
+0x60,0x90,0x10,0x10,0x10,0x10,0x10,0x10,
+};
+
+static const BitmapCharRec ch74 = {4,8,0,0,5,ch74data};
+
+/* char: 0x49 'I' */
+
+static const GLubyte ch73data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch73 = {1,8,-1,0,3,ch73data};
+
+/* char: 0x48 'H' */
+
+static const GLubyte ch72data[] = {
+0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,
+};
+
+static const BitmapCharRec ch72 = {6,8,-1,0,8,ch72data};
+
+/* char: 0x47 'G' */
+
+static const GLubyte ch71data[] = {
+0x74,0x8c,0x84,0x8c,0x80,0x80,0x84,0x78,
+};
+
+static const BitmapCharRec ch71 = {6,8,-1,0,8,ch71data};
+
+/* char: 0x46 'F' */
+
+static const GLubyte ch70data[] = {
+0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0xf8,
+};
+
+static const BitmapCharRec ch70 = {5,8,-1,0,6,ch70data};
+
+/* char: 0x45 'E' */
+
+static const GLubyte ch69data[] = {
+0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,
+};
+
+static const BitmapCharRec ch69 = {5,8,-1,0,7,ch69data};
+
+/* char: 0x44 'D' */
+
+static const GLubyte ch68data[] = {
+0xf0,0x88,0x84,0x84,0x84,0x84,0x88,0xf0,
+};
+
+static const BitmapCharRec ch68 = {6,8,-1,0,8,ch68data};
+
+/* char: 0x43 'C' */
+
+static const GLubyte ch67data[] = {
+0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78,
+};
+
+static const BitmapCharRec ch67 = {6,8,-1,0,8,ch67data};
+
+/* char: 0x42 'B' */
+
+static const GLubyte ch66data[] = {
+0xf0,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0,
+};
+
+static const BitmapCharRec ch66 = {5,8,-1,0,7,ch66data};
+
+/* char: 0x41 'A' */
+
+static const GLubyte ch65data[] = {
+0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,
+};
+
+static const BitmapCharRec ch65 = {7,8,0,0,7,ch65data};
+
+/* char: 0x40 '@' */
+
+static const GLubyte ch64data[] = {
+0x3e,0x0,0x40,0x0,0x9b,0x0,0xa4,0x80,0xa4,0x80,0xa2,0x40,0x92,0x40,0x4d,0x40,
+0x20,0x80,0x1f,0x0,
+};
+
+static const BitmapCharRec ch64 = {10,10,0,2,11,ch64data};
+
+/* char: 0x3f '?' */
+
+static const GLubyte ch63data[] = {
+0x40,0x0,0x40,0x40,0x20,0x10,0x90,0x60,
+};
+
+static const BitmapCharRec ch63 = {4,8,-1,0,6,ch63data};
+
+/* char: 0x3e '>' */
+
+static const GLubyte ch62data[] = {
+0x80,0x40,0x20,0x40,0x80,
+};
+
+static const BitmapCharRec ch62 = {3,5,-1,-1,6,ch62data};
+
+/* char: 0x3d '=' */
+
+static const GLubyte ch61data[] = {
+0xf0,0x0,0xf0,
+};
+
+static const BitmapCharRec ch61 = {4,3,0,-2,5,ch61data};
+
+/* char: 0x3c '<' */
+
+static const GLubyte ch60data[] = {
+0x20,0x40,0x80,0x40,0x20,
+};
+
+static const BitmapCharRec ch60 = {3,5,-1,-1,6,ch60data};
+
+/* char: 0x3b ';' */
+
+static const GLubyte ch59data[] = {
+0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40,
+};
+
+static const BitmapCharRec ch59 = {2,8,0,2,3,ch59data};
+
+/* char: 0x3a ':' */
+
+static const GLubyte ch58data[] = {
+0x80,0x0,0x0,0x0,0x0,0x80,
+};
+
+static const BitmapCharRec ch58 = {1,6,-1,0,3,ch58data};
+
+/* char: 0x39 '9' */
+
+static const GLubyte ch57data[] = {
+0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch57 = {5,8,0,0,6,ch57data};
+
+/* char: 0x38 '8' */
+
+static const GLubyte ch56data[] = {
+0x70,0x88,0x88,0x88,0x70,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch56 = {5,8,0,0,6,ch56data};
+
+/* char: 0x37 '7' */
+
+static const GLubyte ch55data[] = {
+0x40,0x40,0x20,0x20,0x10,0x10,0x8,0xf8,
+};
+
+static const BitmapCharRec ch55 = {5,8,0,0,6,ch55data};
+
+/* char: 0x36 '6' */
+
+static const GLubyte ch54data[] = {
+0x70,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70,
+};
+
+static const BitmapCharRec ch54 = {5,8,0,0,6,ch54data};
+
+/* char: 0x35 '5' */
+
+static const GLubyte ch53data[] = {
+0x70,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8,
+};
+
+static const BitmapCharRec ch53 = {5,8,0,0,6,ch53data};
+
+/* char: 0x34 '4' */
+
+static const GLubyte ch52data[] = {
+0x10,0x10,0xf8,0x90,0x50,0x50,0x30,0x10,
+};
+
+static const BitmapCharRec ch52 = {5,8,0,0,6,ch52data};
+
+/* char: 0x33 '3' */
+
+static const GLubyte ch51data[] = {
+0x70,0x88,0x8,0x8,0x30,0x8,0x88,0x70,
+};
+
+static const BitmapCharRec ch51 = {5,8,0,0,6,ch51data};
+
+/* char: 0x32 '2' */
+
+static const GLubyte ch50data[] = {
+0xf8,0x80,0x40,0x30,0x8,0x8,0x88,0x70,
+};
+
+static const BitmapCharRec ch50 = {5,8,0,0,6,ch50data};
+
+/* char: 0x31 '1' */
+
+static const GLubyte ch49data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch49 = {2,8,-1,0,6,ch49data};
+
+/* char: 0x30 '0' */
+
+static const GLubyte ch48data[] = {
+0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch48 = {5,8,0,0,6,ch48data};
+
+/* char: 0x2f '/' */
+
+static const GLubyte ch47data[] = {
+0x80,0x80,0x40,0x40,0x40,0x40,0x20,0x20,
+};
+
+static const BitmapCharRec ch47 = {3,8,0,0,3,ch47data};
+
+/* char: 0x2e '.' */
+
+static const GLubyte ch46data[] = {
+0x80,
+};
+
+static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
+
+/* char: 0x2d '-' */
+
+static const GLubyte ch45data[] = {
+0xf8,
+};
+
+static const BitmapCharRec ch45 = {5,1,-1,-3,7,ch45data};
+
+/* char: 0x2c ',' */
+
+static const GLubyte ch44data[] = {
+0x80,0x40,0x40,
+};
+
+static const BitmapCharRec ch44 = {2,3,0,2,3,ch44data};
+
+/* char: 0x2b '+' */
+
+static const GLubyte ch43data[] = {
+0x20,0x20,0xf8,0x20,0x20,
+};
+
+static const BitmapCharRec ch43 = {5,5,0,-1,6,ch43data};
+
+/* char: 0x2a '*' */
+
+static const GLubyte ch42data[] = {
+0xa0,0x40,0xa0,
+};
+
+static const BitmapCharRec ch42 = {3,3,0,-5,4,ch42data};
+
+/* char: 0x29 ')' */
+
+static const GLubyte ch41data[] = {
+0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
+};
+
+static const BitmapCharRec ch41 = {3,10,-1,2,4,ch41data};
+
+/* char: 0x28 '(' */
+
+static const GLubyte ch40data[] = {
+0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
+};
+
+static const BitmapCharRec ch40 = {3,10,0,2,4,ch40data};
+
+/* char: 0x27 ''' */
+
+static const GLubyte ch39data[] = {
+0x80,0x40,0x40,
+};
+
+static const BitmapCharRec ch39 = {2,3,-1,-5,3,ch39data};
+
+/* char: 0x26 '&' */
+
+static const GLubyte ch38data[] = {
+0x64,0x98,0x98,0xa4,0x60,0x50,0x50,0x20,
+};
+
+static const BitmapCharRec ch38 = {6,8,-1,0,8,ch38data};
+
+/* char: 0x25 '%' */
+
+static const GLubyte ch37data[] = {
+0x26,0x29,0x16,0x10,0x8,0x68,0x94,0x64,
+};
+
+static const BitmapCharRec ch37 = {8,8,0,0,9,ch37data};
+
+/* char: 0x24 '$' */
+
+static const GLubyte ch36data[] = {
+0x20,0x70,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20,
+};
+
+static const BitmapCharRec ch36 = {5,9,0,1,6,ch36data};
+
+/* char: 0x23 '#' */
+
+static const GLubyte ch35data[] = {
+0x50,0x50,0xf8,0x28,0x7c,0x28,0x28,
+};
+
+static const BitmapCharRec ch35 = {6,7,0,0,6,ch35data};
+
+/* char: 0x22 '"' */
+
+static const GLubyte ch34data[] = {
+0xa0,0xa0,
+};
+
+static const BitmapCharRec ch34 = {3,2,-1,-6,4,ch34data};
+
+/* char: 0x21 '!' */
+
+static const GLubyte ch33data[] = {
+0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch33 = {1,8,-1,0,3,ch33data};
+
+/* char: 0x20 ' ' */
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch32data[] = { 0x0 };
+static const BitmapCharRec ch32 = {0,0,0,0,3,ch32data};
+#else
+static const BitmapCharRec ch32 = {0,0,0,0,3,0};
+#endif
+
+static const BitmapCharRec * const chars[] = {
+&ch32,
+&ch33,
+&ch34,
+&ch35,
+&ch36,
+&ch37,
+&ch38,
+&ch39,
+&ch40,
+&ch41,
+&ch42,
+&ch43,
+&ch44,
+&ch45,
+&ch46,
+&ch47,
+&ch48,
+&ch49,
+&ch50,
+&ch51,
+&ch52,
+&ch53,
+&ch54,
+&ch55,
+&ch56,
+&ch57,
+&ch58,
+&ch59,
+&ch60,
+&ch61,
+&ch62,
+&ch63,
+&ch64,
+&ch65,
+&ch66,
+&ch67,
+&ch68,
+&ch69,
+&ch70,
+&ch71,
+&ch72,
+&ch73,
+&ch74,
+&ch75,
+&ch76,
+&ch77,
+&ch78,
+&ch79,
+&ch80,
+&ch81,
+&ch82,
+&ch83,
+&ch84,
+&ch85,
+&ch86,
+&ch87,
+&ch88,
+&ch89,
+&ch90,
+&ch91,
+&ch92,
+&ch93,
+&ch94,
+&ch95,
+&ch96,
+&ch97,
+&ch98,
+&ch99,
+&ch100,
+&ch101,
+&ch102,
+&ch103,
+&ch104,
+&ch105,
+&ch106,
+&ch107,
+&ch108,
+&ch109,
+&ch110,
+&ch111,
+&ch112,
+&ch113,
+&ch114,
+&ch115,
+&ch116,
+&ch117,
+&ch118,
+&ch119,
+&ch120,
+&ch121,
+&ch122,
+&ch123,
+&ch124,
+&ch125,
+&ch126,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+&ch160,
+&ch161,
+&ch162,
+&ch163,
+&ch164,
+&ch165,
+&ch166,
+&ch167,
+&ch168,
+&ch169,
+&ch170,
+&ch171,
+&ch172,
+&ch173,
+&ch174,
+&ch175,
+&ch176,
+&ch177,
+&ch178,
+&ch179,
+&ch180,
+&ch181,
+&ch182,
+&ch183,
+&ch184,
+&ch185,
+&ch186,
+&ch187,
+&ch188,
+&ch189,
+&ch190,
+&ch191,
+&ch192,
+&ch193,
+&ch194,
+&ch195,
+&ch196,
+&ch197,
+&ch198,
+&ch199,
+&ch200,
+&ch201,
+&ch202,
+&ch203,
+&ch204,
+&ch205,
+&ch206,
+&ch207,
+&ch208,
+&ch209,
+&ch210,
+&ch211,
+&ch212,
+&ch213,
+&ch214,
+&ch215,
+&ch216,
+&ch217,
+&ch218,
+&ch219,
+&ch220,
+&ch221,
+&ch222,
+&ch223,
+&ch224,
+&ch225,
+&ch226,
+&ch227,
+&ch228,
+&ch229,
+&ch230,
+&ch231,
+&ch232,
+&ch233,
+&ch234,
+&ch235,
+&ch236,
+&ch237,
+&ch238,
+&ch239,
+&ch240,
+&ch241,
+&ch242,
+&ch243,
+&ch244,
+&ch245,
+&ch246,
+&ch247,
+&ch248,
+&ch249,
+&ch250,
+&ch251,
+&ch252,
+&ch253,
+&ch254,
+&ch255,
+};
+
+// jeh: removed const so mwld can export structure to shared lib
+BitmapFontRec glutBitmapHelvetica10 = {
+"-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1",
+224,
+32,
+chars
+};
+
diff --git a/src/glut/beos/glut_hel12.cpp b/src/glut/beos/glut_hel12.cpp
new file mode 100644 (file)
index 0000000..3866503
--- /dev/null
@@ -0,0 +1,1787 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "glutbitmap.h"
+
+/* char: 0xff */
+
+static const GLubyte ch255data[] = {
+0xc0,0x20,0x20,0x20,0x30,0x50,0x50,0x48,0x88,0x88,0x0,0x50,
+};
+
+static const BitmapCharRec ch255 = {5,12,-1,3,7,ch255data};
+
+/* char: 0xfe */
+
+static const GLubyte ch254data[] = {
+0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
+};
+
+static const BitmapCharRec ch254 = {5,12,-1,3,7,ch254data};
+
+/* char: 0xfd */
+
+static const GLubyte ch253data[] = {
+0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch253 = {5,13,-1,3,7,ch253data};
+
+/* char: 0xfc */
+
+static const GLubyte ch252data[] = {
+0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50,
+};
+
+static const BitmapCharRec ch252 = {5,9,-1,0,7,ch252data};
+
+/* char: 0xfb */
+
+static const GLubyte ch251data[] = {
+0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch251 = {5,10,-1,0,7,ch251data};
+
+/* char: 0xfa */
+
+static const GLubyte ch250data[] = {
+0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch250 = {5,10,-1,0,7,ch250data};
+
+/* char: 0xf9 */
+
+static const GLubyte ch249data[] = {
+0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch249 = {5,10,-1,0,7,ch249data};
+
+/* char: 0xf8 */
+
+static const GLubyte ch248data[] = {
+0xb8,0x44,0x64,0x54,0x4c,0x44,0x3a,
+};
+
+static const BitmapCharRec ch248 = {7,7,0,0,7,ch248data};
+
+/* char: 0xf7 */
+
+static const GLubyte ch247data[] = {
+0x20,0x0,0xf8,0x0,0x20,
+};
+
+static const BitmapCharRec ch247 = {5,5,-1,-1,7,ch247data};
+
+/* char: 0xf6 */
+
+static const GLubyte ch246data[] = {
+0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,
+};
+
+static const BitmapCharRec ch246 = {5,9,-1,0,7,ch246data};
+
+/* char: 0xf5 */
+
+static const GLubyte ch245data[] = {
+0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch245 = {5,10,-1,0,7,ch245data};
+
+/* char: 0xf4 */
+
+static const GLubyte ch244data[] = {
+0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch244 = {5,10,-1,0,7,ch244data};
+
+/* char: 0xf3 */
+
+static const GLubyte ch243data[] = {
+0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch243 = {5,10,-1,0,7,ch243data};
+
+/* char: 0xf2 */
+
+static const GLubyte ch242data[] = {
+0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch242 = {5,10,-1,0,7,ch242data};
+
+/* char: 0xf1 */
+
+static const GLubyte ch241data[] = {
+0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch241 = {5,10,-1,0,7,ch241data};
+
+/* char: 0xf0 */
+
+static const GLubyte ch240data[] = {
+0x70,0x88,0x88,0x88,0x88,0x78,0x8,0x50,0x30,0x68,
+};
+
+static const BitmapCharRec ch240 = {5,10,-1,0,7,ch240data};
+
+/* char: 0xef */
+
+static const GLubyte ch239data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
+};
+
+static const BitmapCharRec ch239 = {3,9,0,0,3,ch239data};
+
+/* char: 0xee */
+
+static const GLubyte ch238data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
+};
+
+static const BitmapCharRec ch238 = {3,10,0,0,3,ch238data};
+
+/* char: 0xed */
+
+static const GLubyte ch237data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
+};
+
+static const BitmapCharRec ch237 = {2,10,-1,0,3,ch237data};
+
+/* char: 0xec */
+
+static const GLubyte ch236data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
+};
+
+static const BitmapCharRec ch236 = {2,10,0,0,3,ch236data};
+
+/* char: 0xeb */
+
+static const GLubyte ch235data[] = {
+0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50,
+};
+
+static const BitmapCharRec ch235 = {5,9,-1,0,7,ch235data};
+
+/* char: 0xea */
+
+static const GLubyte ch234data[] = {
+0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch234 = {5,10,-1,0,7,ch234data};
+
+/* char: 0xe9 */
+
+static const GLubyte ch233data[] = {
+0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch233 = {5,10,-1,0,7,ch233data};
+
+/* char: 0xe8 */
+
+static const GLubyte ch232data[] = {
+0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch232 = {5,10,-1,0,7,ch232data};
+
+/* char: 0xe7 */
+
+static const GLubyte ch231data[] = {
+0x60,0x10,0x20,0x70,0x88,0x80,0x80,0x80,0x88,0x70,
+};
+
+static const BitmapCharRec ch231 = {5,10,-1,3,7,ch231data};
+
+/* char: 0xe6 */
+
+static const GLubyte ch230data[] = {
+0x77,0x0,0x88,0x80,0x88,0x0,0x7f,0x80,0x8,0x80,0x88,0x80,0x77,0x0,
+};
+
+static const BitmapCharRec ch230 = {9,7,-1,0,11,ch230data};
+
+/* char: 0xe5 */
+
+static const GLubyte ch229data[] = {
+0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x30,0x48,0x30,
+};
+
+static const BitmapCharRec ch229 = {6,10,-1,0,7,ch229data};
+
+/* char: 0xe4 */
+
+static const GLubyte ch228data[] = {
+0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,
+};
+
+static const BitmapCharRec ch228 = {6,9,-1,0,7,ch228data};
+
+/* char: 0xe3 */
+
+static const GLubyte ch227data[] = {
+0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch227 = {6,10,-1,0,7,ch227data};
+
+/* char: 0xe2 */
+
+static const GLubyte ch226data[] = {
+0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch226 = {6,10,-1,0,7,ch226data};
+
+/* char: 0xe1 */
+
+static const GLubyte ch225data[] = {
+0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch225 = {6,10,-1,0,7,ch225data};
+
+/* char: 0xe0 */
+
+static const GLubyte ch224data[] = {
+0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch224 = {6,10,-1,0,7,ch224data};
+
+/* char: 0xdf */
+
+static const GLubyte ch223data[] = {
+0xb0,0x88,0x88,0x88,0xb0,0x88,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch223 = {5,9,-1,0,7,ch223data};
+
+/* char: 0xde */
+
+static const GLubyte ch222data[] = {
+0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,0x80,0x80,
+};
+
+static const BitmapCharRec ch222 = {6,9,-1,0,8,ch222data};
+
+/* char: 0xdd */
+
+static const GLubyte ch221data[] = {
+0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch221 = {7,12,-1,0,9,ch221data};
+
+/* char: 0xdc */
+
+static const GLubyte ch220data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48,
+};
+
+static const BitmapCharRec ch220 = {6,11,-1,0,8,ch220data};
+
+/* char: 0xdb */
+
+static const GLubyte ch219data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10,
+};
+
+static const BitmapCharRec ch219 = {6,12,-1,0,8,ch219data};
+
+/* char: 0xda */
+
+static const GLubyte ch218data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch218 = {6,12,-1,0,8,ch218data};
+
+/* char: 0xd9 */
+
+static const GLubyte ch217data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch217 = {6,12,-1,0,8,ch217data};
+
+/* char: 0xd8 */
+
+static const GLubyte ch216data[] = {
+0x80,0x0,0x5e,0x0,0x21,0x0,0x50,0x80,0x48,0x80,0x44,0x80,0x44,0x80,0x42,0x80,
+0x21,0x0,0x1e,0x80,0x0,0x40,
+};
+
+static const BitmapCharRec ch216 = {10,11,0,1,10,ch216data};
+
+/* char: 0xd7 */
+
+static const GLubyte ch215data[] = {
+0x88,0x50,0x20,0x50,0x88,
+};
+
+static const BitmapCharRec ch215 = {5,5,-1,-1,7,ch215data};
+
+/* char: 0xd6 */
+
+static const GLubyte ch214data[] = {
+0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x24,
+};
+
+static const BitmapCharRec ch214 = {8,11,-1,0,10,ch214data};
+
+/* char: 0xd5 */
+
+static const GLubyte ch213data[] = {
+0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x28,0x14,
+};
+
+static const BitmapCharRec ch213 = {8,12,-1,0,10,ch213data};
+
+/* char: 0xd4 */
+
+static const GLubyte ch212data[] = {
+0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x14,0x8,
+};
+
+static const BitmapCharRec ch212 = {8,12,-1,0,10,ch212data};
+
+/* char: 0xd3 */
+
+static const GLubyte ch211data[] = {
+0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x4,
+};
+
+static const BitmapCharRec ch211 = {8,12,-1,0,10,ch211data};
+
+/* char: 0xd2 */
+
+static const GLubyte ch210data[] = {
+0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x10,
+};
+
+static const BitmapCharRec ch210 = {8,12,-1,0,10,ch210data};
+
+/* char: 0xd1 */
+
+static const GLubyte ch209data[] = {
+0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,0x0,0x28,0x14,
+};
+
+static const BitmapCharRec ch209 = {7,12,-1,0,9,ch209data};
+
+/* char: 0xd0 */
+
+static const GLubyte ch208data[] = {
+0x7c,0x42,0x41,0x41,0xf1,0x41,0x41,0x42,0x7c,
+};
+
+static const BitmapCharRec ch208 = {8,9,0,0,9,ch208data};
+
+/* char: 0xcf */
+
+static const GLubyte ch207data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,
+};
+
+static const BitmapCharRec ch207 = {3,11,0,0,3,ch207data};
+
+/* char: 0xce */
+
+static const GLubyte ch206data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40,
+};
+
+static const BitmapCharRec ch206 = {3,12,0,0,3,ch206data};
+
+/* char: 0xcd */
+
+static const GLubyte ch205data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40,
+};
+
+static const BitmapCharRec ch205 = {2,12,-1,0,3,ch205data};
+
+/* char: 0xcc */
+
+static const GLubyte ch204data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80,
+};
+
+static const BitmapCharRec ch204 = {2,12,0,0,3,ch204data};
+
+/* char: 0xcb */
+
+static const GLubyte ch203data[] = {
+0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28,
+};
+
+static const BitmapCharRec ch203 = {6,11,-1,0,8,ch203data};
+
+/* char: 0xca */
+
+static const GLubyte ch202data[] = {
+0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28,0x10,
+};
+
+static const BitmapCharRec ch202 = {6,12,-1,0,8,ch202data};
+
+/* char: 0xc9 */
+
+static const GLubyte ch201data[] = {
+0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch201 = {6,12,-1,0,8,ch201data};
+
+/* char: 0xc8 */
+
+static const GLubyte ch200data[] = {
+0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch200 = {6,12,-1,0,8,ch200data};
+
+/* char: 0xc7 */
+
+static const GLubyte ch199data[] = {
+0x30,0x8,0x8,0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c,
+};
+
+static const BitmapCharRec ch199 = {7,12,-1,3,9,ch199data};
+
+/* char: 0xc6 */
+
+static const GLubyte ch198data[] = {
+0x8f,0x80,0x88,0x0,0x88,0x0,0x78,0x0,0x4f,0x80,0x48,0x0,0x28,0x0,0x28,0x0,
+0x1f,0x80,
+};
+
+static const BitmapCharRec ch198 = {9,9,-1,0,11,ch198data};
+
+/* char: 0xc5 */
+
+static const GLubyte ch197data[] = {
+0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x10,0x28,0x10,
+};
+
+static const BitmapCharRec ch197 = {7,12,-1,0,9,ch197data};
+
+/* char: 0xc4 */
+
+static const GLubyte ch196data[] = {
+0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,
+};
+
+static const BitmapCharRec ch196 = {7,11,-1,0,9,ch196data};
+
+/* char: 0xc3 */
+
+static const GLubyte ch195data[] = {
+0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x14,
+};
+
+static const BitmapCharRec ch195 = {7,12,-1,0,9,ch195data};
+
+/* char: 0xc2 */
+
+static const GLubyte ch194data[] = {
+0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x10,
+};
+
+static const BitmapCharRec ch194 = {7,12,-1,0,9,ch194data};
+
+/* char: 0xc1 */
+
+static const GLubyte ch193data[] = {
+0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch193 = {7,12,-1,0,9,ch193data};
+
+/* char: 0xc0 */
+
+static const GLubyte ch192data[] = {
+0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch192 = {7,12,-1,0,9,ch192data};
+
+/* char: 0xbf */
+
+static const GLubyte ch191data[] = {
+0x70,0x88,0x88,0x40,0x40,0x20,0x20,0x0,0x20,
+};
+
+static const BitmapCharRec ch191 = {5,9,-1,3,7,ch191data};
+
+/* char: 0xbe */
+
+static const GLubyte ch190data[] = {
+0x21,0x0,0x17,0x80,0x15,0x0,0xb,0x0,0xc9,0x0,0x24,0x0,0x44,0x0,0x22,0x0,
+0xe1,0x0,
+};
+
+static const BitmapCharRec ch190 = {9,9,0,0,10,ch190data};
+
+/* char: 0xbd */
+
+static const GLubyte ch189data[] = {
+0x47,0x80,0x22,0x0,0x11,0x0,0x14,0x80,0x4b,0x0,0x48,0x0,0x44,0x0,0xc2,0x0,
+0x41,0x0,
+};
+
+static const BitmapCharRec ch189 = {9,9,0,0,10,ch189data};
+
+/* char: 0xbc */
+
+static const GLubyte ch188data[] = {
+0x41,0x0,0x27,0x80,0x15,0x0,0x13,0x0,0x49,0x0,0x44,0x0,0x44,0x0,0xc2,0x0,
+0x41,0x0,
+};
+
+static const BitmapCharRec ch188 = {9,9,0,0,10,ch188data};
+
+/* char: 0xbb */
+
+static const GLubyte ch187data[] = {
+0xa0,0x50,0x28,0x50,0xa0,
+};
+
+static const BitmapCharRec ch187 = {5,5,-1,-1,7,ch187data};
+
+/* char: 0xba */
+
+static const GLubyte ch186data[] = {
+0xe0,0x0,0xe0,0xa0,0xe0,
+};
+
+static const BitmapCharRec ch186 = {3,5,-1,-4,5,ch186data};
+
+/* char: 0xb9 */
+
+static const GLubyte ch185data[] = {
+0x40,0x40,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch185 = {2,5,-1,-3,4,ch185data};
+
+/* char: 0xb8 */
+
+static const GLubyte ch184data[] = {
+0xc0,0x20,0x20,0x40,
+};
+
+static const BitmapCharRec ch184 = {3,4,0,3,3,ch184data};
+
+/* char: 0xb7 */
+
+static const GLubyte ch183data[] = {
+0x80,
+};
+
+static const BitmapCharRec ch183 = {1,1,-1,-3,3,ch183data};
+
+/* char: 0xb6 */
+
+static const GLubyte ch182data[] = {
+0x28,0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x68,0x3c,
+};
+
+static const BitmapCharRec ch182 = {6,12,0,3,7,ch182data};
+
+/* char: 0xb5 */
+
+static const GLubyte ch181data[] = {
+0x80,0x80,0x80,0xe8,0x98,0x88,0x88,0x88,0x88,0x88,
+};
+
+static const BitmapCharRec ch181 = {5,10,-1,3,7,ch181data};
+
+/* char: 0xb4 */
+
+static const GLubyte ch180data[] = {
+0x80,0x40,
+};
+
+static const BitmapCharRec ch180 = {2,2,0,-8,2,ch180data};
+
+/* char: 0xb3 */
+
+static const GLubyte ch179data[] = {
+0xc0,0x20,0x40,0x20,0xe0,
+};
+
+static const BitmapCharRec ch179 = {3,5,0,-3,4,ch179data};
+
+/* char: 0xb2 */
+
+static const GLubyte ch178data[] = {
+0xf0,0x40,0x20,0x90,0x60,
+};
+
+static const BitmapCharRec ch178 = {4,5,0,-3,4,ch178data};
+
+/* char: 0xb1 */
+
+static const GLubyte ch177data[] = {
+0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
+};
+
+static const BitmapCharRec ch177 = {5,7,-1,0,7,ch177data};
+
+/* char: 0xb0 */
+
+static const GLubyte ch176data[] = {
+0x60,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch176 = {4,4,0,-4,5,ch176data};
+
+/* char: 0xaf */
+
+static const GLubyte ch175data[] = {
+0xf0,
+};
+
+static const BitmapCharRec ch175 = {4,1,0,-8,4,ch175data};
+
+/* char: 0xae */
+
+static const GLubyte ch174data[] = {
+0x3e,0x0,0x41,0x0,0x94,0x80,0x94,0x80,0x98,0x80,0x94,0x80,0x9c,0x80,0x41,0x0,
+0x3e,0x0,
+};
+
+static const BitmapCharRec ch174 = {9,9,-1,0,11,ch174data};
+
+/* char: 0xad */
+
+static const GLubyte ch173data[] = {
+0xf0,
+};
+
+static const BitmapCharRec ch173 = {4,1,0,-3,5,ch173data};
+
+/* char: 0xac */
+
+static const GLubyte ch172data[] = {
+0x4,0x4,0x4,0xfc,
+};
+
+static const BitmapCharRec ch172 = {6,4,-1,-2,8,ch172data};
+
+/* char: 0xab */
+
+static const GLubyte ch171data[] = {
+0x28,0x50,0xa0,0x50,0x28,
+};
+
+static const BitmapCharRec ch171 = {5,5,-1,-1,7,ch171data};
+
+/* char: 0xaa */
+
+static const GLubyte ch170data[] = {
+0xe0,0x0,0xa0,0x20,0xe0,
+};
+
+static const BitmapCharRec ch170 = {3,5,-1,-4,5,ch170data};
+
+/* char: 0xa9 */
+
+static const GLubyte ch169data[] = {
+0x3e,0x0,0x41,0x0,0x9c,0x80,0xa2,0x80,0xa0,0x80,0xa2,0x80,0x9c,0x80,0x41,0x0,
+0x3e,0x0,
+};
+
+static const BitmapCharRec ch169 = {9,9,-1,0,11,ch169data};
+
+/* char: 0xa8 */
+
+static const GLubyte ch168data[] = {
+0xa0,
+};
+
+static const BitmapCharRec ch168 = {3,1,0,-8,3,ch168data};
+
+/* char: 0xa7 */
+
+static const GLubyte ch167data[] = {
+0x70,0x88,0x8,0x30,0x48,0x88,0x88,0x90,0x60,0x80,0x88,0x70,
+};
+
+static const BitmapCharRec ch167 = {5,12,0,3,6,ch167data};
+
+/* char: 0xa6 */
+
+static const GLubyte ch166data[] = {
+0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch166 = {1,11,-1,2,3,ch166data};
+
+/* char: 0xa5 */
+
+static const GLubyte ch165data[] = {
+0x20,0x20,0xf8,0x20,0xf8,0x20,0x50,0x88,0x88,
+};
+
+static const BitmapCharRec ch165 = {5,9,-1,0,7,ch165data};
+
+/* char: 0xa4 */
+
+static const GLubyte ch164data[] = {
+0x84,0x78,0x48,0x48,0x78,0x84,
+};
+
+static const BitmapCharRec ch164 = {6,6,0,-1,7,ch164data};
+
+/* char: 0xa3 */
+
+static const GLubyte ch163data[] = {
+0xb0,0x48,0x20,0x20,0xf0,0x40,0x40,0x48,0x30,
+};
+
+static const BitmapCharRec ch163 = {5,9,-1,0,7,ch163data};
+
+/* char: 0xa2 */
+
+static const GLubyte ch162data[] = {
+0x40,0x70,0xc8,0xa0,0xa0,0xa0,0xa8,0x70,0x10,
+};
+
+static const BitmapCharRec ch162 = {5,9,-1,1,7,ch162data};
+
+/* char: 0xa1 */
+
+static const GLubyte ch161data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
+};
+
+static const BitmapCharRec ch161 = {1,10,-1,3,3,ch161data};
+
+/* char: 0xa0 */
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch160data[] = { 0x0 };
+static const BitmapCharRec ch160 = {1,1,0,0,4,ch160data};
+#else
+static const BitmapCharRec ch160 = {0,0,0,0,4,0};
+#endif
+
+/* char: 0x7e '~' */
+
+static const GLubyte ch126data[] = {
+0x98,0x64,
+};
+
+static const BitmapCharRec ch126 = {6,2,0,-3,7,ch126data};
+
+/* char: 0x7d '}' */
+
+static const GLubyte ch125data[] = {
+0xc0,0x20,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0xc0,
+};
+
+static const BitmapCharRec ch125 = {4,12,0,3,4,ch125data};
+
+/* char: 0x7c '|' */
+
+static const GLubyte ch124data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch124 = {1,12,-1,3,3,ch124data};
+
+/* char: 0x7b '{' */
+
+static const GLubyte ch123data[] = {
+0x30,0x40,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x40,0x30,
+};
+
+static const BitmapCharRec ch123 = {4,12,0,3,4,ch123data};
+
+/* char: 0x7a 'z' */
+
+static const GLubyte ch122data[] = {
+0xf0,0x80,0x40,0x40,0x20,0x10,0xf0,
+};
+
+static const BitmapCharRec ch122 = {4,7,-1,0,6,ch122data};
+
+/* char: 0x79 'y' */
+
+static const GLubyte ch121data[] = {
+0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88,
+};
+
+static const BitmapCharRec ch121 = {5,10,-1,3,7,ch121data};
+
+/* char: 0x78 'x' */
+
+static const GLubyte ch120data[] = {
+0x84,0x84,0x48,0x30,0x30,0x48,0x84,
+};
+
+static const BitmapCharRec ch120 = {6,7,0,0,6,ch120data};
+
+/* char: 0x77 'w' */
+
+static const GLubyte ch119data[] = {
+0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
+};
+
+static const BitmapCharRec ch119 = {9,7,0,0,9,ch119data};
+
+/* char: 0x76 'v' */
+
+static const GLubyte ch118data[] = {
+0x20,0x20,0x50,0x50,0x88,0x88,0x88,
+};
+
+static const BitmapCharRec ch118 = {5,7,-1,0,7,ch118data};
+
+/* char: 0x75 'u' */
+
+static const GLubyte ch117data[] = {
+0x68,0x98,0x88,0x88,0x88,0x88,0x88,
+};
+
+static const BitmapCharRec ch117 = {5,7,-1,0,7,ch117data};
+
+/* char: 0x74 't' */
+
+static const GLubyte ch116data[] = {
+0x60,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x40,
+};
+
+static const BitmapCharRec ch116 = {3,9,0,0,3,ch116data};
+
+/* char: 0x73 's' */
+
+static const GLubyte ch115data[] = {
+0x60,0x90,0x10,0x60,0x80,0x90,0x60,
+};
+
+static const BitmapCharRec ch115 = {4,7,-1,0,6,ch115data};
+
+/* char: 0x72 'r' */
+
+static const GLubyte ch114data[] = {
+0x80,0x80,0x80,0x80,0x80,0xc0,0xa0,
+};
+
+static const BitmapCharRec ch114 = {3,7,-1,0,4,ch114data};
+
+/* char: 0x71 'q' */
+
+static const GLubyte ch113data[] = {
+0x8,0x8,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68,
+};
+
+static const BitmapCharRec ch113 = {5,10,-1,3,7,ch113data};
+
+/* char: 0x70 'p' */
+
+static const GLubyte ch112data[] = {
+0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,
+};
+
+static const BitmapCharRec ch112 = {5,10,-1,3,7,ch112data};
+
+/* char: 0x6f 'o' */
+
+static const GLubyte ch111data[] = {
+0x70,0x88,0x88,0x88,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch111 = {5,7,-1,0,7,ch111data};
+
+/* char: 0x6e 'n' */
+
+static const GLubyte ch110data[] = {
+0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,
+};
+
+static const BitmapCharRec ch110 = {5,7,-1,0,7,ch110data};
+
+/* char: 0x6d 'm' */
+
+static const GLubyte ch109data[] = {
+0x92,0x92,0x92,0x92,0x92,0xda,0xa4,
+};
+
+static const BitmapCharRec ch109 = {7,7,-1,0,9,ch109data};
+
+/* char: 0x6c 'l' */
+
+static const GLubyte ch108data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch108 = {1,9,-1,0,3,ch108data};
+
+/* char: 0x6b 'k' */
+
+static const GLubyte ch107data[] = {
+0x88,0x90,0xa0,0xc0,0xc0,0xa0,0x90,0x80,0x80,
+};
+
+static const BitmapCharRec ch107 = {5,9,-1,0,6,ch107data};
+
+/* char: 0x6a 'j' */
+
+static const GLubyte ch106data[] = {
+0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,
+};
+
+static const BitmapCharRec ch106 = {2,12,0,3,3,ch106data};
+
+/* char: 0x69 'i' */
+
+static const GLubyte ch105data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,
+};
+
+static const BitmapCharRec ch105 = {1,9,-1,0,3,ch105data};
+
+/* char: 0x68 'h' */
+
+static const GLubyte ch104data[] = {
+0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
+};
+
+static const BitmapCharRec ch104 = {5,9,-1,0,7,ch104data};
+
+/* char: 0x67 'g' */
+
+static const GLubyte ch103data[] = {
+0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68,
+};
+
+static const BitmapCharRec ch103 = {5,10,-1,3,7,ch103data};
+
+/* char: 0x66 'f' */
+
+static const GLubyte ch102data[] = {
+0x40,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30,
+};
+
+static const BitmapCharRec ch102 = {4,9,0,0,3,ch102data};
+
+/* char: 0x65 'e' */
+
+static const GLubyte ch101data[] = {
+0x70,0x88,0x80,0xf8,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch101 = {5,7,-1,0,7,ch101data};
+
+/* char: 0x64 'd' */
+
+static const GLubyte ch100data[] = {
+0x68,0x98,0x88,0x88,0x88,0x98,0x68,0x8,0x8,
+};
+
+static const BitmapCharRec ch100 = {5,9,-1,0,7,ch100data};
+
+/* char: 0x63 'c' */
+
+static const GLubyte ch99data[] = {
+0x70,0x88,0x80,0x80,0x80,0x88,0x70,
+};
+
+static const BitmapCharRec ch99 = {5,7,-1,0,7,ch99data};
+
+/* char: 0x62 'b' */
+
+static const GLubyte ch98data[] = {
+0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
+};
+
+static const BitmapCharRec ch98 = {5,9,-1,0,7,ch98data};
+
+/* char: 0x61 'a' */
+
+static const GLubyte ch97data[] = {
+0x74,0x88,0x88,0x78,0x8,0x88,0x70,
+};
+
+static const BitmapCharRec ch97 = {6,7,-1,0,7,ch97data};
+
+/* char: 0x60 '`' */
+
+static const GLubyte ch96data[] = {
+0xc0,0x80,0x40,
+};
+
+static const BitmapCharRec ch96 = {2,3,0,-6,3,ch96data};
+
+/* char: 0x5f '_' */
+
+static const GLubyte ch95data[] = {
+0xfe,
+};
+
+static const BitmapCharRec ch95 = {7,1,0,2,7,ch95data};
+
+/* char: 0x5e '^' */
+
+static const GLubyte ch94data[] = {
+0x88,0x50,0x20,
+};
+
+static const BitmapCharRec ch94 = {5,3,0,-5,6,ch94data};
+
+/* char: 0x5d ']' */
+
+static const GLubyte ch93data[] = {
+0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
+};
+
+static const BitmapCharRec ch93 = {2,12,0,3,3,ch93data};
+
+/* char: 0x5c '\' */
+
+static const GLubyte ch92data[] = {
+0x10,0x10,0x20,0x20,0x20,0x40,0x40,0x80,0x80,
+};
+
+static const BitmapCharRec ch92 = {4,9,0,0,4,ch92data};
+
+/* char: 0x5b '[' */
+
+static const GLubyte ch91data[] = {
+0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
+};
+
+static const BitmapCharRec ch91 = {2,12,-1,3,3,ch91data};
+
+/* char: 0x5a 'Z' */
+
+static const GLubyte ch90data[] = {
+0xfe,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0xfe,
+};
+
+static const BitmapCharRec ch90 = {7,9,-1,0,9,ch90data};
+
+/* char: 0x59 'Y' */
+
+static const GLubyte ch89data[] = {
+0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch89 = {7,9,-1,0,9,ch89data};
+
+/* char: 0x58 'X' */
+
+static const GLubyte ch88data[] = {
+0x82,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x82,
+};
+
+static const BitmapCharRec ch88 = {7,9,-1,0,9,ch88data};
+
+/* char: 0x57 'W' */
+
+static const GLubyte ch87data[] = {
+0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
+0x88,0x80,
+};
+
+static const BitmapCharRec ch87 = {9,9,-1,0,11,ch87data};
+
+/* char: 0x56 'V' */
+
+static const GLubyte ch86data[] = {
+0x10,0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82,
+};
+
+static const BitmapCharRec ch86 = {7,9,-1,0,9,ch86data};
+
+/* char: 0x55 'U' */
+
+static const GLubyte ch85data[] = {
+0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,
+};
+
+static const BitmapCharRec ch85 = {6,9,-1,0,8,ch85data};
+
+/* char: 0x54 'T' */
+
+static const GLubyte ch84data[] = {
+0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,
+};
+
+static const BitmapCharRec ch84 = {7,9,0,0,7,ch84data};
+
+/* char: 0x53 'S' */
+
+static const GLubyte ch83data[] = {
+0x78,0x84,0x84,0x4,0x18,0x60,0x80,0x84,0x78,
+};
+
+static const BitmapCharRec ch83 = {6,9,-1,0,8,ch83data};
+
+/* char: 0x52 'R' */
+
+static const GLubyte ch82data[] = {
+0x84,0x84,0x84,0x88,0xf8,0x84,0x84,0x84,0xf8,
+};
+
+static const BitmapCharRec ch82 = {6,9,-1,0,8,ch82data};
+
+/* char: 0x51 'Q' */
+
+static const GLubyte ch81data[] = {
+0x3d,0x42,0x85,0x89,0x81,0x81,0x81,0x42,0x3c,
+};
+
+static const BitmapCharRec ch81 = {8,9,-1,0,10,ch81data};
+
+/* char: 0x50 'P' */
+
+static const GLubyte ch80data[] = {
+0x80,0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,
+};
+
+static const BitmapCharRec ch80 = {6,9,-1,0,8,ch80data};
+
+/* char: 0x4f 'O' */
+
+static const GLubyte ch79data[] = {
+0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,
+};
+
+static const BitmapCharRec ch79 = {8,9,-1,0,10,ch79data};
+
+/* char: 0x4e 'N' */
+
+static const GLubyte ch78data[] = {
+0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,
+};
+
+static const BitmapCharRec ch78 = {7,9,-1,0,9,ch78data};
+
+/* char: 0x4d 'M' */
+
+static const GLubyte ch77data[] = {
+0x88,0x80,0x88,0x80,0x94,0x80,0x94,0x80,0xa2,0x80,0xa2,0x80,0xc1,0x80,0xc1,0x80,
+0x80,0x80,
+};
+
+static const BitmapCharRec ch77 = {9,9,-1,0,11,ch77data};
+
+/* char: 0x4c 'L' */
+
+static const GLubyte ch76data[] = {
+0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch76 = {5,9,-1,0,7,ch76data};
+
+/* char: 0x4b 'K' */
+
+static const GLubyte ch75data[] = {
+0x82,0x84,0x88,0x90,0xe0,0xa0,0x90,0x88,0x84,
+};
+
+static const BitmapCharRec ch75 = {7,9,-1,0,8,ch75data};
+
+/* char: 0x4a 'J' */
+
+static const GLubyte ch74data[] = {
+0x70,0x88,0x88,0x8,0x8,0x8,0x8,0x8,0x8,
+};
+
+static const BitmapCharRec ch74 = {5,9,-1,0,7,ch74data};
+
+/* char: 0x49 'I' */
+
+static const GLubyte ch73data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch73 = {1,9,-1,0,3,ch73data};
+
+/* char: 0x48 'H' */
+
+static const GLubyte ch72data[] = {
+0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x82,
+};
+
+static const BitmapCharRec ch72 = {7,9,-1,0,9,ch72data};
+
+/* char: 0x47 'G' */
+
+static const GLubyte ch71data[] = {
+0x3a,0x46,0x82,0x82,0x8e,0x80,0x80,0x42,0x3c,
+};
+
+static const BitmapCharRec ch71 = {7,9,-1,0,9,ch71data};
+
+/* char: 0x46 'F' */
+
+static const GLubyte ch70data[] = {
+0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0xfc,
+};
+
+static const BitmapCharRec ch70 = {6,9,-1,0,8,ch70data};
+
+/* char: 0x45 'E' */
+
+static const GLubyte ch69data[] = {
+0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,
+};
+
+static const BitmapCharRec ch69 = {6,9,-1,0,8,ch69data};
+
+/* char: 0x44 'D' */
+
+static const GLubyte ch68data[] = {
+0xf8,0x84,0x82,0x82,0x82,0x82,0x82,0x84,0xf8,
+};
+
+static const BitmapCharRec ch68 = {7,9,-1,0,9,ch68data};
+
+/* char: 0x43 'C' */
+
+static const GLubyte ch67data[] = {
+0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c,
+};
+
+static const BitmapCharRec ch67 = {7,9,-1,0,9,ch67data};
+
+/* char: 0x42 'B' */
+
+static const GLubyte ch66data[] = {
+0xf8,0x84,0x84,0x84,0xf8,0x84,0x84,0x84,0xf8,
+};
+
+static const BitmapCharRec ch66 = {6,9,-1,0,8,ch66data};
+
+/* char: 0x41 'A' */
+
+static const GLubyte ch65data[] = {
+0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x28,0x10,
+};
+
+static const BitmapCharRec ch65 = {7,9,-1,0,9,ch65data};
+
+/* char: 0x40 '@' */
+
+static const GLubyte ch64data[] = {
+0x3e,0x0,0x40,0x0,0x9b,0x0,0xa6,0x80,0xa2,0x40,0xa2,0x40,0x92,0x40,0x4d,0x40,
+0x60,0x80,0x1f,0x0,
+};
+
+static const BitmapCharRec ch64 = {10,10,-1,1,12,ch64data};
+
+/* char: 0x3f '?' */
+
+static const GLubyte ch63data[] = {
+0x20,0x0,0x20,0x20,0x10,0x10,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch63 = {5,9,-1,0,7,ch63data};
+
+/* char: 0x3e '>' */
+
+static const GLubyte ch62data[] = {
+0xc0,0x30,0xc,0x30,0xc0,
+};
+
+static const BitmapCharRec ch62 = {6,5,-1,-1,7,ch62data};
+
+/* char: 0x3d '=' */
+
+static const GLubyte ch61data[] = {
+0xf8,0x0,0xf8,
+};
+
+static const BitmapCharRec ch61 = {5,3,-1,-2,7,ch61data};
+
+/* char: 0x3c '<' */
+
+static const GLubyte ch60data[] = {
+0xc,0x30,0xc0,0x30,0xc,
+};
+
+static const BitmapCharRec ch60 = {6,5,0,-1,7,ch60data};
+
+/* char: 0x3b ';' */
+
+static const GLubyte ch59data[] = {
+0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40,
+};
+
+static const BitmapCharRec ch59 = {2,8,0,2,3,ch59data};
+
+/* char: 0x3a ':' */
+
+static const GLubyte ch58data[] = {
+0x80,0x0,0x0,0x0,0x0,0x80,
+};
+
+static const BitmapCharRec ch58 = {1,6,-1,0,3,ch58data};
+
+/* char: 0x39 '9' */
+
+static const GLubyte ch57data[] = {
+0x70,0x88,0x8,0x8,0x78,0x88,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch57 = {5,9,-1,0,7,ch57data};
+
+/* char: 0x38 '8' */
+
+static const GLubyte ch56data[] = {
+0x70,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch56 = {5,9,-1,0,7,ch56data};
+
+/* char: 0x37 '7' */
+
+static const GLubyte ch55data[] = {
+0x40,0x40,0x20,0x20,0x20,0x10,0x10,0x8,0xf8,
+};
+
+static const BitmapCharRec ch55 = {5,9,-1,0,7,ch55data};
+
+/* char: 0x36 '6' */
+
+static const GLubyte ch54data[] = {
+0x70,0x88,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70,
+};
+
+static const BitmapCharRec ch54 = {5,9,-1,0,7,ch54data};
+
+/* char: 0x35 '5' */
+
+static const GLubyte ch53data[] = {
+0x70,0x88,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8,
+};
+
+static const BitmapCharRec ch53 = {5,9,-1,0,7,ch53data};
+
+/* char: 0x34 '4' */
+
+static const GLubyte ch52data[] = {
+0x8,0x8,0xfc,0x88,0x48,0x28,0x28,0x18,0x8,
+};
+
+static const BitmapCharRec ch52 = {6,9,0,0,7,ch52data};
+
+/* char: 0x33 '3' */
+
+static const GLubyte ch51data[] = {
+0x70,0x88,0x88,0x8,0x8,0x30,0x8,0x88,0x70,
+};
+
+static const BitmapCharRec ch51 = {5,9,-1,0,7,ch51data};
+
+/* char: 0x32 '2' */
+
+static const GLubyte ch50data[] = {
+0xf8,0x80,0x80,0x40,0x20,0x10,0x8,0x88,0x70,
+};
+
+static const BitmapCharRec ch50 = {5,9,-1,0,7,ch50data};
+
+/* char: 0x31 '1' */
+
+static const GLubyte ch49data[] = {
+0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,0x20,
+};
+
+static const BitmapCharRec ch49 = {3,9,-1,0,7,ch49data};
+
+/* char: 0x30 '0' */
+
+static const GLubyte ch48data[] = {
+0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x70,
+};
+
+static const BitmapCharRec ch48 = {5,9,-1,0,7,ch48data};
+
+/* char: 0x2f '/' */
+
+static const GLubyte ch47data[] = {
+0x80,0x80,0x40,0x40,0x40,0x20,0x20,0x10,0x10,
+};
+
+static const BitmapCharRec ch47 = {4,9,0,0,4,ch47data};
+
+/* char: 0x2e '.' */
+
+static const GLubyte ch46data[] = {
+0x80,
+};
+
+static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
+
+/* char: 0x2d '-' */
+
+static const GLubyte ch45data[] = {
+0xf8,
+};
+
+static const BitmapCharRec ch45 = {5,1,-1,-3,8,ch45data};
+
+/* char: 0x2c ',' */
+
+static const GLubyte ch44data[] = {
+0x80,0x40,0x40,
+};
+
+static const BitmapCharRec ch44 = {2,3,-1,2,4,ch44data};
+
+/* char: 0x2b '+' */
+
+static const GLubyte ch43data[] = {
+0x20,0x20,0xf8,0x20,0x20,
+};
+
+static const BitmapCharRec ch43 = {5,5,-1,-1,7,ch43data};
+
+/* char: 0x2a '*' */
+
+static const GLubyte ch42data[] = {
+0xa0,0x40,0xa0,
+};
+
+static const BitmapCharRec ch42 = {3,3,-1,-6,5,ch42data};
+
+/* char: 0x29 ')' */
+
+static const GLubyte ch41data[] = {
+0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
+};
+
+static const BitmapCharRec ch41 = {3,12,0,3,4,ch41data};
+
+/* char: 0x28 '(' */
+
+static const GLubyte ch40data[] = {
+0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
+};
+
+static const BitmapCharRec ch40 = {3,12,-1,3,4,ch40data};
+
+/* char: 0x27 ''' */
+
+static const GLubyte ch39data[] = {
+0x80,0x40,0xc0,
+};
+
+static const BitmapCharRec ch39 = {2,3,-1,-6,3,ch39data};
+
+/* char: 0x26 '&' */
+
+static const GLubyte ch38data[] = {
+0x72,0x8c,0x84,0x8a,0x50,0x30,0x48,0x48,0x30,
+};
+
+static const BitmapCharRec ch38 = {7,9,-1,0,9,ch38data};
+
+/* char: 0x25 '%' */
+
+static const GLubyte ch37data[] = {
+0x23,0x0,0x14,0x80,0x14,0x80,0x13,0x0,0x8,0x0,0x68,0x0,0x94,0x0,0x94,0x0,
+0x62,0x0,
+};
+
+static const BitmapCharRec ch37 = {9,9,-1,0,11,ch37data};
+
+/* char: 0x24 '$' */
+
+static const GLubyte ch36data[] = {
+0x20,0x70,0xa8,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20,
+};
+
+static const BitmapCharRec ch36 = {5,10,-1,1,7,ch36data};
+
+/* char: 0x23 '#' */
+
+static const GLubyte ch35data[] = {
+0x50,0x50,0x50,0xfc,0x28,0xfc,0x28,0x28,
+};
+
+static const BitmapCharRec ch35 = {6,8,0,0,7,ch35data};
+
+/* char: 0x22 '"' */
+
+static const GLubyte ch34data[] = {
+0xa0,0xa0,0xa0,
+};
+
+static const BitmapCharRec ch34 = {3,3,-1,-6,5,ch34data};
+
+/* char: 0x21 '!' */
+
+static const GLubyte ch33data[] = {
+0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch33 = {1,9,-1,0,3,ch33data};
+
+/* char: 0x20 ' ' */
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch32data[] = { 0x0 };
+static const BitmapCharRec ch32 = {1,1,0,0,4,ch32data};
+#else
+static const BitmapCharRec ch32 = {0,0,0,0,4,0};
+#endif
+
+static const BitmapCharRec * const chars[] = {
+&ch32,
+&ch33,
+&ch34,
+&ch35,
+&ch36,
+&ch37,
+&ch38,
+&ch39,
+&ch40,
+&ch41,
+&ch42,
+&ch43,
+&ch44,
+&ch45,
+&ch46,
+&ch47,
+&ch48,
+&ch49,
+&ch50,
+&ch51,
+&ch52,
+&ch53,
+&ch54,
+&ch55,
+&ch56,
+&ch57,
+&ch58,
+&ch59,
+&ch60,
+&ch61,
+&ch62,
+&ch63,
+&ch64,
+&ch65,
+&ch66,
+&ch67,
+&ch68,
+&ch69,
+&ch70,
+&ch71,
+&ch72,
+&ch73,
+&ch74,
+&ch75,
+&ch76,
+&ch77,
+&ch78,
+&ch79,
+&ch80,
+&ch81,
+&ch82,
+&ch83,
+&ch84,
+&ch85,
+&ch86,
+&ch87,
+&ch88,
+&ch89,
+&ch90,
+&ch91,
+&ch92,
+&ch93,
+&ch94,
+&ch95,
+&ch96,
+&ch97,
+&ch98,
+&ch99,
+&ch100,
+&ch101,
+&ch102,
+&ch103,
+&ch104,
+&ch105,
+&ch106,
+&ch107,
+&ch108,
+&ch109,
+&ch110,
+&ch111,
+&ch112,
+&ch113,
+&ch114,
+&ch115,
+&ch116,
+&ch117,
+&ch118,
+&ch119,
+&ch120,
+&ch121,
+&ch122,
+&ch123,
+&ch124,
+&ch125,
+&ch126,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+&ch160,
+&ch161,
+&ch162,
+&ch163,
+&ch164,
+&ch165,
+&ch166,
+&ch167,
+&ch168,
+&ch169,
+&ch170,
+&ch171,
+&ch172,
+&ch173,
+&ch174,
+&ch175,
+&ch176,
+&ch177,
+&ch178,
+&ch179,
+&ch180,
+&ch181,
+&ch182,
+&ch183,
+&ch184,
+&ch185,
+&ch186,
+&ch187,
+&ch188,
+&ch189,
+&ch190,
+&ch191,
+&ch192,
+&ch193,
+&ch194,
+&ch195,
+&ch196,
+&ch197,
+&ch198,
+&ch199,
+&ch200,
+&ch201,
+&ch202,
+&ch203,
+&ch204,
+&ch205,
+&ch206,
+&ch207,
+&ch208,
+&ch209,
+&ch210,
+&ch211,
+&ch212,
+&ch213,
+&ch214,
+&ch215,
+&ch216,
+&ch217,
+&ch218,
+&ch219,
+&ch220,
+&ch221,
+&ch222,
+&ch223,
+&ch224,
+&ch225,
+&ch226,
+&ch227,
+&ch228,
+&ch229,
+&ch230,
+&ch231,
+&ch232,
+&ch233,
+&ch234,
+&ch235,
+&ch236,
+&ch237,
+&ch238,
+&ch239,
+&ch240,
+&ch241,
+&ch242,
+&ch243,
+&ch244,
+&ch245,
+&ch246,
+&ch247,
+&ch248,
+&ch249,
+&ch250,
+&ch251,
+&ch252,
+&ch253,
+&ch254,
+&ch255,
+};
+
+// jeh: removed const so mwld can export structure to shared lib
+BitmapFontRec glutBitmapHelvetica12 = {
+"-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1",
+224,
+32,
+chars
+};
+
diff --git a/src/glut/beos/glut_hel18.cpp b/src/glut/beos/glut_hel18.cpp
new file mode 100644 (file)
index 0000000..00d509d
--- /dev/null
@@ -0,0 +1,1896 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "glutbitmap.h"
+
+/* char: 0xff */
+
+static const GLubyte ch255data[] = {
+0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x66,
+0x66,
+};
+
+static const BitmapCharRec ch255 = {8,17,-1,4,10,ch255data};
+
+/* char: 0xfe */
+
+static const GLubyte ch254data[] = {
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,
+0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,0xff,0x0,0xde,0x0,0xc0,0x0,0xc0,0x0,
+0xc0,0x0,0xc0,0x0,
+};
+
+static const BitmapCharRec ch254 = {9,18,-1,4,11,ch254data};
+
+/* char: 0xfd */
+
+static const GLubyte ch253data[] = {
+0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x18,
+0xc,0x6,
+};
+
+static const BitmapCharRec ch253 = {8,18,-1,4,10,ch253data};
+
+/* char: 0xfc */
+
+static const GLubyte ch252data[] = {
+0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x66,
+};
+
+static const BitmapCharRec ch252 = {8,13,-1,0,10,ch252data};
+
+/* char: 0xfb */
+
+static const GLubyte ch251data[] = {
+0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x3c,0x18,
+};
+
+static const BitmapCharRec ch251 = {8,14,-1,0,10,ch251data};
+
+/* char: 0xfa */
+
+static const GLubyte ch250data[] = {
+0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x18,0xc,0x6,
+};
+
+static const BitmapCharRec ch250 = {8,14,-1,0,10,ch250data};
+
+/* char: 0xf9 */
+
+static const GLubyte ch249data[] = {
+0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0xc,0x18,0x30,
+};
+
+static const BitmapCharRec ch249 = {8,14,-1,0,10,ch249data};
+
+/* char: 0xf8 */
+
+static const GLubyte ch248data[] = {
+0xce,0x0,0x7f,0x80,0x31,0x80,0x78,0xc0,0x6c,0xc0,0x66,0xc0,0x63,0xc0,0x31,0x80,
+0x3f,0xc0,0xe,0x60,
+};
+
+static const BitmapCharRec ch248 = {11,10,0,0,11,ch248data};
+
+/* char: 0xf7 */
+
+static const GLubyte ch247data[] = {
+0x18,0x18,0x0,0xff,0xff,0x0,0x18,0x18,
+};
+
+static const BitmapCharRec ch247 = {8,8,-1,-1,10,ch247data};
+
+/* char: 0xf6 */
+
+static const GLubyte ch246data[] = {
+0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
+0x7f,0x0,0x3e,0x0,0x0,0x0,0x36,0x0,0x36,0x0,
+};
+
+static const BitmapCharRec ch246 = {9,13,-1,0,11,ch246data};
+
+/* char: 0xf5 */
+
+static const GLubyte ch245data[] = {
+0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
+0x7f,0x0,0x3e,0x0,0x0,0x0,0x26,0x0,0x2d,0x0,0x19,0x0,
+};
+
+static const BitmapCharRec ch245 = {9,14,-1,0,11,ch245data};
+
+/* char: 0xf4 */
+
+static const GLubyte ch244data[] = {
+0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
+0x7f,0x0,0x3e,0x0,0x0,0x0,0x33,0x0,0x1e,0x0,0xc,0x0,
+};
+
+static const BitmapCharRec ch244 = {9,14,-1,0,11,ch244data};
+
+/* char: 0xf3 */
+
+static const GLubyte ch243data[] = {
+0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
+0x7f,0x0,0x3e,0x0,0x0,0x0,0x18,0x0,0xc,0x0,0x6,0x0,
+};
+
+static const BitmapCharRec ch243 = {9,14,-1,0,11,ch243data};
+
+/* char: 0xf2 */
+
+static const GLubyte ch242data[] = {
+0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
+0x7f,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x18,0x0,0x30,0x0,
+};
+
+static const BitmapCharRec ch242 = {9,14,-1,0,11,ch242data};
+
+/* char: 0xf1 */
+
+static const GLubyte ch241data[] = {
+0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0x0,0x4c,0x5a,0x32,
+};
+
+static const BitmapCharRec ch241 = {8,14,-1,0,10,ch241data};
+
+/* char: 0xf0 */
+
+static const GLubyte ch240data[] = {
+0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
+0x7f,0x0,0x3e,0x0,0x4c,0x0,0x38,0x0,0x36,0x0,0x60,0x0,
+};
+
+static const BitmapCharRec ch240 = {9,14,-1,0,11,ch240data};
+
+/* char: 0xef */
+
+static const GLubyte ch239data[] = {
+0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xd8,0xd8,
+};
+
+static const BitmapCharRec ch239 = {5,13,0,0,4,ch239data};
+
+/* char: 0xee */
+
+static const GLubyte ch238data[] = {
+0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,0x78,0x30,
+};
+
+static const BitmapCharRec ch238 = {6,14,1,0,4,ch238data};
+
+/* char: 0xed */
+
+static const GLubyte ch237data[] = {
+0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xc0,0x60,0x30,
+};
+
+static const BitmapCharRec ch237 = {4,14,0,0,4,ch237data};
+
+/* char: 0xec */
+
+static const GLubyte ch236data[] = {
+0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0x30,0x60,0xc0,
+};
+
+static const BitmapCharRec ch236 = {4,14,0,0,4,ch236data};
+
+/* char: 0xeb */
+
+static const GLubyte ch235data[] = {
+0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x36,0x36,
+};
+
+static const BitmapCharRec ch235 = {8,13,-1,0,10,ch235data};
+
+/* char: 0xea */
+
+static const GLubyte ch234data[] = {
+0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x66,0x3c,0x18,
+};
+
+static const BitmapCharRec ch234 = {8,14,-1,0,10,ch234data};
+
+/* char: 0xe9 */
+
+static const GLubyte ch233data[] = {
+0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0xc,0x6,
+};
+
+static const BitmapCharRec ch233 = {8,14,-1,0,10,ch233data};
+
+/* char: 0xe8 */
+
+static const GLubyte ch232data[] = {
+0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0x30,0x60,
+};
+
+static const BitmapCharRec ch232 = {8,14,-1,0,10,ch232data};
+
+/* char: 0xe7 */
+
+static const GLubyte ch231data[] = {
+0x78,0x6c,0xc,0x38,0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e,
+};
+
+static const BitmapCharRec ch231 = {8,14,-1,4,10,ch231data};
+
+/* char: 0xe6 */
+
+static const GLubyte ch230data[] = {
+0x75,0xe0,0xef,0xf8,0xc7,0x18,0xc6,0x0,0xe6,0x0,0x7f,0xf8,0xe,0x18,0xc6,0x18,
+0xef,0xf0,0x7d,0xe0,
+};
+
+static const BitmapCharRec ch230 = {13,10,-1,0,15,ch230data};
+
+/* char: 0xe5 */
+
+static const GLubyte ch229data[] = {
+0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x38,0x6c,0x6c,0x38,
+};
+
+static const BitmapCharRec ch229 = {7,14,-1,0,9,ch229data};
+
+/* char: 0xe4 */
+
+static const GLubyte ch228data[] = {
+0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x6c,0x6c,
+};
+
+static const BitmapCharRec ch228 = {7,13,-1,0,9,ch228data};
+
+/* char: 0xe3 */
+
+static const GLubyte ch227data[] = {
+0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x4c,0x5a,0x32,
+};
+
+static const BitmapCharRec ch227 = {7,14,-1,0,9,ch227data};
+
+/* char: 0xe2 */
+
+static const GLubyte ch226data[] = {
+0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x66,0x3c,0x18,
+};
+
+static const BitmapCharRec ch226 = {7,14,-1,0,9,ch226data};
+
+/* char: 0xe1 */
+
+static const GLubyte ch225data[] = {
+0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x30,0x18,0xc,
+};
+
+static const BitmapCharRec ch225 = {7,14,-1,0,9,ch225data};
+
+/* char: 0xe0 */
+
+static const GLubyte ch224data[] = {
+0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x18,0x30,0x60,
+};
+
+static const BitmapCharRec ch224 = {7,14,-1,0,9,ch224data};
+
+/* char: 0xdf */
+
+static const GLubyte ch223data[] = {
+0xdc,0xde,0xc6,0xc6,0xc6,0xc6,0xdc,0xdc,0xc6,0xc6,0xc6,0xc6,0x7c,0x38,
+};
+
+static const BitmapCharRec ch223 = {7,14,-1,0,9,ch223data};
+
+/* char: 0xde */
+
+static const GLubyte ch222data[] = {
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x80,0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc1,0xc0,0xff,0x80,0xff,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
+};
+
+static const BitmapCharRec ch222 = {10,14,-1,0,12,ch222data};
+
+/* char: 0xdd */
+
+static const GLubyte ch221data[] = {
+0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
+0x30,0xc0,0x30,0xc0,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,0x0,0x0,0x6,0x0,
+0x3,0x0,0x1,0x80,
+};
+
+static const BitmapCharRec ch221 = {12,18,-1,0,14,ch221data};
+
+/* char: 0xdc */
+
+static const GLubyte ch220data[] = {
+0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
+0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x19,0x80,
+0x19,0x80,
+};
+
+static const BitmapCharRec ch220 = {11,17,-1,0,13,ch220data};
+
+/* char: 0xdb */
+
+static const GLubyte ch219data[] = {
+0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
+0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x19,0x80,
+0xf,0x0,0x6,0x0,
+};
+
+static const BitmapCharRec ch219 = {11,18,-1,0,13,ch219data};
+
+/* char: 0xda */
+
+static const GLubyte ch218data[] = {
+0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
+0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0xc,0x0,
+0x6,0x0,0x3,0x0,
+};
+
+static const BitmapCharRec ch218 = {11,18,-1,0,13,ch218data};
+
+/* char: 0xd9 */
+
+static const GLubyte ch217data[] = {
+0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
+0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0x0,0x0,0x6,0x0,
+0xc,0x0,0x18,0x0,
+};
+
+static const BitmapCharRec ch217 = {11,18,-1,0,13,ch217data};
+
+/* char: 0xd8 */
+
+static const GLubyte ch216data[] = {
+0xc7,0xc0,0xff,0xf0,0x78,0x38,0x38,0x18,0x6c,0x1c,0x6e,0xc,0x67,0xc,0x63,0x8c,
+0x61,0xcc,0x70,0xdc,0x30,0x78,0x38,0x38,0x1f,0xfc,0x7,0xcc,
+};
+
+static const BitmapCharRec ch216 = {14,14,0,0,15,ch216data};
+
+/* char: 0xd7 */
+
+static const GLubyte ch215data[] = {
+0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,
+0xc0,0xc0,
+};
+
+static const BitmapCharRec ch215 = {10,9,0,0,10,ch215data};
+
+/* char: 0xd6 */
+
+static const GLubyte ch214data[] = {
+0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
+0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0xd,0x80,
+0xd,0x80,
+};
+
+static const BitmapCharRec ch214 = {13,17,-1,0,15,ch214data};
+
+/* char: 0xd5 */
+
+static const GLubyte ch213data[] = {
+0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
+0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x9,0x80,
+0xb,0x40,0x6,0x40,
+};
+
+static const BitmapCharRec ch213 = {13,18,-1,0,15,ch213data};
+
+/* char: 0xd4 */
+
+static const GLubyte ch212data[] = {
+0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
+0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0xc,0xc0,
+0x7,0x80,0x3,0x0,
+};
+
+static const BitmapCharRec ch212 = {13,18,-1,0,15,ch212data};
+
+/* char: 0xd3 */
+
+static const GLubyte ch211data[] = {
+0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
+0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x3,0x0,
+0x1,0x80,0x0,0xc0,
+};
+
+static const BitmapCharRec ch211 = {13,18,-1,0,15,ch211data};
+
+/* char: 0xd2 */
+
+static const GLubyte ch210data[] = {
+0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
+0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,0x0,0x0,0x3,0x0,
+0x6,0x0,0xc,0x0,
+};
+
+static const BitmapCharRec ch210 = {13,18,-1,0,15,ch210data};
+
+/* char: 0xd1 */
+
+static const GLubyte ch209data[] = {
+0xc0,0x60,0xc0,0xe0,0xc1,0xe0,0xc1,0xe0,0xc3,0x60,0xc6,0x60,0xc6,0x60,0xcc,0x60,
+0xcc,0x60,0xd8,0x60,0xd8,0x60,0xf0,0x60,0xe0,0x60,0xe0,0x60,0x0,0x0,0x13,0x0,
+0x16,0x80,0xc,0x80,
+};
+
+static const BitmapCharRec ch209 = {11,18,-1,0,13,ch209data};
+
+/* char: 0xd0 */
+
+static const GLubyte ch208data[] = {
+0x7f,0x80,0x7f,0xc0,0x60,0xe0,0x60,0x60,0x60,0x30,0x60,0x30,0xfc,0x30,0xfc,0x30,
+0x60,0x30,0x60,0x30,0x60,0x60,0x60,0xe0,0x7f,0xc0,0x7f,0x80,
+};
+
+static const BitmapCharRec ch208 = {12,14,0,0,13,ch208data};
+
+/* char: 0xcf */
+
+static const GLubyte ch207data[] = {
+0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
+0xcc,
+};
+
+static const BitmapCharRec ch207 = {6,17,0,0,6,ch207data};
+
+/* char: 0xce */
+
+static const GLubyte ch206data[] = {
+0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
+0x78,0x30,
+};
+
+static const BitmapCharRec ch206 = {6,18,0,0,6,ch206data};
+
+/* char: 0xcd */
+
+static const GLubyte ch205data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0xc0,
+0x60,0x30,
+};
+
+static const BitmapCharRec ch205 = {4,18,-2,0,6,ch205data};
+
+/* char: 0xcc */
+
+static const GLubyte ch204data[] = {
+0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x30,
+0x60,0xc0,
+};
+
+static const BitmapCharRec ch204 = {4,18,0,0,6,ch204data};
+
+/* char: 0xcb */
+
+static const GLubyte ch203data[] = {
+0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0x33,0x0,
+0x33,0x0,
+};
+
+static const BitmapCharRec ch203 = {9,17,-1,0,11,ch203data};
+
+/* char: 0xca */
+
+static const GLubyte ch202data[] = {
+0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0x33,0x0,
+0x1e,0x0,0xc,0x0,
+};
+
+static const BitmapCharRec ch202 = {9,18,-1,0,11,ch202data};
+
+/* char: 0xc9 */
+
+static const GLubyte ch201data[] = {
+0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0xc,0x0,
+0x6,0x0,0x3,0x0,
+};
+
+static const BitmapCharRec ch201 = {9,18,-1,0,11,ch201data};
+
+/* char: 0xc8 */
+
+static const GLubyte ch200data[] = {
+0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,0x0,0x0,0xc,0x0,
+0x18,0x0,0x30,0x0,
+};
+
+static const BitmapCharRec ch200 = {9,18,-1,0,11,ch200data};
+
+/* char: 0xc7 */
+
+static const GLubyte ch199data[] = {
+0x1e,0x0,0x1b,0x0,0x3,0x0,0xe,0x0,0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,
+0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xe0,0x0,0x60,0x30,0x70,0x70,
+0x3f,0xe0,0xf,0x80,
+};
+
+static const BitmapCharRec ch199 = {12,18,-1,4,14,ch199data};
+
+/* char: 0xc6 */
+
+static const GLubyte ch198data[] = {
+0xc1,0xff,0xc1,0xff,0x61,0x80,0x61,0x80,0x7f,0x80,0x3f,0x80,0x31,0xfe,0x31,0xfe,
+0x19,0x80,0x19,0x80,0xd,0x80,0xd,0x80,0x7,0xff,0x7,0xff,
+};
+
+static const BitmapCharRec ch198 = {16,14,-1,0,18,ch198data};
+
+/* char: 0xc5 */
+
+static const GLubyte ch197data[] = {
+0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
+0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
+0x19,0x80,0xf,0x0,
+};
+
+static const BitmapCharRec ch197 = {12,18,0,0,12,ch197data};
+
+/* char: 0xc4 */
+
+static const GLubyte ch196data[] = {
+0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
+0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x19,0x80,
+0x19,0x80,
+};
+
+static const BitmapCharRec ch196 = {12,17,0,0,12,ch196data};
+
+/* char: 0xc3 */
+
+static const GLubyte ch195data[] = {
+0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
+0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x13,0x0,
+0x16,0x80,0xc,0x80,
+};
+
+static const BitmapCharRec ch195 = {12,18,0,0,12,ch195data};
+
+/* char: 0xc2 */
+
+static const GLubyte ch194data[] = {
+0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
+0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x19,0x80,
+0xf,0x0,0x6,0x0,
+};
+
+static const BitmapCharRec ch194 = {12,18,0,0,12,ch194data};
+
+/* char: 0xc1 */
+
+static const GLubyte ch193data[] = {
+0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
+0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x6,0x0,
+0x3,0x0,0x1,0x80,
+};
+
+static const BitmapCharRec ch193 = {12,18,0,0,12,ch193data};
+
+/* char: 0xc0 */
+
+static const GLubyte ch192data[] = {
+0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
+0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x6,0x0,
+0xc,0x0,0x18,0x0,
+};
+
+static const BitmapCharRec ch192 = {12,18,0,0,12,ch192data};
+
+/* char: 0xbf */
+
+static const GLubyte ch191data[] = {
+0x7c,0xfe,0xc6,0xc6,0xe0,0x70,0x38,0x18,0x18,0x18,0x0,0x0,0x18,0x18,
+};
+
+static const BitmapCharRec ch191 = {7,14,-1,4,10,ch191data};
+
+/* char: 0xbe */
+
+static const GLubyte ch190data[] = {
+0x18,0x18,0x18,0x18,0xc,0xfc,0x6,0xd8,0x6,0x78,0x73,0x38,0xf9,0x18,0x99,0x88,
+0x30,0xc0,0x30,0xc0,0x98,0x60,0xf8,0x30,0x70,0x30,
+};
+
+static const BitmapCharRec ch190 = {14,13,0,0,15,ch190data};
+
+/* char: 0xbd */
+
+static const GLubyte ch189data[] = {
+0x30,0xf8,0x30,0xf8,0x18,0x60,0xc,0x30,0xc,0x18,0x66,0x98,0x62,0xf8,0x63,0x70,
+0x61,0x80,0x61,0x80,0xe0,0xc0,0xe0,0x60,0x60,0x60,
+};
+
+static const BitmapCharRec ch189 = {13,13,-1,0,15,ch189data};
+
+/* char: 0xbc */
+
+static const GLubyte ch188data[] = {
+0x30,0x30,0x30,0x30,0x19,0xf8,0xd,0xb0,0xc,0xf0,0x66,0x70,0x62,0x30,0x63,0x10,
+0x61,0x80,0x61,0x80,0xe0,0xc0,0xe0,0x60,0x60,0x60,
+};
+
+static const BitmapCharRec ch188 = {13,13,-1,0,15,ch188data};
+
+/* char: 0xbb */
+
+static const GLubyte ch187data[] = {
+0x90,0xd8,0x6c,0x36,0x36,0x6c,0xd8,0x90,
+};
+
+static const BitmapCharRec ch187 = {7,8,-1,-1,9,ch187data};
+
+/* char: 0xba */
+
+static const GLubyte ch186data[] = {
+0xf8,0x0,0x70,0xd8,0x88,0x88,0xd8,0x70,
+};
+
+static const BitmapCharRec ch186 = {5,8,-1,-6,7,ch186data};
+
+/* char: 0xb9 */
+
+static const GLubyte ch185data[] = {
+0x60,0x60,0x60,0x60,0x60,0xe0,0xe0,0x60,
+};
+
+static const BitmapCharRec ch185 = {3,8,-1,-5,6,ch185data};
+
+/* char: 0xb8 */
+
+static const GLubyte ch184data[] = {
+0xf0,0xd8,0x18,0x70,0x60,
+};
+
+static const BitmapCharRec ch184 = {5,5,0,4,5,ch184data};
+
+/* char: 0xb7 */
+
+static const GLubyte ch183data[] = {
+0xc0,0xc0,
+};
+
+static const BitmapCharRec ch183 = {2,2,-1,-4,4,ch183data};
+
+/* char: 0xb6 */
+
+static const GLubyte ch182data[] = {
+0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x32,0x72,0xf2,0xf2,0xf2,0xf2,
+0x72,0x3f,
+};
+
+static const BitmapCharRec ch182 = {8,18,-1,4,10,ch182data};
+
+/* char: 0xb5 */
+
+static const GLubyte ch181data[] = {
+0xc0,0xc0,0xc0,0xc0,0xdb,0xff,0xe7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
+};
+
+static const BitmapCharRec ch181 = {8,14,-1,4,10,ch181data};
+
+/* char: 0xb4 */
+
+static const GLubyte ch180data[] = {
+0xc0,0x60,0x30,
+};
+
+static const BitmapCharRec ch180 = {4,3,0,-11,4,ch180data};
+
+/* char: 0xb3 */
+
+static const GLubyte ch179data[] = {
+0x70,0xf8,0x98,0x30,0x30,0x98,0xf8,0x70,
+};
+
+static const BitmapCharRec ch179 = {5,8,0,-5,6,ch179data};
+
+/* char: 0xb2 */
+
+static const GLubyte ch178data[] = {
+0xf8,0xf8,0x60,0x30,0x18,0x98,0xf8,0x70,
+};
+
+static const BitmapCharRec ch178 = {5,8,0,-5,6,ch178data};
+
+/* char: 0xb1 */
+
+static const GLubyte ch177data[] = {
+0xff,0xff,0x0,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18,
+};
+
+static const BitmapCharRec ch177 = {8,11,-1,0,10,ch177data};
+
+/* char: 0xb0 */
+
+static const GLubyte ch176data[] = {
+0x70,0xd8,0x88,0xd8,0x70,
+};
+
+static const BitmapCharRec ch176 = {5,5,-1,-8,7,ch176data};
+
+/* char: 0xaf */
+
+static const GLubyte ch175data[] = {
+0xf8,
+};
+
+static const BitmapCharRec ch175 = {5,1,0,-12,5,ch175data};
+
+/* char: 0xae */
+
+static const GLubyte ch174data[] = {
+0xf,0x80,0x30,0x60,0x40,0x10,0x48,0x50,0x88,0x88,0x89,0x8,0x8f,0x88,0x88,0x48,
+0x88,0x48,0x4f,0x90,0x40,0x10,0x30,0x60,0xf,0x80,
+};
+
+static const BitmapCharRec ch174 = {13,13,-1,0,14,ch174data};
+
+/* char: 0xad */
+
+static const GLubyte ch173data[] = {
+0xf8,0xf8,
+};
+
+static const BitmapCharRec ch173 = {5,2,-1,-4,7,ch173data};
+
+/* char: 0xac */
+
+static const GLubyte ch172data[] = {
+0x1,0x80,0x1,0x80,0x1,0x80,0xff,0x80,0xff,0x80,
+};
+
+static const BitmapCharRec ch172 = {9,5,-1,-3,11,ch172data};
+
+/* char: 0xab */
+
+static const GLubyte ch171data[] = {
+0x12,0x36,0x6c,0xd8,0xd8,0x6c,0x36,0x12,
+};
+
+static const BitmapCharRec ch171 = {7,8,-1,-1,9,ch171data};
+
+/* char: 0xaa */
+
+static const GLubyte ch170data[] = {
+0xf8,0x0,0x68,0xd8,0x48,0x38,0xc8,0x70,
+};
+
+static const BitmapCharRec ch170 = {5,8,-1,-6,7,ch170data};
+
+/* char: 0xa9 */
+
+static const GLubyte ch169data[] = {
+0xf,0x80,0x30,0x60,0x40,0x10,0x47,0x10,0x88,0x88,0x90,0x8,0x90,0x8,0x90,0x8,
+0x88,0x88,0x47,0x10,0x40,0x10,0x30,0x60,0xf,0x80,
+};
+
+static const BitmapCharRec ch169 = {13,13,-1,0,15,ch169data};
+
+/* char: 0xa8 */
+
+static const GLubyte ch168data[] = {
+0xd8,0xd8,
+};
+
+static const BitmapCharRec ch168 = {5,2,0,-11,6,ch168data};
+
+/* char: 0xa7 */
+
+static const GLubyte ch167data[] = {
+0x3c,0x7e,0xc3,0xc3,0x7,0xe,0x3e,0x73,0xe3,0xc3,0xc7,0x6e,0x7c,0xf0,0xc3,0xc3,
+0x7e,0x3c,
+};
+
+static const BitmapCharRec ch167 = {8,18,-1,4,10,ch167data};
+
+/* char: 0xa6 */
+
+static const GLubyte ch166data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,
+};
+
+static const BitmapCharRec ch166 = {2,17,-1,3,4,ch166data};
+
+/* char: 0xa5 */
+
+static const GLubyte ch165data[] = {
+0x18,0x18,0x18,0x18,0xff,0x18,0xff,0x3c,0x66,0x66,0x66,0xc3,0xc3,
+};
+
+static const BitmapCharRec ch165 = {8,13,-1,0,10,ch165data};
+
+/* char: 0xa4 */
+
+static const GLubyte ch164data[] = {
+0xc3,0xff,0x66,0x66,0x66,0xff,0xc3,
+};
+
+static const BitmapCharRec ch164 = {8,7,-1,-3,10,ch164data};
+
+/* char: 0xa3 */
+
+static const GLubyte ch163data[] = {
+0xdf,0x0,0xff,0x80,0x60,0x80,0x30,0x0,0x18,0x0,0x18,0x0,0x7e,0x0,0x30,0x0,
+0x60,0x0,0x61,0x80,0x61,0x80,0x3f,0x0,0x1e,0x0,
+};
+
+static const BitmapCharRec ch163 = {9,13,0,0,10,ch163data};
+
+/* char: 0xa2 */
+
+static const GLubyte ch162data[] = {
+0x10,0x10,0x3e,0x7f,0x6b,0xc8,0xc8,0xc8,0xc8,0x6b,0x7f,0x3e,0x4,0x4,
+};
+
+static const BitmapCharRec ch162 = {8,14,-1,2,10,ch162data};
+
+/* char: 0xa1 */
+
+static const GLubyte ch161data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x40,0x40,0x0,0x0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch161 = {2,14,-2,4,6,ch161data};
+
+/* char: 0xa0 */
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch160data[] = { 0x0 };
+static const BitmapCharRec ch160 = {1,1,0,0,5,ch160data};
+#else
+static const BitmapCharRec ch160 = {0,0,0,0,5,0};
+#endif
+
+/* char: 0x7e '~' */
+
+static const GLubyte ch126data[] = {
+0xcc,0x7e,0x33,
+};
+
+static const BitmapCharRec ch126 = {8,3,-1,-4,10,ch126data};
+
+/* char: 0x7d '}' */
+
+static const GLubyte ch125data[] = {
+0xc0,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0xc,0x18,0x30,0x30,0x30,0x30,0x30,
+0x60,0xc0,
+};
+
+static const BitmapCharRec ch125 = {6,18,0,4,6,ch125data};
+
+/* char: 0x7c '|' */
+
+static const GLubyte ch124data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,0xc0,
+};
+
+static const BitmapCharRec ch124 = {2,18,-1,4,4,ch124data};
+
+/* char: 0x7b '{' */
+
+static const GLubyte ch123data[] = {
+0xc,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0xc0,0x60,0x30,0x30,0x30,0x30,0x30,
+0x18,0xc,
+};
+
+static const BitmapCharRec ch123 = {6,18,0,4,6,ch123data};
+
+/* char: 0x7a 'z' */
+
+static const GLubyte ch122data[] = {
+0xfe,0xfe,0xc0,0x60,0x30,0x18,0xc,0x6,0xfe,0xfe,
+};
+
+static const BitmapCharRec ch122 = {7,10,-1,0,9,ch122data};
+
+/* char: 0x79 'y' */
+
+static const GLubyte ch121data[] = {
+0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,
+};
+
+static const BitmapCharRec ch121 = {8,14,-1,4,10,ch121data};
+
+/* char: 0x78 'x' */
+
+static const GLubyte ch120data[] = {
+0xc3,0xe7,0x66,0x3c,0x18,0x18,0x3c,0x66,0xe7,0xc3,
+};
+
+static const BitmapCharRec ch120 = {8,10,-1,0,10,ch120data};
+
+/* char: 0x77 'w' */
+
+static const GLubyte ch119data[] = {
+0x19,0x80,0x19,0x80,0x39,0xc0,0x29,0x40,0x69,0x60,0x66,0x60,0x66,0x60,0xc6,0x30,
+0xc6,0x30,0xc6,0x30,
+};
+
+static const BitmapCharRec ch119 = {12,10,-1,0,14,ch119data};
+
+/* char: 0x76 'v' */
+
+static const GLubyte ch118data[] = {
+0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,
+};
+
+static const BitmapCharRec ch118 = {8,10,-1,0,10,ch118data};
+
+/* char: 0x75 'u' */
+
+static const GLubyte ch117data[] = {
+0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
+};
+
+static const BitmapCharRec ch117 = {8,10,-1,0,10,ch117data};
+
+/* char: 0x74 't' */
+
+static const GLubyte ch116data[] = {
+0x18,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x30,
+};
+
+static const BitmapCharRec ch116 = {6,13,0,0,6,ch116data};
+
+/* char: 0x73 's' */
+
+static const GLubyte ch115data[] = {
+0x78,0xfc,0xc6,0x6,0x3e,0xfc,0xc0,0xc6,0x7e,0x3c,
+};
+
+static const BitmapCharRec ch115 = {7,10,-1,0,9,ch115data};
+
+/* char: 0x72 'r' */
+
+static const GLubyte ch114data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xe0,0xd8,0xd8,
+};
+
+static const BitmapCharRec ch114 = {5,10,-1,0,6,ch114data};
+
+/* char: 0x71 'q' */
+
+static const GLubyte ch113data[] = {
+0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,
+0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x80,0x7f,0x80,0x3d,0x80,
+};
+
+static const BitmapCharRec ch113 = {9,14,-1,4,11,ch113data};
+
+/* char: 0x70 'p' */
+
+static const GLubyte ch112data[] = {
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,
+0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,0xff,0x0,0xde,0x0,
+};
+
+static const BitmapCharRec ch112 = {9,14,-1,4,11,ch112data};
+
+/* char: 0x6f 'o' */
+
+static const GLubyte ch111data[] = {
+0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
+0x7f,0x0,0x3e,0x0,
+};
+
+static const BitmapCharRec ch111 = {9,10,-1,0,11,ch111data};
+
+/* char: 0x6e 'n' */
+
+static const GLubyte ch110data[] = {
+0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,
+};
+
+static const BitmapCharRec ch110 = {8,10,-1,0,10,ch110data};
+
+/* char: 0x6d 'm' */
+
+static const GLubyte ch109data[] = {
+0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xe7,0x30,
+0xde,0xf0,0xcc,0x60,
+};
+
+static const BitmapCharRec ch109 = {12,10,-1,0,14,ch109data};
+
+/* char: 0x6c 'l' */
+
+static const GLubyte ch108data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch108 = {2,14,-1,0,4,ch108data};
+
+/* char: 0x6b 'k' */
+
+static const GLubyte ch107data[] = {
+0xc7,0xc6,0xce,0xcc,0xd8,0xf8,0xf0,0xd8,0xcc,0xc6,0xc0,0xc0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch107 = {8,14,-1,0,9,ch107data};
+
+/* char: 0x6a 'j' */
+
+static const GLubyte ch106data[] = {
+0xe0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x0,
+0x30,0x30,
+};
+
+static const BitmapCharRec ch106 = {4,18,1,4,4,ch106data};
+
+/* char: 0x69 'i' */
+
+static const GLubyte ch105data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch105 = {2,14,-1,0,4,ch105data};
+
+/* char: 0x68 'h' */
+
+static const GLubyte ch104data[] = {
+0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0xc0,0xc0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch104 = {8,14,-1,0,10,ch104data};
+
+/* char: 0x67 'g' */
+
+static const GLubyte ch103data[] = {
+0x1c,0x0,0x7f,0x0,0x63,0x0,0x1,0x80,0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,
+0xc1,0x80,0xc1,0x80,0xc1,0x80,0x61,0x80,0x7f,0x80,0x3d,0x80,
+};
+
+static const BitmapCharRec ch103 = {9,14,-1,4,11,ch103data};
+
+/* char: 0x66 'f' */
+
+static const GLubyte ch102data[] = {
+0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x3c,0x1c,
+};
+
+static const BitmapCharRec ch102 = {6,14,0,0,6,ch102data};
+
+/* char: 0x65 'e' */
+
+static const GLubyte ch101data[] = {
+0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,
+};
+
+static const BitmapCharRec ch101 = {8,10,-1,0,10,ch101data};
+
+/* char: 0x64 'd' */
+
+static const GLubyte ch100data[] = {
+0x3d,0x80,0x7f,0x80,0x63,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x80,
+0x7f,0x80,0x3d,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,
+};
+
+static const BitmapCharRec ch100 = {9,14,-1,0,11,ch100data};
+
+/* char: 0x63 'c' */
+
+static const GLubyte ch99data[] = {
+0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e,
+};
+
+static const BitmapCharRec ch99 = {8,10,-1,0,10,ch99data};
+
+/* char: 0x62 'b' */
+
+static const GLubyte ch98data[] = {
+0xde,0x0,0xff,0x0,0xe3,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xe3,0x0,
+0xff,0x0,0xde,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
+};
+
+static const BitmapCharRec ch98 = {9,14,-1,0,11,ch98data};
+
+/* char: 0x61 'a' */
+
+static const GLubyte ch97data[] = {
+0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,
+};
+
+static const BitmapCharRec ch97 = {7,10,-1,0,9,ch97data};
+
+/* char: 0x60 '`' */
+
+static const GLubyte ch96data[] = {
+0xc0,0xc0,0x80,0x80,0x40,
+};
+
+static const BitmapCharRec ch96 = {2,5,-1,-9,4,ch96data};
+
+/* char: 0x5f '_' */
+
+static const GLubyte ch95data[] = {
+0xff,0xc0,0xff,0xc0,
+};
+
+static const BitmapCharRec ch95 = {10,2,0,4,10,ch95data};
+
+/* char: 0x5e '^' */
+
+static const GLubyte ch94data[] = {
+0x82,0xc6,0x6c,0x38,0x10,
+};
+
+static const BitmapCharRec ch94 = {7,5,-1,-8,9,ch94data};
+
+/* char: 0x5d ']' */
+
+static const GLubyte ch93data[] = {
+0xf0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+0xf0,0xf0,
+};
+
+static const BitmapCharRec ch93 = {4,18,0,4,5,ch93data};
+
+/* char: 0x5c '\' */
+
+static const GLubyte ch92data[] = {
+0x18,0x18,0x10,0x10,0x30,0x30,0x20,0x20,0x60,0x60,0x40,0x40,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch92 = {5,14,0,0,5,ch92data};
+
+/* char: 0x5b '[' */
+
+static const GLubyte ch91data[] = {
+0xf0,0xf0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xf0,0xf0,
+};
+
+static const BitmapCharRec ch91 = {4,18,-1,4,5,ch91data};
+
+/* char: 0x5a 'Z' */
+
+static const GLubyte ch90data[] = {
+0xff,0xc0,0xff,0xc0,0xc0,0x0,0x60,0x0,0x30,0x0,0x18,0x0,0x1c,0x0,0xc,0x0,
+0x6,0x0,0x3,0x0,0x1,0x80,0x0,0xc0,0xff,0xc0,0xff,0xc0,
+};
+
+static const BitmapCharRec ch90 = {10,14,-1,0,12,ch90data};
+
+/* char: 0x59 'Y' */
+
+static const GLubyte ch89data[] = {
+0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xf,0x0,0x19,0x80,
+0x30,0xc0,0x30,0xc0,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,
+};
+
+static const BitmapCharRec ch89 = {12,14,-1,0,14,ch89data};
+
+/* char: 0x58 'X' */
+
+static const GLubyte ch88data[] = {
+0xc0,0x60,0xe0,0xe0,0x60,0xc0,0x71,0xc0,0x31,0x80,0x1b,0x0,0xe,0x0,0xe,0x0,
+0x1b,0x0,0x31,0x80,0x71,0xc0,0x60,0xc0,0xe0,0xe0,0xc0,0x60,
+};
+
+static const BitmapCharRec ch88 = {11,14,-1,0,13,ch88data};
+
+/* char: 0x57 'W' */
+
+static const GLubyte ch87data[] = {
+0x18,0x18,0x18,0x18,0x1c,0x38,0x34,0x2c,0x36,0x6c,0x36,0x6c,0x66,0x66,0x66,0x66,
+0x62,0x46,0x63,0xc6,0xc3,0xc3,0xc1,0x83,0xc1,0x83,0xc1,0x83,
+};
+
+static const BitmapCharRec ch87 = {16,14,-1,0,18,ch87data};
+
+/* char: 0x56 'V' */
+
+static const GLubyte ch86data[] = {
+0x6,0x0,0xf,0x0,0xf,0x0,0x19,0x80,0x19,0x80,0x19,0x80,0x30,0xc0,0x30,0xc0,
+0x30,0xc0,0x60,0x60,0x60,0x60,0x60,0x60,0xc0,0x30,0xc0,0x30,
+};
+
+static const BitmapCharRec ch86 = {12,14,-1,0,14,ch86data};
+
+/* char: 0x55 'U' */
+
+static const GLubyte ch85data[] = {
+0x1f,0x0,0x7f,0xc0,0x60,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
+0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
+};
+
+static const BitmapCharRec ch85 = {11,14,-1,0,13,ch85data};
+
+/* char: 0x54 'T' */
+
+static const GLubyte ch84data[] = {
+0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,
+0xc,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0xff,0xc0,0xff,0xc0,
+};
+
+static const BitmapCharRec ch84 = {10,14,-1,0,12,ch84data};
+
+/* char: 0x53 'S' */
+
+static const GLubyte ch83data[] = {
+0x3f,0x0,0x7f,0xc0,0xe0,0xe0,0xc0,0x60,0x0,0x60,0x0,0xe0,0x3,0xc0,0x1f,0x0,
+0x7c,0x0,0xe0,0x0,0xc0,0x60,0xe0,0xe0,0x7f,0xc0,0x1f,0x0,
+};
+
+static const BitmapCharRec ch83 = {11,14,-1,0,13,ch83data};
+
+/* char: 0x52 'R' */
+
+static const GLubyte ch82data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0x80,0xc1,0x80,0xff,0x0,0xff,0x80,
+0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
+};
+
+static const BitmapCharRec ch82 = {10,14,-1,0,12,ch82data};
+
+/* char: 0x51 'Q' */
+
+static const GLubyte ch81data[] = {
+0x0,0x30,0xf,0xb0,0x3f,0xe0,0x70,0xf0,0x61,0xb0,0xe1,0xb8,0xc0,0x18,0xc0,0x18,
+0xc0,0x18,0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
+};
+
+static const BitmapCharRec ch81 = {13,15,-1,1,15,ch81data};
+
+/* char: 0x50 'P' */
+
+static const GLubyte ch80data[] = {
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x80,
+0xc1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
+};
+
+static const BitmapCharRec ch80 = {10,14,-1,0,12,ch80data};
+
+/* char: 0x4f 'O' */
+
+static const GLubyte ch79data[] = {
+0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x38,0xc0,0x18,0xc0,0x18,0xc0,0x18,
+0xc0,0x18,0xe0,0x38,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
+};
+
+static const BitmapCharRec ch79 = {13,14,-1,0,15,ch79data};
+
+/* char: 0x4e 'N' */
+
+static const GLubyte ch78data[] = {
+0xc0,0x60,0xc0,0xe0,0xc1,0xe0,0xc1,0xe0,0xc3,0x60,0xc6,0x60,0xc6,0x60,0xcc,0x60,
+0xcc,0x60,0xd8,0x60,0xf0,0x60,0xf0,0x60,0xe0,0x60,0xc0,0x60,
+};
+
+static const BitmapCharRec ch78 = {11,14,-1,0,13,ch78data};
+
+/* char: 0x4d 'M' */
+
+static const GLubyte ch77data[] = {
+0xc3,0xc,0xc3,0xc,0xc7,0x8c,0xc4,0x8c,0xcc,0xcc,0xcc,0xcc,0xd8,0x6c,0xd8,0x6c,
+0xf0,0x3c,0xf0,0x3c,0xe0,0x1c,0xe0,0x1c,0xc0,0xc,0xc0,0xc,
+};
+
+static const BitmapCharRec ch77 = {14,14,-1,0,16,ch77data};
+
+/* char: 0x4c 'L' */
+
+static const GLubyte ch76data[] = {
+0xff,0xff,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch76 = {8,14,-1,0,10,ch76data};
+
+/* char: 0x4b 'K' */
+
+static const GLubyte ch75data[] = {
+0xc0,0x70,0xc0,0xe0,0xc1,0xc0,0xc3,0x80,0xc7,0x0,0xce,0x0,0xfc,0x0,0xf8,0x0,
+0xdc,0x0,0xce,0x0,0xc7,0x0,0xc3,0x80,0xc1,0xc0,0xc0,0xe0,
+};
+
+static const BitmapCharRec ch75 = {12,14,-1,0,13,ch75data};
+
+/* char: 0x4a 'J' */
+
+static const GLubyte ch74data[] = {
+0x3c,0x7e,0xe7,0xc3,0xc3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,
+};
+
+static const BitmapCharRec ch74 = {8,14,-1,0,10,ch74data};
+
+/* char: 0x49 'I' */
+
+static const GLubyte ch73data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch73 = {2,14,-2,0,6,ch73data};
+
+/* char: 0x48 'H' */
+
+static const GLubyte ch72data[] = {
+0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xff,0xe0,0xff,0xe0,
+0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
+};
+
+static const BitmapCharRec ch72 = {11,14,-1,0,13,ch72data};
+
+/* char: 0x47 'G' */
+
+static const GLubyte ch71data[] = {
+0xf,0xb0,0x3f,0xf0,0x70,0x70,0x60,0x30,0xe0,0x30,0xc1,0xf0,0xc1,0xf0,0xc0,0x0,
+0xc0,0x0,0xe0,0x30,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
+};
+
+static const BitmapCharRec ch71 = {12,14,-1,0,14,ch71data};
+
+/* char: 0x46 'F' */
+
+static const GLubyte ch70data[] = {
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,
+};
+
+static const BitmapCharRec ch70 = {9,14,-1,0,11,ch70data};
+
+/* char: 0x45 'E' */
+
+static const GLubyte ch69data[] = {
+0xff,0x80,0xff,0x80,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x0,0xff,0x0,
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,0xff,0x80,
+};
+
+static const BitmapCharRec ch69 = {9,14,-1,0,11,ch69data};
+
+/* char: 0x44 'D' */
+
+static const GLubyte ch68data[] = {
+0xff,0x0,0xff,0x80,0xc1,0xc0,0xc0,0xc0,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,
+0xc0,0x60,0xc0,0x60,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
+};
+
+static const BitmapCharRec ch68 = {11,14,-1,0,13,ch68data};
+
+/* char: 0x43 'C' */
+
+static const GLubyte ch67data[] = {
+0xf,0x80,0x3f,0xe0,0x70,0x70,0x60,0x30,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
+0xc0,0x0,0xe0,0x0,0x60,0x30,0x70,0x70,0x3f,0xe0,0xf,0x80,
+};
+
+static const BitmapCharRec ch67 = {12,14,-1,0,14,ch67data};
+
+/* char: 0x42 'B' */
+
+static const GLubyte ch66data[] = {
+0xff,0x80,0xff,0xc0,0xc0,0xe0,0xc0,0x60,0xc0,0x60,0xc0,0xe0,0xff,0xc0,0xff,0x80,
+0xc1,0x80,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0xff,0x80,0xff,0x0,
+};
+
+static const BitmapCharRec ch66 = {11,14,-1,0,13,ch66data};
+
+/* char: 0x41 'A' */
+
+static const GLubyte ch65data[] = {
+0xc0,0x30,0xc0,0x30,0x60,0x60,0x60,0x60,0x7f,0xe0,0x3f,0xc0,0x30,0xc0,0x30,0xc0,
+0x19,0x80,0x19,0x80,0xf,0x0,0xf,0x0,0x6,0x0,0x6,0x0,
+};
+
+static const BitmapCharRec ch65 = {12,14,0,0,12,ch65data};
+
+/* char: 0x40 '@' */
+
+static const GLubyte ch64data[] = {
+0x7,0xe0,0x1f,0xf0,0x38,0x0,0x70,0x0,0x67,0x70,0xcf,0xf8,0xcc,0xcc,0xcc,0x66,
+0xcc,0x66,0xcc,0x63,0xc6,0x33,0x67,0x73,0x63,0xb3,0x30,0x6,0x1c,0xe,0xf,0xfc,
+0x3,0xf0,
+};
+
+static const BitmapCharRec ch64 = {16,17,-1,3,18,ch64data};
+
+/* char: 0x3f '?' */
+
+static const GLubyte ch63data[] = {
+0x30,0x30,0x0,0x0,0x30,0x30,0x30,0x38,0x1c,0xe,0xc6,0xc6,0xfe,0x7c,
+};
+
+static const BitmapCharRec ch63 = {7,14,-1,0,10,ch63data};
+
+/* char: 0x3e '>' */
+
+static const GLubyte ch62data[] = {
+0xc0,0xf0,0x3c,0xe,0x3,0xe,0x3c,0xf0,0xc0,
+};
+
+static const BitmapCharRec ch62 = {8,9,-1,0,10,ch62data};
+
+/* char: 0x3d '=' */
+
+static const GLubyte ch61data[] = {
+0xfe,0xfe,0x0,0x0,0xfe,0xfe,
+};
+
+static const BitmapCharRec ch61 = {7,6,-2,-2,11,ch61data};
+
+/* char: 0x3c '<' */
+
+static const GLubyte ch60data[] = {
+0x3,0xf,0x3c,0x70,0xc0,0x70,0x3c,0xf,0x3,
+};
+
+static const BitmapCharRec ch60 = {8,9,-1,0,10,ch60data};
+
+/* char: 0x3b ';' */
+
+static const GLubyte ch59data[] = {
+0x80,0x40,0x40,0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch59 = {2,13,-1,3,5,ch59data};
+
+/* char: 0x3a ':' */
+
+static const GLubyte ch58data[] = {
+0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch58 = {2,10,-1,0,5,ch58data};
+
+/* char: 0x39 '9' */
+
+static const GLubyte ch57data[] = {
+0x7c,0xfe,0xc6,0x3,0x3,0x3b,0x7f,0xc3,0xc3,0xc3,0xc7,0x7e,0x3c,
+};
+
+static const BitmapCharRec ch57 = {8,13,-1,0,10,ch57data};
+
+/* char: 0x38 '8' */
+
+static const GLubyte ch56data[] = {
+0x3c,0x7e,0xe7,0xc3,0xc3,0x66,0x7e,0x66,0xc3,0xc3,0xe7,0x7e,0x3c,
+};
+
+static const BitmapCharRec ch56 = {8,13,-1,0,10,ch56data};
+
+/* char: 0x37 '7' */
+
+static const GLubyte ch55data[] = {
+0x60,0x60,0x30,0x30,0x30,0x18,0x18,0xc,0xc,0x6,0x3,0xff,0xff,
+};
+
+static const BitmapCharRec ch55 = {8,13,-1,0,10,ch55data};
+
+/* char: 0x36 '6' */
+
+static const GLubyte ch54data[] = {
+0x3c,0x7e,0xe3,0xc3,0xc3,0xc3,0xfe,0xdc,0xc0,0xc0,0x63,0x7f,0x3c,
+};
+
+static const BitmapCharRec ch54 = {8,13,-1,0,10,ch54data};
+
+/* char: 0x35 '5' */
+
+static const GLubyte ch53data[] = {
+0x7c,0xfe,0xc7,0xc3,0x3,0x3,0xc7,0xfe,0xfc,0xc0,0xc0,0xfe,0xfe,
+};
+
+static const BitmapCharRec ch53 = {8,13,-1,0,10,ch53data};
+
+/* char: 0x34 '4' */
+
+static const GLubyte ch52data[] = {
+0x3,0x0,0x3,0x0,0x3,0x0,0xff,0x80,0xff,0x80,0xc3,0x0,0x63,0x0,0x33,0x0,
+0x33,0x0,0x1b,0x0,0xf,0x0,0x7,0x0,0x3,0x0,
+};
+
+static const BitmapCharRec ch52 = {9,13,-1,0,10,ch52data};
+
+/* char: 0x33 '3' */
+
+static const GLubyte ch51data[] = {
+0x3c,0x7e,0xc7,0xc3,0x3,0x7,0x1e,0x1c,0x6,0xc3,0xc3,0x7e,0x3c,
+};
+
+static const BitmapCharRec ch51 = {8,13,-1,0,10,ch51data};
+
+/* char: 0x32 '2' */
+
+static const GLubyte ch50data[] = {
+0xff,0xff,0xc0,0xe0,0x70,0x38,0x1c,0xe,0x7,0x3,0xc3,0xfe,0x3c,
+};
+
+static const BitmapCharRec ch50 = {8,13,-1,0,10,ch50data};
+
+/* char: 0x31 '1' */
+
+static const GLubyte ch49data[] = {
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0xf8,0x18,
+};
+
+static const BitmapCharRec ch49 = {5,13,-2,0,10,ch49data};
+
+/* char: 0x30 '0' */
+
+static const GLubyte ch48data[] = {
+0x3c,0x7e,0x66,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x66,0x7e,0x3c,
+};
+
+static const BitmapCharRec ch48 = {8,13,-1,0,10,ch48data};
+
+/* char: 0x2f '/' */
+
+static const GLubyte ch47data[] = {
+0xc0,0xc0,0x40,0x40,0x60,0x60,0x20,0x20,0x30,0x30,0x10,0x10,0x18,0x18,
+};
+
+static const BitmapCharRec ch47 = {5,14,0,0,5,ch47data};
+
+/* char: 0x2e '.' */
+
+static const GLubyte ch46data[] = {
+0xc0,0xc0,
+};
+
+static const BitmapCharRec ch46 = {2,2,-1,0,5,ch46data};
+
+/* char: 0x2d '-' */
+
+static const GLubyte ch45data[] = {
+0xff,0xff,
+};
+
+static const BitmapCharRec ch45 = {8,2,-1,-4,11,ch45data};
+
+/* char: 0x2c ',' */
+
+static const GLubyte ch44data[] = {
+0x80,0x40,0x40,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch44 = {2,5,-1,3,5,ch44data};
+
+/* char: 0x2b '+' */
+
+static const GLubyte ch43data[] = {
+0x18,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18,0x18,
+};
+
+static const BitmapCharRec ch43 = {8,10,-1,0,10,ch43data};
+
+/* char: 0x2a '*' */
+
+static const GLubyte ch42data[] = {
+0x88,0x70,0x70,0xf8,0x20,0x20,
+};
+
+static const BitmapCharRec ch42 = {5,6,-1,-8,7,ch42data};
+
+/* char: 0x29 ')' */
+
+static const GLubyte ch41data[] = {
+0x80,0xc0,0x60,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0x60,
+0xc0,0x80,
+};
+
+static const BitmapCharRec ch41 = {4,18,-1,4,6,ch41data};
+
+/* char: 0x28 '(' */
+
+static const GLubyte ch40data[] = {
+0x10,0x30,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,0x60,
+0x30,0x10,
+};
+
+static const BitmapCharRec ch40 = {4,18,-1,4,6,ch40data};
+
+/* char: 0x27 ''' */
+
+static const GLubyte ch39data[] = {
+0x80,0x40,0x40,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch39 = {2,5,-1,-9,4,ch39data};
+
+/* char: 0x26 '&' */
+
+static const GLubyte ch38data[] = {
+0x3c,0x70,0x7e,0xe0,0xe7,0xc0,0xc3,0x80,0xc3,0xc0,0xc6,0xc0,0xee,0xc0,0x7c,0x0,
+0x3c,0x0,0x66,0x0,0x66,0x0,0x7e,0x0,0x3c,0x0,
+};
+
+static const BitmapCharRec ch38 = {12,13,-1,0,13,ch38data};
+
+/* char: 0x25 '%' */
+
+static const GLubyte ch37data[] = {
+0x18,0x78,0x18,0xfc,0xc,0xcc,0xc,0xcc,0x6,0xfc,0x6,0x78,0x3,0x0,0x7b,0x0,
+0xfd,0x80,0xcd,0x80,0xcc,0xc0,0xfc,0xc0,0x78,0x60,
+};
+
+static const BitmapCharRec ch37 = {14,13,-1,0,16,ch37data};
+
+/* char: 0x24 '$' */
+
+static const GLubyte ch36data[] = {
+0x8,0x0,0x8,0x0,0x3e,0x0,0x7f,0x0,0xeb,0x80,0xc9,0x80,0x9,0x80,0xf,0x0,
+0x3e,0x0,0x78,0x0,0xe8,0x0,0xc8,0x0,0xcb,0x0,0x7f,0x0,0x3e,0x0,0x8,0x0,
+};
+
+static const BitmapCharRec ch36 = {9,16,-1,2,10,ch36data};
+
+/* char: 0x23 '#' */
+
+static const GLubyte ch35data[] = {
+0x24,0x0,0x24,0x0,0x24,0x0,0xff,0x80,0xff,0x80,0x12,0x0,0x12,0x0,0x12,0x0,
+0x7f,0xc0,0x7f,0xc0,0x9,0x0,0x9,0x0,0x9,0x0,
+};
+
+static const BitmapCharRec ch35 = {10,13,0,0,10,ch35data};
+
+/* char: 0x22 '"' */
+
+static const GLubyte ch34data[] = {
+0x90,0x90,0xd8,0xd8,0xd8,
+};
+
+static const BitmapCharRec ch34 = {5,5,0,-9,5,ch34data};
+
+/* char: 0x21 '!' */
+
+static const GLubyte ch33data[] = {
+0xc0,0xc0,0x0,0x0,0x80,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch33 = {2,14,-2,0,6,ch33data};
+
+/* char: 0x20 ' ' */
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch32data[] = { 0x0 };
+static const BitmapCharRec ch32 = {1,1,0,0,5,ch32data};
+#else
+static const BitmapCharRec ch32 = {0,0,0,0,5,0};
+#endif
+
+static const BitmapCharRec * const chars[] = {
+&ch32,
+&ch33,
+&ch34,
+&ch35,
+&ch36,
+&ch37,
+&ch38,
+&ch39,
+&ch40,
+&ch41,
+&ch42,
+&ch43,
+&ch44,
+&ch45,
+&ch46,
+&ch47,
+&ch48,
+&ch49,
+&ch50,
+&ch51,
+&ch52,
+&ch53,
+&ch54,
+&ch55,
+&ch56,
+&ch57,
+&ch58,
+&ch59,
+&ch60,
+&ch61,
+&ch62,
+&ch63,
+&ch64,
+&ch65,
+&ch66,
+&ch67,
+&ch68,
+&ch69,
+&ch70,
+&ch71,
+&ch72,
+&ch73,
+&ch74,
+&ch75,
+&ch76,
+&ch77,
+&ch78,
+&ch79,
+&ch80,
+&ch81,
+&ch82,
+&ch83,
+&ch84,
+&ch85,
+&ch86,
+&ch87,
+&ch88,
+&ch89,
+&ch90,
+&ch91,
+&ch92,
+&ch93,
+&ch94,
+&ch95,
+&ch96,
+&ch97,
+&ch98,
+&ch99,
+&ch100,
+&ch101,
+&ch102,
+&ch103,
+&ch104,
+&ch105,
+&ch106,
+&ch107,
+&ch108,
+&ch109,
+&ch110,
+&ch111,
+&ch112,
+&ch113,
+&ch114,
+&ch115,
+&ch116,
+&ch117,
+&ch118,
+&ch119,
+&ch120,
+&ch121,
+&ch122,
+&ch123,
+&ch124,
+&ch125,
+&ch126,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+&ch160,
+&ch161,
+&ch162,
+&ch163,
+&ch164,
+&ch165,
+&ch166,
+&ch167,
+&ch168,
+&ch169,
+&ch170,
+&ch171,
+&ch172,
+&ch173,
+&ch174,
+&ch175,
+&ch176,
+&ch177,
+&ch178,
+&ch179,
+&ch180,
+&ch181,
+&ch182,
+&ch183,
+&ch184,
+&ch185,
+&ch186,
+&ch187,
+&ch188,
+&ch189,
+&ch190,
+&ch191,
+&ch192,
+&ch193,
+&ch194,
+&ch195,
+&ch196,
+&ch197,
+&ch198,
+&ch199,
+&ch200,
+&ch201,
+&ch202,
+&ch203,
+&ch204,
+&ch205,
+&ch206,
+&ch207,
+&ch208,
+&ch209,
+&ch210,
+&ch211,
+&ch212,
+&ch213,
+&ch214,
+&ch215,
+&ch216,
+&ch217,
+&ch218,
+&ch219,
+&ch220,
+&ch221,
+&ch222,
+&ch223,
+&ch224,
+&ch225,
+&ch226,
+&ch227,
+&ch228,
+&ch229,
+&ch230,
+&ch231,
+&ch232,
+&ch233,
+&ch234,
+&ch235,
+&ch236,
+&ch237,
+&ch238,
+&ch239,
+&ch240,
+&ch241,
+&ch242,
+&ch243,
+&ch244,
+&ch245,
+&ch246,
+&ch247,
+&ch248,
+&ch249,
+&ch250,
+&ch251,
+&ch252,
+&ch253,
+&ch254,
+&ch255,
+};
+
+// jeh: removed const so mwld can export structure to shared lib
+BitmapFontRec glutBitmapHelvetica18 = {
+"-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1",
+224,
+32,
+chars
+};
+
diff --git a/src/glut/beos/glut_mroman.cpp b/src/glut/beos/glut_mroman.cpp
new file mode 100644 (file)
index 0000000..a29f043
--- /dev/null
@@ -0,0 +1,2451 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "glutstroke.h"
+
+/* char: 33 '!' */
+
+static const CoordRec char33_stroke0[] = {
+    { 52.381, 100 },
+    { 52.381, 33.3333 },
+};
+
+static const CoordRec char33_stroke1[] = {
+    { 52.381, 9.5238 },
+    { 47.6191, 4.7619 },
+    { 52.381, 0 },
+    { 57.1429, 4.7619 },
+    { 52.381, 9.5238 },
+};
+
+static const StrokeRec char33[] = {
+   { 2, char33_stroke0 },
+   { 5, char33_stroke1 },
+};
+
+/* char: 34 '"' */
+
+static const CoordRec char34_stroke0[] = {
+    { 33.3334, 100 },
+    { 33.3334, 66.6667 },
+};
+
+static const CoordRec char34_stroke1[] = {
+    { 71.4286, 100 },
+    { 71.4286, 66.6667 },
+};
+
+static const StrokeRec char34[] = {
+   { 2, char34_stroke0 },
+   { 2, char34_stroke1 },
+};
+
+/* char: 35 '#' */
+
+static const CoordRec char35_stroke0[] = {
+    { 54.7619, 119.048 },
+    { 21.4286, -33.3333 },
+};
+
+static const CoordRec char35_stroke1[] = {
+    { 83.3334, 119.048 },
+    { 50, -33.3333 },
+};
+
+static const CoordRec char35_stroke2[] = {
+    { 21.4286, 57.1429 },
+    { 88.0952, 57.1429 },
+};
+
+static const CoordRec char35_stroke3[] = {
+    { 16.6667, 28.5714 },
+    { 83.3334, 28.5714 },
+};
+
+static const StrokeRec char35[] = {
+   { 2, char35_stroke0 },
+   { 2, char35_stroke1 },
+   { 2, char35_stroke2 },
+   { 2, char35_stroke3 },
+};
+
+/* char: 36 '$' */
+
+static const CoordRec char36_stroke0[] = {
+    { 42.8571, 119.048 },
+    { 42.8571, -19.0476 },
+};
+
+static const CoordRec char36_stroke1[] = {
+    { 61.9047, 119.048 },
+    { 61.9047, -19.0476 },
+};
+
+static const CoordRec char36_stroke2[] = {
+    { 85.7143, 85.7143 },
+    { 76.1905, 95.2381 },
+    { 61.9047, 100 },
+    { 42.8571, 100 },
+    { 28.5714, 95.2381 },
+    { 19.0476, 85.7143 },
+    { 19.0476, 76.1905 },
+    { 23.8095, 66.6667 },
+    { 28.5714, 61.9048 },
+    { 38.0952, 57.1429 },
+    { 66.6666, 47.619 },
+    { 76.1905, 42.8571 },
+    { 80.9524, 38.0952 },
+    { 85.7143, 28.5714 },
+    { 85.7143, 14.2857 },
+    { 76.1905, 4.7619 },
+    { 61.9047, 0 },
+    { 42.8571, 0 },
+    { 28.5714, 4.7619 },
+    { 19.0476, 14.2857 },
+};
+
+static const StrokeRec char36[] = {
+   { 2, char36_stroke0 },
+   { 2, char36_stroke1 },
+   { 20, char36_stroke2 },
+};
+
+/* char: 37 '%' */
+
+static const CoordRec char37_stroke0[] = {
+    { 95.2381, 100 },
+    { 9.5238, 0 },
+};
+
+static const CoordRec char37_stroke1[] = {
+    { 33.3333, 100 },
+    { 42.8571, 90.4762 },
+    { 42.8571, 80.9524 },
+    { 38.0952, 71.4286 },
+    { 28.5714, 66.6667 },
+    { 19.0476, 66.6667 },
+    { 9.5238, 76.1905 },
+    { 9.5238, 85.7143 },
+    { 14.2857, 95.2381 },
+    { 23.8095, 100 },
+    { 33.3333, 100 },
+    { 42.8571, 95.2381 },
+    { 57.1428, 90.4762 },
+    { 71.4286, 90.4762 },
+    { 85.7143, 95.2381 },
+    { 95.2381, 100 },
+};
+
+static const CoordRec char37_stroke2[] = {
+    { 76.1905, 33.3333 },
+    { 66.6667, 28.5714 },
+    { 61.9048, 19.0476 },
+    { 61.9048, 9.5238 },
+    { 71.4286, 0 },
+    { 80.9524, 0 },
+    { 90.4762, 4.7619 },
+    { 95.2381, 14.2857 },
+    { 95.2381, 23.8095 },
+    { 85.7143, 33.3333 },
+    { 76.1905, 33.3333 },
+};
+
+static const StrokeRec char37[] = {
+   { 2, char37_stroke0 },
+   { 16, char37_stroke1 },
+   { 11, char37_stroke2 },
+};
+
+/* char: 38 '&' */
+
+static const CoordRec char38_stroke0[] = {
+    { 100, 57.1429 },
+    { 100, 61.9048 },
+    { 95.2381, 66.6667 },
+    { 90.4762, 66.6667 },
+    { 85.7143, 61.9048 },
+    { 80.9524, 52.381 },
+    { 71.4286, 28.5714 },
+    { 61.9048, 14.2857 },
+    { 52.3809, 4.7619 },
+    { 42.8571, 0 },
+    { 23.8095, 0 },
+    { 14.2857, 4.7619 },
+    { 9.5238, 9.5238 },
+    { 4.7619, 19.0476 },
+    { 4.7619, 28.5714 },
+    { 9.5238, 38.0952 },
+    { 14.2857, 42.8571 },
+    { 47.619, 61.9048 },
+    { 52.3809, 66.6667 },
+    { 57.1429, 76.1905 },
+    { 57.1429, 85.7143 },
+    { 52.3809, 95.2381 },
+    { 42.8571, 100 },
+    { 33.3333, 95.2381 },
+    { 28.5714, 85.7143 },
+    { 28.5714, 76.1905 },
+    { 33.3333, 61.9048 },
+    { 42.8571, 47.619 },
+    { 66.6667, 14.2857 },
+    { 76.1905, 4.7619 },
+    { 85.7143, 0 },
+    { 95.2381, 0 },
+    { 100, 4.7619 },
+    { 100, 9.5238 },
+};
+
+static const StrokeRec char38[] = {
+   { 34, char38_stroke0 },
+};
+
+/* char: 39 ''' */
+
+static const CoordRec char39_stroke0[] = {
+    { 52.381, 100 },
+    { 52.381, 66.6667 },
+};
+
+static const StrokeRec char39[] = {
+   { 2, char39_stroke0 },
+};
+
+/* char: 40 '(' */
+
+static const CoordRec char40_stroke0[] = {
+    { 69.0476, 119.048 },
+    { 59.5238, 109.524 },
+    { 50, 95.2381 },
+    { 40.4762, 76.1905 },
+    { 35.7143, 52.381 },
+    { 35.7143, 33.3333 },
+    { 40.4762, 9.5238 },
+    { 50, -9.5238 },
+    { 59.5238, -23.8095 },
+    { 69.0476, -33.3333 },
+};
+
+static const StrokeRec char40[] = {
+   { 10, char40_stroke0 },
+};
+
+/* char: 41 ')' */
+
+static const CoordRec char41_stroke0[] = {
+    { 35.7143, 119.048 },
+    { 45.2381, 109.524 },
+    { 54.7619, 95.2381 },
+    { 64.2857, 76.1905 },
+    { 69.0476, 52.381 },
+    { 69.0476, 33.3333 },
+    { 64.2857, 9.5238 },
+    { 54.7619, -9.5238 },
+    { 45.2381, -23.8095 },
+    { 35.7143, -33.3333 },
+};
+
+static const StrokeRec char41[] = {
+   { 10, char41_stroke0 },
+};
+
+/* char: 42 '*' */
+
+static const CoordRec char42_stroke0[] = {
+    { 52.381, 71.4286 },
+    { 52.381, 14.2857 },
+};
+
+static const CoordRec char42_stroke1[] = {
+    { 28.5715, 57.1429 },
+    { 76.1905, 28.5714 },
+};
+
+static const CoordRec char42_stroke2[] = {
+    { 76.1905, 57.1429 },
+    { 28.5715, 28.5714 },
+};
+
+static const StrokeRec char42[] = {
+   { 2, char42_stroke0 },
+   { 2, char42_stroke1 },
+   { 2, char42_stroke2 },
+};
+
+/* char: 43 '+' */
+
+static const CoordRec char43_stroke0[] = {
+    { 52.3809, 85.7143 },
+    { 52.3809, 0 },
+};
+
+static const CoordRec char43_stroke1[] = {
+    { 9.5238, 42.8571 },
+    { 95.2381, 42.8571 },
+};
+
+static const StrokeRec char43[] = {
+   { 2, char43_stroke0 },
+   { 2, char43_stroke1 },
+};
+
+/* char: 44 ',' */
+
+static const CoordRec char44_stroke0[] = {
+    { 57.1429, 4.7619 },
+    { 52.381, 0 },
+    { 47.6191, 4.7619 },
+    { 52.381, 9.5238 },
+    { 57.1429, 4.7619 },
+    { 57.1429, -4.7619 },
+    { 52.381, -14.2857 },
+    { 47.6191, -19.0476 },
+};
+
+static const StrokeRec char44[] = {
+   { 8, char44_stroke0 },
+};
+
+/* char: 45 '-' */
+
+static const CoordRec char45_stroke0[] = {
+    { 9.5238, 42.8571 },
+    { 95.2381, 42.8571 },
+};
+
+static const StrokeRec char45[] = {
+   { 2, char45_stroke0 },
+};
+
+/* char: 46 '.' */
+
+static const CoordRec char46_stroke0[] = {
+    { 52.381, 9.5238 },
+    { 47.6191, 4.7619 },
+    { 52.381, 0 },
+    { 57.1429, 4.7619 },
+    { 52.381, 9.5238 },
+};
+
+static const StrokeRec char46[] = {
+   { 5, char46_stroke0 },
+};
+
+/* char: 47 '/' */
+
+static const CoordRec char47_stroke0[] = {
+    { 19.0476, -14.2857 },
+    { 85.7143, 100 },
+};
+
+static const StrokeRec char47[] = {
+   { 2, char47_stroke0 },
+};
+
+/* char: 48 '0' */
+
+static const CoordRec char48_stroke0[] = {
+    { 47.619, 100 },
+    { 33.3333, 95.2381 },
+    { 23.8095, 80.9524 },
+    { 19.0476, 57.1429 },
+    { 19.0476, 42.8571 },
+    { 23.8095, 19.0476 },
+    { 33.3333, 4.7619 },
+    { 47.619, 0 },
+    { 57.1428, 0 },
+    { 71.4286, 4.7619 },
+    { 80.9524, 19.0476 },
+    { 85.7143, 42.8571 },
+    { 85.7143, 57.1429 },
+    { 80.9524, 80.9524 },
+    { 71.4286, 95.2381 },
+    { 57.1428, 100 },
+    { 47.619, 100 },
+};
+
+static const StrokeRec char48[] = {
+   { 17, char48_stroke0 },
+};
+
+/* char: 49 '1' */
+
+static const CoordRec char49_stroke0[] = {
+    { 40.4762, 80.9524 },
+    { 50, 85.7143 },
+    { 64.2857, 100 },
+    { 64.2857, 0 },
+};
+
+static const StrokeRec char49[] = {
+   { 4, char49_stroke0 },
+};
+
+/* char: 50 '2' */
+
+static const CoordRec char50_stroke0[] = {
+    { 23.8095, 76.1905 },
+    { 23.8095, 80.9524 },
+    { 28.5714, 90.4762 },
+    { 33.3333, 95.2381 },
+    { 42.8571, 100 },
+    { 61.9047, 100 },
+    { 71.4286, 95.2381 },
+    { 76.1905, 90.4762 },
+    { 80.9524, 80.9524 },
+    { 80.9524, 71.4286 },
+    { 76.1905, 61.9048 },
+    { 66.6666, 47.619 },
+    { 19.0476, 0 },
+    { 85.7143, 0 },
+};
+
+static const StrokeRec char50[] = {
+   { 14, char50_stroke0 },
+};
+
+/* char: 51 '3' */
+
+static const CoordRec char51_stroke0[] = {
+    { 28.5714, 100 },
+    { 80.9524, 100 },
+    { 52.3809, 61.9048 },
+    { 66.6666, 61.9048 },
+    { 76.1905, 57.1429 },
+    { 80.9524, 52.381 },
+    { 85.7143, 38.0952 },
+    { 85.7143, 28.5714 },
+    { 80.9524, 14.2857 },
+    { 71.4286, 4.7619 },
+    { 57.1428, 0 },
+    { 42.8571, 0 },
+    { 28.5714, 4.7619 },
+    { 23.8095, 9.5238 },
+    { 19.0476, 19.0476 },
+};
+
+static const StrokeRec char51[] = {
+   { 15, char51_stroke0 },
+};
+
+/* char: 52 '4' */
+
+static const CoordRec char52_stroke0[] = {
+    { 64.2857, 100 },
+    { 16.6667, 33.3333 },
+    { 88.0952, 33.3333 },
+};
+
+static const CoordRec char52_stroke1[] = {
+    { 64.2857, 100 },
+    { 64.2857, 0 },
+};
+
+static const StrokeRec char52[] = {
+   { 3, char52_stroke0 },
+   { 2, char52_stroke1 },
+};
+
+/* char: 53 '5' */
+
+static const CoordRec char53_stroke0[] = {
+    { 76.1905, 100 },
+    { 28.5714, 100 },
+    { 23.8095, 57.1429 },
+    { 28.5714, 61.9048 },
+    { 42.8571, 66.6667 },
+    { 57.1428, 66.6667 },
+    { 71.4286, 61.9048 },
+    { 80.9524, 52.381 },
+    { 85.7143, 38.0952 },
+    { 85.7143, 28.5714 },
+    { 80.9524, 14.2857 },
+    { 71.4286, 4.7619 },
+    { 57.1428, 0 },
+    { 42.8571, 0 },
+    { 28.5714, 4.7619 },
+    { 23.8095, 9.5238 },
+    { 19.0476, 19.0476 },
+};
+
+static const StrokeRec char53[] = {
+   { 17, char53_stroke0 },
+};
+
+/* char: 54 '6' */
+
+static const CoordRec char54_stroke0[] = {
+    { 78.5714, 85.7143 },
+    { 73.8096, 95.2381 },
+    { 59.5238, 100 },
+    { 50, 100 },
+    { 35.7143, 95.2381 },
+    { 26.1905, 80.9524 },
+    { 21.4286, 57.1429 },
+    { 21.4286, 33.3333 },
+    { 26.1905, 14.2857 },
+    { 35.7143, 4.7619 },
+    { 50, 0 },
+    { 54.7619, 0 },
+    { 69.0476, 4.7619 },
+    { 78.5714, 14.2857 },
+    { 83.3334, 28.5714 },
+    { 83.3334, 33.3333 },
+    { 78.5714, 47.619 },
+    { 69.0476, 57.1429 },
+    { 54.7619, 61.9048 },
+    { 50, 61.9048 },
+    { 35.7143, 57.1429 },
+    { 26.1905, 47.619 },
+    { 21.4286, 33.3333 },
+};
+
+static const StrokeRec char54[] = {
+   { 23, char54_stroke0 },
+};
+
+/* char: 55 '7' */
+
+static const CoordRec char55_stroke0[] = {
+    { 85.7143, 100 },
+    { 38.0952, 0 },
+};
+
+static const CoordRec char55_stroke1[] = {
+    { 19.0476, 100 },
+    { 85.7143, 100 },
+};
+
+static const StrokeRec char55[] = {
+   { 2, char55_stroke0 },
+   { 2, char55_stroke1 },
+};
+
+/* char: 56 '8' */
+
+static const CoordRec char56_stroke0[] = {
+    { 42.8571, 100 },
+    { 28.5714, 95.2381 },
+    { 23.8095, 85.7143 },
+    { 23.8095, 76.1905 },
+    { 28.5714, 66.6667 },
+    { 38.0952, 61.9048 },
+    { 57.1428, 57.1429 },
+    { 71.4286, 52.381 },
+    { 80.9524, 42.8571 },
+    { 85.7143, 33.3333 },
+    { 85.7143, 19.0476 },
+    { 80.9524, 9.5238 },
+    { 76.1905, 4.7619 },
+    { 61.9047, 0 },
+    { 42.8571, 0 },
+    { 28.5714, 4.7619 },
+    { 23.8095, 9.5238 },
+    { 19.0476, 19.0476 },
+    { 19.0476, 33.3333 },
+    { 23.8095, 42.8571 },
+    { 33.3333, 52.381 },
+    { 47.619, 57.1429 },
+    { 66.6666, 61.9048 },
+    { 76.1905, 66.6667 },
+    { 80.9524, 76.1905 },
+    { 80.9524, 85.7143 },
+    { 76.1905, 95.2381 },
+    { 61.9047, 100 },
+    { 42.8571, 100 },
+};
+
+static const StrokeRec char56[] = {
+   { 29, char56_stroke0 },
+};
+
+/* char: 57 '9' */
+
+static const CoordRec char57_stroke0[] = {
+    { 83.3334, 66.6667 },
+    { 78.5714, 52.381 },
+    { 69.0476, 42.8571 },
+    { 54.7619, 38.0952 },
+    { 50, 38.0952 },
+    { 35.7143, 42.8571 },
+    { 26.1905, 52.381 },
+    { 21.4286, 66.6667 },
+    { 21.4286, 71.4286 },
+    { 26.1905, 85.7143 },
+    { 35.7143, 95.2381 },
+    { 50, 100 },
+    { 54.7619, 100 },
+    { 69.0476, 95.2381 },
+    { 78.5714, 85.7143 },
+    { 83.3334, 66.6667 },
+    { 83.3334, 42.8571 },
+    { 78.5714, 19.0476 },
+    { 69.0476, 4.7619 },
+    { 54.7619, 0 },
+    { 45.2381, 0 },
+    { 30.9524, 4.7619 },
+    { 26.1905, 14.2857 },
+};
+
+static const StrokeRec char57[] = {
+   { 23, char57_stroke0 },
+};
+
+/* char: 58 ':' */
+
+static const CoordRec char58_stroke0[] = {
+    { 52.381, 66.6667 },
+    { 47.6191, 61.9048 },
+    { 52.381, 57.1429 },
+    { 57.1429, 61.9048 },
+    { 52.381, 66.6667 },
+};
+
+static const CoordRec char58_stroke1[] = {
+    { 52.381, 9.5238 },
+    { 47.6191, 4.7619 },
+    { 52.381, 0 },
+    { 57.1429, 4.7619 },
+    { 52.381, 9.5238 },
+};
+
+static const StrokeRec char58[] = {
+   { 5, char58_stroke0 },
+   { 5, char58_stroke1 },
+};
+
+/* char: 59 ';' */
+
+static const CoordRec char59_stroke0[] = {
+    { 52.381, 66.6667 },
+    { 47.6191, 61.9048 },
+    { 52.381, 57.1429 },
+    { 57.1429, 61.9048 },
+    { 52.381, 66.6667 },
+};
+
+static const CoordRec char59_stroke1[] = {
+    { 57.1429, 4.7619 },
+    { 52.381, 0 },
+    { 47.6191, 4.7619 },
+    { 52.381, 9.5238 },
+    { 57.1429, 4.7619 },
+    { 57.1429, -4.7619 },
+    { 52.381, -14.2857 },
+    { 47.6191, -19.0476 },
+};
+
+static const StrokeRec char59[] = {
+   { 5, char59_stroke0 },
+   { 8, char59_stroke1 },
+};
+
+/* char: 60 '<' */
+
+static const CoordRec char60_stroke0[] = {
+    { 90.4762, 85.7143 },
+    { 14.2857, 42.8571 },
+    { 90.4762, 0 },
+};
+
+static const StrokeRec char60[] = {
+   { 3, char60_stroke0 },
+};
+
+/* char: 61 '=' */
+
+static const CoordRec char61_stroke0[] = {
+    { 9.5238, 57.1429 },
+    { 95.2381, 57.1429 },
+};
+
+static const CoordRec char61_stroke1[] = {
+    { 9.5238, 28.5714 },
+    { 95.2381, 28.5714 },
+};
+
+static const StrokeRec char61[] = {
+   { 2, char61_stroke0 },
+   { 2, char61_stroke1 },
+};
+
+/* char: 62 '>' */
+
+static const CoordRec char62_stroke0[] = {
+    { 14.2857, 85.7143 },
+    { 90.4762, 42.8571 },
+    { 14.2857, 0 },
+};
+
+static const StrokeRec char62[] = {
+   { 3, char62_stroke0 },
+};
+
+/* char: 63 '?' */
+
+static const CoordRec char63_stroke0[] = {
+    { 23.8095, 76.1905 },
+    { 23.8095, 80.9524 },
+    { 28.5714, 90.4762 },
+    { 33.3333, 95.2381 },
+    { 42.8571, 100 },
+    { 61.9047, 100 },
+    { 71.4285, 95.2381 },
+    { 76.1905, 90.4762 },
+    { 80.9524, 80.9524 },
+    { 80.9524, 71.4286 },
+    { 76.1905, 61.9048 },
+    { 71.4285, 57.1429 },
+    { 52.3809, 47.619 },
+    { 52.3809, 33.3333 },
+};
+
+static const CoordRec char63_stroke1[] = {
+    { 52.3809, 9.5238 },
+    { 47.619, 4.7619 },
+    { 52.3809, 0 },
+    { 57.1428, 4.7619 },
+    { 52.3809, 9.5238 },
+};
+
+static const StrokeRec char63[] = {
+   { 14, char63_stroke0 },
+   { 5, char63_stroke1 },
+};
+
+/* char: 64 '@' */
+
+static const CoordRec char64_stroke0[] = {
+    { 64.2857, 52.381 },
+    { 54.7619, 57.1429 },
+    { 45.2381, 57.1429 },
+    { 40.4762, 47.619 },
+    { 40.4762, 42.8571 },
+    { 45.2381, 33.3333 },
+    { 54.7619, 33.3333 },
+    { 64.2857, 38.0952 },
+};
+
+static const CoordRec char64_stroke1[] = {
+    { 64.2857, 57.1429 },
+    { 64.2857, 38.0952 },
+    { 69.0476, 33.3333 },
+    { 78.5714, 33.3333 },
+    { 83.3334, 42.8571 },
+    { 83.3334, 47.619 },
+    { 78.5714, 61.9048 },
+    { 69.0476, 71.4286 },
+    { 54.7619, 76.1905 },
+    { 50, 76.1905 },
+    { 35.7143, 71.4286 },
+    { 26.1905, 61.9048 },
+    { 21.4286, 47.619 },
+    { 21.4286, 42.8571 },
+    { 26.1905, 28.5714 },
+    { 35.7143, 19.0476 },
+    { 50, 14.2857 },
+    { 54.7619, 14.2857 },
+    { 69.0476, 19.0476 },
+};
+
+static const StrokeRec char64[] = {
+   { 8, char64_stroke0 },
+   { 19, char64_stroke1 },
+};
+
+/* char: 65 'A' */
+
+static const CoordRec char65_stroke0[] = {
+    { 52.3809, 100 },
+    { 14.2857, 0 },
+};
+
+static const CoordRec char65_stroke1[] = {
+    { 52.3809, 100 },
+    { 90.4762, 0 },
+};
+
+static const CoordRec char65_stroke2[] = {
+    { 28.5714, 33.3333 },
+    { 76.1905, 33.3333 },
+};
+
+static const StrokeRec char65[] = {
+   { 2, char65_stroke0 },
+   { 2, char65_stroke1 },
+   { 2, char65_stroke2 },
+};
+
+/* char: 66 'B' */
+
+static const CoordRec char66_stroke0[] = {
+    { 19.0476, 100 },
+    { 19.0476, 0 },
+};
+
+static const CoordRec char66_stroke1[] = {
+    { 19.0476, 100 },
+    { 61.9047, 100 },
+    { 76.1905, 95.2381 },
+    { 80.9524, 90.4762 },
+    { 85.7143, 80.9524 },
+    { 85.7143, 71.4286 },
+    { 80.9524, 61.9048 },
+    { 76.1905, 57.1429 },
+    { 61.9047, 52.381 },
+};
+
+static const CoordRec char66_stroke2[] = {
+    { 19.0476, 52.381 },
+    { 61.9047, 52.381 },
+    { 76.1905, 47.619 },
+    { 80.9524, 42.8571 },
+    { 85.7143, 33.3333 },
+    { 85.7143, 19.0476 },
+    { 80.9524, 9.5238 },
+    { 76.1905, 4.7619 },
+    { 61.9047, 0 },
+    { 19.0476, 0 },
+};
+
+static const StrokeRec char66[] = {
+   { 2, char66_stroke0 },
+   { 9, char66_stroke1 },
+   { 10, char66_stroke2 },
+};
+
+/* char: 67 'C' */
+
+static const CoordRec char67_stroke0[] = {
+    { 88.0952, 76.1905 },
+    { 83.3334, 85.7143 },
+    { 73.8096, 95.2381 },
+    { 64.2857, 100 },
+    { 45.2381, 100 },
+    { 35.7143, 95.2381 },
+    { 26.1905, 85.7143 },
+    { 21.4286, 76.1905 },
+    { 16.6667, 61.9048 },
+    { 16.6667, 38.0952 },
+    { 21.4286, 23.8095 },
+    { 26.1905, 14.2857 },
+    { 35.7143, 4.7619 },
+    { 45.2381, 0 },
+    { 64.2857, 0 },
+    { 73.8096, 4.7619 },
+    { 83.3334, 14.2857 },
+    { 88.0952, 23.8095 },
+};
+
+static const StrokeRec char67[] = {
+   { 18, char67_stroke0 },
+};
+
+/* char: 68 'D' */
+
+static const CoordRec char68_stroke0[] = {
+    { 19.0476, 100 },
+    { 19.0476, 0 },
+};
+
+static const CoordRec char68_stroke1[] = {
+    { 19.0476, 100 },
+    { 52.3809, 100 },
+    { 66.6666, 95.2381 },
+    { 76.1905, 85.7143 },
+    { 80.9524, 76.1905 },
+    { 85.7143, 61.9048 },
+    { 85.7143, 38.0952 },
+    { 80.9524, 23.8095 },
+    { 76.1905, 14.2857 },
+    { 66.6666, 4.7619 },
+    { 52.3809, 0 },
+    { 19.0476, 0 },
+};
+
+static const StrokeRec char68[] = {
+   { 2, char68_stroke0 },
+   { 12, char68_stroke1 },
+};
+
+/* char: 69 'E' */
+
+static const CoordRec char69_stroke0[] = {
+    { 21.4286, 100 },
+    { 21.4286, 0 },
+};
+
+static const CoordRec char69_stroke1[] = {
+    { 21.4286, 100 },
+    { 83.3334, 100 },
+};
+
+static const CoordRec char69_stroke2[] = {
+    { 21.4286, 52.381 },
+    { 59.5238, 52.381 },
+};
+
+static const CoordRec char69_stroke3[] = {
+    { 21.4286, 0 },
+    { 83.3334, 0 },
+};
+
+static const StrokeRec char69[] = {
+   { 2, char69_stroke0 },
+   { 2, char69_stroke1 },
+   { 2, char69_stroke2 },
+   { 2, char69_stroke3 },
+};
+
+/* char: 70 'F' */
+
+static const CoordRec char70_stroke0[] = {
+    { 21.4286, 100 },
+    { 21.4286, 0 },
+};
+
+static const CoordRec char70_stroke1[] = {
+    { 21.4286, 100 },
+    { 83.3334, 100 },
+};
+
+static const CoordRec char70_stroke2[] = {
+    { 21.4286, 52.381 },
+    { 59.5238, 52.381 },
+};
+
+static const StrokeRec char70[] = {
+   { 2, char70_stroke0 },
+   { 2, char70_stroke1 },
+   { 2, char70_stroke2 },
+};
+
+/* char: 71 'G' */
+
+static const CoordRec char71_stroke0[] = {
+    { 88.0952, 76.1905 },
+    { 83.3334, 85.7143 },
+    { 73.8096, 95.2381 },
+    { 64.2857, 100 },
+    { 45.2381, 100 },
+    { 35.7143, 95.2381 },
+    { 26.1905, 85.7143 },
+    { 21.4286, 76.1905 },
+    { 16.6667, 61.9048 },
+    { 16.6667, 38.0952 },
+    { 21.4286, 23.8095 },
+    { 26.1905, 14.2857 },
+    { 35.7143, 4.7619 },
+    { 45.2381, 0 },
+    { 64.2857, 0 },
+    { 73.8096, 4.7619 },
+    { 83.3334, 14.2857 },
+    { 88.0952, 23.8095 },
+    { 88.0952, 38.0952 },
+};
+
+static const CoordRec char71_stroke1[] = {
+    { 64.2857, 38.0952 },
+    { 88.0952, 38.0952 },
+};
+
+static const StrokeRec char71[] = {
+   { 19, char71_stroke0 },
+   { 2, char71_stroke1 },
+};
+
+/* char: 72 'H' */
+
+static const CoordRec char72_stroke0[] = {
+    { 19.0476, 100 },
+    { 19.0476, 0 },
+};
+
+static const CoordRec char72_stroke1[] = {
+    { 85.7143, 100 },
+    { 85.7143, 0 },
+};
+
+static const CoordRec char72_stroke2[] = {
+    { 19.0476, 52.381 },
+    { 85.7143, 52.381 },
+};
+
+static const StrokeRec char72[] = {
+   { 2, char72_stroke0 },
+   { 2, char72_stroke1 },
+   { 2, char72_stroke2 },
+};
+
+/* char: 73 'I' */
+
+static const CoordRec char73_stroke0[] = {
+    { 52.381, 100 },
+    { 52.381, 0 },
+};
+
+static const StrokeRec char73[] = {
+   { 2, char73_stroke0 },
+};
+
+/* char: 74 'J' */
+
+static const CoordRec char74_stroke0[] = {
+    { 76.1905, 100 },
+    { 76.1905, 23.8095 },
+    { 71.4286, 9.5238 },
+    { 66.6667, 4.7619 },
+    { 57.1429, 0 },
+    { 47.6191, 0 },
+    { 38.0953, 4.7619 },
+    { 33.3334, 9.5238 },
+    { 28.5715, 23.8095 },
+    { 28.5715, 33.3333 },
+};
+
+static const StrokeRec char74[] = {
+   { 10, char74_stroke0 },
+};
+
+/* char: 75 'K' */
+
+static const CoordRec char75_stroke0[] = {
+    { 19.0476, 100 },
+    { 19.0476, 0 },
+};
+
+static const CoordRec char75_stroke1[] = {
+    { 85.7143, 100 },
+    { 19.0476, 33.3333 },
+};
+
+static const CoordRec char75_stroke2[] = {
+    { 42.8571, 57.1429 },
+    { 85.7143, 0 },
+};
+
+static const StrokeRec char75[] = {
+   { 2, char75_stroke0 },
+   { 2, char75_stroke1 },
+   { 2, char75_stroke2 },
+};
+
+/* char: 76 'L' */
+
+static const CoordRec char76_stroke0[] = {
+    { 23.8095, 100 },
+    { 23.8095, 0 },
+};
+
+static const CoordRec char76_stroke1[] = {
+    { 23.8095, 0 },
+    { 80.9524, 0 },
+};
+
+static const StrokeRec char76[] = {
+   { 2, char76_stroke0 },
+   { 2, char76_stroke1 },
+};
+
+/* char: 77 'M' */
+
+static const CoordRec char77_stroke0[] = {
+    { 14.2857, 100 },
+    { 14.2857, 0 },
+};
+
+static const CoordRec char77_stroke1[] = {
+    { 14.2857, 100 },
+    { 52.3809, 0 },
+};
+
+static const CoordRec char77_stroke2[] = {
+    { 90.4762, 100 },
+    { 52.3809, 0 },
+};
+
+static const CoordRec char77_stroke3[] = {
+    { 90.4762, 100 },
+    { 90.4762, 0 },
+};
+
+static const StrokeRec char77[] = {
+   { 2, char77_stroke0 },
+   { 2, char77_stroke1 },
+   { 2, char77_stroke2 },
+   { 2, char77_stroke3 },
+};
+
+/* char: 78 'N' */
+
+static const CoordRec char78_stroke0[] = {
+    { 19.0476, 100 },
+    { 19.0476, 0 },
+};
+
+static const CoordRec char78_stroke1[] = {
+    { 19.0476, 100 },
+    { 85.7143, 0 },
+};
+
+static const CoordRec char78_stroke2[] = {
+    { 85.7143, 100 },
+    { 85.7143, 0 },
+};
+
+static const StrokeRec char78[] = {
+   { 2, char78_stroke0 },
+   { 2, char78_stroke1 },
+   { 2, char78_stroke2 },
+};
+
+/* char: 79 'O' */
+
+static const CoordRec char79_stroke0[] = {
+    { 42.8571, 100 },
+    { 33.3333, 95.2381 },
+    { 23.8095, 85.7143 },
+    { 19.0476, 76.1905 },
+    { 14.2857, 61.9048 },
+    { 14.2857, 38.0952 },
+    { 19.0476, 23.8095 },
+    { 23.8095, 14.2857 },
+    { 33.3333, 4.7619 },
+    { 42.8571, 0 },
+    { 61.9047, 0 },
+    { 71.4286, 4.7619 },
+    { 80.9524, 14.2857 },
+    { 85.7143, 23.8095 },
+    { 90.4762, 38.0952 },
+    { 90.4762, 61.9048 },
+    { 85.7143, 76.1905 },
+    { 80.9524, 85.7143 },
+    { 71.4286, 95.2381 },
+    { 61.9047, 100 },
+    { 42.8571, 100 },
+};
+
+static const StrokeRec char79[] = {
+   { 21, char79_stroke0 },
+};
+
+/* char: 80 'P' */
+
+static const CoordRec char80_stroke0[] = {
+    { 19.0476, 100 },
+    { 19.0476, 0 },
+};
+
+static const CoordRec char80_stroke1[] = {
+    { 19.0476, 100 },
+    { 61.9047, 100 },
+    { 76.1905, 95.2381 },
+    { 80.9524, 90.4762 },
+    { 85.7143, 80.9524 },
+    { 85.7143, 66.6667 },
+    { 80.9524, 57.1429 },
+    { 76.1905, 52.381 },
+    { 61.9047, 47.619 },
+    { 19.0476, 47.619 },
+};
+
+static const StrokeRec char80[] = {
+   { 2, char80_stroke0 },
+   { 10, char80_stroke1 },
+};
+
+/* char: 81 'Q' */
+
+static const CoordRec char81_stroke0[] = {
+    { 42.8571, 100 },
+    { 33.3333, 95.2381 },
+    { 23.8095, 85.7143 },
+    { 19.0476, 76.1905 },
+    { 14.2857, 61.9048 },
+    { 14.2857, 38.0952 },
+    { 19.0476, 23.8095 },
+    { 23.8095, 14.2857 },
+    { 33.3333, 4.7619 },
+    { 42.8571, 0 },
+    { 61.9047, 0 },
+    { 71.4286, 4.7619 },
+    { 80.9524, 14.2857 },
+    { 85.7143, 23.8095 },
+    { 90.4762, 38.0952 },
+    { 90.4762, 61.9048 },
+    { 85.7143, 76.1905 },
+    { 80.9524, 85.7143 },
+    { 71.4286, 95.2381 },
+    { 61.9047, 100 },
+    { 42.8571, 100 },
+};
+
+static const CoordRec char81_stroke1[] = {
+    { 57.1428, 19.0476 },
+    { 85.7143, -9.5238 },
+};
+
+static const StrokeRec char81[] = {
+   { 21, char81_stroke0 },
+   { 2, char81_stroke1 },
+};
+
+/* char: 82 'R' */
+
+static const CoordRec char82_stroke0[] = {
+    { 19.0476, 100 },
+    { 19.0476, 0 },
+};
+
+static const CoordRec char82_stroke1[] = {
+    { 19.0476, 100 },
+    { 61.9047, 100 },
+    { 76.1905, 95.2381 },
+    { 80.9524, 90.4762 },
+    { 85.7143, 80.9524 },
+    { 85.7143, 71.4286 },
+    { 80.9524, 61.9048 },
+    { 76.1905, 57.1429 },
+    { 61.9047, 52.381 },
+    { 19.0476, 52.381 },
+};
+
+static const CoordRec char82_stroke2[] = {
+    { 52.3809, 52.381 },
+    { 85.7143, 0 },
+};
+
+static const StrokeRec char82[] = {
+   { 2, char82_stroke0 },
+   { 10, char82_stroke1 },
+   { 2, char82_stroke2 },
+};
+
+/* char: 83 'S' */
+
+static const CoordRec char83_stroke0[] = {
+    { 85.7143, 85.7143 },
+    { 76.1905, 95.2381 },
+    { 61.9047, 100 },
+    { 42.8571, 100 },
+    { 28.5714, 95.2381 },
+    { 19.0476, 85.7143 },
+    { 19.0476, 76.1905 },
+    { 23.8095, 66.6667 },
+    { 28.5714, 61.9048 },
+    { 38.0952, 57.1429 },
+    { 66.6666, 47.619 },
+    { 76.1905, 42.8571 },
+    { 80.9524, 38.0952 },
+    { 85.7143, 28.5714 },
+    { 85.7143, 14.2857 },
+    { 76.1905, 4.7619 },
+    { 61.9047, 0 },
+    { 42.8571, 0 },
+    { 28.5714, 4.7619 },
+    { 19.0476, 14.2857 },
+};
+
+static const StrokeRec char83[] = {
+   { 20, char83_stroke0 },
+};
+
+/* char: 84 'T' */
+
+static const CoordRec char84_stroke0[] = {
+    { 52.3809, 100 },
+    { 52.3809, 0 },
+};
+
+static const CoordRec char84_stroke1[] = {
+    { 19.0476, 100 },
+    { 85.7143, 100 },
+};
+
+static const StrokeRec char84[] = {
+   { 2, char84_stroke0 },
+   { 2, char84_stroke1 },
+};
+
+/* char: 85 'U' */
+
+static const CoordRec char85_stroke0[] = {
+    { 19.0476, 100 },
+    { 19.0476, 28.5714 },
+    { 23.8095, 14.2857 },
+    { 33.3333, 4.7619 },
+    { 47.619, 0 },
+    { 57.1428, 0 },
+    { 71.4286, 4.7619 },
+    { 80.9524, 14.2857 },
+    { 85.7143, 28.5714 },
+    { 85.7143, 100 },
+};
+
+static const StrokeRec char85[] = {
+   { 10, char85_stroke0 },
+};
+
+/* char: 86 'V' */
+
+static const CoordRec char86_stroke0[] = {
+    { 14.2857, 100 },
+    { 52.3809, 0 },
+};
+
+static const CoordRec char86_stroke1[] = {
+    { 90.4762, 100 },
+    { 52.3809, 0 },
+};
+
+static const StrokeRec char86[] = {
+   { 2, char86_stroke0 },
+   { 2, char86_stroke1 },
+};
+
+/* char: 87 'W' */
+
+static const CoordRec char87_stroke0[] = {
+    { 4.7619, 100 },
+    { 28.5714, 0 },
+};
+
+static const CoordRec char87_stroke1[] = {
+    { 52.3809, 100 },
+    { 28.5714, 0 },
+};
+
+static const CoordRec char87_stroke2[] = {
+    { 52.3809, 100 },
+    { 76.1905, 0 },
+};
+
+static const CoordRec char87_stroke3[] = {
+    { 100, 100 },
+    { 76.1905, 0 },
+};
+
+static const StrokeRec char87[] = {
+   { 2, char87_stroke0 },
+   { 2, char87_stroke1 },
+   { 2, char87_stroke2 },
+   { 2, char87_stroke3 },
+};
+
+/* char: 88 'X' */
+
+static const CoordRec char88_stroke0[] = {
+    { 19.0476, 100 },
+    { 85.7143, 0 },
+};
+
+static const CoordRec char88_stroke1[] = {
+    { 85.7143, 100 },
+    { 19.0476, 0 },
+};
+
+static const StrokeRec char88[] = {
+   { 2, char88_stroke0 },
+   { 2, char88_stroke1 },
+};
+
+/* char: 89 'Y' */
+
+static const CoordRec char89_stroke0[] = {
+    { 14.2857, 100 },
+    { 52.3809, 52.381 },
+    { 52.3809, 0 },
+};
+
+static const CoordRec char89_stroke1[] = {
+    { 90.4762, 100 },
+    { 52.3809, 52.381 },
+};
+
+static const StrokeRec char89[] = {
+   { 3, char89_stroke0 },
+   { 2, char89_stroke1 },
+};
+
+/* char: 90 'Z' */
+
+static const CoordRec char90_stroke0[] = {
+    { 85.7143, 100 },
+    { 19.0476, 0 },
+};
+
+static const CoordRec char90_stroke1[] = {
+    { 19.0476, 100 },
+    { 85.7143, 100 },
+};
+
+static const CoordRec char90_stroke2[] = {
+    { 19.0476, 0 },
+    { 85.7143, 0 },
+};
+
+static const StrokeRec char90[] = {
+   { 2, char90_stroke0 },
+   { 2, char90_stroke1 },
+   { 2, char90_stroke2 },
+};
+
+/* char: 91 '[' */
+
+static const CoordRec char91_stroke0[] = {
+    { 35.7143, 119.048 },
+    { 35.7143, -33.3333 },
+};
+
+static const CoordRec char91_stroke1[] = {
+    { 40.4762, 119.048 },
+    { 40.4762, -33.3333 },
+};
+
+static const CoordRec char91_stroke2[] = {
+    { 35.7143, 119.048 },
+    { 69.0476, 119.048 },
+};
+
+static const CoordRec char91_stroke3[] = {
+    { 35.7143, -33.3333 },
+    { 69.0476, -33.3333 },
+};
+
+static const StrokeRec char91[] = {
+   { 2, char91_stroke0 },
+   { 2, char91_stroke1 },
+   { 2, char91_stroke2 },
+   { 2, char91_stroke3 },
+};
+
+/* char: 92 '\' */
+
+static const CoordRec char92_stroke0[] = {
+    { 19.0476, 100 },
+    { 85.7143, -14.2857 },
+};
+
+static const StrokeRec char92[] = {
+   { 2, char92_stroke0 },
+};
+
+/* char: 93 ']' */
+
+static const CoordRec char93_stroke0[] = {
+    { 64.2857, 119.048 },
+    { 64.2857, -33.3333 },
+};
+
+static const CoordRec char93_stroke1[] = {
+    { 69.0476, 119.048 },
+    { 69.0476, -33.3333 },
+};
+
+static const CoordRec char93_stroke2[] = {
+    { 35.7143, 119.048 },
+    { 69.0476, 119.048 },
+};
+
+static const CoordRec char93_stroke3[] = {
+    { 35.7143, -33.3333 },
+    { 69.0476, -33.3333 },
+};
+
+static const StrokeRec char93[] = {
+   { 2, char93_stroke0 },
+   { 2, char93_stroke1 },
+   { 2, char93_stroke2 },
+   { 2, char93_stroke3 },
+};
+
+/* char: 94 '^' */
+
+static const CoordRec char94_stroke0[] = {
+    { 52.3809, 109.524 },
+    { 14.2857, 42.8571 },
+};
+
+static const CoordRec char94_stroke1[] = {
+    { 52.3809, 109.524 },
+    { 90.4762, 42.8571 },
+};
+
+static const StrokeRec char94[] = {
+   { 2, char94_stroke0 },
+   { 2, char94_stroke1 },
+};
+
+/* char: 95 '_' */
+
+static const CoordRec char95_stroke0[] = {
+    { 0, -33.3333 },
+    { 104.762, -33.3333 },
+    { 104.762, -28.5714 },
+    { 0, -28.5714 },
+    { 0, -33.3333 },
+};
+
+static const StrokeRec char95[] = {
+   { 5, char95_stroke0 },
+};
+
+/* char: 96 '`' */
+
+static const CoordRec char96_stroke0[] = {
+    { 42.8572, 100 },
+    { 66.6667, 71.4286 },
+};
+
+static const CoordRec char96_stroke1[] = {
+    { 42.8572, 100 },
+    { 38.0953, 95.2381 },
+    { 66.6667, 71.4286 },
+};
+
+static const StrokeRec char96[] = {
+   { 2, char96_stroke0 },
+   { 3, char96_stroke1 },
+};
+
+/* char: 97 'a' */
+
+static const CoordRec char97_stroke0[] = {
+    { 80.9524, 66.6667 },
+    { 80.9524, 0 },
+};
+
+static const CoordRec char97_stroke1[] = {
+    { 80.9524, 52.381 },
+    { 71.4285, 61.9048 },
+    { 61.9047, 66.6667 },
+    { 47.619, 66.6667 },
+    { 38.0952, 61.9048 },
+    { 28.5714, 52.381 },
+    { 23.8095, 38.0952 },
+    { 23.8095, 28.5714 },
+    { 28.5714, 14.2857 },
+    { 38.0952, 4.7619 },
+    { 47.619, 0 },
+    { 61.9047, 0 },
+    { 71.4285, 4.7619 },
+    { 80.9524, 14.2857 },
+};
+
+static const StrokeRec char97[] = {
+   { 2, char97_stroke0 },
+   { 14, char97_stroke1 },
+};
+
+/* char: 98 'b' */
+
+static const CoordRec char98_stroke0[] = {
+    { 23.8095, 100 },
+    { 23.8095, 0 },
+};
+
+static const CoordRec char98_stroke1[] = {
+    { 23.8095, 52.381 },
+    { 33.3333, 61.9048 },
+    { 42.8571, 66.6667 },
+    { 57.1428, 66.6667 },
+    { 66.6666, 61.9048 },
+    { 76.1905, 52.381 },
+    { 80.9524, 38.0952 },
+    { 80.9524, 28.5714 },
+    { 76.1905, 14.2857 },
+    { 66.6666, 4.7619 },
+    { 57.1428, 0 },
+    { 42.8571, 0 },
+    { 33.3333, 4.7619 },
+    { 23.8095, 14.2857 },
+};
+
+static const StrokeRec char98[] = {
+   { 2, char98_stroke0 },
+   { 14, char98_stroke1 },
+};
+
+/* char: 99 'c' */
+
+static const CoordRec char99_stroke0[] = {
+    { 80.9524, 52.381 },
+    { 71.4285, 61.9048 },
+    { 61.9047, 66.6667 },
+    { 47.619, 66.6667 },
+    { 38.0952, 61.9048 },
+    { 28.5714, 52.381 },
+    { 23.8095, 38.0952 },
+    { 23.8095, 28.5714 },
+    { 28.5714, 14.2857 },
+    { 38.0952, 4.7619 },
+    { 47.619, 0 },
+    { 61.9047, 0 },
+    { 71.4285, 4.7619 },
+    { 80.9524, 14.2857 },
+};
+
+static const StrokeRec char99[] = {
+   { 14, char99_stroke0 },
+};
+
+/* char: 100 'd' */
+
+static const CoordRec char100_stroke0[] = {
+    { 80.9524, 100 },
+    { 80.9524, 0 },
+};
+
+static const CoordRec char100_stroke1[] = {
+    { 80.9524, 52.381 },
+    { 71.4285, 61.9048 },
+    { 61.9047, 66.6667 },
+    { 47.619, 66.6667 },
+    { 38.0952, 61.9048 },
+    { 28.5714, 52.381 },
+    { 23.8095, 38.0952 },
+    { 23.8095, 28.5714 },
+    { 28.5714, 14.2857 },
+    { 38.0952, 4.7619 },
+    { 47.619, 0 },
+    { 61.9047, 0 },
+    { 71.4285, 4.7619 },
+    { 80.9524, 14.2857 },
+};
+
+static const StrokeRec char100[] = {
+   { 2, char100_stroke0 },
+   { 14, char100_stroke1 },
+};
+
+/* char: 101 'e' */
+
+static const CoordRec char101_stroke0[] = {
+    { 23.8095, 38.0952 },
+    { 80.9524, 38.0952 },
+    { 80.9524, 47.619 },
+    { 76.1905, 57.1429 },
+    { 71.4285, 61.9048 },
+    { 61.9047, 66.6667 },
+    { 47.619, 66.6667 },
+    { 38.0952, 61.9048 },
+    { 28.5714, 52.381 },
+    { 23.8095, 38.0952 },
+    { 23.8095, 28.5714 },
+    { 28.5714, 14.2857 },
+    { 38.0952, 4.7619 },
+    { 47.619, 0 },
+    { 61.9047, 0 },
+    { 71.4285, 4.7619 },
+    { 80.9524, 14.2857 },
+};
+
+static const StrokeRec char101[] = {
+   { 17, char101_stroke0 },
+};
+
+/* char: 102 'f' */
+
+static const CoordRec char102_stroke0[] = {
+    { 71.4286, 100 },
+    { 61.9048, 100 },
+    { 52.381, 95.2381 },
+    { 47.6191, 80.9524 },
+    { 47.6191, 0 },
+};
+
+static const CoordRec char102_stroke1[] = {
+    { 33.3334, 66.6667 },
+    { 66.6667, 66.6667 },
+};
+
+static const StrokeRec char102[] = {
+   { 5, char102_stroke0 },
+   { 2, char102_stroke1 },
+};
+
+/* char: 103 'g' */
+
+static const CoordRec char103_stroke0[] = {
+    { 80.9524, 66.6667 },
+    { 80.9524, -9.5238 },
+    { 76.1905, -23.8095 },
+    { 71.4285, -28.5714 },
+    { 61.9047, -33.3333 },
+    { 47.619, -33.3333 },
+    { 38.0952, -28.5714 },
+};
+
+static const CoordRec char103_stroke1[] = {
+    { 80.9524, 52.381 },
+    { 71.4285, 61.9048 },
+    { 61.9047, 66.6667 },
+    { 47.619, 66.6667 },
+    { 38.0952, 61.9048 },
+    { 28.5714, 52.381 },
+    { 23.8095, 38.0952 },
+    { 23.8095, 28.5714 },
+    { 28.5714, 14.2857 },
+    { 38.0952, 4.7619 },
+    { 47.619, 0 },
+    { 61.9047, 0 },
+    { 71.4285, 4.7619 },
+    { 80.9524, 14.2857 },
+};
+
+static const StrokeRec char103[] = {
+   { 7, char103_stroke0 },
+   { 14, char103_stroke1 },
+};
+
+/* char: 104 'h' */
+
+static const CoordRec char104_stroke0[] = {
+    { 26.1905, 100 },
+    { 26.1905, 0 },
+};
+
+static const CoordRec char104_stroke1[] = {
+    { 26.1905, 47.619 },
+    { 40.4762, 61.9048 },
+    { 50, 66.6667 },
+    { 64.2857, 66.6667 },
+    { 73.8095, 61.9048 },
+    { 78.5715, 47.619 },
+    { 78.5715, 0 },
+};
+
+static const StrokeRec char104[] = {
+   { 2, char104_stroke0 },
+   { 7, char104_stroke1 },
+};
+
+/* char: 105 'i' */
+
+static const CoordRec char105_stroke0[] = {
+    { 47.6191, 100 },
+    { 52.381, 95.2381 },
+    { 57.1429, 100 },
+    { 52.381, 104.762 },
+    { 47.6191, 100 },
+};
+
+static const CoordRec char105_stroke1[] = {
+    { 52.381, 66.6667 },
+    { 52.381, 0 },
+};
+
+static const StrokeRec char105[] = {
+   { 5, char105_stroke0 },
+   { 2, char105_stroke1 },
+};
+
+/* char: 106 'j' */
+
+static const CoordRec char106_stroke0[] = {
+    { 57.1429, 100 },
+    { 61.9048, 95.2381 },
+    { 66.6667, 100 },
+    { 61.9048, 104.762 },
+    { 57.1429, 100 },
+};
+
+static const CoordRec char106_stroke1[] = {
+    { 61.9048, 66.6667 },
+    { 61.9048, -14.2857 },
+    { 57.1429, -28.5714 },
+    { 47.6191, -33.3333 },
+    { 38.0953, -33.3333 },
+};
+
+static const StrokeRec char106[] = {
+   { 5, char106_stroke0 },
+   { 5, char106_stroke1 },
+};
+
+/* char: 107 'k' */
+
+static const CoordRec char107_stroke0[] = {
+    { 26.1905, 100 },
+    { 26.1905, 0 },
+};
+
+static const CoordRec char107_stroke1[] = {
+    { 73.8095, 66.6667 },
+    { 26.1905, 19.0476 },
+};
+
+static const CoordRec char107_stroke2[] = {
+    { 45.2381, 38.0952 },
+    { 78.5715, 0 },
+};
+
+static const StrokeRec char107[] = {
+   { 2, char107_stroke0 },
+   { 2, char107_stroke1 },
+   { 2, char107_stroke2 },
+};
+
+/* char: 108 'l' */
+
+static const CoordRec char108_stroke0[] = {
+    { 52.381, 100 },
+    { 52.381, 0 },
+};
+
+static const StrokeRec char108[] = {
+   { 2, char108_stroke0 },
+};
+
+/* char: 109 'm' */
+
+static const CoordRec char109_stroke0[] = {
+    { 0, 66.6667 },
+    { 0, 0 },
+};
+
+static const CoordRec char109_stroke1[] = {
+    { 0, 47.619 },
+    { 14.2857, 61.9048 },
+    { 23.8095, 66.6667 },
+    { 38.0952, 66.6667 },
+    { 47.619, 61.9048 },
+    { 52.381, 47.619 },
+    { 52.381, 0 },
+};
+
+static const CoordRec char109_stroke2[] = {
+    { 52.381, 47.619 },
+    { 66.6667, 61.9048 },
+    { 76.1905, 66.6667 },
+    { 90.4762, 66.6667 },
+    { 100, 61.9048 },
+    { 104.762, 47.619 },
+    { 104.762, 0 },
+};
+
+static const StrokeRec char109[] = {
+   { 2, char109_stroke0 },
+   { 7, char109_stroke1 },
+   { 7, char109_stroke2 },
+};
+
+/* char: 110 'n' */
+
+static const CoordRec char110_stroke0[] = {
+    { 26.1905, 66.6667 },
+    { 26.1905, 0 },
+};
+
+static const CoordRec char110_stroke1[] = {
+    { 26.1905, 47.619 },
+    { 40.4762, 61.9048 },
+    { 50, 66.6667 },
+    { 64.2857, 66.6667 },
+    { 73.8095, 61.9048 },
+    { 78.5715, 47.619 },
+    { 78.5715, 0 },
+};
+
+static const StrokeRec char110[] = {
+   { 2, char110_stroke0 },
+   { 7, char110_stroke1 },
+};
+
+/* char: 111 'o' */
+
+static const CoordRec char111_stroke0[] = {
+    { 45.2381, 66.6667 },
+    { 35.7143, 61.9048 },
+    { 26.1905, 52.381 },
+    { 21.4286, 38.0952 },
+    { 21.4286, 28.5714 },
+    { 26.1905, 14.2857 },
+    { 35.7143, 4.7619 },
+    { 45.2381, 0 },
+    { 59.5238, 0 },
+    { 69.0476, 4.7619 },
+    { 78.5714, 14.2857 },
+    { 83.3334, 28.5714 },
+    { 83.3334, 38.0952 },
+    { 78.5714, 52.381 },
+    { 69.0476, 61.9048 },
+    { 59.5238, 66.6667 },
+    { 45.2381, 66.6667 },
+};
+
+static const StrokeRec char111[] = {
+   { 17, char111_stroke0 },
+};
+
+/* char: 112 'p' */
+
+static const CoordRec char112_stroke0[] = {
+    { 23.8095, 66.6667 },
+    { 23.8095, -33.3333 },
+};
+
+static const CoordRec char112_stroke1[] = {
+    { 23.8095, 52.381 },
+    { 33.3333, 61.9048 },
+    { 42.8571, 66.6667 },
+    { 57.1428, 66.6667 },
+    { 66.6666, 61.9048 },
+    { 76.1905, 52.381 },
+    { 80.9524, 38.0952 },
+    { 80.9524, 28.5714 },
+    { 76.1905, 14.2857 },
+    { 66.6666, 4.7619 },
+    { 57.1428, 0 },
+    { 42.8571, 0 },
+    { 33.3333, 4.7619 },
+    { 23.8095, 14.2857 },
+};
+
+static const StrokeRec char112[] = {
+   { 2, char112_stroke0 },
+   { 14, char112_stroke1 },
+};
+
+/* char: 113 'q' */
+
+static const CoordRec char113_stroke0[] = {
+    { 80.9524, 66.6667 },
+    { 80.9524, -33.3333 },
+};
+
+static const CoordRec char113_stroke1[] = {
+    { 80.9524, 52.381 },
+    { 71.4285, 61.9048 },
+    { 61.9047, 66.6667 },
+    { 47.619, 66.6667 },
+    { 38.0952, 61.9048 },
+    { 28.5714, 52.381 },
+    { 23.8095, 38.0952 },
+    { 23.8095, 28.5714 },
+    { 28.5714, 14.2857 },
+    { 38.0952, 4.7619 },
+    { 47.619, 0 },
+    { 61.9047, 0 },
+    { 71.4285, 4.7619 },
+    { 80.9524, 14.2857 },
+};
+
+static const StrokeRec char113[] = {
+   { 2, char113_stroke0 },
+   { 14, char113_stroke1 },
+};
+
+/* char: 114 'r' */
+
+static const CoordRec char114_stroke0[] = {
+    { 33.3334, 66.6667 },
+    { 33.3334, 0 },
+};
+
+static const CoordRec char114_stroke1[] = {
+    { 33.3334, 38.0952 },
+    { 38.0953, 52.381 },
+    { 47.6191, 61.9048 },
+    { 57.1429, 66.6667 },
+    { 71.4286, 66.6667 },
+};
+
+static const StrokeRec char114[] = {
+   { 2, char114_stroke0 },
+   { 5, char114_stroke1 },
+};
+
+/* char: 115 's' */
+
+static const CoordRec char115_stroke0[] = {
+    { 78.5715, 52.381 },
+    { 73.8095, 61.9048 },
+    { 59.5238, 66.6667 },
+    { 45.2381, 66.6667 },
+    { 30.9524, 61.9048 },
+    { 26.1905, 52.381 },
+    { 30.9524, 42.8571 },
+    { 40.4762, 38.0952 },
+    { 64.2857, 33.3333 },
+    { 73.8095, 28.5714 },
+    { 78.5715, 19.0476 },
+    { 78.5715, 14.2857 },
+    { 73.8095, 4.7619 },
+    { 59.5238, 0 },
+    { 45.2381, 0 },
+    { 30.9524, 4.7619 },
+    { 26.1905, 14.2857 },
+};
+
+static const StrokeRec char115[] = {
+   { 17, char115_stroke0 },
+};
+
+/* char: 116 't' */
+
+static const CoordRec char116_stroke0[] = {
+    { 47.6191, 100 },
+    { 47.6191, 19.0476 },
+    { 52.381, 4.7619 },
+    { 61.9048, 0 },
+    { 71.4286, 0 },
+};
+
+static const CoordRec char116_stroke1[] = {
+    { 33.3334, 66.6667 },
+    { 66.6667, 66.6667 },
+};
+
+static const StrokeRec char116[] = {
+   { 5, char116_stroke0 },
+   { 2, char116_stroke1 },
+};
+
+/* char: 117 'u' */
+
+static const CoordRec char117_stroke0[] = {
+    { 26.1905, 66.6667 },
+    { 26.1905, 19.0476 },
+    { 30.9524, 4.7619 },
+    { 40.4762, 0 },
+    { 54.7619, 0 },
+    { 64.2857, 4.7619 },
+    { 78.5715, 19.0476 },
+};
+
+static const CoordRec char117_stroke1[] = {
+    { 78.5715, 66.6667 },
+    { 78.5715, 0 },
+};
+
+static const StrokeRec char117[] = {
+   { 7, char117_stroke0 },
+   { 2, char117_stroke1 },
+};
+
+/* char: 118 'v' */
+
+static const CoordRec char118_stroke0[] = {
+    { 23.8095, 66.6667 },
+    { 52.3809, 0 },
+};
+
+static const CoordRec char118_stroke1[] = {
+    { 80.9524, 66.6667 },
+    { 52.3809, 0 },
+};
+
+static const StrokeRec char118[] = {
+   { 2, char118_stroke0 },
+   { 2, char118_stroke1 },
+};
+
+/* char: 119 'w' */
+
+static const CoordRec char119_stroke0[] = {
+    { 14.2857, 66.6667 },
+    { 33.3333, 0 },
+};
+
+static const CoordRec char119_stroke1[] = {
+    { 52.3809, 66.6667 },
+    { 33.3333, 0 },
+};
+
+static const CoordRec char119_stroke2[] = {
+    { 52.3809, 66.6667 },
+    { 71.4286, 0 },
+};
+
+static const CoordRec char119_stroke3[] = {
+    { 90.4762, 66.6667 },
+    { 71.4286, 0 },
+};
+
+static const StrokeRec char119[] = {
+   { 2, char119_stroke0 },
+   { 2, char119_stroke1 },
+   { 2, char119_stroke2 },
+   { 2, char119_stroke3 },
+};
+
+/* char: 120 'x' */
+
+static const CoordRec char120_stroke0[] = {
+    { 26.1905, 66.6667 },
+    { 78.5715, 0 },
+};
+
+static const CoordRec char120_stroke1[] = {
+    { 78.5715, 66.6667 },
+    { 26.1905, 0 },
+};
+
+static const StrokeRec char120[] = {
+   { 2, char120_stroke0 },
+   { 2, char120_stroke1 },
+};
+
+/* char: 121 'y' */
+
+static const CoordRec char121_stroke0[] = {
+    { 26.1905, 66.6667 },
+    { 54.7619, 0 },
+};
+
+static const CoordRec char121_stroke1[] = {
+    { 83.3334, 66.6667 },
+    { 54.7619, 0 },
+    { 45.2381, -19.0476 },
+    { 35.7143, -28.5714 },
+    { 26.1905, -33.3333 },
+    { 21.4286, -33.3333 },
+};
+
+static const StrokeRec char121[] = {
+   { 2, char121_stroke0 },
+   { 6, char121_stroke1 },
+};
+
+/* char: 122 'z' */
+
+static const CoordRec char122_stroke0[] = {
+    { 78.5715, 66.6667 },
+    { 26.1905, 0 },
+};
+
+static const CoordRec char122_stroke1[] = {
+    { 26.1905, 66.6667 },
+    { 78.5715, 66.6667 },
+};
+
+static const CoordRec char122_stroke2[] = {
+    { 26.1905, 0 },
+    { 78.5715, 0 },
+};
+
+static const StrokeRec char122[] = {
+   { 2, char122_stroke0 },
+   { 2, char122_stroke1 },
+   { 2, char122_stroke2 },
+};
+
+/* char: 123 '{' */
+
+static const CoordRec char123_stroke0[] = {
+    { 64.2857, 119.048 },
+    { 54.7619, 114.286 },
+    { 50, 109.524 },
+    { 45.2381, 100 },
+    { 45.2381, 90.4762 },
+    { 50, 80.9524 },
+    { 54.7619, 76.1905 },
+    { 59.5238, 66.6667 },
+    { 59.5238, 57.1429 },
+    { 50, 47.619 },
+};
+
+static const CoordRec char123_stroke1[] = {
+    { 54.7619, 114.286 },
+    { 50, 104.762 },
+    { 50, 95.2381 },
+    { 54.7619, 85.7143 },
+    { 59.5238, 80.9524 },
+    { 64.2857, 71.4286 },
+    { 64.2857, 61.9048 },
+    { 59.5238, 52.381 },
+    { 40.4762, 42.8571 },
+    { 59.5238, 33.3333 },
+    { 64.2857, 23.8095 },
+    { 64.2857, 14.2857 },
+    { 59.5238, 4.7619 },
+    { 54.7619, 0 },
+    { 50, -9.5238 },
+    { 50, -19.0476 },
+    { 54.7619, -28.5714 },
+};
+
+static const CoordRec char123_stroke2[] = {
+    { 50, 38.0952 },
+    { 59.5238, 28.5714 },
+    { 59.5238, 19.0476 },
+    { 54.7619, 9.5238 },
+    { 50, 4.7619 },
+    { 45.2381, -4.7619 },
+    { 45.2381, -14.2857 },
+    { 50, -23.8095 },
+    { 54.7619, -28.5714 },
+    { 64.2857, -33.3333 },
+};
+
+static const StrokeRec char123[] = {
+   { 10, char123_stroke0 },
+   { 17, char123_stroke1 },
+   { 10, char123_stroke2 },
+};
+
+/* char: 124 '|' */
+
+static const CoordRec char124_stroke0[] = {
+    { 52.381, 119.048 },
+    { 52.381, -33.3333 },
+};
+
+static const StrokeRec char124[] = {
+   { 2, char124_stroke0 },
+};
+
+/* char: 125 '}' */
+
+static const CoordRec char125_stroke0[] = {
+    { 40.4762, 119.048 },
+    { 50, 114.286 },
+    { 54.7619, 109.524 },
+    { 59.5238, 100 },
+    { 59.5238, 90.4762 },
+    { 54.7619, 80.9524 },
+    { 50, 76.1905 },
+    { 45.2381, 66.6667 },
+    { 45.2381, 57.1429 },
+    { 54.7619, 47.619 },
+};
+
+static const CoordRec char125_stroke1[] = {
+    { 50, 114.286 },
+    { 54.7619, 104.762 },
+    { 54.7619, 95.2381 },
+    { 50, 85.7143 },
+    { 45.2381, 80.9524 },
+    { 40.4762, 71.4286 },
+    { 40.4762, 61.9048 },
+    { 45.2381, 52.381 },
+    { 64.2857, 42.8571 },
+    { 45.2381, 33.3333 },
+    { 40.4762, 23.8095 },
+    { 40.4762, 14.2857 },
+    { 45.2381, 4.7619 },
+    { 50, 0 },
+    { 54.7619, -9.5238 },
+    { 54.7619, -19.0476 },
+    { 50, -28.5714 },
+};
+
+static const CoordRec char125_stroke2[] = {
+    { 54.7619, 38.0952 },
+    { 45.2381, 28.5714 },
+    { 45.2381, 19.0476 },
+    { 50, 9.5238 },
+    { 54.7619, 4.7619 },
+    { 59.5238, -4.7619 },
+    { 59.5238, -14.2857 },
+    { 54.7619, -23.8095 },
+    { 50, -28.5714 },
+    { 40.4762, -33.3333 },
+};
+
+static const StrokeRec char125[] = {
+   { 10, char125_stroke0 },
+   { 17, char125_stroke1 },
+   { 10, char125_stroke2 },
+};
+
+/* char: 126 '~' */
+
+static const CoordRec char126_stroke0[] = {
+    { 9.5238, 28.5714 },
+    { 9.5238, 38.0952 },
+    { 14.2857, 52.381 },
+    { 23.8095, 57.1429 },
+    { 33.3333, 57.1429 },
+    { 42.8571, 52.381 },
+    { 61.9048, 38.0952 },
+    { 71.4286, 33.3333 },
+    { 80.9524, 33.3333 },
+    { 90.4762, 38.0952 },
+    { 95.2381, 47.619 },
+};
+
+static const CoordRec char126_stroke1[] = {
+    { 9.5238, 38.0952 },
+    { 14.2857, 47.619 },
+    { 23.8095, 52.381 },
+    { 33.3333, 52.381 },
+    { 42.8571, 47.619 },
+    { 61.9048, 33.3333 },
+    { 71.4286, 28.5714 },
+    { 80.9524, 28.5714 },
+    { 90.4762, 33.3333 },
+    { 95.2381, 47.619 },
+    { 95.2381, 57.1429 },
+};
+
+static const StrokeRec char126[] = {
+   { 11, char126_stroke0 },
+   { 11, char126_stroke1 },
+};
+
+/* char: 127 */
+
+static const CoordRec char127_stroke0[] = {
+    { 71.4286, 100 },
+    { 33.3333, -33.3333 },
+};
+
+static const CoordRec char127_stroke1[] = {
+    { 47.619, 66.6667 },
+    { 33.3333, 61.9048 },
+    { 23.8095, 52.381 },
+    { 19.0476, 38.0952 },
+    { 19.0476, 23.8095 },
+    { 23.8095, 14.2857 },
+    { 33.3333, 4.7619 },
+    { 47.619, 0 },
+    { 57.1428, 0 },
+    { 71.4286, 4.7619 },
+    { 80.9524, 14.2857 },
+    { 85.7143, 28.5714 },
+    { 85.7143, 42.8571 },
+    { 80.9524, 52.381 },
+    { 71.4286, 61.9048 },
+    { 57.1428, 66.6667 },
+    { 47.619, 66.6667 },
+};
+
+static const StrokeRec char127[] = {
+   { 2, char127_stroke0 },
+   { 17, char127_stroke1 },
+};
+
+static const StrokeCharRec chars[] = {
+    { 0, /* char0 */ 0, 0, 0 },
+    { 0, /* char1 */ 0, 0, 0 },
+    { 0, /* char2 */ 0, 0, 0 },
+    { 0, /* char3 */ 0, 0, 0 },
+    { 0, /* char4 */ 0, 0, 0 },
+    { 0, /* char5 */ 0, 0, 0 },
+    { 0, /* char6 */ 0, 0, 0 },
+    { 0, /* char7 */ 0, 0, 0 },
+    { 0, /* char8 */ 0, 0, 0 },
+    { 0, /* char9 */ 0, 0, 0 },
+    { 0, /* char10 */ 0, 0, 0 },
+    { 0, /* char11 */ 0, 0, 0 },
+    { 0, /* char12 */ 0, 0, 0 },
+    { 0, /* char13 */ 0, 0, 0 },
+    { 0, /* char14 */ 0, 0, 0 },
+    { 0, /* char15 */ 0, 0, 0 },
+    { 0, /* char16 */ 0, 0, 0 },
+    { 0, /* char17 */ 0, 0, 0 },
+    { 0, /* char18 */ 0, 0, 0 },
+    { 0, /* char19 */ 0, 0, 0 },
+    { 0, /* char20 */ 0, 0, 0 },
+    { 0, /* char21 */ 0, 0, 0 },
+    { 0, /* char22 */ 0, 0, 0 },
+    { 0, /* char23 */ 0, 0, 0 },
+    { 0, /* char24 */ 0, 0, 0 },
+    { 0, /* char25 */ 0, 0, 0 },
+    { 0, /* char26 */ 0, 0, 0 },
+    { 0, /* char27 */ 0, 0, 0 },
+    { 0, /* char28 */ 0, 0, 0 },
+    { 0, /* char29 */ 0, 0, 0 },
+    { 0, /* char30 */ 0, 0, 0 },
+    { 0, /* char31 */ 0, 0, 0 },
+    { 0, /* char32 */ 0, 52.381, 104.762 },
+    { 2, char33, 52.381, 104.762 },
+    { 2, char34, 52.381, 104.762 },
+    { 4, char35, 52.381, 104.762 },
+    { 3, char36, 52.381, 104.762 },
+    { 3, char37, 52.381, 104.762 },
+    { 1, char38, 52.381, 104.762 },
+    { 1, char39, 52.381, 104.762 },
+    { 1, char40, 52.381, 104.762 },
+    { 1, char41, 52.381, 104.762 },
+    { 3, char42, 52.381, 104.762 },
+    { 2, char43, 52.381, 104.762 },
+    { 1, char44, 52.381, 104.762 },
+    { 1, char45, 52.381, 104.762 },
+    { 1, char46, 52.381, 104.762 },
+    { 1, char47, 52.381, 104.762 },
+    { 1, char48, 52.381, 104.762 },
+    { 1, char49, 52.381, 104.762 },
+    { 1, char50, 52.381, 104.762 },
+    { 1, char51, 52.381, 104.762 },
+    { 2, char52, 52.381, 104.762 },
+    { 1, char53, 52.381, 104.762 },
+    { 1, char54, 52.381, 104.762 },
+    { 2, char55, 52.381, 104.762 },
+    { 1, char56, 52.381, 104.762 },
+    { 1, char57, 52.381, 104.762 },
+    { 2, char58, 52.381, 104.762 },
+    { 2, char59, 52.381, 104.762 },
+    { 1, char60, 52.381, 104.762 },
+    { 2, char61, 52.381, 104.762 },
+    { 1, char62, 52.381, 104.762 },
+    { 2, char63, 52.381, 104.762 },
+    { 2, char64, 52.381, 104.762 },
+    { 3, char65, 52.381, 104.762 },
+    { 3, char66, 52.381, 104.762 },
+    { 1, char67, 52.381, 104.762 },
+    { 2, char68, 52.381, 104.762 },
+    { 4, char69, 52.381, 104.762 },
+    { 3, char70, 52.381, 104.762 },
+    { 2, char71, 52.381, 104.762 },
+    { 3, char72, 52.381, 104.762 },
+    { 1, char73, 52.381, 104.762 },
+    { 1, char74, 52.381, 104.762 },
+    { 3, char75, 52.381, 104.762 },
+    { 2, char76, 52.381, 104.762 },
+    { 4, char77, 52.381, 104.762 },
+    { 3, char78, 52.381, 104.762 },
+    { 1, char79, 52.381, 104.762 },
+    { 2, char80, 52.381, 104.762 },
+    { 2, char81, 52.381, 104.762 },
+    { 3, char82, 52.381, 104.762 },
+    { 1, char83, 52.381, 104.762 },
+    { 2, char84, 52.381, 104.762 },
+    { 1, char85, 52.381, 104.762 },
+    { 2, char86, 52.381, 104.762 },
+    { 4, char87, 52.381, 104.762 },
+    { 2, char88, 52.381, 104.762 },
+    { 2, char89, 52.381, 104.762 },
+    { 3, char90, 52.381, 104.762 },
+    { 4, char91, 52.381, 104.762 },
+    { 1, char92, 52.381, 104.762 },
+    { 4, char93, 52.381, 104.762 },
+    { 2, char94, 52.381, 104.762 },
+    { 1, char95, 52.381, 104.762 },
+    { 2, char96, 52.381, 104.762 },
+    { 2, char97, 52.381, 104.762 },
+    { 2, char98, 52.381, 104.762 },
+    { 1, char99, 52.381, 104.762 },
+    { 2, char100, 52.381, 104.762 },
+    { 1, char101, 52.381, 104.762 },
+    { 2, char102, 52.381, 104.762 },
+    { 2, char103, 52.381, 104.762 },
+    { 2, char104, 52.381, 104.762 },
+    { 2, char105, 52.381, 104.762 },
+    { 2, char106, 52.381, 104.762 },
+    { 3, char107, 52.381, 104.762 },
+    { 1, char108, 52.381, 104.762 },
+    { 3, char109, 52.381, 104.762 },
+    { 2, char110, 52.381, 104.762 },
+    { 1, char111, 52.381, 104.762 },
+    { 2, char112, 52.381, 104.762 },
+    { 2, char113, 52.381, 104.762 },
+    { 2, char114, 52.381, 104.762 },
+    { 1, char115, 52.381, 104.762 },
+    { 2, char116, 52.381, 104.762 },
+    { 2, char117, 52.381, 104.762 },
+    { 2, char118, 52.381, 104.762 },
+    { 4, char119, 52.381, 104.762 },
+    { 2, char120, 52.381, 104.762 },
+    { 2, char121, 52.381, 104.762 },
+    { 3, char122, 52.381, 104.762 },
+    { 3, char123, 52.381, 104.762 },
+    { 1, char124, 52.381, 104.762 },
+    { 3, char125, 52.381, 104.762 },
+    { 2, char126, 52.381, 104.762 },
+    { 2, char127, 52.381, 104.762 },
+};
+
+StrokeFontRec glutStrokeMonoRoman = { "Roman", 128, chars, 119.048, -33.3333 };
+
diff --git a/src/glut/beos/glut_roman.cpp b/src/glut/beos/glut_roman.cpp
new file mode 100644 (file)
index 0000000..af2b4ec
--- /dev/null
@@ -0,0 +1,2451 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "glutstroke.h"
+
+/* char: 33 '!' */
+
+static const CoordRec char33_stroke0[] = {
+    { 13.3819, 100 },
+    { 13.3819, 33.3333 },
+};
+
+static const CoordRec char33_stroke1[] = {
+    { 13.3819, 9.5238 },
+    { 8.62, 4.7619 },
+    { 13.3819, 0 },
+    { 18.1438, 4.7619 },
+    { 13.3819, 9.5238 },
+};
+
+static const StrokeRec char33[] = {
+   { 2, char33_stroke0 },
+   { 5, char33_stroke1 },
+};
+
+/* char: 34 '"' */
+
+static const CoordRec char34_stroke0[] = {
+    { 4.02, 100 },
+    { 4.02, 66.6667 },
+};
+
+static const CoordRec char34_stroke1[] = {
+    { 42.1152, 100 },
+    { 42.1152, 66.6667 },
+};
+
+static const StrokeRec char34[] = {
+   { 2, char34_stroke0 },
+   { 2, char34_stroke1 },
+};
+
+/* char: 35 '#' */
+
+static const CoordRec char35_stroke0[] = {
+    { 41.2952, 119.048 },
+    { 7.9619, -33.3333 },
+};
+
+static const CoordRec char35_stroke1[] = {
+    { 69.8667, 119.048 },
+    { 36.5333, -33.3333 },
+};
+
+static const CoordRec char35_stroke2[] = {
+    { 7.9619, 57.1429 },
+    { 74.6286, 57.1429 },
+};
+
+static const CoordRec char35_stroke3[] = {
+    { 3.2, 28.5714 },
+    { 69.8667, 28.5714 },
+};
+
+static const StrokeRec char35[] = {
+   { 2, char35_stroke0 },
+   { 2, char35_stroke1 },
+   { 2, char35_stroke2 },
+   { 2, char35_stroke3 },
+};
+
+/* char: 36 '$' */
+
+static const CoordRec char36_stroke0[] = {
+    { 28.6295, 119.048 },
+    { 28.6295, -19.0476 },
+};
+
+static const CoordRec char36_stroke1[] = {
+    { 47.6771, 119.048 },
+    { 47.6771, -19.0476 },
+};
+
+static const CoordRec char36_stroke2[] = {
+    { 71.4867, 85.7143 },
+    { 61.9629, 95.2381 },
+    { 47.6771, 100 },
+    { 28.6295, 100 },
+    { 14.3438, 95.2381 },
+    { 4.82, 85.7143 },
+    { 4.82, 76.1905 },
+    { 9.5819, 66.6667 },
+    { 14.3438, 61.9048 },
+    { 23.8676, 57.1429 },
+    { 52.439, 47.619 },
+    { 61.9629, 42.8571 },
+    { 66.7248, 38.0952 },
+    { 71.4867, 28.5714 },
+    { 71.4867, 14.2857 },
+    { 61.9629, 4.7619 },
+    { 47.6771, 0 },
+    { 28.6295, 0 },
+    { 14.3438, 4.7619 },
+    { 4.82, 14.2857 },
+};
+
+static const StrokeRec char36[] = {
+   { 2, char36_stroke0 },
+   { 2, char36_stroke1 },
+   { 20, char36_stroke2 },
+};
+
+/* char: 37 '%' */
+
+static const CoordRec char37_stroke0[] = {
+    { 92.0743, 100 },
+    { 6.36, 0 },
+};
+
+static const CoordRec char37_stroke1[] = {
+    { 30.1695, 100 },
+    { 39.6933, 90.4762 },
+    { 39.6933, 80.9524 },
+    { 34.9314, 71.4286 },
+    { 25.4076, 66.6667 },
+    { 15.8838, 66.6667 },
+    { 6.36, 76.1905 },
+    { 6.36, 85.7143 },
+    { 11.1219, 95.2381 },
+    { 20.6457, 100 },
+    { 30.1695, 100 },
+    { 39.6933, 95.2381 },
+    { 53.979, 90.4762 },
+    { 68.2648, 90.4762 },
+    { 82.5505, 95.2381 },
+    { 92.0743, 100 },
+};
+
+static const CoordRec char37_stroke2[] = {
+    { 73.0267, 33.3333 },
+    { 63.5029, 28.5714 },
+    { 58.741, 19.0476 },
+    { 58.741, 9.5238 },
+    { 68.2648, 0 },
+    { 77.7886, 0 },
+    { 87.3124, 4.7619 },
+    { 92.0743, 14.2857 },
+    { 92.0743, 23.8095 },
+    { 82.5505, 33.3333 },
+    { 73.0267, 33.3333 },
+};
+
+static const StrokeRec char37[] = {
+   { 2, char37_stroke0 },
+   { 16, char37_stroke1 },
+   { 11, char37_stroke2 },
+};
+
+/* char: 38 '&' */
+
+static const CoordRec char38_stroke0[] = {
+    { 101.218, 57.1429 },
+    { 101.218, 61.9048 },
+    { 96.4562, 66.6667 },
+    { 91.6943, 66.6667 },
+    { 86.9324, 61.9048 },
+    { 82.1705, 52.381 },
+    { 72.6467, 28.5714 },
+    { 63.1229, 14.2857 },
+    { 53.599, 4.7619 },
+    { 44.0752, 0 },
+    { 25.0276, 0 },
+    { 15.5038, 4.7619 },
+    { 10.7419, 9.5238 },
+    { 5.98, 19.0476 },
+    { 5.98, 28.5714 },
+    { 10.7419, 38.0952 },
+    { 15.5038, 42.8571 },
+    { 48.8371, 61.9048 },
+    { 53.599, 66.6667 },
+    { 58.361, 76.1905 },
+    { 58.361, 85.7143 },
+    { 53.599, 95.2381 },
+    { 44.0752, 100 },
+    { 34.5514, 95.2381 },
+    { 29.7895, 85.7143 },
+    { 29.7895, 76.1905 },
+    { 34.5514, 61.9048 },
+    { 44.0752, 47.619 },
+    { 67.8848, 14.2857 },
+    { 77.4086, 4.7619 },
+    { 86.9324, 0 },
+    { 96.4562, 0 },
+    { 101.218, 4.7619 },
+    { 101.218, 9.5238 },
+};
+
+static const StrokeRec char38[] = {
+   { 34, char38_stroke0 },
+};
+
+/* char: 39 ''' */
+
+static const CoordRec char39_stroke0[] = {
+    { 4.44, 100 },
+    { 4.44, 66.6667 },
+};
+
+static const StrokeRec char39[] = {
+   { 2, char39_stroke0 },
+};
+
+/* char: 40 '(' */
+
+static const CoordRec char40_stroke0[] = {
+    { 40.9133, 119.048 },
+    { 31.3895, 109.524 },
+    { 21.8657, 95.2381 },
+    { 12.3419, 76.1905 },
+    { 7.58, 52.381 },
+    { 7.58, 33.3333 },
+    { 12.3419, 9.5238 },
+    { 21.8657, -9.5238 },
+    { 31.3895, -23.8095 },
+    { 40.9133, -33.3333 },
+};
+
+static const StrokeRec char40[] = {
+   { 10, char40_stroke0 },
+};
+
+/* char: 41 ')' */
+
+static const CoordRec char41_stroke0[] = {
+    { 5.28, 119.048 },
+    { 14.8038, 109.524 },
+    { 24.3276, 95.2381 },
+    { 33.8514, 76.1905 },
+    { 38.6133, 52.381 },
+    { 38.6133, 33.3333 },
+    { 33.8514, 9.5238 },
+    { 24.3276, -9.5238 },
+    { 14.8038, -23.8095 },
+    { 5.28, -33.3333 },
+};
+
+static const StrokeRec char41[] = {
+   { 10, char41_stroke0 },
+};
+
+/* char: 42 '*' */
+
+static const CoordRec char42_stroke0[] = {
+    { 30.7695, 71.4286 },
+    { 30.7695, 14.2857 },
+};
+
+static const CoordRec char42_stroke1[] = {
+    { 6.96, 57.1429 },
+    { 54.579, 28.5714 },
+};
+
+static const CoordRec char42_stroke2[] = {
+    { 54.579, 57.1429 },
+    { 6.96, 28.5714 },
+};
+
+static const StrokeRec char42[] = {
+   { 2, char42_stroke0 },
+   { 2, char42_stroke1 },
+   { 2, char42_stroke2 },
+};
+
+/* char: 43 '+' */
+
+static const CoordRec char43_stroke0[] = {
+    { 48.8371, 85.7143 },
+    { 48.8371, 0 },
+};
+
+static const CoordRec char43_stroke1[] = {
+    { 5.98, 42.8571 },
+    { 91.6943, 42.8571 },
+};
+
+static const StrokeRec char43[] = {
+   { 2, char43_stroke0 },
+   { 2, char43_stroke1 },
+};
+
+/* char: 44 ',' */
+
+static const CoordRec char44_stroke0[] = {
+    { 18.2838, 4.7619 },
+    { 13.5219, 0 },
+    { 8.76, 4.7619 },
+    { 13.5219, 9.5238 },
+    { 18.2838, 4.7619 },
+    { 18.2838, -4.7619 },
+    { 13.5219, -14.2857 },
+    { 8.76, -19.0476 },
+};
+
+static const StrokeRec char44[] = {
+   { 8, char44_stroke0 },
+};
+
+/* char: 45 '-' */
+
+static const CoordRec char45_stroke0[] = {
+    { 7.38, 42.8571 },
+    { 93.0943, 42.8571 },
+};
+
+static const StrokeRec char45[] = {
+   { 2, char45_stroke0 },
+};
+
+/* char: 46 '.' */
+
+static const CoordRec char46_stroke0[] = {
+    { 13.1019, 9.5238 },
+    { 8.34, 4.7619 },
+    { 13.1019, 0 },
+    { 17.8638, 4.7619 },
+    { 13.1019, 9.5238 },
+};
+
+static const StrokeRec char46[] = {
+   { 5, char46_stroke0 },
+};
+
+/* char: 47 '/' */
+
+static const CoordRec char47_stroke0[] = {
+    { 7.24, -14.2857 },
+    { 73.9067, 100 },
+};
+
+static const StrokeRec char47[] = {
+   { 2, char47_stroke0 },
+};
+
+/* char: 48 '0' */
+
+static const CoordRec char48_stroke0[] = {
+    { 33.5514, 100 },
+    { 19.2657, 95.2381 },
+    { 9.7419, 80.9524 },
+    { 4.98, 57.1429 },
+    { 4.98, 42.8571 },
+    { 9.7419, 19.0476 },
+    { 19.2657, 4.7619 },
+    { 33.5514, 0 },
+    { 43.0752, 0 },
+    { 57.361, 4.7619 },
+    { 66.8848, 19.0476 },
+    { 71.6467, 42.8571 },
+    { 71.6467, 57.1429 },
+    { 66.8848, 80.9524 },
+    { 57.361, 95.2381 },
+    { 43.0752, 100 },
+    { 33.5514, 100 },
+};
+
+static const StrokeRec char48[] = {
+   { 17, char48_stroke0 },
+};
+
+/* char: 49 '1' */
+
+static const CoordRec char49_stroke0[] = {
+    { 11.82, 80.9524 },
+    { 21.3438, 85.7143 },
+    { 35.6295, 100 },
+    { 35.6295, 0 },
+};
+
+static const StrokeRec char49[] = {
+   { 4, char49_stroke0 },
+};
+
+/* char: 50 '2' */
+
+static const CoordRec char50_stroke0[] = {
+    { 10.1819, 76.1905 },
+    { 10.1819, 80.9524 },
+    { 14.9438, 90.4762 },
+    { 19.7057, 95.2381 },
+    { 29.2295, 100 },
+    { 48.2771, 100 },
+    { 57.801, 95.2381 },
+    { 62.5629, 90.4762 },
+    { 67.3248, 80.9524 },
+    { 67.3248, 71.4286 },
+    { 62.5629, 61.9048 },
+    { 53.039, 47.619 },
+    { 5.42, 0 },
+    { 72.0867, 0 },
+};
+
+static const StrokeRec char50[] = {
+   { 14, char50_stroke0 },
+};
+
+/* char: 51 '3' */
+
+static const CoordRec char51_stroke0[] = {
+    { 14.5238, 100 },
+    { 66.9048, 100 },
+    { 38.3333, 61.9048 },
+    { 52.619, 61.9048 },
+    { 62.1429, 57.1429 },
+    { 66.9048, 52.381 },
+    { 71.6667, 38.0952 },
+    { 71.6667, 28.5714 },
+    { 66.9048, 14.2857 },
+    { 57.381, 4.7619 },
+    { 43.0952, 0 },
+    { 28.8095, 0 },
+    { 14.5238, 4.7619 },
+    { 9.7619, 9.5238 },
+    { 5, 19.0476 },
+};
+
+static const StrokeRec char51[] = {
+   { 15, char51_stroke0 },
+};
+
+/* char: 52 '4' */
+
+static const CoordRec char52_stroke0[] = {
+    { 51.499, 100 },
+    { 3.88, 33.3333 },
+    { 75.3086, 33.3333 },
+};
+
+static const CoordRec char52_stroke1[] = {
+    { 51.499, 100 },
+    { 51.499, 0 },
+};
+
+static const StrokeRec char52[] = {
+   { 3, char52_stroke0 },
+   { 2, char52_stroke1 },
+};
+
+/* char: 53 '5' */
+
+static const CoordRec char53_stroke0[] = {
+    { 62.0029, 100 },
+    { 14.3838, 100 },
+    { 9.6219, 57.1429 },
+    { 14.3838, 61.9048 },
+    { 28.6695, 66.6667 },
+    { 42.9552, 66.6667 },
+    { 57.241, 61.9048 },
+    { 66.7648, 52.381 },
+    { 71.5267, 38.0952 },
+    { 71.5267, 28.5714 },
+    { 66.7648, 14.2857 },
+    { 57.241, 4.7619 },
+    { 42.9552, 0 },
+    { 28.6695, 0 },
+    { 14.3838, 4.7619 },
+    { 9.6219, 9.5238 },
+    { 4.86, 19.0476 },
+};
+
+static const StrokeRec char53[] = {
+   { 17, char53_stroke0 },
+};
+
+/* char: 54 '6' */
+
+static const CoordRec char54_stroke0[] = {
+    { 62.7229, 85.7143 },
+    { 57.961, 95.2381 },
+    { 43.6752, 100 },
+    { 34.1514, 100 },
+    { 19.8657, 95.2381 },
+    { 10.3419, 80.9524 },
+    { 5.58, 57.1429 },
+    { 5.58, 33.3333 },
+    { 10.3419, 14.2857 },
+    { 19.8657, 4.7619 },
+    { 34.1514, 0 },
+    { 38.9133, 0 },
+    { 53.199, 4.7619 },
+    { 62.7229, 14.2857 },
+    { 67.4848, 28.5714 },
+    { 67.4848, 33.3333 },
+    { 62.7229, 47.619 },
+    { 53.199, 57.1429 },
+    { 38.9133, 61.9048 },
+    { 34.1514, 61.9048 },
+    { 19.8657, 57.1429 },
+    { 10.3419, 47.619 },
+    { 5.58, 33.3333 },
+};
+
+static const StrokeRec char54[] = {
+   { 23, char54_stroke0 },
+};
+
+/* char: 55 '7' */
+
+static const CoordRec char55_stroke0[] = {
+    { 72.2267, 100 },
+    { 24.6076, 0 },
+};
+
+static const CoordRec char55_stroke1[] = {
+    { 5.56, 100 },
+    { 72.2267, 100 },
+};
+
+static const StrokeRec char55[] = {
+   { 2, char55_stroke0 },
+   { 2, char55_stroke1 },
+};
+
+/* char: 56 '8' */
+
+static const CoordRec char56_stroke0[] = {
+    { 29.4095, 100 },
+    { 15.1238, 95.2381 },
+    { 10.3619, 85.7143 },
+    { 10.3619, 76.1905 },
+    { 15.1238, 66.6667 },
+    { 24.6476, 61.9048 },
+    { 43.6952, 57.1429 },
+    { 57.981, 52.381 },
+    { 67.5048, 42.8571 },
+    { 72.2667, 33.3333 },
+    { 72.2667, 19.0476 },
+    { 67.5048, 9.5238 },
+    { 62.7429, 4.7619 },
+    { 48.4571, 0 },
+    { 29.4095, 0 },
+    { 15.1238, 4.7619 },
+    { 10.3619, 9.5238 },
+    { 5.6, 19.0476 },
+    { 5.6, 33.3333 },
+    { 10.3619, 42.8571 },
+    { 19.8857, 52.381 },
+    { 34.1714, 57.1429 },
+    { 53.219, 61.9048 },
+    { 62.7429, 66.6667 },
+    { 67.5048, 76.1905 },
+    { 67.5048, 85.7143 },
+    { 62.7429, 95.2381 },
+    { 48.4571, 100 },
+    { 29.4095, 100 },
+};
+
+static const StrokeRec char56[] = {
+   { 29, char56_stroke0 },
+};
+
+/* char: 57 '9' */
+
+static const CoordRec char57_stroke0[] = {
+    { 68.5048, 66.6667 },
+    { 63.7429, 52.381 },
+    { 54.219, 42.8571 },
+    { 39.9333, 38.0952 },
+    { 35.1714, 38.0952 },
+    { 20.8857, 42.8571 },
+    { 11.3619, 52.381 },
+    { 6.6, 66.6667 },
+    { 6.6, 71.4286 },
+    { 11.3619, 85.7143 },
+    { 20.8857, 95.2381 },
+    { 35.1714, 100 },
+    { 39.9333, 100 },
+    { 54.219, 95.2381 },
+    { 63.7429, 85.7143 },
+    { 68.5048, 66.6667 },
+    { 68.5048, 42.8571 },
+    { 63.7429, 19.0476 },
+    { 54.219, 4.7619 },
+    { 39.9333, 0 },
+    { 30.4095, 0 },
+    { 16.1238, 4.7619 },
+    { 11.3619, 14.2857 },
+};
+
+static const StrokeRec char57[] = {
+   { 23, char57_stroke0 },
+};
+
+/* char: 58 ':' */
+
+static const CoordRec char58_stroke0[] = {
+    { 14.0819, 66.6667 },
+    { 9.32, 61.9048 },
+    { 14.0819, 57.1429 },
+    { 18.8438, 61.9048 },
+    { 14.0819, 66.6667 },
+};
+
+static const CoordRec char58_stroke1[] = {
+    { 14.0819, 9.5238 },
+    { 9.32, 4.7619 },
+    { 14.0819, 0 },
+    { 18.8438, 4.7619 },
+    { 14.0819, 9.5238 },
+};
+
+static const StrokeRec char58[] = {
+   { 5, char58_stroke0 },
+   { 5, char58_stroke1 },
+};
+
+/* char: 59 ';' */
+
+static const CoordRec char59_stroke0[] = {
+    { 12.9619, 66.6667 },
+    { 8.2, 61.9048 },
+    { 12.9619, 57.1429 },
+    { 17.7238, 61.9048 },
+    { 12.9619, 66.6667 },
+};
+
+static const CoordRec char59_stroke1[] = {
+    { 17.7238, 4.7619 },
+    { 12.9619, 0 },
+    { 8.2, 4.7619 },
+    { 12.9619, 9.5238 },
+    { 17.7238, 4.7619 },
+    { 17.7238, -4.7619 },
+    { 12.9619, -14.2857 },
+    { 8.2, -19.0476 },
+};
+
+static const StrokeRec char59[] = {
+   { 5, char59_stroke0 },
+   { 8, char59_stroke1 },
+};
+
+/* char: 60 '<' */
+
+static const CoordRec char60_stroke0[] = {
+    { 79.2505, 85.7143 },
+    { 3.06, 42.8571 },
+    { 79.2505, 0 },
+};
+
+static const StrokeRec char60[] = {
+   { 3, char60_stroke0 },
+};
+
+/* char: 61 '=' */
+
+static const CoordRec char61_stroke0[] = {
+    { 5.7, 57.1429 },
+    { 91.4143, 57.1429 },
+};
+
+static const CoordRec char61_stroke1[] = {
+    { 5.7, 28.5714 },
+    { 91.4143, 28.5714 },
+};
+
+static const StrokeRec char61[] = {
+   { 2, char61_stroke0 },
+   { 2, char61_stroke1 },
+};
+
+/* char: 62 '>' */
+
+static const CoordRec char62_stroke0[] = {
+    { 2.78, 85.7143 },
+    { 78.9705, 42.8571 },
+    { 2.78, 0 },
+};
+
+static const StrokeRec char62[] = {
+   { 3, char62_stroke0 },
+};
+
+/* char: 63 '?' */
+
+static const CoordRec char63_stroke0[] = {
+    { 8.42, 76.1905 },
+    { 8.42, 80.9524 },
+    { 13.1819, 90.4762 },
+    { 17.9438, 95.2381 },
+    { 27.4676, 100 },
+    { 46.5152, 100 },
+    { 56.039, 95.2381 },
+    { 60.801, 90.4762 },
+    { 65.5629, 80.9524 },
+    { 65.5629, 71.4286 },
+    { 60.801, 61.9048 },
+    { 56.039, 57.1429 },
+    { 36.9914, 47.619 },
+    { 36.9914, 33.3333 },
+};
+
+static const CoordRec char63_stroke1[] = {
+    { 36.9914, 9.5238 },
+    { 32.2295, 4.7619 },
+    { 36.9914, 0 },
+    { 41.7533, 4.7619 },
+    { 36.9914, 9.5238 },
+};
+
+static const StrokeRec char63[] = {
+   { 14, char63_stroke0 },
+   { 5, char63_stroke1 },
+};
+
+/* char: 64 '@' */
+
+static const CoordRec char64_stroke0[] = {
+    { 49.2171, 52.381 },
+    { 39.6933, 57.1429 },
+    { 30.1695, 57.1429 },
+    { 25.4076, 47.619 },
+    { 25.4076, 42.8571 },
+    { 30.1695, 33.3333 },
+    { 39.6933, 33.3333 },
+    { 49.2171, 38.0952 },
+};
+
+static const CoordRec char64_stroke1[] = {
+    { 49.2171, 57.1429 },
+    { 49.2171, 38.0952 },
+    { 53.979, 33.3333 },
+    { 63.5029, 33.3333 },
+    { 68.2648, 42.8571 },
+    { 68.2648, 47.619 },
+    { 63.5029, 61.9048 },
+    { 53.979, 71.4286 },
+    { 39.6933, 76.1905 },
+    { 34.9314, 76.1905 },
+    { 20.6457, 71.4286 },
+    { 11.1219, 61.9048 },
+    { 6.36, 47.619 },
+    { 6.36, 42.8571 },
+    { 11.1219, 28.5714 },
+    { 20.6457, 19.0476 },
+    { 34.9314, 14.2857 },
+    { 39.6933, 14.2857 },
+    { 53.979, 19.0476 },
+};
+
+static const StrokeRec char64[] = {
+   { 8, char64_stroke0 },
+   { 19, char64_stroke1 },
+};
+
+/* char: 65 'A' */
+
+static const CoordRec char65_stroke0[] = {
+    { 40.5952, 100 },
+    { 2.5, 0 },
+};
+
+static const CoordRec char65_stroke1[] = {
+    { 40.5952, 100 },
+    { 78.6905, 0 },
+};
+
+static const CoordRec char65_stroke2[] = {
+    { 16.7857, 33.3333 },
+    { 64.4048, 33.3333 },
+};
+
+static const StrokeRec char65[] = {
+   { 2, char65_stroke0 },
+   { 2, char65_stroke1 },
+   { 2, char65_stroke2 },
+};
+
+/* char: 66 'B' */
+
+static const CoordRec char66_stroke0[] = {
+    { 11.42, 100 },
+    { 11.42, 0 },
+};
+
+static const CoordRec char66_stroke1[] = {
+    { 11.42, 100 },
+    { 54.2771, 100 },
+    { 68.5629, 95.2381 },
+    { 73.3248, 90.4762 },
+    { 78.0867, 80.9524 },
+    { 78.0867, 71.4286 },
+    { 73.3248, 61.9048 },
+    { 68.5629, 57.1429 },
+    { 54.2771, 52.381 },
+};
+
+static const CoordRec char66_stroke2[] = {
+    { 11.42, 52.381 },
+    { 54.2771, 52.381 },
+    { 68.5629, 47.619 },
+    { 73.3248, 42.8571 },
+    { 78.0867, 33.3333 },
+    { 78.0867, 19.0476 },
+    { 73.3248, 9.5238 },
+    { 68.5629, 4.7619 },
+    { 54.2771, 0 },
+    { 11.42, 0 },
+};
+
+static const StrokeRec char66[] = {
+   { 2, char66_stroke0 },
+   { 9, char66_stroke1 },
+   { 10, char66_stroke2 },
+};
+
+/* char: 67 'C' */
+
+static const CoordRec char67_stroke0[] = {
+    { 78.0886, 76.1905 },
+    { 73.3267, 85.7143 },
+    { 63.8029, 95.2381 },
+    { 54.279, 100 },
+    { 35.2314, 100 },
+    { 25.7076, 95.2381 },
+    { 16.1838, 85.7143 },
+    { 11.4219, 76.1905 },
+    { 6.66, 61.9048 },
+    { 6.66, 38.0952 },
+    { 11.4219, 23.8095 },
+    { 16.1838, 14.2857 },
+    { 25.7076, 4.7619 },
+    { 35.2314, 0 },
+    { 54.279, 0 },
+    { 63.8029, 4.7619 },
+    { 73.3267, 14.2857 },
+    { 78.0886, 23.8095 },
+};
+
+static const StrokeRec char67[] = {
+   { 18, char67_stroke0 },
+};
+
+/* char: 68 'D' */
+
+static const CoordRec char68_stroke0[] = {
+    { 11.96, 100 },
+    { 11.96, 0 },
+};
+
+static const CoordRec char68_stroke1[] = {
+    { 11.96, 100 },
+    { 45.2933, 100 },
+    { 59.579, 95.2381 },
+    { 69.1029, 85.7143 },
+    { 73.8648, 76.1905 },
+    { 78.6267, 61.9048 },
+    { 78.6267, 38.0952 },
+    { 73.8648, 23.8095 },
+    { 69.1029, 14.2857 },
+    { 59.579, 4.7619 },
+    { 45.2933, 0 },
+    { 11.96, 0 },
+};
+
+static const StrokeRec char68[] = {
+   { 2, char68_stroke0 },
+   { 12, char68_stroke1 },
+};
+
+/* char: 69 'E' */
+
+static const CoordRec char69_stroke0[] = {
+    { 11.42, 100 },
+    { 11.42, 0 },
+};
+
+static const CoordRec char69_stroke1[] = {
+    { 11.42, 100 },
+    { 73.3248, 100 },
+};
+
+static const CoordRec char69_stroke2[] = {
+    { 11.42, 52.381 },
+    { 49.5152, 52.381 },
+};
+
+static const CoordRec char69_stroke3[] = {
+    { 11.42, 0 },
+    { 73.3248, 0 },
+};
+
+static const StrokeRec char69[] = {
+   { 2, char69_stroke0 },
+   { 2, char69_stroke1 },
+   { 2, char69_stroke2 },
+   { 2, char69_stroke3 },
+};
+
+/* char: 70 'F' */
+
+static const CoordRec char70_stroke0[] = {
+    { 11.42, 100 },
+    { 11.42, 0 },
+};
+
+static const CoordRec char70_stroke1[] = {
+    { 11.42, 100 },
+    { 73.3248, 100 },
+};
+
+static const CoordRec char70_stroke2[] = {
+    { 11.42, 52.381 },
+    { 49.5152, 52.381 },
+};
+
+static const StrokeRec char70[] = {
+   { 2, char70_stroke0 },
+   { 2, char70_stroke1 },
+   { 2, char70_stroke2 },
+};
+
+/* char: 71 'G' */
+
+static const CoordRec char71_stroke0[] = {
+    { 78.4886, 76.1905 },
+    { 73.7267, 85.7143 },
+    { 64.2029, 95.2381 },
+    { 54.679, 100 },
+    { 35.6314, 100 },
+    { 26.1076, 95.2381 },
+    { 16.5838, 85.7143 },
+    { 11.8219, 76.1905 },
+    { 7.06, 61.9048 },
+    { 7.06, 38.0952 },
+    { 11.8219, 23.8095 },
+    { 16.5838, 14.2857 },
+    { 26.1076, 4.7619 },
+    { 35.6314, 0 },
+    { 54.679, 0 },
+    { 64.2029, 4.7619 },
+    { 73.7267, 14.2857 },
+    { 78.4886, 23.8095 },
+    { 78.4886, 38.0952 },
+};
+
+static const CoordRec char71_stroke1[] = {
+    { 54.679, 38.0952 },
+    { 78.4886, 38.0952 },
+};
+
+static const StrokeRec char71[] = {
+   { 19, char71_stroke0 },
+   { 2, char71_stroke1 },
+};
+
+/* char: 72 'H' */
+
+static const CoordRec char72_stroke0[] = {
+    { 11.42, 100 },
+    { 11.42, 0 },
+};
+
+static const CoordRec char72_stroke1[] = {
+    { 78.0867, 100 },
+    { 78.0867, 0 },
+};
+
+static const CoordRec char72_stroke2[] = {
+    { 11.42, 52.381 },
+    { 78.0867, 52.381 },
+};
+
+static const StrokeRec char72[] = {
+   { 2, char72_stroke0 },
+   { 2, char72_stroke1 },
+   { 2, char72_stroke2 },
+};
+
+/* char: 73 'I' */
+
+static const CoordRec char73_stroke0[] = {
+    { 10.86, 100 },
+    { 10.86, 0 },
+};
+
+static const StrokeRec char73[] = {
+   { 2, char73_stroke0 },
+};
+
+/* char: 74 'J' */
+
+static const CoordRec char74_stroke0[] = {
+    { 50.119, 100 },
+    { 50.119, 23.8095 },
+    { 45.3571, 9.5238 },
+    { 40.5952, 4.7619 },
+    { 31.0714, 0 },
+    { 21.5476, 0 },
+    { 12.0238, 4.7619 },
+    { 7.2619, 9.5238 },
+    { 2.5, 23.8095 },
+    { 2.5, 33.3333 },
+};
+
+static const StrokeRec char74[] = {
+   { 10, char74_stroke0 },
+};
+
+/* char: 75 'K' */
+
+static const CoordRec char75_stroke0[] = {
+    { 11.28, 100 },
+    { 11.28, 0 },
+};
+
+static const CoordRec char75_stroke1[] = {
+    { 77.9467, 100 },
+    { 11.28, 33.3333 },
+};
+
+static const CoordRec char75_stroke2[] = {
+    { 35.0895, 57.1429 },
+    { 77.9467, 0 },
+};
+
+static const StrokeRec char75[] = {
+   { 2, char75_stroke0 },
+   { 2, char75_stroke1 },
+   { 2, char75_stroke2 },
+};
+
+/* char: 76 'L' */
+
+static const CoordRec char76_stroke0[] = {
+    { 11.68, 100 },
+    { 11.68, 0 },
+};
+
+static const CoordRec char76_stroke1[] = {
+    { 11.68, 0 },
+    { 68.8229, 0 },
+};
+
+static const StrokeRec char76[] = {
+   { 2, char76_stroke0 },
+   { 2, char76_stroke1 },
+};
+
+/* char: 77 'M' */
+
+static const CoordRec char77_stroke0[] = {
+    { 10.86, 100 },
+    { 10.86, 0 },
+};
+
+static const CoordRec char77_stroke1[] = {
+    { 10.86, 100 },
+    { 48.9552, 0 },
+};
+
+static const CoordRec char77_stroke2[] = {
+    { 87.0505, 100 },
+    { 48.9552, 0 },
+};
+
+static const CoordRec char77_stroke3[] = {
+    { 87.0505, 100 },
+    { 87.0505, 0 },
+};
+
+static const StrokeRec char77[] = {
+   { 2, char77_stroke0 },
+   { 2, char77_stroke1 },
+   { 2, char77_stroke2 },
+   { 2, char77_stroke3 },
+};
+
+/* char: 78 'N' */
+
+static const CoordRec char78_stroke0[] = {
+    { 11.14, 100 },
+    { 11.14, 0 },
+};
+
+static const CoordRec char78_stroke1[] = {
+    { 11.14, 100 },
+    { 77.8067, 0 },
+};
+
+static const CoordRec char78_stroke2[] = {
+    { 77.8067, 100 },
+    { 77.8067, 0 },
+};
+
+static const StrokeRec char78[] = {
+   { 2, char78_stroke0 },
+   { 2, char78_stroke1 },
+   { 2, char78_stroke2 },
+};
+
+/* char: 79 'O' */
+
+static const CoordRec char79_stroke0[] = {
+    { 34.8114, 100 },
+    { 25.2876, 95.2381 },
+    { 15.7638, 85.7143 },
+    { 11.0019, 76.1905 },
+    { 6.24, 61.9048 },
+    { 6.24, 38.0952 },
+    { 11.0019, 23.8095 },
+    { 15.7638, 14.2857 },
+    { 25.2876, 4.7619 },
+    { 34.8114, 0 },
+    { 53.859, 0 },
+    { 63.3829, 4.7619 },
+    { 72.9067, 14.2857 },
+    { 77.6686, 23.8095 },
+    { 82.4305, 38.0952 },
+    { 82.4305, 61.9048 },
+    { 77.6686, 76.1905 },
+    { 72.9067, 85.7143 },
+    { 63.3829, 95.2381 },
+    { 53.859, 100 },
+    { 34.8114, 100 },
+};
+
+static const StrokeRec char79[] = {
+   { 21, char79_stroke0 },
+};
+
+/* char: 80 'P' */
+
+static const CoordRec char80_stroke0[] = {
+    { 12.1, 100 },
+    { 12.1, 0 },
+};
+
+static const CoordRec char80_stroke1[] = {
+    { 12.1, 100 },
+    { 54.9571, 100 },
+    { 69.2429, 95.2381 },
+    { 74.0048, 90.4762 },
+    { 78.7667, 80.9524 },
+    { 78.7667, 66.6667 },
+    { 74.0048, 57.1429 },
+    { 69.2429, 52.381 },
+    { 54.9571, 47.619 },
+    { 12.1, 47.619 },
+};
+
+static const StrokeRec char80[] = {
+   { 2, char80_stroke0 },
+   { 10, char80_stroke1 },
+};
+
+/* char: 81 'Q' */
+
+static const CoordRec char81_stroke0[] = {
+    { 33.8714, 100 },
+    { 24.3476, 95.2381 },
+    { 14.8238, 85.7143 },
+    { 10.0619, 76.1905 },
+    { 5.3, 61.9048 },
+    { 5.3, 38.0952 },
+    { 10.0619, 23.8095 },
+    { 14.8238, 14.2857 },
+    { 24.3476, 4.7619 },
+    { 33.8714, 0 },
+    { 52.919, 0 },
+    { 62.4429, 4.7619 },
+    { 71.9667, 14.2857 },
+    { 76.7286, 23.8095 },
+    { 81.4905, 38.0952 },
+    { 81.4905, 61.9048 },
+    { 76.7286, 76.1905 },
+    { 71.9667, 85.7143 },
+    { 62.4429, 95.2381 },
+    { 52.919, 100 },
+    { 33.8714, 100 },
+};
+
+static const CoordRec char81_stroke1[] = {
+    { 48.1571, 19.0476 },
+    { 76.7286, -9.5238 },
+};
+
+static const StrokeRec char81[] = {
+   { 21, char81_stroke0 },
+   { 2, char81_stroke1 },
+};
+
+/* char: 82 'R' */
+
+static const CoordRec char82_stroke0[] = {
+    { 11.68, 100 },
+    { 11.68, 0 },
+};
+
+static const CoordRec char82_stroke1[] = {
+    { 11.68, 100 },
+    { 54.5371, 100 },
+    { 68.8229, 95.2381 },
+    { 73.5848, 90.4762 },
+    { 78.3467, 80.9524 },
+    { 78.3467, 71.4286 },
+    { 73.5848, 61.9048 },
+    { 68.8229, 57.1429 },
+    { 54.5371, 52.381 },
+    { 11.68, 52.381 },
+};
+
+static const CoordRec char82_stroke2[] = {
+    { 45.0133, 52.381 },
+    { 78.3467, 0 },
+};
+
+static const StrokeRec char82[] = {
+   { 2, char82_stroke0 },
+   { 10, char82_stroke1 },
+   { 2, char82_stroke2 },
+};
+
+/* char: 83 'S' */
+
+static const CoordRec char83_stroke0[] = {
+    { 74.6667, 85.7143 },
+    { 65.1429, 95.2381 },
+    { 50.8571, 100 },
+    { 31.8095, 100 },
+    { 17.5238, 95.2381 },
+    { 8, 85.7143 },
+    { 8, 76.1905 },
+    { 12.7619, 66.6667 },
+    { 17.5238, 61.9048 },
+    { 27.0476, 57.1429 },
+    { 55.619, 47.619 },
+    { 65.1429, 42.8571 },
+    { 69.9048, 38.0952 },
+    { 74.6667, 28.5714 },
+    { 74.6667, 14.2857 },
+    { 65.1429, 4.7619 },
+    { 50.8571, 0 },
+    { 31.8095, 0 },
+    { 17.5238, 4.7619 },
+    { 8, 14.2857 },
+};
+
+static const StrokeRec char83[] = {
+   { 20, char83_stroke0 },
+};
+
+/* char: 84 'T' */
+
+static const CoordRec char84_stroke0[] = {
+    { 35.6933, 100 },
+    { 35.6933, 0 },
+};
+
+static const CoordRec char84_stroke1[] = {
+    { 2.36, 100 },
+    { 69.0267, 100 },
+};
+
+static const StrokeRec char84[] = {
+   { 2, char84_stroke0 },
+   { 2, char84_stroke1 },
+};
+
+/* char: 85 'U' */
+
+static const CoordRec char85_stroke0[] = {
+    { 11.54, 100 },
+    { 11.54, 28.5714 },
+    { 16.3019, 14.2857 },
+    { 25.8257, 4.7619 },
+    { 40.1114, 0 },
+    { 49.6352, 0 },
+    { 63.921, 4.7619 },
+    { 73.4448, 14.2857 },
+    { 78.2067, 28.5714 },
+    { 78.2067, 100 },
+};
+
+static const StrokeRec char85[] = {
+   { 10, char85_stroke0 },
+};
+
+/* char: 86 'V' */
+
+static const CoordRec char86_stroke0[] = {
+    { 2.36, 100 },
+    { 40.4552, 0 },
+};
+
+static const CoordRec char86_stroke1[] = {
+    { 78.5505, 100 },
+    { 40.4552, 0 },
+};
+
+static const StrokeRec char86[] = {
+   { 2, char86_stroke0 },
+   { 2, char86_stroke1 },
+};
+
+/* char: 87 'W' */
+
+static const CoordRec char87_stroke0[] = {
+    { 2.22, 100 },
+    { 26.0295, 0 },
+};
+
+static const CoordRec char87_stroke1[] = {
+    { 49.839, 100 },
+    { 26.0295, 0 },
+};
+
+static const CoordRec char87_stroke2[] = {
+    { 49.839, 100 },
+    { 73.6486, 0 },
+};
+
+static const CoordRec char87_stroke3[] = {
+    { 97.4581, 100 },
+    { 73.6486, 0 },
+};
+
+static const StrokeRec char87[] = {
+   { 2, char87_stroke0 },
+   { 2, char87_stroke1 },
+   { 2, char87_stroke2 },
+   { 2, char87_stroke3 },
+};
+
+/* char: 88 'X' */
+
+static const CoordRec char88_stroke0[] = {
+    { 2.5, 100 },
+    { 69.1667, 0 },
+};
+
+static const CoordRec char88_stroke1[] = {
+    { 69.1667, 100 },
+    { 2.5, 0 },
+};
+
+static const StrokeRec char88[] = {
+   { 2, char88_stroke0 },
+   { 2, char88_stroke1 },
+};
+
+/* char: 89 'Y' */
+
+static const CoordRec char89_stroke0[] = {
+    { 1.52, 100 },
+    { 39.6152, 52.381 },
+    { 39.6152, 0 },
+};
+
+static const CoordRec char89_stroke1[] = {
+    { 77.7105, 100 },
+    { 39.6152, 52.381 },
+};
+
+static const StrokeRec char89[] = {
+   { 3, char89_stroke0 },
+   { 2, char89_stroke1 },
+};
+
+/* char: 90 'Z' */
+
+static const CoordRec char90_stroke0[] = {
+    { 69.1667, 100 },
+    { 2.5, 0 },
+};
+
+static const CoordRec char90_stroke1[] = {
+    { 2.5, 100 },
+    { 69.1667, 100 },
+};
+
+static const CoordRec char90_stroke2[] = {
+    { 2.5, 0 },
+    { 69.1667, 0 },
+};
+
+static const StrokeRec char90[] = {
+   { 2, char90_stroke0 },
+   { 2, char90_stroke1 },
+   { 2, char90_stroke2 },
+};
+
+/* char: 91 '[' */
+
+static const CoordRec char91_stroke0[] = {
+    { 7.78, 119.048 },
+    { 7.78, -33.3333 },
+};
+
+static const CoordRec char91_stroke1[] = {
+    { 12.5419, 119.048 },
+    { 12.5419, -33.3333 },
+};
+
+static const CoordRec char91_stroke2[] = {
+    { 7.78, 119.048 },
+    { 41.1133, 119.048 },
+};
+
+static const CoordRec char91_stroke3[] = {
+    { 7.78, -33.3333 },
+    { 41.1133, -33.3333 },
+};
+
+static const StrokeRec char91[] = {
+   { 2, char91_stroke0 },
+   { 2, char91_stroke1 },
+   { 2, char91_stroke2 },
+   { 2, char91_stroke3 },
+};
+
+/* char: 92 '\' */
+
+static const CoordRec char92_stroke0[] = {
+    { 5.84, 100 },
+    { 72.5067, -14.2857 },
+};
+
+static const StrokeRec char92[] = {
+   { 2, char92_stroke0 },
+};
+
+/* char: 93 ']' */
+
+static const CoordRec char93_stroke0[] = {
+    { 33.0114, 119.048 },
+    { 33.0114, -33.3333 },
+};
+
+static const CoordRec char93_stroke1[] = {
+    { 37.7733, 119.048 },
+    { 37.7733, -33.3333 },
+};
+
+static const CoordRec char93_stroke2[] = {
+    { 4.44, 119.048 },
+    { 37.7733, 119.048 },
+};
+
+static const CoordRec char93_stroke3[] = {
+    { 4.44, -33.3333 },
+    { 37.7733, -33.3333 },
+};
+
+static const StrokeRec char93[] = {
+   { 2, char93_stroke0 },
+   { 2, char93_stroke1 },
+   { 2, char93_stroke2 },
+   { 2, char93_stroke3 },
+};
+
+/* char: 94 '^' */
+
+static const CoordRec char94_stroke0[] = {
+    { 44.0752, 109.524 },
+    { 5.98, 42.8571 },
+};
+
+static const CoordRec char94_stroke1[] = {
+    { 44.0752, 109.524 },
+    { 82.1705, 42.8571 },
+};
+
+static const StrokeRec char94[] = {
+   { 2, char94_stroke0 },
+   { 2, char94_stroke1 },
+};
+
+/* char: 95 '_' */
+
+static const CoordRec char95_stroke0[] = {
+    { -1.1, -33.3333 },
+    { 103.662, -33.3333 },
+    { 103.662, -28.5714 },
+    { -1.1, -28.5714 },
+    { -1.1, -33.3333 },
+};
+
+static const StrokeRec char95[] = {
+   { 5, char95_stroke0 },
+};
+
+/* char: 96 '`' */
+
+static const CoordRec char96_stroke0[] = {
+    { 33.0219, 100 },
+    { 56.8314, 71.4286 },
+};
+
+static const CoordRec char96_stroke1[] = {
+    { 33.0219, 100 },
+    { 28.26, 95.2381 },
+    { 56.8314, 71.4286 },
+};
+
+static const StrokeRec char96[] = {
+   { 2, char96_stroke0 },
+   { 3, char96_stroke1 },
+};
+
+/* char: 97 'a' */
+
+static const CoordRec char97_stroke0[] = {
+    { 63.8229, 66.6667 },
+    { 63.8229, 0 },
+};
+
+static const CoordRec char97_stroke1[] = {
+    { 63.8229, 52.381 },
+    { 54.299, 61.9048 },
+    { 44.7752, 66.6667 },
+    { 30.4895, 66.6667 },
+    { 20.9657, 61.9048 },
+    { 11.4419, 52.381 },
+    { 6.68, 38.0952 },
+    { 6.68, 28.5714 },
+    { 11.4419, 14.2857 },
+    { 20.9657, 4.7619 },
+    { 30.4895, 0 },
+    { 44.7752, 0 },
+    { 54.299, 4.7619 },
+    { 63.8229, 14.2857 },
+};
+
+static const StrokeRec char97[] = {
+   { 2, char97_stroke0 },
+   { 14, char97_stroke1 },
+};
+
+/* char: 98 'b' */
+
+static const CoordRec char98_stroke0[] = {
+    { 8.76, 100 },
+    { 8.76, 0 },
+};
+
+static const CoordRec char98_stroke1[] = {
+    { 8.76, 52.381 },
+    { 18.2838, 61.9048 },
+    { 27.8076, 66.6667 },
+    { 42.0933, 66.6667 },
+    { 51.6171, 61.9048 },
+    { 61.141, 52.381 },
+    { 65.9029, 38.0952 },
+    { 65.9029, 28.5714 },
+    { 61.141, 14.2857 },
+    { 51.6171, 4.7619 },
+    { 42.0933, 0 },
+    { 27.8076, 0 },
+    { 18.2838, 4.7619 },
+    { 8.76, 14.2857 },
+};
+
+static const StrokeRec char98[] = {
+   { 2, char98_stroke0 },
+   { 14, char98_stroke1 },
+};
+
+/* char: 99 'c' */
+
+static const CoordRec char99_stroke0[] = {
+    { 62.6629, 52.381 },
+    { 53.139, 61.9048 },
+    { 43.6152, 66.6667 },
+    { 29.3295, 66.6667 },
+    { 19.8057, 61.9048 },
+    { 10.2819, 52.381 },
+    { 5.52, 38.0952 },
+    { 5.52, 28.5714 },
+    { 10.2819, 14.2857 },
+    { 19.8057, 4.7619 },
+    { 29.3295, 0 },
+    { 43.6152, 0 },
+    { 53.139, 4.7619 },
+    { 62.6629, 14.2857 },
+};
+
+static const StrokeRec char99[] = {
+   { 14, char99_stroke0 },
+};
+
+/* char: 100 'd' */
+
+static const CoordRec char100_stroke0[] = {
+    { 61.7829, 100 },
+    { 61.7829, 0 },
+};
+
+static const CoordRec char100_stroke1[] = {
+    { 61.7829, 52.381 },
+    { 52.259, 61.9048 },
+    { 42.7352, 66.6667 },
+    { 28.4495, 66.6667 },
+    { 18.9257, 61.9048 },
+    { 9.4019, 52.381 },
+    { 4.64, 38.0952 },
+    { 4.64, 28.5714 },
+    { 9.4019, 14.2857 },
+    { 18.9257, 4.7619 },
+    { 28.4495, 0 },
+    { 42.7352, 0 },
+    { 52.259, 4.7619 },
+    { 61.7829, 14.2857 },
+};
+
+static const StrokeRec char100[] = {
+   { 2, char100_stroke0 },
+   { 14, char100_stroke1 },
+};
+
+/* char: 101 'e' */
+
+static const CoordRec char101_stroke0[] = {
+    { 5.72, 38.0952 },
+    { 62.8629, 38.0952 },
+    { 62.8629, 47.619 },
+    { 58.101, 57.1429 },
+    { 53.339, 61.9048 },
+    { 43.8152, 66.6667 },
+    { 29.5295, 66.6667 },
+    { 20.0057, 61.9048 },
+    { 10.4819, 52.381 },
+    { 5.72, 38.0952 },
+    { 5.72, 28.5714 },
+    { 10.4819, 14.2857 },
+    { 20.0057, 4.7619 },
+    { 29.5295, 0 },
+    { 43.8152, 0 },
+    { 53.339, 4.7619 },
+    { 62.8629, 14.2857 },
+};
+
+static const StrokeRec char101[] = {
+   { 17, char101_stroke0 },
+};
+
+/* char: 102 'f' */
+
+static const CoordRec char102_stroke0[] = {
+    { 38.7752, 100 },
+    { 29.2514, 100 },
+    { 19.7276, 95.2381 },
+    { 14.9657, 80.9524 },
+    { 14.9657, 0 },
+};
+
+static const CoordRec char102_stroke1[] = {
+    { 0.68, 66.6667 },
+    { 34.0133, 66.6667 },
+};
+
+static const StrokeRec char102[] = {
+   { 5, char102_stroke0 },
+   { 2, char102_stroke1 },
+};
+
+/* char: 103 'g' */
+
+static const CoordRec char103_stroke0[] = {
+    { 62.5029, 66.6667 },
+    { 62.5029, -9.5238 },
+    { 57.741, -23.8095 },
+    { 52.979, -28.5714 },
+    { 43.4552, -33.3333 },
+    { 29.1695, -33.3333 },
+    { 19.6457, -28.5714 },
+};
+
+static const CoordRec char103_stroke1[] = {
+    { 62.5029, 52.381 },
+    { 52.979, 61.9048 },
+    { 43.4552, 66.6667 },
+    { 29.1695, 66.6667 },
+    { 19.6457, 61.9048 },
+    { 10.1219, 52.381 },
+    { 5.36, 38.0952 },
+    { 5.36, 28.5714 },
+    { 10.1219, 14.2857 },
+    { 19.6457, 4.7619 },
+    { 29.1695, 0 },
+    { 43.4552, 0 },
+    { 52.979, 4.7619 },
+    { 62.5029, 14.2857 },
+};
+
+static const StrokeRec char103[] = {
+   { 7, char103_stroke0 },
+   { 14, char103_stroke1 },
+};
+
+/* char: 104 'h' */
+
+static const CoordRec char104_stroke0[] = {
+    { 9.6, 100 },
+    { 9.6, 0 },
+};
+
+static const CoordRec char104_stroke1[] = {
+    { 9.6, 47.619 },
+    { 23.8857, 61.9048 },
+    { 33.4095, 66.6667 },
+    { 47.6952, 66.6667 },
+    { 57.219, 61.9048 },
+    { 61.981, 47.619 },
+    { 61.981, 0 },
+};
+
+static const StrokeRec char104[] = {
+   { 2, char104_stroke0 },
+   { 7, char104_stroke1 },
+};
+
+/* char: 105 'i' */
+
+static const CoordRec char105_stroke0[] = {
+    { 10.02, 100 },
+    { 14.7819, 95.2381 },
+    { 19.5438, 100 },
+    { 14.7819, 104.762 },
+    { 10.02, 100 },
+};
+
+static const CoordRec char105_stroke1[] = {
+    { 14.7819, 66.6667 },
+    { 14.7819, 0 },
+};
+
+static const StrokeRec char105[] = {
+   { 5, char105_stroke0 },
+   { 2, char105_stroke1 },
+};
+
+/* char: 106 'j' */
+
+static const CoordRec char106_stroke0[] = {
+    { 17.3876, 100 },
+    { 22.1495, 95.2381 },
+    { 26.9114, 100 },
+    { 22.1495, 104.762 },
+    { 17.3876, 100 },
+};
+
+static const CoordRec char106_stroke1[] = {
+    { 22.1495, 66.6667 },
+    { 22.1495, -14.2857 },
+    { 17.3876, -28.5714 },
+    { 7.8638, -33.3333 },
+    { -1.66, -33.3333 },
+};
+
+static const StrokeRec char106[] = {
+   { 5, char106_stroke0 },
+   { 5, char106_stroke1 },
+};
+
+/* char: 107 'k' */
+
+static const CoordRec char107_stroke0[] = {
+    { 9.6, 100 },
+    { 9.6, 0 },
+};
+
+static const CoordRec char107_stroke1[] = {
+    { 57.219, 66.6667 },
+    { 9.6, 19.0476 },
+};
+
+static const CoordRec char107_stroke2[] = {
+    { 28.6476, 38.0952 },
+    { 61.981, 0 },
+};
+
+static const StrokeRec char107[] = {
+   { 2, char107_stroke0 },
+   { 2, char107_stroke1 },
+   { 2, char107_stroke2 },
+};
+
+/* char: 108 'l' */
+
+static const CoordRec char108_stroke0[] = {
+    { 10.02, 100 },
+    { 10.02, 0 },
+};
+
+static const StrokeRec char108[] = {
+   { 2, char108_stroke0 },
+};
+
+/* char: 109 'm' */
+
+static const CoordRec char109_stroke0[] = {
+    { 9.6, 66.6667 },
+    { 9.6, 0 },
+};
+
+static const CoordRec char109_stroke1[] = {
+    { 9.6, 47.619 },
+    { 23.8857, 61.9048 },
+    { 33.4095, 66.6667 },
+    { 47.6952, 66.6667 },
+    { 57.219, 61.9048 },
+    { 61.981, 47.619 },
+    { 61.981, 0 },
+};
+
+static const CoordRec char109_stroke2[] = {
+    { 61.981, 47.619 },
+    { 76.2667, 61.9048 },
+    { 85.7905, 66.6667 },
+    { 100.076, 66.6667 },
+    { 109.6, 61.9048 },
+    { 114.362, 47.619 },
+    { 114.362, 0 },
+};
+
+static const StrokeRec char109[] = {
+   { 2, char109_stroke0 },
+   { 7, char109_stroke1 },
+   { 7, char109_stroke2 },
+};
+
+/* char: 110 'n' */
+
+static const CoordRec char110_stroke0[] = {
+    { 9.18, 66.6667 },
+    { 9.18, 0 },
+};
+
+static const CoordRec char110_stroke1[] = {
+    { 9.18, 47.619 },
+    { 23.4657, 61.9048 },
+    { 32.9895, 66.6667 },
+    { 47.2752, 66.6667 },
+    { 56.799, 61.9048 },
+    { 61.561, 47.619 },
+    { 61.561, 0 },
+};
+
+static const StrokeRec char110[] = {
+   { 2, char110_stroke0 },
+   { 7, char110_stroke1 },
+};
+
+/* char: 111 'o' */
+
+static const CoordRec char111_stroke0[] = {
+    { 28.7895, 66.6667 },
+    { 19.2657, 61.9048 },
+    { 9.7419, 52.381 },
+    { 4.98, 38.0952 },
+    { 4.98, 28.5714 },
+    { 9.7419, 14.2857 },
+    { 19.2657, 4.7619 },
+    { 28.7895, 0 },
+    { 43.0752, 0 },
+    { 52.599, 4.7619 },
+    { 62.1229, 14.2857 },
+    { 66.8848, 28.5714 },
+    { 66.8848, 38.0952 },
+    { 62.1229, 52.381 },
+    { 52.599, 61.9048 },
+    { 43.0752, 66.6667 },
+    { 28.7895, 66.6667 },
+};
+
+static const StrokeRec char111[] = {
+   { 17, char111_stroke0 },
+};
+
+/* char: 112 'p' */
+
+static const CoordRec char112_stroke0[] = {
+    { 9.46, 66.6667 },
+    { 9.46, -33.3333 },
+};
+
+static const CoordRec char112_stroke1[] = {
+    { 9.46, 52.381 },
+    { 18.9838, 61.9048 },
+    { 28.5076, 66.6667 },
+    { 42.7933, 66.6667 },
+    { 52.3171, 61.9048 },
+    { 61.841, 52.381 },
+    { 66.6029, 38.0952 },
+    { 66.6029, 28.5714 },
+    { 61.841, 14.2857 },
+    { 52.3171, 4.7619 },
+    { 42.7933, 0 },
+    { 28.5076, 0 },
+    { 18.9838, 4.7619 },
+    { 9.46, 14.2857 },
+};
+
+static const StrokeRec char112[] = {
+   { 2, char112_stroke0 },
+   { 14, char112_stroke1 },
+};
+
+/* char: 113 'q' */
+
+static const CoordRec char113_stroke0[] = {
+    { 61.9829, 66.6667 },
+    { 61.9829, -33.3333 },
+};
+
+static const CoordRec char113_stroke1[] = {
+    { 61.9829, 52.381 },
+    { 52.459, 61.9048 },
+    { 42.9352, 66.6667 },
+    { 28.6495, 66.6667 },
+    { 19.1257, 61.9048 },
+    { 9.6019, 52.381 },
+    { 4.84, 38.0952 },
+    { 4.84, 28.5714 },
+    { 9.6019, 14.2857 },
+    { 19.1257, 4.7619 },
+    { 28.6495, 0 },
+    { 42.9352, 0 },
+    { 52.459, 4.7619 },
+    { 61.9829, 14.2857 },
+};
+
+static const StrokeRec char113[] = {
+   { 2, char113_stroke0 },
+   { 14, char113_stroke1 },
+};
+
+/* char: 114 'r' */
+
+static const CoordRec char114_stroke0[] = {
+    { 9.46, 66.6667 },
+    { 9.46, 0 },
+};
+
+static const CoordRec char114_stroke1[] = {
+    { 9.46, 38.0952 },
+    { 14.2219, 52.381 },
+    { 23.7457, 61.9048 },
+    { 33.2695, 66.6667 },
+    { 47.5552, 66.6667 },
+};
+
+static const StrokeRec char114[] = {
+   { 2, char114_stroke0 },
+   { 5, char114_stroke1 },
+};
+
+/* char: 115 's' */
+
+static const CoordRec char115_stroke0[] = {
+    { 57.081, 52.381 },
+    { 52.319, 61.9048 },
+    { 38.0333, 66.6667 },
+    { 23.7476, 66.6667 },
+    { 9.4619, 61.9048 },
+    { 4.7, 52.381 },
+    { 9.4619, 42.8571 },
+    { 18.9857, 38.0952 },
+    { 42.7952, 33.3333 },
+    { 52.319, 28.5714 },
+    { 57.081, 19.0476 },
+    { 57.081, 14.2857 },
+    { 52.319, 4.7619 },
+    { 38.0333, 0 },
+    { 23.7476, 0 },
+    { 9.4619, 4.7619 },
+    { 4.7, 14.2857 },
+};
+
+static const StrokeRec char115[] = {
+   { 17, char115_stroke0 },
+};
+
+/* char: 116 't' */
+
+static const CoordRec char116_stroke0[] = {
+    { 14.8257, 100 },
+    { 14.8257, 19.0476 },
+    { 19.5876, 4.7619 },
+    { 29.1114, 0 },
+    { 38.6352, 0 },
+};
+
+static const CoordRec char116_stroke1[] = {
+    { 0.54, 66.6667 },
+    { 33.8733, 66.6667 },
+};
+
+static const StrokeRec char116[] = {
+   { 5, char116_stroke0 },
+   { 2, char116_stroke1 },
+};
+
+/* char: 117 'u' */
+
+static const CoordRec char117_stroke0[] = {
+    { 9.46, 66.6667 },
+    { 9.46, 19.0476 },
+    { 14.2219, 4.7619 },
+    { 23.7457, 0 },
+    { 38.0314, 0 },
+    { 47.5552, 4.7619 },
+    { 61.841, 19.0476 },
+};
+
+static const CoordRec char117_stroke1[] = {
+    { 61.841, 66.6667 },
+    { 61.841, 0 },
+};
+
+static const StrokeRec char117[] = {
+   { 7, char117_stroke0 },
+   { 2, char117_stroke1 },
+};
+
+/* char: 118 'v' */
+
+static const CoordRec char118_stroke0[] = {
+    { 1.8, 66.6667 },
+    { 30.3714, 0 },
+};
+
+static const CoordRec char118_stroke1[] = {
+    { 58.9429, 66.6667 },
+    { 30.3714, 0 },
+};
+
+static const StrokeRec char118[] = {
+   { 2, char118_stroke0 },
+   { 2, char118_stroke1 },
+};
+
+/* char: 119 'w' */
+
+static const CoordRec char119_stroke0[] = {
+    { 2.5, 66.6667 },
+    { 21.5476, 0 },
+};
+
+static const CoordRec char119_stroke1[] = {
+    { 40.5952, 66.6667 },
+    { 21.5476, 0 },
+};
+
+static const CoordRec char119_stroke2[] = {
+    { 40.5952, 66.6667 },
+    { 59.6429, 0 },
+};
+
+static const CoordRec char119_stroke3[] = {
+    { 78.6905, 66.6667 },
+    { 59.6429, 0 },
+};
+
+static const StrokeRec char119[] = {
+   { 2, char119_stroke0 },
+   { 2, char119_stroke1 },
+   { 2, char119_stroke2 },
+   { 2, char119_stroke3 },
+};
+
+/* char: 120 'x' */
+
+static const CoordRec char120_stroke0[] = {
+    { 1.66, 66.6667 },
+    { 54.041, 0 },
+};
+
+static const CoordRec char120_stroke1[] = {
+    { 54.041, 66.6667 },
+    { 1.66, 0 },
+};
+
+static const StrokeRec char120[] = {
+   { 2, char120_stroke0 },
+   { 2, char120_stroke1 },
+};
+
+/* char: 121 'y' */
+
+static const CoordRec char121_stroke0[] = {
+    { 6.5619, 66.6667 },
+    { 35.1333, 0 },
+};
+
+static const CoordRec char121_stroke1[] = {
+    { 63.7048, 66.6667 },
+    { 35.1333, 0 },
+    { 25.6095, -19.0476 },
+    { 16.0857, -28.5714 },
+    { 6.5619, -33.3333 },
+    { 1.8, -33.3333 },
+};
+
+static const StrokeRec char121[] = {
+   { 2, char121_stroke0 },
+   { 6, char121_stroke1 },
+};
+
+/* char: 122 'z' */
+
+static const CoordRec char122_stroke0[] = {
+    { 56.821, 66.6667 },
+    { 4.44, 0 },
+};
+
+static const CoordRec char122_stroke1[] = {
+    { 4.44, 66.6667 },
+    { 56.821, 66.6667 },
+};
+
+static const CoordRec char122_stroke2[] = {
+    { 4.44, 0 },
+    { 56.821, 0 },
+};
+
+static const StrokeRec char122[] = {
+   { 2, char122_stroke0 },
+   { 2, char122_stroke1 },
+   { 2, char122_stroke2 },
+};
+
+/* char: 123 '{' */
+
+static const CoordRec char123_stroke0[] = {
+    { 31.1895, 119.048 },
+    { 21.6657, 114.286 },
+    { 16.9038, 109.524 },
+    { 12.1419, 100 },
+    { 12.1419, 90.4762 },
+    { 16.9038, 80.9524 },
+    { 21.6657, 76.1905 },
+    { 26.4276, 66.6667 },
+    { 26.4276, 57.1429 },
+    { 16.9038, 47.619 },
+};
+
+static const CoordRec char123_stroke1[] = {
+    { 21.6657, 114.286 },
+    { 16.9038, 104.762 },
+    { 16.9038, 95.2381 },
+    { 21.6657, 85.7143 },
+    { 26.4276, 80.9524 },
+    { 31.1895, 71.4286 },
+    { 31.1895, 61.9048 },
+    { 26.4276, 52.381 },
+    { 7.38, 42.8571 },
+    { 26.4276, 33.3333 },
+    { 31.1895, 23.8095 },
+    { 31.1895, 14.2857 },
+    { 26.4276, 4.7619 },
+    { 21.6657, 0 },
+    { 16.9038, -9.5238 },
+    { 16.9038, -19.0476 },
+    { 21.6657, -28.5714 },
+};
+
+static const CoordRec char123_stroke2[] = {
+    { 16.9038, 38.0952 },
+    { 26.4276, 28.5714 },
+    { 26.4276, 19.0476 },
+    { 21.6657, 9.5238 },
+    { 16.9038, 4.7619 },
+    { 12.1419, -4.7619 },
+    { 12.1419, -14.2857 },
+    { 16.9038, -23.8095 },
+    { 21.6657, -28.5714 },
+    { 31.1895, -33.3333 },
+};
+
+static const StrokeRec char123[] = {
+   { 10, char123_stroke0 },
+   { 17, char123_stroke1 },
+   { 10, char123_stroke2 },
+};
+
+/* char: 124 '|' */
+
+static const CoordRec char124_stroke0[] = {
+    { 11.54, 119.048 },
+    { 11.54, -33.3333 },
+};
+
+static const StrokeRec char124[] = {
+   { 2, char124_stroke0 },
+};
+
+/* char: 125 '}' */
+
+static const CoordRec char125_stroke0[] = {
+    { 9.18, 119.048 },
+    { 18.7038, 114.286 },
+    { 23.4657, 109.524 },
+    { 28.2276, 100 },
+    { 28.2276, 90.4762 },
+    { 23.4657, 80.9524 },
+    { 18.7038, 76.1905 },
+    { 13.9419, 66.6667 },
+    { 13.9419, 57.1429 },
+    { 23.4657, 47.619 },
+};
+
+static const CoordRec char125_stroke1[] = {
+    { 18.7038, 114.286 },
+    { 23.4657, 104.762 },
+    { 23.4657, 95.2381 },
+    { 18.7038, 85.7143 },
+    { 13.9419, 80.9524 },
+    { 9.18, 71.4286 },
+    { 9.18, 61.9048 },
+    { 13.9419, 52.381 },
+    { 32.9895, 42.8571 },
+    { 13.9419, 33.3333 },
+    { 9.18, 23.8095 },
+    { 9.18, 14.2857 },
+    { 13.9419, 4.7619 },
+    { 18.7038, 0 },
+    { 23.4657, -9.5238 },
+    { 23.4657, -19.0476 },
+    { 18.7038, -28.5714 },
+};
+
+static const CoordRec char125_stroke2[] = {
+    { 23.4657, 38.0952 },
+    { 13.9419, 28.5714 },
+    { 13.9419, 19.0476 },
+    { 18.7038, 9.5238 },
+    { 23.4657, 4.7619 },
+    { 28.2276, -4.7619 },
+    { 28.2276, -14.2857 },
+    { 23.4657, -23.8095 },
+    { 18.7038, -28.5714 },
+    { 9.18, -33.3333 },
+};
+
+static const StrokeRec char125[] = {
+   { 10, char125_stroke0 },
+   { 17, char125_stroke1 },
+   { 10, char125_stroke2 },
+};
+
+/* char: 126 '~' */
+
+static const CoordRec char126_stroke0[] = {
+    { 2.92, 28.5714 },
+    { 2.92, 38.0952 },
+    { 7.6819, 52.381 },
+    { 17.2057, 57.1429 },
+    { 26.7295, 57.1429 },
+    { 36.2533, 52.381 },
+    { 55.301, 38.0952 },
+    { 64.8248, 33.3333 },
+    { 74.3486, 33.3333 },
+    { 83.8724, 38.0952 },
+    { 88.6343, 47.619 },
+};
+
+static const CoordRec char126_stroke1[] = {
+    { 2.92, 38.0952 },
+    { 7.6819, 47.619 },
+    { 17.2057, 52.381 },
+    { 26.7295, 52.381 },
+    { 36.2533, 47.619 },
+    { 55.301, 33.3333 },
+    { 64.8248, 28.5714 },
+    { 74.3486, 28.5714 },
+    { 83.8724, 33.3333 },
+    { 88.6343, 47.619 },
+    { 88.6343, 57.1429 },
+};
+
+static const StrokeRec char126[] = {
+   { 11, char126_stroke0 },
+   { 11, char126_stroke1 },
+};
+
+/* char: 127 */
+
+static const CoordRec char127_stroke0[] = {
+    { 52.381, 100 },
+    { 14.2857, -33.3333 },
+};
+
+static const CoordRec char127_stroke1[] = {
+    { 28.5714, 66.6667 },
+    { 14.2857, 61.9048 },
+    { 4.7619, 52.381 },
+    { 0, 38.0952 },
+    { 0, 23.8095 },
+    { 4.7619, 14.2857 },
+    { 14.2857, 4.7619 },
+    { 28.5714, 0 },
+    { 38.0952, 0 },
+    { 52.381, 4.7619 },
+    { 61.9048, 14.2857 },
+    { 66.6667, 28.5714 },
+    { 66.6667, 42.8571 },
+    { 61.9048, 52.381 },
+    { 52.381, 61.9048 },
+    { 38.0952, 66.6667 },
+    { 28.5714, 66.6667 },
+};
+
+static const StrokeRec char127[] = {
+   { 2, char127_stroke0 },
+   { 17, char127_stroke1 },
+};
+
+static const StrokeCharRec chars[] = {
+    { 0, /* char0 */ 0, 0, 0 },
+    { 0, /* char1 */ 0, 0, 0 },
+    { 0, /* char2 */ 0, 0, 0 },
+    { 0, /* char3 */ 0, 0, 0 },
+    { 0, /* char4 */ 0, 0, 0 },
+    { 0, /* char5 */ 0, 0, 0 },
+    { 0, /* char6 */ 0, 0, 0 },
+    { 0, /* char7 */ 0, 0, 0 },
+    { 0, /* char8 */ 0, 0, 0 },
+    { 0, /* char9 */ 0, 0, 0 },
+    { 0, /* char10 */ 0, 0, 0 },
+    { 0, /* char11 */ 0, 0, 0 },
+    { 0, /* char12 */ 0, 0, 0 },
+    { 0, /* char13 */ 0, 0, 0 },
+    { 0, /* char14 */ 0, 0, 0 },
+    { 0, /* char15 */ 0, 0, 0 },
+    { 0, /* char16 */ 0, 0, 0 },
+    { 0, /* char17 */ 0, 0, 0 },
+    { 0, /* char18 */ 0, 0, 0 },
+    { 0, /* char19 */ 0, 0, 0 },
+    { 0, /* char20 */ 0, 0, 0 },
+    { 0, /* char21 */ 0, 0, 0 },
+    { 0, /* char22 */ 0, 0, 0 },
+    { 0, /* char23 */ 0, 0, 0 },
+    { 0, /* char24 */ 0, 0, 0 },
+    { 0, /* char25 */ 0, 0, 0 },
+    { 0, /* char26 */ 0, 0, 0 },
+    { 0, /* char27 */ 0, 0, 0 },
+    { 0, /* char28 */ 0, 0, 0 },
+    { 0, /* char29 */ 0, 0, 0 },
+    { 0, /* char30 */ 0, 0, 0 },
+    { 0, /* char31 */ 0, 0, 0 },
+    { 0, /* char32 */ 0, 52.381, 104.762 },
+    { 2, char33, 13.3819, 26.6238 },
+    { 2, char34, 23.0676, 51.4352 },
+    { 4, char35, 36.5333, 79.4886 },
+    { 3, char36, 38.1533, 76.2067 },
+    { 3, char37, 49.2171, 96.5743 },
+    { 1, char38, 53.599, 101.758 },
+    { 1, char39, 4.44, 13.62 },
+    { 1, char40, 21.8657, 47.1733 },
+    { 1, char41, 24.3276, 47.5333 },
+    { 3, char42, 30.7695, 59.439 },
+    { 2, char43, 48.8371, 97.2543 },
+    { 1, char44, 13.5219, 26.0638 },
+    { 1, char45, 50.2371, 100.754 },
+    { 1, char46, 13.1019, 26.4838 },
+    { 1, char47, 40.5733, 82.1067 },
+    { 1, char48, 38.3133, 77.0667 },
+    { 1, char49, 30.8676, 66.5295 },
+    { 1, char50, 38.7533, 77.6467 },
+    { 1, char51, 38.3333, 77.0467 },
+    { 2, char52, 37.2133, 80.1686 },
+    { 1, char53, 38.1933, 77.6867 },
+    { 1, char54, 34.1514, 73.8048 },
+    { 2, char55, 38.8933, 77.2267 },
+    { 1, char56, 38.9333, 77.6667 },
+    { 1, char57, 39.9333, 74.0648 },
+    { 2, char58, 14.0819, 26.2238 },
+    { 2, char59, 12.9619, 26.3038 },
+    { 1, char60, 41.1552, 81.6105 },
+    { 2, char61, 48.5571, 97.2543 },
+    { 1, char62, 40.8752, 81.6105 },
+    { 2, char63, 36.9914, 73.9029 },
+    { 2, char64, 34.9314, 74.3648 },
+    { 3, char65, 40.5952, 80.4905 },
+    { 3, char66, 44.7533, 83.6267 },
+    { 1, char67, 39.9933, 84.4886 },
+    { 2, char68, 45.2933, 85.2867 },
+    { 4, char69, 39.9914, 78.1848 },
+    { 3, char70, 39.9914, 78.7448 },
+    { 2, char71, 40.3933, 89.7686 },
+    { 3, char72, 44.7533, 89.0867 },
+    { 1, char73, 10.86, 21.3 },
+    { 1, char74, 31.0714, 59.999 },
+    { 3, char75, 44.6133, 79.3267 },
+    { 2, char76, 40.2514, 71.3229 },
+    { 4, char77, 48.9552, 97.2105 },
+    { 3, char78, 44.4733, 88.8067 },
+    { 1, char79, 44.3352, 88.8305 },
+    { 2, char80, 45.4333, 85.6667 },
+    { 2, char81, 43.3952, 88.0905 },
+    { 3, char82, 45.0133, 82.3667 },
+    { 1, char83, 41.3333, 80.8267 },
+    { 2, char84, 35.6933, 71.9467 },
+    { 1, char85, 44.8733, 89.4867 },
+    { 2, char86, 40.4552, 81.6105 },
+    { 4, char87, 49.839, 100.518 },
+    { 2, char88, 35.8333, 72.3667 },
+    { 2, char89, 39.6152, 79.6505 },
+    { 3, char90, 35.8333, 73.7467 },
+    { 4, char91, 22.0657, 46.1133 },
+    { 1, char92, 39.1733, 78.2067 },
+    { 4, char93, 23.4876, 46.3933 },
+    { 2, char94, 44.0752, 90.2305 },
+    { 1, char95, 51.281, 104.062 },
+    { 2, char96, 42.5457, 83.5714 },
+    { 2, char97, 35.2514, 66.6029 },
+    { 2, char98, 37.3314, 70.4629 },
+    { 1, char99, 34.0914, 68.9229 },
+    { 2, char100, 33.2114, 70.2629 },
+    { 1, char101, 34.2914, 68.5229 },
+    { 2, char102, 14.9657, 38.6552 },
+    { 2, char103, 33.9314, 70.9829 },
+    { 2, char104, 33.4095, 71.021 },
+    { 2, char105, 14.7819, 28.8638 },
+    { 2, char106, 17.3876, 36.2314 },
+    { 3, char107, 33.4095, 62.521 },
+    { 1, char108, 10.02, 19.34 },
+    { 3, char109, 61.981, 123.962 },
+    { 2, char110, 32.9895, 70.881 },
+    { 1, char111, 33.5514, 71.7448 },
+    { 2, char112, 38.0314, 70.8029 },
+    { 2, char113, 33.4114, 70.7429 },
+    { 2, char114, 23.7457, 49.4952 },
+    { 1, char115, 28.5095, 62.321 },
+    { 2, char116, 14.8257, 39.3152 },
+    { 2, char117, 33.2695, 71.161 },
+    { 2, char118, 30.3714, 60.6029 },
+    { 4, char119, 40.5952, 80.4905 },
+    { 2, char120, 25.4695, 56.401 },
+    { 2, char121, 35.1333, 66.0648 },
+    { 3, char122, 28.2495, 61.821 },
+    { 3, char123, 21.6657, 41.6295 },
+    { 1, char124, 11.54, 23.78 },
+    { 3, char125, 18.7038, 41.4695 },
+    { 2, char126, 45.7771, 91.2743 },
+    { 2, char127, 33.3333, 66.6667 },
+};
+
+StrokeFontRec glutStrokeRoman = { "Roman", 128, chars, 119.048, -33.3333 };
+
diff --git a/src/glut/beos/glut_shapes.cpp b/src/glut/beos/glut_shapes.cpp
new file mode 100644 (file)
index 0000000..2249639
--- /dev/null
@@ -0,0 +1,616 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/**
+(c) Copyright 1993, Silicon Graphics, Inc.
+
+ALL RIGHTS RESERVED
+
+Permission to use, copy, modify, and distribute this software
+for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that
+both the copyright notice and this permission notice appear in
+supporting documentation, and that the name of Silicon
+Graphics, Inc. not be used in advertising or publicity
+pertaining to distribution of the software without specific,
+written prior permission.
+
+THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
+"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
+OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  IN NO
+EVENT SHALL SILICON GRAPHICS, INC.  BE LIABLE TO YOU OR ANYONE
+ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
+INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
+SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
+NOT SILICON GRAPHICS, INC.  HAS BEEN ADVISED OF THE POSSIBILITY
+OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+US Government Users Restricted Rights
+
+Use, duplication, or disclosure by the Government is subject to
+restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+(c)(1)(ii) of the Rights in Technical Data and Computer
+Software clause at DFARS 252.227-7013 and/or in similar or
+successor clauses in the FAR or the DOD or NASA FAR
+Supplement.  Unpublished-- rights reserved under the copyright
+laws of the United States.  Contractor/manufacturer is Silicon
+Graphics, Inc., 2011 N.  Shoreline Blvd., Mountain View, CA
+94039-7311.
+
+OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+*/
+
+#include <math.h>
+#include <GL/glut.h>
+#include "glutint.h"
+
+/* Some <math.h> files do not define M_PI... */
+#ifndef M_PI
+#define M_PI 3.14159265
+#endif
+
+static GLUquadricObj *quadObj;
+
+#define QUAD_OBJ_INIT() { if(!quadObj) initQuadObj(); }
+
+static void
+initQuadObj(void)
+{
+  quadObj = gluNewQuadric();
+  if (!quadObj)
+    __glutFatalError("out of memory.");
+}
+
+/* CENTRY */
+void APIENTRY 
+glutWireSphere(GLdouble radius, GLint slices, GLint stacks)
+{
+  QUAD_OBJ_INIT();
+  gluQuadricDrawStyle(quadObj, GLU_LINE);
+  gluQuadricNormals(quadObj, GLU_SMOOTH);
+  /* If we ever changed/used the texture or orientation state
+     of quadObj, we'd need to change it to the defaults here
+     with gluQuadricTexture and/or gluQuadricOrientation. */
+  gluSphere(quadObj, radius, slices, stacks);
+}
+
+void APIENTRY 
+glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)
+{
+  QUAD_OBJ_INIT();
+  gluQuadricDrawStyle(quadObj, GLU_FILL);
+  gluQuadricNormals(quadObj, GLU_SMOOTH);
+  /* If we ever changed/used the texture or orientation state
+     of quadObj, we'd need to change it to the defaults here
+     with gluQuadricTexture and/or gluQuadricOrientation. */
+  gluSphere(quadObj, radius, slices, stacks);
+}
+
+void APIENTRY 
+glutWireCone(GLdouble base, GLdouble height,
+  GLint slices, GLint stacks)
+{
+  QUAD_OBJ_INIT();
+  gluQuadricDrawStyle(quadObj, GLU_LINE);
+  gluQuadricNormals(quadObj, GLU_SMOOTH);
+  /* If we ever changed/used the texture or orientation state
+     of quadObj, we'd need to change it to the defaults here
+     with gluQuadricTexture and/or gluQuadricOrientation. */
+  gluCylinder(quadObj, base, 0.0, height, slices, stacks);
+}
+
+void APIENTRY 
+glutSolidCone(GLdouble base, GLdouble height,
+  GLint slices, GLint stacks)
+{
+  QUAD_OBJ_INIT();
+  gluQuadricDrawStyle(quadObj, GLU_FILL);
+  gluQuadricNormals(quadObj, GLU_SMOOTH);
+  /* If we ever changed/used the texture or orientation state
+     of quadObj, we'd need to change it to the defaults here
+     with gluQuadricTexture and/or gluQuadricOrientation. */
+  gluCylinder(quadObj, base, 0.0, height, slices, stacks);
+}
+
+/* ENDCENTRY */
+
+static void
+drawBox(GLfloat size, GLenum type)
+{
+  static GLfloat n[6][3] =
+  {
+    {-1.0, 0.0, 0.0},
+    {0.0, 1.0, 0.0},
+    {1.0, 0.0, 0.0},
+    {0.0, -1.0, 0.0},
+    {0.0, 0.0, 1.0},
+    {0.0, 0.0, -1.0}
+  };
+  static GLint faces[6][4] =
+  {
+    {0, 1, 2, 3},
+    {3, 2, 6, 7},
+    {7, 6, 5, 4},
+    {4, 5, 1, 0},
+    {5, 6, 2, 1},
+    {7, 4, 0, 3}
+  };
+  GLfloat v[8][3];
+  GLint i;
+
+  v[0][0] = v[1][0] = v[2][0] = v[3][0] = -size / 2;
+  v[4][0] = v[5][0] = v[6][0] = v[7][0] = size / 2;
+  v[0][1] = v[1][1] = v[4][1] = v[5][1] = -size / 2;
+  v[2][1] = v[3][1] = v[6][1] = v[7][1] = size / 2;
+  v[0][2] = v[3][2] = v[4][2] = v[7][2] = -size / 2;
+  v[1][2] = v[2][2] = v[5][2] = v[6][2] = size / 2;
+
+  for (i = 0; i < 6; i++) {
+    glBegin(type);
+    glNormal3fv(&n[i][0]);
+    glVertex3fv(&v[faces[i][0]][0]);
+    glVertex3fv(&v[faces[i][1]][0]);
+    glVertex3fv(&v[faces[i][2]][0]);
+    glVertex3fv(&v[faces[i][3]][0]);
+    glEnd();
+  }
+}
+
+/* CENTRY */
+void APIENTRY 
+glutWireCube(GLdouble size)
+{
+  drawBox(size, GL_LINE_LOOP);
+}
+
+void APIENTRY 
+glutSolidCube(GLdouble size)
+{
+  drawBox(size, GL_QUADS);
+}
+
+/* ENDCENTRY */
+
+static void
+doughnut(GLfloat r, GLfloat R, GLint nsides,
+  GLint rings, GLenum type)
+{
+  int i, j;
+  GLfloat theta, phi, theta1, phi1;
+  GLfloat p0[03], p1[3], p2[3], p3[3];
+  GLfloat n0[3], n1[3], n2[3], n3[3];
+
+  for (i = 0; i < rings; i++) {
+    theta = (GLfloat) i *2.0 * M_PI / rings;
+    theta1 = (GLfloat) (i + 1) * 2.0 * M_PI / rings;
+    for (j = 0; j < nsides; j++) {
+      phi = (GLfloat) j *2.0 * M_PI / nsides;
+      phi1 = (GLfloat) (j + 1) * 2.0 * M_PI / nsides;
+
+      p0[0] = cos(theta) * (R + r * cos(phi));
+      p0[1] = -sin(theta) * (R + r * cos(phi));
+      p0[2] = r * sin(phi);
+
+      p1[0] = cos(theta1) * (R + r * cos(phi));
+      p1[1] = -sin(theta1) * (R + r * cos(phi));
+      p1[2] = r * sin(phi);
+
+      p2[0] = cos(theta1) * (R + r * cos(phi1));
+      p2[1] = -sin(theta1) * (R + r * cos(phi1));
+      p2[2] = r * sin(phi1);
+
+      p3[0] = cos(theta) * (R + r * cos(phi1));
+      p3[1] = -sin(theta) * (R + r * cos(phi1));
+      p3[2] = r * sin(phi1);
+
+      n0[0] = cos(theta) * (cos(phi));
+      n0[1] = -sin(theta) * (cos(phi));
+      n0[2] = sin(phi);
+
+      n1[0] = cos(theta1) * (cos(phi));
+      n1[1] = -sin(theta1) * (cos(phi));
+      n1[2] = sin(phi);
+
+      n2[0] = cos(theta1) * (cos(phi1));
+      n2[1] = -sin(theta1) * (cos(phi1));
+      n2[2] = sin(phi1);
+
+      n3[0] = cos(theta) * (cos(phi1));
+      n3[1] = -sin(theta) * (cos(phi1));
+      n3[2] = sin(phi1);
+
+      glBegin(type);
+      glNormal3fv(n3);
+      glVertex3fv(p3);
+      glNormal3fv(n2);
+      glVertex3fv(p2);
+      glNormal3fv(n1);
+      glVertex3fv(p1);
+      glNormal3fv(n0);
+      glVertex3fv(p0);
+      glEnd();
+    }
+  }
+}
+
+/* CENTRY */
+void APIENTRY 
+glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,
+  GLint nsides, GLint rings)
+{
+  doughnut(innerRadius, outerRadius,
+    nsides, rings, GL_LINE_LOOP);
+}
+
+void APIENTRY 
+glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,
+  GLint nsides, GLint rings)
+{
+  doughnut(innerRadius, outerRadius, nsides, rings, GL_QUADS);
+}
+
+/* ENDCENTRY */
+
+static GLfloat dodec[20][3];
+
+static void
+initDodecahedron(void)
+{
+  GLfloat alpha, beta;
+
+  alpha = sqrt(2.0 / (3.0 + sqrt(5.0)));
+  beta = 1.0 + sqrt(6.0 / (3.0 + sqrt(5.0)) -
+    2.0 + 2.0 * sqrt(2.0 / (3.0 + sqrt(5.0))));
+  /* *INDENT-OFF* */
+  dodec[0][0] = -alpha; dodec[0][1] = 0; dodec[0][2] = beta;
+  dodec[1][0] = alpha; dodec[1][1] = 0; dodec[1][2] = beta;
+  dodec[2][0] = -1; dodec[2][1] = -1; dodec[2][2] = -1;
+  dodec[3][0] = -1; dodec[3][1] = -1; dodec[3][2] = 1;
+  dodec[4][0] = -1; dodec[4][1] = 1; dodec[4][2] = -1;
+  dodec[5][0] = -1; dodec[5][1] = 1; dodec[5][2] = 1;
+  dodec[6][0] = 1; dodec[6][1] = -1; dodec[6][2] = -1;
+  dodec[7][0] = 1; dodec[7][1] = -1; dodec[7][2] = 1;
+  dodec[8][0] = 1; dodec[8][1] = 1; dodec[8][2] = -1;
+  dodec[9][0] = 1; dodec[9][1] = 1; dodec[9][2] = 1;
+  dodec[10][0] = beta; dodec[10][1] = alpha; dodec[10][2] = 0;
+  dodec[11][0] = beta; dodec[11][1] = -alpha; dodec[11][2] = 0;
+  dodec[12][0] = -beta; dodec[12][1] = alpha; dodec[12][2] = 0;
+  dodec[13][0] = -beta; dodec[13][1] = -alpha; dodec[13][2] = 0;
+  dodec[14][0] = -alpha; dodec[14][1] = 0; dodec[14][2] = -beta;
+  dodec[15][0] = alpha; dodec[15][1] = 0; dodec[15][2] = -beta;
+  dodec[16][0] = 0; dodec[16][1] = beta; dodec[16][2] = alpha;
+  dodec[17][0] = 0; dodec[17][1] = beta; dodec[17][2] = -alpha;
+  dodec[18][0] = 0; dodec[18][1] = -beta; dodec[18][2] = alpha;
+  dodec[19][0] = 0; dodec[19][1] = -beta; dodec[19][2] = -alpha;
+  /* *INDENT-ON* */
+
+}
+
+#define DIFF3(_a,_b,_c) { \
+    (_c)[0] = (_a)[0] - (_b)[0]; \
+    (_c)[1] = (_a)[1] - (_b)[1]; \
+    (_c)[2] = (_a)[2] - (_b)[2]; \
+}
+
+static void
+crossprod(GLfloat v1[3], GLfloat v2[3], GLfloat prod[3])
+{
+  GLfloat p[3];         /* in case prod == v1 or v2 */
+
+  p[0] = v1[1] * v2[2] - v2[1] * v1[2];
+  p[1] = v1[2] * v2[0] - v2[2] * v1[0];
+  p[2] = v1[0] * v2[1] - v2[0] * v1[1];
+  prod[0] = p[0];
+  prod[1] = p[1];
+  prod[2] = p[2];
+}
+
+static void
+normalize(GLfloat v[3])
+{
+  GLfloat d;
+
+  d = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
+  if (d == 0.0) {
+    __glutWarning("normalize: zero length vector");
+    v[0] = d = 1.0;
+  }
+  d = 1 / d;
+  v[0] *= d;
+  v[1] *= d;
+  v[2] *= d;
+}
+
+static void
+pentagon(int a, int b, int c, int d, int e, GLenum shadeType)
+{
+  GLfloat n0[3], d1[3], d2[3];
+
+  DIFF3(dodec[a], dodec[b], d1);
+  DIFF3(dodec[b], dodec[c], d2);
+  crossprod(d1, d2, n0);
+  normalize(n0);
+
+  glBegin(shadeType);
+  glNormal3fv(n0);
+  glVertex3fv(&dodec[a][0]);
+  glVertex3fv(&dodec[b][0]);
+  glVertex3fv(&dodec[c][0]);
+  glVertex3fv(&dodec[d][0]);
+  glVertex3fv(&dodec[e][0]);
+  glEnd();
+}
+
+static void
+dodecahedron(GLenum type)
+{
+  static int inited = 0;
+
+  if (inited == 0) {
+    inited = 1;
+    initDodecahedron();
+  }
+  pentagon(0, 1, 9, 16, 5, type);
+  pentagon(1, 0, 3, 18, 7, type);
+  pentagon(1, 7, 11, 10, 9, type);
+  pentagon(11, 7, 18, 19, 6, type);
+  pentagon(8, 17, 16, 9, 10, type);
+  pentagon(2, 14, 15, 6, 19, type);
+  pentagon(2, 13, 12, 4, 14, type);
+  pentagon(2, 19, 18, 3, 13, type);
+  pentagon(3, 0, 5, 12, 13, type);
+  pentagon(6, 15, 8, 10, 11, type);
+  pentagon(4, 17, 8, 15, 14, type);
+  pentagon(4, 12, 5, 16, 17, type);
+}
+
+/* CENTRY */
+void APIENTRY 
+glutWireDodecahedron(void)
+{
+  dodecahedron(GL_LINE_LOOP);
+}
+
+void APIENTRY 
+glutSolidDodecahedron(void)
+{
+  dodecahedron(GL_TRIANGLE_FAN);
+}
+
+/* ENDCENTRY */
+
+static void
+recorditem(GLfloat * n1, GLfloat * n2, GLfloat * n3,
+  GLenum shadeType)
+{
+  GLfloat q0[3], q1[3];
+
+  DIFF3(n1, n2, q0);
+  DIFF3(n2, n3, q1);
+  crossprod(q0, q1, q1);
+  normalize(q1);
+
+  glBegin(shadeType);
+  glNormal3fv(q1);
+  glVertex3fv(n1);
+  glVertex3fv(n2);
+  glVertex3fv(n3);
+  glEnd();
+}
+
+static void
+subdivide(GLfloat * v0, GLfloat * v1, GLfloat * v2,
+  GLenum shadeType)
+{
+  int depth;
+  GLfloat w0[3], w1[3], w2[3];
+  GLfloat l;
+  int i, j, k, n;
+
+  depth = 1;
+  for (i = 0; i < depth; i++) {
+    for (j = 0; i + j < depth; j++) {
+      k = depth - i - j;
+      for (n = 0; n < 3; n++) {
+        w0[n] = (i * v0[n] + j * v1[n] + k * v2[n]) / depth;
+        w1[n] = ((i + 1) * v0[n] + j * v1[n] + (k - 1) * v2[n])
+          / depth;
+        w2[n] = (i * v0[n] + (j + 1) * v1[n] + (k - 1) * v2[n])
+          / depth;
+      }
+      l = sqrt(w0[0] * w0[0] + w0[1] * w0[1] + w0[2] * w0[2]);
+      w0[0] /= l;
+      w0[1] /= l;
+      w0[2] /= l;
+      l = sqrt(w1[0] * w1[0] + w1[1] * w1[1] + w1[2] * w1[2]);
+      w1[0] /= l;
+      w1[1] /= l;
+      w1[2] /= l;
+      l = sqrt(w2[0] * w2[0] + w2[1] * w2[1] + w2[2] * w2[2]);
+      w2[0] /= l;
+      w2[1] /= l;
+      w2[2] /= l;
+      recorditem(w1, w0, w2, shadeType);
+    }
+  }
+}
+
+static void
+drawtriangle(int i, GLfloat data[][3], int ndx[][3],
+  GLenum shadeType)
+{
+  GLfloat *x0, *x1, *x2;
+
+  x0 = data[ndx[i][0]];
+  x1 = data[ndx[i][1]];
+  x2 = data[ndx[i][2]];
+  subdivide(x0, x1, x2, shadeType);
+}
+
+/* octahedron data: The octahedron produced is centered at the
+   origin and has radius 1.0 */
+static GLfloat odata[6][3] =
+{
+  {1.0, 0.0, 0.0},
+  {-1.0, 0.0, 0.0},
+  {0.0, 1.0, 0.0},
+  {0.0, -1.0, 0.0},
+  {0.0, 0.0, 1.0},
+  {0.0, 0.0, -1.0}
+};
+
+static int ondex[8][3] =
+{
+  {0, 4, 2},
+  {1, 2, 4},
+  {0, 3, 4},
+  {1, 4, 3},
+  {0, 2, 5},
+  {1, 5, 2},
+  {0, 5, 3},
+  {1, 3, 5}
+};
+
+static void
+octahedron(GLenum shadeType)
+{
+  int i;
+
+  for (i = 0; i < 8; i++) {
+    drawtriangle(i, odata, ondex, shadeType);
+  }
+}
+
+/* CENTRY */
+void APIENTRY 
+glutWireOctahedron(void)
+{
+  octahedron(GL_LINE_LOOP);
+}
+
+void APIENTRY 
+glutSolidOctahedron(void)
+{
+  octahedron(GL_TRIANGLES);
+}
+
+/* ENDCENTRY */
+
+/* icosahedron data: These numbers are rigged to make an
+   icosahedron of radius 1.0 */
+
+#define X .525731112119133606
+#define Z .850650808352039932
+
+static GLfloat idata[12][3] =
+{
+  {-X, 0, Z},
+  {X, 0, Z},
+  {-X, 0, -Z},
+  {X, 0, -Z},
+  {0, Z, X},
+  {0, Z, -X},
+  {0, -Z, X},
+  {0, -Z, -X},
+  {Z, X, 0},
+  {-Z, X, 0},
+  {Z, -X, 0},
+  {-Z, -X, 0}
+};
+
+static int index[20][3] =
+{
+  {0, 4, 1},
+  {0, 9, 4},
+  {9, 5, 4},
+  {4, 5, 8},
+  {4, 8, 1},
+  {8, 10, 1},
+  {8, 3, 10},
+  {5, 3, 8},
+  {5, 2, 3},
+  {2, 7, 3},
+  {7, 10, 3},
+  {7, 6, 10},
+  {7, 11, 6},
+  {11, 0, 6},
+  {0, 1, 6},
+  {6, 1, 10},
+  {9, 0, 11},
+  {9, 11, 2},
+  {9, 2, 5},
+  {7, 2, 11},
+};
+
+static void
+icosahedron(GLenum shadeType)
+{
+  int i;
+
+  for (i = 0; i < 20; i++) {
+    drawtriangle(i, idata, index, shadeType);
+  }
+}
+
+/* CENTRY */
+void APIENTRY 
+glutWireIcosahedron(void)
+{
+  icosahedron(GL_LINE_LOOP);
+}
+
+void APIENTRY 
+glutSolidIcosahedron(void)
+{
+  icosahedron(GL_TRIANGLES);
+}
+
+/* ENDCENTRY */
+
+/* tetrahedron data: */
+
+#define T       1.73205080756887729
+
+static GLfloat tdata[4][3] =
+{
+  {T, T, T},
+  {T, -T, -T},
+  {-T, T, -T},
+  {-T, -T, T}
+};
+
+static int tndex[4][3] =
+{
+  {0, 1, 3},
+  {2, 1, 0},
+  {3, 2, 0},
+  {1, 2, 3}
+};
+
+static void
+tetrahedron(GLenum shadeType)
+{
+  int i;
+
+  for (i = 0; i < 4; i++)
+    drawtriangle(i, tdata, tndex, shadeType);
+}
+
+/* CENTRY */
+void APIENTRY 
+glutWireTetrahedron(void)
+{
+  tetrahedron(GL_LINE_LOOP);
+}
+
+void APIENTRY 
+glutSolidTetrahedron(void)
+{
+  tetrahedron(GL_TRIANGLES);
+}
+
+/* ENDCENTRY */
diff --git a/src/glut/beos/glut_stroke.cpp b/src/glut/beos/glut_stroke.cpp
new file mode 100644 (file)
index 0000000..c9231eb
--- /dev/null
@@ -0,0 +1,43 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/* This program is freely distributable without licensing fees
+   and is provided without guarantee or warrantee expressed or
+   implied. This program is -not- in the public domain. */
+
+#include <GL/glut.h>
+#include "glutint.h"
+#include "glutstroke.h"
+
+void APIENTRY 
+glutStrokeCharacter(GLUTstrokeFont font, int c)
+{
+  const StrokeCharRec *ch;
+  const StrokeRec *stroke;
+  const CoordRec *coord;
+  StrokeFontPtr fontinfo;
+  int i, j;
+
+
+#if defined(WIN32)
+  fontinfo = (StrokeFontPtr) __glutFont(font);
+#else
+  fontinfo = (StrokeFontPtr) font;
+#endif
+
+  if (c < 0 || c >= fontinfo->num_chars)
+    return;
+  ch = &(fontinfo->ch[c]);
+  if (ch) {
+    for (i = ch->num_strokes, stroke = ch->stroke;
+      i > 0; i--, stroke++) {
+      glBegin(GL_LINE_STRIP);
+      for (j = stroke->num_coords, coord = stroke->coord;
+        j > 0; j--, coord++) {
+        glVertex2f(coord->x, coord->y);
+      }
+      glEnd();
+    }
+    glTranslatef(ch->right, 0.0, 0.0);
+  }
+}
diff --git a/src/glut/beos/glut_swidth.cpp b/src/glut/beos/glut_swidth.cpp
new file mode 100644 (file)
index 0000000..228c8fc
--- /dev/null
@@ -0,0 +1,59 @@
+
+/* Copyright (c) Mark J. Kilgard, 1995. */
+
+/* This program is freely distributable without licensing fees 
+   and is provided without guarantee or warrantee expressed or 
+   implied. This program is -not- in the public domain. */
+
+#include <GL/glut.h>
+#include "glutint.h"
+#include "glutstroke.h"
+
+/* CENTRY */
+int APIENTRY 
+glutStrokeWidth(GLUTstrokeFont font, int c)
+{
+  StrokeFontPtr fontinfo;
+  const StrokeCharRec *ch;
+
+#if defined(WIN32)
+  fontinfo = (StrokeFontPtr) __glutFont(font);
+#else
+  fontinfo = (StrokeFontPtr) font;
+#endif
+
+  if (c < 0 || c >= fontinfo->num_chars)
+    return 0;
+  ch = &(fontinfo->ch[c]);
+  if (ch)
+    return (int)ch->right;
+  else
+    return 0;
+}
+
+int APIENTRY 
+glutStrokeLength(GLUTstrokeFont font, const char *string)
+{
+  int c, length;
+  StrokeFontPtr fontinfo;
+  const StrokeCharRec *ch;
+
+#if defined(WIN32)
+  fontinfo = (StrokeFontPtr) __glutFont(font);
+#else
+  fontinfo = (StrokeFontPtr) font;
+#endif
+
+  length = 0;
+  for (; *string != '\0'; string++) {
+    c = *string;
+    if (c >= 0 && c < fontinfo->num_chars) {
+      ch = &(fontinfo->ch[c]);
+      if (ch)
+        length += (int)ch->right;
+    }
+  }
+  return length;
+}
+
+/* ENDCENTRY */
diff --git a/src/glut/beos/glut_teapot.cpp b/src/glut/beos/glut_teapot.cpp
new file mode 100644 (file)
index 0000000..63e63e4
--- /dev/null
@@ -0,0 +1,210 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/**
+(c) Copyright 1993, Silicon Graphics, Inc.
+
+ALL RIGHTS RESERVED
+
+Permission to use, copy, modify, and distribute this software
+for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that
+both the copyright notice and this permission notice appear in
+supporting documentation, and that the name of Silicon
+Graphics, Inc. not be used in advertising or publicity
+pertaining to distribution of the software without specific,
+written prior permission.
+
+THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU
+"AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR
+OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  IN NO
+EVENT SHALL SILICON GRAPHICS, INC.  BE LIABLE TO YOU OR ANYONE
+ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER,
+INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE,
+SAVINGS OR REVENUE, OR THE CLAIMS OF THIRD PARTIES, WHETHER OR
+NOT SILICON GRAPHICS, INC.  HAS BEEN ADVISED OF THE POSSIBILITY
+OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ARISING OUT OF OR IN CONNECTION WITH THE POSSESSION, USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+US Government Users Restricted Rights
+
+Use, duplication, or disclosure by the Government is subject to
+restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
+(c)(1)(ii) of the Rights in Technical Data and Computer
+Software clause at DFARS 252.227-7013 and/or in similar or
+successor clauses in the FAR or the DOD or NASA FAR
+Supplement.  Unpublished-- rights reserved under the copyright
+laws of the United States.  Contractor/manufacturer is Silicon
+Graphics, Inc., 2011 N.  Shoreline Blvd., Mountain View, CA
+94039-7311.
+
+OpenGL(TM) is a trademark of Silicon Graphics, Inc.
+*/
+
+#include <GL/glut.h>
+
+/* Rim, body, lid, and bottom data must be reflected in x and
+   y; handle and spout data across the y axis only.  */
+
+static int patchdata[][16] =
+{
+    /* rim */
+  {102, 103, 104, 105, 4, 5, 6, 7, 8, 9, 10, 11,
+    12, 13, 14, 15},
+    /* body */
+  {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+    24, 25, 26, 27},
+  {24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36,
+    37, 38, 39, 40},
+    /* lid */
+  {96, 96, 96, 96, 97, 98, 99, 100, 101, 101, 101,
+    101, 0, 1, 2, 3,},
+  {0, 1, 2, 3, 106, 107, 108, 109, 110, 111, 112,
+    113, 114, 115, 116, 117},
+    /* bottom */
+  {118, 118, 118, 118, 124, 122, 119, 121, 123, 126,
+    125, 120, 40, 39, 38, 37},
+    /* handle */
+  {41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+    53, 54, 55, 56},
+  {53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+    28, 65, 66, 67},
+    /* spout */
+  {68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+    80, 81, 82, 83},
+  {80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+    92, 93, 94, 95}
+};
+/* *INDENT-OFF* */
+
+static float cpdata[][3] =
+{
+    {0.2, 0, 2.7}, {0.2, -0.112, 2.7}, {0.112, -0.2, 2.7}, {0,
+    -0.2, 2.7}, {1.3375, 0, 2.53125}, {1.3375, -0.749, 2.53125},
+    {0.749, -1.3375, 2.53125}, {0, -1.3375, 2.53125}, {1.4375,
+    0, 2.53125}, {1.4375, -0.805, 2.53125}, {0.805, -1.4375,
+    2.53125}, {0, -1.4375, 2.53125}, {1.5, 0, 2.4}, {1.5, -0.84,
+    2.4}, {0.84, -1.5, 2.4}, {0, -1.5, 2.4}, {1.75, 0, 1.875},
+    {1.75, -0.98, 1.875}, {0.98, -1.75, 1.875}, {0, -1.75,
+    1.875}, {2, 0, 1.35}, {2, -1.12, 1.35}, {1.12, -2, 1.35},
+    {0, -2, 1.35}, {2, 0, 0.9}, {2, -1.12, 0.9}, {1.12, -2,
+    0.9}, {0, -2, 0.9}, {-2, 0, 0.9}, {2, 0, 0.45}, {2, -1.12,
+    0.45}, {1.12, -2, 0.45}, {0, -2, 0.45}, {1.5, 0, 0.225},
+    {1.5, -0.84, 0.225}, {0.84, -1.5, 0.225}, {0, -1.5, 0.225},
+    {1.5, 0, 0.15}, {1.5, -0.84, 0.15}, {0.84, -1.5, 0.15}, {0,
+    -1.5, 0.15}, {-1.6, 0, 2.025}, {-1.6, -0.3, 2.025}, {-1.5,
+    -0.3, 2.25}, {-1.5, 0, 2.25}, {-2.3, 0, 2.025}, {-2.3, -0.3,
+    2.025}, {-2.5, -0.3, 2.25}, {-2.5, 0, 2.25}, {-2.7, 0,
+    2.025}, {-2.7, -0.3, 2.025}, {-3, -0.3, 2.25}, {-3, 0,
+    2.25}, {-2.7, 0, 1.8}, {-2.7, -0.3, 1.8}, {-3, -0.3, 1.8},
+    {-3, 0, 1.8}, {-2.7, 0, 1.575}, {-2.7, -0.3, 1.575}, {-3,
+    -0.3, 1.35}, {-3, 0, 1.35}, {-2.5, 0, 1.125}, {-2.5, -0.3,
+    1.125}, {-2.65, -0.3, 0.9375}, {-2.65, 0, 0.9375}, {-2,
+    -0.3, 0.9}, {-1.9, -0.3, 0.6}, {-1.9, 0, 0.6}, {1.7, 0,
+    1.425}, {1.7, -0.66, 1.425}, {1.7, -0.66, 0.6}, {1.7, 0,
+    0.6}, {2.6, 0, 1.425}, {2.6, -0.66, 1.425}, {3.1, -0.66,
+    0.825}, {3.1, 0, 0.825}, {2.3, 0, 2.1}, {2.3, -0.25, 2.1},
+    {2.4, -0.25, 2.025}, {2.4, 0, 2.025}, {2.7, 0, 2.4}, {2.7,
+    -0.25, 2.4}, {3.3, -0.25, 2.4}, {3.3, 0, 2.4}, {2.8, 0,
+    2.475}, {2.8, -0.25, 2.475}, {3.525, -0.25, 2.49375},
+    {3.525, 0, 2.49375}, {2.9, 0, 2.475}, {2.9, -0.15, 2.475},
+    {3.45, -0.15, 2.5125}, {3.45, 0, 2.5125}, {2.8, 0, 2.4},
+    {2.8, -0.15, 2.4}, {3.2, -0.15, 2.4}, {3.2, 0, 2.4}, {0, 0,
+    3.15}, {0.8, 0, 3.15}, {0.8, -0.45, 3.15}, {0.45, -0.8,
+    3.15}, {0, -0.8, 3.15}, {0, 0, 2.85}, {1.4, 0, 2.4}, {1.4,
+    -0.784, 2.4}, {0.784, -1.4, 2.4}, {0, -1.4, 2.4}, {0.4, 0,
+    2.55}, {0.4, -0.224, 2.55}, {0.224, -0.4, 2.55}, {0, -0.4,
+    2.55}, {1.3, 0, 2.55}, {1.3, -0.728, 2.55}, {0.728, -1.3,
+    2.55}, {0, -1.3, 2.55}, {1.3, 0, 2.4}, {1.3, -0.728, 2.4},
+    {0.728, -1.3, 2.4}, {0, -1.3, 2.4}, {0, 0, 0}, {1.425,
+    -0.798, 0}, {1.5, 0, 0.075}, {1.425, 0, 0}, {0.798, -1.425,
+    0}, {0, -1.5, 0.075}, {0, -1.425, 0}, {1.5, -0.84, 0.075},
+    {0.84, -1.5, 0.075}
+};
+
+static float tex[2][2][2] =
+{
+  { {0, 0},
+    {1, 0}},
+  { {0, 1},
+    {1, 1}}
+};
+
+/* *INDENT-ON* */
+
+static void
+teapot(GLint grid, GLdouble scale, GLenum type)
+{
+  float p[4][4][3], q[4][4][3], r[4][4][3], s[4][4][3];
+  long i, j, k, l;
+
+  glPushAttrib(GL_ENABLE_BIT | GL_EVAL_BIT);
+  glEnable(GL_AUTO_NORMAL);
+  glEnable(GL_NORMALIZE);
+  glEnable(GL_MAP2_VERTEX_3);
+  glEnable(GL_MAP2_TEXTURE_COORD_2);
+  glPushMatrix();
+  glRotatef(270.0, 1.0, 0.0, 0.0);
+  glScalef(0.5 * scale, 0.5 * scale, 0.5 * scale);
+  glTranslatef(0.0, 0.0, -1.5);
+  for (i = 0; i < 10; i++) {
+    for (j = 0; j < 4; j++) {
+      for (k = 0; k < 4; k++) {
+        for (l = 0; l < 3; l++) {
+          p[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
+          q[j][k][l] = cpdata[patchdata[i][j * 4 + (3 - k)]][l];
+          if (l == 1)
+            q[j][k][l] *= -1.0;
+          if (i < 6) {
+            r[j][k][l] =
+              cpdata[patchdata[i][j * 4 + (3 - k)]][l];
+            if (l == 0)
+              r[j][k][l] *= -1.0;
+            s[j][k][l] = cpdata[patchdata[i][j * 4 + k]][l];
+            if (l == 0)
+              s[j][k][l] *= -1.0;
+            if (l == 1)
+              s[j][k][l] *= -1.0;
+          }
+        }
+      }
+    }
+    glMap2f(GL_MAP2_TEXTURE_COORD_2, 0, 1, 2, 2, 0, 1, 4, 2,
+      &tex[0][0][0]);
+    glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
+      &p[0][0][0]);
+    glMapGrid2f(grid, 0.0, 1.0, grid, 0.0, 1.0);
+    glEvalMesh2(type, 0, grid, 0, grid);
+    glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
+      &q[0][0][0]);
+    glEvalMesh2(type, 0, grid, 0, grid);
+    if (i < 6) {
+      glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
+        &r[0][0][0]);
+      glEvalMesh2(type, 0, grid, 0, grid);
+      glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4,
+        &s[0][0][0]);
+      glEvalMesh2(type, 0, grid, 0, grid);
+    }
+  }
+  glPopMatrix();
+  glPopAttrib();
+}
+
+/* CENTRY */
+void APIENTRY 
+glutSolidTeapot(GLdouble scale)
+{
+  teapot(14, scale, GL_FILL);
+}
+
+void APIENTRY 
+glutWireTeapot(GLdouble scale)
+{
+  teapot(10, scale, GL_LINE);
+}
+
+/* ENDCENTRY */
diff --git a/src/glut/beos/glut_tr10.cpp b/src/glut/beos/glut_tr10.cpp
new file mode 100644 (file)
index 0000000..6cf1580
--- /dev/null
@@ -0,0 +1,1776 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "glutbitmap.h"
+
+/* char: 0xff */
+
+static const GLubyte ch255data[] = {
+0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0xa0,
+};
+
+static const BitmapCharRec ch255 = {5,9,0,2,5,ch255data};
+
+/* char: 0xfe */
+
+static const GLubyte ch254data[] = {
+0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0,0x80,0x80,
+};
+
+static const BitmapCharRec ch254 = {4,9,0,2,5,ch254data};
+
+/* char: 0xfd */
+
+static const GLubyte ch253data[] = {
+0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch253 = {5,10,0,2,5,ch253data};
+
+/* char: 0xfc */
+
+static const GLubyte ch252data[] = {
+0x68,0x90,0x90,0x90,0x90,0x0,0x50,
+};
+
+static const BitmapCharRec ch252 = {5,7,0,0,5,ch252data};
+
+/* char: 0xfb */
+
+static const GLubyte ch251data[] = {
+0x68,0x90,0x90,0x90,0x90,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch251 = {5,8,0,0,5,ch251data};
+
+/* char: 0xfa */
+
+static const GLubyte ch250data[] = {
+0x68,0x90,0x90,0x90,0x90,0x0,0x40,0x20,
+};
+
+static const BitmapCharRec ch250 = {5,8,0,0,5,ch250data};
+
+/* char: 0xf9 */
+
+static const GLubyte ch249data[] = {
+0x68,0x90,0x90,0x90,0x90,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch249 = {5,8,0,0,5,ch249data};
+
+/* char: 0xf8 */
+
+static const GLubyte ch248data[] = {
+0x80,0x70,0x48,0x48,0x48,0x38,0x4,
+};
+
+static const BitmapCharRec ch248 = {6,7,1,1,5,ch248data};
+
+/* char: 0xf7 */
+
+static const GLubyte ch247data[] = {
+0x20,0x0,0xf8,0x0,0x20,
+};
+
+static const BitmapCharRec ch247 = {5,5,0,0,6,ch247data};
+
+/* char: 0xf6 */
+
+static const GLubyte ch246data[] = {
+0x60,0x90,0x90,0x90,0x60,0x0,0xa0,
+};
+
+static const BitmapCharRec ch246 = {4,7,0,0,5,ch246data};
+
+/* char: 0xf5 */
+
+static const GLubyte ch245data[] = {
+0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x50,
+};
+
+static const BitmapCharRec ch245 = {4,8,0,0,5,ch245data};
+
+/* char: 0xf4 */
+
+static const GLubyte ch244data[] = {
+0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x40,
+};
+
+static const BitmapCharRec ch244 = {4,8,0,0,5,ch244data};
+
+/* char: 0xf3 */
+
+static const GLubyte ch243data[] = {
+0x60,0x90,0x90,0x90,0x60,0x0,0x40,0x20,
+};
+
+static const BitmapCharRec ch243 = {4,8,0,0,5,ch243data};
+
+/* char: 0xf2 */
+
+static const GLubyte ch242data[] = {
+0x60,0x90,0x90,0x90,0x60,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch242 = {4,8,0,0,5,ch242data};
+
+/* char: 0xf1 */
+
+static const GLubyte ch241data[] = {
+0xd8,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50,
+};
+
+static const BitmapCharRec ch241 = {5,8,0,0,5,ch241data};
+
+/* char: 0xf0 */
+
+static const GLubyte ch240data[] = {
+0x60,0x90,0x90,0x90,0x70,0xa0,0x70,0x40,
+};
+
+static const BitmapCharRec ch240 = {4,8,0,0,5,ch240data};
+
+/* char: 0xef */
+
+static const GLubyte ch239data[] = {
+0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0,
+};
+
+static const BitmapCharRec ch239 = {3,7,0,0,4,ch239data};
+
+/* char: 0xee */
+
+static const GLubyte ch238data[] = {
+0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0,0x40,
+};
+
+static const BitmapCharRec ch238 = {3,8,0,0,4,ch238data};
+
+/* char: 0xed */
+
+static const GLubyte ch237data[] = {
+0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x20,
+};
+
+static const BitmapCharRec ch237 = {3,8,0,0,4,ch237data};
+
+/* char: 0xec */
+
+static const GLubyte ch236data[] = {
+0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x80,
+};
+
+static const BitmapCharRec ch236 = {3,8,0,0,4,ch236data};
+
+/* char: 0xeb */
+
+static const GLubyte ch235data[] = {
+0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0,
+};
+
+static const BitmapCharRec ch235 = {3,7,0,0,4,ch235data};
+
+/* char: 0xea */
+
+static const GLubyte ch234data[] = {
+0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0,0x40,
+};
+
+static const BitmapCharRec ch234 = {3,8,0,0,4,ch234data};
+
+/* char: 0xe9 */
+
+static const GLubyte ch233data[] = {
+0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x20,
+};
+
+static const BitmapCharRec ch233 = {3,8,0,0,4,ch233data};
+
+/* char: 0xe8 */
+
+static const GLubyte ch232data[] = {
+0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x80,
+};
+
+static const BitmapCharRec ch232 = {3,8,0,0,4,ch232data};
+
+/* char: 0xe7 */
+
+static const GLubyte ch231data[] = {
+0xc0,0x20,0x40,0x60,0x80,0x80,0x80,0x60,
+};
+
+static const BitmapCharRec ch231 = {3,8,0,3,4,ch231data};
+
+/* char: 0xe6 */
+
+static const GLubyte ch230data[] = {
+0xd8,0xa0,0x70,0x28,0xd8,
+};
+
+static const BitmapCharRec ch230 = {5,5,0,0,6,ch230data};
+
+/* char: 0xe5 */
+
+static const GLubyte ch229data[] = {
+0xe0,0xa0,0x60,0x20,0xc0,0x40,0xa0,0x40,
+};
+
+static const BitmapCharRec ch229 = {3,8,0,0,4,ch229data};
+
+/* char: 0xe4 */
+
+static const GLubyte ch228data[] = {
+0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,
+};
+
+static const BitmapCharRec ch228 = {3,7,0,0,4,ch228data};
+
+/* char: 0xe3 */
+
+static const GLubyte ch227data[] = {
+0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x50,
+};
+
+static const BitmapCharRec ch227 = {4,8,0,0,4,ch227data};
+
+/* char: 0xe2 */
+
+static const GLubyte ch226data[] = {
+0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x40,
+};
+
+static const BitmapCharRec ch226 = {3,8,0,0,4,ch226data};
+
+/* char: 0xe1 */
+
+static const GLubyte ch225data[] = {
+0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x20,
+};
+
+static const BitmapCharRec ch225 = {3,8,0,0,4,ch225data};
+
+/* char: 0xe0 */
+
+static const GLubyte ch224data[] = {
+0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x80,
+};
+
+static const BitmapCharRec ch224 = {3,8,0,0,4,ch224data};
+
+/* char: 0xdf */
+
+static const GLubyte ch223data[] = {
+0xe0,0x50,0x50,0x60,0x50,0x50,0x20,
+};
+
+static const BitmapCharRec ch223 = {4,7,0,0,5,ch223data};
+
+/* char: 0xde */
+
+static const GLubyte ch222data[] = {
+0xe0,0x40,0x70,0x48,0x70,0x40,0xe0,
+};
+
+static const BitmapCharRec ch222 = {5,7,0,0,6,ch222data};
+
+/* char: 0xdd */
+
+static const GLubyte ch221data[] = {
+0x38,0x10,0x10,0x28,0x28,0x44,0xee,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch221 = {7,10,0,0,8,ch221data};
+
+/* char: 0xdc */
+
+static const GLubyte ch220data[] = {
+0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28,
+};
+
+static const BitmapCharRec ch220 = {7,9,0,0,8,ch220data};
+
+/* char: 0xdb */
+
+static const GLubyte ch219data[] = {
+0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28,0x10,
+};
+
+static const BitmapCharRec ch219 = {7,10,0,0,8,ch219data};
+
+/* char: 0xda */
+
+static const GLubyte ch218data[] = {
+0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch218 = {7,10,0,0,8,ch218data};
+
+/* char: 0xd9 */
+
+static const GLubyte ch217data[] = {
+0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch217 = {7,10,0,0,8,ch217data};
+
+/* char: 0xd8 */
+
+static const GLubyte ch216data[] = {
+0x80,0x7c,0x66,0x52,0x52,0x4a,0x66,0x3e,0x1,
+};
+
+static const BitmapCharRec ch216 = {8,9,0,1,8,ch216data};
+
+/* char: 0xd7 */
+
+static const GLubyte ch215data[] = {
+0x88,0x50,0x20,0x50,0x88,
+};
+
+static const BitmapCharRec ch215 = {5,5,0,0,6,ch215data};
+
+/* char: 0xd6 */
+
+static const GLubyte ch214data[] = {
+0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,
+};
+
+static const BitmapCharRec ch214 = {6,9,0,0,7,ch214data};
+
+/* char: 0xd5 */
+
+static const GLubyte ch213data[] = {
+0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch213 = {6,10,0,0,7,ch213data};
+
+/* char: 0xd4 */
+
+static const GLubyte ch212data[] = {
+0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch212 = {6,10,0,0,7,ch212data};
+
+/* char: 0xd3 */
+
+static const GLubyte ch211data[] = {
+0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch211 = {6,10,0,0,7,ch211data};
+
+/* char: 0xd2 */
+
+static const GLubyte ch210data[] = {
+0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch210 = {6,10,0,0,7,ch210data};
+
+/* char: 0xd1 */
+
+static const GLubyte ch209data[] = {
+0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee,0x0,0x50,0x28,
+};
+
+static const BitmapCharRec ch209 = {7,10,0,0,8,ch209data};
+
+/* char: 0xd0 */
+
+static const GLubyte ch208data[] = {
+0xf8,0x4c,0x44,0xe4,0x44,0x4c,0xf8,
+};
+
+static const BitmapCharRec ch208 = {6,7,0,0,7,ch208data};
+
+/* char: 0xcf */
+
+static const GLubyte ch207data[] = {
+0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0,
+};
+
+static const BitmapCharRec ch207 = {3,9,0,0,4,ch207data};
+
+/* char: 0xce */
+
+static const GLubyte ch206data[] = {
+0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0,0x40,
+};
+
+static const BitmapCharRec ch206 = {3,10,0,0,4,ch206data};
+
+/* char: 0xcd */
+
+static const GLubyte ch205data[] = {
+0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x20,
+};
+
+static const BitmapCharRec ch205 = {3,10,0,0,4,ch205data};
+
+/* char: 0xcc */
+
+static const GLubyte ch204data[] = {
+0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x80,
+};
+
+static const BitmapCharRec ch204 = {3,10,0,0,4,ch204data};
+
+/* char: 0xcb */
+
+static const GLubyte ch203data[] = {
+0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50,
+};
+
+static const BitmapCharRec ch203 = {5,9,0,0,6,ch203data};
+
+/* char: 0xca */
+
+static const GLubyte ch202data[] = {
+0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50,0x20,
+};
+
+static const BitmapCharRec ch202 = {5,10,0,0,6,ch202data};
+
+/* char: 0xc9 */
+
+static const GLubyte ch201data[] = {
+0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x10,
+};
+
+static const BitmapCharRec ch201 = {5,10,0,0,6,ch201data};
+
+/* char: 0xc8 */
+
+static const GLubyte ch200data[] = {
+0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x40,
+};
+
+static const BitmapCharRec ch200 = {5,10,0,0,6,ch200data};
+
+/* char: 0xc7 */
+
+static const GLubyte ch199data[] = {
+0x60,0x10,0x20,0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c,
+};
+
+static const BitmapCharRec ch199 = {6,10,0,3,7,ch199data};
+
+/* char: 0xc6 */
+
+static const GLubyte ch198data[] = {
+0xef,0x49,0x78,0x2e,0x28,0x39,0x1f,
+};
+
+static const BitmapCharRec ch198 = {8,7,0,0,9,ch198data};
+
+/* char: 0xc5 */
+
+static const GLubyte ch197data[] = {
+0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x10,0x28,0x10,
+};
+
+static const BitmapCharRec ch197 = {7,10,0,0,8,ch197data};
+
+/* char: 0xc4 */
+
+static const GLubyte ch196data[] = {
+0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,
+};
+
+static const BitmapCharRec ch196 = {7,9,0,0,8,ch196data};
+
+/* char: 0xc3 */
+
+static const GLubyte ch195data[] = {
+0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x14,
+};
+
+static const BitmapCharRec ch195 = {7,10,0,0,8,ch195data};
+
+/* char: 0xc2 */
+
+static const GLubyte ch194data[] = {
+0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x10,
+};
+
+static const BitmapCharRec ch194 = {7,10,0,0,8,ch194data};
+
+/* char: 0xc1 */
+
+static const GLubyte ch193data[] = {
+0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x8,
+};
+
+static const BitmapCharRec ch193 = {7,10,0,0,8,ch193data};
+
+/* char: 0xc0 */
+
+static const GLubyte ch192data[] = {
+0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x20,
+};
+
+static const BitmapCharRec ch192 = {7,10,0,0,8,ch192data};
+
+/* char: 0xbf */
+
+static const GLubyte ch191data[] = {
+0xe0,0xa0,0x80,0x40,0x40,0x0,0x40,
+};
+
+static const BitmapCharRec ch191 = {3,7,0,2,4,ch191data};
+
+/* char: 0xbe */
+
+static const GLubyte ch190data[] = {
+0x44,0x3e,0x2c,0xd4,0x28,0x48,0xe4,
+};
+
+static const BitmapCharRec ch190 = {7,7,0,0,8,ch190data};
+
+/* char: 0xbd */
+
+static const GLubyte ch189data[] = {
+0x4e,0x24,0x2a,0xf6,0x48,0xc8,0x44,
+};
+
+static const BitmapCharRec ch189 = {7,7,0,0,8,ch189data};
+
+/* char: 0xbc */
+
+static const GLubyte ch188data[] = {
+0x44,0x3e,0x2c,0xf4,0x48,0xc8,0x44,
+};
+
+static const BitmapCharRec ch188 = {7,7,0,0,8,ch188data};
+
+/* char: 0xbb */
+
+static const GLubyte ch187data[] = {
+0xa0,0x50,0x50,0xa0,
+};
+
+static const BitmapCharRec ch187 = {4,4,0,-1,5,ch187data};
+
+/* char: 0xba */
+
+static const GLubyte ch186data[] = {
+0xe0,0x0,0x40,0xa0,0x40,
+};
+
+static const BitmapCharRec ch186 = {3,5,0,-2,4,ch186data};
+
+/* char: 0xb9 */
+
+static const GLubyte ch185data[] = {
+0xe0,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch185 = {3,4,0,-3,3,ch185data};
+
+/* char: 0xb8 */
+
+static const GLubyte ch184data[] = {
+0xc0,0x20,0x40,
+};
+
+static const BitmapCharRec ch184 = {3,3,0,3,4,ch184data};
+
+/* char: 0xb7 */
+
+static const GLubyte ch183data[] = {
+0x80,
+};
+
+static const BitmapCharRec ch183 = {1,1,0,-2,2,ch183data};
+
+/* char: 0xb6 */
+
+static const GLubyte ch182data[] = {
+0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c,
+};
+
+static const BitmapCharRec ch182 = {6,9,0,2,6,ch182data};
+
+/* char: 0xb5 */
+
+static const GLubyte ch181data[] = {
+0x80,0x80,0xe8,0x90,0x90,0x90,0x90,
+};
+
+static const BitmapCharRec ch181 = {5,7,0,2,5,ch181data};
+
+/* char: 0xb4 */
+
+static const GLubyte ch180data[] = {
+0x80,0x40,
+};
+
+static const BitmapCharRec ch180 = {2,2,0,-5,3,ch180data};
+
+/* char: 0xb3 */
+
+static const GLubyte ch179data[] = {
+0xc0,0x20,0x40,0xe0,
+};
+
+static const BitmapCharRec ch179 = {3,4,0,-3,3,ch179data};
+
+/* char: 0xb2 */
+
+static const GLubyte ch178data[] = {
+0xe0,0x40,0xa0,0x60,
+};
+
+static const BitmapCharRec ch178 = {3,4,0,-3,3,ch178data};
+
+/* char: 0xb1 */
+
+static const GLubyte ch177data[] = {
+0xf8,0x0,0x20,0x20,0xf8,0x20,0x20,
+};
+
+static const BitmapCharRec ch177 = {5,7,0,0,6,ch177data};
+
+/* char: 0xb0 */
+
+static const GLubyte ch176data[] = {
+0x60,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch176 = {4,4,0,-3,4,ch176data};
+
+/* char: 0xaf */
+
+static const GLubyte ch175data[] = {
+0xe0,
+};
+
+static const BitmapCharRec ch175 = {3,1,0,-6,4,ch175data};
+
+/* char: 0xae */
+
+static const GLubyte ch174data[] = {
+0x38,0x44,0xaa,0xb2,0xba,0x44,0x38,
+};
+
+static const BitmapCharRec ch174 = {7,7,-1,0,9,ch174data};
+
+/* char: 0xad */
+
+static const GLubyte ch173data[] = {
+0xe0,
+};
+
+static const BitmapCharRec ch173 = {3,1,0,-2,4,ch173data};
+
+/* char: 0xac */
+
+static const GLubyte ch172data[] = {
+0x8,0x8,0xf8,
+};
+
+static const BitmapCharRec ch172 = {5,3,-1,-1,7,ch172data};
+
+/* char: 0xab */
+
+static const GLubyte ch171data[] = {
+0x50,0xa0,0xa0,0x50,
+};
+
+static const BitmapCharRec ch171 = {4,4,0,-1,5,ch171data};
+
+/* char: 0xaa */
+
+static const GLubyte ch170data[] = {
+0xe0,0x0,0xa0,0x20,0xc0,
+};
+
+static const BitmapCharRec ch170 = {3,5,0,-2,4,ch170data};
+
+/* char: 0xa9 */
+
+static const GLubyte ch169data[] = {
+0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38,
+};
+
+static const BitmapCharRec ch169 = {7,7,-1,0,9,ch169data};
+
+/* char: 0xa8 */
+
+static const GLubyte ch168data[] = {
+0xa0,
+};
+
+static const BitmapCharRec ch168 = {3,1,-1,-6,5,ch168data};
+
+/* char: 0xa7 */
+
+static const GLubyte ch167data[] = {
+0xe0,0x90,0x20,0x50,0x90,0xa0,0x40,0x90,0x70,
+};
+
+static const BitmapCharRec ch167 = {4,9,0,1,5,ch167data};
+
+/* char: 0xa6 */
+
+static const GLubyte ch166data[] = {
+0x80,0x80,0x80,0x0,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch166 = {1,7,0,0,2,ch166data};
+
+/* char: 0xa5 */
+
+static const GLubyte ch165data[] = {
+0x70,0x20,0xf8,0x20,0xd8,0x50,0x88,
+};
+
+static const BitmapCharRec ch165 = {5,7,0,0,5,ch165data};
+
+/* char: 0xa4 */
+
+static const GLubyte ch164data[] = {
+0x88,0x70,0x50,0x50,0x70,0x88,
+};
+
+static const BitmapCharRec ch164 = {5,6,0,-1,5,ch164data};
+
+/* char: 0xa3 */
+
+static const GLubyte ch163data[] = {
+0xf0,0xc8,0x40,0xe0,0x40,0x50,0x30,
+};
+
+static const BitmapCharRec ch163 = {5,7,0,0,5,ch163data};
+
+/* char: 0xa2 */
+
+static const GLubyte ch162data[] = {
+0x80,0xe0,0x90,0x80,0x90,0x70,0x10,
+};
+
+static const BitmapCharRec ch162 = {4,7,0,1,5,ch162data};
+
+/* char: 0xa1 */
+
+static const GLubyte ch161data[] = {
+0x80,0x80,0x80,0x80,0x80,0x0,0x80,
+};
+
+static const BitmapCharRec ch161 = {1,7,-1,2,3,ch161data};
+
+/* char: 0xa0 */
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch160data[] = { 0x0 };
+static const BitmapCharRec ch160 = {1,1,0,0,2,ch160data};
+#else
+static const BitmapCharRec ch160 = {0,0,0,0,2,0};
+#endif
+
+/* char: 0x7e '~' */
+
+static const GLubyte ch126data[] = {
+0x98,0x64,
+};
+
+static const BitmapCharRec ch126 = {6,2,0,-2,7,ch126data};
+
+/* char: 0x7d '}' */
+
+static const GLubyte ch125data[] = {
+0x80,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80,
+};
+
+static const BitmapCharRec ch125 = {3,9,0,2,4,ch125data};
+
+/* char: 0x7c '|' */
+
+static const GLubyte ch124data[] = {
+0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch124 = {1,9,0,2,2,ch124data};
+
+/* char: 0x7b '{' */
+
+static const GLubyte ch123data[] = {
+0x20,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20,
+};
+
+static const BitmapCharRec ch123 = {3,9,0,2,4,ch123data};
+
+/* char: 0x7a 'z' */
+
+static const GLubyte ch122data[] = {
+0xf0,0x90,0x40,0x20,0xf0,
+};
+
+static const BitmapCharRec ch122 = {4,5,0,0,5,ch122data};
+
+/* char: 0x79 'y' */
+
+static const GLubyte ch121data[] = {
+0x40,0x40,0x20,0x30,0x50,0x48,0xdc,
+};
+
+static const BitmapCharRec ch121 = {6,7,1,2,5,ch121data};
+
+/* char: 0x78 'x' */
+
+static const GLubyte ch120data[] = {
+0xd8,0x50,0x20,0x50,0xd8,
+};
+
+static const BitmapCharRec ch120 = {5,5,0,0,6,ch120data};
+
+/* char: 0x77 'w' */
+
+static const GLubyte ch119data[] = {
+0x28,0x6c,0x54,0x92,0xdb,
+};
+
+static const BitmapCharRec ch119 = {8,5,0,0,8,ch119data};
+
+/* char: 0x76 'v' */
+
+static const GLubyte ch118data[] = {
+0x20,0x60,0x50,0x90,0xd8,
+};
+
+static const BitmapCharRec ch118 = {5,5,0,0,5,ch118data};
+
+/* char: 0x75 'u' */
+
+static const GLubyte ch117data[] = {
+0x68,0x90,0x90,0x90,0x90,
+};
+
+static const BitmapCharRec ch117 = {5,5,0,0,5,ch117data};
+
+/* char: 0x74 't' */
+
+static const GLubyte ch116data[] = {
+0x30,0x40,0x40,0x40,0xe0,0x40,
+};
+
+static const BitmapCharRec ch116 = {4,6,0,0,4,ch116data};
+
+/* char: 0x73 's' */
+
+static const GLubyte ch115data[] = {
+0xe0,0x20,0x60,0x80,0xe0,
+};
+
+static const BitmapCharRec ch115 = {3,5,0,0,4,ch115data};
+
+/* char: 0x72 'r' */
+
+static const GLubyte ch114data[] = {
+0xe0,0x40,0x40,0x60,0xa0,
+};
+
+static const BitmapCharRec ch114 = {3,5,0,0,4,ch114data};
+
+/* char: 0x71 'q' */
+
+static const GLubyte ch113data[] = {
+0x38,0x10,0x70,0x90,0x90,0x90,0x70,
+};
+
+static const BitmapCharRec ch113 = {5,7,0,2,5,ch113data};
+
+/* char: 0x70 'p' */
+
+static const GLubyte ch112data[] = {
+0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0,
+};
+
+static const BitmapCharRec ch112 = {4,7,0,2,5,ch112data};
+
+/* char: 0x6f 'o' */
+
+static const GLubyte ch111data[] = {
+0x60,0x90,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch111 = {4,5,0,0,5,ch111data};
+
+/* char: 0x6e 'n' */
+
+static const GLubyte ch110data[] = {
+0xd8,0x90,0x90,0x90,0xe0,
+};
+
+static const BitmapCharRec ch110 = {5,5,0,0,5,ch110data};
+
+/* char: 0x6d 'm' */
+
+static const GLubyte ch109data[] = {
+0xdb,0x92,0x92,0x92,0xec,
+};
+
+static const BitmapCharRec ch109 = {8,5,0,0,8,ch109data};
+
+/* char: 0x6c 'l' */
+
+static const GLubyte ch108data[] = {
+0xe0,0x40,0x40,0x40,0x40,0x40,0xc0,
+};
+
+static const BitmapCharRec ch108 = {3,7,0,0,4,ch108data};
+
+/* char: 0x6b 'k' */
+
+static const GLubyte ch107data[] = {
+0x98,0x90,0xe0,0xa0,0x90,0x80,0x80,
+};
+
+static const BitmapCharRec ch107 = {5,7,0,0,5,ch107data};
+
+/* char: 0x6a 'j' */
+
+static const GLubyte ch106data[] = {
+0x80,0x40,0x40,0x40,0x40,0x40,0xc0,0x0,0x40,
+};
+
+static const BitmapCharRec ch106 = {2,9,0,2,3,ch106data};
+
+/* char: 0x69 'i' */
+
+static const GLubyte ch105data[] = {
+0x40,0x40,0x40,0x40,0xc0,0x0,0x40,
+};
+
+static const BitmapCharRec ch105 = {2,7,0,0,3,ch105data};
+
+/* char: 0x68 'h' */
+
+static const GLubyte ch104data[] = {
+0xd8,0x90,0x90,0x90,0xe0,0x80,0x80,
+};
+
+static const BitmapCharRec ch104 = {5,7,0,0,5,ch104data};
+
+/* char: 0x67 'g' */
+
+static const GLubyte ch103data[] = {
+0xe0,0x90,0x60,0x40,0xa0,0xa0,0x70,
+};
+
+static const BitmapCharRec ch103 = {4,7,0,2,5,ch103data};
+
+/* char: 0x66 'f' */
+
+static const GLubyte ch102data[] = {
+0xe0,0x40,0x40,0x40,0xe0,0x40,0x30,
+};
+
+static const BitmapCharRec ch102 = {4,7,0,0,4,ch102data};
+
+/* char: 0x65 'e' */
+
+static const GLubyte ch101data[] = {
+0x60,0x80,0xc0,0xa0,0x60,
+};
+
+static const BitmapCharRec ch101 = {3,5,0,0,4,ch101data};
+
+/* char: 0x64 'd' */
+
+static const GLubyte ch100data[] = {
+0x68,0x90,0x90,0x90,0x70,0x10,0x30,
+};
+
+static const BitmapCharRec ch100 = {5,7,0,0,5,ch100data};
+
+/* char: 0x63 'c' */
+
+static const GLubyte ch99data[] = {
+0x60,0x80,0x80,0x80,0x60,
+};
+
+static const BitmapCharRec ch99 = {3,5,0,0,4,ch99data};
+
+/* char: 0x62 'b' */
+
+static const GLubyte ch98data[] = {
+0xe0,0x90,0x90,0x90,0xe0,0x80,0x80,
+};
+
+static const BitmapCharRec ch98 = {4,7,0,0,5,ch98data};
+
+/* char: 0x61 'a' */
+
+static const GLubyte ch97data[] = {
+0xe0,0xa0,0x60,0x20,0xc0,
+};
+
+static const BitmapCharRec ch97 = {3,5,0,0,4,ch97data};
+
+/* char: 0x60 '`' */
+
+static const GLubyte ch96data[] = {
+0xc0,0x80,
+};
+
+static const BitmapCharRec ch96 = {2,2,0,-5,3,ch96data};
+
+/* char: 0x5f '_' */
+
+static const GLubyte ch95data[] = {
+0xf8,
+};
+
+static const BitmapCharRec ch95 = {5,1,0,3,5,ch95data};
+
+/* char: 0x5e '^' */
+
+static const GLubyte ch94data[] = {
+0xa0,0xa0,0x40,
+};
+
+static const BitmapCharRec ch94 = {3,3,-1,-4,5,ch94data};
+
+/* char: 0x5d ']' */
+
+static const GLubyte ch93data[] = {
+0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
+};
+
+static const BitmapCharRec ch93 = {2,9,0,2,3,ch93data};
+
+/* char: 0x5c '\' */
+
+static const GLubyte ch92data[] = {
+0x20,0x20,0x40,0x40,0x40,0x80,0x80,
+};
+
+static const BitmapCharRec ch92 = {3,7,0,0,3,ch92data};
+
+/* char: 0x5b '[' */
+
+static const GLubyte ch91data[] = {
+0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
+};
+
+static const BitmapCharRec ch91 = {2,9,0,2,3,ch91data};
+
+/* char: 0x5a 'Z' */
+
+static const GLubyte ch90data[] = {
+0xf8,0x88,0x40,0x20,0x10,0x88,0xf8,
+};
+
+static const BitmapCharRec ch90 = {5,7,0,0,6,ch90data};
+
+/* char: 0x59 'Y' */
+
+static const GLubyte ch89data[] = {
+0x38,0x10,0x10,0x28,0x28,0x44,0xee,
+};
+
+static const BitmapCharRec ch89 = {7,7,0,0,8,ch89data};
+
+/* char: 0x58 'X' */
+
+static const GLubyte ch88data[] = {
+0xee,0x44,0x28,0x10,0x28,0x44,0xee,
+};
+
+static const BitmapCharRec ch88 = {7,7,0,0,8,ch88data};
+
+/* char: 0x57 'W' */
+
+static const GLubyte ch87data[] = {
+0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0xc9,0x80,0x88,0x80,0xdd,0xc0,
+};
+
+static const BitmapCharRec ch87 = {10,7,0,0,10,ch87data};
+
+/* char: 0x56 'V' */
+
+static const GLubyte ch86data[] = {
+0x10,0x10,0x28,0x28,0x6c,0x44,0xee,
+};
+
+static const BitmapCharRec ch86 = {7,7,0,0,8,ch86data};
+
+/* char: 0x55 'U' */
+
+static const GLubyte ch85data[] = {
+0x38,0x6c,0x44,0x44,0x44,0x44,0xee,
+};
+
+static const BitmapCharRec ch85 = {7,7,0,0,8,ch85data};
+
+/* char: 0x54 'T' */
+
+static const GLubyte ch84data[] = {
+0x70,0x20,0x20,0x20,0x20,0xa8,0xf8,
+};
+
+static const BitmapCharRec ch84 = {5,7,0,0,6,ch84data};
+
+/* char: 0x53 'S' */
+
+static const GLubyte ch83data[] = {
+0xe0,0x90,0x10,0x60,0xc0,0x90,0x70,
+};
+
+static const BitmapCharRec ch83 = {4,7,0,0,5,ch83data};
+
+/* char: 0x52 'R' */
+
+static const GLubyte ch82data[] = {
+0xec,0x48,0x50,0x70,0x48,0x48,0xf0,
+};
+
+static const BitmapCharRec ch82 = {6,7,0,0,7,ch82data};
+
+/* char: 0x51 'Q' */
+
+static const GLubyte ch81data[] = {
+0xc,0x18,0x70,0xcc,0x84,0x84,0x84,0xcc,0x78,
+};
+
+static const BitmapCharRec ch81 = {6,9,0,2,7,ch81data};
+
+/* char: 0x50 'P' */
+
+static const GLubyte ch80data[] = {
+0xe0,0x40,0x40,0x70,0x48,0x48,0xf0,
+};
+
+static const BitmapCharRec ch80 = {5,7,0,0,6,ch80data};
+
+/* char: 0x4f 'O' */
+
+static const GLubyte ch79data[] = {
+0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,
+};
+
+static const BitmapCharRec ch79 = {6,7,0,0,7,ch79data};
+
+/* char: 0x4e 'N' */
+
+static const GLubyte ch78data[] = {
+0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee,
+};
+
+static const BitmapCharRec ch78 = {7,7,0,0,8,ch78data};
+
+/* char: 0x4d 'M' */
+
+static const GLubyte ch77data[] = {
+0xeb,0x80,0x49,0x0,0x55,0x0,0x55,0x0,0x63,0x0,0x63,0x0,0xe3,0x80,
+};
+
+static const BitmapCharRec ch77 = {9,7,0,0,10,ch77data};
+
+/* char: 0x4c 'L' */
+
+static const GLubyte ch76data[] = {
+0xf8,0x48,0x40,0x40,0x40,0x40,0xe0,
+};
+
+static const BitmapCharRec ch76 = {5,7,0,0,6,ch76data};
+
+/* char: 0x4b 'K' */
+
+static const GLubyte ch75data[] = {
+0xec,0x48,0x50,0x60,0x50,0x48,0xec,
+};
+
+static const BitmapCharRec ch75 = {6,7,0,0,7,ch75data};
+
+/* char: 0x4a 'J' */
+
+static const GLubyte ch74data[] = {
+0xc0,0xa0,0x20,0x20,0x20,0x20,0x70,
+};
+
+static const BitmapCharRec ch74 = {4,7,0,0,4,ch74data};
+
+/* char: 0x49 'I' */
+
+static const GLubyte ch73data[] = {
+0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,
+};
+
+static const BitmapCharRec ch73 = {3,7,0,0,4,ch73data};
+
+/* char: 0x48 'H' */
+
+static const GLubyte ch72data[] = {
+0xee,0x44,0x44,0x7c,0x44,0x44,0xee,
+};
+
+static const BitmapCharRec ch72 = {7,7,0,0,8,ch72data};
+
+/* char: 0x47 'G' */
+
+static const GLubyte ch71data[] = {
+0x78,0xc4,0x84,0x9c,0x80,0xc4,0x7c,
+};
+
+static const BitmapCharRec ch71 = {6,7,0,0,7,ch71data};
+
+/* char: 0x46 'F' */
+
+static const GLubyte ch70data[] = {
+0xe0,0x40,0x40,0x70,0x40,0x48,0xf8,
+};
+
+static const BitmapCharRec ch70 = {5,7,0,0,6,ch70data};
+
+/* char: 0x45 'E' */
+
+static const GLubyte ch69data[] = {
+0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,
+};
+
+static const BitmapCharRec ch69 = {5,7,0,0,6,ch69data};
+
+/* char: 0x44 'D' */
+
+static const GLubyte ch68data[] = {
+0xf8,0x4c,0x44,0x44,0x44,0x4c,0xf8,
+};
+
+static const BitmapCharRec ch68 = {6,7,0,0,7,ch68data};
+
+/* char: 0x43 'C' */
+
+static const GLubyte ch67data[] = {
+0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c,
+};
+
+static const BitmapCharRec ch67 = {6,7,0,0,7,ch67data};
+
+/* char: 0x42 'B' */
+
+static const GLubyte ch66data[] = {
+0xf0,0x48,0x48,0x70,0x48,0x48,0xf0,
+};
+
+static const BitmapCharRec ch66 = {5,7,0,0,6,ch66data};
+
+/* char: 0x41 'A' */
+
+static const GLubyte ch65data[] = {
+0xee,0x44,0x7c,0x28,0x28,0x38,0x10,
+};
+
+static const BitmapCharRec ch65 = {7,7,0,0,8,ch65data};
+
+/* char: 0x40 '@' */
+
+static const GLubyte ch64data[] = {
+0x3e,0x40,0x92,0xad,0xa5,0xa5,0x9d,0x42,0x3c,
+};
+
+static const BitmapCharRec ch64 = {8,9,0,2,9,ch64data};
+
+/* char: 0x3f '?' */
+
+static const GLubyte ch63data[] = {
+0x40,0x0,0x40,0x40,0x20,0xa0,0xe0,
+};
+
+static const BitmapCharRec ch63 = {3,7,0,0,4,ch63data};
+
+/* char: 0x3e '>' */
+
+static const GLubyte ch62data[] = {
+0x80,0x40,0x20,0x40,0x80,
+};
+
+static const BitmapCharRec ch62 = {3,5,0,0,5,ch62data};
+
+/* char: 0x3d '=' */
+
+static const GLubyte ch61data[] = {
+0xf8,0x0,0xf8,
+};
+
+static const BitmapCharRec ch61 = {5,3,0,-1,6,ch61data};
+
+/* char: 0x3c '<' */
+
+static const GLubyte ch60data[] = {
+0x20,0x40,0x80,0x40,0x20,
+};
+
+static const BitmapCharRec ch60 = {3,5,-1,0,5,ch60data};
+
+/* char: 0x3b ';' */
+
+static const GLubyte ch59data[] = {
+0x80,0x80,0x80,0x0,0x0,0x0,0x80,
+};
+
+static const BitmapCharRec ch59 = {1,7,-1,2,3,ch59data};
+
+/* char: 0x3a ':' */
+
+static const GLubyte ch58data[] = {
+0x80,0x0,0x0,0x0,0x80,
+};
+
+static const BitmapCharRec ch58 = {1,5,-1,0,3,ch58data};
+
+/* char: 0x39 '9' */
+
+static const GLubyte ch57data[] = {
+0xc0,0x20,0x70,0x90,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch57 = {4,7,0,0,5,ch57data};
+
+/* char: 0x38 '8' */
+
+static const GLubyte ch56data[] = {
+0x60,0x90,0x90,0x60,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch56 = {4,7,0,0,5,ch56data};
+
+/* char: 0x37 '7' */
+
+static const GLubyte ch55data[] = {
+0x40,0x40,0x40,0x20,0x20,0x90,0xf0,
+};
+
+static const BitmapCharRec ch55 = {4,7,0,0,5,ch55data};
+
+/* char: 0x36 '6' */
+
+static const GLubyte ch54data[] = {
+0x60,0x90,0x90,0x90,0xe0,0x40,0x30,
+};
+
+static const BitmapCharRec ch54 = {4,7,0,0,5,ch54data};
+
+/* char: 0x35 '5' */
+
+static const GLubyte ch53data[] = {
+0xe0,0x90,0x10,0x10,0xe0,0x40,0x70,
+};
+
+static const BitmapCharRec ch53 = {4,7,0,0,5,ch53data};
+
+/* char: 0x34 '4' */
+
+static const GLubyte ch52data[] = {
+0x10,0x10,0xf8,0x90,0x50,0x30,0x10,
+};
+
+static const BitmapCharRec ch52 = {5,7,0,0,5,ch52data};
+
+/* char: 0x33 '3' */
+
+static const GLubyte ch51data[] = {
+0xe0,0x10,0x10,0x60,0x10,0x90,0x60,
+};
+
+static const BitmapCharRec ch51 = {4,7,0,0,5,ch51data};
+
+/* char: 0x32 '2' */
+
+static const GLubyte ch50data[] = {
+0xf0,0x40,0x20,0x20,0x10,0x90,0x60,
+};
+
+static const BitmapCharRec ch50 = {4,7,0,0,5,ch50data};
+
+/* char: 0x31 '1' */
+
+static const GLubyte ch49data[] = {
+0xe0,0x40,0x40,0x40,0x40,0xc0,0x40,
+};
+
+static const BitmapCharRec ch49 = {3,7,-1,0,5,ch49data};
+
+/* char: 0x30 '0' */
+
+static const GLubyte ch48data[] = {
+0x60,0x90,0x90,0x90,0x90,0x90,0x60,
+};
+
+static const BitmapCharRec ch48 = {4,7,0,0,5,ch48data};
+
+/* char: 0x2f '/' */
+
+static const GLubyte ch47data[] = {
+0x80,0x80,0x40,0x40,0x40,0x20,0x20,
+};
+
+static const BitmapCharRec ch47 = {3,7,0,0,3,ch47data};
+
+/* char: 0x2e '.' */
+
+static const GLubyte ch46data[] = {
+0x80,
+};
+
+static const BitmapCharRec ch46 = {1,1,-1,0,3,ch46data};
+
+/* char: 0x2d '-' */
+
+static const GLubyte ch45data[] = {
+0xf0,
+};
+
+static const BitmapCharRec ch45 = {4,1,-1,-2,7,ch45data};
+
+/* char: 0x2c ',' */
+
+static const GLubyte ch44data[] = {
+0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch44 = {1,3,-1,2,3,ch44data};
+
+/* char: 0x2b '+' */
+
+static const GLubyte ch43data[] = {
+0x20,0x20,0xf8,0x20,0x20,
+};
+
+static const BitmapCharRec ch43 = {5,5,0,0,6,ch43data};
+
+/* char: 0x2a '*' */
+
+static const GLubyte ch42data[] = {
+0xa0,0x40,0xa0,
+};
+
+static const BitmapCharRec ch42 = {3,3,0,-4,5,ch42data};
+
+/* char: 0x29 ')' */
+
+static const GLubyte ch41data[] = {
+0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80,
+};
+
+static const BitmapCharRec ch41 = {3,9,0,2,4,ch41data};
+
+/* char: 0x28 '(' */
+
+static const GLubyte ch40data[] = {
+0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,
+};
+
+static const BitmapCharRec ch40 = {3,9,0,2,4,ch40data};
+
+/* char: 0x27 ''' */
+
+static const GLubyte ch39data[] = {
+0x40,0xc0,
+};
+
+static const BitmapCharRec ch39 = {2,2,0,-5,3,ch39data};
+
+/* char: 0x26 '&' */
+
+static const GLubyte ch38data[] = {
+0x76,0x8d,0x98,0x74,0x6e,0x50,0x30,
+};
+
+static const BitmapCharRec ch38 = {8,7,0,0,8,ch38data};
+
+/* char: 0x25 '%' */
+
+static const GLubyte ch37data[] = {
+0x44,0x2a,0x2a,0x56,0xa8,0xa4,0x7e,
+};
+
+static const BitmapCharRec ch37 = {7,7,0,0,8,ch37data};
+
+/* char: 0x24 '$' */
+
+static const GLubyte ch36data[] = {
+0x20,0xe0,0x90,0x10,0x60,0x80,0x90,0x70,0x20,
+};
+
+static const BitmapCharRec ch36 = {4,9,0,1,5,ch36data};
+
+/* char: 0x23 '#' */
+
+static const GLubyte ch35data[] = {
+0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,
+};
+
+static const BitmapCharRec ch35 = {5,7,0,0,5,ch35data};
+
+/* char: 0x22 '"' */
+
+static const GLubyte ch34data[] = {
+0xa0,0xa0,
+};
+
+static const BitmapCharRec ch34 = {3,2,0,-5,4,ch34data};
+
+/* char: 0x21 '!' */
+
+static const GLubyte ch33data[] = {
+0x80,0x0,0x80,0x80,0x80,0x80,0x80,
+};
+
+static const BitmapCharRec ch33 = {1,7,-1,0,3,ch33data};
+
+/* char: 0x20 ' ' */
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch32data[] = { 0x0 };
+static const BitmapCharRec ch32 = {1,1,0,0,2,ch32data};
+#else
+static const BitmapCharRec ch32 = {0,0,0,0,2,0};
+#endif
+
+static const BitmapCharRec * const chars[] = {
+&ch32,
+&ch33,
+&ch34,
+&ch35,
+&ch36,
+&ch37,
+&ch38,
+&ch39,
+&ch40,
+&ch41,
+&ch42,
+&ch43,
+&ch44,
+&ch45,
+&ch46,
+&ch47,
+&ch48,
+&ch49,
+&ch50,
+&ch51,
+&ch52,
+&ch53,
+&ch54,
+&ch55,
+&ch56,
+&ch57,
+&ch58,
+&ch59,
+&ch60,
+&ch61,
+&ch62,
+&ch63,
+&ch64,
+&ch65,
+&ch66,
+&ch67,
+&ch68,
+&ch69,
+&ch70,
+&ch71,
+&ch72,
+&ch73,
+&ch74,
+&ch75,
+&ch76,
+&ch77,
+&ch78,
+&ch79,
+&ch80,
+&ch81,
+&ch82,
+&ch83,
+&ch84,
+&ch85,
+&ch86,
+&ch87,
+&ch88,
+&ch89,
+&ch90,
+&ch91,
+&ch92,
+&ch93,
+&ch94,
+&ch95,
+&ch96,
+&ch97,
+&ch98,
+&ch99,
+&ch100,
+&ch101,
+&ch102,
+&ch103,
+&ch104,
+&ch105,
+&ch106,
+&ch107,
+&ch108,
+&ch109,
+&ch110,
+&ch111,
+&ch112,
+&ch113,
+&ch114,
+&ch115,
+&ch116,
+&ch117,
+&ch118,
+&ch119,
+&ch120,
+&ch121,
+&ch122,
+&ch123,
+&ch124,
+&ch125,
+&ch126,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+&ch160,
+&ch161,
+&ch162,
+&ch163,
+&ch164,
+&ch165,
+&ch166,
+&ch167,
+&ch168,
+&ch169,
+&ch170,
+&ch171,
+&ch172,
+&ch173,
+&ch174,
+&ch175,
+&ch176,
+&ch177,
+&ch178,
+&ch179,
+&ch180,
+&ch181,
+&ch182,
+&ch183,
+&ch184,
+&ch185,
+&ch186,
+&ch187,
+&ch188,
+&ch189,
+&ch190,
+&ch191,
+&ch192,
+&ch193,
+&ch194,
+&ch195,
+&ch196,
+&ch197,
+&ch198,
+&ch199,
+&ch200,
+&ch201,
+&ch202,
+&ch203,
+&ch204,
+&ch205,
+&ch206,
+&ch207,
+&ch208,
+&ch209,
+&ch210,
+&ch211,
+&ch212,
+&ch213,
+&ch214,
+&ch215,
+&ch216,
+&ch217,
+&ch218,
+&ch219,
+&ch220,
+&ch221,
+&ch222,
+&ch223,
+&ch224,
+&ch225,
+&ch226,
+&ch227,
+&ch228,
+&ch229,
+&ch230,
+&ch231,
+&ch232,
+&ch233,
+&ch234,
+&ch235,
+&ch236,
+&ch237,
+&ch238,
+&ch239,
+&ch240,
+&ch241,
+&ch242,
+&ch243,
+&ch244,
+&ch245,
+&ch246,
+&ch247,
+&ch248,
+&ch249,
+&ch250,
+&ch251,
+&ch252,
+&ch253,
+&ch254,
+&ch255,
+};
+
+// jeh: removed const so mwld can export structure to shared lib
+BitmapFontRec glutBitmapTimesRoman10 = {
+"-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1",
+224,
+32,
+chars
+};
+
diff --git a/src/glut/beos/glut_tr24.cpp b/src/glut/beos/glut_tr24.cpp
new file mode 100644 (file)
index 0000000..5ae5d41
--- /dev/null
@@ -0,0 +1,2059 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "glutbitmap.h"
+
+/* char: 0xff */
+
+static const GLubyte ch255data[] = {
+0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
+0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
+0xf1,0xe0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
+};
+
+static const BitmapCharRec ch255 = {11,21,0,5,11,ch255data};
+
+/* char: 0xfe */
+
+static const GLubyte ch254data[] = {
+0xf0,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x6e,0x0,0x73,0x80,0x61,0x80,
+0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x61,0x80,0x73,0x80,
+0x6e,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0xe0,0x0,
+};
+
+static const BitmapCharRec ch254 = {10,22,-1,5,12,ch254data};
+
+/* char: 0xfd */
+
+static const GLubyte ch253data[] = {
+0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
+0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
+0xf1,0xe0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,0x1,0x80,
+};
+
+static const BitmapCharRec ch253 = {11,22,0,5,11,ch253data};
+
+/* char: 0xfc */
+
+static const GLubyte ch252data[] = {
+0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
+};
+
+static const BitmapCharRec ch252 = {11,16,-1,0,13,ch252data};
+
+/* char: 0xfb */
+
+static const GLubyte ch251data[] = {
+0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
+0xc,0x0,
+};
+
+static const BitmapCharRec ch251 = {11,17,-1,0,13,ch251data};
+
+/* char: 0xfa */
+
+static const GLubyte ch250data[] = {
+0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,
+0x1,0x80,
+};
+
+static const BitmapCharRec ch250 = {11,17,-1,0,13,ch250data};
+
+/* char: 0xf9 */
+
+static const GLubyte ch249data[] = {
+0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,0x0,0x0,0x2,0x0,0xc,0x0,0x38,0x0,
+0x30,0x0,
+};
+
+static const BitmapCharRec ch249 = {11,17,-1,0,13,ch249data};
+
+/* char: 0xf8 */
+
+static const GLubyte ch248data[] = {
+0xc0,0x0,0xde,0x0,0x73,0x80,0x71,0x80,0xd0,0xc0,0xd8,0xc0,0xc8,0xc0,0xcc,0xc0,
+0xc4,0xc0,0xc6,0xc0,0x63,0x80,0x73,0x80,0x1e,0xc0,0x0,0xc0,
+};
+
+static const BitmapCharRec ch248 = {10,14,-1,1,12,ch248data};
+
+/* char: 0xf7 */
+
+static const GLubyte ch247data[] = {
+0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,
+0x6,0x0,0x6,0x0,
+};
+
+static const BitmapCharRec ch247 = {12,10,-1,-2,14,ch247data};
+
+/* char: 0xf6 */
+
+static const GLubyte ch246data[] = {
+0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
+};
+
+static const BitmapCharRec ch246 = {10,16,-1,0,12,ch246data};
+
+/* char: 0xf5 */
+
+static const GLubyte ch245data[] = {
+0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x1c,0x80,
+};
+
+static const BitmapCharRec ch245 = {10,16,-1,0,12,ch245data};
+
+/* char: 0xf4 */
+
+static const GLubyte ch244data[] = {
+0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
+0xc,0x0,
+};
+
+static const BitmapCharRec ch244 = {10,17,-1,0,12,ch244data};
+
+/* char: 0xf3 */
+
+static const GLubyte ch243data[] = {
+0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x8,0x0,0x6,0x0,0x3,0x80,
+0x1,0x80,
+};
+
+static const BitmapCharRec ch243 = {10,17,-1,0,12,ch243data};
+
+/* char: 0xf2 */
+
+static const GLubyte ch242data[] = {
+0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,0x0,0x0,0x2,0x0,0xc,0x0,0x38,0x0,
+0x30,0x0,
+};
+
+static const BitmapCharRec ch242 = {10,17,-1,0,12,ch242data};
+
+/* char: 0xf1 */
+
+static const GLubyte ch241data[] = {
+0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0x60,0xc0,0x71,0xc0,0x6f,0x80,0xe7,0x0,0x0,0x0,0x0,0x0,0x27,0x0,0x1c,0x80,
+};
+
+static const BitmapCharRec ch241 = {11,16,-1,0,13,ch241data};
+
+/* char: 0xf0 */
+
+static const GLubyte ch240data[] = {
+0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,0xc0,0x61,0x80,0x73,0x80,0x1f,0x0,0xc6,0x0,0x3c,0x0,0x1e,0x0,0x71,0x80,
+0xc0,0x0,
+};
+
+static const BitmapCharRec ch240 = {10,17,-1,0,12,ch240data};
+
+/* char: 0xef */
+
+static const GLubyte ch239data[] = {
+0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x0,0xcc,0xcc,
+};
+
+static const BitmapCharRec ch239 = {6,16,0,0,6,ch239data};
+
+/* char: 0xee */
+
+static const GLubyte ch238data[] = {
+0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x84,0x48,0x78,
+0x30,
+};
+
+static const BitmapCharRec ch238 = {6,17,0,0,6,ch238data};
+
+/* char: 0xed */
+
+static const GLubyte ch237data[] = {
+0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x80,0x60,0x38,
+0x18,
+};
+
+static const BitmapCharRec ch237 = {5,17,-1,0,6,ch237data};
+
+/* char: 0xec */
+
+static const GLubyte ch236data[] = {
+0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x8,0x30,0xe0,
+0xc0,
+};
+
+static const BitmapCharRec ch236 = {5,17,0,0,6,ch236data};
+
+/* char: 0xeb */
+
+static const GLubyte ch235data[] = {
+0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
+0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x33,0x0,0x33,0x0,
+};
+
+static const BitmapCharRec ch235 = {9,16,-1,0,11,ch235data};
+
+/* char: 0xea */
+
+static const GLubyte ch234data[] = {
+0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
+0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x21,0x0,0x12,0x0,0x1e,0x0,
+0xc,0x0,
+};
+
+static const BitmapCharRec ch234 = {9,17,-1,0,11,ch234data};
+
+/* char: 0xe9 */
+
+static const GLubyte ch233data[] = {
+0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
+0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x10,0x0,0xc,0x0,0x7,0x0,
+0x3,0x0,
+};
+
+static const BitmapCharRec ch233 = {9,17,-1,0,11,ch233data};
+
+/* char: 0xe8 */
+
+static const GLubyte ch232data[] = {
+0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
+0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,0x0,0x0,0x4,0x0,0x18,0x0,0x70,0x0,
+0x60,0x0,
+};
+
+static const BitmapCharRec ch232 = {9,17,-1,0,11,ch232data};
+
+/* char: 0xe7 */
+
+static const GLubyte ch231data[] = {
+0x3c,0x0,0x66,0x0,0x6,0x0,0x1e,0x0,0x18,0x0,0x8,0x0,0x1e,0x0,0x7f,0x0,
+0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x41,0x80,
+0x63,0x80,0x1f,0x0,
+};
+
+static const BitmapCharRec ch231 = {9,18,-1,6,11,ch231data};
+
+/* char: 0xe6 */
+
+static const GLubyte ch230data[] = {
+0x70,0xf0,0xfb,0xf8,0xc7,0x84,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0xfc,
+0x3,0xc,0x63,0xc,0x67,0x98,0x3c,0xf0,
+};
+
+static const BitmapCharRec ch230 = {14,12,-1,0,16,ch230data};
+
+/* char: 0xe5 */
+
+static const GLubyte ch229data[] = {
+0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
+0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x22,0x0,
+0x1c,0x0,
+};
+
+static const BitmapCharRec ch229 = {9,17,-1,0,11,ch229data};
+
+/* char: 0xe4 */
+
+static const GLubyte ch228data[] = {
+0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
+0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x66,0x0,0x66,0x0,
+};
+
+static const BitmapCharRec ch228 = {9,16,-1,0,11,ch228data};
+
+/* char: 0xe3 */
+
+static const GLubyte ch227data[] = {
+0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
+0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x5c,0x0,0x3a,0x0,
+};
+
+static const BitmapCharRec ch227 = {9,16,-1,0,11,ch227data};
+
+/* char: 0xe2 */
+
+static const GLubyte ch226data[] = {
+0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
+0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x42,0x0,0x24,0x0,0x3c,0x0,
+0x18,0x0,
+};
+
+static const BitmapCharRec ch226 = {9,17,-1,0,11,ch226data};
+
+/* char: 0xe1 */
+
+static const GLubyte ch225data[] = {
+0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
+0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x10,0x0,0xc,0x0,0x7,0x0,
+0x3,0x0,
+};
+
+static const BitmapCharRec ch225 = {9,17,-1,0,11,ch225data};
+
+/* char: 0xe0 */
+
+static const GLubyte ch224data[] = {
+0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
+0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,0x0,0x0,0x4,0x0,0x18,0x0,0x70,0x0,
+0x60,0x0,
+};
+
+static const BitmapCharRec ch224 = {9,17,-1,0,11,ch224data};
+
+/* char: 0xdf */
+
+static const GLubyte ch223data[] = {
+0xe7,0x0,0x6c,0x80,0x6c,0xc0,0x60,0xc0,0x60,0xc0,0x61,0xc0,0x61,0x80,0x63,0x80,
+0x67,0x0,0x6c,0x0,0x63,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
+0x1e,0x0,
+};
+
+static const BitmapCharRec ch223 = {10,17,-1,0,12,ch223data};
+
+/* char: 0xde */
+
+static const GLubyte ch222data[] = {
+0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x18,
+0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,0x3f,0xc0,0x30,0x0,0x30,0x0,0x30,0x0,
+0xfc,0x0,
+};
+
+static const BitmapCharRec ch222 = {13,17,-1,0,15,ch222data};
+
+/* char: 0xdd */
+
+static const GLubyte ch221data[] = {
+0x7,0xe0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0xc0,
+0x3,0x40,0x6,0x60,0x6,0x20,0xc,0x30,0x1c,0x10,0x18,0x18,0x38,0x8,0x30,0xc,
+0xfc,0x3f,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
+};
+
+static const BitmapCharRec ch221 = {16,22,0,0,16,ch221data};
+
+/* char: 0xdc */
+
+static const GLubyte ch220data[] = {
+0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
+0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
+0xfc,0x1f,0x0,0x0,0x0,0x0,0x6,0x30,0x6,0x30,
+};
+
+static const BitmapCharRec ch220 = {16,21,-1,0,18,ch220data};
+
+/* char: 0xdb */
+
+static const GLubyte ch219data[] = {
+0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
+0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
+0xfc,0x1f,0x0,0x0,0x8,0x10,0x6,0x60,0x3,0xc0,0x1,0x80,
+};
+
+static const BitmapCharRec ch219 = {16,22,-1,0,18,ch219data};
+
+/* char: 0xda */
+
+static const GLubyte ch218data[] = {
+0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
+0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
+0xfc,0x1f,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
+};
+
+static const BitmapCharRec ch218 = {16,22,-1,0,18,ch218data};
+
+/* char: 0xd9 */
+
+static const GLubyte ch217data[] = {
+0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
+0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
+0xfc,0x1f,0x0,0x0,0x0,0x40,0x1,0x80,0x7,0x0,0x6,0x0,
+};
+
+static const BitmapCharRec ch217 = {16,22,-1,0,18,ch217data};
+
+/* char: 0xd8 */
+
+static const GLubyte ch216data[] = {
+0x20,0x0,0x27,0xe0,0x1c,0x38,0x38,0x1c,0x68,0x6,0x64,0x6,0xc2,0x3,0xc2,0x3,
+0xc1,0x3,0xc1,0x3,0xc0,0x83,0xc0,0x83,0xc0,0x43,0x60,0x46,0x60,0x26,0x38,0x1c,
+0x1c,0x38,0x7,0xe4,0x0,0x4,
+};
+
+static const BitmapCharRec ch216 = {16,19,-1,1,18,ch216data};
+
+/* char: 0xd7 */
+
+static const GLubyte ch215data[] = {
+0x80,0x40,0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,
+0x61,0x80,0xc0,0xc0,0x80,0x40,
+};
+
+static const BitmapCharRec ch215 = {10,11,-2,-1,14,ch215data};
+
+/* char: 0xd6 */
+
+static const GLubyte ch214data[] = {
+0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
+0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
+0x7,0xe0,0x0,0x0,0x0,0x0,0x6,0x60,0x6,0x60,
+};
+
+static const BitmapCharRec ch214 = {16,21,-1,0,18,ch214data};
+
+/* char: 0xd5 */
+
+static const GLubyte ch213data[] = {
+0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
+0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
+0x7,0xe0,0x0,0x0,0x0,0x0,0x4,0xe0,0x3,0x90,
+};
+
+static const BitmapCharRec ch213 = {16,21,-1,0,18,ch213data};
+
+/* char: 0xd4 */
+
+static const GLubyte ch212data[] = {
+0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
+0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
+0x7,0xe0,0x0,0x0,0x8,0x10,0x6,0x60,0x3,0xc0,0x1,0x80,
+};
+
+static const BitmapCharRec ch212 = {16,22,-1,0,18,ch212data};
+
+/* char: 0xd3 */
+
+static const GLubyte ch211data[] = {
+0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
+0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
+0x7,0xe0,0x0,0x0,0x1,0x0,0x0,0xc0,0x0,0x70,0x0,0x30,
+};
+
+static const BitmapCharRec ch211 = {16,22,-1,0,18,ch211data};
+
+/* char: 0xd2 */
+
+static const GLubyte ch210data[] = {
+0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
+0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
+0x7,0xe0,0x0,0x0,0x0,0x40,0x1,0x80,0x7,0x0,0x6,0x0,
+};
+
+static const BitmapCharRec ch210 = {16,22,-1,0,18,ch210data};
+
+/* char: 0xd1 */
+
+static const GLubyte ch209data[] = {
+0xf8,0xc,0x20,0x1c,0x20,0x1c,0x20,0x34,0x20,0x64,0x20,0x64,0x20,0xc4,0x21,0x84,
+0x21,0x84,0x23,0x4,0x26,0x4,0x26,0x4,0x2c,0x4,0x38,0x4,0x38,0x4,0x30,0x4,
+0xf0,0x1f,0x0,0x0,0x0,0x0,0x4,0xe0,0x3,0x90,
+};
+
+static const BitmapCharRec ch209 = {16,21,-1,0,18,ch209data};
+
+/* char: 0xd0 */
+
+static const GLubyte ch208data[] = {
+0x7f,0xe0,0x18,0x38,0x18,0x1c,0x18,0x6,0x18,0x6,0x18,0x3,0x18,0x3,0x18,0x3,
+0xff,0x3,0x18,0x3,0x18,0x3,0x18,0x3,0x18,0x6,0x18,0x6,0x18,0x1c,0x18,0x38,
+0x7f,0xe0,
+};
+
+static const BitmapCharRec ch208 = {16,17,0,0,17,ch208data};
+
+/* char: 0xcf */
+
+static const GLubyte ch207data[] = {
+0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+0xfc,0x0,0x0,0xcc,0xcc,
+};
+
+static const BitmapCharRec ch207 = {6,21,-1,0,8,ch207data};
+
+/* char: 0xce */
+
+static const GLubyte ch206data[] = {
+0x7e,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+0x7e,0x0,0x81,0x66,0x3c,0x18,
+};
+
+static const BitmapCharRec ch206 = {8,22,-1,0,8,ch206data};
+
+/* char: 0xcd */
+
+static const GLubyte ch205data[] = {
+0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+0xfc,0x0,0x40,0x30,0x1c,0xc,
+};
+
+static const BitmapCharRec ch205 = {6,22,-1,0,8,ch205data};
+
+/* char: 0xcc */
+
+static const GLubyte ch204data[] = {
+0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+0xfc,0x0,0x8,0x30,0xe0,0xc0,
+};
+
+static const BitmapCharRec ch204 = {6,22,-1,0,8,ch204data};
+
+/* char: 0xcb */
+
+static const GLubyte ch203data[] = {
+0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
+0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
+0xff,0xf0,0x0,0x0,0x0,0x0,0x19,0x80,0x19,0x80,
+};
+
+static const BitmapCharRec ch203 = {13,21,-1,0,15,ch203data};
+
+/* char: 0xca */
+
+static const GLubyte ch202data[] = {
+0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
+0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
+0xff,0xf0,0x0,0x0,0x10,0x20,0xc,0xc0,0x7,0x80,0x3,0x0,
+};
+
+static const BitmapCharRec ch202 = {13,22,-1,0,15,ch202data};
+
+/* char: 0xc9 */
+
+static const GLubyte ch201data[] = {
+0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
+0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
+0xff,0xf0,0x0,0x0,0x4,0x0,0x3,0x0,0x1,0xc0,0x0,0xc0,
+};
+
+static const BitmapCharRec ch201 = {13,22,-1,0,15,ch201data};
+
+/* char: 0xc8 */
+
+static const GLubyte ch200data[] = {
+0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
+0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
+0xff,0xf0,0x0,0x0,0x1,0x0,0x6,0x0,0x1c,0x0,0x18,0x0,
+};
+
+static const BitmapCharRec ch200 = {13,22,-1,0,15,ch200data};
+
+/* char: 0xc7 */
+
+static const GLubyte ch199data[] = {
+0x7,0x80,0xc,0xc0,0x0,0xc0,0x3,0xc0,0x3,0x0,0x1,0x0,0x7,0xe0,0x1e,0x38,
+0x38,0x8,0x60,0x4,0x60,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
+0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,0x7,0xe4,
+};
+
+static const BitmapCharRec ch199 = {14,23,-1,6,16,ch199data};
+
+/* char: 0xc6 */
+
+static const GLubyte ch198data[] = {
+0xf9,0xff,0xf0,0x30,0x60,0x30,0x10,0x60,0x10,0x10,0x60,0x10,0x18,0x60,0x0,0x8,
+0x60,0x0,0xf,0xe0,0x80,0xc,0x60,0x80,0x4,0x7f,0x80,0x4,0x60,0x80,0x6,0x60,
+0x80,0x2,0x60,0x0,0x2,0x60,0x0,0x1,0x60,0x20,0x1,0x60,0x20,0x1,0xe0,0x60,
+0x3,0xff,0xe0,
+};
+
+static const BitmapCharRec ch198 = {20,17,0,0,21,ch198data};
+
+/* char: 0xc5 */
+
+static const GLubyte ch197data[] = {
+0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
+0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
+0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
+0x0,0x80,0x0,0x1,0xc0,0x0,0x2,0x20,0x0,0x2,0x20,0x0,0x1,0xc0,0x0,
+};
+
+static const BitmapCharRec ch197 = {17,21,0,0,17,ch197data};
+
+/* char: 0xc4 */
+
+static const GLubyte ch196data[] = {
+0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
+0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
+0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
+0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x30,0x0,0x6,0x30,0x0,
+};
+
+static const BitmapCharRec ch196 = {17,21,0,0,17,ch196data};
+
+/* char: 0xc3 */
+
+static const GLubyte ch195data[] = {
+0xfc,0x1f,0x80,0x30,0x7,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
+0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
+0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
+0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0xe0,0x0,0x3,0x90,0x0,
+};
+
+static const BitmapCharRec ch195 = {17,21,0,0,17,ch195data};
+
+/* char: 0xc2 */
+
+static const GLubyte ch194data[] = {
+0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
+0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
+0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
+0x0,0x80,0x0,0x0,0x0,0x0,0x8,0x10,0x0,0x6,0x60,0x0,0x3,0xc0,0x0,0x1,
+0x80,0x0,
+};
+
+static const BitmapCharRec ch194 = {17,22,0,0,17,ch194data};
+
+/* char: 0xc1 */
+
+static const GLubyte ch193data[] = {
+0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
+0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
+0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
+0x0,0x80,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xc0,0x0,0x0,0x70,0x0,0x0,
+0x30,0x0,
+};
+
+static const BitmapCharRec ch193 = {17,22,0,0,17,ch193data};
+
+/* char: 0xc0 */
+
+static const GLubyte ch192data[] = {
+0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
+0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
+0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
+0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0xc0,0x0,0x3,0x80,0x0,0x3,
+0x0,0x0,
+};
+
+static const BitmapCharRec ch192 = {17,22,0,0,17,ch192data};
+
+/* char: 0xbf */
+
+static const GLubyte ch191data[] = {
+0x3e,0x63,0xc1,0xc3,0xc3,0xe0,0x70,0x30,0x38,0x18,0x18,0x8,0x8,0x0,0x0,0xc,
+0xc,
+};
+
+static const BitmapCharRec ch191 = {8,17,-1,5,11,ch191data};
+
+/* char: 0xbe */
+
+static const GLubyte ch190data[] = {
+0x18,0x2,0x0,0x8,0x2,0x0,0xc,0x7f,0x80,0x4,0x22,0x0,0x6,0x32,0x0,0x3,
+0x12,0x0,0x1,0xa,0x0,0x71,0x8e,0x0,0x88,0x86,0x0,0x8c,0xc2,0x0,0xc,0x60,
+0x0,0x8,0x20,0x0,0x30,0x30,0x0,0x8,0x10,0x0,0x8c,0x18,0x0,0x4c,0xc,0x0,
+0x38,0x4,0x0,
+};
+
+static const BitmapCharRec ch190 = {17,17,0,0,18,ch190data};
+
+/* char: 0xbd */
+
+static const GLubyte ch189data[] = {
+0x30,0x7e,0x10,0x22,0x18,0x10,0x8,0x18,0xc,0x8,0x6,0x4,0x2,0x6,0xfb,0x46,
+0x21,0x26,0x21,0x9c,0x20,0xc0,0x20,0x40,0x20,0x60,0x20,0x20,0xa0,0x30,0x60,0x18,
+0x20,0x8,
+};
+
+static const BitmapCharRec ch189 = {15,17,-1,0,18,ch189data};
+
+/* char: 0xbc */
+
+static const GLubyte ch188data[] = {
+0x30,0x4,0x10,0x4,0x18,0xff,0x8,0x44,0xc,0x64,0x6,0x24,0x2,0x14,0xfb,0x1c,
+0x21,0xc,0x21,0x84,0x20,0xc0,0x20,0x40,0x20,0x60,0x20,0x20,0xa0,0x30,0x60,0x18,
+0x20,0x8,
+};
+
+static const BitmapCharRec ch188 = {16,17,-1,0,18,ch188data};
+
+/* char: 0xbb */
+
+static const GLubyte ch187data[] = {
+0x88,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,0x19,0x80,0x19,0x80,0x33,0x0,0x66,0x0,
+0xcc,0x0,0x88,0x0,
+};
+
+static const BitmapCharRec ch187 = {9,10,-2,-1,12,ch187data};
+
+/* char: 0xba */
+
+static const GLubyte ch186data[] = {
+0xfc,0x0,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,
+};
+
+static const BitmapCharRec ch186 = {6,9,-1,-8,8,ch186data};
+
+/* char: 0xb9 */
+
+static const GLubyte ch185data[] = {
+0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x60,0x20,
+};
+
+static const BitmapCharRec ch185 = {5,10,-1,-7,7,ch185data};
+
+/* char: 0xb8 */
+
+static const GLubyte ch184data[] = {
+0x78,0xcc,0xc,0x3c,0x30,0x10,
+};
+
+static const BitmapCharRec ch184 = {6,6,-1,6,8,ch184data};
+
+/* char: 0xb7 */
+
+static const GLubyte ch183data[] = {
+0xc0,0xc0,
+};
+
+static const BitmapCharRec ch183 = {2,2,-2,-6,6,ch183data};
+
+/* char: 0xb6 */
+
+static const GLubyte ch182data[] = {
+0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,0x9,0x0,
+0x9,0x0,0x9,0x0,0x9,0x0,0x19,0x0,0x39,0x0,0x79,0x0,0x79,0x0,0xf9,0x0,
+0xf9,0x0,0xf9,0x0,0x79,0x0,0x79,0x0,0x39,0x0,0x1f,0x80,
+};
+
+static const BitmapCharRec ch182 = {9,22,-1,5,11,ch182data};
+
+/* char: 0xb5 */
+
+static const GLubyte ch181data[] = {
+0x40,0x0,0xe0,0x0,0xc0,0x0,0x40,0x0,0x40,0x0,0x5c,0xe0,0x7e,0xc0,0x71,0xc0,
+0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0xe1,0xc0,
+};
+
+static const BitmapCharRec ch181 = {11,17,-1,5,13,ch181data};
+
+/* char: 0xb4 */
+
+static const GLubyte ch180data[] = {
+0x80,0x60,0x38,0x18,
+};
+
+static const BitmapCharRec ch180 = {5,4,-2,-13,8,ch180data};
+
+/* char: 0xb3 */
+
+static const GLubyte ch179data[] = {
+0x70,0x88,0x8c,0xc,0x8,0x30,0x8,0x8c,0x4c,0x38,
+};
+
+static const BitmapCharRec ch179 = {6,10,0,-7,7,ch179data};
+
+/* char: 0xb2 */
+
+static const GLubyte ch178data[] = {
+0xfc,0x44,0x20,0x30,0x10,0x8,0xc,0x8c,0x4c,0x38,
+};
+
+static const BitmapCharRec ch178 = {6,10,0,-7,7,ch178data};
+
+/* char: 0xb1 */
+
+static const GLubyte ch177data[] = {
+0xff,0xf0,0xff,0xf0,0x0,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
+0xff,0xf0,0xff,0xf0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
+};
+
+static const BitmapCharRec ch177 = {12,15,-1,0,14,ch177data};
+
+/* char: 0xb0 */
+
+static const GLubyte ch176data[] = {
+0x38,0x44,0x82,0x82,0x82,0x44,0x38,
+};
+
+static const BitmapCharRec ch176 = {7,7,-1,-10,9,ch176data};
+
+/* char: 0xaf */
+
+static const GLubyte ch175data[] = {
+0xfc,0xfc,
+};
+
+static const BitmapCharRec ch175 = {6,2,-1,-14,8,ch175data};
+
+/* char: 0xae */
+
+static const GLubyte ch174data[] = {
+0x7,0xf0,0x0,0x1c,0x1c,0x0,0x30,0x6,0x0,0x60,0x3,0x0,0x47,0x19,0x0,0xc2,
+0x31,0x80,0x82,0x20,0x80,0x82,0x40,0x80,0x83,0xe0,0x80,0x82,0x30,0x80,0x82,0x10,
+0x80,0xc2,0x11,0x80,0x42,0x31,0x0,0x67,0xe3,0x0,0x30,0x6,0x0,0x1c,0x1c,0x0,
+0x7,0xf0,0x0,
+};
+
+static const BitmapCharRec ch174 = {17,17,-1,0,19,ch174data};
+
+/* char: 0xad */
+
+static const GLubyte ch173data[] = {
+0xfe,0xfe,
+};
+
+static const BitmapCharRec ch173 = {7,2,-1,-5,9,ch173data};
+
+/* char: 0xac */
+
+static const GLubyte ch172data[] = {
+0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0xff,0xf0,0xff,0xf0,
+};
+
+static const BitmapCharRec ch172 = {12,7,-1,-3,14,ch172data};
+
+/* char: 0xab */
+
+static const GLubyte ch171data[] = {
+0x8,0x80,0x19,0x80,0x33,0x0,0x66,0x0,0xcc,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,
+0x19,0x80,0x8,0x80,
+};
+
+static const BitmapCharRec ch171 = {9,10,-2,-1,13,ch171data};
+
+/* char: 0xaa */
+
+static const GLubyte ch170data[] = {
+0x7e,0x0,0x76,0xcc,0xcc,0x7c,0xc,0xcc,0x78,
+};
+
+static const BitmapCharRec ch170 = {7,9,0,-8,8,ch170data};
+
+/* char: 0xa9 */
+
+static const GLubyte ch169data[] = {
+0x7,0xf0,0x0,0x1c,0x1c,0x0,0x30,0x6,0x0,0x61,0xc3,0x0,0x47,0x71,0x0,0xc4,
+0x19,0x80,0x8c,0x0,0x80,0x88,0x0,0x80,0x88,0x0,0x80,0x88,0x0,0x80,0x8c,0x0,
+0x80,0xc4,0x19,0x80,0x47,0x31,0x0,0x61,0xe3,0x0,0x30,0x6,0x0,0x1c,0x1c,0x0,
+0x7,0xf0,0x0,
+};
+
+static const BitmapCharRec ch169 = {17,17,-1,0,19,ch169data};
+
+/* char: 0xa8 */
+
+static const GLubyte ch168data[] = {
+0xcc,0xcc,
+};
+
+static const BitmapCharRec ch168 = {6,2,-1,-14,8,ch168data};
+
+/* char: 0xa7 */
+
+static const GLubyte ch167data[] = {
+0x38,0x64,0x62,0x6,0xe,0x1c,0x38,0x74,0xe2,0xc3,0x83,0x87,0x4e,0x3c,0x38,0x70,
+0x60,0x46,0x26,0x1c,
+};
+
+static const BitmapCharRec ch167 = {8,20,-2,2,12,ch167data};
+
+/* char: 0xa6 */
+
+static const GLubyte ch166data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,
+};
+
+static const BitmapCharRec ch166 = {2,17,-2,0,6,ch166data};
+
+/* char: 0xa5 */
+
+static const GLubyte ch165data[] = {
+0xf,0xc0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x1f,0xe0,0x3,0x0,0x1f,0xe0,
+0x3,0x0,0x7,0x80,0xc,0x80,0xc,0xc0,0x18,0x40,0x18,0x60,0x30,0x20,0x70,0x30,
+0xf8,0x7c,
+};
+
+static const BitmapCharRec ch165 = {14,17,0,0,14,ch165data};
+
+/* char: 0xa4 */
+
+static const GLubyte ch164data[] = {
+0xc0,0x60,0xee,0xe0,0x7f,0xc0,0x31,0x80,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0x31,0x80,0x7f,0xc0,0xee,0xe0,0xc0,0x60,
+};
+
+static const BitmapCharRec ch164 = {11,12,-1,-3,13,ch164data};
+
+/* char: 0xa3 */
+
+static const GLubyte ch163data[] = {
+0xe7,0x80,0xbe,0xc0,0x78,0x40,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
+0x30,0x0,0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x31,0x80,0x19,0x80,
+0xf,0x0,
+};
+
+static const BitmapCharRec ch163 = {10,17,-1,0,12,ch163data};
+
+/* char: 0xa2 */
+
+static const GLubyte ch162data[] = {
+0x40,0x0,0x40,0x0,0x3e,0x0,0x7f,0x0,0x70,0x80,0xd0,0x0,0xc8,0x0,0xc8,0x0,
+0xc8,0x0,0xc4,0x0,0xc4,0x0,0x43,0x80,0x63,0x80,0x1f,0x0,0x1,0x0,0x1,0x0,
+};
+
+static const BitmapCharRec ch162 = {9,16,-1,2,12,ch162data};
+
+/* char: 0xa1 */
+
+static const GLubyte ch161data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,
+0xc0,
+};
+
+static const BitmapCharRec ch161 = {2,17,-4,5,8,ch161data};
+
+/* char: 0xa0 */
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch160data[] = { 0x0 };
+static const BitmapCharRec ch160 = {1,1,0,0,6,ch160data};
+#else
+static const BitmapCharRec ch160 = {0,0,0,0,6,0};
+#endif
+
+/* char: 0x7e '~' */
+
+static const GLubyte ch126data[] = {
+0x83,0x80,0xc7,0xc0,0x7c,0x60,0x38,0x20,
+};
+
+static const BitmapCharRec ch126 = {11,4,-1,-5,13,ch126data};
+
+/* char: 0x7d '}' */
+
+static const GLubyte ch125data[] = {
+0xe0,0x30,0x18,0x18,0x18,0x18,0x18,0x18,0x8,0xc,0x4,0x3,0x4,0xc,0x8,0x18,
+0x18,0x18,0x18,0x18,0x30,0xe0,
+};
+
+static const BitmapCharRec ch125 = {8,22,-1,5,10,ch125data};
+
+/* char: 0x7c '|' */
+
+static const GLubyte ch124data[] = {
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,
+};
+
+static const BitmapCharRec ch124 = {2,17,-2,0,6,ch124data};
+
+/* char: 0x7b '{' */
+
+static const GLubyte ch123data[] = {
+0x7,0xc,0x18,0x18,0x18,0x18,0x18,0x18,0x10,0x30,0x20,0xc0,0x20,0x30,0x10,0x18,
+0x18,0x18,0x18,0x18,0xc,0x7,
+};
+
+static const BitmapCharRec ch123 = {8,22,-1,5,10,ch123data};
+
+/* char: 0x7a 'z' */
+
+static const GLubyte ch122data[] = {
+0xff,0xc3,0x61,0x70,0x30,0x38,0x18,0x1c,0xe,0x86,0xc3,0xff,
+};
+
+static const BitmapCharRec ch122 = {8,12,-1,0,10,ch122data};
+
+/* char: 0x79 'y' */
+
+static const GLubyte ch121data[] = {
+0xe0,0x0,0xf0,0x0,0x18,0x0,0x8,0x0,0xc,0x0,0x4,0x0,0xe,0x0,0xe,0x0,
+0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,0x30,0x80,0x60,0x80,0x60,0xc0,
+0xf1,0xe0,
+};
+
+static const BitmapCharRec ch121 = {11,17,0,5,11,ch121data};
+
+/* char: 0x78 'x' */
+
+static const GLubyte ch120data[] = {
+0xf1,0xe0,0x60,0xc0,0x21,0x80,0x33,0x80,0x1b,0x0,0xe,0x0,0xc,0x0,0x1a,0x0,
+0x39,0x0,0x31,0x80,0x60,0xc0,0xf1,0xe0,
+};
+
+static const BitmapCharRec ch120 = {11,12,-1,0,13,ch120data};
+
+/* char: 0x77 'w' */
+
+static const GLubyte ch119data[] = {
+0x4,0x10,0x0,0xe,0x38,0x0,0xe,0x38,0x0,0x1a,0x28,0x0,0x1a,0x64,0x0,0x19,
+0x64,0x0,0x31,0x64,0x0,0x30,0xc2,0x0,0x30,0xc2,0x0,0x60,0xc2,0x0,0x60,0xc3,
+0x0,0xf1,0xe7,0x80,
+};
+
+static const BitmapCharRec ch119 = {17,12,0,0,17,ch119data};
+
+/* char: 0x76 'v' */
+
+static const GLubyte ch118data[] = {
+0x4,0x0,0xe,0x0,0xe,0x0,0x1a,0x0,0x19,0x0,0x19,0x0,0x31,0x0,0x30,0x80,
+0x30,0x80,0x60,0x80,0x60,0xc0,0xf1,0xe0,
+};
+
+static const BitmapCharRec ch118 = {11,12,0,0,11,ch118data};
+
+/* char: 0x75 'u' */
+
+static const GLubyte ch117data[] = {
+0x1c,0xe0,0x3e,0xc0,0x71,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0x60,0xc0,0x60,0xc0,0x60,0xc0,0xe1,0xc0,
+};
+
+static const BitmapCharRec ch117 = {11,12,-1,0,13,ch117data};
+
+/* char: 0x74 't' */
+
+static const GLubyte ch116data[] = {
+0x1c,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x70,0x30,0x10,
+};
+
+static const BitmapCharRec ch116 = {7,15,0,0,7,ch116data};
+
+/* char: 0x73 's' */
+
+static const GLubyte ch115data[] = {
+0xf8,0xc6,0x83,0x3,0x7,0x1e,0x7c,0x70,0xe0,0xc2,0x66,0x3e,
+};
+
+static const BitmapCharRec ch115 = {8,12,-1,0,10,ch115data};
+
+/* char: 0x72 'r' */
+
+static const GLubyte ch114data[] = {
+0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x76,0x6e,0xe6,
+};
+
+static const BitmapCharRec ch114 = {7,12,-1,0,8,ch114data};
+
+/* char: 0x71 'q' */
+
+static const GLubyte ch113data[] = {
+0x3,0xc0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1d,0x80,0x73,0x80,0x61,0x80,
+0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x61,0x80,0x73,0x80,
+0x1d,0x80,
+};
+
+static const BitmapCharRec ch113 = {10,17,-1,5,12,ch113data};
+
+/* char: 0x70 'p' */
+
+static const GLubyte ch112data[] = {
+0xf0,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x6e,0x0,0x73,0x80,0x61,0x80,
+0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x61,0x80,0x73,0x80,
+0xee,0x0,
+};
+
+static const BitmapCharRec ch112 = {10,17,-1,5,12,ch112data};
+
+/* char: 0x6f 'o' */
+
+static const GLubyte ch111data[] = {
+0x1e,0x0,0x73,0x80,0x61,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,0xc0,0x61,0x80,0x73,0x80,0x1e,0x0,
+};
+
+static const BitmapCharRec ch111 = {10,12,-1,0,12,ch111data};
+
+/* char: 0x6e 'n' */
+
+static const GLubyte ch110data[] = {
+0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0x60,0xc0,0x71,0xc0,0x6f,0x80,0xe7,0x0,
+};
+
+static const BitmapCharRec ch110 = {11,12,-1,0,13,ch110data};
+
+/* char: 0x6d 'm' */
+
+static const GLubyte ch109data[] = {
+0xf1,0xe3,0xc0,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,
+0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x60,0xc1,0x80,0x71,0xe3,0x80,0x6f,0x9f,
+0x0,0xe7,0xe,0x0,
+};
+
+static const BitmapCharRec ch109 = {18,12,-1,0,20,ch109data};
+
+/* char: 0x6c 'l' */
+
+static const GLubyte ch108data[] = {
+0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
+0xe0,
+};
+
+static const BitmapCharRec ch108 = {4,17,-1,0,6,ch108data};
+
+/* char: 0x6b 'k' */
+
+static const GLubyte ch107data[] = {
+0xf3,0xe0,0x61,0xc0,0x63,0x80,0x67,0x0,0x6e,0x0,0x6c,0x0,0x78,0x0,0x68,0x0,
+0x64,0x0,0x66,0x0,0x63,0x0,0x67,0xc0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
+0xe0,0x0,
+};
+
+static const BitmapCharRec ch107 = {11,17,-1,0,12,ch107data};
+
+/* char: 0x6a 'j' */
+
+static const GLubyte ch106data[] = {
+0xc0,0xe0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+0x70,0x0,0x0,0x0,0x30,0x30,
+};
+
+static const BitmapCharRec ch106 = {4,22,0,5,6,ch106data};
+
+/* char: 0x69 'i' */
+
+static const GLubyte ch105data[] = {
+0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x0,0x0,0x60,
+0x60,
+};
+
+static const BitmapCharRec ch105 = {4,17,-1,0,6,ch105data};
+
+/* char: 0x68 'h' */
+
+static const GLubyte ch104data[] = {
+0xf1,0xe0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0x60,0xc0,0x71,0xc0,0x6f,0x80,0x67,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
+0xe0,0x0,
+};
+
+static const BitmapCharRec ch104 = {11,17,-1,0,13,ch104data};
+
+/* char: 0x67 'g' */
+
+static const GLubyte ch103data[] = {
+0x3f,0x0,0xf1,0xc0,0xc0,0x60,0xc0,0x20,0x60,0x60,0x3f,0xc0,0x7f,0x0,0x60,0x0,
+0x30,0x0,0x3e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
+0x1f,0xc0,
+};
+
+static const BitmapCharRec ch103 = {11,17,-1,5,12,ch103data};
+
+/* char: 0x66 'f' */
+
+static const GLubyte ch102data[] = {
+0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x30,0x30,0x30,0x16,
+0xe,
+};
+
+static const BitmapCharRec ch102 = {7,17,0,0,7,ch102data};
+
+/* char: 0x65 'e' */
+
+static const GLubyte ch101data[] = {
+0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xff,0x80,
+0xc1,0x80,0x41,0x80,0x63,0x0,0x1e,0x0,
+};
+
+static const BitmapCharRec ch101 = {9,12,-1,0,11,ch101data};
+
+/* char: 0x64 'd' */
+
+static const GLubyte ch100data[] = {
+0x1e,0xc0,0x73,0x80,0x61,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,
+0xc1,0x80,0x61,0x80,0x73,0x80,0x1d,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,
+0x3,0x80,
+};
+
+static const BitmapCharRec ch100 = {10,17,-1,0,12,ch100data};
+
+/* char: 0x63 'c' */
+
+static const GLubyte ch99data[] = {
+0x1e,0x0,0x7f,0x0,0x70,0x80,0xe0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
+0xc0,0x0,0x41,0x80,0x63,0x80,0x1f,0x0,
+};
+
+static const BitmapCharRec ch99 = {9,12,-1,0,11,ch99data};
+
+/* char: 0x62 'b' */
+
+static const GLubyte ch98data[] = {
+0x5e,0x0,0x73,0x80,0x61,0x80,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,0x60,0xc0,
+0x60,0xc0,0x61,0x80,0x73,0x80,0x6e,0x0,0x60,0x0,0x60,0x0,0x60,0x0,0x60,0x0,
+0xe0,0x0,
+};
+
+static const BitmapCharRec ch98 = {10,17,-1,0,12,ch98data};
+
+/* char: 0x61 'a' */
+
+static const GLubyte ch97data[] = {
+0x71,0x80,0xfb,0x0,0xc7,0x0,0xc3,0x0,0xc3,0x0,0x63,0x0,0x3b,0x0,0xf,0x0,
+0x3,0x0,0x63,0x0,0x67,0x0,0x3e,0x0,
+};
+
+static const BitmapCharRec ch97 = {9,12,-1,0,11,ch97data};
+
+/* char: 0x60 '`' */
+
+static const GLubyte ch96data[] = {
+0x60,0xe0,0x80,0xc0,0x60,
+};
+
+static const BitmapCharRec ch96 = {3,5,-2,-12,7,ch96data};
+
+/* char: 0x5f '_' */
+
+static const GLubyte ch95data[] = {
+0xff,0xf8,0xff,0xf8,
+};
+
+static const BitmapCharRec ch95 = {13,2,0,5,13,ch95data};
+
+/* char: 0x5e '^' */
+
+static const GLubyte ch94data[] = {
+0x80,0x80,0xc1,0x80,0x41,0x0,0x63,0x0,0x22,0x0,0x36,0x0,0x14,0x0,0x1c,0x0,
+0x8,0x0,
+};
+
+static const BitmapCharRec ch94 = {9,9,-1,-8,11,ch94data};
+
+/* char: 0x5d ']' */
+
+static const GLubyte ch93data[] = {
+0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+0x18,0x18,0x18,0x18,0xf8,
+};
+
+static const BitmapCharRec ch93 = {5,21,-1,4,8,ch93data};
+
+/* char: 0x5c '\' */
+
+static const GLubyte ch92data[] = {
+0x6,0x6,0x4,0xc,0xc,0x8,0x18,0x18,0x10,0x30,0x30,0x20,0x60,0x60,0x40,0xc0,
+0xc0,
+};
+
+static const BitmapCharRec ch92 = {7,17,0,0,7,ch92data};
+
+/* char: 0x5b '[' */
+
+static const GLubyte ch91data[] = {
+0xf8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,0xc0,0xc0,0xc0,0xf8,
+};
+
+static const BitmapCharRec ch91 = {5,21,-2,4,8,ch91data};
+
+/* char: 0x5a 'Z' */
+
+static const GLubyte ch90data[] = {
+0xff,0xf8,0xe0,0x18,0x70,0x8,0x30,0x8,0x38,0x0,0x18,0x0,0x1c,0x0,0xe,0x0,
+0x6,0x0,0x7,0x0,0x3,0x0,0x3,0x80,0x1,0xc0,0x80,0xc0,0x80,0xe0,0xc0,0x70,
+0xff,0xf0,
+};
+
+static const BitmapCharRec ch90 = {13,17,-1,0,15,ch90data};
+
+/* char: 0x59 'Y' */
+
+static const GLubyte ch89data[] = {
+0x7,0xe0,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0xc0,
+0x3,0x40,0x6,0x60,0x6,0x20,0xc,0x30,0x1c,0x10,0x18,0x18,0x38,0x8,0x30,0xc,
+0xfc,0x3f,
+};
+
+static const BitmapCharRec ch89 = {16,17,0,0,16,ch89data};
+
+/* char: 0x58 'X' */
+
+static const GLubyte ch88data[] = {
+0xfc,0xf,0xc0,0x30,0x3,0x80,0x18,0x7,0x0,0x8,0xe,0x0,0x4,0xc,0x0,0x6,
+0x18,0x0,0x2,0x38,0x0,0x1,0x70,0x0,0x0,0xe0,0x0,0x0,0xc0,0x0,0x1,0xc0,
+0x0,0x3,0xa0,0x0,0x3,0x10,0x0,0x6,0x8,0x0,0xe,0xc,0x0,0x1c,0x6,0x0,
+0x7e,0xf,0x80,
+};
+
+static const BitmapCharRec ch88 = {18,17,0,0,18,ch88data};
+
+/* char: 0x57 'W' */
+
+static const GLubyte ch87data[] = {
+0x1,0x83,0x0,0x1,0x83,0x0,0x1,0x83,0x80,0x3,0x87,0x80,0x3,0x46,0x80,0x3,
+0x46,0xc0,0x6,0x46,0x40,0x6,0x4c,0x40,0x6,0x4c,0x60,0xc,0x2c,0x60,0xc,0x2c,
+0x20,0x18,0x2c,0x20,0x18,0x18,0x30,0x18,0x18,0x10,0x30,0x18,0x10,0x30,0x18,0x18,
+0xfc,0x7e,0x7e,
+};
+
+static const BitmapCharRec ch87 = {23,17,0,0,23,ch87data};
+
+/* char: 0x56 'V' */
+
+static const GLubyte ch86data[] = {
+0x1,0x80,0x0,0x1,0x80,0x0,0x1,0x80,0x0,0x3,0xc0,0x0,0x3,0x40,0x0,0x3,
+0x60,0x0,0x6,0x20,0x0,0x6,0x20,0x0,0x6,0x30,0x0,0xc,0x10,0x0,0xc,0x18,
+0x0,0x18,0x8,0x0,0x18,0x8,0x0,0x18,0xc,0x0,0x30,0x4,0x0,0x30,0x6,0x0,
+0xfc,0x1f,0x80,
+};
+
+static const BitmapCharRec ch86 = {17,17,0,0,17,ch86data};
+
+/* char: 0x55 'U' */
+
+static const GLubyte ch85data[] = {
+0x7,0xe0,0x1c,0x30,0x18,0x8,0x30,0x8,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
+0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,0x30,0x4,
+0xfc,0x1f,
+};
+
+static const BitmapCharRec ch85 = {16,17,-1,0,18,ch85data};
+
+/* char: 0x54 'T' */
+
+static const GLubyte ch84data[] = {
+0xf,0xc0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,
+0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0x83,0x4,0x83,0x4,0xc3,0xc,
+0xff,0xfc,
+};
+
+static const BitmapCharRec ch84 = {14,17,-1,0,16,ch84data};
+
+/* char: 0x53 'S' */
+
+static const GLubyte ch83data[] = {
+0x9e,0x0,0xf1,0x80,0xc0,0xc0,0x80,0x60,0x80,0x60,0x0,0x60,0x0,0xe0,0x3,0xc0,
+0xf,0x80,0x1e,0x0,0x78,0x0,0xe0,0x0,0xc0,0x40,0xc0,0x40,0xc0,0xc0,0x63,0xc0,
+0x1e,0x40,
+};
+
+static const BitmapCharRec ch83 = {11,17,-1,0,13,ch83data};
+
+/* char: 0x52 'R' */
+
+static const GLubyte ch82data[] = {
+0xfc,0x1e,0x30,0x1c,0x30,0x38,0x30,0x70,0x30,0x60,0x30,0xc0,0x31,0xc0,0x33,0x80,
+0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x38,0x30,0x18,0x30,0x38,0x30,0x30,0x30,0x70,
+0xff,0xc0,
+};
+
+static const BitmapCharRec ch82 = {15,17,-1,0,16,ch82data};
+
+/* char: 0x51 'Q' */
+
+static const GLubyte ch81data[] = {
+0x0,0xf,0x0,0x38,0x0,0x70,0x0,0xe0,0x1,0xc0,0x7,0xe0,0x1c,0x38,0x38,0x1c,
+0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,
+0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,0x7,0xe0,
+};
+
+static const BitmapCharRec ch81 = {16,22,-1,5,18,ch81data};
+
+/* char: 0x50 'P' */
+
+static const GLubyte ch80data[] = {
+0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
+0x3f,0xc0,0x30,0x70,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,
+0xff,0xc0,
+};
+
+static const BitmapCharRec ch80 = {13,17,-1,0,15,ch80data};
+
+/* char: 0x4f 'O' */
+
+static const GLubyte ch79data[] = {
+0x7,0xe0,0x1c,0x38,0x38,0x1c,0x60,0x6,0x60,0x6,0xc0,0x3,0xc0,0x3,0xc0,0x3,
+0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0x60,0x6,0x60,0x6,0x38,0x1c,0x1c,0x38,
+0x7,0xe0,
+};
+
+static const BitmapCharRec ch79 = {16,17,-1,0,18,ch79data};
+
+/* char: 0x4e 'N' */
+
+static const GLubyte ch78data[] = {
+0xf8,0xc,0x20,0x1c,0x20,0x1c,0x20,0x34,0x20,0x64,0x20,0x64,0x20,0xc4,0x21,0x84,
+0x21,0x84,0x23,0x4,0x26,0x4,0x26,0x4,0x2c,0x4,0x38,0x4,0x38,0x4,0x30,0x4,
+0xf0,0x1f,
+};
+
+static const BitmapCharRec ch78 = {16,17,-1,0,18,ch78data};
+
+/* char: 0x4d 'M' */
+
+static const GLubyte ch77data[] = {
+0xf8,0x21,0xf8,0x20,0x60,0x60,0x20,0x60,0x60,0x20,0xd0,0x60,0x20,0xd0,0x60,0x21,
+0x88,0x60,0x21,0x88,0x60,0x23,0x8,0x60,0x23,0x4,0x60,0x26,0x4,0x60,0x26,0x2,
+0x60,0x2c,0x2,0x60,0x2c,0x2,0x60,0x38,0x1,0x60,0x38,0x1,0x60,0x30,0x0,0xe0,
+0xf0,0x0,0xf8,
+};
+
+static const BitmapCharRec ch77 = {21,17,-1,0,22,ch77data};
+
+/* char: 0x4c 'L' */
+
+static const GLubyte ch76data[] = {
+0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
+0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,
+0xfc,0x0,
+};
+
+static const BitmapCharRec ch76 = {13,17,-1,0,14,ch76data};
+
+/* char: 0x4b 'K' */
+
+static const GLubyte ch75data[] = {
+0xfc,0x1f,0x30,0xe,0x30,0x1c,0x30,0x38,0x30,0x70,0x30,0xe0,0x31,0xc0,0x33,0x80,
+0x3f,0x0,0x3e,0x0,0x33,0x0,0x31,0x80,0x30,0xc0,0x30,0x60,0x30,0x30,0x30,0x18,
+0xfc,0x7e,
+};
+
+static const BitmapCharRec ch75 = {16,17,-1,0,17,ch75data};
+
+/* char: 0x4a 'J' */
+
+static const GLubyte ch74data[] = {
+0x78,0x0,0xcc,0x0,0xc6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
+0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
+0x1f,0x80,
+};
+
+static const BitmapCharRec ch74 = {9,17,-1,0,11,ch74data};
+
+/* char: 0x49 'I' */
+
+static const GLubyte ch73data[] = {
+0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+0xfc,
+};
+
+static const BitmapCharRec ch73 = {6,17,-1,0,8,ch73data};
+
+/* char: 0x48 'H' */
+
+static const GLubyte ch72data[] = {
+0xfc,0x1f,0x80,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,
+0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x3f,0xfe,0x0,0x30,0x6,0x0,0x30,0x6,
+0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,0x30,0x6,0x0,
+0xfc,0x1f,0x80,
+};
+
+static const BitmapCharRec ch72 = {17,17,-1,0,19,ch72data};
+
+/* char: 0x47 'G' */
+
+static const GLubyte ch71data[] = {
+0x7,0xe0,0x1e,0x38,0x38,0x1c,0x60,0xc,0x60,0xc,0xc0,0xc,0xc0,0xc,0xc0,0x3f,
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,
+0x7,0xe4,
+};
+
+static const BitmapCharRec ch71 = {16,17,-1,0,18,ch71data};
+
+/* char: 0x46 'F' */
+
+static const GLubyte ch70data[] = {
+0xfc,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x20,0x30,0x20,
+0x3f,0xe0,0x30,0x20,0x30,0x20,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
+0xff,0xf0,
+};
+
+static const BitmapCharRec ch70 = {12,17,-1,0,14,ch70data};
+
+/* char: 0x45 'E' */
+
+static const GLubyte ch69data[] = {
+0xff,0xf8,0x30,0x18,0x30,0x8,0x30,0x8,0x30,0x0,0x30,0x0,0x30,0x40,0x30,0x40,
+0x3f,0xc0,0x30,0x40,0x30,0x40,0x30,0x0,0x30,0x0,0x30,0x10,0x30,0x10,0x30,0x30,
+0xff,0xf0,
+};
+
+static const BitmapCharRec ch69 = {13,17,-1,0,15,ch69data};
+
+/* char: 0x44 'D' */
+
+static const GLubyte ch68data[] = {
+0xff,0xc0,0x30,0x70,0x30,0x38,0x30,0xc,0x30,0xc,0x30,0x6,0x30,0x6,0x30,0x6,
+0x30,0x6,0x30,0x6,0x30,0x6,0x30,0x6,0x30,0xc,0x30,0xc,0x30,0x38,0x30,0x70,
+0xff,0xc0,
+};
+
+static const BitmapCharRec ch68 = {15,17,-1,0,17,ch68data};
+
+/* char: 0x43 'C' */
+
+static const GLubyte ch67data[] = {
+0x7,0xe0,0x1e,0x38,0x38,0x8,0x60,0x4,0x60,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,
+0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0x60,0x4,0x60,0x4,0x38,0xc,0x1c,0x3c,
+0x7,0xe4,
+};
+
+static const BitmapCharRec ch67 = {14,17,-1,0,16,ch67data};
+
+/* char: 0x42 'B' */
+
+static const GLubyte ch66data[] = {
+0xff,0xe0,0x30,0x78,0x30,0x18,0x30,0xc,0x30,0xc,0x30,0xc,0x30,0x18,0x30,0x38,
+0x3f,0xe0,0x30,0x40,0x30,0x30,0x30,0x18,0x30,0x18,0x30,0x18,0x30,0x30,0x30,0x70,
+0xff,0xc0,
+};
+
+static const BitmapCharRec ch66 = {14,17,-1,0,16,ch66data};
+
+/* char: 0x41 'A' */
+
+static const GLubyte ch65data[] = {
+0xfc,0x1f,0x80,0x30,0x6,0x0,0x10,0x6,0x0,0x10,0xc,0x0,0x18,0xc,0x0,0x8,
+0xc,0x0,0xf,0xf8,0x0,0xc,0x18,0x0,0x4,0x18,0x0,0x4,0x30,0x0,0x6,0x30,
+0x0,0x2,0x30,0x0,0x2,0x60,0x0,0x1,0x60,0x0,0x1,0xc0,0x0,0x1,0xc0,0x0,
+0x0,0x80,0x0,
+};
+
+static const BitmapCharRec ch65 = {17,17,0,0,17,ch65data};
+
+/* char: 0x40 '@' */
+
+static const GLubyte ch64data[] = {
+0x3,0xf0,0x0,0xe,0xc,0x0,0x18,0x0,0x0,0x30,0x0,0x0,0x61,0xde,0x0,0x63,
+0x7b,0x0,0xc6,0x39,0x80,0xc6,0x18,0x80,0xc6,0x18,0xc0,0xc6,0x18,0x40,0xc6,0xc,
+0x40,0xc3,0xc,0x40,0xc3,0x8c,0x40,0xe1,0xfc,0x40,0x60,0xec,0xc0,0x70,0x0,0x80,
+0x38,0x1,0x80,0x1c,0x3,0x0,0xf,0xe,0x0,0x3,0xf8,0x0,
+};
+
+static const BitmapCharRec ch64 = {18,20,-2,3,22,ch64data};
+
+/* char: 0x3f '?' */
+
+static const GLubyte ch63data[] = {
+0x30,0x30,0x0,0x0,0x10,0x10,0x10,0x18,0x18,0xc,0xe,0x7,0xc3,0xc3,0x83,0xc6,
+0x7c,
+};
+
+static const BitmapCharRec ch63 = {8,17,-2,0,11,ch63data};
+
+/* char: 0x3e '>' */
+
+static const GLubyte ch62data[] = {
+0xc0,0x0,0x70,0x0,0x1c,0x0,0x7,0x0,0x1,0xc0,0x0,0x60,0x1,0xc0,0x7,0x0,
+0x1c,0x0,0x70,0x0,0xc0,0x0,
+};
+
+static const BitmapCharRec ch62 = {11,11,-1,-1,13,ch62data};
+
+/* char: 0x3d '=' */
+
+static const GLubyte ch61data[] = {
+0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0,
+};
+
+static const BitmapCharRec ch61 = {12,6,-1,-4,14,ch61data};
+
+/* char: 0x3c '<' */
+
+static const GLubyte ch60data[] = {
+0x0,0x60,0x1,0xc0,0x7,0x0,0x1c,0x0,0x70,0x0,0xc0,0x0,0x70,0x0,0x1c,0x0,
+0x7,0x0,0x1,0xc0,0x0,0x60,
+};
+
+static const BitmapCharRec ch60 = {11,11,-1,-1,13,ch60data};
+
+/* char: 0x3b ';' */
+
+static const GLubyte ch59data[] = {
+0xc0,0x60,0x20,0xe0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch59 = {3,14,-2,3,7,ch59data};
+
+/* char: 0x3a ':' */
+
+static const GLubyte ch58data[] = {
+0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,
+};
+
+static const BitmapCharRec ch58 = {2,11,-2,0,6,ch58data};
+
+/* char: 0x39 '9' */
+
+static const GLubyte ch57data[] = {
+0xf0,0x0,0x1c,0x0,0x6,0x0,0x3,0x0,0x3,0x80,0x1,0x80,0x1d,0x80,0x73,0xc0,
+0x61,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc1,0xc0,0x61,0x80,0x77,0x80,
+0x1e,0x0,
+};
+
+static const BitmapCharRec ch57 = {10,17,-1,0,12,ch57data};
+
+/* char: 0x38 '8' */
+
+static const GLubyte ch56data[] = {
+0x1e,0x0,0x73,0x80,0xe1,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x41,0xc0,0x61,0x80,
+0x37,0x0,0x1e,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x0,
+0x1e,0x0,
+};
+
+static const BitmapCharRec ch56 = {10,17,-1,0,12,ch56data};
+
+/* char: 0x37 '7' */
+
+static const GLubyte ch55data[] = {
+0x18,0x0,0x18,0x0,0xc,0x0,0xc,0x0,0xc,0x0,0x4,0x0,0x6,0x0,0x6,0x0,
+0x2,0x0,0x3,0x0,0x3,0x0,0x1,0x0,0x1,0x80,0x81,0x80,0xc0,0xc0,0xff,0xc0,
+0x7f,0xc0,
+};
+
+static const BitmapCharRec ch55 = {10,17,-1,0,12,ch55data};
+
+/* char: 0x36 '6' */
+
+static const GLubyte ch54data[] = {
+0x1e,0x0,0x7b,0x80,0x61,0x80,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc1,0x80,0xf3,0x80,0xee,0x0,0x60,0x0,0x70,0x0,0x30,0x0,0x18,0x0,0xe,0x0,
+0x3,0xc0,
+};
+
+static const BitmapCharRec ch54 = {10,17,-1,0,12,ch54data};
+
+/* char: 0x35 '5' */
+
+static const GLubyte ch53data[] = {
+0x7e,0x0,0xe3,0x80,0xc1,0x80,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x0,0xc0,0x1,0xc0,
+0x3,0x80,0xf,0x80,0x7e,0x0,0x78,0x0,0x60,0x0,0x20,0x0,0x20,0x0,0x1f,0x80,
+0x1f,0xc0,
+};
+
+static const BitmapCharRec ch53 = {10,17,-1,0,12,ch53data};
+
+/* char: 0x34 '4' */
+
+static const GLubyte ch52data[] = {
+0x3,0x0,0x3,0x0,0x3,0x0,0x3,0x0,0xff,0xc0,0xff,0xc0,0xc3,0x0,0x43,0x0,
+0x63,0x0,0x23,0x0,0x33,0x0,0x13,0x0,0x1b,0x0,0xb,0x0,0x7,0x0,0x7,0x0,
+0x3,0x0,
+};
+
+static const BitmapCharRec ch52 = {10,17,-1,0,12,ch52data};
+
+/* char: 0x33 '3' */
+
+static const GLubyte ch51data[] = {
+0x78,0x0,0xe6,0x0,0xc3,0x0,0x1,0x0,0x1,0x80,0x1,0x80,0x1,0x80,0x3,0x80,
+0x7,0x0,0x1e,0x0,0xc,0x0,0x6,0x0,0x83,0x0,0x83,0x0,0x47,0x0,0x7e,0x0,
+0x1c,0x0,
+};
+
+static const BitmapCharRec ch51 = {9,17,-1,0,12,ch51data};
+
+/* char: 0x32 '2' */
+
+static const GLubyte ch50data[] = {
+0xff,0x80,0xff,0xc0,0x60,0x40,0x30,0x0,0x18,0x0,0xc,0x0,0x4,0x0,0x6,0x0,
+0x3,0x0,0x3,0x0,0x1,0x80,0x1,0x80,0x81,0x80,0x81,0x80,0x43,0x80,0x7f,0x0,
+0x1c,0x0,
+};
+
+static const BitmapCharRec ch50 = {10,17,-1,0,12,ch50data};
+
+/* char: 0x31 '1' */
+
+static const GLubyte ch49data[] = {
+0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x78,0x18,
+0x8,
+};
+
+static const BitmapCharRec ch49 = {8,17,-2,0,12,ch49data};
+
+/* char: 0x30 '0' */
+
+static const GLubyte ch48data[] = {
+0x1e,0x0,0x33,0x0,0x61,0x80,0x61,0x80,0xe1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x61,0x80,0x61,0x80,0x33,0x0,
+0x1e,0x0,
+};
+
+static const BitmapCharRec ch48 = {10,17,-1,0,12,ch48data};
+
+/* char: 0x2f '/' */
+
+static const GLubyte ch47data[] = {
+0xc0,0xc0,0xc0,0x60,0x60,0x20,0x30,0x30,0x10,0x18,0x18,0x8,0xc,0xc,0x4,0x6,
+0x6,0x3,0x3,0x3,
+};
+
+static const BitmapCharRec ch47 = {8,20,1,3,7,ch47data};
+
+/* char: 0x2e '.' */
+
+static const GLubyte ch46data[] = {
+0xc0,0xc0,
+};
+
+static const BitmapCharRec ch46 = {2,2,-2,0,6,ch46data};
+
+/* char: 0x2d '-' */
+
+static const GLubyte ch45data[] = {
+0xff,0xf0,0xff,0xf0,
+};
+
+static const BitmapCharRec ch45 = {12,2,-1,-6,14,ch45data};
+
+/* char: 0x2c ',' */
+
+static const GLubyte ch44data[] = {
+0xc0,0x60,0x20,0xe0,0xc0,
+};
+
+static const BitmapCharRec ch44 = {3,5,-2,3,7,ch44data};
+
+/* char: 0x2b '+' */
+
+static const GLubyte ch43data[] = {
+0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,0xff,0xf0,0xff,0xf0,0x6,0x0,
+0x6,0x0,0x6,0x0,0x6,0x0,0x6,0x0,
+};
+
+static const BitmapCharRec ch43 = {12,12,-1,-1,14,ch43data};
+
+/* char: 0x2a '*' */
+
+static const GLubyte ch42data[] = {
+0x8,0x0,0x1c,0x0,0xc9,0x80,0xeb,0x80,0x1c,0x0,0xeb,0x80,0xc9,0x80,0x1c,0x0,
+0x8,0x0,
+};
+
+static const BitmapCharRec ch42 = {9,9,-2,-8,12,ch42data};
+
+/* char: 0x29 ')' */
+
+static const GLubyte ch41data[] = {
+0x80,0x40,0x20,0x30,0x10,0x18,0x18,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0x18,
+0x18,0x10,0x30,0x20,0x40,0x80,
+};
+
+static const BitmapCharRec ch41 = {6,22,-1,5,8,ch41data};
+
+/* char: 0x28 '(' */
+
+static const GLubyte ch40data[] = {
+0x4,0x8,0x10,0x30,0x20,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,
+0x60,0x20,0x30,0x10,0x8,0x4,
+};
+
+static const BitmapCharRec ch40 = {6,22,-1,5,8,ch40data};
+
+/* char: 0x27 ''' */
+
+static const GLubyte ch39data[] = {
+0xc0,0x60,0x20,0xe0,0xc0,
+};
+
+static const BitmapCharRec ch39 = {3,5,-3,-12,8,ch39data};
+
+/* char: 0x26 '&' */
+
+static const GLubyte ch38data[] = {
+0x3c,0x3c,0x7f,0x7e,0xe1,0xe1,0xc0,0xc0,0xc1,0xc0,0xc1,0xa0,0x63,0x20,0x37,0x10,
+0x1e,0x18,0xe,0x3e,0xf,0x0,0x1d,0x80,0x18,0xc0,0x18,0x40,0x18,0x40,0xc,0xc0,
+0x7,0x80,
+};
+
+static const BitmapCharRec ch38 = {16,17,-1,0,18,ch38data};
+
+/* char: 0x25 '%' */
+
+static const GLubyte ch37data[] = {
+0x30,0x3c,0x0,0x18,0x72,0x0,0xc,0x61,0x0,0x4,0x60,0x80,0x6,0x60,0x80,0x3,
+0x30,0x80,0x1,0x19,0x80,0x1,0x8f,0x0,0x78,0xc0,0x0,0xe4,0x40,0x0,0xc2,0x60,
+0x0,0xc1,0x30,0x0,0xc1,0x10,0x0,0x61,0x18,0x0,0x33,0xfc,0x0,0x1e,0xc,0x0,
+};
+
+static const BitmapCharRec ch37 = {17,16,-1,0,19,ch37data};
+
+/* char: 0x24 '$' */
+
+static const GLubyte ch36data[] = {
+0x4,0x0,0x4,0x0,0x3f,0x0,0xe5,0xc0,0xc4,0xc0,0x84,0x60,0x84,0x60,0x4,0x60,
+0x4,0xe0,0x7,0xc0,0x7,0x80,0x1e,0x0,0x3c,0x0,0x74,0x0,0x64,0x0,0x64,0x20,
+0x64,0x60,0x34,0xe0,0x1f,0x80,0x4,0x0,0x4,0x0,
+};
+
+static const BitmapCharRec ch36 = {11,21,0,2,12,ch36data};
+
+/* char: 0x23 '#' */
+
+static const GLubyte ch35data[] = {
+0x22,0x0,0x22,0x0,0x22,0x0,0x22,0x0,0x22,0x0,0xff,0xc0,0xff,0xc0,0x11,0x0,
+0x11,0x0,0x11,0x0,0x7f,0xe0,0x7f,0xe0,0x8,0x80,0x8,0x80,0x8,0x80,0x8,0x80,
+0x8,0x80,
+};
+
+static const BitmapCharRec ch35 = {11,17,-1,0,13,ch35data};
+
+/* char: 0x22 '"' */
+
+static const GLubyte ch34data[] = {
+0x88,0xcc,0xcc,0xcc,0xcc,
+};
+
+static const BitmapCharRec ch34 = {6,5,-1,-12,10,ch34data};
+
+/* char: 0x21 '!' */
+
+static const GLubyte ch33data[] = {
+0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0xc0,
+};
+
+static const BitmapCharRec ch33 = {2,17,-3,0,8,ch33data};
+
+/* char: 0x20 ' ' */
+
+#ifdef WIN32
+/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with
+   a height or width of zero does not advance the raster position
+   as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */
+static const GLubyte ch32data[] = { 0x0 };
+static const BitmapCharRec ch32 = {1,1,0,0,6,ch32data};
+#else
+static const BitmapCharRec ch32 = {0,0,0,0,6,0};
+#endif
+
+static const BitmapCharRec * const chars[] = {
+&ch32,
+&ch33,
+&ch34,
+&ch35,
+&ch36,
+&ch37,
+&ch38,
+&ch39,
+&ch40,
+&ch41,
+&ch42,
+&ch43,
+&ch44,
+&ch45,
+&ch46,
+&ch47,
+&ch48,
+&ch49,
+&ch50,
+&ch51,
+&ch52,
+&ch53,
+&ch54,
+&ch55,
+&ch56,
+&ch57,
+&ch58,
+&ch59,
+&ch60,
+&ch61,
+&ch62,
+&ch63,
+&ch64,
+&ch65,
+&ch66,
+&ch67,
+&ch68,
+&ch69,
+&ch70,
+&ch71,
+&ch72,
+&ch73,
+&ch74,
+&ch75,
+&ch76,
+&ch77,
+&ch78,
+&ch79,
+&ch80,
+&ch81,
+&ch82,
+&ch83,
+&ch84,
+&ch85,
+&ch86,
+&ch87,
+&ch88,
+&ch89,
+&ch90,
+&ch91,
+&ch92,
+&ch93,
+&ch94,
+&ch95,
+&ch96,
+&ch97,
+&ch98,
+&ch99,
+&ch100,
+&ch101,
+&ch102,
+&ch103,
+&ch104,
+&ch105,
+&ch106,
+&ch107,
+&ch108,
+&ch109,
+&ch110,
+&ch111,
+&ch112,
+&ch113,
+&ch114,
+&ch115,
+&ch116,
+&ch117,
+&ch118,
+&ch119,
+&ch120,
+&ch121,
+&ch122,
+&ch123,
+&ch124,
+&ch125,
+&ch126,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+&ch160,
+&ch161,
+&ch162,
+&ch163,
+&ch164,
+&ch165,
+&ch166,
+&ch167,
+&ch168,
+&ch169,
+&ch170,
+&ch171,
+&ch172,
+&ch173,
+&ch174,
+&ch175,
+&ch176,
+&ch177,
+&ch178,
+&ch179,
+&ch180,
+&ch181,
+&ch182,
+&ch183,
+&ch184,
+&ch185,
+&ch186,
+&ch187,
+&ch188,
+&ch189,
+&ch190,
+&ch191,
+&ch192,
+&ch193,
+&ch194,
+&ch195,
+&ch196,
+&ch197,
+&ch198,
+&ch199,
+&ch200,
+&ch201,
+&ch202,
+&ch203,
+&ch204,
+&ch205,
+&ch206,
+&ch207,
+&ch208,
+&ch209,
+&ch210,
+&ch211,
+&ch212,
+&ch213,
+&ch214,
+&ch215,
+&ch216,
+&ch217,
+&ch218,
+&ch219,
+&ch220,
+&ch221,
+&ch222,
+&ch223,
+&ch224,
+&ch225,
+&ch226,
+&ch227,
+&ch228,
+&ch229,
+&ch230,
+&ch231,
+&ch232,
+&ch233,
+&ch234,
+&ch235,
+&ch236,
+&ch237,
+&ch238,
+&ch239,
+&ch240,
+&ch241,
+&ch242,
+&ch243,
+&ch244,
+&ch245,
+&ch246,
+&ch247,
+&ch248,
+&ch249,
+&ch250,
+&ch251,
+&ch252,
+&ch253,
+&ch254,
+&ch255,
+};
+
+// jeh: removed const so mwld can export structure to shared lib
+BitmapFontRec glutBitmapTimesRoman24 = {
+"-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1",
+224,
+32,
+chars
+};
+
diff --git a/src/glut/beos/glut_util.cpp b/src/glut/beos/glut_util.cpp
new file mode 100644 (file)
index 0000000..97e3115
--- /dev/null
@@ -0,0 +1,66 @@
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/* This program is freely distributable without licensing fees
+   and is provided without guarantee or warrantee expressed or
+   implied. This program is -not- in the public domain. */
+
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+#include <GL/glut.h>
+#include "glutint.h"
+#include "glutState.h"
+
+void
+__glutWarning(char *format,...)
+{
+  va_list args;
+
+  va_start(args, format);
+  fprintf(stderr, "GLUT: Warning in %s: ",
+    gState.programName ? gState.programName : "(unamed)");
+  vfprintf(stderr, format, args);
+  va_end(args);
+  putc('\n', stderr);
+}
+
+/* CENTRY */
+void APIENTRY 
+glutReportErrors(void)
+{
+  GLenum error;
+
+  while ((error = glGetError()) != GL_NO_ERROR)
+    __glutWarning("GL error: %s", gluErrorString(error));
+}
+/* ENDCENTRY */
+
+void
+__glutFatalError(char *format,...)
+{
+  va_list args;
+
+  va_start(args, format);
+  fprintf(stderr, "GLUT: Fatal Error in %s: ",
+    gState.programName ? gState.programName : "(unamed)");
+  vfprintf(stderr, format, args);
+  va_end(args);
+  putc('\n', stderr);
+  exit(1);
+}
+
+void
+__glutFatalUsage(char *format,...)
+{
+  va_list args;
+
+  va_start(args, format);
+  fprintf(stderr, "GLUT: Fatal API Usage in %s: ",
+    gState.programName ? gState.programName : "(unamed)");
+  vfprintf(stderr, format, args);
+  va_end(args);
+  putc('\n', stderr);
+  abort();
+}
diff --git a/src/glut/beos/glutbitmap.h b/src/glut/beos/glutbitmap.h
new file mode 100644 (file)
index 0000000..55d3417
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef __glutbitmap_h__
+#define __glutbitmap_h__
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/* This program is freely distributable without licensing fees 
+   and is provided without guarantee or warrantee expressed or 
+   implied. This program is -not- in the public domain. */
+
+
+#if defined(WIN32)
+#include <windows.h>
+#pragma warning(disable:4244)
+#endif /* WIN32 */
+#include <GL/gl.h>
+
+typedef struct {
+  const GLsizei width;
+  const GLsizei height;
+  const GLfloat xorig;
+  const GLfloat yorig;
+  const GLfloat advance;
+  const GLubyte *bitmap;
+} BitmapCharRec, *BitmapCharPtr;
+
+typedef struct {
+  const char *name;
+  const int num_chars;
+  const int first;
+  const BitmapCharRec * const *ch;
+} BitmapFontRec, *BitmapFontPtr;
+
+typedef void *GLUTbitmapFont;
+
+#endif /* __glutbitmap_h__ */
diff --git a/src/glut/beos/glutint.h b/src/glut/beos/glutint.h
new file mode 100644 (file)
index 0000000..5ce2970
--- /dev/null
@@ -0,0 +1,75 @@
+/***********************************************************
+ *     Copyright (C) 1997, Be Inc.  All rights reserved.
+ *
+ *  FILE:      glutint.h
+ *
+ *     DESCRIPTION:    This is the new glut internal header file.
+ *             most of the things formerly stored here are now in
+ *             their own header files as C++ classes.
+ ***********************************************************/
+
+#include <SupportDefs.h>
+
+/***********************************************************
+ *     GLUT function types
+ ***********************************************************/
+typedef void (*GLUTdisplayCB) (void);
+typedef void (*GLUTreshapeCB) (int, int);
+typedef void (*GLUTkeyboardCB) (unsigned char, int, int);
+typedef void (*GLUTmouseCB) (int, int, int, int);
+typedef void (*GLUTmotionCB) (int, int);
+typedef void (*GLUTpassiveCB) (int, int);
+typedef void (*GLUTentryCB) (int);
+typedef void (*GLUTvisibilityCB) (int);
+typedef void (*GLUTwindowStatusCB) (int);
+typedef void (*GLUTidleCB) (void);
+typedef void (*GLUTtimerCB) (int);
+typedef void (*GLUTmenuStateCB) (int);  /* DEPRICATED. 
+                                                   */
+typedef void (*GLUTmenuStatusCB) (int, int, int);
+typedef void (*GLUTselectCB) (int);
+typedef void (*GLUTspecialCB) (int, int, int);
+typedef void (*GLUTspaceMotionCB) (int, int, int);
+typedef void (*GLUTspaceRotateCB) (int, int, int);
+typedef void (*GLUTspaceButtonCB) (int, int);
+typedef void (*GLUTdialsCB) (int, int);
+typedef void (*GLUTbuttonBoxCB) (int, int);
+typedef void (*GLUTtabletMotionCB) (int, int);
+typedef void (*GLUTtabletButtonCB) (int, int, int, int);
+
+/***********************************************************
+ *     Prototypes for glutInit.cpp
+ ***********************************************************/
+void __glutInitTime(bigtime_t *beginning);
+void __glutInit();
+
+/***********************************************************
+ *     Prototypes for glut_util.c
+ ***********************************************************/
+void __glutWarning(char *format,...);
+void __glutFatalError(char *format,...);
+void __glutFatalUsage(char *format,...);
+
+/***********************************************************
+ *     Prototypes for glutMenu.cpp
+ ***********************************************************/
+class GlutMenu;                // avoid including glutMenu.h
+GlutMenu *__glutGetMenuByNum(int menunum);
+/***********************************************************
+ *     Prototypes for glutWindow.cpp
+ ***********************************************************/
+int __glutConvertDisplayMode(unsigned long *options);
+void __glutDefaultReshape(int width, int height);
+class GlutWindow;      // avoid including glutWindow.h in every source file
+void __glutSetWindow(GlutWindow * window);
+
+/***********************************************************
+ *     Prototypes for glutDstr.cpp
+ ***********************************************************/
+int __glutConvertDisplayModeFromString(unsigned long *options);
+
+/***********************************************************
+ *     Prototypes for glutCursor.cpp
+ ***********************************************************/
+void __glutSetCursor(int cursor);
diff --git a/src/glut/beos/glutstroke.h b/src/glut/beos/glutstroke.h
new file mode 100644 (file)
index 0000000..4712ebb
--- /dev/null
@@ -0,0 +1,41 @@
+#ifndef __glutstroke_h__
+#define __glutstroke_h__
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/* This program is freely distributable without licensing fees 
+   and is provided without guarantee or warrantee expressed or 
+   implied. This program is -not- in the public domain. */
+
+#if defined(WIN32)
+#pragma warning (disable:4244)
+#endif
+
+typedef struct {
+  float x;
+  float y;
+} CoordRec, *CoordPtr;
+
+typedef struct {
+  int num_coords;
+  const CoordRec *coord;
+} StrokeRec, *StrokePtr;
+
+typedef struct {
+  int num_strokes;
+  const StrokeRec *stroke;
+  float center;
+  float right;
+} StrokeCharRec, *StrokeCharPtr;
+
+typedef struct {
+  const char *name;
+  int num_chars;
+  const StrokeCharRec *ch;
+  float top;
+  float bottom;
+} StrokeFontRec, *StrokeFontPtr;
+
+typedef void *GLUTstrokeFont;
+
+#endif /* __glutstroke_h__ */
diff --git a/src/glut/beos/libglut.def b/src/glut/beos/libglut.def
new file mode 100644 (file)
index 0000000..e900bb0
--- /dev/null
@@ -0,0 +1,98 @@
+EXPORTS
+glutInit
+glutInitWindowPosition
+glutInitWindowSize
+glutInitDisplayMode
+glutInitDisplayString
+glutMainLoop
+glutCreateWindow
+glutCreateSubWindow
+glutSetWindow
+glutGetWindow
+glutDestroyWindow
+glutPostRedisplay
+glutSwapBuffers
+glutPositionWindow
+glutReshapeWindow
+glutFullScreen
+glutPopWindow
+glutPushWindow
+glutShowWindow
+glutHideWindow
+glutIconifyWindow
+glutSetWindowTitle
+glutSetIconTitle
+glutSetCursor
+glutWarpPointer
+glutEstablishOverlay
+glutUseLayer
+glutRemoveOverlay
+glutPostOverlayRedisplay
+glutShowOverlay
+glutHideOverlay
+glutCreateMenu
+glutSetMenu
+glutGetMenu
+glutDestroyMenu
+glutAddMenuEntry
+glutAddSubMenu
+glutChangeToMenuEntry
+glutChangeToSubMenu
+glutRemoveMenuItem
+glutAttachMenu
+glutDetachMenu
+glutDisplayFunc
+glutOverlayDisplayFunc
+glutReshapeFunc
+glutKeyboardFunc
+glutMouseFunc
+glutMotionFunc
+glutPassiveMotionFunc
+glutVisibilityFunc
+glutEntryFunc
+glutSpecialFunc
+glutSpaceballMotionFunc
+glutSpaceballRotateFunc
+glutSpaceballButtonFunc
+glutButtonBoxFunc
+glutDialsFunc
+glutTabletMotionFunc
+glutTabletButtonFunc
+glutMenuStatusFunc
+glutMenuStateFunc
+glutIdleFunc
+glutTimerFunc
+glutSetColor
+glutGetColor
+glutCopyColormap
+glutGet
+glutLayerGet
+glutDeviceGet
+glutGetModifiers
+glutExtensionSupported
+glutBitmapCharacter
+glutBitmapWidth
+glutStrokeCharacter
+glutStrokeWidth
+glutBitmapLength
+glutStrokeLength
+glutStrokeRoman
+glutStrokeMonoRoman
+glutSolidSphere
+glutWireSphere
+glutSolidCube
+glutWireCube
+glutSolidCone
+glutWireCone
+glutSolidTorus
+glutWireTorus
+glutSolidDodecahedron
+glutWireDodecahedron
+glutSolidOctahedron
+glutWireOctahedron
+glutSolidTetrahedron
+glutWireTetrahedron
+glutSolidIcosahedron
+glutWireIcosahedron
+glutSolidTeapot
+glutWireTeapot