1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
--- 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) {
|