|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T f
Length: 4169 (0x1049)
Types: TextFile
Names: »font.h«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89
└─⟦this⟧ »./DVIware/laser-setters/dvi-to-ps/pdvi2ps/font.h«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦af5ba6c8e⟧ »unix3.0/DVIWARE.tar.Z«
└─⟦ca79c7339⟧
└─⟦this⟧ »DVIware/laser-setters/dvi-to-ps/pdvi2ps/font.h«
/* modified by Peter Damron 1987 University of Washington */
/*---------------------------------------------------------------------*/
/* $Header: font.h,v 2.0 88/06/07 15:02:12 peterd Rel2 $ */
/*---------------------------------------------------------------------*/
/* constants */
#define MAXFONTCHARS 256
#define PXLID 1001
#ifdef NOTDEF
#define RESOLUTION 300
#define hconvRESOLUTION 300
#define vconvRESOLUTION 300
#define NONEXISTANT -1 /* offset for PXL files not found */
#define NO_FILE (FILE *)-1
#endif NOTDEF
/*---------------------------------------------------------------------*/
/* data structures */
/**********************************************************************/
/*********************** Font Data Structures ***********************/
/**********************************************************************/
typedef struct char_entry *CharEntryType;
struct char_entry { /* character entry */
#ifdef USEPXL
unsigned short width; /* char width in pixels */
unsigned short height; /* char height in pixels */
short xOffset; /* char x offset in pixels */
short yOffset; /* char y offset in pixels */
#endif
struct {
int isloaded; /* has this char been down-loaded */
union {
long fileOffset; /* file offset of char for fseek() */
long *pixptr; /* pointer to char bitmap */
} address;
} where;
int tfmw; /* TFM char width */
};
typedef struct font_entry *FontEntryType;
struct font_entry { /* font entry */
int dvi_fnum; /* font number - from dvi file */
int dvi_check; /* checksum - never checked */
int dvi_s; /* font space size */
int dvi_d; /* font design size */
int dvi_alen; /* area (directory) name length for font name */
int dvi_nlen; /* font style name length */
/* dvi_alen + dvi_nlen == length of dvi_name (name) */
char dvi_name[STRSIZE]; /* FNT_DEF command parameters (??) (font name?) */
int font_space; /* computed from FNT_DEF s parameter */
int font_mag; /* computed from FNT_DEF s and d parameters */
char psname[STRSIZE]; /* PostScript name of the font */
char name[STRSIZE]; /* full name of font file (full path) */
FILE *font_file_id; /* file identifier (NO_FILE if none) */
struct open_font_list *open_font_ptr; /* entry in open font list */
#ifdef USEPXL
int magnification; /* magnification read from PXL file */
int designsize; /* design size read from PXL file */
#endif
struct char_entry ch[MAXFONTCHARS]; /* character information */
struct font_entry *next; /* next font entry in list */
int ncdl; /* # of different chars actually downloaded */
#ifdef STATS
int nbpxl; /* # of bytes of font data downloaded*/
int ncts; /* # characters typeset for this font */
int nopen; /* # file opens requested for this font */
int nclose; /* # file closes performed for this font */
#endif
};
typedef struct open_font_list *OpenFontType;
struct open_font_list
{
FILE *pixel_file_id; /* file identifier */
struct font_entry *font_entry_ptr; /* font entry (fast lookup) */
int use_count; /* count of "opens" */
};
/*---------------------------------------------------------------------*/
/**********************************************************************/
/************************* Global Variables *************************/
/**********************************************************************/
/* font stuff */
extern int G_nopen; /* number of open font files (pxl/gf) */
extern FILE *G_fontfp; /* font file pointer */
extern char *G_fontpath[PATHSIZE]; /* a list of directories for fonts */
extern int G_fontpathsize; /* number of directories on font path */
extern long G_postambleptr; /* Pointer to the postamble */
extern struct font_entry *G_prevfont; /* previous font_entry ptr */
extern struct font_entry *G_fontptr; /* current font_entry ptr */
extern struct font_entry *G_hfontptr; /* head of font_entry list */
extern struct font_entry *G_pfontptr; /* previous font_entry ptr */
extern struct open_font_list G_font_files[MAXOPEN]; /* list of open files */
/*---------------------------------------------------------------------*/