From: Yasuhiro Matsumoto Date: Tue, 17 Mar 2026 19:37:02 +0000 (+0000) Subject: patch 9.2.0187: MS-Windows: rendering artifacts with DirectX renderer X-Git-Tag: v9.2.0187^0 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6238ee9f8945b9f62733ca050e99c1ce1cd18666;p=thirdparty%2Fvim.git patch 9.2.0187: MS-Windows: rendering artifacts with DirectX renderer Problem: MS-Windows: rendering artifacts with DirectX renderer Solution: Enable ETO_CLIPPED for DirectWrite rendering in gui_mch_draw_string() to ensure glyphs stay within their cell boundaries (Yasuhiro Matsumoto). closes: #19711 Signed-off-by: Yasuhiro Matsumoto Signed-off-by: Christian Brabandt --- diff --git a/src/gui_w32.c b/src/gui_w32.c index 09d90be791..bb5add2d13 100644 --- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -6666,6 +6666,16 @@ gui_mch_draw_string( pcliprect = &rc; foptions = ETO_CLIPPED; } +#ifdef FEAT_DIRECTX + // DirectWrite anti-aliasing can extend glyph pixels beyond cell + // boundaries, leaving artifacts when adjacent cells are not + // redrawn. Clip to the cell rect to prevent this. + else if (IS_ENABLE_DIRECTX()) + { + pcliprect = &rc; + foptions = ETO_CLIPPED; + } +#endif } SetTextColor(s_hdc, gui.currFgColor); SelectFont(s_hdc, gui.currFont); diff --git a/src/version.c b/src/version.c index 05bc54c3a5..38adaa4f2f 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 187, /**/ 186, /**/