Use <em> for .Em and .Bf -emphasis.
authorschwarze <schwarze@openbsd.org>
Wed, 13 Aug 2014 15:19:24 +0000 (15:19 +0000)
committerschwarze <schwarze@openbsd.org>
Wed, 13 Aug 2014 15:19:24 +0000 (15:19 +0000)
The vast majority of .Em in real-world manuals is stress emphasis,
for which <em> is the correct markup.  Admittedly, there are some
instances of .Em usage for alternate quality, for which <i> would
be a better match.  Most of these are technical terms that neither
allow semantic markup nor are keywords - for the latter, .Sy would
be preferable.  A typical example is that the shell breaks input into
.Em words .
Alternate voice or mood, which would also require <i>, is almost
absent from manuals.
We cannot satisfy both stress emphasis and alternate quality, so
pick the one that fits more often and looks less wrong when off.

Patch from Guy Harris <guy at alum dot mit dot edu>.
ok bentley@ joerg@NetBSD

usr.bin/mandoc/html.c
usr.bin/mandoc/html.h
usr.bin/mandoc/mdoc_html.c

index 4c21d01..9cf447c 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: html.c,v 1.38 2014/07/23 15:00:00 schwarze Exp $ */
+/*     $Id: html.c,v 1.39 2014/08/13 15:19:24 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -72,6 +72,7 @@ static        const struct htmldata htmltags[TAG_MAX] = {
        {"i",           0 }, /* TAG_I */
        {"code",        0 }, /* TAG_CODE */
        {"small",       0 }, /* TAG_SMALL */
+       {"em",          0 }, /* TAG_EM */
 };
 
 static const char      *const htmlattrs[ATTR_MAX] = {
index dfbfcc9..ffa6675 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: html.h,v 1.21 2014/04/20 16:44:44 schwarze Exp $ */
+/*     $Id: html.h,v 1.22 2014/08/13 15:19:24 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -50,6 +50,7 @@ enum  htmltag {
        TAG_I,
        TAG_CODE,
        TAG_SMALL,
+       TAG_EM,
        TAG_MAX
 };
 
index 2f5bb1e..6e754e0 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_html.c,v 1.78 2014/08/08 16:17:09 schwarze Exp $ */
+/*     $Id: mdoc_html.c,v 1.79 2014/08/13 15:19:24 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -1081,10 +1081,8 @@ mdoc_ex_pre(MDOC_ARGS)
 static int
 mdoc_em_pre(MDOC_ARGS)
 {
-       struct htmlpair tag;
 
-       PAIR_CLASS_INIT(&tag, "emph");
-       print_otag(h, TAG_SPAN, 1, &tag);
+       print_otag(h, TAG_EM, 0, NULL);
        return(1);
 }
 
@@ -1820,9 +1818,7 @@ mdoc_bf_pre(MDOC_ARGS)
        else if (MDOC_BODY != n->type)
                return(1);
 
-       if (FONT_Em == n->norm->Bf.font)
-               PAIR_CLASS_INIT(&tag[0], "emph");
-       else if (FONT_Sy == n->norm->Bf.font)
+       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");
@@ -1840,6 +1836,8 @@ 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);
 }