anchor.diff:    while i <= c do
     begin
       Inc(i);
  -    CharWidth := Canvas.TextWidth(DataString(Text[i]));
  +    CharWidth := Canvas.TextWidth({$IFDEF FPC}UTF8Copy(Text, i, 1){$ELSE}Text[i]{$ENDIF});
       if LineWidth + CharWidth < MaxWidth then
       begin
         Inc(LineWidth, CharWidth);
  
positive.code: 
  uses
    {$I tox-uses.inc}
    Classes, {$IFNDEF FPC}Types, {$ENDIF}SysUtils, Controls, Graphics, StringUtils, MessageList,
    TextLineInfo, Math;
  
  type
  
negative.code:     if c > 1 then
      begin
        CountCopy := Item.LineWidth[i];
        TextOut := {$IFDEF FPC}UTF8Copy{$ELSE}Copy{$ENDIF}(Text, StartCopy, CountCopy);
        StartCopy := StartCopy + CountCopy;
      end
      else
  