]> git.ipfire.org Git - thirdparty/vim.git/commit
patch 9.2.0216: MS-Windows: Rendering artifacts with DirectX v9.2.0216
authorYasuhiro Matsumoto <mattn.jp@gmail.com>
Fri, 20 Mar 2026 22:51:30 +0000 (22:51 +0000)
committerChristian Brabandt <cb@256bit.org>
Fri, 20 Mar 2026 22:51:30 +0000 (22:51 +0000)
commitb3d8a0f34908c4c4fbcea7703019079ed767ebbd
tree6f905b1cdc606ea37dfa096d2840576d1c44c512
parent890d5fd1387ef6223c2894676f95bf800bca0d65
patch 9.2.0216: MS-Windows: Rendering artifacts with DirectX

Problem:  MS-Windows: Rendering artifacts with DirectX
          (Alexander Zhura)
Solution: Force redraw (Yasuhiro Matsumoto)

DirectWrite subpixel rendering (especially with CFF/OTF fonts) can
extend glyph pixels beyond cell boundaries.  Vim already handles the
forward direction (redraw the next character when the current one
changes) for MS-Windows antialiasing, but the backward direction was
missing.

Add gui.directx_enabled flag accessible from screen.c and extend the
existing spill-over handling to:
- Redraw the current character when the previous one changed (backward)
- Force redraw of the next character in screen_puts_len() and
  screen_fill() paths

fixes:  #19586
closes: #19761

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/gui.h
src/gui_w32.c
src/screen.c
src/version.c