code: func charWidth(r rune) int {
  	switch width.LookupRune(r).Kind() {
  	case width.EastAsianWide, width.EastAsianFullwidth:
  		return 2
  	default:
  		return 1
  	}
  }
docs: // charWidth returns the number of horizontal positions a character occupies,
  // and is used to account for wide characters when displaying strings.
  //
  // In a broad sense, wide characters include East Asian Wide, East Asian Full-width,
  // (when not in East Asian context) see http://unicode.org/reports/tr11/.