anchor.diff:        SourceCopied := Source;
       end
       else
  -      Inc(Source, CharLen);
  +      Inc(Source, UTF8CharacterLength(Source));
     end;
     CopyPart;
     SetLength(Result, Dest - PChar(Result));
  
positive.code:   Source: PChar;
    Dest: PChar;
    SourceEnd: PChar;
    CharLen: integer;
    SourceCopied: PChar;
  
    // Copies from SourceStart till Source to Dest and updates Dest
  
negative.code:   SourceEnd := Source + SourceLen;
    while Source<SourceEnd do
    begin
      if (Source^='\') then
      begin
        CopyPart;
        inc(Source);
  