File manager - Edit - /home/opticamezl/www/newok/Fonts.zip
Back
PK �0�\�c� � FontCache.phpnu &1i� <?php namespace Mpdf\Fonts; use Mpdf\Cache; class FontCache { private $cache; public function __construct(Cache $cache) { $this->cache = $cache; } public function tempFilename($filename) { return $this->cache->tempFilename($filename); } public function has($filename) { return $this->cache->has($filename); } public function load($filename) { return $this->cache->load($filename); } public function write($filename, $data) { return $this->cache->write($filename, $data); } public function binaryWrite($filename, $data) { $handle = fopen($this->tempFilename($filename), 'wb'); fwrite($handle, $data); fclose($handle); } public function remove($filename) { return $this->cache->remove($filename); } } PK �0�\濺\� � GlyphOperator.phpnu &1i� <?php namespace Mpdf\Fonts; class GlyphOperator { const WORDS = 1 << 0; const SCALE = 1 << 3; const MORE = 1 << 5; const XYSCALE = 1 << 6; const TWOBYTWO = 1 << 7; } PK �0�\8n4 � � FontFileFinder.phpnu &1i� <?php namespace Mpdf\Fonts; class FontFileFinder { private $directories; public function __construct($directories) { $this->setDirectories($directories); } public function setDirectories($directories) { if (!is_array($directories)) { $directories = [$directories]; } $this->directories = $directories; } public function findFontFile($name) { foreach ($this->directories as $directory) { $filename = $directory . '/' . $name; if (file_exists($filename)) { return $filename; } } throw new \Mpdf\MpdfException(sprintf('Cannot find TTF TrueType font file "%s" in configured font directories.', $name)); } } PK �0�\T�� MetricsGenerator.phpnu &1i� <?php namespace Mpdf\Fonts; use Mpdf\TTFontFile; class MetricsGenerator { private $fontCache; private $fontDescriptor; public function __construct(FontCache $fontCache, $fontDescriptor) { $this->fontCache = $fontCache; $this->fontDescriptor = $fontDescriptor; } public function generateMetrics($ttffile, $ttfstat, $fontkey, $TTCfontID, $debugfonts, $BMPonly, $useOTL, $fontUseOTL) { $ttf = new TTFontFile($this->fontCache, $this->fontDescriptor); $ttf->getMetrics($ttffile, $fontkey, $TTCfontID, $debugfonts, $BMPonly, $useOTL); // mPDF 5.7.1 $cw = $ttf->charWidths; $kerninfo = $ttf->kerninfo; $haskerninfo = false; if ($kerninfo) { $haskerninfo = true; } $haskernGPOS = $ttf->haskernGPOS; $hassmallcapsGSUB = $ttf->hassmallcapsGSUB; $name = preg_replace('/[ ()]/', '', $ttf->fullName); $sip = $ttf->sipset; $smp = $ttf->smpset; // mPDF 6 $GSUBScriptLang = $ttf->GSUBScriptLang; $GSUBFeatures = $ttf->GSUBFeatures; $GSUBLookups = $ttf->GSUBLookups; $rtlPUAstr = $ttf->rtlPUAstr; $GPOSScriptLang = $ttf->GPOSScriptLang; $GPOSFeatures = $ttf->GPOSFeatures; $GPOSLookups = $ttf->GPOSLookups; $glyphIDtoUni = $ttf->glyphIDtoUni; $desc = [ 'CapHeight' => round($ttf->capHeight), 'XHeight' => round($ttf->xHeight), 'FontBBox' => '[' . round($ttf->bbox[0]) . " " . round($ttf->bbox[1]) . " " . round($ttf->bbox[2]) . " " . round($ttf->bbox[3]) . ']', /* FontBBox from head table */ /* 'MaxWidth' => round($ttf->advanceWidthMax), // AdvanceWidthMax from hhea table NB ArialUnicode MS = 31990 ! */ 'Flags' => $ttf->flags, 'Ascent' => round($ttf->ascent), 'Descent' => round($ttf->descent), 'Leading' => round($ttf->lineGap), 'ItalicAngle' => $ttf->italicAngle, 'StemV' => round($ttf->stemV), 'MissingWidth' => round($ttf->defaultWidth) ]; $panose = ''; if (count($ttf->panose)) { $panoseArray = array_merge([$ttf->sFamilyClass, $ttf->sFamilySubClass], $ttf->panose); foreach ($panoseArray as $value) { $panose .= ' ' . dechex($value); } } $unitsPerEm = round($ttf->unitsPerEm); $up = round($ttf->underlinePosition); $ut = round($ttf->underlineThickness); $strp = round($ttf->strikeoutPosition); // mPDF 6 $strs = round($ttf->strikeoutSize); // mPDF 6 $originalsize = $ttfstat['size'] + 0; $type = 'TTF'; //Generate metrics .php file $s = '<?php' . "\n"; $s .= '$name=\'' . $name . "';\n"; $s .= '$type=\'' . $type . "';\n"; $s .= '$desc=' . var_export($desc, true) . ";\n"; $s .= '$unitsPerEm=' . $unitsPerEm . ";\n"; $s .= '$up=' . $up . ";\n"; $s .= '$ut=' . $ut . ";\n"; $s .= '$strp=' . $strp . ";\n"; // mPDF 6 $s .= '$strs=' . $strs . ";\n"; // mPDF 6 $s .= '$ttffile=\'' . $ttffile . "';\n"; $s .= '$TTCfontID=\'' . $TTCfontID . "';\n"; $s .= '$originalsize=' . $originalsize . ";\n"; if ($sip) { $s .= '$sip=true;' . "\n"; } else { $s .= '$sip=false;' . "\n"; } if ($smp) { $s .= '$smp=true;' . "\n"; } else { $s .= '$smp=false;' . "\n"; } if ($BMPonly) { $s .= '$BMPselected=true;' . "\n"; } else { $s .= '$BMPselected=false;' . "\n"; } $s .= '$fontkey=\'' . $fontkey . "';\n"; $s .= '$panose=\'' . $panose . "';\n"; if ($haskerninfo) { $s .= '$haskerninfo=true;' . "\n"; } else { $s .= '$haskerninfo=false;' . "\n"; } if ($haskernGPOS) { $s .= '$haskernGPOS=true;' . "\n"; } else { $s .= '$haskernGPOS=false;' . "\n"; } if ($hassmallcapsGSUB) { $s .= '$hassmallcapsGSUB=true;' . "\n"; } else { $s .= '$hassmallcapsGSUB=false;' . "\n"; } $s .= '$fontmetrics=\'' . $this->fontDescriptor . "';\n"; // mPDF 6 $s .= '// TypoAscender/TypoDescender/TypoLineGap = ' . round($ttf->typoAscender) . ', ' . round($ttf->typoDescender) . ', ' . round($ttf->typoLineGap) . "\n"; $s .= '// usWinAscent/usWinDescent = ' . round($ttf->usWinAscent) . ', ' . round(-$ttf->usWinDescent) . "\n"; $s .= '// hhea Ascent/Descent/LineGap = ' . round($ttf->hheaascent) . ', ' . round($ttf->hheadescent) . ', ' . round($ttf->hhealineGap) . "\n"; // mPDF 5.7.1 if ($fontUseOTL) { $s .= '$useOTL=' . $fontUseOTL . ';' . "\n"; } else { $s .= '$useOTL=0x0000;' . "\n"; } if ($rtlPUAstr) { $s .= '$rtlPUAstr=\'' . $rtlPUAstr . "';\n"; } else { $s .= '$rtlPUAstr=\'\';' . "\n"; } if (count($GSUBScriptLang)) { $s .= '$GSUBScriptLang=' . var_export($GSUBScriptLang, true) . ";\n"; } if (count($GSUBFeatures)) { $s .= '$GSUBFeatures=' . var_export($GSUBFeatures, true) . ";\n"; } if (count($GSUBLookups)) { $s .= '$GSUBLookups=' . var_export($GSUBLookups, true) . ";\n"; } if (count($GPOSScriptLang)) { $s .= '$GPOSScriptLang=' . var_export($GPOSScriptLang, true) . ";\n"; } if (count($GPOSFeatures)) { $s .= '$GPOSFeatures=' . var_export($GPOSFeatures, true) . ";\n"; } if (count($GPOSLookups)) { $s .= '$GPOSLookups=' . var_export($GPOSLookups, true) . ";\n"; } if ($kerninfo) { $s .= '$kerninfo=' . var_export($kerninfo, true) . ";\n"; } $this->fontCache->write($fontkey . '.mtx.php', $s); $this->fontCache->binaryWrite($fontkey . '.cw.dat', $cw); $this->fontCache->binaryWrite($fontkey . '.gid.dat', $glyphIDtoUni); if ($this->fontCache->has($fontkey . '.cgm')) { $this->fontCache->remove($fontkey . '.cgm'); } if ($this->fontCache->has($fontkey . '.z')) { $this->fontCache->remove($fontkey . '.z'); } if ($this->fontCache->has($fontkey . '.cw127.php')) { $this->fontCache->remove($fontkey . '.cw127.php'); } if ($this->fontCache->has($fontkey . '.cw')) { $this->fontCache->remove($fontkey . '.cw'); } unset($ttf); } } PK �0�\�c� � FontCache.phpnu &1i� PK �0�\濺\� � + GlyphOperator.phpnu &1i� PK �0�\8n4 � � FontFileFinder.phpnu &1i� PK �0�\T�� � MetricsGenerator.phpnu &1i� PK D K
| ver. 1.4 |
Github
|
.
| PHP 8.3.23 | Generation time: 0 |
proxy
|
phpinfo
|
Settings