Lines Matching defs:w

763 	var $w;
1313 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
1682 $this->w = $this->wPt / Mpdf::SCALE;
2055 // pba is background positioning area (from CSS background-origin) may not always be set [x,y,w,h]
2057 // $w - absolute length or % or auto or cover | contain
2059 if (isset($pba['w'])) {
2060 $cw = $pba['w'];
2072 if (isset($size['w']) && $size['w']) {
2073 if ($size['w'] == 'contain') {
2078 $w = $cw;
2080 $w = $w * $ch / $h;
2083 } elseif ($size['w'] == 'cover') {
2087 $w = $cw;
2089 $w = $w * $h / $ch;
2093 if (stristr($size['w'], '%')) {
2094 $size['w'] = (float) $size['w'];
2095 $size['w'] /= 100;
2096 $size['w'] = ($cw * $size['w']);
2103 if ($size['w'] == 'auto' && $size['h'] == 'auto') {
2104 $w = $imw;
2106 } elseif ($size['w'] == 'auto' && $size['h'] != 'auto') {
2107 $w = $imw * $size['h'] / $imh;
2109 } elseif ($size['w'] != 'auto' && $size['h'] == 'auto') {
2110 $h = $imh * $size['w'] / $imw;
2111 $w = $size['w'];
2113 $w = $size['w'];
2117 return [$w, $h, $repx, $repy];
2122 $w = $imw * $ch / $imh;
2123 return [$w, $ch, $repx, $repy];
2125 $w = $imw;
2127 if ($w > $cw) {
2128 $h = $h * $cw / $w;
2129 $w = $cw;
2132 $w = $w * $ch / $h;
2135 return [$w, $h, $repx, $repy];
2140 $w = $imw * $ch / $imh;
2141 return [$w, $ch, $repx, $repy];
2177 $size = ['w' => $bsw, 'h' => $bsh];
2248 $clw = $this->w;
2254 $clw = $this->w - 2 * $clx;
2286 $this->patterns[$n] = ['x' => $clx, 'y' => $cly, 'w' => $clw, 'h' => $clh, 'pgh' => $this->h, 'image_id' => $this->bodyBackgroundImage['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $this->bodyBackgroundImage['x_pos'], 'y_pos' => $this->bodyBackgroundImage['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'itype' => $this->bodyBackgroundImage['itype']];
2301 $s = ' q 0 w '; // Line width=0
2355 $s .= sprintf('%.3F %.3F %.3F %.3F re f Q', $pb['x'] * Mpdf::SCALE, ($this->h - $pb['y']) * Mpdf::SCALE, $pb['w'] * Mpdf::SCALE, -$pb['h'] * Mpdf::SCALE) . "\n";
2400 $s .= $this->gradient->Gradient($pb['x'], $pb['y'], $pb['w'], $pb['h'], $pb['gradtype'], $pb['stops'], $pb['colorspace'], $pb['coords'], $pb['extend'], true);
2412 list($orig_w, $orig_h, $x_repeat, $y_repeat) = $this->_resizeBackgroundImage($pb['orig_w'], $pb['orig_h'], $pb['w'], $pb['h'], $pb['resize'], $pb['x_repeat'], $pb['y_repeat'], $pb['bpa'], $pb['size']);
2414 $this->patterns[$n] = ['x' => $pb['x'], 'y' => $pb['y'], 'w' => $pb['w'], 'h' => $pb['h'], 'pgh' => $this->h, 'image_id' => $pb['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $pb['x_pos'], 'y_pos' => $pb['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'itype' => $pb['itype'], 'bpa' => $pb['bpa']];
2418 $w = $pb['w'] * Mpdf::SCALE;
2430 $w = $pb['w'];
2436 $w = $pb['bpa']['w'];
2442 if (isset($pb['size']['w']) && $pb['size']['w']) {
2445 if ($size['w'] == 'contain') {
2449 $ih = $ih * $pb['bpa']['w'] / $iw;
2450 $iw = $pb['bpa']['w'];
2455 } elseif ($size['w'] == 'cover') {
2458 $ih = $ih * $pb['bpa']['w'] / $iw;
2459 $iw = $pb['bpa']['w'];
2466 if (NumericString::containsPercentChar($size['w'])) {
2467 $size['w'] = NumericString::removePercentChar($size['w']);
2468 $size['w'] /= 100;
2469 $size['w'] = ($pb['bpa']['w'] * $size['w']);
2478 if ($size['w'] == 'auto' && $size['h'] == 'auto') {
2481 } elseif ($size['w'] == 'auto' && $size['h'] != 'auto') {
2484 } elseif ($size['w'] != 'auto' && $size['h'] == 'auto') {
2485 $ih = $ih * $size['w'] / $iw;
2486 $iw = $size['w'];
2488 $iw = $size['w'];
2496 $nx = ceil($pb['w'] / $iw) + 1;
2511 $x_pos = ($pb['bpa']['w'] * $x_pos) - ($iw * $x_pos);
2553 $s .= sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, $x, $y, $w, $h) . "\n";
2592 $s .= sprintf('%.3F %.3F %.3F %.3F re %s Q', $pb['x'] * Mpdf::SCALE, ($this->h - $pb['y']) * Mpdf::SCALE, $pb['w'] * Mpdf::SCALE, -$pb['h'] * Mpdf::SCALE, 'f') . "\n";
2598 $s .= $this->gradient->Gradient($pb['x'], $pb['y'], $pb['w'], $pb['h'], $pb['gradtype'], $pb['stops'], $pb['colorspace'], $pb['coords'], $pb['extend'], true);
2607 list($orig_w, $orig_h, $x_repeat, $y_repeat) = $this->_resizeBackgroundImage($pb['orig_w'], $pb['orig_h'], $pb['w'], $pb['h'], $pb['resize'], $pb['x_repeat'], $pb['y_repeat']);
2608 $this->patterns[$n] = ['x' => $pb['x'], 'y' => $pb['y'], 'w' => $pb['w'], 'h' => $pb['h'], 'pgh' => $this->h, 'image_id' => $pb['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $pb['x_pos'], 'y_pos' => $pb['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'itype' => $pb['itype']];
2611 $w = $pb['w'] * Mpdf::SCALE;
2617 $pb['clippath'] = sprintf(' q 0 w %.3F %.3F m %.3F %.3F l %.3F %.3F l %.3F %.3F l %.3F %.3F l W n ', $x, $y, $x, $y + $h, $x + $w, $y + $h, $x + $w, $y, $x, $y);
2629 $w = $pb['w'];
2635 $w = $pb['bpa']['w'];
2642 $pb['bpa'] = ['x' => $x0, 'y' => $y0, 'w' => $w, 'h' => $h];
2645 if (isset($pb['size']['w']) && $pb['size']['w']) {
2648 if ($size['w'] == 'contain') {
2651 $ih = $ih * $pb['bpa']['w'] / $iw;
2652 $iw = $pb['bpa']['w'];
2657 } elseif ($size['w'] == 'cover') {
2659 $ih = $ih * $pb['bpa']['w'] / $iw;
2660 $iw = $pb['bpa']['w'];
2666 if (NumericString::containsPercentChar($size['w'])) {
2667 $size['w'] = NumericString::removePercentChar($size['w']);
2668 $size['w'] /= 100;
2669 $size['w'] = ($pb['bpa']['w'] * $size['w']);
2676 if ($size['w'] == 'auto' && $size['h'] == 'auto') {
2679 } elseif ($size['w'] == 'auto' && $size['h'] != 'auto') {
2682 } elseif ($size['w'] != 'auto' && $size['h'] == 'auto') {
2683 $ih = $ih * $size['w'] / $iw;
2684 $iw = $size['w'];
2686 $iw = $size['w'];
2694 $nx = ceil($pb['w'] / $iw) + 1;
2708 $x_pos = ($pb['bpa']['w'] * $x_pos) - ($iw * $x_pos);
2744 $s .= sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, $x, $y, $w, $h) . "\n";
2984 $this->writer->write(sprintf('%.3F w', $lw * Mpdf::SCALE));
3230 $this->writer->write(sprintf('%.3F w', $lw * Mpdf::SCALE));
3254 $this->writer->write(sprintf('%.3F w', $lw * Mpdf::SCALE));
3473 $w = 0;
3476 $w = false;
3478 $w = (ord($cw[$u * 2]) << 8) + ord($cw[$u * 2 + 1]);
3481 if ($w == 65535) {
3483 } elseif ($w) {
3484 return $w;
3494 $w = 0;
3499 $w = (ord($cw[$u * 2]) << 8) + ord($cw[$u * 2 + 1]);
3502 return (bool) $w;
3509 $w = 0;
3517 $w+=$charw;
3520 $w += $this->CurrentFont['cw'][$c];
3522 $w += $this->CurrentFont['cw'][ord($c)];
3524 $w *= ($this->FontSize / 1000);
3531 $w += $this->fixedlSpacing + ($nb_spaces * $this->minwSpacing);
3533 return ($w);
3540 $w = 0;
3549 $w+=$this->CurrentFont['cw'][$char];
3551 $w += $this->CurrentFont['MissingWidth'];
3553 $w += 500;
3564 $w+=$charw;
3566 $w += $this->CurrentFont['desc']['MissingWidth'];
3568 $w += $this->CurrentFont['MissingWidth'];
3570 $w += 500;
3575 $w+=$charw;
3577 $w += $this->CurrentFont['desc']['MissingWidth'];
3579 $w += $this->CurrentFont['MissingWidth'];
3581 $w += 500;
3585 $w *= ($this->FontSize / 1000);
3592 $w += $this->fixedlSpacing + ($nb_spaces * $this->minwSpacing);
3594 return ($w);
3612 $w = 0;
3643 $w+=$cw[$char];
3645 $w += $this->CurrentFont['MissingWidth'];
3647 $w += 500;
3660 $w+=$charw;
3662 $w += $this->CurrentFont['desc']['MissingWidth'];
3664 $w += $this->CurrentFont['MissingWidth'];
3666 $w += 500;
3671 $w+=$charw;
3673 $w += $this->CurrentFont['desc']['MissingWidth'];
3675 $w += $this->CurrentFont['MissingWidth'];
3677 $w += 500;
3685 $w += $OTLdata['GPOSinfo'][$i]['XAdvanceR'] * 1000 / $this->CurrentFont['unitsPerEm'];
3689 $w += $OTLdata['GPOSinfo'][$i]['XAdvanceL'] * 1000 / $this->CurrentFont['unitsPerEm'];
3720 $w+=$charw;
3723 $w += $cw[$s[$i]];
3725 $w += $cw[ord($s[$i])];
3736 $w += $kerning;
3738 $w *= ($this->FontSize / 1000);
3739 $w += (($nb_carac + $nb_spaces) * $this->fixedlSpacing) + ($nb_spaces * $this->minwSpacing);
3740 $w += $kashida / Mpdf::SCALE;
3742 return ($w);
3749 $lwout = (sprintf('%.3F w', $width * Mpdf::SCALE));
3794 function Rect($x, $y, $w, $h, $style = '')
3804 $this->writer->write(sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$h * Mpdf::SCALE, $op));
4323 function Link($x, $y, $w, $h, $link)
4325 $l = [$x * Mpdf::SCALE, $this->hPt - $y * Mpdf::SCALE, $w * Mpdf::SCALE, $h * Mpdf::SCALE, $link];
4359 $s .= sprintf('%.3F w ', ($this->FontSize / 130) * Mpdf::SCALE * $this->falseBoldWeight);
4440 $s .= ' ' . (sprintf(' %.3F w', $ut * Mpdf::SCALE));
4442 $s .= ' ' . (sprintf(' %.3F w', $olw * Mpdf::SCALE));
4466 $s .= ' ' . (sprintf(' %.3F w', $ut * Mpdf::SCALE));
4468 $s .= ' ' . (sprintf(' %.3F w', $olw * Mpdf::SCALE));
4524 function WriteCell($w, $h = 0, $txt = '', $border = 0, $ln = 0, $align = '', $fill = 0, $link = '', $currentx = 0)
4561 $this->Cell($w, $h, $txt, $border, $ln, $align, $fill, $link, $currentx, 0, 0, 'M', 0, false, $OTLdata, $textvar);
4601 function GetJspacing($nc, $ns, $w, $inclCursive, &$cOTLdata)
4605 if ($w > 0 && $inclCursive && isset($this->CurrentFont['useKashida']) && $this->CurrentFont['useKashida'] && !empty($cOTLdata)) {
4664 $kashida_space = $w * $kashida_space_ratio;
4681 $w -= $kashida_space;
4694 $ws = $w / $ns;
4697 $charspacing = $w;
4699 $charspacing = $w / ($ncx );
4704 $charspacing = $w / $ns;
4707 $cs = ($w * (1 - $this->jSWord)) / ($ncx );
4710 $ww = 1 - (($cs * ($ncx )) / $w);
4713 $ws = ($w * ($ww) ) / $ns;
4715 $cs = ($w * (1 - $this->jSWord)) / ($ncx - $ns);
4718 $ww = 1 - (($cs * ($ncx - $ns)) / $w);
4721 $ws = (($w * ($ww) ) / $ns) - $charspacing;
4734 function Cell($w, $h = 0, $txt = '', $border = 0, $ln = 0, $align = '', $fill = 0, $link = '', $currentx = 0, $lcpaddingL = 0, $lcpaddingR = 0, $valign = 'M', $spanfill = 0, $exactWidth = false, $OTLdata = false, $textvar = 0, $lineBox = false)
4809 if ($w == 0) {
4810 $w = $this->w - $this->rMargin - $this->x;
4899 $this->spanborddet['B'] = ['s' => 0, 'style' => '', 'w' => 0];
4903 $this->spanborddet['T'] = ['s' => 0, 'style' => '', 'w' => 0];
4907 $this->spanborddet['L'] = ['s' => 0, 'style' => '', 'w' => 0];
4911 $this->spanborddet['R'] = ['s' => 0, 'style' => '', 'w' => 0];
4914 $bbw = $this->spanborddet['B']['w'];
4915 $tbw = $this->spanborddet['T']['w'];
4916 $lbw = $this->spanborddet['L']['w'];
4917 $rbw = $this->spanborddet['R']['w'];
4925 $s .= sprintf('%.3F %.3F %.3F %.3F re f ', ($this->x - $lbw) * Mpdf::SCALE, ($this->h - $bg_boxtop + $tbw) * Mpdf::SCALE, ($w + $lbw + $rbw) * Mpdf::SCALE, (-$bg_boxheight - $tbw - $bbw) * Mpdf::SCALE);
4948 $s .= sprintf('%.3F %.3F l ', ($this->x + $w + $rbw) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw) * Mpdf::SCALE);
4949 $s .= sprintf('%.3F %.3F l ', ($this->x + $w) * Mpdf::SCALE, ($this->h - $bord_boxtop) * Mpdf::SCALE);
4957 $s .= sprintf(' %s %.3F w ', $c, $tbw / 3 * Mpdf::SCALE);
4958 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x - $lbw) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw * 5 / 6) * Mpdf::SCALE, ($this->x + $w + $rbw) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw * 5 / 6) * Mpdf::SCALE);
4959 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x - $lbw) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw / 6) * Mpdf::SCALE, ($this->x + $w + $rbw) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw / 6) * Mpdf::SCALE);
4961 $s .= sprintf(' %s %.3F w ', $c, $tbw * Mpdf::SCALE);
4962 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x - $lbw) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw / 2) * Mpdf::SCALE, ($this->x + $w + $rbw - $short) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw / 2) * Mpdf::SCALE);
4964 $s .= sprintf(' %s %.3F w ', $c, $tbw * Mpdf::SCALE);
4965 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x - $lbw) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw / 2) * Mpdf::SCALE, ($this->x + $w + $rbw - $short) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw / 2) * Mpdf::SCALE);
4987 $s .= sprintf('%.3F %.3F l ', ($this->x + $w + $rbw) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw) * Mpdf::SCALE);
4988 $s .= sprintf('%.3F %.3F l ', ($this->x + $w) * Mpdf::SCALE, ($this->h - $bord_boxbottom) * Mpdf::SCALE);
4996 $s .= sprintf(' %s %.3F w ', $c, $bbw / 3 * Mpdf::SCALE);
4997 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x - $lbw) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw / 6) * Mpdf::SCALE, ($this->x + $w + $rbw - $short) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw / 6) * Mpdf::SCALE);
4998 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x - $lbw) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw * 5 / 6) * Mpdf::SCALE, ($this->x + $w + $rbw - $short) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw * 5 / 6) * Mpdf::SCALE);
5000 $s .= sprintf(' %s %.3F w ', $c, $bbw * Mpdf::SCALE);
5001 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x - $lbw) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw / 2) * Mpdf::SCALE, ($this->x + $w + $rbw - $short) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw / 2) * Mpdf::SCALE);
5003 $s .= sprintf(' %s %.3F w ', $c, $bbw * Mpdf::SCALE);
5004 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x - $lbw) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw / 2) * Mpdf::SCALE, ($this->x + $w + $rbw - $short) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw / 2) * Mpdf::SCALE);
5034 $s .= sprintf(' %s %.3F w ', $c, $lbw / 3 * Mpdf::SCALE);
5038 $s .= sprintf(' %s %.3F w ', $c, $lbw * Mpdf::SCALE);
5041 $s .= sprintf(' %s %.3F w ', $c, $lbw * Mpdf::SCALE);
5064 $s .= sprintf('%.3F %.3F m ', ($this->x + $w + $rbw) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw) * Mpdf::SCALE);
5065 $s .= sprintf('%.3F %.3F l ', ($this->x + $w) * Mpdf::SCALE, ($this->h - $bord_boxbottom) * Mpdf::SCALE);
5066 $s .= sprintf('%.3F %.3F l ', ($this->x + $w) * Mpdf::SCALE, ($this->h - $bord_boxtop) * Mpdf::SCALE);
5067 $s .= sprintf('%.3F %.3F l ', ($this->x + $w + $rbw) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw) * Mpdf::SCALE);
5073 $s .= sprintf(' %s %.3F w ', $c, $rbw / 3 * Mpdf::SCALE);
5074 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x + $w + $rbw / 6) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw) * Mpdf::SCALE, ($this->x + $w + $rbw / 6) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw + $short) * Mpdf::SCALE);
5075 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x + $w + $rbw * 5 / 6) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw) * Mpdf::SCALE, ($this->x + $w + $rbw * 5 / 6) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw + $short) * Mpdf::SCALE);
5077 $s .= sprintf(' %s %.3F w ', $c, $rbw * Mpdf::SCALE);
5078 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x + $w + $rbw / 2) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw) * Mpdf::SCALE, ($this->x + $w + $rbw / 2) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw + $short) * Mpdf::SCALE);
5080 $s .= sprintf(' %s %.3F w ', $c, $rbw * Mpdf::SCALE);
5081 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($this->x + $w + $rbw / 2) * Mpdf::SCALE, ($this->h - $bord_boxtop + $tbw) * Mpdf::SCALE, ($this->x + $w + $rbw / 2) * Mpdf::SCALE, ($this->h - $bord_boxbottom - $bbw + $short) * Mpdf::SCALE);
5099 $s .= sprintf('%.3F %.3F %.3F %.3F re %s ', $this->x * Mpdf::SCALE, ($this->h - $bg_boxtop) * Mpdf::SCALE, $w * Mpdf::SCALE, -$bg_boxheight * Mpdf::SCALE, $op);
5113 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', $x * Mpdf::SCALE, ($this->h - $bord_boxtop) * Mpdf::SCALE, ($x + $w) * Mpdf::SCALE, ($this->h - $bord_boxtop) * Mpdf::SCALE);
5117 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', ($x + $w) * Mpdf::SCALE, ($this->h - $bord_boxtop) * Mpdf::SCALE, ($x + $w) * Mpdf::SCALE, ($this->h - ($bord_boxbottom)) * Mpdf::SCALE);
5121 $s .= sprintf('%.3F %.3F m %.3F %.3F l S ', $x * Mpdf::SCALE, ($this->h - ($bord_boxbottom)) * Mpdf::SCALE, ($x + $w) * Mpdf::SCALE, ($this->h - ($bord_boxbottom)) * Mpdf::SCALE);
5128 $stringWidth = $w;
5135 $dx = $w - $this->cMarginR - $stringWidth - $lcpaddingR;
5137 $dx = (($w - $stringWidth ) / 2);
5150 $s .=' ' . sprintf('%.3F w', $this->LineWidth * Mpdf::SCALE) . ' ';
5155 $s .= ' ' . sprintf('%.3F w', ($this->FontSize / 130) * Mpdf::SCALE * $this->falseBoldWeight) . ' ';
5266 $sub .= ' ' . (sprintf(' %.3F w 0 j 0 J ', $ut * Mpdf::SCALE));
5268 $sub .= ' ' . (sprintf(' %.3F w 2 j 2 J ', $olw * Mpdf::SCALE));
5317 $sub .=' ' . (sprintf(' %.3F w 0 j 0 J ', $ut * Mpdf::SCALE));
5319 $sub .=' ' . (sprintf(' %.3F w 2 j 2 J ', $olw * Mpdf::SCALE));
5352 $sub .=' ' . (sprintf(' %.3F w 0 j 0 J ', $ut * Mpdf::SCALE));
5354 $sub .=' ' . (sprintf(' %.3F w 2 j 2 J ', $olw * Mpdf::SCALE));
5387 $this->Link($this->x, $boxtop, $w, $boxheight, $link);
5414 $this->x+=$w;
5834 $w,
5893 if ($w == 0) {
5894 $w = $this->w - $this->rMargin - $this->x;
5897 $wmax = ($w - ($this->cMarginL + $this->cMarginR));
5971 $this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
6021 $this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
6063 $this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
6104 $this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link);
6143 $this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link);
6165 $this->Cell($w, $h, substr($s, $j, $sep - $j), $b, 2, $align, $fill, $link);
6212 $this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
6214 $this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link);
6327 if ($this->blk[$i]['bgcolor'] || $this->blk[$i]['border_left']['w'] || $this->blk[$i]['border_right']['w'] || $this->blk[$i]['border_top']['w'] || $this->blk[$i]['border_bottom']['w']) {
6404 function newFlowingBlock($w, $h, $a = '', $is_table = false, $blockstate = 0, $newblock = true, $blockdir = 'ltr', $table_draft = false)
6413 $this->flowingBlockAttr['width'] = ($w * Mpdf::SCALE);
6501 $this->cMarginL = $this->blk[$this->blklvl]['border_left']['w'];
6502 $this->cMarginR = $this->blk[$this->blklvl]['border_right']['w'];
6521 $usey += $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w'];
6526 $fpaddingR += $this->floatmargins['R']['w'];
6529 $fpaddingL += $this->floatmargins['L']['w'];
6612 $check_h += ($this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w']);
6615 $check_h += ($this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['border_top']['w']);
6697 $this->DivLn($this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w'], -3, true, false, 1);
6722 $usey += $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w'];
6727 $fpaddingR += $this->floatmargins['R']['w'];
6730 $fpaddingL += $this->floatmargins['L']['w'];
6792 $w = $cOTLdata[$aord]['GPOSinfo'][$nGPOS]['XAdvanceL'] * 1000 / $this->CurrentFont['unitsPerEm'];
6794 $w = $cOTLdata[$aord]['GPOSinfo'][$nGPOS]['XAdvanceR'] * 1000 / $this->CurrentFont['unitsPerEm'];
6796 $w *= ($this->FontSize / 1000);
6797 $contentWidth -= $w * Mpdf::SCALE;
6804 $w = -$cOTLdata[$aord]['GPOSinfo'][$nGPOS]['XPlacement'] * 1000 / $this->CurrentFont['unitsPerEm'];
6805 $w *= ($this->FontSize / 1000);
6806 $contentWidth -= $w * Mpdf::SCALE;
6864 $this->maxPosR = max($this->maxPosR, ($this->w - $this->rMargin - $this->blk[$this->blklvl]['outer_right_margin'] - $empty));
6947 $this->x += $this->spanborddet['L']['w'];
6950 $this->spanborddet['L']['s'] = $this->spanborddet['L']['w'] = 0;
6953 $this->spanborddet['R']['s'] = $this->spanborddet['R']['w'] = 0;
7002 $this->x += $this->spanborddet['R']['w'];
7058 $h1 = ($this->y - $this->blk[$this->blklvl]['y0']) + $this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w'];
7062 if ($this->y + $this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w'] + $extra > $this->PageBreakTrigger) {
7063 $extra = $this->PageBreakTrigger - ($this->y + $this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w']);
7068 $this->DivLn($this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w'] + $extra, -3, true, false, 2);
7159 $w = $objattr['OUTER-WIDTH'];
7251 $maxsize_x = $w;
7253 $cx = $x + $w / 2;
7331 $this->Rect($x, $y, $w, $h, 'F');
7573 $w = $this->GetStringWidth($texto);
7583 $this->x -= $w;
7585 $this->Cell($w, $this->FontSize, $texto, 0, 0, $align, 0, '', 0, 0, 0, 'T', 0, false, false, 0, $objattr['lineBox']);
7596 $nb = floor(($w - 2 * $sp) / $this->GetStringWidth('.'));
7614 $this->Cell($w, $h, $dots, 0, 0, 'C', 0, '', 0, 0, 0, 'T', 0, false, false, 0, $objattr['lineBox']); // mPDF 6 DOTTAB
7624 $this->form->print_ob_text($objattr, $w, $h, $texto, $rtlalign, $k, $blockdir);
7629 $this->form->print_ob_textarea($objattr, $w, $h, $texto, $rtlalign, $k, $blockdir);
7634 $this->form->print_ob_select($objattr, $w, $h, $texto, $rtlalign, $k, $blockdir);
7640 $this->form->print_ob_imageinput($objattr, $w, $h, $texto, $rtlalign, $k, $blockdir, $is_table);
7645 $this->form->print_ob_button($objattr, $w, $h, $texto, $rtlalign, $k, $blockdir);
7650 $this->form->print_ob_checkbox($objattr, $w, $h, $texto, $rtlalign, $k, $blockdir, $x, $y);
7654 $this->form->print_ob_radio($objattr, $w, $h, $texto, $rtlalign, $k, $blockdir, $x, $y);
7681 $this->writer->write(sprintf('%.3F w ', $lw * Mpdf::SCALE));
7800 $this->cMarginL = $this->blk[$this->blklvl]['border_left']['w'];
7802 $this->cMarginR = $this->blk[$this->blklvl]['border_right']['w'];
7821 $usey += $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w'];
7826 $fpaddingR += $this->floatmargins['R']['w'];
7829 $fpaddingL += $this->floatmargins['L']['w'];
7842 $h_corr = $this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w'];
7844 $maximumW = ($maxWidth / Mpdf::SCALE) - ($this->blk[$this->blklvl]['padding_left'] + $this->blk[$this->blklvl]['border_left']['w'] + $this->blk[$this->blklvl]['padding_right'] + $this->blk[$this->blklvl]['border_right']['w'] + $fpaddingL + $fpaddingR );
7865 $lbw = $this->spanborddet['L']['w'];
7868 $rbw = $this->spanborddet['R']['w'];
7960 $usey += $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w'];
7966 $fpaddingR += $this->floatmargins['R']['w'];
7969 $fpaddingL += $this->floatmargins['L']['w'];
8323 if (isset($this->spanborddet['L']['w']) && strpos($contentB[$k], 'L') !== false) {
8324 $contentWidth += $this->spanborddet['L']['w'] * Mpdf::SCALE;
8326 if (isset($this->spanborddet['R']['w']) && strpos($contentB[$k], 'R') !== false) {
8327 $contentWidth += $this->spanborddet['R']['w'] * Mpdf::SCALE;
8366 $w = $cOTLdata[$aord]['GPOSinfo'][$nGPOS]['XAdvanceL'] * 1000 / $this->CurrentFont['unitsPerEm'];
8368 $w = $cOTLdata[$aord]['GPOSinfo'][$nGPOS]['XAdvanceR'] * 1000 / $this->CurrentFont['unitsPerEm'];
8370 $w *= ($this->FontSize / 1000);
8371 $contentWidth -= $w * Mpdf::SCALE;
8378 $w = -$cOTLdata[$aord]['GPOSinfo'][$nGPOS]['XPlacement'] * 1000 / $this->CurrentFont['unitsPerEm'];
8379 $w *= ($this->FontSize / 1000);
8380 $contentWidth -= $w * Mpdf::SCALE;
8430 $check_h += ($this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['border_top']['w']);
8498 $this->DivLn($this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w'], -3, true, false, 1);
8573 $this->x += (isset($this->spanborddet['L']['w']) ? $this->spanborddet['L']['w'] : 0);
8576 $this->spanborddet['L']['s'] = $this->spanborddet['L']['w'] = 0;
8579 $this->spanborddet['R']['s'] = $this->spanborddet['R']['w'] = 0;
8626 $this->x += $this->spanborddet['R']['w'];
8646 $this->maxPosR = max($this->maxPosR, ($this->w - $this->rMargin - $this->blk[$this->blklvl]['outer_right_margin']));
8693 $lbw = (isset($this->spanborddet['L']['w']) ? $this->spanborddet['L']['w'] : 0);
8694 $rbw = (isset($this->spanborddet['R']['w']) ? $this->spanborddet['R']['w'] : 0);
8734 $lbw = (isset($this->spanborddet['L']['w']) ? $this->spanborddet['L']['w'] : 0);
8735 $rbw = (isset($this->spanborddet['R']['w']) ? $this->spanborddet['R']['w'] : 0);
8769 if ($this->floatbuffer[$this->floatmargins['L']['id']]['border_left']['w']) {
8787 if ($this->floatbuffer[$this->floatmargins['R']['id']]['border_left']['w']) {
8840 function Image($file, $x, $y, $w = 0, $h = 0, $type = '', $link = '', $paint = true, $constrain = true, $watermark = false, $shownoimg = true, $allowvector = true)
8850 $w = ($info['w'] * (25.4 / $this->img_dpi)); // 14 x 16px
8858 if ($w == 0 and $h == 0) {
8864 $w = abs($info['w']) / (20 * Mpdf::SCALE);
8870 $w = abs($info['w']) / Mpdf::SCALE;
8874 $w = ($info['w'] / Mpdf::SCALE) * (72 / $this->img_dpi);
8879 if ($w == 0) {
8880 $w = abs($h * $info['w'] / $info['h']);
8883 $h = abs($w * $info['h'] / $info['w']);
8888 $maxw = $this->w;
8892 $w = $this->watermark_size[0];
8897 $w = $maxw;
8898 $h = abs($w * $info['h'] / $info['w']);
8901 $w = abs($h * $info['w'] / $info['h']);
8905 $maxw = $this->w - ($this->DeflMargin + $this->DefrMargin);
8910 $w = $maxw;
8911 $h = abs($w * $info['h'] / $info['w']);
8914 $w = abs($h * $info['w'] / $info['h']);
8917 $w = $maxw;
8918 $h = abs($w * $info['h'] / $info['w']);
8921 $w = abs($h * $info['w'] / $info['h']);
8925 if ($w > $maxw) {
8926 $w = $maxw;
8927 $h = abs($w * $info['h'] / $info['w']);
8931 $w = abs($h * $info['w'] / $info['h']);
8945 $x = ($this->DeflMargin - $xadj + ($this->w - ($this->DeflMargin + $this->DefrMargin)) / 2) - ($w / 2); // *COLUMNS*
8948 $x = ($this->lMargin + ($this->pgwidth) / 2) - ($w / 2);
8952 $x = ($this->w / 2) - ($w / 2);
8957 $sx = $w * Mpdf::SCALE / $info['w'];
8962 $sx = $w * Mpdf::SCALE / $info['w'];
8966 $outstring = sprintf("q %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q", $w * Mpdf::SCALE, $h * Mpdf::SCALE, $x * Mpdf::SCALE, ($this->h - ($y + $h)) * Mpdf::SCALE, $info['i']);
8988 if ($w > $maxw) {
8989 $w = $maxw;
8990 $h = abs($w * $info['h'] / $info['w']);
8997 $w = abs($h * $info['w'] / $info['h']);
9002 // if ( ($x + $w) > $this->fw ) {
9003 if (($x + $w) > $this->w) {
9031 $sx = $w * Mpdf::SCALE / $info['w'];
9036 $sx = $w * Mpdf::SCALE / $info['w'];
9040 $outstring = sprintf("q %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q", $w * Mpdf::SCALE, $h * Mpdf::SCALE, $x * Mpdf::SCALE, ($this->h - ($y + $h)) * Mpdf::SCALE, $info['i']);
9047 $this->Link($x, $y, $w, $h, $link);
9055 $sizesarray['WIDTH'] = $w;
9095 $w = 0;
9097 $w = $objattr['width'] / $k;
9110 $extraWidth = ($objattr['border_left']['w'] + $objattr['border_right']['w'] + $objattr['margin_left'] + $objattr['margin_right']) / $k;
9111 $extraHeight = ($objattr['border_top']['w'] + $objattr['border_bottom']['w'] + $objattr['margin_top'] + $objattr['margin_bottom']) / $k;
9137 $w = 0.00001;
9145 return [-2, $w, $h];
9148 return [1, $w, $h];
9153 $displaywidth = $w;
9164 return [-2, $w, $h];
9166 return [1, $w, $h]; // new line
9168 return [1, $w, $h]; // new line
9171 return [-1, $w, $h];
9174 return [0, $w, $h];
9180 $w = 0.00001;
9194 if ($w > ($widthLeft + 0.0001) && !$is_table) { // mPDF 5.7.4 0.0001 to allow for rounding errors when w==maxWidth
9195 $w = $widthLeft;
9196 $h = abs($w * $info['h'] / $info['w']);
9198 $img_w = $w - $extraWidth;
9201 $objattr['BORDER-WIDTH'] = $img_w + $objattr['padding_left'] / $k + $objattr['padding_right'] / $k + (($objattr['border_left']['w'] / $k + $objattr['border_right']['w'] / $k) / 2);
9202 $objattr['BORDER-HEIGHT'] = $img_h + $objattr['padding_top'] / $k + $objattr['padding_bottom'] / $k + (($objattr['border_top']['w'] / $k + $objattr['border_bottom']['w'] / $k) / 2);
9203 $objattr['BORDER-X'] = $x + $objattr['margin_left'] / $k + (($objattr['border_left']['w'] / $k) / 2);
9204 $objattr['BORDER-Y'] = $y + $objattr['margin_top'] / $k + (($objattr['border_top']['w'] / $k) / 2);
9207 $objattr['INNER-X'] = $x + $objattr['padding_left'] / $k + $objattr['margin_left'] / $k + ($objattr['border_left']['w'] / $k);
9208 $objattr['INNER-Y'] = $y + $objattr['padding_top'] / $k + $objattr['margin_top'] / $k + ($objattr['border_top']['w'] / $k);
9213 $img_w = $w - $extraWidth;
9215 $objattr['BORDER-WIDTH'] = $img_w + (($objattr['border_left']['w'] / $k + $objattr['border_right']['w'] / $k) / 2);
9216 $objattr['BORDER-HEIGHT'] = $img_h + (($objattr['border_top']['w'] / $k + $objattr['border_bottom']['w'] / $k) / 2);
9217 $objattr['BORDER-X'] = $x + $objattr['margin_left'] / $k + (($objattr['border_left']['w'] / $k) / 2);
9218 $objattr['BORDER-Y'] = $y + $objattr['margin_top'] / $k + (($objattr['border_top']['w'] / $k) / 2);
9221 $objattr['INNER-X'] = $x + $objattr['margin_left'] / $k + ($objattr['border_left']['w'] / $k);
9222 $objattr['INNER-Y'] = $y + $objattr['margin_top'] / $k + ($objattr['border_top']['w'] / $k);
9227 $b_w = $w - $extraWidth;
9229 $objattr['BORDER-WIDTH'] = $b_w + $objattr['padding_left'] / $k + $objattr['padding_right'] / $k + (($objattr['border_left']['w'] / $k + $objattr['border_right']['w'] / $k) / 2);
9230 $objattr['BORDER-HEIGHT'] = $b_h + $objattr['padding_top'] / $k + $objattr['padding_bottom'] / $k + (($objattr['border_top']['w'] / $k + $objattr['border_bottom']['w'] / $k) / 2);
9231 $objattr['BORDER-X'] = $x + $objattr['margin_left'] / $k + (($objattr['border_left']['w'] / $k) / 2);
9232 $objattr['BORDER-Y'] = $y + $objattr['margin_top'] / $k + (($objattr['border_top']['w'] / $k) / 2);
9233 $objattr['INNER-X'] = $x + $objattr['padding_left'] / $k + $objattr['margin_left'] / $k + ($objattr['border_left']['w'] / $k);
9234 $objattr['INNER-Y'] = $y + $objattr['padding_top'] / $k + $objattr['margin_top'] / $k + ($objattr['border_top']['w'] / $k);
9242 if ($w > $widthLeft && !$is_table) {
9243 $w = $widthLeft;
9255 $w = $maxWidth;
9257 if ($w > $maxWidth) {
9258 $w = $maxWidth;
9260 $objattr['INNER-WIDTH'] = $w;
9261 $w = $maxWidth;
9269 if ($w > $widthLeft && !$is_table) {
9270 $w = $widthLeft;
9297 $objattr['OUTER-WIDTH'] = $w;
9456 $this->x = $this->w + $x;
9518 foreach ($this->PDFAXwarnings as $w) {
9519 $this->logger->warning($w, ['context' => LogContext::PDFA_PDFX]);
9697 $this->w = $this->saveHTMLHeader[$n][$OE]['pw'];
9702 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
9724 $os .= sprintf('q 0 -1 1 0 0 %.3F cm ', ($this->w * Mpdf::SCALE));
9748 $by = $this->w - $ax;
9771 $this->w = $this->saveHTMLFooter[$n][$OE]['pw'];
9776 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
9811 $os .= sprintf('q 0 -1 1 0 0 %.3F cm ', ($this->w * Mpdf::SCALE));
9845 $by = $this->w - $ax;
9900 $x = ($this->w) - $this->rMargin * 0.66;
10209 $this->w = $this->fw;
10224 $this->w = $this->fh;
10241 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
10245 $this->pageDim[$this->page]['w'] = $this->w;
10290 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
10295 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
10471 $w = ($this->GetStringWidth($txt, false, $OTLdata, $textvar) * Mpdf::SCALE) + ($this->charspacing * mb_strlen($txt, $this->mb_enc)) + ( $this->ws * mb_substr_count($txt, ' ', $this->mb_enc));
10473 return sprintf('%.3F %.3F m %.3F %.3F l S', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, ($x * Mpdf::SCALE) + $w, ($this->h - $y) * Mpdf::SCALE);
10535 $maxlen = (min($this->w, $this->h) ); // sets max length of text as 7/8 width/height of page
10555 $wx = ($this->w / 2) - $adj + $offset / 3;
10619 function RoundedRect($x, $y, $w, $h, $r, $style = '')
10633 $xc = $x + $w - $r;
10638 $xc = $x + $w - $r;
10640 $this->writer->write(sprintf('%.3F %.3F l', ($x + $w) * Mpdf::SCALE, ($hp - $yc) * Mpdf::SCALE));
11769 $adv = $table['border_spacing_V'] / 2 + $table['border_details']['T']['w'] + $table['padding']['T'];
11849 $w = Arrays::get($tablehf, 'w', null);
11883 $yadj += $table['padding']['T'] + $table['border_details']['T']['w'];
11884 $hadj += $table['padding']['T'] + $table['border_details']['T']['w'];
11887 $hadj += $table['padding']['B'] + $table['border_details']['B']['w'];
11890 $xadj += $table['padding']['L'] + $table['border_details']['L']['w'];
11891 $wadj += $table['padding']['L'] + $table['border_details']['L']['w'];
11894 $wadj += $table['padding']['R'] + $table['border_details']['R']['w'];
11897 $this->Rect($x - $xadj, $y - $yadj, $w + $wadj, $h + $hadj, 'F');
11936 $this->Rect($x + ($table['border_spacing_H'] / 2), $y + ($table['border_spacing_V'] / 2), $w - $table['border_spacing_H'], $h - $table['border_spacing_V'], 'F');
11938 $this->tableBackgrounds[$level * 9 + $leveladj][] = ['gradient' => false, 'x' => ($x + ($table['border_spacing_H'] / 2)), 'y' => ($y + ($table['border_spacing_V'] / 2)), 'w' => ($w - $table['border_spacing_H']), 'h' => ($h - $table['border_spacing_V']), 'col' => $color];
11943 $this->Rect($x, $y, $w, $h, 'F');
11945 $this->tableBackgrounds[$level * 9 + $leveladj][] = ['gradient' => false, 'x' => $x, 'y' => $y, 'w' => $w, 'h' => $h, 'col' => $color];
11959 $pw = $w - $table['border_spacing_H'];
11964 $pw = $w;
11970 $this->tableBackgrounds[$level * 9 + 7][] = ['gradient' => true, 'x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
11982 $pw = $w - $table['border_spacing_H'];
11987 $pw = $w;
11993 $this->tableBackgrounds[$level * 9 + 7][] = ['gradient' => true, 'x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
12001 $pw = $w - $table['border_spacing_H'];
12006 $pw = $w;
12011 $this->patterns[$n] = ['x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'pgh' => $this->h, 'image_id' => $tablehf['background-image']['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $tablehf['background-image']['x_pos'], 'y_pos' => $tablehf['background-image']['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'itype' => $tablehf['background-image']['itype']];
12019 $this->tableBackgrounds[$level * 9 + 8][] = ['x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'image_id' => $tablehf['background-image']['image_id'], 'orig_w' => $tablehf['background-image']['orig_w'], 'orig_h' => $tablehf['background-image']['orig_h'], 'x_pos' => $tablehf['background-image']['x_pos'], 'y_pos' => $tablehf['background-image']['y_pos'], 'x_repeat' => $tablehf['background-image']['x_repeat'], 'y_repeat' => $tablehf['background-image']['y_repeat'], 'clippath' => '', 'resize' => $tablehf['background-image']['resize'], 'opacity' => $tablehf['background-image']['opacity'], 'itype' => $tablehf['background-image']['itype']];
12027 $this->_tableRect($x + ($table['border_spacing_H'] / 2) + ($border_details['L']['w'] / 2), $y + ($table['border_spacing_V'] / 2) + ($border_details['T']['w'] / 2), $w - $table['border_spacing_H'] - ($border_details['L']['w'] / 2) - ($border_details['R']['w'] / 2), $h - $table['border_spacing_V'] - ($border_details['T']['w'] / 2) - ($border_details['B']['w'] / 2), $border, $border_details, false, $table['borders_separate']);
12029 $this->_tableRect($x, $y, $w, $h, $border, $border_details, true, $table['borders_separate']); // true causes buffer
12062 $this->x += ($w) + ($offset) - ($cellFontHeight / 3) - ($padding['R'] + $border_details['R']['w']);
12064 $this->x += ($w / 2) + ($offset);
12066 $this->x += ($offset) + ($cellFontHeight / 3) + ($padding['L'] + $border_details['L']['w']);
12077 $this->y += (($h - $mih) / 2) + ($padding['T'] + $border_details['T']['w']) + ($mih - ($padding['T'] + $border_details['T']['w'] + $border_details['B']['w'] + $padding['B']));
12079 $this->y += (($h - $mih) / 2) + ($padding['T'] + $border_details['T']['w']);
12084 $this->y += $h - ($border_details['B']['w'] + $padding['B']);
12086 $this->y += $h - $mih + ($padding['T'] + $border_details['T']['w']);
12090 $this->y += $mih - ($border_details['B']['w'] + $padding['B']);
12092 $this->y += ($padding['T'] + $border_details['T']['w']);
12115 $xadj = $border_details['L']['w'] + $padding['L'] + ($table['border_spacing_H'] / 2);
12116 $wadj = $border_details['L']['w'] + $border_details['R']['w'] + $padding['L'] + $padding['R'] + $table['border_spacing_H'];
12117 $yadj = $border_details['T']['w'] + $padding['T'] + ($table['border_spacing_H'] / 2);
12119 $xadj = $border_details['L']['w'] / 2 + $padding['L'];
12120 $wadj = ($border_details['L']['w'] + $border_details['R']['w']) / 2 + $padding['L'] + $padding['R'];
12121 $yadj = $border_details['T']['w'] / 2 + $padding['T'];
12124 $this->divwidth = $w - ($wadj);
12140 $gw = $table['w'] - ($table['max_cell_border_width']['L'] / 2) - ($table['max_cell_border_width']['R'] / 2) - $table['margin']['L'] - $table['margin']['R'];
12142 $gw -= ($table['padding']['L'] + $table['border_details']['L']['w'] + $table['padding']['R'] + $table['border_details']['R']['w'] + $table['border_spacing_H']);
12145 $clw = $w - $table['border_spacing_H'];
12149 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => $s];
12151 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
12163 $gw = $table['w'] - ($table['max_cell_border_width']['L'] / 2) - ($table['max_cell_border_width']['R'] / 2) - $table['margin']['L'] - $table['margin']['R'];
12165 $gw -= ($table['padding']['L'] + $table['border_details']['L']['w'] + $table['padding']['R'] + $table['border_details']['R']['w'] + $table['border_spacing_H']);
12168 $clw = $w - $table['border_spacing_H'];
12172 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => $s];
12174 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
12193 $gw = $table['w'] - ($table['max_cell_border_width']['L'] / 2) - ($table['max_cell_border_width']['R'] / 2) - $table['margin']['L'] - $table['margin']['R'];
12195 $gw -= ($table['padding']['L'] + $table['border_details']['L']['w'] + $table['padding']['R'] + $table['border_details']['R']['w'] + $table['border_spacing_H']);
12198 $clw = $w - $table['border_spacing_H'];
12202 $this->tableBackgrounds[$level * 9 + 5][] = ['x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => $s, 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
12204 $this->tableBackgrounds[$level * 9 + 5][] = ['x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => '', 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
12219 $tbw = $w;
12224 $tby -= $halfspaceT + ($table['border_details']['T']['w'] / 2);
12225 $tbh += $halfspaceT + ($table['border_details']['T']['w'] / 2);
12230 $tbh += $halfspaceB + ($table['border_details']['B']['w'] / 2);
12235 $tbx -= $halfspaceL + ($table['border_details']['L']['w'] / 2);
12236 $tbw += $halfspaceL + ($table['border_details']['L']['w'] / 2);
12241 $tbw += $halfspaceR + ($table['border_details']['R']['w'] / 2);
12461 $this->saveHTMLHeader[$this->page][$OE]['ph'] = $this->w;
12467 $this->saveHTMLHeader[$this->page][$OE]['pw'] = $this->w;
12496 $this->saveHTMLFooter[$this->page][$OE]['ph'] = $this->w;
12504 $this->saveHTMLFooter[$this->page][$OE]['pw'] = $this->w;
13040 $cx1 = $this->w - $b;
13041 $dx = $this->w - $this->page_box['outer_width_LR'] + $m;
13056 $this->Line($this->w - $this->page_box['outer_width_LR'], $ay, $this->w - $this->page_box['outer_width_LR'], $by);
13057 $this->Line($this->w - $this->page_box['outer_width_LR'], $cy, $this->w - $this->page_box['outer_width_LR'], $dy);
13073 $w = 6 / 2; // shorter width of the cross line (half)
13077 $x2 = $this->w - $this->page_box['outer_width_LR'] + $m;
13082 $this->Line($x1 - $w, $this->h / 2, $x1 + $w, $this->h / 2);
13086 $this->Line($x2 - $w, $this->h / 2, $x2 + $w, $this->h / 2);
13089 $this->Circle($this->w / 2, $y1, $r, 'S');
13090 $this->Line($this->w / 2, $y1 - $w, $this->w / 2, $y1 + $w);
13091 $this->Line($this->w / 2 - $l, $y1, $this->w / 2 + $l, $y1);
13093 $this->Circle($this->w / 2, $y2, $r, 'S');
13094 $this->Line($this->w / 2, $y2 - $w, $this->w / 2, $y2 + $w);
13095 $this->Line($this->w / 2 - $l, $y2, $this->w / 2 + $l, $y2);
13572 $this->cell[$this->row][$this->col]['s'] += (isset($this->spanborddet['L']['w']) ? $this->spanborddet['L']['w'] : 0) + (isset($this->spanborddet['R']['w']) ? $this->spanborddet['R']['w'] : 0);
13756 $regexp = '| (\\w+?)=([^\\s>"]+)|si';
13908 function WriteFixedPosHTML($html, $x, $y, $w, $h, $overflow = 'visible', $bounding = [])
13916 // When used internally, $x $y $w $h and $overflow are all overridden by $bounding
13941 if ($w > $this->w) {
13943 $w = $this->w;
13949 if ($x > $this->w) {
13950 $x = $this->w - $w;
13962 // $x, $y, $w, $h are inside of $bbox_ = containing box for $inner_
14000 $cont_w = $this->w; // ABSOLUTE;
14154 $bbox_br = $this->blk[1]['border_right']['w'];
14155 $bbox_bl = $this->blk[1]['border_left']['w'];
14156 $bbox_bt = $this->blk[1]['border_top']['w'];
14157 $bbox_bb = $this->blk[1]['border_bottom']['w'];
14361 $w = $cont_w - $bbox_left - $bbox_ml - $bbox_bl - $bbox_pl - $bbox_pr - $bbox_br - $bbox_mr - $bbox_right;
14363 // Set (temporary) values for x y w h to do first paint, if values are auto
14373 $w = $cont_w - ($bbox_right + $bbox_ml + $bbox_mr + $bbox_bl + $bbox_br + $bbox_pl + $bbox_pr);
14376 $w = $cont_w - ($bbox_left + $bbox_ml + $bbox_mr + $bbox_bl + $bbox_br + $bbox_pl + $bbox_pr);
14390 $this->rMargin = $this->w - $w - $x;
14393 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
14402 $this->maxPosL = $this->w; // For RTL
14414 $w = $inner_w;
14422 $this->rMargin = $this->w - $w - $x;
14425 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
14472 $inner_w = $w;
14477 $this->rMargin = $this->w - $w - $x;
14480 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
14495 $use_w = $w;
14500 $target = $h / $w;
14506 $use_w += ($est_w - $use_w) - ($w / 100);
14518 $use_w += ($w / $this->incrementFPR1);
14520 $use_w += ($w / $this->incrementFPR2);
14522 $use_w += ($w / $this->incrementFPR3);
14524 $use_w += ($w / $this->incrementFPR4);
14528 $this->rMargin = $this->w - $use_w - $x;
14529 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
14541 $shrink_f = $w / $use_w;
14628 $this->writer->write(sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$ch * Mpdf::SCALE, $op));
14630 $tmp = "q\n" . sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$ch * Mpdf::SCALE, $op);
14670 $tmp = $lk[2]; // Switch h - w
14714 $f['w'] *= $shrink_f;
14757 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
14782 $blk['border_top']['w'] = 0;
14783 $blk['border_left']['w'] = 0;
14784 $blk['border_bottom']['w'] = 0;
14785 $blk['border_right']['w'] = 0;
14809 $refw = $this->w;
14814 return ['s' => 1, 'w' => $bsize, 'c' => $this->colorConverter->convert(0, $this->PDFAXwarnings), 'style' => 'solid'];
14816 return ['w' => 0, 's' => 0];
14852 return ['w' => 0, 's' => 0];
14876 return ['s' => $on, 'w' => $bsize, 'c' => $coul, 'style' => $prop[1], 'dom' => 0];
15326 $l_width = max($l_width, $f['w']);
15331 $r_width = max($r_width, $f['w']);
15368 $objattr['border_top']['w'] = 0;
15369 $objattr['border_bottom']['w'] = 0;
15370 $objattr['border_left']['w'] = 0;
15371 $objattr['border_right']['w'] = 0;
15377 $w = 0;
15386 if ($info['w'] == 0 && $info['h'] == 0) {
15393 if ($w == 0 and $h == 0) {
15399 $w = abs($info['w']) / (20 * Mpdf::SCALE);
15404 $w = abs($info['w']) / Mpdf::SCALE;
15408 $w = ($info['w'] / Mpdf::SCALE) * (72 / $this->img_dpi);
15414 if ($w == 0) {
15415 $w = abs($h * $info['w'] / $info['h']);
15418 $h = abs($w * $info['h'] / $info['w']);
15421 if ($w > $maxWidth) {
15422 $w = $maxWidth;
15423 $h = abs($w * $info['h'] / $info['w']);
15428 $w = abs($h * $info['w'] / $info['h']);
15435 $objattr['orig_w'] = $info['w'];
15449 $objattr['width'] = $w;
15451 $objattr['image_width'] = $w;
16008 $arrayaux[$i][16]['L']['w'] = 0;
16010 $arrayaux[$i - 1][16]['R']['w'] = 0;
16165 list($dummyx, $w) = $this->_tableGetWidth($table, $objattr['row'], $objattr['col']);
16166 $ntw = $this->table[($level + 1)][$objattr['nestedcontent']]['w']; // nested table width
16171 $br = $cell['border_details']['R']['w'];
16172 $bl = $cell['border_details']['L']['w'];
16175 $innerw = $w - $bl - $br - $cell['padding']['L'] - $cell['padding']['R'] - $table['border_spacing_H'];
16177 $innerw = $w - $bl / 2 - $br / 2 - $cell['padding']['L'] - $cell['padding']['R'];
16181 $innerw = $w - $table['simple']['border_details']['L']['w'] - $table['simple']['border_details']['R']['w'] - $cell['padding']['L'] - $cell['padding']['R'] - $table['border_spacing_H'];
16183 $innerw = $w - $table['simple']['border_details']['L']['w'] / 2 - $table['simple']['border_details']['R']['w'] / 2 - $cell['padding']['L'] - $cell['padding']['R'];
16207 $maxWidth = $this->divwidth - ($this->blk[$this->blklvl]['padding_left'] + $this->blk[$this->blklvl]['border_left']['w'] + $this->blk[$this->blklvl]['padding_right'] + $this->blk[$this->blklvl]['border_right']['w']);
16213 $maxWidth -= $this->floatmargins['R']['w'];
16216 $maxWidth -= $this->floatmargins['L']['w'];
16298 $fy += $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w'];
16302 $fx = $this->w - $this->rMargin - $objattr['width'] - ($this->blk[$this->blklvl]['outer_right_margin'] + $this->blk[$this->blklvl]['border_right']['w'] + $this->blk[$this->blklvl]['padding_right']);
16304 $fx = $this->lMargin + ($this->blk[$this->blklvl]['outer_left_margin'] + $this->blk[$this->blklvl]['border_left']['w'] + $this->blk[$this->blklvl]['padding_left']);
16306 $w = $objattr['width'];
16312 $extraWidth = ($objattr['border_left']['w'] + $objattr['border_right']['w'] + $objattr['margin_left'] + $objattr['margin_right']);
16313 $extraHeight = ($objattr['border_top']['w'] + $objattr['border_bottom']['w'] + $objattr['margin_top'] + $objattr['margin_bottom']);
16322 $img_w = $w - $extraWidth;
16324 if ($objattr['border_left']['w']) {
16325 $objattr['BORDER-WIDTH'] = $img_w + (($objattr['border_left']['w'] + $objattr['border_right']['w']) / 2);
16326 $objattr['BORDER-HEIGHT'] = $img_h + (($objattr['border_top']['w'] + $objattr['border_bottom']['w']) / 2);
16327 $objattr['BORDER-X'] = $fx + $objattr['margin_left'] + (($objattr['border_left']['w']) / 2);
16328 $objattr['BORDER-Y'] = $fy + $objattr['margin_top'] + (($objattr['border_top']['w']) / 2);
16332 $objattr['INNER-X'] = $fx + $objattr['margin_left'] + ($objattr['border_left']['w']);
16333 $objattr['INNER-Y'] = $fy + $objattr['margin_top'] + ($objattr['border_top']['w']);
16335 $objattr['OUTER-WIDTH'] = $w;
16348 if (($this->blk[$this->blklvl]['inner_width'] - $w - $this->floatmargins['L']['w']) < $mw) {
16352 $this->floatmargins['R']['w'] = $w;
16364 $this->floatmargins['R']['w'] = $w;
16384 if (($this->blk[$this->blklvl]['inner_width'] - $w - $this->floatmargins['R']['w']) < $mw) {
16387 $this->floatmargins['L']['x'] = $fx + $w;
16388 $this->floatmargins['L']['w'] = $w;
16399 $this->floatmargins['L']['x'] = $fx + $w;
16400 $this->floatmargins['L']['w'] = $w;
16424 $paint_ht_corr = $this->blk[$this->blklvl]['border_top']['w'];
16613 $this->SetLineWidth($b['w'] / $k);
16663 $w = $this->blk[$blvl]['width'];
16664 $x1 = $x0 + $w;
16667 $border_top = $this->blk[$blvl]['border_top']['w'];
16668 $border_bottom = $this->blk[$blvl]['border_bottom']['w'];
16669 $border_left = $this->blk[$blvl]['border_left']['w'];
16670 $border_right = $this->blk[$blvl]['border_right']['w'];
16762 $f = min($h / ($brTL_V + $brBL_V + 0.001), $h / ($brTR_V + $brBR_V + 0.001), $w / ($brTL_H + $brTR_H + 0.001), $w / ($brBL_H + $brBR_H + 0.001));
16787 $w = $this->blk[$blvl]['width'];
16814 $this->y = $y0 - $this->FontSize / 2 + $this->blk[$blvl]['border_top']['w'] / 2;
16815 $this->x = $x0 + $this->blk[$blvl]['padding_left'] + $this->blk[$blvl]['border_left']['w'];
16837 $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $border_top)) * Mpdf::SCALE));
16838 $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0)) * Mpdf::SCALE));
16853 $s .= ($this->_EllipseArc($x0 + $w - $brTR_H, $y0 + $brTR_V, $brTR_H - $border_top / 2, $brTR_V - $border_top / 2, 1, 2, true)) . "\n";
16856 $s .= (sprintf('%.3F %.3F m ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0 + ($border_top / 2))) * Mpdf::SCALE)) . "\n";
16858 $s .= (sprintf('%.3F %.3F m ', ($x0 + $w - ($border_top / 2)) * Mpdf::SCALE, ($this->h - ($y0 + ($border_top / 2))) * Mpdf::SCALE)) . "\n";
16864 if ($legbreakR < ($x0 + $w - $brTR_H)) {
16880 if ($legbreakR < ($x0 + $w)) {
16907 $this->SetLineWidth($tbd['w'] / 3);
16934 $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $h - $border_bottom)) * Mpdf::SCALE));
16935 $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE));
16958 $s .= (sprintf('%.3F %.3F l ', ($x0 + $w - ($border_bottom / 2) - $brBR_H ) * Mpdf::SCALE, ($this->h - ($y0 + $h - ($border_bottom / 2))) * Mpdf::SCALE)) . "\n";
16959 $s .= ($this->_EllipseArc($x0 + $w - $brBR_H, $y0 + $h - $brBR_V, $brBR_H - $border_bottom / 2, $brBR_V - $border_bottom / 2, 4, 1)) . "\n";
16962 $s .= (sprintf('%.3F %.3F l ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0 + $h - ($border_bottom / 2))) * Mpdf::SCALE)) . "\n";
16964 $s .= (sprintf('%.3F %.3F l ', ($x0 + $w - ($border_bottom / 2)) * Mpdf::SCALE, ($this->h - ($y0 + $h - ($border_bottom / 2))) * Mpdf::SCALE)) . "\n";
16971 $this->SetLineWidth($tbd['w'] / 3);
17035 $this->SetLineWidth($tbd['w'] / 3);
17057 $this->writer->write(sprintf('%.3F %.3F m ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0)) * Mpdf::SCALE));
17058 $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $border_top)) * Mpdf::SCALE));
17059 $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w - $border_right) * Mpdf::SCALE, ($this->h - ($y0 + $h - $border_bottom)) * Mpdf::SCALE));
17060 $this->writer->write(sprintf('%.3F %.3F l ', ($x0 + $w) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE));
17073 $s .= ($this->_EllipseArc($x0 + $w - $brBR_H, $y0 + $h - $brBR_V, $brBR_H - $border_right / 2, $brBR_V - $border_right / 2, 4, 2, true)) . "\n";
17076 $s .= (sprintf('%.3F %.3F m ', ($x0 + $w - ($border_right / 2)) * Mpdf::SCALE, ($this->h - ($y0 + $h)) * Mpdf::SCALE)) . "\n";
17078 $s .= (sprintf('%.3F %.3F m ', ($x0 + $w - ($border_right / 2)) * Mpdf::SCALE, ($this->h - ($y0 + $h - ($border_right / 2))) * Mpdf::SCALE)) . "\n";
17083 $s .= (sprintf('%.3F %.3F l ', ($x0 + $w - ($border_right / 2)) * Mpdf::SCALE, ($this->h - ($y0 + ($border_right / 2) + $brTR_V) ) * Mpdf::SCALE)) . "\n";
17084 $s .= ($this->_EllipseArc($x0 + $w - $brTR_H, $y0 + $brTR_V, $brTR_H - $border_right / 2, $brTR_V - $border_right / 2, 1, 1)) . "\n";
17087 $s .= (sprintf('%.3F %.3F l ', ($x0 + $w - ($border_right / 2)) * Mpdf::SCALE, ($this->h - ($y0) ) * Mpdf::SCALE)) . "\n";
17089 $s .= (sprintf('%.3F %.3F l ', ($x0 + $w - ($border_right / 2)) * Mpdf::SCALE, ($this->h - ($y0 + ($border_right / 2)) ) * Mpdf::SCALE)) . "\n";
17096 $this->SetLineWidth($tbd['w'] / 3);
17131 $brbgTL_H = max(0, $brTL_H - $this->blk[$blvl]['border_left']['w']);
17132 $brbgTL_V = max(0, $brTL_V - $this->blk[$blvl]['border_top']['w']);
17133 $brbgTR_H = max(0, $brTR_H - $this->blk[$blvl]['border_right']['w']);
17134 $brbgTR_V = max(0, $brTR_V - $this->blk[$blvl]['border_top']['w']);
17135 $brbgBL_H = max(0, $brBL_H - $this->blk[$blvl]['border_left']['w']);
17136 $brbgBL_V = max(0, $brBL_V - $this->blk[$blvl]['border_bottom']['w']);
17137 $brbgBR_H = max(0, $brBR_H - $this->blk[$blvl]['border_right']['w']);
17138 $brbgBR_V = max(0, $brBR_V - $this->blk[$blvl]['border_bottom']['w']);
17139 $bgx0 += $this->blk[$blvl]['border_left']['w'];
17140 $bgx1 -= $this->blk[$blvl]['border_right']['w'];
17142 $bgy0 += $this->blk[$blvl]['border_top']['w'];
17145 $bgy1 -= $this->blk[$blvl]['border_bottom']['w'];
17148 $brbgTL_H = max(0, $brTL_H - $this->blk[$blvl]['border_left']['w'] - $this->blk[$blvl]['padding_left']);
17149 $brbgTL_V = max(0, $brTL_V - $this->blk[$blvl]['border_top']['w'] - $this->blk[$blvl]['padding_top']);
17150 $brbgTR_H = max(0, $brTR_H - $this->blk[$blvl]['border_right']['w'] - $this->blk[$blvl]['padding_right']);
17151 $brbgTR_V = max(0, $brTR_V - $this->blk[$blvl]['border_top']['w'] - $this->blk[$blvl]['padding_top']);
17152 $brbgBL_H = max(0, $brBL_H - $this->blk[$blvl]['border_left']['w'] - $this->blk[$blvl]['padding_left']);
17153 $brbgBL_V = max(0, $brBL_V - $this->blk[$blvl]['border_bottom']['w'] - $this->blk[$blvl]['padding_bottom']);
17154 $brbgBR_H = max(0, $brBR_H - $this->blk[$blvl]['border_right']['w'] - $this->blk[$blvl]['padding_right']);
17155 $brbgBR_V = max(0, $brBR_V - $this->blk[$blvl]['border_bottom']['w'] - $this->blk[$blvl]['padding_bottom']);
17156 $bgx0 += $this->blk[$blvl]['border_left']['w'] + $this->blk[$blvl]['padding_left'];
17157 $bgx1 -= $this->blk[$blvl]['border_right']['w'] + $this->blk[$blvl]['padding_right'];
17158 if (($this->blk[$blvl]['border_top']['w'] || $this->blk[$blvl]['padding_top']) && $divider != 'pagetop' && !$continuingpage) {
17159 $bgy0 += $this->blk[$blvl]['border_top']['w'] + $this->blk[$blvl]['padding_top'];
17161 if (($this->blk[$blvl]['border_bottom']['w'] || $this->blk[$blvl]['padding_bottom']) && $blockstate != 1 && $divider != 'pagebottom') {
17162 $bgy1 -= $this->blk[$blvl]['border_bottom']['w'] + $this->blk[$blvl]['padding_bottom'];
17176 $s = ' q 0 w '; // Line width=0
17235 $shadow .= sprintf('0 %.3F m %.3F %.3F l ', $this->h * Mpdf::SCALE, $this->w * Mpdf::SCALE, $this->h * Mpdf::SCALE);
17236 $shadow .= sprintf('%.3F 0 l 0 0 l 0 %.3F l ', $this->w * Mpdf::SCALE, $this->h * Mpdf::SCALE);
17242 if (-$sh['spread'] + $sh['blur'] / 2 > min($w / 2, $h / 2)) {
17243 $sh['spread'] = $sh['blur'] / 2 - min($w / 2, $h / 2) + 0.01;
17251 $shadow .= ' q 0 w ';
17269 $w00 = $w + $d1 * 2;
17274 if (max($brbgTR_H, $brbgTL_H, $brbgBR_H, $brbgBL_H) >= $w + $d2) {
17553 'w' => $w,
17565 'w' => 0,
17586 'w' => $w,
17608 $gx += $this->blk[$blvl]['border_left']['w'];
17609 $w -= ($this->blk[$blvl]['border_left']['w'] + $this->blk[$blvl]['border_right']['w']);
17611 $gy += $this->blk[$blvl]['border_top']['w'];
17614 $gy1 = $y1 - $this->blk[$blvl]['border_bottom']['w'];
17620 $gx += $this->blk[$blvl]['border_left']['w'] + $this->blk[$blvl]['padding_left'];
17621 $w -= ($this->blk[$blvl]['border_left']['w'] + $this->blk[$blvl]['padding_left'] + $this->blk[$blvl]['border_right']['w'] + $this->blk[$blvl]['padding_right']);
17623 $gy += $this->blk[$blvl]['border_top']['w'] + $this->blk[$blvl]['padding_top'];
17626 $gy1 = $y1 - ($this->blk[$blvl]['border_bottom']['w'] + $this->blk[$blvl]['padding_bottom']);
17633 if (isset($this->blk[$blvl]['background-image']['size']['w']) && $this->blk[$blvl]['background-image']['size']['w']) {
17635 if ($size['w'] != 'contain' && $size['w'] != 'cover') {
17636 if (stristr($size['w'], '%')) {
17637 $size['w'] = (float) $size['w'];
17638 $size['w'] /= 100;
17639 $w *= $size['w'];
17640 } elseif ($size['w'] != 'auto') {
17641 $w = $size['w'];
17656 'w' => $w,
17684 $bpa = ['x' => $x0, 'y' => $y0, 'w' => $w, 'h' => $h];
17688 $bpa['x'] = $x0 + $this->blk[$blvl]['border_left']['w'];
17689 $bpa['w'] = $w - ($this->blk[$blvl]['border_left']['w'] + $this->blk[$blvl]['border_right']['w']);
17691 $bpa['y'] = $y0 + $this->blk[$blvl]['border_top']['w'];
17696 $bpay = $y1 - $this->blk[$blvl]['border_bottom']['w'];
17704 $bpa['x'] = $x0 + $this->blk[$blvl]['border_left']['w'] + $this->blk[$blvl]['padding_left'];
17705 $bpa['w'] = $w - ($this->blk[$blvl]['border_left']['w'] + $this->blk[$blvl]['padding_left'] + $this->blk[$blvl]['border_right']['w'] + $this->blk[$blvl]['padding_right']);
17707 $bpa['y'] = $y0 + $this->blk[$blvl]['border_top']['w'] + $this->blk[$blvl]['padding_top'];
17712 $bpay = $y1 - ($this->blk[$blvl]['border_bottom']['w'] + $this->blk[$blvl]['padding_bottom']);
17723 'w' => $w,
17829 $w = $this->blk[$blvl]['width'];
17832 $x1 = $this->x + $w; // bottom
17840 $this->y = $y0 + ($tbd['w'] / 2);
17843 $this->Line($x0 + ($tbd['w'] / 2), $this->y, $x0 + $w - ($tbd['w'] / 2), $this->y);
17847 $this->Line($x0, $this->y, $x0 + $w, $this->y);
17849 $this->y += $tbd['w'];
17861 $this->y = $y0 + ($tbd['w'] / 2);
17863 $this->Line($x0 + ($tbd['w'] / 2), $this->y, $x0 + ($tbd['w'] / 2), $y0 + $h - ($tbd['w'] / 2));
17868 $this->Line($x0 + ($tbd['w'] / 2), $this->y, $x0 + ($tbd['w'] / 2), $y0 + $h);
17870 $this->y += $tbd['w'];
17882 $this->y = $y0 + ($tbd['w'] / 2);
17884 $this->Line($x0 + $w - ($tbd['w'] / 2), $this->y, $x0 + $w - ($tbd['w'] / 2), $y0 + $h - ($tbd['w'] / 2));
17889 $this->Line($x0 + $w - ($tbd['w'] / 2), $this->y, $x0 + $w - ($tbd['w'] / 2), $y0 + $h);
17891 $this->y += $tbd['w'];
17902 $this->y = $y0 + $h - ($tbd['w'] / 2);
17905 $this->Line($x0 + ($tbd['w'] / 2), $this->y, $x0 + $w - ($tbd['w'] / 2), $this->y);
17909 $this->Line($x0, $this->y, $x0 + $w, $this->y);
17911 $this->y += $tbd['w'];
17934 $w = (isset($objattr['BORDER-WIDTH']) ? $objattr['BORDER-WIDTH'] : 0);
17946 $this->Line($x0, $y0, $x0 + $w, $y0);
17974 $this->Line($x0 + $w, $y0, $x0 + $w, $y0 + $h);
17988 $this->Line($x0, $y0 + $h, $x0 + $w, $y0 + $h);
18080 $regexp = '/ (\\w+?)=([^\\s>"]+)/si';
18865 $w = $this->sizeConverter->convert($v, $this->FontSize, $this->FontSize);
18866 if ($w) {
18867 $this->textparam['outline-WIDTH'] = $w;
19113 $lbw = (isset($this->spanborddet['L']['w']) ? $this->spanborddet['L']['w'] : 0);
19114 $rbw = (isset($this->spanborddet['R']['w']) ? $this->spanborddet['R']['w'] : 0);
19302 $table['border_details']['T']['w'] /= $k;
19303 $table['border_details']['R']['w'] /= $k;
19304 $table['border_details']['B']['w'] /= $k;
19305 $table['border_details']['L']['w'] /= $k;
19321 $table['simple']['border_details']['T']['w'] /= $k;
19322 $table['simple']['border_details']['R']['w'] /= $k;
19323 $table['simple']['border_details']['B']['w'] /= $k;
19324 $table['simple']['border_details']['L']['w'] /= $k;
19362 $cell['border_details']['T']['w'] /= $k;
19363 $cell['border_details']['R']['w'] /= $k;
19364 $cell['border_details']['B']['w'] /= $k;
19365 $cell['border_details']['L']['w'] /= $k;
19379 $c['border_details']['T']['w'] /= $k;
19380 $c['border_details']['R']['w'] /= $k;
19381 $c['border_details']['B']['w'] /= $k;
19382 $c['border_details']['L']['w'] /= $k;
19400 $c['w'] = isset($c['w']) ? $c['w'] /= $k : null;
19416 !isset($c['textbuffer'][$n][16]['T']) || $c['textbuffer'][$n][16]['T']['w'] /= $k;
19417 !isset($c['textbuffer'][$n][16]['B']) || $c['textbuffer'][$n][16]['B']['w'] /= $k;
19418 !isset($c['textbuffer'][$n][16]['L']) || $c['textbuffer'][$n][16]['L']['w'] /= $k;
19419 !isset($c['textbuffer'][$n][16]['R']) || $c['textbuffer'][$n][16]['R']['w'] /= $k;
19451 $bindata = pack("nnda6A10nnda6A10nnda6A10nnda6A10nd9", $cell['border'], $cell['border_details']['R']['s'], $cell['border_details']['R']['w'], $cell['border_details']['R']['c'], $cell['border_details']['R']['style'], $cell['border_details']['R']['dom'], $cell['border_details']['L']['s'], $cell['border_details']['L']['w'], $cell['border_details']['L']['c'], $cell['border_details']['L']['style'], $cell['border_details']['L']['dom'], $cell['border_details']['T']['s'], $cell['border_details']['T']['w'], $cell['border_details']['T']['c'], $cell['border_details']['T']['style'], $cell['border_details']['T']['dom'], $cell['border_details']['B']['s'], $cell['border_details']['B']['w'], $cell['border_details']['B']['c'], $cell['border_details']['B']['style'], $cell['border_details']['B']['dom'], $cell['border_details']['mbw']['BL'], $cell['border_details']['mbw']['BR'], $cell['border_details']['mbw']['RT'], $cell['border_details']['mbw']['RB'], $cell['border_details']['mbw']['TL'], $cell['border_details']['mbw']['TR'], $cell['border_details']['mbw']['LT'], $cell['border_details']['mbw']['LB'], (isset($cell['border_details']['cellposdom']) ? $cell['border_details']['cellposdom'] : 0));
19461 return [$bindata['border_details']['T']['w'], $bindata['border_details']['R']['w'], $bindata['border_details']['B']['w'], $bindata['border_details']['L']['w']];
19465 $cell['border_details']['R']['w'] = $bd['rw'];
19466 $cell['border_details']['L']['w'] = $bd['lw'];
19467 $cell['border_details']['T']['w'] = $bd['tw'];
19468 $cell['border_details']['B']['w'] = $bd['bw'];
19485 $cell['border_details']['R']['w'] = $bd['rw'];
19491 $cell['border_details']['L']['w'] = $bd['lw'];
19497 $cell['border_details']['T']['w'] = $bd['tw'];
19503 $cell['border_details']['B']['w'] = $bd['bw'];
19525 // table Array of (w, h, bc, nr, wc, hr, cells)
19526 // w Width of table
19542 $tblbw = $table['border_details']['L']['w'] + $table['border_details']['R']['w'] + $table['margin']['L'] + $table['margin']['R'] + $table['padding']['L'] + $table['padding']['R'] + $table['border_spacing_H'];
19558 $extrcw = $table['simple']['border_details']['L']['w'] + $table['simple']['border_details']['R']['w'] + $c['padding']['L'] + $c['padding']['R'] + $table['border_spacing_H'];
19560 $extrcw = $table['simple']['border_details']['L']['w'] / 2 + $table['simple']['border_details']['R']['w'] / 2 + $c['padding']['L'] + $c['padding']['R'];
19566 $br = $c['border_details']['R']['w'];
19567 $bl = $c['border_details']['L']['w'];
19586 if (isset($c['w'])) { // If cell width is specified
19587 if ($c['miw'] < $c['w']) {
19588 $c['miw'] = $c['w'];
19666 if (isset($table['w']) && $table['w']) {
19667 $c['w'] = $c['wpercent'] / 100 * ($table['w'] - $tblbw );
19674 if (isset($c['w']) && ($c['w'] + $tblbw) > $this->blk[$this->blklvl]['inner_width']) {
19675 $c['w'] = $this->blk[$this->blklvl]['inner_width'] - $tblbw;
19680 if (isset($c['w'])) { // If cell width is specified
19681 if ($miw < $c['w']) {
19682 $c['miw'] = $c['w'];
19684 if ($miw > $c['w']) {
19685 $c['miw'] = $c['w'] = $miw;
19690 if (!isset($wc['w'])) {
19691 $wc['w'] = 1;
19695 $c['maw'] = $c['w'];
19781 if (!isset($c['w'])) {
19802 if (!isset($wc[$k]['w']) || !$wc[$k]['w']) {
19840 if (!isset($table['w']) && $firstpass) {
19856 (!isset($table['wc'][$i]['w']) || !$table['wc'][$i]['w'])) {
19883 if (!isset($table['wc'][$i]['w'])) {
19908 $table['wc'][$i]['w'] = 1;
19909 } elseif ($miwsurplusnonpc && !$table['wc'][$i]['w']) {
19927 $table['wc'][$i]['w'] = 1;
19928 } elseif ($mawsurplusnonpc && !$table['wc'][$i]['w']) {
19974 $table['w'] = $table['miw'];
19979 if (isset($table['w']) && $table['w']) {
19981 if ($table['w'] >= $checkminwidth && $table['w'] <= $mxw) {
19982 $table['maw'] = $mxw = $table['w'];
19983 } elseif ($table['w'] >= $checkminwidth && $table['w'] > $mxw && $this->keep_table_proportions) {
19984 $checkminwidth = $table['w'];
19985 } elseif ($table['w'] < $checkminwidth && $checkminwidth < $mxw && $this->keep_table_proportions) {
19986 $table['maw'] = $table['w'] = $checkminwidth;
19988 unset($table['w']);
20010 $tblbw = $table['border_details']['L']['w'] + $table['border_details']['R']['w'] + $table['margin']['L'] + $table['margin']['R'] + $table['padding']['L'] + $table['padding']['R'] + $table['border_spacing_H'];
20015 if ($table['level'] > 1 && isset($table['w'])) {
20018 $table['w'] = $temppgwidth = (($table['w'] - $tblbw) * $table['wpercent'] / 100) + $tblbw;
20020 $temppgwidth = $table['w'];
20028 $enddiv = $this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w'];
20036 if (isset($table['w']) && $table['w'] < $this->blk[$this->blklvl]['inner_width']) {
20038 $temppgwidth = $table['w'];
20041 } elseif ($table['overflow'] == 'hidden' && !$this->ColActive && isset($table['w']) && $table['w'] > $this->blk[$this->blklvl]['inner_width'] && $table['w'] == $table) {
20043 $temppgwidth = $table['w'];
20058 } elseif (isset($widthcols[$i]['w'])) {
20073 $table['w'] = $temppgwidth;
20074 } elseif ($tablewidth < $temppgwidth && !isset($table['w']) && $percentages_set) { // if any widths set as percentages and max width fits < page width
20075 $table['w'] = $table['maw'];
20079 if (isset($table['w']) && $table['w'] > $temppgwidth) {
20080 $table['w'] = $temppgwidth;
20086 if (isset($table['w']) && ($table['w'] == $tablewidth) && !$percentages_set) {
20093 } elseif (isset($table['w'])) { // elseif the table width is set distribute width using algorithm
20101 if (!isset($widthcols[$i]['w']) || ($widthcols[$i]['w'] && $table['w'] > $temppgwidth && !$this->keep_table_proportions && !$notfullwidth )) {
20114 if ($table['w'] > $wis + $tblbw) {
20117 if ($table['w'] < $temppgwidth || $this->keep_table_proportions) {
20121 $widthcols[$k]['miw'] = ($table['w'] - $tblbw) * $widthcols[$k]['wpercent'] / 100;
20134 $wi = ($table['w'] - ($wis + $tblbw)); // i.e. extra space to distribute
20153 $wi = ($table['w'] - ($wis + $tblbw)); // i.e. extra space to distribute
20213 if ((isset($widthcols[$i]) && $widthcols[$i] > (($temppgwidth - $tblbw) / $numcols)) && (!isset($widthcols[$i]['w']))) {
20230 $table['w'] = $tablewidth;
20236 } elseif (isset($widthcols[$i]['w'])) {
20261 $w = 0;
20264 $w += $widthcols[$c];
20267 if ($w > $this->blk[$this->blklvl]['inner_width']) {
20268 $diff = $w - ($this->blk[$this->blklvl]['inner_width'] - $tblbw);
20270 $widthcols[$c] -= $diff * ($widthcols[$c] / $w);
20272 $table['w'] -= $diff;
20273 $table['csp'][$j] = $w - $diff;
20287 $w = $table['csp'][$i];
20290 $w = $widthcols[$i];
20293 if (($currWc + $w + $tblbw) > $this->blk[$this->blklvl]['inner_width']) {
20330 $enddiv = $this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w'] + $table['margin']['B'];
20357 $extraWLR = ($table['simple']['border_details']['L']['w'] + $table['simple']['border_details']['R']['w']) + ($c['padding']['L'] + $c['padding']['R']) + $table['border_spacing_H'];
20358 $extrh = ($table['simple']['border_details']['T']['w'] + $table['simple']['border_details']['B']['w']) + ($c['padding']['T'] + $c['padding']['B']) + $table['border_spacing_V'];
20360 $extraWLR = ($table['simple']['border_details']['L']['w'] + $table['simple']['border_details']['R']['w']) / 2 + ($c['padding']['L'] + $c['padding']['R']);
20361 $extrh = ($table['simple']['border_details']['T']['w'] + $table['simple']['border_details']['B']['w']) / 2 + ($c['padding']['T'] + $c['padding']['B']);
20367 $bt = $c['border_details']['T']['w'];
20368 $bb = $c['border_details']['B']['w'];
20369 $br = $c['border_details']['R']['w'];
20370 $bl = $c['border_details']['L']['w'];
20436 $extra = $table['margin']['B'] + $table['padding']['B'] + $table['border_details']['B']['w'] + $table['border_spacing_V'] / 2;
20444 $extra = $table['simple']['border_details']['B']['w'] / 2;
20500 $extra = $table['margin']['B'] + $table['padding']['B'] + $table['border_details']['B']['w'] + $table['border_spacing_V'] / 2;
20509 $bb = $c['border_details']['B']['w'];
20513 $extra = $table['simple']['border_details']['B']['w'] / 2;
20630 $table['h'] += $table['margin']['T'] + $table['margin']['B'] + $table['border_details']['T']['w'] + $table['border_details']['B']['w'] + $table['border_spacing_V'] + $table['padding']['T'] + $table['padding']['B'];
20652 $w = $widthcols[$j];
20655 $w += $widthcols[$k];
20659 $cell['w0'] = $w;
20660 return [$x, $w];
20680 $w = $widthcols[$j];
20684 $w += $widthcols[$k];
20689 $cell['w0'] = $w;
20690 return [$x, $w];
20751 function _tableRect($x, $y, $w, $h, $bord = -1, $details = [], $buffer = false, $bSeparate = false, $cort = 'cell', $tablecorner = '', $bsv = 0, $bsh = 0)
20756 $this->Rect($x, $y, $w, $h);
20758 $this->SetLineWidth($details['L']['w']);
20765 $this->Rect($x, $y, $w, $h);
20774 if (isset($details[$side]['w'])) {
20775 $dom += ($details[$side]['w'] * 100000);
20815 $this->cellBorderBuffer[] = pack("A16nCnda6A10d14", str_pad(sprintf("%08.7f", $dom), 16, "0", STR_PAD_LEFT), $cbord, ord($side), $details[$side]['s'], $details[$side]['w'], $details[$side]['c'], $details[$side]['style'], $x, $y, $w, $h, $details['mbw']['BL'], $details['mbw']['BR'], $details['mbw']['RT'], $details['mbw']['RB'], $details['mbw']['TL'], $details['mbw']['TR'], $details['mbw']['LT'], $details['mbw']['LB'], $details['cellposdom'], 0);
20818 $this->cellBorderBuffer[] = pack("A16nCnda6A10d14", str_pad(sprintf("%08.7f", ($dom + 4)), 16, "0", STR_PAD_LEFT), $cbord, ord($side), $details[$side]['s'], $details[$side]['w'], $details[$side]['c'], $details[$side]['style'], $x, $y, $w, $h, $details['mbw']['BL'], $details['mbw']['BR'], $details['mbw']['RT'], $details['mbw']['RB'], $details['mbw']['TL'], $details['mbw']['TR'], $details['mbw']['LT'], $details['mbw']['LB'], $details['cellposdom'], 1);
20834 if (isset($details['T']['w'])) {
20835 $Tw = $details['T']['w'];
20837 if (isset($details['R']['w'])) {
20838 $Rw = $details['R']['w'];
20840 if (isset($details['B']['w'])) {
20841 $Bw = $details['B']['w'];
20843 if (isset($details['L']['w'])) {
20844 $Lw = $details['L']['w'];
20847 $x2 = $x + $w;
21303 if ($tableb && $tableb['w'] > $cbdb['w']) {
21306 } elseif ($tableb && $tableb['w'] == $cbdb['w'] && array_search($tableb['style'], $this->borderstyles) > array_search($cbdb['style'], $this->borderstyles)) {
21315 if (!$table['borders_separate'] && $table['border_details']['L']['w']) {
21316 $table['max_cell_border_width']['L'] = $table['border_details']['L']['w'];
21318 if (!$table['borders_separate'] && $table['border_details']['R']['w']) {
21319 $table['max_cell_border_width']['R'] = $table['border_details']['R']['w'];
21321 if (!$table['borders_separate'] && $table['border_details']['T']['w']) {
21322 $table['max_cell_border_width']['T'] = $table['border_details']['T']['w'];
21324 if (!$table['borders_separate'] && $table['border_details']['B']['w']) {
21325 $table['max_cell_border_width']['B'] = $table['border_details']['B']['w'];
21467 $csadj = $celladj['border_details']['T']['w'];
21468 $csthis = $cbord['border_details']['B']['w'];
21560 $csadj = $celladj['border_details']['L']['w'];
21561 $csthis = $cbord['border_details']['R']['w'];
21630 $cbord['border_details']['mbw']['BL'] = max($cbord['border_details']['mbw']['BL'], $cbord['border_details']['L']['w']);
21631 $cbord['border_details']['mbw']['BR'] = max($cbord['border_details']['mbw']['BR'], $cbord['border_details']['R']['w']);
21632 $cbord['border_details']['mbw']['RT'] = max($cbord['border_details']['mbw']['RT'], $cbord['border_details']['T']['w']);
21633 $cbord['border_details']['mbw']['RB'] = max($cbord['border_details']['mbw']['RB'], $cbord['border_details']['B']['w']);
21634 $cbord['border_details']['mbw']['TL'] = max($cbord['border_details']['mbw']['TL'], $cbord['border_details']['L']['w']);
21635 $cbord['border_details']['mbw']['TR'] = max($cbord['border_details']['mbw']['TR'], $cbord['border_details']['R']['w']);
21636 $cbord['border_details']['mbw']['LT'] = max($cbord['border_details']['mbw']['LT'], $cbord['border_details']['T']['w']);
21637 $cbord['border_details']['mbw']['LB'] = max($cbord['border_details']['mbw']['LB'], $cbord['border_details']['B']['w']);
21650 $celladj ? $celladj['border_details']['L']['w'] : 0,
21656 $celladj ? $celladj['border_details']['R']['w'] : 0,
21684 $celladj ? $celladj['border_details']['T']['w'] : 0,
21690 $celladj ? $celladj['border_details']['B']['w'] : 0,
21718 $celladj ? $celladj['border_details']['L']['w'] : 0,
21724 $celladj ? $celladj['border_details']['R']['w'] : 0,
21763 $celladj ? $celladj['border_details']['T']['w'] : 0,
21769 $celladj ? $celladj['border_details']['B']['w'] : 0,
21800 if ($j == 0 && $cbord['border_details']['L']['w']) {
21801 $table['max_cell_border_width']['L'] = max($table['max_cell_border_width']['L'], $cbord['border_details']['L']['w']);
21803 if (($j == ($numcols - 1) || ($j + $ccolsp) == $numcols ) && $cbord['border_details']['R']['w']) {
21804 $table['max_cell_border_width']['R'] = max($table['max_cell_border_width']['R'], $cbord['border_details']['R']['w']);
21806 if ($i == 0 && $cbord['border_details']['T']['w']) {
21807 $table['max_cell_border_width']['T'] = max($table['max_cell_border_width']['T'], $cbord['border_details']['T']['w']);
21809 if (($i == ($numrows - 1) || ($i + $crowsp) == $numrows ) && $cbord['border_details']['B']['w']) {
21810 $table['max_cell_border_width']['B'] = max($table['max_cell_border_width']['B'], $cbord['border_details']['B']['w']);
21896 $adv = $table['padding']['T'] + $table['border_details']['T']['w'] + $table['border_spacing_V'] / 2;
21909 $this->x = $this->lMargin + $this->blk[$this->blklvl]['outer_left_margin'] + $this->blk[$this->blklvl]['padding_left'] + $this->blk[$this->blklvl]['border_left']['w'];
21919 $right = $x0 + $table['w'];
21928 $this->tbrot_w = $table['w'];
21930 $this->tbrot_h = $table['margin']['T'] + $table['padding']['T'] + $table['border_details']['T']['w'] + $table['border_spacing_V'] / 2;
21939 if (isset($table['a']) and ( $table['w'] < $this->blk[$this->blklvl]['inner_width'])) {
21941 $x0 += ((($right - $x0) - $table['w']) / 2);
21943 $x0 = $right - $table['w'];
21947 $temppgwidth = $table['w'];
21963 $indent = $table['margin']['L'] + $table['border_details']['L']['w'] + $table['padding']['L'] + $table['border_spacing_H'] / 2;
22005 list($x, $w) = $this->_splitTableGetWidth($table, $i, $j);
22008 list($x, $w) = $this->_tableGetWidth($table, $i, $j);
22019 $tablefooter[$i][$js]['w'] = $w;
22111 list($x, $w) = $this->_splitTableGetWidth($table, $i, $j);
22113 list($x, $w) = $this->_tableGetWidth($table, $i, $j);
22123 $extra = $table['padding']['B'] + $table['border_details']['B']['w'] + $table['border_spacing_V'] / 2;
22124 // $extra = $table['margin']['B'] + $table['padding']['B'] + $table['border_details']['B']['w'] + $table['border_spacing_V']/2;
22173 $adv += ($table['padding']['B'] + $table['border_details']['B']['w']);
22188 $bb = $cells[$brow][$ctj]['border_details']['B']['w'];
22203 $bt = $cells[$trow][$ctj]['border_details']['T']['w'];
22210 $maxbwtop = $table['simple']['border_details']['T']['w'];
22211 $maxbwbottom = $table['simple']['border_details']['B']['w'];
22231 $bx -= ($table['padding']['L'] + $table['border_details']['L']['w'] + $table['border_spacing_H'] / 2);
22238 $by -= ($table['padding']['T'] + $table['border_details']['T']['w'] + $table['border_spacing_V'] / 2);
22261 $bw += $table['padding']['L'] + $table['border_details']['L']['w'] + $table['border_spacing_H'];
22263 $bx += ($table['padding']['L'] + $table['border_details']['L']['w']);
22267 $bw += $table['padding']['R'] + $table['border_details']['R']['w'] / 2 + $table['border_spacing_H'];
22271 $bw = $table['w'] - ($table['max_cell_border_width']['L'] / 2) - ($table['max_cell_border_width']['R'] / 2) - $table['margin']['L'] - $table['margin']['R'];
22274 if ($this->splitTableBorderWidth && ($this->keepColumns || !$this->ColActive) && empty($tablefooter) && $i > 0 && $table['border_details']['B']['w']) {
22302 $this->tableBackgrounds[$level * 9][] = ['gradient' => false, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'col' => $color];
22310 $this->tableBackgrounds[$level * 9 + 1][] = ['gradient' => true, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
22318 $this->tableBackgrounds[$level * 9 + 1][] = ['gradient' => true, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
22331 $this->tableBackgrounds[$level * 9 + 2][] = ['x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => '', 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
22378 if ($this->splitTableBorderWidth && ($this->keepColumns || !$this->ColActive) && empty($tableheader) && $i > 0 && $table['border_details']['T']['w']) {
22407 $bt = $cells[$i][$ctj]['border_details']['T']['w'];
22411 $maxbwtop = max($maxbwtop, $table['simple']['border_details']['T']['w']);
22422 $this->tbrot_x0 = $this->lMargin + $this->blk[$this->blklvl]['outer_left_margin'] + $this->blk[$this->blklvl]['padding_left'] + $this->blk[$this->blklvl]['border_left']['w'];
22424 $this->tbrot_h = $table['margin']['T'] + $table['padding']['T'] + $table['border_details']['T']['w'] + $table['border_spacing_V'] / 2;
22449 $adv = $table['border_spacing_V'] / 2 + $table['border_details']['T']['w'] + $table['padding']['T'];
22533 $adv = $table['margin']['B'] + $table['padding']['B'] + $table['border_details']['B']['w'] + $table['border_spacing_V'] / 2;
22574 $yadj += $table['padding']['T'] + $table['border_details']['T']['w'];
22575 $hadj += $table['padding']['T'] + $table['border_details']['T']['w'];
22578 $xadj += $table['padding']['L'] + $table['border_details']['L']['w'];
22579 $wadj += $table['padding']['L'] + $table['border_details']['L']['w'];
22582 $hadj += $table['padding']['B'] + $table['border_details']['B']['w'];
22585 $wadj += $table['padding']['R'] + $table['border_details']['R']['w'];
22588 $this->Rect($x - $xadj, $y - $yadj, $w + $wadj, $h + $hadj, 'F');
22634 $this->Rect($x + ($table['border_spacing_H'] / 2), $y + ($table['border_spacing_V'] / 2), $w - $table['border_spacing_H'], $h - $table['border_spacing_V'], 'F');
22636 $this->tableBackgrounds[$level * 9 + $leveladj][] = ['gradient' => false, 'x' => ($x + ($table['border_spacing_H'] / 2)), 'y' => ($y + ($table['border_spacing_V'] / 2)), 'w' => ($w - $table['border_spacing_H']), 'h' => ($h - $table['border_spacing_V']), 'col' => $color];
22641 $this->Rect($x, $y, $w, $h, 'F');
22643 $this->tableBackgrounds[$level * 9 + $leveladj][] = ['gradient' => false, 'x' => $x, 'y' => $y, 'w' => $w, 'h' => $h, 'col' => $color];
22656 $pw = $w - $table['border_spacing_H'];
22661 $pw = $w;
22667 $this->tableBackgrounds[$level * 9 + 7][] = ['gradient' => true, 'x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
22679 $pw = $w - $table['border_spacing_H'];
22684 $pw = $w;
22690 $this->tableBackgrounds[$level * 9 + 7][] = ['gradient' => true, 'x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
22698 $pw = $w - $table['border_spacing_H'];
22703 $pw = $w;
22708 $this->patterns[$n] = ['x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'pgh' => $this->h, 'image_id' => $cell['background-image']['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $cell['background-image']['x_pos'], 'y_pos' => $cell['background-image']['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat];
22726 $this->tableBackgrounds[$level * 9 + 8][] = ['x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => '', 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
22748 $bord_det['T']['w'] /= $this->shrin_k;
22753 $bord_det['T']['w'] /= $this->shrin_k;
22771 $tableheader[$i][$j]['w'] = $w;
22813 $this->_tableRect($x + ($table['border_spacing_H'] / 2) + ($bord_det['L']['w'] / 2), $y + ($table['border_spacing_V'] / 2) + ($bord_det['T']['w'] / 2), $w - $table['border_spacing_H'] - ($bord_det['L']['w'] / 2) - ($bord_det['R']['w'] / 2), $h - $table['border_spacing_V'] - ($bord_det['T']['w'] / 2) - ($bord_det['B']['w'] / 2), $bord, $bord_det, false, $table['borders_separate']);
22815 $this->_tableRect($x, $y, $w, $h, $bord, $bord_det, true, $table['borders_separate']); // true causes buffer
22832 $this->divwidth = $w;
22887 $this->x += ($w) + ($offset) - ($cellFontHeight / 3) - ($cell['padding']['R'] + ($table['border_spacing_H'] / 2));
22889 $this->x += ($w / 2) + ($offset);
22938 $btlw = $bord_det['L']['w'];
22939 $btrw = $bord_det['R']['w'];
22940 $bttw = $bord_det['T']['w'];
22957 $xadj = $table['simple']['border_details']['L']['w'] + $cell['padding']['L'] + ($table['border_spacing_H'] / 2);
22958 $wadj = $table['simple']['border_details']['L']['w'] + $table['simple']['border_details']['R']['w'] + $cell['padding']['L'] + $cell['padding']['R'] + $table['border_spacing_H'];
22959 $yadj = $table['simple']['border_details']['T']['w'] + $cell['padding']['T'] + ($table['border_spacing_H'] / 2);
22961 $xadj = $table['simple']['border_details']['L']['w'] / 2 + $cell['padding']['L'];
22962 $wadj = ($table['simple']['border_details']['L']['w'] + $table['simple']['border_details']['R']['w']) / 2 + $cell['padding']['L'] + $cell['padding']['R'];
22963 $yadj = $table['simple']['border_details']['T']['w'] / 2 + $cell['padding']['T'];
22974 $extra = ($w - $d_content - $wadj);
22984 $this->divwidth = $w - $wadj;
23003 $gw = $table['w'] - ($table['max_cell_border_width']['L'] / 2) - ($table['max_cell_border_width']['R'] / 2) - $table['margin']['L'] - $table['margin']['R'];
23005 $gw -= ($table['padding']['L'] + $table['border_details']['L']['w'] + $table['padding']['R'] + $table['border_details']['R']['w'] + $table['border_spacing_H']);
23008 $clw = $w - $table['border_spacing_H'];
23012 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => $s];
23014 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
23025 $gw = $table['w'] - ($table['max_cell_border_width']['L'] / 2) - ($table['max_cell_border_width']['R'] / 2) - $table['margin']['L'] - $table['margin']['R'];
23027 $gw -= ($table['padding']['L'] + $table['border_details']['L']['w'] + $table['padding']['R'] + $table['border_details']['R']['w'] + $table['border_spacing_H']);
23030 $clw = $w - $table['border_spacing_H'];
23034 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => $s];
23036 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
23054 $gw = $table['w'] - ($table['max_cell_border_width']['L'] / 2) - ($table['max_cell_border_width']['R'] / 2) - $table['margin']['L'] - $table['margin']['R'];
23056 $gw -= ($table['padding']['L'] + $table['border_details']['L']['w'] + $table['padding']['R'] + $table['border_details']['R']['w'] + $table['border_spacing_H']);
23059 $clw = $w - $table['border_spacing_H'];
23063 $this->tableBackgrounds[$level * 9 + 5][] = ['x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => $s, 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
23065 $this->tableBackgrounds[$level * 9 + 5][] = ['x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => '', 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
23081 $tbw = $w;
23087 $tby -= $halfspaceT + ($table['border_details']['T']['w'] / 2);
23088 $tbh += $halfspaceT + ($table['border_details']['T']['w'] / 2);
23093 $tbh += $halfspaceB + ($table['border_details']['B']['w'] / 2);
23098 $tbx -= $halfspaceL + ($table['border_details']['L']['w'] / 2);
23099 $tbw += $halfspaceL + ($table['border_details']['L']['w'] / 2);
23104 $tbw += $halfspaceR + ($table['border_details']['R']['w'] / 2);
23151 $this->y += $table['padding']['B'] + $table['border_details']['B']['w'] + $table['border_spacing_V'] / 2;
23157 $this->tbrot_h += $table['margin']['B'] + $table['padding']['B'] + $table['border_details']['B']['w'] + $table['border_spacing_V'] / 2;
23165 $bx -= ($table['padding']['L'] + $table['border_details']['L']['w'] + $table['border_spacing_H'] / 2);
23174 $by -= ($table['padding']['T'] + $table['border_details']['T']['w'] + $table['border_spacing_V'] / 2);
23205 $bw += $table['padding']['L'] + $table['border_details']['L']['w'];
23207 $bx += ($table['padding']['L'] + $table['border_details']['L']['w']);
23210 $bw += $table['padding']['R'] + $table['border_details']['R']['w'];
23214 $bw = $table['w'] - ($table['max_cell_border_width']['L'] / 2) - ($table['max_cell_border_width']['R'] / 2) - $table['margin']['L'] - $table['margin']['R'];
23221 $this->tableBackgrounds[$level * 9][] = ['gradient' => false, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'col' => $color];
23229 $this->tableBackgrounds[$level * 9 + 1][] = ['gradient' => true, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
23237 $this->tableBackgrounds[$level * 9 + 1][] = ['gradient' => true, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
23250 $this->tableBackgrounds[$level * 9 + 2][] = ['x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => '', 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
24299 $this->pgwidth = $this->w - $this->lMargin - $this->rMargin;
24345 $PageWidth = $this->w - $absL - $absR; // virtual pagewidth for calculation only
24380 $this->SetMargins($x, ($this->w - $xR), $this->tMargin);
24938 $details[$side]['w'] = $cba['bw'];
24961 $this->_tableRect($cba['x'], $cba['y'], $cba['w'], $cba['h'], $cba['bord'], $details, false, false);
25012 $lm = $this->lMargin + $this->blk[$this->blklvl]['outer_left_margin'] + $this->blk[$this->blklvl]['border_left']['w'] + $this->blk[$this->blklvl]['padding_left'];
25054 $w = $v[2] / Mpdf::SCALE;
25064 $by = $this->tbrot_y0 + $yadj - $ax - $w;
25070 $v[3] = $w * Mpdf::SCALE;
25361 function AutosizeText($text, $w, $font, $style, $szfont = 72)
25405 $width = $this->sizeConverter->convert($w);
25413 if ($sz > $w) {
25421 $this->Cell($w, 0, $text, 0, 0, "C", 0, '', 0, 0, 0, 'M', 0, false, $OTLdata, $textvar);
26225 $bw = ($v["w"] * $xres);
26440 $bw = ($v["w"] * $xres);
26550 $bw = ($v["w"] * $xres);
27295 $w = (($this->pgwidth + $spacing) / $npr) - $spacing;
27314 $size = $this->useTemplate($tplidx, $x, $y, $w);
27330 $x += $w + $spacing;