Blame view

sources/3rdparty/dompdf/lib/php-font-lib/classes/font_eot.cls.php 1.88 KB
31b7f2792   Kload   Upgrade to ownclo...
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
67
68
  <?php
  /**
   * @package php-font-lib
   * @link    http://php-font-lib.googlecode.com/
   * @author  Fabien Ménager <fabien.menager@gmail.com>
   * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
   * @version $Id: font_eot.cls.php 34 2011-10-23 13:53:25Z fabien.menager $
   */
  
  require_once dirname(__FILE__)."/font_truetype.cls.php";
  
  /**
   * EOT font file.
   * 
   * @package php-font-lib
   */
  class Font_EOT extends Font_TrueType {
    private $origF;
    private $fileOffset = 0;
    
    public $header;
    
    function parseHeader(){
      $this->header = $this->unpack(array(
        "EOTSize"        => self::uint32,
        "FontDataSize"   => self::uint32,
        "Version"        => self::uint32,
        "Flags"          => self::uint32,
      ));
      
      $this->header["FontPANOSE"] = $this->read(10);
      
      $this->header += $this->unpack(array(
        "Charset"        => self::uint8,
        "Italic"         => self::uint8,
        "Weight"         => self::uint32,
        "fsType"         => self::uint16,
        "MagicNumber"    => self::uint16,
        "UnicodeRange1"  => self::uint32,
        "UnicodeRange2"  => self::uint32,
        "UnicodeRange3"  => self::uint32,
        "UnicodeRange4"  => self::uint32,
        "CodePageRange1" => self::uint32,
        "CodePageRange2" => self::uint32,
        "CheckSumAdjustment" => self::uint32,
        "Reserved1"      => self::uint32,
        "Reserved2"      => self::uint32,
        "Reserved3"      => self::uint32,
        "Reserved4"      => self::uint32,
        "Padding1"       => self::uint16,
        "FamilyNameSize" => self::uint16,
      ));
    }
    
    function parse() {
      exit("EOT not supported yet");
    }
    
    public function readUInt16() {
      $a = unpack('vv', $this->read(2));
      return $a['v'];
    }
  
    public function readUInt32() {
      $a = unpack('VV', $this->read(4));
      return $a['V'];
    }
  }