return CAIRO_STATUS_SUCCESS; } }   return CAIRO_STATUS_NULL_POINTER;
atsFont = FMGetATSFontRefFromFont(font->fontID);  if (atsFont) { err = ATSFontGetHorizontalMetrics(atsFont, kATSOptionFlagsDefault, &metrics);  if (err == noErr) { extents->ascent = metrics.ascent; extents->descent = metrics.descent; extents->height = metrics.capHeight; extents->max_x_advance = metrics.maxAdvanceWidth;   extents->max_y_advance = 0.0;  return CAIRO_STATUS_SUCCESS; } }   return CAIRO_STATUS_NULL_POINTER;
_cairo_atsui_font_font_extents(	void					*abstract_font,								cairo_font_scale_t   	*sc,								cairo_font_extents_t	*extents){	cairo_atsui_font_t	*font = abstract_font;	ATSFontRef			atsFont;	ATSFontMetrics		metrics;	OSStatus			err;			// TODO - test this		atsFont = FMGetATSFontRefFromFont(font->fontID);		if (atsFont)	{		err = ATSFontGetHorizontalMetrics(atsFont, kATSOptionFlagsDefault, &metrics);				if (err == noErr)		{			extents->ascent			= metrics.ascent;			extents->descent		= metrics.descent;			extents->height			= metrics.capHeight;			extents->max_x_advance	= metrics.maxAdvanceWidth;						// The FT backend doesn't handle max_y_advance either, so we'll ignore it for now. 			extents->max_y_advance	= 0.0;						return CAIRO_STATUS_SUCCESS;		}	}			return CAIRO_STATUS_NULL_POINTER;}