に問題があるのではないかと思っています。I3D3XFont::DrawTextW
文字列を渡して\t
展開します。ただし、常に正しく行われるとは限りません。渡した同じ文字列を出力すると、タブが正しく展開されます。例えば、
dxfont->DrawTextW(NULL, msg, wcslen(msg), &textbox,
DT_LEFT | DT_TOP | DT_EXPANDTABS, D3DCOLOR_ARGB(255, 180, 180, 180));
msg は次の方法で作成されます。
swprintf_s(temp, sizeof(temp), L"%s\t\t\t\t%i\t\t%i\t\t%s\t\t%i\n",
pList[x].name.c_str(), pList[x].kills, pList[x].deaths, wratio,
pList[x].suicides);
コンソールに出力すると、次のようになります。
Bamrow<4x tab>0<2x tab>0<2x tab>N/A<2x tab>2
ただし、DrawTextW は次のように表示します。
Bamrow<5x tab>0<2x tab>0<2x tab>N/A<2x tab>2
他の誰かがこの問題を抱えていたり、解決策を知っていますか?