HEX
Server: Apache/2.4.61 (Ubuntu)
System: Linux hosting106 7.0.12-1-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.12-1 (2026-06-09T21:07Z) x86_64
User: clinicadentalargarate.com (1193)
PHP: 7.4.33
Disabled: 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,pcntl_unshare,
Upload Files
File: /home/cursos.ril.es/vendor/phenx/php-font-lib/classes/Font_Table.php
<?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
 */

/**
 * Generic font table.
 * 
 * @package php-font-lib
 */
class Font_Table extends Font_Binary_Stream {
  /**
   * @var Font_Table_Directory_Entry
   */
  protected $entry;
  protected $def = array();
  
  public $data;
  
  final public function __construct(Font_Table_Directory_Entry $entry) {
    $this->entry = $entry;
    $entry->setTable($this);
  }
  
  /**
   * @return Font_TrueType
   */
  public function getFont(){
    return $this->entry->getFont();
  }
  
  protected function _encode(){
    if (empty($this->data)) {
      Font::d("  >> Table is empty");
      return 0;
    }
    
    return $this->getFont()->pack($this->def, $this->data);
  }
  
  protected function _parse(){
    $this->data = $this->getFont()->unpack($this->def);
  }
  
  protected function _parseRaw(){
    $this->data = $this->getFont()->read($this->entry->length);
  }
  
  protected function _encodeRaw(){
    return $this->getFont()->write($this->data, $this->entry->length);
  }
  
  public function toHTML(){
    return "<pre>".var_export($this->data, true)."</pre>"; 
  }
  
  final public function encode(){
    $this->entry->startWrite();
    
    if (false && empty($this->def)) {
      $length = $this->_encodeRaw();
    }
    else {
      $length = $this->_encode();
    }
    
    $this->entry->endWrite();
    
    return $length;
  }
  
  final public function parse(){
    $this->entry->startRead();
    
    if (false && empty($this->def)) {
      $this->_parseRaw();
    }
    else {
      $this->_parse();
    }
    
    $this->entry->endRead();
  }
}