V10/cmd/troff/font.h

/*
	font.h: characteristics of fonts
*/

typedef struct {	/* data on one character */
	short	num;		/* character number:
					0 -> not on this font
					>= 128 -> its number among all Cxy's */
	uchar	wid;		/* width */
	uchar	kern;		/* ascender/descender */
	short	code;		/* char code for actual device.  used for \N */
} Chwid;

typedef struct {	/* characteristics of a font */
	short	name;		/* short name, e.g., BI (2 chars) */
	char	longname[10];	/* long name of this font (e.g., "Bembo" */
	short	nchars;		/* number of width entries for this font */
	char	specfont;	/* 1 == special font */
	short	spacewidth;	/* width of space on this font */
	Chwid	*wp;		/* widths, etc., of the real characters */
	char	ligfont;	/* 1 == ligatures exist on this font */
} Font;

/* ligatures, ORed into ligfont */

#define	LFF	01
#define	LFI	02
#define	LFL	04
#define	LFFI	010
#define	LFFL	020

extern	int	nchnames;	/* number of Cxy names currently seen */
extern	char	*chnames[];	/* chnames[n-128] -> name of char n */
extern	char	*chname();	/* maps n >= 128 to name of char */