-/* $Id: html.c,v 1.269 2020/04/19 15:16:56 schwarze Exp $ */
+/* $Id: html.c,v 1.275 2021/09/09 14:47:24 schwarze Exp $ */
/*
- * Copyright (c) 2011-2015, 2017-2020 Ingo Schwarze <schwarze@openbsd.org>
* Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
+ * Copyright (c) 2011-2015, 2017-2021 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
{"h1", HTML_TOPHRASE | HTML_NLAROUND},
{"h2", HTML_TOPHRASE | HTML_NLAROUND},
{"p", HTML_TOPHRASE | HTML_NLAROUND | HTML_INDENT},
- {"pre", HTML_TOPHRASE | HTML_NLALL | HTML_NOINDENT},
+ {"pre", HTML_TOPHRASE | HTML_NLAROUND | HTML_NOINDENT},
{"a", HTML_INPHRASE | HTML_TOPHRASE},
{"b", HTML_INPHRASE | HTML_TOPHRASE},
{"cite", HTML_INPHRASE | HTML_TOPHRASE},
{"span", HTML_INPHRASE | HTML_TOPHRASE},
{"var", HTML_INPHRASE | HTML_TOPHRASE},
{"br", HTML_INPHRASE | HTML_NOSTACK | HTML_NLALL},
+ {"hr", HTML_INPHRASE | HTML_NOSTACK},
{"mark", HTML_INPHRASE },
{"math", HTML_INPHRASE | HTML_NLALL | HTML_INDENT},
{"mrow", 0},
h = mandoc_calloc(1, sizeof(struct html));
h->tag = NULL;
+ h->metac = h->metal = ESCAPE_FONTROMAN;
h->style = outopts->style;
if ((h->base_man1 = outopts->man) == NULL)
h->base_man2 = NULL;
struct tag *t;
print_otag(h, TAG_META, "?", "charset", "utf-8");
+ print_otag(h, TAG_META, "??", "name", "viewport",
+ "content", "width=device-width, initial-scale=1.0");
if (h->style != NULL) {
print_otag(h, TAG_LINK, "?h??", "rel", "stylesheet",
h->style, "type", "text/css", "media", "all");
case ESCAPE_FONTITALIC:
case ESCAPE_FONTBOLD:
case ESCAPE_FONTBI:
- case ESCAPE_FONTCW:
case ESCAPE_FONTROMAN:
+ case ESCAPE_FONTCR:
+ case ESCAPE_FONTCB:
+ case ESCAPE_FONTCI:
break;
case ESCAPE_FONT:
font = ESCAPE_FONTROMAN;
h->metaf = print_otag(h, TAG_B, "");
print_otag(h, TAG_I, "");
break;
- case ESCAPE_FONTCW:
+ case ESCAPE_FONTCR:
h->metaf = print_otag(h, TAG_SPAN, "c", "Li");
break;
+ case ESCAPE_FONTCB:
+ h->metaf = print_otag(h, TAG_SPAN, "c", "Li");
+ print_otag(h, TAG_B, "");
+ break;
+ case ESCAPE_FONTCI:
+ h->metaf = print_otag(h, TAG_SPAN, "c", "Li");
+ print_otag(h, TAG_I, "");
+ break;
default:
break;
}
* permitted in URL-fragment strings according to the
* explicit list at:
* https://url.spec.whatwg.org/#url-fragment-string
+ * In addition, reserve '~' for ordinal suffixes.
*/
for (cp = buf; *cp != '\0'; cp++)
if (isalnum((unsigned char)*cp) == 0 &&
- strchr("!$&'()*+,-./:;=?@_~", *cp) == NULL)
+ strchr("!$&'()*+,-./:;=?@_", *cp) == NULL)
*cp = '_';
if (unique == 0)
if (entry->ord > 1) {
cp = buf;
- mandoc_asprintf(&buf, "%s_%d", cp, entry->ord);
+ mandoc_asprintf(&buf, "%s~%d", cp, entry->ord);
free(cp);
}
return buf;
case ESCAPE_FONTBOLD:
case ESCAPE_FONTITALIC:
case ESCAPE_FONTBI:
- case ESCAPE_FONTCW:
case ESCAPE_FONTROMAN:
+ case ESCAPE_FONTCR:
+ case ESCAPE_FONTCB:
+ case ESCAPE_FONTCI:
if (0 == norecurse) {
h->flags |= HTML_NOSPACE;
if (html_setfont(h, esc))