/*************************************************************************** * ELSEUSER.H - Supplemental header file with compiler flags for the * ElseWare PANOSE(tm) font mapper. * * $keywords: elseuser.h 1.8 19-Jul-93 11:11:47 AM$ * * Copyright (C) 1991-93 ElseWare Corporation. All rights reserved. ***************************************************************************/ #ifndef __ELSEUSER_H__ #define __ELSEUSER_H__ /* Compiler flags. * * NOELSEARGS - Suppress argument list in procedure prototypes. * NOELSEPANCONST - Suppress list of PANOSE constants. * NOELSEPANDATA - Suppress penalty db, see details below. * NOELSEPANSCRIPT - Suppress constants for Latin Script. * NOELSEPANKANJI - Suppress PANOSE constants for Kanji. * NOELSEPICKFONTS - Excludes unPANPickFonts(), and default routines. * NOELSETHRESHOLD - Excludes threshold routines. * NOELSEWEIGHTS - Exclude mapper custom weight controls. * ELSEPENALTYDB - Include constants and structures for penalty tables. * * PAN_MATCH_ERROR - Match result indicating no match, should equal * the max allowable unsigned value for EW_USHORT. * * ELSEMAXSHORT - The maximum allowable positive signed value for * EW_SHORT (should be less than PAN_MATCH_ERROR). * * ELSEDEFTHRESHOLD - Default mapper threshold value (30 if not * specified). Set equal to ELSEMAXSHORT to * entirely disable threshold checking. */ /* Macros. * * Override these macros with system-dependant equivalents to improve * the performance of the mapper. * * M_ELSELMUL(a,b) - Long multiply a * b. * M_ELSELDIV(a,b) - Long divide a / b. * M_ELSEMULDIV(a,b,c) - Long multiply & divide, a * b / c, rounded. * M_ELSEMEMCPY(dst,src,len) - memcpy(dst,src,len). */ /* NOELSEPANDATA: Penalty database override * * The default behavior of the mapper is to declare a static data * structure containing the penalty database. The structure is * defined in the file PAN1PTBL.H, which is included in ELSEPAN.C. * The file is generated by the program PAN1PTBL, which reads the * file PAN1PTBL.TXT. * * To override this behavior, define NOELSEPANDATA and provide * replacements for the following macros: * * M_lAllocPAN1DATA() - Allocate database, return 4-byte handle. * M_lLockPAN1DATA(hData) - Lock penalty database. * M_bUnlockPAN1DATA(hData) - Unlock penalty database. * M_bFreePAN1DATA(hData) - Free penalty database. * * The PAN1PTBL program can be used to create a binary file containing * the memory picture of the structure (type the program name at the * command line to recieve a usage statement). */ #ifndef MACINTOSH #define NOELSEPANKANJI /* overrides for Windows */ #if 0 #ifdef WIN32 int __stdcall MulDiv(int, int, int); #else int far pascal MulDiv(int, int, int); #endif #endif #define M_ELSEMULDIV(a, b, c) MulDiv((a), (b), (c)) #include #ifdef WIN32 #define M_ELSEMEMCPY(dst, src, len) memcpy((dst), (src), (len)) #else #define M_ELSEMEMCPY(dst, src, len) _fmemcpy((dst), (src), (len)) #endif #endif /* ! MACINTOSH */ #endif /* ifndef __ELSEUSER_H__ */ /*************************************************************************** * Revision log: ***************************************************************************/ /* * $lgb$ * 1.0 21-Jan-93 msd New file taken from project MAI. * 1.1 31-Jan-93 msd Replaced Expanded PANOSE (1.1) mapper with 10-digit (1.0) mapper. * 1.2 1-Feb-93 msd Remove _huge reference. * 1.3 2-Feb-93 msd Removed huge pointer stuff. * 1.4 3-Feb-93 msd Removed ctrl-Z at EOF. * 1.5 3-Feb-93 msd Fixed bug caused by vcs check-in. * 1.6 16-Mar-93 msd Enable PANOSE constants. * 1.7 27-Apr-93 msd Enabled script constants. * 1.8 19-Jul-93 msd Added compilation flags to selectively disable mapper routines. * $lge$ */