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.