private function _drawRows($w, $h, $txt, $border = 0, $align = 'J', $fill = false, $maxline = 0, $prn = 0)
{
$cw =& $this->CurrentFont['cw'];
if ($w == 0) {
$w = $this->w - $this->rMargin - $this->x;
}
$wmax = ($w - 2 * $this->cMargin) * 1000 / $this->FontSize;
$s = str_replace("\r", '', $txt);
$nb = strlen($s);
if ($nb > 0 && $s[$nb - 1] == "\n") {
$nb--;
}
$b = 0;
if ($border) {
if ($border == 1) {
$border = 'LTRB';
$b = 'LRT';
$b2 = 'LR';
} else {
$b2 = '';
if (is_int(strpos($border, 'L'))) {
$b2 .= 'L';
}
if (is_int(strpos($border, 'R'))) {
$b2 .= 'R';
}
$b = is_int(strpos($border, 'T')) ? $b2 . 'T' : $b2;
}
}
$sep = -1;
$i = 0;
$j = 0;
$l = 0;
$ns = 0;
$nl = 1;
while ($i < $nb) {
$c = $s[$i];
if ($c == "\n") {
if ($this->ws > 0) {
$this->ws = 0;
if ($prn == 1) {
$this->_out('0 Tw');
}
}
if ($prn == 1) {
$this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill);
}
$i++;
$sep = -1;
$j = $i;
$l = 0;
$ns = 0;
$nl++;
if ($border && $nl == 2) {
$b = $b2;
}
if ($maxline && $nl > $maxline) {
return substr($s, $i);
}
continue;
}
if ($c == ' ') {
$sep = $i;
$ls = $l;
$ns++;
}
$l += $cw[$c];
if ($l > $wmax) {
if ($sep == -1) {
if ($i == $j) {
$i++;
}
if ($this->ws > 0) {
$this->ws = 0;
if ($prn == 1) {
$this->_out('0 Tw');
}
}
if ($prn == 1) {
$this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill);
}
} else {
if ($align == 'J') {
$this->ws = $ns > 1 ? ($wmax - $ls) / 1000 * $this->FontSize / ($ns - 1) : 0;
if ($prn == 1) {
$this->_out(sprintf('%.3F Tw', $this->ws * $this->k));
}
}
if ($prn == 1) {
$this->Cell($w, $h, substr($s, $j, $sep - $j), $b, 2, $align, $fill);
}
$i = $sep + 1;
}
$sep = -1;
$j = $i;
$l = 0;
$ns = 0;
$nl++;
if ($border && $nl == 2) {
$b = $b2;
}
if ($maxline && $nl > $maxline) {
return substr($s, $i);
}
} else {
$i++;
}
}
if ($this->ws > 0) {
$this->ws = 0;
if ($prn == 1) {
$this->_out('0 Tw');
}
}
if ($border && is_int(strpos($border, 'B'))) {
$b .= 'B';
}
if ($prn == 1) {
$this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill);
}
$this->x = $this->lMargin;
return $nl;
}