anchor.diff:  
   var
     FVK: TVisualKeyboard;
  -  MaxShift, i, j, n: Integer;
     f102, fbold, fitalic: string;
  -  FPos: array[0..$40 {space}] of WideString;
     fDisplayUnderlying: string;
   begin
     Result := '';
  
positive.code:     '      result=[], v, i,'#13#10+
      '      modifiers=[''default'',''shift'',''ctrl'',''shift-ctrl'',''alt'',''shift-alt'',''ctrl-alt'',''shift-ctrl-alt''];'#13#10+
      '    for(i=modifiers.length-1;i>=0;i--) {'#13#10+
      '      if((v = x[modifiers[i]]) || result.length > 0) {'#13#10+
      '        result=(v ? v : empty).slice().concat(result);'#13#10+
      '      }'#13#10+
      '    }'#13#10+
  
negative.code:     if kvkhDisplayUnderlying in FVK.Header.Flags then fDisplayUnderlying := '1' else fDisplayUnderlying := '0';   // I3886
  
      Result := Format('{F:''%s%s 1em "%s"'',K102:%s', [fitalic, fbold, FVK.Header.UnicodeFont.Name, f102]);   // I3886   // I3956
      Result := Result + Format('};%s%sthis.KDU=%s', [nl,FTabStop,fDisplayUnderlying]);   // I3946   // I3956
      Result := Result + ';'+VisualKeyboardToKLS(FVK);
      Result := Result + ';'+BuildBKFromKLS;
    finally
  