Index: orxonox/branches/textEngine/src/lib/graphics/font/glfont.cc
===================================================================
--- orxonox/branches/textEngine/src/lib/graphics/font/glfont.cc	(revision 3734)
+++ orxonox/branches/textEngine/src/lib/graphics/font/glfont.cc	(revision 3735)
@@ -145,4 +145,6 @@
 
   this->setText(FONT_DEFAULT_TEXT);
+  
+  this->setColor(0,255,0);
 
   this->createTexture();
@@ -449,7 +451,9 @@
    *  97-122: a-z
    */
+  SDL_Color tmpColor;
+  tmpColor.r = tmpColor.g = tmpColor.b = 0;
   SDL_Surface* tmpSurf =  SDL_CreateRGBSurface(
 					       SDL_SWSURFACE,
-					       100, 100,
+					       1000, 300,
 					       32,
 #if SDL_BYTEORDER == SDL_LIL_ENDIAN /* OpenGL RGBA masks */
@@ -466,11 +470,32 @@
 					       );
   SDL_Rect tmpRect;
-  tmpRect.x = 0; tmpRect.y = 0; tmpRect.w = 100; tmpRect.h = 100;
-  for ( int i = 65; i <= 90; i++ ) 
+
+  tmpRect.x = 0; tmpRect.y = 0; tmpRect.w = tmpSurf->w; tmpRect.h = tmpSurf->h;
+  SDL_SetClipRect(tmpSurf, &tmpRect);
+  for ( int i = 33; i <= 122; i++ ) 
     {
       SDL_Surface* glyph = NULL;
-      
-      glyph = TTF_RenderGlyph_Blended( this->font, i, this->currentText->color );
-      
+      SDL_Surface* glyph2 = NULL;
+      Glyph tmpGlyph;
+
+      tmpGlyph = getGlyphMetrics(i);
+      if (tmpRect.x+tmpGlyph.width > tmpSurf->w)
+	{
+	  tmpRect.x = 0;
+	  tmpRect.y = tmpRect.y+tmpGlyph.height+1;
+	  printf("x:%d, y:%d\n", tmpRect.x, tmpRect.y);
+	}
+      if (tmpRect.y +tmpGlyph.height > tmpSurf->h)
+	{
+	  PRINTF(1)("Protection, so font cannot write over the boundraries error\n");
+	  break;
+	}
+
+
+      glyph = TTF_RenderGlyph_Shaded(this->font,
+				     i,
+				     this->currentText->color,
+				     tmpColor);
+
       if( glyph ) {
 	char outname[64];
@@ -482,6 +507,11 @@
 	  sprintf( outname, "glyph-%d.bmp", i );
 
+	SDL_SetColorKey (glyph, SDL_SRCCOLORKEY, 1);
+	if (glyph->flags & SDL_SRCALPHA)
+	  printf("glyph-flags: %d\n", glyph->flags);
+
 	SDL_BlitSurface(glyph, NULL, tmpSurf, &tmpRect);
-	SDL_SaveBMP( tmpSurf, outname );
+	SDL_SaveBMP(tmpSurf, outname);
+	tmpRect.x += tmpGlyph.width+1;
       }
     }
Index: orxonox/branches/textEngine/src/lib/graphics/font/glfont.h
===================================================================
--- orxonox/branches/textEngine/src/lib/graphics/font/glfont.h	(revision 3734)
+++ orxonox/branches/textEngine/src/lib/graphics/font/glfont.h	(revision 3735)
@@ -26,4 +26,14 @@
 
 
+
+//! A Struct to handel Texture Coordinates for quads
+struct TexCoord
+{
+  float minU;                      //!< The minimum U-Coordinate
+  float maxU;                      //!< The maximum U-Coordinate
+  float minV;                      //!< The minimum V-Coordinate
+  float maxV;                      //!< The maximum V-Coordinate
+};
+
 //! A struct for handling glyphs
 /**
@@ -32,4 +42,5 @@
 struct Glyph
 {
+  // Glyph-specific (size and so on)
   Uint16 character;              //!< The character
   int minX;                      //!< The minimum distance from the origin in X
@@ -42,13 +53,7 @@
   int bearingY;                  //!< How much is above the Origin
   int advance;                   //!< How big a Glyph would be in monospace-mode
-};
-
-//! A Struct to handel Texture Coordinates for quads
-struct TexCoord
-{
-  float minU;                      //!< The minimum U-Coordinate
-  float maxU;                      //!< The maximum U-Coordinate
-  float minV;                      //!< The minimum V-Coordinate
-  float maxV;                      //!< The maximum V-Coordinate
+  
+  // OpenGL-specific
+  TexCoord texCoord;             //!< A Texture Coordinate for this glyph
 };
 
Index: orxonox/branches/textEngine/src/story_entities/world.cc
===================================================================
--- orxonox/branches/textEngine/src/story_entities/world.cc	(revision 3734)
+++ orxonox/branches/textEngine/src/story_entities/world.cc	(revision 3735)
@@ -406,5 +406,5 @@
   glNewList (objectList, GL_COMPILE);
  
-  trackManager->drawGraph(.01);
+  //  trackManager->drawGraph(.01);
   trackManager->debug(2);
   glEndList();
