Package: cairo

Function cairo-select-font-face

Lambda List

cairo-select-font-face (cr family &key slant weight)

Arguments

cr -- a cairo-t context
family -- a string with the font family name, encoded in UTF-8
slant -- the slant of type cairo-font-slant-t for the font, default value is :normal
weight -- the weight of type cairo-font-weight-t for the font, default value is :normal

Details

Selects a family and style of font from a simplified description as a family name, slant and weight. Cairo provides no operation to list available family names on the system, this is a "toy", remember, but the standard CSS2 generic family names, "serif", "sans-serif", "cursive", "fantasy", "monospace", are likely to work as expected.

If family starts with the string "cairo:", or if no native font backends are compiled in, Cairo will use an internal font family. The internal font family recognizes many modifiers in the family string, most notably, it recognizes the string "monospace". That is, the family name "cairo:monospace" will use the monospace version of the internal font family.

For "real" font selection, see the font-backend-specific font-face-create functions for the font backend you are using. For example, if you are using the freetype-based cairo-ft font backend, see the cairo-ft-font-face-create-for-ft-face or cairo-ft-font-face-create-for-pattern functions. The resulting font face could then be used with the cairo-scaled-font-create and cairo-set-scaled-font functions.

Similarly, when using the "real" font support, you can call directly into the underlying font system, such as fontconfig or freetype, for operations such as listing available fonts, etc.

It is expected that most applications will need to use a more comprehensive font handling and text layout library, for example Pango, in conjunction with Cairo.

If text is drawn without a call to the cairo-select-font-face function, nor the cairo-set-font-face function nor the cairo-set-scaled-font function, the default family is platform-specific, but is essentially "sans-serif". Default slant is :normal, and default weight is :normal.

This function is equivalent to a call to the cairo-toy-font-face-create function followed by the cairo-set-font-face function.

Note

The cairo-select-font-face function is part of what the Cairo designers call the "toy" text API. It is convenient for short demos and simple programs, but it is not expected to be adequate for serious text-using applications.
 

See also

*2021-12-12