anchor.diff:    INDENT = '   ';
   var
     I: Integer;
  -  CharSpacing, LastSpace: Integer;
  +  CharSpacing, LastWrappable: Integer;
  +  LastWrappableIsSpace: Boolean;
     AdvX, PrevX: Integer;
     TmpColor: Integer;
   begin
  
positive.code: 
    AdvX := 0;
    PrevX := 0;
    LastSpace := -1;
    CharSpacing := fFontData[aFont].CharSpacing; //Spacing between letters, this varies between fonts
  
    I := 1;
    while I <= Length(aText) do
    begin
      //Ignore color markups [$FFFFFF][]
      if (aText[I]='[') and (I+1 <= Length(aText)) and (aText[I+1]=']') then
        inc(I) //Skip past this markup
  
negative.code:   for I := 1 to Length(aText) do
    begin
      if aText[I] = #32 then Inc(AdvX, fFontData[aFont].WordSpacing)
                        else Inc(AdvX, fFontData[aFont].Letters[Ord(aText[I])].Width + CharSpacing);
  
      if (AdvX > aMaxPxWidth) then
      begin
  