|
|
1.1 root 1: # include "e.h"
2: # include "e.def"
3:
4: diacrit(p1, type) int p1, type; {
5: int c, t;
6:
7: c = oalloc();
8: t = oalloc();
9: nrwid(p1, ps, p1);
10: printf(".nr 10 %du\n", max(eht[p1]-ebase[p1]-VERT(2),0));
11: switch(type) {
12: case VEC: /* vec */
13: case DYAD: /* dyad */
14: printf(".ds %d \\v'-1'_\\v'1'\n", c);
15: break;
16: case HAT:
17: printf(".ds %d ^\n", c);
18: break;
19: case TILDE:
20: printf(".ds %d ~\n", c);
21: break;
22: case DOT:
23: printf(".ds %d \\v'-1'.\\v'1'\n", c);
24: break;
25: case DOTDOT:
26: printf(".ds %d \\v'-1'..\\v'1'\n", c);
27: break;
28: case BAR:
29: printf(".ds %d \\v'-1'\\l'\\n(%du'\\v'1'\n",
30: c, p1);
31: break;
32: case UNDER:
33: printf(".ds %d \\l'\\n(%du'\n", c, p1);
34: break;
35: }
36: nrwid(c, ps, c);
37: printf(".as %d \\h'-\\n(%du-\\n(%du/2u'\\v'0-\\n(10u'\\*(%d",
38: p1, p1, c, c);
39: printf("\\v'\\n(10u'\\h'-\\n(%du+\\n(%du/2u'\n", c, p1);
40: if (type != UNDER)
41: eht[p1] += VERT(1);
42: if (dbg) printf(".\tdiacrit: %c over S%d, h=%d, b=%d\n", type, p1, eht[p1], ebase[p1]);
43: ofree(c); ofree(t);
44: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.