forked from aniani/vim
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)
This commit is contained in:
22
src/mbyte.c
22
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.
|
||||
|
Reference in New Issue
Block a user