1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
#define MAXMARKCHAR 255 /* >= 255 */
#define NONEXISTANT -1 /* offset for raster files not found */
struct rastchar_entry { /* character entry */
unsigned short width, height;/* width and height in pixels */
short xoffset, yoffset; /* x offset and y offset in pixels */
short dev_font, dev_char;
unsigned short nbpl; /* # of bytes per pixel data line */
union {
unsigned int fileoffset;
char *pixptr;
} where;
int tfmw; /* TFM width */
};
struct rastfntinfo {
float corrfact;
int nfntchars;
int dictform; /* form of dev_font dictionary */
struct rastchar_entry ch[1]; /* character information */
};
/* form of dictionary */
#define PACK 0
#define DVI 1
#ifdef ANSI
#define rastfinfo(fe) (*(struct rastfntinfo **)&(fe->finfo))
#else
#define rastfinfo(fe) ((struct rastfntinfo *)(fe->finfo))
#endif
/* used to pass information from access to initfontinfo */
struct rastaccessinfo {
/* int font_mag; */
float corrfact;
};
/* used to pass information from initfontinfo to readfontinfo
and to pass marking information */
struct rastinitfontinfo {
float corrfact;
int maxc;
Boolean mark[1];
};
#ifdef ANSI
#define rastaccinfo(fe) (*(struct rastaccessinfo **)&(fe->finfo))
#define rastinifinfo(fe) (*(struct rastinitfontinfo **)&(fe->finfo))
#else
#define rastaccinfo(fe) ((struct rastaccessinfo *)(fe->finfo))
#define rastinifinfo(fe) ((struct rastinitfontinfo *)(fe->finfo))
#endif
struct rastfntinfo *alloc_rastfinfo();
DEV_FONT rast_fontdict();
/*
* Interface with device driver
*/
void dev_rast_initfe();
void dev_rast_initfontdict();
|