Felipe Monteiro de Carvalho schrieb:
You have to read the implementations to see what the routines do, and
in this case it looks pretty clear that it is a legacy introduced
because LCL-gtk1 needed it.

It probably can be deprecated.

Reading the implementation doesn't help much, as can be seen with your example:

function TGTKWidgetSet.FontCanUTF8(Font: HFont): boolean;
begin
  Result:=IsValidGDIObject(Font)
    {$IFDEF Gtk1}
    and FontIsDoubleByteCharsFont(PGdiObject(Font)^.GDIFontObject)
    {$ENDIF}
    ;
end;

What does *FontIsDoubleByteCharsFont* mean? This *might* mean UTF-16, but then the name *FontCanUTF8* already is wrong.


IMO a usable software should *not* require the user to guess, what various implementations *might* do. Instead the *implementors*, who *know* what to implement, should leave at least a small note on the purpose of every procedure or method. That's little work for the Lazarus team, which saves many months to the documentation writers :-]

Not to forget possibly or definitely wrong descriptions, as found in many places in the documentation :-(

DoDi


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to