### Interface

# Gtk FontChooser

#### Description [src]

    interface Gtk.FontChooser : GObject.Object

`GtkFontChooser` is an interface that can be implemented by widgets for choosing fonts.

In GTK, the main objects that implement this interface are `GtkFontChooserWidget`, `GtkFontChooserDialog` and `GtkFontButton`.

#### Instance methods

###### gtk_font_chooser_get_font

Gets the currently-selected font name.

###### gtk_font_chooser_get_font_desc

Gets the currently-selected font.

###### gtk_font_chooser_get_font_face

Gets the `PangoFontFace` representing the selected font group details (i.e. family, slant, weight, width, etc).

###### gtk_font_chooser_get_font_family

Gets the `PangoFontFamily` representing the selected font family.

###### gtk_font_chooser_get_font_features

Gets the currently-selected font features.

###### gtk_font_chooser_get_font_map

Gets the custom font map of this font chooser widget, or `NULL` if it does not have one.

###### gtk_font_chooser_get_font_size

The selected font size.

###### gtk_font_chooser_get_language

Gets the language that is used for font features.

###### gtk_font_chooser_get_level

Returns the current level of granularity for selecting fonts.

###### gtk_font_chooser_get_preview_text

Gets the text displayed in the preview area.

###### gtk_font_chooser_get_show_preview_entry

Returns whether the preview entry is shown or not.

###### gtk_font_chooser_set_filter_func

Adds a filter function that decides which fonts to display in the font chooser.

###### gtk_font_chooser_set_font

Sets the currently-selected font.

###### gtk_font_chooser_set_font_desc

Sets the currently-selected font from `font_desc`.

###### gtk_font_chooser_set_font_map

Sets a custom font map to use for this font chooser widget.

###### gtk_font_chooser_set_language

Sets the language to use for font features.

###### gtk_font_chooser_set_level

Sets the desired level of granularity for selecting fonts.

###### gtk_font_chooser_set_preview_text

Sets the text displayed in the preview area.

###### gtk_font_chooser_set_show_preview_entry

Shows or hides the editable preview entry.

#### Properties

###### Gtk.FontChooser:font

The font description as a string, e.g. “Sans Italic 12”.

###### Gtk.FontChooser:font-desc

The font description as a `PangoFontDescription`.

###### Gtk.FontChooser:font-features

The selected font features.

###### Gtk.FontChooser:language

The language for which the font features were selected.

###### Gtk.FontChooser:level

The level of granularity to offer for selecting fonts.

###### Gtk.FontChooser:preview-text

The string with which to preview the font.

###### Gtk.FontChooser:show-preview-entry

Whether to show an entry to change the preview text.

#### Signals

###### Gtk.FontChooser::font-activated

Emitted when a font is activated.

#### Interface structure

    struct GtkFontChooserIface {
      GTypeInterface base_iface;
      PangoFontFamily* (* get_font_family) (
        GtkFontChooser* fontchooser
      );
      PangoFontFace* (* get_font_face) (
        GtkFontChooser* fontchooser
      );
      int (* get_font_size) (
        GtkFontChooser* fontchooser
      );
      void (* set_filter_func) (
        GtkFontChooser* fontchooser,
        GtkFontFilterFunc filter,
        gpointer user_data,
        GDestroyNotify destroy
      );
      void (* font_activated) (
        GtkFontChooser* chooser,
        const char* fontname
      );
      void (* set_font_map) (
        GtkFontChooser* fontchooser,
        PangoFontMap* fontmap
      );
      PangoFontMap* (* get_font_map) (
        GtkFontChooser* fontchooser
      );

    }

###### Interface members

`base_iface` |
    GTypeInterface
| No description available.
`get_font_family` |
    PangoFontFamily* (* get_font_family) (
        GtkFontChooser* fontchooser
      )
| No description available.
`get_font_face` |
    PangoFontFace* (* get_font_face) (
        GtkFontChooser* fontchooser
      )
| No description available.
`get_font_size` |
    int (* get_font_size) (
        GtkFontChooser* fontchooser
      )
| No description available.
`set_filter_func` |
    void (* set_filter_func) (
        GtkFontChooser* fontchooser,
        GtkFontFilterFunc filter,
        gpointer user_data,
        GDestroyNotify destroy
      )
| No description available.
`font_activated` |
    void (* font_activated) (
        GtkFontChooser* chooser,
        const char* fontname
      )
| No description available.
`set_font_map` |
    void (* set_font_map) (
        GtkFontChooser* fontchooser,
        PangoFontMap* fontmap
      )
| No description available.
`get_font_map` |
    PangoFontMap* (* get_font_map) (
        GtkFontChooser* fontchooser
      )
| No description available.

#### Virtual methods

###### Gtk.FontChooser.font_activated

No description available.

###### Gtk.FontChooser.get_font_face

Gets the `PangoFontFace` representing the selected font group details (i.e. family, slant, weight, width, etc).

###### Gtk.FontChooser.get_font_family

Gets the `PangoFontFamily` representing the selected font family.

###### Gtk.FontChooser.get_font_map

Gets the custom font map of this font chooser widget, or `NULL` if it does not have one.

###### Gtk.FontChooser.get_font_size

The selected font size.

###### Gtk.FontChooser.set_filter_func

Adds a filter function that decides which fonts to display in the font chooser.

###### Gtk.FontChooser.set_font_map

Sets a custom font map to use for this font chooser widget.