| Server IP : 54.94.228.101 / Your IP : 172.28.20.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/vendor/phenx/php-font-lib/src/FontLib/EOT/ |
Upload File : |
<?php
/**
* @package php-font-lib
* @link https://github.com/PhenX/php-font-lib
* @author Fabien Ménager <fabien.menager@gmail.com>
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
*/
namespace FontLib\EOT;
/**
* EOT font file.
*
* @package php-font-lib
*/
class File extends \FontLib\TrueType\File {
const TTEMBED_SUBSET = 0x00000001;
const TTEMBED_TTCOMPRESSED = 0x00000004;
const TTEMBED_FAILIFVARIATIONSIMULATED = 0x00000010;
const TTMBED_EMBEDEUDC = 0x00000020;
const TTEMBED_VALIDATIONTESTS = 0x00000040; // Deprecated
const TTEMBED_WEBOBJECT = 0x00000080;
const TTEMBED_XORENCRYPTDATA = 0x10000000;
/**
* @var Header
*/
public $header;
function parseHeader() {
if (!empty($this->header)) {
return;
}
$this->header = new Header($this);
$this->header->parse();
}
function parse() {
$this->parseHeader();
$flags = $this->header->data["Flags"];
if ($flags & self::TTEMBED_TTCOMPRESSED) {
$mtx_version = $this->readUInt8();
$mtx_copy_limit = $this->readUInt8() << 16 | $this->readUInt8() << 8 | $this->readUInt8();
$mtx_offset_1 = $this->readUInt8() << 16 | $this->readUInt8() << 8 | $this->readUInt8();
$mtx_offset_2 = $this->readUInt8() << 16 | $this->readUInt8() << 8 | $this->readUInt8();
/*
var_dump("$mtx_version $mtx_copy_limit $mtx_offset_1 $mtx_offset_2");
$pos = $this->pos();
$size = $mtx_offset_1 - $pos;
var_dump("pos: $pos");
var_dump("size: $size");*/
}
if ($flags & self::TTEMBED_XORENCRYPTDATA) {
// Process XOR
}
// TODO Read font data ...
}
/**
* Little endian version of the read method
*
* @param int $n The number of bytes to read
*
* @return string
*/
public function read($n) {
if ($n < 1) {
return "";
}
$string = fread($this->f, $n);
$chunks = str_split($string, 2);
$chunks = array_map("strrev", $chunks);
return implode("", $chunks);
}
public function readUInt32() {
$uint32 = parent::readUInt32();
return $uint32 >> 16 & 0x0000FFFF | $uint32 << 16 & 0xFFFF0000;
}
/**
* Get font copyright
*
* @return string|null
*/
function getFontCopyright() {
return null;
}
/**
* Get font name
*
* @return string|null
*/
function getFontName() {
return $this->header->data["FamilyName"];
}
/**
* Get font subfamily
*
* @return string|null
*/
function getFontSubfamily() {
return $this->header->data["StyleName"];
}
/**
* Get font subfamily ID
*
* @return string|null
*/
function getFontSubfamilyID() {
return $this->header->data["StyleName"];
}
/**
* Get font full name
*
* @return string|null
*/
function getFontFullName() {
return $this->header->data["FullName"];
}
/**
* Get font version
*
* @return string|null
*/
function getFontVersion() {
return $this->header->data["VersionName"];
}
/**
* Get font weight
*
* @return string|null
*/
function getFontWeight() {
return $this->header->data["Weight"];
}
/**
* Get font Postscript name
*
* @return string|null
*/
function getFontPostscriptName() {
return null;
}
}