Psroff 2.0 Patch 3
Chris Lewis
clewis at ecicrl.UUCP
Sat Oct 13 05:42:42 AEST 1990
Archive-name: psroff2.0/Patch.03
Submitted-by: clewis at ecicrl.uucp
(Did it work Peter? ;-)
This is official patch 03 for Psroff 2.0.
Please apply it by:
cd <psroff source directory>
patch -N -p < <this file>
Then rebuild all of psroff.
Amongst some minor bug fixes, this patch introduces some Ditroff drawing
emulation stuff. If you pipe ditroff source through "catconv"
and then into psroff, psroff will attempt to emulate the \D drawing
codes. Eg:
pic foo | catconv | psroff
For this to work, INSPECIAL should be defined in defs.h, and you have to
have Perl to run catconv (probably R3).
Notes:
- splines (\D'~) aren't implemented for postscript
- nothing is implemented for HPPCL
- ditroff output is completely supported (eg: tpscript).
- This hasn't been tested very well and some \D'...'
may fool "catconv". Further, beyond a certain complexity,
the backend (troff2ps) misses some of the sequences....
Simple PIC stuff appears to work, manual \D'...' do too.
Don't bother telling me that catconv/ditroff drawing code doesn't
work completely - I know that, but fixes and code would be very
welcome - eg: postscript spline code or more reliable special
sequence recognition.
It's hard for me to work on this because I have no access to ANY
printers at the moment.
Followups have been directed to comp.text because I don't get
c.s.b or a.s at the moment.
./lib/ps.lib Drawing code assists
./README Slight fixups
./debug.c bcopy fix.
./ps.c drawing code.
./utils/pk2sfp.c standalone compile (released in alt.sources)
./utils/psxlate.c so compilers with "const" strings don't die.
./utils/catconv.S new utility (see above)
./defs.h PL3, drawing code, BCOPYLIB
./dt.c drawing code
./dt.h drawing code
./ps.h drawing code
./psroff.S accidentally hard-coded /usr/lib/font fix.
*** /tmp/PATCHold/./lib/ps.lib Fri Oct 12 14:32:47 1990
--- ./lib/ps.lib Fri Oct 12 14:32:49 1990
***************
*** 9,15 ****
% Module: ps.lib
% Author: Chris Lewis
% Specs: Predefinitions for PostScript
! %ident @(#)ps.lib: 2.1 Copyright 90/07/18 16:52:37 Chris Lewis"
/Y { 3 1 roll dup /CurY exch def moveto show } bind def
/X { exch CurY moveto show } bind def
--- 9,15 ----
% Module: ps.lib
% Author: Chris Lewis
% Specs: Predefinitions for PostScript
! %ident @(#)ps.lib: 2.2 Copyright 90/10/12 13:15:42 Chris Lewis"
/Y { 3 1 roll dup /CurY exch def moveto show } bind def
/X { exch CurY moveto show } bind def
***************
*** 405,410 ****
--- 405,444 ----
} def end
/BracketFont BracketFontDict definefont pop
+ /Ellipse {
+ /Yaxis exch 2 div def
+ /Xaxis exch 2 div def
+ currentpoint exch Xaxis add exch
+ /savematrix matrix currentmatrix def
+ translate
+ Xaxis Yaxis scale
+ 1 0 moveto
+ 0 0 1 0 360 arc
+ savematrix setmatrix
+ %currentpoint exch Xaxis 2 mul add exch moveto
+ } bind def
+
+ /Arc {
+ /eY exch def
+ /eX exch def
+ /cY exch def
+ /cX exch def
+ currentpoint cY add exch cX add exch % center x y
+ cY dup mul cX dup mul add sqrt % radius
+ cY neg cX neg atan % ang1
+ eY eX atan % ang2
+ % 5 copy
+ % ( ) cvs print
+ % ( ) print
+ % ( ) cvs print
+ % ( ) print
+ % ( ) cvs print
+ % ( ) print
+ % ( ) cvs print
+ % ( ) print
+ % ( ) cvs print
+ arc
+ } bind def
% This macro is invoked by ShowPage to display the current form.
% Usually redefined to point at a form loaded by an include
*** /tmp/PATCHold/./README Fri Oct 12 14:33:00 1990
--- ./README Fri Oct 12 14:33:03 1990
***************
*** 1,4 ****
! PSROFF RELEASE 2.0 README 2.1 90/07/18
May 14, 1990
Chris Lewis
--- 1,4 ----
! PSROFF RELEASE 2.0 README 2.2 90/08/30
May 14, 1990
Chris Lewis
***************
*** 319,331 ****
.sR. Further, ".tm" has been redefined to make use of the
.sR facility.
! - troff2 has 8-font troff support, but:
a) it's never been tested.
b) I'm no longer convinced that the cat.5 man page is
correct on how the decoding works.
! - troff2 has BSDHACK support (one of the tilt opcodes being
replaced by an opcode to multiply the next vertical motion
by 64), but this has not been tested. I never heard of it
before til I saw it in Froyen's troff2lj source. This cannot
--- 319,331 ----
.sR. Further, ".tm" has been redefined to make use of the
.sR facility.
! - psroff has 8-font troff support, but:
a) it's never been tested.
b) I'm no longer convinced that the cat.5 man page is
correct on how the decoding works.
! - psroff has BSDHACK support (one of the tilt opcodes being
replaced by an opcode to multiply the next vertical motion
by 64), but this has not been tested. I never heard of it
before til I saw it in Froyen's troff2lj source. This cannot
***************
*** 391,397 ****
With Laserjet driving:
MDLF max # downloaded fonts supported per page.
! PRELOAD # fonts statically downloaded
SFP enables SFP's with incremental font downloading.
Needs INCR.
INCR enable incremental font downloading. Needs PARTIAL.
--- 391,398 ----
With Laserjet driving:
MDLF max # downloaded fonts supported per page.
! LJ+ have this as 16. Later models support more.
! PRELOAD # fonts statically downloaded.
SFP enables SFP's with incremental font downloading.
Needs INCR.
INCR enable incremental font downloading. Needs PARTIAL.
***************
*** 567,573 ****
The most important thing to remember is that you cannot extend
the CAT's character sets without modifying troff - unlike ditroff
where you can add them by changing the makedev files. This
! is how you do install overrides:
- Put in a map override in the appropriate *.fonts file that
emits the character you want in place of a character you
--- 568,574 ----
The most important thing to remember is that you cannot extend
the CAT's character sets without modifying troff - unlike ditroff
where you can add them by changing the makedev files. This
! is how you do overrides:
- Put in a map override in the appropriate *.fonts file that
emits the character you want in place of a character you
***************
*** 582,588 ****
<troffchar> N|S|n <sequence> <x adjust> <y adjust> <scale>
! x adjust, y adjust, scale default to 0, 0 and 0 respectively.
x and y adjust are multiplied by .01, then the pointsize
and of the output driver to give the shift factor in
1/resolution units. Scale allows you to change the size
--- 583,589 ----
<troffchar> N|S|n <sequence> <x adjust> <y adjust> <scale>
! x adjust, y adjust, scale default to 0, 0 and 100 respectively.
x and y adjust are multiplied by .01, then the pointsize
and of the output driver to give the shift factor in
1/resolution units. Scale allows you to change the size
*** /tmp/PATCHold/./debug.c Fri Oct 12 14:33:18 1990
--- ./debug.c Fri Oct 12 14:33:19 1990
***************
*** 2,8 ****
#ifndef lint
static char SCCSid[] =
! "@(#)debug.c: 2.2 Copyright 90/08/08 13:14:09 Chris Lewis";
#endif
#ifdef DEBUG
--- 2,8 ----
#ifndef lint
static char SCCSid[] =
! "@(#)debug.c: 2.3 Copyright 90/10/01 14:41:07 Chris Lewis";
#endif
#ifdef DEBUG
***************
*** 115,132 ****
}
#ifdef BCOPY
/* "slowish" routines when you don't have memcpy and friends
*/
bcopy(from, to, len)
register char *from, *to;
! register int n; {
! while(n--)
*to++ = *from++;
}
bzero(array, len)
register char *array;
! register int len; {
! while(n--)
*array++ = '\0';
}
#endif
--- 115,137 ----
}
#ifdef BCOPY
+ #ifndef BCOPYLIB
/* "slowish" routines when you don't have memcpy and friends
*/
bcopy(from, to, len)
register char *from, *to;
! register int len;
! {
! while(len--)
*to++ = *from++;
}
+
bzero(array, len)
register char *array;
! register int len;
! {
! while(len--)
*array++ = '\0';
}
+ #endif BCOPYLIB
#endif
*** /tmp/PATCHold/./ps.c Fri Oct 12 14:33:35 1990
--- ./ps.c Fri Oct 12 14:33:37 1990
***************
*** 18,24 ****
#ifndef lint
static char SCCSid[] =
! "@(#)ps.c: 2.1 Copyright 90/07/18 16:47:36 Chris Lewis";
#endif
/* ps.c will generate some additional "print" commands to cause
--- 18,24 ----
#ifndef lint
static char SCCSid[] =
! "@(#)ps.c: 2.2 Copyright 90/10/12 13:09:32 Chris Lewis";
#endif
/* ps.c will generate some additional "print" commands to cause
***************
*** 358,363 ****
--- 358,365 ----
}
}
+ int indraw = 0;
+
psChar(x, y, font, points, troffChar, sequence)
int x, y;
int font, points, troffChar;
***************
*** 370,375 ****
--- 372,398 ----
doPageStart();
}
+ if (font < 0) {
+ #ifdef TRY
+ if (!indraw) {
+ #endif
+ printf("newpath\n");
+ emitnum(nx);
+ putchar(' ');
+ emitnum(ny);
+ printf(" moveto\n");
+ indraw = 1;
+ #ifdef TRY
+ }
+ #endif
+ return;
+ #ifdef TRY
+ } else if (indraw) {
+ printf("stroke\n");
+ indraw = 0;
+ #endif
+ }
+
charCount++;
DBP((D_BEND,"BEFORE (troffChar,x,y,font,points) = (%d,%d,%d,%d,%d)\n",
***************
*** 556,559 ****
--- 579,676 ----
#endif
}
+ #ifdef INSPECIAL
+ psDraw(origX, origY, s)
+ int origX, origY;
+ register char *s; {
+ register int opcode, ctindex = 0, temp, neg;
+ /*static int curDX = -1, curDY = -1;*/
+ short int numbers[100];
+
+ DBP((D_CAT, "psDraw: (%d,%d): %s\n", origX, origY, s));
+ /* Special invocation to get the newpath/moveto done */
+ psChar(origX, origY, -1, -1, (char*) NULL, (char*) NULL);
+ while(*s && isspace(*s)) s++;
+ opcode = *s;
+ neg = 1;
+ for (;*s;s++) {
+ if (isspace(*s))
+ continue;
+ else if (*s == '\\')
+ s += 3;
+ else if (*s == '-')
+ neg = -1;
+ else if (!isdigit(*s))
+ continue;
+ else {
+ temp = *s - '0';
+ while(isdigit(*(s+1)))
+ temp = temp * 10 + (*++s - '0');
+ numbers[ctindex++] = neg * temp;
+ neg = 1;
+ }
+ }
+ switch(opcode) {
+ case 'l':
+ DBP((D_CAT, "drawline: %d, %d\n", numbers[0], numbers[1]));
+ emitnum((int) numbers[0]);
+ putchar(' ');
+ emitnum((int) -numbers[1]);
+ printf(" rlineto\n");
+ break;
+ case 'a':
+ for (temp = 0; temp < 4; temp++) {
+ emitnum((int) ((temp % 2) ? -numbers[temp]: numbers[temp]));
+ putchar(' ');
+ }
+ printf("Arc\n");
+ break;
+ case 'c':
+ numbers[1] = numbers[0];
+ case 'e':
+ DBP((D_CAT, "drawellipse: %d, %d\n", numbers[0], numbers[1]));
+ emitnum((int) numbers[0]);
+ putchar(' ');
+ emitnum((int) numbers[1]);
+ printf(" Ellipse\n");
+ break;
+ case '~':
+ if (ctindex < 4) {
+ fprintf(stderr, "%s: too few points to spline: %s\n",
+ progname, s);
+ break;
+ }
+ fprintf(stderr, "%s: Don't support splines yet\n", progname);
+ /* Some of the following is inspired from tpscript.
+ First convert to RELATIVE to the starting point.
+ Further, There's a bug in PIC that returns negatively one
+ unit LESS than it went forward - fudge it here */
+ for (temp = 2; temp < ctindex; temp++) {
+ if (numbers[temp] < 0)
+ numbers[temp]--;
+ numbers[temp] += numbers[temp-2];
+ }
+ if (ctindex == 4) {
+ emitnum((int) numbers[0] / 2);
+ putchar(' ');
+ emitnum((int) -numbers[1] / 2);
+ putchar(' ');
+ emitnum((int) (numbers[0] + numbers[2]) / 2);
+ putchar(' ');
+ emitnum((int) -(numbers[1] + numbers[3])/ 2);
+ putchar(' ');
+ emitnum((int) numbers[2]);
+ putchar(' ');
+ emitnum((int) -numbers[3]);
+ printf(" rcurveto\n");
+ }
+ break;
+ default:
+ fprintf(stderr, "%s: invalid draw code %c\n", progname, opcode);
+ indraw = 0;
+ break;
+ }
+ printf("stroke\n");
+ }
+ #endif
#endif /* PS */
*** /tmp/PATCHold/./utils/pk2sfp.c Fri Oct 12 14:33:49 1990
--- ./utils/pk2sfp.c Fri Oct 12 14:33:50 1990
***************
*** 1,4 ****
! /* Copyright 1985, 1986, 1987, 1988 90/07/18 Chris Lewis
All Rights Reserved
Permission to copy and further distribute is freely given provided
--- 1,4 ----
! /* Copyright 1985, 1986, 1987, 1988 90/09/17 Chris Lewis
All Rights Reserved
Permission to copy and further distribute is freely given provided
***************
*** 13,19 ****
#ifndef lint
static char SCCSID[] =
! "@(#)pk2sfp.c 2.1 Copyright 90/07/18 16:49:44 Chris Lewis";
#endif
#include "defs.h"
--- 13,19 ----
#ifndef lint
static char SCCSID[] =
! "@(#)pk2sfp.c 2.2 Copyright 90/09/17 10:50:03 Chris Lewis";
#endif
#include "defs.h"
***************
*** 43,48 ****
--- 43,49 ----
char *progname;
+ #ifdef PARTIAL
extern struct enctab encNormal[], encSymbol[];
needchar(font, character)
***************
*** 67,72 ****
--- 68,80 ----
return(0);
}
+ #else
+ needchar(font, character)
+ int font;
+ long character; {
+ return(1);
+ }
+ #endif
main(argc, argv)
int argc;
*** /tmp/PATCHold/./utils/psxlate.c Fri Oct 12 14:33:57 1990
--- ./utils/psxlate.c Fri Oct 12 14:33:58 1990
***************
*** 13,19 ****
#ifndef lint
static char SCCSid[] =
! "@(#)psxlate.c: 2.1 Copyright 90/07/18 16:49:52 Chris Lewis";
#endif
#include "defs.h"
--- 13,19 ----
#ifndef lint
static char SCCSid[] =
! "@(#)psxlate.c: 2.2 Copyright 90/10/12 13:12:11 Chris Lewis";
#endif
#include "defs.h"
***************
*** 39,45 ****
struct headers *comments;
} pageidx[MAXPAGE];
! char *tmp = "/tmp/psxXXXXXX";
int page = 0;
char *progname;
int debug, verbose;
--- 39,45 ----
struct headers *comments;
} pageidx[MAXPAGE];
! char tmp[] = {"/tmp/psxXXXXXX"};
int page = 0;
char *progname;
int debug, verbose;
*** /tmp/PATCHold/./utils/catconv.S Fri Oct 12 14:34:06 1990
--- ./utils/catconv.S Fri Oct 12 14:34:12 1990
***************
*** 0 ****
--- 1,89 ----
+ #! /usr/lbin/perl
+ eval "exec /usr/lbin/perl -S $0 $*"
+ if $running_under_some_shell;
+ # This does a very simpleminded conversion of ditroff-only-isms
+ # (such as graphics) into something handleable by psroff.
+ # Copyright 1990 Chris Lewis, All Rights Reserved.
+ # You can do anything you want with this provided that it is
+ # not for profit and this notice remains intact.
+ # 1.1 90/10/12
+ $inpic = 0;
+ print(".de lf\n");
+ print(".mk\n");
+ print("..\n");
+
+ while($line = <STDIN>) {
+ chop($line);
+ if ($line =~ /^\.PS/) {
+ $inpic = 1;
+ print "$line\n";
+ next;
+ }
+ if ($line =~ /^\.PE/) {
+ $inpic = 0;
+ print "$line\n";
+ next;
+ }
+ if ($inpic && ($line eq '.sp -1')) {
+ printf(".rt\n");
+ next;
+ }
+ if ($line =~ /\\D'/) {
+ $newline = do process($line);
+ print "$newline\n";
+ } else {
+ print "$line\n";
+ }
+ }
+
+ sub process {
+ local($line, $newline, $pre, $opcode, $arglist) = ($_[0]);
+ # printf("in process: $line\n");
+ $predefs = '';
+ $index = 0;
+ while($line =~ /\\D'\s*(.)\s*([^']+)'/) {
+ ($pre, $line, $opcode, $arglist) = ($`, $', $1, $2);
+ # print("pre: $pre\nline: $line\nopcode: $opcode\narglist: $arglist\n");
+ $newline .= $pre;
+ $newargs = '';
+ $newy = '';
+ $newx = '';
+ @args = split(/[ \t]+/, $arglist);
+ for ($i = 0; $i <= $#args; $i++) {
+ $arg = $args[$i];
+ if ($arg =~ '-') {
+ $arg = "0$arg";
+ }
+ $predefs .= ".nr .$index $arg\n";
+ $newargs .= "\\(ts\\n(.$index";
+ if ($opcode eq '~') {
+ if ($i % 2) {
+ $newy .= "+\\n(.$index";
+ } else {
+ $newx .= "+\\n(.$index";
+ }
+ }
+ $index++;
+ }
+ $newline .= "\\ka\\o'\\(bs\\(bs'D$opcode$newargs\\(bs\\h'|\\nau";
+ # Reposition...
+ if ($opcode eq 'l') {
+ $newline .= sprintf("+\\n(.%du'\\v'\\n(.%du'",
+ $index - 2, $index -1);
+ } elsif ($opcode eq 'c') {
+ $newline .= sprintf("+\\n(.%du'", $index - 1);
+ } elsif ($opcode eq 'e') {
+ $newline .= sprintf("+\\n(.%du'", $index - 2);
+ } elsif ($opcode eq '~') {
+ $newy = substr($newy, 1, 9999);
+ $newline .= "$newx'\\v'$newy'";
+ } else {
+ $newline .= "'";
+ }
+ if ($line) {
+ $newline .= "\\\n";
+ }
+ }
+ $newline .= $line;
+ return("$predefs$newline");
+ }
*** /tmp/PATCHold/./defs.h Fri Oct 12 14:34:20 1990
--- ./defs.h Fri Oct 12 14:34:22 1990
***************
*** 1,4 ****
! /* Copyright 1988, 1989 15:04:07 Chris Lewis
All Rights Reserved
Permission to copy and further distribute is freely given provided
--- 1,4 ----
! /* Copyright 1988, 1989 13:38:22 Chris Lewis
All Rights Reserved
Permission to copy and further distribute is freely given provided
***************
*** 6,18 ****
sold for profit.
Project: Generic Troff drivers
! Module: defs.h 2.3 90/08/29 15:04:07
Author: Chris Lewis
Specs: Main header file - contains some customization
*/
/* Official Release and Patch level: */
! #define T2VERSION "@(#)PSROFF Copyright 90/08/29 Chris Lewis - R2 P2"
#ifndef LIBDIR
/* Don't touch this */
--- 6,18 ----
sold for profit.
Project: Generic Troff drivers
! Module: defs.h 2.7 90/10/12 13:38:22
Author: Chris Lewis
Specs: Main header file - contains some customization
*/
/* Official Release and Patch level: */
! #define T2VERSION "@(#)PSROFF Copyright 90/10/12 Chris Lewis - R2 P3"
#ifndef LIBDIR
/* Don't touch this */
***************
*** 30,35 ****
--- 30,38 ----
#undef BCOPY /* Define if you don't have memcpy and friends - eg:
oldish BSD systems */
+ #undef BCOPYLIB /* Define if BCOPY is defined and you have */
+ /* a bcopy in the library */
+
#undef UNSIGNEDCHAR /* Define if chars are unsigned on your machine */
/* The name of a routine that can be called thusly:
***************
*** 45,50 ****
--- 48,56 ----
#define VFPRINTF vfprintf
+ /* If you have the stand-alone pk2sfp distribution, do not touch
+ anything from here on */
+
/* Font width file configuration:
- If HEADERSIZE defined, use that many bytes as a prefix to the
***************
*** 157,162 ****
--- 163,170 ----
#define DEFYOFF 0 /* Default page vertical offset. See README/TROUBLE/
psroff(1) -Y options too */
+ #define INSPECIAL /* enables ditroff graphics capability */
+
/* Edit no more .... */
#define MAXDLFONTS (MDLF - PRELOAD) /* # fonts troff2ps can download */
***************
*** 375,377 ****
--- 383,390 ----
extern char *mustmalloc();
extern char *version, *shortversion;
+
+ #ifdef ALONE
+ #undef PARTIAL
+ #undef INCR
+ #endif
*** /tmp/PATCHold/./dt.c Fri Oct 12 14:34:31 1990
--- ./dt.c Fri Oct 12 14:34:33 1990
***************
*** 15,21 ****
#ifndef lint
static char SCCSid[] =
! "@(#)dt.c: 2.1 Copyright 90/07/18 16:51:27 Chris Lewis";
#endif
/* These two tables are always included so that we have the
--- 15,21 ----
#ifndef lint
static char SCCSid[] =
! "@(#)dt.c: 2.2 Copyright 90/10/12 13:09:25 Chris Lewis";
#endif
/* These two tables are always included so that we have the
***************
*** 413,418 ****
--- 413,419 ----
else
printf("c%s\n", sequence);
}
+ lastXPos = nx;
#ifdef NOTYET
}
#endif
***************
*** 466,470 ****
--- 467,502 ----
printf("x trailer\n");
printf("x stop\n");
}
+
+ #ifdef INSPECIAL
+ dtDraw(origX, origY, s)
+ int origX, origY;
+ register char *s; {
+ register int temp, t2;
+ DBP((D_CAT, "dtDraw: (%d,%d): %s\n", origX, origY, s));
+ printf("H%d\n", TROFF2DTX(origX));
+ printf("V%d\n", TROFF2DTY(origY));
+ putchar('D');
+ putchar(*s);
+ s++;
+ /* We just pass these thru, scaling them to output resolution */
+ for (;*s;s++) {
+ if (isspace(*s))
+ putchar(' ');
+ else if (!isdigit(*s))
+ putchar(*s);
+ else {
+ temp = *s - '0';
+ while(isdigit(*(s+1))) {
+ temp = temp * 10 + (*++s - '0');
+ }
+ t2 = temp * dtresolution / TROFFRESOLUTION;
+ DBP((D_CAT, "dtDraw (scale): %d -> %d\n", temp, t2));
+ printf("%d", t2);
+ }
+ }
+ putchar('\n');
+ }
+ #endif
#endif /* DT */
*** /tmp/PATCHold/./dt.h Fri Oct 12 14:34:41 1990
--- ./dt.h Fri Oct 12 14:34:42 1990
***************
*** 1,4 ****
! /* Copyright 1985, 1986, 1987, 1988 16:51:29 Chris Lewis
All Rights Reserved
Permission to copy and further distribute is freely given provided
--- 1,4 ----
! /* Copyright 1985, 1986, 1987, 1988 13:09:46 Chris Lewis
All Rights Reserved
Permission to copy and further distribute is freely given provided
***************
*** 6,12 ****
sold for profit.
Project: Generic Troff drivers
! Module: dt.h 2.1 90/07/18
Author: Chris Lewis
Specs: Ditroff driver definitions
Hacked from ps.h
--- 6,12 ----
sold for profit.
Project: Generic Troff drivers
! Module: dt.h 2.2 90/10/12
Author: Chris Lewis
Specs: Ditroff driver definitions
Hacked from ps.h
***************
*** 21,27 ****
/* 11" paper length */
#define TROFF2DTY(y) ((((long) (y)+pageyoffset)*dtresolution)/TROFFRESOLUTION)
! extern int dtProlog(), dtEpilog(), dtChar(), dtPage(), dtPassthru();
#ifdef DT
extern struct troff2befont dtSymFont[], dtStdFont[];
--- 21,27 ----
/* 11" paper length */
#define TROFF2DTY(y) ((((long) (y)+pageyoffset)*dtresolution)/TROFFRESOLUTION)
! extern int dtProlog(), dtEpilog(), dtChar(), dtPage(), dtPassthru(), dtDraw();
#ifdef DT
extern struct troff2befont dtSymFont[], dtStdFont[];
*** /tmp/PATCHold/./ps.h Fri Oct 12 14:34:49 1990
--- ./ps.h Fri Oct 12 14:34:50 1990
***************
*** 1,4 ****
! /* Copyright 1985, 1986, 1987, 1988 16:51:42 Chris Lewis
All Rights Reserved
Permission to copy and further distribute is freely given provided
--- 1,4 ----
! /* Copyright 1985, 1986, 1987, 1988 13:09:42 Chris Lewis
All Rights Reserved
Permission to copy and further distribute is freely given provided
***************
*** 6,12 ****
sold for profit.
Project: Generic Troff drivers
! Module: ps.h 2.1 90/07/18
Author: Chris Lewis
Specs: PostScript Driver definitions
*/
--- 6,12 ----
sold for profit.
Project: Generic Troff drivers
! Module: ps.h 2.2 90/10/12
Author: Chris Lewis
Specs: PostScript Driver definitions
*/
***************
*** 30,36 ****
#define EMITPS printf
/* Entry points: */
! extern int psProlog(), psEpilog(), psChar(), psPage(),
psOverlay(), psXlate();
extern struct troff2befont psSymFont[], psStdFont[];
--- 30,36 ----
#define EMITPS printf
/* Entry points: */
! extern int psProlog(), psEpilog(), psChar(), psPage(),psDraw(),
psOverlay(), psXlate();
extern struct troff2befont psSymFont[], psStdFont[];
*** /tmp/PATCHold/./psroff.S Fri Oct 12 14:35:07 1990
--- ./psroff.S Fri Oct 12 14:35:10 1990
***************
*** 11,17 ****
# Author: Chris Lewis
# Specs: troff driver
#
! #ident "@(#)psroff.sh: 2.1 Copyright 90/07/18 16:51:55 Chris Lewis"
LIBDIR="%%LIBDIR%%"
FONTDIR="%%FONTDIR%%"
--- 11,17 ----
# Author: Chris Lewis
# Specs: troff driver
#
! #ident "@(#)psroff.sh: 2.2 Copyright 90/10/01 14:41:16 Chris Lewis"
LIBDIR="%%LIBDIR%%"
FONTDIR="%%FONTDIR%%"
***************
*** 221,227 ****
) >&2
fi
! if [ -n "$widtharg" -a ! -d /usr/lib/font/$width ]
then
echo "$0: troff doesn't have width tables ($width) for $type printer" >&2
echo "Please see the README and gfnttab for creating them" >&2
--- 221,227 ----
) >&2
fi
! if [ -n "$widtharg" -a ! -d %%FONTDIR%%/$width ]
then
echo "$0: troff doesn't have width tables ($width) for $type printer" >&2
echo "Please see the README and gfnttab for creating them" >&2
--
Chris Lewis, Phone: TBA
UUCP: uunet!utai!lsuc!ecicrl!clewis
Moderator of the Ferret Mailing List (ferret-request at eci386)
Psroff mailing list (psroff-request at eci386)
More information about the Alt.sources
mailing list