PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.18
Independent Analytics – WordPress Analytics Plugin v1.18
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / phenx / php-font-lib / src / FontLib / EOT / File.php
independent-analytics / vendor / phenx / php-font-lib / src / FontLib / EOT Last commit date
File.php 3 years ago Header.php 3 years ago
File.php
155 lines
1 <?php
2
3 /**
4 * @package php-font-lib
5 * @link https://github.com/PhenX/php-font-lib
6 * @author Fabien Ménager <fabien.menager@gmail.com>
7 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
8 */
9 namespace IAWP\FontLib\EOT;
10
11 /**
12 * EOT font file.
13 *
14 * @package php-font-lib
15 */
16 class File extends \IAWP\FontLib\TrueType\File
17 {
18 const TTEMBED_SUBSET = 0x1;
19 const TTEMBED_TTCOMPRESSED = 0x4;
20 const TTEMBED_FAILIFVARIATIONSIMULATED = 0x10;
21 const TTMBED_EMBEDEUDC = 0x20;
22 const TTEMBED_VALIDATIONTESTS = 0x40;
23 // Deprecated
24 const TTEMBED_WEBOBJECT = 0x80;
25 const TTEMBED_XORENCRYPTDATA = 0x10000000;
26 /**
27 * @var Header
28 */
29 public $header;
30 function parseHeader()
31 {
32 if (!empty($this->header)) {
33 return;
34 }
35 $this->header = new Header($this);
36 $this->header->parse();
37 }
38 function parse()
39 {
40 $this->parseHeader();
41 $flags = $this->header->data["Flags"];
42 if ($flags & self::TTEMBED_TTCOMPRESSED) {
43 $mtx_version = $this->readUInt8();
44 $mtx_copy_limit = $this->readUInt8() << 16 | $this->readUInt8() << 8 | $this->readUInt8();
45 $mtx_offset_1 = $this->readUInt8() << 16 | $this->readUInt8() << 8 | $this->readUInt8();
46 $mtx_offset_2 = $this->readUInt8() << 16 | $this->readUInt8() << 8 | $this->readUInt8();
47 /*
48 var_dump("$mtx_version $mtx_copy_limit $mtx_offset_1 $mtx_offset_2");
49
50 $pos = $this->pos();
51 $size = $mtx_offset_1 - $pos;
52 var_dump("pos: $pos");
53 var_dump("size: $size");*/
54 }
55 if ($flags & self::TTEMBED_XORENCRYPTDATA) {
56 // Process XOR
57 }
58 // TODO Read font data ...
59 }
60 /**
61 * Little endian version of the read method
62 *
63 * @param int $n The number of bytes to read
64 *
65 * @return string
66 */
67 public function read($n)
68 {
69 if ($n < 1) {
70 return "";
71 }
72 $string = (string) \fread($this->f, $n);
73 $chunks = \mb_str_split($string, 2, '8bit');
74 $chunks = \array_map("strrev", $chunks);
75 return \implode("", $chunks);
76 }
77 public function readUInt32()
78 {
79 $uint32 = parent::readUInt32();
80 return $uint32 >> 16 & 0xffff | $uint32 << 16 & 0xffff0000;
81 }
82 /**
83 * Get font copyright
84 *
85 * @return string|null
86 */
87 function getFontCopyright()
88 {
89 return null;
90 }
91 /**
92 * Get font name
93 *
94 * @return string|null
95 */
96 function getFontName()
97 {
98 return $this->header->data["FamilyName"];
99 }
100 /**
101 * Get font subfamily
102 *
103 * @return string|null
104 */
105 function getFontSubfamily()
106 {
107 return $this->header->data["StyleName"];
108 }
109 /**
110 * Get font subfamily ID
111 *
112 * @return string|null
113 */
114 function getFontSubfamilyID()
115 {
116 return $this->header->data["StyleName"];
117 }
118 /**
119 * Get font full name
120 *
121 * @return string|null
122 */
123 function getFontFullName()
124 {
125 return $this->header->data["FullName"];
126 }
127 /**
128 * Get font version
129 *
130 * @return string|null
131 */
132 function getFontVersion()
133 {
134 return $this->header->data["VersionName"];
135 }
136 /**
137 * Get font weight
138 *
139 * @return string|null
140 */
141 function getFontWeight()
142 {
143 return $this->header->data["Weight"];
144 }
145 /**
146 * Get font Postscript name
147 *
148 * @return string|null
149 */
150 function getFontPostscriptName()
151 {
152 return null;
153 }
154 }
155