home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / groff / eqn / pbox.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-04-30  |  3.8 KB  |  134 lines

  1. // -*- C++ -*-
  2. /* Copyright (C) 1989, 1990 Free Software Foundation, Inc.
  3.      Written by James Clark (jjc@jclark.uucp)
  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 1, 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 LICENSE.  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 INDEX_REG PREFIX "i"
  107. #define TEMP_MACRO PREFIX "tempmac"
  108.  
  109. #define DELIMITER_CHAR "\\(EQ"
  110.  
  111. const int CRAMPED_SCRIPT_STYLE = 0;
  112. const int SCRIPT_STYLE = 1;
  113. const int CRAMPED_DISPLAY_STYLE = 2;
  114. const int DISPLAY_STYLE = 3;
  115.  
  116. extern int script_style(int);
  117. extern int cramped_style(int);
  118.  
  119. const int ORDINARY_TYPE = 0;
  120. const int OPERATOR_TYPE = 1;
  121. const int BINARY_TYPE = 2;
  122. const int RELATION_TYPE = 3;
  123. const int OPENING_TYPE = 4;
  124. const int CLOSING_TYPE = 5;
  125. const int PUNCTUATION_TYPE = 6;
  126. const int INNER_TYPE = 7;
  127. const int SUPPRESS_TYPE = 8;
  128.  
  129. void set_script_size();
  130.  
  131. enum { HINT_PREV_IS_ITALIC = 01, HINT_NEXT_IS_ITALIC = 02 };
  132.  
  133. extern const char *current_roman_font;
  134.