This is structures.h in view mode; [Download] [Up]
/*
* This software is Copyright 1988 by Radical Eye Software.
* All Rights Reserved.
*/
#import <stdio.h>
/*
* Constants, used to expand or decrease the capacity of this program.
* Since all memory is dynamically allocated and the constants in the
* program are due to limitations of TeX or the printer itself, there
* are really few changes that can be made here.
*/
#define RASTERCHUNK (4000) /* size of chunk of raster */
#define MINCHUNK (1000) /* anything this big gets its own chunk */
#define MAXDRIFT (1) /* maximum drift in pixels */
#define MAXFRAME (10) /* maximum depth of virtual font recursion */
#define STACKSIZE (100) /* maximum stack size for dvi files */
/*
* Our memory type declarations.
*/
#define MEMF_CLEAR (1)
/*
* No file.
*/
#define NOFILETITLE ""
/*
* Type declarations. integer must be a 32-bit signed; shalfword must
* be a sixteen-bit signed; halfword must be a sixteen-bit unsigned;
* quarterword must be an eight-bit unsigned.
*/
typedef long integer ;
typedef short shalfword ;
typedef unsigned short halfword ;
typedef unsigned char quarterword ;
typedef float real ;
typedef int Boolean ;
/*
* A chardesc describes an individual character.
*/
typedef struct {
integer TFMwidth ;
quarterword *packptr ; /* only used for virtual fonts */
halfword pixelwidth ;
halfword dummy ;
} chardesctype ;
/*
* A fontdesc describes a font. The name of the font immediately follows
* this structure. Set up for 128 or 256 character fonts.
*/
typedef struct t2 {
chardesctype *chardesc ;
struct t2 *next ;
halfword dpi, loadeddpi ;
halfword alreadyscaled, virtual ;
int maxchars, id ;
struct resfont *resfont ;
struct fontmap *localfonts ;
char name[4] ;
} fontdesctype ;
/*
* A TeXfontdesctype describes a TeX font, which contains a pointer
* to a fontdesc. The name is again located in the string pool.
* These are allocated as they are needed; they are 1048 bytes long.
* The name immediately follows this structure.
*/
typedef struct tfdt {
fontdesctype *loaded ;
struct tfdt *next ;
integer checksum, designsize, scaledsize, thinspace, origssize ;
integer scaledwidth[256] ;
integer wanteddpi ;
char name[4] ;
} TeXfontdesctype ;
/* A fontmap associates a fontdesc with a font number.
*/
typedef struct fontmap {
integer fontnum ;
TeXfontdesctype *tdesc ;
struct fontmap *next ;
} fontmaptype ;
/* Virtual fonts require a `macro' capability that is implemented by
* using a stack of `frames'.
*/
typedef struct {
quarterword *curp, *curl ;
TeXfontdesctype *tfnt ;
fontdesctype *curf ;
fontmaptype *ff ;
} frametype ;
/*
* Crude, crude hack; why is this necessary?
*/
extern int _filbuf() ;
/*
* This is the structure definition for resident fonts. We use
* a small and simple hash table to handle these. We don't need
* a big hash table.
*/
#define RESHASHPRIME (23)
struct resfont {
char *Keyname, *PSname, *TeXname ;
char *specialinstructions ;
char *downloadheader ;
struct resfont *next ;
quarterword sent ;
} ;
#define DEBUG
#define getenv mgetenv
#define pkpath kpse_pk_format
#define tfmpath kpse_tfm_format
#define vfpath kpse_vf_format
#define configpath kpse_dvips_config_format
#define headerpath kpse_dvips_header_format
#define inputspath kpse_pict_format
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.