4 * 4 - Text filling, centering, and adjusting.
5 * "\ " - unbreakable space
6 * .n register - length of last line
7 * nl register - text baseline position on this page
8 * .h register - baseline high water mark
9 * .k register - current horizontal output position
10 * \p - cause break at end of word, justify
11 * \& - non-printing zero-width filler
12 * tr - output translation
13 * \c - break (but don't) input line in .nf mode
14 * \c - break (but don't) word in .fi mode
20 return 0xA0; /* non-breaking space */
38 r_br(int argc, Rune **argv)
47 r_fi(int argc, Rune **argv)
57 r_nf(int argc, Rune **argv)
66 r_ad(int argc, Rune **argv)
70 nr(L(".j"), getnr(L(".j"))|1);
76 fprint(2, "%L: bad adjust %C\n", c);
105 r_na(int argc, Rune **argv)
110 nr(L(".j"), getnr(L(".j"))&~1);
113 /* center next N lines */
115 r_ce(int argc, Rune **argv)
120 nr(L(".ce"), eval(argv[1]));
130 addreq(L("br"), r_br, 0);
131 addreq(L("fi"), r_fi, 0);
132 addreq(L("nf"), r_nf, 0);
133 addreq(L("ad"), r_ad, -1);
134 addreq(L("na"), r_na, 0);
135 addreq(L("ce"), r_ce, -1);
137 addesc(' ', e_space, 0);
138 addesc('p', e_warn, 0);
139 addesc('&', e_amp, 0);