/usr/share/php/FontLib/Table/Type/hmtx.php is in php-font-lib 0.3.1+dfsg-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | <?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\Table\Type;
use FontLib\Table\Table;
/**
* `hmtx` font table.
*
* @package php-font-lib
*/
class hmtx extends Table {
protected function _parse() {
$font = $this->getFont();
$offset = $font->pos();
$numOfLongHorMetrics = $font->getData("hhea", "numOfLongHorMetrics");
$numGlyphs = $font->getData("maxp", "numGlyphs");
$font->seek($offset);
$data = array();
for ($gid = 0; $gid < $numOfLongHorMetrics; $gid++) {
$advanceWidth = $font->readUInt16();
$leftSideBearing = $font->readUInt16();
$data[$gid] = array($advanceWidth, $leftSideBearing);
}
if ($numOfLongHorMetrics < $numGlyphs) {
$lastWidth = end($data);
$data = array_pad($data, $numGlyphs, $lastWidth);
}
$this->data = $data;
}
protected function _encode() {
$font = $this->getFont();
$subset = $font->getSubset();
$data = $this->data;
$length = 0;
foreach ($subset as $gid) {
$length += $font->writeUInt16($data[$gid][0]);
$length += $font->writeUInt16($data[$gid][1]);
}
return $length;
}
}
|