- halfword p, v, x, y, z;
- scaled delta, delta1, delta2, shiftup, shiftdown, clr;
- if (mem[q + 1].cint == 1073741824L) /* 2^30 */
- mem[q + 1].cint = font_info[8 +
- param_base[eqtb[(hash_size + 1838) + cur_size].hh.v.RH]].cint;
- x = clean_box(q + 2, cur_style + 2 - 2 *(cur_style / 6));
- z = clean_box(q + 3, 2 *(cur_style / 2)+ 3 - 2 *(cur_style / 6));
- if (mem[x + 1].cint < mem[z + 1].cint)
- x = rebox(x, mem[z + 1].cint);
- else z = rebox(z, mem[x + 1].cint);
- if (cur_style < 2)
- {
- shiftup = font_info[8 +
- param_base[eqtb[(hash_size + 1837) + cur_size].hh.v.RH]].cint;
- shiftdown = font_info[11 +
- param_base[eqtb[(hash_size + 1837) + cur_size].hh.v.RH]].cint;
- }
- else {
-
- shiftdown = font_info[12 +
- param_base[eqtb[(hash_size + 1837) + cur_size].hh.v.RH]].cint;
- if (mem[q + 1].cint != 0)
- shiftup = font_info[9 +
- param_base[eqtb[(hash_size + 1837) + cur_size].hh.v.RH]].cint;
- else shiftup = font_info[10 +
- param_base[eqtb[(hash_size + 1837) + cur_size].hh.v.RH]].cint;
- }
- if (mem[q + 1].cint == 0)
- {
- if (cur_style < 2)
- clr = 7 * font_info[8 + param_base[eqtb[(hash_size + 1838) + cur_size].hh.v.RH]
- ].cint;
- else clr = 3 * font_info[8 + param_base[eqtb[(hash_size + 1838) + cur_size].hh
- .v.RH]].cint;
- delta = half(clr -((shiftup - mem[x + 2].cint)-(mem[z + 3]
- .cint - shiftdown)));
- if (delta > 0)
- {
- shiftup = shiftup + delta;
- shiftdown = shiftdown + delta;
- }
- }
- else {
-
- if (cur_style < 2)
- clr = 3 * mem[q + 1].cint;
- else clr = mem[q + 1].cint;
- delta = half(mem[q + 1].cint);
- delta1 = clr -((shiftup - mem[x + 2].cint)-(font_info[22 +
- param_base[eqtb[(hash_size + 1837) + cur_size].hh.v.RH]].cint + delta));
- delta2 = clr -((font_info[22 + param_base[eqtb[(hash_size + 1837) + cur_size]
- .hh.v.RH]].cint - delta)-(mem[z + 3].cint - shiftdown));
- if (delta1 > 0)
- shiftup = shiftup + delta1;
- if (delta2 > 0)
- shiftdown = shiftdown + delta2;
- }
- v = new_null_box();
- mem[v].hh.b0 = 1;
- mem[v + 3].cint = shiftup + mem[x + 3].cint;
- mem[v + 2].cint = mem[z + 2].cint + shiftdown;
- mem[v + 1].cint = mem[x + 1].cint;
- if (mem[q + 1].cint == 0)
- {
- p = new_kern((shiftup - mem[x + 2].cint)-(mem[z + 3].cint -
- shiftdown));
- mem[p].hh.v.RH = z;
- }
- else {
-
- y = fraction_rule(mem[q + 1].cint);
- p = new_kern((font_info[22 + param_base[eqtb[(hash_size + 1837) + cur_size].hh
- .v.RH]].cint - delta)-(mem[z + 3].cint - shiftdown));
- mem[y].hh.v.RH = p;
- mem[p].hh.v.RH = z;
- p = new_kern((shiftup - mem[x + 2].cint)-(font_info[22 +
- param_base[eqtb[(hash_size + 1837) + cur_size].hh.v.RH]].cint + delta));
- mem[p].hh.v.RH = y;
- }
- mem[x].hh.v.RH = p;
- mem[v + 5].hh.v.RH = x;
- if (cur_style < 2)
- delta = font_info[20 + param_base[eqtb[(hash_size + 1837) + cur_size].hh.v.RH]]
- .cint;
- else delta = font_info[21 + param_base[eqtb[(hash_size + 1837) + cur_size].hh.v.RH
-]].cint;
- x = var_delimiter(q + 4, cur_size, delta);
- mem[x].hh.v.RH = v;
- z = var_delimiter(q + 5, cur_size, delta);
- mem[v].hh.v.RH = z;
- mem[q + 1].cint = hpack(x, 0, 1);
-}
-/***************************************************************************/
-/* moved to end to avoid questions about pragma optimize 96/Sep/12 */
-scaled make_op_ (halfword);
-/***************************************************************************/
-void make_ord_(halfword q)
-{/* 20 10 */
- integer a;
- halfword p, r;
- lab20: if (mem[q + 3].hh.v.RH == 0)
- if (mem[q + 2].hh.v.RH == 0)
- if (mem[q + 1].hh.v.RH == 1)