_cairo_atsui_font_glyph_path(	void				*abstract_font, cairo_font_scale_t 	*sc, cairo_glyph_t		*glyphs, int					num_glyphs, cairo_path_t		*path)
_cairo_atsui_font_glyph_path(void *abstract_font, cairo_glyph_t *glyphs, int num_glyphs, cairo_path_t *path)
_cairo_atsui_font_glyph_path(	void				*abstract_font,								cairo_font_scale_t 	*sc,								cairo_glyph_t		*glyphs, 								int					num_glyphs,								cairo_path_t		*path){	int										i;	cairo_atsui_font_t						*font = abstract_font;	OSStatus								err;	cairo_ATSUI_glyph_path_callback_info_t	info;	ATSUStyle								style;			static ATSCubicMoveToUPP				moveProc		= NULL;	static ATSCubicLineToUPP				lineProc		= NULL;	static ATSCubicCurveToUPP				curveProc		= NULL;	static ATSCubicClosePathUPP				closePathProc	= NULL;			if (moveProc == NULL)	{		moveProc		= NewATSCubicMoveToUPP(MyATSCubicMoveToCallback);		lineProc		= NewATSCubicLineToUPP(MyATSCubicLineToCallback);		curveProc       = NewATSCubicCurveToUPP(MyATSCubicCurveToCallback);		closePathProc   = NewATSCubicClosePathUPP(MyCubicClosePathProc);	}			info.path = path;			style = CreateSizedCopyOfStyle(font->style, sc);			for (i = 0; i < num_glyphs; i++)	{		GlyphID theGlyph = glyphs[i].index;						cairo_matrix_set_affine(	&info.scale,									1.0, 0.0,									0.0, 1.0,									glyphs[i].x, glyphs[i].y);						err = ATSUGlyphGetCubicPaths(   style, 										theGlyph, 										moveProc,										lineProc,										curveProc,										closePathProc,										(void *)&info, 										&err);	}			err = ATSUDisposeStyle(style);			return CAIRO_STATUS_SUCCESS;}