Файловый менеджер - Редактировать - /home/harasnat/.backupOvh/pfanner/pfanner.1334840217/modules/graphartichow/artichow/inc/Font.class.php
Назад
<?php /* * This work is hereby released into the Public Domain. * To view a copy of the public domain dedication, * visit http://creativecommons.org/licenses/publicdomain/ or send a letter to * Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. * */ require_once dirname(__FILE__)."/../Graph.class.php"; /** * Common font characteristics and methods. * Declared abstract only so that it can't be instanciated. * Users have to call 'new awPHPFont' or 'new awFileFont', * or any of their inherited classes (awFont1, awTuffy, awTTFFont, etc.) * * @package Artichow */ abstract class awFont { /** * Build the font * */ public function __construct() { } /** * Draw a text * * @param awDriver $driver * @param awPoint $p Draw text at this point * @param awText $text The text * @param int $width Text box width */ public function draw(awDriver $driver, awPoint $point, awText $text, $width = NULL) { $driver->string($this, $text, $point, $width); } } registerClass('Font', TRUE); /** * Class for fonts that cannot be transformed, * like the built-in PHP fonts for example. * * @package Artichow */ class awPHPFont extends awFont { /** * The used font identifier * * @var int */ public $font; public function __construct($font = NULL) { parent::__construct(); if ($font !== NULL) { $this->font = (int)$font; } } } registerClass('PHPFont'); /** * Class for fonts that can be transformed (rotated, skewed, etc.), * like TTF or FDB fonts for example. * * @package Artichow */ class awFileFont extends awFont { /** * The name of the font, without the extension * * @var string */ protected $name; /** * The size of the font * * @var int */ protected $size; /** * The font filename extension * * @var string */ protected $extension; public function __construct($name, $size) { parent::__construct(); $this->setName($name); $this->setSize($size); } /** * Set the name of the font. The $name variable can contain the full path, * or just the filename. Artichow will try to do The Right Thing, * as well as set the extension property correctly if possible. * * @param string $name */ public function setName($name) { $fontInfo = pathinfo((string)$name); if (strpos($fontInfo['dirname'], '/') !== 0) { // Path is not absolute, use ARTICHOW_FONT $name = ARTICHOW_FONT.DIRECTORY_SEPARATOR.$fontInfo['basename']; $fontInfo = pathinfo($name); } $this->name = $fontInfo['dirname'].DIRECTORY_SEPARATOR.$fontInfo['basename']; if (array_key_exists('extension', $fontInfo) and $fontInfo['extension'] !== '') { $this->setExtension($fontInfo['extension']); } } /** * Return the name of the font, i.e. the absolute path and the filename, without the extension. * * @return string */ public function getName() { return $this->name; } /** * Set the size of the font, in pixels * * @param int $size */ public function setSize($size) { $this->size = (int)$size; } /** * Return the size of the font, in pixels * * @return int */ public function getSize() { return $this->size; } /** * Set the extension, without the dot * * @param string $extension */ public function setExtension($extension) { $this->extension = (string)$extension; } /** * Get the filename extension for that font * * @return string */ public function getExtension() { return $this->extension; } } registerClass('FileFont'); /** * Class representing TTF fonts * * @package Artichow */ class awTTFFont extends awFileFont { public function __construct($name, $size) { parent::__construct($name, $size); if ($this->getExtension() === NULL) { $this->setExtension('ttf'); } } } registerClass('TTFFont'); $php = ''; for ($i = 1; $i <= 5; $i++) { $php .= ' class awFont'.$i.' extends awPHPFont { public function __construct() { parent::__construct('.$i.'); } } '; if (ARTICHOW_PREFIX !== 'aw') { $php .= ' class '.ARTICHOW_PREFIX.'Font'.$i.' extends awFont'.$i.' { } '; } } eval($php); $php = ''; foreach($fonts as $font) { $php .= ' class aw'.$font.' extends awFileFont { public function __construct($size) { parent::__construct(\''.$font.'\', $size); } } '; if (ARTICHOW_PREFIX !== 'aw') { $php .= ' class '.ARTICHOW_PREFIX.$font.' extends aw'.$font.' { } '; } } eval($php); /* * Environment modification for GD2 and TTF fonts */ if (function_exists('putenv')) { putenv('GDFONTPATH='.ARTICHOW_FONT); }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка