anchor.diff:      begin
         case (line.getLineType(config)) of
           ltULIST:
  -          line.value := line.value.substring(line.leading + 2);
  +//          line.value := line.value.substring(line.leading + 2); PSTfix
  +          line.value := Copy(line.value, line.leading +3);
           ltOLIST:
  -          line.value := line.value.substring(line.value.indexOf('.') + 2);
  +//          line.value := line.value.substring(line.value.indexOf('.') + 2); pstfix
  +        line.value := Copy(line.value, Pos('.', line.value) + 2);
         else
  -        line.value := line.value.substring(Math.min(line.leading, 4));
  +//        line.value := line.value.substring(Math.min(line.leading, 4)); pstfix
  +        line.value := Copy(line.value, Math.Min(line.leading + 1, 5));
         end;
         line.InitLeading();
       end;
  
positive.code:       if (line.value[1 + line.leading] = '>') then
        begin
          rem := line.leading + 1;
          if (line.leading + 1 < line.value.length) and (line.value[1 + line.leading + 1] = ' ') then
          begin
            inc(rem);
          end;
          line.value := line.value.substring(rem);
          line.InitLeading();
        end;
      end;
  
negative.code:   else
      c0 := ' ';
    c := whitespaceToSpace(s[1 + pos]);
    if (pos + 1 < Length(s)) then
      c1 := whitespaceToSpace(s[1 + pos + 1])
    else
      c1 := ' ';
    if (pos + 2 < Length(s)) then
      c2 := whitespaceToSpace(s[1 + pos + 2])
    else
      c2 := ' ';
    if (pos + 3 < Length(s)) then
      c3 := whitespaceToSpace(s[1 + pos + 3])
    else
      c3 := ' ';
  