#define USEPXL /* * default font path * can be overridden by environment variable TEXPXL * or -a command line option * popular choice: * #define FONTAREA "/usr/local/lib/tex/fonts/pk" */ #ifndef FONTAREA #ifdef vms #define FONTAREA "tex$pkdir:" #else #ifdef _AMIGA #define FONTAREA "TeX:pk" #else #define FONTAREA "/usr/local/lib/tex/pk300" #endif #endif #endif /* if DO_SUBDIRECTORIES is specified, search to this depth */ #ifndef MAX_SUBDIR_SEARCH_DEPTH #define MAX_SUBDIR_SEARCH_DEPTH 10 #endif /* * if your LaserJet II P or LaserJet III or LaserJet 2000 * complains about not enough memory, you might try to reduce * the value below or uncomment to use the default settings */ #ifdef LJ2P #define MAX_FONTS_PER_PAGE 255 /* maximum number of fonts per page */ #endif /* Timing is not very portable.... if you have troubles, use * -DNO_TIMING in the Makefile */ #ifdef u3b2 #define NO_TIMING #endif #ifdef _AMIGA #define NO_TIMING #endif #ifndef NO_TIMING #define TIMING #endif /* * per default use MakeTexPK in unix environments unless it is not wanted */ #ifdef unix #ifndef MAKETEXPK /* name of the program which is called to generate missing pk files */ #define MAKETEXPK "MakeTeXPK" #endif #endif #ifdef _AMIGA #ifndef MAKETEXPK /* name of the program which is called to generate missing pk files */ #define MAKETEXPK "MakeTeXPK" #endif #endif #ifdef NO_MAKETEXPK #undef MAKETEXPK #endif /* * assure that LJ2P is defined when LJ4 is defined; * compile with support for LJ4's resident fonts */ #ifdef LJ4 #define LJ2P #define LJ_RESIDENT_FONTS #endif /* * assure that LJ2 is defined when LJ2P is defined */ #ifdef LJ2P #ifndef LJ2 #define LJ2 #endif #endif /* * assure that LJ is defined when LJ2 of LJ4 is defined */ #if defined(LJ2) #ifndef LJ #define LJ #endif #endif /* * assure that IBM3812 is not defined when LJ is defined */ #ifdef LJ #ifdef IBM3812 #undef IBM3812 #endif #endif #ifdef LJ_RESIDENT_FONTS #ifndef DEFAULT_TFM_PATH #define DEFAULT_TFM_PATH "/usr/local/lib/tex/fonts" #endif #endif #define TRUE (bool) 1 #define FALSE (bool) 0 #define UNKNOWN -1 #define STRSIZE 255 /* stringsize for file specifications */ typedef char bool; #ifdef hpux typedef char signed_char; #else #ifdef vms typedef char signed_char; #else #ifdef u3b2 typedef short signed_char; #else /* this is the default !! */ typedef signed char signed_char; #endif #endif #endif #if !defined(u3b2) && !defined(alpha) #define ARITHMETIC_RIGHT_SHIFT #endif #ifdef alpha #define long int #endif bool findfile(); /* * maximal number of characters in font file * #define LASTFNTCHAR 127 7-bit classic version * #define LASTFNTCHAR 255 8-bit fonts */ #ifdef SEVENBIT #define LASTFNTCHAR 127 #else #define LASTFNTCHAR 255 #endif /* this information is needed in findfile.c and dvi2xx.c, NO CUSTOMIZATION */ #ifdef LJ #ifdef LJ4 #define RESOLUTION 600 /*#define MFMODE "hplf"*/ /* mode definition for metafont */ #define MFMODE "CanonCX" /* mode definition for metafont */ #else #define RESOLUTION 300 #define MFMODE "imagen" /* mode definition for metafont */ #endif #endif #ifdef IBM3812 #define RESOLUTION 240 #define MFMODE "IBMThreeEightOneTwo" /* mode definition for metafont */ #endif #ifdef unix #define OS "Unix" #define READ_BINARY "r" #define WRITE_BINARY "w" #define labs(x) abs(x) #endif #ifdef MSDOS #define OS "MS-DOS" #define READ_BINARY "rb" #define WRITE_BINARY "wb" #define MSC5 #endif #ifdef OS2 #define OS "OS/2" #define READ_BINARY "rb" #define WRITE_BINARY "wb" #define MSC5 #endif #ifdef vms #define OS "VMS" #include #include #define ftell vms_ftell /* use some external routines, because */ #define fseek vms_fseek /* of some bugs in the VMS run time */ #define getchar vms_getchar /* library */ #define getenv vms_getenv #define ungetc vms_ungetc #define getname vms_getname #define READ_BINARY "rb" #define WRITE_BINARY "wb","rfm=fix","bls=512","mrs=512" /* fixed records */ #define labs(x) abs(x) #endif #ifdef _AMIGA #define OS "Amiga" #define READ_BINARY "r" #define WRITE_BINARY "w" #ifdef __SASC #define sys_errlist __sys_errlist #include #endif #endif /* Information returned by tfm_read_info. */ typedef struct { /* These string lengths are imposed by the TFM format. Either of these values may be the empty string. */ char coding_scheme[40]; char family[20]; /* The second fontdimen. */ unsigned interword; /* These values are what will work to select the font in PCL. If this TFM file doesn't have the `KN' extensions (distinguishable by the family == "HPAUTOTFM"). */ #define SPACING_FIXED 0 #define SPACING_PROPORTIONAL 1 unsigned spacing; int weight; unsigned style; unsigned typeface_id; /* TFM files can always have 256 characters, even if we're using the old pixel format that only supports 128. The values are fix-words scaled by the design size; i.e., straight from the TFM file. */ long widths[256]; } tfm_info_type;