private function fillNextRows(array
$rows, int
$line): array
{ $unmergedRows =
[];
foreach ($rows[$line] as $column =>
$cell) { if (null !==
$cell && !
$cell instanceof TableCell && !\
is_scalar($cell) && !
$cell instanceof \Stringable
) { throw new InvalidArgumentException(sprintf('A cell must be a TableCell, a scalar or an object implementing "__toString()", "%s" given.',
get_debug_type($cell)));
} if ($cell instanceof TableCell &&
$cell->
getRowspan() > 1
) { $nbLines =
$cell->
getRowspan() - 1;
$lines =
[$cell];
if (str_contains($cell, "\n"
)) { $lines =
explode("\n",
str_replace("\n", "<fg=default;bg=default>\n</>",
$cell));
$nbLines = \
count($lines) >
$nbLines ?
substr_count($cell, "\n"
) :
$nbLines;
$rows[$line][$column] =
new TableCell($lines[0
],
['colspan' =>
$cell->
getColspan(), 'style' =>
$cell->
getStyle()]);
unset($lines[0
]);
} // create a two dimensional array (rowspan x colspan)