There are two character widths.

The terminal should be using the string width reported from cairo for all graphics, such as the underscore shown here. A correct implementation should work acceptably with proportionally-spaced fonts. This is certainly not true of the current wayland terminal.

Code such as wcwidth.c should only be used to interpret incoming characters to figure out the resulting text display. For instance if you want to perfectly emulate a terminal you need to make a grid of character cells. A wcwidth=2 character when drawn replaces two entries in the grid. You then build text strings from each line of the grid and draw those strings as the lines on the output. I think this is not necessary for a demo, this would really be used only for a complex accurate emulation of old terminal software.

Thomas Daede wrote:
A similar function is wcwidth(). There is an implementation here:

http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c

I don't know how it compares to the complexity or feature completeness
of Pango's implementation (which I think is a wrapper around HarfBuzz)
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to