code: func makeSquareMapping(face font.Face, runes []rune, padding fixed.Int26_6) (map[rune]fixedGlyph, fixed.Rectangle26_6) {
  	width := sort.Search(int(fixed.I(1024*1024)), func(i int) bool {
  		width := fixed.Int26_6(i)
  		_, bounds := makeMapping(face, runes, padding, width)
  		return bounds.Max.X-bounds.Min.X >= bounds.Max.Y-bounds.Min.Y
  	})
  	return makeMapping(face, runes, padding, fixed.Int26_6(width))
  }
docs: // makeSquareMapping finds an optimal glyph arrangement of the given runes, so that their common
  // bounding box is as square as possible.