home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / gnu / groff-1.09-src.lha / src / amiga / groff-1.09 / eqn / pbox.h < prev    next >
C/C++ Source or Header  |  1992-08-21  |  4KB  |  142 lines

  1. // -*- C++ -*-
  2. /* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
  3.      Written by James Clark (jjc@jclark.com)
  4.  
  5. This file is part of groff.
  6.  
  7. groff is free software; you can redistribute it and/or modify it under
  8. the terms of the GNU General Public License as published by the Free
  9. Software Foundation; either version 2, or (at your option) any later
  10. version.
  11.  
  12. groff is distributed in the hope that it will be useful, but WITHOUT ANY
  13. WARRANTY; without even the implied warranty of MERCHANTABILITY or
  14. FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  15. for more details.
  16.  
  17. You should have received a copy of the GNU General Public License along
  18. with groff; see the file COPYING.  If not, write to the Free Software
  19. Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  20.  
  21. extern int fat_offset;
  22.  
  23. extern int over_hang;
  24. extern int accent_width;
  25.  
  26. extern int delimiter_factor;
  27. extern int delimiter_shortfall;
  28.  
  29. extern int null_delimiter_space;
  30. extern int script_space;
  31. extern int thin_space;
  32. extern int medium_space;
  33. extern int thick_space;
  34.  
  35. extern int num1;
  36. extern int num2;
  37. // we don't use num3, because we don't have \atop
  38. extern int denom1;
  39. extern int denom2;
  40. extern int axis_height;
  41. extern int sup1;
  42. extern int sup2;
  43. extern int sup3;
  44. extern int default_rule_thickness;
  45. extern int sub1;
  46. extern int sub2;
  47. extern int sup_drop;
  48. extern int sub_drop;
  49. extern int x_height;
  50. extern int big_op_spacing1;
  51. extern int big_op_spacing2;
  52. extern int big_op_spacing3;
  53. extern int big_op_spacing4;
  54. extern int big_op_spacing5;
  55.  
  56. extern int baseline_sep;
  57. extern int shift_down;
  58. extern int column_sep;
  59. extern int matrix_side_sep;
  60.  
  61. // ms.eqn relies on this!
  62.  
  63. #define LINE_STRING "10"
  64. #define MARK_OR_LINEUP_FLAG_REG "MK"
  65.  
  66. #define WIDTH_FORMAT PREFIX "w%d"
  67. #define HEIGHT_FORMAT PREFIX "h%d"
  68. #define DEPTH_FORMAT PREFIX "d%d"
  69. #define TOTAL_FORMAT PREFIX "t%d"
  70. #define SIZE_FORMAT PREFIX "z%d"
  71. #define SMALL_SIZE_FORMAT PREFIX "Z%d"
  72. #define SUP_RAISE_FORMAT PREFIX "p%d"
  73. #define SUB_LOWER_FORMAT PREFIX "b%d"
  74. #define SUB_KERN_FORMAT PREFIX "k%d"
  75. #define FONT_FORMAT PREFIX "f%d"
  76. #define SKEW_FORMAT PREFIX "s%d"
  77. #define LEFT_WIDTH_FORMAT PREFIX "lw%d"
  78. #define LEFT_DELIM_STRING_FORMAT PREFIX "l%d"
  79. #define RIGHT_DELIM_STRING_FORMAT PREFIX "r%d"
  80. #define SQRT_STRING_FORMAT PREFIX "sqr%d"
  81. #define SQRT_WIDTH_FORMAT PREFIX "sq%d"
  82. #define BASELINE_SEP_FORMAT PREFIX "bs%d"
  83. // this needs two parameters, the uid and the column index
  84. #define COLUMN_WIDTH_FORMAT PREFIX "cw%d,%d"
  85.  
  86. #define BAR_STRING PREFIX "sqb"
  87. #define TEMP_REG PREFIX "temp"
  88. #define MARK_REG PREFIX "mark"
  89. #define MARK_WIDTH_REG PREFIX "mwidth"
  90. #define SAVED_MARK_REG PREFIX "smark"
  91. #define MAX_SIZE_REG PREFIX "mxsz"
  92. #define REPEAT_APPEND_STRING_MACRO PREFIX "ras"
  93. #define TOP_HEIGHT_REG PREFIX "th"
  94. #define TOP_DEPTH_REG PREFIX "td"
  95. #define MID_HEIGHT_REG PREFIX "mh"
  96. #define MID_DEPTH_REG PREFIX "md"
  97. #define BOT_HEIGHT_REG PREFIX "bh"
  98. #define BOT_DEPTH_REG PREFIX "bd"
  99. #define EXT_HEIGHT_REG PREFIX "eh"
  100. #define EXT_DEPTH_REG PREFIX "ed"
  101. #define TOTAL_HEIGHT_REG PREFIX "tot"
  102. #define DELTA_REG PREFIX "delta"
  103. #define DELIM_STRING PREFIX "delim"
  104. #define DELIM_WIDTH_REG PREFIX "dwidth"
  105. #define SAVED_FONT_REG PREFIX "sfont"
  106. #define SAVED_PREV_FONT_REG PREFIX "spfont"
  107. #define SAVED_INLINE_FONT_REG PREFIX "sifont"
  108. #define SAVED_INLINE_PREV_FONT_REG PREFIX "sipfont"
  109. #define SAVED_SIZE_REG PREFIX "ssize"
  110. #define SAVED_INLINE_SIZE_REG PREFIX "sisize"
  111. #define SAVED_INLINE_PREV_SIZE_REG PREFIX "sipsize"
  112. #define SAVE_FONT_STRING PREFIX "sfont"
  113. #define RESTORE_FONT_STRING PREFIX "rfont"
  114. #define INDEX_REG PREFIX "i"
  115. #define TEMP_MACRO PREFIX "tempmac"
  116.  
  117. #define DELIMITER_CHAR "\\(EQ"
  118.  
  119. const int CRAMPED_SCRIPT_STYLE = 0;
  120. const int SCRIPT_STYLE = 1;
  121. const int CRAMPED_DISPLAY_STYLE = 2;
  122. const int DISPLAY_STYLE = 3;
  123.  
  124. extern int script_style(int);
  125. extern int cramped_style(int);
  126.  
  127. const int ORDINARY_TYPE = 0;
  128. const int OPERATOR_TYPE = 1;
  129. const int BINARY_TYPE = 2;
  130. const int RELATION_TYPE = 3;
  131. const int OPENING_TYPE = 4;
  132. const int CLOSING_TYPE = 5;
  133. const int PUNCTUATION_TYPE = 6;
  134. const int INNER_TYPE = 7;
  135. const int SUPPRESS_TYPE = 8;
  136.  
  137. void set_script_size();
  138.  
  139. enum { HINT_PREV_IS_ITALIC = 01, HINT_NEXT_IS_ITALIC = 02 };
  140.  
  141. extern const char *current_roman_font;
  142.