Subject: Re: [Summer of Code]Wide Character Support in curses
To: Ruibiao Qiu <ruibiao@arl.wustl.edu>
From: Julian Coleman <jdc@coris.org.uk>
List: tech-userlevel
Date: 06/07/2005 16:47:16
> I would like to take on this project.  Any specific detail requirement 
> information is appreciated.

As noted in the summary, the NetBSD curses implementation only supports
8-bit characters.  It needs extending to support internationalised
character sets.  One of the objectives of this project could be to add
support for the wide character functions, as detailed at:

  http://www.opengroup.org/onlinepubs/007908799/cursesix.html

The "Curses Overview" section has a summary of the characteristics of
different character types (wide, multi-column, non-spacing).

In order to support these functions, the curses internal storage of
characters and attributes needs to be modified.  For example, each
character position might be described by a structure containg:

	character value (32 bits)
	character attributes (32 bits)
	character width
	non-spacing character list/pointer

Once the internals are done, the display of characters that are not one
cell wide needs to be handled.

The exact implementation needs to be researched.  It needs to be as fast
as possible, so that it will be useable on machines like vaxen and m68k.
It would also be good if it had as small a memory footprint as possible,
again for these types of machine.  It would be nice (but not essential
for this project) if the wide character support could be made a compile
time option, so that it could be omitted on boot media for small memory
systems.

J

-- 
  My other computer also runs NetBSD    /        Sailing at Newbiggin
        http://www.netbsd.org/        /   http://www.newbigginsailingclub.org/