Locale control of ambiguous-width character properties

Thomas Wolff towo@towo.net
Sun Feb 25 18:12:00 GMT 2018


It had been discussed how to reflect ambiguous character widths in 
cygwin locales, with the result of an implicit wide property assumed for 
the CJK locales, and an overriding @cjknarrow modifier:
https://sourceware.org/ml/cygwin/2009-06/msg00240.html
https://sourceware.org/ml/cygwin/2009-06/msg00521.html
https://sourceware.org/ml/cygwin/2009-06/msg00616.html

Now I’m getting occasional complaints about mintty support for wide 
display of certain symbol characters, particularly as used for some 
fancy “Powerline” add-on, and it seems that other terminals apply 
“ambiguous wide mode” (e.g. xterm -cjk_width) in order to enable Powerline.
While mintty has an option Charwidth=ambig-wide meanwhile, using this 
option clearly has the drawback that it makes character width handling 
inconsistent with the locale model as used by wcwidth.
Actually for mintty, the desired behaviour can be achieved in a 
locale-consistent way by selecting one of the CJK locales for LC_CTYPE;
that’s not what most people would expect, however, and if they do it the 
easy way, using LANG or LC_ALL, they are baffled by also getting
their message language obscured.
So I would prefer the option to use ambiguous wide mode in combination 
with non-CJK locales in a locale-compatible way.

For that matter, I’m asking to revisit the proposal of another generic 
modifier, @cjkwide, applicable to non-CJK locales. I’m providing a patch
for that purpose, available for download here:
http://towo.net/cygwin/newlib/000-locale.zip

Thomas



More information about the Newlib mailing list