Index: reactos/win32ss/user/user32/windows/draw.c =================================================================== --- reactos/win32ss/user/user32/windows/draw.c (revision 75066) +++ reactos/win32ss/user/user32/windows/draw.c (working copy) @@ -1242,13 +1242,24 @@ UINT opcode = flags & 0xf; INT len = wp; BOOL retval, tmp; + HFONT hFontOriginal, hFontOld = NULL; + LOGFONT lf; - if((opcode == DST_TEXT || opcode == DST_PREFIXTEXT) && !len) /* The string is '\0' terminated */ + if (opcode == DST_TEXT || opcode == DST_PREFIXTEXT) { - if(unicode) - len = lstrlenW((LPWSTR)lp); - else - len = lstrlenA((LPSTR)lp); + if (!len) /* The string is '\0' terminated */ + { + if (unicode) + len = lstrlenW((LPWSTR)lp); + else + len = lstrlenA((LPSTR)lp); + } + + /* Create a non-antialiased font */ + hFontOriginal = GetCurrentObject(hdc, OBJ_FONT); + GetObjectW(hFontOriginal, sizeof(lf), &lf); + lf.lfQuality = NONANTIALIASED_QUALITY; + hFontOld = SelectObject(hdc, CreateFontIndirectW(&lf)); } /* Find out what size the image has if not given by caller */ @@ -1393,6 +1404,11 @@ if(hbm) DeleteObject(hbm); if(memdc) DeleteDC(memdc); + if (hFontOld) + { + DeleteObject(SelectObject(hdc, hFontOld)); + } + return retval; }