"Massimo Del Fedele" max@veneto.com wrote:
This patch doesn't match the normal logic of ExtTextOut implemented in dlls/winex11.drv/xrender.c, also this requires a test case for both code paths.
Why ? As is it now PATH_ExtTextOut() simply returns FALSE on first space or non-printable glyph, you can see easily printing something like "THIS IS A TEST" on an open path. BTW, this behaviour (GetGlyphOutlineW returning NULL on spaces) is quite well known, and is NOT an error value, simply there's no glyph outline for non-printable characters, so the requested buffer size is NULL; the function just outputs the metrics.
You need to make PATH_ExtTextOut() behave like dlls/winex11.drv/xrender.c, X11DRV_XRender_ExtTextOut() does, i.e. treat GDI_ERROR as an error case, not 0.
Also, I don't know how to make a testcase with no graphic output.... If you have some suggestion about, I can make one.
GetGlyphOutlineW doesn't produce any graphic output.