if (gstate->font != NULL) _cairo_unscaled_font_destroy (gstate->font); gstate->font = font->unscaled; _cairo_unscaled_font_reference (gstate->font); cairo_matrix_set_affine (&gstate->font_matrix, font->scale.matrix[0][0], font->scale.matrix[0][1], font->scale.matrix[1][0], font->scale.matrix[1][1], 0, 0);
if (font != gstate->font) { if (gstate->font) cairo_font_destroy (gstate->font); gstate->font = font; if (gstate->font) cairo_font_reference (gstate->font); }
_cairo_gstate_set_font (cairo_gstate_t *gstate, 			cairo_font_t *font){    if (gstate->font != NULL)    	_cairo_unscaled_font_destroy (gstate->font);    gstate->font = font->unscaled;    _cairo_unscaled_font_reference (gstate->font);    cairo_matrix_set_affine (&gstate->font_matrix,			     font->scale.matrix[0][0],			     font->scale.matrix[0][1],			     font->scale.matrix[1][0],			     font->scale.matrix[1][1],			     0, 0);    return CAIRO_STATUS_SUCCESS;}