- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfont_collections.php
More file actions
66 lines (47 loc) · 1.43 KB
/
font_collections.php
File metadata and controls
66 lines (47 loc) · 1.43 KB
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
55
56
57
58
59
60
61
62
63
64
65
66
<?php
namespace Mpdf;
use Mpdf\Fonts\FontCache;
/**
* This script prints out details of any TrueType collection font files in your font directory.
* Files ending wih .ttc and .ttcf are examined.
*
* By default this will examine the font directory defined by $mpdf->fontDir
*/
require_once '../vendor/autoload.php';
$mpdf = new Mpdf();
$fontCache = new FontCache(new Cache($mpdf->fontTempDir));
$ttfdir = $mpdf->fontDir;
$ttf = new TTFontFileAnalysis($fontCache, $mpdf->getFontDescriptor());
$ff = scandir($ttfdir);
printf('Searching "%s" directory for .ttc/.ttcf font collections' . "\n", $ttfdir);
$i = 0;
foreach ($ff as $f) {
$ret = array();
if (strtolower(substr($f, -4, 4)) === '.ttc' || strtolower(substr($f, -4, 4)) === '.ttcf') { // Mac ttcf
$ttf->getTTCFonts($ttfdir . $f);
$nf = $ttf->numTTCFonts;
printf('Font collection file (%s) contains the following fonts:' . "\n", $f);
for ($i = 1; $i <= $nf; $i++) {
$ret = $ttf->extractCoreInfo($ttfdir . $f, $i);
$tfname = $ret[0];
$bold = $ret[1];
$italic = $ret[2];
$fname = strtolower($tfname);
$fname = preg_replace('/[ ()]/', '', $fname);
$style = '';
if ($bold) {
$style .= 'Bold';
}
if ($italic) {
$style .= 'Italic';
}
if (!$style) {
$style = 'Regular';
}
printf('[%d] %s (%s) %s', $i, $tfname, $fname, $style);
}
print("---------------\n\n");
$i++;
}
}
printf('Found and processed %d collections' . "\n", $i);