- if (!def)
- def = gtk_widget_get_default_style();
- if (def)
- {
- wxNativeFontInfo info;
- info.description = def->font_desc;
- g_systemFont = new wxFont(info);
- }
- else
- {
- g_systemFont = new wxFont( 12, wxSWISS, wxNORMAL, wxNORMAL );
- }
+ if ( !def || !def->font_desc )
+ def = gtk_widget_get_default_style();
+ if ( def && def->font_desc )
+ {
+ wxNativeFontInfo info;
+ info.description =
+ pango_font_description_copy(def->font_desc);
+ gs_objects.m_fontSystem = wxFont(info);
+ }
+ else
+ {
+ GtkSettings *settings = gtk_settings_get_default();
+ gchar *font_name = NULL;
+ g_object_get ( settings,
+ "gtk-font-name",
+ &font_name,
+ NULL);
+ if (!font_name)
+ gs_objects.m_fontSystem = wxFont( 12, wxSWISS, wxNORMAL, wxNORMAL );
+ else
+ gs_objects.m_fontSystem = wxFont(wxString::FromAscii(font_name));
+ g_free (font_name);
+ }