## GtkFontSelection

GtkFontSelection — A widget for selecting fonts

## Synopsis

    #include <gtk/gtk.h>

                GtkFontSelection;
    GtkWidget*  gtk_font_selection_new          (void);
    GdkFont*    gtk_font_selection_get_font     (GtkFontSelection *fontsel);
    gchar*      gtk_font_selection_get_font_name
                                                (GtkFontSelection *fontsel);
    gboolean    gtk_font_selection_set_font_name
                                                (GtkFontSelection *fontsel,
                                                 const gchar *fontname);
    const gchar* gtk_font_selection_get_preview_text
                                                (GtkFontSelection *fontsel);
    void        gtk_font_selection_set_preview_text
                                                (GtkFontSelection *fontsel,
                                                 const gchar *text);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBox
                                     +----GtkVBox
                                           +----GtkFontSelection

## Implemented Interfaces

GtkFontSelection implements AtkImplementorIface.

## Properties

      "font"                 GdkFont               : Read
      "font-name"            gchararray            : Read / Write
      "preview-text"         gchararray            : Read / Write

## Description

The GtkFontSelection widget lists the available fonts, styles and sizes, allowing the user to select a font. It is used in the GtkFontSelectionDialog widget to provide a dialog box for selecting fonts.

To set the font which is initially selected, use `gtk_font_selection_set_font_name()`.

To get the selected font use `gtk_font_selection_get_font_name()`.

To change the text which is shown in the preview area, use `gtk_font_selection_set_preview_text()`.

## Details

### GtkFontSelection

    typedef struct _GtkFontSelection GtkFontSelection;

The GtkFontSelection struct contains private data only, and should only be accessed using the functions below.

### gtk_font_selection_new ()

    GtkWidget*  gtk_font_selection_new          (void);

Creates a new GtkFontSelection.

Returns : | a new GtkFontSelection.

### gtk_font_selection_get_font ()

    GdkFont*    gtk_font_selection_get_font     (GtkFontSelection *fontsel);

### Warning

`gtk_font_selection_get_font` is deprecated and should not be used in newly-written code.

Gets the currently-selected font.

`fontsel` : | a GtkFontSelection.
Returns : | the currently-selected font, or NULL if no font is selected.

### gtk_font_selection_get_font_name ()

    gchar*      gtk_font_selection_get_font_name
                                                (GtkFontSelection *fontsel);

Gets the currently-selected font name. Note that this can be a different string than what you set with `gtk_font_selection_set_font_name()`, as the font selection widget may normalize font names and thus return a string with a different structure. For example, "Helvetica Italic Bold 12" could be normalized to "Helvetica Bold Italic 12". Use `pango_font_description_equal()` if you want to compare two font descriptions.

`fontsel` : | a GtkFontSelection
Returns : | A string with the name of the current font, or NULL if no font is selected. You must free this string with `g_free()`.

### gtk_font_selection_set_font_name ()

    gboolean    gtk_font_selection_set_font_name
                                                (GtkFontSelection *fontsel,
                                                 const gchar *fontname);

Sets the currently-selected font. Note that the `fontsel` needs to know the screen in which it will appear for this to work; this can be guaranteed by simply making sure that the `fontsel` is inserted in a toplevel window before you call this function.

`fontsel` : | a GtkFontSelection
`fontname` : | a font name like "Helvetica 12" or "Times Bold 18"
Returns : | TRUE if the font could be set successfully; FALSE if no such font exists or if the `fontsel` doesn't belong to a particular screen yet.

### gtk_font_selection_get_preview_text ()

    const gchar* gtk_font_selection_get_preview_text
                                                (GtkFontSelection *fontsel);

Gets the text displayed in the preview area.

`fontsel` : | a GtkFontSelection.
Returns : | the text displayed in the preview area. This string is owned by the widget and should not be modified or freed.

### gtk_font_selection_set_preview_text ()

    void        gtk_font_selection_set_preview_text
                                                (GtkFontSelection *fontsel,
                                                 const gchar *text);

Sets the text displayed in the preview area.

`fontsel` : | a GtkFontSelection.
`text` : | the text to display in the preview area.

## Property Details

### The "`font`" property

      "font"                 GdkFont               : Read

The GdkFont that is currently selected.

### The "`font-name`" property

      "font-name"            gchararray            : Read / Write

The X string that represents this font.

Default value: NULL

### The "`preview-text`" property

      "preview-text"         gchararray            : Read / Write

The text to display in order to demonstrate the selected font.

Default value: "abcdefghijk ABCDEFGHIJK"

## See Also

GtkFontSelectionDialog | a dialog box which uses GtkFontSelection.