From: Bram Moolenaar Date: Thu, 21 Mar 2019 19:50:12 +0000 (+0100) Subject: patch 8.1.1029: DirectWrite doesn't take 'linespace' into account X-Git-Tag: v8.1.1029 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=60ebd524cf7a27c936cb34395cda9a7cc23abeae;p=vim patch 8.1.1029: DirectWrite doesn't take 'linespace' into account Problem: DirectWrite doesn't take 'linespace' into account. Solution: Include 'linespace' in the position. (Ken Takata, closes #4137) --- diff --git a/src/gui_dwrite.cpp b/src/gui_dwrite.cpp index 17fa6e798..4a24a0306 100644 --- a/src/gui_dwrite.cpp +++ b/src/gui_dwrite.cpp @@ -1031,7 +1031,7 @@ DWriteContext::DrawText(const WCHAR *text, int len, TextRenderer renderer(this); TextRendererContext context = { color, FLOAT(cellWidth), 0.0f }; - textLayout->Draw(&context, &renderer, FLOAT(x), FLOAT(y) - 0.5f); + textLayout->Draw(&context, &renderer, FLOAT(x), FLOAT(y)); } SafeRelease(&textLayout); diff --git a/src/gui_w32.c b/src/gui_w32.c index ead617a79..e8336b56f 100644 --- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -6337,7 +6337,8 @@ gui_mch_draw_string( { /* Add one to "cells" for italics. */ DWriteContext_DrawText(s_dwc, unicodebuf, wlen, - TEXT_X(col), TEXT_Y(row), FILL_X(cells + 1), FILL_Y(1), + TEXT_X(col), TEXT_Y(row), + FILL_X(cells + 1), FILL_Y(1) - p_linespace, gui.char_width, gui.currFgColor, foptions, pcliprect, unicodepdy); } diff --git a/src/version.c b/src/version.c index cebd9207c..5cca93064 100644 --- a/src/version.c +++ b/src/version.c @@ -779,6 +779,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1029, /**/ 1028, /**/