This is grn from the Berkeley ditroff distribution. It has no AT&T code and is therefore freely distributable. Tim Theisen ===================================================================== This is the modified code for the groff. It uses the different devxxx format that is ascii rather than binary as in the Berkeley distribution. Since groff does not have the \Ds option for line drawing (dotted, dashed, etc.), this version includes the routines for drawing curves and arcs, so it does not use the \D~, \Da nor \Dc. Although also included in here is a routine for drawing the optional gremlin style curves, it is not used because the gremlin editor uses the conventional spline algorithm. The Berkeley grn has the choice of different stipples. Here, only different shades of gray will be painted depending on the gremlin file. It is possible to upgrade this at a later time. (Daniel Senderowicz 12/28/99) ===================================================================== Gremlin produces three types of curves: B-Splines, interpolated curves and Bezier. As the original Berkeley grn, now groff grn will honor B-Splines and interpolated curves. Bezier curves will be printed as B-Splines. (Daniel Senderowicz 10/04/02) ===================================================================== It has been further modified by Werner Lemberg to fit better into the groff package. . Replaced Makefile with Makefile.sub. . Removed dev.h since it is unused. . Renamed grn.1 to grn.man; this man page has been extensively revised. . Used error() and fatal() from libgroff for all source files. . Renamed *.c to *.cpp; updates as needed for C++ (prototypes, proper casts, standard header files etc). Heavy formatting. . main.cpp: Using groff's default values instead of DEVDIR, DEFAULTDEV, PRINTER, TYPESETTER, and GREMLIB. 'res' is now an integer. Added '-C' command flag (for compatibility mode) as with other preprocessors. Added '-F' and '-v' option (similar to troff). Renamed '-L' option to '-M' for consistence. Removed '-P' option. Using font::load_desc() for scanning DESC files. Removed SYSV-specific code. Using macro_path.open_file() for getting gremlin graphic files. Added usage().