Subject: bug#64420: string-width of … is 2 in CJK environments

From: Eli Zaretskii <[email-masked]>
Date: Sun, 13 Aug 2023 15:01:00 +0300

> Date: Sun, 13 Aug 2023 13:48:42 +0300
> Cc: [email-masked], [email-masked], [email-masked]
> From: Dmitry Gutov <[email-masked]>
> 
> >> So the point here would be that some "ambiguous" ones are still wider
> >> than 1, I guess.
> > According to Yuan, at least in his environment those characters have a
> > width that is closer to 2 than to 1.  In which case using 2 would
> > produce better alignment.  Of course, using string-pixel-width will
> > produce an even better alignment.
> 
> In GUI, that is. But if they are displayed with width 1 in terminal, we 
> better make string-width return 1 for them too.

Yes.  But it turns out that how wide these characters are on TTY
frames depends on the terminal emulator and its own options regarding
those characters.  So some users will want the value 1 and others will
want the value 2, depending on which terminals they use and what
options of those terminals they like best.

The important part is that the Emacs's notion of the character width
is consistent with that of the terminal.

> That might be slightly worse for certain applications (like popup in 
> company), but at least the basic rendering and navigation bugs in 
> terminal will be fixed this way. And the new popup rendering for company 
> (using string-width and spacing instructions) is close to being ready 
> anyway.

Yes, sure.  There's no doubt on my side that this option is useful;
I'm just trying to collect data that would allow us to decide on the
best default value, that's all.