func (gc *GraphicContext) GetStringBounds(s string) (left, top, right, bottom float64) {
	_, h := gc.pdf.GetFontSize()
	d := gc.pdf.GetFontDesc("", "")
	if d.Ascent == 0 {
		// not defined (standard font?), use average of 81%
		top = 0.81 * h
	} else {
		top = -float64(d.Ascent) * h / float64(d.Ascent-d.Descent)
	}
	return 0, top, gc.pdf.GetStringWidth(s), top + h
}
func (gc *GraphicContext) GetStringBounds(s string) (left, top, right, bottom float64) {
	_, h := gc.pdf.GetFontSize()
	d := gc.pdf.GetFontDesc("", "")
	if d.Ascent == 0 {
		
		top = 0.81 * h
	} else {
		top = -float64(d.Ascent) * h / float64(d.Ascent-d.Descent)
	}
	return 0, top, gc.pdf.GetStringWidth(s), top + h
}
func ( gc * GraphicContext ) GetStringBounds ( s string ) ( left , top , right , bottom float64 ) { _ , h := gc . pdf . GetFontSize ( ) d := gc . pdf . GetFontDesc ( " " , " " ) if d . Ascent == 0 { // not defined (standard font?), use average of 81% top = 0.81 * h } else { top = - float64 ( d . Ascent ) * h / float64 ( d . Ascent - d . Descent ) } return 0 , top , gc . pdf . GetStringWidth ( s ) , top + h }
// GetStringBounds returns the approximate pixel bounds of the string s at x, y.
// The left edge of the em square of the first character of s
// and the baseline intersect at 0, 0 in the returned coordinates.
// Therefore the top and left coordinates may well be negative.
GetStringBounds returns the approximate pixel bounds of the string s at x y . The left edge of the em square of the first character of s and the baseline intersect at 0 0 in the returned coordinates . Therefore the top and left coordinates may well be negative .