From: Bram Moolenaar Date: Sat, 27 Feb 2016 15:04:58 +0000 (+0100) Subject: patch 7.4.1429 X-Git-Tag: v7.4.1429 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d804fdf4c25435284333258856bc265f1ff10b09;p=vim patch 7.4.1429 Problem: On MS-Windows, when not use renderoptions=type:directx, drawing emoji will be broken. Solution: Fix usage of unicodepdy. (Yasuhiro Matsumoto) --- diff --git a/src/gui_w32.c b/src/gui_w32.c index edfe24e56..aff0ba26a 100644 --- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -6658,7 +6658,13 @@ gui_mch_draw_string( /* Use unicodepdy to make characters fit as we expect, even * when the font uses different widths (e.g., bold character * is wider). */ - unicodepdy[clen] = cw * gui.char_width; + if (c >= 0x10000) + { + unicodepdy[wlen - 2] = cw * gui.char_width; + unicodepdy[wlen - 1] = 0; + } + else + unicodepdy[wlen - 1] = cw * gui.char_width; } cells += cw; i += utfc_ptr2len_len(text + i, len - i); diff --git a/src/version.c b/src/version.c index 68ccf9280..4fde2fe85 100644 --- a/src/version.c +++ b/src/version.c @@ -748,6 +748,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1429, /**/ 1428, /**/