version 1.33, 2010/12/20 13:07:55 |
version 1.55, 2014/09/27 08:54:34 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2008, 2009, 2010, 2011 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 |
|
|
TAG_PRE, |
TAG_PRE, |
TAG_B, |
TAG_B, |
TAG_I, |
TAG_I, |
TAG_U, |
TAG_CODE, |
|
TAG_SMALL, |
TAG_MAX |
TAG_MAX |
}; |
}; |
|
|
|
|
ATTR_ID, |
ATTR_ID, |
ATTR_SUMMARY, |
ATTR_SUMMARY, |
ATTR_ALIGN, |
ATTR_ALIGN, |
|
ATTR_COLSPAN, |
|
ATTR_CHARSET, |
ATTR_MAX |
ATTR_MAX |
}; |
}; |
|
|
|
|
HTMLFONT_NONE = 0, |
HTMLFONT_NONE = 0, |
HTMLFONT_BOLD, |
HTMLFONT_BOLD, |
HTMLFONT_ITALIC, |
HTMLFONT_ITALIC, |
|
HTMLFONT_BI, |
HTMLFONT_MAX |
HTMLFONT_MAX |
}; |
}; |
|
|
|
|
|
|
struct html { |
struct html { |
int flags; |
int flags; |
#define HTML_NOSPACE (1 << 0) |
#define HTML_NOSPACE (1 << 0) /* suppress next space */ |
#define HTML_IGNDELIM (1 << 1) |
#define HTML_IGNDELIM (1 << 1) |
#define HTML_KEEP (1 << 2) |
#define HTML_KEEP (1 << 2) |
#define HTML_PREKEEP (1 << 3) |
#define HTML_PREKEEP (1 << 3) |
#define HTML_NONOSPACE (1 << 4) |
#define HTML_NONOSPACE (1 << 4) /* never add spaces */ |
struct tagq tags; |
#define HTML_LITERAL (1 << 5) /* literal (e.g., <PRE>) context */ |
void *symtab; |
#define HTML_SKIPCHAR (1 << 6) /* skip the next character */ |
char *base; |
#define HTML_NOSPLIT (1 << 7) /* do not break line before .An */ |
char *base_man; |
#define HTML_SPLIT (1 << 8) /* break line before .An */ |
char *base_includes; |
struct tagq tags; /* stack of open tags */ |
char *style; |
struct rofftbl tbl; /* current table */ |
char buf[BUFSIZ]; |
struct tag *tblt; /* current open table scope */ |
|
struct mchars *symtab; /* character-escapes */ |
|
char *base_man; /* base for manpage href */ |
|
char *base_includes; /* base for include href */ |
|
char *style; /* style-sheet URI */ |
|
char buf[BUFSIZ]; /* see bufcat and friends */ |
size_t buflen; |
size_t buflen; |
struct tag *metaf; |
struct tag *metaf; /* current open font scope */ |
enum htmlfont metal; |
enum htmlfont metal; /* last used font */ |
enum htmlfont metac; |
enum htmlfont metac; /* current font mode */ |
enum htmltype type; |
enum htmltype type; /* output media type */ |
|
int oflags; /* output options */ |
|
#define HTML_FRAGMENT (1 << 0) /* don't emit HTML/HEAD/BODY */ |
}; |
}; |
|
|
struct roffsu; |
|
|
|
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_ofont(struct html *, enum htmlfont); |
struct tag *print_otag(struct html *, enum htmltag, |
struct tag *print_otag(struct html *, enum htmltag, |
|
int, const struct htmlpair *); |
int, const struct htmlpair *); |
void print_tagq(struct html *, const struct tag *); |
void print_tagq(struct html *, const struct tag *); |
void print_stagq(struct html *, const struct tag *); |
void print_stagq(struct html *, const struct tag *); |
void print_text(struct html *, const char *); |
void print_text(struct html *, const char *); |
|
void print_tblclose(struct html *); |
|
void print_tbl(struct html *, const struct tbl_span *); |
|
void print_eqn(struct html *, const struct eqn *); |
|
|
void bufcat_su(struct html *, const char *, |
#if __GNUC__ - 0 >= 4 |
const struct roffsu *); |
__attribute__((__format__ (__printf__, 2, 3))) |
void buffmt_man(struct html *, |
#endif |
const char *, const char *); |
void bufcat_fmt(struct html *, const char *, ...); |
void buffmt_includes(struct html *, const char *); |
|
void buffmt(struct html *, const char *, ...); |
|
void bufcat(struct html *, const char *); |
void bufcat(struct html *, const char *); |
void bufcat_style(struct html *, |
void bufcat_id(struct html *, const char *); |
|
void bufcat_style(struct html *, |
const char *, const char *); |
const char *, const char *); |
void bufncat(struct html *, const char *, size_t); |
void bufcat_su(struct html *, const char *, |
|
const struct roffsu *); |
void bufinit(struct html *); |
void bufinit(struct html *); |
|
void buffmt_man(struct html *, |
|
const char *, const char *); |
|
void buffmt_includes(struct html *, const char *); |
|
|
void html_idcat(char *, const char *, int); |
int html_strlen(const char *); |
|
|
__END_DECLS |
__END_DECLS |
|
|