Incorrect wcwidth() result for characters in the enclosed alphanumerics block

Bug #340269 reported by Bryan Donlan
2
Affects Status Importance Assigned to Milestone
glibc (Ubuntu)
New
Undecided
Unassigned

Bug Description

Glibc's wcwidth() returns 1 for characters in the enclosed alphanumerics block (U+2460 to U+24FF). However, monospace fonts seem to assume these characters are wide characters. The result is programs which rely on the width data being inaccurate (eg, urxvt) cannot render characters such as ⑨.

To demonstrate this problem, simply open up urxvt and try to paste in ⑨. You will see it rendered as a broken character block. You can work around this by adding another font with a small font size, or you can use the attached LD_PRELOAD library to see the character rendered properly once wcwidth() returns the right value of 2.

I'd be happy to roll a patch to fix this if someone can point me in the right direction - I've been poking around the glibc source and can't seem to find the unicode attribute tables...

Revision history for this message
Bryan Donlan (bdonlan) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.