Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.9 KiB

  1. /***************************************************************************
  2. * ELSEUSER.H - Supplemental header file with compiler flags for the
  3. * ElseWare PANOSE(tm) font mapper.
  4. *
  5. * $keywords: elseuser.h 1.8 19-Jul-93 11:11:47 AM$
  6. *
  7. * Copyright (C) 1991-93 ElseWare Corporation. All rights reserved.
  8. ***************************************************************************/
  9. #ifndef __ELSEUSER_H__
  10. #define __ELSEUSER_H__
  11. /* Compiler flags.
  12. *
  13. * NOELSEARGS - Suppress argument list in procedure prototypes.
  14. * NOELSEPANCONST - Suppress list of PANOSE constants.
  15. * NOELSEPANDATA - Suppress penalty db, see details below.
  16. * NOELSEPANSCRIPT - Suppress constants for Latin Script.
  17. * NOELSEPANKANJI - Suppress PANOSE constants for Kanji.
  18. * NOELSEPICKFONTS - Excludes unPANPickFonts(), and default routines.
  19. * NOELSETHRESHOLD - Excludes threshold routines.
  20. * NOELSEWEIGHTS - Exclude mapper custom weight controls.
  21. * ELSEPENALTYDB - Include constants and structures for penalty tables.
  22. *
  23. * PAN_MATCH_ERROR <val> - Match result indicating no match, should equal
  24. * the max allowable unsigned value for EW_USHORT.
  25. *
  26. * ELSEMAXSHORT <val> - The maximum allowable positive signed value for
  27. * EW_SHORT (should be less than PAN_MATCH_ERROR).
  28. *
  29. * ELSEDEFTHRESHOLD <val> - Default mapper threshold value (30 if not
  30. * specified). Set equal to ELSEMAXSHORT to
  31. * entirely disable threshold checking.
  32. */
  33. /* Macros.
  34. *
  35. * Override these macros with system-dependant equivalents to improve
  36. * the performance of the mapper.
  37. *
  38. * M_ELSELMUL(a,b) - Long multiply a * b.
  39. * M_ELSELDIV(a,b) - Long divide a / b.
  40. * M_ELSEMULDIV(a,b,c) - Long multiply & divide, a * b / c, rounded.
  41. * M_ELSEMEMCPY(dst,src,len) - memcpy(dst,src,len).
  42. */
  43. /* NOELSEPANDATA: Penalty database override
  44. *
  45. * The default behavior of the mapper is to declare a static data
  46. * structure containing the penalty database. The structure is
  47. * defined in the file PAN1PTBL.H, which is included in ELSEPAN.C.
  48. * The file is generated by the program PAN1PTBL, which reads the
  49. * file PAN1PTBL.TXT.
  50. *
  51. * To override this behavior, define NOELSEPANDATA and provide
  52. * replacements for the following macros:
  53. *
  54. * M_lAllocPAN1DATA() - Allocate database, return 4-byte handle.
  55. * M_lLockPAN1DATA(hData) - Lock penalty database.
  56. * M_bUnlockPAN1DATA(hData) - Unlock penalty database.
  57. * M_bFreePAN1DATA(hData) - Free penalty database.
  58. *
  59. * The PAN1PTBL program can be used to create a binary file containing
  60. * the memory picture of the structure (type the program name at the
  61. * command line to recieve a usage statement).
  62. */
  63. #ifndef MACINTOSH
  64. #define NOELSEPANKANJI
  65. /* overrides for Windows */
  66. #if 0
  67. #ifdef WIN32
  68. int __stdcall MulDiv(int, int, int);
  69. #else
  70. int far pascal MulDiv(int, int, int);
  71. #endif
  72. #endif
  73. #define M_ELSEMULDIV(a, b, c) MulDiv((a), (b), (c))
  74. #include <memory.h>
  75. #ifdef WIN32
  76. #define M_ELSEMEMCPY(dst, src, len) memcpy((dst), (src), (len))
  77. #else
  78. #define M_ELSEMEMCPY(dst, src, len) _fmemcpy((dst), (src), (len))
  79. #endif
  80. #endif /* ! MACINTOSH */
  81. #endif /* ifndef __ELSEUSER_H__ */
  82. /***************************************************************************
  83. * Revision log:
  84. ***************************************************************************/
  85. /*
  86. * $lgb$
  87. * 1.0 21-Jan-93 msd New file taken from project MAI.
  88. * 1.1 31-Jan-93 msd Replaced Expanded PANOSE (1.1) mapper with 10-digit (1.0) mapper.
  89. * 1.2 1-Feb-93 msd Remove _huge reference.
  90. * 1.3 2-Feb-93 msd Removed huge pointer stuff.
  91. * 1.4 3-Feb-93 msd Removed ctrl-Z at EOF.
  92. * 1.5 3-Feb-93 msd Fixed bug caused by vcs check-in.
  93. * 1.6 16-Mar-93 msd Enable PANOSE constants.
  94. * 1.7 27-Apr-93 msd Enabled script constants.
  95. * 1.8 19-Jul-93 msd Added compilation flags to selectively disable mapper routines.
  96. * $lge$
  97. */