1 /* manifests.h: Various constants used everywhere. 2 3 This file is part of Omega, 4 which is based on the web2c distribution of TeX, 5 6 Copyright (c) 1994--2001 John Plaice and Yannis Haralambous 7 8 Omega is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 2 of the License, or 11 (at your option) any later version. 12 13 Omega is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with Omega; if not, write to the Free Software Foundation, Inc., 20 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. 21 22 */ 23 24 /* Character measures */ 25 26 #define C_MIN 0 27 28 #define C_WD 0 29 #define C_HT 1 30 #define C_DP 2 31 #define C_IC 3 32 33 #define C_SECWD 4 34 #define C_SECHT 5 35 #define C_SECDP 6 36 #define C_SECIC 7 37 38 #define C_P_TOPAXIS 8 39 #define C_P_TOPAXISBIs 9 40 #define C_P_BOTAXIS 10 41 #define C_P_BOTAXISBIS 11 42 #define C_P_MIDHOR 12 43 #define C_P_MIDVERT 13 44 #define C_P_BASESLANT 14 45 46 #define C_S_TOPAXIS 16 47 #define C_S_TOPAXISBIs 17 48 #define C_S_BOTAXIS 18 49 #define C_S_BOTAXISBIS 19 50 #define C_S_MIDHOR 20 51 #define C_S_MIDVERT 21 52 #define C_S_BASESLANT 22 53 54 #define C_MAX 22 55 56 /* Extensible pieces */ 57 58 #define E_MIN 0 59 60 #define E_TOP 0 61 #define E_MID 1 62 #define E_BOT 2 63 #define E_REP 3 64 65 #define E_MAX 3 66 67 /* Ligature commands */ 68 69 #define L_MIN 0 70 71 #define L_0 0 /* LIG */ 72 #define L_B 1 /* LIG/ */ 73 #define L_A 2 /* /LIG */ 74 #define L_AB 3 /* /LIG/ */ 75 #define L_Bx 5 /* LIG/> */ 76 #define L_Ax 6 /* /LIG> */ 77 #define L_ABx 7 /* /LIG/> */ 78 #define L_ABxx 11 /* /LIG/>> */ 79 80 #define L_MAX 11 81 82 /* Lig/Kern activities */ 83 #define A_UNREACHABLE 0 /* a program step not known to be reachable */ 84 #define A_PASS_THROUGH 1 /* a program step passed through on initialization */ 85 #define A_ACCESSIBLE 2 /* a program step that can be relevant */ 86 87 /* Xerox faces */ 88 89 #define F_MIN 0 90 91 #define F_MRR 0 92 #define F_MIR 1 93 #define F_BRR 2 94 #define F_BIR 3 95 #define F_LRR 4 96 #define F_LIR 5 97 #define F_MRC 6 98 #define F_MIC 7 99 #define F_BRC 8 100 #define F_BIC 9 101 #define F_LRC 10 102 #define F_LIC 11 103 #define F_MRE 12 104 #define F_MIE 13 105 #define F_BRE 14 106 #define F_BIE 15 107 #define F_LRE 16 108 #define F_LIE 17 109 110 #define F_MAX 17 111 112 /* Named parameters */ 113 114 #define P_MIN 1 115 116 #define P_SLANT 1 117 #define P_SPACE 2 118 #define P_STRETCH 3 119 #define P_SHRINK 4 120 #define P_XHEIGHT 5 121 #define P_QUAD 6 122 #define P_EXTRASPACE 7 123 124 #define P_MAX 7 125 126 /* Named math symbol parameters */ 127 128 #define P_MATHSY_MIN 8 129 130 #define P_NUM1 8 131 #define P_NUM2 9 132 #define P_NUM3 10 133 #define P_DENOM1 11 134 #define P_DENOM2 12 135 #define P_SUP1 13 136 #define P_SUP2 14 137 #define P_SUP3 15 138 #define P_SUB1 16 139 #define P_SUB2 17 140 #define P_SUPDROP 18 141 #define P_SUBDROP 19 142 #define P_DELIM1 20 143 #define P_DELIM2 21 144 #define P_AXISHEIGHT 22 145 146 #define P_MATHSY_MAX 22 147 148 /* Named math extension parameters */ 149 150 #define P_MATHEX_MIN 8 151 152 #define P_DEFAULTRULETHICKNESS 8 153 #define P_BIGOPSPACING1 9 154 #define P_BIGOPSPACING2 10 155 #define P_BIGOPSPACING3 11 156 #define P_BIGOPSPACING4 12 157 #define P_BIGOPSPACING5 13 158 159 #define P_MATHEX_MAX 13 160 161 /* Typesetting directions */ 162 163 #define DIR_MIN 0 164 165 #define DIR_ORD 0 166 #define DIR_NAT 8 167 168 #define DIR_TL 0 169 #define DIR_LT 1 170 #define DIR_TR 2 171 #define DIR_LB 3 172 #define DIR_BL 4 173 #define DIR_RT 5 174 #define DIR_BR 6 175 #define DIR_RB 7 176 177 #define DIR_MAX 15 178 179 /* Kinds of accent */ 180 181 #define ACC_NONE 0 182 #define ACC_TOP 1 183 #define ACC_MID 2 184 #define ACC_BOT 3 185 186 /* Move directions */ 187 188 #define M_MIN 0 189 190 #define M_RIGHT 0 191 #define M_LEFT 1 192 #define M_UP 2 193 #define M_DOWN 3 194 195 #define M_MAX 3 196 197 /* Rule measures */ 198 199 #define RULE_MIN 0 200 201 #define RULE_WD 0 202 #define RULE_HT 1 203 #define RULE_DP 2 204 205 #define RULE_MAX 2 206 207 /* Glue shrink or stretch */ 208 209 #define GLUE_MIN 0 210 211 #define GLUE_SHRINK 0 212 #define GLUE_STRETCH 1 213 214 #define GLUE_MAX 1 215 216 /* Glue orders */ 217 218 #define O_MIN 0 219 220 #define O_UNIT 0 221 #define O_FI 1 222 #define O_FIL 2 223 #define O_FILL 3 224 #define O_FILLL 4 225 226 #define O_MAX 4 227 228 229 /* Glue kinds */ 230 231 #define K_MIN 0 232 233 #define K_NORMAL 0 234 #define K_ALEADERS 1 235 #define K_CLEADERS 2 236 #define K_XLEADERS 3 237 238 #define K_MAX 3 239 240 241 /* Font types */ 242 243 #define FT_MIN 0 244 245 #define FT_VANILLA 0 246 #define FT_MATHSY 1 247 #define FT_MATHEX 2 248 249 #define FT_MAX 2 250 251 252 #define UNITY 0x100000 253 #define WEB_INFINITY 0x7fffffff 254 255 #define LEN_CODING_SCHEME 39 256 #define LEN_FAMILY 19 257 #define LEN_VTITLE 255 258 #define LEN_FONT_NAME 255 259 #define LEN_FONT_AREA 255 260 261 #define TAG_NONE 0 262 #define TAG_LIG 1 263 #define TAG_LIST 2 264 #define TAG_EXT 3 265 266 #define CHAR_MINIMUM 0x0 267 #define CHAR_MAXIMUM 0x7fffffff 268 #define CHAR_BOUNDARY 0x80000000 269 #define CHAR_ERROR 0x80000001 270 271 #define LIG_SIMPLE 0 /* f(x,y) = z */ 272 #define LIG_LEFT_Z 1 /* f(x,y) = f(z,y) */ 273 #define LIG_RIGHT_Z 2 /* f(x,y) = f(x,z) */ 274 #define LIG_BOTH_Z 3 /* f(x,y) = f(f(x,z),y) */ 275 #define LIG_PENDING 4 /* f(x,y) is being evaluated */ 276 277 #define GLUEARG_NONE 0 278 #define GLUEARG_CHAR 1 279 #define GLUEARG_RULE 2 280 281 #define OFM_NOLEVEL 0 282 #define OFM_TFM 1 283 #define OFM_LEVEL0 2 284 #define OFM_LEVEL1 3 285 #define OFM_LEVEL2 4 286