Test bUnicode and call appropriate DrawText routine.

diff --git a/dlls/comctl32/header.c b/dlls/comctl32/header.c
index 29b35cf..38a3b21 100644
--- a/dlls/comctl32/header.c
+++ b/dlls/comctl32/header.c
@@ -158,7 +158,7 @@
     RECT r;
     INT  oldBkMode;
 
-    TRACE("DrawItem(iItem %d bHotTrack %d)\n", iItem, bHotTrack);
+    TRACE("DrawItem(iItem %d bHotTrack %d unicode flag %d)\n", iItem, bHotTrack, infoPtr->bUnicode);
 
     if (!infoPtr->bRectsValid)
     	HEADER_SetItemBounds(hwnd);
@@ -253,7 +253,11 @@
 	    GetObjectA (phdi->hbm, sizeof(BITMAP), (LPVOID)&bmp);
 
 	    textRect = r;
-            DrawTextW (hdc, phdi->pszText, -1,
+	    if (infoPtr->bUnicode)
+              DrawTextW (hdc, phdi->pszText, -1,
+	   	  &textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT);
+	    else
+              DrawTextA (hdc, (LPCSTR)phdi->pszText, -1,
 	   	  &textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT);
 	    tx = textRect.right - textRect.left;
 	    ry = r.bottom - r.top;
@@ -310,7 +314,11 @@
             r.left += 3 ;
 	    r.right -= 3;
 	    SetTextColor (hdc, (bHotTrack) ? COLOR_HIGHLIGHT : COLOR_BTNTEXT);
-            DrawTextW (hdc, phdi->pszText, -1,
+	    if (infoPtr->bUnicode)
+              DrawTextW (hdc, phdi->pszText, -1,
+	   	  &r, uTextJustify|DT_END_ELLIPSIS|DT_VCENTER|DT_SINGLELINE);
+	    else
+              DrawTextA (hdc, (LPCSTR)phdi->pszText, -1,
 	   	  &r, uTextJustify|DT_END_ELLIPSIS|DT_VCENTER|DT_SINGLELINE);
             if (oldBkMode != TRANSPARENT)
                 SetBkMode(hdc, oldBkMode);