From c42a1d3d6168df56f966ea1f3ba3ef39ebbff4e4 Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 21 Feb 2006 18:37:05 +0000 Subject: add --- src/cmd/htmlroff/t3.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/cmd/htmlroff/t3.c (limited to 'src/cmd/htmlroff/t3.c') diff --git a/src/cmd/htmlroff/t3.c b/src/cmd/htmlroff/t3.c new file mode 100644 index 00000000..e54573c1 --- /dev/null +++ b/src/cmd/htmlroff/t3.c @@ -0,0 +1,49 @@ +#include "a.h" + +/* + * Section 3 - page control (mostly irrelevant). + */ + +/* page offset */ +void +po(int o) +{ + nr(L(".o0"), getnr(L(".o"))); + nr(L(".o"), o); +} + +void +r_po(int argc, Rune **argv) +{ + if(argc == 1){ + po(getnr(L(".o0"))); + return; + } + if(argv[1][0] == '+') + po(getnr(L(".o"))+evalscale(argv[1]+1, 'v')); + else if(argv[1][0] == '-') + po(getnr(L(".o"))-evalscale(argv[1]+1, 'v')); + else + po(evalscale(argv[1], 'v')); +} + +/* .ne - need vertical space */ +/* .mk - mark current vertical place */ +/* .rt - return upward */ + +void +t3init(void) +{ + nr(L(".o"), eval(L("1i"))); + nr(L(".o0"), eval(L("1i"))); + nr(L(".p"), eval(L("11i"))); + + addreq(L("pl"), r_warn, -1); + addreq(L("bp"), r_nop, -1); + addreq(L("pn"), r_warn, -1); + addreq(L("po"), r_po, -1); + addreq(L("ne"), r_nop, -1); + addreq(L("mk"), r_nop, -1); + addreq(L("rt"), r_warn, -1); +} + -- cgit v1.2.3