When not use renderoptions=type:directx, drawing emoji will be broken.
Because index of unicodepdy is different from unicodebuf.

- mattn

diff --git a/src/gui_w32.c b/src/gui_w32.c
index edfe24e..bd1e286 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);

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui