+ /* outline font in black */
+ const XPoint offsets[] = {{ -1, -1 },
+ { -1, 1 },
+ { 1, 1 },
+ { 1, -1 },
+ { 0, 0 }};
+ int j;
+# ifndef HAVE_GLBITMAP
+ char s[2];
+ s[0] = c;
+ s[1] = 0;
+# endif /* !HAVE_GLBITMAP */
+
+ glColor3f (0, 0, 0);
+ for (j = 0; j < countof(offsets); j++)
+ {
+ if (! clear_background_p)
+ j = countof(offsets)-1;
+ if (offsets[j].x == 0)
+ glColor4fv (color);
+
+# ifdef HAVE_GLBITMAP
+ glRasterPos2f (x2 + offsets[j].x, y + offsets[j].y);
+ glCallList (font_dlist + (int)(c));
+# else /* !HAVE_GLBITMAP */
+ glPushMatrix();
+ glTranslatef (x2 + offsets[j].x, y + offsets[j].y, 0);
+ print_texture_string (font_data, s);
+ glPopMatrix();
+# endif /* !HAVE_GLBITMAP */
+ }