home *** CD-ROM | disk | FTP | other *** search
/ Aminet 10 / aminetcdnumber101996.iso / Aminet / util / gnu / groff_src.lha / groff-1.10src / grops / psfig.diff < prev    next >
Text File  |  1993-05-14  |  3KB  |  107 lines

  1. These are patches to makes psfig work with groff.  They apply to the
  2. version of psfig in comp.sources.unix/Volume11.  After applying them,
  3. psfig should be recompiled with -DGROFF.  The resulting psfig will
  4. work only with groff, so you might want to install it under a
  5. different name.  The output of this psfig must be processed using the
  6. macros in the file ../tmac/tmac.psfig.  These will automatically add
  7. the necessary PostScript code to the prologue output by grops.  Use of
  8. the `global' feature in psfig will result in non-conformant PostScript
  9. which will fail if processed by a page reversal program.  Note that
  10. psfig is unsupported by me (I'm not interested in hearing about psfig
  11. problems.)  For new documents, I recommend using the PostScript
  12. inclusion features provided by grops.
  13.  
  14. James Clark
  15. jjc@jclark.com
  16.  
  17. *** cmds.c.~1~    Thu Feb 14 16:09:45 1991
  18. --- cmds.c    Mon Mar  4 12:49:26 1991
  19. ***************
  20. *** 245,253 ****
  21. --- 245,261 ----
  22.           (void) sprintf(x, "%.2fp", fx);
  23.           (void) sprintf(y, "%.2fp", fy);
  24.       } else if (!*x) {
  25. + #ifndef GROFF
  26.           (void) sprintf(x,"(%.2fp*%s/%.2fp)", fx, y, fy);
  27. + #else /* GROFF */
  28. +         (void) sprintf(x,"(%.0fu*%s/%.0fu)", fx, y, fy);
  29. + #endif /* GROFF */
  30.       } else if (!*y) {
  31. + #ifndef GROFF
  32.           (void) sprintf(y,"(%.2fp*%s/%.2fp)", fy, x, fx);
  33. + #else /* GROFF */
  34. +         (void) sprintf(y,"(%.0fu*%s/%.0fu)", fy, x, fx);
  35. + #endif /* GROFF */
  36.       }
  37.   
  38.       /* 
  39. *** troff.c.~1~    Thu Feb 14 16:09:48 1991
  40. --- troff.c    Mon Mar  4 12:48:46 1991
  41. ***************
  42. *** 26,32 ****
  43. --- 26,36 ----
  44.   }
  45.   
  46.   
  47. + #ifndef GROFF
  48.   char incl_file_s[] = "\\X'f%s'";
  49. + #else /* GROFF */
  50. + char incl_file_s[] = "\\X'ps: file %s'";
  51. + #endif /* GROFF */
  52.   includeFile(filenm)
  53.   char *filenm; {
  54.       printf(incl_file_s, filenm);
  55. ***************
  56. *** 40,52 ****
  57. --- 44,64 ----
  58.           error("buffer overflow");
  59.   }
  60.   
  61. + #ifndef GROFF
  62.   char endfig_s[] = "\\X'pendFig'";
  63. + #else /* GROFF */
  64. + char endfig_s[] = "\\X'ps: exec psfigend'";
  65. + #endif /* GROFF */
  66.   endfig() {
  67.       printf(endfig_s);
  68.   }
  69.   
  70.   char startfig_s[] =
  71. + #ifndef GROFF
  72.   "\\X'p\\w@\\h@%s@@'\\X'p\\w@\\h@%s@@'\\X'p%.2f'\\X'p%.2f'\\X'p%.2f'\\X'p%.2f'\\X'pstartFig'";
  73. + #else /* GROFF */
  74. + "\\X'ps: exec \\w@\\h@%s@@ \\w@\\h@%s@@ %.2f %.2f %.2f %.2f psfigstart'";
  75. + #endif /* GROFF */
  76.   
  77.   startfig(x, y, llx, lly, urx, ury)
  78.   char    *x, *y;
  79. ***************
  80. *** 57,63 ****
  81. --- 69,79 ----
  82.   }
  83.   
  84.   emitDoClip() {
  85. + #ifndef GROFF
  86.       printf("\\X'pdoclip'");
  87. + #else /* GROFF */
  88. +     printf("\\X'ps: exec psfigclip'");
  89. + #endif /* GROFF */
  90.   }
  91.   
  92.   flushX()
  93. ***************
  94. *** 116,122 ****
  95. --- 132,142 ----
  96.   
  97.   #define isWhite(ch) ((ch) == ' ' || (ch) == '\t' || (ch) == '\n')
  98.   
  99. + #ifndef GROFF
  100.   char literal_s[] = "\\X'p%s'";
  101. + #else /* GROFF */
  102. + char literal_s[] = "\\X'ps: exec %s'";
  103. + #endif /* GROFF */
  104.   emitLiteral(text)
  105.   char *text; {
  106.       static char litbuf[BUFSZ];
  107.