separated DOS GLUT from GLX GLUT.
authorDaniel Borca <dborca@users.sourceforge.net>
Mon, 14 Feb 2005 15:04:52 +0000 (15:04 +0000)
committerDaniel Borca <dborca@users.sourceforge.net>
Mon, 14 Feb 2005 15:04:52 +0000 (15:04 +0000)
added a few FreeGLUT specific functions.

26 files changed:
src/glut/dos/Makefile.DJ
src/glut/dos/bitmap.c [new file with mode: 0644]
src/glut/dos/callback.c
src/glut/dos/color.c
src/glut/dos/extens.c
src/glut/dos/f8x13.c [new file with mode: 0644]
src/glut/dos/f9x15.c [new file with mode: 0644]
src/glut/dos/hel10.c [new file with mode: 0644]
src/glut/dos/hel12.c [new file with mode: 0644]
src/glut/dos/hel18.c [new file with mode: 0644]
src/glut/dos/init.c
src/glut/dos/internal.h [new file with mode: 0644]
src/glut/dos/loop.c [new file with mode: 0644]
src/glut/dos/menu.c
src/glut/dos/mouse.c
src/glut/dos/mroman.c [new file with mode: 0644]
src/glut/dos/overlay.c
src/glut/dos/roman.c [new file with mode: 0644]
src/glut/dos/shapes.c [new file with mode: 0644]
src/glut/dos/state.c
src/glut/dos/stroke.c [new file with mode: 0644]
src/glut/dos/teapot.c [new file with mode: 0644]
src/glut/dos/tr10.c [new file with mode: 0644]
src/glut/dos/tr24.c [new file with mode: 0644]
src/glut/dos/util.c
src/glut/dos/window.c

index 45658c77d5a29de4968fd70431c3230ee3a8e658..7e4e0b8576a508102174d77a9b1806c938af2a0e 100644 (file)
@@ -1,31 +1,25 @@
-# Mesa 3-D graphics library
-# Version:  4.0
-# 
-# Copyright (C) 1999  Brian Paul   All Rights Reserved.
-# 
+# DOS/DJGPP Mesa Utility Toolkit
+# Version:  1.0
+#
+# Copyright (C) 2005  Daniel Borca   All Rights Reserved.
+#
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
 # to deal in the Software without restriction, including without limitation
 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
 # and/or sell copies of the Software, and to permit persons to whom the
 # Software is furnished to do so, subject to the following conditions:
-# 
+#
 # The above copyright notice and this permission notice shall be included
 # in all copies or substantial portions of the Software.
-# 
+#
 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-# DOS/DJGPP glut makefile v1.6 for Mesa
-#
-#  Copyright (C) 2002 - Daniel Borca
-#  Email : dborca@users.sourceforge.net
-#  Web   : http://www.geocities.com/dborca
-
 
 #
 #  Available options:
@@ -33,8 +27,6 @@
 #    Environment variables:
 #      CFLAGS
 #
-#      MKGLUT          absolute path to original GLUT.
-#                      default = $(TOP)/src/glut/glx
 #      GLIDE           path to Glide3 SDK; used to resolve DXEs.
 #                      default = $(TOP)/glide3
 #
@@ -49,7 +41,6 @@
 
 TOP = ../../..
 GLIDE ?= $(TOP)/glide3
-MKGLUT ?= $(TOP)/src/glut/glx
 LIBDIR = $(TOP)/lib
 GLUT_LIB = libglut.a
 GLUT_DXE = glut.dxe
@@ -58,7 +49,7 @@ GLUT_IMP = libiglut.a
 export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH);$(LIBDIR);$(GLIDE)/lib
 
 CC = gcc
-CFLAGS += -I- -I$(TOP)/include -I. -I$(MKGLUT) -IPC_HW
+CFLAGS += -I$(TOP)/include -I. -IPC_HW
 CFLAGS += -DGLUT_IMPORT_LIB
 
 AR = ar
@@ -73,6 +64,7 @@ UNLINK = $(RM) $(1)
 endif
 
 CORE_SOURCES = \
+       loop.c \
        callback.c \
        color.c \
        extens.c \
@@ -82,7 +74,20 @@ CORE_SOURCES = \
        overlay.c \
        state.c \
        util.c \
-       window.c
+       window.c \
+       f8x13.c \
+       f9x15.c \
+       hel10.c \
+       hel12.c \
+       hel18.c \
+       tr10.c \
+       tr24.c \
+       mroman.c \
+       roman.c \
+       bitmap.c \
+       stroke.c \
+       teapot.c \
+       shapes.c
 
 PC_HW_SOURCES = \
        PC_HW/pc_hw.c \
@@ -91,25 +96,7 @@ PC_HW_SOURCES = \
        PC_HW/pc_timer.c \
        PC_HW/pc_irq.S
 
-MKGLUT_SOURCES = \
-       $(MKGLUT)/glut_bitmap.c \
-       $(MKGLUT)/glut_bwidth.c \
-       $(MKGLUT)/glut_stroke.c \
-       $(MKGLUT)/glut_swidth.c \
-       $(MKGLUT)/glut_shapes.c \
-       $(MKGLUT)/glut_teapot.c \
-       $(MKGLUT)/glut_8x13.c \
-       $(MKGLUT)/glut_9x15.c \
-       $(MKGLUT)/glut_hel10.c \
-       $(MKGLUT)/glut_hel12.c \
-       $(MKGLUT)/glut_hel18.c \
-       $(MKGLUT)/glut_tr10.c \
-       $(MKGLUT)/glut_tr24.c \
-       $(MKGLUT)/glut_roman.c \
-       $(MKGLUT)/glut_mroman.c \
-       $(MKGLUT)/glut_util.c
-
-SOURCES = $(CORE_SOURCES) $(PC_HW_SOURCES) $(MKGLUT_SOURCES)
+SOURCES = $(CORE_SOURCES) $(PC_HW_SOURCES)
 
 OBJECTS = $(addsuffix .o,$(basename $(SOURCES)))
 
@@ -129,12 +116,11 @@ $(LIBDIR)/$(GLUT_DXE) $(LIBDIR)/$(GLUT_IMP): $(OBJECTS)
 ifeq ($(HAVEDXE3),)
        $(warning Missing DXE3 package... Skipping $(GLUT_DXE))
 else
-       -dxe3gen -o $(LIBDIR)/$(GLUT_DXE) -Y $(LIBDIR)/$(GLUT_IMP) -D "MesaGLUT DJGPP" -E _glut -P gl.dxe -P glu.dxe -U $^
+       -dxe3gen -o $(LIBDIR)/$(GLUT_DXE) -Y $(LIBDIR)/$(GLUT_IMP) -D "MesaGLUT DJGPP" -E _glut -P gl.dxe -U $^
 endif
 
 clean:
        -$(call UNLINK,*.o)
        -$(call UNLINK,PC_HW/*.o)
-       -$(call UNLINK,$(MKGLUT)/*.o)
 
 -include depend
diff --git a/src/glut/dos/bitmap.c b/src/glut/dos/bitmap.c
new file mode 100644 (file)
index 0000000..6d6b91e
--- /dev/null
@@ -0,0 +1,115 @@
+/*
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
+ *
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "internal.h"
+
+
+void APIENTRY
+glutBitmapCharacter (void *font, int c)
+{
+   const GLUTBitmapFont *bfp = _glut_font(font);
+   const GLUTBitmapChar *bcp;
+
+   if (c >= bfp->num || !(bcp = bfp->table[c]))
+      return;
+
+   glPushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
+
+   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(bcp->width, bcp->height, bcp->xorig, bcp->yorig,
+            bcp->xmove, 0, bcp->bitmap);
+
+   glPopClientAttrib();
+}
+
+
+void APIENTRY
+glutBitmapString (void *font, const unsigned char *string)
+{
+   const GLUTBitmapFont *bfp = _glut_font(font);
+   const GLUTBitmapChar *bcp;
+   unsigned char c;
+
+   glPushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
+
+   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);
+
+   while ((c = *(string++))) {
+      if (c < bfp->num && (bcp = bfp->table[c]))
+         glBitmap(bcp->width, bcp->height, bcp->xorig,
+                  bcp->yorig, bcp->xmove, 0, bcp->bitmap);
+   }
+
+   glPopClientAttrib();
+}
+
+
+int APIENTRY
+glutBitmapWidth (void *font, int c)
+{
+   const GLUTBitmapFont *bfp = _glut_font(font);
+   const GLUTBitmapChar *bcp;
+
+   if (c >= bfp->num || !(bcp = bfp->table[c]))
+      return 0;
+
+   return bcp->xmove;
+}
+
+
+int APIENTRY
+glutBitmapLength (void *font, const unsigned char *string)
+{
+   const GLUTBitmapFont *bfp = _glut_font(font);
+   const GLUTBitmapChar *bcp;
+   unsigned char c;
+   int length = 0;
+
+   while ((c = *(string++))) {
+      if (c < bfp->num && (bcp = bfp->table[c]))
+         length += bcp->xmove;
+   }
+
+   return length;
+}
+
+
+int APIENTRY
+glutBitmapHeight (void *font)
+{
+   const GLUTBitmapFont *bfp = _glut_font(font);
+
+   return bfp->height;
+}
index 6bd05f406586c34ea0320cda1c5d8b8b30a0085d..b6cc58feae9111940ab978ff063e77cf2a9d9cba 100644 (file)
 /*
- * Mesa 3-D graphics library
- * Version:  3.4
- * Copyright (C) 1995-1998  Brian Paul
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.6 for Mesa
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
  *
- *  Copyright (C) 2002 - Daniel Borca
- *  Email : dborca@yahoo.com
- *  Web   : http://www.geocities.com/dborca
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
+#include "internal.h"
 
-#include "glutint.h"
 
+GLUTSShotCB _glut_timer_cb[MAX_TIMER_CB];
 
-GLUTSShotCB g_sscb[MAX_SSHOT_CB];
-
-GLUTidleCB g_idle_func = NULL;
+GLUTidleCB _glut_idle_func = NULL;
 
 
 void APIENTRY
 glutDisplayFunc (GLUTdisplayCB func)
 {
-   g_curwin->display = func;
+   _glut_current->display = func;
 }
 
 
 void APIENTRY
 glutReshapeFunc (GLUTreshapeCB func)
 {
-   g_curwin->reshape = func;
+   _glut_current->reshape = func;
 }
 
 
 void APIENTRY
 glutKeyboardFunc (GLUTkeyboardCB func)
 {
-   g_curwin->keyboard = func;
+   _glut_current->keyboard = func;
 }
 
 
 void APIENTRY
 glutMouseFunc (GLUTmouseCB func)
 {
-   g_curwin->mouse = func;
+   _glut_current->mouse = func;
 }
 
 
 void APIENTRY
 glutMotionFunc (GLUTmotionCB func)
 {
-   g_curwin->motion = func;
+   _glut_current->motion = func;
 }
 
 
 void APIENTRY
 glutPassiveMotionFunc (GLUTpassiveCB func)
 {
-   g_curwin->passive = func;
+   _glut_current->passive = func;
 }
 
 
 void APIENTRY
 glutEntryFunc (GLUTentryCB func)
 {
-   g_curwin->entry = func;
+   _glut_current->entry = func;
 }
 
 
 void APIENTRY
 glutVisibilityFunc (GLUTvisibilityCB func)
 {
-   g_curwin->visibility = func;
+   _glut_current->visibility = func;
 }
 
 
 void APIENTRY
 glutWindowStatusFunc (GLUTwindowStatusCB func)
 {
+   _glut_current->windowStatus = func;
 }
 
 
 void APIENTRY
 glutIdleFunc (GLUTidleCB func)
 {
-   g_idle_func = func;
+   _glut_idle_func = func;
 }
 
 
@@ -110,8 +107,8 @@ glutTimerFunc (unsigned int millis, GLUTtimerCB func, int value)
    int i;
 
    if (millis > 0) {
-      for (i = 0; i < MAX_SSHOT_CB; i++) {
-         GLUTSShotCB *cb = &g_sscb[i];
+      for (i = 0; i < MAX_TIMER_CB; i++) {
+         GLUTSShotCB *cb = &_glut_timer_cb[i];
          if (cb->func == NULL) {
             cb->value = value;
             cb->func = func;
@@ -126,53 +123,82 @@ glutTimerFunc (unsigned int millis, GLUTtimerCB func, int value)
 void APIENTRY
 glutSpecialFunc (GLUTspecialCB func)
 {
-   g_curwin->special = func;
+   _glut_current->special = func;
 }
 
 
 void APIENTRY
 glutSpaceballMotionFunc (GLUTspaceMotionCB func)
 {
+   _glut_current->spaceMotion = func;
 }
 
 
 void APIENTRY
 glutSpaceballRotateFunc (GLUTspaceRotateCB func)
 {
+   _glut_current->spaceRotate = func;
 }
 
 
 void APIENTRY
 glutSpaceballButtonFunc (GLUTspaceButtonCB func)
 {
+   _glut_current->spaceButton = func;
 }
 
 
 void APIENTRY
 glutDialsFunc (GLUTdialsCB func)
 {
+   _glut_current->dials = func;
 }
 
 
 void APIENTRY
 glutButtonBoxFunc (GLUTbuttonBoxCB func)
 {
+   _glut_current->buttonBox = func;
 }
 
 
 void APIENTRY
 glutTabletMotionFunc (GLUTtabletMotionCB func)
 {
+   _glut_current->tabletMotion = func;
 }
 
 
 void APIENTRY
 glutTabletButtonFunc (GLUTtabletButtonCB func)
 {
+   _glut_current->tabletButton = func;
 }
 
 
 void APIENTRY
 glutJoystickFunc (GLUTjoystickCB func, int interval)
 {
+   _glut_current->joystick = func;
+}
+
+
+void APIENTRY
+glutKeyboardUpFunc (GLUTkeyboardCB func)
+{
+   _glut_current->keyboardUp = func;
+}
+
+
+void APIENTRY
+glutSpecialUpFunc (GLUTspecialCB func)
+{
+   _glut_current->specialUp = func;
+}
+
+
+void APIENTRY
+glutMouseWheelFunc (GLUTmouseWheelCB func)
+{
+   _glut_current->mouseWheel = func;
 }
index c6033c2d561be1e1ad4bd8b9315be390abb07159..5ffc1209a29177ba86dd6abfee2e541f7608e3e9 100644 (file)
@@ -1,34 +1,29 @@
 /*
- * Mesa 3-D graphics library
- * Version:  3.4
- * Copyright (C) 1995-1998  Brian Paul
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.3 for Mesa
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
  *
- *  Copyright (C) 2002 - Daniel Borca
- *  Email : dborca@yahoo.com
- *  Web   : http://www.geocities.com/dborca
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-
-#include "glutint.h"
-#include "GL/dmesa.h"
+#include "internal.h"
 
 
 #define CLAMP(i) ((i) > 1.0F ? 1.0F : ((i) < 0.0F ? 0.0F : (i)))
@@ -37,7 +32,7 @@
 void APIENTRY
 glutSetColor (int ndx, GLfloat red, GLfloat green, GLfloat blue)
 {
-   if (g_display_mode & GLUT_INDEX) {
+   if (_glut_default.mode & GLUT_INDEX) {
       if ((ndx >= 0) && (ndx < (256 - RESERVED_COLORS))) {
          DMesaSetCI(ndx, CLAMP(red), CLAMP(green), CLAMP(blue));
       }
index b0cff698c899c1192462b53568c2b1d4f74cbb60..8bb867264eca02ea3a19195c3a4c824cfa2d51fe 100644 (file)
@@ -1,37 +1,31 @@
 /*
- * Mesa 3-D graphics library
- * Version:  3.4
- * Copyright (C) 1995-1998  Brian Paul
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.5 for Mesa
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
  *
- *  Copyright (C) 2002 - Daniel Borca
- *  Email : dborca@yahoo.com
- *  Web   : http://www.geocities.com/dborca
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
 #include <string.h>
 
-#include <GL/glut.h>
-
-#include "GL/dmesa.h"
+#include "internal.h"
 
 
 int APIENTRY
diff --git a/src/glut/dos/f8x13.c b/src/glut/dos/f8x13.c
new file mode 100644 (file)
index 0000000..bbf58b5
--- /dev/null
@@ -0,0 +1,1183 @@
+/* autogenerated by bdf2c!  do not edit */
+
+/* "Public domain font.  Share and enjoy." */
+
+
+#include "internal.h"
+/*
+typedef struct {
+   int width, height;
+   int xorig, yorig;
+   int xmove;
+   const unsigned char *bitmap;
+} GLUTBitmapChar;
+
+typedef struct {
+   const char *name;
+   int height;
+   int num;
+   const GLUTBitmapChar *const *table;
+} GLUTBitmapFont;
+*/
+
+
+static const unsigned char ch0data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch0 = { 8, 13, 0, 2, 8, ch0data };
+
+static const unsigned char ch1data[] = {
+   0x0,0x0,0x0,0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch1 = { 8, 13, 0, 2, 8, ch1data };
+
+static const unsigned char ch2data[] = {
+   0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x0
+};
+static const GLUTBitmapChar ch2 = { 8, 13, 0, 2, 8, ch2data };
+
+static const unsigned char ch3data[] = {
+   0x8,0x8,0x8,0x3e,0x88,0x88,0xf8,0x88,0x88,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch3 = { 8, 13, 0, 2, 8, ch3data };
+
+static const unsigned char ch4data[] = {
+   0x10,0x10,0x1c,0x10,0x9e,0x80,0xe0,0x80,0xf0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch4 = { 8, 13, 0, 2, 8, ch4data };
+
+static const unsigned char ch5data[] = {
+   0x22,0x22,0x3c,0x22,0x3c,0x78,0x80,0x80,0x78,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch5 = { 8, 13, 0, 2, 8, ch5data };
+
+static const unsigned char ch6data[] = {
+   0x20,0x20,0x3c,0x20,0x3e,0xf8,0x80,0x80,0x80,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch6 = { 8, 13, 0, 2, 8, ch6data };
+
+static const unsigned char ch7data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x38,0x44,0x44,0x38,0x0,0x0
+};
+static const GLUTBitmapChar ch7 = { 8, 13, 0, 2, 8, ch7data };
+
+static const unsigned char ch8data[] = {
+   0x0,0x0,0xfe,0x10,0x10,0xfe,0x10,0x10,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch8 = { 8, 13, 0, 2, 8, ch8data };
+
+static const unsigned char ch9data[] = {
+   0x3e,0x20,0x20,0x20,0x88,0x98,0xa8,0xc8,0x88,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch9 = { 8, 13, 0, 2, 8, ch9data };
+
+static const unsigned char ch10data[] = {
+   0x8,0x8,0x8,0x8,0x3e,0x20,0x50,0x88,0x88,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch10 = { 8, 13, 0, 2, 8, ch10data };
+
+static const unsigned char ch11data[] = {
+   0x0,0x0,0x0,0x0,0x0,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10
+};
+static const GLUTBitmapChar ch11 = { 8, 13, 0, 2, 8, ch11data };
+
+static const unsigned char ch12data[] = {
+   0x10,0x10,0x10,0x10,0x10,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch12 = { 8, 13, 0, 2, 8, ch12data };
+
+static const unsigned char ch13data[] = {
+   0x10,0x10,0x10,0x10,0x10,0x1f,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch13 = { 8, 13, 0, 2, 8, ch13data };
+
+static const unsigned char ch14data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x10
+};
+static const GLUTBitmapChar ch14 = { 8, 13, 0, 2, 8, ch14data };
+
+static const unsigned char ch15data[] = {
+   0x10,0x10,0x10,0x10,0x10,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10
+};
+static const GLUTBitmapChar ch15 = { 8, 13, 0, 2, 8, ch15data };
+
+static const unsigned char ch16data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch16 = { 8, 13, 0, 2, 8, ch16data };
+
+static const unsigned char ch17data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch17 = { 8, 13, 0, 2, 8, ch17data };
+
+static const unsigned char ch18data[] = {
+   0x0,0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch18 = { 8, 13, 0, 2, 8, ch18data };
+
+static const unsigned char ch19data[] = {
+   0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch19 = { 8, 13, 0, 2, 8, ch19data };
+
+static const unsigned char ch20data[] = {
+   0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch20 = { 8, 13, 0, 2, 8, ch20data };
+
+static const unsigned char ch21data[] = {
+   0x10,0x10,0x10,0x10,0x10,0x1f,0x10,0x10,0x10,0x10,0x10,0x10,0x10
+};
+static const GLUTBitmapChar ch21 = { 8, 13, 0, 2, 8, ch21data };
+
+static const unsigned char ch22data[] = {
+   0x10,0x10,0x10,0x10,0x10,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10
+};
+static const GLUTBitmapChar ch22 = { 8, 13, 0, 2, 8, ch22data };
+
+static const unsigned char ch23data[] = {
+   0x0,0x0,0x0,0x0,0x0,0xff,0x10,0x10,0x10,0x10,0x10,0x10,0x10
+};
+static const GLUTBitmapChar ch23 = { 8, 13, 0, 2, 8, ch23data };
+
+static const unsigned char ch24data[] = {
+   0x10,0x10,0x10,0x10,0x10,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch24 = { 8, 13, 0, 2, 8, ch24data };
+
+static const unsigned char ch25data[] = {
+   0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10
+};
+static const GLUTBitmapChar ch25 = { 8, 13, 0, 2, 8, ch25data };
+
+static const unsigned char ch26data[] = {
+   0x0,0x0,0xfe,0x2,0x8,0x20,0x80,0x20,0x8,0x2,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch26 = { 8, 13, 0, 2, 8, ch26data };
+
+static const unsigned char ch27data[] = {
+   0x0,0x0,0xfe,0x80,0x20,0x8,0x2,0x8,0x20,0x80,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch27 = { 8, 13, 0, 2, 8, ch27data };
+
+static const unsigned char ch28data[] = {
+   0x0,0x0,0x44,0x24,0x24,0x24,0x24,0x7e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch28 = { 8, 13, 0, 2, 8, ch28data };
+
+static const unsigned char ch29data[] = {
+   0x0,0x0,0x80,0x40,0xfe,0x10,0xfe,0x4,0x2,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch29 = { 8, 13, 0, 2, 8, ch29data };
+
+static const unsigned char ch30data[] = {
+   0x0,0x0,0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,0x0,0x0
+};
+static const GLUTBitmapChar ch30 = { 8, 13, 0, 2, 8, ch30data };
+
+static const unsigned char ch31data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch31 = { 8, 13, 0, 2, 8, ch31data };
+
+static const unsigned char ch32data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch32 = { 8, 13, 0, 2, 8, ch32data };
+
+static const unsigned char ch33data[] = {
+   0x0,0x0,0x10,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0
+};
+static const GLUTBitmapChar ch33 = { 8, 13, 0, 2, 8, ch33data };
+
+static const unsigned char ch34data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x24,0x24,0x24,0x0,0x0
+};
+static const GLUTBitmapChar ch34 = { 8, 13, 0, 2, 8, ch34data };
+
+static const unsigned char ch35data[] = {
+   0x0,0x0,0x0,0x24,0x24,0x7e,0x24,0x7e,0x24,0x24,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch35 = { 8, 13, 0, 2, 8, ch35data };
+
+static const unsigned char ch36data[] = {
+   0x0,0x0,0x0,0x10,0x78,0x14,0x38,0x50,0x3c,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch36 = { 8, 13, 0, 2, 8, ch36data };
+
+static const unsigned char ch37data[] = {
+   0x0,0x0,0x44,0x2a,0x24,0x10,0x8,0x8,0x24,0x52,0x22,0x0,0x0
+};
+static const GLUTBitmapChar ch37 = { 8, 13, 0, 2, 8, ch37data };
+
+static const unsigned char ch38data[] = {
+   0x0,0x0,0x3a,0x44,0x4a,0x30,0x48,0x48,0x30,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch38 = { 8, 13, 0, 2, 8, ch38data };
+
+static const unsigned char ch39data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x30,0x38,0x0,0x0
+};
+static const GLUTBitmapChar ch39 = { 8, 13, 0, 2, 8, ch39data };
+
+static const unsigned char ch40data[] = {
+   0x0,0x0,0x4,0x8,0x8,0x10,0x10,0x10,0x8,0x8,0x4,0x0,0x0
+};
+static const GLUTBitmapChar ch40 = { 8, 13, 0, 2, 8, ch40data };
+
+static const unsigned char ch41data[] = {
+   0x0,0x0,0x20,0x10,0x10,0x8,0x8,0x8,0x10,0x10,0x20,0x0,0x0
+};
+static const GLUTBitmapChar ch41 = { 8, 13, 0, 2, 8, ch41data };
+
+static const unsigned char ch42data[] = {
+   0x0,0x0,0x0,0x0,0x24,0x18,0x7e,0x18,0x24,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch42 = { 8, 13, 0, 2, 8, ch42data };
+
+static const unsigned char ch43data[] = {
+   0x0,0x0,0x0,0x0,0x10,0x10,0x7c,0x10,0x10,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch43 = { 8, 13, 0, 2, 8, ch43data };
+
+static const unsigned char ch44data[] = {
+   0x0,0x40,0x30,0x38,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch44 = { 8, 13, 0, 2, 8, ch44data };
+
+static const unsigned char ch45data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch45 = { 8, 13, 0, 2, 8, ch45data };
+
+static const unsigned char ch46data[] = {
+   0x0,0x10,0x38,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch46 = { 8, 13, 0, 2, 8, ch46data };
+
+static const unsigned char ch47data[] = {
+   0x0,0x0,0x80,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x2,0x0,0x0
+};
+static const GLUTBitmapChar ch47 = { 8, 13, 0, 2, 8, ch47data };
+
+static const unsigned char ch48data[] = {
+   0x0,0x0,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x0,0x0
+};
+static const GLUTBitmapChar ch48 = { 8, 13, 0, 2, 8, ch48data };
+
+static const unsigned char ch49data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x50,0x30,0x10,0x0,0x0
+};
+static const GLUTBitmapChar ch49 = { 8, 13, 0, 2, 8, ch49data };
+
+static const unsigned char ch50data[] = {
+   0x0,0x0,0x7e,0x40,0x20,0x18,0x4,0x2,0x42,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch50 = { 8, 13, 0, 2, 8, ch50data };
+
+static const unsigned char ch51data[] = {
+   0x0,0x0,0x3c,0x42,0x2,0x2,0x1c,0x8,0x4,0x2,0x7e,0x0,0x0
+};
+static const GLUTBitmapChar ch51 = { 8, 13, 0, 2, 8, ch51data };
+
+static const unsigned char ch52data[] = {
+   0x0,0x0,0x4,0x4,0x7e,0x44,0x44,0x24,0x14,0xc,0x4,0x0,0x0
+};
+static const GLUTBitmapChar ch52 = { 8, 13, 0, 2, 8, ch52data };
+
+static const unsigned char ch53data[] = {
+   0x0,0x0,0x3c,0x42,0x2,0x2,0x62,0x5c,0x40,0x40,0x7e,0x0,0x0
+};
+static const GLUTBitmapChar ch53 = { 8, 13, 0, 2, 8, ch53data };
+
+static const unsigned char ch54data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x62,0x5c,0x40,0x40,0x20,0x1c,0x0,0x0
+};
+static const GLUTBitmapChar ch54 = { 8, 13, 0, 2, 8, ch54data };
+
+static const unsigned char ch55data[] = {
+   0x0,0x0,0x20,0x20,0x10,0x10,0x8,0x8,0x4,0x2,0x7e,0x0,0x0
+};
+static const GLUTBitmapChar ch55 = { 8, 13, 0, 2, 8, ch55data };
+
+static const unsigned char ch56data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x3c,0x42,0x42,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch56 = { 8, 13, 0, 2, 8, ch56data };
+
+static const unsigned char ch57data[] = {
+   0x0,0x0,0x38,0x4,0x2,0x2,0x3a,0x46,0x42,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch57 = { 8, 13, 0, 2, 8, ch57data };
+
+static const unsigned char ch58data[] = {
+   0x0,0x10,0x38,0x10,0x0,0x0,0x10,0x38,0x10,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch58 = { 8, 13, 0, 2, 8, ch58data };
+
+static const unsigned char ch59data[] = {
+   0x0,0x40,0x30,0x38,0x0,0x0,0x10,0x38,0x10,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch59 = { 8, 13, 0, 2, 8, ch59data };
+
+static const unsigned char ch60data[] = {
+   0x0,0x0,0x2,0x4,0x8,0x10,0x20,0x10,0x8,0x4,0x2,0x0,0x0
+};
+static const GLUTBitmapChar ch60 = { 8, 13, 0, 2, 8, ch60data };
+
+static const unsigned char ch61data[] = {
+   0x0,0x0,0x0,0x0,0x7e,0x0,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch61 = { 8, 13, 0, 2, 8, ch61data };
+
+static const unsigned char ch62data[] = {
+   0x0,0x0,0x40,0x20,0x10,0x8,0x4,0x8,0x10,0x20,0x40,0x0,0x0
+};
+static const GLUTBitmapChar ch62 = { 8, 13, 0, 2, 8, ch62data };
+
+static const unsigned char ch63data[] = {
+   0x0,0x0,0x8,0x0,0x8,0x8,0x4,0x2,0x42,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch63 = { 8, 13, 0, 2, 8, ch63data };
+
+static const unsigned char ch64data[] = {
+   0x0,0x0,0x3c,0x40,0x4a,0x56,0x52,0x4e,0x42,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch64 = { 8, 13, 0, 2, 8, ch64data };
+
+static const unsigned char ch65data[] = {
+   0x0,0x0,0x42,0x42,0x42,0x7e,0x42,0x42,0x42,0x24,0x18,0x0,0x0
+};
+static const GLUTBitmapChar ch65 = { 8, 13, 0, 2, 8, ch65data };
+
+static const unsigned char ch66data[] = {
+   0x0,0x0,0xfc,0x42,0x42,0x42,0x7c,0x42,0x42,0x42,0xfc,0x0,0x0
+};
+static const GLUTBitmapChar ch66 = { 8, 13, 0, 2, 8, ch66data };
+
+static const unsigned char ch67data[] = {
+   0x0,0x0,0x3c,0x42,0x40,0x40,0x40,0x40,0x40,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch67 = { 8, 13, 0, 2, 8, ch67data };
+
+static const unsigned char ch68data[] = {
+   0x0,0x0,0xfc,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfc,0x0,0x0
+};
+static const GLUTBitmapChar ch68 = { 8, 13, 0, 2, 8, ch68data };
+
+static const unsigned char ch69data[] = {
+   0x0,0x0,0x7e,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x7e,0x0,0x0
+};
+static const GLUTBitmapChar ch69 = { 8, 13, 0, 2, 8, ch69data };
+
+static const unsigned char ch70data[] = {
+   0x0,0x0,0x40,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x7e,0x0,0x0
+};
+static const GLUTBitmapChar ch70 = { 8, 13, 0, 2, 8, ch70data };
+
+static const unsigned char ch71data[] = {
+   0x0,0x0,0x3a,0x46,0x42,0x4e,0x40,0x40,0x40,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch71 = { 8, 13, 0, 2, 8, ch71data };
+
+static const unsigned char ch72data[] = {
+   0x0,0x0,0x42,0x42,0x42,0x42,0x7e,0x42,0x42,0x42,0x42,0x0,0x0
+};
+static const GLUTBitmapChar ch72 = { 8, 13, 0, 2, 8, ch72data };
+
+static const unsigned char ch73data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7c,0x0,0x0
+};
+static const GLUTBitmapChar ch73 = { 8, 13, 0, 2, 8, ch73data };
+
+static const unsigned char ch74data[] = {
+   0x0,0x0,0x38,0x44,0x4,0x4,0x4,0x4,0x4,0x4,0x1e,0x0,0x0
+};
+static const GLUTBitmapChar ch74 = { 8, 13, 0, 2, 8, ch74data };
+
+static const unsigned char ch75data[] = {
+   0x0,0x0,0x42,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x42,0x0,0x0
+};
+static const GLUTBitmapChar ch75 = { 8, 13, 0, 2, 8, ch75data };
+
+static const unsigned char ch76data[] = {
+   0x0,0x0,0x7e,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x0
+};
+static const GLUTBitmapChar ch76 = { 8, 13, 0, 2, 8, ch76data };
+
+static const unsigned char ch77data[] = {
+   0x0,0x0,0x82,0x82,0x82,0x92,0x92,0xaa,0xc6,0x82,0x82,0x0,0x0
+};
+static const GLUTBitmapChar ch77 = { 8, 13, 0, 2, 8, ch77data };
+
+static const unsigned char ch78data[] = {
+   0x0,0x0,0x42,0x42,0x42,0x46,0x4a,0x52,0x62,0x42,0x42,0x0,0x0
+};
+static const GLUTBitmapChar ch78 = { 8, 13, 0, 2, 8, ch78data };
+
+static const unsigned char ch79data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch79 = { 8, 13, 0, 2, 8, ch79data };
+
+static const unsigned char ch80data[] = {
+   0x0,0x0,0x40,0x40,0x40,0x40,0x7c,0x42,0x42,0x42,0x7c,0x0,0x0
+};
+static const GLUTBitmapChar ch80 = { 8, 13, 0, 2, 8, ch80data };
+
+static const unsigned char ch81data[] = {
+   0x0,0x2,0x3c,0x4a,0x52,0x42,0x42,0x42,0x42,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch81 = { 8, 13, 0, 2, 8, ch81data };
+
+static const unsigned char ch82data[] = {
+   0x0,0x0,0x42,0x44,0x48,0x50,0x7c,0x42,0x42,0x42,0x7c,0x0,0x0
+};
+static const GLUTBitmapChar ch82 = { 8, 13, 0, 2, 8, ch82data };
+
+static const unsigned char ch83data[] = {
+   0x0,0x0,0x3c,0x42,0x2,0x2,0x3c,0x40,0x40,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch83 = { 8, 13, 0, 2, 8, ch83data };
+
+static const unsigned char ch84data[] = {
+   0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe,0x0,0x0
+};
+static const GLUTBitmapChar ch84 = { 8, 13, 0, 2, 8, ch84data };
+
+static const unsigned char ch85data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x0,0x0
+};
+static const GLUTBitmapChar ch85 = { 8, 13, 0, 2, 8, ch85data };
+
+static const unsigned char ch86data[] = {
+   0x0,0x0,0x10,0x28,0x28,0x28,0x44,0x44,0x44,0x82,0x82,0x0,0x0
+};
+static const GLUTBitmapChar ch86 = { 8, 13, 0, 2, 8, ch86data };
+
+static const unsigned char ch87data[] = {
+   0x0,0x0,0x44,0xaa,0x92,0x92,0x92,0x82,0x82,0x82,0x82,0x0,0x0
+};
+static const GLUTBitmapChar ch87 = { 8, 13, 0, 2, 8, ch87data };
+
+static const unsigned char ch88data[] = {
+   0x0,0x0,0x82,0x82,0x44,0x28,0x10,0x28,0x44,0x82,0x82,0x0,0x0
+};
+static const GLUTBitmapChar ch88 = { 8, 13, 0, 2, 8, ch88data };
+
+static const unsigned char ch89data[] = {
+   0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x28,0x44,0x82,0x82,0x0,0x0
+};
+static const GLUTBitmapChar ch89 = { 8, 13, 0, 2, 8, ch89data };
+
+static const unsigned char ch90data[] = {
+   0x0,0x0,0x7e,0x40,0x40,0x20,0x10,0x8,0x4,0x2,0x7e,0x0,0x0
+};
+static const GLUTBitmapChar ch90 = { 8, 13, 0, 2, 8, ch90data };
+
+static const unsigned char ch91data[] = {
+   0x0,0x0,0x3c,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch91 = { 8, 13, 0, 2, 8, ch91data };
+
+static const unsigned char ch92data[] = {
+   0x0,0x0,0x2,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x80,0x0,0x0
+};
+static const GLUTBitmapChar ch92 = { 8, 13, 0, 2, 8, ch92data };
+
+static const unsigned char ch93data[] = {
+   0x0,0x0,0x78,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x78,0x0,0x0
+};
+static const GLUTBitmapChar ch93 = { 8, 13, 0, 2, 8, ch93data };
+
+static const unsigned char ch94data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44,0x28,0x10,0x0,0x0
+};
+static const GLUTBitmapChar ch94 = { 8, 13, 0, 2, 8, ch94data };
+
+static const unsigned char ch95data[] = {
+   0x0,0xfe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch95 = { 8, 13, 0, 2, 8, ch95data };
+
+static const unsigned char ch96data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x18,0x38,0x0,0x0
+};
+static const GLUTBitmapChar ch96 = { 8, 13, 0, 2, 8, ch96data };
+
+static const unsigned char ch97data[] = {
+   0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch97 = { 8, 13, 0, 2, 8, ch97data };
+
+static const unsigned char ch98data[] = {
+   0x0,0x0,0x5c,0x62,0x42,0x42,0x62,0x5c,0x40,0x40,0x40,0x0,0x0
+};
+static const GLUTBitmapChar ch98 = { 8, 13, 0, 2, 8, ch98data };
+
+static const unsigned char ch99data[] = {
+   0x0,0x0,0x3c,0x42,0x40,0x40,0x42,0x3c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch99 = { 8, 13, 0, 2, 8, ch99data };
+
+static const unsigned char ch100data[] = {
+   0x0,0x0,0x3a,0x46,0x42,0x42,0x46,0x3a,0x2,0x2,0x2,0x0,0x0
+};
+static const GLUTBitmapChar ch100 = { 8, 13, 0, 2, 8, ch100data };
+
+static const unsigned char ch101data[] = {
+   0x0,0x0,0x3c,0x42,0x40,0x7e,0x42,0x3c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch101 = { 8, 13, 0, 2, 8, ch101data };
+
+static const unsigned char ch102data[] = {
+   0x0,0x0,0x20,0x20,0x20,0x20,0x7c,0x20,0x20,0x22,0x1c,0x0,0x0
+};
+static const GLUTBitmapChar ch102 = { 8, 13, 0, 2, 8, ch102data };
+
+static const unsigned char ch103data[] = {
+   0x3c,0x42,0x3c,0x40,0x38,0x44,0x44,0x3a,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch103 = { 8, 13, 0, 2, 8, ch103data };
+
+static const unsigned char ch104data[] = {
+   0x0,0x0,0x42,0x42,0x42,0x42,0x62,0x5c,0x40,0x40,0x40,0x0,0x0
+};
+static const GLUTBitmapChar ch104 = { 8, 13, 0, 2, 8, ch104data };
+
+static const unsigned char ch105data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x30,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch105 = { 8, 13, 0, 2, 8, ch105data };
+
+static const unsigned char ch106data[] = {
+   0x38,0x44,0x44,0x4,0x4,0x4,0x4,0xc,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch106 = { 8, 13, 0, 2, 8, ch106data };
+
+static const unsigned char ch107data[] = {
+   0x0,0x0,0x42,0x44,0x48,0x70,0x48,0x44,0x40,0x40,0x40,0x0,0x0
+};
+static const GLUTBitmapChar ch107 = { 8, 13, 0, 2, 8, ch107data };
+
+static const unsigned char ch108data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x30,0x0,0x0
+};
+static const GLUTBitmapChar ch108 = { 8, 13, 0, 2, 8, ch108data };
+
+static const unsigned char ch109data[] = {
+   0x0,0x0,0x82,0x92,0x92,0x92,0x92,0xec,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch109 = { 8, 13, 0, 2, 8, ch109data };
+
+static const unsigned char ch110data[] = {
+   0x0,0x0,0x42,0x42,0x42,0x42,0x62,0x5c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch110 = { 8, 13, 0, 2, 8, ch110data };
+
+static const unsigned char ch111data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch111 = { 8, 13, 0, 2, 8, ch111data };
+
+static const unsigned char ch112data[] = {
+   0x40,0x40,0x40,0x5c,0x62,0x42,0x62,0x5c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch112 = { 8, 13, 0, 2, 8, ch112data };
+
+static const unsigned char ch113data[] = {
+   0x2,0x2,0x2,0x3a,0x46,0x42,0x46,0x3a,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch113 = { 8, 13, 0, 2, 8, ch113data };
+
+static const unsigned char ch114data[] = {
+   0x0,0x0,0x20,0x20,0x20,0x20,0x22,0x5c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch114 = { 8, 13, 0, 2, 8, ch114data };
+
+static const unsigned char ch115data[] = {
+   0x0,0x0,0x3c,0x42,0xc,0x30,0x42,0x3c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch115 = { 8, 13, 0, 2, 8, ch115data };
+
+static const unsigned char ch116data[] = {
+   0x0,0x0,0x1c,0x22,0x20,0x20,0x20,0x7c,0x20,0x20,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch116 = { 8, 13, 0, 2, 8, ch116data };
+
+static const unsigned char ch117data[] = {
+   0x0,0x0,0x3a,0x44,0x44,0x44,0x44,0x44,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch117 = { 8, 13, 0, 2, 8, ch117data };
+
+static const unsigned char ch118data[] = {
+   0x0,0x0,0x10,0x28,0x28,0x44,0x44,0x44,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch118 = { 8, 13, 0, 2, 8, ch118data };
+
+static const unsigned char ch119data[] = {
+   0x0,0x0,0x44,0xaa,0x92,0x92,0x82,0x82,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch119 = { 8, 13, 0, 2, 8, ch119data };
+
+static const unsigned char ch120data[] = {
+   0x0,0x0,0x42,0x24,0x18,0x18,0x24,0x42,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch120 = { 8, 13, 0, 2, 8, ch120data };
+
+static const unsigned char ch121data[] = {
+   0x3c,0x42,0x2,0x3a,0x46,0x42,0x42,0x42,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch121 = { 8, 13, 0, 2, 8, ch121data };
+
+static const unsigned char ch122data[] = {
+   0x0,0x0,0x7e,0x20,0x10,0x8,0x4,0x7e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch122 = { 8, 13, 0, 2, 8, ch122data };
+
+static const unsigned char ch123data[] = {
+   0x0,0x0,0xe,0x10,0x10,0x8,0x30,0x8,0x10,0x10,0xe,0x0,0x0
+};
+static const GLUTBitmapChar ch123 = { 8, 13, 0, 2, 8, ch123data };
+
+static const unsigned char ch124data[] = {
+   0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x0
+};
+static const GLUTBitmapChar ch124 = { 8, 13, 0, 2, 8, ch124data };
+
+static const unsigned char ch125data[] = {
+   0x0,0x0,0x70,0x8,0x8,0x10,0xc,0x10,0x8,0x8,0x70,0x0,0x0
+};
+static const GLUTBitmapChar ch125 = { 8, 13, 0, 2, 8, ch125data };
+
+static const unsigned char ch126data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x54,0x24,0x0,0x0
+};
+static const GLUTBitmapChar ch126 = { 8, 13, 0, 2, 8, ch126data };
+
+static const unsigned char ch127data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch127 = { 8, 13, 0, 2, 8, ch127data };
+
+static const unsigned char ch160data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch160 = { 8, 13, 0, 2, 8, ch160data };
+
+static const unsigned char ch161data[] = {
+   0x0,0x0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0,0x10,0x0,0x0
+};
+static const GLUTBitmapChar ch161 = { 8, 13, 0, 2, 8, ch161data };
+
+static const unsigned char ch162data[] = {
+   0x0,0x0,0x0,0x10,0x38,0x54,0x50,0x50,0x54,0x38,0x10,0x0,0x0
+};
+static const GLUTBitmapChar ch162 = { 8, 13, 0, 2, 8, ch162data };
+
+static const unsigned char ch163data[] = {
+   0x0,0x0,0xdc,0x62,0x20,0x20,0x20,0x70,0x20,0x22,0x1c,0x0,0x0
+};
+static const GLUTBitmapChar ch163 = { 8, 13, 0, 2, 8, ch163data };
+
+static const unsigned char ch164data[] = {
+   0x0,0x0,0x0,0x42,0x3c,0x24,0x24,0x3c,0x42,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch164 = { 8, 13, 0, 2, 8, ch164data };
+
+static const unsigned char ch165data[] = {
+   0x0,0x0,0x10,0x10,0x7c,0x10,0x7c,0x28,0x44,0x82,0x82,0x0,0x0
+};
+static const GLUTBitmapChar ch165 = { 8, 13, 0, 2, 8, ch165data };
+
+static const unsigned char ch166data[] = {
+   0x0,0x0,0x10,0x10,0x10,0x10,0x0,0x10,0x10,0x10,0x10,0x0,0x0
+};
+static const GLUTBitmapChar ch166 = { 8, 13, 0, 2, 8, ch166data };
+
+static const unsigned char ch167data[] = {
+   0x0,0x0,0x18,0x24,0x4,0x18,0x24,0x24,0x18,0x20,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch167 = { 8, 13, 0, 2, 8, ch167data };
+
+static const unsigned char ch168data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6c,0x0,0x0
+};
+static const GLUTBitmapChar ch168 = { 8, 13, 0, 2, 8, ch168data };
+
+static const unsigned char ch169data[] = {
+   0x0,0x0,0x0,0x38,0x44,0x92,0xaa,0xa2,0xaa,0x92,0x44,0x38,0x0
+};
+static const GLUTBitmapChar ch169 = { 8, 13, 0, 2, 8, ch169data };
+
+static const unsigned char ch170data[] = {
+   0x0,0x0,0x0,0x0,0x7c,0x0,0x3c,0x44,0x3c,0x4,0x38,0x0,0x0
+};
+static const GLUTBitmapChar ch170 = { 8, 13, 0, 2, 8, ch170data };
+
+static const unsigned char ch171data[] = {
+   0x0,0x0,0x0,0x12,0x24,0x48,0x90,0x48,0x24,0x12,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch171 = { 8, 13, 0, 2, 8, ch171data };
+
+static const unsigned char ch172data[] = {
+   0x0,0x0,0x0,0x2,0x2,0x2,0x7e,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch172 = { 8, 13, 0, 2, 8, ch172data };
+
+static const unsigned char ch173data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch173 = { 8, 13, 0, 2, 8, ch173data };
+
+static const unsigned char ch174data[] = {
+   0x0,0x0,0x0,0x38,0x44,0xaa,0xb2,0xaa,0xaa,0x92,0x44,0x38,0x0
+};
+static const GLUTBitmapChar ch174 = { 8, 13, 0, 2, 8, ch174data };
+
+static const unsigned char ch175data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x0
+};
+static const GLUTBitmapChar ch175 = { 8, 13, 0, 2, 8, ch175data };
+
+static const unsigned char ch176data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x24,0x24,0x18,0x0,0x0
+};
+static const GLUTBitmapChar ch176 = { 8, 13, 0, 2, 8, ch176data };
+
+static const unsigned char ch177data[] = {
+   0x0,0x0,0x0,0x7c,0x0,0x10,0x10,0x7c,0x10,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch177 = { 8, 13, 0, 2, 8, ch177data };
+
+static const unsigned char ch178data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x40,0x30,0x8,0x48,0x30,0x0
+};
+static const GLUTBitmapChar ch178 = { 8, 13, 0, 2, 8, ch178data };
+
+static const unsigned char ch179data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x48,0x8,0x10,0x48,0x30,0x0
+};
+static const GLUTBitmapChar ch179 = { 8, 13, 0, 2, 8, ch179data };
+
+static const unsigned char ch180data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch180 = { 8, 13, 0, 2, 8, ch180data };
+
+static const unsigned char ch181data[] = {
+   0x0,0x40,0x5a,0x66,0x42,0x42,0x42,0x42,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch181 = { 8, 13, 0, 2, 8, ch181data };
+
+static const unsigned char ch182data[] = {
+   0x0,0x0,0x14,0x14,0x14,0x14,0x34,0x74,0x74,0x74,0x3e,0x0,0x0
+};
+static const GLUTBitmapChar ch182 = { 8, 13, 0, 2, 8, ch182data };
+
+static const unsigned char ch183data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch183 = { 8, 13, 0, 2, 8, ch183data };
+
+static const unsigned char ch184data[] = {
+   0x18,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch184 = { 8, 13, 0, 2, 8, ch184data };
+
+static const unsigned char ch185data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x20,0x20,0x20,0x60,0x20,0x0
+};
+static const GLUTBitmapChar ch185 = { 8, 13, 0, 2, 8, ch185data };
+
+static const unsigned char ch186data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x78,0x0,0x30,0x48,0x48,0x30,0x0,0x0
+};
+static const GLUTBitmapChar ch186 = { 8, 13, 0, 2, 8, ch186data };
+
+static const unsigned char ch187data[] = {
+   0x0,0x0,0x0,0x90,0x48,0x24,0x12,0x24,0x48,0x90,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch187 = { 8, 13, 0, 2, 8, ch187data };
+
+static const unsigned char ch188data[] = {
+   0x0,0x0,0x6,0x1a,0x12,0xa,0xe6,0x42,0x40,0x40,0xc0,0x40,0x0
+};
+static const GLUTBitmapChar ch188 = { 8, 13, 0, 2, 8, ch188data };
+
+static const unsigned char ch189data[] = {
+   0x0,0x0,0x1e,0x10,0xc,0x2,0xf2,0x4c,0x40,0x40,0xc0,0x40,0x0
+};
+static const GLUTBitmapChar ch189 = { 8, 13, 0, 2, 8, ch189data };
+
+static const unsigned char ch190data[] = {
+   0x0,0x0,0x6,0x1a,0x12,0xa,0x66,0x92,0x10,0x20,0x90,0x60,0x0
+};
+static const GLUTBitmapChar ch190 = { 8, 13, 0, 2, 8, ch190data };
+
+static const unsigned char ch191data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x40,0x20,0x10,0x10,0x0,0x10,0x0,0x0
+};
+static const GLUTBitmapChar ch191 = { 8, 13, 0, 2, 8, ch191data };
+
+static const unsigned char ch192data[] = {
+   0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x0,0x8,0x10,0x0
+};
+static const GLUTBitmapChar ch192 = { 8, 13, 0, 2, 8, ch192data };
+
+static const unsigned char ch193data[] = {
+   0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch193 = { 8, 13, 0, 2, 8, ch193data };
+
+static const unsigned char ch194data[] = {
+   0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x0,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch194 = { 8, 13, 0, 2, 8, ch194data };
+
+static const unsigned char ch195data[] = {
+   0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x0,0x28,0x14,0x0
+};
+static const GLUTBitmapChar ch195 = { 8, 13, 0, 2, 8, ch195data };
+
+static const unsigned char ch196data[] = {
+   0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x0,0x24,0x24,0x0
+};
+static const GLUTBitmapChar ch196 = { 8, 13, 0, 2, 8, ch196data };
+
+static const unsigned char ch197data[] = {
+   0x0,0x0,0x42,0x42,0x7e,0x42,0x42,0x24,0x18,0x18,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch197 = { 8, 13, 0, 2, 8, ch197data };
+
+static const unsigned char ch198data[] = {
+   0x0,0x0,0x9e,0x90,0x90,0xf0,0x9c,0x90,0x90,0x90,0x6e,0x0,0x0
+};
+static const GLUTBitmapChar ch198 = { 8, 13, 0, 2, 8, ch198data };
+
+static const unsigned char ch199data[] = {
+   0x10,0x8,0x3c,0x42,0x40,0x40,0x40,0x40,0x40,0x42,0x3c,0x0,0x0
+};
+static const GLUTBitmapChar ch199 = { 8, 13, 0, 2, 8, ch199data };
+
+static const unsigned char ch200data[] = {
+   0x0,0x0,0x7e,0x40,0x40,0x78,0x40,0x40,0x7e,0x0,0x8,0x10,0x0
+};
+static const GLUTBitmapChar ch200 = { 8, 13, 0, 2, 8, ch200data };
+
+static const unsigned char ch201data[] = {
+   0x0,0x0,0x7e,0x40,0x40,0x78,0x40,0x40,0x7e,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch201 = { 8, 13, 0, 2, 8, ch201data };
+
+static const unsigned char ch202data[] = {
+   0x0,0x0,0x7e,0x40,0x40,0x78,0x40,0x40,0x7e,0x0,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch202 = { 8, 13, 0, 2, 8, ch202data };
+
+static const unsigned char ch203data[] = {
+   0x0,0x0,0x7e,0x40,0x40,0x78,0x40,0x40,0x7e,0x0,0x24,0x24,0x0
+};
+static const GLUTBitmapChar ch203 = { 8, 13, 0, 2, 8, ch203data };
+
+static const unsigned char ch204data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x7c,0x0,0x8,0x10,0x0
+};
+static const GLUTBitmapChar ch204 = { 8, 13, 0, 2, 8, ch204data };
+
+static const unsigned char ch205data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x7c,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch205 = { 8, 13, 0, 2, 8, ch205data };
+
+static const unsigned char ch206data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x7c,0x0,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch206 = { 8, 13, 0, 2, 8, ch206data };
+
+static const unsigned char ch207data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x10,0x7c,0x0,0x28,0x28,0x0
+};
+static const GLUTBitmapChar ch207 = { 8, 13, 0, 2, 8, ch207data };
+
+static const unsigned char ch208data[] = {
+   0x0,0x0,0xfc,0x42,0x42,0x42,0xe2,0x42,0x42,0x42,0xfc,0x0,0x0
+};
+static const GLUTBitmapChar ch208 = { 8, 13, 0, 2, 8, ch208data };
+
+static const unsigned char ch209data[] = {
+   0x0,0x0,0x82,0x86,0x8a,0x92,0xa2,0xc2,0x82,0x0,0x28,0x14,0x0
+};
+static const GLUTBitmapChar ch209 = { 8, 13, 0, 2, 8, ch209data };
+
+static const unsigned char ch210data[] = {
+   0x0,0x0,0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x8,0x10,0x0
+};
+static const GLUTBitmapChar ch210 = { 8, 13, 0, 2, 8, ch210data };
+
+static const unsigned char ch211data[] = {
+   0x0,0x0,0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch211 = { 8, 13, 0, 2, 8, ch211data };
+
+static const unsigned char ch212data[] = {
+   0x0,0x0,0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch212 = { 8, 13, 0, 2, 8, ch212data };
+
+static const unsigned char ch213data[] = {
+   0x0,0x0,0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x14,0x0
+};
+static const GLUTBitmapChar ch213 = { 8, 13, 0, 2, 8, ch213data };
+
+static const unsigned char ch214data[] = {
+   0x0,0x0,0x7c,0x82,0x82,0x82,0x82,0x82,0x7c,0x0,0x28,0x28,0x0
+};
+static const GLUTBitmapChar ch214 = { 8, 13, 0, 2, 8, ch214data };
+
+static const unsigned char ch215data[] = {
+   0x0,0x0,0x0,0x42,0x24,0x18,0x18,0x24,0x42,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch215 = { 8, 13, 0, 2, 8, ch215data };
+
+static const unsigned char ch216data[] = {
+   0x0,0x40,0x3c,0x62,0x52,0x52,0x52,0x4a,0x4a,0x46,0x3c,0x2,0x0
+};
+static const GLUTBitmapChar ch216 = { 8, 13, 0, 2, 8, ch216data };
+
+static const unsigned char ch217data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x0,0x8,0x10,0x0
+};
+static const GLUTBitmapChar ch217 = { 8, 13, 0, 2, 8, ch217data };
+
+static const unsigned char ch218data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch218 = { 8, 13, 0, 2, 8, ch218data };
+
+static const unsigned char ch219data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x0,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch219 = { 8, 13, 0, 2, 8, ch219data };
+
+static const unsigned char ch220data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x0,0x24,0x24,0x0
+};
+static const GLUTBitmapChar ch220 = { 8, 13, 0, 2, 8, ch220data };
+
+static const unsigned char ch221data[] = {
+   0x0,0x0,0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch221 = { 8, 13, 0, 2, 8, ch221data };
+
+static const unsigned char ch222data[] = {
+   0x0,0x0,0x40,0x40,0x40,0x7c,0x42,0x42,0x42,0x7c,0x40,0x0,0x0
+};
+static const GLUTBitmapChar ch222 = { 8, 13, 0, 2, 8, ch222data };
+
+static const unsigned char ch223data[] = {
+   0x0,0x40,0x5c,0x62,0x42,0x42,0x7c,0x42,0x42,0x3c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch223 = { 8, 13, 0, 2, 8, ch223data };
+
+static const unsigned char ch224data[] = {
+   0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x8,0x10,0x0
+};
+static const GLUTBitmapChar ch224 = { 8, 13, 0, 2, 8, ch224data };
+
+static const unsigned char ch225data[] = {
+   0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch225 = { 8, 13, 0, 2, 8, ch225data };
+
+static const unsigned char ch226data[] = {
+   0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch226 = { 8, 13, 0, 2, 8, ch226data };
+
+static const unsigned char ch227data[] = {
+   0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x28,0x14,0x0
+};
+static const GLUTBitmapChar ch227 = { 8, 13, 0, 2, 8, ch227data };
+
+static const unsigned char ch228data[] = {
+   0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x0,0x24,0x24,0x0
+};
+static const GLUTBitmapChar ch228 = { 8, 13, 0, 2, 8, ch228data };
+
+static const unsigned char ch229data[] = {
+   0x0,0x0,0x3a,0x46,0x42,0x3e,0x2,0x3c,0x0,0x18,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch229 = { 8, 13, 0, 2, 8, ch229data };
+
+static const unsigned char ch230data[] = {
+   0x0,0x0,0x6c,0x92,0x90,0x7c,0x12,0x6c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch230 = { 8, 13, 0, 2, 8, ch230data };
+
+static const unsigned char ch231data[] = {
+   0x10,0x8,0x3c,0x42,0x40,0x40,0x42,0x3c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch231 = { 8, 13, 0, 2, 8, ch231data };
+
+static const unsigned char ch232data[] = {
+   0x0,0x0,0x3c,0x42,0x40,0x7e,0x42,0x3c,0x0,0x0,0x8,0x10,0x0
+};
+static const GLUTBitmapChar ch232 = { 8, 13, 0, 2, 8, ch232data };
+
+static const unsigned char ch233data[] = {
+   0x0,0x0,0x3c,0x42,0x40,0x7e,0x42,0x3c,0x0,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch233 = { 8, 13, 0, 2, 8, ch233data };
+
+static const unsigned char ch234data[] = {
+   0x0,0x0,0x3c,0x42,0x40,0x7e,0x42,0x3c,0x0,0x0,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch234 = { 8, 13, 0, 2, 8, ch234data };
+
+static const unsigned char ch235data[] = {
+   0x0,0x0,0x3c,0x42,0x40,0x7e,0x42,0x3c,0x0,0x0,0x24,0x24,0x0
+};
+static const GLUTBitmapChar ch235 = { 8, 13, 0, 2, 8, ch235data };
+
+static const unsigned char ch236data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x30,0x0,0x0,0x10,0x20,0x0
+};
+static const GLUTBitmapChar ch236 = { 8, 13, 0, 2, 8, ch236data };
+
+static const unsigned char ch237data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x30,0x0,0x0,0x20,0x10,0x0
+};
+static const GLUTBitmapChar ch237 = { 8, 13, 0, 2, 8, ch237data };
+
+static const unsigned char ch238data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x30,0x0,0x0,0x48,0x30,0x0
+};
+static const GLUTBitmapChar ch238 = { 8, 13, 0, 2, 8, ch238data };
+
+static const unsigned char ch239data[] = {
+   0x0,0x0,0x7c,0x10,0x10,0x10,0x10,0x30,0x0,0x0,0x28,0x28,0x0
+};
+static const GLUTBitmapChar ch239 = { 8, 13, 0, 2, 8, ch239data };
+
+static const unsigned char ch240data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x4,0x28,0x18,0x24,0x0
+};
+static const GLUTBitmapChar ch240 = { 8, 13, 0, 2, 8, ch240data };
+
+static const unsigned char ch241data[] = {
+   0x0,0x0,0x42,0x42,0x42,0x42,0x62,0x5c,0x0,0x0,0x28,0x14,0x0
+};
+static const GLUTBitmapChar ch241 = { 8, 13, 0, 2, 8, ch241data };
+
+static const unsigned char ch242data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x8,0x10,0x0
+};
+static const GLUTBitmapChar ch242 = { 8, 13, 0, 2, 8, ch242data };
+
+static const unsigned char ch243data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch243 = { 8, 13, 0, 2, 8, ch243data };
+
+static const unsigned char ch244data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch244 = { 8, 13, 0, 2, 8, ch244data };
+
+static const unsigned char ch245data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x28,0x14,0x0
+};
+static const GLUTBitmapChar ch245 = { 8, 13, 0, 2, 8, ch245data };
+
+static const unsigned char ch246data[] = {
+   0x0,0x0,0x3c,0x42,0x42,0x42,0x42,0x3c,0x0,0x0,0x24,0x24,0x0
+};
+static const GLUTBitmapChar ch246 = { 8, 13, 0, 2, 8, ch246data };
+
+static const unsigned char ch247data[] = {
+   0x0,0x0,0x0,0x10,0x10,0x0,0x7c,0x0,0x10,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch247 = { 8, 13, 0, 2, 8, ch247data };
+
+static const unsigned char ch248data[] = {
+   0x0,0x40,0x3c,0x62,0x52,0x4a,0x46,0x3c,0x2,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch248 = { 8, 13, 0, 2, 8, ch248data };
+
+static const unsigned char ch249data[] = {
+   0x0,0x0,0x3a,0x44,0x44,0x44,0x44,0x44,0x0,0x0,0x8,0x10,0x0
+};
+static const GLUTBitmapChar ch249 = { 8, 13, 0, 2, 8, ch249data };
+
+static const unsigned char ch250data[] = {
+   0x0,0x0,0x3a,0x44,0x44,0x44,0x44,0x44,0x0,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch250 = { 8, 13, 0, 2, 8, ch250data };
+
+static const unsigned char ch251data[] = {
+   0x0,0x0,0x3a,0x44,0x44,0x44,0x44,0x44,0x0,0x0,0x24,0x18,0x0
+};
+static const GLUTBitmapChar ch251 = { 8, 13, 0, 2, 8, ch251data };
+
+static const unsigned char ch252data[] = {
+   0x0,0x0,0x3a,0x44,0x44,0x44,0x44,0x44,0x0,0x0,0x24,0x24,0x0
+};
+static const GLUTBitmapChar ch252 = { 8, 13, 0, 2, 8, ch252data };
+
+static const unsigned char ch253data[] = {
+   0x3c,0x42,0x2,0x3a,0x46,0x42,0x42,0x42,0x0,0x0,0x10,0x8,0x0
+};
+static const GLUTBitmapChar ch253 = { 8, 13, 0, 2, 8, ch253data };
+
+static const unsigned char ch254data[] = {
+   0x40,0x40,0x5c,0x62,0x42,0x42,0x62,0x5c,0x40,0x40,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch254 = { 8, 13, 0, 2, 8, ch254data };
+
+static const unsigned char ch255data[] = {
+   0x3c,0x42,0x2,0x3a,0x46,0x42,0x42,0x42,0x0,0x0,0x24,0x24,0x0
+};
+static const GLUTBitmapChar ch255 = { 8, 13, 0, 2, 8, ch255data };
+
+
+static const GLUTBitmapChar *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
+};
+
+const GLUTBitmapFont glutBitmap8By13 = {
+   "-Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO8859-1",
+   13, 256, chars
+};
diff --git a/src/glut/dos/f9x15.c b/src/glut/dos/f9x15.c
new file mode 100644 (file)
index 0000000..0e7cd6d
--- /dev/null
@@ -0,0 +1,1407 @@
+/* autogenerated by bdf2c!  do not edit */
+
+/* "Public domain terminal emulator font.  Share and enjoy." */
+
+
+#include "internal.h"
+/*
+typedef struct {
+   int width, height;
+   int xorig, yorig;
+   int xmove;
+   const unsigned char *bitmap;
+} GLUTBitmapChar;
+
+typedef struct {
+   const char *name;
+   int height;
+   int num;
+   const GLUTBitmapChar *const *table;
+} GLUTBitmapFont;
+*/
+
+
+static const unsigned char ch0data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch0 = { 9, 15, 0, 3, 9, ch0data };
+
+static const unsigned char ch1data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x1c,0x0,0x3e,0x0,0x7f,0x0,0x3e,0x0,
+   0x1c,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch1 = { 9, 15, 0, 3, 9, ch1data };
+
+static const unsigned char ch2data[] = {
+   0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,
+   0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,0x55,0x0,0xaa,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch2 = { 9, 15, 0, 3, 9, ch2data };
+
+static const unsigned char ch3data[] = {
+   0x0,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x1f,0x0,0x0,0x0,0x44,0x0,0x44,0x0,
+   0x7c,0x0,0x44,0x0,0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch3 = { 9, 15, 0, 3, 9, ch3data };
+
+static const unsigned char ch4data[] = {
+   0x0,0x0,0x8,0x0,0x8,0x0,0xe,0x0,0x8,0x0,0xf,0x0,0x40,0x0,0x40,0x0,
+   0x70,0x0,0x40,0x0,0x78,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch4 = { 9, 15, 0, 3, 9, ch4data };
+
+static const unsigned char ch5data[] = {
+   0x0,0x0,0x11,0x0,0x11,0x0,0x1e,0x0,0x11,0x0,0x1e,0x0,0x0,0x0,0x3c,0x0,
+   0x40,0x0,0x40,0x0,0x3c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch5 = { 9, 15, 0, 3, 9, ch5data };
+
+static const unsigned char ch6data[] = {
+   0x0,0x0,0x10,0x0,0x10,0x0,0x1e,0x0,0x10,0x0,0x1f,0x0,0x0,0x0,0x7c,0x0,
+   0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch6 = { 9, 15, 0, 3, 9, ch6data };
+
+static const unsigned char ch7data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x1c,0x0,0x22,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch7 = { 9, 15, 0, 3, 9, ch7data };
+
+static const unsigned char ch8data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x8,0x0,0x8,0x0,0x7f,0x0,0x8,0x0,
+   0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch8 = { 9, 15, 0, 3, 9, ch8data };
+
+static const unsigned char ch9data[] = {
+   0x0,0x0,0x1f,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x44,0x0,0x4c,0x0,
+   0x54,0x0,0x64,0x0,0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch9 = { 9, 15, 0, 3, 9, ch9data };
+
+static const unsigned char ch10data[] = {
+   0x0,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x1f,0x0,0x0,0x0,0x10,0x0,
+   0x28,0x0,0x44,0x0,0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch10 = { 9, 15, 0, 3, 9, ch10data };
+
+static const unsigned char ch11data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
+};
+static const GLUTBitmapChar ch11 = { 9, 15, 0, 3, 9, ch11data };
+
+static const unsigned char ch12data[] = {
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xf8,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch12 = { 9, 15, 0, 3, 9, ch12data };
+
+static const unsigned char ch13data[] = {
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xf,0x80,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch13 = { 9, 15, 0, 3, 9, ch13data };
+
+static const unsigned char ch14data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x80,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
+};
+static const GLUTBitmapChar ch14 = { 9, 15, 0, 3, 9, ch14data };
+
+static const unsigned char 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 GLUTBitmapChar ch15 = { 9, 15, 0, 3, 9, ch15data };
+
+static const unsigned char ch16data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch16 = { 9, 15, 0, 3, 9, ch16data };
+
+static const unsigned char ch17data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch17 = { 9, 15, 0, 3, 9, ch17data };
+
+static const unsigned char ch18data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch18 = { 9, 15, 0, 3, 9, ch18data };
+
+static const unsigned char ch19data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch19 = { 9, 15, 0, 3, 9, ch19data };
+
+static const unsigned char ch20data[] = {
+   0x0,0x0,0x0,0x0,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch20 = { 9, 15, 0, 3, 9, ch20data };
+
+static const unsigned char ch21data[] = {
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xf,0x80,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
+};
+static const GLUTBitmapChar ch21 = { 9, 15, 0, 3, 9, ch21data };
+
+static const unsigned char ch22data[] = {
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xf8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
+};
+static const GLUTBitmapChar ch22 = { 9, 15, 0, 3, 9, ch22data };
+
+static const unsigned char ch23data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0x80,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
+};
+static const GLUTBitmapChar ch23 = { 9, 15, 0, 3, 9, ch23data };
+
+static const unsigned char ch24data[] = {
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0xff,0x80,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch24 = { 9, 15, 0, 3, 9, ch24data };
+
+static const unsigned char ch25data[] = {
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0
+};
+static const GLUTBitmapChar ch25 = { 9, 15, 0, 3, 9, ch25data };
+
+static const unsigned char ch26data[] = {
+   0x0,0x0,0x3f,0x0,0x0,0x0,0x1,0x0,0x2,0x0,0x4,0x0,0x8,0x0,0x10,0x0,
+   0x10,0x0,0x8,0x0,0x4,0x0,0x2,0x0,0x1,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch26 = { 9, 15, 0, 3, 9, ch26data };
+
+static const unsigned char ch27data[] = {
+   0x0,0x0,0x7f,0x0,0x0,0x0,0x40,0x0,0x20,0x0,0x10,0x0,0x8,0x0,0x4,0x0,
+   0x4,0x0,0x8,0x0,0x10,0x0,0x20,0x0,0x40,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch27 = { 9, 15, 0, 3, 9, ch27data };
+
+static const unsigned char ch28data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x12,0x0,0x12,0x0,0x12,0x0,0x12,0x0,
+   0x12,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch28 = { 9, 15, 0, 3, 9, ch28data };
+
+static const unsigned char ch29data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x20,0x0,0x7f,0x0,0x8,0x0,0x7f,0x0,
+   0x2,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch29 = { 9, 15, 0, 3, 9, ch29data };
+
+static const unsigned char ch30data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x2e,0x0,0x51,0x0,0x30,0x0,0x10,0x0,0x10,0x0,
+   0x7c,0x0,0x10,0x0,0x10,0x0,0x11,0x0,0xe,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch30 = { 9, 15, 0, 3, 9, ch30data };
+
+static const unsigned char ch31data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0xc,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch31 = { 9, 15, 0, 3, 9, ch31data };
+
+static const unsigned char ch32data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch32 = { 9, 15, 0, 3, 9, ch32data };
+
+static const unsigned char ch33data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch33 = { 9, 15, 0, 3, 9, ch33data };
+
+static const unsigned char ch34data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x12,0x0,0x12,0x0,0x12,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch34 = { 9, 15, 0, 3, 9, ch34data };
+
+static const unsigned char ch35data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x24,0x0,0x24,0x0,0x7e,0x0,0x24,0x0,
+   0x24,0x0,0x7e,0x0,0x24,0x0,0x24,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch35 = { 9, 15, 0, 3, 9, ch35data };
+
+static const unsigned char ch36data[] = {
+   0x0,0x0,0x0,0x0,0x8,0x0,0x3e,0x0,0x49,0x0,0x9,0x0,0x9,0x0,0xa,0x0,
+   0x1c,0x0,0x28,0x0,0x48,0x0,0x49,0x0,0x3e,0x0,0x8,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch36 = { 9, 15, 0, 3, 9, ch36data };
+
+static const unsigned char ch37data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x42,0x0,0x25,0x0,0x25,0x0,0x12,0x0,0x8,0x0,
+   0x8,0x0,0x24,0x0,0x52,0x0,0x52,0x0,0x21,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch37 = { 9, 15, 0, 3, 9, ch37data };
+
+static const unsigned char ch38data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x31,0x0,0x4a,0x0,0x44,0x0,0x4a,0x0,0x31,0x0,
+   0x30,0x0,0x48,0x0,0x48,0x0,0x48,0x0,0x30,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch38 = { 9, 15, 0, 3, 9, ch38data };
+
+static const unsigned char ch39data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x10,0x0,0x8,0x0,0x4,0x0,0x6,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch39 = { 9, 15, 0, 3, 9, ch39data };
+
+static const unsigned char ch40data[] = {
+   0x0,0x0,0x0,0x0,0x4,0x0,0x8,0x0,0x8,0x0,0x10,0x0,0x10,0x0,0x10,0x0,
+   0x10,0x0,0x10,0x0,0x10,0x0,0x8,0x0,0x8,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch40 = { 9, 15, 0, 3, 9, ch40data };
+
+static const unsigned char ch41data[] = {
+   0x0,0x0,0x0,0x0,0x10,0x0,0x8,0x0,0x8,0x0,0x4,0x0,0x4,0x0,0x4,0x0,
+   0x4,0x0,0x4,0x0,0x4,0x0,0x8,0x0,0x8,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch41 = { 9, 15, 0, 3, 9, ch41data };
+
+static const unsigned char ch42data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x49,0x0,0x2a,0x0,0x1c,0x0,
+   0x2a,0x0,0x49,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch42 = { 9, 15, 0, 3, 9, ch42data };
+
+static const unsigned char ch43data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x7f,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch43 = { 9, 15, 0, 3, 9, ch43data };
+
+static const unsigned char ch44data[] = {
+   0x8,0x0,0x4,0x0,0x4,0x0,0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch44 = { 9, 15, 0, 3, 9, ch44data };
+
+static const unsigned char ch45data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch45 = { 9, 15, 0, 3, 9, ch45data };
+
+static const unsigned char ch46data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch46 = { 9, 15, 0, 3, 9, ch46data };
+
+static const unsigned char ch47data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x20,0x0,0x20,0x0,0x10,0x0,0x8,0x0,
+   0x8,0x0,0x4,0x0,0x2,0x0,0x2,0x0,0x1,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch47 = { 9, 15, 0, 3, 9, ch47data };
+
+static const unsigned char ch48data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch48 = { 9, 15, 0, 3, 9, ch48data };
+
+static const unsigned char ch49data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x48,0x0,0x28,0x0,0x18,0x0,0x8,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch49 = { 9, 15, 0, 3, 9, ch49data };
+
+static const unsigned char ch50data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x40,0x0,0x20,0x0,0x18,0x0,0x4,0x0,
+   0x2,0x0,0x1,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch50 = { 9, 15, 0, 3, 9, ch50data };
+
+static const unsigned char ch51data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x1,0x0,0x1,0x0,0x1,0x0,
+   0xe,0x0,0x4,0x0,0x2,0x0,0x1,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch51 = { 9, 15, 0, 3, 9, ch51data };
+
+static const unsigned char ch52data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x7f,0x0,0x42,0x0,
+   0x22,0x0,0x12,0x0,0xa,0x0,0x6,0x0,0x2,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch52 = { 9, 15, 0, 3, 9, ch52data };
+
+static const unsigned char ch53data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x1,0x0,0x1,0x0,0x1,0x0,
+   0x61,0x0,0x5e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch53 = { 9, 15, 0, 3, 9, ch53data };
+
+static const unsigned char ch54data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x61,0x0,
+   0x5e,0x0,0x40,0x0,0x40,0x0,0x20,0x0,0x1e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch54 = { 9, 15, 0, 3, 9, ch54data };
+
+static const unsigned char ch55data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x20,0x0,0x10,0x0,0x10,0x0,0x8,0x0,
+   0x4,0x0,0x2,0x0,0x1,0x0,0x1,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch55 = { 9, 15, 0, 3, 9, ch55data };
+
+static const unsigned char ch56data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x22,0x0,
+   0x1c,0x0,0x22,0x0,0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch56 = { 9, 15, 0, 3, 9, ch56data };
+
+static const unsigned char ch57data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x0,0x2,0x0,0x1,0x0,0x1,0x0,0x3d,0x0,
+   0x43,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch57 = { 9, 15, 0, 3, 9, ch57data };
+
+static const unsigned char ch58data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch58 = { 9, 15, 0, 3, 9, ch58data };
+
+static const unsigned char ch59data[] = {
+   0x8,0x0,0x4,0x0,0x4,0x0,0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0xc,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch59 = { 9, 15, 0, 3, 9, ch59data };
+
+static const unsigned char ch60data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x4,0x0,0x8,0x0,0x10,0x0,0x20,0x0,
+   0x20,0x0,0x10,0x0,0x8,0x0,0x4,0x0,0x2,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch60 = { 9, 15, 0, 3, 9, ch60data };
+
+static const unsigned char ch61data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,
+   0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch61 = { 9, 15, 0, 3, 9, ch61data };
+
+static const unsigned char ch62data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x10,0x0,0x8,0x0,0x4,0x0,0x2,0x0,
+   0x2,0x0,0x4,0x0,0x8,0x0,0x10,0x0,0x20,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch62 = { 9, 15, 0, 3, 9, ch62data };
+
+static const unsigned char ch63data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x4,0x0,
+   0x2,0x0,0x1,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch63 = { 9, 15, 0, 3, 9, ch63data };
+
+static const unsigned char ch64data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x4d,0x0,0x53,0x0,
+   0x51,0x0,0x4f,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch64 = { 9, 15, 0, 3, 9, ch64data };
+
+static const unsigned char ch65data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x22,0x0,0x14,0x0,0x8,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch65 = { 9, 15, 0, 3, 9, ch65data };
+
+static const unsigned char ch66data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x21,0x0,
+   0x3e,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch66 = { 9, 15, 0, 3, 9, ch66data };
+
+static const unsigned char ch67data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
+   0x40,0x0,0x40,0x0,0x40,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch67 = { 9, 15, 0, 3, 9, ch67data };
+
+static const unsigned char ch68data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x21,0x0,
+   0x21,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch68 = { 9, 15, 0, 3, 9, ch68data };
+
+static const unsigned char ch69data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x20,0x0,
+   0x3c,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch69 = { 9, 15, 0, 3, 9, ch69data };
+
+static const unsigned char ch70data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x20,0x0,
+   0x3c,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch70 = { 9, 15, 0, 3, 9, ch70data };
+
+static const unsigned char ch71data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x47,0x0,
+   0x40,0x0,0x40,0x0,0x40,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch71 = { 9, 15, 0, 3, 9, ch71data };
+
+static const unsigned char ch72data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x7f,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch72 = { 9, 15, 0, 3, 9, ch72data };
+
+static const unsigned char ch73data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch73 = { 9, 15, 0, 3, 9, ch73data };
+
+static const unsigned char ch74data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x0,0x42,0x0,0x2,0x0,0x2,0x0,0x2,0x0,
+   0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0xf,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch74 = { 9, 15, 0, 3, 9, ch74data };
+
+static const unsigned char ch75data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x42,0x0,0x44,0x0,0x48,0x0,0x50,0x0,
+   0x70,0x0,0x48,0x0,0x44,0x0,0x42,0x0,0x41,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch75 = { 9, 15, 0, 3, 9, ch75data };
+
+static const unsigned char ch76data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
+   0x40,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch76 = { 9, 15, 0, 3, 9, ch76data };
+
+static const unsigned char ch77data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x49,0x0,0x49,0x0,
+   0x55,0x0,0x55,0x0,0x63,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch77 = { 9, 15, 0, 3, 9, ch77data };
+
+static const unsigned char ch78data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x43,0x0,0x45,0x0,
+   0x49,0x0,0x51,0x0,0x61,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch78 = { 9, 15, 0, 3, 9, ch78data };
+
+static const unsigned char ch79data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch79 = { 9, 15, 0, 3, 9, ch79data };
+
+static const unsigned char ch80data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
+   0x7e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch80 = { 9, 15, 0, 3, 9, ch80data };
+
+static const unsigned char ch81data[] = {
+   0x0,0x0,0x3,0x0,0x4,0x0,0x3e,0x0,0x49,0x0,0x51,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch81 = { 9, 15, 0, 3, 9, ch81data };
+
+static const unsigned char ch82data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x42,0x0,0x44,0x0,0x48,0x0,
+   0x7e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch82 = { 9, 15, 0, 3, 9, ch82data };
+
+static const unsigned char ch83data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x1,0x0,0x6,0x0,
+   0x38,0x0,0x40,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch83 = { 9, 15, 0, 3, 9, ch83data };
+
+static const unsigned char ch84data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch84 = { 9, 15, 0, 3, 9, ch84data };
+
+static const unsigned char ch85data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch85 = { 9, 15, 0, 3, 9, ch85data };
+
+static const unsigned char ch86data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x14,0x0,0x14,0x0,0x14,0x0,0x22,0x0,
+   0x22,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch86 = { 9, 15, 0, 3, 9, ch86data };
+
+static const unsigned char ch87data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x49,0x0,
+   0x49,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch87 = { 9, 15, 0, 3, 9, ch87data };
+
+static const unsigned char ch88data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x22,0x0,0x14,0x0,0x8,0x0,
+   0x8,0x0,0x14,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch88 = { 9, 15, 0, 3, 9, ch88data };
+
+static const unsigned char ch89data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x14,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch89 = { 9, 15, 0, 3, 9, ch89data };
+
+static const unsigned char ch90data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x40,0x0,0x40,0x0,0x20,0x0,0x10,0x0,
+   0x8,0x0,0x4,0x0,0x2,0x0,0x1,0x0,0x7f,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch90 = { 9, 15, 0, 3, 9, ch90data };
+
+static const unsigned char ch91data[] = {
+   0x0,0x0,0x0,0x0,0x1e,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,
+   0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x1e,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch91 = { 9, 15, 0, 3, 9, ch91data };
+
+static const unsigned char ch92data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2,0x0,0x2,0x0,0x4,0x0,0x8,0x0,
+   0x8,0x0,0x10,0x0,0x20,0x0,0x20,0x0,0x40,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch92 = { 9, 15, 0, 3, 9, ch92data };
+
+static const unsigned char ch93data[] = {
+   0x0,0x0,0x0,0x0,0x3c,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x4,0x0,
+   0x4,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x4,0x0,0x3c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch93 = { 9, 15, 0, 3, 9, ch93data };
+
+static const unsigned char ch94data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x41,0x0,0x22,0x0,0x14,0x0,0x8,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch94 = { 9, 15, 0, 3, 9, ch94data };
+
+static const unsigned char ch95data[] = {
+   0x0,0x0,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch95 = { 9, 15, 0, 3, 9, ch95data };
+
+static const unsigned char ch96data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x2,0x0,0x4,0x0,0x8,0x0,0x18,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch96 = { 9, 15, 0, 3, 9, ch96data };
+
+static const unsigned char ch97data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
+   0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch97 = { 9, 15, 0, 3, 9, ch97data };
+
+static const unsigned char ch98data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x5e,0x0,0x61,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x61,0x0,0x5e,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch98 = { 9, 15, 0, 3, 9, ch98data };
+
+static const unsigned char ch99data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch99 = { 9, 15, 0, 3, 9, ch99data };
+
+static const unsigned char ch100data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x43,0x0,0x3d,0x0,0x1,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch100 = { 9, 15, 0, 3, 9, ch100data };
+
+static const unsigned char ch101data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch101 = { 9, 15, 0, 3, 9, ch101data };
+
+static const unsigned char ch102data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x10,0x0,0x7c,0x0,
+   0x10,0x0,0x10,0x0,0x11,0x0,0x11,0x0,0xe,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch102 = { 9, 15, 0, 3, 9, ch102data };
+
+static const unsigned char ch103data[] = {
+   0x3e,0x0,0x41,0x0,0x41,0x0,0x3e,0x0,0x40,0x0,0x3c,0x0,0x42,0x0,0x42,0x0,
+   0x42,0x0,0x3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch103 = { 9, 15, 0, 3, 9, ch103data };
+
+static const unsigned char ch104data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x61,0x0,0x5e,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch104 = { 9, 15, 0, 3, 9, ch104data };
+
+static const unsigned char ch105data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch105 = { 9, 15, 0, 3, 9, ch105data };
+
+static const unsigned char ch106data[] = {
+   0x3c,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,
+   0x2,0x0,0xe,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch106 = { 9, 15, 0, 3, 9, ch106data };
+
+static const unsigned char ch107data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x46,0x0,0x58,0x0,0x60,0x0,0x58,0x0,
+   0x46,0x0,0x41,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch107 = { 9, 15, 0, 3, 9, ch107data };
+
+static const unsigned char ch108data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch108 = { 9, 15, 0, 3, 9, ch108data };
+
+static const unsigned char ch109data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x49,0x0,0x49,0x0,0x49,0x0,0x49,0x0,
+   0x49,0x0,0x76,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch109 = { 9, 15, 0, 3, 9, ch109data };
+
+static const unsigned char ch110data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x61,0x0,0x5e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch110 = { 9, 15, 0, 3, 9, ch110data };
+
+static const unsigned char ch111data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch111 = { 9, 15, 0, 3, 9, ch111data };
+
+static const unsigned char ch112data[] = {
+   0x40,0x0,0x40,0x0,0x40,0x0,0x5e,0x0,0x61,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x61,0x0,0x5e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch112 = { 9, 15, 0, 3, 9, ch112data };
+
+static const unsigned char ch113data[] = {
+   0x1,0x0,0x1,0x0,0x1,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x43,0x0,0x3d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch113 = { 9, 15, 0, 3, 9, ch113data };
+
+static const unsigned char ch114data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x21,0x0,
+   0x31,0x0,0x4e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch114 = { 9, 15, 0, 3, 9, ch114data };
+
+static const unsigned char ch115data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x1,0x0,0x3e,0x0,0x40,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch115 = { 9, 15, 0, 3, 9, ch115data };
+
+static const unsigned char ch116data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x0,0x11,0x0,0x10,0x0,0x10,0x0,0x10,0x0,
+   0x10,0x0,0x7e,0x0,0x10,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch116 = { 9, 15, 0, 3, 9, ch116data };
+
+static const unsigned char ch117data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
+   0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch117 = { 9, 15, 0, 3, 9, ch117data };
+
+static const unsigned char ch118data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x14,0x0,0x14,0x0,0x22,0x0,0x22,0x0,
+   0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch118 = { 9, 15, 0, 3, 9, ch118data };
+
+static const unsigned char ch119data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x49,0x0,
+   0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch119 = { 9, 15, 0, 3, 9, ch119data };
+
+static const unsigned char ch120data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x22,0x0,0x14,0x0,0x8,0x0,0x14,0x0,
+   0x22,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch120 = { 9, 15, 0, 3, 9, ch120data };
+
+static const unsigned char ch121data[] = {
+   0x3c,0x0,0x42,0x0,0x2,0x0,0x3a,0x0,0x46,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
+   0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch121 = { 9, 15, 0, 3, 9, ch121data };
+
+static const unsigned char ch122data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x10,0x0,0x8,0x0,0x4,0x0,
+   0x2,0x0,0x7f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch122 = { 9, 15, 0, 3, 9, ch122data };
+
+static const unsigned char ch123data[] = {
+   0x0,0x0,0x0,0x0,0x7,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x4,0x0,0x18,0x0,
+   0x18,0x0,0x4,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x7,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch123 = { 9, 15, 0, 3, 9, ch123data };
+
+static const unsigned char ch124data[] = {
+   0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch124 = { 9, 15, 0, 3, 9, ch124data };
+
+static const unsigned char ch125data[] = {
+   0x0,0x0,0x0,0x0,0x70,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x10,0x0,0xc,0x0,
+   0xc,0x0,0x10,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x70,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch125 = { 9, 15, 0, 3, 9, ch125data };
+
+static const unsigned char ch126data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x46,0x0,0x49,0x0,0x31,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch126 = { 9, 15, 0, 3, 9, ch126data };
+
+static const unsigned char ch127data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch127 = { 9, 15, 0, 3, 9, ch127data };
+
+static const unsigned char ch160data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch160 = { 9, 15, 0, 3, 9, ch160data };
+
+static const unsigned char ch161data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch161 = { 9, 15, 0, 3, 9, ch161data };
+
+static const unsigned char ch162data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x3c,0x0,0x52,0x0,0x50,0x0,0x48,0x0,
+   0x4a,0x0,0x3c,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch162 = { 9, 15, 0, 3, 9, ch162data };
+
+static const unsigned char ch163data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x2e,0x0,0x51,0x0,0x30,0x0,0x10,0x0,0x10,0x0,
+   0x7c,0x0,0x10,0x0,0x10,0x0,0x11,0x0,0xe,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch163 = { 9, 15, 0, 3, 9, ch163data };
+
+static const unsigned char ch164data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x3e,0x0,
+   0x22,0x0,0x22,0x0,0x3e,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch164 = { 9, 15, 0, 3, 9, ch164data };
+
+static const unsigned char ch165data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x3e,0x0,0x8,0x0,
+   0x3e,0x0,0x14,0x0,0x22,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch165 = { 9, 15, 0, 3, 9, ch165data };
+
+static const unsigned char ch166data[] = {
+   0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0,
+   0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch166 = { 9, 15, 0, 3, 9, ch166data };
+
+static const unsigned char ch167data[] = {
+   0x0,0x0,0x0,0x0,0x1c,0x0,0x22,0x0,0x2,0x0,0x1c,0x0,0x22,0x0,0x22,0x0,
+   0x22,0x0,0x1c,0x0,0x20,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch167 = { 9, 15, 0, 3, 9, ch167data };
+
+static const unsigned char ch168data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch168 = { 9, 15, 0, 3, 9, ch168data };
+
+static const unsigned char ch169data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x0,0x42,0x0,0x99,0x0,0xa5,0x0,
+   0xa1,0x0,0xa5,0x0,0x99,0x0,0x42,0x0,0x3c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch169 = { 9, 15, 0, 3, 9, ch169data };
+
+static const unsigned char ch170data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,
+   0xf,0x0,0x12,0x0,0xe,0x0,0x12,0x0,0xc,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch170 = { 9, 15, 0, 3, 9, ch170data };
+
+static const unsigned char ch171data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9,0x0,0x12,0x0,0x24,0x0,0x48,0x0,
+   0x48,0x0,0x24,0x0,0x12,0x0,0x9,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch171 = { 9, 15, 0, 3, 9, ch171data };
+
+static const unsigned char ch172data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x2,0x0,0x2,0x0,
+   0x7e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch172 = { 9, 15, 0, 3, 9, ch172data };
+
+static const unsigned char ch173data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch173 = { 9, 15, 0, 3, 9, ch173data };
+
+static const unsigned char ch174data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x0,0x42,0x0,0xa5,0x0,0xa9,0x0,
+   0xbd,0x0,0xa5,0x0,0xb9,0x0,0x42,0x0,0x3c,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch174 = { 9, 15, 0, 3, 9, ch174data };
+
+static const unsigned char ch175data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch175 = { 9, 15, 0, 3, 9, ch175data };
+
+static const unsigned char ch176data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0xc,0x0,0x12,0x0,0x12,0x0,0xc,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch176 = { 9, 15, 0, 3, 9, ch176data };
+
+static const unsigned char ch177data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x0,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x7f,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch177 = { 9, 15, 0, 3, 9, ch177data };
+
+static const unsigned char ch178data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x0,
+   0x40,0x0,0x30,0x0,0x8,0x0,0x48,0x0,0x30,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch178 = { 9, 15, 0, 3, 9, ch178data };
+
+static const unsigned char ch179data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x0,
+   0x48,0x0,0x8,0x0,0x10,0x0,0x48,0x0,0x30,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch179 = { 9, 15, 0, 3, 9, ch179data };
+
+static const unsigned char ch180data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch180 = { 9, 15, 0, 3, 9, ch180data };
+
+static const unsigned char ch181data[] = {
+   0x0,0x0,0x40,0x0,0x40,0x0,0x5d,0x0,0x63,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch181 = { 9, 15, 0, 3, 9, ch181data };
+
+static const unsigned char ch182data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x5,0x0,0x5,0x0,0x5,0x0,0x5,0x0,0x5,0x0,
+   0x3d,0x0,0x45,0x0,0x45,0x0,0x45,0x0,0x3f,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch182 = { 9, 15, 0, 3, 9, ch182data };
+
+static const unsigned char ch183data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x0,
+   0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch183 = { 9, 15, 0, 3, 9, ch183data };
+
+static const unsigned char ch184data[] = {
+   0x18,0x0,0x24,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch184 = { 9, 15, 0, 3, 9, ch184data };
+
+static const unsigned char ch185data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x0,
+   0x20,0x0,0x20,0x0,0x20,0x0,0x60,0x0,0x20,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch185 = { 9, 15, 0, 3, 9, ch185data };
+
+static const unsigned char ch186data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
+   0x7c,0x0,0x0,0x0,0x38,0x0,0x44,0x0,0x44,0x0,0x38,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch186 = { 9, 15, 0, 3, 9, ch186data };
+
+static const unsigned char ch187data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x24,0x0,0x12,0x0,0x9,0x0,
+   0x9,0x0,0x12,0x0,0x24,0x0,0x48,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch187 = { 9, 15, 0, 3, 9, ch187data };
+
+static const unsigned char ch188data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0xd,0x0,0x9,0x0,0x5,0x0,0x73,0x0,
+   0x21,0x0,0x20,0x0,0x20,0x0,0x60,0x0,0x20,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch188 = { 9, 15, 0, 3, 9, ch188data };
+
+static const unsigned char ch189data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x0,0x8,0x0,0x6,0x0,0x1,0x0,0x79,0x0,
+   0x26,0x0,0x20,0x0,0x20,0x0,0x60,0x0,0x20,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch189 = { 9, 15, 0, 3, 9, ch189data };
+
+static const unsigned char ch190data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0xd,0x0,0x9,0x0,0x5,0x0,0x33,0x0,
+   0x49,0x0,0x8,0x0,0x10,0x0,0x48,0x0,0x30,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch190 = { 9, 15, 0, 3, 9, ch190data };
+
+static const unsigned char ch191data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x40,0x0,0x20,0x0,
+   0x10,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch191 = { 9, 15, 0, 3, 9, ch191data };
+
+static const unsigned char ch192data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch192 = { 9, 15, 0, 3, 9, ch192data };
+
+static const unsigned char ch193data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch193 = { 9, 15, 0, 3, 9, ch193data };
+
+static const unsigned char ch194data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch194 = { 9, 15, 0, 3, 9, ch194data };
+
+static const unsigned char ch195data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch195 = { 9, 15, 0, 3, 9, ch195data };
+
+static const unsigned char ch196data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x22,0x0,0x1c,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch196 = { 9, 15, 0, 3, 9, ch196data };
+
+static const unsigned char ch197data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x22,0x0,0x1c,0x0,0x8,0x0,0x14,0x0,0x8,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch197 = { 9, 15, 0, 3, 9, ch197data };
+
+static const unsigned char ch198data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x4f,0x0,0x48,0x0,0x48,0x0,0x48,0x0,0x7e,0x0,
+   0x48,0x0,0x48,0x0,0x48,0x0,0x48,0x0,0x37,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch198 = { 9, 15, 0, 3, 9, ch198data };
+
+static const unsigned char ch199data[] = {
+   0x18,0x0,0x24,0x0,0xc,0x0,0x3e,0x0,0x41,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
+   0x40,0x0,0x40,0x0,0x40,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch199 = { 9, 15, 0, 3, 9, ch199data };
+
+static const unsigned char ch200data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x3c,0x0,
+   0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch200 = { 9, 15, 0, 3, 9, ch200data };
+
+static const unsigned char ch201data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x3c,0x0,
+   0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch201 = { 9, 15, 0, 3, 9, ch201data };
+
+static const unsigned char ch202data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x3c,0x0,
+   0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch202 = { 9, 15, 0, 3, 9, ch202data };
+
+static const unsigned char ch203data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7f,0x0,0x20,0x0,0x20,0x0,0x20,0x0,0x3c,0x0,
+   0x20,0x0,0x20,0x0,0x7f,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch203 = { 9, 15, 0, 3, 9, ch203data };
+
+static const unsigned char ch204data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch204 = { 9, 15, 0, 3, 9, ch204data };
+
+static const unsigned char ch205data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x3e,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch205 = { 9, 15, 0, 3, 9, ch205data };
+
+static const unsigned char ch206data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x3e,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch206 = { 9, 15, 0, 3, 9, ch206data };
+
+static const unsigned char ch207data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x8,0x0,0x3e,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch207 = { 9, 15, 0, 3, 9, ch207data };
+
+static const unsigned char ch208data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x21,0x0,
+   0x79,0x0,0x21,0x0,0x21,0x0,0x21,0x0,0x7e,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch208 = { 9, 15, 0, 3, 9, ch208data };
+
+static const unsigned char ch209data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x43,0x0,0x45,0x0,0x49,0x0,0x49,0x0,
+   0x51,0x0,0x61,0x0,0x41,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch209 = { 9, 15, 0, 3, 9, ch209data };
+
+static const unsigned char ch210data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch210 = { 9, 15, 0, 3, 9, ch210data };
+
+static const unsigned char ch211data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch211 = { 9, 15, 0, 3, 9, ch211data };
+
+static const unsigned char ch212data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch212 = { 9, 15, 0, 3, 9, ch212data };
+
+static const unsigned char ch213data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch213 = { 9, 15, 0, 3, 9, ch213data };
+
+static const unsigned char ch214data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch214 = { 9, 15, 0, 3, 9, ch214data };
+
+static const unsigned char ch215data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x22,0x0,0x14,0x0,0x8,0x0,
+   0x14,0x0,0x22,0x0,0x41,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch215 = { 9, 15, 0, 3, 9, ch215data };
+
+static const unsigned char ch216data[] = {
+   0x0,0x0,0x0,0x0,0x40,0x0,0x3e,0x0,0x61,0x0,0x51,0x0,0x51,0x0,0x49,0x0,
+   0x49,0x0,0x45,0x0,0x45,0x0,0x43,0x0,0x3e,0x0,0x1,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch216 = { 9, 15, 0, 3, 9, ch216data };
+
+static const unsigned char ch217data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch217 = { 9, 15, 0, 3, 9, ch217data };
+
+static const unsigned char ch218data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch218 = { 9, 15, 0, 3, 9, ch218data };
+
+static const unsigned char ch219data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch219 = { 9, 15, 0, 3, 9, ch219data };
+
+static const unsigned char ch220data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch220 = { 9, 15, 0, 3, 9, ch220data };
+
+static const unsigned char ch221data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x14,0x0,
+   0x22,0x0,0x41,0x0,0x41,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch221 = { 9, 15, 0, 3, 9, ch221data };
+
+static const unsigned char ch222data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x40,0x0,0x40,0x0,0x7e,0x0,0x41,0x0,
+   0x41,0x0,0x41,0x0,0x7e,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch222 = { 9, 15, 0, 3, 9, ch222data };
+
+static const unsigned char ch223data[] = {
+   0x0,0x0,0x0,0x0,0x40,0x0,0x5e,0x0,0x61,0x0,0x41,0x0,0x41,0x0,0x7e,0x0,
+   0x41,0x0,0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch223 = { 9, 15, 0, 3, 9, ch223data };
+
+static const unsigned char ch224data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
+   0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch224 = { 9, 15, 0, 3, 9, ch224data };
+
+static const unsigned char ch225data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
+   0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch225 = { 9, 15, 0, 3, 9, ch225data };
+
+static const unsigned char ch226data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
+   0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch226 = { 9, 15, 0, 3, 9, ch226data };
+
+static const unsigned char ch227data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
+   0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch227 = { 9, 15, 0, 3, 9, ch227data };
+
+static const unsigned char ch228data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
+   0x1,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch228 = { 9, 15, 0, 3, 9, ch228data };
+
+static const unsigned char ch229data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x43,0x0,0x41,0x0,0x3f,0x0,0x1,0x0,
+   0x1,0x0,0x3e,0x0,0x0,0x0,0xc,0x0,0x12,0x0,0xc,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch229 = { 9, 15, 0, 3, 9, ch229data };
+
+static const unsigned char ch230data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x37,0x0,0x49,0x0,0x48,0x0,0x3e,0x0,0x9,0x0,
+   0x49,0x0,0x36,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch230 = { 9, 15, 0, 3, 9, ch230data };
+
+static const unsigned char ch231data[] = {
+   0x18,0x0,0x24,0x0,0xc,0x0,0x3e,0x0,0x41,0x0,0x40,0x0,0x40,0x0,0x40,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch231 = { 9, 15, 0, 3, 9, ch231data };
+
+static const unsigned char ch232data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch232 = { 9, 15, 0, 3, 9, ch232data };
+
+static const unsigned char ch233data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch233 = { 9, 15, 0, 3, 9, ch233data };
+
+static const unsigned char ch234data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch234 = { 9, 15, 0, 3, 9, ch234data };
+
+static const unsigned char ch235data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x40,0x0,0x40,0x0,0x7f,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch235 = { 9, 15, 0, 3, 9, ch235data };
+
+static const unsigned char ch236data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch236 = { 9, 15, 0, 3, 9, ch236data };
+
+static const unsigned char ch237data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch237 = { 9, 15, 0, 3, 9, ch237data };
+
+static const unsigned char ch238data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x24,0x0,0x18,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch238 = { 9, 15, 0, 3, 9, ch238data };
+
+static const unsigned char ch239data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x8,0x0,
+   0x8,0x0,0x38,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch239 = { 9, 15, 0, 3, 9, ch239data };
+
+static const unsigned char ch240data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x4,0x0,0x28,0x0,0x18,0x0,0x24,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch240 = { 9, 15, 0, 3, 9, ch240data };
+
+static const unsigned char ch241data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x61,0x0,0x5e,0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch241 = { 9, 15, 0, 3, 9, ch241data };
+
+static const unsigned char ch242data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch242 = { 9, 15, 0, 3, 9, ch242data };
+
+static const unsigned char ch243data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch243 = { 9, 15, 0, 3, 9, ch243data };
+
+static const unsigned char ch244data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch244 = { 9, 15, 0, 3, 9, ch244data };
+
+static const unsigned char ch245data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x28,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch245 = { 9, 15, 0, 3, 9, ch245data };
+
+static const unsigned char ch246data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3e,0x0,0x41,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x41,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch246 = { 9, 15, 0, 3, 9, ch246data };
+
+static const unsigned char ch247data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x1c,0x0,0x8,0x0,0x0,0x0,0x7f,0x0,
+   0x0,0x0,0x8,0x0,0x1c,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch247 = { 9, 15, 0, 3, 9, ch247data };
+
+static const unsigned char ch248data[] = {
+   0x0,0x0,0x0,0x0,0x40,0x0,0x3e,0x0,0x51,0x0,0x51,0x0,0x49,0x0,0x45,0x0,
+   0x45,0x0,0x3e,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch248 = { 9, 15, 0, 3, 9, ch248data };
+
+static const unsigned char ch249data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
+   0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch249 = { 9, 15, 0, 3, 9, ch249data };
+
+static const unsigned char ch250data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
+   0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch250 = { 9, 15, 0, 3, 9, ch250data };
+
+static const unsigned char ch251data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
+   0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x22,0x0,0x1c,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch251 = { 9, 15, 0, 3, 9, ch251data };
+
+static const unsigned char ch252data[] = {
+   0x0,0x0,0x0,0x0,0x0,0x0,0x3d,0x0,0x42,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
+   0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch252 = { 9, 15, 0, 3, 9, ch252data };
+
+static const unsigned char ch253data[] = {
+   0x3c,0x0,0x42,0x0,0x2,0x0,0x3a,0x0,0x46,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
+   0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch253 = { 9, 15, 0, 3, 9, ch253data };
+
+static const unsigned char ch254data[] = {
+   0x40,0x0,0x40,0x0,0x40,0x0,0x5e,0x0,0x61,0x0,0x41,0x0,0x41,0x0,0x41,0x0,
+   0x61,0x0,0x5e,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch254 = { 9, 15, 0, 3, 9, ch254data };
+
+static const unsigned char ch255data[] = {
+   0x3c,0x0,0x42,0x0,0x2,0x0,0x3a,0x0,0x46,0x0,0x42,0x0,0x42,0x0,0x42,0x0,
+   0x42,0x0,0x42,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x14,0x0,0x0,0x0
+};
+static const GLUTBitmapChar ch255 = { 9, 15, 0, 3, 9, ch255data };
+
+
+static const GLUTBitmapChar *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
+};
+
+const GLUTBitmapFont glutBitmap9By15 = {
+   "-Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO8859-1",
+   15, 256, chars
+};
diff --git a/src/glut/dos/hel10.c b/src/glut/dos/hel10.c
new file mode 100644 (file)
index 0000000..3d24ffe
--- /dev/null
@@ -0,0 +1,1019 @@
+/* autogenerated by bdf2c!  do not edit */
+
+/* "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." */
+
+
+#include "internal.h"
+/*
+typedef struct {
+   int width, height;
+   int xorig, yorig;
+   int xmove;
+   const unsigned char *bitmap;
+} GLUTBitmapChar;
+
+typedef struct {
+   const char *name;
+   int height;
+   int num;
+   const GLUTBitmapChar *const *table;
+} GLUTBitmapFont;
+*/
+
+
+static const unsigned char ch32data[] = {
+   0x0
+};
+static const GLUTBitmapChar ch32 = { 1, 1, 0, 0, 3, ch32data };
+
+static const unsigned char ch33data[] = {
+   0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch33 = { 1, 8, -1, 0, 3, ch33data };
+
+static const unsigned char ch34data[] = {
+   0xa0,0xa0
+};
+static const GLUTBitmapChar ch34 = { 3, 2, -1, -6, 4, ch34data };
+
+static const unsigned char ch35data[] = {
+   0x50,0x50,0xf8,0x28,0x7c,0x28,0x28
+};
+static const GLUTBitmapChar ch35 = { 6, 7, 0, 0, 6, ch35data };
+
+static const unsigned char ch36data[] = {
+   0x20,0x70,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20
+};
+static const GLUTBitmapChar ch36 = { 5, 9, 0, 1, 6, ch36data };
+
+static const unsigned char ch37data[] = {
+   0x26,0x29,0x16,0x10,0x8,0x68,0x94,0x64
+};
+static const GLUTBitmapChar ch37 = { 8, 8, 0, 0, 9, ch37data };
+
+static const unsigned char ch38data[] = {
+   0x64,0x98,0x98,0xa4,0x60,0x50,0x50,0x20
+};
+static const GLUTBitmapChar ch38 = { 6, 8, -1, 0, 8, ch38data };
+
+static const unsigned char ch39data[] = {
+   0x80,0x40,0x40
+};
+static const GLUTBitmapChar ch39 = { 2, 3, -1, -5, 3, ch39data };
+
+static const unsigned char ch40data[] = {
+   0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x40,0x40,0x20
+};
+static const GLUTBitmapChar ch40 = { 3, 10, 0, 2, 4, ch40data };
+
+static const unsigned char ch41data[] = {
+   0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x40,0x40,0x80
+};
+static const GLUTBitmapChar ch41 = { 3, 10, -1, 2, 4, ch41data };
+
+static const unsigned char ch42data[] = {
+   0xa0,0x40,0xa0
+};
+static const GLUTBitmapChar ch42 = { 3, 3, 0, -5, 4, ch42data };
+
+static const unsigned char ch43data[] = {
+   0x20,0x20,0xf8,0x20,0x20
+};
+static const GLUTBitmapChar ch43 = { 5, 5, 0, -1, 6, ch43data };
+
+static const unsigned char ch44data[] = {
+   0x80,0x40,0x40
+};
+static const GLUTBitmapChar ch44 = { 2, 3, 0, 2, 3, ch44data };
+
+static const unsigned char ch45data[] = {
+   0xf8
+};
+static const GLUTBitmapChar ch45 = { 5, 1, -1, -3, 7, ch45data };
+
+static const unsigned char ch46data[] = {
+   0x80
+};
+static const GLUTBitmapChar ch46 = { 1, 1, -1, 0, 3, ch46data };
+
+static const unsigned char ch47data[] = {
+   0x80,0x80,0x40,0x40,0x40,0x40,0x20,0x20
+};
+static const GLUTBitmapChar ch47 = { 3, 8, 0, 0, 3, ch47data };
+
+static const unsigned char ch48data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch48 = { 5, 8, 0, 0, 6, ch48data };
+
+static const unsigned char ch49data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x40
+};
+static const GLUTBitmapChar ch49 = { 2, 8, -1, 0, 6, ch49data };
+
+static const unsigned char ch50data[] = {
+   0xf8,0x80,0x40,0x30,0x8,0x8,0x88,0x70
+};
+static const GLUTBitmapChar ch50 = { 5, 8, 0, 0, 6, ch50data };
+
+static const unsigned char ch51data[] = {
+   0x70,0x88,0x8,0x8,0x30,0x8,0x88,0x70
+};
+static const GLUTBitmapChar ch51 = { 5, 8, 0, 0, 6, ch51data };
+
+static const unsigned char ch52data[] = {
+   0x10,0x10,0xf8,0x90,0x50,0x50,0x30,0x10
+};
+static const GLUTBitmapChar ch52 = { 5, 8, 0, 0, 6, ch52data };
+
+static const unsigned char ch53data[] = {
+   0x70,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8
+};
+static const GLUTBitmapChar ch53 = { 5, 8, 0, 0, 6, ch53data };
+
+static const unsigned char ch54data[] = {
+   0x70,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70
+};
+static const GLUTBitmapChar ch54 = { 5, 8, 0, 0, 6, ch54data };
+
+static const unsigned char ch55data[] = {
+   0x40,0x40,0x20,0x20,0x10,0x10,0x8,0xf8
+};
+static const GLUTBitmapChar ch55 = { 5, 8, 0, 0, 6, ch55data };
+
+static const unsigned char ch56data[] = {
+   0x70,0x88,0x88,0x88,0x70,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch56 = { 5, 8, 0, 0, 6, ch56data };
+
+static const unsigned char ch57data[] = {
+   0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch57 = { 5, 8, 0, 0, 6, ch57data };
+
+static const unsigned char ch58data[] = {
+   0x80,0x0,0x0,0x0,0x0,0x80
+};
+static const GLUTBitmapChar ch58 = { 1, 6, -1, 0, 3, ch58data };
+
+static const unsigned char ch59data[] = {
+   0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40
+};
+static const GLUTBitmapChar ch59 = { 2, 8, 0, 2, 3, ch59data };
+
+static const unsigned char ch60data[] = {
+   0x20,0x40,0x80,0x40,0x20
+};
+static const GLUTBitmapChar ch60 = { 3, 5, -1, -1, 6, ch60data };
+
+static const unsigned char ch61data[] = {
+   0xf0,0x0,0xf0
+};
+static const GLUTBitmapChar ch61 = { 4, 3, 0, -2, 5, ch61data };
+
+static const unsigned char ch62data[] = {
+   0x80,0x40,0x20,0x40,0x80
+};
+static const GLUTBitmapChar ch62 = { 3, 5, -1, -1, 6, ch62data };
+
+static const unsigned char ch63data[] = {
+   0x40,0x0,0x40,0x40,0x20,0x10,0x90,0x60
+};
+static const GLUTBitmapChar ch63 = { 4, 8, -1, 0, 6, ch63data };
+
+static const unsigned char ch64data[] = {
+   0x3e,0x0,0x40,0x0,0x9b,0x0,0xa4,0x80,0xa4,0x80,0xa2,0x40,0x92,0x40,0x4d,0x40,
+   0x20,0x80,0x1f,0x0
+};
+static const GLUTBitmapChar ch64 = { 10, 10, 0, 2, 11, ch64data };
+
+static const unsigned char ch65data[] = {
+   0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10
+};
+static const GLUTBitmapChar ch65 = { 7, 8, 0, 0, 7, ch65data };
+
+static const unsigned char ch66data[] = {
+   0xf0,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0
+};
+static const GLUTBitmapChar ch66 = { 5, 8, -1, 0, 7, ch66data };
+
+static const unsigned char ch67data[] = {
+   0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78
+};
+static const GLUTBitmapChar ch67 = { 6, 8, -1, 0, 8, ch67data };
+
+static const unsigned char ch68data[] = {
+   0xf0,0x88,0x84,0x84,0x84,0x84,0x88,0xf0
+};
+static const GLUTBitmapChar ch68 = { 6, 8, -1, 0, 8, ch68data };
+
+static const unsigned char ch69data[] = {
+   0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8
+};
+static const GLUTBitmapChar ch69 = { 5, 8, -1, 0, 7, ch69data };
+
+static const unsigned char ch70data[] = {
+   0x80,0x80,0x80,0x80,0xf0,0x80,0x80,0xf8
+};
+static const GLUTBitmapChar ch70 = { 5, 8, -1, 0, 6, ch70data };
+
+static const unsigned char ch71data[] = {
+   0x74,0x8c,0x84,0x8c,0x80,0x80,0x84,0x78
+};
+static const GLUTBitmapChar ch71 = { 6, 8, -1, 0, 8, ch71data };
+
+static const unsigned char ch72data[] = {
+   0x84,0x84,0x84,0x84,0xfc,0x84,0x84,0x84
+};
+static const GLUTBitmapChar ch72 = { 6, 8, -1, 0, 8, ch72data };
+
+static const unsigned char ch73data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch73 = { 1, 8, -1, 0, 3, ch73data };
+
+static const unsigned char ch74data[] = {
+   0x60,0x90,0x10,0x10,0x10,0x10,0x10,0x10
+};
+static const GLUTBitmapChar ch74 = { 4, 8, 0, 0, 5, ch74data };
+
+static const unsigned char ch75data[] = {
+   0x88,0x88,0x90,0x90,0xe0,0xa0,0x90,0x88
+};
+static const GLUTBitmapChar ch75 = { 5, 8, -1, 0, 7, ch75data };
+
+static const unsigned char ch76data[] = {
+   0xf0,0x80,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch76 = { 4, 8, -1, 0, 6, ch76data };
+
+static const unsigned char ch77data[] = {
+   0x92,0x92,0x92,0xaa,0xaa,0xc6,0xc6,0x82
+};
+static const GLUTBitmapChar ch77 = { 7, 8, -1, 0, 9, ch77data };
+
+static const unsigned char ch78data[] = {
+   0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4
+};
+static const GLUTBitmapChar ch78 = { 6, 8, -1, 0, 8, ch78data };
+
+static const unsigned char ch79data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78
+};
+static const GLUTBitmapChar ch79 = { 6, 8, -1, 0, 8, ch79data };
+
+static const unsigned char ch80data[] = {
+   0x80,0x80,0x80,0x80,0xf0,0x88,0x88,0xf0
+};
+static const GLUTBitmapChar ch80 = { 5, 8, -1, 0, 7, ch80data };
+
+static const unsigned char ch81data[] = {
+   0x2,0x7c,0x8c,0x94,0x84,0x84,0x84,0x84,0x78
+};
+static const GLUTBitmapChar ch81 = { 7, 9, -1, 1, 8, ch81data };
+
+static const unsigned char ch82data[] = {
+   0x88,0x88,0x88,0x88,0xf0,0x88,0x88,0xf0
+};
+static const GLUTBitmapChar ch82 = { 5, 8, -1, 0, 7, ch82data };
+
+static const unsigned char ch83data[] = {
+   0x70,0x88,0x88,0x8,0x70,0x80,0x88,0x70
+};
+static const GLUTBitmapChar ch83 = { 5, 8, -1, 0, 7, ch83data };
+
+static const unsigned char ch84data[] = {
+   0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xf8
+};
+static const GLUTBitmapChar ch84 = { 5, 8, 0, 0, 5, ch84data };
+
+static const unsigned char ch85data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84
+};
+static const GLUTBitmapChar ch85 = { 6, 8, -1, 0, 8, ch85data };
+
+static const unsigned char ch86data[] = {
+   0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82
+};
+static const GLUTBitmapChar ch86 = { 7, 8, 0, 0, 7, ch86data };
+
+static const unsigned char ch87data[] = {
+   0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80
+};
+static const GLUTBitmapChar ch87 = { 9, 8, 0, 0, 9, ch87data };
+
+static const unsigned char ch88data[] = {
+   0x88,0x88,0x50,0x50,0x20,0x50,0x88,0x88
+};
+static const GLUTBitmapChar ch88 = { 5, 8, -1, 0, 7, ch88data };
+
+static const unsigned char ch89data[] = {
+   0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82
+};
+static const GLUTBitmapChar ch89 = { 7, 8, 0, 0, 7, ch89data };
+
+static const unsigned char ch90data[] = {
+   0xf8,0x80,0x40,0x20,0x20,0x10,0x8,0xf8
+};
+static const GLUTBitmapChar ch90 = { 5, 8, -1, 0, 7, ch90data };
+
+static const unsigned char ch91data[] = {
+   0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0
+};
+static const GLUTBitmapChar ch91 = { 2, 10, -1, 2, 3, ch91data };
+
+static const unsigned char ch92data[] = {
+   0x20,0x20,0x40,0x40,0x40,0x40,0x80,0x80
+};
+static const GLUTBitmapChar ch92 = { 3, 8, 0, 0, 3, ch92data };
+
+static const unsigned char ch93data[] = {
+   0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0
+};
+static const GLUTBitmapChar ch93 = { 2, 10, 0, 2, 3, ch93data };
+
+static const unsigned char ch94data[] = {
+   0x88,0x50,0x50,0x20,0x20
+};
+static const GLUTBitmapChar ch94 = { 5, 5, 0, -3, 6, ch94data };
+
+static const unsigned char ch95data[] = {
+   0xfc
+};
+static const GLUTBitmapChar ch95 = { 6, 1, 0, 2, 6, ch95data };
+
+static const unsigned char ch96data[] = {
+   0x80,0x80,0x40
+};
+static const GLUTBitmapChar ch96 = { 2, 3, 0, -5, 3, ch96data };
+
+static const unsigned char ch97data[] = {
+   0x68,0x90,0x90,0x70,0x10,0xe0
+};
+static const GLUTBitmapChar ch97 = { 5, 6, 0, 0, 5, ch97data };
+
+static const unsigned char ch98data[] = {
+   0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80
+};
+static const GLUTBitmapChar ch98 = { 5, 8, 0, 0, 6, ch98data };
+
+static const unsigned char ch99data[] = {
+   0x60,0x90,0x80,0x80,0x90,0x60
+};
+static const GLUTBitmapChar ch99 = { 4, 6, 0, 0, 5, ch99data };
+
+static const unsigned char ch100data[] = {
+   0x68,0x98,0x88,0x88,0x98,0x68,0x8,0x8
+};
+static const GLUTBitmapChar ch100 = { 5, 8, 0, 0, 6, ch100data };
+
+static const unsigned char ch101data[] = {
+   0x60,0x90,0x80,0xf0,0x90,0x60
+};
+static const GLUTBitmapChar ch101 = { 4, 6, 0, 0, 5, ch101data };
+
+static const unsigned char ch102data[] = {
+   0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30
+};
+static const GLUTBitmapChar ch102 = { 4, 8, 0, 0, 4, ch102data };
+
+static const unsigned char ch103data[] = {
+   0x70,0x8,0x68,0x98,0x88,0x88,0x98,0x68
+};
+static const GLUTBitmapChar ch103 = { 5, 8, 0, 2, 6, ch103data };
+
+static const unsigned char ch104data[] = {
+   0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80
+};
+static const GLUTBitmapChar ch104 = { 5, 8, 0, 0, 6, ch104data };
+
+static const unsigned char ch105data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80
+};
+static const GLUTBitmapChar ch105 = { 1, 8, 0, 0, 2, ch105data };
+
+static const unsigned char ch106data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80
+};
+static const GLUTBitmapChar ch106 = { 1, 9, 0, 1, 2, ch106data };
+
+static const unsigned char ch107data[] = {
+   0x90,0x90,0xa0,0xc0,0xa0,0x90,0x80,0x80
+};
+static const GLUTBitmapChar ch107 = { 4, 8, 0, 0, 5, ch107data };
+
+static const unsigned char ch108data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch108 = { 1, 8, 0, 0, 2, ch108data };
+
+static const unsigned char ch109data[] = {
+   0x92,0x92,0x92,0x92,0x92,0xec
+};
+static const GLUTBitmapChar ch109 = { 7, 6, 0, 0, 8, ch109data };
+
+static const unsigned char ch110data[] = {
+   0x88,0x88,0x88,0x88,0xc8,0xb0
+};
+static const GLUTBitmapChar ch110 = { 5, 6, 0, 0, 6, ch110data };
+
+static const unsigned char ch111data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch111 = { 5, 6, 0, 0, 6, ch111data };
+
+static const unsigned char ch112data[] = {
+   0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0
+};
+static const GLUTBitmapChar ch112 = { 5, 8, 0, 2, 6, ch112data };
+
+static const unsigned char ch113data[] = {
+   0x8,0x8,0x68,0x98,0x88,0x88,0x98,0x68
+};
+static const GLUTBitmapChar ch113 = { 5, 8, 0, 2, 6, ch113data };
+
+static const unsigned char ch114data[] = {
+   0x80,0x80,0x80,0x80,0xc0,0xa0
+};
+static const GLUTBitmapChar ch114 = { 3, 6, 0, 0, 4, ch114data };
+
+static const unsigned char ch115data[] = {
+   0x60,0x90,0x10,0x60,0x90,0x60
+};
+static const GLUTBitmapChar ch115 = { 4, 6, 0, 0, 5, ch115data };
+
+static const unsigned char ch116data[] = {
+   0x60,0x40,0x40,0x40,0x40,0xe0,0x40,0x40
+};
+static const GLUTBitmapChar ch116 = { 3, 8, 0, 0, 4, ch116data };
+
+static const unsigned char ch117data[] = {
+   0x70,0x90,0x90,0x90,0x90,0x90
+};
+static const GLUTBitmapChar ch117 = { 4, 6, 0, 0, 5, ch117data };
+
+static const unsigned char ch118data[] = {
+   0x20,0x20,0x50,0x50,0x88,0x88
+};
+static const GLUTBitmapChar ch118 = { 5, 6, 0, 0, 6, ch118data };
+
+static const unsigned char ch119data[] = {
+   0x28,0x28,0x54,0x54,0x92,0x92
+};
+static const GLUTBitmapChar ch119 = { 7, 6, 0, 0, 8, ch119data };
+
+static const unsigned char ch120data[] = {
+   0x88,0x88,0x50,0x20,0x50,0x88
+};
+static const GLUTBitmapChar ch120 = { 5, 6, 0, 0, 6, ch120data };
+
+static const unsigned char ch121data[] = {
+   0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90
+};
+static const GLUTBitmapChar ch121 = { 4, 8, 0, 2, 5, ch121data };
+
+static const unsigned char ch122data[] = {
+   0xf0,0x80,0x40,0x20,0x10,0xf0
+};
+static const GLUTBitmapChar ch122 = { 4, 6, 0, 0, 5, ch122data };
+
+static const unsigned char ch123data[] = {
+   0x20,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20
+};
+static const GLUTBitmapChar ch123 = { 3, 10, 0, 2, 3, ch123data };
+
+static const unsigned char ch124data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch124 = { 1, 10, -1, 2, 3, ch124data };
+
+static const unsigned char ch125data[] = {
+   0x80,0x40,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80
+};
+static const GLUTBitmapChar ch125 = { 3, 10, 0, 2, 3, ch125data };
+
+static const unsigned char ch126data[] = {
+   0x98,0x64
+};
+static const GLUTBitmapChar ch126 = { 6, 2, 0, -3, 7, ch126data };
+
+static const unsigned char ch160data[] = {
+   0x0
+};
+static const GLUTBitmapChar ch160 = { 1, 1, 0, 0, 3, ch160data };
+
+static const unsigned char ch161data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80
+};
+static const GLUTBitmapChar ch161 = { 1, 8, -1, 2, 3, ch161data };
+
+static const unsigned char ch162data[] = {
+   0x40,0x70,0xa8,0xa0,0xa0,0xa8,0x70,0x10
+};
+static const GLUTBitmapChar ch162 = { 5, 8, 0, 1, 6, ch162data };
+
+static const unsigned char ch163data[] = {
+   0xb0,0x48,0x40,0x40,0xe0,0x40,0x48,0x30
+};
+static const GLUTBitmapChar ch163 = { 5, 8, 0, 0, 6, ch163data };
+
+static const unsigned char ch164data[] = {
+   0x90,0x60,0x90,0x90,0x60,0x90
+};
+static const GLUTBitmapChar ch164 = { 4, 6, 0, -1, 5, ch164data };
+
+static const unsigned char ch165data[] = {
+   0x20,0xf8,0x20,0xf8,0x50,0x50,0x88,0x88
+};
+static const GLUTBitmapChar ch165 = { 5, 8, 0, 0, 6, ch165data };
+
+static const unsigned char ch166data[] = {
+   0x80,0x80,0x80,0x80,0x0,0x0,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch166 = { 1, 10, -1, 2, 3, ch166data };
+
+static const unsigned char ch167data[] = {
+   0x70,0x88,0x18,0x70,0xc8,0x98,0x70,0xc0,0x88,0x70
+};
+static const GLUTBitmapChar ch167 = { 5, 10, 0, 2, 6, ch167data };
+
+static const unsigned char ch168data[] = {
+   0xa0
+};
+static const GLUTBitmapChar ch168 = { 3, 1, 0, -7, 3, ch168data };
+
+static const unsigned char ch169data[] = {
+   0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38
+};
+static const GLUTBitmapChar ch169 = { 7, 7, -1, 0, 9, ch169data };
+
+static const unsigned char ch170data[] = {
+   0xe0,0x0,0xa0,0x20,0xe0
+};
+static const GLUTBitmapChar ch170 = { 3, 5, 0, -3, 4, ch170data };
+
+static const unsigned char ch171data[] = {
+   0x28,0x50,0xa0,0x50,0x28
+};
+static const GLUTBitmapChar ch171 = { 5, 5, 0, 0, 6, ch171data };
+
+static const unsigned char ch172data[] = {
+   0x8,0x8,0xf8
+};
+static const GLUTBitmapChar ch172 = { 5, 3, -1, -2, 7, ch172data };
+
+static const unsigned char ch173data[] = {
+   0xe0
+};
+static const GLUTBitmapChar ch173 = { 3, 1, 0, -3, 4, ch173data };
+
+static const unsigned char ch174data[] = {
+   0x38,0x44,0xaa,0xb2,0xba,0x44,0x38
+};
+static const GLUTBitmapChar ch174 = { 7, 7, -1, 0, 9, ch174data };
+
+static const unsigned char ch175data[] = {
+   0xe0
+};
+static const GLUTBitmapChar ch175 = { 3, 1, 0, -7, 3, ch175data };
+
+static const unsigned char ch176data[] = {
+   0x60,0x90,0x90,0x60
+};
+static const GLUTBitmapChar ch176 = { 4, 4, 0, -3, 4, ch176data };
+
+static const unsigned char ch177data[] = {
+   0xf8,0x0,0x20,0x20,0xf8,0x20,0x20
+};
+static const GLUTBitmapChar ch177 = { 5, 7, 0, 0, 6, ch177data };
+
+static const unsigned char ch178data[] = {
+   0xe0,0x40,0xa0,0x60
+};
+static const GLUTBitmapChar ch178 = { 3, 4, 0, -3, 3, ch178data };
+
+static const unsigned char ch179data[] = {
+   0xc0,0x20,0x40,0xe0
+};
+static const GLUTBitmapChar ch179 = { 3, 4, 0, -3, 3, ch179data };
+
+static const unsigned char ch180data[] = {
+   0x80,0x40
+};
+static const GLUTBitmapChar ch180 = { 2, 2, 0, -6, 3, ch180data };
+
+static const unsigned char ch181data[] = {
+   0x80,0x80,0xf0,0x90,0x90,0x90,0x90,0x90
+};
+static const GLUTBitmapChar ch181 = { 4, 8, 0, 2, 5, ch181data };
+
+static const unsigned char ch182data[] = {
+   0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c
+};
+static const GLUTBitmapChar ch182 = { 6, 10, 0, 2, 6, ch182data };
+
+static const unsigned char ch183data[] = {
+   0xc0
+};
+static const GLUTBitmapChar ch183 = { 2, 1, 0, -3, 3, ch183data };
+
+static const unsigned char ch184data[] = {
+   0xc0,0x40
+};
+static const GLUTBitmapChar ch184 = { 2, 2, 0, 2, 3, ch184data };
+
+static const unsigned char ch185data[] = {
+   0x40,0x40,0xc0,0x40
+};
+static const GLUTBitmapChar ch185 = { 2, 4, 0, -3, 3, ch185data };
+
+static const unsigned char ch186data[] = {
+   0xe0,0x0,0xe0,0xa0,0xe0
+};
+static const GLUTBitmapChar ch186 = { 3, 5, 0, -3, 4, ch186data };
+
+static const unsigned char ch187data[] = {
+   0xa0,0x50,0x28,0x50,0xa0
+};
+static const GLUTBitmapChar ch187 = { 5, 5, 0, 0, 6, ch187data };
+
+static const unsigned char ch188data[] = {
+   0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0x48,0x0,0x44,0x0,0xc4,0x0,0x42,0x0
+};
+static const GLUTBitmapChar ch188 = { 9, 8, 0, 0, 9, ch188data };
+
+static const unsigned char ch189data[] = {
+   0x27,0x12,0x15,0xb,0x48,0x44,0xc4,0x42
+};
+static const GLUTBitmapChar ch189 = { 8, 8, 0, 0, 9, ch189data };
+
+static const unsigned char ch190data[] = {
+   0x21,0x0,0x17,0x80,0x13,0x0,0x9,0x0,0xc8,0x0,0x24,0x0,0x44,0x0,0xe2,0x0
+};
+static const GLUTBitmapChar ch190 = { 9, 8, 0, 0, 9, ch190data };
+
+static const unsigned char ch191data[] = {
+   0x60,0x90,0x80,0x40,0x20,0x20,0x0,0x20
+};
+static const GLUTBitmapChar ch191 = { 4, 8, -1, 2, 6, ch191data };
+
+static const unsigned char ch192data[] = {
+   0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x20
+};
+static const GLUTBitmapChar ch192 = { 7, 11, 0, 0, 7, ch192data };
+
+static const unsigned char ch193data[] = {
+   0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch193 = { 7, 11, 0, 0, 7, ch193data };
+
+static const unsigned char ch194data[] = {
+   0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x10
+};
+static const GLUTBitmapChar ch194 = { 7, 11, 0, 0, 7, ch194data };
+
+static const unsigned char ch195data[] = {
+   0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28,0x14
+};
+static const GLUTBitmapChar ch195 = { 7, 11, 0, 0, 7, ch195data };
+
+static const unsigned char ch196data[] = {
+   0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x0,0x28
+};
+static const GLUTBitmapChar ch196 = { 7, 10, 0, 0, 7, ch196data };
+
+static const unsigned char ch197data[] = {
+   0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,0x10,0x28,0x10
+};
+static const GLUTBitmapChar ch197 = { 7, 11, 0, 0, 7, ch197data };
+
+static const unsigned char ch198data[] = {
+   0x8f,0x80,0x88,0x0,0x78,0x0,0x48,0x0,0x2f,0x80,0x28,0x0,0x18,0x0,0x1f,0x80
+};
+static const GLUTBitmapChar ch198 = { 9, 8, 0, 0, 10, ch198data };
+
+static const unsigned char ch199data[] = {
+   0x30,0x10,0x78,0x84,0x80,0x80,0x80,0x80,0x84,0x78
+};
+static const GLUTBitmapChar ch199 = { 6, 10, -1, 2, 8, ch199data };
+
+static const unsigned char ch200data[] = {
+   0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch200 = { 5, 11, -1, 0, 7, ch200data };
+
+static const unsigned char ch201data[] = {
+   0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch201 = { 5, 11, -1, 0, 7, ch201data };
+
+static const unsigned char ch202data[] = {
+   0xf8,0x80,0x80,0xf8,0x80,0x80,0x80,0xf8,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch202 = { 5, 11, -1, 0, 7, ch202data };
+
+static const unsigned char ch203data[] = {
+   0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,0x0,0x50
+};
+static const GLUTBitmapChar ch203 = { 5, 10, -1, 0, 7, ch203data };
+
+static const unsigned char ch204data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80
+};
+static const GLUTBitmapChar ch204 = { 2, 11, 0, 0, 3, ch204data };
+
+static const unsigned char ch205data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40
+};
+static const GLUTBitmapChar ch205 = { 2, 11, -1, 0, 3, ch205data };
+
+static const unsigned char ch206data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40
+};
+static const GLUTBitmapChar ch206 = { 3, 11, 0, 0, 3, ch206data };
+
+static const unsigned char ch207data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0
+};
+static const GLUTBitmapChar ch207 = { 3, 10, 0, 0, 3, ch207data };
+
+static const unsigned char ch208data[] = {
+   0x78,0x44,0x42,0x42,0xf2,0x42,0x44,0x78
+};
+static const GLUTBitmapChar ch208 = { 7, 8, 0, 0, 8, ch208data };
+
+static const unsigned char ch209data[] = {
+   0x8c,0x8c,0x94,0x94,0xa4,0xa4,0xc4,0xc4,0x0,0x50,0x28
+};
+static const GLUTBitmapChar ch209 = { 6, 11, -1, 0, 8, ch209data };
+
+static const unsigned char ch210data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x20
+};
+static const GLUTBitmapChar ch210 = { 6, 11, -1, 0, 8, ch210data };
+
+static const unsigned char ch211data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch211 = { 6, 11, -1, 0, 8, ch211data };
+
+static const unsigned char ch212data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x28,0x10
+};
+static const GLUTBitmapChar ch212 = { 6, 11, -1, 0, 8, ch212data };
+
+static const unsigned char ch213data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x50,0x28
+};
+static const GLUTBitmapChar ch213 = { 6, 11, -1, 0, 8, ch213data };
+
+static const unsigned char ch214data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x0,0x48
+};
+static const GLUTBitmapChar ch214 = { 6, 10, -1, 0, 8, ch214data };
+
+static const unsigned char ch215data[] = {
+   0x88,0x50,0x20,0x50,0x88
+};
+static const GLUTBitmapChar ch215 = { 5, 5, 0, -1, 6, ch215data };
+
+static const unsigned char ch216data[] = {
+   0x80,0x78,0xc4,0xa4,0xa4,0x94,0x94,0x8c,0x78,0x4
+};
+static const GLUTBitmapChar ch216 = { 6, 10, -1, 1, 8, ch216data };
+
+static const unsigned char ch217data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20
+};
+static const GLUTBitmapChar ch217 = { 6, 11, -1, 0, 8, ch217data };
+
+static const unsigned char ch218data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch218 = { 6, 11, -1, 0, 8, ch218data };
+
+static const unsigned char ch219data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10
+};
+static const GLUTBitmapChar ch219 = { 6, 11, -1, 0, 8, ch219data };
+
+static const unsigned char ch220data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48
+};
+static const GLUTBitmapChar ch220 = { 6, 10, -1, 0, 8, ch220data };
+
+static const unsigned char ch221data[] = {
+   0x10,0x10,0x10,0x28,0x28,0x44,0x44,0x82,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch221 = { 7, 11, 0, 0, 7, ch221data };
+
+static const unsigned char ch222data[] = {
+   0x80,0x80,0xf0,0x88,0x88,0xf0,0x80,0x80
+};
+static const GLUTBitmapChar ch222 = { 5, 8, -1, 0, 7, ch222data };
+
+static const unsigned char ch223data[] = {
+   0xa0,0x90,0x90,0x90,0xa0,0x90,0x90,0x60
+};
+static const GLUTBitmapChar ch223 = { 4, 8, 0, 0, 5, ch223data };
+
+static const unsigned char ch224data[] = {
+   0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch224 = { 5, 9, 0, 0, 5, ch224data };
+
+static const unsigned char ch225data[] = {
+   0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch225 = { 5, 9, 0, 0, 5, ch225data };
+
+static const unsigned char ch226data[] = {
+   0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch226 = { 5, 9, 0, 0, 5, ch226data };
+
+static const unsigned char ch227data[] = {
+   0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0xa0,0x50
+};
+static const GLUTBitmapChar ch227 = { 5, 9, 0, 0, 5, ch227data };
+
+static const unsigned char ch228data[] = {
+   0x68,0x90,0x90,0x70,0x10,0xe0,0x0,0x50
+};
+static const GLUTBitmapChar ch228 = { 5, 8, 0, 0, 5, ch228data };
+
+static const unsigned char ch229data[] = {
+   0x68,0x90,0x90,0x70,0x10,0xe0,0x20,0x50,0x20
+};
+static const GLUTBitmapChar ch229 = { 5, 9, 0, 0, 5, ch229data };
+
+static const unsigned char ch230data[] = {
+   0x6c,0x92,0x90,0x7e,0x12,0xec
+};
+static const GLUTBitmapChar ch230 = { 7, 6, 0, 0, 8, ch230data };
+
+static const unsigned char ch231data[] = {
+   0x60,0x20,0x60,0x90,0x80,0x80,0x90,0x60
+};
+static const GLUTBitmapChar ch231 = { 4, 8, 0, 2, 5, ch231data };
+
+static const unsigned char ch232data[] = {
+   0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch232 = { 4, 9, 0, 0, 5, ch232data };
+
+static const unsigned char ch233data[] = {
+   0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x40,0x20
+};
+static const GLUTBitmapChar ch233 = { 4, 9, 0, 0, 5, ch233data };
+
+static const unsigned char ch234data[] = {
+   0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch234 = { 4, 9, 0, 0, 5, ch234data };
+
+static const unsigned char ch235data[] = {
+   0x60,0x90,0x80,0xf0,0x90,0x60,0x0,0x50
+};
+static const GLUTBitmapChar ch235 = { 4, 8, 0, 0, 5, ch235data };
+
+static const unsigned char ch236data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80
+};
+static const GLUTBitmapChar ch236 = { 2, 9, 1, 0, 2, ch236data };
+
+static const unsigned char ch237data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40
+};
+static const GLUTBitmapChar ch237 = { 2, 9, 0, 0, 2, ch237data };
+
+static const unsigned char ch238data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40
+};
+static const GLUTBitmapChar ch238 = { 3, 9, 1, 0, 2, ch238data };
+
+static const unsigned char ch239data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0
+};
+static const GLUTBitmapChar ch239 = { 3, 8, 0, 0, 2, ch239data };
+
+static const unsigned char ch240data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x78,0x90,0x60,0x50
+};
+static const GLUTBitmapChar ch240 = { 5, 9, 0, 0, 6, ch240data };
+
+static const unsigned char ch241data[] = {
+   0x90,0x90,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50
+};
+static const GLUTBitmapChar ch241 = { 4, 9, 0, 0, 5, ch241data };
+
+static const unsigned char ch242data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch242 = { 5, 9, 0, 0, 6, ch242data };
+
+static const unsigned char ch243data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch243 = { 5, 9, 0, 0, 6, ch243data };
+
+static const unsigned char ch244data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch244 = { 5, 9, 0, 0, 6, ch244data };
+
+static const unsigned char ch245data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28
+};
+static const GLUTBitmapChar ch245 = { 5, 9, 0, 0, 6, ch245data };
+
+static const unsigned char ch246data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x70,0x0,0x50
+};
+static const GLUTBitmapChar ch246 = { 5, 8, 0, 0, 6, ch246data };
+
+static const unsigned char ch247data[] = {
+   0x20,0x0,0xf8,0x0,0x20
+};
+static const GLUTBitmapChar ch247 = { 5, 5, 0, -1, 6, ch247data };
+
+static const unsigned char ch248data[] = {
+   0x70,0x88,0xc8,0xa8,0x98,0x74
+};
+static const GLUTBitmapChar ch248 = { 6, 6, 0, 0, 6, ch248data };
+
+static const unsigned char ch249data[] = {
+   0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch249 = { 4, 9, 0, 0, 5, ch249data };
+
+static const unsigned char ch250data[] = {
+   0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x40,0x20
+};
+static const GLUTBitmapChar ch250 = { 4, 9, 0, 0, 5, ch250data };
+
+static const unsigned char ch251data[] = {
+   0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch251 = { 4, 9, 0, 0, 5, ch251data };
+
+static const unsigned char ch252data[] = {
+   0x70,0x90,0x90,0x90,0x90,0x90,0x0,0x50
+};
+static const GLUTBitmapChar ch252 = { 4, 8, 0, 0, 5, ch252data };
+
+static const unsigned char ch253data[] = {
+   0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch253 = { 4, 11, 0, 2, 5, ch253data };
+
+static const unsigned char ch254data[] = {
+   0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,0x80
+};
+static const GLUTBitmapChar ch254 = { 5, 10, 0, 2, 6, ch254data };
+
+static const unsigned char ch255data[] = {
+   0x80,0x40,0x40,0x60,0xa0,0xa0,0x90,0x90,0x0,0x50
+};
+static const GLUTBitmapChar ch255 = { 4, 10, 0, 2, 5, ch255data };
+
+
+static const GLUTBitmapChar *chars[] = {
+   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, 
+   &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
+};
+
+const GLUTBitmapFont glutBitmapHelvetica10 = {
+   "-Adobe-Helvetica-Medium-R-Normal--10-100-75-75-P-56-ISO8859-1",
+   13, 256, chars
+};
diff --git a/src/glut/dos/hel12.c b/src/glut/dos/hel12.c
new file mode 100644 (file)
index 0000000..0fe8b09
--- /dev/null
@@ -0,0 +1,1029 @@
+/* autogenerated by bdf2c!  do not edit */
+
+/* "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." */
+
+
+#include "internal.h"
+/*
+typedef struct {
+   int width, height;
+   int xorig, yorig;
+   int xmove;
+   const unsigned char *bitmap;
+} GLUTBitmapChar;
+
+typedef struct {
+   const char *name;
+   int height;
+   int num;
+   const GLUTBitmapChar *const *table;
+} GLUTBitmapFont;
+*/
+
+
+static const unsigned char ch32data[] = {
+   0x0
+};
+static const GLUTBitmapChar ch32 = { 1, 1, 0, 0, 4, ch32data };
+
+static const unsigned char ch33data[] = {
+   0x80,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch33 = { 1, 9, -1, 0, 3, ch33data };
+
+static const unsigned char ch34data[] = {
+   0xa0,0xa0,0xa0
+};
+static const GLUTBitmapChar ch34 = { 3, 3, -1, -6, 5, ch34data };
+
+static const unsigned char ch35data[] = {
+   0x50,0x50,0x50,0xfc,0x28,0xfc,0x28,0x28
+};
+static const GLUTBitmapChar ch35 = { 6, 8, 0, 0, 7, ch35data };
+
+static const unsigned char ch36data[] = {
+   0x20,0x70,0xa8,0xa8,0x28,0x70,0xa0,0xa8,0x70,0x20
+};
+static const GLUTBitmapChar ch36 = { 5, 10, -1, 1, 7, ch36data };
+
+static const unsigned char ch37data[] = {
+   0x23,0x0,0x14,0x80,0x14,0x80,0x13,0x0,0x8,0x0,0x68,0x0,0x94,0x0,0x94,0x0,
+   0x62,0x0
+};
+static const GLUTBitmapChar ch37 = { 9, 9, -1, 0, 11, ch37data };
+
+static const unsigned char ch38data[] = {
+   0x72,0x8c,0x84,0x8a,0x50,0x30,0x48,0x48,0x30
+};
+static const GLUTBitmapChar ch38 = { 7, 9, -1, 0, 9, ch38data };
+
+static const unsigned char ch39data[] = {
+   0x80,0x40,0xc0
+};
+static const GLUTBitmapChar ch39 = { 2, 3, -1, -6, 3, ch39data };
+
+static const unsigned char ch40data[] = {
+   0x20,0x40,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20
+};
+static const GLUTBitmapChar ch40 = { 3, 12, -1, 3, 4, ch40data };
+
+static const unsigned char ch41data[] = {
+   0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80
+};
+static const GLUTBitmapChar ch41 = { 3, 12, 0, 3, 4, ch41data };
+
+static const unsigned char ch42data[] = {
+   0xa0,0x40,0xa0
+};
+static const GLUTBitmapChar ch42 = { 3, 3, -1, -6, 5, ch42data };
+
+static const unsigned char ch43data[] = {
+   0x20,0x20,0xf8,0x20,0x20
+};
+static const GLUTBitmapChar ch43 = { 5, 5, -1, -1, 7, ch43data };
+
+static const unsigned char ch44data[] = {
+   0x80,0x40,0x40
+};
+static const GLUTBitmapChar ch44 = { 2, 3, -1, 2, 4, ch44data };
+
+static const unsigned char ch45data[] = {
+   0xf8
+};
+static const GLUTBitmapChar ch45 = { 5, 1, -1, -3, 8, ch45data };
+
+static const unsigned char ch46data[] = {
+   0x80
+};
+static const GLUTBitmapChar ch46 = { 1, 1, -1, 0, 3, ch46data };
+
+static const unsigned char ch47data[] = {
+   0x80,0x80,0x40,0x40,0x40,0x20,0x20,0x10,0x10
+};
+static const GLUTBitmapChar ch47 = { 4, 9, 0, 0, 4, ch47data };
+
+static const unsigned char ch48data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch48 = { 5, 9, -1, 0, 7, ch48data };
+
+static const unsigned char ch49data[] = {
+   0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,0x20
+};
+static const GLUTBitmapChar ch49 = { 3, 9, -1, 0, 7, ch49data };
+
+static const unsigned char ch50data[] = {
+   0xf8,0x80,0x80,0x40,0x20,0x10,0x8,0x88,0x70
+};
+static const GLUTBitmapChar ch50 = { 5, 9, -1, 0, 7, ch50data };
+
+static const unsigned char ch51data[] = {
+   0x70,0x88,0x88,0x8,0x8,0x30,0x8,0x88,0x70
+};
+static const GLUTBitmapChar ch51 = { 5, 9, -1, 0, 7, ch51data };
+
+static const unsigned char ch52data[] = {
+   0x8,0x8,0xfc,0x88,0x48,0x28,0x28,0x18,0x8
+};
+static const GLUTBitmapChar ch52 = { 6, 9, 0, 0, 7, ch52data };
+
+static const unsigned char ch53data[] = {
+   0x70,0x88,0x88,0x8,0x8,0xf0,0x80,0x80,0xf8
+};
+static const GLUTBitmapChar ch53 = { 5, 9, -1, 0, 7, ch53data };
+
+static const unsigned char ch54data[] = {
+   0x70,0x88,0x88,0x88,0xc8,0xb0,0x80,0x88,0x70
+};
+static const GLUTBitmapChar ch54 = { 5, 9, -1, 0, 7, ch54data };
+
+static const unsigned char ch55data[] = {
+   0x40,0x40,0x20,0x20,0x20,0x10,0x10,0x8,0xf8
+};
+static const GLUTBitmapChar ch55 = { 5, 9, -1, 0, 7, ch55data };
+
+static const unsigned char ch56data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch56 = { 5, 9, -1, 0, 7, ch56data };
+
+static const unsigned char ch57data[] = {
+   0x70,0x88,0x8,0x8,0x78,0x88,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch57 = { 5, 9, -1, 0, 7, ch57data };
+
+static const unsigned char ch58data[] = {
+   0x80,0x0,0x0,0x0,0x0,0x80
+};
+static const GLUTBitmapChar ch58 = { 1, 6, -1, 0, 3, ch58data };
+
+static const unsigned char ch59data[] = {
+   0x80,0x40,0x40,0x0,0x0,0x0,0x0,0x40
+};
+static const GLUTBitmapChar ch59 = { 2, 8, 0, 2, 3, ch59data };
+
+static const unsigned char ch60data[] = {
+   0xc,0x30,0xc0,0x30,0xc
+};
+static const GLUTBitmapChar ch60 = { 6, 5, 0, -1, 7, ch60data };
+
+static const unsigned char ch61data[] = {
+   0xf8,0x0,0xf8
+};
+static const GLUTBitmapChar ch61 = { 5, 3, -1, -2, 7, ch61data };
+
+static const unsigned char ch62data[] = {
+   0xc0,0x30,0xc,0x30,0xc0
+};
+static const GLUTBitmapChar ch62 = { 6, 5, -1, -1, 7, ch62data };
+
+static const unsigned char ch63data[] = {
+   0x20,0x0,0x20,0x20,0x10,0x10,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch63 = { 5, 9, -1, 0, 7, ch63data };
+
+static const unsigned char ch64data[] = {
+   0x3e,0x0,0x40,0x0,0x9b,0x0,0xa6,0x80,0xa2,0x40,0xa2,0x40,0x92,0x40,0x4d,0x40,
+   0x60,0x80,0x1f,0x0
+};
+static const GLUTBitmapChar ch64 = { 10, 10, -1, 1, 12, ch64data };
+
+static const unsigned char ch65data[] = {
+   0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x28,0x10
+};
+static const GLUTBitmapChar ch65 = { 7, 9, -1, 0, 9, ch65data };
+
+static const unsigned char ch66data[] = {
+   0xf8,0x84,0x84,0x84,0xf8,0x84,0x84,0x84,0xf8
+};
+static const GLUTBitmapChar ch66 = { 6, 9, -1, 0, 8, ch66data };
+
+static const unsigned char ch67data[] = {
+   0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c
+};
+static const GLUTBitmapChar ch67 = { 7, 9, -1, 0, 9, ch67data };
+
+static const unsigned char ch68data[] = {
+   0xf8,0x84,0x82,0x82,0x82,0x82,0x82,0x84,0xf8
+};
+static const GLUTBitmapChar ch68 = { 7, 9, -1, 0, 9, ch68data };
+
+static const unsigned char ch69data[] = {
+   0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc
+};
+static const GLUTBitmapChar ch69 = { 6, 9, -1, 0, 8, ch69data };
+
+static const unsigned char ch70data[] = {
+   0x80,0x80,0x80,0x80,0xf8,0x80,0x80,0x80,0xfc
+};
+static const GLUTBitmapChar ch70 = { 6, 9, -1, 0, 8, ch70data };
+
+static const unsigned char ch71data[] = {
+   0x3a,0x46,0x82,0x82,0x8e,0x80,0x80,0x42,0x3c
+};
+static const GLUTBitmapChar ch71 = { 7, 9, -1, 0, 9, ch71data };
+
+static const unsigned char ch72data[] = {
+   0x82,0x82,0x82,0x82,0xfe,0x82,0x82,0x82,0x82
+};
+static const GLUTBitmapChar ch72 = { 7, 9, -1, 0, 9, ch72data };
+
+static const unsigned char ch73data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch73 = { 1, 9, -1, 0, 3, ch73data };
+
+static const unsigned char ch74data[] = {
+   0x70,0x88,0x88,0x8,0x8,0x8,0x8,0x8,0x8
+};
+static const GLUTBitmapChar ch74 = { 5, 9, -1, 0, 7, ch74data };
+
+static const unsigned char ch75data[] = {
+   0x82,0x84,0x88,0x90,0xe0,0xa0,0x90,0x88,0x84
+};
+static const GLUTBitmapChar ch75 = { 7, 9, -1, 0, 8, ch75data };
+
+static const unsigned char ch76data[] = {
+   0xf8,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch76 = { 5, 9, -1, 0, 7, ch76data };
+
+static const unsigned char ch77data[] = {
+   0x88,0x80,0x88,0x80,0x94,0x80,0x94,0x80,0xa2,0x80,0xa2,0x80,0xc1,0x80,0xc1,0x80,
+   0x80,0x80
+};
+static const GLUTBitmapChar ch77 = { 9, 9, -1, 0, 11, ch77data };
+
+static const unsigned char ch78data[] = {
+   0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82
+};
+static const GLUTBitmapChar ch78 = { 7, 9, -1, 0, 9, ch78data };
+
+static const unsigned char ch79data[] = {
+   0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c
+};
+static const GLUTBitmapChar ch79 = { 8, 9, -1, 0, 10, ch79data };
+
+static const unsigned char ch80data[] = {
+   0x80,0x80,0x80,0x80,0xf8,0x84,0x84,0x84,0xf8
+};
+static const GLUTBitmapChar ch80 = { 6, 9, -1, 0, 8, ch80data };
+
+static const unsigned char ch81data[] = {
+   0x3d,0x42,0x85,0x89,0x81,0x81,0x81,0x42,0x3c
+};
+static const GLUTBitmapChar ch81 = { 8, 9, -1, 0, 10, ch81data };
+
+static const unsigned char ch82data[] = {
+   0x84,0x84,0x84,0x88,0xf8,0x84,0x84,0x84,0xf8
+};
+static const GLUTBitmapChar ch82 = { 6, 9, -1, 0, 8, ch82data };
+
+static const unsigned char ch83data[] = {
+   0x78,0x84,0x84,0x4,0x18,0x60,0x80,0x84,0x78
+};
+static const GLUTBitmapChar ch83 = { 6, 9, -1, 0, 8, ch83data };
+
+static const unsigned char ch84data[] = {
+   0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xfe
+};
+static const GLUTBitmapChar ch84 = { 7, 9, 0, 0, 7, ch84data };
+
+static const unsigned char ch85data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84
+};
+static const GLUTBitmapChar ch85 = { 6, 9, -1, 0, 8, ch85data };
+
+static const unsigned char ch86data[] = {
+   0x10,0x10,0x28,0x28,0x44,0x44,0x44,0x82,0x82
+};
+static const GLUTBitmapChar ch86 = { 7, 9, -1, 0, 9, ch86data };
+
+static const unsigned char ch87data[] = {
+   0x22,0x0,0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0x49,0x0,0x88,0x80,0x88,0x80,
+   0x88,0x80
+};
+static const GLUTBitmapChar ch87 = { 9, 9, -1, 0, 11, ch87data };
+
+static const unsigned char ch88data[] = {
+   0x82,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x82
+};
+static const GLUTBitmapChar ch88 = { 7, 9, -1, 0, 9, ch88data };
+
+static const unsigned char ch89data[] = {
+   0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82
+};
+static const GLUTBitmapChar ch89 = { 7, 9, -1, 0, 9, ch89data };
+
+static const unsigned char ch90data[] = {
+   0xfe,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0xfe
+};
+static const GLUTBitmapChar ch90 = { 7, 9, -1, 0, 9, ch90data };
+
+static const unsigned char ch91data[] = {
+   0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0
+};
+static const GLUTBitmapChar ch91 = { 2, 12, -1, 3, 3, ch91data };
+
+static const unsigned char ch92data[] = {
+   0x10,0x10,0x20,0x20,0x20,0x40,0x40,0x80,0x80
+};
+static const GLUTBitmapChar ch92 = { 4, 9, 0, 0, 4, ch92data };
+
+static const unsigned char ch93data[] = {
+   0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0
+};
+static const GLUTBitmapChar ch93 = { 2, 12, 0, 3, 3, ch93data };
+
+static const unsigned char ch94data[] = {
+   0x88,0x50,0x20
+};
+static const GLUTBitmapChar ch94 = { 5, 3, 0, -5, 6, ch94data };
+
+static const unsigned char ch95data[] = {
+   0xfe
+};
+static const GLUTBitmapChar ch95 = { 7, 1, 0, 2, 7, ch95data };
+
+static const unsigned char ch96data[] = {
+   0xc0,0x80,0x40
+};
+static const GLUTBitmapChar ch96 = { 2, 3, 0, -6, 3, ch96data };
+
+static const unsigned char ch97data[] = {
+   0x74,0x88,0x88,0x78,0x8,0x88,0x70
+};
+static const GLUTBitmapChar ch97 = { 6, 7, -1, 0, 7, ch97data };
+
+static const unsigned char ch98data[] = {
+   0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80
+};
+static const GLUTBitmapChar ch98 = { 5, 9, -1, 0, 7, ch98data };
+
+static const unsigned char ch99data[] = {
+   0x70,0x88,0x80,0x80,0x80,0x88,0x70
+};
+static const GLUTBitmapChar ch99 = { 5, 7, -1, 0, 7, ch99data };
+
+static const unsigned char ch100data[] = {
+   0x68,0x98,0x88,0x88,0x88,0x98,0x68,0x8,0x8
+};
+static const GLUTBitmapChar ch100 = { 5, 9, -1, 0, 7, ch100data };
+
+static const unsigned char ch101data[] = {
+   0x70,0x88,0x80,0xf8,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch101 = { 5, 7, -1, 0, 7, ch101data };
+
+static const unsigned char ch102data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30
+};
+static const GLUTBitmapChar ch102 = { 4, 9, 0, 0, 3, ch102data };
+
+static const unsigned char ch103data[] = {
+   0x70,0x88,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68
+};
+static const GLUTBitmapChar ch103 = { 5, 10, -1, 3, 7, ch103data };
+
+static const unsigned char ch104data[] = {
+   0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80
+};
+static const GLUTBitmapChar ch104 = { 5, 9, -1, 0, 7, ch104data };
+
+static const unsigned char ch105data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80
+};
+static const GLUTBitmapChar ch105 = { 1, 9, -1, 0, 3, ch105data };
+
+static const unsigned char ch106data[] = {
+   0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40
+};
+static const GLUTBitmapChar ch106 = { 2, 12, 0, 3, 3, ch106data };
+
+static const unsigned char ch107data[] = {
+   0x88,0x90,0xa0,0xc0,0xc0,0xa0,0x90,0x80,0x80
+};
+static const GLUTBitmapChar ch107 = { 5, 9, -1, 0, 6, ch107data };
+
+static const unsigned char ch108data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch108 = { 1, 9, -1, 0, 3, ch108data };
+
+static const unsigned char ch109data[] = {
+   0x92,0x92,0x92,0x92,0x92,0xda,0xa4
+};
+static const GLUTBitmapChar ch109 = { 7, 7, -1, 0, 9, ch109data };
+
+static const unsigned char ch110data[] = {
+   0x88,0x88,0x88,0x88,0x88,0xc8,0xb0
+};
+static const GLUTBitmapChar ch110 = { 5, 7, -1, 0, 7, ch110data };
+
+static const unsigned char ch111data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch111 = { 5, 7, -1, 0, 7, ch111data };
+
+static const unsigned char ch112data[] = {
+   0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0
+};
+static const GLUTBitmapChar ch112 = { 5, 10, -1, 3, 7, ch112data };
+
+static const unsigned char ch113data[] = {
+   0x8,0x8,0x8,0x68,0x98,0x88,0x88,0x88,0x98,0x68
+};
+static const GLUTBitmapChar ch113 = { 5, 10, -1, 3, 7, ch113data };
+
+static const unsigned char ch114data[] = {
+   0x80,0x80,0x80,0x80,0x80,0xc0,0xa0
+};
+static const GLUTBitmapChar ch114 = { 3, 7, -1, 0, 4, ch114data };
+
+static const unsigned char ch115data[] = {
+   0x60,0x90,0x10,0x60,0x80,0x90,0x60
+};
+static const GLUTBitmapChar ch115 = { 4, 7, -1, 0, 6, ch115data };
+
+static const unsigned char ch116data[] = {
+   0x60,0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x40
+};
+static const GLUTBitmapChar ch116 = { 3, 9, 0, 0, 3, ch116data };
+
+static const unsigned char ch117data[] = {
+   0x68,0x98,0x88,0x88,0x88,0x88,0x88
+};
+static const GLUTBitmapChar ch117 = { 5, 7, -1, 0, 7, ch117data };
+
+static const unsigned char ch118data[] = {
+   0x20,0x20,0x50,0x50,0x88,0x88,0x88
+};
+static const GLUTBitmapChar ch118 = { 5, 7, -1, 0, 7, ch118data };
+
+static const unsigned char ch119data[] = {
+   0x22,0x0,0x22,0x0,0x55,0x0,0x49,0x0,0x49,0x0,0x88,0x80,0x88,0x80
+};
+static const GLUTBitmapChar ch119 = { 9, 7, 0, 0, 9, ch119data };
+
+static const unsigned char ch120data[] = {
+   0x84,0x84,0x48,0x30,0x30,0x48,0x84
+};
+static const GLUTBitmapChar ch120 = { 6, 7, 0, 0, 6, ch120data };
+
+static const unsigned char ch121data[] = {
+   0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88
+};
+static const GLUTBitmapChar ch121 = { 5, 10, -1, 3, 7, ch121data };
+
+static const unsigned char ch122data[] = {
+   0xf0,0x80,0x40,0x40,0x20,0x10,0xf0
+};
+static const GLUTBitmapChar ch122 = { 4, 7, -1, 0, 6, ch122data };
+
+static const unsigned char ch123data[] = {
+   0x30,0x40,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x40,0x30
+};
+static const GLUTBitmapChar ch123 = { 4, 12, 0, 3, 4, ch123data };
+
+static const unsigned char ch124data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch124 = { 1, 12, -1, 3, 3, ch124data };
+
+static const unsigned char ch125data[] = {
+   0xc0,0x20,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0xc0
+};
+static const GLUTBitmapChar ch125 = { 4, 12, 0, 3, 4, ch125data };
+
+static const unsigned char ch126data[] = {
+   0x98,0x64
+};
+static const GLUTBitmapChar ch126 = { 6, 2, 0, -3, 7, ch126data };
+
+static const unsigned char ch160data[] = {
+   0x0
+};
+static const GLUTBitmapChar ch160 = { 1, 1, 0, 0, 4, ch160data };
+
+static const unsigned char ch161data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80
+};
+static const GLUTBitmapChar ch161 = { 1, 10, -1, 3, 3, ch161data };
+
+static const unsigned char ch162data[] = {
+   0x40,0x70,0xc8,0xa0,0xa0,0xa0,0xa8,0x70,0x10
+};
+static const GLUTBitmapChar ch162 = { 5, 9, -1, 1, 7, ch162data };
+
+static const unsigned char ch163data[] = {
+   0xb0,0x48,0x20,0x20,0xf0,0x40,0x40,0x48,0x30
+};
+static const GLUTBitmapChar ch163 = { 5, 9, -1, 0, 7, ch163data };
+
+static const unsigned char ch164data[] = {
+   0x84,0x78,0x48,0x48,0x78,0x84
+};
+static const GLUTBitmapChar ch164 = { 6, 6, 0, -1, 7, ch164data };
+
+static const unsigned char ch165data[] = {
+   0x20,0x20,0xf8,0x20,0xf8,0x20,0x50,0x88,0x88
+};
+static const GLUTBitmapChar ch165 = { 5, 9, -1, 0, 7, ch165data };
+
+static const unsigned char ch166data[] = {
+   0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch166 = { 1, 11, -1, 2, 3, ch166data };
+
+static const unsigned char ch167data[] = {
+   0x70,0x88,0x8,0x30,0x48,0x88,0x88,0x90,0x60,0x80,0x88,0x70
+};
+static const GLUTBitmapChar ch167 = { 5, 12, 0, 3, 6, ch167data };
+
+static const unsigned char ch168data[] = {
+   0xa0
+};
+static const GLUTBitmapChar ch168 = { 3, 1, 0, -8, 3, ch168data };
+
+static const unsigned char ch169data[] = {
+   0x3e,0x0,0x41,0x0,0x9c,0x80,0xa2,0x80,0xa0,0x80,0xa2,0x80,0x9c,0x80,0x41,0x0,
+   0x3e,0x0
+};
+static const GLUTBitmapChar ch169 = { 9, 9, -1, 0, 11, ch169data };
+
+static const unsigned char ch170data[] = {
+   0xe0,0x0,0xa0,0x20,0xe0
+};
+static const GLUTBitmapChar ch170 = { 3, 5, -1, -4, 5, ch170data };
+
+static const unsigned char ch171data[] = {
+   0x28,0x50,0xa0,0x50,0x28
+};
+static const GLUTBitmapChar ch171 = { 5, 5, -1, -1, 7, ch171data };
+
+static const unsigned char ch172data[] = {
+   0x4,0x4,0x4,0xfc
+};
+static const GLUTBitmapChar ch172 = { 6, 4, -1, -2, 8, ch172data };
+
+static const unsigned char ch173data[] = {
+   0xf0
+};
+static const GLUTBitmapChar ch173 = { 4, 1, 0, -3, 5, ch173data };
+
+static const unsigned char ch174data[] = {
+   0x3e,0x0,0x41,0x0,0x94,0x80,0x94,0x80,0x98,0x80,0x94,0x80,0x9c,0x80,0x41,0x0,
+   0x3e,0x0
+};
+static const GLUTBitmapChar ch174 = { 9, 9, -1, 0, 11, ch174data };
+
+static const unsigned char ch175data[] = {
+   0xf0
+};
+static const GLUTBitmapChar ch175 = { 4, 1, 0, -8, 4, ch175data };
+
+static const unsigned char ch176data[] = {
+   0x60,0x90,0x90,0x60
+};
+static const GLUTBitmapChar ch176 = { 4, 4, 0, -4, 5, ch176data };
+
+static const unsigned char ch177data[] = {
+   0xf8,0x0,0x20,0x20,0xf8,0x20,0x20
+};
+static const GLUTBitmapChar ch177 = { 5, 7, -1, 0, 7, ch177data };
+
+static const unsigned char ch178data[] = {
+   0xf0,0x40,0x20,0x90,0x60
+};
+static const GLUTBitmapChar ch178 = { 4, 5, 0, -3, 4, ch178data };
+
+static const unsigned char ch179data[] = {
+   0xc0,0x20,0x40,0x20,0xe0
+};
+static const GLUTBitmapChar ch179 = { 3, 5, 0, -3, 4, ch179data };
+
+static const unsigned char ch180data[] = {
+   0x80,0x40
+};
+static const GLUTBitmapChar ch180 = { 2, 2, 0, -8, 2, ch180data };
+
+static const unsigned char ch181data[] = {
+   0x80,0x80,0x80,0xe8,0x98,0x88,0x88,0x88,0x88,0x88
+};
+static const GLUTBitmapChar ch181 = { 5, 10, -1, 3, 7, ch181data };
+
+static const unsigned char ch182data[] = {
+   0x28,0x28,0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x68,0x3c
+};
+static const GLUTBitmapChar ch182 = { 6, 12, 0, 3, 7, ch182data };
+
+static const unsigned char ch183data[] = {
+   0x80
+};
+static const GLUTBitmapChar ch183 = { 1, 1, -1, -3, 3, ch183data };
+
+static const unsigned char ch184data[] = {
+   0xc0,0x20,0x20,0x40
+};
+static const GLUTBitmapChar ch184 = { 3, 4, 0, 3, 3, ch184data };
+
+static const unsigned char ch185data[] = {
+   0x40,0x40,0x40,0xc0,0x40
+};
+static const GLUTBitmapChar ch185 = { 2, 5, -1, -3, 4, ch185data };
+
+static const unsigned char ch186data[] = {
+   0xe0,0x0,0xe0,0xa0,0xe0
+};
+static const GLUTBitmapChar ch186 = { 3, 5, -1, -4, 5, ch186data };
+
+static const unsigned char ch187data[] = {
+   0xa0,0x50,0x28,0x50,0xa0
+};
+static const GLUTBitmapChar ch187 = { 5, 5, -1, -1, 7, ch187data };
+
+static const unsigned char ch188data[] = {
+   0x41,0x0,0x27,0x80,0x15,0x0,0x13,0x0,0x49,0x0,0x44,0x0,0x44,0x0,0xc2,0x0,
+   0x41,0x0
+};
+static const GLUTBitmapChar ch188 = { 9, 9, 0, 0, 10, ch188data };
+
+static const unsigned char ch189data[] = {
+   0x47,0x80,0x22,0x0,0x11,0x0,0x14,0x80,0x4b,0x0,0x48,0x0,0x44,0x0,0xc2,0x0,
+   0x41,0x0
+};
+static const GLUTBitmapChar ch189 = { 9, 9, 0, 0, 10, ch189data };
+
+static const unsigned char ch190data[] = {
+   0x21,0x0,0x17,0x80,0x15,0x0,0xb,0x0,0xc9,0x0,0x24,0x0,0x44,0x0,0x22,0x0,
+   0xe1,0x0
+};
+static const GLUTBitmapChar ch190 = { 9, 9, 0, 0, 10, ch190data };
+
+static const unsigned char ch191data[] = {
+   0x70,0x88,0x88,0x40,0x40,0x20,0x20,0x0,0x20
+};
+static const GLUTBitmapChar ch191 = { 5, 9, -1, 3, 7, ch191data };
+
+static const unsigned char ch192data[] = {
+   0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x20
+};
+static const GLUTBitmapChar ch192 = { 7, 12, -1, 0, 9, ch192data };
+
+static const unsigned char ch193data[] = {
+   0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch193 = { 7, 12, -1, 0, 9, ch193data };
+
+static const unsigned char ch194data[] = {
+   0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x10
+};
+static const GLUTBitmapChar ch194 = { 7, 12, -1, 0, 9, ch194data };
+
+static const unsigned char ch195data[] = {
+   0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28,0x14
+};
+static const GLUTBitmapChar ch195 = { 7, 12, -1, 0, 9, ch195data };
+
+static const unsigned char ch196data[] = {
+   0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x0,0x28
+};
+static const GLUTBitmapChar ch196 = { 7, 11, -1, 0, 9, ch196data };
+
+static const unsigned char ch197data[] = {
+   0x82,0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x10,0x28,0x10
+};
+static const GLUTBitmapChar ch197 = { 7, 12, -1, 0, 9, ch197data };
+
+static const unsigned char ch198data[] = {
+   0x8f,0x80,0x88,0x0,0x88,0x0,0x78,0x0,0x4f,0x80,0x48,0x0,0x28,0x0,0x28,0x0,
+   0x1f,0x80
+};
+static const GLUTBitmapChar ch198 = { 9, 9, -1, 0, 11, ch198data };
+
+static const unsigned char ch199data[] = {
+   0x30,0x8,0x8,0x3c,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c
+};
+static const GLUTBitmapChar ch199 = { 7, 12, -1, 3, 9, ch199data };
+
+static const unsigned char ch200data[] = {
+   0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x20
+};
+static const GLUTBitmapChar ch200 = { 6, 12, -1, 0, 8, ch200data };
+
+static const unsigned char ch201data[] = {
+   0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch201 = { 6, 12, -1, 0, 8, ch201data };
+
+static const unsigned char ch202data[] = {
+   0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28,0x10
+};
+static const GLUTBitmapChar ch202 = { 6, 12, -1, 0, 8, ch202data };
+
+static const unsigned char ch203data[] = {
+   0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,0xfc,0x0,0x28
+};
+static const GLUTBitmapChar ch203 = { 6, 11, -1, 0, 8, ch203data };
+
+static const unsigned char ch204data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80
+};
+static const GLUTBitmapChar ch204 = { 2, 12, 0, 0, 3, ch204data };
+
+static const unsigned char ch205data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40
+};
+static const GLUTBitmapChar ch205 = { 2, 12, -1, 0, 3, ch205data };
+
+static const unsigned char ch206data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40
+};
+static const GLUTBitmapChar ch206 = { 3, 12, 0, 0, 3, ch206data };
+
+static const unsigned char ch207data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0
+};
+static const GLUTBitmapChar ch207 = { 3, 11, 0, 0, 3, ch207data };
+
+static const unsigned char ch208data[] = {
+   0x7c,0x42,0x41,0x41,0xf1,0x41,0x41,0x42,0x7c
+};
+static const GLUTBitmapChar ch208 = { 8, 9, 0, 0, 9, ch208data };
+
+static const unsigned char ch209data[] = {
+   0x82,0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,0x0,0x28,0x14
+};
+static const GLUTBitmapChar ch209 = { 7, 12, -1, 0, 9, ch209data };
+
+static const unsigned char ch210data[] = {
+   0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x10
+};
+static const GLUTBitmapChar ch210 = { 8, 12, -1, 0, 10, ch210data };
+
+static const unsigned char ch211data[] = {
+   0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x8,0x4
+};
+static const GLUTBitmapChar ch211 = { 8, 12, -1, 0, 10, ch211data };
+
+static const unsigned char ch212data[] = {
+   0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x14,0x8
+};
+static const GLUTBitmapChar ch212 = { 8, 12, -1, 0, 10, ch212data };
+
+static const unsigned char ch213data[] = {
+   0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x28,0x14
+};
+static const GLUTBitmapChar ch213 = { 8, 12, -1, 0, 10, ch213data };
+
+static const unsigned char ch214data[] = {
+   0x3c,0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,0x0,0x24
+};
+static const GLUTBitmapChar ch214 = { 8, 11, -1, 0, 10, ch214data };
+
+static const unsigned char ch215data[] = {
+   0x88,0x50,0x20,0x50,0x88
+};
+static const GLUTBitmapChar ch215 = { 5, 5, -1, -1, 7, ch215data };
+
+static const unsigned char 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 GLUTBitmapChar ch216 = { 10, 11, 0, 1, 10, ch216data };
+
+static const unsigned char ch217data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x20
+};
+static const GLUTBitmapChar ch217 = { 6, 12, -1, 0, 8, ch217data };
+
+static const unsigned char ch218data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch218 = { 6, 12, -1, 0, 8, ch218data };
+
+static const unsigned char ch219data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x28,0x10
+};
+static const GLUTBitmapChar ch219 = { 6, 12, -1, 0, 8, ch219data };
+
+static const unsigned char ch220data[] = {
+   0x78,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0,0x48
+};
+static const GLUTBitmapChar ch220 = { 6, 11, -1, 0, 8, ch220data };
+
+static const unsigned char ch221data[] = {
+   0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,0x82,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch221 = { 7, 12, -1, 0, 9, ch221data };
+
+static const unsigned char ch222data[] = {
+   0x80,0x80,0xf8,0x84,0x84,0x84,0xf8,0x80,0x80
+};
+static const GLUTBitmapChar ch222 = { 6, 9, -1, 0, 8, ch222data };
+
+static const unsigned char ch223data[] = {
+   0xb0,0x88,0x88,0x88,0xb0,0x88,0x88,0x88,0x70
+};
+static const GLUTBitmapChar ch223 = { 5, 9, -1, 0, 7, ch223data };
+
+static const unsigned char ch224data[] = {
+   0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x10,0x20
+};
+static const GLUTBitmapChar ch224 = { 6, 10, -1, 0, 7, ch224data };
+
+static const unsigned char ch225data[] = {
+   0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch225 = { 6, 10, -1, 0, 7, ch225data };
+
+static const unsigned char ch226data[] = {
+   0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch226 = { 6, 10, -1, 0, 7, ch226data };
+
+static const unsigned char ch227data[] = {
+   0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50,0x28
+};
+static const GLUTBitmapChar ch227 = { 6, 10, -1, 0, 7, ch227data };
+
+static const unsigned char ch228data[] = {
+   0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x0,0x50
+};
+static const GLUTBitmapChar ch228 = { 6, 9, -1, 0, 7, ch228data };
+
+static const unsigned char ch229data[] = {
+   0x74,0x88,0x88,0x78,0x8,0x88,0x70,0x30,0x48,0x30
+};
+static const GLUTBitmapChar ch229 = { 6, 10, -1, 0, 7, ch229data };
+
+static const unsigned char ch230data[] = {
+   0x77,0x0,0x88,0x80,0x88,0x0,0x7f,0x80,0x8,0x80,0x88,0x80,0x77,0x0
+};
+static const GLUTBitmapChar ch230 = { 9, 7, -1, 0, 11, ch230data };
+
+static const unsigned char ch231data[] = {
+   0x60,0x10,0x20,0x70,0x88,0x80,0x80,0x80,0x88,0x70
+};
+static const GLUTBitmapChar ch231 = { 5, 10, -1, 3, 7, ch231data };
+
+static const unsigned char ch232data[] = {
+   0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch232 = { 5, 10, -1, 0, 7, ch232data };
+
+static const unsigned char ch233data[] = {
+   0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch233 = { 5, 10, -1, 0, 7, ch233data };
+
+static const unsigned char ch234data[] = {
+   0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch234 = { 5, 10, -1, 0, 7, ch234data };
+
+static const unsigned char ch235data[] = {
+   0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x0,0x50
+};
+static const GLUTBitmapChar ch235 = { 5, 9, -1, 0, 7, ch235data };
+
+static const unsigned char ch236data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0x40,0x80
+};
+static const GLUTBitmapChar ch236 = { 2, 10, 0, 0, 3, ch236data };
+
+static const unsigned char ch237data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x80,0x40
+};
+static const GLUTBitmapChar ch237 = { 2, 10, -1, 0, 3, ch237data };
+
+static const unsigned char ch238data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0,0x40
+};
+static const GLUTBitmapChar ch238 = { 3, 10, 0, 0, 3, ch238data };
+
+static const unsigned char ch239data[] = {
+   0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x0,0xa0
+};
+static const GLUTBitmapChar ch239 = { 3, 9, 0, 0, 3, ch239data };
+
+static const unsigned char ch240data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x78,0x8,0x50,0x30,0x68
+};
+static const GLUTBitmapChar ch240 = { 5, 10, -1, 0, 7, ch240data };
+
+static const unsigned char ch241data[] = {
+   0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,0x0,0x50,0x28
+};
+static const GLUTBitmapChar ch241 = { 5, 10, -1, 0, 7, ch241data };
+
+static const unsigned char ch242data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch242 = { 5, 10, -1, 0, 7, ch242data };
+
+static const unsigned char ch243data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch243 = { 5, 10, -1, 0, 7, ch243data };
+
+static const unsigned char ch244data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch244 = { 5, 10, -1, 0, 7, ch244data };
+
+static const unsigned char ch245data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50,0x28
+};
+static const GLUTBitmapChar ch245 = { 5, 10, -1, 0, 7, ch245data };
+
+static const unsigned char ch246data[] = {
+   0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x0,0x50
+};
+static const GLUTBitmapChar ch246 = { 5, 9, -1, 0, 7, ch246data };
+
+static const unsigned char ch247data[] = {
+   0x20,0x0,0xf8,0x0,0x20
+};
+static const GLUTBitmapChar ch247 = { 5, 5, -1, -1, 7, ch247data };
+
+static const unsigned char ch248data[] = {
+   0xb8,0x44,0x64,0x54,0x4c,0x44,0x3a
+};
+static const GLUTBitmapChar ch248 = { 7, 7, 0, 0, 7, ch248data };
+
+static const unsigned char ch249data[] = {
+   0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch249 = { 5, 10, -1, 0, 7, ch249data };
+
+static const unsigned char ch250data[] = {
+   0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch250 = { 5, 10, -1, 0, 7, ch250data };
+
+static const unsigned char ch251data[] = {
+   0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch251 = { 5, 10, -1, 0, 7, ch251data };
+
+static const unsigned char ch252data[] = {
+   0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x0,0x50
+};
+static const GLUTBitmapChar ch252 = { 5, 9, -1, 0, 7, ch252data };
+
+static const unsigned char ch253data[] = {
+   0x80,0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,0x88,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch253 = { 5, 13, -1, 3, 7, ch253data };
+
+static const unsigned char ch254data[] = {
+   0x80,0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80
+};
+static const GLUTBitmapChar ch254 = { 5, 12, -1, 3, 7, ch254data };
+
+static const unsigned char ch255data[] = {
+   0xc0,0x20,0x20,0x20,0x30,0x50,0x50,0x48,0x88,0x88,0x0,0x50
+};
+static const GLUTBitmapChar ch255 = { 5, 12, -1, 3, 7, ch255data };
+
+
+static const GLUTBitmapChar *chars[] = {
+   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, 
+   &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
+};
+
+const GLUTBitmapFont glutBitmapHelvetica12 = {
+   "-Adobe-Helvetica-Medium-R-Normal--12-120-75-75-P-67-ISO8859-1",
+   15, 256, chars
+};
diff --git a/src/glut/dos/hel18.c b/src/glut/dos/hel18.c
new file mode 100644 (file)
index 0000000..f4d4340
--- /dev/null
@@ -0,0 +1,1138 @@
+/* autogenerated by bdf2c!  do not edit */
+
+/* "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." */
+
+
+#include "internal.h"
+/*
+typedef struct {
+   int width, height;
+   int xorig, yorig;
+   int xmove;
+   const unsigned char *bitmap;
+} GLUTBitmapChar;
+
+typedef struct {
+   const char *name;
+   int height;
+   int num;
+   const GLUTBitmapChar *const *table;
+} GLUTBitmapFont;
+*/
+
+
+static const unsigned char ch32data[] = {
+   0x0
+};
+static const GLUTBitmapChar ch32 = { 1, 1, 0, 0, 5, ch32data };
+
+static const unsigned char ch33data[] = {
+   0xc0,0xc0,0x0,0x0,0x80,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch33 = { 2, 14, -2, 0, 6, ch33data };
+
+static const unsigned char ch34data[] = {
+   0x90,0x90,0xd8,0xd8,0xd8
+};
+static const GLUTBitmapChar ch34 = { 5, 5, 0, -9, 5, ch34data };
+
+static const unsigned char 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 GLUTBitmapChar ch35 = { 10, 13, 0, 0, 10, ch35data };
+
+static const unsigned char 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 GLUTBitmapChar ch36 = { 9, 16, -1, 2, 10, ch36data };
+
+static const unsigned char 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 GLUTBitmapChar ch37 = { 14, 13, -1, 0, 16, ch37data };
+
+static const unsigned char 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 GLUTBitmapChar ch38 = { 12, 13, -1, 0, 13, ch38data };
+
+static const unsigned char ch39data[] = {
+   0x80,0x40,0x40,0xc0,0xc0
+};
+static const GLUTBitmapChar ch39 = { 2, 5, -1, -9, 4, ch39data };
+
+static const unsigned char ch40data[] = {
+   0x10,0x30,0x60,0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x60,0x60,
+   0x30,0x10
+};
+static const GLUTBitmapChar ch40 = { 4, 18, -1, 4, 6, ch40data };
+
+static const unsigned char ch41data[] = {
+   0x80,0xc0,0x60,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0x60,
+   0xc0,0x80
+};
+static const GLUTBitmapChar ch41 = { 4, 18, -1, 4, 6, ch41data };
+
+static const unsigned char ch42data[] = {
+   0x88,0x70,0x70,0xf8,0x20,0x20
+};
+static const GLUTBitmapChar ch42 = { 5, 6, -1, -8, 7, ch42data };
+
+static const unsigned char ch43data[] = {
+   0x18,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18,0x18
+};
+static const GLUTBitmapChar ch43 = { 8, 10, -1, 0, 10, ch43data };
+
+static const unsigned char ch44data[] = {
+   0x80,0x40,0x40,0xc0,0xc0
+};
+static const GLUTBitmapChar ch44 = { 2, 5, -1, 3, 5, ch44data };
+
+static const unsigned char ch45data[] = {
+   0xff,0xff
+};
+static const GLUTBitmapChar ch45 = { 8, 2, -1, -4, 11, ch45data };
+
+static const unsigned char ch46data[] = {
+   0xc0,0xc0
+};
+static const GLUTBitmapChar ch46 = { 2, 2, -1, 0, 5, ch46data };
+
+static const unsigned char ch47data[] = {
+   0xc0,0xc0,0x40,0x40,0x60,0x60,0x20,0x20,0x30,0x30,0x10,0x10,0x18,0x18
+};
+static const GLUTBitmapChar ch47 = { 5, 14, 0, 0, 5, ch47data };
+
+static const unsigned char ch48data[] = {
+   0x3c,0x7e,0x66,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x66,0x7e,0x3c
+};
+static const GLUTBitmapChar ch48 = { 8, 13, -1, 0, 10, ch48data };
+
+static const unsigned char ch49data[] = {
+   0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0xf8,0x18
+};
+static const GLUTBitmapChar ch49 = { 5, 13, -2, 0, 10, ch49data };
+
+static const unsigned char ch50data[] = {
+   0xff,0xff,0xc0,0xe0,0x70,0x38,0x1c,0xe,0x7,0x3,0xc3,0xfe,0x3c
+};
+static const GLUTBitmapChar ch50 = { 8, 13, -1, 0, 10, ch50data };
+
+static const unsigned char ch51data[] = {
+   0x3c,0x7e,0xc7,0xc3,0x3,0x7,0x1e,0x1c,0x6,0xc3,0xc3,0x7e,0x3c
+};
+static const GLUTBitmapChar ch51 = { 8, 13, -1, 0, 10, ch51data };
+
+static const unsigned char 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 GLUTBitmapChar ch52 = { 9, 13, -1, 0, 10, ch52data };
+
+static const unsigned char ch53data[] = {
+   0x7c,0xfe,0xc7,0xc3,0x3,0x3,0xc7,0xfe,0xfc,0xc0,0xc0,0xfe,0xfe
+};
+static const GLUTBitmapChar ch53 = { 8, 13, -1, 0, 10, ch53data };
+
+static const unsigned char ch54data[] = {
+   0x3c,0x7e,0xe3,0xc3,0xc3,0xc3,0xfe,0xdc,0xc0,0xc0,0x63,0x7f,0x3c
+};
+static const GLUTBitmapChar ch54 = { 8, 13, -1, 0, 10, ch54data };
+
+static const unsigned char ch55data[] = {
+   0x60,0x60,0x30,0x30,0x30,0x18,0x18,0xc,0xc,0x6,0x3,0xff,0xff
+};
+static const GLUTBitmapChar ch55 = { 8, 13, -1, 0, 10, ch55data };
+
+static const unsigned char ch56data[] = {
+   0x3c,0x7e,0xe7,0xc3,0xc3,0x66,0x7e,0x66,0xc3,0xc3,0xe7,0x7e,0x3c
+};
+static const GLUTBitmapChar ch56 = { 8, 13, -1, 0, 10, ch56data };
+
+static const unsigned char ch57data[] = {
+   0x7c,0xfe,0xc6,0x3,0x3,0x3b,0x7f,0xc3,0xc3,0xc3,0xc7,0x7e,0x3c
+};
+static const GLUTBitmapChar ch57 = { 8, 13, -1, 0, 10, ch57data };
+
+static const unsigned char ch58data[] = {
+   0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch58 = { 2, 10, -1, 0, 5, ch58data };
+
+static const unsigned char ch59data[] = {
+   0x80,0x40,0x40,0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch59 = { 2, 13, -1, 3, 5, ch59data };
+
+static const unsigned char ch60data[] = {
+   0x3,0xf,0x3c,0x70,0xc0,0x70,0x3c,0xf,0x3
+};
+static const GLUTBitmapChar ch60 = { 8, 9, -1, 0, 10, ch60data };
+
+static const unsigned char ch61data[] = {
+   0xfe,0xfe,0x0,0x0,0xfe,0xfe
+};
+static const GLUTBitmapChar ch61 = { 7, 6, -2, -2, 11, ch61data };
+
+static const unsigned char ch62data[] = {
+   0xc0,0xf0,0x3c,0xe,0x3,0xe,0x3c,0xf0,0xc0
+};
+static const GLUTBitmapChar ch62 = { 8, 9, -1, 0, 10, ch62data };
+
+static const unsigned char ch63data[] = {
+   0x30,0x30,0x0,0x0,0x30,0x30,0x30,0x38,0x1c,0xe,0xc6,0xc6,0xfe,0x7c
+};
+static const GLUTBitmapChar ch63 = { 7, 14, -1, 0, 10, ch63data };
+
+static const unsigned char 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 GLUTBitmapChar ch64 = { 16, 17, -1, 3, 18, ch64data };
+
+static const unsigned char 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 GLUTBitmapChar ch65 = { 12, 14, 0, 0, 12, ch65data };
+
+static const unsigned char 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 GLUTBitmapChar ch66 = { 11, 14, -1, 0, 13, ch66data };
+
+static const unsigned char 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 GLUTBitmapChar ch67 = { 12, 14, -1, 0, 14, ch67data };
+
+static const unsigned char 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 GLUTBitmapChar ch68 = { 11, 14, -1, 0, 13, ch68data };
+
+static const unsigned char 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 GLUTBitmapChar ch69 = { 9, 14, -1, 0, 11, ch69data };
+
+static const unsigned char 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 GLUTBitmapChar ch70 = { 9, 14, -1, 0, 11, ch70data };
+
+static const unsigned char 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 GLUTBitmapChar ch71 = { 12, 14, -1, 0, 14, ch71data };
+
+static const unsigned char 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 GLUTBitmapChar ch72 = { 11, 14, -1, 0, 13, ch72data };
+
+static const unsigned char ch73data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch73 = { 2, 14, -2, 0, 6, ch73data };
+
+static const unsigned char ch74data[] = {
+   0x3c,0x7e,0xe7,0xc3,0xc3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3
+};
+static const GLUTBitmapChar ch74 = { 8, 14, -1, 0, 10, ch74data };
+
+static const unsigned char 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 GLUTBitmapChar ch75 = { 12, 14, -1, 0, 13, ch75data };
+
+static const unsigned char ch76data[] = {
+   0xff,0xff,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch76 = { 8, 14, -1, 0, 10, ch76data };
+
+static const unsigned char 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 GLUTBitmapChar ch77 = { 14, 14, -1, 0, 16, ch77data };
+
+static const unsigned char 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 GLUTBitmapChar ch78 = { 11, 14, -1, 0, 13, ch78data };
+
+static const unsigned char 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 GLUTBitmapChar ch79 = { 13, 14, -1, 0, 15, ch79data };
+
+static const unsigned char 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 GLUTBitmapChar ch80 = { 10, 14, -1, 0, 12, ch80data };
+
+static const unsigned char 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 GLUTBitmapChar ch81 = { 13, 15, -1, 1, 15, ch81data };
+
+static const unsigned char 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 GLUTBitmapChar ch82 = { 10, 14, -1, 0, 12, ch82data };
+
+static const unsigned char 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 GLUTBitmapChar ch83 = { 11, 14, -1, 0, 13, ch83data };
+
+static const unsigned char 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 GLUTBitmapChar ch84 = { 10, 14, -1, 0, 12, ch84data };
+
+static const unsigned char 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 GLUTBitmapChar ch85 = { 11, 14, -1, 0, 13, ch85data };
+
+static const unsigned char 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 GLUTBitmapChar ch86 = { 12, 14, -1, 0, 14, ch86data };
+
+static const unsigned char 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 GLUTBitmapChar ch87 = { 16, 14, -1, 0, 18, ch87data };
+
+static const unsigned char 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 GLUTBitmapChar ch88 = { 11, 14, -1, 0, 13, ch88data };
+
+static const unsigned char 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 GLUTBitmapChar ch89 = { 12, 14, -1, 0, 14, ch89data };
+
+static const unsigned char 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 GLUTBitmapChar ch90 = { 10, 14, -1, 0, 12, ch90data };
+
+static const unsigned char ch91data[] = {
+   0xf0,0xf0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+   0xf0,0xf0
+};
+static const GLUTBitmapChar ch91 = { 4, 18, -1, 4, 5, ch91data };
+
+static const unsigned char ch92data[] = {
+   0x18,0x18,0x10,0x10,0x30,0x30,0x20,0x20,0x60,0x60,0x40,0x40,0xc0,0xc0
+};
+static const GLUTBitmapChar ch92 = { 5, 14, 0, 0, 5, ch92data };
+
+static const unsigned char ch93data[] = {
+   0xf0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+   0xf0,0xf0
+};
+static const GLUTBitmapChar ch93 = { 4, 18, 0, 4, 5, ch93data };
+
+static const unsigned char ch94data[] = {
+   0x82,0xc6,0x6c,0x38,0x10
+};
+static const GLUTBitmapChar ch94 = { 7, 5, -1, -8, 9, ch94data };
+
+static const unsigned char ch95data[] = {
+   0xff,0xc0,0xff,0xc0
+};
+static const GLUTBitmapChar ch95 = { 10, 2, 0, 4, 10, ch95data };
+
+static const unsigned char ch96data[] = {
+   0xc0,0xc0,0x80,0x80,0x40
+};
+static const GLUTBitmapChar ch96 = { 2, 5, -1, -9, 4, ch96data };
+
+static const unsigned char ch97data[] = {
+   0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c
+};
+static const GLUTBitmapChar ch97 = { 7, 10, -1, 0, 9, ch97data };
+
+static const unsigned char 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 GLUTBitmapChar ch98 = { 9, 14, -1, 0, 11, ch98data };
+
+static const unsigned char ch99data[] = {
+   0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e
+};
+static const GLUTBitmapChar ch99 = { 8, 10, -1, 0, 10, ch99data };
+
+static const unsigned char 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 GLUTBitmapChar ch100 = { 9, 14, -1, 0, 11, ch100data };
+
+static const unsigned char ch101data[] = {
+   0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c
+};
+static const GLUTBitmapChar ch101 = { 8, 10, -1, 0, 10, ch101data };
+
+static const unsigned char ch102data[] = {
+   0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x3c,0x1c
+};
+static const GLUTBitmapChar ch102 = { 6, 14, 0, 0, 6, ch102data };
+
+static const unsigned char 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 GLUTBitmapChar ch103 = { 9, 14, -1, 4, 11, ch103data };
+
+static const unsigned char ch104data[] = {
+   0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0xc0,0xc0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch104 = { 8, 14, -1, 0, 10, ch104data };
+
+static const unsigned char ch105data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch105 = { 2, 14, -1, 0, 4, ch105data };
+
+static const unsigned char ch106data[] = {
+   0xe0,0xf0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x0,
+   0x30,0x30
+};
+static const GLUTBitmapChar ch106 = { 4, 18, 1, 4, 4, ch106data };
+
+static const unsigned char ch107data[] = {
+   0xc7,0xc6,0xce,0xcc,0xd8,0xf8,0xf0,0xd8,0xcc,0xc6,0xc0,0xc0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch107 = { 8, 14, -1, 0, 9, ch107data };
+
+static const unsigned char ch108data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch108 = { 2, 14, -1, 0, 4, ch108data };
+
+static const unsigned char ch109data[] = {
+   0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xe7,0x30,
+   0xde,0xf0,0xcc,0x60
+};
+static const GLUTBitmapChar ch109 = { 12, 10, -1, 0, 14, ch109data };
+
+static const unsigned char ch110data[] = {
+   0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce
+};
+static const GLUTBitmapChar ch110 = { 8, 10, -1, 0, 10, ch110data };
+
+static const unsigned char ch111data[] = {
+   0x3e,0x0,0x7f,0x0,0x63,0x0,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x0,
+   0x7f,0x0,0x3e,0x0
+};
+static const GLUTBitmapChar ch111 = { 9, 10, -1, 0, 11, ch111data };
+
+static const unsigned char 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 GLUTBitmapChar ch112 = { 9, 14, -1, 4, 11, ch112data };
+
+static const unsigned char 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 GLUTBitmapChar ch113 = { 9, 14, -1, 4, 11, ch113data };
+
+static const unsigned char ch114data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xe0,0xd8,0xd8
+};
+static const GLUTBitmapChar ch114 = { 5, 10, -1, 0, 6, ch114data };
+
+static const unsigned char ch115data[] = {
+   0x78,0xfc,0xc6,0x6,0x3e,0xfc,0xc0,0xc6,0x7e,0x3c
+};
+static const GLUTBitmapChar ch115 = { 7, 10, -1, 0, 9, ch115data };
+
+static const unsigned char ch116data[] = {
+   0x18,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0xfc,0xfc,0x30,0x30,0x30
+};
+static const GLUTBitmapChar ch116 = { 6, 13, 0, 0, 6, ch116data };
+
+static const unsigned char ch117data[] = {
+   0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3
+};
+static const GLUTBitmapChar ch117 = { 8, 10, -1, 0, 10, ch117data };
+
+static const unsigned char ch118data[] = {
+   0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3
+};
+static const GLUTBitmapChar ch118 = { 8, 10, -1, 0, 10, ch118data };
+
+static const unsigned char ch119data[] = {
+   0x19,0x80,0x19,0x80,0x39,0xc0,0x29,0x40,0x69,0x60,0x66,0x60,0x66,0x60,0xc6,0x30,
+   0xc6,0x30,0xc6,0x30
+};
+static const GLUTBitmapChar ch119 = { 12, 10, -1, 0, 14, ch119data };
+
+static const unsigned char ch120data[] = {
+   0xc3,0xe7,0x66,0x3c,0x18,0x18,0x3c,0x66,0xe7,0xc3
+};
+static const GLUTBitmapChar ch120 = { 8, 10, -1, 0, 10, ch120data };
+
+static const unsigned char ch121data[] = {
+   0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3
+};
+static const GLUTBitmapChar ch121 = { 8, 14, -1, 4, 10, ch121data };
+
+static const unsigned char ch122data[] = {
+   0xfe,0xfe,0xc0,0x60,0x30,0x18,0xc,0x6,0xfe,0xfe
+};
+static const GLUTBitmapChar ch122 = { 7, 10, -1, 0, 9, ch122data };
+
+static const unsigned char ch123data[] = {
+   0xc,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0xc0,0x60,0x30,0x30,0x30,0x30,0x30,
+   0x18,0xc
+};
+static const GLUTBitmapChar ch123 = { 6, 18, 0, 4, 6, ch123data };
+
+static const unsigned char ch124data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+   0xc0,0xc0
+};
+static const GLUTBitmapChar ch124 = { 2, 18, -1, 4, 4, ch124data };
+
+static const unsigned char ch125data[] = {
+   0xc0,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0xc,0x18,0x30,0x30,0x30,0x30,0x30,
+   0x60,0xc0
+};
+static const GLUTBitmapChar ch125 = { 6, 18, 0, 4, 6, ch125data };
+
+static const unsigned char ch126data[] = {
+   0xcc,0x7e,0x33
+};
+static const GLUTBitmapChar ch126 = { 8, 3, -1, -4, 10, ch126data };
+
+static const unsigned char ch160data[] = {
+   0x0
+};
+static const GLUTBitmapChar ch160 = { 1, 1, 0, 0, 5, ch160data };
+
+static const unsigned char ch161data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x40,0x40,0x0,0x0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch161 = { 2, 14, -2, 4, 6, ch161data };
+
+static const unsigned char ch162data[] = {
+   0x10,0x10,0x3e,0x7f,0x6b,0xc8,0xc8,0xc8,0xc8,0x6b,0x7f,0x3e,0x4,0x4
+};
+static const GLUTBitmapChar ch162 = { 8, 14, -1, 2, 10, ch162data };
+
+static const unsigned char 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 GLUTBitmapChar ch163 = { 9, 13, 0, 0, 10, ch163data };
+
+static const unsigned char ch164data[] = {
+   0xc3,0xff,0x66,0x66,0x66,0xff,0xc3
+};
+static const GLUTBitmapChar ch164 = { 8, 7, -1, -3, 10, ch164data };
+
+static const unsigned char ch165data[] = {
+   0x18,0x18,0x18,0x18,0xff,0x18,0xff,0x3c,0x66,0x66,0x66,0xc3,0xc3
+};
+static const GLUTBitmapChar ch165 = { 8, 13, -1, 0, 10, ch165data };
+
+static const unsigned char ch166data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+   0xc0
+};
+static const GLUTBitmapChar ch166 = { 2, 17, -1, 3, 4, ch166data };
+
+static const unsigned char ch167data[] = {
+   0x3c,0x7e,0xc3,0xc3,0x7,0xe,0x3e,0x73,0xe3,0xc3,0xc7,0x6e,0x7c,0xf0,0xc3,0xc3,
+   0x7e,0x3c
+};
+static const GLUTBitmapChar ch167 = { 8, 18, -1, 4, 10, ch167data };
+
+static const unsigned char ch168data[] = {
+   0xd8,0xd8
+};
+static const GLUTBitmapChar ch168 = { 5, 2, 0, -11, 6, ch168data };
+
+static const unsigned char 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 GLUTBitmapChar ch169 = { 13, 13, -1, 0, 15, ch169data };
+
+static const unsigned char ch170data[] = {
+   0xf8,0x0,0x68,0xd8,0x48,0x38,0xc8,0x70
+};
+static const GLUTBitmapChar ch170 = { 5, 8, -1, -6, 7, ch170data };
+
+static const unsigned char ch171data[] = {
+   0x12,0x36,0x6c,0xd8,0xd8,0x6c,0x36,0x12
+};
+static const GLUTBitmapChar ch171 = { 7, 8, -1, -1, 9, ch171data };
+
+static const unsigned char ch172data[] = {
+   0x1,0x80,0x1,0x80,0x1,0x80,0xff,0x80,0xff,0x80
+};
+static const GLUTBitmapChar ch172 = { 9, 5, -1, -3, 11, ch172data };
+
+static const unsigned char ch173data[] = {
+   0xf8,0xf8
+};
+static const GLUTBitmapChar ch173 = { 5, 2, -1, -4, 7, ch173data };
+
+static const unsigned char 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 GLUTBitmapChar ch174 = { 13, 13, -1, 0, 14, ch174data };
+
+static const unsigned char ch175data[] = {
+   0xf8
+};
+static const GLUTBitmapChar ch175 = { 5, 1, 0, -12, 5, ch175data };
+
+static const unsigned char ch176data[] = {
+   0x70,0xd8,0x88,0xd8,0x70
+};
+static const GLUTBitmapChar ch176 = { 5, 5, -1, -8, 7, ch176data };
+
+static const unsigned char ch177data[] = {
+   0xff,0xff,0x0,0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18
+};
+static const GLUTBitmapChar ch177 = { 8, 11, -1, 0, 10, ch177data };
+
+static const unsigned char ch178data[] = {
+   0xf8,0xf8,0x60,0x30,0x18,0x98,0xf8,0x70
+};
+static const GLUTBitmapChar ch178 = { 5, 8, 0, -5, 6, ch178data };
+
+static const unsigned char ch179data[] = {
+   0x70,0xf8,0x98,0x30,0x30,0x98,0xf8,0x70
+};
+static const GLUTBitmapChar ch179 = { 5, 8, 0, -5, 6, ch179data };
+
+static const unsigned char ch180data[] = {
+   0xc0,0x60,0x30
+};
+static const GLUTBitmapChar ch180 = { 4, 3, 0, -11, 4, ch180data };
+
+static const unsigned char ch181data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xdb,0xff,0xe7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3
+};
+static const GLUTBitmapChar ch181 = { 8, 14, -1, 4, 10, ch181data };
+
+static const unsigned char ch182data[] = {
+   0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x32,0x72,0xf2,0xf2,0xf2,0xf2,
+   0x72,0x3f
+};
+static const GLUTBitmapChar ch182 = { 8, 18, -1, 4, 10, ch182data };
+
+static const unsigned char ch183data[] = {
+   0xc0,0xc0
+};
+static const GLUTBitmapChar ch183 = { 2, 2, -1, -4, 4, ch183data };
+
+static const unsigned char ch184data[] = {
+   0xf0,0xd8,0x18,0x70,0x60
+};
+static const GLUTBitmapChar ch184 = { 5, 5, 0, 4, 5, ch184data };
+
+static const unsigned char ch185data[] = {
+   0x60,0x60,0x60,0x60,0x60,0xe0,0xe0,0x60
+};
+static const GLUTBitmapChar ch185 = { 3, 8, -1, -5, 6, ch185data };
+
+static const unsigned char ch186data[] = {
+   0xf8,0x0,0x70,0xd8,0x88,0x88,0xd8,0x70
+};
+static const GLUTBitmapChar ch186 = { 5, 8, -1, -6, 7, ch186data };
+
+static const unsigned char ch187data[] = {
+   0x90,0xd8,0x6c,0x36,0x36,0x6c,0xd8,0x90
+};
+static const GLUTBitmapChar ch187 = { 7, 8, -1, -1, 9, ch187data };
+
+static const unsigned char 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 GLUTBitmapChar ch188 = { 13, 13, -1, 0, 15, ch188data };
+
+static const unsigned char 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 GLUTBitmapChar ch189 = { 13, 13, -1, 0, 15, ch189data };
+
+static const unsigned char 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 GLUTBitmapChar ch190 = { 14, 13, 0, 0, 15, ch190data };
+
+static const unsigned char ch191data[] = {
+   0x7c,0xfe,0xc6,0xc6,0xe0,0x70,0x38,0x18,0x18,0x18,0x0,0x0,0x18,0x18
+};
+static const GLUTBitmapChar ch191 = { 7, 14, -1, 4, 10, ch191data };
+
+static const unsigned char 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 GLUTBitmapChar ch192 = { 12, 18, 0, 0, 12, ch192data };
+
+static const unsigned char 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 GLUTBitmapChar ch193 = { 12, 18, 0, 0, 12, ch193data };
+
+static const unsigned char 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 GLUTBitmapChar ch194 = { 12, 18, 0, 0, 12, ch194data };
+
+static const unsigned char 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 GLUTBitmapChar ch195 = { 12, 18, 0, 0, 12, ch195data };
+
+static const unsigned char 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 GLUTBitmapChar ch196 = { 12, 17, 0, 0, 12, ch196data };
+
+static const unsigned char 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 GLUTBitmapChar ch197 = { 12, 18, 0, 0, 12, ch197data };
+
+static const unsigned char 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 GLUTBitmapChar ch198 = { 16, 14, -1, 0, 18, ch198data };
+
+static const unsigned char 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 GLUTBitmapChar ch199 = { 12, 18, -1, 4, 14, ch199data };
+
+static const unsigned char 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 GLUTBitmapChar ch200 = { 9, 18, -1, 0, 11, ch200data };
+
+static const unsigned char 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 GLUTBitmapChar ch201 = { 9, 18, -1, 0, 11, ch201data };
+
+static const unsigned char 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 GLUTBitmapChar ch202 = { 9, 18, -1, 0, 11, ch202data };
+
+static const unsigned char 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 GLUTBitmapChar ch203 = { 9, 17, -1, 0, 11, ch203data };
+
+static const unsigned char ch204data[] = {
+   0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0x30,
+   0x60,0xc0
+};
+static const GLUTBitmapChar ch204 = { 4, 18, 0, 0, 6, ch204data };
+
+static const unsigned char ch205data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0xc0,
+   0x60,0x30
+};
+static const GLUTBitmapChar ch205 = { 4, 18, -2, 0, 6, ch205data };
+
+static const unsigned char ch206data[] = {
+   0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
+   0x78,0x30
+};
+static const GLUTBitmapChar ch206 = { 6, 18, 0, 0, 6, ch206data };
+
+static const unsigned char ch207data[] = {
+   0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,
+   0xcc
+};
+static const GLUTBitmapChar ch207 = { 6, 17, 0, 0, 6, ch207data };
+
+static const unsigned char 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 GLUTBitmapChar ch208 = { 12, 14, 0, 0, 13, ch208data };
+
+static const unsigned char 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 GLUTBitmapChar ch209 = { 11, 18, -1, 0, 13, ch209data };
+
+static const unsigned char 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 GLUTBitmapChar ch210 = { 13, 18, -1, 0, 15, ch210data };
+
+static const unsigned char 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 GLUTBitmapChar ch211 = { 13, 18, -1, 0, 15, ch211data };
+
+static const unsigned char 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 GLUTBitmapChar ch212 = { 13, 18, -1, 0, 15, ch212data };
+
+static const unsigned char 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 GLUTBitmapChar ch213 = { 13, 18, -1, 0, 15, ch213data };
+
+static const unsigned char 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 GLUTBitmapChar ch214 = { 13, 17, -1, 0, 15, ch214data };
+
+static const unsigned char ch215data[] = {
+   0xc0,0xc0,0x61,0x80,0x33,0x0,0x1e,0x0,0xc,0x0,0x1e,0x0,0x33,0x0,0x61,0x80,
+   0xc0,0xc0
+};
+static const GLUTBitmapChar ch215 = { 10, 9, 0, 0, 10, ch215data };
+
+static const unsigned char 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 GLUTBitmapChar ch216 = { 14, 14, 0, 0, 15, ch216data };
+
+static const unsigned char 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 GLUTBitmapChar ch217 = { 11, 18, -1, 0, 13, ch217data };
+
+static const unsigned char 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 GLUTBitmapChar ch218 = { 11, 18, -1, 0, 13, ch218data };
+
+static const unsigned char 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 GLUTBitmapChar ch219 = { 11, 18, -1, 0, 13, ch219data };
+
+static const unsigned char 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 GLUTBitmapChar ch220 = { 11, 17, -1, 0, 13, ch220data };
+
+static const unsigned char 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 GLUTBitmapChar ch221 = { 12, 18, -1, 0, 14, ch221data };
+
+static const unsigned char 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 GLUTBitmapChar ch222 = { 10, 14, -1, 0, 12, ch222data };
+
+static const unsigned char ch223data[] = {
+   0xdc,0xde,0xc6,0xc6,0xc6,0xc6,0xdc,0xdc,0xc6,0xc6,0xc6,0xc6,0x7c,0x38
+};
+static const GLUTBitmapChar ch223 = { 7, 14, -1, 0, 9, ch223data };
+
+static const unsigned char ch224data[] = {
+   0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x18,0x30,0x60
+};
+static const GLUTBitmapChar ch224 = { 7, 14, -1, 0, 9, ch224data };
+
+static const unsigned char ch225data[] = {
+   0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x30,0x18,0xc
+};
+static const GLUTBitmapChar ch225 = { 7, 14, -1, 0, 9, ch225data };
+
+static const unsigned char ch226data[] = {
+   0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x66,0x3c,0x18
+};
+static const GLUTBitmapChar ch226 = { 7, 14, -1, 0, 9, ch226data };
+
+static const unsigned char ch227data[] = {
+   0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x4c,0x5a,0x32
+};
+static const GLUTBitmapChar ch227 = { 7, 14, -1, 0, 9, ch227data };
+
+static const unsigned char ch228data[] = {
+   0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x0,0x6c,0x6c
+};
+static const GLUTBitmapChar ch228 = { 7, 13, -1, 0, 9, ch228data };
+
+static const unsigned char ch229data[] = {
+   0x76,0xee,0xc6,0xc6,0xe6,0x7e,0xe,0xc6,0xee,0x7c,0x38,0x6c,0x6c,0x38
+};
+static const GLUTBitmapChar ch229 = { 7, 14, -1, 0, 9, ch229data };
+
+static const unsigned char ch230data[] = {
+   0x75,0xe0,0xef,0xf8,0xc7,0x18,0xc6,0x0,0xe6,0x0,0x7f,0xf8,0xe,0x18,0xc6,0x18,
+   0xef,0xf0,0x7d,0xe0
+};
+static const GLUTBitmapChar ch230 = { 13, 10, -1, 0, 15, ch230data };
+
+static const unsigned char ch231data[] = {
+   0x78,0x6c,0xc,0x38,0x3e,0x7f,0x63,0xc0,0xc0,0xc0,0xc0,0x63,0x7f,0x3e
+};
+static const GLUTBitmapChar ch231 = { 8, 14, -1, 4, 10, ch231data };
+
+static const unsigned char ch232data[] = {
+   0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0x30,0x60
+};
+static const GLUTBitmapChar ch232 = { 8, 14, -1, 0, 10, ch232data };
+
+static const unsigned char ch233data[] = {
+   0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x18,0xc,0x6
+};
+static const GLUTBitmapChar ch233 = { 8, 14, -1, 0, 10, ch233data };
+
+static const unsigned char ch234data[] = {
+   0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x66,0x3c,0x18
+};
+static const GLUTBitmapChar ch234 = { 8, 14, -1, 0, 10, ch234data };
+
+static const unsigned char ch235data[] = {
+   0x3c,0x7f,0xe3,0xc0,0xc0,0xff,0xc3,0xc3,0x7e,0x3c,0x0,0x36,0x36
+};
+static const GLUTBitmapChar ch235 = { 8, 13, -1, 0, 10, ch235data };
+
+static const unsigned char ch236data[] = {
+   0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0x30,0x60,0xc0
+};
+static const GLUTBitmapChar ch236 = { 4, 14, 0, 0, 4, ch236data };
+
+static const unsigned char ch237data[] = {
+   0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xc0,0x60,0x30
+};
+static const GLUTBitmapChar ch237 = { 4, 14, 0, 0, 4, ch237data };
+
+static const unsigned char ch238data[] = {
+   0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0,0xcc,0x78,0x30
+};
+static const GLUTBitmapChar ch238 = { 6, 14, 1, 0, 4, ch238data };
+
+static const unsigned char ch239data[] = {
+   0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x0,0xd8,0xd8
+};
+static const GLUTBitmapChar ch239 = { 5, 13, 0, 0, 4, ch239data };
+
+static const unsigned char 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 GLUTBitmapChar ch240 = { 9, 14, -1, 0, 11, ch240data };
+
+static const unsigned char ch241data[] = {
+   0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xe3,0xdf,0xce,0x0,0x4c,0x5a,0x32
+};
+static const GLUTBitmapChar ch241 = { 8, 14, -1, 0, 10, ch241data };
+
+static const unsigned char 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 GLUTBitmapChar ch242 = { 9, 14, -1, 0, 11, ch242data };
+
+static const unsigned char 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 GLUTBitmapChar ch243 = { 9, 14, -1, 0, 11, ch243data };
+
+static const unsigned char 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 GLUTBitmapChar ch244 = { 9, 14, -1, 0, 11, ch244data };
+
+static const unsigned char 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 GLUTBitmapChar ch245 = { 9, 14, -1, 0, 11, ch245data };
+
+static const unsigned char 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 GLUTBitmapChar ch246 = { 9, 13, -1, 0, 11, ch246data };
+
+static const unsigned char ch247data[] = {
+   0x18,0x18,0x0,0xff,0xff,0x0,0x18,0x18
+};
+static const GLUTBitmapChar ch247 = { 8, 8, -1, -1, 10, ch247data };
+
+static const unsigned char ch248data[] = {
+   0xce,0x0,0x7f,0x80,0x31,0x80,0x78,0xc0,0x6c,0xc0,0x66,0xc0,0x63,0xc0,0x31,0x80,
+   0x3f,0xc0,0xe,0x60
+};
+static const GLUTBitmapChar ch248 = { 11, 10, 0, 0, 11, ch248data };
+
+static const unsigned char ch249data[] = {
+   0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0xc,0x18,0x30
+};
+static const GLUTBitmapChar ch249 = { 8, 14, -1, 0, 10, ch249data };
+
+static const unsigned char ch250data[] = {
+   0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x18,0xc,0x6
+};
+static const GLUTBitmapChar ch250 = { 8, 14, -1, 0, 10, ch250data };
+
+static const unsigned char ch251data[] = {
+   0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x3c,0x18
+};
+static const GLUTBitmapChar ch251 = { 8, 14, -1, 0, 10, ch251data };
+
+static const unsigned char ch252data[] = {
+   0x73,0xfb,0xc7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x0,0x66,0x66
+};
+static const GLUTBitmapChar ch252 = { 8, 13, -1, 0, 10, ch252data };
+
+static const unsigned char ch253data[] = {
+   0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x18,
+   0xc,0x6
+};
+static const GLUTBitmapChar ch253 = { 8, 18, -1, 4, 10, ch253data };
+
+static const unsigned char 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 GLUTBitmapChar ch254 = { 9, 18, -1, 4, 11, ch254data };
+
+static const unsigned char ch255data[] = {
+   0x70,0x70,0x18,0x18,0x18,0x18,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,0xc3,0x0,0x66,
+   0x66
+};
+static const GLUTBitmapChar ch255 = { 8, 17, -1, 4, 10, ch255data };
+
+
+static const GLUTBitmapChar *chars[] = {
+   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, 
+   &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
+};
+
+const GLUTBitmapFont glutBitmapHelvetica18 = {
+   "-Adobe-Helvetica-Medium-R-Normal--18-180-75-75-P-98-ISO8859-1",
+   22, 256, chars
+};
index 85f5da629dc65f621887e1d9962d1af4a6ef6b3d..3a98dcf0a4bc9ad97f8bcb6cb6adc8065de22021 100644 (file)
@@ -1,62 +1,87 @@
 /*
- * Mesa 3-D graphics library
- * Version:  4.0
- * Copyright (C) 1995-1998  Brian Paul
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.5 for Mesa
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
  *
- *  Copyright (C) 2002 - Daniel Borca
- *  Email : dborca@users.sourceforge.net
- *  Web   : http://www.geocities.com/dborca
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 
-#include "glutint.h"
+#include "internal.h"
+
 
-#define DEFAULT_WIDTH  300
-#define DEFAULT_HEIGHT 300
-#define DEFAULT_BPP    16
+char *__glutProgramName = NULL;
 
-#define ALPHA_SIZE   8
-#define DEPTH_SIZE   16
-#define STENCIL_SIZE 8
-#define ACCUM_SIZE   16
+GLUTvisual _glut_visual = {
+   16, 8, 16, 8, 16, /* bpp, alpha, depth, stencil, accum */
 
+   { 0, 0 }, 0,      /* geometry */
 
-GLuint g_bpp = DEFAULT_BPP;
-GLuint g_alpha = ALPHA_SIZE;
-GLuint g_depth = DEPTH_SIZE;
-GLuint g_stencil = STENCIL_SIZE;
-GLuint g_accum = ACCUM_SIZE;
-GLuint g_refresh = 0;
-GLuint g_screen_w, g_screen_h;
-GLint g_driver_caps;
+   0                 /* flags */
+};
 
-GLuint g_fps = 0;
+GLUTdefault _glut_default = {
+   0, 0,             /* glutInitWindowPosition */
+   300, 300,         /* glutInitWindowSize */
+   0                 /* glutInitDisplayMode */
+};
 
-GLuint g_display_mode = 0;
-int g_init_x = 0, g_init_y = 0;
-GLuint g_init_w = DEFAULT_WIDTH, g_init_h = DEFAULT_HEIGHT;
+GLuint _glut_fps = 0;
 
-char *__glutProgramName = NULL;
+static char *init_string;
+
+
+void
+_glut_fatal (char *format,...)
+{
+  va_list args;
+
+  va_start(args, format);
+  fprintf(stderr, "GLUT: Fatal Error in %s: ",
+    __glutProgramName ? __glutProgramName : "(unamed)");
+  vfprintf(stderr, format, args);
+  va_end(args);
+  putc('\n', stderr);
+  exit(1);
+}
+
+
+/* strdup is actually not a standard ANSI C or POSIX routine
+ * so implement a private one for GLUT.
+ */
+static char *
+_glut_strdup (const char *string)
+{
+   if (string != NULL) {
+      int len = strlen(string) + 1;
+      char *p = malloc(len);
+      if (p != NULL) {
+         return strcpy(p, string);
+      }
+   }
+   return NULL;
+}
 
 
 void APIENTRY
@@ -66,22 +91,22 @@ glutInit (int *argc, char **argv)
    const char *env;
 
    if ((env = getenv("DMESA_GLUT_BPP")) != NULL) {
-      g_bpp = atoi(env);
+      _glut_visual.bpp = atoi(env);
    }
    if ((env = getenv("DMESA_GLUT_ALPHA")) != NULL) {
-      g_alpha = atoi(env);
+      _glut_visual.alpha = atoi(env);
    }
    if ((env = getenv("DMESA_GLUT_DEPTH")) != NULL) {
-      g_depth = atoi(env);
+      _glut_visual.depth = atoi(env);
    }
    if ((env = getenv("DMESA_GLUT_STENCIL")) != NULL) {
-      g_stencil = atoi(env);
+      _glut_visual.stencil = atoi(env);
    }
    if ((env = getenv("DMESA_GLUT_ACCUM")) != NULL) {
-      g_accum = atoi(env);
+      _glut_visual.accum = atoi(env);
    }
    if ((env = getenv("DMESA_GLUT_REFRESH")) != NULL) {
-      g_refresh = atoi(env);
+      _glut_visual.refresh = atoi(env);
    }
 
    /* Determine program name. */
@@ -91,12 +116,12 @@ glutInit (int *argc, char **argv)
    } else {
       str++;
    }
-   __glutProgramName = __glutStrdup(str);
+   __glutProgramName = _glut_strdup(str);
 
    /* check if GLUT_FPS env var is set */
    if ((env = getenv("GLUT_FPS")) != NULL) {
-      if ((g_fps = atoi(env)) <= 0) {
-         g_fps = 5000; /* 5000 milliseconds */
+      if ((_glut_fps = atoi(env)) <= 0) {
+         _glut_fps = 5000; /* 5000 milliseconds */
       }
    }
 
@@ -108,220 +133,91 @@ glutInit (int *argc, char **argv)
 void APIENTRY
 glutInitDisplayMode (unsigned int mode)
 {
-   g_display_mode = mode;
+   _glut_default.mode = mode;
 }
 
 
 void APIENTRY
 glutInitWindowPosition (int x, int y)
 {
-   g_init_x = x;
-   g_init_y = y;
+   _glut_default.x = x;
+   _glut_default.y = y;
 }
 
 
 void APIENTRY
 glutInitWindowSize (int width, int height)
 {
-   g_init_w = width;
-   g_init_h = height;
+   _glut_default.width = width;
+   _glut_default.height = height;
 }
 
 
-#define DO_REDISPLAY(w, ccin, ccout) \
-   do {                                                            \
-      if (w->redisplay && w->display) {                            \
-         int rv = GL_TRUE;                                         \
-                                                                   \
-         idle         = GL_FALSE;                                  \
-         w->redisplay = GL_FALSE;                                  \
-                                                                   \
-         /* test IN condition (whether we need to `MakeCurrent') */\
-         if (ccin) {                                               \
-            rv = DMesaMakeCurrent(w->context, w->buffer);          \
-         }                                                         \
-                                                                   \
-         /* do the display only if `MakeCurrent' didn't failed */  \
-         if (rv) {                                                 \
-            if (w->show_mouse && !(g_display_mode & GLUT_DOUBLE)) {\
-               /* XXX scare mouse */                               \
-               w->display();                                       \
-               /* XXX unscare mouse */                             \
-            } else {                                               \
-               w->display();                                       \
-            }                                                      \
-                                                                   \
-            /* update OUT condition */                             \
-            ccout;                                                 \
-         }                                                         \
-      }                                                            \
-   } while (0)
+void APIENTRY
+glutInitDisplayString (const char *string)
+{
+   init_string = _glut_strdup(string);
+}
 
 
 void APIENTRY
-glutMainLoop (void)
+glutSetOption (GLenum pname, int value)
 {
-   int i, n;
-   GLUTwindow *w;
-   GLboolean idle;
-   static int old_mouse_x = 0;
-   static int old_mouse_y = 0;
-   static int old_mouse_b = 0;
-
-   {
-      GLint screen_size[2];
-      DMesaGetIntegerv(DMESA_GET_SCREEN_SIZE, screen_size);
-      g_screen_w = screen_size[0];
-      g_screen_h = screen_size[1];
-      DMesaGetIntegerv(DMESA_GET_DRIVER_CAPS, &g_driver_caps);
+   switch (pname) {
+      case GLUT_INIT_WINDOW_X:
+         _glut_default.x = value;
+         break;
+      case GLUT_INIT_WINDOW_Y:
+         _glut_default.y = value;
+         break;
    }
+}
 
-   pc_install_keyb();
-   __glutInitMouse();
-
-   for (i = 0; i < MAX_WINDOWS; i++) {
-      w = g_windows[i];
-      if (w != NULL) {
-         glutSetWindow(w->num);
-         glutPostRedisplay();
-         if (w->reshape) {
-            w->reshape(w->width, w->height);
-         }
-         if (w->visibility) {
-            w->visibility(GLUT_VISIBLE);
-         }
-      }
-   }
 
-   while (GL_TRUE) {
-      idle = GL_TRUE;
-
-      n = 0;
-      for (i = 0; i < MAX_WINDOWS; i++) {
-         w = g_windows[i];
-         if ((w != NULL) && (w != g_curwin)) {
-            /* 1) redisplay `w'
-             * 2) `MakeCurrent' always
-             * 3) update number of non-default windows
-             */
-            DO_REDISPLAY(w, GL_TRUE, n++);
-         }
-      }
-      /* 1) redisplay `g_curwin'
-       * 2) `MakeCurrent' only if we previously did non-default windows
-       * 3) don't update anything
-       */
-      DO_REDISPLAY(g_curwin, n, n);
-
-      if (g_mouse) {
-         int mouse_x;
-         int mouse_y;
-         int mouse_z;
-         int mouse_b;
-
-         /* query mouse */
-         mouse_b = pc_query_mouse(&mouse_x, &mouse_y, &mouse_z);
-
-         /* relative to window coordinates */
-         g_mouse_x = mouse_x - g_curwin->xpos;
-         g_mouse_y = mouse_y - g_curwin->ypos;
-
-         /* mouse was moved? */
-         if ((mouse_x != old_mouse_x) || (mouse_y != old_mouse_y)) {
-            idle        = GL_FALSE;
-            old_mouse_x = mouse_x;
-            old_mouse_y = mouse_y;
-
-            if (mouse_b) {
-               /* any button pressed */
-               if (g_curwin->motion) {
-                  g_curwin->motion(g_mouse_x, g_mouse_y);
-               }
-            } else {
-               /* no button pressed */
-               if (g_curwin->passive) {
-                  g_curwin->passive(g_mouse_x, g_mouse_y);
-               }
-            }
-         }
-
-         /* button state changed? */
-         if (mouse_b != old_mouse_b) {
-            GLUTmouseCB mouse_func;
-
-            if ((mouse_func = g_curwin->mouse)) {
-               if ((old_mouse_b & 1) && !(mouse_b & 1))
-                  mouse_func(GLUT_LEFT_BUTTON, GLUT_UP,     g_mouse_x, g_mouse_y);
-               else if (!(old_mouse_b & 1) && (mouse_b & 1))
-                  mouse_func(GLUT_LEFT_BUTTON, GLUT_DOWN,   g_mouse_x, g_mouse_y);
-
-               if ((old_mouse_b & 2) && !(mouse_b & 2))
-                  mouse_func(GLUT_RIGHT_BUTTON, GLUT_UP,    g_mouse_x, g_mouse_y);
-               else if (!(old_mouse_b & 2) && (mouse_b & 2))
-                  mouse_func(GLUT_RIGHT_BUTTON, GLUT_DOWN,  g_mouse_x, g_mouse_y);
-
-               if ((old_mouse_b & 4) && !(mouse_b & 4))
-                  mouse_func(GLUT_MIDDLE_BUTTON, GLUT_UP,   g_mouse_x, g_mouse_y);
-               else if (!(old_mouse_b & 3) && (mouse_b & 4))
-                  mouse_func(GLUT_MIDDLE_BUTTON, GLUT_DOWN, g_mouse_x, g_mouse_y);
-            }
-
-            idle        = GL_FALSE;
-            old_mouse_b = mouse_b;
-         }
-      }
+void APIENTRY
+glutForceJoystickFunc (void)
+{
+}
 
-      if (pc_keypressed()) {
-         int key;
-         int glut_key;
-
-         idle = GL_FALSE;
-         key  = pc_readkey();
-
-         switch (key>>16) {
-            case KEY_F1:     glut_key = GLUT_KEY_F1;        goto special;
-            case KEY_F2:     glut_key = GLUT_KEY_F2;        goto special;
-            case KEY_F3:     glut_key = GLUT_KEY_F3;        goto special;
-            case KEY_F4:     glut_key = GLUT_KEY_F4;        goto special;
-            case KEY_F5:     glut_key = GLUT_KEY_F5;        goto special;
-            case KEY_F6:     glut_key = GLUT_KEY_F6;        goto special;
-            case KEY_F7:     glut_key = GLUT_KEY_F7;        goto special;
-            case KEY_F8:     glut_key = GLUT_KEY_F8;        goto special;
-            case KEY_F9:     glut_key = GLUT_KEY_F9;        goto special;
-            case KEY_F10:    glut_key = GLUT_KEY_F10;       goto special;
-            case KEY_F11:    glut_key = GLUT_KEY_F11;       goto special;
-            case KEY_F12:    glut_key = GLUT_KEY_F12;       goto special;
-            case KEY_LEFT:   glut_key = GLUT_KEY_LEFT;      goto special;
-            case KEY_UP:     glut_key = GLUT_KEY_UP;        goto special;
-            case KEY_RIGHT:  glut_key = GLUT_KEY_RIGHT;     goto special;
-            case KEY_DOWN:   glut_key = GLUT_KEY_DOWN;      goto special;
-            case KEY_PGUP:   glut_key = GLUT_KEY_PAGE_UP;   goto special;
-            case KEY_PGDN:   glut_key = GLUT_KEY_PAGE_DOWN; goto special;
-            case KEY_HOME:   glut_key = GLUT_KEY_HOME;      goto special;
-            case KEY_END:    glut_key = GLUT_KEY_END;       goto special;
-            case KEY_INSERT: glut_key = GLUT_KEY_INSERT;    goto special;
-            special:
-               if (g_curwin->special) {
-                  g_curwin->special(glut_key, g_mouse_x, g_mouse_y);
-               }
-               break;
-            default:
-               if (g_curwin->keyboard) {
-                  g_curwin->keyboard(key & 0xFF, g_mouse_x, g_mouse_y);
-               }
-         }
-      }
 
-      if (idle && g_idle_func)
-         g_idle_func();
+void APIENTRY
+glutIgnoreKeyRepeat (int ignore)
+{
+}
 
-      for (i = 0; i < MAX_SSHOT_CB; i++) {
-         int time = glutGet(GLUT_ELAPSED_TIME);
-         GLUTSShotCB *cb = &g_sscb[i];
-         if (cb->func && (time >= cb->time)) {
-            cb->func(cb->value);
-            cb->func = NULL;
-         }
-      }
-   }
+
+void APIENTRY
+glutSetKeyRepeat (int repeatMode)
+{
+}
+
+
+void APIENTRY
+glutVideoPan (int x, int y, int w, int h)
+{
+}
+
+
+int APIENTRY
+glutVideoResizeGet( GLenum eWhat )
+{
+   return 0;
+}
+
+
+void APIENTRY
+glutSetupVideoResizing (void)
+{
+}
+
+
+void APIENTRY
+glutStopVideoResizing (void)
+{
+}
+
+
+void APIENTRY
+glutVideoResize (int x, int y, int w, int h)
+{
 }
diff --git a/src/glut/dos/internal.h b/src/glut/dos/internal.h
new file mode 100644 (file)
index 0000000..063c2d0
--- /dev/null
@@ -0,0 +1,197 @@
+/*
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
+ *
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef INTERNAL_H_included
+#define INTERNAL_H_included
+
+#include <GL/glut.h>
+
+#include "GL/dmesa.h"
+
+
+#define MAX_WINDOWS     2
+#define MAX_TIMER_CB    8
+#define RESERVED_COLORS 0
+
+
+/* GLUT  function types */
+typedef void (GLUTCALLBACK *GLUTdisplayCB) (void);
+typedef void (GLUTCALLBACK *GLUTreshapeCB) (int, int);
+typedef void (GLUTCALLBACK *GLUTkeyboardCB) (unsigned char, int, int);
+typedef void (GLUTCALLBACK *GLUTmouseCB) (int, int, int, int);
+typedef void (GLUTCALLBACK *GLUTmotionCB) (int, int);
+typedef void (GLUTCALLBACK *GLUTpassiveCB) (int, int);
+typedef void (GLUTCALLBACK *GLUTentryCB) (int);
+typedef void (GLUTCALLBACK *GLUTvisibilityCB) (int);
+typedef void (GLUTCALLBACK *GLUTwindowStatusCB) (int);
+typedef void (GLUTCALLBACK *GLUTidleCB) (void);
+typedef void (GLUTCALLBACK *GLUTtimerCB) (int);
+typedef void (GLUTCALLBACK *GLUTmenuStateCB) (int);  /* DEPRECATED. */
+typedef void (GLUTCALLBACK *GLUTmenuStatusCB) (int, int, int);
+typedef void (GLUTCALLBACK *GLUTselectCB) (int);
+typedef void (GLUTCALLBACK *GLUTspecialCB) (int, int, int);
+typedef void (GLUTCALLBACK *GLUTspaceMotionCB) (int, int, int);
+typedef void (GLUTCALLBACK *GLUTspaceRotateCB) (int, int, int);
+typedef void (GLUTCALLBACK *GLUTspaceButtonCB) (int, int);
+typedef void (GLUTCALLBACK *GLUTdialsCB) (int, int);
+typedef void (GLUTCALLBACK *GLUTbuttonBoxCB) (int, int);
+typedef void (GLUTCALLBACK *GLUTtabletMotionCB) (int, int);
+typedef void (GLUTCALLBACK *GLUTtabletButtonCB) (int, int, int, int);
+typedef void (GLUTCALLBACK *GLUTjoystickCB) (unsigned int, int, int, int);
+
+typedef void (GLUTCALLBACK *GLUTdestroyCB) (void);
+typedef void (GLUTCALLBACK *GLUTmouseWheelCB) (int, int, int, int);
+typedef void (GLUTCALLBACK *GLUTmenuDestroyCB) (void);
+
+
+typedef struct {
+   GLuint bpp, alpha;
+   GLuint depth, stencil;
+   GLuint accum;
+
+   GLint geometry[2];
+   GLuint refresh;
+
+   GLint flags;
+} GLUTvisual;
+
+typedef struct {
+   GLint x, y;
+   GLint width, height;
+   GLuint mode;
+} GLUTdefault;
+
+typedef struct {
+   void (*func) (int);
+   int value;
+   int time;
+} GLUTSShotCB;
+
+typedef struct GLUTwindow {
+   int num;                         /* window id */
+
+   DMesaContext context;
+   DMesaBuffer buffer;
+
+   int show_mouse;
+   GLboolean redisplay;
+
+   /* GLUT settable or visible window state. */
+   int xpos;
+   int ypos;
+   int width;                       /* window width in pixels */
+   int height;                      /* window height in pixels */
+
+   /* Per-window callbacks. */
+   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) */
+   GLUTkeyboardCB     keyboardUp;   /* keyboard up (ASCII,x,y) */
+   GLUTwindowStatusCB windowStatus; /* window status */
+   GLUTvisibilityCB   visibility;   /* visibility */
+   GLUTspecialCB      special;      /* special key */
+   GLUTspecialCB      specialUp;    /* special up key */
+   GLUTbuttonBoxCB    buttonBox;    /* button box */
+   GLUTdialsCB        dials;        /* dials */
+   GLUTspaceMotionCB  spaceMotion;  /* Spaceball motion */
+   GLUTspaceRotateCB  spaceRotate;  /* Spaceball rotate */
+   GLUTspaceButtonCB  spaceButton;  /* Spaceball button */
+   GLUTtabletMotionCB tabletMotion; /* tablet motion */
+   GLUTtabletButtonCB tabletButton; /* tablet button */
+   GLUTjoystickCB     joystick;     /* joystick */
+
+   GLUTdestroyCB      destroy;      /* destroy */
+   GLUTmouseWheelCB   mouseWheel;   /* mouse wheel */
+
+   /* specific data */
+   void *data;
+} GLUTwindow;
+
+typedef struct {
+   int width, height;
+   int xorig, yorig;
+   int xmove;
+   const unsigned char *bitmap;
+} GLUTBitmapChar;
+
+typedef struct {
+   const char *name;
+   int height;
+   int num;
+   const GLUTBitmapChar *const *table;
+} GLUTBitmapFont;
+
+typedef struct {
+   const GLfloat x, y;
+} GLUTStrokeVertex;
+
+typedef struct {
+   const unsigned num;
+   const GLUTStrokeVertex *vertex;
+} GLUTStrokeStrip;
+
+typedef struct {
+   const GLfloat right;
+   const unsigned num;
+   const GLUTStrokeStrip *strip;
+} GLUTStrokeChar;
+
+typedef struct {
+   const char *name;
+   const unsigned num;
+   const GLUTStrokeChar *const *table;
+   const GLfloat height;
+   const GLfloat descent;
+} GLUTStrokeFont;
+
+
+extern char *__glutProgramName;
+
+extern GLUTvisual _glut_visual;
+extern GLUTdefault _glut_default;
+
+extern GLuint _glut_fps;
+extern GLUTidleCB _glut_idle_func;
+extern GLUTmenuStatusCB _glut_menu_status_func;
+extern GLUTSShotCB _glut_timer_cb[];
+
+extern GLUTwindow *_glut_current, *_glut_windows[];
+
+extern int _glut_mouse;                  /* number of buttons, if mouse installed */
+extern int _glut_mouse_x, _glut_mouse_y; /* mouse coords, relative to current win */
+
+
+extern void _glut_mouse_init (void);
+extern void _glut_fatal(char *format,...);
+extern void *_glut_font (void *font);
+
+
+#include "pc_hw/pc_hw.h"
+
+#endif
diff --git a/src/glut/dos/loop.c b/src/glut/dos/loop.c
new file mode 100644 (file)
index 0000000..36c3adc
--- /dev/null
@@ -0,0 +1,245 @@
+/*
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
+ *
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+#include <string.h>
+
+#include <GL/glut.h>
+#include "GL/dmesa.h"
+
+#include "PC_HW/pc_hw.h"
+#include "internal.h"
+
+
+static int looping = 0;
+
+
+#define DO_REDISPLAY(w, ccin, ccout) \
+   do {                                                            \
+      if (w->redisplay && w->display) {                            \
+         int rv = GL_TRUE;                                         \
+                                                                   \
+         idle         = GL_FALSE;                                  \
+         w->redisplay = GL_FALSE;                                  \
+                                                                   \
+         /* test IN condition (whether we need to `MakeCurrent') */\
+         if (ccin) {                                               \
+            rv = DMesaMakeCurrent(w->context, w->buffer);          \
+         }                                                         \
+                                                                   \
+         /* do the display only if `MakeCurrent' didn't failed */  \
+         if (rv) {                                                 \
+            if (w->show_mouse && !(_glut_default.mode & GLUT_DOUBLE)) {\
+               /* XXX scare mouse */                               \
+               w->display();                                       \
+               /* XXX unscare mouse */                             \
+            } else {                                               \
+               w->display();                                       \
+            }                                                      \
+                                                                   \
+            /* update OUT condition */                             \
+            ccout;                                                 \
+         }                                                         \
+      }                                                            \
+   } while (0)
+
+
+void APIENTRY
+glutMainLoopEvent (void)
+{
+   int i, n;
+   GLUTwindow *w;
+   GLboolean idle;
+   static int old_mouse_x = 0;
+   static int old_mouse_y = 0;
+   static int old_mouse_b = 0;
+
+   static GLboolean virgin = GL_TRUE;
+   if (virgin) {
+      pc_install_keyb();
+      _glut_mouse_init();
+
+      for (i = 0; i < MAX_WINDOWS; i++) {
+         w = _glut_windows[i];
+         if (w != NULL) {
+            glutSetWindow(w->num);
+            glutPostRedisplay();
+            if (w->reshape) {
+               w->reshape(w->width, w->height);
+            }
+            if (w->visibility) {
+               w->visibility(GLUT_VISIBLE);
+            }
+         }
+      }
+      virgin = GL_FALSE;
+   }
+
+   idle = GL_TRUE;
+
+   n = 0;
+   for (i = 0; i < MAX_WINDOWS; i++) {
+      w = _glut_windows[i];
+      if ((w != NULL) && (w != _glut_current)) {
+         /* 1) redisplay `w'
+          * 2) `MakeCurrent' always
+          * 3) update number of non-default windows
+          */
+         DO_REDISPLAY(w, GL_TRUE, n++);
+      }
+   }
+   /* 1) redisplay `_glut_current'
+    * 2) `MakeCurrent' only if we previously did non-default windows
+    * 3) don't update anything
+    */
+   DO_REDISPLAY(_glut_current, n, n);
+
+   if (_glut_mouse) {
+      int mouse_x;
+      int mouse_y;
+      int mouse_z;
+      int mouse_b;
+
+      /* query mouse */
+      mouse_b = pc_query_mouse(&mouse_x, &mouse_y, &mouse_z);
+
+      /* relative to window coordinates */
+      _glut_mouse_x = mouse_x - _glut_current->xpos;
+      _glut_mouse_y = mouse_y - _glut_current->ypos;
+
+      /* mouse was moved? */
+      if ((mouse_x != old_mouse_x) || (mouse_y != old_mouse_y)) {
+         idle        = GL_FALSE;
+         old_mouse_x = mouse_x;
+         old_mouse_y = mouse_y;
+
+         if (mouse_b) {
+            /* any button pressed */
+            if (_glut_current->motion) {
+               _glut_current->motion(_glut_mouse_x, _glut_mouse_y);
+            }
+         } else {
+            /* no button pressed */
+            if (_glut_current->passive) {
+               _glut_current->passive(_glut_mouse_x, _glut_mouse_y);
+            }
+         }
+      }
+
+      /* button state changed? */
+      if (mouse_b != old_mouse_b) {
+         GLUTmouseCB mouse_func;
+
+         if ((mouse_func = _glut_current->mouse)) {
+            if ((old_mouse_b & 1) && !(mouse_b & 1))
+               mouse_func(GLUT_LEFT_BUTTON, GLUT_UP,     _glut_mouse_x, _glut_mouse_y);
+            else if (!(old_mouse_b & 1) && (mouse_b & 1))
+               mouse_func(GLUT_LEFT_BUTTON, GLUT_DOWN,   _glut_mouse_x, _glut_mouse_y);
+
+            if ((old_mouse_b & 2) && !(mouse_b & 2))
+               mouse_func(GLUT_RIGHT_BUTTON, GLUT_UP,    _glut_mouse_x, _glut_mouse_y);
+            else if (!(old_mouse_b & 2) && (mouse_b & 2))
+               mouse_func(GLUT_RIGHT_BUTTON, GLUT_DOWN,  _glut_mouse_x, _glut_mouse_y);
+
+            if ((old_mouse_b & 4) && !(mouse_b & 4))
+               mouse_func(GLUT_MIDDLE_BUTTON, GLUT_UP,   _glut_mouse_x, _glut_mouse_y);
+            else if (!(old_mouse_b & 3) && (mouse_b & 4))
+               mouse_func(GLUT_MIDDLE_BUTTON, GLUT_DOWN, _glut_mouse_x, _glut_mouse_y);
+         }
+
+         idle        = GL_FALSE;
+         old_mouse_b = mouse_b;
+      }
+   }
+
+   if (pc_keypressed()) {
+      int key;
+      int glut_key;
+
+      idle = GL_FALSE;
+      key  = pc_readkey();
+
+      switch (key>>16) {
+         case KEY_F1:     glut_key = GLUT_KEY_F1;        goto special;
+         case KEY_F2:     glut_key = GLUT_KEY_F2;        goto special;
+         case KEY_F3:     glut_key = GLUT_KEY_F3;        goto special;
+         case KEY_F4:     glut_key = GLUT_KEY_F4;        goto special;
+         case KEY_F5:     glut_key = GLUT_KEY_F5;        goto special;
+         case KEY_F6:     glut_key = GLUT_KEY_F6;        goto special;
+         case KEY_F7:     glut_key = GLUT_KEY_F7;        goto special;
+         case KEY_F8:     glut_key = GLUT_KEY_F8;        goto special;
+         case KEY_F9:     glut_key = GLUT_KEY_F9;        goto special;
+         case KEY_F10:    glut_key = GLUT_KEY_F10;       goto special;
+         case KEY_F11:    glut_key = GLUT_KEY_F11;       goto special;
+         case KEY_F12:    glut_key = GLUT_KEY_F12;       goto special;
+         case KEY_LEFT:   glut_key = GLUT_KEY_LEFT;      goto special;
+         case KEY_UP:     glut_key = GLUT_KEY_UP;        goto special;
+         case KEY_RIGHT:  glut_key = GLUT_KEY_RIGHT;     goto special;
+         case KEY_DOWN:   glut_key = GLUT_KEY_DOWN;      goto special;
+         case KEY_PGUP:   glut_key = GLUT_KEY_PAGE_UP;   goto special;
+         case KEY_PGDN:   glut_key = GLUT_KEY_PAGE_DOWN; goto special;
+         case KEY_HOME:   glut_key = GLUT_KEY_HOME;      goto special;
+         case KEY_END:    glut_key = GLUT_KEY_END;       goto special;
+         case KEY_INSERT: glut_key = GLUT_KEY_INSERT;    goto special;
+         special:
+            if (_glut_current->special) {
+               _glut_current->special(glut_key, _glut_mouse_x, _glut_mouse_y);
+            }
+            break;
+         default:
+            if (_glut_current->keyboard) {
+               _glut_current->keyboard(key & 0xFF, _glut_mouse_x, _glut_mouse_y);
+            }
+      }
+   }
+
+   if (idle && _glut_idle_func)
+      _glut_idle_func();
+
+   for (i = 0; i < MAX_TIMER_CB; i++) {
+      int time = glutGet(GLUT_ELAPSED_TIME);
+      GLUTSShotCB *cb = &_glut_timer_cb[i];
+      if (cb->func && (time >= cb->time)) {
+         cb->func(cb->value);
+         cb->func = NULL;
+      }
+   }
+}
+
+
+void APIENTRY
+glutMainLoop (void)
+{
+   looping++;
+   while (looping) {
+      glutMainLoopEvent();
+   }
+}
+
+
+void APIENTRY
+glutLeaveMainLoop (void)
+{
+   looping--;
+}
index 5ca35dcfa4b2bd97859489c6960c8f33dc3140e7..857d2b4a46ad8243adf7ad8038f7215a81837f96 100644 (file)
@@ -1,49 +1,45 @@
 /*
- * Mesa 3-D graphics library
- * Version:  3.4
- * Copyright (C) 1995-1998  Brian Paul
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.3 for Mesa
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
  *
- *  Copyright (C) 2002 - Daniel Borca
- *  Email : dborca@yahoo.com
- *  Web   : http://www.geocities.com/dborca
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
-#include "glutint.h"
+#include "internal.h"
 
 
-GLUTmenuStatusCB g_menu_status_func = NULL;
+GLUTmenuStatusCB _glut_menu_status_func = NULL;
 
 
 void APIENTRY
 glutMenuStateFunc (GLUTmenuStateCB func)
 {
-   g_menu_status_func = (GLUTmenuStatusCB)func;
+   _glut_menu_status_func = (GLUTmenuStatusCB)func;
 }
 
 
 void APIENTRY
 glutMenuStatusFunc (GLUTmenuStatusCB func)
 {
-   g_menu_status_func = func;
+   _glut_menu_status_func = func;
 }
 
 
@@ -113,3 +109,22 @@ void APIENTRY
 glutDetachMenu (int button)
 {
 }
+
+
+void APIENTRY
+glutMenuDestroyFunc ( void (* callback)( void ) )
+{
+}
+
+
+void * APIENTRY
+glutGetMenuData (void)
+{
+   return NULL;
+}
+
+
+void APIENTRY
+glutSetMenuData (void *data)
+{
+}
index 2d8a8ed53df2166bfd73de6910446d16a25c6aad..945e2a5c14e0d7f2108553d911a369258471781f 100644 (file)
@@ -1,46 +1,42 @@
 /*
- * Mesa 3-D graphics library
- * Version:  3.4
- * Copyright (C) 1995-1998  Brian Paul
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.3 for Mesa
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
  *
- *  Copyright (C) 2002 - Daniel Borca
- *  Email : dborca@yahoo.com
- *  Web   : http://www.geocities.com/dborca
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
-#include "glutint.h"
+#include "internal.h"
 
 
-int g_mouse;
-int g_mouse_x = 0, g_mouse_y = 0;
+int _glut_mouse;
+int _glut_mouse_x = 0, _glut_mouse_y = 0;
 
 
 void
-__glutInitMouse (void)
+_glut_mouse_init (void)
 {
-   if ((g_mouse = pc_install_mouse())) {
-      pc_mouse_area(g_curwin->xpos, g_curwin->ypos, g_curwin->xpos + g_curwin->width - 1, g_curwin->ypos + g_curwin->height - 1);
+   if ((_glut_mouse = pc_install_mouse())) {
+      pc_mouse_area(_glut_current->xpos, _glut_current->ypos, _glut_current->xpos + _glut_current->width - 1, _glut_current->ypos + _glut_current->height - 1);
 
-      g_curwin->show_mouse = (g_curwin->mouse || g_curwin->motion || g_curwin->passive);
+      _glut_current->show_mouse = (_glut_current->mouse || _glut_current->motion || _glut_current->passive);
    }
 }
 
diff --git a/src/glut/dos/mroman.c b/src/glut/dos/mroman.c
new file mode 100644 (file)
index 0000000..5bf76db
--- /dev/null
@@ -0,0 +1,2783 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "internal.h"
+
+/* char: 0x20 */
+
+static const GLUTStrokeStrip ch32st[] =
+{
+};
+
+static const GLUTStrokeChar ch32 = {104.7619f,0,ch32st};
+
+/* char: 0x21 */
+
+static const GLUTStrokeVertex ch33st0[] =
+{
+ {52.3810f,100.0000f},
+ {52.3810f,33.3333f}
+};
+
+static const GLUTStrokeVertex ch33st1[] =
+{
+ {52.3810f,9.5238f},
+ {47.6191f,4.7619f},
+ {52.3810f,0.0000f},
+ {57.1429f,4.7619f},
+ {52.3810f,9.5238f}
+};
+
+static const GLUTStrokeStrip ch33st[] =
+{
+ {2,ch33st0},
+ {5,ch33st1}
+};
+
+static const GLUTStrokeChar ch33 = {104.7619f,2,ch33st};
+
+/* char: 0x22 */
+
+static const GLUTStrokeVertex ch34st0[] =
+{
+ {33.3334f,100.0000f},
+ {33.3334f,66.6667f}
+};
+
+static const GLUTStrokeVertex ch34st1[] =
+{
+ {71.4286f,100.0000f},
+ {71.4286f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch34st[] =
+{
+ {2,ch34st0},
+ {2,ch34st1}
+};
+
+static const GLUTStrokeChar ch34 = {104.7619f,2,ch34st};
+
+/* char: 0x23 */
+
+static const GLUTStrokeVertex ch35st0[] =
+{
+ {54.7619f,119.0476f},
+ {21.4286f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch35st1[] =
+{
+ {83.3334f,119.0476f},
+ {50.0000f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch35st2[] =
+{
+ {21.4286f,57.1429f},
+ {88.0952f,57.1429f}
+};
+
+static const GLUTStrokeVertex ch35st3[] =
+{
+ {16.6667f,28.5714f},
+ {83.3334f,28.5714f}
+};
+
+static const GLUTStrokeStrip ch35st[] =
+{
+ {2,ch35st0},
+ {2,ch35st1},
+ {2,ch35st2},
+ {2,ch35st3}
+};
+
+static const GLUTStrokeChar ch35 = {104.7619f,4,ch35st};
+
+/* char: 0x24 */
+
+static const GLUTStrokeVertex ch36st0[] =
+{
+ {42.8571f,119.0476f},
+ {42.8571f,-19.0476f}
+};
+
+static const GLUTStrokeVertex ch36st1[] =
+{
+ {61.9047f,119.0476f},
+ {61.9047f,-19.0476f}
+};
+
+static const GLUTStrokeVertex ch36st2[] =
+{
+ {85.7143f,85.7143f},
+ {76.1905f,95.2381f},
+ {61.9047f,100.0000f},
+ {42.8571f,100.0000f},
+ {28.5714f,95.2381f},
+ {19.0476f,85.7143f},
+ {19.0476f,76.1905f},
+ {23.8095f,66.6667f},
+ {28.5714f,61.9048f},
+ {38.0952f,57.1429f},
+ {66.6666f,47.6190f},
+ {76.1905f,42.8571f},
+ {80.9524f,38.0952f},
+ {85.7143f,28.5714f},
+ {85.7143f,14.2857f},
+ {76.1905f,4.7619f},
+ {61.9047f,0.0000f},
+ {42.8571f,0.0000f},
+ {28.5714f,4.7619f},
+ {19.0476f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch36st[] =
+{
+ {2,ch36st0},
+ {2,ch36st1},
+ {20,ch36st2}
+};
+
+static const GLUTStrokeChar ch36 = {104.7619f,3,ch36st};
+
+/* char: 0x25 */
+
+static const GLUTStrokeVertex ch37st0[] =
+{
+ {95.2381f,100.0000f},
+ {9.5238f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch37st1[] =
+{
+ {33.3333f,100.0000f},
+ {42.8571f,90.4762f},
+ {42.8571f,80.9524f},
+ {38.0952f,71.4286f},
+ {28.5714f,66.6667f},
+ {19.0476f,66.6667f},
+ {9.5238f,76.1905f},
+ {9.5238f,85.7143f},
+ {14.2857f,95.2381f},
+ {23.8095f,100.0000f},
+ {33.3333f,100.0000f},
+ {42.8571f,95.2381f},
+ {57.1428f,90.4762f},
+ {71.4286f,90.4762f},
+ {85.7143f,95.2381f},
+ {95.2381f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch37st2[] =
+{
+ {76.1905f,33.3333f},
+ {66.6667f,28.5714f},
+ {61.9048f,19.0476f},
+ {61.9048f,9.5238f},
+ {71.4286f,0.0000f},
+ {80.9524f,0.0000f},
+ {90.4762f,4.7619f},
+ {95.2381f,14.2857f},
+ {95.2381f,23.8095f},
+ {85.7143f,33.3333f},
+ {76.1905f,33.3333f}
+};
+
+static const GLUTStrokeStrip ch37st[] =
+{
+ {2,ch37st0},
+ {16,ch37st1},
+ {11,ch37st2}
+};
+
+static const GLUTStrokeChar ch37 = {104.7619f,3,ch37st};
+
+/* char: 0x26 */
+
+static const GLUTStrokeVertex ch38st0[] =
+{
+ {100.0000f,57.1429f},
+ {100.0000f,61.9048f},
+ {95.2381f,66.6667f},
+ {90.4762f,66.6667f},
+ {85.7143f,61.9048f},
+ {80.9524f,52.3810f},
+ {71.4286f,28.5714f},
+ {61.9048f,14.2857f},
+ {52.3809f,4.7619f},
+ {42.8571f,0.0000f},
+ {23.8095f,0.0000f},
+ {14.2857f,4.7619f},
+ {9.5238f,9.5238f},
+ {4.7619f,19.0476f},
+ {4.7619f,28.5714f},
+ {9.5238f,38.0952f},
+ {14.2857f,42.8571f},
+ {47.6190f,61.9048f},
+ {52.3809f,66.6667f},
+ {57.1429f,76.1905f},
+ {57.1429f,85.7143f},
+ {52.3809f,95.2381f},
+ {42.8571f,100.0000f},
+ {33.3333f,95.2381f},
+ {28.5714f,85.7143f},
+ {28.5714f,76.1905f},
+ {33.3333f,61.9048f},
+ {42.8571f,47.6190f},
+ {66.6667f,14.2857f},
+ {76.1905f,4.7619f},
+ {85.7143f,0.0000f},
+ {95.2381f,0.0000f},
+ {100.0000f,4.7619f},
+ {100.0000f,9.5238f}
+};
+
+static const GLUTStrokeStrip ch38st[] =
+{
+ {34,ch38st0}
+};
+
+static const GLUTStrokeChar ch38 = {104.7619f,1,ch38st};
+
+/* char: 0x27 */
+
+static const GLUTStrokeVertex ch39st0[] =
+{
+ {52.3810f,100.0000f},
+ {52.3810f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch39st[] =
+{
+ {2,ch39st0}
+};
+
+static const GLUTStrokeChar ch39 = {104.7619f,1,ch39st};
+
+/* char: 0x28 */
+
+static const GLUTStrokeVertex ch40st0[] =
+{
+ {69.0476f,119.0476f},
+ {59.5238f,109.5238f},
+ {50.0000f,95.2381f},
+ {40.4762f,76.1905f},
+ {35.7143f,52.3810f},
+ {35.7143f,33.3333f},
+ {40.4762f,9.5238f},
+ {50.0000f,-9.5238f},
+ {59.5238f,-23.8095f},
+ {69.0476f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch40st[] =
+{
+ {10,ch40st0}
+};
+
+static const GLUTStrokeChar ch40 = {104.7619f,1,ch40st};
+
+/* char: 0x29 */
+
+static const GLUTStrokeVertex ch41st0[] =
+{
+ {35.7143f,119.0476f},
+ {45.2381f,109.5238f},
+ {54.7619f,95.2381f},
+ {64.2857f,76.1905f},
+ {69.0476f,52.3810f},
+ {69.0476f,33.3333f},
+ {64.2857f,9.5238f},
+ {54.7619f,-9.5238f},
+ {45.2381f,-23.8095f},
+ {35.7143f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch41st[] =
+{
+ {10,ch41st0}
+};
+
+static const GLUTStrokeChar ch41 = {104.7619f,1,ch41st};
+
+/* char: 0x2a */
+
+static const GLUTStrokeVertex ch42st0[] =
+{
+ {52.3810f,71.4286f},
+ {52.3810f,14.2857f}
+};
+
+static const GLUTStrokeVertex ch42st1[] =
+{
+ {28.5715f,57.1429f},
+ {76.1905f,28.5714f}
+};
+
+static const GLUTStrokeVertex ch42st2[] =
+{
+ {76.1905f,57.1429f},
+ {28.5715f,28.5714f}
+};
+
+static const GLUTStrokeStrip ch42st[] =
+{
+ {2,ch42st0},
+ {2,ch42st1},
+ {2,ch42st2}
+};
+
+static const GLUTStrokeChar ch42 = {104.7619f,3,ch42st};
+
+/* char: 0x2b */
+
+static const GLUTStrokeVertex ch43st0[] =
+{
+ {52.3809f,85.7143f},
+ {52.3809f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch43st1[] =
+{
+ {9.5238f,42.8571f},
+ {95.2381f,42.8571f}
+};
+
+static const GLUTStrokeStrip ch43st[] =
+{
+ {2,ch43st0},
+ {2,ch43st1}
+};
+
+static const GLUTStrokeChar ch43 = {104.7619f,2,ch43st};
+
+/* char: 0x2c */
+
+static const GLUTStrokeVertex ch44st0[] =
+{
+ {57.1429f,4.7619f},
+ {52.3810f,0.0000f},
+ {47.6191f,4.7619f},
+ {52.3810f,9.5238f},
+ {57.1429f,4.7619f},
+ {57.1429f,-4.7619f},
+ {52.3810f,-14.2857f},
+ {47.6191f,-19.0476f}
+};
+
+static const GLUTStrokeStrip ch44st[] =
+{
+ {8,ch44st0}
+};
+
+static const GLUTStrokeChar ch44 = {104.7619f,1,ch44st};
+
+/* char: 0x2d */
+
+static const GLUTStrokeVertex ch45st0[] =
+{
+ {9.5238f,42.8571f},
+ {95.2381f,42.8571f}
+};
+
+static const GLUTStrokeStrip ch45st[] =
+{
+ {2,ch45st0}
+};
+
+static const GLUTStrokeChar ch45 = {104.7619f,1,ch45st};
+
+/* char: 0x2e */
+
+static const GLUTStrokeVertex ch46st0[] =
+{
+ {52.3810f,9.5238f},
+ {47.6191f,4.7619f},
+ {52.3810f,0.0000f},
+ {57.1429f,4.7619f},
+ {52.3810f,9.5238f}
+};
+
+static const GLUTStrokeStrip ch46st[] =
+{
+ {5,ch46st0}
+};
+
+static const GLUTStrokeChar ch46 = {104.7619f,1,ch46st};
+
+/* char: 0x2f */
+
+static const GLUTStrokeVertex ch47st0[] =
+{
+ {19.0476f,-14.2857f},
+ {85.7143f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch47st[] =
+{
+ {2,ch47st0}
+};
+
+static const GLUTStrokeChar ch47 = {104.7619f,1,ch47st};
+
+/* char: 0x30 */
+
+static const GLUTStrokeVertex ch48st0[] =
+{
+ {47.6190f,100.0000f},
+ {33.3333f,95.2381f},
+ {23.8095f,80.9524f},
+ {19.0476f,57.1429f},
+ {19.0476f,42.8571f},
+ {23.8095f,19.0476f},
+ {33.3333f,4.7619f},
+ {47.6190f,0.0000f},
+ {57.1428f,0.0000f},
+ {71.4286f,4.7619f},
+ {80.9524f,19.0476f},
+ {85.7143f,42.8571f},
+ {85.7143f,57.1429f},
+ {80.9524f,80.9524f},
+ {71.4286f,95.2381f},
+ {57.1428f,100.0000f},
+ {47.6190f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch48st[] =
+{
+ {17,ch48st0}
+};
+
+static const GLUTStrokeChar ch48 = {104.7619f,1,ch48st};
+
+/* char: 0x31 */
+
+static const GLUTStrokeVertex ch49st0[] =
+{
+ {40.4762f,80.9524f},
+ {50.0000f,85.7143f},
+ {64.2857f,100.0000f},
+ {64.2857f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch49st[] =
+{
+ {4,ch49st0}
+};
+
+static const GLUTStrokeChar ch49 = {104.7619f,1,ch49st};
+
+/* char: 0x32 */
+
+static const GLUTStrokeVertex ch50st0[] =
+{
+ {23.8095f,76.1905f},
+ {23.8095f,80.9524f},
+ {28.5714f,90.4762f},
+ {33.3333f,95.2381f},
+ {42.8571f,100.0000f},
+ {61.9047f,100.0000f},
+ {71.4286f,95.2381f},
+ {76.1905f,90.4762f},
+ {80.9524f,80.9524f},
+ {80.9524f,71.4286f},
+ {76.1905f,61.9048f},
+ {66.6666f,47.6190f},
+ {19.0476f,0.0000f},
+ {85.7143f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch50st[] =
+{
+ {14,ch50st0}
+};
+
+static const GLUTStrokeChar ch50 = {104.7619f,1,ch50st};
+
+/* char: 0x33 */
+
+static const GLUTStrokeVertex ch51st0[] =
+{
+ {28.5714f,100.0000f},
+ {80.9524f,100.0000f},
+ {52.3809f,61.9048f},
+ {66.6666f,61.9048f},
+ {76.1905f,57.1429f},
+ {80.9524f,52.3810f},
+ {85.7143f,38.0952f},
+ {85.7143f,28.5714f},
+ {80.9524f,14.2857f},
+ {71.4286f,4.7619f},
+ {57.1428f,0.0000f},
+ {42.8571f,0.0000f},
+ {28.5714f,4.7619f},
+ {23.8095f,9.5238f},
+ {19.0476f,19.0476f}
+};
+
+static const GLUTStrokeStrip ch51st[] =
+{
+ {15,ch51st0}
+};
+
+static const GLUTStrokeChar ch51 = {104.7619f,1,ch51st};
+
+/* char: 0x34 */
+
+static const GLUTStrokeVertex ch52st0[] =
+{
+ {64.2857f,100.0000f},
+ {16.6667f,33.3333f},
+ {88.0952f,33.3333f}
+};
+
+static const GLUTStrokeVertex ch52st1[] =
+{
+ {64.2857f,100.0000f},
+ {64.2857f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch52st[] =
+{
+ {3,ch52st0},
+ {2,ch52st1}
+};
+
+static const GLUTStrokeChar ch52 = {104.7619f,2,ch52st};
+
+/* char: 0x35 */
+
+static const GLUTStrokeVertex ch53st0[] =
+{
+ {76.1905f,100.0000f},
+ {28.5714f,100.0000f},
+ {23.8095f,57.1429f},
+ {28.5714f,61.9048f},
+ {42.8571f,66.6667f},
+ {57.1428f,66.6667f},
+ {71.4286f,61.9048f},
+ {80.9524f,52.3810f},
+ {85.7143f,38.0952f},
+ {85.7143f,28.5714f},
+ {80.9524f,14.2857f},
+ {71.4286f,4.7619f},
+ {57.1428f,0.0000f},
+ {42.8571f,0.0000f},
+ {28.5714f,4.7619f},
+ {23.8095f,9.5238f},
+ {19.0476f,19.0476f}
+};
+
+static const GLUTStrokeStrip ch53st[] =
+{
+ {17,ch53st0}
+};
+
+static const GLUTStrokeChar ch53 = {104.7619f,1,ch53st};
+
+/* char: 0x36 */
+
+static const GLUTStrokeVertex ch54st0[] =
+{
+ {78.5714f,85.7143f},
+ {73.8096f,95.2381f},
+ {59.5238f,100.0000f},
+ {50.0000f,100.0000f},
+ {35.7143f,95.2381f},
+ {26.1905f,80.9524f},
+ {21.4286f,57.1429f},
+ {21.4286f,33.3333f},
+ {26.1905f,14.2857f},
+ {35.7143f,4.7619f},
+ {50.0000f,0.0000f},
+ {54.7619f,0.0000f},
+ {69.0476f,4.7619f},
+ {78.5714f,14.2857f},
+ {83.3334f,28.5714f},
+ {83.3334f,33.3333f},
+ {78.5714f,47.6190f},
+ {69.0476f,57.1429f},
+ {54.7619f,61.9048f},
+ {50.0000f,61.9048f},
+ {35.7143f,57.1429f},
+ {26.1905f,47.6190f},
+ {21.4286f,33.3333f}
+};
+
+static const GLUTStrokeStrip ch54st[] =
+{
+ {23,ch54st0}
+};
+
+static const GLUTStrokeChar ch54 = {104.7619f,1,ch54st};
+
+/* char: 0x37 */
+
+static const GLUTStrokeVertex ch55st0[] =
+{
+ {85.7143f,100.0000f},
+ {38.0952f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch55st1[] =
+{
+ {19.0476f,100.0000f},
+ {85.7143f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch55st[] =
+{
+ {2,ch55st0},
+ {2,ch55st1}
+};
+
+static const GLUTStrokeChar ch55 = {104.7619f,2,ch55st};
+
+/* char: 0x38 */
+
+static const GLUTStrokeVertex ch56st0[] =
+{
+ {42.8571f,100.0000f},
+ {28.5714f,95.2381f},
+ {23.8095f,85.7143f},
+ {23.8095f,76.1905f},
+ {28.5714f,66.6667f},
+ {38.0952f,61.9048f},
+ {57.1428f,57.1429f},
+ {71.4286f,52.3810f},
+ {80.9524f,42.8571f},
+ {85.7143f,33.3333f},
+ {85.7143f,19.0476f},
+ {80.9524f,9.5238f},
+ {76.1905f,4.7619f},
+ {61.9047f,0.0000f},
+ {42.8571f,0.0000f},
+ {28.5714f,4.7619f},
+ {23.8095f,9.5238f},
+ {19.0476f,19.0476f},
+ {19.0476f,33.3333f},
+ {23.8095f,42.8571f},
+ {33.3333f,52.3810f},
+ {47.6190f,57.1429f},
+ {66.6666f,61.9048f},
+ {76.1905f,66.6667f},
+ {80.9524f,76.1905f},
+ {80.9524f,85.7143f},
+ {76.1905f,95.2381f},
+ {61.9047f,100.0000f},
+ {42.8571f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch56st[] =
+{
+ {29,ch56st0}
+};
+
+static const GLUTStrokeChar ch56 = {104.7619f,1,ch56st};
+
+/* char: 0x39 */
+
+static const GLUTStrokeVertex ch57st0[] =
+{
+ {83.3334f,66.6667f},
+ {78.5714f,52.3810f},
+ {69.0476f,42.8571f},
+ {54.7619f,38.0952f},
+ {50.0000f,38.0952f},
+ {35.7143f,42.8571f},
+ {26.1905f,52.3810f},
+ {21.4286f,66.6667f},
+ {21.4286f,71.4286f},
+ {26.1905f,85.7143f},
+ {35.7143f,95.2381f},
+ {50.0000f,100.0000f},
+ {54.7619f,100.0000f},
+ {69.0476f,95.2381f},
+ {78.5714f,85.7143f},
+ {83.3334f,66.6667f},
+ {83.3334f,42.8571f},
+ {78.5714f,19.0476f},
+ {69.0476f,4.7619f},
+ {54.7619f,0.0000f},
+ {45.2381f,0.0000f},
+ {30.9524f,4.7619f},
+ {26.1905f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch57st[] =
+{
+ {23,ch57st0}
+};
+
+static const GLUTStrokeChar ch57 = {104.7619f,1,ch57st};
+
+/* char: 0x3a */
+
+static const GLUTStrokeVertex ch58st0[] =
+{
+ {52.3810f,66.6667f},
+ {47.6191f,61.9048f},
+ {52.3810f,57.1429f},
+ {57.1429f,61.9048f},
+ {52.3810f,66.6667f}
+};
+
+static const GLUTStrokeVertex ch58st1[] =
+{
+ {52.3810f,9.5238f},
+ {47.6191f,4.7619f},
+ {52.3810f,0.0000f},
+ {57.1429f,4.7619f},
+ {52.3810f,9.5238f}
+};
+
+static const GLUTStrokeStrip ch58st[] =
+{
+ {5,ch58st0},
+ {5,ch58st1}
+};
+
+static const GLUTStrokeChar ch58 = {104.7619f,2,ch58st};
+
+/* char: 0x3b */
+
+static const GLUTStrokeVertex ch59st0[] =
+{
+ {52.3810f,66.6667f},
+ {47.6191f,61.9048f},
+ {52.3810f,57.1429f},
+ {57.1429f,61.9048f},
+ {52.3810f,66.6667f}
+};
+
+static const GLUTStrokeVertex ch59st1[] =
+{
+ {57.1429f,4.7619f},
+ {52.3810f,0.0000f},
+ {47.6191f,4.7619f},
+ {52.3810f,9.5238f},
+ {57.1429f,4.7619f},
+ {57.1429f,-4.7619f},
+ {52.3810f,-14.2857f},
+ {47.6191f,-19.0476f}
+};
+
+static const GLUTStrokeStrip ch59st[] =
+{
+ {5,ch59st0},
+ {8,ch59st1}
+};
+
+static const GLUTStrokeChar ch59 = {104.7619f,2,ch59st};
+
+/* char: 0x3c */
+
+static const GLUTStrokeVertex ch60st0[] =
+{
+ {90.4762f,85.7143f},
+ {14.2857f,42.8571f},
+ {90.4762f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch60st[] =
+{
+ {3,ch60st0}
+};
+
+static const GLUTStrokeChar ch60 = {104.7619f,1,ch60st};
+
+/* char: 0x3d */
+
+static const GLUTStrokeVertex ch61st0[] =
+{
+ {9.5238f,57.1429f},
+ {95.2381f,57.1429f}
+};
+
+static const GLUTStrokeVertex ch61st1[] =
+{
+ {9.5238f,28.5714f},
+ {95.2381f,28.5714f}
+};
+
+static const GLUTStrokeStrip ch61st[] =
+{
+ {2,ch61st0},
+ {2,ch61st1}
+};
+
+static const GLUTStrokeChar ch61 = {104.7619f,2,ch61st};
+
+/* char: 0x3e */
+
+static const GLUTStrokeVertex ch62st0[] =
+{
+ {14.2857f,85.7143f},
+ {90.4762f,42.8571f},
+ {14.2857f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch62st[] =
+{
+ {3,ch62st0}
+};
+
+static const GLUTStrokeChar ch62 = {104.7619f,1,ch62st};
+
+/* char: 0x3f */
+
+static const GLUTStrokeVertex ch63st0[] =
+{
+ {23.8095f,76.1905f},
+ {23.8095f,80.9524f},
+ {28.5714f,90.4762f},
+ {33.3333f,95.2381f},
+ {42.8571f,100.0000f},
+ {61.9047f,100.0000f},
+ {71.4285f,95.2381f},
+ {76.1905f,90.4762f},
+ {80.9524f,80.9524f},
+ {80.9524f,71.4286f},
+ {76.1905f,61.9048f},
+ {71.4285f,57.1429f},
+ {52.3809f,47.6190f},
+ {52.3809f,33.3333f}
+};
+
+static const GLUTStrokeVertex ch63st1[] =
+{
+ {52.3809f,9.5238f},
+ {47.6190f,4.7619f},
+ {52.3809f,0.0000f},
+ {57.1428f,4.7619f},
+ {52.3809f,9.5238f}
+};
+
+static const GLUTStrokeStrip ch63st[] =
+{
+ {14,ch63st0},
+ {5,ch63st1}
+};
+
+static const GLUTStrokeChar ch63 = {104.7619f,2,ch63st};
+
+/* char: 0x40 */
+
+static const GLUTStrokeVertex ch64st0[] =
+{
+ {64.2857f,52.3810f},
+ {54.7619f,57.1429f},
+ {45.2381f,57.1429f},
+ {40.4762f,47.6190f},
+ {40.4762f,42.8571f},
+ {45.2381f,33.3333f},
+ {54.7619f,33.3333f},
+ {64.2857f,38.0952f}
+};
+
+static const GLUTStrokeVertex ch64st1[] =
+{
+ {64.2857f,57.1429f},
+ {64.2857f,38.0952f},
+ {69.0476f,33.3333f},
+ {78.5714f,33.3333f},
+ {83.3334f,42.8571f},
+ {83.3334f,47.6190f},
+ {78.5714f,61.9048f},
+ {69.0476f,71.4286f},
+ {54.7619f,76.1905f},
+ {50.0000f,76.1905f},
+ {35.7143f,71.4286f},
+ {26.1905f,61.9048f},
+ {21.4286f,47.6190f},
+ {21.4286f,42.8571f},
+ {26.1905f,28.5714f},
+ {35.7143f,19.0476f},
+ {50.0000f,14.2857f},
+ {54.7619f,14.2857f},
+ {69.0476f,19.0476f}
+};
+
+static const GLUTStrokeStrip ch64st[] =
+{
+ {8,ch64st0},
+ {19,ch64st1}
+};
+
+static const GLUTStrokeChar ch64 = {104.7619f,2,ch64st};
+
+/* char: 0x41 */
+
+static const GLUTStrokeVertex ch65st0[] =
+{
+ {52.3809f,100.0000f},
+ {14.2857f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch65st1[] =
+{
+ {52.3809f,100.0000f},
+ {90.4762f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch65st2[] =
+{
+ {28.5714f,33.3333f},
+ {76.1905f,33.3333f}
+};
+
+static const GLUTStrokeStrip ch65st[] =
+{
+ {2,ch65st0},
+ {2,ch65st1},
+ {2,ch65st2}
+};
+
+static const GLUTStrokeChar ch65 = {104.7619f,3,ch65st};
+
+/* char: 0x42 */
+
+static const GLUTStrokeVertex ch66st0[] =
+{
+ {19.0476f,100.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch66st1[] =
+{
+ {19.0476f,100.0000f},
+ {61.9047f,100.0000f},
+ {76.1905f,95.2381f},
+ {80.9524f,90.4762f},
+ {85.7143f,80.9524f},
+ {85.7143f,71.4286f},
+ {80.9524f,61.9048f},
+ {76.1905f,57.1429f},
+ {61.9047f,52.3810f}
+};
+
+static const GLUTStrokeVertex ch66st2[] =
+{
+ {19.0476f,52.3810f},
+ {61.9047f,52.3810f},
+ {76.1905f,47.6190f},
+ {80.9524f,42.8571f},
+ {85.7143f,33.3333f},
+ {85.7143f,19.0476f},
+ {80.9524f,9.5238f},
+ {76.1905f,4.7619f},
+ {61.9047f,0.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch66st[] =
+{
+ {2,ch66st0},
+ {9,ch66st1},
+ {10,ch66st2}
+};
+
+static const GLUTStrokeChar ch66 = {104.7619f,3,ch66st};
+
+/* char: 0x43 */
+
+static const GLUTStrokeVertex ch67st0[] =
+{
+ {88.0952f,76.1905f},
+ {83.3334f,85.7143f},
+ {73.8096f,95.2381f},
+ {64.2857f,100.0000f},
+ {45.2381f,100.0000f},
+ {35.7143f,95.2381f},
+ {26.1905f,85.7143f},
+ {21.4286f,76.1905f},
+ {16.6667f,61.9048f},
+ {16.6667f,38.0952f},
+ {21.4286f,23.8095f},
+ {26.1905f,14.2857f},
+ {35.7143f,4.7619f},
+ {45.2381f,0.0000f},
+ {64.2857f,0.0000f},
+ {73.8096f,4.7619f},
+ {83.3334f,14.2857f},
+ {88.0952f,23.8095f}
+};
+
+static const GLUTStrokeStrip ch67st[] =
+{
+ {18,ch67st0}
+};
+
+static const GLUTStrokeChar ch67 = {104.7619f,1,ch67st};
+
+/* char: 0x44 */
+
+static const GLUTStrokeVertex ch68st0[] =
+{
+ {19.0476f,100.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch68st1[] =
+{
+ {19.0476f,100.0000f},
+ {52.3809f,100.0000f},
+ {66.6666f,95.2381f},
+ {76.1905f,85.7143f},
+ {80.9524f,76.1905f},
+ {85.7143f,61.9048f},
+ {85.7143f,38.0952f},
+ {80.9524f,23.8095f},
+ {76.1905f,14.2857f},
+ {66.6666f,4.7619f},
+ {52.3809f,0.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch68st[] =
+{
+ {2,ch68st0},
+ {12,ch68st1}
+};
+
+static const GLUTStrokeChar ch68 = {104.7619f,2,ch68st};
+
+/* char: 0x45 */
+
+static const GLUTStrokeVertex ch69st0[] =
+{
+ {21.4286f,100.0000f},
+ {21.4286f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch69st1[] =
+{
+ {21.4286f,100.0000f},
+ {83.3334f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch69st2[] =
+{
+ {21.4286f,52.3810f},
+ {59.5238f,52.3810f}
+};
+
+static const GLUTStrokeVertex ch69st3[] =
+{
+ {21.4286f,0.0000f},
+ {83.3334f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch69st[] =
+{
+ {2,ch69st0},
+ {2,ch69st1},
+ {2,ch69st2},
+ {2,ch69st3}
+};
+
+static const GLUTStrokeChar ch69 = {104.7619f,4,ch69st};
+
+/* char: 0x46 */
+
+static const GLUTStrokeVertex ch70st0[] =
+{
+ {21.4286f,100.0000f},
+ {21.4286f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch70st1[] =
+{
+ {21.4286f,100.0000f},
+ {83.3334f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch70st2[] =
+{
+ {21.4286f,52.3810f},
+ {59.5238f,52.3810f}
+};
+
+static const GLUTStrokeStrip ch70st[] =
+{
+ {2,ch70st0},
+ {2,ch70st1},
+ {2,ch70st2}
+};
+
+static const GLUTStrokeChar ch70 = {104.7619f,3,ch70st};
+
+/* char: 0x47 */
+
+static const GLUTStrokeVertex ch71st0[] =
+{
+ {88.0952f,76.1905f},
+ {83.3334f,85.7143f},
+ {73.8096f,95.2381f},
+ {64.2857f,100.0000f},
+ {45.2381f,100.0000f},
+ {35.7143f,95.2381f},
+ {26.1905f,85.7143f},
+ {21.4286f,76.1905f},
+ {16.6667f,61.9048f},
+ {16.6667f,38.0952f},
+ {21.4286f,23.8095f},
+ {26.1905f,14.2857f},
+ {35.7143f,4.7619f},
+ {45.2381f,0.0000f},
+ {64.2857f,0.0000f},
+ {73.8096f,4.7619f},
+ {83.3334f,14.2857f},
+ {88.0952f,23.8095f},
+ {88.0952f,38.0952f}
+};
+
+static const GLUTStrokeVertex ch71st1[] =
+{
+ {64.2857f,38.0952f},
+ {88.0952f,38.0952f}
+};
+
+static const GLUTStrokeStrip ch71st[] =
+{
+ {19,ch71st0},
+ {2,ch71st1}
+};
+
+static const GLUTStrokeChar ch71 = {104.7619f,2,ch71st};
+
+/* char: 0x48 */
+
+static const GLUTStrokeVertex ch72st0[] =
+{
+ {19.0476f,100.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch72st1[] =
+{
+ {85.7143f,100.0000f},
+ {85.7143f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch72st2[] =
+{
+ {19.0476f,52.3810f},
+ {85.7143f,52.3810f}
+};
+
+static const GLUTStrokeStrip ch72st[] =
+{
+ {2,ch72st0},
+ {2,ch72st1},
+ {2,ch72st2}
+};
+
+static const GLUTStrokeChar ch72 = {104.7619f,3,ch72st};
+
+/* char: 0x49 */
+
+static const GLUTStrokeVertex ch73st0[] =
+{
+ {52.3810f,100.0000f},
+ {52.3810f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch73st[] =
+{
+ {2,ch73st0}
+};
+
+static const GLUTStrokeChar ch73 = {104.7619f,1,ch73st};
+
+/* char: 0x4a */
+
+static const GLUTStrokeVertex ch74st0[] =
+{
+ {76.1905f,100.0000f},
+ {76.1905f,23.8095f},
+ {71.4286f,9.5238f},
+ {66.6667f,4.7619f},
+ {57.1429f,0.0000f},
+ {47.6191f,0.0000f},
+ {38.0953f,4.7619f},
+ {33.3334f,9.5238f},
+ {28.5715f,23.8095f},
+ {28.5715f,33.3333f}
+};
+
+static const GLUTStrokeStrip ch74st[] =
+{
+ {10,ch74st0}
+};
+
+static const GLUTStrokeChar ch74 = {104.7619f,1,ch74st};
+
+/* char: 0x4b */
+
+static const GLUTStrokeVertex ch75st0[] =
+{
+ {19.0476f,100.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch75st1[] =
+{
+ {85.7143f,100.0000f},
+ {19.0476f,33.3333f}
+};
+
+static const GLUTStrokeVertex ch75st2[] =
+{
+ {42.8571f,57.1429f},
+ {85.7143f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch75st[] =
+{
+ {2,ch75st0},
+ {2,ch75st1},
+ {2,ch75st2}
+};
+
+static const GLUTStrokeChar ch75 = {104.7619f,3,ch75st};
+
+/* char: 0x4c */
+
+static const GLUTStrokeVertex ch76st0[] =
+{
+ {23.8095f,100.0000f},
+ {23.8095f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch76st1[] =
+{
+ {23.8095f,0.0000f},
+ {80.9524f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch76st[] =
+{
+ {2,ch76st0},
+ {2,ch76st1}
+};
+
+static const GLUTStrokeChar ch76 = {104.7619f,2,ch76st};
+
+/* char: 0x4d */
+
+static const GLUTStrokeVertex ch77st0[] =
+{
+ {14.2857f,100.0000f},
+ {14.2857f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch77st1[] =
+{
+ {14.2857f,100.0000f},
+ {52.3809f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch77st2[] =
+{
+ {90.4762f,100.0000f},
+ {52.3809f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch77st3[] =
+{
+ {90.4762f,100.0000f},
+ {90.4762f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch77st[] =
+{
+ {2,ch77st0},
+ {2,ch77st1},
+ {2,ch77st2},
+ {2,ch77st3}
+};
+
+static const GLUTStrokeChar ch77 = {104.7619f,4,ch77st};
+
+/* char: 0x4e */
+
+static const GLUTStrokeVertex ch78st0[] =
+{
+ {19.0476f,100.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch78st1[] =
+{
+ {19.0476f,100.0000f},
+ {85.7143f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch78st2[] =
+{
+ {85.7143f,100.0000f},
+ {85.7143f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch78st[] =
+{
+ {2,ch78st0},
+ {2,ch78st1},
+ {2,ch78st2}
+};
+
+static const GLUTStrokeChar ch78 = {104.7619f,3,ch78st};
+
+/* char: 0x4f */
+
+static const GLUTStrokeVertex ch79st0[] =
+{
+ {42.8571f,100.0000f},
+ {33.3333f,95.2381f},
+ {23.8095f,85.7143f},
+ {19.0476f,76.1905f},
+ {14.2857f,61.9048f},
+ {14.2857f,38.0952f},
+ {19.0476f,23.8095f},
+ {23.8095f,14.2857f},
+ {33.3333f,4.7619f},
+ {42.8571f,0.0000f},
+ {61.9047f,0.0000f},
+ {71.4286f,4.7619f},
+ {80.9524f,14.2857f},
+ {85.7143f,23.8095f},
+ {90.4762f,38.0952f},
+ {90.4762f,61.9048f},
+ {85.7143f,76.1905f},
+ {80.9524f,85.7143f},
+ {71.4286f,95.2381f},
+ {61.9047f,100.0000f},
+ {42.8571f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch79st[] =
+{
+ {21,ch79st0}
+};
+
+static const GLUTStrokeChar ch79 = {104.7619f,1,ch79st};
+
+/* char: 0x50 */
+
+static const GLUTStrokeVertex ch80st0[] =
+{
+ {19.0476f,100.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch80st1[] =
+{
+ {19.0476f,100.0000f},
+ {61.9047f,100.0000f},
+ {76.1905f,95.2381f},
+ {80.9524f,90.4762f},
+ {85.7143f,80.9524f},
+ {85.7143f,66.6667f},
+ {80.9524f,57.1429f},
+ {76.1905f,52.3810f},
+ {61.9047f,47.6190f},
+ {19.0476f,47.6190f}
+};
+
+static const GLUTStrokeStrip ch80st[] =
+{
+ {2,ch80st0},
+ {10,ch80st1}
+};
+
+static const GLUTStrokeChar ch80 = {104.7619f,2,ch80st};
+
+/* char: 0x51 */
+
+static const GLUTStrokeVertex ch81st0[] =
+{
+ {42.8571f,100.0000f},
+ {33.3333f,95.2381f},
+ {23.8095f,85.7143f},
+ {19.0476f,76.1905f},
+ {14.2857f,61.9048f},
+ {14.2857f,38.0952f},
+ {19.0476f,23.8095f},
+ {23.8095f,14.2857f},
+ {33.3333f,4.7619f},
+ {42.8571f,0.0000f},
+ {61.9047f,0.0000f},
+ {71.4286f,4.7619f},
+ {80.9524f,14.2857f},
+ {85.7143f,23.8095f},
+ {90.4762f,38.0952f},
+ {90.4762f,61.9048f},
+ {85.7143f,76.1905f},
+ {80.9524f,85.7143f},
+ {71.4286f,95.2381f},
+ {61.9047f,100.0000f},
+ {42.8571f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch81st1[] =
+{
+ {57.1428f,19.0476f},
+ {85.7143f,-9.5238f}
+};
+
+static const GLUTStrokeStrip ch81st[] =
+{
+ {21,ch81st0},
+ {2,ch81st1}
+};
+
+static const GLUTStrokeChar ch81 = {104.7619f,2,ch81st};
+
+/* char: 0x52 */
+
+static const GLUTStrokeVertex ch82st0[] =
+{
+ {19.0476f,100.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch82st1[] =
+{
+ {19.0476f,100.0000f},
+ {61.9047f,100.0000f},
+ {76.1905f,95.2381f},
+ {80.9524f,90.4762f},
+ {85.7143f,80.9524f},
+ {85.7143f,71.4286f},
+ {80.9524f,61.9048f},
+ {76.1905f,57.1429f},
+ {61.9047f,52.3810f},
+ {19.0476f,52.3810f}
+};
+
+static const GLUTStrokeVertex ch82st2[] =
+{
+ {52.3809f,52.3810f},
+ {85.7143f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch82st[] =
+{
+ {2,ch82st0},
+ {10,ch82st1},
+ {2,ch82st2}
+};
+
+static const GLUTStrokeChar ch82 = {104.7619f,3,ch82st};
+
+/* char: 0x53 */
+
+static const GLUTStrokeVertex ch83st0[] =
+{
+ {85.7143f,85.7143f},
+ {76.1905f,95.2381f},
+ {61.9047f,100.0000f},
+ {42.8571f,100.0000f},
+ {28.5714f,95.2381f},
+ {19.0476f,85.7143f},
+ {19.0476f,76.1905f},
+ {23.8095f,66.6667f},
+ {28.5714f,61.9048f},
+ {38.0952f,57.1429f},
+ {66.6666f,47.6190f},
+ {76.1905f,42.8571f},
+ {80.9524f,38.0952f},
+ {85.7143f,28.5714f},
+ {85.7143f,14.2857f},
+ {76.1905f,4.7619f},
+ {61.9047f,0.0000f},
+ {42.8571f,0.0000f},
+ {28.5714f,4.7619f},
+ {19.0476f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch83st[] =
+{
+ {20,ch83st0}
+};
+
+static const GLUTStrokeChar ch83 = {104.7619f,1,ch83st};
+
+/* char: 0x54 */
+
+static const GLUTStrokeVertex ch84st0[] =
+{
+ {52.3809f,100.0000f},
+ {52.3809f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch84st1[] =
+{
+ {19.0476f,100.0000f},
+ {85.7143f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch84st[] =
+{
+ {2,ch84st0},
+ {2,ch84st1}
+};
+
+static const GLUTStrokeChar ch84 = {104.7619f,2,ch84st};
+
+/* char: 0x55 */
+
+static const GLUTStrokeVertex ch85st0[] =
+{
+ {19.0476f,100.0000f},
+ {19.0476f,28.5714f},
+ {23.8095f,14.2857f},
+ {33.3333f,4.7619f},
+ {47.6190f,0.0000f},
+ {57.1428f,0.0000f},
+ {71.4286f,4.7619f},
+ {80.9524f,14.2857f},
+ {85.7143f,28.5714f},
+ {85.7143f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch85st[] =
+{
+ {10,ch85st0}
+};
+
+static const GLUTStrokeChar ch85 = {104.7619f,1,ch85st};
+
+/* char: 0x56 */
+
+static const GLUTStrokeVertex ch86st0[] =
+{
+ {14.2857f,100.0000f},
+ {52.3809f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch86st1[] =
+{
+ {90.4762f,100.0000f},
+ {52.3809f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch86st[] =
+{
+ {2,ch86st0},
+ {2,ch86st1}
+};
+
+static const GLUTStrokeChar ch86 = {104.7619f,2,ch86st};
+
+/* char: 0x57 */
+
+static const GLUTStrokeVertex ch87st0[] =
+{
+ {4.7619f,100.0000f},
+ {28.5714f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch87st1[] =
+{
+ {52.3809f,100.0000f},
+ {28.5714f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch87st2[] =
+{
+ {52.3809f,100.0000f},
+ {76.1905f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch87st3[] =
+{
+ {100.0000f,100.0000f},
+ {76.1905f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch87st[] =
+{
+ {2,ch87st0},
+ {2,ch87st1},
+ {2,ch87st2},
+ {2,ch87st3}
+};
+
+static const GLUTStrokeChar ch87 = {104.7619f,4,ch87st};
+
+/* char: 0x58 */
+
+static const GLUTStrokeVertex ch88st0[] =
+{
+ {19.0476f,100.0000f},
+ {85.7143f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch88st1[] =
+{
+ {85.7143f,100.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch88st[] =
+{
+ {2,ch88st0},
+ {2,ch88st1}
+};
+
+static const GLUTStrokeChar ch88 = {104.7619f,2,ch88st};
+
+/* char: 0x59 */
+
+static const GLUTStrokeVertex ch89st0[] =
+{
+ {14.2857f,100.0000f},
+ {52.3809f,52.3810f},
+ {52.3809f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch89st1[] =
+{
+ {90.4762f,100.0000f},
+ {52.3809f,52.3810f}
+};
+
+static const GLUTStrokeStrip ch89st[] =
+{
+ {3,ch89st0},
+ {2,ch89st1}
+};
+
+static const GLUTStrokeChar ch89 = {104.7619f,2,ch89st};
+
+/* char: 0x5a */
+
+static const GLUTStrokeVertex ch90st0[] =
+{
+ {85.7143f,100.0000f},
+ {19.0476f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch90st1[] =
+{
+ {19.0476f,100.0000f},
+ {85.7143f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch90st2[] =
+{
+ {19.0476f,0.0000f},
+ {85.7143f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch90st[] =
+{
+ {2,ch90st0},
+ {2,ch90st1},
+ {2,ch90st2}
+};
+
+static const GLUTStrokeChar ch90 = {104.7619f,3,ch90st};
+
+/* char: 0x5b */
+
+static const GLUTStrokeVertex ch91st0[] =
+{
+ {35.7143f,119.0476f},
+ {35.7143f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch91st1[] =
+{
+ {40.4762f,119.0476f},
+ {40.4762f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch91st2[] =
+{
+ {35.7143f,119.0476f},
+ {69.0476f,119.0476f}
+};
+
+static const GLUTStrokeVertex ch91st3[] =
+{
+ {35.7143f,-33.3333f},
+ {69.0476f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch91st[] =
+{
+ {2,ch91st0},
+ {2,ch91st1},
+ {2,ch91st2},
+ {2,ch91st3}
+};
+
+static const GLUTStrokeChar ch91 = {104.7619f,4,ch91st};
+
+/* char: 0x5c */
+
+static const GLUTStrokeVertex ch92st0[] =
+{
+ {19.0476f,100.0000f},
+ {85.7143f,-14.2857f}
+};
+
+static const GLUTStrokeStrip ch92st[] =
+{
+ {2,ch92st0}
+};
+
+static const GLUTStrokeChar ch92 = {104.7619f,1,ch92st};
+
+/* char: 0x5d */
+
+static const GLUTStrokeVertex ch93st0[] =
+{
+ {64.2857f,119.0476f},
+ {64.2857f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch93st1[] =
+{
+ {69.0476f,119.0476f},
+ {69.0476f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch93st2[] =
+{
+ {35.7143f,119.0476f},
+ {69.0476f,119.0476f}
+};
+
+static const GLUTStrokeVertex ch93st3[] =
+{
+ {35.7143f,-33.3333f},
+ {69.0476f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch93st[] =
+{
+ {2,ch93st0},
+ {2,ch93st1},
+ {2,ch93st2},
+ {2,ch93st3}
+};
+
+static const GLUTStrokeChar ch93 = {104.7619f,4,ch93st};
+
+/* char: 0x5e */
+
+static const GLUTStrokeVertex ch94st0[] =
+{
+ {52.3809f,109.5238f},
+ {14.2857f,42.8571f}
+};
+
+static const GLUTStrokeVertex ch94st1[] =
+{
+ {52.3809f,109.5238f},
+ {90.4762f,42.8571f}
+};
+
+static const GLUTStrokeStrip ch94st[] =
+{
+ {2,ch94st0},
+ {2,ch94st1}
+};
+
+static const GLUTStrokeChar ch94 = {104.7619f,2,ch94st};
+
+/* char: 0x5f */
+
+static const GLUTStrokeVertex ch95st0[] =
+{
+ {0.0000f,-33.3333f},
+ {104.7619f,-33.3333f},
+ {104.7619f,-28.5714f},
+ {0.0000f,-28.5714f},
+ {0.0000f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch95st[] =
+{
+ {5,ch95st0}
+};
+
+static const GLUTStrokeChar ch95 = {104.7619f,1,ch95st};
+
+/* char: 0x60 */
+
+static const GLUTStrokeVertex ch96st0[] =
+{
+ {42.8572f,100.0000f},
+ {66.6667f,71.4286f}
+};
+
+static const GLUTStrokeVertex ch96st1[] =
+{
+ {42.8572f,100.0000f},
+ {38.0953f,95.2381f},
+ {66.6667f,71.4286f}
+};
+
+static const GLUTStrokeStrip ch96st[] =
+{
+ {2,ch96st0},
+ {3,ch96st1}
+};
+
+static const GLUTStrokeChar ch96 = {104.7619f,2,ch96st};
+
+/* char: 0x61 */
+
+static const GLUTStrokeVertex ch97st0[] =
+{
+ {80.9524f,66.6667f},
+ {80.9524f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch97st1[] =
+{
+ {80.9524f,52.3810f},
+ {71.4285f,61.9048f},
+ {61.9047f,66.6667f},
+ {47.6190f,66.6667f},
+ {38.0952f,61.9048f},
+ {28.5714f,52.3810f},
+ {23.8095f,38.0952f},
+ {23.8095f,28.5714f},
+ {28.5714f,14.2857f},
+ {38.0952f,4.7619f},
+ {47.6190f,0.0000f},
+ {61.9047f,0.0000f},
+ {71.4285f,4.7619f},
+ {80.9524f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch97st[] =
+{
+ {2,ch97st0},
+ {14,ch97st1}
+};
+
+static const GLUTStrokeChar ch97 = {104.7619f,2,ch97st};
+
+/* char: 0x62 */
+
+static const GLUTStrokeVertex ch98st0[] =
+{
+ {23.8095f,100.0000f},
+ {23.8095f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch98st1[] =
+{
+ {23.8095f,52.3810f},
+ {33.3333f,61.9048f},
+ {42.8571f,66.6667f},
+ {57.1428f,66.6667f},
+ {66.6666f,61.9048f},
+ {76.1905f,52.3810f},
+ {80.9524f,38.0952f},
+ {80.9524f,28.5714f},
+ {76.1905f,14.2857f},
+ {66.6666f,4.7619f},
+ {57.1428f,0.0000f},
+ {42.8571f,0.0000f},
+ {33.3333f,4.7619f},
+ {23.8095f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch98st[] =
+{
+ {2,ch98st0},
+ {14,ch98st1}
+};
+
+static const GLUTStrokeChar ch98 = {104.7619f,2,ch98st};
+
+/* char: 0x63 */
+
+static const GLUTStrokeVertex ch99st0[] =
+{
+ {80.9524f,52.3810f},
+ {71.4285f,61.9048f},
+ {61.9047f,66.6667f},
+ {47.6190f,66.6667f},
+ {38.0952f,61.9048f},
+ {28.5714f,52.3810f},
+ {23.8095f,38.0952f},
+ {23.8095f,28.5714f},
+ {28.5714f,14.2857f},
+ {38.0952f,4.7619f},
+ {47.6190f,0.0000f},
+ {61.9047f,0.0000f},
+ {71.4285f,4.7619f},
+ {80.9524f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch99st[] =
+{
+ {14,ch99st0}
+};
+
+static const GLUTStrokeChar ch99 = {104.7619f,1,ch99st};
+
+/* char: 0x64 */
+
+static const GLUTStrokeVertex ch100st0[] =
+{
+ {80.9524f,100.0000f},
+ {80.9524f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch100st1[] =
+{
+ {80.9524f,52.3810f},
+ {71.4285f,61.9048f},
+ {61.9047f,66.6667f},
+ {47.6190f,66.6667f},
+ {38.0952f,61.9048f},
+ {28.5714f,52.3810f},
+ {23.8095f,38.0952f},
+ {23.8095f,28.5714f},
+ {28.5714f,14.2857f},
+ {38.0952f,4.7619f},
+ {47.6190f,0.0000f},
+ {61.9047f,0.0000f},
+ {71.4285f,4.7619f},
+ {80.9524f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch100st[] =
+{
+ {2,ch100st0},
+ {14,ch100st1}
+};
+
+static const GLUTStrokeChar ch100 = {104.7619f,2,ch100st};
+
+/* char: 0x65 */
+
+static const GLUTStrokeVertex ch101st0[] =
+{
+ {23.8095f,38.0952f},
+ {80.9524f,38.0952f},
+ {80.9524f,47.6190f},
+ {76.1905f,57.1429f},
+ {71.4285f,61.9048f},
+ {61.9047f,66.6667f},
+ {47.6190f,66.6667f},
+ {38.0952f,61.9048f},
+ {28.5714f,52.3810f},
+ {23.8095f,38.0952f},
+ {23.8095f,28.5714f},
+ {28.5714f,14.2857f},
+ {38.0952f,4.7619f},
+ {47.6190f,0.0000f},
+ {61.9047f,0.0000f},
+ {71.4285f,4.7619f},
+ {80.9524f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch101st[] =
+{
+ {17,ch101st0}
+};
+
+static const GLUTStrokeChar ch101 = {104.7619f,1,ch101st};
+
+/* char: 0x66 */
+
+static const GLUTStrokeVertex ch102st0[] =
+{
+ {71.4286f,100.0000f},
+ {61.9048f,100.0000f},
+ {52.3810f,95.2381f},
+ {47.6191f,80.9524f},
+ {47.6191f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch102st1[] =
+{
+ {33.3334f,66.6667f},
+ {66.6667f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch102st[] =
+{
+ {5,ch102st0},
+ {2,ch102st1}
+};
+
+static const GLUTStrokeChar ch102 = {104.7619f,2,ch102st};
+
+/* char: 0x67 */
+
+static const GLUTStrokeVertex ch103st0[] =
+{
+ {80.9524f,66.6667f},
+ {80.9524f,-9.5238f},
+ {76.1905f,-23.8095f},
+ {71.4285f,-28.5714f},
+ {61.9047f,-33.3333f},
+ {47.6190f,-33.3333f},
+ {38.0952f,-28.5714f}
+};
+
+static const GLUTStrokeVertex ch103st1[] =
+{
+ {80.9524f,52.3810f},
+ {71.4285f,61.9048f},
+ {61.9047f,66.6667f},
+ {47.6190f,66.6667f},
+ {38.0952f,61.9048f},
+ {28.5714f,52.3810f},
+ {23.8095f,38.0952f},
+ {23.8095f,28.5714f},
+ {28.5714f,14.2857f},
+ {38.0952f,4.7619f},
+ {47.6190f,0.0000f},
+ {61.9047f,0.0000f},
+ {71.4285f,4.7619f},
+ {80.9524f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch103st[] =
+{
+ {7,ch103st0},
+ {14,ch103st1}
+};
+
+static const GLUTStrokeChar ch103 = {104.7619f,2,ch103st};
+
+/* char: 0x68 */
+
+static const GLUTStrokeVertex ch104st0[] =
+{
+ {26.1905f,100.0000f},
+ {26.1905f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch104st1[] =
+{
+ {26.1905f,47.6190f},
+ {40.4762f,61.9048f},
+ {50.0000f,66.6667f},
+ {64.2857f,66.6667f},
+ {73.8095f,61.9048f},
+ {78.5715f,47.6190f},
+ {78.5715f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch104st[] =
+{
+ {2,ch104st0},
+ {7,ch104st1}
+};
+
+static const GLUTStrokeChar ch104 = {104.7619f,2,ch104st};
+
+/* char: 0x69 */
+
+static const GLUTStrokeVertex ch105st0[] =
+{
+ {47.6191f,100.0000f},
+ {52.3810f,95.2381f},
+ {57.1429f,100.0000f},
+ {52.3810f,104.7619f},
+ {47.6191f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch105st1[] =
+{
+ {52.3810f,66.6667f},
+ {52.3810f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch105st[] =
+{
+ {5,ch105st0},
+ {2,ch105st1}
+};
+
+static const GLUTStrokeChar ch105 = {104.7619f,2,ch105st};
+
+/* char: 0x6a */
+
+static const GLUTStrokeVertex ch106st0[] =
+{
+ {57.1429f,100.0000f},
+ {61.9048f,95.2381f},
+ {66.6667f,100.0000f},
+ {61.9048f,104.7619f},
+ {57.1429f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch106st1[] =
+{
+ {61.9048f,66.6667f},
+ {61.9048f,-14.2857f},
+ {57.1429f,-28.5714f},
+ {47.6191f,-33.3333f},
+ {38.0953f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch106st[] =
+{
+ {5,ch106st0},
+ {5,ch106st1}
+};
+
+static const GLUTStrokeChar ch106 = {104.7619f,2,ch106st};
+
+/* char: 0x6b */
+
+static const GLUTStrokeVertex ch107st0[] =
+{
+ {26.1905f,100.0000f},
+ {26.1905f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch107st1[] =
+{
+ {73.8095f,66.6667f},
+ {26.1905f,19.0476f}
+};
+
+static const GLUTStrokeVertex ch107st2[] =
+{
+ {45.2381f,38.0952f},
+ {78.5715f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch107st[] =
+{
+ {2,ch107st0},
+ {2,ch107st1},
+ {2,ch107st2}
+};
+
+static const GLUTStrokeChar ch107 = {104.7619f,3,ch107st};
+
+/* char: 0x6c */
+
+static const GLUTStrokeVertex ch108st0[] =
+{
+ {52.3810f,100.0000f},
+ {52.3810f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch108st[] =
+{
+ {2,ch108st0}
+};
+
+static const GLUTStrokeChar ch108 = {104.7619f,1,ch108st};
+
+/* char: 0x6d */
+
+static const GLUTStrokeVertex ch109st0[] =
+{
+ {0.0000f,66.6667f},
+ {0.0000f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch109st1[] =
+{
+ {0.0000f,47.6190f},
+ {14.2857f,61.9048f},
+ {23.8095f,66.6667f},
+ {38.0952f,66.6667f},
+ {47.6190f,61.9048f},
+ {52.3810f,47.6190f},
+ {52.3810f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch109st2[] =
+{
+ {52.3810f,47.6190f},
+ {66.6667f,61.9048f},
+ {76.1905f,66.6667f},
+ {90.4762f,66.6667f},
+ {100.0000f,61.9048f},
+ {104.7619f,47.6190f},
+ {104.7619f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch109st[] =
+{
+ {2,ch109st0},
+ {7,ch109st1},
+ {7,ch109st2}
+};
+
+static const GLUTStrokeChar ch109 = {104.7619f,3,ch109st};
+
+/* char: 0x6e */
+
+static const GLUTStrokeVertex ch110st0[] =
+{
+ {26.1905f,66.6667f},
+ {26.1905f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch110st1[] =
+{
+ {26.1905f,47.6190f},
+ {40.4762f,61.9048f},
+ {50.0000f,66.6667f},
+ {64.2857f,66.6667f},
+ {73.8095f,61.9048f},
+ {78.5715f,47.6190f},
+ {78.5715f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch110st[] =
+{
+ {2,ch110st0},
+ {7,ch110st1}
+};
+
+static const GLUTStrokeChar ch110 = {104.7619f,2,ch110st};
+
+/* char: 0x6f */
+
+static const GLUTStrokeVertex ch111st0[] =
+{
+ {45.2381f,66.6667f},
+ {35.7143f,61.9048f},
+ {26.1905f,52.3810f},
+ {21.4286f,38.0952f},
+ {21.4286f,28.5714f},
+ {26.1905f,14.2857f},
+ {35.7143f,4.7619f},
+ {45.2381f,0.0000f},
+ {59.5238f,0.0000f},
+ {69.0476f,4.7619f},
+ {78.5714f,14.2857f},
+ {83.3334f,28.5714f},
+ {83.3334f,38.0952f},
+ {78.5714f,52.3810f},
+ {69.0476f,61.9048f},
+ {59.5238f,66.6667f},
+ {45.2381f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch111st[] =
+{
+ {17,ch111st0}
+};
+
+static const GLUTStrokeChar ch111 = {104.7619f,1,ch111st};
+
+/* char: 0x70 */
+
+static const GLUTStrokeVertex ch112st0[] =
+{
+ {23.8095f,66.6667f},
+ {23.8095f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch112st1[] =
+{
+ {23.8095f,52.3810f},
+ {33.3333f,61.9048f},
+ {42.8571f,66.6667f},
+ {57.1428f,66.6667f},
+ {66.6666f,61.9048f},
+ {76.1905f,52.3810f},
+ {80.9524f,38.0952f},
+ {80.9524f,28.5714f},
+ {76.1905f,14.2857f},
+ {66.6666f,4.7619f},
+ {57.1428f,0.0000f},
+ {42.8571f,0.0000f},
+ {33.3333f,4.7619f},
+ {23.8095f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch112st[] =
+{
+ {2,ch112st0},
+ {14,ch112st1}
+};
+
+static const GLUTStrokeChar ch112 = {104.7619f,2,ch112st};
+
+/* char: 0x71 */
+
+static const GLUTStrokeVertex ch113st0[] =
+{
+ {80.9524f,66.6667f},
+ {80.9524f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch113st1[] =
+{
+ {80.9524f,52.3810f},
+ {71.4285f,61.9048f},
+ {61.9047f,66.6667f},
+ {47.6190f,66.6667f},
+ {38.0952f,61.9048f},
+ {28.5714f,52.3810f},
+ {23.8095f,38.0952f},
+ {23.8095f,28.5714f},
+ {28.5714f,14.2857f},
+ {38.0952f,4.7619f},
+ {47.6190f,0.0000f},
+ {61.9047f,0.0000f},
+ {71.4285f,4.7619f},
+ {80.9524f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch113st[] =
+{
+ {2,ch113st0},
+ {14,ch113st1}
+};
+
+static const GLUTStrokeChar ch113 = {104.7619f,2,ch113st};
+
+/* char: 0x72 */
+
+static const GLUTStrokeVertex ch114st0[] =
+{
+ {33.3334f,66.6667f},
+ {33.3334f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch114st1[] =
+{
+ {33.3334f,38.0952f},
+ {38.0953f,52.3810f},
+ {47.6191f,61.9048f},
+ {57.1429f,66.6667f},
+ {71.4286f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch114st[] =
+{
+ {2,ch114st0},
+ {5,ch114st1}
+};
+
+static const GLUTStrokeChar ch114 = {104.7619f,2,ch114st};
+
+/* char: 0x73 */
+
+static const GLUTStrokeVertex ch115st0[] =
+{
+ {78.5715f,52.3810f},
+ {73.8095f,61.9048f},
+ {59.5238f,66.6667f},
+ {45.2381f,66.6667f},
+ {30.9524f,61.9048f},
+ {26.1905f,52.3810f},
+ {30.9524f,42.8571f},
+ {40.4762f,38.0952f},
+ {64.2857f,33.3333f},
+ {73.8095f,28.5714f},
+ {78.5715f,19.0476f},
+ {78.5715f,14.2857f},
+ {73.8095f,4.7619f},
+ {59.5238f,0.0000f},
+ {45.2381f,0.0000f},
+ {30.9524f,4.7619f},
+ {26.1905f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch115st[] =
+{
+ {17,ch115st0}
+};
+
+static const GLUTStrokeChar ch115 = {104.7619f,1,ch115st};
+
+/* char: 0x74 */
+
+static const GLUTStrokeVertex ch116st0[] =
+{
+ {47.6191f,100.0000f},
+ {47.6191f,19.0476f},
+ {52.3810f,4.7619f},
+ {61.9048f,0.0000f},
+ {71.4286f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch116st1[] =
+{
+ {33.3334f,66.6667f},
+ {66.6667f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch116st[] =
+{
+ {5,ch116st0},
+ {2,ch116st1}
+};
+
+static const GLUTStrokeChar ch116 = {104.7619f,2,ch116st};
+
+/* char: 0x75 */
+
+static const GLUTStrokeVertex ch117st0[] =
+{
+ {26.1905f,66.6667f},
+ {26.1905f,19.0476f},
+ {30.9524f,4.7619f},
+ {40.4762f,0.0000f},
+ {54.7619f,0.0000f},
+ {64.2857f,4.7619f},
+ {78.5715f,19.0476f}
+};
+
+static const GLUTStrokeVertex ch117st1[] =
+{
+ {78.5715f,66.6667f},
+ {78.5715f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch117st[] =
+{
+ {7,ch117st0},
+ {2,ch117st1}
+};
+
+static const GLUTStrokeChar ch117 = {104.7619f,2,ch117st};
+
+/* char: 0x76 */
+
+static const GLUTStrokeVertex ch118st0[] =
+{
+ {23.8095f,66.6667f},
+ {52.3809f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch118st1[] =
+{
+ {80.9524f,66.6667f},
+ {52.3809f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch118st[] =
+{
+ {2,ch118st0},
+ {2,ch118st1}
+};
+
+static const GLUTStrokeChar ch118 = {104.7619f,2,ch118st};
+
+/* char: 0x77 */
+
+static const GLUTStrokeVertex ch119st0[] =
+{
+ {14.2857f,66.6667f},
+ {33.3333f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch119st1[] =
+{
+ {52.3809f,66.6667f},
+ {33.3333f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch119st2[] =
+{
+ {52.3809f,66.6667f},
+ {71.4286f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch119st3[] =
+{
+ {90.4762f,66.6667f},
+ {71.4286f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch119st[] =
+{
+ {2,ch119st0},
+ {2,ch119st1},
+ {2,ch119st2},
+ {2,ch119st3}
+};
+
+static const GLUTStrokeChar ch119 = {104.7619f,4,ch119st};
+
+/* char: 0x78 */
+
+static const GLUTStrokeVertex ch120st0[] =
+{
+ {26.1905f,66.6667f},
+ {78.5715f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch120st1[] =
+{
+ {78.5715f,66.6667f},
+ {26.1905f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch120st[] =
+{
+ {2,ch120st0},
+ {2,ch120st1}
+};
+
+static const GLUTStrokeChar ch120 = {104.7619f,2,ch120st};
+
+/* char: 0x79 */
+
+static const GLUTStrokeVertex ch121st0[] =
+{
+ {26.1905f,66.6667f},
+ {54.7619f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch121st1[] =
+{
+ {83.3334f,66.6667f},
+ {54.7619f,0.0000f},
+ {45.2381f,-19.0476f},
+ {35.7143f,-28.5714f},
+ {26.1905f,-33.3333f},
+ {21.4286f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch121st[] =
+{
+ {2,ch121st0},
+ {6,ch121st1}
+};
+
+static const GLUTStrokeChar ch121 = {104.7619f,2,ch121st};
+
+/* char: 0x7a */
+
+static const GLUTStrokeVertex ch122st0[] =
+{
+ {78.5715f,66.6667f},
+ {26.1905f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch122st1[] =
+{
+ {26.1905f,66.6667f},
+ {78.5715f,66.6667f}
+};
+
+static const GLUTStrokeVertex ch122st2[] =
+{
+ {26.1905f,0.0000f},
+ {78.5715f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch122st[] =
+{
+ {2,ch122st0},
+ {2,ch122st1},
+ {2,ch122st2}
+};
+
+static const GLUTStrokeChar ch122 = {104.7619f,3,ch122st};
+
+/* char: 0x7b */
+
+static const GLUTStrokeVertex ch123st0[] =
+{
+ {64.2857f,119.0476f},
+ {54.7619f,114.2857f},
+ {50.0000f,109.5238f},
+ {45.2381f,100.0000f},
+ {45.2381f,90.4762f},
+ {50.0000f,80.9524f},
+ {54.7619f,76.1905f},
+ {59.5238f,66.6667f},
+ {59.5238f,57.1429f},
+ {50.0000f,47.6190f}
+};
+
+static const GLUTStrokeVertex ch123st1[] =
+{
+ {54.7619f,114.2857f},
+ {50.0000f,104.7619f},
+ {50.0000f,95.2381f},
+ {54.7619f,85.7143f},
+ {59.5238f,80.9524f},
+ {64.2857f,71.4286f},
+ {64.2857f,61.9048f},
+ {59.5238f,52.3810f},
+ {40.4762f,42.8571f},
+ {59.5238f,33.3333f},
+ {64.2857f,23.8095f},
+ {64.2857f,14.2857f},
+ {59.5238f,4.7619f},
+ {54.7619f,0.0000f},
+ {50.0000f,-9.5238f},
+ {50.0000f,-19.0476f},
+ {54.7619f,-28.5714f}
+};
+
+static const GLUTStrokeVertex ch123st2[] =
+{
+ {50.0000f,38.0952f},
+ {59.5238f,28.5714f},
+ {59.5238f,19.0476f},
+ {54.7619f,9.5238f},
+ {50.0000f,4.7619f},
+ {45.2381f,-4.7619f},
+ {45.2381f,-14.2857f},
+ {50.0000f,-23.8095f},
+ {54.7619f,-28.5714f},
+ {64.2857f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch123st[] =
+{
+ {10,ch123st0},
+ {17,ch123st1},
+ {10,ch123st2}
+};
+
+static const GLUTStrokeChar ch123 = {104.7619f,3,ch123st};
+
+/* char: 0x7c */
+
+static const GLUTStrokeVertex ch124st0[] =
+{
+ {52.3810f,119.0476f},
+ {52.3810f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch124st[] =
+{
+ {2,ch124st0}
+};
+
+static const GLUTStrokeChar ch124 = {104.7619f,1,ch124st};
+
+/* char: 0x7d */
+
+static const GLUTStrokeVertex ch125st0[] =
+{
+ {40.4762f,119.0476f},
+ {50.0000f,114.2857f},
+ {54.7619f,109.5238f},
+ {59.5238f,100.0000f},
+ {59.5238f,90.4762f},
+ {54.7619f,80.9524f},
+ {50.0000f,76.1905f},
+ {45.2381f,66.6667f},
+ {45.2381f,57.1429f},
+ {54.7619f,47.6190f}
+};
+
+static const GLUTStrokeVertex ch125st1[] =
+{
+ {50.0000f,114.2857f},
+ {54.7619f,104.7619f},
+ {54.7619f,95.2381f},
+ {50.0000f,85.7143f},
+ {45.2381f,80.9524f},
+ {40.4762f,71.4286f},
+ {40.4762f,61.9048f},
+ {45.2381f,52.3810f},
+ {64.2857f,42.8571f},
+ {45.2381f,33.3333f},
+ {40.4762f,23.8095f},
+ {40.4762f,14.2857f},
+ {45.2381f,4.7619f},
+ {50.0000f,0.0000f},
+ {54.7619f,-9.5238f},
+ {54.7619f,-19.0476f},
+ {50.0000f,-28.5714f}
+};
+
+static const GLUTStrokeVertex ch125st2[] =
+{
+ {54.7619f,38.0952f},
+ {45.2381f,28.5714f},
+ {45.2381f,19.0476f},
+ {50.0000f,9.5238f},
+ {54.7619f,4.7619f},
+ {59.5238f,-4.7619f},
+ {59.5238f,-14.2857f},
+ {54.7619f,-23.8095f},
+ {50.0000f,-28.5714f},
+ {40.4762f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch125st[] =
+{
+ {10,ch125st0},
+ {17,ch125st1},
+ {10,ch125st2}
+};
+
+static const GLUTStrokeChar ch125 = {104.7619f,3,ch125st};
+
+/* char: 0x7e */
+
+static const GLUTStrokeVertex ch126st0[] =
+{
+ {9.5238f,28.5714f},
+ {9.5238f,38.0952f},
+ {14.2857f,52.3810f},
+ {23.8095f,57.1429f},
+ {33.3333f,57.1429f},
+ {42.8571f,52.3810f},
+ {61.9048f,38.0952f},
+ {71.4286f,33.3333f},
+ {80.9524f,33.3333f},
+ {90.4762f,38.0952f},
+ {95.2381f,47.6190f}
+};
+
+static const GLUTStrokeVertex ch126st1[] =
+{
+ {9.5238f,38.0952f},
+ {14.2857f,47.6190f},
+ {23.8095f,52.3810f},
+ {33.3333f,52.3810f},
+ {42.8571f,47.6190f},
+ {61.9048f,33.3333f},
+ {71.4286f,28.5714f},
+ {80.9524f,28.5714f},
+ {90.4762f,33.3333f},
+ {95.2381f,47.6190f},
+ {95.2381f,57.1429f}
+};
+
+static const GLUTStrokeStrip ch126st[] =
+{
+ {11,ch126st0},
+ {11,ch126st1}
+};
+
+static const GLUTStrokeChar ch126 = {104.7619f,2,ch126st};
+
+static const GLUTStrokeChar *chars[] =
+{
+ 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,
+ &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
+};
+
+const GLUTStrokeFont glutStrokeMonoRoman = {"MonoRoman",128,chars,152.3809f,33.3333f};
index 11941e0b957956c671a39be7116bde3bb5516dec..46d3a395770dbddb06b2b062e6797387a07a5755 100644 (file)
@@ -1,33 +1,29 @@
 /*
- * Mesa 3-D graphics library
- * Version:  3.4
- * Copyright (C) 1995-1998  Brian Paul
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.3 for Mesa
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
  *
- *  Copyright (C) 2002 - Daniel Borca
- *  Email : dborca@yahoo.com
- *  Web   : http://www.geocities.com/dborca
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
-#include "glutint.h"
+#include "internal.h"
 
 
 int APIENTRY
@@ -89,3 +85,9 @@ void APIENTRY
 glutHideOverlay (void)
 {
 }
+
+
+void APIENTRY
+glutPostWindowOverlayRedisplay (int win)
+{
+}
diff --git a/src/glut/dos/roman.c b/src/glut/dos/roman.c
new file mode 100644 (file)
index 0000000..89867c8
--- /dev/null
@@ -0,0 +1,2783 @@
+
+/* GENERATED FILE -- DO NOT MODIFY */
+
+#include "internal.h"
+
+/* char: 0x20 */
+
+static const GLUTStrokeStrip ch32st[] =
+{
+};
+
+static const GLUTStrokeChar ch32 = {104.7619f,0,ch32st};
+
+/* char: 0x21 */
+
+static const GLUTStrokeVertex ch33st0[] =
+{
+ {13.3819f,100.0000f},
+ {13.3819f,33.3333f}
+};
+
+static const GLUTStrokeVertex ch33st1[] =
+{
+ {13.3819f,9.5238f},
+ {8.6200f,4.7619f},
+ {13.3819f,0.0000f},
+ {18.1438f,4.7619f},
+ {13.3819f,9.5238f}
+};
+
+static const GLUTStrokeStrip ch33st[] =
+{
+ {2,ch33st0},
+ {5,ch33st1}
+};
+
+static const GLUTStrokeChar ch33 = {26.6238f,2,ch33st};
+
+/* char: 0x22 */
+
+static const GLUTStrokeVertex ch34st0[] =
+{
+ {4.0200f,100.0000f},
+ {4.0200f,66.6667f}
+};
+
+static const GLUTStrokeVertex ch34st1[] =
+{
+ {42.1152f,100.0000f},
+ {42.1152f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch34st[] =
+{
+ {2,ch34st0},
+ {2,ch34st1}
+};
+
+static const GLUTStrokeChar ch34 = {51.4352f,2,ch34st};
+
+/* char: 0x23 */
+
+static const GLUTStrokeVertex ch35st0[] =
+{
+ {41.2952f,119.0476f},
+ {7.9619f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch35st1[] =
+{
+ {69.8667f,119.0476f},
+ {36.5333f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch35st2[] =
+{
+ {7.9619f,57.1429f},
+ {74.6286f,57.1429f}
+};
+
+static const GLUTStrokeVertex ch35st3[] =
+{
+ {3.2000f,28.5714f},
+ {69.8667f,28.5714f}
+};
+
+static const GLUTStrokeStrip ch35st[] =
+{
+ {2,ch35st0},
+ {2,ch35st1},
+ {2,ch35st2},
+ {2,ch35st3}
+};
+
+static const GLUTStrokeChar ch35 = {79.4886f,4,ch35st};
+
+/* char: 0x24 */
+
+static const GLUTStrokeVertex ch36st0[] =
+{
+ {28.6295f,119.0476f},
+ {28.6295f,-19.0476f}
+};
+
+static const GLUTStrokeVertex ch36st1[] =
+{
+ {47.6771f,119.0476f},
+ {47.6771f,-19.0476f}
+};
+
+static const GLUTStrokeVertex ch36st2[] =
+{
+ {71.4867f,85.7143f},
+ {61.9629f,95.2381f},
+ {47.6771f,100.0000f},
+ {28.6295f,100.0000f},
+ {14.3438f,95.2381f},
+ {4.8200f,85.7143f},
+ {4.8200f,76.1905f},
+ {9.5819f,66.6667f},
+ {14.3438f,61.9048f},
+ {23.8676f,57.1429f},
+ {52.4390f,47.6190f},
+ {61.9629f,42.8571f},
+ {66.7248f,38.0952f},
+ {71.4867f,28.5714f},
+ {71.4867f,14.2857f},
+ {61.9629f,4.7619f},
+ {47.6771f,0.0000f},
+ {28.6295f,0.0000f},
+ {14.3438f,4.7619f},
+ {4.8200f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch36st[] =
+{
+ {2,ch36st0},
+ {2,ch36st1},
+ {20,ch36st2}
+};
+
+static const GLUTStrokeChar ch36 = {76.2067f,3,ch36st};
+
+/* char: 0x25 */
+
+static const GLUTStrokeVertex ch37st0[] =
+{
+ {92.0743f,100.0000f},
+ {6.3600f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch37st1[] =
+{
+ {30.1695f,100.0000f},
+ {39.6933f,90.4762f},
+ {39.6933f,80.9524f},
+ {34.9314f,71.4286f},
+ {25.4076f,66.6667f},
+ {15.8838f,66.6667f},
+ {6.3600f,76.1905f},
+ {6.3600f,85.7143f},
+ {11.1219f,95.2381f},
+ {20.6457f,100.0000f},
+ {30.1695f,100.0000f},
+ {39.6933f,95.2381f},
+ {53.9790f,90.4762f},
+ {68.2648f,90.4762f},
+ {82.5505f,95.2381f},
+ {92.0743f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch37st2[] =
+{
+ {73.0267f,33.3333f},
+ {63.5029f,28.5714f},
+ {58.7410f,19.0476f},
+ {58.7410f,9.5238f},
+ {68.2648f,0.0000f},
+ {77.7886f,0.0000f},
+ {87.3124f,4.7619f},
+ {92.0743f,14.2857f},
+ {92.0743f,23.8095f},
+ {82.5505f,33.3333f},
+ {73.0267f,33.3333f}
+};
+
+static const GLUTStrokeStrip ch37st[] =
+{
+ {2,ch37st0},
+ {16,ch37st1},
+ {11,ch37st2}
+};
+
+static const GLUTStrokeChar ch37 = {96.5743f,3,ch37st};
+
+/* char: 0x26 */
+
+static const GLUTStrokeVertex ch38st0[] =
+{
+ {101.2181f,57.1429f},
+ {101.2181f,61.9048f},
+ {96.4562f,66.6667f},
+ {91.6943f,66.6667f},
+ {86.9324f,61.9048f},
+ {82.1705f,52.3810f},
+ {72.6467f,28.5714f},
+ {63.1229f,14.2857f},
+ {53.5990f,4.7619f},
+ {44.0752f,0.0000f},
+ {25.0276f,0.0000f},
+ {15.5038f,4.7619f},
+ {10.7419f,9.5238f},
+ {5.9800f,19.0476f},
+ {5.9800f,28.5714f},
+ {10.7419f,38.0952f},
+ {15.5038f,42.8571f},
+ {48.8371f,61.9048f},
+ {53.5990f,66.6667f},
+ {58.3610f,76.1905f},
+ {58.3610f,85.7143f},
+ {53.5990f,95.2381f},
+ {44.0752f,100.0000f},
+ {34.5514f,95.2381f},
+ {29.7895f,85.7143f},
+ {29.7895f,76.1905f},
+ {34.5514f,61.9048f},
+ {44.0752f,47.6190f},
+ {67.8848f,14.2857f},
+ {77.4086f,4.7619f},
+ {86.9324f,0.0000f},
+ {96.4562f,0.0000f},
+ {101.2181f,4.7619f},
+ {101.2181f,9.5238f}
+};
+
+static const GLUTStrokeStrip ch38st[] =
+{
+ {34,ch38st0}
+};
+
+static const GLUTStrokeChar ch38 = {101.7581f,1,ch38st};
+
+/* char: 0x27 */
+
+static const GLUTStrokeVertex ch39st0[] =
+{
+ {4.4400f,100.0000f},
+ {4.4400f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch39st[] =
+{
+ {2,ch39st0}
+};
+
+static const GLUTStrokeChar ch39 = {13.6200f,1,ch39st};
+
+/* char: 0x28 */
+
+static const GLUTStrokeVertex ch40st0[] =
+{
+ {40.9133f,119.0476f},
+ {31.3895f,109.5238f},
+ {21.8657f,95.2381f},
+ {12.3419f,76.1905f},
+ {7.5800f,52.3810f},
+ {7.5800f,33.3333f},
+ {12.3419f,9.5238f},
+ {21.8657f,-9.5238f},
+ {31.3895f,-23.8095f},
+ {40.9133f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch40st[] =
+{
+ {10,ch40st0}
+};
+
+static const GLUTStrokeChar ch40 = {47.1733f,1,ch40st};
+
+/* char: 0x29 */
+
+static const GLUTStrokeVertex ch41st0[] =
+{
+ {5.2800f,119.0476f},
+ {14.8038f,109.5238f},
+ {24.3276f,95.2381f},
+ {33.8514f,76.1905f},
+ {38.6133f,52.3810f},
+ {38.6133f,33.3333f},
+ {33.8514f,9.5238f},
+ {24.3276f,-9.5238f},
+ {14.8038f,-23.8095f},
+ {5.2800f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch41st[] =
+{
+ {10,ch41st0}
+};
+
+static const GLUTStrokeChar ch41 = {47.5333f,1,ch41st};
+
+/* char: 0x2a */
+
+static const GLUTStrokeVertex ch42st0[] =
+{
+ {30.7695f,71.4286f},
+ {30.7695f,14.2857f}
+};
+
+static const GLUTStrokeVertex ch42st1[] =
+{
+ {6.9600f,57.1429f},
+ {54.5790f,28.5714f}
+};
+
+static const GLUTStrokeVertex ch42st2[] =
+{
+ {54.5790f,57.1429f},
+ {6.9600f,28.5714f}
+};
+
+static const GLUTStrokeStrip ch42st[] =
+{
+ {2,ch42st0},
+ {2,ch42st1},
+ {2,ch42st2}
+};
+
+static const GLUTStrokeChar ch42 = {59.4390f,3,ch42st};
+
+/* char: 0x2b */
+
+static const GLUTStrokeVertex ch43st0[] =
+{
+ {48.8371f,85.7143f},
+ {48.8371f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch43st1[] =
+{
+ {5.9800f,42.8571f},
+ {91.6943f,42.8571f}
+};
+
+static const GLUTStrokeStrip ch43st[] =
+{
+ {2,ch43st0},
+ {2,ch43st1}
+};
+
+static const GLUTStrokeChar ch43 = {97.2543f,2,ch43st};
+
+/* char: 0x2c */
+
+static const GLUTStrokeVertex ch44st0[] =
+{
+ {18.2838f,4.7619f},
+ {13.5219f,0.0000f},
+ {8.7600f,4.7619f},
+ {13.5219f,9.5238f},
+ {18.2838f,4.7619f},
+ {18.2838f,-4.7619f},
+ {13.5219f,-14.2857f},
+ {8.7600f,-19.0476f}
+};
+
+static const GLUTStrokeStrip ch44st[] =
+{
+ {8,ch44st0}
+};
+
+static const GLUTStrokeChar ch44 = {26.0638f,1,ch44st};
+
+/* char: 0x2d */
+
+static const GLUTStrokeVertex ch45st0[] =
+{
+ {7.3800f,42.8571f},
+ {93.0943f,42.8571f}
+};
+
+static const GLUTStrokeStrip ch45st[] =
+{
+ {2,ch45st0}
+};
+
+static const GLUTStrokeChar ch45 = {100.7543f,1,ch45st};
+
+/* char: 0x2e */
+
+static const GLUTStrokeVertex ch46st0[] =
+{
+ {13.1019f,9.5238f},
+ {8.3400f,4.7619f},
+ {13.1019f,0.0000f},
+ {17.8638f,4.7619f},
+ {13.1019f,9.5238f}
+};
+
+static const GLUTStrokeStrip ch46st[] =
+{
+ {5,ch46st0}
+};
+
+static const GLUTStrokeChar ch46 = {26.4838f,1,ch46st};
+
+/* char: 0x2f */
+
+static const GLUTStrokeVertex ch47st0[] =
+{
+ {7.2400f,-14.2857f},
+ {73.9067f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch47st[] =
+{
+ {2,ch47st0}
+};
+
+static const GLUTStrokeChar ch47 = {82.1067f,1,ch47st};
+
+/* char: 0x30 */
+
+static const GLUTStrokeVertex ch48st0[] =
+{
+ {33.5514f,100.0000f},
+ {19.2657f,95.2381f},
+ {9.7419f,80.9524f},
+ {4.9800f,57.1429f},
+ {4.9800f,42.8571f},
+ {9.7419f,19.0476f},
+ {19.2657f,4.7619f},
+ {33.5514f,0.0000f},
+ {43.0752f,0.0000f},
+ {57.3610f,4.7619f},
+ {66.8848f,19.0476f},
+ {71.6467f,42.8571f},
+ {71.6467f,57.1429f},
+ {66.8848f,80.9524f},
+ {57.3610f,95.2381f},
+ {43.0752f,100.0000f},
+ {33.5514f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch48st[] =
+{
+ {17,ch48st0}
+};
+
+static const GLUTStrokeChar ch48 = {77.0667f,1,ch48st};
+
+/* char: 0x31 */
+
+static const GLUTStrokeVertex ch49st0[] =
+{
+ {11.8200f,80.9524f},
+ {21.3438f,85.7143f},
+ {35.6295f,100.0000f},
+ {35.6295f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch49st[] =
+{
+ {4,ch49st0}
+};
+
+static const GLUTStrokeChar ch49 = {66.5295f,1,ch49st};
+
+/* char: 0x32 */
+
+static const GLUTStrokeVertex ch50st0[] =
+{
+ {10.1819f,76.1905f},
+ {10.1819f,80.9524f},
+ {14.9438f,90.4762f},
+ {19.7057f,95.2381f},
+ {29.2295f,100.0000f},
+ {48.2771f,100.0000f},
+ {57.8010f,95.2381f},
+ {62.5629f,90.4762f},
+ {67.3248f,80.9524f},
+ {67.3248f,71.4286f},
+ {62.5629f,61.9048f},
+ {53.0390f,47.6190f},
+ {5.4200f,0.0000f},
+ {72.0867f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch50st[] =
+{
+ {14,ch50st0}
+};
+
+static const GLUTStrokeChar ch50 = {77.6467f,1,ch50st};
+
+/* char: 0x33 */
+
+static const GLUTStrokeVertex ch51st0[] =
+{
+ {14.5238f,100.0000f},
+ {66.9048f,100.0000f},
+ {38.3333f,61.9048f},
+ {52.6190f,61.9048f},
+ {62.1429f,57.1429f},
+ {66.9048f,52.3810f},
+ {71.6667f,38.0952f},
+ {71.6667f,28.5714f},
+ {66.9048f,14.2857f},
+ {57.3810f,4.7619f},
+ {43.0952f,0.0000f},
+ {28.8095f,0.0000f},
+ {14.5238f,4.7619f},
+ {9.7619f,9.5238f},
+ {5.0000f,19.0476f}
+};
+
+static const GLUTStrokeStrip ch51st[] =
+{
+ {15,ch51st0}
+};
+
+static const GLUTStrokeChar ch51 = {77.0467f,1,ch51st};
+
+/* char: 0x34 */
+
+static const GLUTStrokeVertex ch52st0[] =
+{
+ {51.4990f,100.0000f},
+ {3.8800f,33.3333f},
+ {75.3086f,33.3333f}
+};
+
+static const GLUTStrokeVertex ch52st1[] =
+{
+ {51.4990f,100.0000f},
+ {51.4990f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch52st[] =
+{
+ {3,ch52st0},
+ {2,ch52st1}
+};
+
+static const GLUTStrokeChar ch52 = {80.1686f,2,ch52st};
+
+/* char: 0x35 */
+
+static const GLUTStrokeVertex ch53st0[] =
+{
+ {62.0029f,100.0000f},
+ {14.3838f,100.0000f},
+ {9.6219f,57.1429f},
+ {14.3838f,61.9048f},
+ {28.6695f,66.6667f},
+ {42.9552f,66.6667f},
+ {57.2410f,61.9048f},
+ {66.7648f,52.3810f},
+ {71.5267f,38.0952f},
+ {71.5267f,28.5714f},
+ {66.7648f,14.2857f},
+ {57.2410f,4.7619f},
+ {42.9552f,0.0000f},
+ {28.6695f,0.0000f},
+ {14.3838f,4.7619f},
+ {9.6219f,9.5238f},
+ {4.8600f,19.0476f}
+};
+
+static const GLUTStrokeStrip ch53st[] =
+{
+ {17,ch53st0}
+};
+
+static const GLUTStrokeChar ch53 = {77.6867f,1,ch53st};
+
+/* char: 0x36 */
+
+static const GLUTStrokeVertex ch54st0[] =
+{
+ {62.7229f,85.7143f},
+ {57.9610f,95.2381f},
+ {43.6752f,100.0000f},
+ {34.1514f,100.0000f},
+ {19.8657f,95.2381f},
+ {10.3419f,80.9524f},
+ {5.5800f,57.1429f},
+ {5.5800f,33.3333f},
+ {10.3419f,14.2857f},
+ {19.8657f,4.7619f},
+ {34.1514f,0.0000f},
+ {38.9133f,0.0000f},
+ {53.1990f,4.7619f},
+ {62.7229f,14.2857f},
+ {67.4848f,28.5714f},
+ {67.4848f,33.3333f},
+ {62.7229f,47.6190f},
+ {53.1990f,57.1429f},
+ {38.9133f,61.9048f},
+ {34.1514f,61.9048f},
+ {19.8657f,57.1429f},
+ {10.3419f,47.6190f},
+ {5.5800f,33.3333f}
+};
+
+static const GLUTStrokeStrip ch54st[] =
+{
+ {23,ch54st0}
+};
+
+static const GLUTStrokeChar ch54 = {73.8048f,1,ch54st};
+
+/* char: 0x37 */
+
+static const GLUTStrokeVertex ch55st0[] =
+{
+ {72.2267f,100.0000f},
+ {24.6076f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch55st1[] =
+{
+ {5.5600f,100.0000f},
+ {72.2267f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch55st[] =
+{
+ {2,ch55st0},
+ {2,ch55st1}
+};
+
+static const GLUTStrokeChar ch55 = {77.2267f,2,ch55st};
+
+/* char: 0x38 */
+
+static const GLUTStrokeVertex ch56st0[] =
+{
+ {29.4095f,100.0000f},
+ {15.1238f,95.2381f},
+ {10.3619f,85.7143f},
+ {10.3619f,76.1905f},
+ {15.1238f,66.6667f},
+ {24.6476f,61.9048f},
+ {43.6952f,57.1429f},
+ {57.9810f,52.3810f},
+ {67.5048f,42.8571f},
+ {72.2667f,33.3333f},
+ {72.2667f,19.0476f},
+ {67.5048f,9.5238f},
+ {62.7429f,4.7619f},
+ {48.4571f,0.0000f},
+ {29.4095f,0.0000f},
+ {15.1238f,4.7619f},
+ {10.3619f,9.5238f},
+ {5.6000f,19.0476f},
+ {5.6000f,33.3333f},
+ {10.3619f,42.8571f},
+ {19.8857f,52.3810f},
+ {34.1714f,57.1429f},
+ {53.2190f,61.9048f},
+ {62.7429f,66.6667f},
+ {67.5048f,76.1905f},
+ {67.5048f,85.7143f},
+ {62.7429f,95.2381f},
+ {48.4571f,100.0000f},
+ {29.4095f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch56st[] =
+{
+ {29,ch56st0}
+};
+
+static const GLUTStrokeChar ch56 = {77.6667f,1,ch56st};
+
+/* char: 0x39 */
+
+static const GLUTStrokeVertex ch57st0[] =
+{
+ {68.5048f,66.6667f},
+ {63.7429f,52.3810f},
+ {54.2190f,42.8571f},
+ {39.9333f,38.0952f},
+ {35.1714f,38.0952f},
+ {20.8857f,42.8571f},
+ {11.3619f,52.3810f},
+ {6.6000f,66.6667f},
+ {6.6000f,71.4286f},
+ {11.3619f,85.7143f},
+ {20.8857f,95.2381f},
+ {35.1714f,100.0000f},
+ {39.9333f,100.0000f},
+ {54.2190f,95.2381f},
+ {63.7429f,85.7143f},
+ {68.5048f,66.6667f},
+ {68.5048f,42.8571f},
+ {63.7429f,19.0476f},
+ {54.2190f,4.7619f},
+ {39.9333f,0.0000f},
+ {30.4095f,0.0000f},
+ {16.1238f,4.7619f},
+ {11.3619f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch57st[] =
+{
+ {23,ch57st0}
+};
+
+static const GLUTStrokeChar ch57 = {74.0648f,1,ch57st};
+
+/* char: 0x3a */
+
+static const GLUTStrokeVertex ch58st0[] =
+{
+ {14.0819f,66.6667f},
+ {9.3200f,61.9048f},
+ {14.0819f,57.1429f},
+ {18.8438f,61.9048f},
+ {14.0819f,66.6667f}
+};
+
+static const GLUTStrokeVertex ch58st1[] =
+{
+ {14.0819f,9.5238f},
+ {9.3200f,4.7619f},
+ {14.0819f,0.0000f},
+ {18.8438f,4.7619f},
+ {14.0819f,9.5238f}
+};
+
+static const GLUTStrokeStrip ch58st[] =
+{
+ {5,ch58st0},
+ {5,ch58st1}
+};
+
+static const GLUTStrokeChar ch58 = {26.2238f,2,ch58st};
+
+/* char: 0x3b */
+
+static const GLUTStrokeVertex ch59st0[] =
+{
+ {12.9619f,66.6667f},
+ {8.2000f,61.9048f},
+ {12.9619f,57.1429f},
+ {17.7238f,61.9048f},
+ {12.9619f,66.6667f}
+};
+
+static const GLUTStrokeVertex ch59st1[] =
+{
+ {17.7238f,4.7619f},
+ {12.9619f,0.0000f},
+ {8.2000f,4.7619f},
+ {12.9619f,9.5238f},
+ {17.7238f,4.7619f},
+ {17.7238f,-4.7619f},
+ {12.9619f,-14.2857f},
+ {8.2000f,-19.0476f}
+};
+
+static const GLUTStrokeStrip ch59st[] =
+{
+ {5,ch59st0},
+ {8,ch59st1}
+};
+
+static const GLUTStrokeChar ch59 = {26.3038f,2,ch59st};
+
+/* char: 0x3c */
+
+static const GLUTStrokeVertex ch60st0[] =
+{
+ {79.2505f,85.7143f},
+ {3.0600f,42.8571f},
+ {79.2505f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch60st[] =
+{
+ {3,ch60st0}
+};
+
+static const GLUTStrokeChar ch60 = {81.6105f,1,ch60st};
+
+/* char: 0x3d */
+
+static const GLUTStrokeVertex ch61st0[] =
+{
+ {5.7000f,57.1429f},
+ {91.4143f,57.1429f}
+};
+
+static const GLUTStrokeVertex ch61st1[] =
+{
+ {5.7000f,28.5714f},
+ {91.4143f,28.5714f}
+};
+
+static const GLUTStrokeStrip ch61st[] =
+{
+ {2,ch61st0},
+ {2,ch61st1}
+};
+
+static const GLUTStrokeChar ch61 = {97.2543f,2,ch61st};
+
+/* char: 0x3e */
+
+static const GLUTStrokeVertex ch62st0[] =
+{
+ {2.7800f,85.7143f},
+ {78.9705f,42.8571f},
+ {2.7800f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch62st[] =
+{
+ {3,ch62st0}
+};
+
+static const GLUTStrokeChar ch62 = {81.6105f,1,ch62st};
+
+/* char: 0x3f */
+
+static const GLUTStrokeVertex ch63st0[] =
+{
+ {8.4200f,76.1905f},
+ {8.4200f,80.9524f},
+ {13.1819f,90.4762f},
+ {17.9438f,95.2381f},
+ {27.4676f,100.0000f},
+ {46.5152f,100.0000f},
+ {56.0390f,95.2381f},
+ {60.8010f,90.4762f},
+ {65.5629f,80.9524f},
+ {65.5629f,71.4286f},
+ {60.8010f,61.9048f},
+ {56.0390f,57.1429f},
+ {36.9914f,47.6190f},
+ {36.9914f,33.3333f}
+};
+
+static const GLUTStrokeVertex ch63st1[] =
+{
+ {36.9914f,9.5238f},
+ {32.2295f,4.7619f},
+ {36.9914f,0.0000f},
+ {41.7533f,4.7619f},
+ {36.9914f,9.5238f}
+};
+
+static const GLUTStrokeStrip ch63st[] =
+{
+ {14,ch63st0},
+ {5,ch63st1}
+};
+
+static const GLUTStrokeChar ch63 = {73.9029f,2,ch63st};
+
+/* char: 0x40 */
+
+static const GLUTStrokeVertex ch64st0[] =
+{
+ {49.2171f,52.3810f},
+ {39.6933f,57.1429f},
+ {30.1695f,57.1429f},
+ {25.4076f,47.6190f},
+ {25.4076f,42.8571f},
+ {30.1695f,33.3333f},
+ {39.6933f,33.3333f},
+ {49.2171f,38.0952f}
+};
+
+static const GLUTStrokeVertex ch64st1[] =
+{
+ {49.2171f,57.1429f},
+ {49.2171f,38.0952f},
+ {53.9790f,33.3333f},
+ {63.5029f,33.3333f},
+ {68.2648f,42.8571f},
+ {68.2648f,47.6190f},
+ {63.5029f,61.9048f},
+ {53.9790f,71.4286f},
+ {39.6933f,76.1905f},
+ {34.9314f,76.1905f},
+ {20.6457f,71.4286f},
+ {11.1219f,61.9048f},
+ {6.3600f,47.6190f},
+ {6.3600f,42.8571f},
+ {11.1219f,28.5714f},
+ {20.6457f,19.0476f},
+ {34.9314f,14.2857f},
+ {39.6933f,14.2857f},
+ {53.9790f,19.0476f}
+};
+
+static const GLUTStrokeStrip ch64st[] =
+{
+ {8,ch64st0},
+ {19,ch64st1}
+};
+
+static const GLUTStrokeChar ch64 = {74.3648f,2,ch64st};
+
+/* char: 0x41 */
+
+static const GLUTStrokeVertex ch65st0[] =
+{
+ {40.5952f,100.0000f},
+ {2.5000f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch65st1[] =
+{
+ {40.5952f,100.0000f},
+ {78.6905f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch65st2[] =
+{
+ {16.7857f,33.3333f},
+ {64.4048f,33.3333f}
+};
+
+static const GLUTStrokeStrip ch65st[] =
+{
+ {2,ch65st0},
+ {2,ch65st1},
+ {2,ch65st2}
+};
+
+static const GLUTStrokeChar ch65 = {80.4905f,3,ch65st};
+
+/* char: 0x42 */
+
+static const GLUTStrokeVertex ch66st0[] =
+{
+ {11.4200f,100.0000f},
+ {11.4200f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch66st1[] =
+{
+ {11.4200f,100.0000f},
+ {54.2771f,100.0000f},
+ {68.5629f,95.2381f},
+ {73.3248f,90.4762f},
+ {78.0867f,80.9524f},
+ {78.0867f,71.4286f},
+ {73.3248f,61.9048f},
+ {68.5629f,57.1429f},
+ {54.2771f,52.3810f}
+};
+
+static const GLUTStrokeVertex ch66st2[] =
+{
+ {11.4200f,52.3810f},
+ {54.2771f,52.3810f},
+ {68.5629f,47.6190f},
+ {73.3248f,42.8571f},
+ {78.0867f,33.3333f},
+ {78.0867f,19.0476f},
+ {73.3248f,9.5238f},
+ {68.5629f,4.7619f},
+ {54.2771f,0.0000f},
+ {11.4200f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch66st[] =
+{
+ {2,ch66st0},
+ {9,ch66st1},
+ {10,ch66st2}
+};
+
+static const GLUTStrokeChar ch66 = {83.6267f,3,ch66st};
+
+/* char: 0x43 */
+
+static const GLUTStrokeVertex ch67st0[] =
+{
+ {78.0886f,76.1905f},
+ {73.3267f,85.7143f},
+ {63.8029f,95.2381f},
+ {54.2790f,100.0000f},
+ {35.2314f,100.0000f},
+ {25.7076f,95.2381f},
+ {16.1838f,85.7143f},
+ {11.4219f,76.1905f},
+ {6.6600f,61.9048f},
+ {6.6600f,38.0952f},
+ {11.4219f,23.8095f},
+ {16.1838f,14.2857f},
+ {25.7076f,4.7619f},
+ {35.2314f,0.0000f},
+ {54.2790f,0.0000f},
+ {63.8029f,4.7619f},
+ {73.3267f,14.2857f},
+ {78.0886f,23.8095f}
+};
+
+static const GLUTStrokeStrip ch67st[] =
+{
+ {18,ch67st0}
+};
+
+static const GLUTStrokeChar ch67 = {84.4886f,1,ch67st};
+
+/* char: 0x44 */
+
+static const GLUTStrokeVertex ch68st0[] =
+{
+ {11.9600f,100.0000f},
+ {11.9600f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch68st1[] =
+{
+ {11.9600f,100.0000f},
+ {45.2933f,100.0000f},
+ {59.5790f,95.2381f},
+ {69.1029f,85.7143f},
+ {73.8648f,76.1905f},
+ {78.6267f,61.9048f},
+ {78.6267f,38.0952f},
+ {73.8648f,23.8095f},
+ {69.1029f,14.2857f},
+ {59.5790f,4.7619f},
+ {45.2933f,0.0000f},
+ {11.9600f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch68st[] =
+{
+ {2,ch68st0},
+ {12,ch68st1}
+};
+
+static const GLUTStrokeChar ch68 = {85.2867f,2,ch68st};
+
+/* char: 0x45 */
+
+static const GLUTStrokeVertex ch69st0[] =
+{
+ {11.4200f,100.0000f},
+ {11.4200f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch69st1[] =
+{
+ {11.4200f,100.0000f},
+ {73.3248f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch69st2[] =
+{
+ {11.4200f,52.3810f},
+ {49.5152f,52.3810f}
+};
+
+static const GLUTStrokeVertex ch69st3[] =
+{
+ {11.4200f,0.0000f},
+ {73.3248f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch69st[] =
+{
+ {2,ch69st0},
+ {2,ch69st1},
+ {2,ch69st2},
+ {2,ch69st3}
+};
+
+static const GLUTStrokeChar ch69 = {78.1848f,4,ch69st};
+
+/* char: 0x46 */
+
+static const GLUTStrokeVertex ch70st0[] =
+{
+ {11.4200f,100.0000f},
+ {11.4200f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch70st1[] =
+{
+ {11.4200f,100.0000f},
+ {73.3248f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch70st2[] =
+{
+ {11.4200f,52.3810f},
+ {49.5152f,52.3810f}
+};
+
+static const GLUTStrokeStrip ch70st[] =
+{
+ {2,ch70st0},
+ {2,ch70st1},
+ {2,ch70st2}
+};
+
+static const GLUTStrokeChar ch70 = {78.7448f,3,ch70st};
+
+/* char: 0x47 */
+
+static const GLUTStrokeVertex ch71st0[] =
+{
+ {78.4886f,76.1905f},
+ {73.7267f,85.7143f},
+ {64.2029f,95.2381f},
+ {54.6790f,100.0000f},
+ {35.6314f,100.0000f},
+ {26.1076f,95.2381f},
+ {16.5838f,85.7143f},
+ {11.8219f,76.1905f},
+ {7.0600f,61.9048f},
+ {7.0600f,38.0952f},
+ {11.8219f,23.8095f},
+ {16.5838f,14.2857f},
+ {26.1076f,4.7619f},
+ {35.6314f,0.0000f},
+ {54.6790f,0.0000f},
+ {64.2029f,4.7619f},
+ {73.7267f,14.2857f},
+ {78.4886f,23.8095f},
+ {78.4886f,38.0952f}
+};
+
+static const GLUTStrokeVertex ch71st1[] =
+{
+ {54.6790f,38.0952f},
+ {78.4886f,38.0952f}
+};
+
+static const GLUTStrokeStrip ch71st[] =
+{
+ {19,ch71st0},
+ {2,ch71st1}
+};
+
+static const GLUTStrokeChar ch71 = {89.7686f,2,ch71st};
+
+/* char: 0x48 */
+
+static const GLUTStrokeVertex ch72st0[] =
+{
+ {11.4200f,100.0000f},
+ {11.4200f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch72st1[] =
+{
+ {78.0867f,100.0000f},
+ {78.0867f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch72st2[] =
+{
+ {11.4200f,52.3810f},
+ {78.0867f,52.3810f}
+};
+
+static const GLUTStrokeStrip ch72st[] =
+{
+ {2,ch72st0},
+ {2,ch72st1},
+ {2,ch72st2}
+};
+
+static const GLUTStrokeChar ch72 = {89.0867f,3,ch72st};
+
+/* char: 0x49 */
+
+static const GLUTStrokeVertex ch73st0[] =
+{
+ {10.8600f,100.0000f},
+ {10.8600f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch73st[] =
+{
+ {2,ch73st0}
+};
+
+static const GLUTStrokeChar ch73 = {21.3000f,1,ch73st};
+
+/* char: 0x4a */
+
+static const GLUTStrokeVertex ch74st0[] =
+{
+ {50.1190f,100.0000f},
+ {50.1190f,23.8095f},
+ {45.3571f,9.5238f},
+ {40.5952f,4.7619f},
+ {31.0714f,0.0000f},
+ {21.5476f,0.0000f},
+ {12.0238f,4.7619f},
+ {7.2619f,9.5238f},
+ {2.5000f,23.8095f},
+ {2.5000f,33.3333f}
+};
+
+static const GLUTStrokeStrip ch74st[] =
+{
+ {10,ch74st0}
+};
+
+static const GLUTStrokeChar ch74 = {59.9990f,1,ch74st};
+
+/* char: 0x4b */
+
+static const GLUTStrokeVertex ch75st0[] =
+{
+ {11.2800f,100.0000f},
+ {11.2800f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch75st1[] =
+{
+ {77.9467f,100.0000f},
+ {11.2800f,33.3333f}
+};
+
+static const GLUTStrokeVertex ch75st2[] =
+{
+ {35.0895f,57.1429f},
+ {77.9467f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch75st[] =
+{
+ {2,ch75st0},
+ {2,ch75st1},
+ {2,ch75st2}
+};
+
+static const GLUTStrokeChar ch75 = {79.3267f,3,ch75st};
+
+/* char: 0x4c */
+
+static const GLUTStrokeVertex ch76st0[] =
+{
+ {11.6800f,100.0000f},
+ {11.6800f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch76st1[] =
+{
+ {11.6800f,0.0000f},
+ {68.8229f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch76st[] =
+{
+ {2,ch76st0},
+ {2,ch76st1}
+};
+
+static const GLUTStrokeChar ch76 = {71.3229f,2,ch76st};
+
+/* char: 0x4d */
+
+static const GLUTStrokeVertex ch77st0[] =
+{
+ {10.8600f,100.0000f},
+ {10.8600f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch77st1[] =
+{
+ {10.8600f,100.0000f},
+ {48.9552f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch77st2[] =
+{
+ {87.0505f,100.0000f},
+ {48.9552f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch77st3[] =
+{
+ {87.0505f,100.0000f},
+ {87.0505f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch77st[] =
+{
+ {2,ch77st0},
+ {2,ch77st1},
+ {2,ch77st2},
+ {2,ch77st3}
+};
+
+static const GLUTStrokeChar ch77 = {97.2105f,4,ch77st};
+
+/* char: 0x4e */
+
+static const GLUTStrokeVertex ch78st0[] =
+{
+ {11.1400f,100.0000f},
+ {11.1400f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch78st1[] =
+{
+ {11.1400f,100.0000f},
+ {77.8067f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch78st2[] =
+{
+ {77.8067f,100.0000f},
+ {77.8067f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch78st[] =
+{
+ {2,ch78st0},
+ {2,ch78st1},
+ {2,ch78st2}
+};
+
+static const GLUTStrokeChar ch78 = {88.8067f,3,ch78st};
+
+/* char: 0x4f */
+
+static const GLUTStrokeVertex ch79st0[] =
+{
+ {34.8114f,100.0000f},
+ {25.2876f,95.2381f},
+ {15.7638f,85.7143f},
+ {11.0019f,76.1905f},
+ {6.2400f,61.9048f},
+ {6.2400f,38.0952f},
+ {11.0019f,23.8095f},
+ {15.7638f,14.2857f},
+ {25.2876f,4.7619f},
+ {34.8114f,0.0000f},
+ {53.8590f,0.0000f},
+ {63.3829f,4.7619f},
+ {72.9067f,14.2857f},
+ {77.6686f,23.8095f},
+ {82.4305f,38.0952f},
+ {82.4305f,61.9048f},
+ {77.6686f,76.1905f},
+ {72.9067f,85.7143f},
+ {63.3829f,95.2381f},
+ {53.8590f,100.0000f},
+ {34.8114f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch79st[] =
+{
+ {21,ch79st0}
+};
+
+static const GLUTStrokeChar ch79 = {88.8305f,1,ch79st};
+
+/* char: 0x50 */
+
+static const GLUTStrokeVertex ch80st0[] =
+{
+ {12.1000f,100.0000f},
+ {12.1000f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch80st1[] =
+{
+ {12.1000f,100.0000f},
+ {54.9571f,100.0000f},
+ {69.2429f,95.2381f},
+ {74.0048f,90.4762f},
+ {78.7667f,80.9524f},
+ {78.7667f,66.6667f},
+ {74.0048f,57.1429f},
+ {69.2429f,52.3810f},
+ {54.9571f,47.6190f},
+ {12.1000f,47.6190f}
+};
+
+static const GLUTStrokeStrip ch80st[] =
+{
+ {2,ch80st0},
+ {10,ch80st1}
+};
+
+static const GLUTStrokeChar ch80 = {85.6667f,2,ch80st};
+
+/* char: 0x51 */
+
+static const GLUTStrokeVertex ch81st0[] =
+{
+ {33.8714f,100.0000f},
+ {24.3476f,95.2381f},
+ {14.8238f,85.7143f},
+ {10.0619f,76.1905f},
+ {5.3000f,61.9048f},
+ {5.3000f,38.0952f},
+ {10.0619f,23.8095f},
+ {14.8238f,14.2857f},
+ {24.3476f,4.7619f},
+ {33.8714f,0.0000f},
+ {52.9190f,0.0000f},
+ {62.4429f,4.7619f},
+ {71.9667f,14.2857f},
+ {76.7286f,23.8095f},
+ {81.4905f,38.0952f},
+ {81.4905f,61.9048f},
+ {76.7286f,76.1905f},
+ {71.9667f,85.7143f},
+ {62.4429f,95.2381f},
+ {52.9190f,100.0000f},
+ {33.8714f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch81st1[] =
+{
+ {48.1571f,19.0476f},
+ {76.7286f,-9.5238f}
+};
+
+static const GLUTStrokeStrip ch81st[] =
+{
+ {21,ch81st0},
+ {2,ch81st1}
+};
+
+static const GLUTStrokeChar ch81 = {88.0905f,2,ch81st};
+
+/* char: 0x52 */
+
+static const GLUTStrokeVertex ch82st0[] =
+{
+ {11.6800f,100.0000f},
+ {11.6800f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch82st1[] =
+{
+ {11.6800f,100.0000f},
+ {54.5371f,100.0000f},
+ {68.8229f,95.2381f},
+ {73.5848f,90.4762f},
+ {78.3467f,80.9524f},
+ {78.3467f,71.4286f},
+ {73.5848f,61.9048f},
+ {68.8229f,57.1429f},
+ {54.5371f,52.3810f},
+ {11.6800f,52.3810f}
+};
+
+static const GLUTStrokeVertex ch82st2[] =
+{
+ {45.0133f,52.3810f},
+ {78.3467f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch82st[] =
+{
+ {2,ch82st0},
+ {10,ch82st1},
+ {2,ch82st2}
+};
+
+static const GLUTStrokeChar ch82 = {82.3667f,3,ch82st};
+
+/* char: 0x53 */
+
+static const GLUTStrokeVertex ch83st0[] =
+{
+ {74.6667f,85.7143f},
+ {65.1429f,95.2381f},
+ {50.8571f,100.0000f},
+ {31.8095f,100.0000f},
+ {17.5238f,95.2381f},
+ {8.0000f,85.7143f},
+ {8.0000f,76.1905f},
+ {12.7619f,66.6667f},
+ {17.5238f,61.9048f},
+ {27.0476f,57.1429f},
+ {55.6190f,47.6190f},
+ {65.1429f,42.8571f},
+ {69.9048f,38.0952f},
+ {74.6667f,28.5714f},
+ {74.6667f,14.2857f},
+ {65.1429f,4.7619f},
+ {50.8571f,0.0000f},
+ {31.8095f,0.0000f},
+ {17.5238f,4.7619f},
+ {8.0000f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch83st[] =
+{
+ {20,ch83st0}
+};
+
+static const GLUTStrokeChar ch83 = {80.8267f,1,ch83st};
+
+/* char: 0x54 */
+
+static const GLUTStrokeVertex ch84st0[] =
+{
+ {35.6933f,100.0000f},
+ {35.6933f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch84st1[] =
+{
+ {2.3600f,100.0000f},
+ {69.0267f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch84st[] =
+{
+ {2,ch84st0},
+ {2,ch84st1}
+};
+
+static const GLUTStrokeChar ch84 = {71.9467f,2,ch84st};
+
+/* char: 0x55 */
+
+static const GLUTStrokeVertex ch85st0[] =
+{
+ {11.5400f,100.0000f},
+ {11.5400f,28.5714f},
+ {16.3019f,14.2857f},
+ {25.8257f,4.7619f},
+ {40.1114f,0.0000f},
+ {49.6352f,0.0000f},
+ {63.9210f,4.7619f},
+ {73.4448f,14.2857f},
+ {78.2067f,28.5714f},
+ {78.2067f,100.0000f}
+};
+
+static const GLUTStrokeStrip ch85st[] =
+{
+ {10,ch85st0}
+};
+
+static const GLUTStrokeChar ch85 = {89.4867f,1,ch85st};
+
+/* char: 0x56 */
+
+static const GLUTStrokeVertex ch86st0[] =
+{
+ {2.3600f,100.0000f},
+ {40.4552f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch86st1[] =
+{
+ {78.5505f,100.0000f},
+ {40.4552f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch86st[] =
+{
+ {2,ch86st0},
+ {2,ch86st1}
+};
+
+static const GLUTStrokeChar ch86 = {81.6105f,2,ch86st};
+
+/* char: 0x57 */
+
+static const GLUTStrokeVertex ch87st0[] =
+{
+ {2.2200f,100.0000f},
+ {26.0295f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch87st1[] =
+{
+ {49.8390f,100.0000f},
+ {26.0295f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch87st2[] =
+{
+ {49.8390f,100.0000f},
+ {73.6486f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch87st3[] =
+{
+ {97.4581f,100.0000f},
+ {73.6486f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch87st[] =
+{
+ {2,ch87st0},
+ {2,ch87st1},
+ {2,ch87st2},
+ {2,ch87st3}
+};
+
+static const GLUTStrokeChar ch87 = {100.5181f,4,ch87st};
+
+/* char: 0x58 */
+
+static const GLUTStrokeVertex ch88st0[] =
+{
+ {2.5000f,100.0000f},
+ {69.1667f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch88st1[] =
+{
+ {69.1667f,100.0000f},
+ {2.5000f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch88st[] =
+{
+ {2,ch88st0},
+ {2,ch88st1}
+};
+
+static const GLUTStrokeChar ch88 = {72.3667f,2,ch88st};
+
+/* char: 0x59 */
+
+static const GLUTStrokeVertex ch89st0[] =
+{
+ {1.5200f,100.0000f},
+ {39.6152f,52.3810f},
+ {39.6152f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch89st1[] =
+{
+ {77.7105f,100.0000f},
+ {39.6152f,52.3810f}
+};
+
+static const GLUTStrokeStrip ch89st[] =
+{
+ {3,ch89st0},
+ {2,ch89st1}
+};
+
+static const GLUTStrokeChar ch89 = {79.6505f,2,ch89st};
+
+/* char: 0x5a */
+
+static const GLUTStrokeVertex ch90st0[] =
+{
+ {69.1667f,100.0000f},
+ {2.5000f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch90st1[] =
+{
+ {2.5000f,100.0000f},
+ {69.1667f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch90st2[] =
+{
+ {2.5000f,0.0000f},
+ {69.1667f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch90st[] =
+{
+ {2,ch90st0},
+ {2,ch90st1},
+ {2,ch90st2}
+};
+
+static const GLUTStrokeChar ch90 = {73.7467f,3,ch90st};
+
+/* char: 0x5b */
+
+static const GLUTStrokeVertex ch91st0[] =
+{
+ {7.7800f,119.0476f},
+ {7.7800f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch91st1[] =
+{
+ {12.5419f,119.0476f},
+ {12.5419f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch91st2[] =
+{
+ {7.7800f,119.0476f},
+ {41.1133f,119.0476f}
+};
+
+static const GLUTStrokeVertex ch91st3[] =
+{
+ {7.7800f,-33.3333f},
+ {41.1133f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch91st[] =
+{
+ {2,ch91st0},
+ {2,ch91st1},
+ {2,ch91st2},
+ {2,ch91st3}
+};
+
+static const GLUTStrokeChar ch91 = {46.1133f,4,ch91st};
+
+/* char: 0x5c */
+
+static const GLUTStrokeVertex ch92st0[] =
+{
+ {5.8400f,100.0000f},
+ {72.5067f,-14.2857f}
+};
+
+static const GLUTStrokeStrip ch92st[] =
+{
+ {2,ch92st0}
+};
+
+static const GLUTStrokeChar ch92 = {78.2067f,1,ch92st};
+
+/* char: 0x5d */
+
+static const GLUTStrokeVertex ch93st0[] =
+{
+ {33.0114f,119.0476f},
+ {33.0114f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch93st1[] =
+{
+ {37.7733f,119.0476f},
+ {37.7733f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch93st2[] =
+{
+ {4.4400f,119.0476f},
+ {37.7733f,119.0476f}
+};
+
+static const GLUTStrokeVertex ch93st3[] =
+{
+ {4.4400f,-33.3333f},
+ {37.7733f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch93st[] =
+{
+ {2,ch93st0},
+ {2,ch93st1},
+ {2,ch93st2},
+ {2,ch93st3}
+};
+
+static const GLUTStrokeChar ch93 = {46.3933f,4,ch93st};
+
+/* char: 0x5e */
+
+static const GLUTStrokeVertex ch94st0[] =
+{
+ {44.0752f,109.5238f},
+ {5.9800f,42.8571f}
+};
+
+static const GLUTStrokeVertex ch94st1[] =
+{
+ {44.0752f,109.5238f},
+ {82.1705f,42.8571f}
+};
+
+static const GLUTStrokeStrip ch94st[] =
+{
+ {2,ch94st0},
+ {2,ch94st1}
+};
+
+static const GLUTStrokeChar ch94 = {90.2305f,2,ch94st};
+
+/* char: 0x5f */
+
+static const GLUTStrokeVertex ch95st0[] =
+{
+ {-1.1000f,-33.3333f},
+ {103.6619f,-33.3333f},
+ {103.6619f,-28.5714f},
+ {-1.1000f,-28.5714f},
+ {-1.1000f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch95st[] =
+{
+ {5,ch95st0}
+};
+
+static const GLUTStrokeChar ch95 = {104.0619f,1,ch95st};
+
+/* char: 0x60 */
+
+static const GLUTStrokeVertex ch96st0[] =
+{
+ {33.0219f,100.0000f},
+ {56.8314f,71.4286f}
+};
+
+static const GLUTStrokeVertex ch96st1[] =
+{
+ {33.0219f,100.0000f},
+ {28.2600f,95.2381f},
+ {56.8314f,71.4286f}
+};
+
+static const GLUTStrokeStrip ch96st[] =
+{
+ {2,ch96st0},
+ {3,ch96st1}
+};
+
+static const GLUTStrokeChar ch96 = {83.5714f,2,ch96st};
+
+/* char: 0x61 */
+
+static const GLUTStrokeVertex ch97st0[] =
+{
+ {63.8229f,66.6667f},
+ {63.8229f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch97st1[] =
+{
+ {63.8229f,52.3810f},
+ {54.2990f,61.9048f},
+ {44.7752f,66.6667f},
+ {30.4895f,66.6667f},
+ {20.9657f,61.9048f},
+ {11.4419f,52.3810f},
+ {6.6800f,38.0952f},
+ {6.6800f,28.5714f},
+ {11.4419f,14.2857f},
+ {20.9657f,4.7619f},
+ {30.4895f,0.0000f},
+ {44.7752f,0.0000f},
+ {54.2990f,4.7619f},
+ {63.8229f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch97st[] =
+{
+ {2,ch97st0},
+ {14,ch97st1}
+};
+
+static const GLUTStrokeChar ch97 = {66.6029f,2,ch97st};
+
+/* char: 0x62 */
+
+static const GLUTStrokeVertex ch98st0[] =
+{
+ {8.7600f,100.0000f},
+ {8.7600f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch98st1[] =
+{
+ {8.7600f,52.3810f},
+ {18.2838f,61.9048f},
+ {27.8076f,66.6667f},
+ {42.0933f,66.6667f},
+ {51.6171f,61.9048f},
+ {61.1410f,52.3810f},
+ {65.9029f,38.0952f},
+ {65.9029f,28.5714f},
+ {61.1410f,14.2857f},
+ {51.6171f,4.7619f},
+ {42.0933f,0.0000f},
+ {27.8076f,0.0000f},
+ {18.2838f,4.7619f},
+ {8.7600f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch98st[] =
+{
+ {2,ch98st0},
+ {14,ch98st1}
+};
+
+static const GLUTStrokeChar ch98 = {70.4629f,2,ch98st};
+
+/* char: 0x63 */
+
+static const GLUTStrokeVertex ch99st0[] =
+{
+ {62.6629f,52.3810f},
+ {53.1390f,61.9048f},
+ {43.6152f,66.6667f},
+ {29.3295f,66.6667f},
+ {19.8057f,61.9048f},
+ {10.2819f,52.3810f},
+ {5.5200f,38.0952f},
+ {5.5200f,28.5714f},
+ {10.2819f,14.2857f},
+ {19.8057f,4.7619f},
+ {29.3295f,0.0000f},
+ {43.6152f,0.0000f},
+ {53.1390f,4.7619f},
+ {62.6629f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch99st[] =
+{
+ {14,ch99st0}
+};
+
+static const GLUTStrokeChar ch99 = {68.9229f,1,ch99st};
+
+/* char: 0x64 */
+
+static const GLUTStrokeVertex ch100st0[] =
+{
+ {61.7829f,100.0000f},
+ {61.7829f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch100st1[] =
+{
+ {61.7829f,52.3810f},
+ {52.2590f,61.9048f},
+ {42.7352f,66.6667f},
+ {28.4495f,66.6667f},
+ {18.9257f,61.9048f},
+ {9.4019f,52.3810f},
+ {4.6400f,38.0952f},
+ {4.6400f,28.5714f},
+ {9.4019f,14.2857f},
+ {18.9257f,4.7619f},
+ {28.4495f,0.0000f},
+ {42.7352f,0.0000f},
+ {52.2590f,4.7619f},
+ {61.7829f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch100st[] =
+{
+ {2,ch100st0},
+ {14,ch100st1}
+};
+
+static const GLUTStrokeChar ch100 = {70.2629f,2,ch100st};
+
+/* char: 0x65 */
+
+static const GLUTStrokeVertex ch101st0[] =
+{
+ {5.7200f,38.0952f},
+ {62.8629f,38.0952f},
+ {62.8629f,47.6190f},
+ {58.1010f,57.1429f},
+ {53.3390f,61.9048f},
+ {43.8152f,66.6667f},
+ {29.5295f,66.6667f},
+ {20.0057f,61.9048f},
+ {10.4819f,52.3810f},
+ {5.7200f,38.0952f},
+ {5.7200f,28.5714f},
+ {10.4819f,14.2857f},
+ {20.0057f,4.7619f},
+ {29.5295f,0.0000f},
+ {43.8152f,0.0000f},
+ {53.3390f,4.7619f},
+ {62.8629f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch101st[] =
+{
+ {17,ch101st0}
+};
+
+static const GLUTStrokeChar ch101 = {68.5229f,1,ch101st};
+
+/* char: 0x66 */
+
+static const GLUTStrokeVertex ch102st0[] =
+{
+ {38.7752f,100.0000f},
+ {29.2514f,100.0000f},
+ {19.7276f,95.2381f},
+ {14.9657f,80.9524f},
+ {14.9657f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch102st1[] =
+{
+ {0.6800f,66.6667f},
+ {34.0133f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch102st[] =
+{
+ {5,ch102st0},
+ {2,ch102st1}
+};
+
+static const GLUTStrokeChar ch102 = {38.6552f,2,ch102st};
+
+/* char: 0x67 */
+
+static const GLUTStrokeVertex ch103st0[] =
+{
+ {62.5029f,66.6667f},
+ {62.5029f,-9.5238f},
+ {57.7410f,-23.8095f},
+ {52.9790f,-28.5714f},
+ {43.4552f,-33.3333f},
+ {29.1695f,-33.3333f},
+ {19.6457f,-28.5714f}
+};
+
+static const GLUTStrokeVertex ch103st1[] =
+{
+ {62.5029f,52.3810f},
+ {52.9790f,61.9048f},
+ {43.4552f,66.6667f},
+ {29.1695f,66.6667f},
+ {19.6457f,61.9048f},
+ {10.1219f,52.3810f},
+ {5.3600f,38.0952f},
+ {5.3600f,28.5714f},
+ {10.1219f,14.2857f},
+ {19.6457f,4.7619f},
+ {29.1695f,0.0000f},
+ {43.4552f,0.0000f},
+ {52.9790f,4.7619f},
+ {62.5029f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch103st[] =
+{
+ {7,ch103st0},
+ {14,ch103st1}
+};
+
+static const GLUTStrokeChar ch103 = {70.9829f,2,ch103st};
+
+/* char: 0x68 */
+
+static const GLUTStrokeVertex ch104st0[] =
+{
+ {9.6000f,100.0000f},
+ {9.6000f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch104st1[] =
+{
+ {9.6000f,47.6190f},
+ {23.8857f,61.9048f},
+ {33.4095f,66.6667f},
+ {47.6952f,66.6667f},
+ {57.2190f,61.9048f},
+ {61.9810f,47.6190f},
+ {61.9810f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch104st[] =
+{
+ {2,ch104st0},
+ {7,ch104st1}
+};
+
+static const GLUTStrokeChar ch104 = {71.0210f,2,ch104st};
+
+/* char: 0x69 */
+
+static const GLUTStrokeVertex ch105st0[] =
+{
+ {10.0200f,100.0000f},
+ {14.7819f,95.2381f},
+ {19.5438f,100.0000f},
+ {14.7819f,104.7619f},
+ {10.0200f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch105st1[] =
+{
+ {14.7819f,66.6667f},
+ {14.7819f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch105st[] =
+{
+ {5,ch105st0},
+ {2,ch105st1}
+};
+
+static const GLUTStrokeChar ch105 = {28.8638f,2,ch105st};
+
+/* char: 0x6a */
+
+static const GLUTStrokeVertex ch106st0[] =
+{
+ {17.3876f,100.0000f},
+ {22.1495f,95.2381f},
+ {26.9114f,100.0000f},
+ {22.1495f,104.7619f},
+ {17.3876f,100.0000f}
+};
+
+static const GLUTStrokeVertex ch106st1[] =
+{
+ {22.1495f,66.6667f},
+ {22.1495f,-14.2857f},
+ {17.3876f,-28.5714f},
+ {7.8638f,-33.3333f},
+ {-1.6600f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch106st[] =
+{
+ {5,ch106st0},
+ {5,ch106st1}
+};
+
+static const GLUTStrokeChar ch106 = {36.2314f,2,ch106st};
+
+/* char: 0x6b */
+
+static const GLUTStrokeVertex ch107st0[] =
+{
+ {9.6000f,100.0000f},
+ {9.6000f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch107st1[] =
+{
+ {57.2190f,66.6667f},
+ {9.6000f,19.0476f}
+};
+
+static const GLUTStrokeVertex ch107st2[] =
+{
+ {28.6476f,38.0952f},
+ {61.9810f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch107st[] =
+{
+ {2,ch107st0},
+ {2,ch107st1},
+ {2,ch107st2}
+};
+
+static const GLUTStrokeChar ch107 = {62.5210f,3,ch107st};
+
+/* char: 0x6c */
+
+static const GLUTStrokeVertex ch108st0[] =
+{
+ {10.0200f,100.0000f},
+ {10.0200f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch108st[] =
+{
+ {2,ch108st0}
+};
+
+static const GLUTStrokeChar ch108 = {19.3400f,1,ch108st};
+
+/* char: 0x6d */
+
+static const GLUTStrokeVertex ch109st0[] =
+{
+ {9.6000f,66.6667f},
+ {9.6000f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch109st1[] =
+{
+ {9.6000f,47.6190f},
+ {23.8857f,61.9048f},
+ {33.4095f,66.6667f},
+ {47.6952f,66.6667f},
+ {57.2190f,61.9048f},
+ {61.9810f,47.6190f},
+ {61.9810f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch109st2[] =
+{
+ {61.9810f,47.6190f},
+ {76.2667f,61.9048f},
+ {85.7905f,66.6667f},
+ {100.0762f,66.6667f},
+ {109.6000f,61.9048f},
+ {114.3619f,47.6190f},
+ {114.3619f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch109st[] =
+{
+ {2,ch109st0},
+ {7,ch109st1},
+ {7,ch109st2}
+};
+
+static const GLUTStrokeChar ch109 = {123.9619f,3,ch109st};
+
+/* char: 0x6e */
+
+static const GLUTStrokeVertex ch110st0[] =
+{
+ {9.1800f,66.6667f},
+ {9.1800f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch110st1[] =
+{
+ {9.1800f,47.6190f},
+ {23.4657f,61.9048f},
+ {32.9895f,66.6667f},
+ {47.2752f,66.6667f},
+ {56.7990f,61.9048f},
+ {61.5610f,47.6190f},
+ {61.5610f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch110st[] =
+{
+ {2,ch110st0},
+ {7,ch110st1}
+};
+
+static const GLUTStrokeChar ch110 = {70.8810f,2,ch110st};
+
+/* char: 0x6f */
+
+static const GLUTStrokeVertex ch111st0[] =
+{
+ {28.7895f,66.6667f},
+ {19.2657f,61.9048f},
+ {9.7419f,52.3810f},
+ {4.9800f,38.0952f},
+ {4.9800f,28.5714f},
+ {9.7419f,14.2857f},
+ {19.2657f,4.7619f},
+ {28.7895f,0.0000f},
+ {43.0752f,0.0000f},
+ {52.5990f,4.7619f},
+ {62.1229f,14.2857f},
+ {66.8848f,28.5714f},
+ {66.8848f,38.0952f},
+ {62.1229f,52.3810f},
+ {52.5990f,61.9048f},
+ {43.0752f,66.6667f},
+ {28.7895f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch111st[] =
+{
+ {17,ch111st0}
+};
+
+static const GLUTStrokeChar ch111 = {71.7448f,1,ch111st};
+
+/* char: 0x70 */
+
+static const GLUTStrokeVertex ch112st0[] =
+{
+ {9.4600f,66.6667f},
+ {9.4600f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch112st1[] =
+{
+ {9.4600f,52.3810f},
+ {18.9838f,61.9048f},
+ {28.5076f,66.6667f},
+ {42.7933f,66.6667f},
+ {52.3171f,61.9048f},
+ {61.8410f,52.3810f},
+ {66.6029f,38.0952f},
+ {66.6029f,28.5714f},
+ {61.8410f,14.2857f},
+ {52.3171f,4.7619f},
+ {42.7933f,0.0000f},
+ {28.5076f,0.0000f},
+ {18.9838f,4.7619f},
+ {9.4600f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch112st[] =
+{
+ {2,ch112st0},
+ {14,ch112st1}
+};
+
+static const GLUTStrokeChar ch112 = {70.8029f,2,ch112st};
+
+/* char: 0x71 */
+
+static const GLUTStrokeVertex ch113st0[] =
+{
+ {61.9829f,66.6667f},
+ {61.9829f,-33.3333f}
+};
+
+static const GLUTStrokeVertex ch113st1[] =
+{
+ {61.9829f,52.3810f},
+ {52.4590f,61.9048f},
+ {42.9352f,66.6667f},
+ {28.6495f,66.6667f},
+ {19.1257f,61.9048f},
+ {9.6019f,52.3810f},
+ {4.8400f,38.0952f},
+ {4.8400f,28.5714f},
+ {9.6019f,14.2857f},
+ {19.1257f,4.7619f},
+ {28.6495f,0.0000f},
+ {42.9352f,0.0000f},
+ {52.4590f,4.7619f},
+ {61.9829f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch113st[] =
+{
+ {2,ch113st0},
+ {14,ch113st1}
+};
+
+static const GLUTStrokeChar ch113 = {70.7429f,2,ch113st};
+
+/* char: 0x72 */
+
+static const GLUTStrokeVertex ch114st0[] =
+{
+ {9.4600f,66.6667f},
+ {9.4600f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch114st1[] =
+{
+ {9.4600f,38.0952f},
+ {14.2219f,52.3810f},
+ {23.7457f,61.9048f},
+ {33.2695f,66.6667f},
+ {47.5552f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch114st[] =
+{
+ {2,ch114st0},
+ {5,ch114st1}
+};
+
+static const GLUTStrokeChar ch114 = {49.4952f,2,ch114st};
+
+/* char: 0x73 */
+
+static const GLUTStrokeVertex ch115st0[] =
+{
+ {57.0810f,52.3810f},
+ {52.3190f,61.9048f},
+ {38.0333f,66.6667f},
+ {23.7476f,66.6667f},
+ {9.4619f,61.9048f},
+ {4.7000f,52.3810f},
+ {9.4619f,42.8571f},
+ {18.9857f,38.0952f},
+ {42.7952f,33.3333f},
+ {52.3190f,28.5714f},
+ {57.0810f,19.0476f},
+ {57.0810f,14.2857f},
+ {52.3190f,4.7619f},
+ {38.0333f,0.0000f},
+ {23.7476f,0.0000f},
+ {9.4619f,4.7619f},
+ {4.7000f,14.2857f}
+};
+
+static const GLUTStrokeStrip ch115st[] =
+{
+ {17,ch115st0}
+};
+
+static const GLUTStrokeChar ch115 = {62.3210f,1,ch115st};
+
+/* char: 0x74 */
+
+static const GLUTStrokeVertex ch116st0[] =
+{
+ {14.8257f,100.0000f},
+ {14.8257f,19.0476f},
+ {19.5876f,4.7619f},
+ {29.1114f,0.0000f},
+ {38.6352f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch116st1[] =
+{
+ {0.5400f,66.6667f},
+ {33.8733f,66.6667f}
+};
+
+static const GLUTStrokeStrip ch116st[] =
+{
+ {5,ch116st0},
+ {2,ch116st1}
+};
+
+static const GLUTStrokeChar ch116 = {39.3152f,2,ch116st};
+
+/* char: 0x75 */
+
+static const GLUTStrokeVertex ch117st0[] =
+{
+ {9.4600f,66.6667f},
+ {9.4600f,19.0476f},
+ {14.2219f,4.7619f},
+ {23.7457f,0.0000f},
+ {38.0314f,0.0000f},
+ {47.5552f,4.7619f},
+ {61.8410f,19.0476f}
+};
+
+static const GLUTStrokeVertex ch117st1[] =
+{
+ {61.8410f,66.6667f},
+ {61.8410f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch117st[] =
+{
+ {7,ch117st0},
+ {2,ch117st1}
+};
+
+static const GLUTStrokeChar ch117 = {71.1610f,2,ch117st};
+
+/* char: 0x76 */
+
+static const GLUTStrokeVertex ch118st0[] =
+{
+ {1.8000f,66.6667f},
+ {30.3714f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch118st1[] =
+{
+ {58.9429f,66.6667f},
+ {30.3714f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch118st[] =
+{
+ {2,ch118st0},
+ {2,ch118st1}
+};
+
+static const GLUTStrokeChar ch118 = {60.6029f,2,ch118st};
+
+/* char: 0x77 */
+
+static const GLUTStrokeVertex ch119st0[] =
+{
+ {2.5000f,66.6667f},
+ {21.5476f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch119st1[] =
+{
+ {40.5952f,66.6667f},
+ {21.5476f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch119st2[] =
+{
+ {40.5952f,66.6667f},
+ {59.6429f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch119st3[] =
+{
+ {78.6905f,66.6667f},
+ {59.6429f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch119st[] =
+{
+ {2,ch119st0},
+ {2,ch119st1},
+ {2,ch119st2},
+ {2,ch119st3}
+};
+
+static const GLUTStrokeChar ch119 = {80.4905f,4,ch119st};
+
+/* char: 0x78 */
+
+static const GLUTStrokeVertex ch120st0[] =
+{
+ {1.6600f,66.6667f},
+ {54.0410f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch120st1[] =
+{
+ {54.0410f,66.6667f},
+ {1.6600f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch120st[] =
+{
+ {2,ch120st0},
+ {2,ch120st1}
+};
+
+static const GLUTStrokeChar ch120 = {56.4010f,2,ch120st};
+
+/* char: 0x79 */
+
+static const GLUTStrokeVertex ch121st0[] =
+{
+ {6.5619f,66.6667f},
+ {35.1333f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch121st1[] =
+{
+ {63.7048f,66.6667f},
+ {35.1333f,0.0000f},
+ {25.6095f,-19.0476f},
+ {16.0857f,-28.5714f},
+ {6.5619f,-33.3333f},
+ {1.8000f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch121st[] =
+{
+ {2,ch121st0},
+ {6,ch121st1}
+};
+
+static const GLUTStrokeChar ch121 = {66.0648f,2,ch121st};
+
+/* char: 0x7a */
+
+static const GLUTStrokeVertex ch122st0[] =
+{
+ {56.8210f,66.6667f},
+ {4.4400f,0.0000f}
+};
+
+static const GLUTStrokeVertex ch122st1[] =
+{
+ {4.4400f,66.6667f},
+ {56.8210f,66.6667f}
+};
+
+static const GLUTStrokeVertex ch122st2[] =
+{
+ {4.4400f,0.0000f},
+ {56.8210f,0.0000f}
+};
+
+static const GLUTStrokeStrip ch122st[] =
+{
+ {2,ch122st0},
+ {2,ch122st1},
+ {2,ch122st2}
+};
+
+static const GLUTStrokeChar ch122 = {61.8210f,3,ch122st};
+
+/* char: 0x7b */
+
+static const GLUTStrokeVertex ch123st0[] =
+{
+ {31.1895f,119.0476f},
+ {21.6657f,114.2857f},
+ {16.9038f,109.5238f},
+ {12.1419f,100.0000f},
+ {12.1419f,90.4762f},
+ {16.9038f,80.9524f},
+ {21.6657f,76.1905f},
+ {26.4276f,66.6667f},
+ {26.4276f,57.1429f},
+ {16.9038f,47.6190f}
+};
+
+static const GLUTStrokeVertex ch123st1[] =
+{
+ {21.6657f,114.2857f},
+ {16.9038f,104.7619f},
+ {16.9038f,95.2381f},
+ {21.6657f,85.7143f},
+ {26.4276f,80.9524f},
+ {31.1895f,71.4286f},
+ {31.1895f,61.9048f},
+ {26.4276f,52.3810f},
+ {7.3800f,42.8571f},
+ {26.4276f,33.3333f},
+ {31.1895f,23.8095f},
+ {31.1895f,14.2857f},
+ {26.4276f,4.7619f},
+ {21.6657f,0.0000f},
+ {16.9038f,-9.5238f},
+ {16.9038f,-19.0476f},
+ {21.6657f,-28.5714f}
+};
+
+static const GLUTStrokeVertex ch123st2[] =
+{
+ {16.9038f,38.0952f},
+ {26.4276f,28.5714f},
+ {26.4276f,19.0476f},
+ {21.6657f,9.5238f},
+ {16.9038f,4.7619f},
+ {12.1419f,-4.7619f},
+ {12.1419f,-14.2857f},
+ {16.9038f,-23.8095f},
+ {21.6657f,-28.5714f},
+ {31.1895f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch123st[] =
+{
+ {10,ch123st0},
+ {17,ch123st1},
+ {10,ch123st2}
+};
+
+static const GLUTStrokeChar ch123 = {41.6295f,3,ch123st};
+
+/* char: 0x7c */
+
+static const GLUTStrokeVertex ch124st0[] =
+{
+ {11.5400f,119.0476f},
+ {11.5400f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch124st[] =
+{
+ {2,ch124st0}
+};
+
+static const GLUTStrokeChar ch124 = {23.7800f,1,ch124st};
+
+/* char: 0x7d */
+
+static const GLUTStrokeVertex ch125st0[] =
+{
+ {9.1800f,119.0476f},
+ {18.7038f,114.2857f},
+ {23.4657f,109.5238f},
+ {28.2276f,100.0000f},
+ {28.2276f,90.4762f},
+ {23.4657f,80.9524f},
+ {18.7038f,76.1905f},
+ {13.9419f,66.6667f},
+ {13.9419f,57.1429f},
+ {23.4657f,47.6190f}
+};
+
+static const GLUTStrokeVertex ch125st1[] =
+{
+ {18.7038f,114.2857f},
+ {23.4657f,104.7619f},
+ {23.4657f,95.2381f},
+ {18.7038f,85.7143f},
+ {13.9419f,80.9524f},
+ {9.1800f,71.4286f},
+ {9.1800f,61.9048f},
+ {13.9419f,52.3810f},
+ {32.9895f,42.8571f},
+ {13.9419f,33.3333f},
+ {9.1800f,23.8095f},
+ {9.1800f,14.2857f},
+ {13.9419f,4.7619f},
+ {18.7038f,0.0000f},
+ {23.4657f,-9.5238f},
+ {23.4657f,-19.0476f},
+ {18.7038f,-28.5714f}
+};
+
+static const GLUTStrokeVertex ch125st2[] =
+{
+ {23.4657f,38.0952f},
+ {13.9419f,28.5714f},
+ {13.9419f,19.0476f},
+ {18.7038f,9.5238f},
+ {23.4657f,4.7619f},
+ {28.2276f,-4.7619f},
+ {28.2276f,-14.2857f},
+ {23.4657f,-23.8095f},
+ {18.7038f,-28.5714f},
+ {9.1800f,-33.3333f}
+};
+
+static const GLUTStrokeStrip ch125st[] =
+{
+ {10,ch125st0},
+ {17,ch125st1},
+ {10,ch125st2}
+};
+
+static const GLUTStrokeChar ch125 = {41.4695f,3,ch125st};
+
+/* char: 0x7e */
+
+static const GLUTStrokeVertex ch126st0[] =
+{
+ {2.9200f,28.5714f},
+ {2.9200f,38.0952f},
+ {7.6819f,52.3810f},
+ {17.2057f,57.1429f},
+ {26.7295f,57.1429f},
+ {36.2533f,52.3810f},
+ {55.3010f,38.0952f},
+ {64.8248f,33.3333f},
+ {74.3486f,33.3333f},
+ {83.8724f,38.0952f},
+ {88.6343f,47.6190f}
+};
+
+static const GLUTStrokeVertex ch126st1[] =
+{
+ {2.9200f,38.0952f},
+ {7.6819f,47.6190f},
+ {17.2057f,52.3810f},
+ {26.7295f,52.3810f},
+ {36.2533f,47.6190f},
+ {55.3010f,33.3333f},
+ {64.8248f,28.5714f},
+ {74.3486f,28.5714f},
+ {83.8724f,33.3333f},
+ {88.6343f,47.6190f},
+ {88.6343f,57.1429f}
+};
+
+static const GLUTStrokeStrip ch126st[] =
+{
+ {11,ch126st0},
+ {11,ch126st1}
+};
+
+static const GLUTStrokeChar ch126 = {91.2743f,2,ch126st};
+
+static const GLUTStrokeChar *chars[] =
+{
+ 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,
+ &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
+};
+
+const GLUTStrokeFont glutStrokeRoman = {"Roman",128,chars,152.3809f,33.3333f};
diff --git a/src/glut/dos/shapes.c b/src/glut/dos/shapes.c
new file mode 100644 (file)
index 0000000..4edebe9
--- /dev/null
@@ -0,0 +1,1143 @@
+/*
+ * freeglut_geometry.c
+ *
+ * Freeglut geometry rendering methods.
+ *
+ * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved.
+ * Written by Pawel W. Olszta, <olszta@sourceforge.net>
+ * Creation date: Fri Dec 3 1999
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <math.h>
+#include "internal.h"
+
+/*
+ * TODO BEFORE THE STABLE RELEASE:
+ *
+ * Following functions have been contributed by Andreas Umbach.
+ *
+ *      glutWireCube()          -- looks OK
+ *      glutSolidCube()         -- OK
+ *
+ * Those functions have been implemented by John Fay.
+ *
+ *      glutWireTorus()         -- looks OK
+ *      glutSolidTorus()        -- looks OK
+ *      glutWireDodecahedron()  -- looks OK
+ *      glutSolidDodecahedron() -- looks OK
+ *      glutWireOctahedron()    -- looks OK
+ *      glutSolidOctahedron()   -- looks OK
+ *      glutWireTetrahedron()   -- looks OK
+ *      glutSolidTetrahedron()  -- looks OK
+ *      glutWireIcosahedron()   -- looks OK
+ *      glutSolidIcosahedron()  -- looks OK
+ *
+ *  The Following functions have been updated by Nigel Stewart, based
+ *  on FreeGLUT 2.0.0 implementations:
+ *
+ *      glutWireSphere()        -- looks OK
+ *      glutSolidSphere()       -- looks OK
+ *      glutWireCone()          -- looks OK
+ *      glutSolidCone()         -- looks OK
+ */
+
+
+/* -- INTERFACE FUNCTIONS -------------------------------------------------- */
+
+/*
+ * Draws a wireframed cube. Code contributed by Andreas Umbach <marvin@dataway.ch>
+ */
+void GLUTAPIENTRY glutWireCube( GLdouble dSize )
+{
+    double size = dSize * 0.5;
+
+#   define V(a,b,c) glVertex3d( a size, b size, c size );
+#   define N(a,b,c) glNormal3d( a, b, c );
+
+    /*
+     * PWO: I dared to convert the code to use macros...
+     */
+    glBegin( GL_LINE_LOOP ); N( 1.0, 0.0, 0.0); V(+,-,+); V(+,-,-); V(+,+,-); V(+,+,+); glEnd();
+    glBegin( GL_LINE_LOOP ); N( 0.0, 1.0, 0.0); V(+,+,+); V(+,+,-); V(-,+,-); V(-,+,+); glEnd();
+    glBegin( GL_LINE_LOOP ); N( 0.0, 0.0, 1.0); V(+,+,+); V(-,+,+); V(-,-,+); V(+,-,+); glEnd();
+    glBegin( GL_LINE_LOOP ); N(-1.0, 0.0, 0.0); V(-,-,+); V(-,+,+); V(-,+,-); V(-,-,-); glEnd();
+    glBegin( GL_LINE_LOOP ); N( 0.0,-1.0, 0.0); V(-,-,+); V(-,-,-); V(+,-,-); V(+,-,+); glEnd();
+    glBegin( GL_LINE_LOOP ); N( 0.0, 0.0,-1.0); V(-,-,-); V(-,+,-); V(+,+,-); V(+,-,-); glEnd();
+
+#   undef V
+#   undef N
+}
+
+/*
+ * Draws a solid cube. Code contributed by Andreas Umbach <marvin@dataway.ch>
+ */
+void GLUTAPIENTRY glutSolidCube( GLdouble dSize )
+{
+    double size = dSize * 0.5;
+
+#   define V(a,b,c) glVertex3d( a size, b size, c size );
+#   define N(a,b,c) glNormal3d( a, b, c );
+
+    /*
+     * PWO: Again, I dared to convert the code to use macros...
+     */
+    glBegin( GL_QUADS );
+        N( 1.0, 0.0, 0.0); V(+,-,+); V(+,-,-); V(+,+,-); V(+,+,+);
+        N( 0.0, 1.0, 0.0); V(+,+,+); V(+,+,-); V(-,+,-); V(-,+,+);
+        N( 0.0, 0.0, 1.0); V(+,+,+); V(-,+,+); V(-,-,+); V(+,-,+);
+        N(-1.0, 0.0, 0.0); V(-,-,+); V(-,+,+); V(-,+,-); V(-,-,-);
+        N( 0.0,-1.0, 0.0); V(-,-,+); V(-,-,-); V(+,-,-); V(+,-,+);
+        N( 0.0, 0.0,-1.0); V(-,-,-); V(-,+,-); V(+,+,-); V(+,-,-);
+    glEnd();
+
+#   undef V
+#   undef N
+}
+
+/*
+ * Compute lookup table of cos and sin values forming a cirle
+ *
+ * Notes:
+ *    It is the responsibility of the caller to free these tables
+ *    The size of the table is (n+1) to form a connected loop
+ *    The last entry is exactly the same as the first
+ *    The sign of n can be flipped to get the reverse loop
+ */
+
+static void circleTable(double **sint,double **cost,const int n)
+{
+    int i;
+
+    /* Table size, the sign of n flips the circle direction */
+
+    const int size = abs(n);
+
+    /* Determine the angle between samples */
+
+    const double angle = 2*M_PI/(double)n;
+
+    /* Allocate memory for n samples, plus duplicate of first entry at the end */
+
+    *sint = (double *) calloc(sizeof(double), size+1);
+    *cost = (double *) calloc(sizeof(double), size+1);
+
+    /* Bail out if memory allocation fails, fgError never returns */
+
+    if (!(*sint) || !(*cost))
+    {
+        free(*sint);
+        free(*cost);
+        _glut_fatal("Failed to allocate memory in circleTable");
+    }
+
+    /* Compute cos and sin around the circle */
+
+    for (i=0; i<size; i++)
+    {
+        (*sint)[i] = sin(angle*i);
+        (*cost)[i] = cos(angle*i);
+    }
+
+    /* Last sample is duplicate of the first */
+
+    (*sint)[size] = (*sint)[0];
+    (*cost)[size] = (*cost)[0];
+}
+
+/*
+ * Draws a solid sphere
+ */
+void GLUTAPIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)
+{
+    int i,j;
+
+    /* Adjust z and radius as stacks are drawn. */
+
+    double z0,z1;
+    double r0,r1;
+
+    /* Pre-computed circle */
+
+    double *sint1,*cost1;
+    double *sint2,*cost2;
+    circleTable(&sint1,&cost1,-slices);
+    circleTable(&sint2,&cost2,stacks*2);
+
+    /* The top stack is covered with a triangle fan */
+
+    z0 = 1.0;
+    z1 = cost2[1];
+    r0 = 0.0;
+    r1 = sint2[1];
+
+    glBegin(GL_TRIANGLE_FAN);
+
+        glNormal3d(0,0,1);
+        glVertex3d(0,0,radius);
+
+        for (j=slices; j>=0; j--)
+        {       
+            glNormal3d(cost1[j]*r1,        sint1[j]*r1,        z1       );
+            glVertex3d(cost1[j]*r1*radius, sint1[j]*r1*radius, z1*radius);
+        }
+
+    glEnd();
+
+    /* Cover each stack with a quad strip, except the top and bottom stacks */
+
+    for( i=1; i<stacks-1; i++ )
+    {
+        z0 = z1; z1 = cost2[i+1];
+        r0 = r1; r1 = sint2[i+1];
+
+        glBegin(GL_QUAD_STRIP);
+
+            for(j=0; j<=slices; j++)
+            {
+                glNormal3d(cost1[j]*r1,        sint1[j]*r1,        z1       );
+                glVertex3d(cost1[j]*r1*radius, sint1[j]*r1*radius, z1*radius);
+                glNormal3d(cost1[j]*r0,        sint1[j]*r0,        z0       );
+                glVertex3d(cost1[j]*r0*radius, sint1[j]*r0*radius, z0*radius);
+            }
+
+        glEnd();
+    }
+
+    /* The bottom stack is covered with a triangle fan */
+
+    z0 = z1;
+    r0 = r1;
+
+    glBegin(GL_TRIANGLE_FAN);
+
+        glNormal3d(0,0,-1);
+        glVertex3d(0,0,-radius);
+
+        for (j=0; j<=slices; j++)
+        {
+            glNormal3d(cost1[j]*r0,        sint1[j]*r0,        z0       );
+            glVertex3d(cost1[j]*r0*radius, sint1[j]*r0*radius, z0*radius);
+        }
+
+    glEnd();
+
+    /* Release sin and cos tables */
+
+    free(sint1);
+    free(cost1);
+    free(sint2);
+    free(cost2);
+}
+
+/*
+ * Draws a solid sphere
+ */
+void GLUTAPIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks)
+{
+    int i,j;
+
+    /* Adjust z and radius as stacks and slices are drawn. */
+
+    double r;
+    double x,y,z;
+
+    /* Pre-computed circle */
+        
+    double *sint1,*cost1;
+    double *sint2,*cost2;
+    circleTable(&sint1,&cost1,-slices  );
+    circleTable(&sint2,&cost2, stacks*2);
+
+    /* Draw a line loop for each stack */
+
+    for (i=1; i<stacks; i++)
+    {
+        z = cost2[i];
+        r = sint2[i];
+
+        glBegin(GL_LINE_LOOP);
+
+            for(j=0; j<=slices; j++)
+            {
+                x = cost1[j];
+                y = sint1[j];
+
+                glNormal3d(x,y,z);
+                glVertex3d(x*r*radius,y*r*radius,z*radius);
+            }
+
+        glEnd();
+    }
+
+    /* Draw a line loop for each slice */
+
+    for (i=0; i<slices; i++)
+    {
+        glBegin(GL_LINE_STRIP);
+
+            for(j=0; j<=stacks; j++)
+            {
+                x = cost1[i]*sint2[j];
+                y = sint1[i]*sint2[j];
+                z = cost2[j];
+
+                glNormal3d(x,y,z);
+                glVertex3d(x*radius,y*radius,z*radius);
+            }
+
+        glEnd();
+    }
+
+    /* Release sin and cos tables */
+
+    free(sint1);
+    free(cost1);
+    free(sint2);
+    free(cost2);
+}
+
+/*
+ * Draws a solid cone
+ */
+void GLUTAPIENTRY glutSolidCone( GLdouble base, GLdouble height, GLint slices, GLint stacks )
+{
+    int i,j;
+
+    /* Step in z and radius as stacks are drawn. */
+
+    double z0,z1;
+    double r0,r1;
+
+    const double zStep = height/stacks;
+    const double rStep = base/stacks;
+
+    /* Scaling factors for vertex normals */
+
+    const double cosn = ( height / sqrt ( height * height + base * base ));
+    const double sinn = ( base   / sqrt ( height * height + base * base ));
+
+    /* Pre-computed circle */
+
+    double *sint,*cost;
+    circleTable(&sint,&cost,-slices);
+
+    /* Cover the circular base with a triangle fan... */
+
+    z0 = 0.0;
+    z1 = zStep;
+
+    r0 = base;
+    r1 = r0 - rStep;
+
+    glBegin(GL_TRIANGLE_FAN);
+
+        glNormal3d(0.0,0.0,-1.0);
+        glVertex3d(0.0,0.0, z0 );
+
+        for (j=0; j<=slices; j++)
+            glVertex3d(cost[j]*r0, sint[j]*r0, z0);
+
+    glEnd();
+
+    /* Cover each stack with a quad strip, except the top stack */
+
+    for( i=0; i<stacks-1; i++ )
+    {
+        glBegin(GL_QUAD_STRIP);
+
+            for(j=0; j<=slices; j++)
+            {
+                glNormal3d(cost[j]*sinn, sint[j]*sinn, cosn);
+                glVertex3d(cost[j]*r0,   sint[j]*r0,   z0  );
+                glVertex3d(cost[j]*r1,   sint[j]*r1,   z1  );
+            }
+
+            z0 = z1; z1 += zStep;
+            r0 = r1; r1 -= rStep;
+
+        glEnd();
+    }
+
+    /* The top stack is covered with individual triangles */
+
+    glBegin(GL_TRIANGLES);
+
+        glNormal3d(cost[0]*sinn, sint[0]*sinn, cosn);
+
+        for (j=0; j<slices; j++)
+        {
+            glVertex3d(cost[j+0]*r0,   sint[j+0]*r0,   z0    );
+            glVertex3d(0,              0,              height);
+            glNormal3d(cost[j+1]*sinn, sint[j+1]*sinn, cosn  );
+            glVertex3d(cost[j+1]*r0,   sint[j+1]*r0,   z0    );
+        }
+
+    glEnd();
+
+    /* Release sin and cos tables */
+
+    free(sint);
+    free(cost);
+}
+
+/*
+ * Draws a wire cone
+ */
+void GLUTAPIENTRY glutWireCone( GLdouble base, GLdouble height, GLint slices, GLint stacks)
+{
+    int i,j;
+
+    /* Step in z and radius as stacks are drawn. */
+
+    double z = 0.0;
+    double r = base;
+
+    const double zStep = height/stacks;
+    const double rStep = base/stacks;
+
+    /* Scaling factors for vertex normals */
+
+    const double cosn = ( height / sqrt ( height * height + base * base ));
+    const double sinn = ( base   / sqrt ( height * height + base * base ));
+
+    /* Pre-computed circle */
+
+    double *sint,*cost;
+    circleTable(&sint,&cost,-slices);
+
+    /* Draw the stacks... */
+
+    for (i=0; i<stacks; i++)
+    {
+        glBegin(GL_LINE_LOOP);
+
+            for( j=0; j<slices; j++ )
+            {
+                glNormal3d(cost[j]*sinn, sint[j]*sinn, cosn);
+                glVertex3d(cost[j]*r,    sint[j]*r,    z   );
+            }
+
+        glEnd();
+
+        z += zStep;
+        r -= rStep;
+    }
+
+    /* Draw the slices */
+
+    r = base;
+
+    glBegin(GL_LINES);
+
+        for (j=0; j<slices; j++)
+        {
+            glNormal3d(cost[j]*sinn, sint[j]*sinn, cosn  );
+            glVertex3d(cost[j]*r,    sint[j]*r,    0.0   );
+            glVertex3d(0.0,          0.0,          height);
+        }
+
+    glEnd();
+
+    /* Release sin and cos tables */
+
+    free(sint);
+    free(cost);
+}
+
+
+/*
+ * Draws a solid cylinder
+ */
+void GLUTAPIENTRY glutSolidCylinder(GLdouble radius, GLdouble height, GLint slices, GLint stacks)
+{
+    int i,j;
+
+    /* Step in z and radius as stacks are drawn. */
+
+          double z0,z1;
+    const double zStep = height/stacks;
+
+    /* Pre-computed circle */
+
+    double *sint,*cost;
+    circleTable(&sint,&cost,-slices);
+
+    /* Cover the base and top */
+
+    glBegin(GL_TRIANGLE_FAN);
+        glNormal3d(0.0, 0.0, -1.0 );
+        glVertex3d(0.0, 0.0,  0.0 );
+        for (j=0; j<=slices; j++)
+          glVertex3d(cost[j]*radius, sint[j]*radius, 0.0);
+    glEnd();
+
+    glBegin(GL_TRIANGLE_FAN);
+        glNormal3d(0.0, 0.0, 1.0   );
+        glVertex3d(0.0, 0.0, height);
+        for (j=slices; j>=0; j--)
+          glVertex3d(cost[j]*radius, sint[j]*radius, height);
+    glEnd();
+
+    /* Do the stacks */
+
+    z0 = 0.0;
+    z1 = zStep;
+
+    for (i=1; i<=stacks; i++)
+    {
+        if (i==stacks)
+            z1 = height;
+
+        glBegin(GL_QUAD_STRIP);
+            for (j=0; j<=slices; j++ )
+            {
+                glNormal3d(cost[j],        sint[j],        0.0 );
+                glVertex3d(cost[j]*radius, sint[j]*radius, z0  );
+                glVertex3d(cost[j]*radius, sint[j]*radius, z1  );
+            }
+        glEnd();
+
+        z0 = z1; z1 += zStep;
+    }
+
+    /* Release sin and cos tables */
+
+    free(sint);
+    free(cost);
+}
+
+/*
+ * Draws a wire cylinder
+   */
+void GLUTAPIENTRY glutWireCylinder(GLdouble radius, GLdouble height, GLint slices, GLint stacks)
+{
+    int i,j;
+
+    /* Step in z and radius as stacks are drawn. */
+
+          double z = 0.0;
+    const double zStep = height/stacks;
+
+    /* Pre-computed circle */
+
+    double *sint,*cost;
+    circleTable(&sint,&cost,-slices);
+
+    /* Draw the stacks... */
+
+    for (i=0; i<=stacks; i++)
+    {
+        if (i==stacks)
+            z = height;
+
+        glBegin(GL_LINE_LOOP);
+
+            for( j=0; j<slices; j++ )
+            {
+                glNormal3d(cost[j],        sint[j],        0.0);
+                glVertex3d(cost[j]*radius, sint[j]*radius, z  );
+            }
+
+        glEnd();
+
+        z += zStep;
+    }
+
+    /* Draw the slices */
+
+    glBegin(GL_LINES);
+
+        for (j=0; j<slices; j++)
+        {
+            glNormal3d(cost[j],        sint[j],        0.0   );
+            glVertex3d(cost[j]*radius, sint[j]*radius, 0.0   );
+            glVertex3d(cost[j]*radius, sint[j]*radius, height);
+        }
+
+    glEnd();
+
+    /* Release sin and cos tables */
+
+    free(sint);
+    free(cost);
+}
+
+/*
+ *
+ */
+void GLUTAPIENTRY glutWireTorus( GLdouble dInnerRadius, GLdouble dOuterRadius, GLint nSides, GLint nRings )
+{
+  double  iradius = dInnerRadius, oradius = dOuterRadius, phi, psi, dpsi, dphi;
+  double *vertex, *normal;
+  int    i, j;
+  double spsi, cpsi, sphi, cphi ;
+
+  /*
+   * Allocate the vertices array
+   */
+  vertex = (double *)calloc( sizeof(double), 3 * nSides * nRings );
+  normal = (double *)calloc( sizeof(double), 3 * nSides * nRings );
+
+  glPushMatrix();
+
+  dpsi =  2.0 * M_PI / (double)nRings ;
+  dphi = -2.0 * M_PI / (double)nSides ;
+  psi  = 0.0;
+
+  for( j=0; j<nRings; j++ )
+  {
+    cpsi = cos ( psi ) ;
+    spsi = sin ( psi ) ;
+    phi = 0.0;
+
+    for( i=0; i<nSides; i++ )
+    {
+      int offset = 3 * ( j * nSides + i ) ;
+      cphi = cos ( phi ) ;
+      sphi = sin ( phi ) ;
+      *(vertex + offset + 0) = cpsi * ( oradius + cphi * iradius ) ;
+      *(vertex + offset + 1) = spsi * ( oradius + cphi * iradius ) ;
+      *(vertex + offset + 2) =                    sphi * iradius  ;
+      *(normal + offset + 0) = cpsi * cphi ;
+      *(normal + offset + 1) = spsi * cphi ;
+      *(normal + offset + 2) =        sphi ;
+      phi += dphi;
+    }
+
+    psi += dpsi;
+  }
+
+  for( i=0; i<nSides; i++ )
+  {
+    glBegin( GL_LINE_LOOP );
+
+    for( j=0; j<nRings; j++ )
+    {
+      int offset = 3 * ( j * nSides + i ) ;
+      glNormal3dv( normal + offset );
+      glVertex3dv( vertex + offset );
+    }
+
+    glEnd();
+  }
+
+  for( j=0; j<nRings; j++ )
+  {
+    glBegin(GL_LINE_LOOP);
+
+    for( i=0; i<nSides; i++ )
+    {
+      int offset = 3 * ( j * nSides + i ) ;
+      glNormal3dv( normal + offset );
+      glVertex3dv( vertex + offset );
+    }
+
+    glEnd();
+  }
+
+  free ( vertex ) ;
+  free ( normal ) ;
+  glPopMatrix();
+}
+
+/*
+ *
+ */
+void GLUTAPIENTRY glutSolidTorus( GLdouble dInnerRadius, GLdouble dOuterRadius, GLint nSides, GLint nRings )
+{
+  double  iradius = dInnerRadius, oradius = dOuterRadius, phi, psi, dpsi, dphi;
+  double *vertex, *normal;
+  int    i, j;
+  double spsi, cpsi, sphi, cphi ;
+
+  /*
+   * Increment the number of sides and rings to allow for one more point than surface
+   */
+  nSides ++ ;
+  nRings ++ ;
+
+  /*
+   * Allocate the vertices array
+   */
+  vertex = (double *)calloc( sizeof(double), 3 * nSides * nRings );
+  normal = (double *)calloc( sizeof(double), 3 * nSides * nRings );
+
+  glPushMatrix();
+
+  dpsi =  2.0 * M_PI / (double)(nRings - 1) ;
+  dphi = -2.0 * M_PI / (double)(nSides - 1) ;
+  psi  = 0.0;
+
+  for( j=0; j<nRings; j++ )
+  {
+    cpsi = cos ( psi ) ;
+    spsi = sin ( psi ) ;
+    phi = 0.0;
+
+    for( i=0; i<nSides; i++ )
+    {
+      int offset = 3 * ( j * nSides + i ) ;
+      cphi = cos ( phi ) ;
+      sphi = sin ( phi ) ;
+      *(vertex + offset + 0) = cpsi * ( oradius + cphi * iradius ) ;
+      *(vertex + offset + 1) = spsi * ( oradius + cphi * iradius ) ;
+      *(vertex + offset + 2) =                    sphi * iradius  ;
+      *(normal + offset + 0) = cpsi * cphi ;
+      *(normal + offset + 1) = spsi * cphi ;
+      *(normal + offset + 2) =        sphi ;
+      phi += dphi;
+    }
+
+    psi += dpsi;
+  }
+
+    glBegin( GL_QUADS );
+  for( i=0; i<nSides-1; i++ )
+  {
+    for( j=0; j<nRings-1; j++ )
+    {
+      int offset = 3 * ( j * nSides + i ) ;
+      glNormal3dv( normal + offset );
+      glVertex3dv( vertex + offset );
+      glNormal3dv( normal + offset + 3 );
+      glVertex3dv( vertex + offset + 3 );
+      glNormal3dv( normal + offset + 3 * nSides + 3 );
+      glVertex3dv( vertex + offset + 3 * nSides + 3 );
+      glNormal3dv( normal + offset + 3 * nSides );
+      glVertex3dv( vertex + offset + 3 * nSides );
+    }
+  }
+
+  glEnd();
+
+  free ( vertex ) ;
+  free ( normal ) ;
+  glPopMatrix();
+}
+
+/*
+ *
+ */
+void GLUTAPIENTRY glutWireDodecahedron( void )
+{
+  /* Magic Numbers:  It is possible to create a dodecahedron by attaching two pentagons to each face of
+   * of a cube.  The coordinates of the points are:
+   *   (+-x,0, z); (+-1, 1, 1); (0, z, x )
+   * where x = 0.61803398875 and z = 1.61803398875.
+   */
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d (  0.0,  0.525731112119,  0.850650808354 ) ; glVertex3d (  0.0,  1.61803398875,  0.61803398875 ) ; glVertex3d ( -1.0,  1.0,  1.0 ) ; glVertex3d ( -0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d (  0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d (  1.0,  1.0,  1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d (  0.0,  0.525731112119, -0.850650808354 ) ; glVertex3d (  0.0,  1.61803398875, -0.61803398875 ) ; glVertex3d (  1.0,  1.0, -1.0 ) ; glVertex3d (  0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -1.0,  1.0, -1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d (  0.0, -0.525731112119,  0.850650808354 ) ; glVertex3d (  0.0, -1.61803398875,  0.61803398875 ) ; glVertex3d (  1.0, -1.0,  1.0 ) ; glVertex3d (  0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d ( -0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d ( -1.0, -1.0,  1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d (  0.0, -0.525731112119, -0.850650808354 ) ; glVertex3d (  0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d (  0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d (  1.0, -1.0, -1.0 ) ;
+  glEnd () ;
+
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d (  0.850650808354,  0.0,  0.525731112119 ) ; glVertex3d (  0.61803398875,  0.0,  1.61803398875 ) ; glVertex3d (  1.0, -1.0,  1.0 ) ; glVertex3d (  1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d (  1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d (  1.0,  1.0,  1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d ( -0.850650808354,  0.0,  0.525731112119 ) ; glVertex3d ( -0.61803398875,  0.0,  1.61803398875 ) ; glVertex3d ( -1.0,  1.0,  1.0 ) ; glVertex3d ( -1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.0, -1.0,  1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d (  0.850650808354,  0.0, -0.525731112119 ) ; glVertex3d (  0.61803398875,  0.0, -1.61803398875 ) ; glVertex3d (  1.0,  1.0, -1.0 ) ; glVertex3d (  1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d (  1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d (  1.0, -1.0, -1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d ( -0.850650808354,  0.0, -0.525731112119 ) ; glVertex3d ( -0.61803398875,  0.0, -1.61803398875 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d ( -1.0,  1.0, -1.0 ) ;
+  glEnd () ;
+
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d (  0.525731112119,  0.850650808354,  0.0 ) ; glVertex3d (  1.61803398875,  0.61803398875,  0.0 ) ; glVertex3d (  1.0,  1.0, -1.0 ) ; glVertex3d ( 0.0,  1.61803398875, -0.61803398875 ) ; glVertex3d ( 0.0,  1.61803398875,  0.61803398875 ) ; glVertex3d (  1.0,  1.0,  1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d (  0.525731112119, -0.850650808354,  0.0 ) ; glVertex3d (  1.61803398875, -0.61803398875,  0.0 ) ; glVertex3d (  1.0, -1.0,  1.0 ) ; glVertex3d ( 0.0, -1.61803398875,  0.61803398875 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d (  1.0, -1.0, -1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d ( -0.525731112119,  0.850650808354,  0.0 ) ; glVertex3d ( -1.61803398875,  0.61803398875,  0.0 ) ; glVertex3d ( -1.0,  1.0,  1.0 ) ; glVertex3d ( 0.0,  1.61803398875,  0.61803398875 ) ; glVertex3d ( 0.0,  1.61803398875, -0.61803398875 ) ; glVertex3d ( -1.0,  1.0, -1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_LINE_LOOP ) ;
+  glNormal3d ( -0.525731112119, -0.850650808354,  0.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875,  0.0 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( 0.0, -1.61803398875,  0.61803398875 ) ; glVertex3d ( -1.0, -1.0,  1.0 ) ;
+  glEnd () ;
+}
+
+/*
+ *
+ */
+void GLUTAPIENTRY glutSolidDodecahedron( void )
+{
+  /* Magic Numbers:  It is possible to create a dodecahedron by attaching two pentagons to each face of
+   * of a cube.  The coordinates of the points are:
+   *   (+-x,0, z); (+-1, 1, 1); (0, z, x )
+   * where x = 0.61803398875 and z = 1.61803398875.
+   */
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d (  0.0,  0.525731112119,  0.850650808354 ) ; glVertex3d (  0.0,  1.61803398875,  0.61803398875 ) ; glVertex3d ( -1.0,  1.0,  1.0 ) ; glVertex3d ( -0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d (  0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d (  1.0,  1.0,  1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d (  0.0,  0.525731112119, -0.850650808354 ) ; glVertex3d (  0.0,  1.61803398875, -0.61803398875 ) ; glVertex3d (  1.0,  1.0, -1.0 ) ; glVertex3d (  0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d ( -1.0,  1.0, -1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d (  0.0, -0.525731112119,  0.850650808354 ) ; glVertex3d (  0.0, -1.61803398875,  0.61803398875 ) ; glVertex3d (  1.0, -1.0,  1.0 ) ; glVertex3d (  0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d ( -0.61803398875, 0.0,  1.61803398875 ) ; glVertex3d ( -1.0, -1.0,  1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d (  0.0, -0.525731112119, -0.850650808354 ) ; glVertex3d (  0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( -0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d (  0.61803398875, 0.0, -1.61803398875 ) ; glVertex3d (  1.0, -1.0, -1.0 ) ;
+  glEnd () ;
+
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d (  0.850650808354,  0.0,  0.525731112119 ) ; glVertex3d (  0.61803398875,  0.0,  1.61803398875 ) ; glVertex3d (  1.0, -1.0,  1.0 ) ; glVertex3d (  1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d (  1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d (  1.0,  1.0,  1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d ( -0.850650808354,  0.0,  0.525731112119 ) ; glVertex3d ( -0.61803398875,  0.0,  1.61803398875 ) ; glVertex3d ( -1.0,  1.0,  1.0 ) ; glVertex3d ( -1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.0, -1.0,  1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d (  0.850650808354,  0.0, -0.525731112119 ) ; glVertex3d (  0.61803398875,  0.0, -1.61803398875 ) ; glVertex3d (  1.0,  1.0, -1.0 ) ; glVertex3d (  1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d (  1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d (  1.0, -1.0, -1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d ( -0.850650808354,  0.0, -0.525731112119 ) ; glVertex3d ( -0.61803398875,  0.0, -1.61803398875 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875, 0.0 ) ; glVertex3d ( -1.61803398875,  0.61803398875, 0.0 ) ; glVertex3d ( -1.0,  1.0, -1.0 ) ;
+  glEnd () ;
+
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d (  0.525731112119,  0.850650808354,  0.0 ) ; glVertex3d (  1.61803398875,  0.61803398875,  0.0 ) ; glVertex3d (  1.0,  1.0, -1.0 ) ; glVertex3d ( 0.0,  1.61803398875, -0.61803398875 ) ; glVertex3d ( 0.0,  1.61803398875,  0.61803398875 ) ; glVertex3d (  1.0,  1.0,  1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d (  0.525731112119, -0.850650808354,  0.0 ) ; glVertex3d (  1.61803398875, -0.61803398875,  0.0 ) ; glVertex3d (  1.0, -1.0,  1.0 ) ; glVertex3d ( 0.0, -1.61803398875,  0.61803398875 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d (  1.0, -1.0, -1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d ( -0.525731112119,  0.850650808354,  0.0 ) ; glVertex3d ( -1.61803398875,  0.61803398875,  0.0 ) ; glVertex3d ( -1.0,  1.0,  1.0 ) ; glVertex3d ( 0.0,  1.61803398875,  0.61803398875 ) ; glVertex3d ( 0.0,  1.61803398875, -0.61803398875 ) ; glVertex3d ( -1.0,  1.0, -1.0 ) ;
+  glEnd () ;
+  glBegin ( GL_POLYGON ) ;
+  glNormal3d ( -0.525731112119, -0.850650808354,  0.0 ) ; glVertex3d ( -1.61803398875, -0.61803398875,  0.0 ) ; glVertex3d ( -1.0, -1.0, -1.0 ) ; glVertex3d ( 0.0, -1.61803398875, -0.61803398875 ) ; glVertex3d ( 0.0, -1.61803398875,  0.61803398875 ) ; glVertex3d ( -1.0, -1.0,  1.0 ) ;
+  glEnd () ;
+}
+
+/*
+ *
+ */
+void GLUTAPIENTRY glutWireOctahedron( void )
+{
+#define RADIUS    1.0f
+  glBegin( GL_LINE_LOOP );
+    glNormal3d( 0.577350269189, 0.577350269189, 0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
+    glNormal3d( 0.577350269189, 0.577350269189,-0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
+    glNormal3d( 0.577350269189,-0.577350269189, 0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
+    glNormal3d( 0.577350269189,-0.577350269189,-0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
+    glNormal3d(-0.577350269189, 0.577350269189, 0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
+    glNormal3d(-0.577350269189, 0.577350269189,-0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
+    glNormal3d(-0.577350269189,-0.577350269189, 0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
+    glNormal3d(-0.577350269189,-0.577350269189,-0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
+  glEnd();
+#undef RADIUS
+}
+
+/*
+ *
+ */
+void GLUTAPIENTRY glutSolidOctahedron( void )
+{
+#define RADIUS    1.0f
+  glBegin( GL_TRIANGLES );
+    glNormal3d( 0.577350269189, 0.577350269189, 0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
+    glNormal3d( 0.577350269189, 0.577350269189,-0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
+    glNormal3d( 0.577350269189,-0.577350269189, 0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
+    glNormal3d( 0.577350269189,-0.577350269189,-0.577350269189); glVertex3d( RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
+    glNormal3d(-0.577350269189, 0.577350269189, 0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
+    glNormal3d(-0.577350269189, 0.577350269189,-0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0, RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
+    glNormal3d(-0.577350269189,-0.577350269189, 0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0, RADIUS );
+    glNormal3d(-0.577350269189,-0.577350269189,-0.577350269189); glVertex3d(-RADIUS, 0.0, 0.0 ); glVertex3d( 0.0,-RADIUS, 0.0 ); glVertex3d( 0.0, 0.0,-RADIUS );
+  glEnd();
+#undef RADIUS
+}
+
+/*
+ *
+ */
+void GLUTAPIENTRY glutWireTetrahedron( void )
+{
+  /* Magic Numbers:  r0 = ( 1, 0, 0 )
+   *                 r1 = ( -1/3, 2 sqrt(2) / 3, 0 )
+   *                 r2 = ( -1/3, -sqrt(2) / 3, sqrt(6) / 3 )
+   *                 r3 = ( -1/3, -sqrt(2) / 3, -sqrt(6) / 3 )
+   * |r0| = |r1| = |r2| = |r3| = 1
+   * Distance between any two points is 2 sqrt(6) / 3
+   *
+   * Normals:  The unit normals are simply the negative of the coordinates of the point not on the surface.
+   */
+
+  double r0[3] = {             1.0,             0.0,             0.0 } ;
+  double r1[3] = { -0.333333333333,  0.942809041582,             0.0 } ;
+  double r2[3] = { -0.333333333333, -0.471404520791,  0.816496580928 } ;
+  double r3[3] = { -0.333333333333, -0.471404520791, -0.816496580928 } ;
+
+  glBegin( GL_LINE_LOOP ) ;
+    glNormal3d (           -1.0,             0.0,             0.0 ) ; glVertex3dv ( r1 ) ; glVertex3dv ( r3 ) ; glVertex3dv ( r2 ) ;
+    glNormal3d ( 0.333333333333, -0.942809041582,             0.0 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r2 ) ; glVertex3dv ( r3 ) ;
+    glNormal3d ( 0.333333333333,  0.471404520791, -0.816496580928 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r3 ) ; glVertex3dv ( r1 ) ;
+    glNormal3d ( 0.333333333333,  0.471404520791,  0.816496580928 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r1 ) ; glVertex3dv ( r2 ) ;
+  glEnd() ;
+}
+
+/*
+ *
+ */
+void GLUTAPIENTRY glutSolidTetrahedron( void )
+{
+  /* Magic Numbers:  r0 = ( 1, 0, 0 )
+   *                 r1 = ( -1/3, 2 sqrt(2) / 3, 0 )
+   *                 r2 = ( -1/3, -sqrt(2) / 3, sqrt(6) / 3 )
+   *                 r3 = ( -1/3, -sqrt(2) / 3, -sqrt(6) / 3 )
+   * |r0| = |r1| = |r2| = |r3| = 1
+   * Distance between any two points is 2 sqrt(6) / 3
+   *
+   * Normals:  The unit normals are simply the negative of the coordinates of the point not on the surface.
+   */
+
+  double r0[3] = {             1.0,             0.0,             0.0 } ;
+  double r1[3] = { -0.333333333333,  0.942809041582,             0.0 } ;
+  double r2[3] = { -0.333333333333, -0.471404520791,  0.816496580928 } ;
+  double r3[3] = { -0.333333333333, -0.471404520791, -0.816496580928 } ;
+
+  glBegin( GL_TRIANGLES ) ;
+    glNormal3d (           -1.0,             0.0,             0.0 ) ; glVertex3dv ( r1 ) ; glVertex3dv ( r3 ) ; glVertex3dv ( r2 ) ;
+    glNormal3d ( 0.333333333333, -0.942809041582,             0.0 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r2 ) ; glVertex3dv ( r3 ) ;
+    glNormal3d ( 0.333333333333,  0.471404520791, -0.816496580928 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r3 ) ; glVertex3dv ( r1 ) ;
+    glNormal3d ( 0.333333333333,  0.471404520791,  0.816496580928 ) ; glVertex3dv ( r0 ) ; glVertex3dv ( r1 ) ; glVertex3dv ( r2 ) ;
+  glEnd() ;
+}
+
+/*
+ *
+ */
+double icos_r[12][3] = { { 1.0, 0.0, 0.0 },
+  {  0.447213595500,  0.894427191000, 0.0 }, {  0.447213595500,  0.276393202252, 0.850650808354 }, {  0.447213595500, -0.723606797748, 0.525731112119 }, {  0.447213595500, -0.723606797748, -0.525731112119 }, {  0.447213595500,  0.276393202252, -0.850650808354 },
+  { -0.447213595500, -0.894427191000, 0.0 }, { -0.447213595500, -0.276393202252, 0.850650808354 }, { -0.447213595500,  0.723606797748, 0.525731112119 }, { -0.447213595500,  0.723606797748, -0.525731112119 }, { -0.447213595500, -0.276393202252, -0.850650808354 },
+  { -1.0, 0.0, 0.0 } } ;
+int icos_v [20][3] = { { 0, 1, 2 }, { 0, 2, 3 }, { 0, 3, 4 }, { 0, 4, 5 }, { 0, 5, 1 },
+                       { 1, 8, 2 }, { 2, 7, 3 }, { 3, 6, 4 }, { 4, 10, 5 }, { 5, 9, 1 },
+                       { 1, 9, 8 }, { 2, 8, 7 }, { 3, 7, 6 }, { 4, 6, 10 }, { 5, 10, 9 },
+                       { 11, 9, 10 }, { 11, 8, 9 }, { 11, 7, 8 }, { 11, 6, 7 }, { 11, 10, 6 } } ;
+
+void GLUTAPIENTRY glutWireIcosahedron( void )
+{
+  int i ;
+  for ( i = 0; i < 20; i++ )
+  {
+    double normal[3] ;
+    normal[0] = ( icos_r[icos_v[i][1]][1] - icos_r[icos_v[i][0]][1] ) * ( icos_r[icos_v[i][2]][2] - icos_r[icos_v[i][0]][2] ) - ( icos_r[icos_v[i][1]][2] - icos_r[icos_v[i][0]][2] ) * ( icos_r[icos_v[i][2]][1] - icos_r[icos_v[i][0]][1] ) ;
+    normal[1] = ( icos_r[icos_v[i][1]][2] - icos_r[icos_v[i][0]][2] ) * ( icos_r[icos_v[i][2]][0] - icos_r[icos_v[i][0]][0] ) - ( icos_r[icos_v[i][1]][0] - icos_r[icos_v[i][0]][0] ) * ( icos_r[icos_v[i][2]][2] - icos_r[icos_v[i][0]][2] ) ;
+    normal[2] = ( icos_r[icos_v[i][1]][0] - icos_r[icos_v[i][0]][0] ) * ( icos_r[icos_v[i][2]][1] - icos_r[icos_v[i][0]][1] ) - ( icos_r[icos_v[i][1]][1] - icos_r[icos_v[i][0]][1] ) * ( icos_r[icos_v[i][2]][0] - icos_r[icos_v[i][0]][0] ) ;
+    glBegin ( GL_LINE_LOOP ) ;
+      glNormal3dv ( normal ) ;
+      glVertex3dv ( icos_r[icos_v[i][0]] ) ;
+      glVertex3dv ( icos_r[icos_v[i][1]] ) ;
+      glVertex3dv ( icos_r[icos_v[i][2]] ) ;
+    glEnd () ;
+  }
+}
+
+/*
+ *
+ */
+void GLUTAPIENTRY glutSolidIcosahedron( void )
+{
+  int i ;
+
+  glBegin ( GL_TRIANGLES ) ;
+  for ( i = 0; i < 20; i++ )
+  {
+    double normal[3] ;
+    normal[0] = ( icos_r[icos_v[i][1]][1] - icos_r[icos_v[i][0]][1] ) * ( icos_r[icos_v[i][2]][2] - icos_r[icos_v[i][0]][2] ) - ( icos_r[icos_v[i][1]][2] - icos_r[icos_v[i][0]][2] ) * ( icos_r[icos_v[i][2]][1] - icos_r[icos_v[i][0]][1] ) ;
+    normal[1] = ( icos_r[icos_v[i][1]][2] - icos_r[icos_v[i][0]][2] ) * ( icos_r[icos_v[i][2]][0] - icos_r[icos_v[i][0]][0] ) - ( icos_r[icos_v[i][1]][0] - icos_r[icos_v[i][0]][0] ) * ( icos_r[icos_v[i][2]][2] - icos_r[icos_v[i][0]][2] ) ;
+    normal[2] = ( icos_r[icos_v[i][1]][0] - icos_r[icos_v[i][0]][0] ) * ( icos_r[icos_v[i][2]][1] - icos_r[icos_v[i][0]][1] ) - ( icos_r[icos_v[i][1]][1] - icos_r[icos_v[i][0]][1] ) * ( icos_r[icos_v[i][2]][0] - icos_r[icos_v[i][0]][0] ) ;
+      glNormal3dv ( normal ) ;
+      glVertex3dv ( icos_r[icos_v[i][0]] ) ;
+      glVertex3dv ( icos_r[icos_v[i][1]] ) ;
+      glVertex3dv ( icos_r[icos_v[i][2]] ) ;
+  }
+
+  glEnd () ;
+}
+
+/*
+ *
+ */
+double rdod_r[14][3] = { { 0.0, 0.0, 1.0 },
+  {  0.707106781187,  0.000000000000,  0.5 }, {  0.000000000000,  0.707106781187,  0.5 }, { -0.707106781187,  0.000000000000,  0.5 }, {  0.000000000000, -0.707106781187,  0.5 },
+  {  0.707106781187,  0.707106781187,  0.0 }, { -0.707106781187,  0.707106781187,  0.0 }, { -0.707106781187, -0.707106781187,  0.0 }, {  0.707106781187, -0.707106781187,  0.0 },
+  {  0.707106781187,  0.000000000000, -0.5 }, {  0.000000000000,  0.707106781187, -0.5 }, { -0.707106781187,  0.000000000000, -0.5 }, {  0.000000000000, -0.707106781187, -0.5 },
+  {  0.0, 0.0, -1.0 } } ;
+int rdod_v [12][4] = { { 0,  1,  5,  2 }, { 0,  2,  6,  3 }, { 0,  3,  7,  4 }, { 0,  4,  8, 1 },
+                       { 5, 10,  6,  2 }, { 6, 11,  7,  3 }, { 7, 12,  8,  4 }, { 8,  9,  5, 1 },
+                       { 5,  9, 13, 10 }, { 6, 10, 13, 11 }, { 7, 11, 13, 12 }, { 8, 12, 13, 9 } } ;
+double rdod_n[12][3] = {
+  {  0.353553390594,  0.353553390594,  0.5 }, { -0.353553390594,  0.353553390594,  0.5 }, { -0.353553390594, -0.353553390594,  0.5 }, {  0.353553390594, -0.353553390594,  0.5 },
+  {  0.000000000000,  1.000000000000,  0.0 }, { -1.000000000000,  0.000000000000,  0.0 }, {  0.000000000000, -1.000000000000,  0.0 }, {  1.000000000000,  0.000000000000,  0.0 },
+  {  0.353553390594,  0.353553390594, -0.5 }, { -0.353553390594,  0.353553390594, -0.5 }, { -0.353553390594, -0.353553390594, -0.5 }, {  0.353553390594, -0.353553390594, -0.5 }
+  } ;
+
+void GLUTAPIENTRY glutWireRhombicDodecahedron( void )
+{
+  int i ;
+  for ( i = 0; i < 12; i++ )
+  {
+    glBegin ( GL_LINE_LOOP ) ;
+      glNormal3dv ( rdod_n[i] ) ;
+      glVertex3dv ( rdod_r[rdod_v[i][0]] ) ;
+      glVertex3dv ( rdod_r[rdod_v[i][1]] ) ;
+      glVertex3dv ( rdod_r[rdod_v[i][2]] ) ;
+      glVertex3dv ( rdod_r[rdod_v[i][3]] ) ;
+    glEnd () ;
+  }
+}
+
+/*
+ *
+ */
+void GLUTAPIENTRY glutSolidRhombicDodecahedron( void )
+{
+  int i ;
+
+  glBegin ( GL_QUADS ) ;
+  for ( i = 0; i < 12; i++ )
+  {
+      glNormal3dv ( rdod_n[i] ) ;
+      glVertex3dv ( rdod_r[rdod_v[i][0]] ) ;
+      glVertex3dv ( rdod_r[rdod_v[i][1]] ) ;
+      glVertex3dv ( rdod_r[rdod_v[i][2]] ) ;
+      glVertex3dv ( rdod_r[rdod_v[i][3]] ) ;
+  }
+
+  glEnd () ;
+}
+
+#define NUM_FACES     4
+
+static GLdouble tetrahedron_v[4][3] =  /* Vertices */
+{
+  { -0.5, -0.288675134595, -0.144337567297 },
+  {  0.5, -0.288675134595, -0.144337567297 },
+  {  0.0,  0.577350269189, -0.144337567297 },
+  {  0.0,  0.0,             0.672159013631 }
+} ;
+
+static GLint tetrahedron_i[4][3] =  /* Vertex indices */
+{
+  { 0, 1, 2 }, { 0, 2, 3 }, { 0, 3, 1 }, { 1, 3, 2 }
+} ;
+
+static GLdouble tetrahedron_n[4][3] =  /* Normals */
+{
+  {  0.0,             0.0,            -1.0 },
+  { -0.816496580928,  0.471404520791,  0.333333333333 },
+  {  0.0,            -0.942809041582,  0.333333333333 },
+  {  0.816496580928,  0.471404520791,  0.333333333333 }
+} ;
+
+void GLUTAPIENTRY glutWireSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale )
+{
+  int i, j ;
+
+  if ( num_levels == 0 )
+  {
+
+    for ( i = 0 ; i < NUM_FACES ; i++ )
+    {
+      glBegin ( GL_LINE_LOOP ) ;
+      glNormal3dv ( tetrahedron_n[i] ) ;
+      for ( j = 0; j < 3; j++ )
+      {
+        double x = offset[0] + scale * tetrahedron_v[tetrahedron_i[i][j]][0] ;
+        double y = offset[1] + scale * tetrahedron_v[tetrahedron_i[i][j]][1] ;
+        double z = offset[2] + scale * tetrahedron_v[tetrahedron_i[i][j]][2] ;
+        glVertex3d ( x, y, z ) ;
+      }
+
+      glEnd () ;
+    }
+  }
+  else
+  {
+    GLdouble local_offset[3] ;  /* Use a local variable to avoid buildup of roundoff errors */
+    num_levels -- ;
+    scale /= 2.0 ;
+    local_offset[0] = offset[0] + scale * tetrahedron_v[0][0] ;
+    local_offset[1] = offset[1] + scale * tetrahedron_v[0][1] ;
+    local_offset[2] = offset[2] + scale * tetrahedron_v[0][2] ;
+    glutWireSierpinskiSponge ( num_levels, local_offset, scale ) ;
+    local_offset[0] += scale ;
+    glutWireSierpinskiSponge ( num_levels, local_offset, scale ) ;
+    local_offset[0] -= 0.5            * scale ;
+    local_offset[1] += 0.866025403784 * scale ;
+    glutWireSierpinskiSponge ( num_levels, local_offset, scale ) ;
+    local_offset[1] -= 0.577350269189 * scale ;
+    local_offset[2] += 0.816496580928 * scale ;
+    glutWireSierpinskiSponge ( num_levels, local_offset, scale ) ;
+  }
+}
+
+void GLUTAPIENTRY glutSolidSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale )
+{
+  int i, j ;
+
+  if ( num_levels == 0 )
+  {
+    glBegin ( GL_TRIANGLES ) ;
+
+    for ( i = 0 ; i < NUM_FACES ; i++ )
+    {
+      glNormal3dv ( tetrahedron_n[i] ) ;
+      for ( j = 0; j < 3; j++ )
+      {
+        double x = offset[0] + scale * tetrahedron_v[tetrahedron_i[i][j]][0] ;
+        double y = offset[1] + scale * tetrahedron_v[tetrahedron_i[i][j]][1] ;
+        double z = offset[2] + scale * tetrahedron_v[tetrahedron_i[i][j]][2] ;
+        glVertex3d ( x, y, z ) ;
+      }
+    }
+
+    glEnd () ;
+  }
+  else
+  {
+    GLdouble local_offset[3] ;  /* Use a local variable to avoid buildup of roundoff errors */
+    num_levels -- ;
+    scale /= 2.0 ;
+    local_offset[0] = offset[0] + scale * tetrahedron_v[0][0] ;
+    local_offset[1] = offset[1] + scale * tetrahedron_v[0][1] ;
+    local_offset[2] = offset[2] + scale * tetrahedron_v[0][2] ;
+    glutSolidSierpinskiSponge ( num_levels, local_offset, scale ) ;
+    local_offset[0] += scale ;
+    glutSolidSierpinskiSponge ( num_levels, local_offset, scale ) ;
+    local_offset[0] -= 0.5            * scale ;
+    local_offset[1] += 0.866025403784 * scale ;
+    glutSolidSierpinskiSponge ( num_levels, local_offset, scale ) ;
+    local_offset[1] -= 0.577350269189 * scale ;
+    local_offset[2] += 0.816496580928 * scale ;
+    glutSolidSierpinskiSponge ( num_levels, local_offset, scale ) ;
+  }
+}
+
+#undef NUM_FACES
+
+/*** END OF FILE ***/
index 4f74f2430429b82245191a65af0190fb1a48aeb0..b0d5d8ae92345976ef094ffe21c17bc5cc38527c 100644 (file)
@@ -1,35 +1,31 @@
 /*
- * Mesa 3-D graphics library
- * Version:  3.4
- * Copyright (C) 1995-1998  Brian Paul
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.5 for Mesa
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
  *
- *  Copyright (C) 2002 - Daniel Borca
- *  Email : dborca@yahoo.com
- *  Web   : http://www.geocities.com/dborca
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
 #include <stdio.h>
 
-#include "glutint.h"
+#include "internal.h"
 
 
 #define FREQUENCY 100 /* set this to zero to use the default timer */
@@ -58,35 +54,35 @@ glutGet (GLenum type)
 {
    switch (type) {
       case GLUT_WINDOW_X:
-         return g_curwin->xpos;
+         return _glut_current->xpos;
       case GLUT_WINDOW_Y:
-         return g_curwin->ypos;
+         return _glut_current->ypos;
       case GLUT_WINDOW_WIDTH:
-         return g_curwin->width;
+         return _glut_current->width;
       case GLUT_WINDOW_HEIGHT:
-         return g_curwin->height;
+         return _glut_current->height;
       case GLUT_WINDOW_STENCIL_SIZE:
-         return g_stencil;
+         return _glut_visual.stencil;
       case GLUT_WINDOW_DEPTH_SIZE:
-         return g_depth;
+         return _glut_visual.depth;
       case GLUT_WINDOW_RGBA:
-         return !(g_display_mode & GLUT_INDEX);
+         return !(_glut_default.mode & GLUT_INDEX);
       case GLUT_WINDOW_COLORMAP_SIZE:
-         return (g_display_mode & GLUT_INDEX) ? (256 - RESERVED_COLORS) : 0;
+         return (_glut_default.mode & GLUT_INDEX) ? (256 - RESERVED_COLORS) : 0;
       case GLUT_SCREEN_WIDTH:
-         return g_screen_w;
+         return _glut_visual.geometry[0];
       case GLUT_SCREEN_HEIGHT:
-         return g_screen_h;
+         return _glut_visual.geometry[1];
       case GLUT_INIT_WINDOW_X:
-         return g_init_x;
+         return _glut_default.x;
       case GLUT_INIT_WINDOW_Y:
-         return g_init_y;
+         return _glut_default.y;
       case GLUT_INIT_WINDOW_WIDTH:
-         return g_init_w;
+         return _glut_default.width;
       case GLUT_INIT_WINDOW_HEIGHT:
-         return g_init_h;
+         return _glut_default.height;
       case GLUT_INIT_DISPLAY_MODE:
-         return g_display_mode;
+         return _glut_default.mode;
       case GLUT_ELAPSED_TIME:
 #if FREQUENCY
          if (!timer_installed) {
@@ -121,9 +117,9 @@ glutDeviceGet (GLenum type)
       case GLUT_HAS_KEYBOARD:
          return GL_TRUE;
       case GLUT_HAS_MOUSE:
-         return (g_mouse != 0);
+         return (_glut_mouse != 0);
       case GLUT_NUM_MOUSE_BUTTONS:
-         return g_mouse;
+         return _glut_mouse;
       case GLUT_HAS_SPACEBALL:
       case GLUT_HAS_DIAL_AND_BUTTON_BOX:
       case GLUT_HAS_TABLET:
@@ -161,10 +157,17 @@ glutGetModifiers (void)
 }
 
 
+void APIENTRY
+glutReportErrors (void)
+{
+   /* reports all the OpenGL errors that happened till now */
+}
+
+
 /* GAME MODE
  * Hack alert: incomplete... what is GameMode, anyway?
  */
-GLint g_game;
+static GLint game;
 static GLboolean game_possible;
 static GLboolean game_active;
 static GLuint game_width;
@@ -189,7 +192,7 @@ glutGameModeGet (GLenum mode)
       case GLUT_GAME_MODE_ACTIVE:
          return game_active;
       case GLUT_GAME_MODE_POSSIBLE:
-         return game_possible && !g_curwin;
+         return game_possible && !_glut_current;
       case GLUT_GAME_MODE_WIDTH:
          return game_active ? (int)game_width : -1;
       case GLUT_GAME_MODE_HEIGHT:
@@ -208,16 +211,16 @@ int APIENTRY
 glutEnterGameMode (void)
 {
    if (glutGameModeGet(GLUT_GAME_MODE_POSSIBLE)) {
-      g_bpp = game_bpp;
-      g_refresh = game_refresh;
+      _glut_visual.bpp = game_bpp;
+      _glut_visual.refresh = game_refresh;
 
       glutInitWindowSize(game_width, game_height);
 
-      if ((g_game = glutCreateWindow("<game>")) > 0) {
+      if ((game = glutCreateWindow("<game>")) > 0) {
          game_active = GL_TRUE;
       }
 
-      return g_game;
+      return game;
    } else {
       return 0;
    }
@@ -230,6 +233,6 @@ glutLeaveGameMode (void)
    if (glutGameModeGet(GLUT_GAME_MODE_ACTIVE)) {
       game_active = GL_FALSE;
 
-      glutDestroyWindow(g_game);
+      glutDestroyWindow(game);
    }
 }
diff --git a/src/glut/dos/stroke.c b/src/glut/dos/stroke.c
new file mode 100644 (file)
index 0000000..aa2c06a
--- /dev/null
@@ -0,0 +1,118 @@
+/*
+ * FxGLUT version 0.12 - GLUT for Voodoo 1 and 2 under Linux
+ * Copyright (C) 1999 Christopher John Purnell
+ *                    cjp@lost.org.uk
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include "internal.h"
+
+
+void
+glutStrokeCharacter (void *font, int c)
+{
+   const GLUTStrokeFont *sfp = _glut_font(font);
+   const GLUTStrokeChar *scp;
+   const GLUTStrokeStrip *ssp;
+   const GLUTStrokeVertex *svp;
+   unsigned i, j;
+
+   if (((unsigned)c) >= sfp->num || !(scp = sfp->table[c]))
+      return;
+
+   ssp = scp->strip;
+
+   for (i = 0; i < scp->num; i++, ssp++) {
+      svp = ssp->vertex;
+
+      glBegin(GL_LINE_STRIP);
+      for (j = 0; j < ssp->num; j++, svp++) {
+         glVertex2f(svp->x, svp->y);
+      }
+      glEnd();
+   }
+
+   glTranslatef(scp->right, 0.0, 0.0);
+}
+
+
+void
+glutStrokeString (void *font, const unsigned char *string)
+{
+   const GLUTStrokeFont *sfp = _glut_font(font);
+   const GLUTStrokeChar *scp;
+   const GLUTStrokeStrip *ssp;
+   const GLUTStrokeVertex *svp;
+   unsigned char c;
+   unsigned i, j;
+
+   while ((c = *(string++))) {
+      if (c < sfp->num && (scp = sfp->table[c])) {
+         ssp = scp->strip;
+
+         for (i = 0; i < scp->num; i++, ssp++) {
+            svp = ssp->vertex;
+
+            glBegin(GL_LINE_STRIP);
+            for (j = 0; j < ssp->num; j++, svp++) {
+               glVertex2f(svp->x, svp->y);
+            }
+            glEnd();
+         }
+
+         glTranslatef(scp->right, 0.0, 0.0);
+      }
+   }
+}
+
+
+int
+glutStrokeWidth (void *font, int c)
+{
+   const GLUTStrokeFont *sfp = _glut_font(font);
+   const GLUTStrokeChar *scp;
+
+   if (((unsigned)c) >= sfp->num || !(scp = sfp->table[c]))
+      return 0;
+
+   return scp->right;
+}
+
+
+int
+glutStrokeLength (void *font, const unsigned char *string)
+{
+   const GLUTStrokeFont *sfp = _glut_font(font);
+   const GLUTStrokeChar *scp;
+   unsigned char c;
+   int length = 0;
+
+   while ((c = *(string++))) {
+      if (c < sfp->num && (scp = sfp->table[c]))
+         length += scp->right;
+   }
+
+   return length;
+}
+
+
+GLfloat
+glutStrokeHeight (void *font)
+{
+   const GLUTStrokeFont *sfp = _glut_font(font);
+
+   return sfp->height;
+}
diff --git a/src/glut/dos/teapot.c b/src/glut/dos/teapot.c
new file mode 100644 (file)
index 0000000..8d02eb4
--- /dev/null
@@ -0,0 +1,201 @@
+/*
+ * (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 "internal.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] =
+{
+       { 102, 103, 104, 105,  4,   5,   6,   7,
+           8,   9,  10,  11, 12,  13,  14,  15 }, /* rim     */
+       {  12,  13,  14,  15,  16,  17,  18,  19,
+          20,  21,  22,  23,  24,  25,  26,  27 }, /* body   */
+       {  24,  25,  26,  27,  29,  30,  31,  32,
+          33,  34,  35,  36,  37,  38,  39,  40 },
+       {  96,  96,  96,  96,  97,  98,  99, 100,
+         101, 101, 101, 101,   0,   1,   2,   3 }, /* lid    */
+       {   0,   1,   2,   3, 106, 107, 108, 109,
+         110, 111, 112, 113, 114, 115, 116, 117 },
+       { 118, 118, 118, 118, 124, 122, 119, 121,
+         123, 126, 125, 120,  40,  39,  38,  37 }, /* bottom */
+       {  41,  42,  43,  44,  45,  46,  47,  48,
+          49,  50,  51,  52,  53,  54,  55,  56 }, /* handle */
+       {  53,  54,  55,  56,  57,  58,  59,  60,
+          61,  62,  63,  64,  28,  65,  66,  67 },
+       {  68,  69,  70,  71,  72,  73,  74,  75,
+          76,  77,  78,  79,  80,  81,  82,  83 }, /* spout  */
+       {  80,  81,  82,  83,  84,  85,  86,  87,
+          88,  89,  90,  91,  92,  93,  94,  95 }
+};
+
+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} }
+};
+
+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();
+}
+
+void glutWireTeapot(GLdouble size)
+{
+       teapot(10, size, GL_LINE);
+}
+
+void glutSolidTeapot(GLdouble size)
+{
+       teapot(7, size, GL_FILL);
+}
diff --git a/src/glut/dos/tr10.c b/src/glut/dos/tr10.c
new file mode 100644 (file)
index 0000000..a1e03f3
--- /dev/null
@@ -0,0 +1,1018 @@
+/* autogenerated by bdf2c!  do not edit */
+
+/* "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." */
+
+
+#include "internal.h"
+/*
+typedef struct {
+   int width, height;
+   int xorig, yorig;
+   int xmove;
+   const unsigned char *bitmap;
+} GLUTBitmapChar;
+
+typedef struct {
+   const char *name;
+   int height;
+   int num;
+   const GLUTBitmapChar *const *table;
+} GLUTBitmapFont;
+*/
+
+
+static const unsigned char ch32data[] = {
+   0x0
+};
+static const GLUTBitmapChar ch32 = { 1, 1, 0, 0, 2, ch32data };
+
+static const unsigned char ch33data[] = {
+   0x80,0x0,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch33 = { 1, 7, -1, 0, 3, ch33data };
+
+static const unsigned char ch34data[] = {
+   0xa0,0xa0
+};
+static const GLUTBitmapChar ch34 = { 3, 2, 0, -5, 4, ch34data };
+
+static const unsigned char ch35data[] = {
+   0x50,0x50,0xf8,0x50,0xf8,0x50,0x50
+};
+static const GLUTBitmapChar ch35 = { 5, 7, 0, 0, 5, ch35data };
+
+static const unsigned char ch36data[] = {
+   0x20,0xe0,0x90,0x10,0x60,0x80,0x90,0x70,0x20
+};
+static const GLUTBitmapChar ch36 = { 4, 9, 0, 1, 5, ch36data };
+
+static const unsigned char ch37data[] = {
+   0x44,0x2a,0x2a,0x56,0xa8,0xa4,0x7e
+};
+static const GLUTBitmapChar ch37 = { 7, 7, 0, 0, 8, ch37data };
+
+static const unsigned char ch38data[] = {
+   0x76,0x8d,0x98,0x74,0x6e,0x50,0x30
+};
+static const GLUTBitmapChar ch38 = { 8, 7, 0, 0, 8, ch38data };
+
+static const unsigned char ch39data[] = {
+   0x40,0xc0
+};
+static const GLUTBitmapChar ch39 = { 2, 2, 0, -5, 3, ch39data };
+
+static const unsigned char ch40data[] = {
+   0x20,0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20
+};
+static const GLUTBitmapChar ch40 = { 3, 9, 0, 2, 4, ch40data };
+
+static const unsigned char ch41data[] = {
+   0x80,0x40,0x40,0x20,0x20,0x20,0x40,0x40,0x80
+};
+static const GLUTBitmapChar ch41 = { 3, 9, 0, 2, 4, ch41data };
+
+static const unsigned char ch42data[] = {
+   0xa0,0x40,0xa0
+};
+static const GLUTBitmapChar ch42 = { 3, 3, 0, -4, 5, ch42data };
+
+static const unsigned char ch43data[] = {
+   0x20,0x20,0xf8,0x20,0x20
+};
+static const GLUTBitmapChar ch43 = { 5, 5, 0, 0, 6, ch43data };
+
+static const unsigned char ch44data[] = {
+   0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch44 = { 1, 3, -1, 2, 3, ch44data };
+
+static const unsigned char ch45data[] = {
+   0xf0
+};
+static const GLUTBitmapChar ch45 = { 4, 1, -1, -2, 7, ch45data };
+
+static const unsigned char ch46data[] = {
+   0x80
+};
+static const GLUTBitmapChar ch46 = { 1, 1, -1, 0, 3, ch46data };
+
+static const unsigned char ch47data[] = {
+   0x80,0x80,0x40,0x40,0x40,0x20,0x20
+};
+static const GLUTBitmapChar ch47 = { 3, 7, 0, 0, 3, ch47data };
+
+static const unsigned char ch48data[] = {
+   0x60,0x90,0x90,0x90,0x90,0x90,0x60
+};
+static const GLUTBitmapChar ch48 = { 4, 7, 0, 0, 5, ch48data };
+
+static const unsigned char ch49data[] = {
+   0xe0,0x40,0x40,0x40,0x40,0xc0,0x40
+};
+static const GLUTBitmapChar ch49 = { 3, 7, -1, 0, 5, ch49data };
+
+static const unsigned char ch50data[] = {
+   0xf0,0x40,0x20,0x20,0x10,0x90,0x60
+};
+static const GLUTBitmapChar ch50 = { 4, 7, 0, 0, 5, ch50data };
+
+static const unsigned char ch51data[] = {
+   0xe0,0x10,0x10,0x60,0x10,0x90,0x60
+};
+static const GLUTBitmapChar ch51 = { 4, 7, 0, 0, 5, ch51data };
+
+static const unsigned char ch52data[] = {
+   0x10,0x10,0xf8,0x90,0x50,0x30,0x10
+};
+static const GLUTBitmapChar ch52 = { 5, 7, 0, 0, 5, ch52data };
+
+static const unsigned char ch53data[] = {
+   0xe0,0x90,0x10,0x10,0xe0,0x40,0x70
+};
+static const GLUTBitmapChar ch53 = { 4, 7, 0, 0, 5, ch53data };
+
+static const unsigned char ch54data[] = {
+   0x60,0x90,0x90,0x90,0xe0,0x40,0x30
+};
+static const GLUTBitmapChar ch54 = { 4, 7, 0, 0, 5, ch54data };
+
+static const unsigned char ch55data[] = {
+   0x40,0x40,0x40,0x20,0x20,0x90,0xf0
+};
+static const GLUTBitmapChar ch55 = { 4, 7, 0, 0, 5, ch55data };
+
+static const unsigned char ch56data[] = {
+   0x60,0x90,0x90,0x60,0x90,0x90,0x60
+};
+static const GLUTBitmapChar ch56 = { 4, 7, 0, 0, 5, ch56data };
+
+static const unsigned char ch57data[] = {
+   0xc0,0x20,0x70,0x90,0x90,0x90,0x60
+};
+static const GLUTBitmapChar ch57 = { 4, 7, 0, 0, 5, ch57data };
+
+static const unsigned char ch58data[] = {
+   0x80,0x0,0x0,0x0,0x80
+};
+static const GLUTBitmapChar ch58 = { 1, 5, -1, 0, 3, ch58data };
+
+static const unsigned char ch59data[] = {
+   0x80,0x80,0x80,0x0,0x0,0x0,0x80
+};
+static const GLUTBitmapChar ch59 = { 1, 7, -1, 2, 3, ch59data };
+
+static const unsigned char ch60data[] = {
+   0x20,0x40,0x80,0x40,0x20
+};
+static const GLUTBitmapChar ch60 = { 3, 5, -1, 0, 5, ch60data };
+
+static const unsigned char ch61data[] = {
+   0xf8,0x0,0xf8
+};
+static const GLUTBitmapChar ch61 = { 5, 3, 0, -1, 6, ch61data };
+
+static const unsigned char ch62data[] = {
+   0x80,0x40,0x20,0x40,0x80
+};
+static const GLUTBitmapChar ch62 = { 3, 5, 0, 0, 5, ch62data };
+
+static const unsigned char ch63data[] = {
+   0x40,0x0,0x40,0x40,0x20,0xa0,0xe0
+};
+static const GLUTBitmapChar ch63 = { 3, 7, 0, 0, 4, ch63data };
+
+static const unsigned char ch64data[] = {
+   0x3e,0x40,0x92,0xad,0xa5,0xa5,0x9d,0x42,0x3c
+};
+static const GLUTBitmapChar ch64 = { 8, 9, 0, 2, 9, ch64data };
+
+static const unsigned char ch65data[] = {
+   0xee,0x44,0x7c,0x28,0x28,0x38,0x10
+};
+static const GLUTBitmapChar ch65 = { 7, 7, 0, 0, 8, ch65data };
+
+static const unsigned char ch66data[] = {
+   0xf0,0x48,0x48,0x70,0x48,0x48,0xf0
+};
+static const GLUTBitmapChar ch66 = { 5, 7, 0, 0, 6, ch66data };
+
+static const unsigned char ch67data[] = {
+   0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c
+};
+static const GLUTBitmapChar ch67 = { 6, 7, 0, 0, 7, ch67data };
+
+static const unsigned char ch68data[] = {
+   0xf8,0x4c,0x44,0x44,0x44,0x4c,0xf8
+};
+static const GLUTBitmapChar ch68 = { 6, 7, 0, 0, 7, ch68data };
+
+static const unsigned char ch69data[] = {
+   0xf8,0x48,0x40,0x70,0x40,0x48,0xf8
+};
+static const GLUTBitmapChar ch69 = { 5, 7, 0, 0, 6, ch69data };
+
+static const unsigned char ch70data[] = {
+   0xe0,0x40,0x40,0x70,0x40,0x48,0xf8
+};
+static const GLUTBitmapChar ch70 = { 5, 7, 0, 0, 6, ch70data };
+
+static const unsigned char ch71data[] = {
+   0x78,0xc4,0x84,0x9c,0x80,0xc4,0x7c
+};
+static const GLUTBitmapChar ch71 = { 6, 7, 0, 0, 7, ch71data };
+
+static const unsigned char ch72data[] = {
+   0xee,0x44,0x44,0x7c,0x44,0x44,0xee
+};
+static const GLUTBitmapChar ch72 = { 7, 7, 0, 0, 8, ch72data };
+
+static const unsigned char ch73data[] = {
+   0xe0,0x40,0x40,0x40,0x40,0x40,0xe0
+};
+static const GLUTBitmapChar ch73 = { 3, 7, 0, 0, 4, ch73data };
+
+static const unsigned char ch74data[] = {
+   0xc0,0xa0,0x20,0x20,0x20,0x20,0x70
+};
+static const GLUTBitmapChar ch74 = { 4, 7, 0, 0, 4, ch74data };
+
+static const unsigned char ch75data[] = {
+   0xec,0x48,0x50,0x60,0x50,0x48,0xec
+};
+static const GLUTBitmapChar ch75 = { 6, 7, 0, 0, 7, ch75data };
+
+static const unsigned char ch76data[] = {
+   0xf8,0x48,0x40,0x40,0x40,0x40,0xe0
+};
+static const GLUTBitmapChar ch76 = { 5, 7, 0, 0, 6, ch76data };
+
+static const unsigned char ch77data[] = {
+   0xeb,0x80,0x49,0x0,0x55,0x0,0x55,0x0,0x63,0x0,0x63,0x0,0xe3,0x80
+};
+static const GLUTBitmapChar ch77 = { 9, 7, 0, 0, 10, ch77data };
+
+static const unsigned char ch78data[] = {
+   0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee
+};
+static const GLUTBitmapChar ch78 = { 7, 7, 0, 0, 8, ch78data };
+
+static const unsigned char ch79data[] = {
+   0x78,0xcc,0x84,0x84,0x84,0xcc,0x78
+};
+static const GLUTBitmapChar ch79 = { 6, 7, 0, 0, 7, ch79data };
+
+static const unsigned char ch80data[] = {
+   0xe0,0x40,0x40,0x70,0x48,0x48,0xf0
+};
+static const GLUTBitmapChar ch80 = { 5, 7, 0, 0, 6, ch80data };
+
+static const unsigned char ch81data[] = {
+   0xc,0x18,0x70,0xcc,0x84,0x84,0x84,0xcc,0x78
+};
+static const GLUTBitmapChar ch81 = { 6, 9, 0, 2, 7, ch81data };
+
+static const unsigned char ch82data[] = {
+   0xec,0x48,0x50,0x70,0x48,0x48,0xf0
+};
+static const GLUTBitmapChar ch82 = { 6, 7, 0, 0, 7, ch82data };
+
+static const unsigned char ch83data[] = {
+   0xe0,0x90,0x10,0x60,0xc0,0x90,0x70
+};
+static const GLUTBitmapChar ch83 = { 4, 7, 0, 0, 5, ch83data };
+
+static const unsigned char ch84data[] = {
+   0x70,0x20,0x20,0x20,0x20,0xa8,0xf8
+};
+static const GLUTBitmapChar ch84 = { 5, 7, 0, 0, 6, ch84data };
+
+static const unsigned char ch85data[] = {
+   0x38,0x6c,0x44,0x44,0x44,0x44,0xee
+};
+static const GLUTBitmapChar ch85 = { 7, 7, 0, 0, 8, ch85data };
+
+static const unsigned char ch86data[] = {
+   0x10,0x10,0x28,0x28,0x6c,0x44,0xee
+};
+static const GLUTBitmapChar ch86 = { 7, 7, 0, 0, 8, ch86data };
+
+static const unsigned char ch87data[] = {
+   0x22,0x0,0x22,0x0,0x55,0x0,0x55,0x0,0xc9,0x80,0x88,0x80,0xdd,0xc0
+};
+static const GLUTBitmapChar ch87 = { 10, 7, 0, 0, 10, ch87data };
+
+static const unsigned char ch88data[] = {
+   0xee,0x44,0x28,0x10,0x28,0x44,0xee
+};
+static const GLUTBitmapChar ch88 = { 7, 7, 0, 0, 8, ch88data };
+
+static const unsigned char ch89data[] = {
+   0x38,0x10,0x10,0x28,0x28,0x44,0xee
+};
+static const GLUTBitmapChar ch89 = { 7, 7, 0, 0, 8, ch89data };
+
+static const unsigned char ch90data[] = {
+   0xf8,0x88,0x40,0x20,0x10,0x88,0xf8
+};
+static const GLUTBitmapChar ch90 = { 5, 7, 0, 0, 6, ch90data };
+
+static const unsigned char ch91data[] = {
+   0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0
+};
+static const GLUTBitmapChar ch91 = { 2, 9, 0, 2, 3, ch91data };
+
+static const unsigned char ch92data[] = {
+   0x20,0x20,0x40,0x40,0x40,0x80,0x80
+};
+static const GLUTBitmapChar ch92 = { 3, 7, 0, 0, 3, ch92data };
+
+static const unsigned char ch93data[] = {
+   0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0
+};
+static const GLUTBitmapChar ch93 = { 2, 9, 0, 2, 3, ch93data };
+
+static const unsigned char ch94data[] = {
+   0xa0,0xa0,0x40
+};
+static const GLUTBitmapChar ch94 = { 3, 3, -1, -4, 5, ch94data };
+
+static const unsigned char ch95data[] = {
+   0xf8
+};
+static const GLUTBitmapChar ch95 = { 5, 1, 0, 3, 5, ch95data };
+
+static const unsigned char ch96data[] = {
+   0xc0,0x80
+};
+static const GLUTBitmapChar ch96 = { 2, 2, 0, -5, 3, ch96data };
+
+static const unsigned char ch97data[] = {
+   0xe0,0xa0,0x60,0x20,0xc0
+};
+static const GLUTBitmapChar ch97 = { 3, 5, 0, 0, 4, ch97data };
+
+static const unsigned char ch98data[] = {
+   0xe0,0x90,0x90,0x90,0xe0,0x80,0x80
+};
+static const GLUTBitmapChar ch98 = { 4, 7, 0, 0, 5, ch98data };
+
+static const unsigned char ch99data[] = {
+   0x60,0x80,0x80,0x80,0x60
+};
+static const GLUTBitmapChar ch99 = { 3, 5, 0, 0, 4, ch99data };
+
+static const unsigned char ch100data[] = {
+   0x68,0x90,0x90,0x90,0x70,0x10,0x30
+};
+static const GLUTBitmapChar ch100 = { 5, 7, 0, 0, 5, ch100data };
+
+static const unsigned char ch101data[] = {
+   0x60,0x80,0xc0,0xa0,0x60
+};
+static const GLUTBitmapChar ch101 = { 3, 5, 0, 0, 4, ch101data };
+
+static const unsigned char ch102data[] = {
+   0xe0,0x40,0x40,0x40,0xe0,0x40,0x30
+};
+static const GLUTBitmapChar ch102 = { 4, 7, 0, 0, 4, ch102data };
+
+static const unsigned char ch103data[] = {
+   0xe0,0x90,0x60,0x40,0xa0,0xa0,0x70
+};
+static const GLUTBitmapChar ch103 = { 4, 7, 0, 2, 5, ch103data };
+
+static const unsigned char ch104data[] = {
+   0xd8,0x90,0x90,0x90,0xe0,0x80,0x80
+};
+static const GLUTBitmapChar ch104 = { 5, 7, 0, 0, 5, ch104data };
+
+static const unsigned char ch105data[] = {
+   0x40,0x40,0x40,0x40,0xc0,0x0,0x40
+};
+static const GLUTBitmapChar ch105 = { 2, 7, 0, 0, 3, ch105data };
+
+static const unsigned char ch106data[] = {
+   0x80,0x40,0x40,0x40,0x40,0x40,0xc0,0x0,0x40
+};
+static const GLUTBitmapChar ch106 = { 2, 9, 0, 2, 3, ch106data };
+
+static const unsigned char ch107data[] = {
+   0x98,0x90,0xe0,0xa0,0x90,0x80,0x80
+};
+static const GLUTBitmapChar ch107 = { 5, 7, 0, 0, 5, ch107data };
+
+static const unsigned char ch108data[] = {
+   0xe0,0x40,0x40,0x40,0x40,0x40,0xc0
+};
+static const GLUTBitmapChar ch108 = { 3, 7, 0, 0, 4, ch108data };
+
+static const unsigned char ch109data[] = {
+   0xdb,0x92,0x92,0x92,0xec
+};
+static const GLUTBitmapChar ch109 = { 8, 5, 0, 0, 8, ch109data };
+
+static const unsigned char ch110data[] = {
+   0xd8,0x90,0x90,0x90,0xe0
+};
+static const GLUTBitmapChar ch110 = { 5, 5, 0, 0, 5, ch110data };
+
+static const unsigned char ch111data[] = {
+   0x60,0x90,0x90,0x90,0x60
+};
+static const GLUTBitmapChar ch111 = { 4, 5, 0, 0, 5, ch111data };
+
+static const unsigned char ch112data[] = {
+   0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0
+};
+static const GLUTBitmapChar ch112 = { 4, 7, 0, 2, 5, ch112data };
+
+static const unsigned char ch113data[] = {
+   0x38,0x10,0x70,0x90,0x90,0x90,0x70
+};
+static const GLUTBitmapChar ch113 = { 5, 7, 0, 2, 5, ch113data };
+
+static const unsigned char ch114data[] = {
+   0xe0,0x40,0x40,0x60,0xa0
+};
+static const GLUTBitmapChar ch114 = { 3, 5, 0, 0, 4, ch114data };
+
+static const unsigned char ch115data[] = {
+   0xe0,0x20,0x60,0x80,0xe0
+};
+static const GLUTBitmapChar ch115 = { 3, 5, 0, 0, 4, ch115data };
+
+static const unsigned char ch116data[] = {
+   0x30,0x40,0x40,0x40,0xe0,0x40
+};
+static const GLUTBitmapChar ch116 = { 4, 6, 0, 0, 4, ch116data };
+
+static const unsigned char ch117data[] = {
+   0x68,0x90,0x90,0x90,0x90
+};
+static const GLUTBitmapChar ch117 = { 5, 5, 0, 0, 5, ch117data };
+
+static const unsigned char ch118data[] = {
+   0x20,0x60,0x50,0x90,0xd8
+};
+static const GLUTBitmapChar ch118 = { 5, 5, 0, 0, 5, ch118data };
+
+static const unsigned char ch119data[] = {
+   0x28,0x6c,0x54,0x92,0xdb
+};
+static const GLUTBitmapChar ch119 = { 8, 5, 0, 0, 8, ch119data };
+
+static const unsigned char ch120data[] = {
+   0xd8,0x50,0x20,0x50,0xd8
+};
+static const GLUTBitmapChar ch120 = { 5, 5, 0, 0, 6, ch120data };
+
+static const unsigned char ch121data[] = {
+   0x40,0x40,0x20,0x30,0x50,0x48,0xdc
+};
+static const GLUTBitmapChar ch121 = { 6, 7, 1, 2, 5, ch121data };
+
+static const unsigned char ch122data[] = {
+   0xf0,0x90,0x40,0x20,0xf0
+};
+static const GLUTBitmapChar ch122 = { 4, 5, 0, 0, 5, ch122data };
+
+static const unsigned char ch123data[] = {
+   0x20,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x20
+};
+static const GLUTBitmapChar ch123 = { 3, 9, 0, 2, 4, ch123data };
+
+static const unsigned char ch124data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch124 = { 1, 9, 0, 2, 2, ch124data };
+
+static const unsigned char ch125data[] = {
+   0x80,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80
+};
+static const GLUTBitmapChar ch125 = { 3, 9, 0, 2, 4, ch125data };
+
+static const unsigned char ch126data[] = {
+   0x98,0x64
+};
+static const GLUTBitmapChar ch126 = { 6, 2, 0, -2, 7, ch126data };
+
+static const unsigned char ch160data[] = {
+   0x0
+};
+static const GLUTBitmapChar ch160 = { 1, 1, 0, 0, 2, ch160data };
+
+static const unsigned char ch161data[] = {
+   0x80,0x80,0x80,0x80,0x80,0x0,0x80
+};
+static const GLUTBitmapChar ch161 = { 1, 7, -1, 2, 3, ch161data };
+
+static const unsigned char ch162data[] = {
+   0x80,0xe0,0x90,0x80,0x90,0x70,0x10
+};
+static const GLUTBitmapChar ch162 = { 4, 7, 0, 1, 5, ch162data };
+
+static const unsigned char ch163data[] = {
+   0xf0,0xc8,0x40,0xe0,0x40,0x50,0x30
+};
+static const GLUTBitmapChar ch163 = { 5, 7, 0, 0, 5, ch163data };
+
+static const unsigned char ch164data[] = {
+   0x88,0x70,0x50,0x50,0x70,0x88
+};
+static const GLUTBitmapChar ch164 = { 5, 6, 0, -1, 5, ch164data };
+
+static const unsigned char ch165data[] = {
+   0x70,0x20,0xf8,0x20,0xd8,0x50,0x88
+};
+static const GLUTBitmapChar ch165 = { 5, 7, 0, 0, 5, ch165data };
+
+static const unsigned char ch166data[] = {
+   0x80,0x80,0x80,0x0,0x80,0x80,0x80
+};
+static const GLUTBitmapChar ch166 = { 1, 7, 0, 0, 2, ch166data };
+
+static const unsigned char ch167data[] = {
+   0xe0,0x90,0x20,0x50,0x90,0xa0,0x40,0x90,0x70
+};
+static const GLUTBitmapChar ch167 = { 4, 9, 0, 1, 5, ch167data };
+
+static const unsigned char ch168data[] = {
+   0xa0
+};
+static const GLUTBitmapChar ch168 = { 3, 1, -1, -6, 5, ch168data };
+
+static const unsigned char ch169data[] = {
+   0x38,0x44,0x9a,0xa2,0x9a,0x44,0x38
+};
+static const GLUTBitmapChar ch169 = { 7, 7, -1, 0, 9, ch169data };
+
+static const unsigned char ch170data[] = {
+   0xe0,0x0,0xa0,0x20,0xc0
+};
+static const GLUTBitmapChar ch170 = { 3, 5, 0, -2, 4, ch170data };
+
+static const unsigned char ch171data[] = {
+   0x50,0xa0,0xa0,0x50
+};
+static const GLUTBitmapChar ch171 = { 4, 4, 0, -1, 5, ch171data };
+
+static const unsigned char ch172data[] = {
+   0x8,0x8,0xf8
+};
+static const GLUTBitmapChar ch172 = { 5, 3, -1, -1, 7, ch172data };
+
+static const unsigned char ch173data[] = {
+   0xe0
+};
+static const GLUTBitmapChar ch173 = { 3, 1, 0, -2, 4, ch173data };
+
+static const unsigned char ch174data[] = {
+   0x38,0x44,0xaa,0xb2,0xba,0x44,0x38
+};
+static const GLUTBitmapChar ch174 = { 7, 7, -1, 0, 9, ch174data };
+
+static const unsigned char ch175data[] = {
+   0xe0
+};
+static const GLUTBitmapChar ch175 = { 3, 1, 0, -6, 4, ch175data };
+
+static const unsigned char ch176data[] = {
+   0x60,0x90,0x90,0x60
+};
+static const GLUTBitmapChar ch176 = { 4, 4, 0, -3, 4, ch176data };
+
+static const unsigned char ch177data[] = {
+   0xf8,0x0,0x20,0x20,0xf8,0x20,0x20
+};
+static const GLUTBitmapChar ch177 = { 5, 7, 0, 0, 6, ch177data };
+
+static const unsigned char ch178data[] = {
+   0xe0,0x40,0xa0,0x60
+};
+static const GLUTBitmapChar ch178 = { 3, 4, 0, -3, 3, ch178data };
+
+static const unsigned char ch179data[] = {
+   0xc0,0x20,0x40,0xe0
+};
+static const GLUTBitmapChar ch179 = { 3, 4, 0, -3, 3, ch179data };
+
+static const unsigned char ch180data[] = {
+   0x80,0x40
+};
+static const GLUTBitmapChar ch180 = { 2, 2, 0, -5, 3, ch180data };
+
+static const unsigned char ch181data[] = {
+   0x80,0x80,0xe8,0x90,0x90,0x90,0x90
+};
+static const GLUTBitmapChar ch181 = { 5, 7, 0, 2, 5, ch181data };
+
+static const unsigned char ch182data[] = {
+   0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,0x7c
+};
+static const GLUTBitmapChar ch182 = { 6, 9, 0, 2, 6, ch182data };
+
+static const unsigned char ch183data[] = {
+   0x80
+};
+static const GLUTBitmapChar ch183 = { 1, 1, 0, -2, 2, ch183data };
+
+static const unsigned char ch184data[] = {
+   0xc0,0x20,0x40
+};
+static const GLUTBitmapChar ch184 = { 3, 3, 0, 3, 4, ch184data };
+
+static const unsigned char ch185data[] = {
+   0xe0,0x40,0xc0,0x40
+};
+static const GLUTBitmapChar ch185 = { 3, 4, 0, -3, 3, ch185data };
+
+static const unsigned char ch186data[] = {
+   0xe0,0x0,0x40,0xa0,0x40
+};
+static const GLUTBitmapChar ch186 = { 3, 5, 0, -2, 4, ch186data };
+
+static const unsigned char ch187data[] = {
+   0xa0,0x50,0x50,0xa0
+};
+static const GLUTBitmapChar ch187 = { 4, 4, 0, -1, 5, ch187data };
+
+static const unsigned char ch188data[] = {
+   0x44,0x3e,0x2c,0xf4,0x48,0xc8,0x44
+};
+static const GLUTBitmapChar ch188 = { 7, 7, 0, 0, 8, ch188data };
+
+static const unsigned char ch189data[] = {
+   0x4e,0x24,0x2a,0xf6,0x48,0xc8,0x44
+};
+static const GLUTBitmapChar ch189 = { 7, 7, 0, 0, 8, ch189data };
+
+static const unsigned char ch190data[] = {
+   0x44,0x3e,0x2c,0xd4,0x28,0x48,0xe4
+};
+static const GLUTBitmapChar ch190 = { 7, 7, 0, 0, 8, ch190data };
+
+static const unsigned char ch191data[] = {
+   0xe0,0xa0,0x80,0x40,0x40,0x0,0x40
+};
+static const GLUTBitmapChar ch191 = { 3, 7, 0, 2, 4, ch191data };
+
+static const unsigned char ch192data[] = {
+   0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x20
+};
+static const GLUTBitmapChar ch192 = { 7, 10, 0, 0, 8, ch192data };
+
+static const unsigned char ch193data[] = {
+   0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch193 = { 7, 10, 0, 0, 8, ch193data };
+
+static const unsigned char ch194data[] = {
+   0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x10
+};
+static const GLUTBitmapChar ch194 = { 7, 10, 0, 0, 8, ch194data };
+
+static const unsigned char ch195data[] = {
+   0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28,0x14
+};
+static const GLUTBitmapChar ch195 = { 7, 10, 0, 0, 8, ch195data };
+
+static const unsigned char ch196data[] = {
+   0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x0,0x28
+};
+static const GLUTBitmapChar ch196 = { 7, 9, 0, 0, 8, ch196data };
+
+static const unsigned char ch197data[] = {
+   0xee,0x44,0x7c,0x28,0x28,0x38,0x10,0x10,0x28,0x10
+};
+static const GLUTBitmapChar ch197 = { 7, 10, 0, 0, 8, ch197data };
+
+static const unsigned char ch198data[] = {
+   0xef,0x49,0x78,0x2e,0x28,0x39,0x1f
+};
+static const GLUTBitmapChar ch198 = { 8, 7, 0, 0, 9, ch198data };
+
+static const unsigned char ch199data[] = {
+   0x60,0x10,0x20,0x78,0xc4,0x80,0x80,0x80,0xc4,0x7c
+};
+static const GLUTBitmapChar ch199 = { 6, 10, 0, 3, 7, ch199data };
+
+static const unsigned char ch200data[] = {
+   0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch200 = { 5, 10, 0, 0, 6, ch200data };
+
+static const unsigned char ch201data[] = {
+   0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch201 = { 5, 10, 0, 0, 6, ch201data };
+
+static const unsigned char ch202data[] = {
+   0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch202 = { 5, 10, 0, 0, 6, ch202data };
+
+static const unsigned char ch203data[] = {
+   0xf8,0x48,0x40,0x70,0x40,0x48,0xf8,0x0,0x50
+};
+static const GLUTBitmapChar ch203 = { 5, 9, 0, 0, 6, ch203data };
+
+static const unsigned char ch204data[] = {
+   0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x80
+};
+static const GLUTBitmapChar ch204 = { 3, 10, 0, 0, 4, ch204data };
+
+static const unsigned char ch205data[] = {
+   0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0x40,0x20
+};
+static const GLUTBitmapChar ch205 = { 3, 10, 0, 0, 4, ch205data };
+
+static const unsigned char ch206data[] = {
+   0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0,0x40
+};
+static const GLUTBitmapChar ch206 = { 3, 10, 0, 0, 4, ch206data };
+
+static const unsigned char ch207data[] = {
+   0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x0,0xa0
+};
+static const GLUTBitmapChar ch207 = { 3, 9, 0, 0, 4, ch207data };
+
+static const unsigned char ch208data[] = {
+   0xf8,0x4c,0x44,0xe4,0x44,0x4c,0xf8
+};
+static const GLUTBitmapChar ch208 = { 6, 7, 0, 0, 7, ch208data };
+
+static const unsigned char ch209data[] = {
+   0xe4,0x4c,0x4c,0x54,0x54,0x64,0xee,0x0,0x50,0x28
+};
+static const GLUTBitmapChar ch209 = { 7, 10, 0, 0, 8, ch209data };
+
+static const unsigned char ch210data[] = {
+   0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch210 = { 6, 10, 0, 0, 7, ch210data };
+
+static const unsigned char ch211data[] = {
+   0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch211 = { 6, 10, 0, 0, 7, ch211data };
+
+static const unsigned char ch212data[] = {
+   0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch212 = { 6, 10, 0, 0, 7, ch212data };
+
+static const unsigned char ch213data[] = {
+   0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50,0x28
+};
+static const GLUTBitmapChar ch213 = { 6, 10, 0, 0, 7, ch213data };
+
+static const unsigned char ch214data[] = {
+   0x78,0xcc,0x84,0x84,0x84,0xcc,0x78,0x0,0x50
+};
+static const GLUTBitmapChar ch214 = { 6, 9, 0, 0, 7, ch214data };
+
+static const unsigned char ch215data[] = {
+   0x88,0x50,0x20,0x50,0x88
+};
+static const GLUTBitmapChar ch215 = { 5, 5, 0, 0, 6, ch215data };
+
+static const unsigned char ch216data[] = {
+   0x80,0x7c,0x66,0x52,0x52,0x4a,0x66,0x3e,0x1
+};
+static const GLUTBitmapChar ch216 = { 8, 9, 0, 1, 8, ch216data };
+
+static const unsigned char ch217data[] = {
+   0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x20
+};
+static const GLUTBitmapChar ch217 = { 7, 10, 0, 0, 8, ch217data };
+
+static const unsigned char ch218data[] = {
+   0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch218 = { 7, 10, 0, 0, 8, ch218data };
+
+static const unsigned char ch219data[] = {
+   0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28,0x10
+};
+static const GLUTBitmapChar ch219 = { 7, 10, 0, 0, 8, ch219data };
+
+static const unsigned char ch220data[] = {
+   0x38,0x6c,0x44,0x44,0x44,0x44,0xee,0x0,0x28
+};
+static const GLUTBitmapChar ch220 = { 7, 9, 0, 0, 8, ch220data };
+
+static const unsigned char ch221data[] = {
+   0x38,0x10,0x10,0x28,0x28,0x44,0xee,0x0,0x10,0x8
+};
+static const GLUTBitmapChar ch221 = { 7, 10, 0, 0, 8, ch221data };
+
+static const unsigned char ch222data[] = {
+   0xe0,0x40,0x70,0x48,0x70,0x40,0xe0
+};
+static const GLUTBitmapChar ch222 = { 5, 7, 0, 0, 6, ch222data };
+
+static const unsigned char ch223data[] = {
+   0xe0,0x50,0x50,0x60,0x50,0x50,0x20
+};
+static const GLUTBitmapChar ch223 = { 4, 7, 0, 0, 5, ch223data };
+
+static const unsigned char ch224data[] = {
+   0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x80
+};
+static const GLUTBitmapChar ch224 = { 3, 8, 0, 0, 4, ch224data };
+
+static const unsigned char ch225data[] = {
+   0xe0,0xa0,0x60,0x20,0xc0,0x0,0x40,0x20
+};
+static const GLUTBitmapChar ch225 = { 3, 8, 0, 0, 4, ch225data };
+
+static const unsigned char ch226data[] = {
+   0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x40
+};
+static const GLUTBitmapChar ch226 = { 3, 8, 0, 0, 4, ch226data };
+
+static const unsigned char ch227data[] = {
+   0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0,0x50
+};
+static const GLUTBitmapChar ch227 = { 4, 8, 0, 0, 4, ch227data };
+
+static const unsigned char ch228data[] = {
+   0xe0,0xa0,0x60,0x20,0xc0,0x0,0xa0
+};
+static const GLUTBitmapChar ch228 = { 3, 7, 0, 0, 4, ch228data };
+
+static const unsigned char ch229data[] = {
+   0xe0,0xa0,0x60,0x20,0xc0,0x40,0xa0,0x40
+};
+static const GLUTBitmapChar ch229 = { 3, 8, 0, 0, 4, ch229data };
+
+static const unsigned char ch230data[] = {
+   0xd8,0xa0,0x70,0x28,0xd8
+};
+static const GLUTBitmapChar ch230 = { 5, 5, 0, 0, 6, ch230data };
+
+static const unsigned char ch231data[] = {
+   0xc0,0x20,0x40,0x60,0x80,0x80,0x80,0x60
+};
+static const GLUTBitmapChar ch231 = { 3, 8, 0, 3, 4, ch231data };
+
+static const unsigned char ch232data[] = {
+   0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x80
+};
+static const GLUTBitmapChar ch232 = { 3, 8, 0, 0, 4, ch232data };
+
+static const unsigned char ch233data[] = {
+   0x60,0x80,0xc0,0xa0,0x60,0x0,0x40,0x20
+};
+static const GLUTBitmapChar ch233 = { 3, 8, 0, 0, 4, ch233data };
+
+static const unsigned char ch234data[] = {
+   0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0,0x40
+};
+static const GLUTBitmapChar ch234 = { 3, 8, 0, 0, 4, ch234data };
+
+static const unsigned char ch235data[] = {
+   0x60,0x80,0xc0,0xa0,0x60,0x0,0xa0
+};
+static const GLUTBitmapChar ch235 = { 3, 7, 0, 0, 4, ch235data };
+
+static const unsigned char ch236data[] = {
+   0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x80
+};
+static const GLUTBitmapChar ch236 = { 3, 8, 0, 0, 4, ch236data };
+
+static const unsigned char ch237data[] = {
+   0xe0,0x40,0x40,0x40,0xc0,0x0,0x40,0x20
+};
+static const GLUTBitmapChar ch237 = { 3, 8, 0, 0, 4, ch237data };
+
+static const unsigned char ch238data[] = {
+   0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0,0x40
+};
+static const GLUTBitmapChar ch238 = { 3, 8, 0, 0, 4, ch238data };
+
+static const unsigned char ch239data[] = {
+   0xe0,0x40,0x40,0x40,0xc0,0x0,0xa0
+};
+static const GLUTBitmapChar ch239 = { 3, 7, 0, 0, 4, ch239data };
+
+static const unsigned char ch240data[] = {
+   0x60,0x90,0x90,0x90,0x70,0xa0,0x70,0x40
+};
+static const GLUTBitmapChar ch240 = { 4, 8, 0, 0, 5, ch240data };
+
+static const unsigned char ch241data[] = {
+   0xd8,0x90,0x90,0x90,0xe0,0x0,0xa0,0x50
+};
+static const GLUTBitmapChar ch241 = { 5, 8, 0, 0, 5, ch241data };
+
+static const unsigned char ch242data[] = {
+   0x60,0x90,0x90,0x90,0x60,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch242 = { 4, 8, 0, 0, 5, ch242data };
+
+static const unsigned char ch243data[] = {
+   0x60,0x90,0x90,0x90,0x60,0x0,0x40,0x20
+};
+static const GLUTBitmapChar ch243 = { 4, 8, 0, 0, 5, ch243data };
+
+static const unsigned char ch244data[] = {
+   0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x40
+};
+static const GLUTBitmapChar ch244 = { 4, 8, 0, 0, 5, ch244data };
+
+static const unsigned char ch245data[] = {
+   0x60,0x90,0x90,0x90,0x60,0x0,0xa0,0x50
+};
+static const GLUTBitmapChar ch245 = { 4, 8, 0, 0, 5, ch245data };
+
+static const unsigned char ch246data[] = {
+   0x60,0x90,0x90,0x90,0x60,0x0,0xa0
+};
+static const GLUTBitmapChar ch246 = { 4, 7, 0, 0, 5, ch246data };
+
+static const unsigned char ch247data[] = {
+   0x20,0x0,0xf8,0x0,0x20
+};
+static const GLUTBitmapChar ch247 = { 5, 5, 0, 0, 6, ch247data };
+
+static const unsigned char ch248data[] = {
+   0x80,0x70,0x48,0x48,0x48,0x38,0x4
+};
+static const GLUTBitmapChar ch248 = { 6, 7, 1, 1, 5, ch248data };
+
+static const unsigned char ch249data[] = {
+   0x68,0x90,0x90,0x90,0x90,0x0,0x20,0x40
+};
+static const GLUTBitmapChar ch249 = { 5, 8, 0, 0, 5, ch249data };
+
+static const unsigned char ch250data[] = {
+   0x68,0x90,0x90,0x90,0x90,0x0,0x40,0x20
+};
+static const GLUTBitmapChar ch250 = { 5, 8, 0, 0, 5, ch250data };
+
+static const unsigned char ch251data[] = {
+   0x68,0x90,0x90,0x90,0x90,0x0,0x50,0x20
+};
+static const GLUTBitmapChar ch251 = { 5, 8, 0, 0, 5, ch251data };
+
+static const unsigned char ch252data[] = {
+   0x68,0x90,0x90,0x90,0x90,0x0,0x50
+};
+static const GLUTBitmapChar ch252 = { 5, 7, 0, 0, 5, ch252data };
+
+static const unsigned char ch253data[] = {
+   0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0x20,0x10
+};
+static const GLUTBitmapChar ch253 = { 5, 10, 0, 2, 5, ch253data };
+
+static const unsigned char ch254data[] = {
+   0xc0,0x80,0xe0,0x90,0x90,0x90,0xe0,0x80,0x80
+};
+static const GLUTBitmapChar ch254 = { 4, 9, 0, 2, 5, ch254data };
+
+static const unsigned char ch255data[] = {
+   0x80,0xc0,0x40,0x60,0xa0,0x90,0xb8,0x0,0xa0
+};
+static const GLUTBitmapChar ch255 = { 5, 9, 0, 2, 5, ch255data };
+
+
+static const GLUTBitmapChar *chars[] = {
+   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, 
+   &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
+};
+
+const GLUTBitmapFont glutBitmapTimesRoman10 = {
+   "-Adobe-Times-Medium-R-Normal--10-100-75-75-P-54-ISO8859-1",
+   13, 256, chars
+};
diff --git a/src/glut/dos/tr24.c b/src/glut/dos/tr24.c
new file mode 100644 (file)
index 0000000..2dd2a78
--- /dev/null
@@ -0,0 +1,1301 @@
+/* autogenerated by bdf2c!  do not edit */
+
+/* "Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved." */
+
+
+#include "internal.h"
+/*
+typedef struct {
+   int width, height;
+   int xorig, yorig;
+   int xmove;
+   const unsigned char *bitmap;
+} GLUTBitmapChar;
+
+typedef struct {
+   const char *name;
+   int height;
+   int num;
+   const GLUTBitmapChar *const *table;
+} GLUTBitmapFont;
+*/
+
+
+static const unsigned char ch32data[] = {
+   0x0
+};
+static const GLUTBitmapChar ch32 = { 1, 1, 0, 0, 6, ch32data };
+
+static const unsigned char ch33data[] = {
+   0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+   0xc0
+};
+static const GLUTBitmapChar ch33 = { 2, 17, -3, 0, 8, ch33data };
+
+static const unsigned char ch34data[] = {
+   0x88,0xcc,0xcc,0xcc,0xcc
+};
+static const GLUTBitmapChar ch34 = { 6, 5, -1, -12, 10, ch34data };
+
+static const unsigned char 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 GLUTBitmapChar ch35 = { 11, 17, -1, 0, 13, ch35data };
+
+static const unsigned char 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 GLUTBitmapChar ch36 = { 11, 21, 0, 2, 12, ch36data };
+
+static const unsigned char 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 GLUTBitmapChar ch37 = { 17, 16, -1, 0, 19, ch37data };
+
+static const unsigned char 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 GLUTBitmapChar ch38 = { 16, 17, -1, 0, 18, ch38data };
+
+static const unsigned char ch39data[] = {
+   0xc0,0x60,0x20,0xe0,0xc0
+};
+static const GLUTBitmapChar ch39 = { 3, 5, -3, -12, 8, ch39data };
+
+static const unsigned char 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 GLUTBitmapChar ch40 = { 6, 22, -1, 5, 8, ch40data };
+
+static const unsigned char 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 GLUTBitmapChar ch41 = { 6, 22, -1, 5, 8, ch41data };
+
+static const unsigned char ch42data[] = {
+   0x8,0x0,0x1c,0x0,0xc9,0x80,0xeb,0x80,0x1c,0x0,0xeb,0x80,0xc9,0x80,0x1c,0x0,
+   0x8,0x0
+};
+static const GLUTBitmapChar ch42 = { 9, 9, -2, -8, 12, ch42data };
+
+static const unsigned char 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 GLUTBitmapChar ch43 = { 12, 12, -1, -1, 14, ch43data };
+
+static const unsigned char ch44data[] = {
+   0xc0,0x60,0x20,0xe0,0xc0
+};
+static const GLUTBitmapChar ch44 = { 3, 5, -2, 3, 7, ch44data };
+
+static const unsigned char ch45data[] = {
+   0xff,0xf0,0xff,0xf0
+};
+static const GLUTBitmapChar ch45 = { 12, 2, -1, -6, 14, ch45data };
+
+static const unsigned char ch46data[] = {
+   0xc0,0xc0
+};
+static const GLUTBitmapChar ch46 = { 2, 2, -2, 0, 6, ch46data };
+
+static const unsigned char ch47data[] = {
+   0xc0,0xc0,0xc0,0x60,0x60,0x20,0x30,0x30,0x10,0x18,0x18,0x8,0xc,0xc,0x4,0x6,
+   0x6,0x3,0x3,0x3
+};
+static const GLUTBitmapChar ch47 = { 8, 20, 1, 3, 7, ch47data };
+
+static const unsigned char 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 GLUTBitmapChar ch48 = { 10, 17, -1, 0, 12, ch48data };
+
+static const unsigned char ch49data[] = {
+   0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x78,0x18,
+   0x8
+};
+static const GLUTBitmapChar ch49 = { 8, 17, -2, 0, 12, ch49data };
+
+static const unsigned char 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 GLUTBitmapChar ch50 = { 10, 17, -1, 0, 12, ch50data };
+
+static const unsigned char 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 GLUTBitmapChar ch51 = { 9, 17, -1, 0, 12, ch51data };
+
+static const unsigned char 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 GLUTBitmapChar ch52 = { 10, 17, -1, 0, 12, ch52data };
+
+static const unsigned char 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 GLUTBitmapChar ch53 = { 10, 17, -1, 0, 12, ch53data };
+
+static const unsigned char 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 GLUTBitmapChar ch54 = { 10, 17, -1, 0, 12, ch54data };
+
+static const unsigned char 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 GLUTBitmapChar ch55 = { 10, 17, -1, 0, 12, ch55data };
+
+static const unsigned char 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 GLUTBitmapChar ch56 = { 10, 17, -1, 0, 12, ch56data };
+
+static const unsigned char 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 GLUTBitmapChar ch57 = { 10, 17, -1, 0, 12, ch57data };
+
+static const unsigned char ch58data[] = {
+   0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch58 = { 2, 11, -2, 0, 6, ch58data };
+
+static const unsigned char ch59data[] = {
+   0xc0,0x60,0x20,0xe0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0
+};
+static const GLUTBitmapChar ch59 = { 3, 14, -2, 3, 7, ch59data };
+
+static const unsigned char 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 GLUTBitmapChar ch60 = { 11, 11, -1, -1, 13, ch60data };
+
+static const unsigned char ch61data[] = {
+   0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0
+};
+static const GLUTBitmapChar ch61 = { 12, 6, -1, -4, 14, ch61data };
+
+static const unsigned char 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 GLUTBitmapChar ch62 = { 11, 11, -1, -1, 13, ch62data };
+
+static const unsigned char ch63data[] = {
+   0x30,0x30,0x0,0x0,0x10,0x10,0x10,0x18,0x18,0xc,0xe,0x7,0xc3,0xc3,0x83,0xc6,
+   0x7c
+};
+static const GLUTBitmapChar ch63 = { 8, 17, -2, 0, 11, ch63data };
+
+static const unsigned char 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 GLUTBitmapChar ch64 = { 18, 20, -2, 3, 22, ch64data };
+
+static const unsigned char 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 GLUTBitmapChar ch65 = { 17, 17, 0, 0, 17, ch65data };
+
+static const unsigned char 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 GLUTBitmapChar ch66 = { 14, 17, -1, 0, 16, ch66data };
+
+static const unsigned char 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 GLUTBitmapChar ch67 = { 14, 17, -1, 0, 16, ch67data };
+
+static const unsigned char 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 GLUTBitmapChar ch68 = { 15, 17, -1, 0, 17, ch68data };
+
+static const unsigned char 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 GLUTBitmapChar ch69 = { 13, 17, -1, 0, 15, ch69data };
+
+static const unsigned char 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 GLUTBitmapChar ch70 = { 12, 17, -1, 0, 14, ch70data };
+
+static const unsigned char 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 GLUTBitmapChar ch71 = { 16, 17, -1, 0, 18, ch71data };
+
+static const unsigned char 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 GLUTBitmapChar ch72 = { 17, 17, -1, 0, 19, ch72data };
+
+static const unsigned char ch73data[] = {
+   0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+   0xfc
+};
+static const GLUTBitmapChar ch73 = { 6, 17, -1, 0, 8, ch73data };
+
+static const unsigned char 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 GLUTBitmapChar ch74 = { 9, 17, -1, 0, 11, ch74data };
+
+static const unsigned char 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 GLUTBitmapChar ch75 = { 16, 17, -1, 0, 17, ch75data };
+
+static const unsigned char 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 GLUTBitmapChar ch76 = { 13, 17, -1, 0, 14, ch76data };
+
+static const unsigned char 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 GLUTBitmapChar ch77 = { 21, 17, -1, 0, 22, ch77data };
+
+static const unsigned char 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 GLUTBitmapChar ch78 = { 16, 17, -1, 0, 18, ch78data };
+
+static const unsigned char 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 GLUTBitmapChar ch79 = { 16, 17, -1, 0, 18, ch79data };
+
+static const unsigned char 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 GLUTBitmapChar ch80 = { 13, 17, -1, 0, 15, ch80data };
+
+static const unsigned char 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 GLUTBitmapChar ch81 = { 16, 22, -1, 5, 18, ch81data };
+
+static const unsigned char 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 GLUTBitmapChar ch82 = { 15, 17, -1, 0, 16, ch82data };
+
+static const unsigned char 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 GLUTBitmapChar ch83 = { 11, 17, -1, 0, 13, ch83data };
+
+static const unsigned char 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 GLUTBitmapChar ch84 = { 14, 17, -1, 0, 16, ch84data };
+
+static const unsigned char 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 GLUTBitmapChar ch85 = { 16, 17, -1, 0, 18, ch85data };
+
+static const unsigned char 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 GLUTBitmapChar ch86 = { 17, 17, 0, 0, 17, ch86data };
+
+static const unsigned char 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 GLUTBitmapChar ch87 = { 23, 17, 0, 0, 23, ch87data };
+
+static const unsigned char 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 GLUTBitmapChar ch88 = { 18, 17, 0, 0, 18, ch88data };
+
+static const unsigned char 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 GLUTBitmapChar ch89 = { 16, 17, 0, 0, 16, ch89data };
+
+static const unsigned char 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 GLUTBitmapChar ch90 = { 13, 17, -1, 0, 15, ch90data };
+
+static const unsigned char ch91data[] = {
+   0xf8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+   0xc0,0xc0,0xc0,0xc0,0xf8
+};
+static const GLUTBitmapChar ch91 = { 5, 21, -2, 4, 8, ch91data };
+
+static const unsigned char ch92data[] = {
+   0x6,0x6,0x4,0xc,0xc,0x8,0x18,0x18,0x10,0x30,0x30,0x20,0x60,0x60,0x40,0xc0,
+   0xc0
+};
+static const GLUTBitmapChar ch92 = { 7, 17, 0, 0, 7, ch92data };
+
+static const unsigned char ch93data[] = {
+   0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+   0x18,0x18,0x18,0x18,0xf8
+};
+static const GLUTBitmapChar ch93 = { 5, 21, -1, 4, 8, ch93data };
+
+static const unsigned char ch94data[] = {
+   0x80,0x80,0xc1,0x80,0x41,0x0,0x63,0x0,0x22,0x0,0x36,0x0,0x14,0x0,0x1c,0x0,
+   0x8,0x0
+};
+static const GLUTBitmapChar ch94 = { 9, 9, -1, -8, 11, ch94data };
+
+static const unsigned char ch95data[] = {
+   0xff,0xf8,0xff,0xf8
+};
+static const GLUTBitmapChar ch95 = { 13, 2, 0, 5, 13, ch95data };
+
+static const unsigned char ch96data[] = {
+   0x60,0xe0,0x80,0xc0,0x60
+};
+static const GLUTBitmapChar ch96 = { 3, 5, -2, -12, 7, ch96data };
+
+static const unsigned char 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 GLUTBitmapChar ch97 = { 9, 12, -1, 0, 11, ch97data };
+
+static const unsigned char 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 GLUTBitmapChar ch98 = { 10, 17, -1, 0, 12, ch98data };
+
+static const unsigned char 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 GLUTBitmapChar ch99 = { 9, 12, -1, 0, 11, ch99data };
+
+static const unsigned char 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 GLUTBitmapChar ch100 = { 10, 17, -1, 0, 12, ch100data };
+
+static const unsigned char 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 GLUTBitmapChar ch101 = { 9, 12, -1, 0, 11, ch101data };
+
+static const unsigned char ch102data[] = {
+   0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x30,0x30,0x30,0x16,
+   0xe
+};
+static const GLUTBitmapChar ch102 = { 7, 17, 0, 0, 7, ch102data };
+
+static const unsigned char 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 GLUTBitmapChar ch103 = { 11, 17, -1, 5, 12, ch103data };
+
+static const unsigned char 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 GLUTBitmapChar ch104 = { 11, 17, -1, 0, 13, ch104data };
+
+static const unsigned char ch105data[] = {
+   0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x0,0x0,0x60,
+   0x60
+};
+static const GLUTBitmapChar ch105 = { 4, 17, -1, 0, 6, ch105data };
+
+static const unsigned char 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 GLUTBitmapChar ch106 = { 4, 22, 0, 5, 6, ch106data };
+
+static const unsigned char 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 GLUTBitmapChar ch107 = { 11, 17, -1, 0, 12, ch107data };
+
+static const unsigned char ch108data[] = {
+   0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
+   0xe0
+};
+static const GLUTBitmapChar ch108 = { 4, 17, -1, 0, 6, ch108data };
+
+static const unsigned char 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 GLUTBitmapChar ch109 = { 18, 12, -1, 0, 20, ch109data };
+
+static const unsigned char 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 GLUTBitmapChar ch110 = { 11, 12, -1, 0, 13, ch110data };
+
+static const unsigned char 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 GLUTBitmapChar ch111 = { 10, 12, -1, 0, 12, ch111data };
+
+static const unsigned char 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 GLUTBitmapChar ch112 = { 10, 17, -1, 5, 12, ch112data };
+
+static const unsigned char 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 GLUTBitmapChar ch113 = { 10, 17, -1, 5, 12, ch113data };
+
+static const unsigned char ch114data[] = {
+   0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x76,0x6e,0xe6
+};
+static const GLUTBitmapChar ch114 = { 7, 12, -1, 0, 8, ch114data };
+
+static const unsigned char ch115data[] = {
+   0xf8,0xc6,0x83,0x3,0x7,0x1e,0x7c,0x70,0xe0,0xc2,0x66,0x3e
+};
+static const GLUTBitmapChar ch115 = { 8, 12, -1, 0, 10, ch115data };
+
+static const unsigned char ch116data[] = {
+   0x1c,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xfe,0x70,0x30,0x10
+};
+static const GLUTBitmapChar ch116 = { 7, 15, 0, 0, 7, ch116data };
+
+static const unsigned char 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 GLUTBitmapChar ch117 = { 11, 12, -1, 0, 13, ch117data };
+
+static const unsigned char 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 GLUTBitmapChar ch118 = { 11, 12, 0, 0, 11, ch118data };
+
+static const unsigned char 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 GLUTBitmapChar ch119 = { 17, 12, 0, 0, 17, ch119data };
+
+static const unsigned char 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 GLUTBitmapChar ch120 = { 11, 12, -1, 0, 13, ch120data };
+
+static const unsigned char 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 GLUTBitmapChar ch121 = { 11, 17, 0, 5, 11, ch121data };
+
+static const unsigned char ch122data[] = {
+   0xff,0xc3,0x61,0x70,0x30,0x38,0x18,0x1c,0xe,0x86,0xc3,0xff
+};
+static const GLUTBitmapChar ch122 = { 8, 12, -1, 0, 10, ch122data };
+
+static const unsigned char 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 GLUTBitmapChar ch123 = { 8, 22, -1, 5, 10, ch123data };
+
+static const unsigned char ch124data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+   0xc0
+};
+static const GLUTBitmapChar ch124 = { 2, 17, -2, 0, 6, ch124data };
+
+static const unsigned char 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 GLUTBitmapChar ch125 = { 8, 22, -1, 5, 10, ch125data };
+
+static const unsigned char ch126data[] = {
+   0x83,0x80,0xc7,0xc0,0x7c,0x60,0x38,0x20
+};
+static const GLUTBitmapChar ch126 = { 11, 4, -1, -5, 13, ch126data };
+
+static const unsigned char ch160data[] = {
+   0x0
+};
+static const GLUTBitmapChar ch160 = { 1, 1, 0, 0, 6, ch160data };
+
+static const unsigned char ch161data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,
+   0xc0
+};
+static const GLUTBitmapChar ch161 = { 2, 17, -4, 5, 8, ch161data };
+
+static const unsigned char 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 GLUTBitmapChar ch162 = { 9, 16, -1, 2, 12, ch162data };
+
+static const unsigned char 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 GLUTBitmapChar ch163 = { 10, 17, -1, 0, 12, ch163data };
+
+static const unsigned char 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 GLUTBitmapChar ch164 = { 11, 12, -1, -3, 13, ch164data };
+
+static const unsigned char 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 GLUTBitmapChar ch165 = { 14, 17, 0, 0, 14, ch165data };
+
+static const unsigned char ch166data[] = {
+   0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+   0xc0
+};
+static const GLUTBitmapChar ch166 = { 2, 17, -2, 0, 6, ch166data };
+
+static const unsigned char ch167data[] = {
+   0x38,0x64,0x62,0x6,0xe,0x1c,0x38,0x74,0xe2,0xc3,0x83,0x87,0x4e,0x3c,0x38,0x70,
+   0x60,0x46,0x26,0x1c
+};
+static const GLUTBitmapChar ch167 = { 8, 20, -2, 2, 12, ch167data };
+
+static const unsigned char ch168data[] = {
+   0xcc,0xcc
+};
+static const GLUTBitmapChar ch168 = { 6, 2, -1, -14, 8, ch168data };
+
+static const unsigned char 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 GLUTBitmapChar ch169 = { 17, 17, -1, 0, 19, ch169data };
+
+static const unsigned char ch170data[] = {
+   0x7e,0x0,0x76,0xcc,0xcc,0x7c,0xc,0xcc,0x78
+};
+static const GLUTBitmapChar ch170 = { 7, 9, 0, -8, 8, ch170data };
+
+static const unsigned char ch171data[] = {
+   0x8,0x80,0x19,0x80,0x33,0x0,0x66,0x0,0xcc,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,
+   0x19,0x80,0x8,0x80
+};
+static const GLUTBitmapChar ch171 = { 9, 10, -2, -1, 13, ch171data };
+
+static const unsigned char ch172data[] = {
+   0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0x0,0x30,0xff,0xf0,0xff,0xf0
+};
+static const GLUTBitmapChar ch172 = { 12, 7, -1, -3, 14, ch172data };
+
+static const unsigned char ch173data[] = {
+   0xfe,0xfe
+};
+static const GLUTBitmapChar ch173 = { 7, 2, -1, -5, 9, ch173data };
+
+static const unsigned char 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 GLUTBitmapChar ch174 = { 17, 17, -1, 0, 19, ch174data };
+
+static const unsigned char ch175data[] = {
+   0xfc,0xfc
+};
+static const GLUTBitmapChar ch175 = { 6, 2, -1, -14, 8, ch175data };
+
+static const unsigned char ch176data[] = {
+   0x38,0x44,0x82,0x82,0x82,0x44,0x38
+};
+static const GLUTBitmapChar ch176 = { 7, 7, -1, -10, 9, ch176data };
+
+static const unsigned char 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 GLUTBitmapChar ch177 = { 12, 15, -1, 0, 14, ch177data };
+
+static const unsigned char ch178data[] = {
+   0xfc,0x44,0x20,0x30,0x10,0x8,0xc,0x8c,0x4c,0x38
+};
+static const GLUTBitmapChar ch178 = { 6, 10, 0, -7, 7, ch178data };
+
+static const unsigned char ch179data[] = {
+   0x70,0x88,0x8c,0xc,0x8,0x30,0x8,0x8c,0x4c,0x38
+};
+static const GLUTBitmapChar ch179 = { 6, 10, 0, -7, 7, ch179data };
+
+static const unsigned char ch180data[] = {
+   0x80,0x60,0x38,0x18
+};
+static const GLUTBitmapChar ch180 = { 5, 4, -2, -13, 8, ch180data };
+
+static const unsigned char 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 GLUTBitmapChar ch181 = { 11, 17, -1, 5, 13, ch181data };
+
+static const unsigned char 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 GLUTBitmapChar ch182 = { 9, 22, -1, 5, 11, ch182data };
+
+static const unsigned char ch183data[] = {
+   0xc0,0xc0
+};
+static const GLUTBitmapChar ch183 = { 2, 2, -2, -6, 6, ch183data };
+
+static const unsigned char ch184data[] = {
+   0x78,0xcc,0xc,0x3c,0x30,0x10
+};
+static const GLUTBitmapChar ch184 = { 6, 6, -1, 6, 8, ch184data };
+
+static const unsigned char ch185data[] = {
+   0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x60,0x20
+};
+static const GLUTBitmapChar ch185 = { 5, 10, -1, -7, 7, ch185data };
+
+static const unsigned char ch186data[] = {
+   0xfc,0x0,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0x78
+};
+static const GLUTBitmapChar ch186 = { 6, 9, -1, -8, 8, ch186data };
+
+static const unsigned char ch187data[] = {
+   0x88,0x0,0xcc,0x0,0x66,0x0,0x33,0x0,0x19,0x80,0x19,0x80,0x33,0x0,0x66,0x0,
+   0xcc,0x0,0x88,0x0
+};
+static const GLUTBitmapChar ch187 = { 9, 10, -2, -1, 12, ch187data };
+
+static const unsigned char 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 GLUTBitmapChar ch188 = { 16, 17, -1, 0, 18, ch188data };
+
+static const unsigned char 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 GLUTBitmapChar ch189 = { 15, 17, -1, 0, 18, ch189data };
+
+static const unsigned char 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 GLUTBitmapChar ch190 = { 17, 17, 0, 0, 18, ch190data };
+
+static const unsigned char ch191data[] = {
+   0x3e,0x63,0xc1,0xc3,0xc3,0xe0,0x70,0x30,0x38,0x18,0x18,0x8,0x8,0x0,0x0,0xc,
+   0xc
+};
+static const GLUTBitmapChar ch191 = { 8, 17, -1, 5, 11, ch191data };
+
+static const unsigned char 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 GLUTBitmapChar ch192 = { 17, 22, 0, 0, 17, ch192data };
+
+static const unsigned char 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 GLUTBitmapChar ch193 = { 17, 22, 0, 0, 17, ch193data };
+
+static const unsigned char 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 GLUTBitmapChar ch194 = { 17, 22, 0, 0, 17, ch194data };
+
+static const unsigned char 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 GLUTBitmapChar ch195 = { 17, 21, 0, 0, 17, ch195data };
+
+static const unsigned char 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 GLUTBitmapChar ch196 = { 17, 21, 0, 0, 17, ch196data };
+
+static const unsigned char 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 GLUTBitmapChar ch197 = { 17, 21, 0, 0, 17, ch197data };
+
+static const unsigned char 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 GLUTBitmapChar ch198 = { 20, 17, 0, 0, 21, ch198data };
+
+static const unsigned char 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 GLUTBitmapChar ch199 = { 14, 23, -1, 6, 16, ch199data };
+
+static const unsigned char 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 GLUTBitmapChar ch200 = { 13, 22, -1, 0, 15, ch200data };
+
+static const unsigned char 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 GLUTBitmapChar ch201 = { 13, 22, -1, 0, 15, ch201data };
+
+static const unsigned char 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 GLUTBitmapChar ch202 = { 13, 22, -1, 0, 15, ch202data };
+
+static const unsigned char 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 GLUTBitmapChar ch203 = { 13, 21, -1, 0, 15, ch203data };
+
+static const unsigned char 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 GLUTBitmapChar ch204 = { 6, 22, -1, 0, 8, ch204data };
+
+static const unsigned char 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 GLUTBitmapChar ch205 = { 6, 22, -1, 0, 8, ch205data };
+
+static const unsigned char 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 GLUTBitmapChar ch206 = { 8, 22, -1, 0, 8, ch206data };
+
+static const unsigned char ch207data[] = {
+   0xfc,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
+   0xfc,0x0,0x0,0xcc,0xcc
+};
+static const GLUTBitmapChar ch207 = { 6, 21, -1, 0, 8, ch207data };
+
+static const unsigned char 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 GLUTBitmapChar ch208 = { 16, 17, 0, 0, 17, ch208data };
+
+static const unsigned char 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 GLUTBitmapChar ch209 = { 16, 21, -1, 0, 18, ch209data };
+
+static const unsigned char 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 GLUTBitmapChar ch210 = { 16, 22, -1, 0, 18, ch210data };
+
+static const unsigned char 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 GLUTBitmapChar ch211 = { 16, 22, -1, 0, 18, ch211data };
+
+static const unsigned char 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 GLUTBitmapChar ch212 = { 16, 22, -1, 0, 18, ch212data };
+
+static const unsigned char 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 GLUTBitmapChar ch213 = { 16, 21, -1, 0, 18, ch213data };
+
+static const unsigned char 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 GLUTBitmapChar ch214 = { 16, 21, -1, 0, 18, ch214data };
+
+static const unsigned char 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 GLUTBitmapChar ch215 = { 10, 11, -2, -1, 14, ch215data };
+
+static const unsigned char 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 GLUTBitmapChar ch216 = { 16, 19, -1, 1, 18, ch216data };
+
+static const unsigned char 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 GLUTBitmapChar ch217 = { 16, 22, -1, 0, 18, ch217data };
+
+static const unsigned char 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 GLUTBitmapChar ch218 = { 16, 22, -1, 0, 18, ch218data };
+
+static const unsigned char 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 GLUTBitmapChar ch219 = { 16, 22, -1, 0, 18, ch219data };
+
+static const unsigned char 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 GLUTBitmapChar ch220 = { 16, 21, -1, 0, 18, ch220data };
+
+static const unsigned char 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 GLUTBitmapChar ch221 = { 16, 22, 0, 0, 16, ch221data };
+
+static const unsigned char 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 GLUTBitmapChar ch222 = { 13, 17, -1, 0, 15, ch222data };
+
+static const unsigned char 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 GLUTBitmapChar ch223 = { 10, 17, -1, 0, 12, ch223data };
+
+static const unsigned char 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 GLUTBitmapChar ch224 = { 9, 17, -1, 0, 11, ch224data };
+
+static const unsigned char 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 GLUTBitmapChar ch225 = { 9, 17, -1, 0, 11, ch225data };
+
+static const unsigned char 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 GLUTBitmapChar ch226 = { 9, 17, -1, 0, 11, ch226data };
+
+static const unsigned char 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 GLUTBitmapChar ch227 = { 9, 16, -1, 0, 11, ch227data };
+
+static const unsigned char 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 GLUTBitmapChar ch228 = { 9, 16, -1, 0, 11, ch228data };
+
+static const unsigned char 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 GLUTBitmapChar ch229 = { 9, 17, -1, 0, 11, ch229data };
+
+static const unsigned char 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 GLUTBitmapChar ch230 = { 14, 12, -1, 0, 16, ch230data };
+
+static const unsigned char 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 GLUTBitmapChar ch231 = { 9, 18, -1, 6, 11, ch231data };
+
+static const unsigned char 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 GLUTBitmapChar ch232 = { 9, 17, -1, 0, 11, ch232data };
+
+static const unsigned char 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 GLUTBitmapChar ch233 = { 9, 17, -1, 0, 11, ch233data };
+
+static const unsigned char 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 GLUTBitmapChar ch234 = { 9, 17, -1, 0, 11, ch234data };
+
+static const unsigned char 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 GLUTBitmapChar ch235 = { 9, 16, -1, 0, 11, ch235data };
+
+static const unsigned char ch236data[] = {
+   0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x8,0x30,0xe0,
+   0xc0
+};
+static const GLUTBitmapChar ch236 = { 5, 17, 0, 0, 6, ch236data };
+
+static const unsigned char ch237data[] = {
+   0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x0,0x80,0x60,0x38,
+   0x18
+};
+static const GLUTBitmapChar ch237 = { 5, 17, -1, 0, 6, ch237data };
+
+static const unsigned char ch238data[] = {
+   0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x84,0x48,0x78,
+   0x30
+};
+static const GLUTBitmapChar ch238 = { 6, 17, 0, 0, 6, ch238data };
+
+static const unsigned char ch239data[] = {
+   0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,0x0,0x0,0xcc,0xcc
+};
+static const GLUTBitmapChar ch239 = { 6, 16, 0, 0, 6, ch239data };
+
+static const unsigned char 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 GLUTBitmapChar ch240 = { 10, 17, -1, 0, 12, ch240data };
+
+static const unsigned char 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 GLUTBitmapChar ch241 = { 11, 16, -1, 0, 13, ch241data };
+
+static const unsigned char 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 GLUTBitmapChar ch242 = { 10, 17, -1, 0, 12, ch242data };
+
+static const unsigned char 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 GLUTBitmapChar ch243 = { 10, 17, -1, 0, 12, ch243data };
+
+static const unsigned char 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 GLUTBitmapChar ch244 = { 10, 17, -1, 0, 12, ch244data };
+
+static const unsigned char 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 GLUTBitmapChar ch245 = { 10, 16, -1, 0, 12, ch245data };
+
+static const unsigned char 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 GLUTBitmapChar ch246 = { 10, 16, -1, 0, 12, ch246data };
+
+static const unsigned char ch247data[] = {
+   0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0xff,0xf0,0xff,0xf0,0x0,0x0,0x0,0x0,
+   0x6,0x0,0x6,0x0
+};
+static const GLUTBitmapChar ch247 = { 12, 10, -1, -2, 14, ch247data };
+
+static const unsigned char 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 GLUTBitmapChar ch248 = { 10, 14, -1, 1, 12, ch248data };
+
+static const unsigned char 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 GLUTBitmapChar ch249 = { 11, 17, -1, 0, 13, ch249data };
+
+static const unsigned char 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 GLUTBitmapChar ch250 = { 11, 17, -1, 0, 13, ch250data };
+
+static const unsigned char 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 GLUTBitmapChar ch251 = { 11, 17, -1, 0, 13, ch251data };
+
+static const unsigned char 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 GLUTBitmapChar ch252 = { 11, 16, -1, 0, 13, ch252data };
+
+static const unsigned char 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 GLUTBitmapChar ch253 = { 11, 22, 0, 5, 11, ch253data };
+
+static const unsigned char 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 GLUTBitmapChar ch254 = { 10, 22, -1, 5, 12, ch254data };
+
+static const unsigned char 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 GLUTBitmapChar ch255 = { 11, 21, 0, 5, 11, ch255data };
+
+
+static const GLUTBitmapChar *chars[] = {
+   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, 
+   &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
+};
+
+const GLUTBitmapFont glutBitmapTimesRoman24 = {
+   "-Adobe-Times-Medium-R-Normal--24-240-75-75-P-124-ISO8859-1",
+   28, 256, chars
+};
index e5969ded49782a8033e0b5a1a4b6560de49724f3..df126443d33f9ab0fab9537fa2422916cc35244d 100644 (file)
@@ -1,40 +1,33 @@
 /*
- * Mesa 3-D graphics library
- * Version:  3.4
- * Copyright (C) 1995-1998  Brian Paul
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.4 for Mesa
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
  *
- *  Copyright (C) 2002 - Daniel Borca
- *  Email : dborca@yahoo.com
- *  Web   : http://www.geocities.com/dborca
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
-#include "glutint.h"
-#include "glutbitmap.h"
-#include "glutstroke.h"
+#include "internal.h"
 
 
-#ifdef GLUT_IMPORT_LIB
-extern StrokeFontRec glutStrokeRoman, glutStrokeMonoRoman;
-extern BitmapFontRec glutBitmap8By13, glutBitmap9By15, glutBitmapTimesRoman10, glutBitmapTimesRoman24, glutBitmapHelvetica10, glutBitmapHelvetica12, glutBitmapHelvetica18;
+extern GLUTStrokeFont glutStrokeRoman, glutStrokeMonoRoman;
+extern GLUTBitmapFont glutBitmap8By13, glutBitmap9By15, glutBitmapTimesRoman10, glutBitmapTimesRoman24, glutBitmapHelvetica10, glutBitmapHelvetica12, glutBitmapHelvetica18;
 
 /* To get around the fact that DJGPP DXEs only allow functions
    to be exported and no data addresses (as Unix DSOs support), the
@@ -42,7 +35,7 @@ extern BitmapFontRec glutBitmap8By13, glutBitmap9By15, glutBitmapTimesRoman10, g
    through a case statement to get mapped to the actual data structure
    address. */
 void *
-__glutFont (void *font)
+_glut_font (void *font)
 {
    switch ((int)font) {
       case (int)GLUT_STROKE_ROMAN:
@@ -63,9 +56,19 @@ __glutFont (void *font)
          return &glutBitmapHelvetica12;
       case (int)GLUT_BITMAP_HELVETICA_18:
          return &glutBitmapHelvetica18;
-      default: /* NOTREACHED */
-         __glutFatalError("bad font!");
+      default:
+         if ((font == &glutStrokeRoman) ||
+             (font == &glutStrokeMonoRoman) ||
+             (font == &glutBitmap9By15) ||
+             (font == &glutBitmap8By13) ||
+             (font == &glutBitmapTimesRoman10) ||
+             (font == &glutBitmapTimesRoman24) ||
+             (font == &glutBitmapHelvetica10) ||
+             (font == &glutBitmapHelvetica12) ||
+             (font == &glutBitmapHelvetica18)) {
+            return font;
+         }
+         _glut_fatal("bad font!");
          return NULL;
    }
 }
-#endif
index 1139f48a66840d24b5e86ca4863222923ff52ed9..b922746a9e24770a41b66a936dfaa35d88eb6633 100644 (file)
@@ -1,43 +1,38 @@
 /*
- * Mesa 3-D graphics library
- * Version:  4.1
- * Copyright (C) 1995-1998  Brian Paul
+ * DOS/DJGPP Mesa Utility Toolkit
+ * Version:  1.0
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * Copyright (C) 2005  Daniel Borca   All Rights Reserved.
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
  *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * DOS/DJGPP glut driver v1.4 for Mesa
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
  *
- *  Copyright (C) 2002 - Daniel Borca
- *  Email : dborca@users.sourceforge.net
- *  Web   : http://www.geocities.com/dborca
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
 #include <stdio.h>
 
-#include "glutint.h"
-#include "GL/dmesa.h"
+#include "internal.h"
 
 
-GLUTwindow *g_curwin;
 static GLuint swaptime, swapcount;
 
 static DMesaVisual visual = NULL;
-GLUTwindow *g_windows[MAX_WINDOWS];
+
+GLUTwindow *_glut_current, *_glut_windows[MAX_WINDOWS];
 
 
 static void
@@ -55,11 +50,21 @@ clean (void)
 }
 
 
+static GLUTwindow *
+_glut_window (int win)
+{
+   if (win > 0 && --win < MAX_WINDOWS) {
+      return _glut_windows[win];
+   }
+   return NULL;
+}
+
+
 int APIENTRY
 glutCreateWindow (const char *title)
 {
    int i;
-   int m8width = (g_init_w + 7) & ~7;
+   int m8width = (_glut_default.width + 7) & ~7;
 
    /* We set the Visual once. This will be our desktop (graphic mode).
     * We should do this in the `glutInit' code, but we don't have any idea
@@ -67,16 +72,19 @@ glutCreateWindow (const char *title)
     * window, we have a slight idea about resolution.
     */
    if (!visual) {
-      if ((visual=DMesaCreateVisual(g_init_x + m8width, g_init_y + g_init_h, g_bpp, g_refresh,
-                                    g_display_mode & GLUT_DOUBLE,
-                                    !(g_display_mode & GLUT_INDEX),
-                                    (g_display_mode & GLUT_ALPHA  ) ? g_alpha   : 0,
-                                    (g_display_mode & GLUT_DEPTH  ) ? g_depth   : 0,
-                                    (g_display_mode & GLUT_STENCIL) ? g_stencil : 0,
-                                    (g_display_mode & GLUT_ACCUM  ) ? g_accum   : 0))==NULL) {
+      if ((visual=DMesaCreateVisual(_glut_default.x + m8width, _glut_default.y + _glut_default.height, _glut_visual.bpp, _glut_visual.refresh,
+                                    _glut_default.mode & GLUT_DOUBLE,
+                                    !(_glut_default.mode & GLUT_INDEX),
+                                    (_glut_default.mode & GLUT_ALPHA  ) ? _glut_visual.alpha   : 0,
+                                    (_glut_default.mode & GLUT_DEPTH  ) ? _glut_visual.depth   : 0,
+                                    (_glut_default.mode & GLUT_STENCIL) ? _glut_visual.stencil : 0,
+                                    (_glut_default.mode & GLUT_ACCUM  ) ? _glut_visual.accum   : 0))==NULL) {
          return 0;
       }
 
+      DMesaGetIntegerv(DMESA_GET_SCREEN_SIZE, _glut_visual.geometry);
+      DMesaGetIntegerv(DMESA_GET_DRIVER_CAPS, &_glut_visual.flags);
+
       /* Also hook stdio/stderr once */
       pc_open_stdout();
       pc_open_stderr();
@@ -87,7 +95,7 @@ glutCreateWindow (const char *title)
     * Each window has its own rendering Context and its own Buffer.
     */
    for (i=0; i<MAX_WINDOWS; i++) {
-      if (g_windows[i] == NULL) {
+      if (_glut_windows[i] == NULL) {
          DMesaContext c;
          DMesaBuffer b;
          GLUTwindow *w;
@@ -105,7 +113,7 @@ glutCreateWindow (const char *title)
          /* Allocate the Buffer (displayable area).
           * We have to specify buffer size and position (inside the desktop).
           */
-         if ((b = DMesaCreateBuffer(visual, g_init_x, g_init_y, m8width, g_init_h)) == NULL) {
+         if ((b = DMesaCreateBuffer(visual, _glut_default.x, _glut_default.y, m8width, _glut_default.height)) == NULL) {
             DMesaDestroyContext(c);
             free(w);
             return 0;
@@ -119,13 +127,13 @@ glutCreateWindow (const char *title)
             return 0;
          }
 
-         g_curwin = g_windows[i] = w;
+         _glut_current = _glut_windows[i] = w;
 
          w->num = ++i;
-         w->xpos = g_init_x;
-         w->ypos = g_init_y;
+         w->xpos = _glut_default.x;
+         w->ypos = _glut_default.y;
          w->width = m8width;
-         w->height = g_init_h;
+         w->height = _glut_default.height;
          w->context = c;
          w->buffer = b;
 
@@ -147,13 +155,16 @@ glutCreateSubWindow (int win, int x, int y, int width, int height)
 void APIENTRY
 glutDestroyWindow (int win)
 {
-   if (g_windows[--win]) {
-      GLUTwindow *w = g_windows[win];
+   GLUTwindow *w = _glut_window(win);
+   if (w != NULL) {
+      if (w->destroy) {
+         w->destroy();
+      }
       DMesaMakeCurrent(NULL, NULL);
       DMesaDestroyBuffer(w->buffer);
       DMesaDestroyContext(w->context);
       free(w);
-      g_windows[win] = NULL;
+      _glut_windows[win - 1] = NULL;
    }
 }
 
@@ -161,27 +172,27 @@ glutDestroyWindow (int win)
 void APIENTRY
 glutPostRedisplay (void)
 {
-   g_curwin->redisplay = GL_TRUE;
+   _glut_current->redisplay = GL_TRUE;
 }
 
 
 void APIENTRY
 glutSwapBuffers (void)
 {
-   if (g_curwin->show_mouse) {
+   if (_glut_current->show_mouse) {
       /* XXX scare mouse */
-      DMesaSwapBuffers(g_curwin->buffer);
+      DMesaSwapBuffers(_glut_current->buffer);
       /* XXX unscare mouse */
    } else {
-      DMesaSwapBuffers(g_curwin->buffer);
+      DMesaSwapBuffers(_glut_current->buffer);
    }
 
-   if (g_fps) {
+   if (_glut_fps) {
       GLint t = glutGet(GLUT_ELAPSED_TIME);
       swapcount++;
       if (swaptime == 0)
          swaptime = t;
-      else if (t - swaptime > g_fps) {
+      else if (t - swaptime > _glut_fps) {
          double time = 0.001 * (t - swaptime);
          double fps = (double)swapcount / time;
          fprintf(stderr, "GLUT: %d frames in %.2f seconds = %.2f FPS\n", swapcount, time, fps);
@@ -195,15 +206,18 @@ glutSwapBuffers (void)
 int APIENTRY
 glutGetWindow (void)
 {
-   return g_curwin->num;
+   return _glut_current->num;
 }
 
 
 void APIENTRY
 glutSetWindow (int win)
 {
-   g_curwin = g_windows[win - 1];
-   DMesaMakeCurrent(g_curwin->context, g_curwin->buffer);
+   GLUTwindow *w = _glut_window(win);
+   if (w != NULL) {
+      _glut_current = w;
+      DMesaMakeCurrent(_glut_current->context, _glut_current->buffer);
+   }
 }
 
 
@@ -223,8 +237,8 @@ void APIENTRY
 glutPositionWindow (int x, int y)
 {
    if (DMesaMoveBuffer(x, y)) {
-      g_curwin->xpos = x;
-      g_curwin->ypos = y;
+      _glut_current->xpos = x;
+      _glut_current->ypos = y;
    }
 }
 
@@ -233,10 +247,10 @@ void APIENTRY
 glutReshapeWindow (int width, int height)
 { 
    if (DMesaResizeBuffer(width, height)) {
-      g_curwin->width = width;
-      g_curwin->height = height;
-      if (g_curwin->reshape) {
-         g_curwin->reshape(width, height);
+      _glut_current->width = width;
+      _glut_current->height = height;
+      if (_glut_current->reshape) {
+         _glut_current->reshape(width, height);
       } else {
          glViewport(0, 0, width, height);
       }
@@ -278,3 +292,34 @@ void APIENTRY
 glutHideWindow (void)
 {
 }
+
+
+void APIENTRY
+glutCloseFunc (GLUTdestroyCB destroy)
+{
+   _glut_current->destroy = destroy;
+}
+
+
+void APIENTRY
+glutPostWindowRedisplay (int win)
+{
+   GLUTwindow *w = _glut_window(win);
+   if (w != NULL) {
+      w->redisplay = GL_TRUE;
+   }
+}
+
+
+void * APIENTRY
+glutGetWindowData (void)
+{
+   return _glut_current->data;
+}
+
+
+void APIENTRY
+glutSetWindowData (void *data)
+{
+   _glut_current->data = data;
+}