gdiplus: Respect the CmapLookup flag in GDI32_GdipDrawDriverString.
This commit is contained in:
parent
11f0662c60
commit
64841aac83
|
@ -5620,10 +5620,11 @@ static GpStatus GDI32_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UINT1
|
||||||
GDIPCONST PointF *positions, INT flags,
|
GDIPCONST PointF *positions, INT flags,
|
||||||
GDIPCONST GpMatrix *matrix )
|
GDIPCONST GpMatrix *matrix )
|
||||||
{
|
{
|
||||||
static const INT unsupported_flags = ~(DriverStringOptionsRealizedAdvance);
|
static const INT unsupported_flags = ~(DriverStringOptionsRealizedAdvance|DriverStringOptionsCmapLookup);
|
||||||
INT save_state;
|
INT save_state;
|
||||||
GpPointF pt;
|
GpPointF pt;
|
||||||
HFONT hfont;
|
HFONT hfont;
|
||||||
|
UINT eto_flags=0;
|
||||||
|
|
||||||
if (flags & unsupported_flags)
|
if (flags & unsupported_flags)
|
||||||
FIXME("Ignoring flags %x\n", flags & unsupported_flags);
|
FIXME("Ignoring flags %x\n", flags & unsupported_flags);
|
||||||
|
@ -5631,6 +5632,9 @@ static GpStatus GDI32_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UINT1
|
||||||
if (matrix)
|
if (matrix)
|
||||||
FIXME("Ignoring matrix\n");
|
FIXME("Ignoring matrix\n");
|
||||||
|
|
||||||
|
if (!(flags & DriverStringOptionsCmapLookup))
|
||||||
|
eto_flags |= ETO_GLYPH_INDEX;
|
||||||
|
|
||||||
save_state = SaveDC(graphics->hdc);
|
save_state = SaveDC(graphics->hdc);
|
||||||
SetBkMode(graphics->hdc, TRANSPARENT);
|
SetBkMode(graphics->hdc, TRANSPARENT);
|
||||||
SetTextColor(graphics->hdc, brush->lb.lbColor);
|
SetTextColor(graphics->hdc, brush->lb.lbColor);
|
||||||
|
@ -5643,7 +5647,7 @@ static GpStatus GDI32_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UINT1
|
||||||
|
|
||||||
SetTextAlign(graphics->hdc, TA_BASELINE|TA_LEFT);
|
SetTextAlign(graphics->hdc, TA_BASELINE|TA_LEFT);
|
||||||
|
|
||||||
ExtTextOutW(graphics->hdc, roundr(pt.X), roundr(pt.Y), ETO_GLYPH_INDEX, NULL, text, length, NULL);
|
ExtTextOutW(graphics->hdc, roundr(pt.X), roundr(pt.Y), eto_flags, NULL, text, length, NULL);
|
||||||
|
|
||||||
RestoreDC(graphics->hdc, save_state);
|
RestoreDC(graphics->hdc, save_state);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue