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

Bug #340269 reported by Bryan Donlan on 2009-03-10
Affects Status Importance Assigned to Milestone
glibc (Ubuntu)

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...

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

Other bug subscribers