class TablePrint::Column

def data_width

def data_width
  if multibyte_count
    [
      name.each_char.collect{|c| c.bytesize == 1 ? 1 : 2}.inject(0, &:+),
      Array(data).compact.collect(&:to_s).collect{|m| m.each_char.collect{|n| n.bytesize == 1 ? 1 : 2}.inject(0, &:+)}.max
    ].compact.max || 0
  else
    [
      name.length,
      Array(data).compact.collect(&:to_s).collect(&:length).max
    ].compact.max || 0
  end
end