/**********************************************************************/
/************************ General Definitions ***********************/
/**********************************************************************/
/***********************************************************************
This section should not require modification for either new hosts or new
output devices.
***********************************************************************/
/* Computer Modern has 128 characters (0..127), but Japanese fonts and
extended European Computer Moderns may have up to 256 (0..255)
characters */
#define LASTPXLCHAR 255
#define MAGSIZE(f) ((UNSIGN32)(1000.0*(f) + 0.5))
#ifdef MAX
#undef MAX
#endif
#define MAX(a,b) ((a) > (b) ? (a) : (b))
#define MAXFONTS 32 /* number of fonts per job (HPLJ, Canon A2) */
#define MAXMSG 1024 /* message[] size--big enough for 2 file names*/
#define MAXPAGE 999 /* limit on number of pages in a DVI file */
#define MAXREQUEST 256 /* limit on number of explicit page print
requests */
#define MAXSPECIAL 500 /* limit on \special{} string size; it need not
be larger than TeX's compile-time parameter
buf_siz, which is 500 in Standard TeX-82 */
#define MAXSTR 257 /* DVI file text string size */
#define MAXFORMATS 12 /* number of font file naming formats */
#define MIN_M -500 /* GF character image extents */
#define MAX_M 1500
#define MIN_N -500
#define MAX_N 1500
#ifdef MIN
#undef MIN
#endif
#define MIN(a,b) ((a) < (b) ? (a) : (b))
#if (OS_ATARI | OS_PCDOS | OS_IBMOS2 | OS_TOPS20)
#define NEWLINE(fp) {(void)putc((char)'\r',fp);(void)putc((char)'\n',fp);}
/* want <CR><LF> for these systems */
#else
#define NEWLINE(fp) (void)putc((char)'\n',fp) /* want bare <LF> */
#endif
#define NPXLCHARS 256
#define ONES ~0 /* a word of all one bits */
#define OUTC(c) (void)putc((char)(c),plotfp)
#define OUTF(fmt,v) (void)fprintf(plotfp,fmt,v)
#define OUTF2(fmt,u,v) (void)fprintf(plotfp,fmt,u,v)
#define OUTF3(fmt,u,v,w) (void)fprintf(plotfp,fmt,u,v,w)
#define OUTS(s) (void)fputs(s,plotfp)