Allow to use a pango font description string.
authorMikael Magnusson <mikachu@comhem.se>
Tue, 29 Apr 2008 14:56:31 +0000 (16:56 +0200)
committerMikael Magnusson <mikachu@comhem.se>
Tue, 29 Apr 2008 14:56:31 +0000 (16:56 +0200)
openbox/config.c
render/font.c

index fc628ce..adac23a 100644 (file)
@@ -664,6 +664,13 @@ static void parse_theme(xmlNodePtr node, gpointer d)
 
         *font = RrFontOpen(ob_rr_inst, name, size, weight, slant);
         g_free(name);
+
+        if ((fnode = obt_parse_find_node(n->children, "description"))) {
+            gchar *s = obt_parse_node_string(fnode);
+            RrFontDescriptionFromString(*font, s);
+            g_free(s);
+        }
+
     next_font:
         n = obt_parse_find_node(n->next, "font");
     }
index 10df5e0..ff8852b 100644 (file)
@@ -60,6 +60,15 @@ static void measure_font(const RrInstance *inst, RrFont *f)
 
 }
 
+void RrFontDescriptionFromString(RrFont *font, gchar *description)
+{
+    PangoFontDescription *desc;
+    desc = pango_font_description_from_string(description);
+    pango_font_description_merge(font->font_desc, desc, TRUE);
+    pango_font_description_free(desc);
+    pango_layout_set_font_description(font->layout, font->font_desc);
+}
+
 RrFont *RrFontOpen(const RrInstance *inst, const gchar *name, gint size,
                    RrFontWeight weight, RrFontSlant slant)
 {