code: func (cb *CellBuffer) GetContent(x, y int) (rune, []rune, Style, int) {
  	var mainc rune
  	var combc []rune
  	var style Style
  	var width int
  	if x >= 0 && y >= 0 && x < cb.w && y < cb.h {
  		c := &cb.cells[(y*cb.w)+x]
  		mainc, combc, style = c.currMain, c.currComb, c.currStyle
  		if width = c.width; width == 0 || mainc < ' ' {
  			width = 1
  			mainc = ' '
  		}
  	}
  	return mainc, combc, style, width
  }
docs: // GetContent returns the contents of a character cell, including the
  // primary rune, any combining character runes (which will usually be
  // nil), the style, and the display width in cells.  (The width can be
  // either 1, normally, or 2 for East Asian full-width characters.)