version 1.219, 2011/02/09 09:52:47 |
version 1.222, 2011/03/22 14:05:45 |
|
|
#include "out.h" |
#include "out.h" |
#include "term.h" |
#include "term.h" |
#include "mdoc.h" |
#include "mdoc.h" |
#include "chars.h" |
|
#include "main.h" |
#include "main.h" |
|
|
#define INDENT 5 |
#define INDENT 5 |
Line 352 print_mdoc_node(DECL_ARGS) |
|
Line 351 print_mdoc_node(DECL_ARGS) |
|
case (MDOC_TEXT): |
case (MDOC_TEXT): |
if (' ' == *n->string && MDOC_LINE & n->flags) |
if (' ' == *n->string && MDOC_LINE & n->flags) |
term_newln(p); |
term_newln(p); |
|
if (MDOC_DELIMC & n->flags) |
|
p->flags |= TERMP_NOSPACE; |
term_word(p, n->string); |
term_word(p, n->string); |
|
if (MDOC_DELIMO & n->flags) |
|
p->flags |= TERMP_NOSPACE; |
break; |
break; |
case (MDOC_EQN): |
case (MDOC_EQN): |
term_word(p, n->eqn->data); |
term_word(p, n->eqn->data); |
Line 413 print_mdoc_node(DECL_ARGS) |
|
Line 416 print_mdoc_node(DECL_ARGS) |
|
static void |
static void |
print_mdoc_foot(struct termp *p, const void *arg) |
print_mdoc_foot(struct termp *p, const void *arg) |
{ |
{ |
char buf[DATESIZ], os[BUFSIZ]; |
|
const struct mdoc_meta *m; |
const struct mdoc_meta *m; |
|
|
m = (const struct mdoc_meta *)arg; |
m = (const struct mdoc_meta *)arg; |
Line 428 print_mdoc_foot(struct termp *p, const void *arg) |
|
Line 430 print_mdoc_foot(struct termp *p, const void *arg) |
|
* SYSTEM DATE SYSTEM |
* SYSTEM DATE SYSTEM |
*/ |
*/ |
|
|
time2a(m->date, buf, DATESIZ); |
|
strlcpy(os, m->os, BUFSIZ); |
|
|
|
term_vspace(p); |
term_vspace(p); |
|
|
p->offset = 0; |
p->offset = 0; |
p->rmargin = (p->maxrmargin - |
p->rmargin = (p->maxrmargin - |
term_strlen(p, buf) + term_len(p, 1)) / 2; |
term_strlen(p, m->date) + term_len(p, 1)) / 2; |
p->flags |= TERMP_NOSPACE | TERMP_NOBREAK; |
p->flags |= TERMP_NOSPACE | TERMP_NOBREAK; |
|
|
term_word(p, os); |
term_word(p, m->os); |
term_flushln(p); |
term_flushln(p); |
|
|
p->offset = p->rmargin; |
p->offset = p->rmargin; |
p->rmargin = p->maxrmargin - term_strlen(p, os); |
p->rmargin = p->maxrmargin - term_strlen(p, m->os); |
p->flags |= TERMP_NOLPAD | TERMP_NOSPACE; |
p->flags |= TERMP_NOLPAD | TERMP_NOSPACE; |
|
|
term_word(p, buf); |
term_word(p, m->date); |
term_flushln(p); |
term_flushln(p); |
|
|
p->offset = p->rmargin; |
p->offset = p->rmargin; |
Line 453 print_mdoc_foot(struct termp *p, const void *arg) |
|
Line 452 print_mdoc_foot(struct termp *p, const void *arg) |
|
p->flags &= ~TERMP_NOBREAK; |
p->flags &= ~TERMP_NOBREAK; |
p->flags |= TERMP_NOLPAD | TERMP_NOSPACE; |
p->flags |= TERMP_NOLPAD | TERMP_NOSPACE; |
|
|
term_word(p, os); |
term_word(p, m->os); |
term_flushln(p); |
term_flushln(p); |
|
|
p->offset = 0; |
p->offset = 0; |
Line 1307 termp_xr_pre(DECL_ARGS) |
|
Line 1306 termp_xr_pre(DECL_ARGS) |
|
return(0); |
return(0); |
p->flags |= TERMP_NOSPACE; |
p->flags |= TERMP_NOSPACE; |
term_word(p, "("); |
term_word(p, "("); |
|
p->flags |= TERMP_NOSPACE; |
term_word(p, nn->string); |
term_word(p, nn->string); |
|
p->flags |= TERMP_NOSPACE; |
term_word(p, ")"); |
term_word(p, ")"); |
|
|
return(0); |
return(0); |
Line 1537 termp_fn_pre(DECL_ARGS) |
|
Line 1538 termp_fn_pre(DECL_ARGS) |
|
|
|
p->flags |= TERMP_NOSPACE; |
p->flags |= TERMP_NOSPACE; |
term_word(p, "("); |
term_word(p, "("); |
|
p->flags |= TERMP_NOSPACE; |
|
|
for (nn = n->child->next; nn; nn = nn->next) { |
for (nn = n->child->next; nn; nn = nn->next) { |
term_fontpush(p, TERMFONT_UNDER); |
term_fontpush(p, TERMFONT_UNDER); |
term_word(p, nn->string); |
term_word(p, nn->string); |
term_fontpop(p); |
term_fontpop(p); |
|
|
if (nn->next) |
if (nn->next) { |
|
p->flags |= TERMP_NOSPACE; |
term_word(p, ","); |
term_word(p, ","); |
|
} |
} |
} |
|
|
|
p->flags |= TERMP_NOSPACE; |
term_word(p, ")"); |
term_word(p, ")"); |
|
|
if (MDOC_SYNPRETTY & n->flags) |
if (MDOC_SYNPRETTY & n->flags) { |
|
p->flags |= TERMP_NOSPACE; |
term_word(p, ";"); |
term_word(p, ";"); |
|
} |
|
|
return(0); |
return(0); |
} |
} |
Line 1572 termp_fa_pre(DECL_ARGS) |
|
Line 1579 termp_fa_pre(DECL_ARGS) |
|
term_word(p, nn->string); |
term_word(p, nn->string); |
term_fontpop(p); |
term_fontpop(p); |
|
|
if (nn->next) |
if (nn->next) { |
|
p->flags |= TERMP_NOSPACE; |
term_word(p, ","); |
term_word(p, ","); |
|
} |
} |
} |
|
|
if (n->child && n->next && n->next->tok == MDOC_Fa) |
if (n->child && n->next && n->next->tok == MDOC_Fa) { |
|
p->flags |= TERMP_NOSPACE; |
term_word(p, ","); |
term_word(p, ","); |
|
} |
|
|
return(0); |
return(0); |
} |
} |
Line 2012 termp_fo_pre(DECL_ARGS) |
|
Line 2023 termp_fo_pre(DECL_ARGS) |
|
} else if (MDOC_BODY == n->type) { |
} else if (MDOC_BODY == n->type) { |
p->flags |= TERMP_NOSPACE; |
p->flags |= TERMP_NOSPACE; |
term_word(p, "("); |
term_word(p, "("); |
|
p->flags |= TERMP_NOSPACE; |
return(1); |
return(1); |
} |
} |
|
|
Line 2035 termp_fo_post(DECL_ARGS) |
|
Line 2047 termp_fo_post(DECL_ARGS) |
|
if (MDOC_BODY != n->type) |
if (MDOC_BODY != n->type) |
return; |
return; |
|
|
|
p->flags |= TERMP_NOSPACE; |
term_word(p, ")"); |
term_word(p, ")"); |
|
|
if (MDOC_SYNPRETTY & n->flags) |
if (MDOC_SYNPRETTY & n->flags) { |
|
p->flags |= TERMP_NOSPACE; |
term_word(p, ";"); |
term_word(p, ";"); |
|
} |
} |
} |
|
|
|
|
Line 2112 termp____post(DECL_ARGS) |
|
Line 2127 termp____post(DECL_ARGS) |
|
if (NULL == n->parent || MDOC_Rs != n->parent->tok) |
if (NULL == n->parent || MDOC_Rs != n->parent->tok) |
return; |
return; |
|
|
|
p->flags |= TERMP_NOSPACE; |
if (NULL == n->next) { |
if (NULL == n->next) { |
term_word(p, "."); |
term_word(p, "."); |
p->flags |= TERMP_SENTENCE; |
p->flags |= TERMP_SENTENCE; |
Line 2148 termp_lk_pre(DECL_ARGS) |
|
Line 2164 termp_lk_pre(DECL_ARGS) |
|
|
|
term_fontpop(p); |
term_fontpop(p); |
|
|
|
p->flags |= TERMP_NOSPACE; |
term_word(p, ":"); |
term_word(p, ":"); |
|
|
term_fontpush(p, TERMFONT_BOLD); |
term_fontpush(p, TERMFONT_BOLD); |