| 1 | # include "e.h" |
| 2 | |
| 3 | eqnbox(p1, p2, lu) { |
| 4 | int b, h; |
| 5 | char *sh; |
| 6 | |
| 7 | yyval = p1; |
| 8 | b = max(ebase[p1], ebase[p2]); |
| 9 | eht[yyval] = h = b + max(eht[p1]-ebase[p1], |
| 10 | eht[p2]-ebase[p2]); |
| 11 | ebase[yyval] = b; |
| 12 | if(dbg)printf(".\te:eb: S%d <- S%d S%d; b=%d, h=%d\n", |
| 13 | yyval, p1, p2, b, h); |
| 14 | if (rfont[p1] == ITAL && lfont[p2] == ROM) |
| 15 | sh = "\\|"; |
| 16 | else |
| 17 | sh = ""; |
| 18 | if (lu) { |
| 19 | printf(".nr %d \\w'\\s%d\\*(%d%s'\n", p1, ps, p1, sh); |
| 20 | printf(".ds %d \\h'|\\n(97u-\\n(%du'\\*(%d\n", p1, p1, p1); |
| 21 | } |
| 22 | printf(".as %d \"%s\\*(%d\n", yyval, sh, p2); |
| 23 | rfont[p1] = rfont[p2]; |
| 24 | ofree(p2); |
| 25 | } |