=================================================================== RCS file: /cvs/mandoc/term_ps.c,v retrieving revision 1.33 retrieving revision 1.36 diff -u -p -r1.33 -r1.36 --- mandoc/term_ps.c 2010/07/05 08:46:09 1.33 +++ mandoc/term_ps.c 2010/07/21 08:24:39 1.36 @@ -1,6 +1,6 @@ -/* $Id: term_ps.c,v 1.33 2010/07/05 08:46:09 kristaps Exp $ */ +/* $Id: term_ps.c,v 1.36 2010/07/21 08:24:39 kristaps Exp $ */ /* - * Copyright (c) 2008, 2009 Kristaps Dzonsons + * Copyright (c) 2010 Kristaps Dzonsons * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -39,10 +39,10 @@ /* Convert an AFM unit "x" to a PostScript points */ #define AFM2PNT(p, x) /* LINTED */ \ - (size_t)((double)(x) / (1000.0 / (double)(p)->engine.ps.scale)) + ((double)(x) / (1000.0 / (double)(p)->engine.ps.scale)) struct glyph { - size_t wx; /* WX in AFM */ + unsigned short wx; /* WX in AFM */ }; struct font { @@ -635,8 +635,8 @@ ps_begin(struct termp *p) printf("%%%%Pages: (atend)\n"); printf("%%%%PageOrder: Ascend\n"); printf("%%%%DocumentMedia: Default %zu %zu 0 () ()\n", - AFM2PNT(p, p->engine.ps.width), - AFM2PNT(p, p->engine.ps.height)); + (size_t)AFM2PNT(p, p->engine.ps.width), + (size_t)AFM2PNT(p, p->engine.ps.height)); printf("%%%%DocumentNeededResources: font"); for (i = 0; i < (int)TERMFONT__MAX; i++) printf(" %s", fonts[i].name); @@ -675,7 +675,7 @@ ps_pletter(struct termp *p, int c) */ if ( ! (PS_INLINE & p->engine.ps.flags)) { - ps_printf(p, "%zu %zu moveto\n(", + ps_printf(p, "%.3f %.3f moveto\n(", AFM2PNT(p, p->engine.ps.pscol), AFM2PNT(p, p->engine.ps.psrow)); p->engine.ps.flags |= PS_INLINE; @@ -708,13 +708,13 @@ ps_pletter(struct termp *p, int c) if (c <= 32 || (c - 32 > MAXCHAR)) { ps_putchar(p, ' '); - p->engine.ps.pscol += fonts[f].gly[0].wx; + p->engine.ps.pscol += (size_t)fonts[f].gly[0].wx; return; } ps_putchar(p, (char)c); c -= 32; - p->engine.ps.pscol += fonts[f].gly[c].wx; + p->engine.ps.pscol += (size_t)fonts[f].gly[c].wx; } @@ -901,10 +901,10 @@ ps_width(const struct termp *p, char c) { if (c <= 32 || c - 32 >= MAXCHAR) - return(fonts[(int)TERMFONT_NONE].gly[0].wx); + return((size_t)fonts[(int)TERMFONT_NONE].gly[0].wx); c -= 32; - return(fonts[(int)TERMFONT_NONE].gly[(int)c].wx); + return((size_t)fonts[(int)TERMFONT_NONE].gly[(int)c].wx); } @@ -932,14 +932,14 @@ ps_hspan(const struct termp *p, const struct roffsu *s r = PNT2AFM(p, su->scale * 100); break; case (SCALE_EM): - r = su->scale * + r = su->scale * fonts[(int)TERMFONT_NONE].gly[109 - 32].wx; break; case (SCALE_MM): r = PNT2AFM(p, su->scale * 2.834); break; case (SCALE_EN): - r = su->scale * + r = su->scale * fonts[(int)TERMFONT_NONE].gly[110 - 32].wx; break; case (SCALE_VS):