summaryrefslogtreecommitdiff
path: root/src/parse/properties/font.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse/properties/font.c')
-rw-r--r--src/parse/properties/font.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/parse/properties/font.c b/src/parse/properties/font.c
index 5010242..7ce9701 100644
--- a/src/parse/properties/font.c
+++ b/src/parse/properties/font.c
@@ -243,6 +243,7 @@ css_error css__parse_font(css_language *c,
css_style *size_style;
css_style *line_height_style;
css_style *family_style;
+ enum flag_value flag_value;
int svw;
/* Firstly, handle inherit */
@@ -250,28 +251,36 @@ css_error css__parse_font(css_language *c,
if (token == NULL)
return CSS_INVALID;
- if (is_css_inherit(c, token)) {
- error = css_stylesheet_style_inherit(result, CSS_PROP_FONT_STYLE);
+ flag_value = get_css_flag_value(c, token);
+
+ if (flag_value != FLAG_VALUE__NONE) {
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_FONT_STYLE);
if (error != CSS_OK)
return error;
- error = css_stylesheet_style_inherit(result, CSS_PROP_FONT_VARIANT);
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_FONT_VARIANT);
if (error != CSS_OK)
return error;
- error = css_stylesheet_style_inherit(result, CSS_PROP_FONT_WEIGHT);
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_FONT_WEIGHT);
if (error != CSS_OK)
return error;
- error = css_stylesheet_style_inherit(result, CSS_PROP_FONT_SIZE);
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_FONT_SIZE);
if (error != CSS_OK)
return error;
- error = css_stylesheet_style_inherit(result, CSS_PROP_LINE_HEIGHT);
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_LINE_HEIGHT);
if (error != CSS_OK)
return error;
- error = css_stylesheet_style_inherit(result, CSS_PROP_FONT_FAMILY);
+ error = css_stylesheet_style_flag_value(result, flag_value,
+ CSS_PROP_FONT_FAMILY);
if (error == CSS_OK)
parserutils_vector_iterate(vector, ctx);