public void do_display() {
		switch (current_font) {
		case FTGL_BITMAP:
		case FTGL_PIXMAP:
		case FTGL_OUTLINE:
			break;
		case FTGL_POLYGON:
			GL11.glDisable(GL11.GL_BLEND);
			setUpLighting();
			break;
		case FTGL_EXTRUDE:
			GL11.glEnable(GL11.GL_DEPTH_TEST);
			GL11.glDisable(GL11.GL_BLEND);
			setUpLighting();
			break;
		case FTGL_TEXTURE:
			GL11.glEnable(GL11.GL_TEXTURE_2D);
			GL11.glDisable(GL11.GL_DEPTH_TEST);
			setUpLighting();
			GL11.glNormal3f(0.0f, 0.0f, 1.0f);
			break;

		}

		if (fonts[current_font] != null) {
			FTBBox box = fonts[current_font].getBBox(myString);
			// FTBBox.renderBBox(new Vector3f(0, 0, 0), box);
			GL11.glPushMatrix();
			GL11.glTranslatef(-box.getWidth() / 2.0f, -box.getHeight() / 2.0f,
					0f);

			renderCarat();

			GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
			// If you do want to switch the color of bitmaps rendered with
			// glBitmap,
			// you will need to explicitly call glRasterPos3f (or its ilk) to
			// lock
			// in a changed current color.
			GL11.glRasterPos3f(0f, 0f, 0f);

			fonts[current_font].render(myString);

			// this.renderFontmetrics();
			GL11.glPopMatrix();
		}
		renderFontInfo();
	}