summaryrefslogtreecommitdiffstats
path: root/134.patch
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2019-09-13 11:27:28 +0200
committerRemi Collet <remi@remirepo.net>2019-09-13 11:27:28 +0200
commit37700b19b79bc83c488eb6a7846c9b709feaec34 (patch)
treecdc777d15b5c388d819adc83d76cbf5c857c7b9a /134.patch
parente93e070dc103eeff6c5383cf2ae7a4d65b5c5f84 (diff)
add patch for 7.4 from
+ https://github.com/tecnickcom/TCPDF/pull/134
Diffstat (limited to '134.patch')
-rw-r--r--134.patch552
1 files changed, 552 insertions, 0 deletions
diff --git a/134.patch b/134.patch
new file mode 100644
index 0000000..76bc5bd
--- /dev/null
+++ b/134.patch
@@ -0,0 +1,552 @@
+From b0948269a689c5ab08c5b6e00066bf9c9e6a9838 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Fri, 13 Sep 2019 11:13:56 +0200
+Subject: [PATCH 1/2] Fix Array and string offset access syntax with curly
+ braces is deprecated
+
+---
+ include/tcpdf_filters.php | 6 +--
+ include/tcpdf_images.php | 2 +-
+ tcpdf.php | 4 +-
+ tcpdf_barcodes_1d.php | 108 +++++++++++++++++++-------------------
+ tcpdf_parser.php | 6 +--
+ 5 files changed, 63 insertions(+), 63 deletions(-)
+
+diff --git a/include/tcpdf_filters.php b/include/tcpdf_filters.php
+index dfb80c5d..3bb89c09 100644
+--- a/include/tcpdf_filters.php
++++ b/include/tcpdf_filters.php
+@@ -279,7 +279,7 @@ public static function decodeFilterLZWDecode($data) {
+ // convert string to binary string
+ $bitstring = '';
+ for ($i = 0; $i < $data_length; ++$i) {
+- $bitstring .= sprintf('%08b', ord($data{$i}));
++ $bitstring .= sprintf('%08b', ord($data[$i]));
+ }
+ // get the number of bits
+ $data_length = strlen($bitstring);
+@@ -376,7 +376,7 @@ public static function decodeFilterRunLengthDecode($data) {
+ $i = 0;
+ while($i < $data_length) {
+ // get current byte value
+- $byte = ord($data{$i});
++ $byte = ord($data[$i]);
+ if ($byte == 128) {
+ // a length value of 128 denote EOD
+ break;
+@@ -389,7 +389,7 @@ public static function decodeFilterRunLengthDecode($data) {
+ } else {
+ // if length is in the range 129 to 255,
+ // the following single byte shall be copied 257 - length (2 to 128) times during decompression
+- $decoded .= str_repeat($data{($i + 1)}, (257 - $byte));
++ $decoded .= str_repeat($data[($i + 1)], (257 - $byte));
+ // move to next block
+ $i += 2;
+ }
+diff --git a/include/tcpdf_images.php b/include/tcpdf_images.php
+index 86b3c20d..5e504f21 100644
+--- a/include/tcpdf_images.php
++++ b/include/tcpdf_images.php
+@@ -311,7 +311,7 @@ public static function _parsepng($file) {
+ if ($n > 0) {
+ $trns = array();
+ for ($i = 0; $i < $n; ++ $i) {
+- $trns[] = ord($t{$i});
++ $trns[] = ord($t[$i]);
+ }
+ }
+ }
+diff --git a/tcpdf.php b/tcpdf.php
+index a1b4c1c0..d18294a7 100644
+--- a/tcpdf.php
++++ b/tcpdf.php
+@@ -16897,10 +16897,10 @@ protected function getHtmlDomArray($html) {
+ if (($dom[$key]['value'] == 'pre') OR ($dom[$key]['value'] == 'tt')) {
+ $dom[$key]['fontname'] = $this->default_monospaced_font;
+ }
+- if (!empty($dom[$key]['value']) AND ($dom[$key]['value'][0] == 'h') AND (intval($dom[$key]['value']{1}) > 0) AND (intval($dom[$key]['value']{1}) < 7)) {
++ if (!empty($dom[$key]['value']) AND ($dom[$key]['value'][0] == 'h') AND (intval($dom[$key]['value'][1]) > 0) AND (intval($dom[$key]['value'][1]) < 7)) {
+ // headings h1, h2, h3, h4, h5, h6
+ if (!isset($dom[$key]['attribute']['size']) AND !isset($dom[$key]['style']['font-size'])) {
+- $headsize = (4 - intval($dom[$key]['value']{1})) * 2;
++ $headsize = (4 - intval($dom[$key]['value'][1])) * 2;
+ $dom[$key]['fontsize'] = $dom[0]['fontsize'] + $headsize;
+ }
+ if (!isset($dom[$key]['style']['font-weight'])) {
+diff --git a/tcpdf_barcodes_1d.php b/tcpdf_barcodes_1d.php
+index 0c389aeb..78bfc5b5 100644
+--- a/tcpdf_barcodes_1d.php
++++ b/tcpdf_barcodes_1d.php
+@@ -453,7 +453,7 @@ protected function barcode_code39($code, $extended=false, $checksum=false) {
+ $k = 0;
+ $clen = strlen($code);
+ for ($i = 0; $i < $clen; ++$i) {
+- $char = $code{$i};
++ $char = $code[$i];
+ if(!isset($chr[$char])) {
+ // invalid character
+ return false;
+@@ -464,7 +464,7 @@ protected function barcode_code39($code, $extended=false, $checksum=false) {
+ } else {
+ $t = false; // space
+ }
+- $w = $chr[$char]{$j};
++ $w = $chr[$char][$j];
+ $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0);
+ $bararray['maxw'] += $w;
+ ++$k;
+@@ -520,10 +520,10 @@ protected function encode_code39_ext($code) {
+ $code_ext = '';
+ $clen = strlen($code);
+ for ($i = 0 ; $i < $clen; ++$i) {
+- if (ord($code{$i}) > 127) {
++ if (ord($code[$i]) > 127) {
+ return false;
+ }
+- $code_ext .= $encode[$code{$i}];
++ $code_ext .= $encode[$code[$i]];
+ }
+ return $code_ext;
+ }
+@@ -543,7 +543,7 @@ protected function checksum_code39($code) {
+ $sum = 0;
+ $clen = strlen($code);
+ for ($i = 0 ; $i < $clen; ++$i) {
+- $k = array_keys($chars, $code{$i});
++ $k = array_keys($chars, $code[$i]);
+ $sum += $k[0];
+ }
+ $j = ($sum % 43);
+@@ -643,10 +643,10 @@ protected function barcode_code93($code) {
+ $code_ext = '';
+ $clen = strlen($code);
+ for ($i = 0 ; $i < $clen; ++$i) {
+- if (ord($code{$i}) > 127) {
++ if (ord($code[$i]) > 127) {
+ return false;
+ }
+- $code_ext .= $encode[$code{$i}];
++ $code_ext .= $encode[$code[$i]];
+ }
+ // checksum
+ $code_ext .= $this->checksum_code93($code_ext);
+@@ -656,7 +656,7 @@ protected function barcode_code93($code) {
+ $k = 0;
+ $clen = strlen($code);
+ for ($i = 0; $i < $clen; ++$i) {
+- $char = ord($code{$i});
++ $char = ord($code[$i]);
+ if(!isset($chr[$char])) {
+ // invalid character
+ return false;
+@@ -667,7 +667,7 @@ protected function barcode_code93($code) {
+ } else {
+ $t = false; // space
+ }
+- $w = $chr[$char]{$j};
++ $w = $chr[$char][$j];
+ $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0);
+ $bararray['maxw'] += $w;
+ ++$k;
+@@ -699,7 +699,7 @@ protected function checksum_code93($code) {
+ $p = 1;
+ $check = 0;
+ for ($i = ($len - 1); $i >= 0; --$i) {
+- $k = array_keys($chars, $code{$i});
++ $k = array_keys($chars, $code[$i]);
+ $check += ($k[0] * $p);
+ ++$p;
+ if ($p > 20) {
+@@ -713,7 +713,7 @@ protected function checksum_code93($code) {
+ $p = 1;
+ $check = 0;
+ for ($i = $len; $i >= 0; --$i) {
+- $k = array_keys($chars, $code{$i});
++ $k = array_keys($chars, $code[$i]);
+ $check += ($k[0] * $p);
+ ++$p;
+ if ($p > 15) {
+@@ -738,11 +738,11 @@ protected function checksum_s25($code) {
+ $len = strlen($code);
+ $sum = 0;
+ for ($i = 0; $i < $len; $i+=2) {
+- $sum += $code{$i};
++ $sum += $code[$i];
+ }
+ $sum *= 3;
+ for ($i = 1; $i < $len; $i+=2) {
+- $sum += ($code{$i});
++ $sum += ($code[$i]);
+ }
+ $r = $sum % 10;
+ if($r > 0) {
+@@ -783,7 +783,7 @@ protected function barcode_msi($code, $checksum=false) {
+ $p = 2;
+ $check = 0;
+ for ($i = ($clen - 1); $i >= 0; --$i) {
+- $check += (hexdec($code{$i}) * $p);
++ $check += (hexdec($code[$i]) * $p);
+ ++$p;
+ if ($p > 7) {
+ $p = 2;
+@@ -798,7 +798,7 @@ protected function barcode_msi($code, $checksum=false) {
+ $seq = '110'; // left guard
+ $clen = strlen($code);
+ for ($i = 0; $i < $clen; ++$i) {
+- $digit = $code{$i};
++ $digit = $code[$i];
+ if (!isset($chr[$digit])) {
+ // invalid character
+ return false;
+@@ -841,7 +841,7 @@ protected function barcode_s25($code, $checksum=false) {
+ $seq = '11011010';
+ $clen = strlen($code);
+ for ($i = 0; $i < $clen; ++$i) {
+- $digit = $code{$i};
++ $digit = $code[$i];
+ if (!isset($chr[$digit])) {
+ // invalid character
+ return false;
+@@ -867,8 +867,8 @@ protected function binseq_to_array($seq, $bararray) {
+ $k = 0;
+ for ($i = 0; $i < $len; ++$i) {
+ $w += 1;
+- if (($i == ($len - 1)) OR (($i < ($len - 1)) AND ($seq{$i} != $seq{($i+1)}))) {
+- if ($seq{$i} == '1') {
++ if (($i == ($len - 1)) OR (($i < ($len - 1)) AND ($seq[$i] != $seq[($i+1)]))) {
++ if ($seq[$i] == '1') {
+ $t = true; // bar
+ } else {
+ $t = false; // space
+@@ -919,8 +919,8 @@ protected function barcode_i25($code, $checksum=false) {
+ $k = 0;
+ $clen = strlen($code);
+ for ($i = 0; $i < $clen; $i = ($i + 2)) {
+- $char_bar = $code{$i};
+- $char_space = $code{$i+1};
++ $char_bar = $code[$i];
++ $char_space = $code[$i+1];
+ if((!isset($chr[$char_bar])) OR (!isset($chr[$char_space]))) {
+ // invalid character
+ return false;
+@@ -929,7 +929,7 @@ protected function barcode_i25($code, $checksum=false) {
+ $seq = '';
+ $chrlen = strlen($chr[$char_bar]);
+ for ($s = 0; $s < $chrlen; $s++){
+- $seq .= $chr[$char_bar]{$s} . $chr[$char_space]{$s};
++ $seq .= $chr[$char_bar][$s] . $chr[$char_space][$s];
+ }
+ $seqlen = strlen($seq);
+ for ($j = 0; $j < $seqlen; ++$j) {
+@@ -938,7 +938,7 @@ protected function barcode_i25($code, $checksum=false) {
+ } else {
+ $t = false; // space
+ }
+- $w = $seq{$j};
++ $w = $seq[$j];
+ $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0);
+ $bararray['maxw'] += $w;
+ ++$k;
+@@ -1085,7 +1085,7 @@ protected function barcode_c128($code, $type='') {
+ case 'A': { // MODE A
+ $startid = 103;
+ for ($i = 0; $i < $len; ++$i) {
+- $char = $code{$i};
++ $char = $code[$i];
+ $char_id = ord($char);
+ if (($char_id >= 241) AND ($char_id <= 244)) {
+ $code_data[] = $fnc_a[$char_id];
+@@ -1100,7 +1100,7 @@ protected function barcode_c128($code, $type='') {
+ case 'B': { // MODE B
+ $startid = 104;
+ for ($i = 0; $i < $len; ++$i) {
+- $char = $code{$i};
++ $char = $code[$i];
+ $char_id = ord($char);
+ if (($char_id >= 241) AND ($char_id <= 244)) {
+ $code_data[] = $fnc_b[$char_id];
+@@ -1124,7 +1124,7 @@ protected function barcode_c128($code, $type='') {
+ return false;
+ }
+ for ($i = 0; $i < $len; $i+=2) {
+- $chrnum = $code{$i}.$code{$i+1};
++ $chrnum = $code[$i].$code[$i+1];
+ if (preg_match('/([0-9]{2})/', $chrnum) > 0) {
+ $code_data[] = intval($chrnum);
+ } else {
+@@ -1180,7 +1180,7 @@ protected function barcode_c128($code, $type='') {
+ }
+ }
+ for ($i = 0; $i < $seq[2]; ++$i) {
+- $char = $seq[1]{$i};
++ $char = $seq[1][$i];
+ $char_id = ord($char);
+ if (($char_id >= 241) AND ($char_id <= 244)) {
+ $code_data[] = $fnc_a[$char_id];
+@@ -1223,7 +1223,7 @@ protected function barcode_c128($code, $type='') {
+ }
+ }
+ for ($i = 0; $i < $seq[2]; ++$i) {
+- $char = $seq[1]{$i};
++ $char = $seq[1][$i];
+ $char_id = ord($char);
+ if (($char_id >= 241) AND ($char_id <= 244)) {
+ $code_data[] = $fnc_b[$char_id];
+@@ -1240,7 +1240,7 @@ protected function barcode_c128($code, $type='') {
+ $code_data[] = 99;
+ }
+ for ($i = 0; $i < $seq[2]; $i+=2) {
+- $chrnum = $seq[1]{$i}.$seq[1]{$i+1};
++ $chrnum = $seq[1][$i].$seq[1][$i+1];
+ $code_data[] = intval($chrnum);
+ }
+ break;
+@@ -1271,7 +1271,7 @@ protected function barcode_c128($code, $type='') {
+ } else {
+ $t = false; // space
+ }
+- $w = $seq{$j};
++ $w = $seq[$j];
+ $bararray['bcode'][] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0);
+ $bararray['maxw'] += $w;
+ }
+@@ -1337,14 +1337,14 @@ protected function barcode_eanupc($code, $len=13) {
+ // calculate check digit
+ $sum_a = 0;
+ for ($i = 1; $i < $data_len; $i+=2) {
+- $sum_a += $code{$i};
++ $sum_a += $code[$i];
+ }
+ if ($len > 12) {
+ $sum_a *= 3;
+ }
+ $sum_b = 0;
+ for ($i = 0; $i < $data_len; $i+=2) {
+- $sum_b += ($code{$i});
++ $sum_b += ($code[$i]);
+ }
+ if ($len < 13) {
+ $sum_b *= 3;
+@@ -1356,7 +1356,7 @@ protected function barcode_eanupc($code, $len=13) {
+ if ($code_len == $data_len) {
+ // add check digit
+ $code .= $r;
+- } elseif ($r !== intval($code{$data_len})) {
++ } elseif ($r !== intval($code[$data_len])) {
+ // wrong checkdigit
+ return false;
+ }
+@@ -1467,7 +1467,7 @@ protected function barcode_eanupc($code, $len=13) {
+ $bararray = array('code' => $upce_code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array());
+ $p = $upce_parities[$code[1]][$r];
+ for ($i = 0; $i < 6; ++$i) {
+- $seq .= $codes[$p[$i]][$upce_code{$i}];
++ $seq .= $codes[$p[$i]][$upce_code[$i]];
+ }
+ $seq .= '010101'; // right guard bar
+ } else {
+@@ -1475,17 +1475,17 @@ protected function barcode_eanupc($code, $len=13) {
+ $half_len = intval(ceil($len / 2));
+ if ($len == 8) {
+ for ($i = 0; $i < $half_len; ++$i) {
+- $seq .= $codes['A'][$code{$i}];
++ $seq .= $codes['A'][$code[$i]];
+ }
+ } else {
+ $p = $parities[$code[0]];
+ for ($i = 1; $i < $half_len; ++$i) {
+- $seq .= $codes[$p[$i-1]][$code{$i}];
++ $seq .= $codes[$p[$i-1]][$code[$i]];
+ }
+ }
+ $seq .= '01010'; // center guard bar
+ for ($i = $half_len; $i < $len; ++$i) {
+- $seq .= $codes['C'][$code{$i}];
++ $seq .= $codes['C'][$code[$i]];
+ }
+ $seq .= '101'; // right guard bar
+ }
+@@ -1493,8 +1493,8 @@ protected function barcode_eanupc($code, $len=13) {
+ $w = 0;
+ for ($i = 0; $i < $clen; ++$i) {
+ $w += 1;
+- if (($i == ($clen - 1)) OR (($i < ($clen - 1)) AND ($seq{$i} != $seq{($i+1)}))) {
+- if ($seq{$i} == '1') {
++ if (($i == ($clen - 1)) OR (($i < ($clen - 1)) AND ($seq[$i] != $seq[$i+1]))) {
++ if ($seq[$i] == '1') {
+ $t = true; // bar
+ } else {
+ $t = false; // space
+@@ -1578,7 +1578,7 @@ protected function barcode_eanext($code, $len=5) {
+ $seq .= $codes[$p[0]][$code[0]];
+ for ($i = 1; $i < $len; ++$i) {
+ $seq .= '01'; // separator
+- $seq .= $codes[$p[$i]][$code{$i}];
++ $seq .= $codes[$p[$i]][$code[$i]];
+ }
+ $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array());
+ return $this->binseq_to_array($seq, $bararray);
+@@ -1629,7 +1629,7 @@ protected function barcode_postnet($code, $planet=false) {
+ // calculate checksum
+ $sum = 0;
+ for ($i = 0; $i < $len; ++$i) {
+- $sum += intval($code{$i});
++ $sum += intval($code[$i]);
+ }
+ $chkd = ($sum % 10);
+ if($chkd > 0) {
+@@ -1643,7 +1643,7 @@ protected function barcode_postnet($code, $planet=false) {
+ $bararray['maxw'] += 2;
+ for ($i = 0; $i < $len; ++$i) {
+ for ($j = 0; $j < 5; ++$j) {
+- $h = $barlen[$code{$i}][$j];
++ $h = $barlen[$code[$i]][$j];
+ $p = floor(1 / $h);
+ $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $h, 'p' => $p);
+ $bararray['bcode'][$k++] = array('t' => 0, 'w' => 1, 'h' => 2, 'p' => 0);
+@@ -1756,8 +1756,8 @@ protected function barcode_rms4cc($code, $kix=false) {
+ $row = 0;
+ $col = 0;
+ for ($i = 0; $i < $len; ++$i) {
+- $row += $checktable[$code{$i}][0];
+- $col += $checktable[$code{$i}][1];
++ $row += $checktable[$code[$i]][0];
++ $col += $checktable[$code[$i]][1];
+ }
+ $row %= 6;
+ $col %= 6;
+@@ -1774,7 +1774,7 @@ protected function barcode_rms4cc($code, $kix=false) {
+ }
+ for ($i = 0; $i < $len; ++$i) {
+ for ($j = 0; $j < 4; ++$j) {
+- switch ($barmode[$code{$i}][$j]) {
++ switch ($barmode[$code[$i]][$j]) {
+ case 1: {
+ $p = 0;
+ $h = 2;
+@@ -1846,17 +1846,17 @@ protected function barcode_codabar($code) {
+ $code = 'A'.strtoupper($code).'A';
+ $len = strlen($code);
+ for ($i = 0; $i < $len; ++$i) {
+- if (!isset($chr[$code{$i}])) {
++ if (!isset($chr[$code[$i]])) {
+ return false;
+ }
+- $seq = $chr[$code{$i}];
++ $seq = $chr[$code[$i]];
+ for ($j = 0; $j < 8; ++$j) {
+ if (($j % 2) == 0) {
+ $t = true; // bar
+ } else {
+ $t = false; // space
+ }
+- $w = $seq{$j};
++ $w = $seq[$j];
+ $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0);
+ $bararray['maxw'] += $w;
+ ++$k;
+@@ -1896,7 +1896,7 @@ protected function barcode_code11($code) {
+ $p = 1;
+ $check = 0;
+ for ($i = ($len - 1); $i >= 0; --$i) {
+- $digit = $code{$i};
++ $digit = $code[$i];
+ if ($digit == '-') {
+ $dval = 10;
+ } else {
+@@ -1918,7 +1918,7 @@ protected function barcode_code11($code) {
+ $p = 1;
+ $check = 0;
+ for ($i = $len; $i >= 0; --$i) {
+- $digit = $code{$i};
++ $digit = $code[$i];
+ if ($digit == '-') {
+ $dval = 10;
+ } else {
+@@ -1937,17 +1937,17 @@ protected function barcode_code11($code) {
+ $code = 'S'.$code.'S';
+ $len += 3;
+ for ($i = 0; $i < $len; ++$i) {
+- if (!isset($chr[$code{$i}])) {
++ if (!isset($chr[$code[$i]])) {
+ return false;
+ }
+- $seq = $chr[$code{$i}];
++ $seq = $chr[$code[$i]];
+ for ($j = 0; $j < 6; ++$j) {
+ if (($j % 2) == 0) {
+ $t = true; // bar
+ } else {
+ $t = false; // space
+ }
+- $w = $seq{$j};
++ $w = $seq[$j];
+ $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0);
+ $bararray['maxw'] += $w;
+ ++$k;
+@@ -2016,7 +2016,7 @@ protected function barcode_pharmacode2t($code) {
+ $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 2, 'bcode' => array());
+ $len = strlen($seq);
+ for ($i = 0; $i < $len; ++$i) {
+- switch ($seq{$i}) {
++ switch ($seq[$i]) {
+ case '1': {
+ $p = 1;
+ $h = 1;
+@@ -2255,7 +2255,7 @@ public function hex_to_dec($hex) {
+ $bitval = 1;
+ $len = strlen($hex);
+ for($pos = ($len - 1); $pos >= 0; --$pos) {
+- $dec = bcadd($dec, bcmul(hexdec($hex{$pos}), $bitval));
++ $dec = bcadd($dec, bcmul(hexdec($hex[$pos]), $bitval));
+ $bitval = bcmul($bitval, 16);
+ }
+ return $dec;
+diff --git a/tcpdf_parser.php b/tcpdf_parser.php
+index 780ec212..bd3d719c 100644
+--- a/tcpdf_parser.php
++++ b/tcpdf_parser.php
+@@ -531,10 +531,10 @@ protected function getRawObject($offset=0) {
+ if ($char == '(') {
+ $open_bracket = 1;
+ while ($open_bracket > 0) {
+- if (!isset($this->pdfdata{$strpos})) {
++ if (!isset($this->pdfdata[$strpos])) {
+ break;
+ }
+- $ch = $this->pdfdata{$strpos};
++ $ch = $this->pdfdata[$strpos];
+ switch ($ch) {
+ case '\\': { // REVERSE SOLIDUS (5Ch) (Backslash)
+ // skip next character
+@@ -578,7 +578,7 @@ protected function getRawObject($offset=0) {
+ }
+ case '<': // \x3C LESS-THAN SIGN
+ case '>': { // \x3E GREATER-THAN SIGN
+- if (isset($this->pdfdata{($offset + 1)}) AND ($this->pdfdata{($offset + 1)} == $char)) {
++ if (isset($this->pdfdata[($offset + 1)]) AND ($this->pdfdata[($offset + 1)] == $char)) {
+ // dictionary object
+ $objtype = $char.$char;
+ $offset += 2;
+
+From e2deae00e5ac436560667d6afe1fe2bac3ec8859 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Fri, 13 Sep 2019 11:23:30 +0200
+Subject: [PATCH 2/2] fix PHP Warning: chr() expects parameter 1 to be int
+
+---
+ include/tcpdf_fonts.php | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/tcpdf_fonts.php b/include/tcpdf_fonts.php
+index 9242ca4b..218fb6df 100644
+--- a/include/tcpdf_fonts.php
++++ b/include/tcpdf_fonts.php
+@@ -1664,6 +1664,7 @@ public static function getFontRefSize($size, $refsize=12) {
+ * @public static
+ */
+ public static function unichr($c, $unicode=true) {
++ $c = intval($c);
+ if (!$unicode) {
+ return chr($c);
+ } elseif ($c <= 0x7F) {