home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume24 / psroff3.0 / patch3 < prev    next >
Encoding:
Internet Message Format  |  1991-10-09  |  50.5 KB

  1. Subject:  v24i117:  psroff, Troff to PostScript filter, Patch3
  2. Newsgroups: comp.sources.unix
  3. Approved: rsalz@uunet.UU.NET
  4.  
  5. Submitted-by: Chris Lewis <clewis@ferret.ocunix.on.ca>
  6. Posting-number: Volume 24, Issue 117
  7. Archive-name: psroff3.0/patch3
  8.  
  9.     This is official patch 03 for Psroff 3.0.
  10.     Please apply it by:
  11.     cd <psroff source directory>
  12.     patch -N -p < <this file>
  13.  
  14. A bit hefty, but these patches are almost entirely build documentation
  15. fixes:
  16.     - magic incantation for successfull builds on Ultrix (VAX/MIPS)
  17.     - rewrote Apollo documentation somewhat.
  18.     - "Type Director" - source for HP fonts.
  19.     - "zap" program for building on systems without System V make.
  20.       Eg: "vanilla" BSD or Sony.  (see MISC file)
  21.     - made psxlate know that BeginData and EndData nest in
  22.       Postscript DSC.  (already does {Begin|End}Document)
  23.     - made sure that postscript include mechanism searches "./lib"
  24.       in addition to . and FONTDIR/lib.  (caused can't include
  25.       confid.ps error message if you tried to run psroff without
  26.       installing)
  27.     - made non-fatal build messages sound less fatal.
  28.     - additional lookup for ftR when trying to fake headers on
  29.       constructed width tables.
  30.     - Documented -n<page>,<page> page selectcion option in psxlate.
  31.  
  32. ./man/Makefile        Made "Where does cat man page go?" message
  33.             sound "less fatal".
  34. ./man/psxlate.1.S    Made docs consistent with program. (where did -N
  35.             come from?)
  36. ./lib/psrofflib.S    xtfull alternative xtroff invocation.
  37. ./widths/dit2catwid.c    When FONTDIR different from /usr/lib/font, AND
  38.             you need *real* object headers (eg: Apollo),
  39.             dit2catwid didn't look in /usr/lib/font for
  40.             original ftR to copy headers and trailers from.
  41. ./widths/installdit.S    Made missing makedev/mkfont less fatal sounding.
  42. ./utils/psxlate.c    {Begin|End}Data nesting (in addition to
  43.             {Begin|End}Document)
  44. ./README        Ultrix clarification, "zap", etc.
  45. ./MISC            Ultrix clarification, "zap", crummy makes.
  46. ./defs.h        patch level, dropped "COFF" define (doesn't
  47.             work, not needed)
  48. ./INSTALL        Ultrix clarification etc.
  49. ./TROUBLE        Ultrix clarification/Apollo notes etc.
  50. ./LJIII            HP font sources, how to make width tables for new
  51.             scalable fonts.
  52. ./Makefile        Ultrix MAKE/SHELL comments.  Missing $(MAKE)'s
  53. ./audit.S        Pump out version and patch level.
  54. ./utils.c        Added ./lib to include search path.
  55. ./zap            Kludge-around crummy makes.
  56. ./LASERFONTS        HP font sources.
  57.  
  58. Index: ./man/Makefile
  59. *** /tmp/PATCHold/./man/Makefile    Sat Jul 27 12:44:18 1991
  60. --- ./man/Makefile    Sat Jul 27 12:44:20 1991
  61. ***************
  62. *** 1,4 ****
  63. ! # 2.4 91/03/25
  64.   
  65.   MANPAGES = troff2ps.1 psroff.1 cat.5 pk2sfp.1 dumpft.1 hpinterp.1 \
  66.       asc2ps.1 psxlate.1
  67. --- 1,4 ----
  68. ! # 2.5 91/07/20
  69.   
  70.   MANPAGES = troff2ps.1 psroff.1 cat.5 pk2sfp.1 dumpft.1 hpinterp.1 \
  71.       asc2ps.1 psxlate.1
  72. ***************
  73. *** 32,36 ****
  74.           echo "Installing cat.5 in $(MANDIR)/../man5/cat.5" ; \
  75.           cp cat.5 $(MANDIR)/../man5/cat.5 ; \
  76.       else \
  77. !         echo "Can't figure out where to install cat.5 - do it yourself" ; \
  78.       fi
  79. --- 32,38 ----
  80.           echo "Installing cat.5 in $(MANDIR)/../man5/cat.5" ; \
  81.           cp cat.5 $(MANDIR)/../man5/cat.5 ; \
  82.       else \
  83. !         echo "Can't figure out where to install cat.5 - do it yourself." ; \
  84. !         echo "(install cat.5 in the directory where your manual page system" ; \
  85. !         echo "stores file format manual pages" ; \
  86.       fi
  87. Index: ./man/psxlate.1.S
  88. *** /tmp/PATCHold/./man/psxlate.1.S    Sat Jul 27 12:44:32 1991
  89. --- ./man/psxlate.1.S    Sat Jul 27 12:44:33 1991
  90. ***************
  91. *** 1,4 ****
  92. ! .\"Copyright 1991 by Chris Lewis 2.7 91/03/25
  93.   .TH PSXLATE %%MANEXT%% "Psroff %%T2VERSION%%"
  94.   .SH NAME
  95.   psxlate \- General Postscript page flipper etcetera
  96. --- 1,4 ----
  97. ! .\"Copyright 1991 by Chris Lewis 2.8 91/07/11
  98.   .TH PSXLATE %%MANEXT%% "Psroff %%T2VERSION%%"
  99.   .SH NAME
  100.   psxlate \- General Postscript page flipper etcetera
  101. ***************
  102. *** 9,15 ****
  103.   .BI "[\-s" n "]"
  104.   .B "[\-d]"
  105.   .B "[\-B|E]"
  106. ! .BI "[\-N" "a,b,c" "]"
  107.   .BI "[\-n" "a,a\-b,..." "]"
  108.   .BI "<" input file
  109.   .BI ">" output file
  110. --- 9,16 ----
  111.   .BI "[\-s" n "]"
  112.   .B "[\-d]"
  113.   .B "[\-B|E]"
  114. ! .\"Now why did I put in a -N option?
  115. ! .\".BI "[\-N" "a,b,c" "]"
  116.   .BI "[\-n" "a,a\-b,..." "]"
  117.   .BI "<" input file
  118.   .BI ">" output file
  119. ***************
  120. *** 78,83 ****
  121. --- 79,98 ----
  122.   The
  123.   .B \-d
  124.   option enables debugging.
  125. + .PP
  126. + The
  127. + .B \-n
  128. + option permits you to select specific pages for printing.
  129. + You can specify pages or ranges of pages.
  130. + Ie: \-n4,5,20-25
  131. + Selects the fourth, fifth and 20th thru 25th pages for printing.
  132. + Note that this code does not pay any attention to the contents of
  133. + the "%%Page:" comment, and simply selects the pages according to the
  134. + order
  135. + .I psxlate
  136. + sees them.
  137. + If the second part of a range is omitted, it means to the end of the document.
  138. + If the first part of a range is omitted, it means from the beginning of the document.
  139.   .PP
  140.   The other options,
  141.   .BR r ,
  142. Index: ./lib/psrofflib.S
  143. *** /tmp/PATCHold/./lib/psrofflib.S    Sat Jul 27 12:44:45 1991
  144. --- ./lib/psrofflib.S    Sat Jul 27 12:44:46 1991
  145. ***************
  146. *** 1,4 ****
  147. ! #    2.18 91/04/25
  148.   #    This file controls psroff, you can insert additional printer
  149.   #    types here.  These are eval'd *late* in processing, so that
  150.   #    you can insert $copies etc.
  151. --- 1,4 ----
  152. ! #    2.19 91/07/27
  153.   #    This file controls psroff, you can insert additional printer
  154.   #    types here.  These are eval'd *late* in processing, so that
  155.   #    you can insert $copies etc.
  156. ***************
  157. *** 168,181 ****
  158.   
  159.   #    X.11 Xtroff using supplied ps width tables
  160.   #
  161. ! #    You should probably run xtroff's devpsc ditroff width tables
  162. ! #    through gfttab ("cd widths; gfnttab /usr/lib/font/devpsc psc" ?)
  163. ! #    and change width to psc.  However, the default "ps" tables work
  164. ! #    pretty well.  A few characters in CAT troff do not print as you
  165. ! #    would expect: ^, @, \(ga, \(em, \(dg, \(bs, \(eq.  Some of these
  166. ! #    may have been fixed in your version of xtroff (patch 10).
  167.   
  168.   xt    width=ps t2arg='-Tdt -dpsc' lparg='| xtroff'
  169.   
  170.   #    Adobe Transcript psdit - this appears to work, but I've not
  171.   #    set a workable lparg.  A number of characters are missing:
  172. --- 168,185 ----
  173.   
  174.   #    X.11 Xtroff using supplied ps width tables
  175.   #
  176. ! #    You should use the same width tables in the width= line
  177. ! #    as you are printing with.  This way you get xtroff output
  178. ! #    to agree closely with character placement on the printer.
  179. ! #    Even if it does look ugly.  A few characters on xtroff don't
  180. ! #    print as you expect:
  181. ! #      ^, @, \(ga, \(em, \(dg, \(bs, \(eq.
  182. ! #    Some of these may have been fixed in your version of xtroff.
  183. ! #    Patch 10 is recommended.  If you have an earlier one, define
  184. ! #    NOCHATTER in defs.h.  Try -Txtfull too and see if it improves things.
  185.   
  186.   xt    width=ps t2arg='-Tdt -dpsc' lparg='| xtroff'
  187. + xtfull    width=ps t2arg='-Tdt -dpsc' lparg='| xtroff -full'
  188.   
  189.   #    Adobe Transcript psdit - this appears to work, but I've not
  190.   #    set a workable lparg.  A number of characters are missing:
  191. Index: ./widths/dit2catwid.c
  192. *** /tmp/PATCHold/./widths/dit2catwid.c    Sat Jul 27 12:44:57 1991
  193. --- ./widths/dit2catwid.c    Sat Jul 27 12:45:02 1991
  194. ***************
  195. *** 10,16 ****
  196.   
  197.   #ifndef    lint
  198.   static char SCCSID[] =
  199. !     "@(#)dit2catwid.c 2.8 Copyright 91/04/25 17:29:41 Chris Lewis";
  200.   #endif
  201.   
  202.   #include <stdio.h>
  203. --- 10,16 ----
  204.   
  205.   #ifndef    lint
  206.   static char SCCSID[] =
  207. !     "@(#)dit2catwid.c 2.9 Copyright 91/07/27 12:36:15 Chris Lewis";
  208.   #endif
  209.   
  210.   #include <stdio.h>
  211. ***************
  212. *** 238,245 ****
  213.   
  214.       if (headersize != 0) {
  215.       char buf[128];
  216. !     sprintf(buf, "%s/%s", FONTDIR, "ftR");
  217. !     if (of = fopen(buf, "r")) {
  218.           for (i = 0; i < headersize; i++)
  219.           fputc(fgetc(of), f);
  220.           for (i = 0; i < 224; i++)
  221. --- 238,250 ----
  222.   
  223.       if (headersize != 0) {
  224.       char buf[128];
  225. !     of = fopen("/usr/lib/font/ftR", "r");
  226. !     if (!of) {
  227. !         sprintf(buf, "%s/%s", FONTDIR, "ftR");
  228. !         of = fopen(buf, "r");
  229. !     }
  230. !     if (of) {
  231. !         
  232.           for (i = 0; i < headersize; i++)
  233.           fputc(fgetc(of), f);
  234.           for (i = 0; i < 224; i++)
  235. Index: ./widths/installdit.S
  236. *** /tmp/PATCHold/./widths/installdit.S    Sat Jul 27 12:45:24 1991
  237. --- ./widths/installdit.S    Sat Jul 27 12:45:28 1991
  238. ***************
  239. *** 5,15 ****
  240.   #    See the LICENSE file for a full description of the restrictions
  241.   #    under which this software is provided.
  242.   #
  243. ! #1.4 91/04/02
  244.   MAKEDEV=%%MAKEDEV%%
  245.   if [ ! -f "$MAKEDEV" ]
  246.   then
  247. !     echo "no $MAKEDEV program"
  248.       exit 0
  249.   fi
  250.   if [ "$1" = "-i" ]
  251. --- 5,16 ----
  252.   #    See the LICENSE file for a full description of the restrictions
  253.   #    under which this software is provided.
  254.   #
  255. ! #1.5 91/07/20
  256.   MAKEDEV=%%MAKEDEV%%
  257.   if [ ! -f "$MAKEDEV" ]
  258.   then
  259. !     echo "no $MAKEDEV program - don't worry unless you're using psroff"
  260. !     echo "with REAL ditroff instead of C/A/T troff"
  261.       exit 0
  262.   fi
  263.   if [ "$1" = "-i" ]
  264. Index: ./utils/psxlate.c
  265. *** /tmp/PATCHold/./utils/psxlate.c    Sat Jul 27 12:45:48 1991
  266. --- ./utils/psxlate.c    Sat Jul 27 12:45:54 1991
  267. ***************
  268. *** 23,29 ****
  269.    */
  270.   #ifndef    lint
  271.   static char SCCSid[] =
  272. !     "@(#)psxlate.c: 2.13 Copyright 91/04/24 22:07:02 Chris Lewis";
  273.   #endif
  274.   
  275.   #ifdef    ALONE
  276. --- 23,29 ----
  277.    */
  278.   #ifndef    lint
  279.   static char SCCSid[] =
  280. !     "@(#)psxlate.c: 2.15 Copyright 91/07/24 23:17:49 Chris Lewis";
  281.   #endif
  282.   
  283.   #ifdef    ALONE
  284. ***************
  285. *** 243,253 ****
  286. --- 243,259 ----
  287.   
  288.           if (strncmp(buffer, "%%BeginDocument:", 16) == 0)
  289.               nest++;
  290. +         else if (strncmp(buffer, "%%BeginData:", 12) == 0)
  291. +             nest++;
  292. +         else if (isspace(buffer[9]) &&
  293. +             strncmp(buffer, "%%EndData", 9) == 0)
  294. +             nest--;
  295.           else if (isspace(buffer[13]) &&
  296.               strncmp(buffer, "%%EndDocument", 13) == 0)
  297.               nest--;
  298.   
  299.           seen = S_NONE;
  300.           }
  301.       } else
  302.           seen = S_NONE;
  303. ***************
  304. *** 270,276 ****
  305.           fclose(out);
  306.           if (psnupwanted)
  307.               append(pages);
  308. !         return;
  309.           case S_PAGE:
  310.           switch(state) {
  311.               case PROLOG:
  312. --- 276,282 ----
  313.           fclose(out);
  314.           if (psnupwanted)
  315.               append(pages);
  316. !         goto endit;
  317.           case S_PAGE:
  318.           switch(state) {
  319.               case PROLOG:
  320. ***************
  321. *** 305,310 ****
  322. --- 311,317 ----
  323.           break;
  324.       }
  325.       }
  326. + endit:
  327.       if (nest) {
  328.       fprintf(stderr, "%s: misnested BeginDocument/EndDocument\n",
  329.           progname);
  330. ***************
  331. *** 592,616 ****
  332.       register char *p = s;
  333.       int tmp = 0;
  334.       ranges[ri].end = -1;
  335. !     while (isdigit(*s))
  336. !     tmp = 10 * tmp + (*s++ - '0');
  337. !     if (tmp <= 0) {
  338. !     fprintf(stderr, "%s: bad number %s\n", progname, p);
  339. !     exit(1);
  340.       }
  341.       ranges[ri].end = ranges[ri].start = tmp;
  342.       if (*s == '-') {
  343.       s++;
  344.       p = s;
  345.       tmp = 0;
  346. !     while(isdigit(*s))
  347. !         tmp = 10 * tmp + (*s++ - '0');
  348. !     if (tmp <= 0) {
  349. !         fprintf(stderr, "%s: bad number %s\n", progname, p);
  350. !         exit(1);
  351.       }
  352.       ranges[ri].end = tmp;
  353.       }
  354.       if (*s == ',')
  355.       s++;
  356.       ri++;
  357. --- 599,635 ----
  358.       register char *p = s;
  359.       int tmp = 0;
  360.       ranges[ri].end = -1;
  361. !     if (*s == '-')
  362. !     tmp = 1;
  363. !     else {
  364. !     while (isdigit(*s))
  365. !         tmp = 10 * tmp + (*s++ - '0');
  366. !     if (tmp <= 0) {
  367. !         fprintf(stderr, "%s: bad number %s\n", progname, p);
  368. !         exit(1);
  369. !     }
  370.       }
  371.       ranges[ri].end = ranges[ri].start = tmp;
  372.       if (*s == '-') {
  373.       s++;
  374.       p = s;
  375.       tmp = 0;
  376. !     if (*s == ',' || *s == '\0')
  377. !         tmp = 100000;
  378. !     else {
  379. !         while(isdigit(*s))
  380. !         tmp = 10 * tmp + (*s++ - '0');
  381. !         if (tmp <= 0) {
  382. !         fprintf(stderr, "%s: bad number %s\n", progname, p);
  383. !         exit(1);
  384. !         }
  385.       }
  386.       ranges[ri].end = tmp;
  387.       }
  388.       if (*s == ',')
  389.       s++;
  390.       ri++;
  391. Index: ./README
  392. *** /tmp/PATCHold/./README    Sat Jul 27 12:46:10 1991
  393. --- ./README    Sat Jul 27 12:46:13 1991
  394. ***************
  395. *** 1,4 ****
  396. !         PSROFF RELEASE 3.0 README 2.19 91/04/24
  397.   
  398.               Feb 19, 1991
  399.               Chris Lewis
  400. --- 1,4 ----
  401. !         PSROFF RELEASE 3.0 README 2.20 91/07/20
  402.   
  403.               Feb 19, 1991
  404.               Chris Lewis
  405. ***************
  406. *** 212,219 ****
  407.             lj3.fonts file (has the encodings and font selections)
  408.   
  409.             See the LJIII file for more information on how the LJIII
  410. !           variant works, and some pointers on how to upgrade your pre-LJIII
  411. !           printers to work as well.
  412.   
  413.         Psroff supports both PK and SFP format font files.
  414.         Normal PK font files (eg: that come with TeX) do not have
  415. --- 212,220 ----
  416.             lj3.fonts file (has the encodings and font selections)
  417.   
  418.             See the LJIII file for more information on how the LJIII
  419. !           variant works, some pointers on how to upgrade your pre-LJIII
  420. !           printers to work as well, and some more information on
  421. !           Type Director.
  422.   
  423.         Psroff supports both PK and SFP format font files.
  424.         Normal PK font files (eg: that come with TeX) do not have
  425. Index: ./MISC
  426. *** /tmp/PATCHold/./MISC    Sat Jul 27 12:46:32 1991
  427. --- ./MISC    Sat Jul 27 12:46:34 1991
  428. ***************
  429. *** 1,5 ****
  430.           Miscellaneous Tuning/Customization
  431. !             2.10 91/05/10
  432.   
  433.       - Vertical bars in eqn may not be vertical.  This is a botch
  434.         in some versions of eqn - namely, eqn is asking for "|"
  435. --- 1,5 ----
  436.           Miscellaneous Tuning/Customization
  437. !             2.13 91/07/23
  438.   
  439.       - Vertical bars in eqn may not be vertical.  This is a botch
  440.         in some versions of eqn - namely, eqn is asking for "|"
  441. ***************
  442. *** 18,26 ****
  443.       normal
  444.       | 0
  445.   
  446. !       to the appropriate *.lib file.  Then all "|" will be
  447.         from the Times-Roman font.  Ugly, but the only way to
  448.         fix eqn vertical bars.
  449.       - Postscript spooling:  Theoretically speaking, it is better
  450.         to have psxlate in your Postscript printer spooler interface
  451.         than as a pipeline in psroff.  For System V, you might want
  452. --- 18,63 ----
  453.       normal
  454.       | 0
  455.   
  456. !       to the appropriate *.fonts file.  Then all "|" will be
  457.         from the Times-Roman font.  Ugly, but the only way to
  458.         fix eqn vertical bars.
  459. +     - Broken Makes: There are two things that could be wrong
  460. +       with your version of make.  One is that it doesn't support
  461. +       "include".  This can be fixed by uncommenting the "MAKE ="
  462. +       line in the Makefile that contains the sed script.  The
  463. +       other thing is that older versions of make (eg: vanilla
  464. +       BSD, Sony) don't understand some of the additional features
  465. +       of the System V Extended Make.  If you have the latter, do
  466. +       the following to build psroff:
  467. +         1) Edit Makefile/defs.h/psrofflib.S to suit
  468. +         2) Type:
  469. +         chmod 755 zap
  470. +         ./zap
  471. +         make (this will abort in the widths subdirectory
  472. +               immediately after removing some .log files)
  473. +         ./zap foo (will create the width tables)
  474. +       
  475. +       After this, a "make install" should work, but a "make
  476. +       installwidths" won't.  You will have to copy the ft* files
  477. +       from each widths/widthXX directory to a directory FONTDIR/XX.
  478. +       (Where FONTDIR will probably be /usr/lib/font)
  479. +       If you change the configuration of psroff: defs.h, Makefile,
  480. +       or any .S file, you will have to run "./zap" and "make"
  481. +       again.
  482. +     
  483. +       The zap program doesn't do everything - namely it doesn't
  484. +       produce the HP Laserjet width tables from existing fonts,
  485. +       nor will it generate ditroff width tables if you're trying
  486. +       to use real ditroff instead of C/A/T troff.  If you need
  487. +       to do this, please contact me and I'll help.
  488. +       Zap merely runs thru all of the .S files substituting
  489. +       the appropriate parameters to create the files you use.
  490. +       (eg: transforming lib/psrofflib.S to lib/psrofflib)
  491.       - Postscript spooling:  Theoretically speaking, it is better
  492.         to have psxlate in your Postscript printer spooler interface
  493.         than as a pipeline in psroff.  For System V, you might want
  494. Index: ./defs.h
  495. *** /tmp/PATCHold/./defs.h    Sat Jul 27 12:46:49 1991
  496. --- ./defs.h    Sat Jul 27 12:46:50 1991
  497. ***************
  498. *** 9,15 ****
  499.    */
  500.   
  501.   /*    Official Release and Patch level:    */
  502. ! #define    T2VERSION    "@(#)PSROFF Copyright 91/05/28 Chris Lewis - R3 PL2"
  503.   
  504.   /*    Configuration parameters:
  505.    */
  506. --- 9,15 ----
  507.    */
  508.   
  509.   /*    Official Release and Patch level:    */
  510. ! #define    T2VERSION    "@(#)PSROFF Copyright 91/07/23 Chris Lewis - R3 PL3"
  511.   
  512.   /*    Configuration parameters:
  513.    */
  514. ***************
  515. *** 47,55 ****
  516.         compiled font width table.  HEADERSIZE 0 is the correct definition
  517.         for Xenix and most System V [o]troffs.  HEADERSIZE=32 works for Ultrix
  518.         (except RISC, see below).  HEADERSIZE=32 works properly for most Suns.
  519. -     - If COFF is defined instead, use a COFF header on the beginning of
  520. -       the file.  I personally know of no machine that supports these, tho,
  521. -       there's unconfirmed rumours that Apollo systems might.
  522.       - If neither are defined, use a BSD/V7 style a.out.h header, this
  523.         is appropriate for V7 and BSD troffs
  524.       - If you are running RISC/Ultrix (Mips box? from DEC) define
  525. --- 47,52 ----
  526. ***************
  527. *** 65,72 ****
  528.    */
  529.   
  530.   #define    HEADERSIZE 0    /* size of header in bytes */
  531. - #undef    COFF        /* systems using COFF headers - See TROUBLE file
  532. -                about Apollos */
  533.   #undef    ASCIIWIDTHS    /* For RISC/Ultrix */
  534.   
  535.   /* What do your CAT codes look like?
  536. --- 62,67 ----
  537. ***************
  538. *** 100,106 ****
  539.    */
  540.   #undef    NOCONTROLD
  541.   
  542. ! /*    define if you don't want your Postscript printer talking to you */
  543.   #undef    NOCHATTER
  544.   
  545.   /*    The only advantage to commenting-out one of these is to make the
  546. --- 95,102 ----
  547.    */
  548.   #undef    NOCONTROLD
  549.   
  550. ! /*    define if you don't want your Postscript printer talking to you.
  551. !     OR, if you're trying to drive xtroff patch level 9 or less. */
  552.   #undef    NOCHATTER
  553.   
  554.   /*    The only advantage to commenting-out one of these is to make the
  555. Index: ./INSTALL
  556. *** /tmp/PATCHold/./INSTALL    Sat Jul 27 12:47:01 1991
  557. --- ./INSTALL    Sat Jul 27 12:47:04 1991
  558. ***************
  559. *** 1,5 ****
  560.           Psroff 3.0 Installation Instructions
  561. !             2.12 91/04/02
  562.   
  563.   Please see the TROUBLE file if you have difficulties.
  564.   The README file does provide a bit more background on some
  565. --- 1,5 ----
  566.           Psroff 3.0 Installation Instructions
  567. !             2.14 91/07/20
  568.   
  569.   Please see the TROUBLE file if you have difficulties.
  570.   The README file does provide a bit more background on some
  571. ***************
  572. *** 8,15 ****
  573.   installation.  After building and installing psroff, you
  574.   will want to read the MISC file for further tuning.
  575.   
  576.   I suggest you print this file and read it while you work through
  577. ! your configuration.
  578.   
  579.       - Files that you will have to edit for proper configuration
  580.         of psroff:
  581. --- 8,23 ----
  582.   installation.  After building and installing psroff, you
  583.   will want to read the MISC file for further tuning.
  584.   
  585. + This documentation is rather daunting I know.  However, there
  586. + are literally thousands of different ways to configure psroff,
  587. + depending on your version of UNIX, type of printer, display
  588. + configuration, font sources and so-on.  It's harder to install
  589. + psroff than most other similar packages, but psroff does more than
  590. + all the rest of them combined.  I think you'll consider the effort
  591. + worth it.
  592.   I suggest you print this file and read it while you work through
  593. ! your configuration.  Work slowly and step-by-step.
  594.   
  595.       - Files that you will have to edit for proper configuration
  596.         of psroff:
  597. ***************
  598. *** 21,27 ****
  599.         Important note: as shipped, both defs.h and Makefile are
  600.         configured for RS/6000 and most (if not all) stock System V's
  601.         with the exception of MANDIR and MANEXT in Makefile.
  602. !       psrofflib.S MUST be changed for each system in the field.
  603.   
  604.       - Other files that may need to be customized for your needs:
  605.   
  606. --- 29,36 ----
  607.         Important note: as shipped, both defs.h and Makefile are
  608.         configured for RS/6000 and most (if not all) stock System V's
  609.         with the exception of MANDIR and MANEXT in Makefile.
  610. !       psrofflib.S MUST be changed for each system in the field to
  611. !       define your printer spooler.
  612.   
  613.       - Other files that may need to be customized for your needs:
  614.   
  615. ***************
  616. *** 33,61 ****
  617.   
  618.       - If you have problems with the makefiles, you'll have to
  619.         find a System 5 make.  Many systems have them squirrelled
  620. !       away in odd places.  Eg: Ultrix: /usr/bin/s5make
  621.   
  622. !       If you have to do this, this should probably make things
  623. !       work:
  624. !         MAKE=<your System V make> export MAKE
  625. !         <your System V make> <make arguments>
  626. !       Eg:
  627. !         MAKE=/usr/bin/s5make export MAKE
  628. !         $(MAKE)
  629.   
  630.       - If you're building for ditroff input only, ignore the discussions
  631.         on HEADERSIZE and trofftype.
  632.   
  633. -     - Ditroff input only: copy the appropriate
  634. -       font width tables (try widthps/[A-Z]* for testing) to
  635. -       /usr/lib/font/dev<type> and run makedev or mkfont on them.
  636.       - NOTE: You may wish to try running "make check" at this
  637.         point, it should be able to find out the correct "HEADERSIZE"
  638.         and "trofftype" setting so you don't have to guess later on.
  639.         In any event, if you have problems and wish to ask me for help,
  640.         I will be requiring that you mail me a copy of the first
  641. !       50 lines or so of "make check" output.
  642.   
  643.         If you're running on RISC Ultrix ignore any HEADERSIZE or
  644.         trofftype messages.  The reason for this is that RISC
  645. --- 42,66 ----
  646.   
  647.       - If you have problems with the makefiles, you'll have to
  648.         find a System 5 make.  Many systems have them squirrelled
  649. !       away in odd places.
  650.   
  651. !       On Ultrix, for a successful build, you MUST modify the Makefile
  652. !       and set SHELL to /usr/bin/sh5 (or ksh), and MAKE to /usr/bin/s5make.
  653. !       Further, where the psroff instructions refer to "make", you must
  654. !       always type "s5make" instead.  If you don't do this, the Makefiles
  655. !       will abort with "Error n" without any other diagnostic information.
  656. !       (Tested on RISC/Ultrix 4.2)
  657.   
  658.       - If you're building for ditroff input only, ignore the discussions
  659.         on HEADERSIZE and trofftype.
  660.   
  661.       - NOTE: You may wish to try running "make check" at this
  662.         point, it should be able to find out the correct "HEADERSIZE"
  663.         and "trofftype" setting so you don't have to guess later on.
  664.         In any event, if you have problems and wish to ask me for help,
  665.         I will be requiring that you mail me a copy of the first
  666. !       50 lines or so of "make check" output.  (But wait for me to
  667. !       ask for it)
  668.   
  669.         If you're running on RISC Ultrix ignore any HEADERSIZE or
  670.         trofftype messages.  The reason for this is that RISC
  671. ***************
  672. *** 71,76 ****
  673. --- 76,86 ----
  674.         says something nasty about non-numeric character in file,
  675.         "may be non-ASCII".
  676.   
  677. +       [By the way, according to the Ultrix 4.1 release notes,
  678. +       troff is unsupported.  I've just put in a bug report,
  679. +       plus an offer of correctly formatted width tables, so we'll
  680. +       see if we can get DEC to put it in as a update]
  681.         Apollos need the -F trofftype variant.  Their HEADERSIZE
  682.         calculation is strange.  You should set HEADERSIZE
  683.         to 0, and proceed with these instructions, but do NOT
  684. ***************
  685. *** 109,115 ****
  686.   
  687.       - If you are using the supplied width tables (widths/widthps),
  688.         all is fine.  But, if you're going to be driving another
  689. !       package (eg: jetroff, tpscript, psdit, xtroff etc.) I suggest
  690.         you find the ditroff-format ASCII width tables (DESC, R, I,
  691.         S etc.), copy them to the appropriate widths/width<xx> area,
  692.         modify psrofflib.S to know how to use these width tables,
  693. --- 119,125 ----
  694.   
  695.       - If you are using the supplied width tables (widths/widthps),
  696.         all is fine.  But, if you're going to be driving another
  697. !       package (eg: jetroff, tpscript, psdit etc.) I suggest
  698.         you find the ditroff-format ASCII width tables (DESC, R, I,
  699.         S etc.), copy them to the appropriate widths/width<xx> area,
  700.         modify psrofflib.S to know how to use these width tables,
  701. ***************
  702. *** 116,126 ****
  703.         and possibly create *.fonts and *.lib files.  psrofflib.S
  704.         has copious comments on how to configure psroff.
  705.   
  706.         psdit, tpscript, xtroff, Pageview, Display Postscript and
  707.         xproof work reasonably well using the Postscript widths in
  708.         widthps.
  709.   
  710. !     - edit Makefile and change whatever you need to.
  711.   
  712.       - edit defs.h and define either BSD or ATT.  A few other options will
  713.         pertain to you.  Take special note of HEADERSIZE.  Take a look
  714. --- 126,141 ----
  715.         and possibly create *.fonts and *.lib files.  psrofflib.S
  716.         has copious comments on how to configure psroff.
  717.   
  718. +       xtroff is supposedly already set - it should work
  719. +       "out-of-the-box".  Patch level 10 for xtroff is preferred.
  720. +       [Contact moraes@cs.toronto.edu for more details]
  721.         psdit, tpscript, xtroff, Pageview, Display Postscript and
  722.         xproof work reasonably well using the Postscript widths in
  723.         widthps.
  724.   
  725. !     - edit Makefile and change whatever you need to.  Everything
  726. !       is copiously documented there.
  727.   
  728.       - edit defs.h and define either BSD or ATT.  A few other options will
  729.         pertain to you.  Take special note of HEADERSIZE.  Take a look
  730. ***************
  731. *** 175,185 ****
  732.         Take special note of -T/-F handling for troff (trofftype) -
  733.         check out your troff manual page!  Suns and Ultrix want
  734.         trofftype='-F/usr/lib/font/$width/ftXX'.  If you're running
  735. !       postscript, you may want to eventually add the -Z option
  736.         to the entry to make your printer REALLY run fast.
  737.   
  738.       - If you're going to be driving HP Laserjets without a Postscript
  739. !       cartridge:
  740.   
  741.         If you have PK fonts from TeX, ensure that PKFONTS
  742.         is set reasonably in the Makefile.  type:
  743. --- 190,207 ----
  744.         Take special note of -T/-F handling for troff (trofftype) -
  745.         check out your troff manual page!  Suns and Ultrix want
  746.         trofftype='-F/usr/lib/font/$width/ftXX'.  If you're running
  747. !       postscript or lj3, you may want to eventually add the -Z option
  748.         to the entry to make your printer REALLY run fast.
  749.   
  750. +       Also, take special note of the "lparg" setting for the
  751. +       entry you want to use - you *will* have to change lparg -
  752. +       usually to an invocation of "lp" (System Vish) or "lpr"
  753. +       (BSD/Sun/Ultrix etc.).  Consult your print spooler manual
  754. +       pages to make sure *all* of the arguments are okay.
  755.       - If you're going to be driving HP Laserjets without a Postscript
  756. !       cartridge: [you can skip this step until you've tested
  757. !       psroff, and then come back to it]
  758.   
  759.         If you have PK fonts from TeX, ensure that PKFONTS
  760.         is set reasonably in the Makefile.  type:
  761. ***************
  762. *** 244,252 ****
  763.         please run "make test", fill in the blanks, and mail me the
  764.         result.  (See the README for the address).  The test page
  765.         exercises all R & S troff characters at 10 point, and displays
  766. !       a few other characters at different point sizes.  If you don't
  767. !       want to run psroff itself (eg: you've got troff2ps in a printer
  768. !       daemon), type:
  769.   
  770.           make TEST
  771.           tbl TEST | troff -t -T<whatever> | <troff2ps server>
  772. --- 266,279 ----
  773.         please run "make test", fill in the blanks, and mail me the
  774.         result.  (See the README for the address).  The test page
  775.         exercises all R & S troff characters at 10 point, and displays
  776. !       a few other characters at different point sizes.
  777. !       
  778. !       If "make test" doesn't generate anything, consult the TROUBLE
  779. !       file.  If it says "can't find rlp" or some such, you didn't
  780. !       change the psrofflib file's lparg value for your configuration.
  781. !       If you don't want to run psroff itself (eg: you've got troff2ps
  782. !       in a printer daemon), type:
  783.   
  784.           make TEST
  785.           tbl TEST | troff -t -T<whatever> | <troff2ps server>
  786. ***************
  787. *** 261,267 ****
  788.         If you're running on Laserjets, and you're just using my
  789.         fonts, you'll notice that the lines supposed to be 16 point
  790.         won't be, and the "6" will be missing in italic and bold.
  791. !       Get some decent fonts.
  792.   
  793.         For ditroff input, "make dittest" and "make DITTEST" correspond
  794.         to "make test" and "make TEST".
  795. --- 288,294 ----
  796.         If you're running on Laserjets, and you're just using my
  797.         fonts, you'll notice that the lines supposed to be 16 point
  798.         won't be, and the "6" will be missing in italic and bold.
  799. !       Get some decent fonts (see LASERFONTS file).
  800.   
  801.         For ditroff input, "make dittest" and "make DITTEST" correspond
  802.         to "make test" and "make TEST".
  803. Index: ./TROUBLE
  804. *** /tmp/PATCHold/./TROUBLE    Sat Jul 27 12:47:20 1991
  805. --- ./TROUBLE    Sat Jul 27 12:47:23 1991
  806. ***************
  807. *** 1,4 ****
  808. !         Psroff 3.0 Trouble Shooting.... 2.13 91/05/10
  809.   
  810.   (psroff 1.0 users can use this to a certain extent.  This is relatively
  811.   unchanged from Psroff 2.0 except for the ditroff input capability)
  812. --- 1,4 ----
  813. !         Psroff 3.0 Trouble Shooting.... 2.15 91/07/20
  814.   
  815.   (psroff 1.0 users can use this to a certain extent.  This is relatively
  816.   unchanged from Psroff 2.0 except for the ditroff input capability)
  817. ***************
  818. *** 12,18 ****
  819.       make installwidths
  820.   
  821.   This is assuming that you got clean compiles (you should be able
  822. ! to fix your own compile problems).
  823.   
  824.   Unless specified, the remarks in this file pertain to CAT troff input,
  825.   not ditroff input.
  826. --- 12,21 ----
  827.       make installwidths
  828.   
  829.   This is assuming that you got clean compiles (you should be able
  830. ! to fix your own compile problems).  However, Ultrix is sufficiently
  831. ! odd to warrant mention here: if your makes blow up without much
  832. ! in the way of diagnostics, refer to the INSTALL file regarding
  833. ! the setting of SHELL, MAKE and use of "s5make" instead of "make".
  834.   
  835.   Unless specified, the remarks in this file pertain to CAT troff input,
  836.   not ditroff input.
  837. ***************
  838. *** 34,59 ****
  839.       - "width tables".  psroff's install generates CAT compatible width
  840.         tables and installs them into $FONTDIR/<widthname>/ft*, where
  841.         "widthname" is a token denoting the "set" of widths.  Postscript
  842. !       printers (or ditroff driving postscript) use ps.  These are
  843. !       the only widths I distribute directly.  The Makefile will
  844.         install widths into widthname "lj" if you have laserjet fonts
  845.         installed in the right place.
  846.   
  847.         With ditroff input, these width tables are only useful for
  848. !       the optimizer.
  849.   
  850.       - "width option", most troff's support a way of telling it where
  851.         to look for the width tables.  Some support -T<widthname> (Xenix
  852. !       f'r instance).  Others (Sun, Ultrix, most BSD's) specifically,
  853. !       need "-F<directory>/<widthname>/ftXX".  Check your
  854. !       man pages for troff.  This is should be specified by "trofftype"
  855. !       in lib/psroff.lib.S.  If you have a "-T" version of troff,
  856. !       FONTDIR *must* be /usr/lib/font.  If your troff supports neither
  857. !       -T or -F (some real old versions of Xenix, V7 perchance), you
  858. !       will have to install the width tables in FONTDIR directly and
  859. !       specify trofftype as "".  Which will also mean that you can
  860. !       only support one set of width tables.  (Unless you make binary
  861. !       patches to your troff)
  862.   
  863.         In ditroff input, the trofftype is forced to be -T$width.
  864.   
  865. --- 37,65 ----
  866.       - "width tables".  psroff's install generates CAT compatible width
  867.         tables and installs them into $FONTDIR/<widthname>/ft*, where
  868.         "widthname" is a token denoting the "set" of widths.  Postscript
  869. !       printers (or ditroff driving postscript) use ps.  These and lj3
  870. !       are the only widths I distribute directly.  The Makefile will
  871.         install widths into widthname "lj" if you have laserjet fonts
  872.         installed in the right place.
  873.   
  874.         With ditroff input, these width tables are only useful for
  875. !       the optimizer.  Psroff's makefiles contain hooks for running
  876. !       the appropriate width table compiler and installing them.
  877.   
  878.       - "width option", most troff's support a way of telling it where
  879.         to look for the width tables.  Some support -T<widthname> (Xenix
  880. !       f'r instance).  Others (Sun, Ultrix, most BSD's) need
  881. !       "-F<directory>/<widthname>/ftXX".  Check your man pages for troff.
  882. !       Note, however, that some manual page sets do not mention either
  883. !       of these options - in that case it's probably -F.
  884. !       
  885. !       This is should be specified by "trofftype" in lib/psroff.lib.S.
  886. !       If you have a "-T" version of troff, FONTDIR *must* be /usr/lib/font.
  887. !       If your troff supports neither -T or -F (some real old versions of
  888. !       Xenix, V7 perchance), you will have to install the width tables in
  889. !       FONTDIR directly and specify trofftype as "".  Which will also mean
  890. !       that you can only support one set of width tables.  (Unless you make
  891. !       binary patches to your troff)
  892.   
  893.         In ditroff input, the trofftype is forced to be -T$width.
  894.   
  895. ***************
  896. *** 142,153 ****
  897.   
  898.       This *assumes* System V compatible MAKE.  If the makefile blows
  899.       (syntax errors in particular), search your system for a System V
  900. !     compatible version of make.  Ultrix: /usr/bin/s5make.  Gnumake should
  901. !     work fine.  Most Suns need a change here too.  You will probably
  902. !     have to:
  903. !     MAKE=<system 5 make> export MAKE
  904. !     <system 5 make>
  905. !     to build everything.
  906.   
  907.   Psroff seems to work, but nothing prints:
  908.   
  909. --- 148,159 ----
  910.   
  911.       This *assumes* System V compatible MAKE.  If the makefile blows
  912.       (syntax errors in particular), search your system for a System V
  913. !     compatible version of make.  Ultrix: /usr/bin/s5make.  Gnumake
  914. !     works fine.  Most Suns need a change here too.  If you do
  915. !     find one, follow the instructions for Ultrix with the name
  916. !     of the shell and makefile you find.  If you don't find one,
  917. !     consult the "includeless make" section in MISC - the workarounds
  918. !     may be sufficient.
  919.   
  920.   Psroff seems to work, but nothing prints:
  921.   
  922. ***************
  923. *** 206,211 ****
  924. --- 212,221 ----
  925.       Chances are your HP Laserjet clone doesn't support incremental
  926.       downloading.  Try undefining INCR and rebuilding.
  927.   
  928. + NEW INSTALL: make test generates pages of scramble on Postscript.
  929. +     Probably HEADERSIZE is wrong, or ASCIIWIDTHS needs to be set.
  930.   NEW INSTALL: the "6" is missing in the test page on the "16 point italic"
  931.   and "16 point bold":
  932.   
  933. ***************
  934. *** 215,227 ****
  935.       that it had previously incrementally downloaded.
  936.   
  937.       Get more fonts and make sure that lj.fonts is up-to-date with
  938. !     the font set you have.
  939.   
  940.   Both NEW and OLD INSTALLS: truncated or possibly completely missing
  941.       printjobs in Postscript.  Probably the printer has seen a syntax
  942.       error or some such.  If you start up a "cat" from the device
  943.       the printer is connected to, you can see the printer's error
  944. !     messages.
  945.   
  946.   WORKING INSTALL (eg: it's worked fine before): same symptoms as previous.
  947.   
  948. --- 225,239 ----
  949.       that it had previously incrementally downloaded.
  950.   
  951.       Get more fonts and make sure that lj.fonts is up-to-date with
  952. !     the font set you have.   LJIII and LASERFONTS discusses font
  953. !     sources.
  954.   
  955.   Both NEW and OLD INSTALLS: truncated or possibly completely missing
  956.       printjobs in Postscript.  Probably the printer has seen a syntax
  957.       error or some such.  If you start up a "cat" from the device
  958.       the printer is connected to, you can see the printer's error
  959. !     messages.  The cause for this is usually seen if you run
  960. !     psroff debug.
  961.   
  962.   WORKING INSTALL (eg: it's worked fine before): same symptoms as previous.
  963.   
  964. ***************
  965. *** 376,382 ****
  966.       Some ditroff's have different meanings for the same character
  967.       spec.  ("@" in some ditroff drivers is a different character)
  968.   
  969. ! My ditroff driver dies with errors about lines starting with "#":
  970.   
  971.       define NOCHATTER.
  972.   
  973. --- 388,395 ----
  974.       Some ditroff's have different meanings for the same character
  975.       spec.  ("@" in some ditroff drivers is a different character)
  976.   
  977. ! My ditroff driver dies with errors about lines starting with "#"
  978. ! (ie: xtroff, patch level < 10):
  979.   
  980.       define NOCHATTER.
  981.   
  982. ***************
  983. *** 387,393 ****
  984.   I get postscript printer errors on last page, or last page missing:
  985.   
  986.       Have you got a DEC LN03 or some other printer that doesn't
  987. !     like trailing control-D's?  Define "NOCONTROLD" in defs.h
  988.   
  989.   Ditroff driver doesn't work/gives errors:
  990.   
  991. --- 400,407 ----
  992.   I get postscript printer errors on last page, or last page missing:
  993.   
  994.       Have you got a DEC LN03 or some other printer that doesn't
  995. !     like trailing control-D's?  Try adding -S to t2arg in psrofflib.
  996. !     (this is typical of LAN-connected printers)
  997.   
  998.   Ditroff driver doesn't work/gives errors:
  999.   
  1000. ***************
  1001. *** 433,439 ****
  1002.         gotten any additional fonts, "make test" will show an example
  1003.         of this problem, in that the line supposedly 16 point will
  1004.         be the wrong size and some characters will be missing (italic
  1005. !       and bold "6")
  1006.   
  1007.   Laserjet: lousey/wrong/missing characters (non-S font):
  1008.   
  1009. --- 447,453 ----
  1010.         gotten any additional fonts, "make test" will show an example
  1011.         of this problem, in that the line supposedly 16 point will
  1012.         be the wrong size and some characters will be missing (italic
  1013. !       and bold "6").  See LASERFONTS/LJIII file.
  1014.   
  1015.   Laserjet: lousey/wrong/missing characters (non-S font):
  1016.   
  1017. ***************
  1018. *** 489,494 ****
  1019. --- 503,510 ----
  1020.       If you see problems after running the test sheet, here are a few
  1021.       suggestions:
  1022.   
  1023. +     - No output, complaint about "rlp not found" - you've not updated
  1024. +       the lparg value in the psrofflib entry you're using.
  1025.       - Laserjet output: *badly* splattered, most characters unrecognizeable
  1026.         and probably more than one or two pages: If you're not using a Hewlett
  1027.         Packard Laserjet, try undefining INCR and rebuilding.  Some clones won't
  1028. Index: ./LJIII
  1029. *** /tmp/PATCHold/./LJIII    Sat Jul 27 12:47:41 1991
  1030. --- ./LJIII    Sat Jul 27 12:47:42 1991
  1031. ***************
  1032. *** 1,4 ****
  1033. !         PSROFF RELEASE 3.0 LJIII 1.2 91/04/05
  1034.   
  1035.               Feb 19, 1991
  1036.               Chris Lewis
  1037. --- 1,4 ----
  1038. !         PSROFF RELEASE 3.0 LJIII 1.3 91/07/20
  1039.   
  1040.               Feb 19, 1991
  1041.               Chris Lewis
  1042. ***************
  1043. *** 24,33 ****
  1044.   that the printer contains scalable typefaces.  Thus, psroff can treat
  1045.   it almost like a Postscript printer, and not download at all.  The
  1046.   other being that these scalable typefaces and an IBM PC program
  1047. ! to generate SFP's (HP Soft font format) at any given size is being
  1048. ! sold as a quite inexpensive product.  It allows you to buy the
  1049. ! HPLJ III fonts and build a complete set of softfonts for your older
  1050. ! printer.
  1051.   
  1052.   Further, the "DeskTop" symbolset available on LJIII's is a better match
  1053.   to what CAT Troff needs, so this is used instead of Roman-8 for the LJIII.
  1054. --- 24,33 ----
  1055.   that the printer contains scalable typefaces.  Thus, psroff can treat
  1056.   it almost like a Postscript printer, and not download at all.  The
  1057.   other being that these scalable typefaces and an IBM PC program
  1058. ! (Type Director) to generate SFP's (HP Soft font format) at any given
  1059. ! size is being sold as a quite inexpensive product.  It allows you to
  1060. ! buy the HPLJ III fonts and build a complete set of softfonts for your
  1061. ! older printer.
  1062.   
  1063.   Further, the "DeskTop" symbolset available on LJIII's is a better match
  1064.   to what CAT Troff needs, so this is used instead of Roman-8 for the LJIII.
  1065. ***************
  1066. *** 58,64 ****
  1067.   from HP.  N.K. Krishnan (of HP, krishnan@iag.hp.com, did a lot of the hard
  1068.   work) and I could probably never reproduce the same set of steps again.
  1069.   Perhaps the simplest thing to do would be to copy an existing set and manually
  1070. ! tweak them using the test sheet as a guide.
  1071.   
  1072.   Zapf-Dingbats Cartridge/S2 font:
  1073.   
  1074. --- 58,66 ----
  1075.   from HP.  N.K. Krishnan (of HP, krishnan@iag.hp.com, did a lot of the hard
  1076.   work) and I could probably never reproduce the same set of steps again.
  1077.   Perhaps the simplest thing to do would be to copy an existing set and manually
  1078. ! tweak them using the test sheet as a guide.  OR, use "Type Director" to
  1079. ! create a copy of the font at a given size, and run that thru the SFP to
  1080. ! width table conversion process.
  1081.   
  1082.   Zapf-Dingbats Cartridge/S2 font:
  1083.   
  1084. ***************
  1085. *** 80,87 ****
  1086.   
  1087.   Using Scaled fonts on non-LJIII's:
  1088.   
  1089. ! If you obtain the scalable typefaces and the PC program, you can
  1090. ! use the program to generate SFP's for each typeface at the CAT
  1091.   troff sizes.  You will want to build these fonts as Roman-8
  1092.   symbolsets.  Then, copy these files from your PC to your UNIX system
  1093.   that's running psroff.  (Don't forget to copy the files in *binary*
  1094. --- 82,89 ----
  1095.   
  1096.   Using Scaled fonts on non-LJIII's:
  1097.   
  1098. ! If you obtain the scalable typefaces and "Type Director" for your PC,
  1099. ! you can use the program to generate SFP's for each typeface at the CAT
  1100.   troff sizes.  You will want to build these fonts as Roman-8
  1101.   symbolsets.  Then, copy these files from your PC to your UNIX system
  1102.   that's running psroff.  (Don't forget to copy the files in *binary*
  1103. ***************
  1104. *** 89,91 ****
  1105. --- 91,99 ----
  1106.   and install these fonts and the new width tables etc.  Without some
  1107.   work you will not be able to use a MATH-8 font produced in this way
  1108.   without borrowing some of the overrides from lj3.fonts into lj.fonts.
  1109. + According to an HP Catalog, the part number for "Type Director 2.0"
  1110. + packaged with 4 Times, 4 Univers, "Brush", "Dom Casual", "Park Avenue"
  1111. + and "Uncial" typefaces is C2052B #ABA (3.5" floppy) or C2054B #ABA
  1112. + (5.25" floppy).  There are quite a number of other scalable fonts
  1113. + available on floppy.  Including Zapf Dingbats.
  1114. Index: ./Makefile
  1115. *** /tmp/PATCHold/./Makefile    Sat Jul 27 12:47:54 1991
  1116. --- ./Makefile    Sat Jul 27 12:47:55 1991
  1117. ***************
  1118. *** 4,24 ****
  1119.   #    See the LICENSE file for a full description of the restrictions
  1120.   #    under which this software is provided.
  1121.   #
  1122. - #    This makefile requires System V compatible "make".  *Not* V7
  1123. - #    vanilla BSD or Ultrix or Sun.  Most modern systems will have
  1124. - #    a copy of the SV one somewhere (eg: .../s5bin/make).
  1125. - #
  1126.   #    Function: Upper level makefile; configuration options.
  1127.   #
  1128.   #
  1129. ! #ident  "@(#)Makefile: 2.16 Copyright 91/04/02 17:02:22 Chris Lewis"
  1130.   
  1131. ! #    Use s5make on Ultrix!
  1132.   MAKE    = make
  1133.   
  1134.   #    Only uncomment the following braindamage if your MAKE doesn't
  1135. ! #    understand "include".
  1136. ! #MAKE    = sed -e '/include/r ../makeincl' -e '/include/d' Makefile | make -f - $(MAKEFLAGS)
  1137.   
  1138.   #    Set to where you want the user-interfaces to go.  /usr/lbin
  1139.   #    is also common.  /usr/bin if you don't have a specific place
  1140. --- 4,27 ----
  1141.   #    See the LICENSE file for a full description of the restrictions
  1142.   #    under which this software is provided.
  1143.   #
  1144.   #    Function: Upper level makefile; configuration options.
  1145.   #
  1146.   #
  1147. ! #ident  "@(#)Makefile: 2.20 Copyright 91/07/24 23:12:28 Chris Lewis"
  1148.   
  1149. ! #    If you're not sure whether you have a System V make, leave
  1150. ! #    this alone, and run the make anyways.  If it dies horribly
  1151. ! #    in the subdirectories with messages like "don't know how to make xxxx",
  1152. ! #    consult the MISC file under "Broken Makes" and follow the instructions
  1153. ! #    there.
  1154. ! #
  1155. ! #    Use s5make on Ultrix, and always invoke as "s5make".
  1156.   MAKE    = make
  1157.   
  1158.   #    Only uncomment the following braindamage if your MAKE doesn't
  1159. ! #    understand "include".  These are very rare and indicate you don't
  1160. ! #    have a System V make - see the "Broken Makes" section in MISC.
  1161. ! #MAKE    = sed -e '/^include/r ../makeincl' -e '/include/d' Makefile | make -f -
  1162.   
  1163.   #    Set to where you want the user-interfaces to go.  /usr/lbin
  1164.   #    is also common.  /usr/bin if you don't have a specific place
  1165. ***************
  1166. *** 25,31 ****
  1167.   #    for non-standard programs.
  1168.   BINDIR    = /usr/local/bin
  1169.   
  1170. ! #    Testing type (default postscript (ps)):
  1171.   #    Use lj for laserjet.
  1172.   TTYPE    = ps
  1173.   
  1174. --- 28,34 ----
  1175.   #    for non-standard programs.
  1176.   BINDIR    = /usr/local/bin
  1177.   
  1178. ! #    Testing type (default: C/A/T troff driving postscript (ps)):
  1179.   #    Use lj for laserjet.
  1180.   TTYPE    = ps
  1181.   
  1182. ***************
  1183. *** 66,73 ****
  1184.   
  1185.   #    Bourne shell.  *All* Bourne shells with the exception of extremely
  1186.   #    braindamaged ones (such as Ultrix or vanilla BSD) will work fine.
  1187. ! #    Ultrix/Dynix may need the ... s5bin/sh one.  Korn or bash
  1188. ! #    *should* work just fine, but I've never tested 'em.
  1189.   #
  1190.   #    This is also here for make, but if you have SHELL defined in your
  1191.   #    *own* environment, you can't trust this to work anyways.
  1192. --- 69,77 ----
  1193.   
  1194.   #    Bourne shell.  *All* Bourne shells with the exception of extremely
  1195.   #    braindamaged ones (such as Ultrix or vanilla BSD) will work fine.
  1196. ! #    Ultrix/Dynix may need the ... s5bin/sh one.  ksh and bash
  1197. ! #    *should* work just fine, but I've never tested 'em.  /usr/bin/sh5
  1198. ! #    should be used on Ultrix.
  1199.   #
  1200.   #    This is also here for make, but if you have SHELL defined in your
  1201.   #    *own* environment, you can't trust this to work anyways.
  1202. ***************
  1203. *** 102,108 ****
  1204.   COMPILE    =
  1205.   
  1206.   #    Compile flags needed to compile things on your machine.
  1207. ! #    Usually just -O.  May need gcc stuff.
  1208.   #
  1209.   CCFLAGS = -O
  1210.   
  1211. --- 106,113 ----
  1212.   COMPILE    =
  1213.   
  1214.   #    Compile flags needed to compile things on your machine.
  1215. ! #    Usually just -O.  May need to tell gcc that this isn't
  1216. ! #    Posix compliant code.
  1217.   #
  1218.   CCFLAGS = -O
  1219.   
  1220. ***************
  1221. *** 111,117 ****
  1222.   
  1223.   #    Do not comment any of the following out.  If you aren't going
  1224.   #    to use TeX PK fonts with HP Laserjet output, just NEVER execute
  1225. ! #    makebuildljfonts.
  1226.   #
  1227.   #    If you have Rick Richardson's sfp2pk, set it's full path here:
  1228.   #    Only of interest for LJ/buildfonts.  If you don't have sfp2pk,
  1229. --- 116,122 ----
  1230.   
  1231.   #    Do not comment any of the following out.  If you aren't going
  1232.   #    to use TeX PK fonts with HP Laserjet output, just NEVER execute
  1233. ! #    make buildljfonts.
  1234.   #
  1235.   #    If you have Rick Richardson's sfp2pk, set it's full path here:
  1236.   #    Only of interest for LJ/buildfonts.  If you don't have sfp2pk,
  1237. ***************
  1238. *** 188,194 ****
  1239.   CFLAGS    = $(DEFINES)
  1240.   
  1241.   all:    troff2ps subst.done makeincl psroff README TROUBLE LASERFONTS \
  1242. !     MISC DITROFF INSTALL LICENSE LJIII submakes
  1243.   
  1244.   subst.done:    sedscript
  1245.       rm -f psroff makeincl
  1246. --- 193,199 ----
  1247.   CFLAGS    = $(DEFINES)
  1248.   
  1249.   all:    troff2ps subst.done makeincl psroff README TROUBLE LASERFONTS \
  1250. !     MISC DITROFF INSTALL LICENSE LJIII zap submakes
  1251.   
  1252.   subst.done:    sedscript
  1253.       rm -f psroff makeincl
  1254. ***************
  1255. *** 239,246 ****
  1256.   
  1257.   buildljfonts:    unpackljfonts
  1258.       make troff2ps makeincl
  1259. !     cd lib ; make lj.fonts lj.lib
  1260. !     cd utils ; make buildfonts
  1261.   
  1262.   installljfonts:
  1263.       test -d $(LIBDIR) || mkdir $(LIBDIR)
  1264. --- 244,251 ----
  1265.   
  1266.   buildljfonts:    unpackljfonts
  1267.       make troff2ps makeincl
  1268. !     cd lib ; $(MAKE) lj.fonts lj.lib
  1269. !     cd utils ; $(MAKE) buildfonts
  1270.   
  1271.   installljfonts:
  1272.       test -d $(LIBDIR) || mkdir $(LIBDIR)
  1273. ***************
  1274. *** 264,271 ****
  1275.   
  1276.   register:
  1277.       make troff2ps makeincl
  1278. !     cd lib ; make lj.fonts lj.lib
  1279. !     cd widths ; make ljwidths widths
  1280.       @echo "Now su to root and type 'make installwidths'"
  1281.   
  1282.   installwidths:    makeincl
  1283. --- 269,276 ----
  1284.   
  1285.   register:
  1286.       make troff2ps makeincl
  1287. !     cd lib ; $(MAKE) lj.fonts lj.lib
  1288. !     cd widths ; $(MAKE) ljwidths widths
  1289.       @echo "Now su to root and type 'make installwidths'"
  1290.   
  1291.   installwidths:    makeincl
  1292. ***************
  1293. *** 341,347 ****
  1294.   #    Yes, this is a little wierd, but in this way I can figure
  1295.   #    out what you are...
  1296.   TEST:    Makefile defs.h tests/testtab.m tests/exttab.m makeincl
  1297. !     cd lib ; make
  1298.       rm -f TEST1 TEST2
  1299.       PATH=.:$(LIBDIR):$$PATH \
  1300.           troff2ps -V | sed -e 's/^.*- \(.*\)/.ds 2v "\1/' > TEST1
  1301. --- 346,352 ----
  1302.   #    Yes, this is a little wierd, but in this way I can figure
  1303.   #    out what you are...
  1304.   TEST:    Makefile defs.h tests/testtab.m tests/exttab.m makeincl
  1305. !     cd lib ; $(MAKE)
  1306.       rm -f TEST1 TEST2
  1307.       PATH=.:$(LIBDIR):$$PATH \
  1308.           troff2ps -V | sed -e 's/^.*- \(.*\)/.ds 2v "\1/' > TEST1
  1309. Index: ./audit.S
  1310. *** /tmp/PATCHold/./audit.S    Sat Jul 27 12:48:08 1991
  1311. --- ./audit.S    Sat Jul 27 12:48:11 1991
  1312. ***************
  1313. *** 6,12 ****
  1314.   #    under which this software is provided.
  1315.   #
  1316.   #
  1317. ! #    Psroff checking script 2.9 91/03/26
  1318.   chkinst=false
  1319.   for i
  1320.   do
  1321. --- 6,12 ----
  1322.   #    under which this software is provided.
  1323.   #
  1324.   #
  1325. ! #    Psroff checking script 2.10 91/07/20
  1326.   chkinst=false
  1327.   for i
  1328.   do
  1329. ***************
  1330. *** 19,24 ****
  1331. --- 19,27 ----
  1332.           ;;
  1333.       esac
  1334.   done
  1335. + version=`sed -n \
  1336. +     -e 's/^#define[     ]*T2VERSION[     ]*"\(.*\)"*/\1/p' defs.h`
  1337. + echo "INFO: T2VERSION = $version"
  1338.   eval "`sed -n -e 's/[()]//g' \
  1339.             -e 's/^LIBDIR.*=[     ]*/LIBDIR=/p' \
  1340.             -e 's/^LJF.*=[     ]*/LJF=/p' \
  1341. Index: ./utils.c
  1342. *** /tmp/PATCHold/./utils.c    Sat Jul 27 12:48:22 1991
  1343. --- ./utils.c    Sat Jul 27 12:48:26 1991
  1344. ***************
  1345. *** 12,18 ****
  1346.   
  1347.   #ifndef    lint
  1348.   static char SCCSid[] =
  1349. !     "@(#)utils.c: 2.15 Copyright 91/05/30 01:46:27 Chris Lewis";
  1350.   #endif
  1351.   
  1352.   #ifndef    HEADERSIZE
  1353. --- 12,18 ----
  1354.   
  1355.   #ifndef    lint
  1356.   static char SCCSid[] =
  1357. !     "@(#)utils.c: 2.16 Copyright 91/07/13 03:08:46 Chris Lewis";
  1358.   #endif
  1359.   
  1360.   #ifndef    HEADERSIZE
  1361. ***************
  1362. *** 77,85 ****
  1363.           if (!(inc = fopen(token, "r"))) {
  1364.           char nbuf[512];
  1365.           if (token[0] != '/') {
  1366. !             sprintf(nbuf, "%s/%s", LIBDIR, token);
  1367.               DBP((D_SPEC, "Trying to include %s\n", nbuf));
  1368. !             inc = fopen(nbuf, "r");
  1369.           }
  1370.           }
  1371.       }
  1372. --- 77,89 ----
  1373.           if (!(inc = fopen(token, "r"))) {
  1374.           char nbuf[512];
  1375.           if (token[0] != '/') {
  1376. !             sprintf(nbuf, "%s/%s", "lib", token);
  1377.               DBP((D_SPEC, "Trying to include %s\n", nbuf));
  1378. !             if (!(inc = fopen(nbuf, "r"))) {
  1379. !             sprintf(nbuf, "%s/%s", LIBDIR, token);
  1380. !             DBP((D_SPEC, "Trying to include %s\n", nbuf));
  1381. !             inc = fopen(nbuf, "r");
  1382. !             }
  1383.           }
  1384.           }
  1385.       }
  1386. Index: ./zap
  1387. *** /tmp/PATCHold/./zap    Sat Jul 27 12:48:35 1991
  1388. --- ./zap    Sat Jul 27 12:48:38 1991
  1389. ***************
  1390. *** 0 ****
  1391. --- 1,38 ----
  1392. + :
  1393. + #1.3 91/07/23: Used to bypass broken makes - see MISC "Broken makes"
  1394. + if [ $# = 0 ]
  1395. + then
  1396. +     make sedscript makeincl
  1397. +     for i in adapters lib widths tests man
  1398. +     do
  1399. +     cd $i
  1400. +     for j in *.S
  1401. +     do
  1402. +         case $j in
  1403. +         s.*)
  1404. +             echo "Skipping $i/$j"
  1405. +             continue
  1406. +             ;;
  1407. +         '*.S')
  1408. +             echo "No .S files in $i"
  1409. +             continue
  1410. +             ;;
  1411. +         esac
  1412. +         f=`basename $j .S`
  1413. +         echo "Extracting $f with variable substitutions from $j"
  1414. +         ../sedscript < $j > $f
  1415. +         chmod 755 $f
  1416. +     done
  1417. +     echo "Finished $i - touching subst.done"
  1418. +     touch subst.done
  1419. +     cd ../
  1420. +     done
  1421. + else
  1422. +     cd widths
  1423. +     rm gfnttab.log
  1424. +     for i in width*
  1425. +     do
  1426. +     echo doing $i
  1427. +     ./gfnttab $i >> gfnttab.log
  1428. +     done
  1429. + fi
  1430. Index: ./LASERFONTS
  1431. *** /tmp/PATCHold/./LASERFONTS    Sat Jul 27 12:48:49 1991
  1432. --- ./LASERFONTS    Sat Jul 27 12:48:50 1991
  1433. ***************
  1434. *** 1,5 ****
  1435.       How to build Fonts and Width Tables for your Laserjet
  1436. !             2.3 91/04/02
  1437.   
  1438.   This readme presents a general discussion on how to build fonts
  1439.   for psroff.  The first part gives a complete description of what
  1440. --- 1,5 ----
  1441.       How to build Fonts and Width Tables for your Laserjet
  1442. !             2.4 91/07/20
  1443.   
  1444.   This readme presents a general discussion on how to build fonts
  1445.   for psroff.  The first part gives a complete description of what
  1446. ***************
  1447. *** 18,24 ****
  1448.   supply which has (nominally) MATH8 encodings.
  1449.   
  1450.   If you can obtain HP fonts, either as soft fonts on floppy or the
  1451. ! Laserjet III scalable fonts plus PC program to scale them to given
  1452.   size, you just generate the fonts you want at the CAT troff sizes
  1453.   and then copy them to FONTDIR/lib/lj, fix lj.fonts and do a
  1454.   "make register" and "make installwidths"
  1455. --- 18,24 ----
  1456.   supply which has (nominally) MATH8 encodings.
  1457.   
  1458.   If you can obtain HP fonts, either as soft fonts on floppy or the
  1459. ! Laserjet III scalable fonts plus "Type Director" to scale them to given
  1460.   size, you just generate the fonts you want at the CAT troff sizes
  1461.   and then copy them to FONTDIR/lib/lj, fix lj.fonts and do a
  1462.   "make register" and "make installwidths"
  1463.  
  1464. -- 
  1465. Chris Lewis; clewis@ferret.ocunix.on.ca; Phone: Canada 613 832-0541
  1466. Psroff 3.0 is in comp.sources.unix NOW!  YAHOO!!!!!!!
  1467. Ferret mailing list: ferret-request@ferret.ocunix.on.ca
  1468.  
  1469. exit 0 # Just in case...
  1470.