1
This commit is contained in:
@@ -778,7 +778,7 @@ class Datamatrix {
|
||||
if (isset($this->chset['SH1'][$chr])) {
|
||||
$temp_cw[] = 0; // shift 1
|
||||
$shiftset = $this->chset['SH1'];
|
||||
} elseif (isset($chr, $this->chset['SH2'][$chr])) {
|
||||
} elseif (isset($this->chset['SH2'][$chr])) {
|
||||
$temp_cw[] = 1; // shift 2
|
||||
$shiftset = $this->chset['SH2'];
|
||||
} elseif (($enc == ENC_C40) AND isset($this->chset['S3C'][$chr])) {
|
||||
|
||||
@@ -943,8 +943,8 @@ class PDF417 {
|
||||
// tmp array for the 6 bytes block
|
||||
$cw6 = array();
|
||||
do {
|
||||
$d = bcmod($t, '900');
|
||||
$t = bcdiv($t, '900');
|
||||
$d = bcmod($t, '900', 0);
|
||||
$t = bcdiv($t, '900', 0);
|
||||
// prepend the value to the beginning of the array
|
||||
array_unshift($cw6, $d);
|
||||
} while ($t != '0');
|
||||
@@ -969,8 +969,8 @@ class PDF417 {
|
||||
}
|
||||
$t = '1'.$code;
|
||||
do {
|
||||
$d = bcmod($t, '900');
|
||||
$t = bcdiv($t, '900');
|
||||
$d = bcmod($t, '900', 0);
|
||||
$t = bcdiv($t, '900', 0);
|
||||
array_unshift($cw, $d);
|
||||
} while ($t != '0');
|
||||
$code = $rest;
|
||||
|
||||
@@ -884,14 +884,15 @@ class QRcode {
|
||||
protected function getCode() {
|
||||
if ($this->count < $this->dataLength) {
|
||||
$row = $this->count % $this->blocks;
|
||||
$col = $this->count / $this->blocks;
|
||||
$col = (int)($this->count / $this->blocks);
|
||||
if ($col >= $this->rsblocks[0]['dataLength']) {
|
||||
$row += $this->b1;
|
||||
}
|
||||
$row = (int) $row;
|
||||
$ret = $this->rsblocks[$row]['data'][$col];
|
||||
} elseif ($this->count < $this->dataLength + $this->eccLength) {
|
||||
$row = ($this->count - $this->dataLength) % $this->blocks;
|
||||
$col = ($this->count - $this->dataLength) / $this->blocks;
|
||||
$col = (int)(($this->count - $this->dataLength) / $this->blocks);
|
||||
$ret = $this->rsblocks[$row]['ecc'][$col];
|
||||
} else {
|
||||
return 0;
|
||||
@@ -1062,7 +1063,7 @@ class QRcode {
|
||||
protected function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly=false) {
|
||||
$b = 0;
|
||||
$bitMask = array();
|
||||
$bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
|
||||
$bitMask = $this->generateMaskNo($maskNo, $width, $s);
|
||||
if ($maskGenOnly) {
|
||||
return;
|
||||
}
|
||||
@@ -1460,7 +1461,7 @@ class QRcode {
|
||||
$stringLen = strlen($this->dataStr);
|
||||
$p = 0;
|
||||
while ($p < $stringLen) {
|
||||
$mode = $this->identifyMode(substr($this->dataStr, $p), $this->hint);
|
||||
$mode = $this->identifyMode(substr($this->dataStr, $p));
|
||||
if ($mode == QR_MODE_KJ) {
|
||||
$p += 2;
|
||||
} else {
|
||||
@@ -1692,7 +1693,7 @@ class QRcode {
|
||||
return -1;
|
||||
}
|
||||
$buf = array($size, $index, $parity);
|
||||
$entry = $this->newInputItem(QR_MODE_ST, 3, buf);
|
||||
$entry = $this->newInputItem(QR_MODE_ST, 3, $buf);
|
||||
array_unshift($items, $entry);
|
||||
return $items;
|
||||
}
|
||||
|
||||
@@ -275,7 +275,7 @@ class TCPDF_COLORS {
|
||||
$color = strtolower($color);
|
||||
// check for javascript color array syntax
|
||||
if (strpos($color, '[') !== false) {
|
||||
if (preg_match('/[\[][\"\'](t|g|rgb|cmyk)[\"\'][\,]?([0-9\.]*)[\,]?([0-9\.]*)[\,]?([0-9\.]*)[\,]?([0-9\.]*)[\]]/', $color, $m) > 0) {
|
||||
if (preg_match('/[\[][\"\'](t|g|rgb|cmyk)[\"\'][\,]?([0-9\.]*+)[\,]?([0-9\.]*+)[\,]?([0-9\.]*+)[\,]?([0-9\.]*+)[\]]/', $color, $m) > 0) {
|
||||
$returncolor = array();
|
||||
switch ($m[1]) {
|
||||
case 'cmyk': {
|
||||
|
||||
53
vendor/tecnickcom/tcpdf/include/tcpdf_fonts.php
vendored
53
vendor/tecnickcom/tcpdf/include/tcpdf_fonts.php
vendored
@@ -1151,7 +1151,7 @@ class TCPDF_FONTS {
|
||||
$subsetglyphs[$g] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 6: { // Format 6: Trimmed table mapping
|
||||
@@ -1323,43 +1323,43 @@ class TCPDF_FONTS {
|
||||
// set the checkSumAdjustment to 0
|
||||
$table[$tag]['data'] = substr($table[$tag]['data'], 0, 8)."\x0\x0\x0\x0".substr($table[$tag]['data'], 12);
|
||||
}
|
||||
$pad = 4 - ($table[$tag]['length'] % 4);
|
||||
if ($pad != 4) {
|
||||
// the length of a table must be a multiple of four bytes
|
||||
$table[$tag]['length'] += $pad;
|
||||
$table[$tag]['data'] .= str_repeat("\x0", $pad);
|
||||
}
|
||||
$table[$tag]['offset'] = $offset;
|
||||
$offset += $table[$tag]['length'];
|
||||
$numPad = ($offset + 3 & ~3) - $offset;
|
||||
if($numPad > 0) {
|
||||
$table[$tag]['data'] .= str_repeat("\x0", $numPad);
|
||||
$offset += $numPad;
|
||||
}
|
||||
// check sum is not changed (so keep the following line commented)
|
||||
//$table[$tag]['checkSum'] = self::_getTTFtableChecksum($table[$tag]['data'], $table[$tag]['length']);
|
||||
//$table[$tag]['checkSum'] = self::_getTTFtableChecksum($table[$tag]['data'], $table[$tag]['length'] + $numPad);
|
||||
} else {
|
||||
unset($table[$tag]);
|
||||
}
|
||||
}
|
||||
// add loca
|
||||
$table['loca'] = array();
|
||||
$table['loca']['data'] = $loca;
|
||||
$table['loca']['length'] = strlen($loca);
|
||||
$pad = 4 - ($table['loca']['length'] % 4);
|
||||
if ($pad != 4) {
|
||||
// the length of a table must be a multiple of four bytes
|
||||
$table['loca']['length'] += $pad;
|
||||
$table['loca']['data'] .= str_repeat("\x0", $pad);
|
||||
}
|
||||
$table['loca']['offset'] = $offset;
|
||||
$table['loca']['checkSum'] = self::_getTTFtableChecksum($table['loca']['data'], $table['loca']['length']);
|
||||
$offset += $table['loca']['length'];
|
||||
$numPad = ($offset + 3 & ~3) - $offset;
|
||||
if($numPad > 0) {
|
||||
$table['loca']['data'] .= str_repeat("\x0", $numPad);
|
||||
$offset += $numPad;
|
||||
}
|
||||
$table['loca']['checkSum'] = self::_getTTFtableChecksum($table['loca']['data'], $table['loca']['length'] + $numPad);
|
||||
// add glyf
|
||||
$table['glyf'] = array();
|
||||
$table['glyf']['data'] = $glyf;
|
||||
$table['glyf']['length'] = strlen($glyf);
|
||||
$pad = 4 - ($table['glyf']['length'] % 4);
|
||||
if ($pad != 4) {
|
||||
// the length of a table must be a multiple of four bytes
|
||||
$table['glyf']['length'] += $pad;
|
||||
$table['glyf']['data'] .= str_repeat("\x0", $pad);
|
||||
}
|
||||
$table['glyf']['offset'] = $offset;
|
||||
$table['glyf']['checkSum'] = self::_getTTFtableChecksum($table['glyf']['data'], $table['glyf']['length']);
|
||||
$offset += $table['glyf']['length'];
|
||||
$numPad = ($offset + 3 & ~3) - $offset;
|
||||
if($numPad > 0) {
|
||||
$table['glyf']['data'] .= str_repeat("\x0", $numPad);
|
||||
$offset += $numPad;
|
||||
}
|
||||
$table['glyf']['checkSum'] = self::_getTTFtableChecksum($table['glyf']['data'], $table['glyf']['length'] + $numPad);
|
||||
// rebuild font
|
||||
$font = '';
|
||||
$font .= pack('N', 0x10000); // sfnt version
|
||||
@@ -1383,7 +1383,7 @@ class TCPDF_FONTS {
|
||||
}
|
||||
// set checkSumAdjustment on head table
|
||||
$checkSumAdjustment = 0xB1B0AFBA - self::_getTTFtableChecksum($font, strlen($font));
|
||||
$font = substr($font, 0, $table['head']['offset'] + 8).pack('N', $checkSumAdjustment).substr($font, $table['head']['offset'] + 12);
|
||||
$font = substr($font, 0, $table['head']['offset'] + $offset + 8).pack('N', $checkSumAdjustment).substr($font, $table['head']['offset'] + $offset + 12);
|
||||
return $font;
|
||||
}
|
||||
|
||||
@@ -1780,9 +1780,9 @@ class TCPDF_FONTS {
|
||||
*/
|
||||
public static function UTF8ArrayToUniArray($ta, $isunicode=true) {
|
||||
if ($isunicode) {
|
||||
return array_map(array('TCPDF_FONTS', 'unichrUnicode'), $ta);
|
||||
return array_map(get_called_class().'::unichrUnicode', $ta);
|
||||
}
|
||||
return array_map(array('TCPDF_FONTS', 'unichrASCII'), $ta);
|
||||
return array_map(get_called_class().'::unichrASCII', $ta);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1998,10 +1998,11 @@ class TCPDF_FONTS {
|
||||
* @public static
|
||||
*/
|
||||
public static function UTF8StringToArray($str, $isunicode, &$currentfont) {
|
||||
$str = is_null($str) ? '' : $str;
|
||||
if ($isunicode) {
|
||||
// requires PCRE unicode support turned on
|
||||
$chars = TCPDF_STATIC::pregSplit('//','u', $str, -1, PREG_SPLIT_NO_EMPTY);
|
||||
$carr = array_map(array('TCPDF_FONTS', 'uniord'), $chars);
|
||||
$carr = array_map(get_called_class().'::uniord', $chars);
|
||||
} else {
|
||||
$chars = str_split($str);
|
||||
$carr = array_map('ord', $chars);
|
||||
|
||||
56
vendor/tecnickcom/tcpdf/include/tcpdf_static.php
vendored
56
vendor/tecnickcom/tcpdf/include/tcpdf_static.php
vendored
@@ -3,11 +3,11 @@
|
||||
// File name : tcpdf_static.php
|
||||
// Version : 1.1.4
|
||||
// Begin : 2002-08-03
|
||||
// Last Update : 2019-11-01
|
||||
// Last Update : 2023-09-06
|
||||
// Author : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - info@tecnick.com
|
||||
// License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
|
||||
// -------------------------------------------------------------------
|
||||
// Copyright (C) 2002-2021 Nicola Asuni - Tecnick.com LTD
|
||||
// Copyright (C) 2002-2023 Nicola Asuni - Tecnick.com LTD
|
||||
//
|
||||
// This file is part of TCPDF software library.
|
||||
//
|
||||
@@ -55,7 +55,7 @@ class TCPDF_STATIC {
|
||||
* Current TCPDF version.
|
||||
* @private static
|
||||
*/
|
||||
private static $tcpdf_version = '6.4.4';
|
||||
private static $tcpdf_version = '6.7.5';
|
||||
|
||||
/**
|
||||
* String alias for total number of pages.
|
||||
@@ -128,39 +128,6 @@ class TCPDF_STATIC {
|
||||
return "\x54\x43\x50\x44\x46\x20".self::getTCPDFVersion()."\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x63\x70\x64\x66\x2e\x6f\x72\x67\x29";
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the current active configuration setting of magic_quotes_runtime (if the set_magic_quotes_runtime function exist)
|
||||
* @param boolean $mqr FALSE for off, TRUE for on.
|
||||
* @since 4.6.025 (2009-08-17)
|
||||
* @public static
|
||||
*/
|
||||
public static function set_mqr($mqr) {
|
||||
if (!defined('PHP_VERSION_ID')) {
|
||||
$version = PHP_VERSION;
|
||||
define('PHP_VERSION_ID', (($version[0] * 10000) + ($version[2] * 100) + $version[4]));
|
||||
}
|
||||
if (PHP_VERSION_ID < 50300) {
|
||||
@set_magic_quotes_runtime($mqr);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the current active configuration setting of magic_quotes_runtime (if the get_magic_quotes_runtime function exist)
|
||||
* @return int Returns 0 if magic quotes runtime is off or get_magic_quotes_runtime doesn't exist, 1 otherwise.
|
||||
* @since 4.6.025 (2009-08-17)
|
||||
* @public static
|
||||
*/
|
||||
public static function get_mqr() {
|
||||
if (!defined('PHP_VERSION_ID')) {
|
||||
$version = PHP_VERSION;
|
||||
define('PHP_VERSION_ID', (($version[0] * 10000) + ($version[2] * 100) + $version[4]));
|
||||
}
|
||||
if (PHP_VERSION_ID < 50300) {
|
||||
return @get_magic_quotes_runtime();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the URL exist.
|
||||
* @param string $url URL to check.
|
||||
@@ -319,7 +286,7 @@ class TCPDF_STATIC {
|
||||
*/
|
||||
public static function _escapeXML($str) {
|
||||
$replaceTable = array("\0" => '', '&' => '&', '<' => '<', '>' => '>');
|
||||
$str = strtr($str, $replaceTable);
|
||||
$str = strtr($str === null ? '' : $str, $replaceTable);
|
||||
return $str;
|
||||
}
|
||||
|
||||
@@ -852,9 +819,7 @@ class TCPDF_STATIC {
|
||||
if (isset($prop['charLimit'])) {
|
||||
$opt['maxlen'] = intval($prop['charLimit']);
|
||||
}
|
||||
if (!isset($ff)) {
|
||||
$ff = 0; // default value
|
||||
}
|
||||
$ff = 0;
|
||||
// readonly: The read-only characteristic of a field. If a field is read-only, the user can see the field but cannot change it.
|
||||
if (isset($prop['readonly']) AND ($prop['readonly'] == 'true')) {
|
||||
$ff += 1 << 0;
|
||||
@@ -1811,7 +1776,11 @@ class TCPDF_STATIC {
|
||||
$flags = $flags === null ? 0 : $flags;
|
||||
// the bug only happens on PHP 5.2 when using the u modifier
|
||||
if ((strpos($modifiers, 'u') === FALSE) OR (count(preg_split('//u', "\n\t", -1, PREG_SPLIT_NO_EMPTY)) == 2)) {
|
||||
return preg_split($pattern.$modifiers, $subject, $limit, $flags);
|
||||
$ret = preg_split($pattern.$modifiers, $subject, $limit, $flags);
|
||||
if ($ret === false) {
|
||||
return array();
|
||||
}
|
||||
return is_array($ret) ? $ret : array();
|
||||
}
|
||||
// preg_split is bugged - try alternative solution
|
||||
$ret = array();
|
||||
@@ -1887,7 +1856,8 @@ class TCPDF_STATIC {
|
||||
if (isset($urlData['query']) && $urlData['query']) {
|
||||
$urlQueryData = array();
|
||||
parse_str(urldecode($urlData['query']), $urlQueryData);
|
||||
$updatedUrl = $urlData['scheme'] . '://' . $urlData['host'] . $urlData['path'] . '?' . http_build_query($urlQueryData);
|
||||
$port = isset($urlData['port']) ? ':'.$urlData['port'] : '';
|
||||
$updatedUrl = $urlData['scheme'].'://'.$urlData['host'].$port.$urlData['path'].'?'.http_build_query($urlQueryData);
|
||||
} else {
|
||||
$updatedUrl = $url;
|
||||
}
|
||||
@@ -2154,7 +2124,7 @@ class TCPDF_STATIC {
|
||||
* Array of page formats
|
||||
* measures are calculated in this way: (inches * 72) or (millimeters * 72 / 25.4)
|
||||
* @public static
|
||||
*
|
||||
*
|
||||
* @var array<string,float[]>
|
||||
*/
|
||||
public static $page_formats = array(
|
||||
|
||||
Reference in New Issue
Block a user