Richmemo needs a small addition I think (not 100% sure skalogryz should confirm) do the following
1) locate the TCustomRichMemo class in the RichMemo.pas file
2) add the following line in the classes protected section.procedure FontChanged(Sender :TObject); override;
3) add the following implementation in the implementation section of the unit/procedure TCustomRichMemo.FontChanged(Sender :TObject);
var
vTmp : TFontParams;
procedure FontToParams;
begin
vTmp.Name := Font.Name;
vTmp.Size := Font.Size;
vTmp.Color := Font.Color;
vTmp.Style := Font.Style;
end;
begin
inherited FontChanged(Sender);
GetTextAttributes(SelStart,vTmp);
FontToParams;
SetTextAttributes(SelStart, SelLength, vTmp);
end;
and do your test to see if the default font properties are changed.
Disclaimer :
Although the code was compiled it was never tested so be ready to fiddle around with it.