Index: trunk/src/lib/graphics/text_engine/font.cc
===================================================================
--- trunk/src/lib/graphics/text_engine/font.cc	(revision 5419)
+++ trunk/src/lib/graphics/text_engine/font.cc	(revision 5420)
@@ -412,5 +412,5 @@
 
   this->initGlyphs(32, numberOfGlyphs);
-  this->glyphArray[32]->width = .5f; //!< @todo find out the real size of a Space
+//  this->glyphArray[32]->width = .5f; //!< @todo find out the real size of a Space
 
   int rectSize = this->findOptimalFastTextureSize();
@@ -437,5 +437,5 @@
   tmpRect.x = 0; tmpRect.y = 0; tmpRect.w = tmpSurf->w; tmpRect.h = tmpSurf->h;
   SDL_SetClipRect(tmpSurf, &tmpRect);
-  int maxLineHeight = 0;
+  int maxLineHeight = this->getMaxHeight();
 
   // all the interessting Glyphs
@@ -453,6 +453,5 @@
       {
         tmpRect.x = 0;
-        tmpRect.y = tmpRect.y + maxLineHeight + 1;
-        maxLineHeight = 0;
+        tmpRect.y = tmpRect.y + maxLineHeight;
       }
       if (tmpRect.y + maxLineHeight > tmpSurf->h)
@@ -470,17 +469,19 @@
       {
         SDL_SetAlpha(glyphSurf, 0, 0);
-
+        int tmp = tmpRect.y;
+        tmpRect.y += this->getMaxAscent()-(int)((float)tmpGlyph->bearingY*this->renderSize);
         SDL_BlitSurface(glyphSurf, NULL, tmpSurf, &tmpRect);
-        tmpGlyph->texCoord[0] = (float)tmpRect.x/(float)tmpSurf->w;
-        tmpGlyph->texCoord[1] = (float)(tmpRect.x + tmpGlyph->advance*this->renderSize)/(float)tmpSurf->w;
+        tmpRect.y = tmp;
+
+        tmpGlyph->texCoord[0] = (float)(tmpRect.x)/(float)tmpSurf->w;
+        tmpGlyph->texCoord[1] = (float)(tmpRect.x + tmpGlyph->width*(float)this->renderSize)/(float)tmpSurf->w;
         tmpGlyph->texCoord[2] = (float)(tmpRect.y)/(float)tmpSurf->w;
-        tmpGlyph->texCoord[3] = (float)(tmpRect.y+tmpGlyph->height*this->renderSize)/(float)tmpSurf->w;
+        tmpGlyph->texCoord[3] = (float)(tmpRect.y+this->getMaxHeight())/(float)tmpSurf->w;
         SDL_FreeSurface(glyphSurf);
-
-        tmpRect.x += (int)(tmpGlyph->advance*this->renderSize)+1;
-
-              // Outputting Glyphs to BMP-files.
+        tmpRect.x += (int)(tmpGlyph->advance * this->renderSize)+1;
+
         /*
-        char outname[512];
+        // Outputting Glyphs to BMP-files.
+        char outname[1024];
         if (i < 10)
         sprintf( outname, "%s-glyph-00%d.bmp", this->getName(), i );
@@ -489,9 +490,12 @@
         else
         sprintf( outname, "%s-glyph-%d.bmp", this->getName(), i );
-        SDL_SaveBMP(tmpSurf, outname);
-        */
+        SDL_SaveBMP(tmpSurf, outname);*/
       }
     }
   }
+  // outputting the GLYPH-table
+  //   char outName[1024];
+  //   sprintf( outName, "%s-glyphs.bmp", this->getName());
+  //   SDL_SaveBMP(tmpSurf, outName);
 
   GLuint texture;
Index: trunk/src/lib/graphics/text_engine/text.cc
===================================================================
--- trunk/src/lib/graphics/text_engine/text.cc	(revision 5419)
+++ trunk/src/lib/graphics/text_engine/text.cc	(revision 5420)
@@ -243,5 +243,5 @@
     {
       glTranslatef(getAbsCoor2D().x, getAbsCoor2D().y, 0);
-      glRotatef(this->getAbsDir2D(), 0,0,1);
+      glRotatef(this->getAbsDir2D(), 0, 0, 1);
       Glyph* tmpGlyph;
       float posX = 0.0f;
@@ -253,14 +253,14 @@
 
           glTexCoord2f(tmpGlyph->texCoord[0], tmpGlyph->texCoord[2]);
-          glVertex2d(posX, - tmpGlyph->bearingY * this->size);
+          glVertex2d(posX, 0);
 
           glTexCoord2f(tmpGlyph->texCoord[0], tmpGlyph->texCoord[3]);
-          glVertex2d(posX, (tmpGlyph->height - tmpGlyph->bearingY)*this->size);
+          glVertex2d(posX, this->size);
 
           glTexCoord2f(tmpGlyph->texCoord[1], tmpGlyph->texCoord[3]);
-          glVertex2d(posX+tmpGlyph->width*this->size, (tmpGlyph->height - tmpGlyph->bearingY)*this->size);
+          glVertex2d(posX+tmpGlyph->width*this->size, this->size);
 
           glTexCoord2f(tmpGlyph->texCoord[1], tmpGlyph->texCoord[2]);
-          glVertex2d(posX+tmpGlyph->width*this->size, - tmpGlyph->bearingY*this->size);
+          glVertex2d(posX+tmpGlyph->width*this->size, 0);
 
           glEnd();
