Top |
cairo_font_face_t represents a particular font at a particular weight, slant, and other characteristic but no size, transformation, or size.
Font faces are created using font-backend-specific
constructors, typically of the form
cairo_backend_font_face_create()
,
or implicitly using the toy text API by way of
cairo_select_font_face()
. The resulting face can be accessed using
cairo_get_font_face()
.
cairo_font_face_t *
cairo_font_face_reference (cairo_font_face_t *font_face
);
Increases the reference count on font_face
by one. This prevents
font_face
from being destroyed until a matching call to
cairo_font_face_destroy()
is made.
Use cairo_font_face_get_reference_count()
to get the number of
references to a cairo_font_face_t.
Since: 1.0
void
cairo_font_face_destroy (cairo_font_face_t *font_face
);
Decreases the reference count on font_face
by one. If the result
is zero, then font_face
and all associated resources are freed.
See cairo_font_face_reference()
.
Since: 1.0
cairo_status_t
cairo_font_face_status (cairo_font_face_t *font_face
);
Checks whether an error has previously occurred for this font face
Since: 1.0
cairo_font_type_t
cairo_font_face_get_type (cairo_font_face_t *font_face
);
This function returns the type of the backend used to create a font face. See cairo_font_type_t for available types.
Since: 1.2
unsigned int
cairo_font_face_get_reference_count (cairo_font_face_t *font_face
);
Returns the current reference count of font_face
.
the current reference count of font_face
. If the
object is a nil object, 0 will be returned.
Since: 1.4
cairo_status_t cairo_font_face_set_user_data (cairo_font_face_t *font_face
,const cairo_user_data_key_t *key
,void *user_data
,cairo_destroy_func_t destroy
);
Attach user data to font_face
. To remove user data from a font face,
call this function with the key that was used to set it and NULL
for data
.
font_face |
||
key |
the address of a cairo_user_data_key_t to attach the user data to |
|
user_data |
the user data to attach to the font face |
|
destroy |
a cairo_destroy_func_t which will be called when the font face is destroyed or when new user data is attached using the same key. |
CAIRO_STATUS_SUCCESS
or CAIRO_STATUS_NO_MEMORY
if a
slot could not be allocated for the user data.
Since: 1.0
void * cairo_font_face_get_user_data (cairo_font_face_t *font_face
,const cairo_user_data_key_t *key
);
Return user data previously attached to font_face
using the specified
key. If no user data has been attached with the given key this
function returns NULL
.
Since: 1.0
typedef struct _cairo_font_face cairo_font_face_t;
A cairo_font_face_t specifies all aspects of a font other
than the size or font matrix (a font matrix is used to distort
a font by shearing it or scaling it unequally in the two
directions) . A font face can be set on a cairo_t by using
cairo_set_font_face()
; the size and font matrix are set with
cairo_set_font_size()
and cairo_set_font_matrix()
.
There are various types of font faces, depending on the
font backend they use. The type of a
font face can be queried using cairo_font_face_get_type()
.
Memory management of cairo_font_face_t is done with
cairo_font_face_reference()
and cairo_font_face_destroy()
.
Since: 1.0
cairo_font_type_t is used to describe the type of a given font face or scaled font. The font types are also known as "font backends" within cairo.
The type of a font face is determined by the function used to
create it, which will generally be of the form
cairo_type_font_face_create()
.
The font face type can be queried with cairo_font_face_get_type()
The various cairo_font_face_t functions can be used with a font face of any type.
The type of a scaled font is determined by the type of the font
face passed to cairo_scaled_font_create()
. The scaled font type can
be queried with cairo_scaled_font_get_type()
The various cairo_scaled_font_t functions can be used with scaled
fonts of any type, but some font backends also provide
type-specific functions that must only be called with a scaled font
of the appropriate type. These functions have names that begin with
cairo_type_scaled_font()
such as cairo_ft_scaled_font_lock_face()
.
The behavior of calling a type-specific function with a scaled font of the wrong type is undefined.
New entries may be added in future versions.
The font was created using cairo's toy font api (Since: 1.2) |
||
The font is of type FreeType (Since: 1.2) |
||
The font is of type Win32 (Since: 1.2) |
||
The font is of type Quartz (Since: 1.6, in 1.2 and 1.4 it was named CAIRO_FONT_TYPE_ATSUI) |
||
The font was create using cairo's user font api (Since: 1.8) |
Since: 1.2