home *** CD-ROM | disk | FTP | other *** search
- From decwrl!ucbvax!husc6!ginosko!uunet!allbery Sat Aug 5 22:21:12 PDT 1989
- Article 1020 of comp.sources.misc:
- Path: decwrl!ucbvax!husc6!ginosko!uunet!allbery
- From: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
- Newsgroups: comp.sources.misc
- Subject: v07i119: Official patch to thack (troff -> ps) #3
- Message-ID: <62672@uunet.UU.NET>
- Date: 6 Aug 89 02:20:06 GMT
- Sender: allbery@uunet.UU.NET
- Reply-To: everson%compsci.bristol.ac.uk@NSFnet-Relay.AC.UK
- Lines: 213
- Approved: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
-
- Posting-number: Volume 7, Issue 119
- Submitted-by: everson%compsci.bristol.ac.uk@NSFnet-Relay.AC.UK
- Archive-name: thack.p3
-
- [Also posted to comp.bugs.misc]
-
- Most of the following patches are due to Paul Eggert
- <eggert@twinsun.com> and should help with using thack on non-Sun
- machines, also a font handling bugfix and a couple of font fixes,
- notably the long dashes which looked so bad in manual pages.
-
- Phill Everson
- Medical Imaging
- Dept Comp Sci
- University of Bristol, UK
-
- *** README.orig Sat Aug 5 17:02:43 1989
- --- README Sat Aug 5 17:06:15 1989
- ***************
- *** 1,7 ****
-
- Enclosed please find thack, a Troff C/A/T to Postscript filter, written
- by a colleague of mine, Gareth Waddell. Attempt to make output
- ! Adobe-conformant Postscript by David R. Kaelbling (drk@twinkie.Rational.COM)
-
- Sample usage of thack is, say:
-
- --- 1,8 ----
-
- Enclosed please find thack, a Troff C/A/T to Postscript filter, written
- by a colleague of mine, Gareth Waddell. Attempt to make output
- ! Adobe-conformant Postscript by David R. Kaelbling (drk@twinkie.Rational.COM).
- ! Thanks to Paul Eggert <eggert@twinsun.com> for fixing a number of bugs.
-
- Sample usage of thack is, say:
-
- ***************
- *** 20,26 ****
- on an Apple Laserwriter I and an Apple Laserwriter IINTX. It can also
- be previewed under Sunview with the Rutherford Postscript Interpreter.
-
- ! If you're using US paper check you have -GUSPAPERLENGTH set in the
- Makefile, then just make.
-
- Phill Everson
- --- 21,27 ----
- on an Apple Laserwriter I and an Apple Laserwriter IINTX. It can also
- be previewed under Sunview with the Rutherford Postscript Interpreter.
-
- ! If you're using US paper check you have -DUSPAPERLENGTH set in the
- Makefile, then just make.
-
- Phill Everson
- *** th.h.orig Sat Aug 5 16:57:13 1989
- --- th.h Sat Aug 5 16:57:17 1989
- ***************
- *** 1,4 ****
- --- 1,9 ----
- #include <stdio.h>
- + #include <sys/types.h>
- + #include <time.h>
- +
- + time_t time();
- +
- char *table[2][2]=
- { /* FONT 0,1,2,4,5,6,7 */
- " htnmlizsdbxfjuk p ; a_c`e'o r v-wq/.g ,&y % QTOHNMLRGIPCVEZDBSY",
- *** thack.c.orig Sat Aug 5 16:57:07 1989
- --- thack.c Sat Aug 5 17:01:56 1989
- ***************
- *** 5,13 ****
- int font, cfont, size, csize, tfont, tsize;
- char *pstr, *cstr();
-
- main()
- {
- ! int c, i;
- int sflag;
- int hdist, vdist;
- int esc, lead;
- --- 5,28 ----
- int font, cfont, size, csize, tfont, tsize;
- char *pstr, *cstr();
-
- + #ifndef Y_INITIAL
- + #ifndef PAGELENGTH
- + #ifdef USPAGELENGTH
- + #ifdef sun
- + #define PAGELENGTH 11.1875
- + #else
- + #define PAGELENGTH 11
- + #endif
- + #else
- + #define PAGELENGTH 11.75
- + #endif
- + #endif
- + #define Y_INITIAL ((int)(PAGELENGTH*144 + 0.5))
- + #endif
- +
- main()
- {
- ! int c;
- int sflag;
- int hdist, vdist;
- int esc, lead;
- ***************
- *** 18,28 ****
- tfont = font = 0;
- tsize = size = 12;
- esc = lead = 1;
- ! #ifdef USPAGELENGTH
- ! cy = ypos = 1584; /* represents 11 inches in troff vertical units */
- ! #else
- ! cy = ypos = 1692; /* represents 11.5 inches in troff vertical units */
- ! #endif
- cx = xpos = 0;
- sflag = 0;
- prolog();
- --- 33,39 ----
- tfont = font = 0;
- tsize = size = 12;
- esc = lead = 1;
- ! cy = ypos = Y_INITIAL;
- cx = xpos = 0;
- sflag = 0;
- prolog();
- ***************
- *** 71,77 ****
- else
- switch (c & 0x3f) {
- case 19:
- ! pstr = "\\320";
- break; /* \- */
- case 20:
- pstr = "\\256";
- --- 82,88 ----
- else
- switch (c & 0x3f) {
- case 19:
- ! pstr = "\\261";
- break; /* \- */
- case 20:
- pstr = "\\256";
- ***************
- *** 483,490 ****
- fontps(f1, ps, str)
- char *str;
- {
- ! tfont = cfont;
- ! tsize = csize;
- pstr = str;
- size = ps;
- font = f1;
- --- 494,501 ----
- fontps(f1, ps, str)
- char *str;
- {
- ! tfont = font;
- ! tsize = size;
- pstr = str;
- size = ps;
- font = f1;
- ***************
- *** 516,528 ****
-
- newpage()
- {
- ! printf("%%%%Page: %d %d\n", npages, ++npages);
- printf("save\n");
- }
-
- prolog()
- {
- ! long clock = time(0);
-
- printf("%%!PS-Adobe-\n");
- printf("%%%%Creator: (thack - contact <everson@cs.bris.ac.uk>)\n");
- --- 527,540 ----
-
- newpage()
- {
- ! ++npages;
- ! printf("%%%%Page: %d %d\n", npages, npages);
- printf("save\n");
- }
-
- prolog()
- {
- ! time_t clock = time((time_t *)0);
-
- printf("%%!PS-Adobe-\n");
- printf("%%%%Creator: (thack - contact <everson@cs.bris.ac.uk>)\n");
- ***************
- *** 530,538 ****
- printf("%%%%CreationDate: %s", asctime (localtime (&clock)));
- printf("%%%%Pages: (atend)\n");
- printf("%%%%DocumentFonts: Times-Roman Times-Italic Times-Bold \
- ! Symbol Helvetica Helvetica-Oblique Helvetica-Bold Courier \
- ! Courier-Oblique Courier-Bold Times-BoldItalic Helvetica-BoldOblique \
- ! Courier-BoldOblique\n");
- printf("%%%%EndComments\n");
-
- printf("/P {moveto show} def\n");
- --- 542,550 ----
- printf("%%%%CreationDate: %s", asctime (localtime (&clock)));
- printf("%%%%Pages: (atend)\n");
- printf("%%%%DocumentFonts: Times-Roman Times-Italic Times-Bold \
- ! Symbol Helvetica Helvetica-Oblique Helvetica-Bold Courier \
- ! Courier-Oblique Courier-Bold Times-BoldItalic Helvetica-BoldOblique \
- ! Courier-BoldOblique\n");
- printf("%%%%EndComments\n");
-
- printf("/P {moveto show} def\n");
-
-
-