On September 12, 2015 2:12:32 PM GMT+02:00, "Jürgen Hestermann" <[email protected]> wrote: >I use "LCLIntf.DrawText" for drawing text on the screen and >"Canvas.TextWidth" >to determine its width to increment a TRect for the next text output. >But these functions cause some trouble with drawing (UTF-8-) text on >Windows. >In general it works okay but sometimes peculiar clipping or other pixel >differences occur. >Are the functions above the correct ones to draw and measure text? > >After looking a bit at the code I saw that in the file >"intfbasewinapi.inc" almost >everywhere the Windows API function "GetTextExtentPoint" is used to >determine text metrics. >But >https://msdn.microsoft.com/en-us/library/windows/desktop/dd144937%28v=vs.85%29.aspx >says: >"This function is provided only for compatibility with 16-bit versions >of Windows. >Applications should call the *GetTextExtentPoint32* ><https://msdn.microsoft.com/en-us/library/windows/desktop/dd144938%28v=vs.85%29.aspx> >function, which provides more accurate results." > >I think many of my problems come from using this deprecated API >function. >Are there any plans to change this?
If you had a look at the win32 implementation of GetTextExtentPoint then you would have seen that GetTextExtentPoint32 is used internally. Marc -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
