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 DVI_STACKSIZE (100) /* maximum stack size for dvi files */ /* * Our memory type declarations. */ #define MEMF_CLEAR (1) /* * No file. */ #define NOFILETITLE "A clue, my life for a clue" /* * 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.