home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / g / gs241j11.zip / INCLUDE.SNF / BDFTOSNF.H next >
C/C++ Source or Header  |  1992-04-07  |  4KB  |  136 lines

  1. #ifdef SYSV
  2. #include <memory.h>
  3. #define bzero(b,length) memset(b,0,length)
  4. /* these are not strictly equivalent, but suffice for uses here */
  5. #define bcopy(b1,b2,length) memcpy(b2,b1,length)
  6. #endif /* SYSV */
  7.  
  8. #ifndef MIN
  9. #define MIN(a,b) ((a)>(b)?(b):(a))
  10. #endif
  11. #ifndef MAX
  12. #define MAX(a,b) ((a)>(b)?(a):(b))
  13. #endif
  14.  
  15. typedef struct _GlyphMap {
  16.     char    *bits;
  17.     int        h;
  18.     int        w;
  19.     int        widthBytes;
  20. } GlyphMap;
  21.  
  22. /*
  23.  * a structure to hold all the pointers to make it easy to pass them all
  24.  * around. Much like the FONT structure in the server.
  25.  */
  26.  
  27. typedef struct _TempFont {
  28.     FontInfoPtr pFI;
  29.     CharInfoPtr pCI;
  30.     unsigned char *pGlyphs;
  31.     FontPropPtr pFP;
  32.     CharInfoPtr pInkCI;
  33.     CharInfoPtr pInkMin;
  34.     CharInfoPtr pInkMax;
  35. } TempFont; /* not called font since collides with type in X.h */
  36.  
  37. #ifdef vax
  38.  
  39. #    define DEFAULTGLPAD     1        /* default padding for glyphs */
  40. #    define DEFAULTBITORDER     LSBFirst    /* default bitmap bit order */
  41. #    define DEFAULTBYTEORDER LSBFirst    /* default bitmap byte order */
  42. #    define DEFAULTSCANUNIT    1        /* default bitmap scan unit */
  43. #else
  44. # ifdef sun
  45.  
  46. #  if (sun386 || sun5)
  47. #    define DEFAULTGLPAD     4        /* default padding for glyphs */
  48. #    define DEFAULTBITORDER     LSBFirst    /* default bitmap bit order */
  49. #    define DEFAULTBYTEORDER LSBFirst    /* default bitmap byte order */
  50. #    define DEFAULTSCANUNIT    1        /* default bitmap scan unit */
  51. #  else
  52. #    define DEFAULTGLPAD     4        /* default padding for glyphs */
  53. #    define DEFAULTBITORDER     MSBFirst    /* default bitmap bit order */
  54. #    define DEFAULTBYTEORDER MSBFirst    /* default bitmap byte order */
  55. #    define DEFAULTSCANUNIT    1        /* default bitmap scan unit */
  56. #  endif
  57.  
  58. # else
  59. #  ifdef apollo
  60.  
  61. #    define DEFAULTGLPAD     2        /* default padding for glyphs */
  62. #    define DEFAULTBITORDER     MSBFirst    /* default bitmap bit order */
  63. #    define DEFAULTBYTEORDER MSBFirst    /* default bitmap byte order */
  64. #    define DEFAULTSCANUNIT    1        /* default bitmap scan unit */
  65.  
  66. #  else
  67. #   ifdef ibm032
  68.  
  69. #    define DEFAULTGLPAD     1        /* default padding for glyphs */
  70. #    define DEFAULTBITORDER     MSBFirst    /* default bitmap bit order */
  71. #    define DEFAULTBYTEORDER MSBFirst    /* default bitmap byte order */
  72. #    define DEFAULTSCANUNIT    1        /* default bitmap scan unit */
  73.  
  74. #   else
  75. #    ifdef hpux
  76.  
  77. #    define DEFAULTGLPAD     2        /* default padding for glyphs */
  78. #    define DEFAULTBITORDER     MSBFirst    /* default bitmap bit order */
  79. #    define DEFAULTBYTEORDER MSBFirst    /* default bitmap byte order */
  80. #    define DEFAULTSCANUNIT    1        /* default bitmap scan unit */
  81.  
  82. #    else
  83. #     ifdef pegasus
  84.  
  85. #    define DEFAULTGLPAD     4        /* default padding for glyphs */
  86. #    define DEFAULTBITORDER     MSBFirst    /* default bitmap bit order */
  87. #    define DEFAULTBYTEORDER MSBFirst    /* default bitmap byte order */
  88. #    define DEFAULTSCANUNIT    1        /* default bitmap scan unit */
  89.  
  90. #     else
  91. #      ifdef macII
  92.  
  93. #       define DEFAULTGLPAD     4               /* default padding for glyphs */
  94. #       define DEFAULTBITORDER  MSBFirst        /* default bitmap bit order */
  95. #    define DEFAULTBYTEORDER MSBFirst    /* default bitmap byte order */
  96. #    define DEFAULTSCANUNIT    1        /* default bitmap scan unit */
  97.  
  98. #      else
  99. #       ifdef mips
  100. #        ifdef MIPSEL
  101.  
  102. #      define DEFAULTGLPAD       4        /* default padding for glyphs */
  103. #      define DEFAULTBITORDER  LSBFirst    /* default bitmap bit order */
  104. #      define DEFAULTBYTEORDER LSBFirst    /* default bitmap byte order */
  105. #      define DEFAULTSCANUNIT  1        /* default bitmap scan unit */
  106.  
  107. #        else
  108. #      define DEFAULTGLPAD       4        /* default padding for glyphs */
  109. #      define DEFAULTBITORDER  MSBFirst    /* default bitmap bit order */
  110. #      define DEFAULTBYTEORDER MSBFirst    /* default bitmap byte order */
  111. #      define DEFAULTSCANUNIT  1        /* default bitmap scan unit */
  112. #        endif
  113. #       else
  114.  
  115. #     define DEFAULTGLPAD     1        /* default padding for glyphs */
  116. #     define DEFAULTBITORDER MSBFirst    /* default bitmap bit order */
  117. #     define DEFAULTBYTEORDER MSBFirst    /* default bitmap byte order */
  118. #     define DEFAULTSCANUNIT    1        /* default bitmap scan unit */
  119.  
  120. #       endif
  121. #      endif
  122. #     endif
  123. #    endif
  124. #   endif
  125. #  endif
  126. # endif
  127. #endif
  128.  
  129. #define GLWIDTHBYTESPADDED(bits,nbytes) \
  130.     ((nbytes) == 1 ? (((bits)+7)>>3)    /* pad to 1 byte */ \
  131.     :(nbytes) == 2 ? ((((bits)+15)>>3)&~1)    /* pad to 2 bytes */ \
  132.     :(nbytes) == 4 ? ((((bits)+31)>>3)&~3)    /* pad to 4 bytes */ \
  133.     :(nbytes) == 8 ? ((((bits)+63)>>3)&~7)    /* pad to 8 bytes */ \
  134.     : 0)
  135.  
  136.