=================================================================== RCS file: /cvs/mandoc/mdoc_html.c,v retrieving revision 1.197 retrieving revision 1.199 diff -u -p -r1.197 -r1.199 --- mandoc/mdoc_html.c 2014/08/13 15:25:22 1.197 +++ mandoc/mdoc_html.c 2014/08/21 12:57:17 1.199 @@ -1,4 +1,4 @@ -/* $Id: mdoc_html.c,v 1.197 2014/08/13 15:25:22 schwarze Exp $ */ +/* $Id: mdoc_html.c,v 1.199 2014/08/21 12:57:17 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2014 Ingo Schwarze @@ -640,10 +640,11 @@ mdoc_fl_pre(MDOC_ARGS) print_text(h, "\\-"); - if (n->child) + if ( ! (n->nchild == 0 && + (n->next == NULL || + n->next->type == MDOC_TEXT || + n->next->flags & MDOC_LINE))) h->flags |= HTML_NOSPACE; - else if (n->next && n->next->line == n->line) - h->flags |= HTML_NOSPACE; return(1); } @@ -1083,8 +1084,10 @@ mdoc_ex_pre(MDOC_ARGS) static int mdoc_em_pre(MDOC_ARGS) { + struct htmlpair tag; - print_otag(h, TAG_EM, 0, NULL); + PAIR_CLASS_INIT(&tag, "emph"); + print_otag(h, TAG_SPAN, 1, &tag); return(1); } @@ -1820,7 +1823,9 @@ mdoc_bf_pre(MDOC_ARGS) else if (MDOC_BODY != n->type) return(1); - if (FONT_Sy == n->norm->Bf.font) + if (FONT_Em == n->norm->Bf.font) + PAIR_CLASS_INIT(&tag[0], "emph"); + else if (FONT_Sy == n->norm->Bf.font) PAIR_CLASS_INIT(&tag[0], "symb"); else if (FONT_Li == n->norm->Bf.font) PAIR_CLASS_INIT(&tag[0], "lit"); @@ -1838,8 +1843,6 @@ mdoc_bf_pre(MDOC_ARGS) bufcat_su(h, "margin-left", &su); PAIR_STYLE_INIT(&tag[1], h); print_otag(h, TAG_DIV, 2, tag); - if (FONT_Em == n->norm->Bf.font) - print_otag(h, TAG_EM, 0, NULL); return(1); }