/* CAUTION: The unscaled->face field must be NULL before calling this function. This is because the #cairo_ft_unscaled_font_t_map keeps a count of these faces (font_map->num_open_faces) so it maintains the unscaled->face field while it has its lock held. See _font_map_release_face_lock_held().  */
static void _cairo_ft_unscaled_font_fini(cairo_ft_unscaled_font_t *unscaled)
/* CAUTION: The unscaled->face field must be NULL before calling this function. This is because the #cairo_ft_unscaled_font_t_map keeps a count of these faces (font_map->num_open_faces) so it maintains the unscaled->face field while it has its lock held. See _font_map_release_face_lock_held().  */
static void _cairo_ft_unscaled_font_fini(cairo_ft_unscaled_font_t *unscaled)
{
    assert (unscaled->face == NULL);
    free (unscaled->filename);
    unscaled->filename = NULL;
    free (unscaled->variations);
    CAIRO_MUTEX_FINI (unscaled->mutex);
}