anchor.diff:                glTexCoord2f(Let.u2, Let.v2); glVertex2f(AdvX + Let.Width, AdvY+Let.Height + Let.YOffset);
                 glTexCoord2f(Let.u1, Let.v2); glVertex2f(AdvX            , AdvY+Let.Height + Let.YOffset);
                 Inc(AdvX, Let.Width + FontData.CharSpacing);
  -
  -              if (I = Length(aText)) then
  -                glEnd;
               end;
       end;
  +    //When we reach the end, if we painted something then we need to end it
  +    if (I = Length(aText)) and (PrevAtlas <> -1) then
  +      glEnd;
     end;
     glBindTexture(GL_TEXTURE_2D, 0);
   
  
positive.code:       else  begin
                Let := FontData.GetLetter(aText[I]);
  
                if (I = 1)
                or (PrevAtlas <> Let.AtlasId) then
                begin
                  if PrevAtlas <> -1 then
                    glEnd;
                  PrevAtlas := Let.AtlasId;
                  glBindTexture(GL_TEXTURE_2D, FontData.TexID[Let.AtlasId]);
                  glBegin(GL_QUADS);
  
negative.code:   begin
      glPushMatrix;
        case aAlign of
          taLeft:   glTranslatef(aLeft,                               aTop, 0);
          taCenter: glTranslatef(aLeft + (aWidth - BlockWidth) div 2, aTop, 0);
          taRight:  glTranslatef(aLeft + (aWidth - BlockWidth),       aTop, 0);
        end;
  