/* Initialize those portions of #cairo_toy_font_face_t needed to use it as a hash table key, including the hash code buried away in font_face->base.hash_entry. No memory allocation is performed here so that no fini call is needed. We do this to make it easier to use an automatic #cairo_toy_font_face_t variable as a key.  */
static void _cairo_toy_font_face_init_key(cairo_toy_font_face_t *key, const char *family, cairo_font_slant_t slant, cairo_font_weight_t weight)
/* Initialize those portions of #cairo_toy_font_face_t needed to use it as a hash table key, including the hash code buried away in font_face->base.hash_entry. No memory allocation is performed here so that no fini call is needed. We do this to make it easier to use an automatic #cairo_toy_font_face_t variable as a key.  */
static void _cairo_toy_font_face_init_key(cairo_toy_font_face_t *key, const char *family, cairo_font_slant_t slant, cairo_font_weight_t weight)
{
    unsigned long hash;
    key->family = family;
    key->owns_family = FALSE;
    key->slant = slant;
    key->weight = weight;
    hash = _cairo_hash_string (family);
    hash += ((unsigned long) slant) * 1607;
    hash += ((unsigned long) weight) * 1451;
    key->base.hash_entry.hash = hash;
}