Author: cazfi Date: Sun Oct 9 12:51:28 2016 New Revision: 34068 URL: http://svn.gna.org/viewcvs/freeciv?rev=34068&view=rev Log: Gtk3-clients construct proper font definitions css using pango.
Broken css reported by Bernhard <aldot> See patch #7162 Modified: trunk/client/gui-gtk-3.0/gui_stuff.c trunk/client/gui-gtk-3.22/gui_stuff.c Modified: trunk/client/gui-gtk-3.0/gui_stuff.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/gui_stuff.c?rev=34068&r1=34067&r2=34068&view=diff ============================================================================== --- trunk/client/gui-gtk-3.0/gui_stuff.c (original) +++ trunk/client/gui-gtk-3.0/gui_stuff.c Sun Oct 9 12:51:28 2016 @@ -1010,8 +1010,33 @@ { char *str; GtkCssProvider *provider; - - str = g_strdup_printf("#Freeciv #%s { font: %s;}", font_name, font_value); + PangoFontDescription *desc; + int size; + const char *fam; + + desc = pango_font_description_from_string(font_value); + + if (desc == NULL) { + return; + } + + fam = pango_font_description_get_family(desc); + + if (fam == NULL) { + return; + } + + size = pango_font_description_get_size(desc); + + if (size != 0) { + str = g_strdup_printf("#Freeciv #%s { font-family: %s; font-size: %dpt;}", + font_name, fam, size / PANGO_SCALE); + } else { + str = g_strdup_printf("#Freeciv #%s { font-family: %s; }", + font_name, fam); + } + + pango_font_description_free(desc); provider = gtk_css_provider_new(); gtk_css_provider_load_from_data(GTK_CSS_PROVIDER(provider), Modified: trunk/client/gui-gtk-3.22/gui_stuff.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.22/gui_stuff.c?rev=34068&r1=34067&r2=34068&view=diff ============================================================================== --- trunk/client/gui-gtk-3.22/gui_stuff.c (original) +++ trunk/client/gui-gtk-3.22/gui_stuff.c Sun Oct 9 12:51:28 2016 @@ -1003,8 +1003,33 @@ { char *str; GtkCssProvider *provider; - - str = g_strdup_printf("#Freeciv #%s { font: %s;}", font_name, font_value); + PangoFontDescription *desc; + int size; + const char *fam; + + desc = pango_font_description_from_string(font_value); + + if (desc == NULL) { + return; + } + + fam = pango_font_description_get_family(desc); + + if (fam == NULL) { + return; + } + + size = pango_font_description_get_size(desc); + + if (size != 0) { + str = g_strdup_printf("#Freeciv #%s { font-family: %s; font-size: %dpt;}", + font_name, fam, size / PANGO_SCALE); + } else { + str = g_strdup_printf("#Freeciv #%s { font-family: %s; }", + font_name, fam); + } + + pango_font_description_free(desc); provider = gtk_css_provider_new(); gtk_css_provider_load_from_data(GTK_CSS_PROVIDER(provider), _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits