Lines Matching full:p

47 #define	DECL_ARGS struct termp *p, \
172 { NULL, termp____post }, /* %P */
252 struct termp *p;
254 p = (struct termp *)arg;
255 p->tcol->rmargin = p->maxrmargin = p->defrmargin;
256 term_tab_set(p, NULL);
257 term_tab_set(p, "T");
258 term_tab_set(p, ".5i");
261 if (p->synopsisonly) {
272 p->flags |= TERMP_NOSPACE;
274 print_mdoc_nodelist(p, NULL, mdoc, n);
275 term_newln(p);
277 term_begin(p, print_mdoc_head, print_mdoc_foot, mdoc);
284 term_vspace(p);
285 print_mdoc_nodelist(p, NULL, mdoc, n);
287 term_end(p);
295 print_mdoc_node(p, pair, meta, n);
315 (p->flags & TERMP_NONEWLINE) == 0)
316 term_newln(p);
317 p->flags |= TERMP_BRNEVER;
320 term_tab_ref(p);
321 p->flags &= ~TERMP_BRNEVER;
328 offset = p->tcol->offset;
329 rmargin = p->tcol->rmargin;
331 n->prev_font = p->fonti;
338 term_tag_write(n, p->line);
345 if (p->flags & TERMP_KEEP && n->flags & NODE_LINE) {
346 p->flags &= ~TERMP_KEEP;
347 p->flags |= TERMP_PREKEEP;
361 if (p->flags & TERMP_NONEWLINE)
362 term_newln(p);
364 term_vspace(p);
367 if ((p->flags & TERMP_NONEWLINE) == 0)
368 term_newln(p);
375 p->flags |= TERMP_NOSPACE;
376 term_word(p, n->string);
378 p->flags |= TERMP_NOSPACE;
382 p->flags |= TERMP_NOSPACE;
383 term_eqn(p, n->eqn);
385 p->flags |= TERMP_NOSPACE;
388 if (p->tbl.cols == NULL)
389 term_newln(p);
390 term_tbl(p, n->span);
394 roff_term_pre(p, n);
401 chld = (*act->pre)(p, &npair, meta, n);
406 print_mdoc_nodelist(p, &npair, meta, n->child);
408 term_fontpopq(p,
421 (void)(*act->post)(p, &npair, meta, n);
434 p->flags |= TERMP_SENTENCE;
437 p->tcol->offset = offset;
438 p->tcol->rmargin = rmargin;
442 print_mdoc_foot(struct termp *p, const struct roff_meta *meta)
448 datelen = term_strlen(p, meta->date);
453 titlen = term_strlen(p, title);
455 term_fontrepl(p, TERMFONT_NONE);
456 term_vspace(p);
460 p->tcol->offset = 0;
461 p->tcol->rmargin = p->maxrmargin > datelen ?
462 (p->maxrmargin + term_len(p, 1) - datelen) / 2 : 0;
463 p->trailspace = 1;
464 p->flags |= TERMP_NOSPACE | TERMP_NOBREAK;
466 term_word(p, meta->os);
467 term_flushln(p);
471 p->tcol->offset = p->tcol->rmargin;
472 p->tcol->rmargin = p->maxrmargin > titlen ?
473 p->maxrmargin - titlen : 0;
474 p->flags |= TERMP_NOSPACE;
476 term_word(p, meta->date);
477 term_flushln(p);
481 p->tcol->offset = p->tcol->rmargin;
482 p->tcol->rmargin = p->maxrmargin;
483 p->trailspace = 0;
484 p->flags &= ~TERMP_NOBREAK;
485 p->flags |= TERMP_NOSPACE;
487 term_word(p, title);
488 term_flushln(p);
490 p->tcol->offset = 0;
491 p->flags = 0;
496 print_mdoc_head(struct termp *p, const struct roff_meta *meta)
507 vollen = term_strlen(p, volume);
516 titlen = term_strlen(p, title);
518 p->flags |= TERMP_NOBREAK | TERMP_NOSPACE;
519 p->trailspace = 1;
520 p->tcol->offset = 0;
521 p->tcol->rmargin =
522 titlen * 2 + term_len(p, 2) + vollen < p->maxrmargin ?
523 (p->maxrmargin - vollen + term_len(p, 1)) / 2 :
524 vollen < p->maxrmargin ? p->maxrmargin - vollen : 0;
526 term_word(p, title);
527 term_flushln(p);
531 p->flags |= TERMP_NOSPACE;
532 p->tcol->offset = p->tcol->rmargin;
533 p->tcol->rmargin = p->tcol->offset + vollen + titlen <
534 p->maxrmargin ? p->maxrmargin - titlen : p->maxrmargin;
536 term_word(p, volume);
537 term_flushln(p);
541 p->flags &= ~TERMP_NOBREAK;
542 p->trailspace = 0;
543 if (p->tcol->rmargin + titlen <= p->maxrmargin) {
544 p->flags |= TERMP_NOSPACE;
545 p->tcol->offset = p->tcol->rmargin;
546 p->tcol->rmargin = p->maxrmargin;
547 term_word(p, title);
548 term_flushln(p);
551 p->flags &= ~TERMP_NOSPACE;
552 p->tcol->offset = 0;
553 p->tcol->rmargin = p->maxrmargin;
564 a2width(const struct termp *p, const char *v)
572 su.scale = term_strlen(p, v);
574 return term_hspan(p, &su);
583 print_bvspace(struct termp *p, struct roff_node *bl, struct roff_node *n)
587 term_newln(p);
620 term_vspace(p);
638 print_bvspace(p, n->parent->parent, n);
640 term_tag_write(n, p->line);
656 width = term_len(p, 2);
660 width = term_len(p, 8);
663 width = term_len(p, 10);
678 offset = a2width(p, bl->norm->Bl.offs);
679 if (offset < 0 && (size_t)(-offset) > p->tcol->offset)
680 offset = -p->tcol->offset;
700 dcol = ncols < 5 ? term_len(p, 4) :
701 ncols == 5 ? term_len(p, 3) : term_len(p, 1);
712 su.scale = term_strlen(p, bl->norm->Bl.cols[i]);
713 offset += term_hspan(p, &su) + dcol;
730 su.scale = term_strlen(p, bl->norm->Bl.cols[i]);
731 width = term_hspan(p, &su) + dcol;
742 width = a2width(p, bl->norm->Bl.width) + term_len(p, 2);
743 if (width < 0 && (size_t)(-width) > p->tcol->offset)
744 width = -p->tcol->offset;
755 p->flags |= TERMP_NOSPACE;
760 term_word(p, "\\ \\ ");
764 term_word(p, "\\ ");
770 p->flags |= TERMP_NOSPACE;
775 term_fontpush(p, TERMFONT_BOLD);
794 p->flags |= TERMP_NOBREAK | TERMP_HANG;
795 p->trailspace = 1;
796 } else if (width <= (int)term_len(p, 2))
797 p->flags |= TERMP_NOPAD;
802 p->flags |= TERMP_NOBREAK | TERMP_BRIND | TERMP_HANG;
803 p->trailspace = 1;
809 p->flags |= TERMP_NOBREAK | TERMP_BRTRSP | TERMP_BRIND;
810 p->trailspace = 2;
813 p->flags |= TERMP_HANG;
820 p->flags &= ~TERMP_NOBREAK;
821 p->trailspace = 0;
823 p->flags |= TERMP_NOBREAK;
824 p->trailspace = 1;
831 p->flags |= TERMP_NOBREAK | TERMP_BRIND;
832 p->trailspace = 1;
844 p->tcol->offset += offset;
854 p->tcol->rmargin = p->tcol->offset + width;
856 p->tcol->offset += width;
860 p->tcol->rmargin = p->tcol->offset + width;
867 if (n->next == NULL && p->tcol->rmargin < p->maxrmargin)
868 p->tcol->rmargin = p->maxrmargin;
882 term_fontpush(p, TERMFONT_BOLD);
883 term_word(p, "\\[bu]");
884 term_fontpop(p);
888 term_fontpush(p, TERMFONT_BOLD);
889 term_word(p, "-");
890 term_fontpop(p);
896 term_word(p, buf);
918 p->minbl = 0;
942 term_newln(p);
946 term_flushln(p);
949 term_newln(p);
959 p->flags &= ~(TERMP_NOBREAK | TERMP_BRTRSP | TERMP_BRIND | TERMP_HANG);
960 p->trailspace = 0;
969 p->flags |= TERMP_PREKEEP;
976 p->flags |= TERMP_NOSPACE;
983 p->tcol->offset += term_len(p, 6);
985 p->tcol->offset += term_len(p, 1) +
986 term_strlen(p, cp);
994 synopsis_pre(p, n->parent);
998 p->flags |= TERMP_NOSPACE | TERMP_NOBREAK | TERMP_BRIND;
999 p->trailspace = 1;
1000 p->tcol->rmargin = p->tcol->offset + term_len(p, 1);
1002 p->tcol->rmargin += term_strlen(p, meta->name);
1004 p->tcol->rmargin += term_strlen(p, n->child->string);
1006 p->flags |= TERMP_HANG;
1008 p->tcol->rmargin += term_len(p, 5);
1009 p->flags |= TERMP_HANG;
1012 return termp_bold_pre(p, pair, meta, n);
1020 p->flags &= ~(TERMP_KEEP | TERMP_PREKEEP);
1025 term_flushln(p);
1026 p->flags &= ~(TERMP_NOBREAK | TERMP_BRIND | TERMP_HANG);
1027 p->trailspace = 0;
1031 term_flushln(p);
1043 term_fontpush(p, TERMFONT_BOLD);
1044 term_word(p, "\\-");
1050 p->flags |= TERMP_NOSPACE;
1062 term_word(p, "and");
1072 p->flags &= ~TERMP_NOSPLIT;
1073 p->flags |= TERMP_SPLIT;
1077 p->flags &= ~TERMP_SPLIT;
1078 p->flags |= TERMP_NOSPLIT;
1082 if (p->flags & TERMP_SPLIT)
1083 term_newln(p);
1085 if (n->sec == SEC_AUTHORS && ! (p->flags & TERMP_NOSPLIT))
1086 p->flags |= TERMP_SPLIT;
1096 p->flags |= TERMP_NOSPACE;
1106 term_vspace(p);
1113 term_newln(p);
1121 term_word(p, "\\(en");
1130 term_newln(p);
1144 term_newln(p);
1147 term_tab_set(p, NULL);
1148 term_tab_set(p, "T");
1149 term_tab_set(p, ".5i");
1159 term_word(p, n->string);
1164 p->flags |= TERMP_NOSPACE;
1165 term_word(p, "(");
1166 p->flags |= TERMP_NOSPACE;
1169 term_word(p, n->string);
1171 p->flags |= TERMP_NOSPACE;
1172 term_word(p, ")");
1183 synopsis_pre(struct termp *p, struct roff_node *n)
1200 term_newln(p);
1215 term_vspace(p);
1219 term_vspace(p);
1224 term_newln(p);
1234 return termp_ft_pre(p, pair, meta, n);
1236 synopsis_pre(p, n);
1241 return termp_under_pre(p, pair, meta, n);
1248 term_fontpush(p, TERMFONT_BOLD);
1255 synopsis_pre(p, n);
1256 return termp_bold_pre(p, pair, meta, n);
1262 term_newln(p);
1279 term_vspace(p);
1282 p->fontibi = 1;
1283 return termp_bold_pre(p, pair, meta, n);
1285 p->tcol->offset = term_len(p, p->defindent);
1286 term_tab_set(p, NULL);
1287 term_tab_set(p, "T");
1288 term_tab_set(p, ".5i");
1290 p->flags &= ~(TERMP_SPLIT|TERMP_NOSPLIT);
1303 p->fontibi = 0;
1304 term_newln(p);
1307 term_newln(p);
1308 p->tcol->offset = 0;
1319 term_newln(p);
1327 term_newln(p);
1328 p->tcol->offset += term_len(p, p->defindent + 1);
1329 term_tab_set(p, NULL);
1330 term_tab_set(p, "T");
1331 term_tab_set(p, ".5i");
1338 synopsis_pre(p, n);
1339 return termp_under_pre(p, pair, meta, n);
1348 synopsis_pre(p, n);
1354 rmargin = p->tcol->rmargin;
1355 p->tcol->rmargin = p->tcol->offset + term_len(p, 4);
1356 p->flags |= TERMP_NOBREAK | TERMP_BRIND | TERMP_HANG;
1360 term_fontpush(p, TERMFONT_BOLD);
1361 term_word(p, n->string);
1362 term_fontpop(p);
1365 term_flushln(p);
1366 p->flags &= ~(TERMP_NOBREAK | TERMP_BRIND | TERMP_HANG);
1367 p->flags |= TERMP_NOPAD;
1368 p->tcol->offset = p->tcol->rmargin;
1369 p->tcol->rmargin = rmargin;
1372 p->flags |= TERMP_NOSPACE;
1373 term_word(p, "(");
1374 p->flags |= TERMP_NOSPACE;
1378 term_fontpush(p, TERMFONT_UNDER);
1380 p->flags |= TERMP_NBRWORD;
1381 term_word(p, n->string);
1382 term_fontpop(p);
1385 p->flags |= TERMP_NOSPACE;
1386 term_word(p, ",");
1390 p->flags |= TERMP_NOSPACE;
1391 term_word(p, ")");
1394 p->flags |= TERMP_NOSPACE;
1395 term_word(p, ";");
1396 term_flushln(p);
1407 return termp_under_pre(p, pair, meta, n);
1410 term_fontpush(p, TERMFONT_UNDER);
1411 p->flags |= TERMP_NBRWORD;
1412 term_word(p, nn->string);
1413 term_fontpop(p);
1415 p->flags |= TERMP_NOSPACE;
1416 term_word(p, ",");
1422 p->flags |= TERMP_NOSPACE;
1423 term_word(p, ",");
1434 print_bvspace(p, n, n);
1445 p->tcol->offset += term_len(p, p->defindent + 1);
1447 p->tcol->offset += term_len(p, (p->defindent + 1) * 2);
1449 offset = a2width(p, n->norm->Bd.offs);
1450 if (offset < 0 && (size_t)(-offset) > p->tcol->offset)
1451 p->tcol->offset = 0;
1453 p->tcol->offset += offset;
1458 term_tab_set(p, NULL);
1459 term_tab_set(p, "T");
1460 term_tab_set(p, "8n");
1463 p->flags |= TERMP_CENTER;
1478 p->flags |= TERMP_BRNEVER;
1479 p->flags |= TERMP_NOSPACE;
1480 term_newln(p);
1481 p->flags &= ~TERMP_BRNEVER;
1483 p->flags &= ~TERMP_CENTER;
1489 if ((n->aux = p->flags & TERMP_PREKEEP) == 0)
1490 p->flags |= TERMP_PREKEEP;
1498 p->flags &= ~(TERMP_KEEP | TERMP_PREKEEP);
1505 p->flags |= TERMP_NOSPACE;
1514 term_newln(p);
1516 term_vspace(p);
1519 p->tcol->offset = term_len(p, p->defindent) / 2 + 1;
1520 p->fontibi = 1;
1521 return termp_bold_pre(p, pair, meta, n);
1523 p->tcol->offset = term_len(p, p->defindent);
1524 term_tab_set(p, NULL);
1525 term_tab_set(p, "T");
1526 term_tab_set(p, ".5i");
1539 p->fontibi = 0;
1542 term_newln(p);
1552 synopsis_pre(p, n);
1554 term_fontpush(p, TERMFONT_BOLD);
1555 term_word(p, "#include");
1556 term_word(p, "<");
1558 term_word(p, "<");
1559 term_fontpush(p, TERMFONT_UNDER);
1561 p->flags |= TERMP_NOSPACE;
1569 term_fontpush(p, TERMFONT_BOLD);
1570 p->flags |= TERMP_NOSPACE;
1571 term_word(p, ">");
1573 term_fontpop(p);
1579 term_vspace(p);
1581 term_tag_write(n, p->line);
1600 term_word(p, n->child != NULL && n->child->next == NULL &&
1605 term_word(p, "{");
1611 term_word(p, "[");
1617 term_word(p, "\\(lq");
1623 term_word(p, n->norm->Es->child->string);
1627 term_word(p, "(");
1631 term_word(p, "\"");
1636 term_word(p, "\\(oq");
1642 p->flags |= TERMP_NOSPACE;
1653 p->flags |= TERMP_NOSPACE;
1658 term_word(p, n->child != NULL && n->child->next == NULL &&
1663 term_word(p, "}");
1669 term_word(p, "]");
1675 term_word(p, "\\(rq");
1681 p->flags &= ~TERMP_NOSPACE;
1683 term_word(p, n->norm->Es->child->next->string);
1687 term_word(p, ")");
1691 term_word(p, "\"");
1696 term_word(p, "\\(cq");
1714 term_word(p, "\\&");
1718 p->flags |= TERMP_NOSPACE;
1732 p->flags &= ~TERMP_NOSPACE;
1740 p->flags |= TERMP_NOSPACE;
1742 term_word(p, "\\&");
1744 p->flags &= ~TERMP_NOSPACE;
1754 synopsis_pre(p, n);
1757 rmargin = p->tcol->rmargin;
1759 p->tcol->rmargin = p->tcol->offset + term_len(p, 4);
1760 p->flags |= TERMP_NOBREAK | TERMP_BRIND |
1763 p->flags |= TERMP_NOSPACE;
1764 term_word(p, "(");
1765 p->flags |= TERMP_NOSPACE;
1767 term_flushln(p);
1768 p->flags &= ~(TERMP_NOBREAK | TERMP_BRIND |
1770 p->flags |= TERMP_NOPAD;
1771 p->tcol->offset = p->tcol->rmargin;
1772 p->tcol->rmargin = rmargin;
1776 return termp_bold_pre(p, pair, meta, n);
1786 p->flags |= TERMP_NOSPACE;
1787 term_word(p, ")");
1790 p->flags |= TERMP_NOSPACE;
1791 term_word(p, ";");
1792 term_flushln(p);
1809 return termp_under_pre(p, pair, meta, n);
1811 return termp_bold_pre(p, pair, meta, n);
1813 return termp_li_pre(p, pair, meta, n);
1821 p->flags ^= TERMP_NONOSPACE;
1823 p->flags &= ~TERMP_NONOSPACE;
1825 p->flags |= TERMP_NONOSPACE;
1827 if (p->col && ! (TERMP_NONOSPACE & p->flags))
1828 p->flags &= ~TERMP_NOSPACE;
1836 p->flags |= TERMP_NOSPACE;
1837 term_word(p, "'");
1838 p->flags |= TERMP_NOSPACE;
1863 p->flags |= TERMP_NOSPACE;
1865 term_word(p, ".");
1866 p->flags |= TERMP_SENTENCE;
1868 term_word(p, ",");
1874 term_fontpush(p, TERMFONT_NONE);
1894 term_fontpush(p, TERMFONT_UNDER);
1897 p->flags |= TERMP_NOSPACE;
1898 term_word(p, descr->string);
1901 term_fontpop(p);
1902 p->flags |= TERMP_NOSPACE;
1903 term_word(p, ":");
1907 term_word(p, link->string);
1911 p->flags |= TERMP_NOSPACE;
1912 term_word(p, punct->string);
1928 p->flags |= TERMP_PREKEEP;
1940 p->flags &= ~(TERMP_KEEP | TERMP_PREKEEP);
1952 termp_quote_post(p, pair, meta, n);
1953 termp____post(p, pair, meta, n);
1961 return termp_quote_pre(p, pair, meta, n);
1963 return termp_under_pre(p, pair, meta, n);
1969 term_fontpush(p, TERMFONT_UNDER);