From 71f6951d8ac10a05108b729b8e7e877b7ac06dbc Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 24 Nov 2001 11:56:24 +0000 Subject: [PATCH] Glenn Maynard's other IME fix git-svn-id: svn://svn.tartarus.org/sgt/putty@1406 cda61777-01e9-0310-a592-d414129be87e --- window.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/window.c b/window.c index 58eb12b0..71cdd9ed 100644 --- a/window.c +++ b/window.c @@ -108,6 +108,7 @@ static time_t last_movement = 0; #define FONT_MAXNO 0x2F #define FONT_SHIFT 5 static HFONT fonts[FONT_MAXNO]; +static LOGFONT lfont; static int fontflag[FONT_MAXNO]; static enum { BOLD_COLOURS, BOLD_SHADOW, BOLD_FONT @@ -910,6 +911,21 @@ static void init_fonts(int pick_width, int pick_height) f(FONT_NORMAL, cfg.fontcharset, fw_dontcare, FALSE); + lfont.lfHeight = font_height; + lfont.lfWidth = font_width; + lfont.lfEscapement = 0; + lfont.lfOrientation = 0; + lfont.lfWeight = fw_dontcare; + lfont.lfItalic = FALSE; + lfont.lfUnderline = FALSE; + lfont.lfStrikeOut = FALSE; + lfont.lfCharSet = cfg.fontcharset; + lfont.lfOutPrecision = OUT_DEFAULT_PRECIS; + lfont.lfClipPrecision = CLIP_DEFAULT_PRECIS; + lfont.lfQuality = DEFAULT_QUALITY; + lfont.lfPitchAndFamily = FIXED_PITCH | FF_DONTCARE; + strncpy(lfont.lfFaceName, cfg.font, LF_FACESIZE); + SelectObject(hdc, fonts[FONT_NORMAL]); GetTextMetrics(hdc, &tm); @@ -2232,6 +2248,14 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, kbd_codepage = atoi(lbuf); } break; + case WM_IME_NOTIFY: + if(wParam == IMN_SETOPENSTATUS) { + HIMC hImc = ImmGetContext(hwnd); + ImmSetCompositionFont(hImc, &lfont); + ImmReleaseContext(hwnd, hImc); + return 0; + } + break; case WM_IME_COMPOSITION: { HIMC hIMC; -- 2.11.0