Maybe some kind of canvas, ideally cairo-based, so you can easily print
from it. You might even use an SVG format for the layout.
There are various canvas APIs around at the moment:
libgoocanvas
libpapyrus
libccc
I don't know which would be most suitable.
HTML is also the easy option for output, maybe using gtkmozembed to
embed a mozilla gecko widget.
In newer versions of gtkmm, you can use the cairo drawing API, and the
GTK+ printing classes.
--
Murray Cumming
murrayc murrayc com
www.murrayc.com
www.openismus.com