#include "wine/unicode.h"
#include "wine/debug.h"
+#include "wine/etersoft.h"
+
WINE_DEFAULT_DEBUG_CHANNEL(font);
/* Device -> World size conversion */
if(flags & (ETO_CLIPPED | ETO_OPAQUE))
{
- if(!lprect)
- {
- if(flags & ETO_GLYPH_INDEX)
- GetTextExtentPointI(hdc, glyphs, count, &sz);
- else
- GetTextExtentPointW(hdc, reordered_str, count, &sz);
+ BOOL resize = FALSE;
+
+ if(flags & ETO_GLYPH_INDEX)
+ GetTextExtentPointI(hdc, glyphs, count, &sz);
+ else
+ GetTextExtentPointW(hdc, reordered_str, count, &sz);
+ LOADETER_FUNC(etersoft_1version);
+ if(etersoft_1version && (etersoft_1version() == 8))
+ if(lprect && ((lprect->right - lprect->left) < sz.cx))
+ resize = TRUE;
+
+ if(!lprect || resize)
+ {
done_extents = TRUE;
rc.left = x;
rc.top = y;