diff options
author | Matthias Clasen <mclasen@redhat.com> | 2015-05-04 23:21:17 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2015-05-07 07:33:23 -0400 |
commit | 049cbc8b74aa7a6fff1627c8c65cbfd3c86dfde8 (patch) | |
tree | 0dba4d33c0572a3da8b0b6c877cb1f3ecd575ba2 /tests/testfontchooserdialog.c | |
parent | 0c922a9443f5fbb71ceba4e1ad0330c069a7c779 (diff) | |
download | gtk+-049cbc8b74aa7a6fff1627c8c65cbfd3c86dfde8.tar.gz |
GtkFontChooser: Allow a custom font map
This lets applications show their own fonts instead of
or in addition to system fonts.
https://bugzilla.gnome.org/show_bug.cgi?id=748771
Diffstat (limited to 'tests/testfontchooserdialog.c')
-rw-r--r-- | tests/testfontchooserdialog.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/tests/testfontchooserdialog.c b/tests/testfontchooserdialog.c index 574b138b1c..2e2da14a37 100644 --- a/tests/testfontchooserdialog.c +++ b/tests/testfontchooserdialog.c @@ -16,6 +16,7 @@ */ #include <string.h> +#include <pango/pangofc-fontmap.h> #include <gtk/gtk.h> static gboolean @@ -71,8 +72,29 @@ main (int argc, char *argv[]) gtk_init (&argc, &argv); - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); font_button = gtk_font_button_new (); + + if (argc > 0) + { + FcConfig *config; + PangoFontMap *fontmap; + gint i; + + /* Create a custom font configuration by adding font files specified + * on the commandline to the default config. + */ + config = FcInitLoadConfigAndFonts (); + for (i = 0; i < argc; i++) + FcConfigAppFontAddFile (config, (const FcChar8 *)argv[i]); + + fontmap = pango_cairo_font_map_new_for_font_type (CAIRO_FONT_TYPE_FT); + pango_fc_font_map_set_config (PANGO_FC_FONT_MAP (fontmap), config); + gtk_font_chooser_set_font_map (GTK_FONT_CHOOSER (font_button), fontmap); + } + + gtk_font_button_set_use_font (GTK_FONT_BUTTON (font_button), TRUE); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_container_add (GTK_CONTAINER (window), font_button); gtk_widget_show_all (window); |