home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume28 / psf3 / patch01b < prev    next >
Encoding:
Text File  |  1992-02-09  |  50.3 KB  |  1,959 lines

  1. Newsgroups: comp.sources.misc
  2. From: tony@ajfcal.cuc.ab.ca (Tony Field)
  3. Subject:  v28i015:  psf3 - Postscript print filter system, Patch01b/2
  4. Message-ID: <1992Feb6.222350.21393@sparky.imd.sterling.com>
  5. X-Md4-Signature: 32192a15b1e36489a5d0635efd02cbce
  6. Date: Thu, 6 Feb 1992 22:23:50 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: tony@ajfcal.cuc.ab.ca (Tony Field)
  10. Posting-number: Volume 28, Issue 15
  11. Archive-name: psf3/patch01b
  12. Environment: ISC, SUNOS, SYSVR3, DOS
  13. Patch-To: psf3: Volume 27, Issue 91-100
  14.  
  15. Part 2 of a 2-part patch to psf3.
  16.  
  17. apply this patch with:
  18.  
  19.     patch -p -N < this.article
  20.  
  21. -----------------------------------
  22. *** ../psf3.net/Makefile.dos    Fri Jan 31 19:19:18 1992
  23. --- Makefile.dos    Sun Jan 26 21:32:23 1992
  24. ***************
  25. *** 14,27 ****
  26. --- 14,29 ----
  27.   
  28.   
  29.   # Location of binaries and scripts
  30.   # ^^^^^^^^^^^^^^^^^^^^
  31.   BINDIR=c:/bin
  32. + XCOPYBIN=c:\bin\
  33.   
  34.   # Loation of psfprint.def:
  35.   # ^^^^^^^^^^^^^^^^^^^^^^^
  36.   DEFFILE=c:/lib/psfprint.def
  37. + XCOPYDEF=c:\lib\
  38.   
  39.   
  40.   CFLAGS =-DBINDIR=\"$(BINDIR)\" -DPDEF=\"$(DEFFILE)\"
  41.   
  42.   all:    psf.exe psfdoub.exe selectde.exe psfbs.exe
  43. ***************
  44. *** 55,69 ****
  45.       @echo      First: 'make printer'
  46.       @echo          'make pack    (exepack)'
  47.       @echo      Then:  'make installdos'
  48.   
  49.   installdos:
  50. !     xcopy psf.exe $(BINDIR)
  51. !     xcopy psfdoub.exe $(BINDIR)
  52. !     xcopy psfprint.def $(DEFFILE)
  53. !     xcopy psfbs.exe $(BINDIR)
  54. !     xcopy psfnroff.bat $(BINDIR)
  55.   
  56.   pack:
  57.       exepack psf.exe  z9901
  58.       xcopy z9901 psf.exe
  59.       exepack psfdoub.exe  z9901
  60. --- 57,71 ----
  61.       @echo      First: 'make printer'
  62.       @echo          'make pack    (exepack)'
  63.       @echo      Then:  'make installdos'
  64.   
  65.   installdos:
  66. !     xcopy psf.exe $(XCOPYBIN)
  67. !     xcopy psfdoub.exe $(XCOPYBIN)
  68. !     xcopy psfprint.def $(XCOPYDEF)
  69. !     xcopy psfbs.exe $(XCOPYBIN)
  70. !     xcopy psfnroff.bat $(XCOPYBIN)
  71.   
  72.   pack:
  73.       exepack psf.exe  z9901
  74.       xcopy z9901 psf.exe
  75.       exepack psfdoub.exe  z9901
  76. *** ../psf3.net/README    Fri Jan 31 19:18:23 1992
  77. --- README    Wed Jan 29 21:56:04 1992
  78. ***************
  79. *** 11,20 ****
  80. --- 11,22 ----
  81.           o  double sided printing
  82.           o  pages scaled by row and column count
  83.           o  lp banner page printing
  84.           o  reverse order printing
  85.           o  languages other than English
  86. +         o  left, right, top, bottom margin sizes
  87. +         o  line clipping or left/right justified line wrap
  88.   
  89.      If the printer normally stacks output paper "face up", psf
  90.      automatically reverses the order of the printed pages to ensure
  91.      manual reordering is not needed.
  92.   
  93. ***************
  94. *** 78,88 ****
  95. --- 80,94 ----
  96.      a reasonable approximation to many other printers.  Psf can then 
  97.      be used with:
  98.   
  99.           psf this.file  | lp
  100.   
  101. +    If the left or right ends of lines, the top of the first line, or the
  102. +    bottom of the last line on a page are clipped, then try:
  103.   
  104. +            psf -M1,1,1,1,c this.file | lp
  105.   EUROPEAN LANGUAGES and PAPER SIZES
  106.   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  107.      Rudimentary provision have been made for languages other than
  108.      English. An example Scandinavian font setup is provided in file
  109.      "language.PSF". This is NOT a working example: it must be modified
  110. ***************
  111. *** 111,120 ****
  112. --- 117,132 ----
  113.   
  114.      The "psfprint.new" now become the psfprint.def file for use with
  115.      the new language description. Copy it to the destination location as
  116.      set up in the Makefile.
  117.   
  118. +    If multiple character set translations are necessary, such as
  119. +    IBM-8bit or DEC-8bit, then multiple versions of the psfprint.def
  120. +    file may be created with the appropriate translations.  The
  121. +    correct version may be selected with the "-u" option.
  122. +    E.G.  "-u ibm",  "-u dec".
  123. +    
  124.      Only psf honours the font extensions correctly. If proper support is
  125.      needed for banner printing, the source for psfbanner.c must be modified.
  126.      Other sources are not concerned with language translation.
  127.   
  128.      The various scripts (psfnroff, psfman, psfmbox) have not been used with
  129. *** ../psf3.net/language.PSF    Fri Jan 31 19:19:29 1992
  130. --- language.PSF    Fri Jan 31 19:17:30 1992
  131. ***************
  132. *** 110,119 ****
  133. --- 110,122 ----
  134.       from the ttymap(1) table for the target language.
  135.   
  136.       Of course, this table is not "real", it is an example only -
  137.       used for testing! Replace this with real translation
  138.       information.
  139. +     
  140. +     This translation table need not be needed if the desired
  141. +     characters can be simply re-encoded.
  142.   
  143.   %%translate 141/300 142/311 143/321 144/322 145/323 146/324 147/325 150/330 
  144.   %%translate 151/331 152/332 153/333 154/334 155/340 156/342 157/344 160/347
  145.   %%translate 161/360 162/362 163/364 164/367
  146.       ----------------------------------------------------------------
  147. ***************
  148. *** 121,130 ****
  149. --- 124,185 ----
  150.       An external file may be copied to the printer with "%%copy file"
  151.       This file is inserted into the "prologue" code. It must be
  152.       postscript.
  153.   
  154.            %%copy /etc/some.file
  155. +     ----------------------------------------------------------------
  156. +     From: Jan Fernquist fer@gorbie.n.tvt.se
  157. +     ---------------------------------------
  158. +     I used a minimum vector for translations in sevenbit ASCII that
  159. +     just fixed the [\] and {|}, which is six of the letters that is
  160. +     very common in swedish lanaguage. To be conformant with 7bit
  161. +     ISO-standard nationalreplacement codes, ~^@` should be converted
  162. +     to but i prefer the american look of those letters. This is the
  163. +     vector i used. I removed the %%%translate feature, from the
  164. +     langauage.PSF file.
  165. +     I compiled psf on a sysV R3 machine. Since we for the moment is
  166. +     running it in sevenbit ascii and using swedish national
  167. +     replacement on the terminals and non-postscript printers, it's
  168. +     just common knowledge for us to reencode those special
  169. +     characters.
  170. +     There is two common formats to represent international charcters
  171. +     when using 8-bit wide tables, the IBM-PC 8-bit and the ISO-8 bit
  172. +     which i think is the same as HP-Roman 8 table and the DEC-8bit.
  173. +     Here are examples how the anoying swedish characters would be
  174. +     remapped. Im sitting at home right now and have no access to the
  175. +     standards. These language vectors do NOT need the "%%translat"
  176. +     table - however the re-encoding must be done with new font names
  177. +     (i.e. %%fonXX must be set and re-encoded in % ENCODE below)
  178. +     Two .def files could be constructed with appropriate language
  179. +     vectors (see below). The names of the files should be "ibm" and
  180. +     "iso" and placed in the directory containing the default
  181. +     psfprint.def file. The appropriate character encoding is
  182. +     selected with "-u ibm" or "-u iso". The default "psfprint.def"
  183. +     file should be a link to one to these files.
  184. +     
  185. +     /languagevec [ %% IBM encoding vector for file "ibm"
  186. +         8#216 /Adieresis
  187. +         8#231 /Odieresis
  188. +         8#217 /Aring
  189. +         8#204 /adieresis
  190. +         8#224 /odieresis
  191. +         8#206 /aring
  192. +      ]def
  193. +      /languagevec [ %% DEC-8 Bit which i think is ISO, for file "iso"
  194. +         8#196 /Adieresis
  195. +         8#214 /Odieresis
  196. +         8#197 /Aring
  197. +         8#228 /adieresis
  198. +         8#246 /odieresis
  199. +         8#229 /aring
  200. +      ]def
  201.   
  202.   %%PsfEnd
  203.   
  204.   
  205.   %  Psf and psbanner add the following code to the Prologue
  206. *** ../psf3.net/patchlevel.h    Fri Jan 31 19:18:41 1992
  207. --- patchlevel.h    Wed Jan 22 23:44:11 1992
  208. ***************
  209. *** 11,16 ****
  210.    *    3. correct problem with psfbs and underscore order.
  211.    *    4. remove support for modified lpr/lpd
  212.    *
  213.   */
  214.   
  215. ! #define PATCHLEVEL 2
  216. --- 11,16 ----
  217.    *    3. correct problem with psfbs and underscore order.
  218.    *    4. remove support for modified lpr/lpd
  219.    *
  220.   */
  221.   
  222. ! #define PATCHLEVEL 3
  223. *** ../psf3.net/psfdoub.c    Fri Jan 31 19:19:40 1992
  224. --- psfdoub.c    Fri Jan 24 18:20:04 1992
  225. ***************
  226. *** 83,93 ****
  227.   */
  228.   
  229.   #include <stdio.h>
  230.   #include <string.h>
  231.   #include <signal.h>
  232. - #include <malloc.h>
  233.   #include <ctype.h>
  234.   #include "psf.h"
  235.   
  236.   /*    If books are made by generating two print files with the -s side count
  237.       then set SIDECOUNT = 0  (i.e. no alternate paper hopper is available.
  238. --- 83,92 ----
  239. ***************
  240. *** 103,112 ****
  241. --- 102,112 ----
  242.   static int nsheets, nhalves;
  243.   static int row;
  244.   static int lpage, rpage;
  245.   void catch();
  246.   void trim();
  247. + char *malloc();
  248.   
  249.   char    slots[NSLOTS][200] = 
  250.   {            "statusdict begin 1 setpapertray end",
  251.               "statusdict begin 2 setpapertray end",
  252.               "", "", "", ""
  253. *** ../psf3.net/psfdouble.SH    Fri Jan 31 19:19:00 1992
  254. --- psfdouble.SH    Thu Jan 30 00:11:35 1992
  255. ***************
  256. *** 1,6 ****
  257. ! :
  258.   # $Id: psfdouble.SH,v 3.1 1991/11/27 06:02:58 ajf Exp ajf $
  259.   #    An example of setting up a script for doublesided printing
  260.   #
  261.   #    usage:        psfdouble file
  262.   #        where      "file" is the file to be printed
  263. --- 1,6 ----
  264. ! #! /bin/sh
  265.   # $Id: psfdouble.SH,v 3.1 1991/11/27 06:02:58 ajf Exp ajf $
  266.   #    An example of setting up a script for doublesided printing
  267.   #
  268.   #    usage:        psfdouble file
  269.   #        where      "file" is the file to be printed
  270. *** ../psf3.net/psflpd.DEF    Fri Jan 31 19:18:42 1992
  271. --- psflpd.DEF    Fri Jan 24 18:16:07 1992
  272. ***************
  273. *** 3,14 ****
  274.   #       ----   -----------------------  ---------------------------
  275.   *psflpd    p2up -2                # 2-up printing, default landscape
  276.   *psflpd    p4up -4x            # 4-up printing, default portrait
  277.   *psflpd    p132x60 -c132 -l60 -w        # 132 columns, 60 lines, landscape
  278.   *psflpd paccount -c132 -l60 -R2 -r6 -w    # 132x60 accounting reports, landscape
  279. ! *psflpd psource -2xn            # source listings, 2-up, portrait
  280. ! *psflpd post -z2xn            # postscript source listings, 2-up
  281.   *psflpd plegal -g legal            # standard print, legal paper
  282.   *psflpd pspread -g legal -p 8 -w    # big spreadsheets: legal,8pt,landscape
  283.   #
  284.   # printer definition for psf and friends (no comments allowed after *printer)
  285.   #
  286. --- 3,14 ----
  287.   #       ----   -----------------------  ---------------------------
  288.   *psflpd    p2up -2                # 2-up printing, default landscape
  289.   *psflpd    p4up -4x            # 4-up printing, default portrait
  290.   *psflpd    p132x60 -c132 -l60 -w        # 132 columns, 60 lines, landscape
  291.   *psflpd paccount -c132 -l60 -R2 -r6 -w    # 132x60 accounting reports, landscape
  292. ! *psflpd psource -2xnE            # source listings, 2-up, portrait
  293. ! *psflpd post -z2xnE            # postscript source listings, 2-up
  294.   *psflpd plegal -g legal            # standard print, legal paper
  295.   *psflpd pspread -g legal -p 8 -w    # big spreadsheets: legal,8pt,landscape
  296.   #
  297.   # printer definition for psf and friends (no comments allowed after *printer)
  298.   #
  299. *** ../psf3.net/psfman.SH    Fri Jan 31 19:19:26 1992
  300. --- psfman.SH    Thu Jan 30 00:11:39 1992
  301. ***************
  302. *** 1,6 ****
  303. ! :
  304.   # $Id: psfman.SH,v 3.2 1992/01/19 05:50:33 ajf Exp ajf $
  305.   #    Print man pages using psf filters -- guess about chapters,
  306.   #    even allow Xenix chapter conventions.
  307.   #
  308.   #    The "-r 3" option in psfbs below removes 3 blank lines between
  309. --- 1,6 ----
  310. ! #! /bin/sh
  311.   # $Id: psfman.SH,v 3.2 1992/01/19 05:50:33 ajf Exp ajf $
  312.   #    Print man pages using psf filters -- guess about chapters,
  313.   #    even allow Xenix chapter conventions.
  314.   #
  315.   #    The "-r 3" option in psfbs below removes 3 blank lines between
  316. ***************
  317. *** 10,20 ****
  318.   
  319.   #    If European paper sizes are used, possibly "force" psf to
  320.   #    use 63 lines of output.  This may (i.e. untested) work for A4:
  321.   #
  322.   #       psfbs -i -r 3 | psf -l63 -c80 -2 | PRINTER $banneropt
  323.   # set the binary name for man:
  324.   # MANBIN="/usr/bin/man"
  325.   MANBIN=man
  326.   
  327.   # Some man systems require additional options such as -Tlp
  328. --- 10,24 ----
  329.   
  330.   #    If European paper sizes are used, possibly "force" psf to
  331.   #    use 63 lines of output.  This may (i.e. untested) work for A4:
  332.   #
  333.   #       psfbs -i -r 3 | psf -l63 -c80 -2 | PRINTER $banneropt
  334. ! #
  335. ! #    If margin offsets are desired for hole-punching, try:
  336. ! #
  337. ! #    psfbs -i -r3 | psf -l63 -c80 -M 0.7,,,,i | PRINTER $banneropt
  338. ! #
  339.   # set the binary name for man:
  340.   # MANBIN="/usr/bin/man"
  341.   MANBIN=man
  342.   
  343.   # Some man systems require additional options such as -Tlp
  344. *** ../psf3.net/psfmbox.SH    Fri Jan 31 19:19:01 1992
  345. --- psfmbox.SH    Thu Jan 30 00:11:45 1992
  346. ***************
  347. *** 1,6 ****
  348. ! :
  349.   # $Id: psfmbox.SH,v 3.1 1991/11/27 06:02:58 ajf Exp ajf $
  350.   #    Print multiple mail-box files using psf filters
  351.   
  352.   #    This prints a file name header with date at the top of 
  353.   #    each mailbox page for identification purposes.
  354. --- 1,6 ----
  355. ! #! /bin/sh
  356.   # $Id: psfmbox.SH,v 3.1 1991/11/27 06:02:58 ajf Exp ajf $
  357.   #    Print multiple mail-box files using psf filters
  358.   
  359.   #    This prints a file name header with date at the top of 
  360.   #    each mailbox page for identification purposes.
  361. ***************
  362. *** 30,40 ****
  363.   
  364.   while test "$1" != ""
  365.   do
  366.       if test -f $1
  367.       then
  368. !         psfmail "$1" | psf -c 80 -4x -H "$1" | PRINTER
  369.       else
  370.           echo "$0: mail box $1 does not exist."
  371.       fi
  372.       shift
  373.   done
  374. --- 30,40 ----
  375.   
  376.   while test "$1" != ""
  377.   do
  378.       if test -f $1
  379.       then
  380. !         psfmail "$1" | psf -c 80 -4xE -H "$1" | PRINTER
  381.       else
  382.           echo "$0: mail box $1 does not exist."
  383.       fi
  384.       shift
  385.   done
  386. *** ../psf3.net/psfnroff.SH    Fri Jan 31 19:19:16 1992
  387. --- psfnroff.SH    Thu Jan 30 00:11:49 1992
  388. ***************
  389. *** 1,6 ****
  390. ! :
  391.   # $Id: psfnroff.SH,v 3.1 1991/11/27 06:02:58 ajf Exp ajf $
  392.   #    Print nroff'ed pages using psf filters
  393.   #
  394.   #    The "-r 3" option in psfbs below removes 3 blank lines between
  395.   #    pages (to allow correct printing in the imageable area of the
  396. --- 1,6 ----
  397. ! #! /bin/sh
  398.   # $Id: psfnroff.SH,v 3.1 1991/11/27 06:02:58 ajf Exp ajf $
  399.   #    Print nroff'ed pages using psf filters
  400.   #
  401.   #    The "-r 3" option in psfbs below removes 3 blank lines between
  402.   #    pages (to allow correct printing in the imageable area of the
  403. ***************
  404. *** 12,21 ****
  405. --- 12,26 ----
  406.   
  407.   #    If European paper sizes are used, possibly "force" psf to
  408.   #    use 63 lines of output.  This may (i.e. untested) work:
  409.   #
  410.   #       nroff $OPTIONS $i | psfbs -i -r 3 | psf -l63 -c80 -2 | PRINTER $banneropt
  411. + #
  412. + #    If margin offsets are desired for hole-punching, try:
  413. + #
  414. + #       nroff $OPTIONS $i | psfbs -i -r 3 | psf -M 0.7,,,,i -l63 -c80 -2 | PRINTER $banneropt
  415. + #
  416.   
  417.   usage () {
  418.       echo "Usage:  $0 [nroff options] doc.nroff doc.nroff ..."
  419.       echo "  e.g.  $0 -ms document.ms"
  420.       exit 0
  421. *** ../psf3.net/psfproto.h    Fri Jan 31 19:19:26 1992
  422. --- psfproto.h    Wed Jan 29 01:27:17 1992
  423. ***************
  424. *** 29,38 ****
  425. --- 29,39 ----
  426.   void replacement_fonts(void);
  427.   int otoi(char *s);
  428.   void usage(void);
  429.   void size_display(void);
  430.   void output_trouble(int);
  431. + double cvt_unit (char *y);
  432.   #else
  433.   /* psf.c */
  434.   int main();
  435.   void scale_factors();
  436.   void prologue();
  437. ***************
  438. *** 62,67 ****
  439. --- 63,69 ----
  440.   void replacement_fonts();
  441.   int otoi();
  442.   void usage();
  443.   void size_display();
  444.   void output_trouble();
  445. + double cvt_unit();
  446.   #endif
  447. *** ../psf3.net/table.c    Fri Jan 31 19:19:37 1992
  448. --- table.c    Fri Jan 24 18:20:04 1992
  449. ***************
  450. *** 311,321 ****
  451.   }
  452.   
  453.   
  454.   display (fp_out)
  455.   FILE    *fp_out;
  456. ! {
  457.       int        i;
  458.       
  459.       fprintf (fp_out, "*printer\n");
  460.       fprintf (fp_out, "%s\n", nickname);
  461.       fprintf (fp_out, "*paper %d\n", nprinter);
  462. --- 311,321 ----
  463.   }
  464.   
  465.   
  466.   display (fp_out)
  467.   FILE    *fp_out;
  468. ! {    char    pn[100], *p;
  469.       int        i;
  470.       
  471.       fprintf (fp_out, "*printer\n");
  472.       fprintf (fp_out, "%s\n", nickname);
  473.       fprintf (fp_out, "*paper %d\n", nprinter);
  474. ***************
  475. *** 326,339 ****
  476.               printer[i].sx, printer[i].sy,
  477.               printer[i].lx, printer[i].ly, printer[i].ux, printer[i].uy);
  478.   
  479.   /*        print the actual size of the image area 
  480.   
  481. !         printf ("%-20s %-20s %4d %4d\n", pname, printer[i].name,
  482.               printer[i].ux - printer[i].lx + 1,
  483.               printer[i].uy - printer[i].ly + 1);
  484.   */
  485.       }
  486.   
  487.       
  488.       if (order.normal[0]  ||  order.reverse[0])
  489.           fprintf (fp_out, "*order 3\n");
  490. --- 326,347 ----
  491.               printer[i].sx, printer[i].sy,
  492.               printer[i].lx, printer[i].ly, printer[i].ux, printer[i].uy);
  493.   
  494.   /*        print the actual size of the image area 
  495.   
  496. !         strcpy (pn, nickname);
  497. !         p = pn;
  498. !         while (*p)
  499. !         {    if (*p == ' ')
  500. !                 *p = '.';
  501. !             p++;
  502. !         }
  503. !         printf ("%-55s %-20s %4d %4d\n", pn, printer[i].name,
  504.               printer[i].ux - printer[i].lx + 1,
  505.               printer[i].uy - printer[i].ly + 1);
  506.   */
  507.       }
  508.   
  509.       
  510.       if (order.normal[0]  ||  order.reverse[0])
  511.           fprintf (fp_out, "*order 3\n");
  512. *** ../psf3.net/man/Makefile    Fri Jan 31 19:19:14 1992
  513. --- ./man/Makefile    Thu Jan 23 20:31:16 1992
  514. ***************
  515. *** 11,28 ****
  516.   
  517.   # install man files
  518.   # ^^^^^^^^^^^^^^^^^
  519.   
  520.   installman:
  521. !     @for f in $(MANS) ; do echo "    $$f" ; cp $$f $(MANDIR)/$$f ; done
  522.   
  523.   installcat:
  524. !     @for f in $(MANS) ; do echo "    $$f" ; $(NROFF) -man $$f $(COL) > $(MANDIR)/$$f ; done
  525.   
  526.   installdoc:
  527.       @test -r psf.doc || ( echo "make doc  first" ; exit 1 )
  528. !     @for f in $(DOCS) ; do ff=`basename $$f .doc` ; echo "    $$ff.1" ; cp $$f $(MANDIR)/$$ff.1 ; done
  529.   
  530.   
  531.   # create *.doc from *.1 files
  532.   # ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  533.   doc:
  534. --- 11,30 ----
  535.   
  536.   # install man files
  537.   # ^^^^^^^^^^^^^^^^^
  538.   
  539.   installman:
  540. !     @for f in $(MANS) ; do echo "    $$f" ;\
  541. !          cp $$f $(MANDIR)/`basename $$f .1`.$(MANSUF) ; done
  542.   
  543.   installcat:
  544. !     @for f in $(MANS) ; do echo "    $$f" ;\
  545. !          $(NROFF) -man $$f $(COL) > $(MANDIR)/`basename $$f .1`.$(MANSUF) ; done
  546.   
  547.   installdoc:
  548.       @test -r psf.doc || ( echo "make doc  first" ; exit 1 )
  549. !     @for f in $(DOCS) ; do ff=`basename $$f .doc` ; echo "    $$ff.1" ; cp $$f $(MANDIR)/$$ff.$(MANSUF) ; done
  550.   
  551.   
  552.   # create *.doc from *.1 files
  553.   # ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  554.   doc:
  555. *** ../psf3.net/man/psf.1    Fri Jan 31 19:19:42 1992
  556. --- ./man/psf.1    Wed Jan 29 23:50:50 1992
  557. ***************
  558. *** 13,65 ****
  559.   .I n
  560.   ] [
  561.   .B -c
  562.   .I n
  563.   ] [
  564.   .B -f
  565.   .I n
  566. ! ] [
  567.   .B -g
  568.   .I type
  569.   ] [
  570.   .B -h
  571. ! ]
  572. !     [
  573.   .B -H
  574.   .I text
  575.   ] [
  576.   .B -i
  577. ! .I n
  578.   ] [
  579.   .B -l
  580.   .I n
  581. ! ] [
  582.   .B -L
  583.   .I n
  584.   ] [
  585.   .B -m
  586. ! .I n
  587.   ] [
  588.   .B -n
  589.   ] 
  590.       [
  591.   .B -p
  592.   .I n
  593.   ] [
  594.   ] [
  595.   .B -R
  596.   .I n
  597.   ] [
  598.   .B -r
  599.   .I n
  600.   ] [
  601.   .B -s 
  602. - ] [
  603. - .B -t
  604. - .I n
  605.   ] 
  606.       [
  607.   .B -u
  608.   .I f.def
  609.   ] [
  610.   .B -v
  611.   ] [
  612. --- 13,77 ----
  613.   .I n
  614.   ] [
  615.   .B -c
  616.   .I n
  617.   ] [
  618. + .B -e
  619. + ] [
  620. + .B -E
  621. + ] [
  622.   .B -f
  623.   .I n
  624. ! ] 
  625. !     [
  626.   .B -g
  627.   .I type
  628.   ] [
  629.   .B -h
  630. ! ] [
  631.   .B -H
  632.   .I text
  633.   ] [
  634.   .B -i
  635. ! .I n[,pic]
  636.   ] [
  637.   .B -l
  638.   .I n
  639. ! ] 
  640. !     [
  641.   .B -L
  642.   .I n
  643.   ] [
  644.   .B -m
  645. ! .I n[,pic]
  646. ! ] [
  647. ! .B -M
  648. ! .I lm,rm,tm,bm[,pci]
  649.   ] [
  650.   .B -n
  651.   ] 
  652.       [
  653.   .B -p
  654.   .I n
  655.   ] [
  656. + ]   [
  657. + .B -p
  658. + .I n
  659. + ] [
  660.   ] [
  661.   .B -R
  662.   .I n
  663.   ] [
  664.   .B -r
  665.   .I n
  666.   ] [
  667.   .B -s 
  668.   ] 
  669.       [
  670. + .B -t
  671. + .I n
  672. + ] [
  673.   .B -u
  674.   .I f.def
  675.   ] [
  676.   .B -v
  677.   ] [
  678. ***************
  679. *** 74,93 ****
  680.   
  681.    where -1|2|4    print 1,2 or 4 up on a page (default = 1)
  682.          -b n      select paper bin n
  683.          -c n      print columns (based on Courier font)
  684.          -d        allow double sided printing
  685.          -f n      font number/name (default = 0 = Courier)
  686.          -g type   page type (default = letter)
  687.          -h        put file name as header on each page
  688.          -H text   put text as header on each page
  689. !        -i n      indent left margin n points
  690.          -l n      print lines per page
  691.          -L n      page length in lines
  692. !        -m n      indent top margin in points
  693.          -n        set portrait (narrow) format
  694.          -p n      set point size to n
  695.          -R n      remove n lines from beginning of file
  696.          -r n      remove n lines between pages
  697.          -s        show page stats (line+column count)
  698.          -t n      set tabs to n (default = 8)
  699.          -u f.def  use this printer definition file
  700. --- 86,109 ----
  701.   
  702.    where -1|2|4    print 1,2 or 4 up on a page (default = 1)
  703.          -b n      select paper bin n
  704.          -c n      print columns (based on Courier font)
  705.          -d        allow double sided printing
  706. +        -e        left-justified line wrap for long lines
  707. +        -E        right-justified line wrap for long lines
  708.          -f n      font number/name (default = 0 = Courier)
  709.          -g type   page type (default = letter)
  710.          -h        put file name as header on each page
  711.          -H text   put text as header on each page
  712. !        -i n[pic] indent left margin n points/inch/cm
  713.          -l n      print lines per page
  714.          -L n      page length in lines
  715. !        -m n[pic] indent top margin in points/inch/cm
  716. !        -M xxx    set all margins
  717.          -n        set portrait (narrow) format
  718.          -p n      set point size to n
  719. +        -P n      set point size to n, preserve point size
  720.          -R n      remove n lines from beginning of file
  721.          -r n      remove n lines between pages
  722.          -s        show page stats (line+column count)
  723.          -t n      set tabs to n (default = 8)
  724.          -u f.def  use this printer definition file
  725. ***************
  726. *** 128,137 ****
  727. --- 144,158 ----
  728.   setting point size, column count and line count:
  729.   all of which allow you to place more printed information on a page.
  730.   Additional options are for special formatting purposes and may be
  731.   used if desired.
  732.   
  733. + By default, lines wider than the page width are truncated.
  734. + Line wrap may be enabled with the
  735. + .B -e
  736. + option.
  737.   Special formatting for 
  738.   .I nroff'ed
  739.   documents and mail box
  740.   printing are encapsulated in shell scripts such as
  741.   .I psfnroff
  742. ***************
  743. *** 156,165 ****
  744. --- 177,187 ----
  745.       psf -2  my.file        (print 2 up on a page)
  746.       psf -2xn my.c          (typical source listing)
  747.       psf -4x my.file        (print 4 up on a page)
  748.       psf -p8 my.fil         (print 8 point)
  749.       psf -l66 -c132 -w a.b  (print 66 lines, 132 cols, landscape)
  750. +     psf -M 1,1,1,1,c a.b   (set 1 cm margins)
  751.   .fi
  752.   
  753.   .SH PRINT SIZE
  754.   Two ways are available to adjust the print size.
  755.   If the
  756. ***************
  757. *** 190,202 ****
  758.   
  759.   .nf
  760.         psf -w -c132 -l60 my.fil | lp
  761.   .fi
  762.   
  763. - If "unfortunate" row and column counts are selected,
  764. - the resulting letters could be squashed or elongated.
  765.   .SH OPTIONS
  766.   .TP
  767.   .B \-1\|2\|4
  768.   Specify the number of logical pages that are to be printed
  769.   on a physical page.  By default, 
  770. --- 212,221 ----
  771. ***************
  772. *** 294,303 ****
  773. --- 313,337 ----
  774.   Refer to the man page for
  775.   .I psfdoub
  776.   for operational details.
  777.   
  778.   .TP
  779. + .B \-e
  780. + By default, lines longer than the page width are truncated.
  781. + This option enables line wrap: long lines will cascade onto
  782. + successive print lines.  Each wrapped portion of the line
  783. + is left-justified.
  784. + .TP
  785. + .B \-E
  786. + This operates similar to
  787. + .B -e
  788. + however each wrapped portion of the line
  789. + is right-justified:   the end of the wrapped portion
  790. + of the line is placed at the right paper margin.
  791. + .TP
  792.   .B \-f n
  793.   Any of the standard postscript 
  794.   fonts may be selected in lieu
  795.   of the default Courier.  These are selected from the following
  796.   table:
  797. ***************
  798. *** 371,385 ****
  799.   ) however use 
  800.   .I text
  801.   rather than the filename.
  802.   
  803.   .TP
  804. ! .B \-i n
  805. ! Indent the left margin by 
  806.   .I n
  807. ! points.  This may be used to center
  808. ! the text in the page.
  809.   
  810.   .TP
  811.   .B \-l n
  812.   Sets the number of printed lines per page.  The default is 63 lines for
  813.   letter sized paper.  If more than 63 lines per page are specified, the
  814. --- 405,432 ----
  815.   ) however use 
  816.   .I text
  817.   rather than the filename.
  818.   
  819.   .TP
  820. ! .B \-i n[pic]
  821. ! Indent the physical page's left margin by 
  822.   .I n
  823. ! points
  824. ! .B (p)
  825. ! , inches 
  826. ! .B (i)
  827. ! or centimeters
  828. ! .B (c).
  829. ! Text is scaled by the amount of the indentation to preserve
  830. ! nominal line and column counts.
  831. ! This is useful to offset the left margin for binding or hole-punch.
  832. ! If indentation is desired without causing scaling (i.e. a true "offset"
  833. ! only), then a point size must be selected with
  834. ! .B -P.
  835. !     psf -i2c -P12 doc.file | lpr
  836.   
  837.   .TP
  838.   .B \-l n
  839.   Sets the number of printed lines per page.  The default is 63 lines for
  840.   letter sized paper.  If more than 63 lines per page are specified, the
  841. ***************
  842. *** 411,425 ****
  843.   line count.   However, only the number of lines specified by the
  844.   .B -l
  845.   option will actually print.
  846.   
  847.   .TP
  848. ! .B \-m n
  849. ! Move the top margin down by 
  850.   .I n
  851. ! points.  This may be used to center
  852. ! the text in the page.
  853.   
  854.   .TP
  855.   .B \-n
  856.   The page is printed in portrait (narrow) format.  This is the default
  857.   for 1-up and 4-up printing.
  858. --- 458,532 ----
  859.   line count.   However, only the number of lines specified by the
  860.   .B -l
  861.   option will actually print.
  862.   
  863.   .TP
  864. ! .B \-m n[pic]
  865. ! Move the physical page's top margin down by 
  866. ! .I n
  867. ! points
  868. ! .B (p)
  869. ! , inches 
  870. ! .B (i)
  871. ! or centimeters
  872. ! .B (c).
  873. ! Text is scaled by the amount of the indentation to
  874. ! preserve nominal line and column counts.
  875. ! This is useful to offset the top margin for binding or hole-punch.
  876. ! .TP
  877. ! .B \-M lm,rm,tm,bm[,pic]
  878. ! All four margins on the each logical page (1,2, or 4 up) 
  879. ! may be set with the
  880. ! .B -M
  881. ! option. The size of the left (lm), right (rm), top (tm) and bottom (bm)
  882. ! margins may be set in points (p), inches (i) or centimeters (c). 
  883. ! This option affects each logical page: margins set with
  884. ! .B -i
  885. ! or
  886. ! .B -m
  887. ! are used to offset physical margins.
  888. ! For example,
  889. !     -M 2,3,4.2,5,c
  890. ! will set a left margin of 2cm, right margin of 3cm, top margin of 4.2cm
  891. ! and a bottom margin of 5cm.
  892. ! If the type of unit is omitted, then "point" is assumed.
  893. ! Only those margin settings desired need be provided. The missing values
  894. ! are assumed to be printer defaults. For example, to offset (left margin
  895. ! only) a page by 1.25 inches, a possible command might be:
  896. !      psf -M 1.25,,,,i my.file
  897. ! Margin sizes are absolute and not scaled when printing in 2-up or 4-up
  898. ! modes.
  899. ! Margins to do not cause line clipping:  long text lines may overflow the
  900. ! right margin.  Line wrap with
  901. ! .B -e
  902. ! or
  903. ! .B -E
  904. ! may be used to preserve the right margin.
  905. ! The margin setting could be used in conjunction with the line and column
  906. ! count to provide positioning within the page. For example, an 80 column
  907. ! by 60 line page can be centered with 50 point margins with:
  908. !      psf -M 50,50,50,50,p -l 60 -c 80 my.file
  909. ! If margins are set but the line and column count are not provided, the
  910. ! printing is scaled to use the default number of lines and columns for the
  911. ! page and point size in use.  Scaling for point size may be defeated
  912. ! with the
  913. ! .B -P
  914.   .I n
  915. ! option.
  916.   
  917.   .TP
  918.   .B \-n
  919.   The page is printed in portrait (narrow) format.  This is the default
  920.   for 1-up and 4-up printing.
  921. ***************
  922. *** 435,444 ****
  923. --- 542,583 ----
  924.   "1-up, landscape" printing is desired, the nominal point size is
  925.   automatically scaled.
  926.   
  927.   The selected point size becomes the new "default point size".
  928.   
  929. + Character shape is retained
  930. + as much as possible: however margin adjustment with
  931. + .B -M,
  932. + .B -i,
  933. + and
  934. + .B -m
  935. + do cause general scaling.
  936. + Line count set with
  937. + .B -l
  938. + and column count sent with
  939. + .B -c
  940. + are honoured, however the point height is preserved.  This may
  941. + result in horizontally squashed/elongated characters if the
  942. + .B -c
  943. + option is used and/or changes in the spacing between lines
  944. + if the
  945. + .B -l
  946. + option is used.
  947. + .TP
  948. + .B\-P n
  949. + Sets the nominal point size to
  950. + .I n.
  951. + however the point size is not be scaled if the margin
  952. + size is adjusted with
  953. + .B -M.
  954. + .B -i,
  955. + or
  956. + .B -m.
  957. + Scaling still take place in 2-up and 4-up printing.
  958.   .TP
  959.   .B \-R n
  960.   removes
  961.   .I n
  962.   lines from the beginning of the file.
  963. ***************
  964. *** 510,519 ****
  965. --- 649,667 ----
  966.   .TP
  967.   .B \-u f.def
  968.   causes the specified file to be used rather than the 
  969.   default printer definition file
  970.   .I psfprint.def.
  971. + If the file cannot be found, the directory containing
  972. + the default
  973. + .I psfprint.def
  974. + file is also searched.
  975. + Display the fonts and paper tray assignment applicable to the
  976. + alternate .def file with:
  977. +     psf -u f.def -\\?
  978.   
  979.   .TP
  980.   .B \-v
  981.   Print pages in reverse order.
  982.   
  983. ***************
  984. *** 700,711 ****
  985. --- 848,861 ----
  986.   paper bin greater than maximum for printer
  987.   Double sided or book in reverse ordered not supported
  988.   Font number invalid
  989.           - use 'psf -' to see a list of fonts available
  990.   cannot create work file
  991. +     - directory permission?
  992.   cannot allocate enough memory
  993.   Cannot open output file
  994. +     - directory permission?
  995.   Unknown file xxxx
  996.   Bad psfprint.def file
  997.           - the psfprint.def file is corrupted.  Contact
  998.             your systems administrator.
  999.   .fi
  1000. ***************
  1001. *** 713,726 ****
  1002.   .SH BUGS
  1003.   Double sided reverse ordered printing with the
  1004.   .B -dv
  1005.   options is not supported.
  1006.   
  1007.   .SH FILES
  1008.   .nf
  1009.   \/usr/spool/lp/model/psfprint.def:  printer definition file
  1010. ! psfbook.psd:  output file for double sided printing.
  1011.   .fi
  1012.   
  1013.   .SH SEE ALSO
  1014.   
  1015.   psfmail psfbs psfman psfnroff psfmbox psfdoub lp lpadmin lpr lpd
  1016. --- 863,888 ----
  1017.   .SH BUGS
  1018.   Double sided reverse ordered printing with the
  1019.   .B -dv
  1020.   options is not supported.
  1021.   
  1022. + Line wrap with the
  1023. + .B -e
  1024. + option works correctly for Courier font only.  If other
  1025. + fonts are used, inappropriate line wraps may result.
  1026. + Psf does not know about font metrics.
  1027. + Double sided printing may not work correctly with
  1028. + top margin or left margin indentation.
  1029. + Psf has far to many options.
  1030.   .SH FILES
  1031.   .nf
  1032.   \/usr/spool/lp/model/psfprint.def:  printer definition file
  1033. ! \/usr/local/lib/psf/psfprint.def:   printer definition file
  1034. ! psfbook.psd:  temp output file for double sided printing.
  1035.   .fi
  1036.   
  1037.   .SH SEE ALSO
  1038.   
  1039.   psfmail psfbs psfman psfnroff psfmbox psfdoub lp lpadmin lpr lpd
  1040. *** ../psf3.net/man/psf.doc    Fri Jan 31 19:19:43 1992
  1041. --- ./man/psf.doc    Thu Jan 30 11:28:38 1992
  1042. ***************
  1043. *** 8,37 ****
  1044.        NAME
  1045.         psf -    postscript filter
  1046.   
  1047.   
  1048.        SYNOPSIS
  1049. !       psf [    -1|2|4 ] [ -b n    ] [ -c n ] [ -f    n ] [ -g type ]    [ -h ]
  1050. !           [    -H text    ] [ -i n ] [ -l    n ] [ -L n ] [ -m n ] [    -n ]
  1051. !           [    -p n ] [ ] [ -R    n ] [ -r n ] [ -s ] [ -t n ]
  1052. !           [    -u f.def ] [ -v    ] [ -w ] [ -x ]
  1053.             [    -z ] file... >out.file
  1054.   
  1055.          where -1|2|4       print 1,2 or    4 up on    a page (default    = 1)
  1056.            -b n       select paper    bin n
  1057.            -c n       print columns (based    on Courier font)
  1058.            -d       allow double    sided printing
  1059.            -f n       font    number/name (default = 0 = Courier)
  1060.            -g type   page    type (default =    letter)
  1061.            -h       put file name as header on each page
  1062.            -H text   put text as header on each page
  1063. !          -i n       indent left margin n    points
  1064.            -l n       print lines per page
  1065.            -L n       page    length in lines
  1066. !          -m n       indent top margin in    points
  1067.            -n       set portrait    (narrow) format
  1068.            -p n       set point size to n
  1069.            -R n       remove n lines from beginning of file
  1070.            -r n       remove n lines between pages
  1071.            -s       show    page stats (line+column    count)
  1072.            -t n       set tabs to n (default = 8)
  1073.            -u f.def  use this printer definition file
  1074. --- 8,42 ----
  1075.        NAME
  1076.         psf -    postscript filter
  1077.   
  1078.   
  1079.        SYNOPSIS
  1080. !       psf [    -1|2|4 ] [ -b n    ] [ -c n ] [ -e    ] [ -E ] [ -f n    ]
  1081. !           [    -g type    ] [ -h ] [ -H text ] [ -i n[,pic] ] [ -l n ]
  1082. !           [    -L n ] [ -m n[,pic] ] [    -M lm,rm,tm,bm[,pci] ] [ -n ]
  1083. !           [    -p n ] [ ]   [ -p n ] [    ] [ -R n ] [ -r    n ] [ -s ]
  1084. !           [    -t n ] [ -u f.def ] [ -v ] [ -w    ] [ -x ]
  1085.             [    -z ] file... >out.file
  1086.   
  1087.          where -1|2|4       print 1,2 or    4 up on    a page (default    = 1)
  1088.            -b n       select paper    bin n
  1089.            -c n       print columns (based    on Courier font)
  1090.            -d       allow double    sided printing
  1091. +          -e       left-justified line wrap for    long lines
  1092. +          -E       right-justified line    wrap for long lines
  1093.            -f n       font    number/name (default = 0 = Courier)
  1094.            -g type   page    type (default =    letter)
  1095.            -h       put file name as header on each page
  1096.            -H text   put text as header on each page
  1097. !          -i n[pic] indent left margin n    points/inch/cm
  1098.            -l n       print lines per page
  1099.            -L n       page    length in lines
  1100. !          -m n[pic] indent top margin in    points/inch/cm
  1101. !          -M xxx       set all margins
  1102.            -n       set portrait    (narrow) format
  1103.            -p n       set point size to n
  1104. +          -P n       set point size to n,    preserve point size
  1105.            -R n       remove n lines from beginning of file
  1106.            -r n       remove n lines between pages
  1107.            -s       show    page stats (line+column    count)
  1108.            -t n       set tabs to n (default = 8)
  1109.            -u f.def  use this printer definition file
  1110. ***************
  1111. *** 50,68 ****
  1112.            a Helvetica-Condensed     b ZapfChancery-MediumItalic
  1113.   
  1114.   
  1115.        DESCRIPTION
  1116.         Psf accepts text and filters it to print on postscript
  1117. -       printers.  The print may be "1-up", "2-up", or "4-up"    on a
  1118. -       page.    Psf is a general purpose filter    for most text and
  1119. -       programme listings.  By using    various    escape sequences
  1120. -       (described below), any portion of the    text may be printed in
  1121. -       different fonts and at different point sizes.
  1122.   
  1123.   
  1124.   
  1125. !      Page 1                         (printed 1/18/92)
  1126.   
  1127.   
  1128.   
  1129.   
  1130.   
  1131. --- 55,68 ----
  1132.            a Helvetica-Condensed     b ZapfChancery-MediumItalic
  1133.   
  1134.   
  1135.        DESCRIPTION
  1136.         Psf accepts text and filters it to print on postscript
  1137.   
  1138.   
  1139.   
  1140. !      Page 1                         (printed 1/30/92)
  1141.   
  1142.   
  1143.   
  1144.   
  1145.   
  1146. ***************
  1147. *** 69,78 ****
  1148. --- 69,84 ----
  1149.   
  1150.        PSF(1)               Unix System V            PSF(1)
  1151.   
  1152.   
  1153.   
  1154. +       printers.  The print may be "1-up", "2-up", or "4-up"    on a
  1155. +       page.    Psf is a general purpose filter    for most text and
  1156. +       programme listings.  By using    various    escape sequences
  1157. +       (described below), any portion of the    text may be printed in
  1158. +       different fonts and at different point sizes.
  1159.         If "letter" sized paper is used, the page is assumed to have
  1160.         63 lines and 80 columns wide.     For "legal" sized paper, the
  1161.         effective size is 81 lines by    80 columns.  These dimensions
  1162.         account for the "print region" (excluding margins) of    the
  1163.         page.
  1164. ***************
  1165. *** 84,93 ****
  1166. --- 90,102 ----
  1167.         point    size, column count and line count: all of which    allow
  1168.         you to place more printed information    on a page.  Additional
  1169.         options are for special formatting purposes and may be used
  1170.         if desired.
  1171.   
  1172. +       By default, lines wider than the page    width are truncated.
  1173. +       Line wrap may    be enabled with    the -e option.
  1174.         Special formatting for nroff'ed documents and    mail box
  1175.         printing are encapsulated in shell scripts such as psfnroff
  1176.         and psfmbox. These scripts hide some of the more complex
  1177.         options.
  1178.   
  1179. ***************
  1180. *** 105,153 ****
  1181.             psf -2  my.file         (print 2 up on a page)
  1182.             psf -2xn my.c         (typical source listing)
  1183.             psf -4x my.file         (print 4 up on a page)
  1184.             psf -p8 my.fil         (print 8 point)
  1185.             psf -l66 -c132 -w    a.b  (print 66 lines, 132 cols,    landscape)
  1186.   
  1187.   
  1188.        PRINT SIZE
  1189.         Two ways are available to adjust the print size.  If the
  1190.         point    size (using the    -p option) is used, choosing a smaller
  1191.         point    size than the default of 12 results in smaller letters
  1192. -       and more printed lines.  Choosing a larger points size
  1193. -       results in larger letters and    reduces    the number of printed
  1194. -       lines    and columns on a page.
  1195.   
  1196. -       A table of various point sizes, page sizes and their
  1197. -       associated line and column count is printed with:
  1198.   
  1199. -         psf -s
  1200.   
  1201. !       If the column    count (-c) or the line count (-l) is adjusted,
  1202.   
  1203.   
  1204.   
  1205. -      Page 2                         (printed 1/18/92)
  1206.   
  1207.   
  1208.   
  1209.   
  1210.   
  1211.   
  1212. !      PSF(1)               Unix System V            PSF(1)
  1213.   
  1214.   
  1215.   
  1216.         the number of    printed    rows and colums    can be changed form
  1217.         the defaults for the paper size.  For    example, a 132 column,
  1218.         60 line page in landscape layout may be selected with:
  1219.   
  1220.           psf -w -c132 -l60 my.fil | lp
  1221.   
  1222. -       If "unfortunate" row and column counts are selected, the
  1223. -       resulting letters could be squashed or elongated.
  1224.   
  1225.        OPTIONS
  1226.         -124 Specify the number of logical pages that    are to be
  1227.              printed on a physical page.  By default,    psf will print
  1228.              one logical page    per physical page.
  1229. --- 114,160 ----
  1230.             psf -2  my.file         (print 2 up on a page)
  1231.             psf -2xn my.c         (typical source listing)
  1232.             psf -4x my.file         (print 4 up on a page)
  1233.             psf -p8 my.fil         (print 8 point)
  1234.             psf -l66 -c132 -w    a.b  (print 66 lines, 132 cols,    landscape)
  1235. +           psf -M 1,1,1,1,c a.b   (set 1 cm margins)
  1236.   
  1237.   
  1238.        PRINT SIZE
  1239.         Two ways are available to adjust the print size.  If the
  1240.         point    size (using the    -p option) is used, choosing a smaller
  1241.         point    size than the default of 12 results in smaller letters
  1242.   
  1243.   
  1244.   
  1245. !      Page 2                         (printed 1/30/92)
  1246.   
  1247.   
  1248.   
  1249.   
  1250.   
  1251.   
  1252. +      PSF(1)               Unix System V            PSF(1)
  1253.   
  1254.   
  1255.   
  1256. !       and more printed lines.  Choosing a larger points size
  1257. !       results in larger letters and    reduces    the number of printed
  1258. !       lines    and columns on a page.
  1259.   
  1260. +       A table of various point sizes, page sizes and their
  1261. +       associated line and column count is printed with:
  1262.   
  1263. +         psf -s
  1264.   
  1265. +       If the column    count (-c) or the line count (-l) is adjusted,
  1266.         the number of    printed    rows and colums    can be changed form
  1267.         the defaults for the paper size.  For    example, a 132 column,
  1268.         60 line page in landscape layout may be selected with:
  1269.   
  1270.           psf -w -c132 -l60 my.fil | lp
  1271.   
  1272.   
  1273.        OPTIONS
  1274.         -124 Specify the number of logical pages that    are to be
  1275.              printed on a physical page.  By default,    psf will print
  1276.              one logical page    per physical page.
  1277. ***************
  1278. *** 180,200 ****
  1279.                |     pg 3     |   pg    4    |
  1280.                |         |         |
  1281.                +-----------+-----------+
  1282.   
  1283.              Each logical page printed in 2-up or 4-up format
  1284. -            contains    the same number    of lines and print columns as
  1285. -            if it were printed in 1-up portrait format.  The
  1286. -            characters may be compressed or expanded    horizontally
  1287. -            to fill to the logical page width.  For example,
  1288. -            printing    with:
  1289.   
  1290. -               psf -4 my.text | lp
  1291.   
  1292.   
  1293. !      Page 3                         (printed 1/18/92)
  1294.   
  1295.   
  1296.   
  1297.   
  1298.   
  1299. --- 187,200 ----
  1300.                |     pg 3     |   pg    4    |
  1301.                |         |         |
  1302.                +-----------+-----------+
  1303.   
  1304.              Each logical page printed in 2-up or 4-up format
  1305.   
  1306.   
  1307.   
  1308. !      Page 3                         (printed 1/30/92)
  1309.   
  1310.   
  1311.   
  1312.   
  1313.   
  1314. ***************
  1315. *** 201,210 ****
  1316. --- 201,218 ----
  1317.   
  1318.        PSF(1)               Unix System V            PSF(1)
  1319.   
  1320.   
  1321.   
  1322. +            contains    the same number    of lines and print columns as
  1323. +            if it were printed in 1-up portrait format.  The
  1324. +            characters may be compressed or expanded    horizontally
  1325. +            to fill to the logical page width.  For example,
  1326. +            printing    with:
  1327. +               psf -4 my.text | lp
  1328.              creates four miniature pages, each of which would
  1329.              contain 63 print    lines and 80 characters    on a line.
  1330.   
  1331.              Printing    2-up or    4-up preserves the number of lines on
  1332.              a logical printed paged.    Identical results (in terms of
  1333. ***************
  1334. *** 237,246 ****
  1335. --- 245,280 ----
  1336.              stream is written to psfbook.psd    which must be
  1337.              subsequently filtered with psfdoub. Refer to the    man
  1338.              page for    psfdoub    for operational    details.
  1339.   
  1340.   
  1341. +       -e   By default, lines longer    than the page width are
  1342. +            truncated.  This    option enables line wrap: long lines
  1343. +            will cascade onto successive print lines.  Each wrapped
  1344. +            portion of the line is left-justified.
  1345. +       -E   This operates similar to    -e however each    wrapped
  1346. +            portion of the line is right-justified:     the end of
  1347. +      Page 4                         (printed 1/30/92)
  1348. +      PSF(1)               Unix System V            PSF(1)
  1349. +            the wrapped portion of the line is placed at the    right
  1350. +            paper margin.
  1351.         -f n Any of the standard postscript fonts may    be selected in
  1352.              lieu of the default Courier.  These are selected    from
  1353.              the following table:
  1354.   
  1355.               0 Courier
  1356. ***************
  1357. *** 254,276 ****
  1358.               8 Garamond-Light
  1359.               9 Korinna-Regular
  1360.               a Helvetica-Condensed
  1361.               b ZapfChancery-MediumItalic
  1362.   
  1363. -      Page 4                         (printed 1/18/92)
  1364. -      PSF(1)               Unix System V            PSF(1)
  1365.              The target printer may not have exactly these fonts.
  1366.              To see which fonts are configured, display the psf
  1367.              usage information with:
  1368.   
  1369.               psf    -
  1370. --- 288,297 ----
  1371. ***************
  1372. *** 298,307 ****
  1373. --- 319,342 ----
  1374.   
  1375.                  type      lines        columns
  1376.                 -------      -----        -------
  1377.                 letter       63          80
  1378.                 legal       81          80
  1379. +      Page 5                         (printed 1/30/92)
  1380. +      PSF(1)               Unix System V            PSF(1)
  1381.                 a4       67          78
  1382.                 b5       58          67
  1383.   
  1384.              The number of lines/columns represents the number of
  1385.              possible    lines/columns in the printable region of the
  1386. ***************
  1387. *** 319,346 ****
  1388.         -H text
  1389.              Place a header (like -h ) however use text rather than
  1390.              the filename.
  1391.   
  1392.   
  1393. !      Page 5                         (printed 1/18/92)
  1394.   
  1395.   
  1396. -      PSF(1)               Unix System V            PSF(1)
  1397. -       -i n Indent the left margin by n points.  This may be    used
  1398. -            to center the text in the page.
  1399.   
  1400.         -l n Sets the    number of printed lines    per page.  The default
  1401.              is 63 lines for letter sized paper.  If more than 63
  1402.              lines per page are specified, the point size is
  1403.              automatically reduced to    accomodate the line count.
  1404.   
  1405. --- 354,377 ----
  1406.         -H text
  1407.              Place a header (like -h ) however use text rather than
  1408.              the filename.
  1409.   
  1410.   
  1411. !       -i n[pic]
  1412. !            Indent the physical page's left margin by n points (p)
  1413. !            , inches    (i) or centimeters (c).    Text is    scaled by the
  1414. !            amount of the indentation to preserve nominal line and
  1415. !            column counts.  This is useful to offset    the left
  1416. !            margin for binding or hole-punch.
  1417. !            If indentation is desired without causing scaling (i.e.
  1418. !            a true "offset" only), then a point size    must be
  1419. !            selected    with -P.
  1420.   
  1421. +             psf    -i2c -P12 doc.file | lpr
  1422.   
  1423.   
  1424.         -l n Sets the    number of printed lines    per page.  The default
  1425.              is 63 lines for letter sized paper.  If more than 63
  1426.              lines per page are specified, the point size is
  1427.              automatically reduced to    accomodate the line count.
  1428.   
  1429. ***************
  1430. *** 354,370 ****
  1431.              page would be blank.
  1432.   
  1433.   
  1434.         -L n Specifies the number of possible    print lines available
  1435.              on the page.  If    -L is specified, then the page scale
  1436.              is adjusted to accomodate the line count.   However,
  1437.              only the    number of lines    specified by the -l option
  1438.              will actually print.
  1439.   
  1440.   
  1441. !       -m n Move the    top margin down    by n points.  This may be used
  1442. !            to center the text in the page.
  1443.   
  1444.   
  1445.         -n   The page    is printed in portrait (narrow)    format.     This
  1446.              is the default for 1-up and 4-up    printing.  If portrait
  1447.              layout is desired for 2-up printing, then the -n    option
  1448. --- 385,479 ----
  1449.              page would be blank.
  1450.   
  1451.   
  1452.         -L n Specifies the number of possible    print lines available
  1453.              on the page.  If    -L is specified, then the page scale
  1454. +      Page 6                         (printed 1/30/92)
  1455. +      PSF(1)               Unix System V            PSF(1)
  1456.              is adjusted to accomodate the line count.   However,
  1457.              only the    number of lines    specified by the -l option
  1458.              will actually print.
  1459.   
  1460.   
  1461. !       -m n[pic]
  1462. !            Move the    physical page's    top margin down    by n points
  1463. !            (p) , inches (i)    or centimeters (c). Text is scaled by
  1464. !            the amount of the indentation to    preserve nominal line
  1465. !            and column counts.  This    is useful to offset the    top
  1466. !            margin for binding or hole-punch.
  1467. !       -M lm,rm,tm,bm[,pic]
  1468. !            All four    margins    on the each logical page (1,2, or 4
  1469. !            up) may be set with the -M option. The size of the left
  1470. !            (lm), right (rm), top (tm) and bottom (bm) margins may
  1471. !            be set in points    (p), inches (i)    or centimeters (c).
  1472. !            This option affects each    logical    page: margins set with
  1473. !            -i or -m    are used to offset physical margins.
  1474. !            For example,
  1475. !            -M 2,3,4.2,5,c
  1476. !            will set    a left margin of 2cm, right margin of 3cm, top
  1477. !            margin of 4.2cm and a bottom margin of 5cm.
  1478. !            If the type of unit is omitted, then "point" is
  1479. !            assumed.
  1480. !            Only those margin settings desired need be provided.
  1481. !            The missing values are assumed to be printer defaults.
  1482. !            For example, to offset (left margin only) a page    by
  1483. !            1.25 inches, a possible command might be:
  1484. !             psf    -M 1.25,,,,i my.file
  1485. !            Margin sizes are    absolute and not scaled    when printing
  1486. !            in 2-up or 4-up modes.
  1487. !            Margins to do not cause line clipping:  long text lines
  1488. !            may overflow the    right margin.  Line wrap with -e or -E
  1489. !            may be used to preserve the right margin.
  1490. !            The margin setting could    be used    in conjunction with
  1491. !            the line    and column count to provide positioning    within
  1492. !            the page. For example, an 80 column by 60 line page can
  1493. !            be centered with    50 point margins with:
  1494. !             psf    -M 50,50,50,50,p -l 60 -c 80 my.file
  1495. !      Page 7                         (printed 1/30/92)
  1496. !      PSF(1)               Unix System V            PSF(1)
  1497. !            If margins are set but the line and column count    are
  1498. !            not provided, the printing is scaled to use the default
  1499. !            number of lines and columns for the page    and point size
  1500. !            in use.    Scaling    for point size may be defeated with
  1501. !            the -P n    option.
  1502.   
  1503.   
  1504.         -n   The page    is printed in portrait (narrow)    format.     This
  1505.              is the default for 1-up and 4-up    printing.  If portrait
  1506.              layout is desired for 2-up printing, then the -n    option
  1507. ***************
  1508. *** 377,398 ****
  1509.              point size is automatically scaled.
  1510.   
  1511.              The selected point size becomes the new "default    point
  1512.              size".
  1513.   
  1514.   
  1515.         -R n removes n lines from the    beginning of the file.
  1516.   
  1517.   
  1518.         -r n removes n lines between pages of    the file.
  1519.   
  1520.              Use this    option if the text file    has blank lines    that
  1521.              must be removed between pages.  For example, a typical
  1522.   
  1523.   
  1524.   
  1525. !      Page 6                         (printed 1/18/92)
  1526.   
  1527.   
  1528.   
  1529.   
  1530.   
  1531. --- 486,530 ----
  1532.              point size is automatically scaled.
  1533.   
  1534.              The selected point size becomes the new "default    point
  1535.              size".
  1536.   
  1537. +            Character shape is retained as much as possible:
  1538. +            however margin adjustment with -M, -i, and -m do    cause
  1539. +            general scaling.
  1540. +            Line count set with -l and column count sent with -c
  1541. +            are honoured, however the point height is preserved.
  1542. +            This may    result in horizontally squashed/elongated
  1543. +            characters if the -c option is used and/or changes in
  1544. +            the spacing between lines if the    -l option is used.
  1545. +       -P n Sets the    nominal    point size to n. however the point
  1546. +            size is not be scaled if    the margin size    is adjusted
  1547. +            with -M.    -i, or -m. Scaling still take place in 2-up
  1548. +            and 4-up    printing.
  1549.   
  1550.         -R n removes n lines from the    beginning of the file.
  1551.   
  1552.   
  1553.         -r n removes n lines between pages of    the file.
  1554.   
  1555.              Use this    option if the text file    has blank lines    that
  1556.              must be removed between pages.  For example, a typical
  1557. +            "accounting" report may print 60    lines and 132 columns
  1558. +            of text.     Usually, such reports have two    blank lines
  1559. +            before the first    printed    text on    a page    and 6 blank
  1560. +            lines to    skip to    the top    of the next page.
  1561. +            To generate exactly 60 printed lines with psf, the
  1562. +            first two blank lines should be removed with -R2    and
  1563.   
  1564.   
  1565.   
  1566. !      Page 8                         (printed 1/30/92)
  1567.   
  1568.   
  1569.   
  1570.   
  1571.   
  1572. ***************
  1573. *** 399,415 ****
  1574.   
  1575.        PSF(1)               Unix System V            PSF(1)
  1576.   
  1577.   
  1578.   
  1579. -            "accounting" report may print 60    lines and 132 columns
  1580. -            of text.     Usually, such reports have two    blank lines
  1581. -            before the first    printed    text on    a page    and 6 blank
  1582. -            lines to    skip to    the top    of the next page.
  1583. -            To generate exactly 60 printed lines with psf, the
  1584. -            first two blank lines should be removed with -R2    and
  1585.              the blank lines between pages removed with -r6:
  1586.   
  1587.                 psf -R2 -r 6 -l 60 -c 132    account.rpt | lp
  1588.   
  1589.              The -r and -R may be used together as needed.
  1590. --- 531,540 ----
  1591. ***************
  1592. *** 448,464 ****
  1593.              space of    4.
  1594.   
  1595.   
  1596.         -u f.def
  1597.              causes the specified file to be used rather than    the
  1598. !            default printer definition file psfprint.def.
  1599.   
  1600.   
  1601.   
  1602.   
  1603.   
  1604. !      Page 7                         (printed 1/18/92)
  1605.   
  1606.   
  1607.   
  1608.   
  1609.   
  1610. --- 573,596 ----
  1611.              space of    4.
  1612.   
  1613.   
  1614.         -u f.def
  1615.              causes the specified file to be used rather than    the
  1616. !            default printer definition file psfprint.def. If    the
  1617. !            file cannot be found, the directory containing the
  1618. !            default psfprint.def file is also searched.
  1619. !            Display the fonts and paper tray    assignment applicable
  1620. !            to the alternate    .def file with:
  1621. !             psf    -u f.def -\?
  1622.   
  1623.   
  1624.   
  1625.   
  1626.   
  1627. !      Page 9                         (printed 1/30/92)
  1628.   
  1629.   
  1630.   
  1631.   
  1632.   
  1633. ***************
  1634. *** 520,530 ****
  1635.   
  1636.              "^E"    is a true ctrl-E character, not
  1637.   
  1638.   
  1639.   
  1640. !      Page 8                         (printed 1/18/92)
  1641.   
  1642.   
  1643.   
  1644.   
  1645.   
  1646. --- 652,662 ----
  1647.   
  1648.              "^E"    is a true ctrl-E character, not
  1649.   
  1650.   
  1651.   
  1652. !      Page 10                         (printed 1/30/92)
  1653.   
  1654.   
  1655.   
  1656.   
  1657.   
  1658. ***************
  1659. *** 586,596 ****
  1660.   
  1661.        ENVIRONMENT
  1662.   
  1663.   
  1664.   
  1665. !      Page 9                         (printed 1/18/92)
  1666.   
  1667.   
  1668.   
  1669.   
  1670.   
  1671. --- 718,728 ----
  1672.   
  1673.        ENVIRONMENT
  1674.   
  1675.   
  1676.   
  1677. !      Page 11                         (printed 1/30/92)
  1678.   
  1679.   
  1680.   
  1681.   
  1682.   
  1683. ***************
  1684. *** 624,635 ****
  1685. --- 756,769 ----
  1686.         paper    bin greater than maximum for printer
  1687.         Double sided or book in reverse ordered not supported
  1688.         Font number invalid
  1689.             - use    'psf -'    to see a list of fonts available
  1690.         cannot create    work file
  1691. +            - directory permission?
  1692.         cannot allocate enough memory
  1693.         Cannot open output file
  1694. +            - directory permission?
  1695.         Unknown file xxxx
  1696.         Bad psfprint.def file
  1697.             - the    psfprint.def file is corrupted.     Contact
  1698.               your systems administrator.
  1699.   
  1700. ***************
  1701. *** 636,649 ****
  1702.   
  1703.        BUGS
  1704.         Double sided reverse ordered printing    with the -dv options
  1705.         is not supported.
  1706.   
  1707.   
  1708.        FILES
  1709.         /usr/spool/lp/model/psfprint.def:  printer definition    file
  1710. !       psfbook.psd:    output file for    double sided printing.
  1711.   
  1712.   
  1713.        SEE ALSO
  1714.         psfmail psfbs    psfman psfnroff    psfmbox    psfdoub    lp lpadmin lpr
  1715.         lpd
  1716. --- 770,807 ----
  1717.   
  1718.        BUGS
  1719.         Double sided reverse ordered printing    with the -dv options
  1720.         is not supported.
  1721.   
  1722. +       Line wrap with the -e    option works correctly for Courier
  1723. +       font only.  If other fonts are used, inappropriate line
  1724. +       wraps    may result.  Psf does not know about font metrics.
  1725. +       Double sided printing    may not    work correctly with top    margin
  1726. +       or left margin indentation.
  1727. +       Psf has far to many options.
  1728.   
  1729.        FILES
  1730. +      Page 12                         (printed 1/30/92)
  1731. +      PSF(1)               Unix System V            PSF(1)
  1732.         /usr/spool/lp/model/psfprint.def:  printer definition    file
  1733. !       /usr/local/lib/psf/psfprint.def:   printer definition    file
  1734. !       psfbook.psd:    temp output file for double sided printing.
  1735.   
  1736.   
  1737.        SEE ALSO
  1738.         psfmail psfbs    psfman psfnroff    psfmbox    psfdoub    lp lpadmin lpr
  1739.         lpd
  1740. ***************
  1741. *** 652,660 ****
  1742.        AUTHOR
  1743.         Tony Field.          tony@ajfcal.cuc.ab.ca
  1744.   
  1745.   
  1746.   
  1747. !      Page 10                         (printed 1/18/92)
  1748.   
  1749.   
  1750.   
  1751. --- 810,858 ----
  1752.        AUTHOR
  1753.         Tony Field.          tony@ajfcal.cuc.ab.ca
  1754.   
  1755.   
  1756.   
  1757. !      Page 13                         (printed 1/30/92)
  1758.   
  1759.   
  1760.   
  1761.   
  1762.   
  1763.   $ $ $ end of patch 2/2 $ $ $
  1764.  
  1765. exit 0 # Just in case...
  1766.