everson@CompSci.Bristol.AC.UK (Phill Everson ) (07/29/89)
*** README.orig Fri Jul 28 13:48:51 1989 --- README Fri Jul 28 13:50:02 1989 *************** *** 1,6 **** Enclosed please find thack, a Troff C/A/T to Postscript filter, written ! by a colleague of mine, Gareth Waddell. Sample usage of thack is, say: --- 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: *** thack.c.orig Fri Jul 28 13:30:01 1989 --- thack.c Fri Jul 28 13:48:26 1989 *************** *** 1,5 **** --- 1,6 ---- #include "th.h" + int npages; int xpos, ypos, cx, cy; int font, cfont, size, csize, tfont, tsize; char *pstr, *cstr(); *************** *** 408,413 **** --- 409,415 ---- } if (sflag) endpage(); + epilog(); } tprint() *************** *** 514,524 **** --- 516,540 ---- 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"); + printf("%%%%Title: unknown\n"); + 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"); printf("/X {currentpoint exch pop moveto show} def\n"); printf("/F {findfont exch scalefont setfont} def\n"); *************** *** 536,541 **** --- 552,560 ---- printf("/HBO /Helvetica-BoldOblique def\n"); printf("/CBO /Courier-BoldOblique def\n"); printf("1 6 div dup scale\n"); + + printf("%%%%EndProlog\n"); + npages = 0; } endpage() *************** *** 543,546 **** --- 562,571 ---- printf("showpage\n"); printf("restore\n"); cfont = csize = -1; /* Doing this will cause a new font message */ + } + + epilog() + { + printf("%%%%Trailer\n"); + printf("%%%%Pages: %d\n", npages); }
everson@CompSci.Bristol.AC.UK (Phill Everson ) (08/05/89)
*** 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");