summaryrefslogtreecommitdiffstats
path: root/html.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-07-14 15:56:37 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-07-14 15:56:37 +0000
commit0a3fdda2fdfc6e87b86c158cca5f54f59f302ddf (patch)
treeb405cd6693754ece2bc987508959029c657bd6c0 /html.c
parent6743059f021b4239f933715e225da9a692cf92ff (diff)
downloadmandoc-0a3fdda2fdfc6e87b86c158cca5f54f59f302ddf.tar.gz
print HTML character references as 4+ digits hexadecimal, like Unicode;
from bentley@, tweaked by me
Diffstat (limited to 'html.c')
-rw-r--r--html.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/html.c b/html.c
index 53e76149..c02739cc 100644
--- a/html.c
+++ b/html.c
@@ -453,7 +453,7 @@ print_encode(struct html *h, const char *p, const char *pend, int norecurse)
(c > 0x7E && c < 0xA0))
c = 0xFFFD;
if (c > 0x7E) {
- (void)snprintf(numbuf, sizeof(numbuf), "&#%d;", c);
+ (void)snprintf(numbuf, sizeof(numbuf), "&#x%.4X;", c);
print_word(h, numbuf);
} else if (print_escape(h, c) == 0)
print_byte(h, c);
@@ -516,7 +516,7 @@ print_otag(struct html *h, enum htmltag tag, const char *fmt, ...)
print_indent(h);
else if ((h->flags & HTML_NOSPACE) == 0) {
if (h->flags & HTML_KEEP)
- print_word(h, "&#160;");
+ print_word(h, "&#x00A0;");
else {
if (h->flags & HTML_PREKEEP)
h->flags |= HTML_KEEP;
@@ -779,7 +779,7 @@ print_text(struct html *h, const char *word)
h->flags |= HTML_KEEP;
print_endword(h);
} else
- print_word(h, "&#160;");
+ print_word(h, "&#x00A0;");
}
assert(NULL == h->metaf);