--- ray/src/common/font.c 1992/11/21 21:35:36 2.6 +++ ray/src/common/font.c 1995/05/25 15:14:03 2.10 @@ -15,10 +15,8 @@ static char SCCSid[] = "$SunId$ LBL"; #define galloc(nv) (GLYPH *)malloc(sizeof(GLYPH)+2*sizeof(GORD)*(nv)) -extern char *libpath; /* list of library directories */ +extern char *fgetword(), *getlibpath(); -extern char *fgetword(); - static FONT *fontlist = NULL; /* list of loaded fonts */ @@ -40,7 +38,7 @@ char *fname; if (!strcmp(f->name, fname)) return(f); /* load the font file */ - if ((pathname = getpath(fname, libpath, R_OK)) == NULL) { + if ((pathname = getpath(fname, getlibpath(), R_OK)) == NULL) { sprintf(errmsg, "cannot find font file \"%s\"", fname); error(USER, errmsg); } @@ -160,7 +158,7 @@ register FONT *f; /* font */ if (f->fg[*tp++&0xff] == NULL) *sp++ = 0; else - linelen += *sp++ = 256; + linelen += *sp++ = 255; return(linelen); } @@ -175,11 +173,12 @@ int cis; /* intercharacter spacing */ int linelen; register GLYPH *gp; + linelen = 0; gp = NULL; while (*tp && (gp = f->fg[*tp++&0xff]) == NULL) *sp++ = 0; cis /= 2; - linelen = *sp = cis; + *sp = cis; while (gp != NULL) { if (gp->nverts) { /* regular character */ linelen += *sp++ += cis - gp->left; @@ -214,9 +213,9 @@ int nsi; /* minimum number of spaces for indent */ /* start by squeezing it */ squeeztext(sp, tp, f, cis); /* now, realign spacing */ - len = 0; - width = alen = *sp++; + width = *sp++; while (*tp) { + len = alen = 0; nsp = sp; for (end = tp; *end; end = tab) { tab = end + 1; @@ -240,8 +239,6 @@ int nsi; /* minimum number of spaces for indent */ *sp++ += alen; len -= alen; } - len = 0; - alen = 0; tp = tab; } return(width);