## GtkFontSelection

GtkFontSelection — A widget for selecting fonts

## Functions

GtkWidget * | gtk_font_selection_new ()
GdkFont * | gtk_font_selection_get_font ()
gchar * | gtk_font_selection_get_font_name ()
gboolean | gtk_font_selection_set_font_name ()
const gchar * | gtk_font_selection_get_preview_text ()
void | gtk_font_selection_set_preview_text ()
PangoFontFace * | gtk_font_selection_get_face ()
GtkWidget * | gtk_font_selection_get_face_list ()
PangoFontFamily * | gtk_font_selection_get_family ()
gint | gtk_font_selection_get_size ()
GtkWidget * | gtk_font_selection_get_family_list ()
GtkWidget * | gtk_font_selection_get_preview_entry ()
GtkWidget * | gtk_font_selection_get_size_entry ()
GtkWidget * | gtk_font_selection_get_size_list ()

## Properties

GdkFont * | font | Read
gchar * | font-name | Read / Write
gchar * | preview-text | Read / Write

## Types and Values

struct | GtkFontSelection

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkContainer
                        ╰── GtkBox
                            ╰── GtkVBox
                                ╰── GtkFontSelection

## Implemented Interfaces

GtkFontSelection implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Includes

    #include <gtk/gtk.h>

## 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()`.

## Functions

### gtk_font_selection_new ()

    GtkWidget *
    gtk_font_selection_new (void);

Creates a new GtkFontSelection.

#### Returns

a n ew GtkFontSelection

### gtk_font_selection_get_font ()

    GdkFont *
    gtk_font_selection_get_font (GtkFontSelection *fontsel);

`gtk_font_selection_get_font` has been deprecated since version 2.0 and should not be used in newly-written code.

Use `gtk_font_selection_get_font_name()` instead.

Gets the currently-selected font.

#### Parameters

fontsel | a GtkFontSelection |

#### Returns

A GdkFont.

### 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.

#### Parameters

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);

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

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.

#### Parameters

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.

#### Parameters

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. The `text` is used to show how the selected font looks.

#### Parameters

fontsel | a GtkFontSelection |
text | the text to display in the preview area |

### gtk_font_selection_get_face ()

    PangoFontFace *
    gtk_font_selection_get_face (GtkFontSelection *fontsel);

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

#### Parameters

fontsel | a GtkFontSelection |

#### Returns

A PangoFontFace representing the selected font group details. The returned object is owned by `fontsel` and must not be modified or freed.

[transfer none]

Since: 2.14

### gtk_font_selection_get_face_list ()

    GtkWidget *
    gtk_font_selection_get_face_list (GtkFontSelection *fontsel);

This returns the GtkTreeView which lists all styles available for the selected font. For example, 'Regular', 'Bold', etc.

#### Parameters

fontsel | a GtkFontSelection |

#### Returns

A GtkWidget that is part of `fontsel` .

[transfer none]

Since: 2.14

### gtk_font_selection_get_family ()

    PangoFontFamily *
    gtk_font_selection_get_family (GtkFontSelection *fontsel);

Gets the PangoFontFamily representing the selected font family.

#### Parameters

fontsel | a GtkFontSelection |

#### Returns

A PangoFontFamily representing the selected font family. Font families are a collection of font faces. The returned object is owned by `fontsel` and must not be modified or freed.

[transfer none]

Since: 2.14

### gtk_font_selection_get_size ()

    gint
    gtk_font_selection_get_size (GtkFontSelection *fontsel);

The selected font size.

#### Parameters

fontsel | a GtkFontSelection |

#### Returns

A n integer representing the selected font size, or -1 if no font size is selected.

Since: 2.14

### gtk_font_selection_get_family_list ()

    GtkWidget *
    gtk_font_selection_get_family_list (GtkFontSelection *fontsel);

This returns the GtkTreeView that lists font families, for example, 'Sans', 'Serif', etc.

#### Parameters

fontsel | a GtkFontSelection |

#### Returns

A GtkWidget that is part of `fontsel` .

[transfer none]

Since: 2.14

### gtk_font_selection_get_preview_entry ()

    GtkWidget *
    gtk_font_selection_get_preview_entry (GtkFontSelection *fontsel);

This returns the GtkEntry used to display the font as a preview.

#### Parameters

fontsel | a GtkFontSelection |

#### Returns

A GtkWidget that is part of `fontsel` .

[transfer none]

Since: 2.14

### gtk_font_selection_get_size_entry ()

    GtkWidget *
    gtk_font_selection_get_size_entry (GtkFontSelection *fontsel);

This returns the GtkEntry used to allow the user to edit the font number manually instead of selecting it from the list of font sizes.

#### Parameters

fontsel | a GtkFontSelection |

#### Returns

A GtkWidget that is part of `fontsel` .

[transfer none]

Since: 2.14

### gtk_font_selection_get_size_list ()

    GtkWidget *
    gtk_font_selection_get_size_list (GtkFontSelection *fontsel);

This returns the GtkTreeeView used to list font sizes.

#### Parameters

fontsel | a GtkFontSelection |

#### Returns

A GtkWidget that is part of `fontsel` .

[transfer none]

Since: 2.14

## Types and Values

### struct GtkFontSelection

    struct GtkFontSelection;

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

## Property Details

### The `“font”` property

      “font”                     GdkFont *

The GdkFont that is currently selected.

Flags: Read

### The `“font-name”` property

      “font-name”                gchar *

The string that represents this font.

Flags: Read / Write

Default value: "Sans 10"

### The `“preview-text”` property

      “preview-text”             gchar *

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

Flags: Read / Write

Default value: "abcdefghijk ABCDEFGHIJK"

## See Also

GtkFontSelectionDialog | a dialog box which uses GtkFontSelection.