https://bugs.winehq.org/show_bug.cgi?id=39051
Bug ID: 39051 Summary: TabbedTextOut() incorrect output on tab character Product: Wine Version: 1.7.29 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: user32 Assignee: wine-bugs@winehq.org Reporter: wine@goabq.org Distribution: ---
Created attachment 52021 --> https://bugs.winehq.org/attachment.cgi?id=52021 testcase (tto.exe) and files to build it
Tab characters do not output correctly when they are output one at a time. This is much worse using a memory device context than a screen device context.
Attached is a testcase. It outputs text to a window using 2 different methods. Clicking in the client area toggles the method. When iterating over each character, TabbedTextOut() produces apparently garbage from the previous line instead of filling the rectangle appropriately as windows does. When drawing the line in a single call, the behavior is as expected. Spaces do not suffer from this problem (illustrated also by the testcase).