osx: Set Menlo as default font

This moves the find_font function to the front ends since it depends on
pango and cairo
This commit is contained in:
TingPing
2014-01-31 17:20:17 -05:00
parent 8e55157e6a
commit 3a7fb4d8e1
8 changed files with 67 additions and 42 deletions

View File

@@ -1113,3 +1113,20 @@ fe_open_chan_list (server *serv, char *filter, int do_refresh)
{
chanlist_opengui (serv, do_refresh);
}
const char *
fe_get_default_font (void)
{
#ifdef WIN32
if (gtkutil_find_font ("Consolas"))
return "Consolas 10";
else
#else
#ifdef __APPLE__
if (gtkutil_find_font ("Menlo"))
return "Menlo 13";
else
#endif
#endif
return NULL;
}

View File

@@ -27,6 +27,9 @@
#include "fe-gtk.h"
#include <gdk/gdkkeysyms.h>
#if defined (WIN32) || defined (__APPLE__)
#include <pango/pangocairo.h>
#endif
#include "../common/hexchat.h"
#include "../common/fe.h"
@@ -722,3 +725,33 @@ gtkutil_treeview_get_selected (GtkTreeView *view, GtkTreeIter *iter_ret, ...)
return has_selected;
}
#if defined (WIN32) || defined (__APPLE__)
gboolean
gtkutil_find_font (const char *fontname)
{
int i;
int n_families;
const char *family_name;
PangoFontMap *fontmap;
PangoFontFamily *family;
PangoFontFamily **families;
fontmap = pango_cairo_font_map_get_default ();
pango_font_map_list_families (fontmap, &families, &n_families);
for (i = 0; i < n_families; i++)
{
family = families[i];
family_name = pango_font_family_get_name (family);
if (!g_ascii_strcasecmp (family_name, fontname))
{
g_free (families);
return TRUE;
}
}
g_free (families);
return FALSE;
}
#endif

View File

@@ -52,4 +52,8 @@ gboolean gtkutil_treemodel_string_to_iter (GtkTreeModel *model, gchar *pathstr,
gboolean gtkutil_treeview_get_selected_iter (GtkTreeView *view, GtkTreeIter *iter_ret);
gboolean gtkutil_treeview_get_selected (GtkTreeView *view, GtkTreeIter *iter_ret, ...);
#if defined (WIN32) || defined (__APPLE__)
gboolean gtkutil_find_font (const char *fontname);
#endif
#endif