PageRenderTime 25ms CodeModel.GetById 14ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/groff/src/preproc/eqn/pbox.h

https://bitbucket.org/freebsd/freebsd-head/
C++ Header | 141 lines | 102 code | 17 blank | 22 comment | 0 complexity | e78550a35cc420d1271936bd14718287 MD5 | raw file
  1// -*- C++ -*-
  2/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
  3     Written by James Clark (jjc@jclark.com)
  4
  5This file is part of groff.
  6
  7groff is free software; you can redistribute it and/or modify it under
  8the terms of the GNU General Public License as published by the Free
  9Software Foundation; either version 2, or (at your option) any later
 10version.
 11
 12groff is distributed in the hope that it will be useful, but WITHOUT ANY
 13WARRANTY; without even the implied warranty of MERCHANTABILITY or
 14FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 15for more details.
 16
 17You should have received a copy of the GNU General Public License along
 18with groff; see the file COPYING.  If not, write to the Free Software
 19Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA. */
 20
 21extern int fat_offset;
 22
 23extern int over_hang;
 24extern int accent_width;
 25
 26extern int delimiter_factor;
 27extern int delimiter_shortfall;
 28
 29extern int null_delimiter_space;
 30extern int script_space;
 31extern int thin_space;
 32extern int medium_space;
 33extern int thick_space;
 34
 35extern int num1;
 36extern int num2;
 37// we don't use num3, because we don't have \atop
 38extern int denom1;
 39extern int denom2;
 40extern int axis_height;
 41extern int sup1;
 42extern int sup2;
 43extern int sup3;
 44extern int default_rule_thickness;
 45extern int sub1;
 46extern int sub2;
 47extern int sup_drop;
 48extern int sub_drop;
 49extern int x_height;
 50extern int big_op_spacing1;
 51extern int big_op_spacing2;
 52extern int big_op_spacing3;
 53extern int big_op_spacing4;
 54extern int big_op_spacing5;
 55
 56extern int baseline_sep;
 57extern int shift_down;
 58extern int column_sep;
 59extern 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
119const int CRAMPED_SCRIPT_STYLE = 0;
120const int SCRIPT_STYLE = 1;
121const int CRAMPED_DISPLAY_STYLE = 2;
122const int DISPLAY_STYLE = 3;
123
124extern int script_style(int);
125extern int cramped_style(int);
126
127const int ORDINARY_TYPE = 0;
128const int OPERATOR_TYPE = 1;
129const int BINARY_TYPE = 2;
130const int RELATION_TYPE = 3;
131const int OPENING_TYPE = 4;
132const int CLOSING_TYPE = 5;
133const int PUNCTUATION_TYPE = 6;
134const int INNER_TYPE = 7;
135const int SUPPRESS_TYPE = 8;
136
137void set_script_size();
138
139enum { HINT_PREV_IS_ITALIC = 01, HINT_NEXT_IS_ITALIC = 02 };
140
141extern const char *current_roman_font;