http://bugs.winehq.org/show_bug.cgi?id=25717
Rafał Mużyło galtgendo@o2.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #40796|0 |1 is obsolete| |
--- Comment #72 from Rafał Mużyło galtgendo@o2.pl 2012-06-30 12:43:35 CDT --- Created attachment 40810 --> http://bugs.winehq.org/attachment.cgi?id=40810 a hack that breaks less
Bah... I basically went and recreated my old hack (though it's likely a bit more wrong this time - I think I didn't get context scaling right). But this time I think I have an explanation: http://msdn.microsoft.com/en-us/library/windows/desktop/ms534181(v=vs.85).as... the part of interest might be "StringFormatFlagsNoFitBlackBox" description; if I'm reading it right, if that flag is unset (like by default), the string needs to be measured and if it slips out of the bounding box, it should at very least be pushed back (with regard to alignment type) if possible.
As the rectangles passed to GdipDrawString are (after selecting the relevant font (16pt, AFAICT)) (-2.67, 0, 0, 0) they're treated as unclipped, so to combine them properly with clip region, they need to be shifted.