Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/inc/lib/phpdocx/classes/CreateFontTable.inc

230 lines
6.2 KiB

<?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);
}
}