Hello, Changelog: Dmitry Timoshkov <dmitry@codeweavers.com> Use same formula to convert from device to logical units as everywhere else. --- cvs/hq/wine/objects/font.c Mon Jul 28 14:24:15 2003 +++ wine/objects/font.c Sat Aug 2 22:35:51 2003 @@ -1425,7 +1425,7 @@ UINT WINAPI GetOutlineTextMetricsW( BOOL WINAPI GetCharWidth32W( HDC hdc, UINT firstChar, UINT lastChar, LPINT buffer ) { - UINT i, extra; + UINT i; BOOL ret = FALSE; DC * dc = DC_GetDCPtr( hdc ); if (!dc) return FALSE; @@ -1438,10 +1438,8 @@ BOOL WINAPI GetCharWidth32W( HDC hdc, UI if (ret) { /* convert device units to logical */ - - extra = dc->vportExtX >> 1; for( i = firstChar; i <= lastChar; i++, buffer++ ) - *buffer = (*buffer * dc->wndExtX + extra) / dc->vportExtX; + *buffer = INTERNAL_XDSTOWS(dc, *buffer); ret = TRUE; } GDI_ReleaseObj( hdc );