On Fri Apr 17 11:37:58 2026 +0000, Esme Povirk wrote:
The character range results look very wrong with my own test program: [measuretext.c](/uploads/66d1d1ff10f3728fc6f0e83c4bf587a4/measuretext.c) Character ranges are always ending up on the first line in the case of wrapped text, and apparently always start at X=0. It's also strange to me that any of the callbacks have to care about Y alignment, and unclear to me why we should redesign them to handle X alignment. Does new version of the patches resemble something you had in mind? I had to mark some of the tests that rely on strange GdipMeasureCharacterRanges() logic for cases when the string doesn't fit onto the provided bounds as todo_wine in last commit since I couldn't figure out how it's supposed to work, that could be investigated separately.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9775#note_136717