+/* ARGSUSED */
+static int
+man_alt_pre(MAN_ARGS)
+{
+ const struct man_node *nn;
+ struct tag *t;
+ int i;
+ enum htmlfont fp;
+
+ for (i = 0, nn = n->child; nn; nn = nn->next, i++) {
+ switch (n->tok) {
+ case (MAN_BI):
+ fp = i % 2 ? HTMLFONT_ITALIC : HTMLFONT_BOLD;
+ break;
+ case (MAN_IB):
+ fp = i % 2 ? HTMLFONT_BOLD : HTMLFONT_ITALIC;
+ break;
+ case (MAN_RI):
+ fp = i % 2 ? HTMLFONT_ITALIC : HTMLFONT_NONE;
+ break;
+ case (MAN_IR):
+ fp = i % 2 ? HTMLFONT_NONE : HTMLFONT_ITALIC;
+ break;
+ case (MAN_BR):
+ fp = i % 2 ? HTMLFONT_NONE : HTMLFONT_BOLD;
+ break;
+ case (MAN_RB):
+ fp = i % 2 ? HTMLFONT_BOLD : HTMLFONT_NONE;
+ break;
+ default:
+ abort();
+ /* NOTREACHED */
+ }
+
+ if (i)
+ h->flags |= HTML_NOSPACE;
+
+ /*
+ * Open and close the scope with each argument, so that
+ * internal \f escapes, which are common, are also
+ * closed out with the scope.
+ */
+ t = print_ofont(h, fp);
+ print_man_node(m, nn, h);
+ print_tagq(h, t);
+ }
+
+ return(0);
+}
+
+
+/* ARGSUSED */
+static int
+man_SB_pre(MAN_ARGS)
+{
+ struct htmlpair tag;
+
+ /* FIXME: print_ofont(). */
+ PAIR_CLASS_INIT(&tag, "small bold");
+ print_otag(h, TAG_SPAN, 1, &tag);
+ return(1);
+}
+
+
+/* ARGSUSED */
+static int
+man_SM_pre(MAN_ARGS)
+{
+ struct htmlpair tag;
+
+ PAIR_CLASS_INIT(&tag, "small");
+ print_otag(h, TAG_SPAN, 1, &tag);
+ return(1);
+}
+
+