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