anchor.diff:                        case Index of
                           FontFamily:
                             begin
  -                            S1 := ReadFontName(Props[FontFamily]);
  +                            S1 := ReadFontName(Props[Index]);
                               if S1 <> '' then
                                 iName := S1;
                             end;
   
                           FontSize:
  -                          iSize := FontSizeConv(Props[FontSize], iSize, DefPointSize, FUseQuirksMode);
  +                          iSize := FontSizeConv(Props[Index], iSize, DefPointSize, FUseQuirksMode);
   
                           Color:
  -                          iColor := Props[Color];
  +                          iColor := Props[Index];
   
                           BackgroundColor:
  -                          ibgColor := Props[BackgroundColor];
  +                          ibgColor := Props[Index];
   
                           FontStyle:
  -                          if (Props[FontStyle] = 'italic') or (Props[FontStyle] = 'oblique') then
  +                          if (Props[Index] = 'italic') or (Props[Index] = 'oblique') then
                               iStyle := iStyle + [fsItalic]
  -                          else if Props[FontStyle] = 'normal' then
  +                          else if Props[Index] = 'normal' then
                               iStyle := iStyle - [fsItalic];
   
                           FontWeight:
  -                          if Pos('bold', Props[FontWeight]) > 0 then
  +                          if Pos('bold', Props[Index]) > 0 then
                               iStyle := iStyle + [fsBold]
  -                          else if Pos('normal', Props[FontWeight]) > 0 then
  +                          else if Pos('normal', Props[Index]) > 0 then
                               iStyle := iStyle - [fsBold]
                             else
                             begin
  -                            Wt := StrToIntDef(Props[FontWeight], 0);
  +                            Wt := StrToIntDef(Props[Index], 0);
                               if Wt >= 600 then
                                 iStyle := iStyle + [fsBold];
                             end;
   
  -                        TextDecoration:
  -                          if Props[TextDecoration] = 'underline' then
  -                            iStyle := iStyle + [fsUnderline]
  -                          else if Props[TextDecoration] = 'line-through' then
  -                            iStyle := iStyle + [fsStrikeOut]
  -                          else if Props[TextDecoration] = 'none' then
  -                            iStyle := iStyle - [fsStrikeOut, fsUnderline];
  -
                           LetterSpacing:
  -                          iCharExtra := Props[LetterSpacing];
  +                          iCharExtra := Props[Index];
                         end;
                 end
             else
  
positive.code:   end;
    if (Props[FontStyle] = 'italic') or (Props[FontStyle] = 'oblique') then
      Include(Style, fsItalic);
    if Props[TextDecoration] = 'underline' then
      Include(Style, fsUnderline)
    else if Props[TextDecoration] = 'line-through' then
      Include(Style, fsStrikeOut);
    Font.iStyle := Style;
    Font.iSize := Props[FontSize];
  
negative.code: var
    Wt: Integer;
    Style: TFontStyles;
  
  begin {call only if all things valid}
    Font.ibgColor := FontBG;
    Font.iColor := Props[Color];
  