tr2post and aux/download; download is a shell script in $PLAN9/bin.
This commit is contained in:
parent
8a3cbc1579
commit
e8fb1d3efb
21 changed files with 110 additions and 74 deletions
|
|
@ -4,6 +4,9 @@
|
|||
#include "../common/common.h"
|
||||
#include "tr2post.h"
|
||||
|
||||
#undef isspace
|
||||
#define isspace risspace
|
||||
|
||||
int
|
||||
isspace(Rune r)
|
||||
{
|
||||
|
|
@ -11,9 +14,8 @@ isspace(Rune r)
|
|||
}
|
||||
|
||||
int
|
||||
Bskipws(Biobufhdr *bp) {
|
||||
Bskipws(Biobuf *bp) {
|
||||
int r;
|
||||
char c[UTFmax];
|
||||
int sindex = 0;
|
||||
|
||||
/* skip over initial white space */
|
||||
|
|
@ -54,7 +56,7 @@ asc2dig(char c, int base) {
|
|||
*/
|
||||
|
||||
int
|
||||
Bgetfield(Biobufhdr *bp, int type, void *thing, int size) {
|
||||
Bgetfield(Biobuf *bp, int type, void *thing, int size) {
|
||||
int r;
|
||||
Rune R;
|
||||
char c[UTFmax];
|
||||
|
|
@ -65,6 +67,8 @@ Bgetfield(Biobufhdr *bp, int type, void *thing, int size) {
|
|||
int dig;
|
||||
unsigned int u = 0;
|
||||
|
||||
r = 0;
|
||||
|
||||
/* skip over initial white space */
|
||||
if (Bskipws(bp) < 0)
|
||||
return(-1);
|
||||
|
|
|
|||
|
|
@ -120,17 +120,17 @@ findpfn(char *fontname, int insflg) {
|
|||
return(-1);
|
||||
}
|
||||
|
||||
char postroffdirname[] = LIBDIR "/postscript/troff"; /* "/sys/lib/postscript/troff/"; */
|
||||
char troffmetricdirname[] = LIBDIR "/troff/font"; /* "/sys/lib/troff/font/devutf/"; */
|
||||
char postroffdirname[] = "#9/postscript/troff"; /* "/sys/lib/postscript/troff/"; */
|
||||
char troffmetricdirname[] = "#9/troff/font"; /* "/sys/lib/troff/font/devutf/"; */
|
||||
|
||||
int
|
||||
readpsfontdesc(char *fontname, int trindex) {
|
||||
static char *filename = 0;
|
||||
Biobuf *bfd;
|
||||
Biobufhdr *Bfd;
|
||||
int warn = 0, errorflg = 0, line =1, rv;
|
||||
Biobuf *Bfd;
|
||||
int errorflg = 0, line =1, rv;
|
||||
int start, end, offset;
|
||||
int startfont, endfont, startchar, endchar, i, pfid;
|
||||
int startfont, endfont, startchar, endchar, pfid;
|
||||
char psfontnam[128];
|
||||
struct troffont *tp;
|
||||
/* struct charent *cp[]; */
|
||||
|
|
@ -139,7 +139,7 @@ readpsfontdesc(char *fontname, int trindex) {
|
|||
filename=galloc(filename, strlen(postroffdirname)+1+strlen(fontname)+1, "readpsfontdesc: cannot allocate memory\n");
|
||||
sprint(filename, "%s/%s", postroffdirname, fontname);
|
||||
|
||||
bfd = Bopen(filename, OREAD);
|
||||
bfd = Bopen(unsharp(filename), OREAD);
|
||||
if (bfd == 0) {
|
||||
error(WARNING, "cannot open file %s\n", filename);
|
||||
return(0);
|
||||
|
|
@ -212,9 +212,8 @@ int
|
|||
readtroffmetric(char *fontname, int trindex) {
|
||||
static char *filename = 0;
|
||||
Biobuf *bfd;
|
||||
Biobufhdr *Bfd;
|
||||
int warn = 0, errorflg = 0, line =1, rv;
|
||||
struct troffont *tp;
|
||||
Biobuf *Bfd;
|
||||
int errorflg = 0, line =1, rv;
|
||||
struct charent **cp;
|
||||
char stoken[128], *str;
|
||||
int ntoken;
|
||||
|
|
@ -226,7 +225,7 @@ readtroffmetric(char *fontname, int trindex) {
|
|||
filename=galloc(filename, strlen(troffmetricdirname)+4+strlen(devname)+1+strlen(fontname)+1, "readtroffmetric():filename");
|
||||
sprint(filename, "%s/dev%s/%s", troffmetricdirname, devname, fontname);
|
||||
|
||||
bfd = Bopen(filename, OREAD);
|
||||
bfd = Bopen(unsharp(filename), OREAD);
|
||||
if (bfd == 0) {
|
||||
error(WARNING, "cannot open file %s\n", filename);
|
||||
return(0);
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
#include "tr2post.h"
|
||||
|
||||
void
|
||||
conv(Biobufhdr *Bp) {
|
||||
long c, n;
|
||||
conv(Biobuf *Bp) {
|
||||
long n;
|
||||
int r;
|
||||
char special[10];
|
||||
int save;
|
||||
|
|
|
|||
|
|
@ -51,10 +51,10 @@ struct sjt specialjumptable[] = {
|
|||
*/
|
||||
|
||||
void
|
||||
devcntl(Biobufhdr *inp) {
|
||||
devcntl(Biobuf *inp) {
|
||||
|
||||
char cmd[50], buf[256], str[MAXTOKENSIZE], *line;
|
||||
int c, n, linelen;
|
||||
int c, n;
|
||||
|
||||
/*
|
||||
*
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ cover(double x, double y) {
|
|||
}
|
||||
|
||||
void
|
||||
drawspline(Biobufhdr *Bp, int flag) { /* flag!=1 connect end points */
|
||||
drawspline(Biobuf *Bp, int flag) { /* flag!=1 connect end points */
|
||||
int x[100], y[100];
|
||||
int i, N;
|
||||
/*
|
||||
|
|
@ -96,7 +96,7 @@ drawspline(Biobufhdr *Bp, int flag) { /* flag!=1 connect end points */
|
|||
}
|
||||
|
||||
void
|
||||
draw(Biobufhdr *Bp) {
|
||||
draw(Biobuf *Bp) {
|
||||
|
||||
int r, x1, y1, x2, y2, i;
|
||||
int d1, d2;
|
||||
|
|
@ -234,7 +234,7 @@ drawpath(char *buf, int copy) {
|
|||
static void
|
||||
parsebuf(char *buf)
|
||||
{
|
||||
char *p; /* usually the next token */
|
||||
char *p = (char*)0; /* usually the next token */
|
||||
char *q;
|
||||
int gsavelevel = 0; /* non-zero if we've done a gsave */
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ HFILES=tr2post.h\
|
|||
|
||||
BIN=$POSTBIN
|
||||
|
||||
LIB=../common/libcom.a
|
||||
|
||||
<$PLAN9/src/mkone
|
||||
|
||||
CFLAGS=$CFLAGS -c -D'PROGRAMVERSION="0.1"' -D'DOROUND=1' -I$COMMONDIR
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@
|
|||
/* #include "ext.h" */
|
||||
|
||||
Biobuf *bfp_pic = NULL;
|
||||
Biobufhdr *Bfp_pic;
|
||||
Biobufhdr *picopen(char *);
|
||||
Biobuf *Bfp_pic;
|
||||
Biobuf *picopen(char *);
|
||||
|
||||
#define MAXGETFIELDS 16
|
||||
char *fields[MAXGETFIELDS];
|
||||
|
|
@ -63,7 +63,7 @@ extern int picflag;
|
|||
/*****************************************************************************/
|
||||
|
||||
void
|
||||
picture(Biobufhdr *inp, char *buf) {
|
||||
picture(Biobuf *inp, char *buf) {
|
||||
int poffset; /* page offset */
|
||||
int indent; /* indent */
|
||||
int length; /* line length */
|
||||
|
|
@ -80,7 +80,7 @@ picture(Biobufhdr *inp, char *buf) {
|
|||
double adjx = 0.5; /* left-right adjustment */
|
||||
double adjy = 0.5; /* top-bottom adjustment */
|
||||
double rot = 0; /* rotation in clockwise degrees */
|
||||
Biobufhdr *fp_in; /* for *name */
|
||||
Biobuf *fp_in; /* for *name */
|
||||
int i; /* loop index */
|
||||
|
||||
/*
|
||||
|
|
@ -195,13 +195,13 @@ picture(Biobufhdr *inp, char *buf) {
|
|||
* open file *path and return the resulting file pointer to the caller.
|
||||
*
|
||||
*/
|
||||
Biobufhdr *
|
||||
Biobuf *
|
||||
picopen(char *path) {
|
||||
/* char name[100]; /* pathnames */
|
||||
/* long pos; /* current position */
|
||||
/* long total; /* and sizes - from *fp_pic */
|
||||
Biobuf *bfp;
|
||||
Biobufhdr *Bfp; /* and pointer for the new temp file */
|
||||
Biobuf *Bfp; /* and pointer for the new temp file */
|
||||
|
||||
|
||||
if ((bfp = Bopen(path, OREAD)) == 0)
|
||||
|
|
@ -285,7 +285,7 @@ inlinepic(Biobufhdr *Bfp, char *buf) {
|
|||
/* *fp_out; and output file pointers */
|
||||
/* total; number of bytes to be copied */
|
||||
void
|
||||
piccopy(Biobufhdr *Bfp_in, Biobufhdr *Bfp_out, long total) {
|
||||
piccopy(Biobuf *Bfp_in, Biobuf *Bfp_out, long total) {
|
||||
long i;
|
||||
|
||||
for (i = 0; i < total; i++)
|
||||
|
|
|
|||
|
|
@ -11,9 +11,8 @@ extern int curfontsize;
|
|||
typedef struct {long start, end;} Section;
|
||||
static char *buf;
|
||||
|
||||
static
|
||||
copy(Biobufhdr *fin, Biobufhdr *fout, Section *s) {
|
||||
int cond;
|
||||
static void
|
||||
copy(Biobuf *fin, Biobuf *fout, Section *s) {
|
||||
if (s->end <= s->start)
|
||||
return;
|
||||
Bseek(fin, s->start, 0);
|
||||
|
|
@ -57,7 +56,7 @@ copy(Biobufhdr *fin, Biobufhdr *fout, Section *s) {
|
|||
/* rot; /* rotation - in clockwise degrees */
|
||||
|
||||
void
|
||||
ps_include(Biobufhdr *fin, Biobufhdr *fout, int page_no, int whiteout,
|
||||
ps_include(Biobuf *fin, Biobuf *fout, int page_no, int whiteout,
|
||||
int outline, int scaleboth, double cx, double cy, double sx, double sy,
|
||||
double ax, double ay, double rot) {
|
||||
char **strp;
|
||||
|
|
@ -66,7 +65,7 @@ ps_include(Biobufhdr *fin, Biobufhdr *fout, int page_no, int whiteout,
|
|||
int nglobal = 0; /* number of global defs so far */
|
||||
int maxglobal = 0; /* and the number we've got room for */
|
||||
Section prolog, page, trailer; /* prologue, page, and trailer offsets */
|
||||
Section *global; /* offsets for all global definitions */
|
||||
Section *global = 0; /* offsets for all global definitions */
|
||||
double llx, lly; /* lower left and */
|
||||
double urx, ury; /* upper right corners - default coords */
|
||||
double w = whiteout != 0; /* mostly for the var() macro */
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ readDESC(void) {
|
|||
char *descnameformat = "%s/dev%s/DESC";
|
||||
char *descfilename = 0;
|
||||
Biobuf *bfd;
|
||||
Biobufhdr *Bfd;
|
||||
Biobuf *Bfd;
|
||||
int i, state = -1;
|
||||
int fontindex = 0;
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ readDESC(void) {
|
|||
descfilename = galloc(descfilename, strlen(descnameformat)+strlen(FONTDIR)
|
||||
+strlen(devname), "readdesc");
|
||||
sprint(descfilename, descnameformat, FONTDIR, devname);
|
||||
if ((bfd = Bopen(descfilename, OREAD)) == 0) {
|
||||
if ((bfd = Bopen(unsharp(descfilename), OREAD)) == 0) {
|
||||
error(WARNING, "cannot open file %s\n", descfilename);
|
||||
return(0);
|
||||
}
|
||||
|
|
@ -136,4 +136,5 @@ readDESC(void) {
|
|||
}
|
||||
}
|
||||
Bterm(Bfd);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,10 @@ Biobuf binp, *bstdout, bstderr;
|
|||
Biobuf *Bstdin, *Bstdout, *Bstderr;
|
||||
int debug = 0;
|
||||
|
||||
#ifndef MAXPATHLEN
|
||||
#define MAXPATHLEN 255
|
||||
#endif
|
||||
|
||||
char tmpfilename[MAXPATHLEN+1];
|
||||
char copybuf[BUFSIZ];
|
||||
|
||||
|
|
@ -41,20 +45,20 @@ prologues(void) {
|
|||
Bprint(Bstdout, "%s %s\n", PAGES, ATEND);
|
||||
Bprint(Bstdout, "%s", ENDCOMMENTS);
|
||||
|
||||
if (cat(DPOST)) {
|
||||
if (cat(unsharp(DPOST))) {
|
||||
Bprint(Bstderr, "can't read %s\n", DPOST);
|
||||
exits("dpost prologue");
|
||||
}
|
||||
|
||||
if (drawflag) {
|
||||
if (cat(DRAW)) {
|
||||
if (cat(unsharp(DRAW))) {
|
||||
Bprint(Bstderr, "can't read %s\n", DRAW);
|
||||
exits("draw prologue");
|
||||
}
|
||||
}
|
||||
|
||||
if (DOROUND)
|
||||
cat(ROUNDPAGE);
|
||||
cat(unsharp(ROUNDPAGE));
|
||||
|
||||
Bprint(Bstdout, "%s", ENDPROLOG);
|
||||
Bprint(Bstdout, "%s", BEGINSETUP);
|
||||
|
|
@ -70,19 +74,19 @@ prologues(void) {
|
|||
if (pointsize != 10) Bprint(Bstdout, "/pointsize %d def\n", pointsize);
|
||||
if (xoffset != .25) Bprint(Bstdout, "/xoffset %g def\n", xoffset);
|
||||
if (yoffset != .25) Bprint(Bstdout, "/yoffset %g def\n", yoffset);
|
||||
cat(ENCODINGDIR"/Latin1.enc");
|
||||
cat(unsharp(ENCODINGDIR"/Latin1.enc"));
|
||||
if (passthrough != 0) Bprint(Bstdout, "%s\n", passthrough);
|
||||
|
||||
Bprint(Bstdout, "setup\n");
|
||||
if (formsperpage > 1) {
|
||||
cat(FORMFILE);
|
||||
cat(unsharp(FORMFILE));
|
||||
Bprint(Bstdout, "%d setupforms \n", formsperpage);
|
||||
}
|
||||
/* output Build character info from charlib if necessary. */
|
||||
|
||||
for (i=0; i<build_char_cnt; i++) {
|
||||
sprint(charlibname, "%s/%s", CHARLIB, build_char_list[i]->name);
|
||||
if (cat(charlibname))
|
||||
if (cat(unsharp(charlibname)))
|
||||
Bprint(Bstderr, "cannot open %s\n", charlibname);
|
||||
}
|
||||
|
||||
|
|
@ -94,10 +98,11 @@ cleanup(void) {
|
|||
remove(tmpfilename);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char *argv[]) {
|
||||
Biobuf btmp;
|
||||
Biobuf *binp;
|
||||
Biobufhdr *Binp;
|
||||
Biobuf *Binp;
|
||||
int i, tot, ifd, fd;
|
||||
char *t;
|
||||
|
||||
|
|
@ -217,4 +222,5 @@ main(int argc, char *argv[]) {
|
|||
finish();
|
||||
|
||||
exits("");
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#define MAXSPECHARS 512
|
||||
#define MAXTOKENSIZE 128
|
||||
#define CHARLIB FONTDIR "/devutf/charlib"
|
||||
#define CHARLIB "#9/troff/font/devutf/charlib"
|
||||
|
||||
/* devname clashes with libc on *BSD */
|
||||
#define devname troff_devname
|
||||
|
|
|
|||
|
|
@ -88,12 +88,13 @@ void
|
|||
glyphout(Rune rune, char *stoken, BOOLEAN specialflag) {
|
||||
struct charent **cp;
|
||||
struct troffont *tfp;
|
||||
struct psfent *psfp;
|
||||
struct psfent *psfp = (struct psfent*)0;
|
||||
int i, t;
|
||||
int fontid; /* this is the troff font table index, not the mounted font table index */
|
||||
int mi, fi, wid;
|
||||
int mi, wid;
|
||||
Rune r;
|
||||
|
||||
mi = 0;
|
||||
settrfont();
|
||||
|
||||
/* check current font for the character, special or not */
|
||||
|
|
@ -187,8 +188,6 @@ foundit:
|
|||
if (t == 0x0001) { /* character is in charlib */
|
||||
endstring();
|
||||
if (pageon()) {
|
||||
struct charent *tcp;
|
||||
|
||||
Bprint(Bstdout, "%d %d m ", hpos, vpos);
|
||||
/* if char is unicode character rather than name, clean up for postscript */
|
||||
wid = chartorune(&r, (*cp)->name);
|
||||
|
|
@ -250,7 +249,7 @@ specialout(char *stoken) {
|
|||
}
|
||||
|
||||
void
|
||||
graphfunc(Biobufhdr *bp) {
|
||||
graphfunc(Biobuf *bp) {
|
||||
}
|
||||
|
||||
long
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue