diff src/mbyte.c @ 12210:b9b06aa0b6d9 v8.0.0985

patch 8.0.0985: libvterm has its own idea of character width commit https://github.com/vim/vim/commit/6d0826dfbba9880820d9ec221327e4250bbf6540 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Aug 22 22:12:17 2017 +0200 patch 8.0.0985: libvterm has its own idea of character width Problem: Libvterm has its own idea of character width. Solution: Use the Vim functions for character width and composing to avoid a mismatch. (idea by Yasuhiro Matsumoto)
author Christian Brabandt <cb@256bit.org>
date Tue, 22 Aug 2017 22:15:04 +0200
parents f7ba69508fd5
children d2373927d76d
line wrap: on
line diff
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -1395,6 +1395,17 @@ static struct interval ambiguous[] =
     {0x100000, 0x10fffd}
 };
 
+#if defined(FEAT_TERMINAL) || defined(PROTO)
+/*
+ * utf_char2cells() with different argument type for libvterm.
+ */
+    int
+utf_uint2cells(uint32_t c)
+{
+    return utf_char2cells((int)c);
+}
+#endif
+
 /*
  * For UTF-8 character "c" return 2 for a double-width character, 1 for others.
  * Returns 4 or 6 for an unprintable character.
@@ -2296,6 +2307,17 @@ utf_char2bytes(int c, char_u *buf)
     return 6;
 }
 
+#if defined(FEAT_TERMINAL) || defined(PROTO)
+/*
+ * utf_iscomposing() with different argument type for libvterm.
+ */
+    int
+utf_iscomposing_uint(uint32_t c)
+{
+    return utf_iscomposing((int)c);
+}
+#endif
+
 /*
  * Return TRUE if "c" is a composing UTF-8 character.  This means it will be
  * drawn on top of the preceding character.