From 3a7fb4d8e1896eced87e3ccbf9369d76fa10d7e0 Mon Sep 17 00:00:00 2001 From: TingPing Date: Fri, 31 Jan 2014 17:20:17 -0500 Subject: osx: Set Menlo as default font This moves the find_font function to the front ends since it depends on pango and cairo --- src/fe-gtk/fe-gtk.c | 17 +++++++++++++++++ src/fe-gtk/gtkutil.c | 33 +++++++++++++++++++++++++++++++++ src/fe-gtk/gtkutil.h | 4 ++++ 3 files changed, 54 insertions(+) (limited to 'src/fe-gtk') diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c index ae68bb79..c0e7f53f 100644 --- a/src/fe-gtk/fe-gtk.c +++ b/src/fe-gtk/fe-gtk.c @@ -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; +} diff --git a/src/fe-gtk/gtkutil.c b/src/fe-gtk/gtkutil.c index 79b71233..282b952c 100644 --- a/src/fe-gtk/gtkutil.c +++ b/src/fe-gtk/gtkutil.c @@ -27,6 +27,9 @@ #include "fe-gtk.h" #include +#if defined (WIN32) || defined (__APPLE__) +#include +#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 diff --git a/src/fe-gtk/gtkutil.h b/src/fe-gtk/gtkutil.h index cd7d9e80..87beed08 100644 --- a/src/fe-gtk/gtkutil.h +++ b/src/fe-gtk/gtkutil.h @@ -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 -- cgit 1.4.1