anchor.diff:  
     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);
  +    Inc(AdvX, GetCharWidth(aText[I], aFont));
   
       if (AdvX > aMaxPxWidth) then
       begin
  
positive.code:           Inc(I,8) //Skip past this markup
          else
            //Not markup so count width normally
            Inc(LineWidth[LineCount], GetCharWidth(aText[I], CharSpacing));
  
      if (aText[I] = #124) or (I = Length(aText)) then
      begin // If EOL or aText end
  
negative.code:   begin
      if aCountMarkup then
        //Count all characters including markup
        Inc(LineWidth[LineCount], GetCharWidth(aText[I], Fnt))
      else
        //Ignore color markups [$FFFFFF][]
        if (aText[I]='[') and (I+1 <= Length(aText)) and (aText[I+1]=']') then
  