Just checking in
[unix-history] / usr / src / local / ditroff / ditroff.okeeffe / dev.h
/*
dev.h: characteristics of a typesetter
*/
struct dev {
unsigned short filesize; /* number of bytes in file, */
/* excluding dev part */
short res; /* basic resolution in goobies/inch */
short hor; /* goobies horizontally */
short vert;
short unitwidth; /* size at which widths are given, in effect */
short nfonts; /* number of fonts physically available */
short nsizes; /* number of sizes it has */
short sizescale; /* scaling for fractional point sizes */
short paperwidth; /* max line length in units */
short paperlength; /* max paper length in units */
short nchtab; /* number of funny names in chtab */
short lchname; /* length of chname table */
short spare1; /* #chars in largest ever font */
short spare2; /* in case of expansion */
};
struct Font { /* characteristics of a font */
char nwfont; /* number of width entries for this font */
char specfont; /* 1 == special font */
char ligfont; /* 1 == ligatures exist on this font */
char spare1; /* unused for now */
char fonttab; /* 1 == use extra table for fontnumbers */
char slant; /* if set, slant font by slant degrees */
char namefont[10]; /* name of this font (e.g., "R" */
char intname[10]; /* internal name (=number) on device, in ascii */
};
/* ligatures, ORed into ligfont */
#define LFF 01
#define LFI 02
#define LFL 04
#define LFFI 010
#define LFFL 020
/*
* Notes by jaap:
*
* spare1 int struct dev is also known as biggestfont
*
* in Font struvture is added:
* fonttab: if set to 1, the Font.out has an extra
* table of shorts which gives the physical font
* on which the chracter lives. Allows mapping of
* "logial fonts" into variuos physical fonts on the
* device. Needed since the Harris f.i. has a weird font
* lay-out. Also makes fonts consisting of weird
* character combinations easier.
* slant: The font can must be slanted to force italics (function
* of back-end, necessary for f.i. the Harris, which
* doesn't has italics for the sans-serif fonts; these
* italics have to be made by slanting)
*/