#include <strings.h>
#include <gdk/gdk.h>
+#include <gdk/gdkprivate.h>
#include <gtk/gtk.h>
// ----------------------------------------------------------------------------
wxString m_faceName;
wxFontEncoding m_encoding;
- friend wxFont;
+ friend class wxFont;
};
// ============================================================================
wxStringTokenizer tn( fontname, wxT("-") );
+ tn.GetNextToken(); // skip initial empty token
tn.GetNextToken(); // foundry
M_FONTDATA->m_faceName = tn.GetNextToken(); // family
tn.GetNextToken(); // pixel size
tmp = tn.GetNextToken(); // pointsize
- long num = wxStrtol (tmp.c_str(), (wxChar **) NULL, 10);
- M_FONTDATA->m_pointSize = (int)(num / 10);
+ if (tmp != wxT("*"))
+ {
+ long num = wxStrtol (tmp.c_str(), (wxChar **) NULL, 10);
+ M_FONTDATA->m_pointSize = (int)(num / 10);
+ }
tn.GetNextToken(); // x-res
tn.GetNextToken(); // y-res
static GdkFont *g_systemDefaultGuiFont = (GdkFont*) NULL;
-static GdkFont *GtkGetDefaultGuiFont()
+GdkFont *GtkGetDefaultGuiFont()
{
if (!g_systemDefaultGuiFont)
{
GtkWidget *widget = gtk_button_new();
GtkStyle *def = gtk_rc_get_style( widget );
- g_systemDefaultGuiFont = gdk_font_ref( def->font );
+ if (def)
+ {
+ g_systemDefaultGuiFont = gdk_font_ref( def->font );
+ }
+ else
+ {
+ def = gtk_widget_get_default_style();
+ if (def)
+ g_systemDefaultGuiFont = gdk_font_ref( def->font );
+ }
gtk_widget_destroy( widget );
}
return g_systemDefaultGuiFont;
{
font = GtkGetDefaultGuiFont();
}
- else
+ if (!font)
{
font = wxLoadQueryNearestFont( point_scale,
M_FONTDATA->m_family,