On Fri Apr 17 18:47:13 2026 +0000, Esme Povirk wrote:
My understanding is that native gdiplus does its calculations in the font's native size, and linearly scales them. Since rendered text (at least the way we do it) doesn't actually linearly scale, there is a possibility that they will have to render text in too small a space. The padding exists to make this less likely. If the text size does not match the space it's supposed to render in, native will squeeze characters together or spread them apart. This results in complex code that renders ugly text, so I don't think we should do that. I'm guessing that GdipMeasureCharacterRanges reflects the actual rendering, while GdipMeasureString and GdipDrawString do not. This page goes into detail about how GDI+ adjusts text to scale linearly: https://web.archive.org/web/20080119000747/http://support.microsoft.com/kb/3...
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9775#note_136825