diff -rc2N groff-1.00/ps/psfig.diff groff-1.01/ps/psfig.diff *** groff-1.00/ps/psfig.diff --- groff-1.01/ps/psfig.diff Mon Mar 4 13:19:00 1991 *************** *** 0 **** --- 1,106 ---- + These are patches to makes psfig work with groff. They apply to the + version of psfig in comp.sources.unix/Volume11. After applying them, + psfig should be recompiled with -DGROFF. The resulting psfig will + work only with groff, so you might want to install it under a + different name. The output of this psfig must be processed using the + macros in the file tmac.psfig in this directory. These will + automatically add the necessary PostScript code to the prologue output + by grops. Use of the `global' feature in psfig will result in + non-conformant PostScript which will fail if processed by a page + reversal program. Note that psfig is unsupported by me (I'm not + interested in hearing about psfig problems.) For new documents, I + recommend using the PostScript inclusion features provided by grops. + + James Clark + jjc@jclark.uucp + + *** cmds.c.~1~ Thu Feb 14 16:09:45 1991 + --- cmds.c Mon Mar 4 12:49:26 1991 + *************** + *** 245,253 **** + --- 245,261 ---- + (void) sprintf(x, "%.2fp", fx); + (void) sprintf(y, "%.2fp", fy); + } else if (!*x) { + + #ifndef GROFF + (void) sprintf(x,"(%.2fp*%s/%.2fp)", fx, y, fy); + + #else /* GROFF */ + + (void) sprintf(x,"(%.0fu*%s/%.0fu)", fx, y, fy); + + #endif /* GROFF */ + } else if (!*y) { + + #ifndef GROFF + (void) sprintf(y,"(%.2fp*%s/%.2fp)", fy, x, fx); + + #else /* GROFF */ + + (void) sprintf(y,"(%.0fu*%s/%.0fu)", fy, x, fx); + + #endif /* GROFF */ + } + + /* + *** troff.c.~1~ Thu Feb 14 16:09:48 1991 + --- troff.c Mon Mar 4 12:48:46 1991 + *************** + *** 26,32 **** + --- 26,36 ---- + } + + + + #ifndef GROFF + char incl_file_s[] = "\\X'f%s'"; + + #else /* GROFF */ + + char incl_file_s[] = "\\X'ps: file %s'"; + + #endif /* GROFF */ + includeFile(filenm) + char *filenm; { + printf(incl_file_s, filenm); + *************** + *** 40,52 **** + --- 44,64 ---- + error("buffer overflow"); + } + + + #ifndef GROFF + char endfig_s[] = "\\X'pendFig'"; + + #else /* GROFF */ + + char endfig_s[] = "\\X'ps: exec psfigend'"; + + #endif /* GROFF */ + endfig() { + printf(endfig_s); + } + + char startfig_s[] = + + #ifndef GROFF + "\\X'p\\w@\\h@%s@@'\\X'p\\w@\\h@%s@@'\\X'p%.2f'\\X'p%.2f'\\X'p%.2f'\\X'p%.2f'\\X'pstartFig'"; + + #else /* GROFF */ + + "\\X'ps: exec \\w@\\h@%s@@ \\w@\\h@%s@@ %.2f %.2f %.2f %.2f psfigstart'"; + + #endif /* GROFF */ + + startfig(x, y, llx, lly, urx, ury) + char *x, *y; + *************** + *** 57,63 **** + --- 69,79 ---- + } + + emitDoClip() { + + #ifndef GROFF + printf("\\X'pdoclip'"); + + #else /* GROFF */ + + printf("\\X'ps: exec psfigclip'"); + + #endif /* GROFF */ + } + + flushX() + *************** + *** 116,122 **** + --- 132,142 ---- + + #define isWhite(ch) ((ch) == ' ' || (ch) == '\t' || (ch) == '\n') + + + #ifndef GROFF + char literal_s[] = "\\X'p%s'"; + + #else /* GROFF */ + + char literal_s[] = "\\X'ps: exec %s'"; + + #endif /* GROFF */ + emitLiteral(text) + char *text; { + static char litbuf[BUFSZ];