mirror of
https://github.com/tmux/tmux.git
synced 2025-01-05 23:38:48 +00:00
Loads of platforms appear to have old or broken Unicode character type
information and are missing widths for relatively common Unicode characters (so mbtowc() works, but wcwidth() fails). So if wcwidth() returns -1, assume a width of 1 instead of ignoring the character.
This commit is contained in:
parent
d3546cc85c
commit
23fdbc9ea6
8
utf8.c
8
utf8.c
@ -119,6 +119,14 @@ utf8_width(wchar_t wc)
|
||||
width = wcwidth(wc);
|
||||
if (width < 0 || width > 0xff) {
|
||||
log_debug("Unicode %04x, wcwidth() %d", wc, width);
|
||||
|
||||
/*
|
||||
* Many platforms have no width for relatively common
|
||||
* characters (wcwidth() returns -1); assume width 1 in this
|
||||
* case and hope for the best.
|
||||
*/
|
||||
if (width < 0)
|
||||
return (1);
|
||||
return (-1);
|
||||
}
|
||||
return (width);
|
||||
|
Loading…
Reference in New Issue
Block a user