Module: wine Branch: master Commit: a67b97ce56682bc4eb131394c5eb9205d96c0d5d URL: http://source.winehq.org/git/wine.git/?a=commit;h=a67b97ce56682bc4eb131394c5...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Sun Sep 30 09:33:39 2012 +0400
mlang: Move GetCharCodePages() to IMLangFontLink2 and forward to it.
---
dlls/mlang/mlang.c | 59 ++++++++++++++++++++++++++++----------------------- 1 files changed, 32 insertions(+), 27 deletions(-)
diff --git a/dlls/mlang/mlang.c b/dlls/mlang/mlang.c index bcd3b11..1450e72 100644 --- a/dlls/mlang/mlang.c +++ b/dlls/mlang/mlang.c @@ -1828,30 +1828,11 @@ static ULONG WINAPI fnIMLangFontLink_Release(
static HRESULT WINAPI fnIMLangFontLink_GetCharCodePages( IMLangFontLink* iface, - WCHAR chSrc, - DWORD* pdwCodePages) + WCHAR ch_src, + DWORD* codepages) { - int i; - CHAR buf; - BOOL used_dc; - DWORD codePages; - - *pdwCodePages = 0; - - for (i = 0; i < sizeof(mlang_data)/sizeof(mlang_data[0]); i++) - { - WideCharToMultiByte(mlang_data[i].family_codepage, WC_NO_BEST_FIT_CHARS, - &chSrc, 1, &buf, 1, NULL, &used_dc); - - /* If default char is not used, current codepage include the given symbol */ - if (!used_dc) - { - IMLangFontLink_CodePageToCodePages(iface, - mlang_data[i].family_codepage, &codePages); - *pdwCodePages |= codePages; - } - } - return S_OK; + MLang_impl *This = impl_from_IMLangFontLink( iface ); + return IMLangFontLink2_GetCharCodePages(&This->IMLangFontLink2_iface, ch_src, codepages); }
static HRESULT WINAPI fnIMLangFontLink_GetStrCodePages( @@ -3180,11 +3161,35 @@ static ULONG WINAPI fnIMLangFontLink2_Release( IMLangFontLink2* iface ) return IMultiLanguage3_Release( &This->IMultiLanguage3_iface ); }
-static HRESULT WINAPI fnIMLangFontLink2_GetCharCodePages( IMLangFontLink2* This, - WCHAR chSrc, DWORD *pdwCodePages) +static HRESULT WINAPI fnIMLangFontLink2_GetCharCodePages( IMLangFontLink2* iface, + WCHAR ch_src, DWORD *ret_codepages) { - FIXME("(%p)->%s %p\n",This, debugstr_wn(&chSrc,1),pdwCodePages); - return E_NOTIMPL; + MLang_impl *This = impl_from_IMLangFontLink2(iface); + int i; + + TRACE("(%p)->(%s %p)\n", This, debugstr_wn(&ch_src, 1), ret_codepages); + + *ret_codepages = 0; + + for (i = 0; i < sizeof(mlang_data)/sizeof(mlang_data[0]); i++) + { + BOOL used_dc; + CHAR buf; + + WideCharToMultiByte(mlang_data[i].family_codepage, WC_NO_BEST_FIT_CHARS, + &ch_src, 1, &buf, 1, NULL, &used_dc); + + /* If default char is not used, current codepage include the given symbol */ + if (!used_dc) + { + DWORD codepages; + + IMLangFontLink2_CodePageToCodePages(iface, + mlang_data[i].family_codepage, &codepages); + *ret_codepages |= codepages; + } + } + return S_OK; }
static HRESULT WINAPI fnIMLangFontLink2_GetStrCodePages( IMLangFontLink2* This,