123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- <?php
- /**
- * Create font table
- *
- * @category Phpdocx
- * @package elements
- * @copyright Copyright (c) 2009-2011 Narcea Producciones Multimedia S.L.
- * (http://www.2mdc.com)
- * @license LGPL
- * @version 1.0
- * @link http://www.phpdocx.com
- * @since File available since Release 1.0
- */
- include_once dirname(__FILE__) . '/CreateElement.inc';
- /**
- * Create font table
- *
- * @category Phpdocx
- * @package elements
- * @copyright Copyright (c) 2009-2011 Narcea Producciones Multimedia S.L.
- * (http://www.2mdc.com)
- * @license http://www.phpdocx.com/wp-content/themes/lightword/pro_license.php
- * @version 1.0
- * @link http://www.phpdocx.com
- * @since Class available since Release 1.0
- */
- class CreateFontTable extends CreateElement
- {
- /**
- *
- * @var string
- * @access protected
- */
- protected $_xml;
- /**
- *
- * @var CreateFontTable
- * @access private
- * @static
- */
- private static $_instance = NULL;
- /**
- * Construct
- *
- * @access public
- */
- public function __construct()
- {
- }
- /**
- * Destruct
- *
- * @access public
- */
- public function __destruct()
- {
- }
- /**
- *
- * @return string
- * @access public
- */
- public function __toString()
- {
- return $this->_xml;
- }
- /**
- *
- * @return CreateFontTable
- * @access public
- * @static
- */
- public static function getInstance()
- {
- if (self::$_instance == NULL) {
- self::$_instance = new CreateFontTable();
- }
- return self::$_instance;
- }
- /**
- * Create font
- *
- * @access public
- * @param array args[0]
- */
- public function createFont()
- {
- $this->_xml = '';
- $args = func_get_args();
- if (!empty($args[0]['name']) && !empty($args[0]['pitch']) &&
- !empty($args[0]['usb0']) && !empty($args[0]['usb1']) &&
- !empty($args[0]['usb2']) && !empty($args[0]['usb3']) &&
- !empty($args[0]['csb0']) && !empty($args[0]['csb1']) &&
- !empty($args[0]['family']) && !empty($args[0]['charset']) &&
- !empty($args[0]['panose1'])
- ) {
- $this->generateFONT($args[0]['name']);
- $this->generatePANOSE1($args[0]['panose1']);
- $this->generateCHARSET($args[0]['charset']);
- $this->generateFAMILY($args[0]['family']);
- $this->generatePITCH($args[0]['pitch']);
- $this->generateSIG(
- $args[0]['usb0'], $args[0]['usb1'], $args[0]['usb2'],
- $args[0]['usb3'], $args[0]['csb0'], $args[0]['csb1']
- );
- } else {
- exit('You`re adding an empty font');
- }
- }
- /**
- * Generate w:font
- *
- * @param string $name
- * @access protected
- */
- protected function generateFONT($name = 'Calibri')
- {
- $this->_xml = '<' . CreateElement::NAMESPACEWORD .
- ':font ' . CreateDocx::NAMESPACEWORD .
- ':name="' . $name .
- '">__GENERATEFONT__</' . CreateElement::NAMESPACEWORD .
- ':font>';
- }
- /**
- * Generate w:panose1
- *
- * @param string $val
- * @access protected
- */
- protected function generatePANOSE1($val = '020F0502020204030204')
- {
- $xml = '<' . CreateElement::NAMESPACEWORD .
- ':panose1 ' . CreateElement::NAMESPACEWORD .
- ':val="' . $val .
- '"></' . CreateElement::NAMESPACEWORD .
- ':panose1>__GENERATEPANOSE1__';
- $this->_xml = str_replace('__GENERATEFONT__', $xml, $this->_xml);
- }
- /**
- * Generate w:charset
- *
- * @param string $val
- * @access protected
- */
- protected function generateCHARSET($val = '00')
- {
- $xml = '<' . CreateElement::NAMESPACEWORD .
- ':charset ' . CreateElement::NAMESPACEWORD .
- ':val="' . $val . '"></' . CreateElement::NAMESPACEWORD .
- ':charset>__GENERATECHARSET__';
- $this->_xml = str_replace('__GENERATEPANOSE1__', $xml, $this->_xml);
- }
-
- /**
- * Generate w:family
- *
- * @param string $val
- * @access protected
- */
- protected function generateFAMILY($val = 'swiss')
- {
- $xml = '<' . CreateElement::NAMESPACEWORD .
- ':family ' . CreateElement::NAMESPACEWORD .
- ':val="' . $val .
- '"></' . CreateElement::NAMESPACEWORD .
- ':family>__GENERATEFAMILY__';
-
- $this->_xml = str_replace('__GENERATECHARSET__', $xml, $this->_xml);
- }
- /**
- * Generate w:pitch
- *
- * @param string $val
- * @access protected
- */
- protected function generatePITCH($val = '00')
- {
- $xml = '<' . CreateElement::NAMESPACEWORD .
- ':pitch ' . CreateElement::NAMESPACEWORD .
- ':val="' . $val .
- '"></' . CreateElement::NAMESPACEWORD .
- ':pitch>__GENERATEPITCH__';
-
- $this->_xml = str_replace('__GENERATEFAMILY__', $xml, $this->_xml);
- }
- /**
- * Generate w:sig
- *
- * @param string $usbA
- * @param string $usbB
- * @param string $usbC
- * @param string $usbD
- * @param string $csbA
- * @param string $csbB
- * @access protected
- */
- protected function generateSIG($usbA = 'A00002EF', $usbB = '4000207B',
- $usbC = '00000000', $usbD = '00000000',
- $csbA = '0000009F', $csbB = '00000000')
- {
- $xml = '<' . CreateElement::NAMESPACEWORD .
- ':sig ' . CreateElement::NAMESPACEWORD .
- ':usb0="' . $usbA . '" ' . CreateElement::NAMESPACEWORD .
- ':usb1="' . $usbB . '" ' . CreateElement::NAMESPACEWORD .
- ':usb2="' . $usbC . '" ' . CreateElement::NAMESPACEWORD .
- ':usb3="' . $usbD . '" ' . CreateElement::NAMESPACEWORD .
- ':csb0="' . $csbA . '" ' . CreateElement::NAMESPACEWORD .
- ':csb1="' . $csbB . '"></' . CreateElement::NAMESPACEWORD .
- ':sig>';
- $this->_xml = str_replace('__GENERATEPITCH__', $xml, $this->_xml);
- }
- }
|