summaryrefslogtreecommitdiff
path: root/gtk/gtkcssstyle.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2017-12-20 10:29:33 -0500
committerMatthias Clasen <mclasen@redhat.com>2017-12-20 10:31:30 -0500
commit22f9562928872106af31b14d0b2c3ebabad23fd7 (patch)
treecec232b1ce2e9e1470dcc70741ccdfd1eb729d82 /gtk/gtkcssstyle.c
parent6042b829645c82b7bf2143f59283880ea3e915e9 (diff)
downloadgtk+-22f9562928872106af31b14d0b2c3ebabad23fd7.tar.gz
Implement font-feature-settings
This is a missing part of the CSS font level 3 module.
Diffstat (limited to 'gtk/gtkcssstyle.c')
-rw-r--r--gtk/gtkcssstyle.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gtk/gtkcssstyle.c b/gtk/gtkcssstyle.c
index 670a87d7b0..78af3ae9d4 100644
--- a/gtk/gtkcssstyle.c
+++ b/gtk/gtkcssstyle.c
@@ -32,6 +32,7 @@
#include "gtkcsssectionprivate.h"
#include "gtkcssshorthandpropertyprivate.h"
#include "gtkcssstringvalueprivate.h"
+#include "gtkcssfontfeaturesvalueprivate.h"
#include "gtkcssstylepropertyprivate.h"
#include "gtkcsstransitionprivate.h"
#include "gtkstyleanimationprivate.h"
@@ -238,6 +239,7 @@ gtk_css_style_get_pango_attributes (GtkCssStyle *style)
GtkCssFontVariantNumeric numeric;
GtkCssFontVariantEastAsian east_asian;
GString *s;
+ char *settings;
/* text-decoration */
decoration_line = _gtk_css_text_decoration_line_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_TEXT_DECORATION_LINE));
@@ -424,6 +426,16 @@ gtk_css_style_get_pango_attributes (GtkCssStyle *style)
append_separated (s, "ruby 1");
}
+g_print ("before: %s\n", s->str);
+ value = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_FONT_FEATURE_SETTINGS);
+ settings = gtk_css_font_features_value_get_features (value);
+ if (settings)
+ {
+ append_separated (s, settings);
+ g_free (settings);
+ }
+g_print ("after: %s\n", s->str);
+
attrs = add_pango_attr (attrs, pango_attr_font_features_new (s->str));
g_string_free (s, TRUE);