anchor.diff:  
         if chWidth = 0 then Continue;
   
  -      if pX + chWidth + fTexPadding*2 >= fTexSizeX then
  -      begin
  -        pX := fTexPadding;
  -        Inc(pY, lineHeight + fTexPadding*2);
  -        if pY + lineHeight + fTexPadding*2 >= fTexSizeY then
  +      if pX + chWidth + fTexPadding >= fTexSizeX then
  +      begin
  +        pX := 0;
  +        Inc(pY, lineHeight + fTexPadding);
  +        if pY + lineHeight + fTexPadding >= fTexSizeY then
           begin
             //Append new atlas
             Assert((AtlasCount < 255), 'We hit a limit of 256 atlases');
             Inc(fAtlasCount);
  -          pX := fTexPadding;
  -          pY := fTexPadding;
  +          pX := 0;
  +          pY := 0;
             SetLength(fAtlases, fAtlasCount);
             SetLength(fAtlases[fAtlasCount - 1].TexData, fTexSizeX * fTexSizeY);
           end;
  
positive.code: 
        if chWidth = 0 then Continue;
  
        if pX + chWidth + fTexPadding * 2 >= fTexSizeX then
        begin
          pX := fTexPadding;
          Inc(pY, txtHeight + fTexPadding * 2);
          if pY + txtHeight + fTexPadding * 2 > fTexSizeY then
          begin
            //Append new atlas
            Assert((AtlasCount < 255), 'We hit a limit of 256 atlases');
            Inc(fAtlasCount);
            pX := fTexPadding;
            pY := fTexPadding;
            SetLength(fAtlases, fAtlasCount);
            SetLength(fAtlases[fAtlasCount - 1].TexData, fTexSizeX * fTexSizeY);
          end;
  
negative.code: 
    //Texture data
    fAtlasCount := 1;
    pX := 0;
    pY := 0;
    SetLength(fAtlases, 0);
    SetLength(fAtlases, fAtlasCount);
    SetLength(fAtlases[fAtlasCount - 1].TexData, fTexSizeX * fTexSizeY);
  