mirror of
https://github.com/vdm-io/tcpdf.git
synced 2024-11-22 21:05:10 +00:00
5.9.186 (2012-09-13)
- barcodes.php file was resynced. - Methods SetAbsX, SetAbsY, SetAbsXY where added to set the absolute pointer coordinates. - Method getCharBBox were added to get single character bounding box. - Signature of addTTFfont method was changed ( paramter was added).
This commit is contained in:
parent
f66d0fa6ac
commit
df7ac13a2a
@ -1,3 +1,12 @@
|
|||||||
|
5.9.186 (2012-09-13)
|
||||||
|
- barcodes.php file was resynced.
|
||||||
|
- Methods SetAbsX, SetAbsY, SetAbsXY where added to set the absolute pointer coordinates.
|
||||||
|
- Method getCharBBox were added to get single character bounding box.
|
||||||
|
- Signature of addTTFfont method was changed ($addcbbox paramter was added).
|
||||||
|
|
||||||
|
5.9.185 (2012-09-12)
|
||||||
|
- Method _putfontwidths() was fixed.
|
||||||
|
|
||||||
5.9.184 (2012-09-11)
|
5.9.184 (2012-09-11)
|
||||||
- A problem with EAN barcodes was fixed.
|
- A problem with EAN barcodes was fixed.
|
||||||
|
|
||||||
|
@ -8,8 +8,8 @@ http://sourceforge.net/donate/index.php?group_id=128076
|
|||||||
------------------------------------------------------------
|
------------------------------------------------------------
|
||||||
|
|
||||||
Name: TCPDF
|
Name: TCPDF
|
||||||
Version: 5.9.184
|
Version: 5.9.186
|
||||||
Release date: 2012-09-11
|
Release date: 2012-09-13
|
||||||
Author: Nicola Asuni
|
Author: Nicola Asuni
|
||||||
|
|
||||||
Copyright (c) 2002-2012:
|
Copyright (c) 2002-2012:
|
||||||
|
10
barcodes.php
10
barcodes.php
@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
//============================================================+
|
//============================================================+
|
||||||
// File name : barcodes.php
|
// File name : barcodes.php
|
||||||
// Version : 1.0.024
|
// Version : 1.0.025
|
||||||
// Begin : 2008-06-09
|
// Begin : 2008-06-09
|
||||||
// Last Update : 2012-04-30
|
// Last Update : 2012-09-11
|
||||||
// Author : Nicola Asuni - Tecnick.com LTD - Manor Coach House, Church Hill, Aldershot, Hants, GU12 4RQ, UK - www.tecnick.com - info@tecnick.com
|
// Author : Nicola Asuni - Tecnick.com LTD - Manor Coach House, Church Hill, Aldershot, Hants, GU12 4RQ, UK - www.tecnick.com - info@tecnick.com
|
||||||
// License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
|
// License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
|
||||||
// -------------------------------------------------------------------
|
// -------------------------------------------------------------------
|
||||||
@ -37,14 +37,14 @@
|
|||||||
* PHP class to creates array representations for common 1D barcodes to be used with TCPDF.
|
* PHP class to creates array representations for common 1D barcodes to be used with TCPDF.
|
||||||
* @package com.tecnick.tcpdf
|
* @package com.tecnick.tcpdf
|
||||||
* @author Nicola Asuni
|
* @author Nicola Asuni
|
||||||
* @version 1.0.024
|
* @version 1.0.025
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class TCPDFBarcode
|
* @class TCPDFBarcode
|
||||||
* PHP class to creates array representations for common 1D barcodes to be used with TCPDF (http://www.tcpdf.org).<br>
|
* PHP class to creates array representations for common 1D barcodes to be used with TCPDF (http://www.tcpdf.org).<br>
|
||||||
* @package com.tecnick.tcpdf
|
* @package com.tecnick.tcpdf
|
||||||
* @version 1.0.024
|
* @version 1.0.025
|
||||||
* @author Nicola Asuni
|
* @author Nicola Asuni
|
||||||
*/
|
*/
|
||||||
class TCPDFBarcode {
|
class TCPDFBarcode {
|
||||||
@ -1452,7 +1452,7 @@ class TCPDFBarcode {
|
|||||||
$seq .= '010101'; // right guard bar
|
$seq .= '010101'; // right guard bar
|
||||||
} else {
|
} else {
|
||||||
$bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array());
|
$bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array());
|
||||||
$half_len = ceil($len / 2);
|
$half_len = intval(ceil($len / 2));
|
||||||
if ($len == 8) {
|
if ($len == 8) {
|
||||||
for ($i = 0; $i < $half_len; ++$i) {
|
for ($i = 0; $i < $half_len; ++$i) {
|
||||||
$seq .= $codes['A'][$code{$i}];
|
$seq .= $codes['A'][$code{$i}];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "tcpdf/tcpdf",
|
"name": "tcpdf/tcpdf",
|
||||||
"version": "5.9.184",
|
"version": "5.9.186",
|
||||||
"homepage": "http://www.tcpdf.org/",
|
"homepage": "http://www.tcpdf.org/",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"description": "TCPDF is a PHP class for generating PDF files on-the-fly without requiring external extensions.",
|
"description": "TCPDF is a PHP class for generating PDF files on-the-fly without requiring external extensions.",
|
||||||
|
121
tcpdf.php
121
tcpdf.php
@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
//============================================================+
|
//============================================================+
|
||||||
// File name : tcpdf.php
|
// File name : tcpdf.php
|
||||||
// Version : 5.9.184
|
// Version : 5.9.186
|
||||||
// Begin : 2002-08-03
|
// Begin : 2002-08-03
|
||||||
// Last Update : 2012-09-11
|
// Last Update : 2012-09-13
|
||||||
// Author : Nicola Asuni - Tecnick.com LTD - Manor Coach House, Church Hill, Aldershot, Hants, GU12 4RQ, UK - www.tecnick.com - info@tecnick.com
|
// Author : Nicola Asuni - Tecnick.com LTD - Manor Coach House, Church Hill, Aldershot, Hants, GU12 4RQ, UK - www.tecnick.com - info@tecnick.com
|
||||||
// License : http://www.tecnick.com/pagefiles/tcpdf/LICENSE.TXT GNU-LGPLv3
|
// License : http://www.tecnick.com/pagefiles/tcpdf/LICENSE.TXT GNU-LGPLv3
|
||||||
// -------------------------------------------------------------------
|
// -------------------------------------------------------------------
|
||||||
@ -98,6 +98,7 @@
|
|||||||
// Christian Deligant for some suggestions and fixes.
|
// Christian Deligant for some suggestions and fixes.
|
||||||
// Travis Harris for crop mark suggestion.
|
// Travis Harris for crop mark suggestion.
|
||||||
// Aleksey Kuznetsov for some suggestions and text shadows.
|
// Aleksey Kuznetsov for some suggestions and text shadows.
|
||||||
|
// Jim Hanlon for several suggestions and patches.
|
||||||
// Anyone else that has reported a bug or sent a suggestion.
|
// Anyone else that has reported a bug or sent a suggestion.
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|
||||||
@ -138,7 +139,7 @@
|
|||||||
* Tools to encode your unicode fonts are on fonts/utils directory.</p>
|
* Tools to encode your unicode fonts are on fonts/utils directory.</p>
|
||||||
* @package com.tecnick.tcpdf
|
* @package com.tecnick.tcpdf
|
||||||
* @author Nicola Asuni
|
* @author Nicola Asuni
|
||||||
* @version 5.9.184
|
* @version 5.9.186
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Main configuration file. Define the K_TCPDF_EXTERNAL_CONFIG constant to skip this file.
|
// Main configuration file. Define the K_TCPDF_EXTERNAL_CONFIG constant to skip this file.
|
||||||
@ -150,7 +151,7 @@ require_once(dirname(__FILE__).'/config/tcpdf_config.php');
|
|||||||
* TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.<br>
|
* TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.<br>
|
||||||
* @package com.tecnick.tcpdf
|
* @package com.tecnick.tcpdf
|
||||||
* @brief PHP class for generating PDF documents without requiring external extensions.
|
* @brief PHP class for generating PDF documents without requiring external extensions.
|
||||||
* @version 5.9.184
|
* @version 5.9.186
|
||||||
* @author Nicola Asuni - info@tecnick.com
|
* @author Nicola Asuni - info@tecnick.com
|
||||||
*/
|
*/
|
||||||
class TCPDF {
|
class TCPDF {
|
||||||
@ -161,7 +162,7 @@ class TCPDF {
|
|||||||
* Current TCPDF version.
|
* Current TCPDF version.
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
private $tcpdf_version = '5.9.184';
|
private $tcpdf_version = '5.9.186';
|
||||||
|
|
||||||
// Protected properties
|
// Protected properties
|
||||||
|
|
||||||
@ -5039,7 +5040,7 @@ class TCPDF {
|
|||||||
} else {
|
} else {
|
||||||
$w = 600;
|
$w = 600;
|
||||||
}
|
}
|
||||||
return ($w * $this->FontSize / 1000);
|
return $this->getAbsFontMeasure($w);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -5295,9 +5296,13 @@ class TCPDF {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// check if the array of characters bounding boxes is defined
|
||||||
|
if (!isset($cbbox)) {
|
||||||
|
$cbbox = array();
|
||||||
|
}
|
||||||
// initialize subsetchars to contain default ASCII values (0-255)
|
// initialize subsetchars to contain default ASCII values (0-255)
|
||||||
$subsetchars = array_fill(0, 256, true);
|
$subsetchars = array_fill(0, 256, true);
|
||||||
$this->setFontBuffer($fontkey, array('fontkey' => $fontkey, 'i' => $this->numfonts, 'type' => $type, 'name' => $name, 'desc' => $desc, 'up' => $up, 'ut' => $ut, 'cw' => $cw, 'dw' => $dw, 'enc' => $enc, 'cidinfo' => $cidinfo, 'file' => $file, 'ctg' => $ctg, 'subset' => $subset, 'subsetchars' => $subsetchars));
|
$this->setFontBuffer($fontkey, array('fontkey' => $fontkey, 'i' => $this->numfonts, 'type' => $type, 'name' => $name, 'desc' => $desc, 'up' => $up, 'ut' => $ut, 'cw' => $cw, 'cbbox' => $cbbox, 'dw' => $dw, 'enc' => $enc, 'cidinfo' => $cidinfo, 'file' => $file, 'ctg' => $ctg, 'subset' => $subset, 'subsetchars' => $subsetchars));
|
||||||
if ($this->inxobj) {
|
if ($this->inxobj) {
|
||||||
// we are inside an XObject template
|
// we are inside an XObject template
|
||||||
$this->xobjects[$this->xobjid]['fonts'][$fontkey] = $this->numfonts;
|
$this->xobjects[$this->xobjid]['fonts'][$fontkey] = $this->numfonts;
|
||||||
@ -5418,16 +5423,14 @@ class TCPDF {
|
|||||||
* @since 5.9.152 (2012-03-23)
|
* @since 5.9.152 (2012-03-23)
|
||||||
*/
|
*/
|
||||||
public function getFontBBox() {
|
public function getFontBBox() {
|
||||||
$result = array();
|
$fbbox = array();
|
||||||
if (isset($this->CurrentFont['desc']['FontBBox'])) {
|
if (isset($this->CurrentFont['desc']['FontBBox'])) {
|
||||||
$bbox = explode(' ', substr($this->CurrentFont['desc']['FontBBox'], 1, -1));
|
$tmpbbox = explode(' ', substr($this->CurrentFont['desc']['FontBBox'], 1, -1));
|
||||||
foreach ($bbox as $v) {
|
$fbbox = array_map(array($this,'getAbsFontMeasure'), $tmpbbox);
|
||||||
$result[] = (intval($v) * $this->FontSize / 1000);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// Find max width
|
// Find max width
|
||||||
if (isset($this->CurrentFont['desc']['MaxWidth'])) {
|
if (isset($this->CurrentFont['desc']['MaxWidth'])) {
|
||||||
$maxw = (intval($this->CurrentFont['desc']['MaxWidth']) * $this->FontSize / 1000);
|
$maxw = $this->getAbsFontMeasure(intval($this->CurrentFont['desc']['MaxWidth']));
|
||||||
} else {
|
} else {
|
||||||
$maxw = 0;
|
$maxw = 0;
|
||||||
if (isset($this->CurrentFont['desc']['MissingWidth'])) {
|
if (isset($this->CurrentFont['desc']['MissingWidth'])) {
|
||||||
@ -5445,11 +5448,34 @@ class TCPDF {
|
|||||||
if ($maxw == 0) {
|
if ($maxw == 0) {
|
||||||
$maxw = 600;
|
$maxw = 600;
|
||||||
}
|
}
|
||||||
$maxw = ($maxw * $this->FontSize / 1000);
|
$maxw = $this->getAbsFontMeasure($maxw);
|
||||||
}
|
}
|
||||||
$result = array(0, -$this->FontDescent, $maxw, $this->FontAscent);
|
$fbbox = array(0, -$this->FontDescent, $maxw, $this->FontAscent);
|
||||||
}
|
}
|
||||||
return $result;
|
return $fbbox;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert a relative font measure into absolute value.
|
||||||
|
* @param $s (int) Font measure.
|
||||||
|
* @return float Absolute measure.
|
||||||
|
* @since 5.9.186 (2012-09-13)
|
||||||
|
*/
|
||||||
|
public function getAbsFontMeasure($s) {
|
||||||
|
return ($s * $this->FontSize / 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the glyph bounding box of the specified character in the current font in user units.
|
||||||
|
* @param $char (int) Input character code.
|
||||||
|
* @return mixed array(xMin, yMin, xMax, yMax) or FALSE if not defined.
|
||||||
|
* @since 5.9.186 (2012-09-13)
|
||||||
|
*/
|
||||||
|
public function getCharBBox($char) {
|
||||||
|
if (isset($this->CurrentFont['cbbox'][$char])) {
|
||||||
|
return array_map(array($this,'getAbsFontMeasure'), $this->CurrentFont['cbbox'][intval($char)]);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -5468,7 +5494,7 @@ class TCPDF {
|
|||||||
if (isset($fontinfo['desc']['Descent']) AND ($fontinfo['desc']['Descent'] <= 0)) {
|
if (isset($fontinfo['desc']['Descent']) AND ($fontinfo['desc']['Descent'] <= 0)) {
|
||||||
$descent = (- $fontinfo['desc']['Descent'] * $size / 1000);
|
$descent = (- $fontinfo['desc']['Descent'] * $size / 1000);
|
||||||
} else {
|
} else {
|
||||||
$descent = 1.219 * 0.24 * $size;
|
$descent = (1.219 * 0.24 * $size);
|
||||||
}
|
}
|
||||||
return ($descent / $this->k);
|
return ($descent / $this->k);
|
||||||
}
|
}
|
||||||
@ -8757,13 +8783,14 @@ class TCPDF {
|
|||||||
/**
|
/**
|
||||||
* Defines the abscissa of the current position.
|
* Defines the abscissa of the current position.
|
||||||
* If the passed value is negative, it is relative to the right of the page (or left if language is RTL).
|
* If the passed value is negative, it is relative to the right of the page (or left if language is RTL).
|
||||||
* @param $x (float) The value of the abscissa.
|
* @param $x (float) The value of the abscissa in user units.
|
||||||
* @param $rtloff (boolean) if true always uses the page top-left corner as origin of axis.
|
* @param $rtloff (boolean) if true always uses the page top-left corner as origin of axis.
|
||||||
* @public
|
* @public
|
||||||
* @since 1.2
|
* @since 1.2
|
||||||
* @see GetX(), GetY(), SetY(), SetXY()
|
* @see GetX(), GetY(), SetY(), SetXY()
|
||||||
*/
|
*/
|
||||||
public function SetX($x, $rtloff=false) {
|
public function SetX($x, $rtloff=false) {
|
||||||
|
$x = floatval($x);
|
||||||
if (!$rtloff AND $this->rtl) {
|
if (!$rtloff AND $this->rtl) {
|
||||||
if ($x >= 0) {
|
if ($x >= 0) {
|
||||||
$this->x = $this->w - $x;
|
$this->x = $this->w - $x;
|
||||||
@ -8788,7 +8815,7 @@ class TCPDF {
|
|||||||
/**
|
/**
|
||||||
* Moves the current abscissa back to the left margin and sets the ordinate.
|
* Moves the current abscissa back to the left margin and sets the ordinate.
|
||||||
* If the passed value is negative, it is relative to the bottom of the page.
|
* If the passed value is negative, it is relative to the bottom of the page.
|
||||||
* @param $y (float) The value of the ordinate.
|
* @param $y (float) The value of the ordinate in user units.
|
||||||
* @param $resetx (bool) if true (default) reset the X position.
|
* @param $resetx (bool) if true (default) reset the X position.
|
||||||
* @param $rtloff (boolean) if true always uses the page top-left corner as origin of axis.
|
* @param $rtloff (boolean) if true always uses the page top-left corner as origin of axis.
|
||||||
* @public
|
* @public
|
||||||
@ -8796,6 +8823,7 @@ class TCPDF {
|
|||||||
* @see GetX(), GetY(), SetY(), SetXY()
|
* @see GetX(), GetY(), SetY(), SetXY()
|
||||||
*/
|
*/
|
||||||
public function SetY($y, $resetx=true, $rtloff=false) {
|
public function SetY($y, $resetx=true, $rtloff=false) {
|
||||||
|
$y = floatval($y);
|
||||||
if ($resetx) {
|
if ($resetx) {
|
||||||
//reset x
|
//reset x
|
||||||
if (!$rtloff AND $this->rtl) {
|
if (!$rtloff AND $this->rtl) {
|
||||||
@ -8832,6 +8860,41 @@ class TCPDF {
|
|||||||
$this->SetX($x, $rtloff);
|
$this->SetX($x, $rtloff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the absolute X coordinate of the current pointer.
|
||||||
|
* @param $x (float) The value of the abscissa in user units.
|
||||||
|
* @public
|
||||||
|
* @since 5.9.186 (2012-09-13)
|
||||||
|
* @see setAbsX(), setAbsY(), SetAbsXY()
|
||||||
|
*/
|
||||||
|
public function SetAbsX($x) {
|
||||||
|
$this->x = floatval($x);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the absolute Y coordinate of the current pointer.
|
||||||
|
* @param $y (float) (float) The value of the ordinate in user units.
|
||||||
|
* @public
|
||||||
|
* @since 5.9.186 (2012-09-13)
|
||||||
|
* @see setAbsX(), setAbsY(), SetAbsXY()
|
||||||
|
*/
|
||||||
|
public function SetAbsY($y) {
|
||||||
|
$this->y = floatval($y);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the absolute X and Y coordinates of the current pointer.
|
||||||
|
* @param $x (float) The value of the abscissa in user units.
|
||||||
|
* @param $y (float) (float) The value of the ordinate in user units.
|
||||||
|
* @public
|
||||||
|
* @since 5.9.186 (2012-09-13)
|
||||||
|
* @see setAbsX(), setAbsY(), SetAbsXY()
|
||||||
|
*/
|
||||||
|
public function SetAbsXY($x, $y) {
|
||||||
|
$this->SetAbsX($x);
|
||||||
|
$this->SetAbsY($y);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ouput input data and compress it if possible.
|
* Ouput input data and compress it if possible.
|
||||||
* @param $data (string) Data to output.
|
* @param $data (string) Data to output.
|
||||||
@ -10235,12 +10298,13 @@ class TCPDF {
|
|||||||
* @param $outpath (string) Output path for generated font files (must be writeable by the web server). Leave empty for default font folder.
|
* @param $outpath (string) Output path for generated font files (must be writeable by the web server). Leave empty for default font folder.
|
||||||
* @param $platid (int) Platform ID for CMAP table to extract (when building a Unicode font for Windows this value should be 3, for Macintosh should be 1).
|
* @param $platid (int) Platform ID for CMAP table to extract (when building a Unicode font for Windows this value should be 3, for Macintosh should be 1).
|
||||||
* @param $encid (int) Encoding ID for CMAP table to extract (when building a Unicode font for Windows this value should be 1, for Macintosh should be 0). When Platform ID is 3, legal values for Encoding ID are: 0=Symbol, 1=Unicode, 2=ShiftJIS, 3=PRC, 4=Big5, 5=Wansung, 6=Johab, 7=Reserved, 8=Reserved, 9=Reserved, 10=UCS-4.
|
* @param $encid (int) Encoding ID for CMAP table to extract (when building a Unicode font for Windows this value should be 1, for Macintosh should be 0). When Platform ID is 3, legal values for Encoding ID are: 0=Symbol, 1=Unicode, 2=ShiftJIS, 3=PRC, 4=Big5, 5=Wansung, 6=Johab, 7=Reserved, 8=Reserved, 9=Reserved, 10=UCS-4.
|
||||||
|
* @param $addcbbox (boolean) If true includes the character bounding box information on the php font file.
|
||||||
* @return (string) TCPDF font name.
|
* @return (string) TCPDF font name.
|
||||||
* @author Nicola Asuni
|
* @author Nicola Asuni
|
||||||
* @public
|
* @public
|
||||||
* @since 5.9.123 (2010-09-30)
|
* @since 5.9.123 (2010-09-30)
|
||||||
*/
|
*/
|
||||||
public function addTTFfont($fontfile, $fonttype='', $enc='', $flags=32, $outpath='', $platid=3, $encid=1) {
|
public function addTTFfont($fontfile, $fonttype='', $enc='', $flags=32, $outpath='', $platid=3, $encid=1, $addcbbox=false) {
|
||||||
if (!file_exists($fontfile)) {
|
if (!file_exists($fontfile)) {
|
||||||
$this->Error('Could not find file: '.$fontfile.'');
|
$this->Error('Could not find file: '.$fontfile.'');
|
||||||
}
|
}
|
||||||
@ -10952,9 +11016,19 @@ class TCPDF {
|
|||||||
$fmetric['MissingWidth'] = $cw[0];
|
$fmetric['MissingWidth'] = $cw[0];
|
||||||
$fmetric['cw'] = '';
|
$fmetric['cw'] = '';
|
||||||
for ($cid = 0; $cid <= 65535; ++$cid) {
|
for ($cid = 0; $cid <= 65535; ++$cid) {
|
||||||
if (isset($ctg[$cid]) AND isset($cw[$ctg[$cid]])) {
|
if (isset($ctg[$cid])) {
|
||||||
|
if (isset($cw[$ctg[$cid]])) {
|
||||||
$fmetric['cw'] .= ','.$cid.'=>'.$cw[$ctg[$cid]];
|
$fmetric['cw'] .= ','.$cid.'=>'.$cw[$ctg[$cid]];
|
||||||
}
|
}
|
||||||
|
if ($addcbbox AND isset($indexToLoc[$ctg[$cid]])) {
|
||||||
|
$offset = ($table['glyf']['offset'] + $indexToLoc[$ctg[$cid]]);
|
||||||
|
$xMin = round($this->_getFWORD($font, $offset + 2)) * $urk;
|
||||||
|
$yMin = round($this->_getFWORD($font, $offset + 4)) * $urk;
|
||||||
|
$xMax = round($this->_getFWORD($font, $offset + 6)) * $urk;
|
||||||
|
$yMax = round($this->_getFWORD($font, $offset + 8)) * $urk;
|
||||||
|
$fmetric['cbbox'] .= ','.$cid.'=>array('.$xMin.','.$yMin.','.$xMax.','.$yMax.')';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} // end of true type
|
} // end of true type
|
||||||
if (($fmetric['type'] == 'TrueTypeUnicode') AND (count($ctg) == 256)) {
|
if (($fmetric['type'] == 'TrueTypeUnicode') AND (count($ctg) == 256)) {
|
||||||
@ -11045,6 +11119,9 @@ class TCPDF {
|
|||||||
$pfile .= '\'MaxWidth\'=>'.$fmetric['MaxWidth'].',';
|
$pfile .= '\'MaxWidth\'=>'.$fmetric['MaxWidth'].',';
|
||||||
$pfile .= '\'MissingWidth\'=>'.$fmetric['MissingWidth'].'';
|
$pfile .= '\'MissingWidth\'=>'.$fmetric['MissingWidth'].'';
|
||||||
$pfile .= ');'."\n";
|
$pfile .= ');'."\n";
|
||||||
|
if (isset($fmetric['cbbox'])) {
|
||||||
|
$pfile .= '$cbbox=array('.substr($fmetric['cbbox'], 1).');'."\n";
|
||||||
|
}
|
||||||
$pfile .= '$cw=array('.substr($fmetric['cw'], 1).');'."\n";
|
$pfile .= '$cw=array('.substr($fmetric['cw'], 1).');'."\n";
|
||||||
$pfile .= '// --- EOF ---'."\n";
|
$pfile .= '// --- EOF ---'."\n";
|
||||||
// store file
|
// store file
|
||||||
@ -11605,7 +11682,9 @@ class TCPDF {
|
|||||||
} else {
|
} else {
|
||||||
$prevint = false;
|
$prevint = false;
|
||||||
}
|
}
|
||||||
|
if (isset($range[$k]['interval'])) {
|
||||||
unset($range[$k]['interval']);
|
unset($range[$k]['interval']);
|
||||||
|
}
|
||||||
--$nextk;
|
--$nextk;
|
||||||
} else {
|
} else {
|
||||||
$prevint = false;
|
$prevint = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user