home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume26 / hp2pbm / part02 / hptopbm.h < prev    next >
C/C++ Source or Header  |  1991-12-11  |  3KB  |  145 lines

  1. /*
  2.     Copyright 1989, 1990, 1991 Chris Lewis
  3.     All Rights Reserved
  4.  
  5.     Permission to copy and further distribute is freely given provided
  6.     this copyright notice remains intact, that this software is not
  7.     sold for profit, that credit is given, and that sources will be made
  8.     available on request.
  9.  
  10.     This software is a subset of Psroff 3.0.  See the LICENSE file
  11.     in Psroff 3.0 for more details, or contact:
  12.  
  13.     Chris Lewis
  14.     Box 124
  15.     Dunrobin, Ontario
  16.     Canada K0A 1T0
  17.     (613) 832-0541
  18.  
  19.     Function: Header file for hp2pbm.  1.1 91/12/03 00:34:41
  20.  */
  21.  
  22. #define    VERSION    "hp2pbm V1.00"
  23.  
  24. #include <stdio.h>
  25. #include <ctype.h>
  26.  
  27. #ifndef    LIBDIR
  28. #define    LIBDIR    ".."
  29. #endif
  30.  
  31. #ifdef    FAXPAK
  32. #include "faxpak.h"
  33. #endif
  34.  
  35. #ifdef    BSD
  36. #include <strings.h>
  37. #define    strchr    index
  38. #define    strrchr    rindex
  39. #else
  40. #include <string.h>
  41. #endif
  42.  
  43. #include <varargs.h>
  44.  
  45. /* CONFIG: These aren't really used if hp2*'s sole purpose is a filter */
  46. #define    BINFILE        "FONTS/f%d"
  47. #define    DESCFILE    "FONTS/f%d.desc"
  48. #ifndef    FAXPAK
  49. #define    BUILTINDIR    "%s/BITMAPS/%s"
  50. #endif
  51.  
  52. #define    TOP_MARGIN    3    /* half inch, 300/6lpi = 3 lines */
  53. #define    LEFT_MARGIN    0    /* char column pos, not dots */
  54.  
  55. /* CONFIG: if !A4, define your default paper size (A4/LETTER are best for fax) */
  56. #if    (!A4) && (!LETTER) && (!LEGAL) && (!B5)
  57. #define    A4    1
  58. #endif
  59.  
  60. #if    LETTER
  61. #define    PAGE_LEN    66
  62. #define    RITE_MARGIN    80
  63. #endif
  64.  
  65. #if    A4
  66. #define    PAGE_LEN    70
  67. #define    RITE_MARGIN    77
  68. #endif
  69.  
  70. #if    LEGAL
  71. #define    PAGE_LEN    84
  72. #define    RITE_MARGIN    80
  73. #endif
  74.  
  75. #if    B5
  76. #define    PAGE_LEN    60
  77. #define    RITE_MARGIN    66
  78. #endif
  79.  
  80. #define    PRIMARY        1
  81. #define    SECONDARY    2
  82.  
  83. #define    PERMANENT    3
  84. #define    TEMPORARY    4
  85.  
  86. #define    MAX_PUSHNPOP    256    /* I haven't got a clue what the hp limit is */
  87. #define    SAVE        1
  88. #define    RESTORE        2
  89.  
  90. #define    MAX_BUILTIN    8
  91. #define    MAX_DOWNLOAD    32
  92.  
  93. #define    LINEPRINTER    0
  94. #define    notyet1        1
  95. #define    notyet2        2
  96. #define    COURIER        3
  97. #define    notyet4        4
  98. #define    notyet5        5
  99. #define    notyet6        6
  100. #define    notyet7        7
  101.  
  102. #define    uchar    unsigned char
  103.  
  104. struct fontdesc
  105. {
  106.     short f1;
  107.     uchar f2;
  108.     uchar fd_type;
  109.     short f3;
  110.     short fd_base;
  111.     short fd_cellwidth;
  112.     short fd_cellheight;
  113.     uchar fd_orientation;
  114.     uchar fd_fixedprop;
  115.     short fd_symset;
  116.     short fd_pitch;
  117.     short fd_height;
  118.     short f4;
  119.     uchar f5;
  120.     uchar fd_style;
  121.     uchar fd_weight;
  122.     uchar fd_typeface;
  123. };
  124.  
  125. struct download {
  126.     uchar f1;
  127.     uchar f2;
  128.     uchar f3;
  129.     uchar f4;
  130.     uchar dl_orientation;
  131.     uchar f5;
  132.     short dl_leftoffset;
  133.     short dl_topoffset;
  134.     short dl_charwidth;
  135.     short dl_charheight;
  136.     short dl_deltax;
  137. };
  138.  
  139. #ifndef    FALSE
  140. #define    FALSE    0
  141. #endif
  142. #ifndef    TRUE
  143. #define    TRUE    1
  144. #endif
  145.