the Graffy editor by Durst CAD
is a commercialization of the original HP Piglet editor.
(used for Piglet vector font descriptions) PS: I have piglet versions for most
of the Hershey font families. They are not in the default distribution, but I am
happy to provide them upon request. If we came up with a good way to specify multiple
kinds of fonts in piglet (currently, only a single note or text is allowed), then it
might make sense to provide multiple typefaces.
xfig, a popular X11 drawing editor
Library provides a command line history and editor for Piglet.
XV - an interactive image manipulation program for X11
handy for viewing Piglet's .ppm screen dumps and converting them to other formats.
the ./man/makemans script calls awk(1) to build the Piglet man/html pages. Awk(1)
is a very useful scripting language that is basically interpreted C with lots of
nice features like built in regular expressions and associative arrays. You can use
either gnu awk (the link above) or traditional AT&T awk, or the mawk(1) variant. Whichever
you decide to use, make a sym-link to the name awk or change the name of the executable in
the "makemans" script. Most modern linux distros will have awk available.
Valgrind is a GPL'd system for debugging and profiling Linux programs. Valgrind can
automatically detect many memory management and threading bugs, avoiding hours of
frustrating bug-hunting, making your programs more stable. You can also perform detailed profiling
to help speed up your programs. I've used the valgrind tools to profile Piglet's memory usage
to hunt down memory leaks.
I have found the following books very helpful in writing Piglet:
Interactive Computer Graphics, 2nd Edition, Newman and Sproull,
Mcgraw-Hill, 1973. (code and discussion of hierarchical data structures).
Graphic Gems, Andrew S. Glassner, Academic Press, 1990. (basic matrix
Fundamentals of Interactive Computer Graphics, J.D.Foley and A. Van Dam, Addison
Wesley, 1982. (example code for 2/3-d graphic editors including clipping algorithms).
Postscript Language Reference Manual, 2nd Edition,
Adobe Systems, Incorporated, Addison-Wesley Publishing Company, 1990.
(used in postscript display code for PLOT command).
Xlib Reference Manual, Volumes I and II , Edited by Adrian Nye,
O'Reilly & Associates, Inc., 1998. (All X11 interaction in Piglet is written directly
The C Programming Language, Kernighan and Ritchie.
Rick Walker (rick_walker AT omnisterra DOT com)