pub trait FontFamilyExt: 'static {
    fn face(&self, name: Option<&str>) -> Option<FontFace>;
    fn name(&self) -> Option<GString>;
    fn is_monospace(&self) -> bool;
    fn is_variable(&self) -> bool;
    fn list_faces(&self) -> Vec<FontFace>;
}
Expand description

Trait containing all FontFamily methods.

Implementors

FontFamily

Required Methods

Available on crate feature v1_46 only.

Gets the FontFace of @self with the given name.

name

the name of a face. If the name is None, the family’s default face (fontconfig calls it “Regular”) will be returned.

Returns

the FontFace, or None if no face with the given name exists.

Gets the name of the family.

The name is unique among all fonts for the font backend and can be used in a FontDescription to specify that a face from this family is desired.

Returns

the name of the family. This string is owned by the family object and must not be modified or freed.

A monospace font is a font designed for text display where the the characters form a regular grid.

For Western languages this would mean that the advance width of all characters are the same, but this categorization also includes Asian fonts which include double-width characters: characters that occupy two grid cells. g_unichar_iswide() returns a result that indicates whether a character is typically double-width in a monospace font.

The best way to find out the grid-cell size is to call FontMetrics::approximate_digit_width(), since the results of FontMetrics::approximate_char_width() may be affected by double-width characters.

Returns

true if the family is monospace.

Available on crate feature v1_44 only.

A variable font is a font which has axes that can be modified to produce different faces.

Such axes are also known as variations; see FontDescription::set_variations() for more information.

Returns

true if the family is variable

Lists the different font faces that make up @self.

The faces in a family share a common design, but differ in slant, weight, width and other aspects.

Note that the returned faces are not in any particular order, and multiple faces may have the same name or characteristics.

FontFamily also implemented the Gio::ListModel interface for enumerating faces.

Returns
faces

location to store an array of pointers to FontFace objects, or None. This array should be freed with g_free() when it is no longer needed.

Implementors