Return to html.h CVS log | Up to [cvsweb.bsd.lv] / mandoc |
version 1.60, 2014/09/27 09:26:01 | version 1.72, 2015/11/07 14:01:16 | ||
---|---|---|---|
|
|
||
/* $Id$ */ | /* $Id$ */ | ||
/* | /* | ||
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> | * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> | ||
* | * | ||
* Permission to use, copy, modify, and distribute this software for any | * Permission to use, copy, modify, and distribute this software for any | ||
* purpose with or without fee is hereby granted, provided that the above | * purpose with or without fee is hereby granted, provided that the above | ||
|
|
||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
*/ | */ | ||
#ifndef HTML_H | |||
#define HTML_H | |||
__BEGIN_DECLS | |||
enum htmltag { | enum htmltag { | ||
TAG_HTML, | TAG_HTML, | ||
TAG_HEAD, | TAG_HEAD, | ||
|
|
||
TAG_DT, | TAG_DT, | ||
TAG_DD, | TAG_DD, | ||
TAG_BLOCKQUOTE, | TAG_BLOCKQUOTE, | ||
TAG_P, | |||
TAG_PRE, | TAG_PRE, | ||
TAG_B, | TAG_B, | ||
TAG_I, | TAG_I, | ||
TAG_CODE, | TAG_CODE, | ||
TAG_SMALL, | TAG_SMALL, | ||
TAG_STYLE, | TAG_STYLE, | ||
TAG_MATH, | |||
TAG_MROW, | |||
TAG_MI, | |||
TAG_MO, | |||
TAG_MSUP, | |||
TAG_MSUB, | |||
TAG_MSUBSUP, | |||
TAG_MFRAC, | |||
TAG_MSQRT, | |||
TAG_MFENCED, | |||
TAG_MTABLE, | |||
TAG_MTR, | |||
TAG_MTD, | |||
TAG_MUNDEROVER, | |||
TAG_MUNDER, | |||
TAG_MOVER, | |||
TAG_MAX | TAG_MAX | ||
}; | }; | ||
|
|
||
ATTR_ID, | ATTR_ID, | ||
ATTR_COLSPAN, | ATTR_COLSPAN, | ||
ATTR_CHARSET, | ATTR_CHARSET, | ||
ATTR_OPEN, | |||
ATTR_CLOSE, | |||
ATTR_MATHVARIANT, | |||
ATTR_MAX | ATTR_MAX | ||
}; | }; | ||
|
|
||
#define PAIR_HREF_INIT(p, v) PAIR_INIT(p, ATTR_HREF, v) | #define PAIR_HREF_INIT(p, v) PAIR_INIT(p, ATTR_HREF, v) | ||
#define PAIR_STYLE_INIT(p, h) PAIR_INIT(p, ATTR_STYLE, (h)->buf) | #define PAIR_STYLE_INIT(p, h) PAIR_INIT(p, ATTR_STYLE, (h)->buf) | ||
enum htmltype { | |||
HTML_HTML_4_01_STRICT, | |||
HTML_XHTML_1_0_STRICT | |||
}; | |||
struct html { | struct html { | ||
int flags; | int flags; | ||
#define HTML_NOSPACE (1 << 0) /* suppress next space */ | #define HTML_NOSPACE (1 << 0) /* suppress next space */ | ||
|
|
||
#define HTML_SKIPCHAR (1 << 6) /* skip the next character */ | #define HTML_SKIPCHAR (1 << 6) /* skip the next character */ | ||
#define HTML_NOSPLIT (1 << 7) /* do not break line before .An */ | #define HTML_NOSPLIT (1 << 7) /* do not break line before .An */ | ||
#define HTML_SPLIT (1 << 8) /* break line before .An */ | #define HTML_SPLIT (1 << 8) /* break line before .An */ | ||
#define HTML_NONEWLINE (1 << 9) /* No line break in nofill mode. */ | |||
struct tagq tags; /* stack of open tags */ | struct tagq tags; /* stack of open tags */ | ||
struct rofftbl tbl; /* current table */ | struct rofftbl tbl; /* current table */ | ||
struct tag *tblt; /* current open table scope */ | struct tag *tblt; /* current open table scope */ | ||
struct mchars *symtab; /* character-escapes */ | |||
char *base_man; /* base for manpage href */ | char *base_man; /* base for manpage href */ | ||
char *base_includes; /* base for include href */ | char *base_includes; /* base for include href */ | ||
char *style; /* style-sheet URI */ | char *style; /* style-sheet URI */ | ||
|
|
||
struct tag *metaf; /* current open font scope */ | struct tag *metaf; /* current open font scope */ | ||
enum htmlfont metal; /* last used font */ | enum htmlfont metal; /* last used font */ | ||
enum htmlfont metac; /* current font mode */ | enum htmlfont metac; /* current font mode */ | ||
enum htmltype type; /* output media type */ | |||
int oflags; /* output options */ | int oflags; /* output options */ | ||
#define HTML_FRAGMENT (1 << 0) /* don't emit HTML/HEAD/BODY */ | #define HTML_FRAGMENT (1 << 0) /* don't emit HTML/HEAD/BODY */ | ||
}; | }; | ||
struct tbl_span; | |||
struct eqn; | |||
void print_gen_decls(struct html *); | void print_gen_decls(struct html *); | ||
void print_gen_head(struct html *); | void print_gen_head(struct html *); | ||
struct tag *print_otag(struct html *, enum htmltag, | struct tag *print_otag(struct html *, enum htmltag, | ||
|
|
||
void print_tblclose(struct html *); | void print_tblclose(struct html *); | ||
void print_tbl(struct html *, const struct tbl_span *); | void print_tbl(struct html *, const struct tbl_span *); | ||
void print_eqn(struct html *, const struct eqn *); | void print_eqn(struct html *, const struct eqn *); | ||
void print_paragraph(struct html *); | |||
#if __GNUC__ - 0 >= 4 | #if __GNUC__ - 0 >= 4 | ||
__attribute__((__format__ (__printf__, 2, 3))) | __attribute__((__format__ (__printf__, 2, 3))) | ||
|
|
||
void buffmt_includes(struct html *, const char *); | void buffmt_includes(struct html *, const char *); | ||
int html_strlen(const char *); | int html_strlen(const char *); | ||
__END_DECLS | |||
#endif /*!HTML_H*/ |