From fd8829fb09276f8eaa7d224c484b357516af7a7f Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Tue, 1 Apr 2008 11:13:36 -0500 Subject: [PATCH] imm: Implement GetCompositionFont. --- dlls/imm32/imm.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index 866c3e3486a..ab57bcea4b1 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -917,9 +917,19 @@ BOOL WINAPI ImmGetCandidateWindow( */ BOOL WINAPI ImmGetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf) { - FIXME("(%p, %p): stub\n", hIMC, lplf); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + LOGFONTW lfW; + BOOL rc; + + TRACE("(%p, %p):\n", hIMC, lplf); + + rc = ImmGetCompositionFontW(hIMC,&lfW); + if (rc) + { + memcpy(lplf,&lfW,sizeof(LOGFONTA)); + WideCharToMultiByte(CP_ACP, 0, lfW.lfFaceName, -1, lplf->lfFaceName, + LF_FACESIZE, NULL, NULL); + } + return rc; } /*********************************************************************** @@ -927,9 +937,16 @@ BOOL WINAPI ImmGetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf) */ BOOL WINAPI ImmGetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf) { - FIXME("(%p, %p): stub\n", hIMC, lplf); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + InputContextData *data = (InputContextData*)hIMC; + + TRACE("(%p, %p):\n", hIMC, lplf); + + if (!data) + return FALSE; + + *lplf = data->IMC.lfFont.W; + + return TRUE; } /*********************************************************************** -- 2.11.4.GIT