aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/html.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2019-04-30 15:53:00 +0000
committerIngo Schwarze <schwarze@openbsd.org>2019-04-30 15:53:00 +0000
commitc97489f192655f4c659019bb01065f81365849a8 (patch)
tree92e8ddd081535061b5d3374eaac3057d8208a61f /html.h
parentdbfda8d8adf1a93a24085f7949afa4203b57ee2b (diff)
downloadmandoc-c97489f192655f4c659019bb01065f81365849a8.tar.gz
mandoc-c97489f192655f4c659019bb01065f81365849a8.tar.zst
mandoc-c97489f192655f4c659019bb01065f81365849a8.zip
In HTML output, allow switching the desired font for subsequent
text without printing an opening tag right away, and use that in the .ft request handler. While here, garbage collect redundant enum htmlfont and reduce code duplication in print_text(). Fixing an assertion failure reported by Michael <Stapelberg at Debian> in pmRegisterDerived(3) from libpcp3-dev.
Diffstat (limited to 'html.h')
-rw-r--r--html.h17
1 files changed, 4 insertions, 13 deletions
diff --git a/html.h b/html.h
index a6bf8911..242a63a8 100644
--- a/html.h
+++ b/html.h
@@ -1,4 +1,4 @@
-/* $Id: html.h,v 1.102 2019/03/01 10:57:18 schwarze Exp $ */
+/* $Id: html.h,v 1.103 2019/04/30 15:53:00 schwarze Exp $ */
/*
* Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2017, 2018, 2019 Ingo Schwarze <schwarze@openbsd.org>
@@ -69,15 +69,6 @@ enum htmltag {
TAG_MAX
};
-enum htmlfont {
- HTMLFONT_NONE = 0,
- HTMLFONT_BOLD,
- HTMLFONT_ITALIC,
- HTMLFONT_BI,
- HTMLFONT_CW,
- HTMLFONT_MAX
-};
-
struct tag {
struct tag *next;
int refcnt;
@@ -111,8 +102,8 @@ struct html {
char *base_includes; /* base for include href */
char *style; /* style-sheet URI */
struct tag *metaf; /* current open font scope */
- enum htmlfont metal; /* last used font */
- enum htmlfont metac; /* current font mode */
+ enum mandoc_esc metal; /* last used font */
+ enum mandoc_esc metac; /* current font mode */
int oflags; /* output options */
#define HTML_FRAGMENT (1 << 0) /* don't emit HTML/HEAD/BODY */
#define HTML_TOC (1 << 1) /* emit a table of contents */
@@ -128,7 +119,6 @@ void roff_html_pre(struct html *, const struct roff_node *);
void print_gen_comment(struct html *, struct roff_node *);
void print_gen_decls(struct html *);
void print_gen_head(struct html *);
-void print_metaf(struct html *, enum mandoc_esc);
struct tag *print_otag(struct html *, enum htmltag, const char *, ...);
void print_tagq(struct html *, const struct tag *);
void print_stagq(struct html *, const struct tag *);
@@ -141,3 +131,4 @@ void print_endline(struct html *);
void html_close_paragraph(struct html *);
enum roff_tok html_fillmode(struct html *, enum roff_tok);
char *html_make_id(const struct roff_node *, int);
+int html_setfont(struct html *, enum mandoc_esc);