original_string: public function addColumn($column, array $definition) {
          // set new column with default definitions. Note that [ln] is always
          // set to FALSE. When addBody(), TRUE will be setted for the last
          // column.
          $this->columnDefinition[$column] = array_merge([
              'isMultiLine' => false,
              'isMultiLineHeader' => false,
              'isImage' => false,
              'renderer' => null,
              'headerRenderer' => null,
              'header' => '',
              'drawFn' => null,
              'drawHeaderFn' => null,
              // cell
              'width' => 10,
              'height' => null,
              'border' => 0,
              'ln' => false,
              'align' => 'L',
              'fill' => false,
              'link' => '',
              'stretch' => 0,
              'ignoreHeight' => false,
              'calign' => 'T',
              'valign' => 'M',
              // multiCell
              'x' => '',
              'y' => '',
              'reseth' => true,
              'isHtml' => false,
              'maxh' => null,
              'autoPadding' => true,
              'fitcell' => false,
              // getNumLines
              'cellPadding' => ''
          ], $this->defaultColumnDefinition, $definition);
  
          if ($this->columnDefinition[$column]['height'] === null) {
              $this->columnDefinition[$column]['height'] = $this->getColumnHeight();
          }
  
          $this->trigger(self::EV_COLUMN_ADDED, [
              $column,
              $this->columnDefinition[$column]
          ]);
          return $this;
      }
code: public function addColumn($column, array $definition) {
          // set new column with default definitions. Note that [ln] is always
          // set to FALSE. When addBody(), TRUE will be setted for the last
          // column.
          $this->columnDefinition[$column] = array_merge([
              'isMultiLine' => false,
              'isMultiLineHeader' => false,
              'isImage' => false,
              'renderer' => null,
              'headerRenderer' => null,
              'header' => '',
              'drawFn' => null,
              'drawHeaderFn' => null,
              // cell
              'width' => 10,
              'height' => null,
              'border' => 0,
              'ln' => false,
              'align' => 'L',
              'fill' => false,
              'link' => '',
              'stretch' => 0,
              'ignoreHeight' => false,
              'calign' => 'T',
              'valign' => 'M',
              // multiCell
              'x' => '',
              'y' => '',
              'reseth' => true,
              'isHtml' => false,
              'maxh' => null,
              'autoPadding' => true,
              'fitcell' => false,
              // getNumLines
              'cellPadding' => ''
          ], $this->defaultColumnDefinition, $definition);
  
          if ($this->columnDefinition[$column]['height'] === null) {
              $this->columnDefinition[$column]['height'] = $this->getColumnHeight();
          }
  
          $this->trigger(self::EV_COLUMN_ADDED, [
              $column,
              $this->columnDefinition[$column]
          ]);
          return $this;
      }
code_tokens: public function addColumn ( $ column , array $ definition ) { // set new column with default definitions. Note that [ln] is always // set to FALSE. When addBody(), TRUE will be setted for the last // column. $ this -> columnDefinition [ $ column ] = array_merge ( [ 'isMultiLine' => false , 'isMultiLineHeader' => false , 'isImage' => false , 'renderer' => null , 'headerRenderer' => null , 'header' => '' , 'drawFn' => null , 'drawHeaderFn' => null , // cell 'width' => 10 , 'height' => null , 'border' => 0 , 'ln' => false , 'align' => 'L' , 'fill' => false , 'link' => '' , 'stretch' => 0 , 'ignoreHeight' => false , 'calign' => 'T' , 'valign' => 'M' , // multiCell 'x' => '' , 'y' => '' , 'reseth' => true , 'isHtml' => false , 'maxh' => null , 'autoPadding' => true , 'fitcell' => false , // getNumLines 'cellPadding' => '' ] , $ this -> defaultColumnDefinition , $ definition ) ; if ( $ this -> columnDefinition [ $ column ] [ 'height' ] === null ) { $ this -> columnDefinition [ $ column ] [ 'height' ] = $ this -> getColumnHeight ( ) ; } $ this -> trigger ( self :: EV_COLUMN_ADDED , [ $ column , $ this -> columnDefinition [ $ column ] ] ) ; return $ this ; }
docstring: Define a column. Config array is mostly what we find in \TCPDF Cell and
  MultiCell.
  
  Frequently used Cell and MultiCell options:
  <ul>
  <li><i>callable</i> <b>renderer</b>: renderer function for datas.
  Recieve (TcTable $table, $data, $row, $column, $height). The last
  parameter is TRUE when called during height calculation. This method
  is called twice, one time for cell height calculation and one time
  for data drawing.</li>
  <li><i>callable</i> <b>headerRenderer</b>: renderer function for
  headers. Recieve (TcTable $table, $data, $row, $column)</li>
  <li><i>string</i> <b>header</b>: column header text</li>
  <li><i>float</i> <b>width</b>: column width</li>
  <li><i>string</i> <b>border</b>: cell border (LTBR)</li>
  <li><i>string</i> <b>align</b>: text horizontal align (LCR)</li>
  <li><i>string</i> <b>valign</b>: text vertical align (TCB)</li>
  <li><i>float</i> <b>height</b>: min height for cell (default to
  {@link setColumnHeight()}</li>
  </ul>
  
  MultiCell options:
  <ul>
  <li><i>bool</i> <b>isMultiLine</b>: true tell this is a multiline
  column</li>
  <li><i>bool</i> <b>isMultiLineHeader</b>: true tell this is a header
  multiline</li>
  <li><i>bool</i> <b>isHtml</b>: true to tell that this is HTML
  content</li>
  </ul>
  
  All other options available:
  <ul>
  <li><i>callable</i> <b>drawFn</b>: a callable function that will draw
  the cell/multicell/image or anything else. The func receive as args
  (TcTable $table, mixed $data, array $columnDefinition,
  string $column, array|object $row)</li>
  <li><i>callable</i> <b>drawHeaderFn</b>: a callable function that
  will draw the cell/multicell/image or anything else. The func receive
  as args (TcTable $table, mixed $data, array $columnDefinition,
  string $column, array|object $row)</li>
  <li><i>bool</i> <b>ln</b>: managed by TcTable. This option is
  ignored.</li>
  <li><i>bool</i> <b>fill</b>: see doc {@link \TCPDF::Cell}</li>
  <li><i>string</i> <b>link</b>: see doc {@link \TCPDF::Cell}</li>
  <li><i>int</i> <b>stretch</b>: see doc {@link \TCPDF::Cell}</li>
  <li><i>bool</i> <b>ignoreHeight</b>: see doc
  {@link \TCPDF::Cell}</li>
  <li><i>string</i> <b>calign</b>: see doc {@link \TCPDF::Cell}</li>
  <li><i>mixed</i> <b>x</b>: see doc {@link \TCPDF::MultiCell}</li>
  <li><i>mixed</i> <b>y</b>: see doc {@link \TCPDF::MultiCell}</li>
  <li><i>bool</i> <b>reseth</b>: see doc {@link \TCPDF::MultiCell}</li>
  <li><i>float</i> <b>maxh</b>: see doc {@link \TCPDF::MultiCell}</li>
  <li><i>bool</i> <b>autoPadding</b>: see doc
  {@link \TCPDF::MultiCell}</li>
  <li><i>bool</i> <b>fitcell</b>: see doc
  {@link \TCPDF::MultiCell}</li>
  <li><i>string</i> <b>cellPadding</b>: see doc
  {@link \TCPDF::getNumLines}</li>
  </ul>
  
  @param string $column
  @param array $definition
  @return TcTable
docstring_tokens: Define a column . Config array is mostly what we find in \ TCPDF Cell and MultiCell .