--- tcpdf/include/tcpdf_fonts.php.prev 2013-05-13 09:43:35.000000000 +0200 +++ tcpdf/include/tcpdf_fonts.php 2013-05-13 09:48:19.000000000 +0200 @@ -57,12 +57,13 @@ * @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 $addcbbox (boolean) If true includes the character bounding box information on the php font file. + * @param $link (boolean) If true link to system font instead of copying the font data (not transportable). * @return (string) TCPDF font name. * @author Nicola Asuni * @since 5.9.123 (2010-09-30) * @public static */ - public static function addTTFfont($fontfile, $fonttype='', $enc='', $flags=32, $outpath='', $platid=3, $encid=1, $addcbbox=false) { + public static function addTTFfont($fontfile, $fonttype='', $enc='', $flags=32, $outpath='', $platid=3, $encid=1, $addcbbox=false, $link=false) { if (!file_exists($fontfile)) { // Could not find file return false; @@ -92,7 +93,7 @@ // this font already exist (delete it from fonts folder to rebuild it) return $font_name; } - $fmetric['file'] = $font_name.'.z'; + $fmetric['file'] = $font_name; $fmetric['ctg'] = $font_name.'.ctg.z'; // get font data $font = file_get_contents($fontfile); @@ -178,6 +179,7 @@ $encrypted = substr($font, (12 + $fmetric['size1']), $fmetric['size2']); $data .= $encrypted; // store compressed font + $fmetric['file'] .= '.z'; $fp = fopen($outpath.$fmetric['file'], 'wb'); fwrite($fp, gzcompress($data)); fclose($fp); @@ -347,10 +349,15 @@ } else { // ---------- TRUE TYPE ---------- if ($fmetric['type'] != 'cidfont0') { - // store compressed font - $fp = fopen($outpath.$fmetric['file'], 'wb'); - fwrite($fp, gzcompress($font)); - fclose($fp); + if ($link) { + symlink($fontfile, $outpath.$fmetric['file']); + } else { + $fmetric['file'] .= '.z'; + // store compressed font + $fp = fopen($outpath.$fmetric['file'], 'wb'); + fwrite($fp, gzcompress($font)); + fclose($fp); + } } $offset = 0; // offset position of the font data if (TCPDF_STATIC::_getULONG($font, $offset) != 0x10000) {