@Override
	public String toString() {
		StringBuffer sb = new StringBuffer();
		switch (mode) {
		case EDITING:
			sb.append("\tMode: Edit Mode\n");
			break;
		case INTERACTIVE:
			sb.append("\tMode: Interactive Mode\n");
			break;
		}
		sb.append("\tType: ");
		switch (current_font) {
		case FTGL_BITMAP:
			sb.append("Bitmap Font\n");
			break;
		case FTGL_PIXMAP:
			sb.append("Pixmap Font\n");
			break;
		case FTGL_OUTLINE:
			sb.append("Outline Font\n");
			break;
		case FTGL_POLYGON:
			sb.append("Polygon Font\n");
			break;
		case FTGL_EXTRUDE:
			sb.append("Extruded Font\n");
			break;
		case FTGL_TEXTURE:
			sb.append("Texture Font\n");
			break;
		}

		if (font instanceof OpenType)
			sb.append(" (OpenType) ");

		sb.append("\tFontfile: ");
		sb.append(font.getFontName());
		sb.append("\n");
		return sb.toString();
	}