From 6238ee9f8945b9f62733ca050e99c1ce1cd18666 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Tue, 17 Mar 2026 19:37:02 +0000 Subject: [PATCH] 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 --- src/gui_w32.c | 10 ++++++++++ src/version.c | 2 ++ 2 files changed, 12 insertions(+) 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, /**/