175584SruThis is grn from the Berkeley ditroff distribution. It has no 275584SruAT&T code and is therefore freely distributable. 375584Sru 475584SruTim Theisen <tim@cs.wisc.edu> 575584Sru 675584Sru===================================================================== 775584Sru 875584SruThis is the modified code for the groff. It uses the different 975584Srudevxxx format that is ascii rather than binary as in the 1075584SruBerkeley distribution. Since groff does not have the \Ds option 1175584Srufor line drawing (dotted, dashed, etc.), this version includes 1275584Sruthe routines for drawing curves and arcs, so it does not use the 1375584Sru\D~, \Da nor \Dc. Although also included in here is a routine 1475584Srufor drawing the optional gremlin style curves, it is not used 1575584Srubecause the gremlin editor uses the conventional spline 1675584Srualgorithm. The Berkeley grn has the choice of different 1775584Srustipples. Here, only different shades of gray will be painted 1875584Srudepending on the gremlin file. It is possible to upgrade this at 19104862Srua later time. (Daniel Senderowicz <daniel@synchrods.com> 12/28/99) 2075584Sru 2175584Sru===================================================================== 2275584Sru 23104862SruGremlin produces three types of curves: B-Splines, interpolated 24104862Srucurves and Bezier. As the original Berkeley grn, now groff grn 25104862Sruwill honor B-Splines and interpolated curves. Bezier curves will 26104862Srube printed as B-Splines. (Daniel Senderowicz <daniel@synchrods.com> 27104862Sru10/04/02) 28104862Sru 29104862Sru===================================================================== 30104862Sru 3175584SruIt has been further modified by Werner Lemberg <wl@gnu.org> to fit 3275584Srubetter into the groff package. 3375584Sru 3475584Sru . Replaced Makefile with Makefile.sub. 3575584Sru 3675584Sru . Removed dev.h since it is unused. 3775584Sru 3875584Sru . Renamed grn.1 to grn.man; this man page has been extensively 3975584Sru revised. 4075584Sru 4175584Sru . Used error() and fatal() from libgroff for all source files. 4275584Sru 43114402Sru . Renamed *.c to *.cpp; updates as needed for C++ (prototypes, proper 4475584Sru casts, standard header files etc). Heavy formatting. 4575584Sru 46114402Sru . main.cpp: 4775584Sru 4875584Sru Using groff's default values instead of DEVDIR, DEFAULTDEV, PRINTER, 4975584Sru TYPESETTER, and GREMLIB. 5075584Sru 5175584Sru `res' is now an integer. 5275584Sru 5375584Sru Added `-C' command flag (for compatibility mode) as with other 5475584Sru preprocessors. 5575584Sru 5675584Sru Added `-F' and `-v' option (similar to troff). 5775584Sru 5875584Sru Renamed `-L' option to `-M' for consistence. 5975584Sru 6075584Sru Removed `-P' option. 6175584Sru 6275584Sru Using font::load_desc() for scanning DESC files. 6375584Sru 6475584Sru Removed SYSV-specific code. 6575584Sru 6675584Sru Using macro_path.open_file() for getting gremlin graphic files. 6775584Sru 6875584Sru Added usage(). 69