225 |
|
/* compute character spacing */ |
226 |
|
i = sndx(tm); |
227 |
|
d = i < tm->oargs.nfargs ? tm->oargs.farg[i] : 0.0; |
228 |
< |
i = d * 256.0; |
228 |
> |
i = d * 255.0; |
229 |
|
t->tl.width = 0; |
230 |
|
for (tlp = t->tl.next; tlp != NULL; tlp = tlp->next) { |
231 |
|
if (i < 0) |
281 |
|
x = DOT(v, tp->right); |
282 |
|
i = sndx(m); |
283 |
|
if (i < m->oargs.nfargs) |
284 |
< |
x *= tp->f->mwidth + 256.*fabs(m->oargs.farg[i]); |
284 |
> |
x *= tp->f->mwidth + 255.*fabs(m->oargs.farg[i]); |
285 |
|
else |
286 |
< |
x *= 256.; |
286 |
> |
x *= 255.; |
287 |
|
h = x; |
288 |
|
i = y = DOT(v, tp->down); |
289 |
|
if (x < 0.0 || y < 0.0) |
290 |
|
return(0); |
291 |
|
x -= (double)h; |
292 |
< |
y = ((i+1) - y)*256.; |
292 |
> |
y = ((i+1) - y)*255.; |
293 |
|
/* find the line position */ |
294 |
|
for (tlp = tp->tl.next; tlp != NULL; tlp = tlp->next) |
295 |
|
if (--i < 0) |
297 |
|
if (tlp == NULL || h >= tlp->width) |
298 |
|
return(0); |
299 |
|
for (i = 0; (h -= tlp->spc[i]) >= 0; i++) |
300 |
< |
if (h < 256 && inglyph(h+x, y, |
300 |
> |
if (h < 255 && inglyph(h+x, y, |
301 |
|
tp->f->fg[TLSTR(tlp)[i]&0xff])) |
302 |
|
return(1); |
303 |
|
return(0); |
305 |
|
|
306 |
|
|
307 |
|
inglyph(x, y, gl) /* (x,y) within font glyph gl? */ |
308 |
< |
double x, y; /* real coordinates in range [0,256) */ |
308 |
> |
double x, y; /* real coordinates in range [0,255) */ |
309 |
|
register GLYPH *gl; |
310 |
|
{ |
311 |
|
int n, ncross; |