[Bug 240911] iswprint() wrong for some FULL WIDTH characters in UTF-8 locale

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Sep 29 19:36:44 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240911

--- Comment #4 from amigan at gmail.com ---
I apologize for the confusion and lack of detail. This is specifically for
Powerline characters. They are not rendering correctly when the mosh server is
FreeBSD. The work in #225692 most certainly appeared to correct this,
previously.I have modified the test program slightly to demonstrate these
characters, and also to emit the tested character.

% uname -v ; ./wcw                                                              
FreeBSD 13.0-CURRENT #0 r352860: Sat Sep 28 21:19:24 EDT 2019    
root at argon.h.c907:/usr/obj/usr/src/amd64.amd64/sys/GENERIC 
alnum:0x400100, cntrl:0x200, ideogram:0x80000, print:0x40000, space:0x4000,
xdigit:0x10000, alpha:0x100, digit:0x400, lower:0x1000, punct:0x2000,
special:0x100000, blank:0x20000, graph:0x800, phonogram:0x200000,
rune:0xffffff00, upper:0x8000, 
Default Locale is: C
Character d 0x64 is in classes: alnum print xdigit alpha lower graph rune 
in C locale, iswprint(0x64) = 1
in en_US.UTF-8 locale, iswprint(0x64) = 1
in ja_JP.UTF-8 locale, iswprint(0x64) = 1

Character   0xe0b1 is in classes: cntrl rune 
in C locale, iswprint(0xe0b1) = 0
in en_US.UTF-8 locale, iswprint(0xe0b1) = 0
in ja_JP.UTF-8 locale, iswprint(0xe0b1) = 0

Character   0xe0b2 is in classes: cntrl rune 
in C locale, iswprint(0xe0b2) = 0
in en_US.UTF-8 locale, iswprint(0xe0b2) = 0
in ja_JP.UTF-8 locale, iswprint(0xe0b2) = 0

Character   0xe0b3 is in classes: cntrl rune 
in C locale, iswprint(0xe0b3) = 0
in en_US.UTF-8 locale, iswprint(0xe0b3) = 0
in ja_JP.UTF-8 locale, iswprint(0xe0b3) = 0


versus


% uname -a ; ./wcw
FreeBSD dtvax.dynatron.me 12.0-BETA4 FreeBSD 12.0-BETA4 r340285 GENERIC  amd64
alnum:0x400100, cntrl:0x200, ideogram:0x80000, print:0x40000, space:0x4000,
xdigit:0x10000, alpha:0x100, digit:0x400, lower:0x1000, punct:0x2000,
special:0x100000, blank:0x20000, graph:0x800, phonogram:0x200000,
rune:0xffffff00, upper:0x8000, 
Default Locale is: C
Character d 0x64 is in classes: alnum print xdigit alpha lower graph rune 
in C locale, iswprint(0x64) = 1
in en_US.UTF-8 locale, iswprint(0x64) = 1
in ja_JP.UTF-8 locale, iswprint(0x64) = 1

Character  0xe0b1 is in classes: print graph rune 
in C locale, iswprint(0xe0b1) = 0
in en_US.UTF-8 locale, iswprint(0xe0b1) = 1
in ja_JP.UTF-8 locale, iswprint(0xe0b1) = 1

Character  0xe0b2 is in classes: print graph rune 
in C locale, iswprint(0xe0b2) = 0
in en_US.UTF-8 locale, iswprint(0xe0b2) = 1
in ja_JP.UTF-8 locale, iswprint(0xe0b2) = 1

Character  0xe0b3 is in classes: print graph rune 
in C locale, iswprint(0xe0b3) = 0
in en_US.UTF-8 locale, iswprint(0xe0b3) = 1
in ja_JP.UTF-8 locale, iswprint(0xe0b3) = 1

Character  0xe0b0 is in classes: print graph rune 
in C locale, iswprint(0xe0b0) = 0
in en_US.UTF-8 locale, iswprint(0xe0b0) = 1
in ja_JP.UTF-8 locale, iswprint(0xe0b0) = 1

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list