code: func (im *Image) Text(x, y int, clr color.Color, fontSize float64,
  	font *truetype.Font, text string) (int, int, error) {
  
  	// Create a solid color image
  	textClr := image.NewUniform(clr)
  
  	// Set up the freetype context... mostly boiler plate
  	c := ftContext(font, fontSize)
  	c.SetClip(im.Bounds())
  	c.SetDst(im)
  	c.SetSrc(textClr)
  
  	// Now let's actually draw the text...
  	pt := freetype.Pt(x, y+int(c.PointToFix32(fontSize)>>8))
  	newpt, err := c.DrawString(text, pt)
  	if err != nil {
  		return 0, 0, err
  	}
  
  	return int(newpt.X / 256), int(newpt.Y / 256), nil
  }
docs: // Text takes an image and, using the freetype package, writes text in the
  // position specified on to the image. A color.Color, a font size and a font
  // must also be specified.
  // Finally, the (x, y) coordinate advanced by the text extents is returned.
  //
  // Note that the ParseFont helper function can be used to get a *truetype.Font
  // value without having to import freetype-go directly.
  //
  // If you need more control over the 'context' used to draw text (like the DPI),
  // then you'll need to ignore this convenience method and use your own.