From: Jacek Caban jacek@codeweavers.com
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com --- dlls/gdi32/font.c | 26 -------------------------- dlls/gdi32/text.c | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 26 deletions(-)
diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c index cbf3f6fb555..4faaaacdfce 100644 --- a/dlls/gdi32/font.c +++ b/dlls/gdi32/font.c @@ -6443,32 +6443,6 @@ done: return ret; }
-/************************************************************************* - * GetCharWidthFloatA [GDI32.@] - */ -BOOL WINAPI GetCharWidthFloatA( HDC hdc, UINT first, UINT last, float *buffer ) -{ - WCHAR *wstr; - int i, wlen; - char *str; - - if (!(str = FONT_GetCharsByRangeA( hdc, first, last, &i ))) - return FALSE; - wstr = FONT_mbtowc( hdc, str, i, &wlen, NULL ); - heap_free(str); - - for (i = 0; i < wlen; ++i) - { - if (!GetCharWidthFloatW( hdc, wstr[i], wstr[i], &buffer[i] )) - { - heap_free(wstr); - return FALSE; - } - } - heap_free(wstr); - return TRUE; -} - /*********************************************************************** * * * Font Resource API * diff --git a/dlls/gdi32/text.c b/dlls/gdi32/text.c index b753dac7052..b31196252ad 100644 --- a/dlls/gdi32/text.c +++ b/dlls/gdi32/text.c @@ -1657,3 +1657,18 @@ BOOL WINAPI GetCharWidthFloatW( HDC hdc, UINT first, UINT last, float *buffer ) { return NtGdiGetCharWidthW( hdc, first, last, NULL, 0, buffer ); } + +/*********************************************************************** + * GetCharWidthFloatA (GDI32.@) + */ +BOOL WINAPI GetCharWidthFloatA( HDC hdc, UINT first, UINT last, float *buffer ) +{ + WCHAR *chars; + INT count; + BOOL ret; + + if (!(chars = get_chars_by_range( hdc, first, last, &count ))) return FALSE; + ret = NtGdiGetCharWidthW( hdc, 0, count, chars, 0, buffer ); + HeapFree( GetProcessHeap(), 0, chars ); + return ret; +}