version 1.24, 2014/09/17 19:53:35 |
version 1.25, 2014/10/07 18:17:05 |
|
|
/* $OpenBSD$ */ |
/* $OpenBSD$ */ |
/* |
/* |
* 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 |
|
|
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_MAX |
TAG_MAX |
}; |
}; |
|
|
enum htmlattr { |
enum htmlattr { |
ATTR_HTTPEQUIV, |
|
ATTR_CONTENT, |
|
ATTR_NAME, |
ATTR_NAME, |
ATTR_REL, |
ATTR_REL, |
ATTR_HREF, |
ATTR_HREF, |
|
|
ATTR_MEDIA, |
ATTR_MEDIA, |
ATTR_CLASS, |
ATTR_CLASS, |
ATTR_STYLE, |
ATTR_STYLE, |
ATTR_WIDTH, |
|
ATTR_ID, |
ATTR_ID, |
ATTR_SUMMARY, |
|
ATTR_ALIGN, |
|
ATTR_COLSPAN, |
ATTR_COLSPAN, |
|
ATTR_CHARSET, |
ATTR_MAX |
ATTR_MAX |
}; |
}; |
|
|
|
|
#define PAIR_CLASS_INIT(p, v) PAIR_INIT(p, ATTR_CLASS, v) |
#define PAIR_CLASS_INIT(p, v) PAIR_INIT(p, ATTR_CLASS, v) |
#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) |
#define PAIR_SUMMARY_INIT(p, v) PAIR_INIT(p, ATTR_SUMMARY, v) |
|
|
|
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 */ |
|
|
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 */ |
}; |
}; |
|
|
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 *); |
|
|
void bufcat_fmt(struct html *, const char *, ...); |
void bufcat_fmt(struct html *, const char *, ...); |
void bufcat(struct html *, const char *); |
void bufcat(struct html *, const char *); |