Allow tag rules to be reused

This commit is contained in:
Wilson Lin 2018-07-06 11:41:55 +12:00
parent 4c70adc3b5
commit 0631df5dd2
3 changed files with 61 additions and 49 deletions

View File

@ -6,40 +6,44 @@
static nh_set_str_t hb_r_formattingtags_set;
void hb_r_formattingtags_add_elems(nh_set_str_t set) {
// Difference to MDN's inline text semantics list: -br, +del, +ins
nh_set_str_add(set, "a");
nh_set_str_add(set, "abbr");
nh_set_str_add(set, "b");
nh_set_str_add(set, "bdi");
nh_set_str_add(set, "bdo");
nh_set_str_add(set, "cite");
nh_set_str_add(set, "code");
nh_set_str_add(set, "data");
nh_set_str_add(set, "del");
nh_set_str_add(set, "dfn");
nh_set_str_add(set, "em");
nh_set_str_add(set, "i");
nh_set_str_add(set, "ins");
nh_set_str_add(set, "kbd");
nh_set_str_add(set, "mark");
nh_set_str_add(set, "q");
nh_set_str_add(set, "rp");
nh_set_str_add(set, "rt");
nh_set_str_add(set, "rtc");
nh_set_str_add(set, "ruby");
nh_set_str_add(set, "s");
nh_set_str_add(set, "samp");
nh_set_str_add(set, "small");
nh_set_str_add(set, "span");
nh_set_str_add(set, "strong");
nh_set_str_add(set, "sub");
nh_set_str_add(set, "sup");
nh_set_str_add(set, "time");
nh_set_str_add(set, "u");
nh_set_str_add(set, "var");
nh_set_str_add(set, "wbr");
}
void hb_r_formattingtags_init(void) {
hb_r_formattingtags_set = nh_set_str_create();
// Difference to MDN's inline text semantics list: -br, +del, +ins
nh_set_str_add(hb_r_formattingtags_set, "a");
nh_set_str_add(hb_r_formattingtags_set, "abbr");
nh_set_str_add(hb_r_formattingtags_set, "b");
nh_set_str_add(hb_r_formattingtags_set, "bdi");
nh_set_str_add(hb_r_formattingtags_set, "bdo");
nh_set_str_add(hb_r_formattingtags_set, "cite");
nh_set_str_add(hb_r_formattingtags_set, "code");
nh_set_str_add(hb_r_formattingtags_set, "data");
nh_set_str_add(hb_r_formattingtags_set, "del");
nh_set_str_add(hb_r_formattingtags_set, "dfn");
nh_set_str_add(hb_r_formattingtags_set, "em");
nh_set_str_add(hb_r_formattingtags_set, "i");
nh_set_str_add(hb_r_formattingtags_set, "ins");
nh_set_str_add(hb_r_formattingtags_set, "kbd");
nh_set_str_add(hb_r_formattingtags_set, "mark");
nh_set_str_add(hb_r_formattingtags_set, "q");
nh_set_str_add(hb_r_formattingtags_set, "rp");
nh_set_str_add(hb_r_formattingtags_set, "rt");
nh_set_str_add(hb_r_formattingtags_set, "rtc");
nh_set_str_add(hb_r_formattingtags_set, "ruby");
nh_set_str_add(hb_r_formattingtags_set, "s");
nh_set_str_add(hb_r_formattingtags_set, "samp");
nh_set_str_add(hb_r_formattingtags_set, "small");
nh_set_str_add(hb_r_formattingtags_set, "span");
nh_set_str_add(hb_r_formattingtags_set, "strong");
nh_set_str_add(hb_r_formattingtags_set, "sub");
nh_set_str_add(hb_r_formattingtags_set, "sup");
nh_set_str_add(hb_r_formattingtags_set, "time");
nh_set_str_add(hb_r_formattingtags_set, "u");
nh_set_str_add(hb_r_formattingtags_set, "var");
nh_set_str_add(hb_r_formattingtags_set, "wbr");
hb_r_formattingtags_add_elems(hb_r_formattingtags_set);
}
int hb_r_formattingtags_check(hb_char_t *tag) {

View File

@ -6,23 +6,27 @@
static nh_set_str_t hb_r_voidtags_set;
void hb_r_voidtags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "area");
nh_set_str_add(set, "base");
nh_set_str_add(set, "br");
nh_set_str_add(set, "col");
nh_set_str_add(set, "embed");
nh_set_str_add(set, "hr");
nh_set_str_add(set, "img");
nh_set_str_add(set, "input");
nh_set_str_add(set, "keygen");
nh_set_str_add(set, "link");
nh_set_str_add(set, "meta");
nh_set_str_add(set, "param");
nh_set_str_add(set, "source");
nh_set_str_add(set, "track");
nh_set_str_add(set, "wbr");
}
void hb_r_voidtags_init(void) {
hb_r_voidtags_set = nh_set_str_create();
nh_set_str_add(hb_r_voidtags_set, "area");
nh_set_str_add(hb_r_voidtags_set, "base");
nh_set_str_add(hb_r_voidtags_set, "br");
nh_set_str_add(hb_r_voidtags_set, "col");
nh_set_str_add(hb_r_voidtags_set, "embed");
nh_set_str_add(hb_r_voidtags_set, "hr");
nh_set_str_add(hb_r_voidtags_set, "img");
nh_set_str_add(hb_r_voidtags_set, "input");
nh_set_str_add(hb_r_voidtags_set, "keygen");
nh_set_str_add(hb_r_voidtags_set, "link");
nh_set_str_add(hb_r_voidtags_set, "meta");
nh_set_str_add(hb_r_voidtags_set, "param");
nh_set_str_add(hb_r_voidtags_set, "source");
nh_set_str_add(hb_r_voidtags_set, "track");
nh_set_str_add(hb_r_voidtags_set, "wbr");
hb_r_voidtags_add_elems(hb_r_voidtags_set);
}
int hb_r_voidtags_check(hb_char_t *tag) {

View File

@ -6,10 +6,14 @@
static nh_set_str_t hb_r_wsstags_set;
void hb_r_wsstags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "code");
nh_set_str_add(set, "pre");
}
void hb_r_wsstags_init(void) {
hb_r_wsstags_set = nh_set_str_create();
nh_set_str_add(hb_r_wsstags_set, "code");
nh_set_str_add(hb_r_wsstags_set, "pre");
hb_r_wsstags_add_elems(hb_r_wsstags_set);
}
int hb_r_wsstags_check(hb_char_t *tag) {