=================================================================== RCS file: /cvs/mandoc/man_html.c,v retrieving revision 1.104 retrieving revision 1.109 diff -u -p -r1.104 -r1.109 --- mandoc/man_html.c 2014/09/27 11:17:19 1.104 +++ mandoc/man_html.c 2015/01/24 02:41:49 1.109 @@ -1,4 +1,4 @@ -/* $Id: man_html.c,v 1.104 2014/09/27 11:17:19 kristaps Exp $ */ +/* $Id: man_html.c,v 1.109 2015/01/24 02:41:49 schwarze Exp $ */ /* * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons * Copyright (c) 2013, 2014 Ingo Schwarze @@ -25,11 +25,10 @@ #include #include -#include "mandoc.h" #include "mandoc_aux.h" +#include "man.h" #include "out.h" #include "html.h" -#include "man.h" #include "main.h" /* TODO: preserve ident widths. */ @@ -101,7 +100,6 @@ static const struct htmlman mans[MAN_MAX] = { { man_I_pre, NULL }, /* I */ { man_alt_pre, NULL }, /* IR */ { man_alt_pre, NULL }, /* RI */ - { man_ign_pre, NULL }, /* na */ { man_br_pre, NULL }, /* sp */ { man_literal_pre, NULL }, /* nf */ { man_literal_pre, NULL }, /* fi */ @@ -213,21 +211,14 @@ print_man_node(MAN_ARGS) man_root_pre(man, n, mh, h); break; case MAN_TEXT: - /* - * If we have a blank line, output a vertical space. - * If we have a space as the first character, break - * before printing the line's data. - */ if ('\0' == *n->string) { print_paragraph(h); return; } - - if (' ' == *n->string && MAN_LINE & n->flags) + if (n->flags & MAN_LINE && (*n->string == ' ' || + (n->prev != NULL && mh->fl & MANH_LITERAL && + ! (h->flags & HTML_NONEWLINE)))) print_otag(h, TAG_BR, 0, NULL); - else if (MANH_LITERAL & mh->fl && n->prev) - print_otag(h, TAG_BR, 0, NULL); - print_text(h, n->string); return; case MAN_EQN: @@ -290,7 +281,7 @@ a2width(const struct man_node *n, struct roffsu *su) if (MAN_TEXT != n->type) return(0); - if (a2roffsu(n->string, su, SCALE_BU)) + if (a2roffsu(n->string, su, SCALE_EN)) return(1); return(0); @@ -370,7 +361,7 @@ man_br_pre(MAN_ARGS) if (MAN_sp == n->tok) { if (NULL != (n = n->child)) if ( ! a2roffsu(n->string, &su, SCALE_VS)) - SCALE_VS_INIT(&su, atoi(n->string)); + su.scale = 1.0; } else su.scale = 0.0;