Changes to AgileBill
This commit is contained in:
parent
0a22cfe22c
commit
27aee719b0
20
admin.php
20
admin.php
@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* AgileBill - Open Billing Software
|
||||
*
|
||||
@ -7,20 +6,27 @@
|
||||
* modify it under the terms of the Open AgileBill License
|
||||
* License as published at http://www.agileco.com/agilebill/license1-4.txt
|
||||
*
|
||||
* For questions, help, comments, discussion, etc., please join the
|
||||
* Agileco community forums at http://forum.agileco.com/
|
||||
* Originally authored by Tony Landis, AgileBill LLC
|
||||
* Recent modifications by Deon George
|
||||
*
|
||||
* @author Deon George <deonATleenooksDOTnet>
|
||||
* @copyright 2009 Deon George
|
||||
* @link http://osb.leenooks.net
|
||||
*
|
||||
* @link http://www.agileco.com/
|
||||
* @copyright 2004-2008 Agileco, LLC.
|
||||
* @license http://www.agileco.com/agilebill/license1-4.txt
|
||||
* @author Tony Landis <tony@agileco.com>
|
||||
* @package AgileBill
|
||||
* @version 1.4.93
|
||||
* @subpackage Core
|
||||
*/
|
||||
|
||||
if(!isset($_POST["default_admin"]) && !isset($_POST["default_admin"]))
|
||||
{
|
||||
/**
|
||||
* The main AgileBill Entry Page
|
||||
*/
|
||||
|
||||
if(! isset($_POST['default_admin']) && ! isset($_POST['default_admin']))
|
||||
DEFINE('ADMIN_FORCE',true);
|
||||
}
|
||||
|
||||
include_once('index.php');
|
||||
?>
|
32
ajax.php
32
ajax.php
@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* AgileBill - Open Billing Software
|
||||
*
|
||||
@ -7,43 +6,56 @@
|
||||
* modify it under the terms of the Open AgileBill License
|
||||
* License as published at http://www.agileco.com/agilebill/license1-4.txt
|
||||
*
|
||||
* For questions, help, comments, discussion, etc., please join the
|
||||
* Agileco community forums at http://forum.agileco.com/
|
||||
* Originally authored by Tony Landis, AgileBill LLC
|
||||
* Recent modifications by Deon George
|
||||
*
|
||||
* @author Deon George <deonATleenooksDOTnet>
|
||||
* @copyright 2009 Deon George
|
||||
* @link http://osb.leenooks.net
|
||||
*
|
||||
* @link http://www.agileco.com/
|
||||
* @copyright 2004-2008 Agileco, LLC.
|
||||
* @license http://www.agileco.com/agilebill/license1-4.txt
|
||||
* @author Tony Landis <tony@agileco.com>
|
||||
* @package AgileBill
|
||||
* @version 1.4.93
|
||||
* @subpackage Core
|
||||
*/
|
||||
|
||||
/**
|
||||
* The main AgileBill AJAX rendering
|
||||
*/
|
||||
|
||||
ob_start();
|
||||
define('AJAX',1);
|
||||
|
||||
require_once('config.inc.php');
|
||||
require_once('modules/module.inc.php');
|
||||
require_once('modules/core/vars.inc.php');
|
||||
$C_vars = new CORE_vars;
|
||||
$VAR = $C_vars->f;
|
||||
|
||||
require_once('includes/adodb/adodb.inc.php');
|
||||
require_once('modules/core/auth.inc.php');
|
||||
require_once('modules/core/database.inc.php');
|
||||
require_once('modules/core/method_ajax.inc.php');
|
||||
require_once('modules/core/session.inc.php');
|
||||
require_once('modules/core/setup.inc.php');
|
||||
require_once(PATH_CORE.'auth.inc.php');
|
||||
require_once(PATH_CORE.'database.inc.php');
|
||||
require_once(PATH_CORE.'method_ajax.inc.php');
|
||||
require_once(PATH_CORE.'session.inc.php');
|
||||
require_once(PATH_CORE.'setup.inc.php');
|
||||
require_once(PATH_CORE.'xml.inc.php');
|
||||
|
||||
$C_debug = new CORE_debugger;
|
||||
$C_setup = new CORE_setup;
|
||||
$C_sess = new CORE_session;
|
||||
$C_sess->session_constant();
|
||||
$C_method = new CORE_method;
|
||||
|
||||
if ((isset($VAR['_login'])) && (isset($VAR['_username'])) && (isset($VAR['_password']))) {
|
||||
require_once(PATH_CORE.'login.inc.php');
|
||||
$C_login = new CORE_login_handler();
|
||||
$C_login->login($VAR);
|
||||
}
|
||||
|
||||
$C_sess->session_constant_log();
|
||||
$C_auth = new CORE_auth(false);
|
||||
$C_method->do_all();
|
||||
ob_end_flush();
|
||||
|
||||
?>
|
@ -1 +1,3 @@
|
||||
<!--
|
||||
# this file must be writable by php to proceed with installation
|
||||
-->
|
||||
|
103
cookie.index.php
103
cookie.index.php
@ -1,103 +0,0 @@
|
||||
<?php
|
||||
ob_start();
|
||||
|
||||
# Require the needed files...
|
||||
require_once('config.inc.php');
|
||||
require_once(PATH_ADODB . 'adodb.inc.php');
|
||||
require_once(PATH_CORE . 'auth.inc.php');
|
||||
require_once(PATH_CORE . 'database.inc.php');
|
||||
require_once(PATH_CORE . 'session.inc.php');
|
||||
require_once(PATH_CORE . 'setup.inc.php');
|
||||
require_once(PATH_CORE . 'vars.inc.php');
|
||||
require_once(PATH_CORE . 'xml.inc.php');
|
||||
|
||||
# start the debugger
|
||||
$C_debug = new CORE_debugger;
|
||||
|
||||
# remove conflicting s variable
|
||||
if (isset($_GET['s']))
|
||||
{
|
||||
$_GET_s = $_GET['s'];
|
||||
unset($_GET['s']);
|
||||
}
|
||||
else if( isset($_POST['s']))
|
||||
{
|
||||
$_POST_s = $_POST['s'];
|
||||
unset($_POST['s']);
|
||||
}
|
||||
|
||||
# get the vars...
|
||||
$C_vars = new CORE_vars;
|
||||
$VAR = $C_vars->f;
|
||||
|
||||
# initialize the site setup
|
||||
$C_setup = new CORE_setup;
|
||||
|
||||
# initialize the session handler
|
||||
$C_sess = new CORE_session;
|
||||
|
||||
# define the other session variables as constants
|
||||
$C_sess->session_constant();
|
||||
|
||||
# update the session constants
|
||||
$C_sess->session_constant_log();
|
||||
|
||||
# initialze the authentication handler
|
||||
$force = false;
|
||||
$C_auth = new CORE_auth ($force);
|
||||
|
||||
############################################################################
|
||||
# Verify the User's Access
|
||||
$authorized = false;
|
||||
if(defined("SESS_LOGGED") && SESS_LOGGED == "1" && agile_check_auth ( _HTACCESS_ID ) )
|
||||
$authorized = true;
|
||||
|
||||
############################################################################
|
||||
## forward to login page:
|
||||
if ( !$authorized )
|
||||
{
|
||||
header("Location: ".URL."?_page=account:login_cookie&_htaccess_id=" . _HTACCESS_ID. "&_next_page="._RETURN_URL);
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
### Reset the 's' var
|
||||
if(isset($_POST_s))
|
||||
{
|
||||
$_POST['s'] = $_POST_s;
|
||||
}
|
||||
else if (isset($_GET_s))
|
||||
{
|
||||
$_GET['s'] = $_GET_s;
|
||||
}
|
||||
|
||||
|
||||
##############################
|
||||
## Check Authentication ##
|
||||
##############################
|
||||
function agile_check_auth($id)
|
||||
{
|
||||
### Check if user is a member of one of the authorized groups:
|
||||
$db = &DB();
|
||||
$sql = 'SELECT status,group_avail FROM ' . AGILE_DB_PREFIX . 'htaccess WHERE
|
||||
site_id = ' . $db->qstr(DEFAULT_SITE) . ' AND
|
||||
status = ' . $db->qstr('1') . ' AND
|
||||
id = ' . $db->qstr($id);
|
||||
$result = $db->Execute($sql);
|
||||
if($result->RecordCount() > 0)
|
||||
{
|
||||
global $C_auth;
|
||||
@$arr = unserialize($result->fields['group_avail']);
|
||||
for($i=0; $i<count($arr); $i++)
|
||||
{
|
||||
if($C_auth->auth_group_by_id($arr[$i]))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
ob_end_flush();
|
||||
?>
|
@ -1,266 +0,0 @@
|
||||
<?php
|
||||
ob_start();
|
||||
|
||||
# Define the file types
|
||||
$_IncludeFiles = Array ( 'htm', 'html', 'php', 'php3', 'php4', 'phtml', 'inc', 'phps' );
|
||||
$_VirtualFiles = Array ( 'cgi', 'shtml', 'pl' );
|
||||
$_PassFiles = Array
|
||||
(
|
||||
Array ('name' => 'jpg', 'type' => 'image/jpeg', 'disposition' => 'inline'),
|
||||
Array ('name' => 'jpeg', 'type' => 'image/jpeg', 'disposition' => 'inline'),
|
||||
Array ('name' => 'jpe', 'type' => 'image/jpeg', 'disposition' => 'inline'),
|
||||
Array ('name' => 'gif', 'type' => 'image/gif', 'disposition' => 'inline'),
|
||||
Array ('name' => 'bmp', 'type' => 'image/bmp', 'disposition' => 'inline'),
|
||||
Array ('name' => 'tif', 'type' => 'image/tif', 'disposition' => 'inline'),
|
||||
Array ('name' => 'png', 'type' => 'image/png', 'disposition' => 'inline'),
|
||||
Array ('name' => 'wbmp', 'type' => 'image/vnd.wap.wbmp', 'disposition' => 'inline'),
|
||||
|
||||
Array ('name' => 'pdf', 'type' => 'application/pdf', 'disposition' => 'inline'),
|
||||
Array ('name' => 'exe', 'type' => 'application/octet-stream', 'disposition'=> 'attatchment'),
|
||||
Array ('name' => 'zip', 'type' => 'application/x-zip', 'disposition' => 'attatchment'),
|
||||
Array ('name' => 'gzip', 'type' => 'application/gzip', 'disposition' => 'attatchment'),
|
||||
Array ('name' => 'tgz', 'type' => 'application/tgz', 'disposition' => 'attatchment'),
|
||||
Array ('name' => 'gz', 'type' => 'application/gz', 'disposition' => 'attatchment'),
|
||||
Array ('name' => 'doc', 'type' => 'application/ms-word', 'disposition' => 'inline'),
|
||||
Array ('name' => 'xls', 'type' => 'application/ms-excel', 'disposition' => 'inline'),
|
||||
Array ('name' => 'csv', 'type' => 'application/ms-excel', 'disposition' => 'inline'),
|
||||
Array ('name' => 'swf', 'type' => 'application/x-shockwave-flash', 'disposition' => 'inline'),
|
||||
|
||||
Array ('name' => 'txt', 'type' => 'text/plain', 'disposition' => 'inline'),
|
||||
Array ('name' => 'text', 'type' => 'text/plain', 'disposition' => 'inline'),
|
||||
Array ('name' => 'rtf', 'type' => 'text/richtext', 'disposition' => 'inline'),
|
||||
Array ('name' => 'xml', 'type' => 'text/xml', 'disposition' => 'inline'),
|
||||
Array ('name' => 'css', 'type' => 'text/css', 'disposition' => 'inline'),
|
||||
Array ('name' => 'js', 'type' => 'text/plain', 'disposition' => 'inline'),
|
||||
Array ('name' => 'wml', 'type' => 'text/vnd.wap.wml', 'disposition' => 'inline'),
|
||||
|
||||
Array ('name' => 'avi', 'type' => 'video/avi', 'disposition' => 'attatchment'),
|
||||
Array ('name' => 'mpg', 'type' => 'video/mpeg', 'disposition' => 'attatchment'),
|
||||
Array ('name' => 'mpeg', 'type' => 'video/mpeg', 'disposition' => 'attatchment'),
|
||||
Array ('name' => 'mpe', 'type' => 'video/mpeg', 'disposition' => 'attatchment'),
|
||||
Array ('name' => 'wmv', 'type' => 'video/x-ms-wmv', 'disposition' => 'attatchment'),
|
||||
Array ('name' => 'asf', 'type' => 'video/x-ms-asf', 'disposition' => 'attatchment')
|
||||
);
|
||||
|
||||
# Load the config file:
|
||||
require_once('config.inc.php');
|
||||
|
||||
# Require the needed files...
|
||||
require_once(PATH_ADODB . 'adodb.inc.php');
|
||||
require_once(PATH_CORE . 'auth.inc.php');
|
||||
require_once(PATH_CORE . 'database.inc.php');
|
||||
require_once(PATH_CORE . 'method.inc.php');
|
||||
require_once(PATH_CORE . 'session.inc.php');
|
||||
require_once(PATH_CORE . 'translate.inc.php');
|
||||
require_once(PATH_CORE . 'setup.inc.php');
|
||||
require_once(PATH_CORE . 'vars.inc.php');
|
||||
require_once(PATH_CORE . 'xml.inc.php');
|
||||
|
||||
## Path to the error file
|
||||
define ( 'ERROR_GIF', PATH_THEMES.DEF_THEME_N.'/images/htaccess_error.gif' );
|
||||
|
||||
# start the debugger
|
||||
$C_debug = new CORE_debugger;
|
||||
|
||||
# initialize the GET/POST vars
|
||||
$C_vars = new CORE_vars;
|
||||
$VAR = $C_vars->f;
|
||||
|
||||
# initialize the site setup
|
||||
$C_setup = new CORE_setup;
|
||||
|
||||
# initialize the session handler
|
||||
$C_sess = new CORE_session;
|
||||
|
||||
# define the other session variables as constants
|
||||
$C_sess->session_constant();
|
||||
|
||||
# initialize the translation handler
|
||||
$C_translate = new CORE_translate;
|
||||
|
||||
# update the session constants
|
||||
$C_sess->session_constant_log();
|
||||
|
||||
# initialze the authentication handler
|
||||
$force = false;
|
||||
$C_auth = new CORE_auth ($force);
|
||||
|
||||
########################################################################
|
||||
# Verify the User's Access
|
||||
$authorized = false;
|
||||
if(defined("SESS_LOGGED"))
|
||||
if(SESS_LOGGED == "1" && check_auth($VAR['_HTACCESS_ID']))
|
||||
$authorized = true;
|
||||
|
||||
############################################################################
|
||||
## If this was a GET:
|
||||
if ( isset($REQUEST_URI ) )
|
||||
{
|
||||
$ARRAY = explode ( '?', $REQUEST_URI);
|
||||
$REQUEST_URI = $ARRAY[0] ;
|
||||
}
|
||||
|
||||
## Define global system vars...
|
||||
if(!isset($DOCUMENT_ROOT)) $DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
|
||||
if(!isset($REQUEST_URI)) $REQUEST_URI = $_SERVER["REQUEST_URI"];
|
||||
if(!isset($SCRIPT_FILENAME)) $SCRIPT_FILENAME = $_SERVER["SCRIPT_FILENAME"];
|
||||
|
||||
|
||||
############################################################################
|
||||
### Check if File Exists:
|
||||
if (file_exists($DOCUMENT_ROOT.$REQUEST_URI) &&
|
||||
($SCRIPT_FILENAME != $DOCUMENT_ROOT.$REQUEST_URI) &&
|
||||
($REQUEST_URI != "/") &&
|
||||
(!ereg( '[////]{2,}$', $REQUEST_URI ) ) )
|
||||
{
|
||||
|
||||
$url = $REQUEST_URI;
|
||||
|
||||
########################################################################
|
||||
# Check Passthu File Types:
|
||||
|
||||
for ($i=0; $i<count($_PassFiles); $i++)
|
||||
{
|
||||
$ext = substr (strrchr ($DOCUMENT_ROOT.$url, "."), 1);
|
||||
if ( strtolower ( $ext ) == $_PassFiles[$i]["name"] )
|
||||
{
|
||||
if ($authorized)
|
||||
{
|
||||
# determine the filename:
|
||||
$ext1 = $_PassFiles[$i]['name'];
|
||||
@$arr2 = explode('/', $REQUEST_URI);
|
||||
$file_name = 'download.'.$ext1;
|
||||
for($ii=0; $ii<count($arr2); $ii++)
|
||||
$file_name = $arr2[$ii];
|
||||
|
||||
# Set the correct header info:
|
||||
header("Content-type: " . $_PassFiles[$i]['type']);
|
||||
header("Content-Disposition: " . $_PassFiles[$i]['disposition'] . ";filename=$file_name");
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
@readfile ($DOCUMENT_ROOT.$url, "r");
|
||||
exit();
|
||||
}
|
||||
else
|
||||
{
|
||||
# Display the error gif:
|
||||
header("Content-type: image/gif");
|
||||
header("Content-Disposition: inline;filename=error.gif");
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
@readfile (ERROR_GIF, "r");
|
||||
exit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
# Check Include File Types:
|
||||
|
||||
for ($i=0; $i<count($_IncludeFiles); $i++)
|
||||
{
|
||||
$ext = substr (strrchr ($DOCUMENT_ROOT.$url, "."), 1);
|
||||
if ( strtolower ( $ext ) == $_IncludeFiles[$i] )
|
||||
{
|
||||
if ($authorized)
|
||||
{
|
||||
## run:
|
||||
include_once ( $DOCUMENT_ROOT.$url );
|
||||
exit();
|
||||
}
|
||||
else
|
||||
{
|
||||
## forward to login page:
|
||||
header("Location: ".URL."?_page=account:login_htaccess&_htaccess_id=" . $VAR['_HTACCESS_ID'] . '&_htaccess_dir_id=' . $VAR['_HTACCESS_DIR_ID']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
########################################################################
|
||||
# Check Virtual File Types:
|
||||
for ($i=0; $i<count($_VirtualFiles); $i++)
|
||||
{
|
||||
$ext = substr (strrchr ($DOCUMENT_ROOT.$url, "."), 1);
|
||||
if ( strtolower ( $ext ) == $_VirtualFiles[$i] )
|
||||
{
|
||||
virtual ( $DOCUMENT_ROOT.$url . "?" . $variables); // < needs some work!
|
||||
exit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
########################################################################
|
||||
### Load the index file:
|
||||
|
||||
$url=strip_tags($REQUEST_URI);
|
||||
$url_array=explode("/",$url);
|
||||
array_shift($url_array);
|
||||
if ( $authorized ) {
|
||||
if(!empty($url_array) && file_exists($DOCUMENT_ROOT.$url.INDEX_FILE) ) {
|
||||
include(INDEX_FILE);
|
||||
exit();
|
||||
} else {
|
||||
## Locate the index file, if any
|
||||
for($i=0; $i<count($_IncludeFiles); $i++) {
|
||||
if(file_exists($DOCUMENT_ROOT.$url.'index.'.$_IncludeFiles[$i])) {
|
||||
include($DOCUMENT_ROOT.$url.'index.'.$_IncludeFiles[$i]);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
## No index located!
|
||||
echo "<BR><BR><B><CENTER>PAGE NOT FOUND</CENTER></B>";
|
||||
exit();
|
||||
}
|
||||
} else {
|
||||
## forward to login page:
|
||||
header("Location: ".URL."?_page=account:login_htaccess&_htaccess_id=" . $VAR['_HTACCESS_ID'] . '&_htaccess_dir_id=' . $VAR['_HTACCESS_DIR_ID']);
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
# Filetype not defined, force download:
|
||||
|
||||
header("Pragma: public");
|
||||
header("Expires: 0");
|
||||
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
|
||||
header("Content-Type: application/force-download");
|
||||
header("Content-Type: application/octet-stream");
|
||||
header("Content-Type: application/download");
|
||||
header("Content-Disposition: attachment; filename=".@basename($DOCUMENT_ROOT.$url).";");
|
||||
header("Content-Transfer-Encoding: binary");
|
||||
header("Content-Length: ".@filesize($DOCUMENT_ROOT.$url));
|
||||
@readfile("$DOCUMENT_ROOT.$url");
|
||||
exit();
|
||||
|
||||
|
||||
##############################
|
||||
## Check Authentication ##
|
||||
##############################
|
||||
function check_auth($id)
|
||||
{
|
||||
### Check if user is a member of one of the authorized groups:
|
||||
$db = &DB();
|
||||
$sql = 'SELECT status,group_avail FROM ' . AGILE_DB_PREFIX . 'htaccess WHERE
|
||||
site_id = ' . $db->qstr(DEFAULT_SITE) . ' AND
|
||||
status = ' . $db->qstr('1') . ' AND
|
||||
id = ' . $db->qstr($id);
|
||||
$result = $db->Execute($sql);
|
||||
if($result->RecordCount() > 0) {
|
||||
global $C_auth;
|
||||
@$arr = unserialize($result->fields['group_avail']);
|
||||
for($i=0; $i<count($arr); $i++)
|
||||
if($C_auth->auth_group_by_id($arr[$i]))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
ob_end_flush();
|
||||
?>
|
7
includes/fpdf/font/courier.php
Executable file
7
includes/fpdf/font/courier.php
Executable file
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
for($i=0;$i<=255;$i++)
|
||||
$fpdf_charwidths['courier'][chr($i)]=600;
|
||||
$fpdf_charwidths['courierB']=$fpdf_charwidths['courier'];
|
||||
$fpdf_charwidths['courierI']=$fpdf_charwidths['courier'];
|
||||
$fpdf_charwidths['courierBI']=$fpdf_charwidths['courier'];
|
||||
?>
|
4
includes/fpdf/font/desktop.ini
Executable file
4
includes/fpdf/font/desktop.ini
Executable file
@ -0,0 +1,4 @@
|
||||
[ViewState]
|
||||
Mode=
|
||||
Vid=
|
||||
FolderType=NotSpecified
|
15
includes/fpdf/font/helvetica.php
Executable file
15
includes/fpdf/font/helvetica.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
$fpdf_charwidths['helvetica']=array(
|
||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
||||
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833,
|
||||
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556,
|
||||
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556,
|
||||
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
||||
?>
|
15
includes/fpdf/font/helveticab.php
Executable file
15
includes/fpdf/font/helveticab.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
$fpdf_charwidths['helveticaB']=array(
|
||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
||||
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889,
|
||||
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556,
|
||||
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611,
|
||||
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556);
|
||||
?>
|
15
includes/fpdf/font/helveticabi.php
Executable file
15
includes/fpdf/font/helveticabi.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
$fpdf_charwidths['helveticaBI']=array(
|
||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
||||
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889,
|
||||
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556,
|
||||
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611,
|
||||
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556);
|
||||
?>
|
15
includes/fpdf/font/helveticai.php
Executable file
15
includes/fpdf/font/helveticai.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
$fpdf_charwidths['helveticaI']=array(
|
||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
||||
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833,
|
||||
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556,
|
||||
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556,
|
||||
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
||||
?>
|
251
includes/fpdf/font/makefont/cp1250.map
Executable file
251
includes/fpdf/font/makefont/cp1250.map
Executable file
@ -0,0 +1,251 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+20AC Euro
|
||||
!82 U+201A quotesinglbase
|
||||
!84 U+201E quotedblbase
|
||||
!85 U+2026 ellipsis
|
||||
!86 U+2020 dagger
|
||||
!87 U+2021 daggerdbl
|
||||
!89 U+2030 perthousand
|
||||
!8A U+0160 Scaron
|
||||
!8B U+2039 guilsinglleft
|
||||
!8C U+015A Sacute
|
||||
!8D U+0164 Tcaron
|
||||
!8E U+017D Zcaron
|
||||
!8F U+0179 Zacute
|
||||
!91 U+2018 quoteleft
|
||||
!92 U+2019 quoteright
|
||||
!93 U+201C quotedblleft
|
||||
!94 U+201D quotedblright
|
||||
!95 U+2022 bullet
|
||||
!96 U+2013 endash
|
||||
!97 U+2014 emdash
|
||||
!99 U+2122 trademark
|
||||
!9A U+0161 scaron
|
||||
!9B U+203A guilsinglright
|
||||
!9C U+015B sacute
|
||||
!9D U+0165 tcaron
|
||||
!9E U+017E zcaron
|
||||
!9F U+017A zacute
|
||||
!A0 U+00A0 space
|
||||
!A1 U+02C7 caron
|
||||
!A2 U+02D8 breve
|
||||
!A3 U+0141 Lslash
|
||||
!A4 U+00A4 currency
|
||||
!A5 U+0104 Aogonek
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+015E Scedilla
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+017B Zdotaccent
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+02DB ogonek
|
||||
!B3 U+0142 lslash
|
||||
!B4 U+00B4 acute
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+00B8 cedilla
|
||||
!B9 U+0105 aogonek
|
||||
!BA U+015F scedilla
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+013D Lcaron
|
||||
!BD U+02DD hungarumlaut
|
||||
!BE U+013E lcaron
|
||||
!BF U+017C zdotaccent
|
||||
!C0 U+0154 Racute
|
||||
!C1 U+00C1 Aacute
|
||||
!C2 U+00C2 Acircumflex
|
||||
!C3 U+0102 Abreve
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+0139 Lacute
|
||||
!C6 U+0106 Cacute
|
||||
!C7 U+00C7 Ccedilla
|
||||
!C8 U+010C Ccaron
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+0118 Eogonek
|
||||
!CB U+00CB Edieresis
|
||||
!CC U+011A Ecaron
|
||||
!CD U+00CD Iacute
|
||||
!CE U+00CE Icircumflex
|
||||
!CF U+010E Dcaron
|
||||
!D0 U+0110 Dcroat
|
||||
!D1 U+0143 Nacute
|
||||
!D2 U+0147 Ncaron
|
||||
!D3 U+00D3 Oacute
|
||||
!D4 U+00D4 Ocircumflex
|
||||
!D5 U+0150 Ohungarumlaut
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+00D7 multiply
|
||||
!D8 U+0158 Rcaron
|
||||
!D9 U+016E Uring
|
||||
!DA U+00DA Uacute
|
||||
!DB U+0170 Uhungarumlaut
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+00DD Yacute
|
||||
!DE U+0162 Tcommaaccent
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+0155 racute
|
||||
!E1 U+00E1 aacute
|
||||
!E2 U+00E2 acircumflex
|
||||
!E3 U+0103 abreve
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+013A lacute
|
||||
!E6 U+0107 cacute
|
||||
!E7 U+00E7 ccedilla
|
||||
!E8 U+010D ccaron
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+0119 eogonek
|
||||
!EB U+00EB edieresis
|
||||
!EC U+011B ecaron
|
||||
!ED U+00ED iacute
|
||||
!EE U+00EE icircumflex
|
||||
!EF U+010F dcaron
|
||||
!F0 U+0111 dcroat
|
||||
!F1 U+0144 nacute
|
||||
!F2 U+0148 ncaron
|
||||
!F3 U+00F3 oacute
|
||||
!F4 U+00F4 ocircumflex
|
||||
!F5 U+0151 ohungarumlaut
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+00F7 divide
|
||||
!F8 U+0159 rcaron
|
||||
!F9 U+016F uring
|
||||
!FA U+00FA uacute
|
||||
!FB U+0171 uhungarumlaut
|
||||
!FC U+00FC udieresis
|
||||
!FD U+00FD yacute
|
||||
!FE U+0163 tcommaaccent
|
||||
!FF U+02D9 dotaccent
|
255
includes/fpdf/font/makefont/cp1251.map
Executable file
255
includes/fpdf/font/makefont/cp1251.map
Executable file
@ -0,0 +1,255 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+0402 afii10051
|
||||
!81 U+0403 afii10052
|
||||
!82 U+201A quotesinglbase
|
||||
!83 U+0453 afii10100
|
||||
!84 U+201E quotedblbase
|
||||
!85 U+2026 ellipsis
|
||||
!86 U+2020 dagger
|
||||
!87 U+2021 daggerdbl
|
||||
!88 U+20AC Euro
|
||||
!89 U+2030 perthousand
|
||||
!8A U+0409 afii10058
|
||||
!8B U+2039 guilsinglleft
|
||||
!8C U+040A afii10059
|
||||
!8D U+040C afii10061
|
||||
!8E U+040B afii10060
|
||||
!8F U+040F afii10145
|
||||
!90 U+0452 afii10099
|
||||
!91 U+2018 quoteleft
|
||||
!92 U+2019 quoteright
|
||||
!93 U+201C quotedblleft
|
||||
!94 U+201D quotedblright
|
||||
!95 U+2022 bullet
|
||||
!96 U+2013 endash
|
||||
!97 U+2014 emdash
|
||||
!99 U+2122 trademark
|
||||
!9A U+0459 afii10106
|
||||
!9B U+203A guilsinglright
|
||||
!9C U+045A afii10107
|
||||
!9D U+045C afii10109
|
||||
!9E U+045B afii10108
|
||||
!9F U+045F afii10193
|
||||
!A0 U+00A0 space
|
||||
!A1 U+040E afii10062
|
||||
!A2 U+045E afii10110
|
||||
!A3 U+0408 afii10057
|
||||
!A4 U+00A4 currency
|
||||
!A5 U+0490 afii10050
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+0401 afii10023
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+0404 afii10053
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+0407 afii10056
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+0406 afii10055
|
||||
!B3 U+0456 afii10103
|
||||
!B4 U+0491 afii10098
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+0451 afii10071
|
||||
!B9 U+2116 afii61352
|
||||
!BA U+0454 afii10101
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+0458 afii10105
|
||||
!BD U+0405 afii10054
|
||||
!BE U+0455 afii10102
|
||||
!BF U+0457 afii10104
|
||||
!C0 U+0410 afii10017
|
||||
!C1 U+0411 afii10018
|
||||
!C2 U+0412 afii10019
|
||||
!C3 U+0413 afii10020
|
||||
!C4 U+0414 afii10021
|
||||
!C5 U+0415 afii10022
|
||||
!C6 U+0416 afii10024
|
||||
!C7 U+0417 afii10025
|
||||
!C8 U+0418 afii10026
|
||||
!C9 U+0419 afii10027
|
||||
!CA U+041A afii10028
|
||||
!CB U+041B afii10029
|
||||
!CC U+041C afii10030
|
||||
!CD U+041D afii10031
|
||||
!CE U+041E afii10032
|
||||
!CF U+041F afii10033
|
||||
!D0 U+0420 afii10034
|
||||
!D1 U+0421 afii10035
|
||||
!D2 U+0422 afii10036
|
||||
!D3 U+0423 afii10037
|
||||
!D4 U+0424 afii10038
|
||||
!D5 U+0425 afii10039
|
||||
!D6 U+0426 afii10040
|
||||
!D7 U+0427 afii10041
|
||||
!D8 U+0428 afii10042
|
||||
!D9 U+0429 afii10043
|
||||
!DA U+042A afii10044
|
||||
!DB U+042B afii10045
|
||||
!DC U+042C afii10046
|
||||
!DD U+042D afii10047
|
||||
!DE U+042E afii10048
|
||||
!DF U+042F afii10049
|
||||
!E0 U+0430 afii10065
|
||||
!E1 U+0431 afii10066
|
||||
!E2 U+0432 afii10067
|
||||
!E3 U+0433 afii10068
|
||||
!E4 U+0434 afii10069
|
||||
!E5 U+0435 afii10070
|
||||
!E6 U+0436 afii10072
|
||||
!E7 U+0437 afii10073
|
||||
!E8 U+0438 afii10074
|
||||
!E9 U+0439 afii10075
|
||||
!EA U+043A afii10076
|
||||
!EB U+043B afii10077
|
||||
!EC U+043C afii10078
|
||||
!ED U+043D afii10079
|
||||
!EE U+043E afii10080
|
||||
!EF U+043F afii10081
|
||||
!F0 U+0440 afii10082
|
||||
!F1 U+0441 afii10083
|
||||
!F2 U+0442 afii10084
|
||||
!F3 U+0443 afii10085
|
||||
!F4 U+0444 afii10086
|
||||
!F5 U+0445 afii10087
|
||||
!F6 U+0446 afii10088
|
||||
!F7 U+0447 afii10089
|
||||
!F8 U+0448 afii10090
|
||||
!F9 U+0449 afii10091
|
||||
!FA U+044A afii10092
|
||||
!FB U+044B afii10093
|
||||
!FC U+044C afii10094
|
||||
!FD U+044D afii10095
|
||||
!FE U+044E afii10096
|
||||
!FF U+044F afii10097
|
251
includes/fpdf/font/makefont/cp1252.map
Executable file
251
includes/fpdf/font/makefont/cp1252.map
Executable file
@ -0,0 +1,251 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+20AC Euro
|
||||
!82 U+201A quotesinglbase
|
||||
!83 U+0192 florin
|
||||
!84 U+201E quotedblbase
|
||||
!85 U+2026 ellipsis
|
||||
!86 U+2020 dagger
|
||||
!87 U+2021 daggerdbl
|
||||
!88 U+02C6 circumflex
|
||||
!89 U+2030 perthousand
|
||||
!8A U+0160 Scaron
|
||||
!8B U+2039 guilsinglleft
|
||||
!8C U+0152 OE
|
||||
!8E U+017D Zcaron
|
||||
!91 U+2018 quoteleft
|
||||
!92 U+2019 quoteright
|
||||
!93 U+201C quotedblleft
|
||||
!94 U+201D quotedblright
|
||||
!95 U+2022 bullet
|
||||
!96 U+2013 endash
|
||||
!97 U+2014 emdash
|
||||
!98 U+02DC tilde
|
||||
!99 U+2122 trademark
|
||||
!9A U+0161 scaron
|
||||
!9B U+203A guilsinglright
|
||||
!9C U+0153 oe
|
||||
!9E U+017E zcaron
|
||||
!9F U+0178 Ydieresis
|
||||
!A0 U+00A0 space
|
||||
!A1 U+00A1 exclamdown
|
||||
!A2 U+00A2 cent
|
||||
!A3 U+00A3 sterling
|
||||
!A4 U+00A4 currency
|
||||
!A5 U+00A5 yen
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+00AA ordfeminine
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+00AF macron
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+00B2 twosuperior
|
||||
!B3 U+00B3 threesuperior
|
||||
!B4 U+00B4 acute
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+00B8 cedilla
|
||||
!B9 U+00B9 onesuperior
|
||||
!BA U+00BA ordmasculine
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+00BC onequarter
|
||||
!BD U+00BD onehalf
|
||||
!BE U+00BE threequarters
|
||||
!BF U+00BF questiondown
|
||||
!C0 U+00C0 Agrave
|
||||
!C1 U+00C1 Aacute
|
||||
!C2 U+00C2 Acircumflex
|
||||
!C3 U+00C3 Atilde
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+00C5 Aring
|
||||
!C6 U+00C6 AE
|
||||
!C7 U+00C7 Ccedilla
|
||||
!C8 U+00C8 Egrave
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+00CA Ecircumflex
|
||||
!CB U+00CB Edieresis
|
||||
!CC U+00CC Igrave
|
||||
!CD U+00CD Iacute
|
||||
!CE U+00CE Icircumflex
|
||||
!CF U+00CF Idieresis
|
||||
!D0 U+00D0 Eth
|
||||
!D1 U+00D1 Ntilde
|
||||
!D2 U+00D2 Ograve
|
||||
!D3 U+00D3 Oacute
|
||||
!D4 U+00D4 Ocircumflex
|
||||
!D5 U+00D5 Otilde
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+00D7 multiply
|
||||
!D8 U+00D8 Oslash
|
||||
!D9 U+00D9 Ugrave
|
||||
!DA U+00DA Uacute
|
||||
!DB U+00DB Ucircumflex
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+00DD Yacute
|
||||
!DE U+00DE Thorn
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+00E0 agrave
|
||||
!E1 U+00E1 aacute
|
||||
!E2 U+00E2 acircumflex
|
||||
!E3 U+00E3 atilde
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+00E5 aring
|
||||
!E6 U+00E6 ae
|
||||
!E7 U+00E7 ccedilla
|
||||
!E8 U+00E8 egrave
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+00EA ecircumflex
|
||||
!EB U+00EB edieresis
|
||||
!EC U+00EC igrave
|
||||
!ED U+00ED iacute
|
||||
!EE U+00EE icircumflex
|
||||
!EF U+00EF idieresis
|
||||
!F0 U+00F0 eth
|
||||
!F1 U+00F1 ntilde
|
||||
!F2 U+00F2 ograve
|
||||
!F3 U+00F3 oacute
|
||||
!F4 U+00F4 ocircumflex
|
||||
!F5 U+00F5 otilde
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+00F7 divide
|
||||
!F8 U+00F8 oslash
|
||||
!F9 U+00F9 ugrave
|
||||
!FA U+00FA uacute
|
||||
!FB U+00FB ucircumflex
|
||||
!FC U+00FC udieresis
|
||||
!FD U+00FD yacute
|
||||
!FE U+00FE thorn
|
||||
!FF U+00FF ydieresis
|
239
includes/fpdf/font/makefont/cp1253.map
Executable file
239
includes/fpdf/font/makefont/cp1253.map
Executable file
@ -0,0 +1,239 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+20AC Euro
|
||||
!82 U+201A quotesinglbase
|
||||
!83 U+0192 florin
|
||||
!84 U+201E quotedblbase
|
||||
!85 U+2026 ellipsis
|
||||
!86 U+2020 dagger
|
||||
!87 U+2021 daggerdbl
|
||||
!89 U+2030 perthousand
|
||||
!8B U+2039 guilsinglleft
|
||||
!91 U+2018 quoteleft
|
||||
!92 U+2019 quoteright
|
||||
!93 U+201C quotedblleft
|
||||
!94 U+201D quotedblright
|
||||
!95 U+2022 bullet
|
||||
!96 U+2013 endash
|
||||
!97 U+2014 emdash
|
||||
!99 U+2122 trademark
|
||||
!9B U+203A guilsinglright
|
||||
!A0 U+00A0 space
|
||||
!A1 U+0385 dieresistonos
|
||||
!A2 U+0386 Alphatonos
|
||||
!A3 U+00A3 sterling
|
||||
!A4 U+00A4 currency
|
||||
!A5 U+00A5 yen
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+00A9 copyright
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+2015 afii00208
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+00B2 twosuperior
|
||||
!B3 U+00B3 threesuperior
|
||||
!B4 U+0384 tonos
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+0388 Epsilontonos
|
||||
!B9 U+0389 Etatonos
|
||||
!BA U+038A Iotatonos
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+038C Omicrontonos
|
||||
!BD U+00BD onehalf
|
||||
!BE U+038E Upsilontonos
|
||||
!BF U+038F Omegatonos
|
||||
!C0 U+0390 iotadieresistonos
|
||||
!C1 U+0391 Alpha
|
||||
!C2 U+0392 Beta
|
||||
!C3 U+0393 Gamma
|
||||
!C4 U+0394 Delta
|
||||
!C5 U+0395 Epsilon
|
||||
!C6 U+0396 Zeta
|
||||
!C7 U+0397 Eta
|
||||
!C8 U+0398 Theta
|
||||
!C9 U+0399 Iota
|
||||
!CA U+039A Kappa
|
||||
!CB U+039B Lambda
|
||||
!CC U+039C Mu
|
||||
!CD U+039D Nu
|
||||
!CE U+039E Xi
|
||||
!CF U+039F Omicron
|
||||
!D0 U+03A0 Pi
|
||||
!D1 U+03A1 Rho
|
||||
!D3 U+03A3 Sigma
|
||||
!D4 U+03A4 Tau
|
||||
!D5 U+03A5 Upsilon
|
||||
!D6 U+03A6 Phi
|
||||
!D7 U+03A7 Chi
|
||||
!D8 U+03A8 Psi
|
||||
!D9 U+03A9 Omega
|
||||
!DA U+03AA Iotadieresis
|
||||
!DB U+03AB Upsilondieresis
|
||||
!DC U+03AC alphatonos
|
||||
!DD U+03AD epsilontonos
|
||||
!DE U+03AE etatonos
|
||||
!DF U+03AF iotatonos
|
||||
!E0 U+03B0 upsilondieresistonos
|
||||
!E1 U+03B1 alpha
|
||||
!E2 U+03B2 beta
|
||||
!E3 U+03B3 gamma
|
||||
!E4 U+03B4 delta
|
||||
!E5 U+03B5 epsilon
|
||||
!E6 U+03B6 zeta
|
||||
!E7 U+03B7 eta
|
||||
!E8 U+03B8 theta
|
||||
!E9 U+03B9 iota
|
||||
!EA U+03BA kappa
|
||||
!EB U+03BB lambda
|
||||
!EC U+03BC mu
|
||||
!ED U+03BD nu
|
||||
!EE U+03BE xi
|
||||
!EF U+03BF omicron
|
||||
!F0 U+03C0 pi
|
||||
!F1 U+03C1 rho
|
||||
!F2 U+03C2 sigma1
|
||||
!F3 U+03C3 sigma
|
||||
!F4 U+03C4 tau
|
||||
!F5 U+03C5 upsilon
|
||||
!F6 U+03C6 phi
|
||||
!F7 U+03C7 chi
|
||||
!F8 U+03C8 psi
|
||||
!F9 U+03C9 omega
|
||||
!FA U+03CA iotadieresis
|
||||
!FB U+03CB upsilondieresis
|
||||
!FC U+03CC omicrontonos
|
||||
!FD U+03CD upsilontonos
|
||||
!FE U+03CE omegatonos
|
249
includes/fpdf/font/makefont/cp1254.map
Executable file
249
includes/fpdf/font/makefont/cp1254.map
Executable file
@ -0,0 +1,249 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+20AC Euro
|
||||
!82 U+201A quotesinglbase
|
||||
!83 U+0192 florin
|
||||
!84 U+201E quotedblbase
|
||||
!85 U+2026 ellipsis
|
||||
!86 U+2020 dagger
|
||||
!87 U+2021 daggerdbl
|
||||
!88 U+02C6 circumflex
|
||||
!89 U+2030 perthousand
|
||||
!8A U+0160 Scaron
|
||||
!8B U+2039 guilsinglleft
|
||||
!8C U+0152 OE
|
||||
!91 U+2018 quoteleft
|
||||
!92 U+2019 quoteright
|
||||
!93 U+201C quotedblleft
|
||||
!94 U+201D quotedblright
|
||||
!95 U+2022 bullet
|
||||
!96 U+2013 endash
|
||||
!97 U+2014 emdash
|
||||
!98 U+02DC tilde
|
||||
!99 U+2122 trademark
|
||||
!9A U+0161 scaron
|
||||
!9B U+203A guilsinglright
|
||||
!9C U+0153 oe
|
||||
!9F U+0178 Ydieresis
|
||||
!A0 U+00A0 space
|
||||
!A1 U+00A1 exclamdown
|
||||
!A2 U+00A2 cent
|
||||
!A3 U+00A3 sterling
|
||||
!A4 U+00A4 currency
|
||||
!A5 U+00A5 yen
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+00AA ordfeminine
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+00AF macron
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+00B2 twosuperior
|
||||
!B3 U+00B3 threesuperior
|
||||
!B4 U+00B4 acute
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+00B8 cedilla
|
||||
!B9 U+00B9 onesuperior
|
||||
!BA U+00BA ordmasculine
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+00BC onequarter
|
||||
!BD U+00BD onehalf
|
||||
!BE U+00BE threequarters
|
||||
!BF U+00BF questiondown
|
||||
!C0 U+00C0 Agrave
|
||||
!C1 U+00C1 Aacute
|
||||
!C2 U+00C2 Acircumflex
|
||||
!C3 U+00C3 Atilde
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+00C5 Aring
|
||||
!C6 U+00C6 AE
|
||||
!C7 U+00C7 Ccedilla
|
||||
!C8 U+00C8 Egrave
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+00CA Ecircumflex
|
||||
!CB U+00CB Edieresis
|
||||
!CC U+00CC Igrave
|
||||
!CD U+00CD Iacute
|
||||
!CE U+00CE Icircumflex
|
||||
!CF U+00CF Idieresis
|
||||
!D0 U+011E Gbreve
|
||||
!D1 U+00D1 Ntilde
|
||||
!D2 U+00D2 Ograve
|
||||
!D3 U+00D3 Oacute
|
||||
!D4 U+00D4 Ocircumflex
|
||||
!D5 U+00D5 Otilde
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+00D7 multiply
|
||||
!D8 U+00D8 Oslash
|
||||
!D9 U+00D9 Ugrave
|
||||
!DA U+00DA Uacute
|
||||
!DB U+00DB Ucircumflex
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+0130 Idotaccent
|
||||
!DE U+015E Scedilla
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+00E0 agrave
|
||||
!E1 U+00E1 aacute
|
||||
!E2 U+00E2 acircumflex
|
||||
!E3 U+00E3 atilde
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+00E5 aring
|
||||
!E6 U+00E6 ae
|
||||
!E7 U+00E7 ccedilla
|
||||
!E8 U+00E8 egrave
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+00EA ecircumflex
|
||||
!EB U+00EB edieresis
|
||||
!EC U+00EC igrave
|
||||
!ED U+00ED iacute
|
||||
!EE U+00EE icircumflex
|
||||
!EF U+00EF idieresis
|
||||
!F0 U+011F gbreve
|
||||
!F1 U+00F1 ntilde
|
||||
!F2 U+00F2 ograve
|
||||
!F3 U+00F3 oacute
|
||||
!F4 U+00F4 ocircumflex
|
||||
!F5 U+00F5 otilde
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+00F7 divide
|
||||
!F8 U+00F8 oslash
|
||||
!F9 U+00F9 ugrave
|
||||
!FA U+00FA uacute
|
||||
!FB U+00FB ucircumflex
|
||||
!FC U+00FC udieresis
|
||||
!FD U+0131 dotlessi
|
||||
!FE U+015F scedilla
|
||||
!FF U+00FF ydieresis
|
233
includes/fpdf/font/makefont/cp1255.map
Executable file
233
includes/fpdf/font/makefont/cp1255.map
Executable file
@ -0,0 +1,233 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+20AC Euro
|
||||
!82 U+201A quotesinglbase
|
||||
!83 U+0192 florin
|
||||
!84 U+201E quotedblbase
|
||||
!85 U+2026 ellipsis
|
||||
!86 U+2020 dagger
|
||||
!87 U+2021 daggerdbl
|
||||
!88 U+02C6 circumflex
|
||||
!89 U+2030 perthousand
|
||||
!8B U+2039 guilsinglleft
|
||||
!91 U+2018 quoteleft
|
||||
!92 U+2019 quoteright
|
||||
!93 U+201C quotedblleft
|
||||
!94 U+201D quotedblright
|
||||
!95 U+2022 bullet
|
||||
!96 U+2013 endash
|
||||
!97 U+2014 emdash
|
||||
!98 U+02DC tilde
|
||||
!99 U+2122 trademark
|
||||
!9B U+203A guilsinglright
|
||||
!A0 U+00A0 space
|
||||
!A1 U+00A1 exclamdown
|
||||
!A2 U+00A2 cent
|
||||
!A3 U+00A3 sterling
|
||||
!A4 U+20AA afii57636
|
||||
!A5 U+00A5 yen
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+00D7 multiply
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD sfthyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+00AF macron
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+00B2 twosuperior
|
||||
!B3 U+00B3 threesuperior
|
||||
!B4 U+00B4 acute
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 middot
|
||||
!B8 U+00B8 cedilla
|
||||
!B9 U+00B9 onesuperior
|
||||
!BA U+00F7 divide
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+00BC onequarter
|
||||
!BD U+00BD onehalf
|
||||
!BE U+00BE threequarters
|
||||
!BF U+00BF questiondown
|
||||
!C0 U+05B0 afii57799
|
||||
!C1 U+05B1 afii57801
|
||||
!C2 U+05B2 afii57800
|
||||
!C3 U+05B3 afii57802
|
||||
!C4 U+05B4 afii57793
|
||||
!C5 U+05B5 afii57794
|
||||
!C6 U+05B6 afii57795
|
||||
!C7 U+05B7 afii57798
|
||||
!C8 U+05B8 afii57797
|
||||
!C9 U+05B9 afii57806
|
||||
!CB U+05BB afii57796
|
||||
!CC U+05BC afii57807
|
||||
!CD U+05BD afii57839
|
||||
!CE U+05BE afii57645
|
||||
!CF U+05BF afii57841
|
||||
!D0 U+05C0 afii57842
|
||||
!D1 U+05C1 afii57804
|
||||
!D2 U+05C2 afii57803
|
||||
!D3 U+05C3 afii57658
|
||||
!D4 U+05F0 afii57716
|
||||
!D5 U+05F1 afii57717
|
||||
!D6 U+05F2 afii57718
|
||||
!D7 U+05F3 gereshhebrew
|
||||
!D8 U+05F4 gershayimhebrew
|
||||
!E0 U+05D0 afii57664
|
||||
!E1 U+05D1 afii57665
|
||||
!E2 U+05D2 afii57666
|
||||
!E3 U+05D3 afii57667
|
||||
!E4 U+05D4 afii57668
|
||||
!E5 U+05D5 afii57669
|
||||
!E6 U+05D6 afii57670
|
||||
!E7 U+05D7 afii57671
|
||||
!E8 U+05D8 afii57672
|
||||
!E9 U+05D9 afii57673
|
||||
!EA U+05DA afii57674
|
||||
!EB U+05DB afii57675
|
||||
!EC U+05DC afii57676
|
||||
!ED U+05DD afii57677
|
||||
!EE U+05DE afii57678
|
||||
!EF U+05DF afii57679
|
||||
!F0 U+05E0 afii57680
|
||||
!F1 U+05E1 afii57681
|
||||
!F2 U+05E2 afii57682
|
||||
!F3 U+05E3 afii57683
|
||||
!F4 U+05E4 afii57684
|
||||
!F5 U+05E5 afii57685
|
||||
!F6 U+05E6 afii57686
|
||||
!F7 U+05E7 afii57687
|
||||
!F8 U+05E8 afii57688
|
||||
!F9 U+05E9 afii57689
|
||||
!FA U+05EA afii57690
|
||||
!FD U+200E afii299
|
||||
!FE U+200F afii300
|
244
includes/fpdf/font/makefont/cp1257.map
Executable file
244
includes/fpdf/font/makefont/cp1257.map
Executable file
@ -0,0 +1,244 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+20AC Euro
|
||||
!82 U+201A quotesinglbase
|
||||
!84 U+201E quotedblbase
|
||||
!85 U+2026 ellipsis
|
||||
!86 U+2020 dagger
|
||||
!87 U+2021 daggerdbl
|
||||
!89 U+2030 perthousand
|
||||
!8B U+2039 guilsinglleft
|
||||
!8D U+00A8 dieresis
|
||||
!8E U+02C7 caron
|
||||
!8F U+00B8 cedilla
|
||||
!91 U+2018 quoteleft
|
||||
!92 U+2019 quoteright
|
||||
!93 U+201C quotedblleft
|
||||
!94 U+201D quotedblright
|
||||
!95 U+2022 bullet
|
||||
!96 U+2013 endash
|
||||
!97 U+2014 emdash
|
||||
!99 U+2122 trademark
|
||||
!9B U+203A guilsinglright
|
||||
!9D U+00AF macron
|
||||
!9E U+02DB ogonek
|
||||
!A0 U+00A0 space
|
||||
!A2 U+00A2 cent
|
||||
!A3 U+00A3 sterling
|
||||
!A4 U+00A4 currency
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00D8 Oslash
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+0156 Rcommaaccent
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+00C6 AE
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+00B2 twosuperior
|
||||
!B3 U+00B3 threesuperior
|
||||
!B4 U+00B4 acute
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+00F8 oslash
|
||||
!B9 U+00B9 onesuperior
|
||||
!BA U+0157 rcommaaccent
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+00BC onequarter
|
||||
!BD U+00BD onehalf
|
||||
!BE U+00BE threequarters
|
||||
!BF U+00E6 ae
|
||||
!C0 U+0104 Aogonek
|
||||
!C1 U+012E Iogonek
|
||||
!C2 U+0100 Amacron
|
||||
!C3 U+0106 Cacute
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+00C5 Aring
|
||||
!C6 U+0118 Eogonek
|
||||
!C7 U+0112 Emacron
|
||||
!C8 U+010C Ccaron
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+0179 Zacute
|
||||
!CB U+0116 Edotaccent
|
||||
!CC U+0122 Gcommaaccent
|
||||
!CD U+0136 Kcommaaccent
|
||||
!CE U+012A Imacron
|
||||
!CF U+013B Lcommaaccent
|
||||
!D0 U+0160 Scaron
|
||||
!D1 U+0143 Nacute
|
||||
!D2 U+0145 Ncommaaccent
|
||||
!D3 U+00D3 Oacute
|
||||
!D4 U+014C Omacron
|
||||
!D5 U+00D5 Otilde
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+00D7 multiply
|
||||
!D8 U+0172 Uogonek
|
||||
!D9 U+0141 Lslash
|
||||
!DA U+015A Sacute
|
||||
!DB U+016A Umacron
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+017B Zdotaccent
|
||||
!DE U+017D Zcaron
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+0105 aogonek
|
||||
!E1 U+012F iogonek
|
||||
!E2 U+0101 amacron
|
||||
!E3 U+0107 cacute
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+00E5 aring
|
||||
!E6 U+0119 eogonek
|
||||
!E7 U+0113 emacron
|
||||
!E8 U+010D ccaron
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+017A zacute
|
||||
!EB U+0117 edotaccent
|
||||
!EC U+0123 gcommaaccent
|
||||
!ED U+0137 kcommaaccent
|
||||
!EE U+012B imacron
|
||||
!EF U+013C lcommaaccent
|
||||
!F0 U+0161 scaron
|
||||
!F1 U+0144 nacute
|
||||
!F2 U+0146 ncommaaccent
|
||||
!F3 U+00F3 oacute
|
||||
!F4 U+014D omacron
|
||||
!F5 U+00F5 otilde
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+00F7 divide
|
||||
!F8 U+0173 uogonek
|
||||
!F9 U+0142 lslash
|
||||
!FA U+015B sacute
|
||||
!FB U+016B umacron
|
||||
!FC U+00FC udieresis
|
||||
!FD U+017C zdotaccent
|
||||
!FE U+017E zcaron
|
||||
!FF U+02D9 dotaccent
|
247
includes/fpdf/font/makefont/cp1258.map
Executable file
247
includes/fpdf/font/makefont/cp1258.map
Executable file
@ -0,0 +1,247 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+20AC Euro
|
||||
!82 U+201A quotesinglbase
|
||||
!83 U+0192 florin
|
||||
!84 U+201E quotedblbase
|
||||
!85 U+2026 ellipsis
|
||||
!86 U+2020 dagger
|
||||
!87 U+2021 daggerdbl
|
||||
!88 U+02C6 circumflex
|
||||
!89 U+2030 perthousand
|
||||
!8B U+2039 guilsinglleft
|
||||
!8C U+0152 OE
|
||||
!91 U+2018 quoteleft
|
||||
!92 U+2019 quoteright
|
||||
!93 U+201C quotedblleft
|
||||
!94 U+201D quotedblright
|
||||
!95 U+2022 bullet
|
||||
!96 U+2013 endash
|
||||
!97 U+2014 emdash
|
||||
!98 U+02DC tilde
|
||||
!99 U+2122 trademark
|
||||
!9B U+203A guilsinglright
|
||||
!9C U+0153 oe
|
||||
!9F U+0178 Ydieresis
|
||||
!A0 U+00A0 space
|
||||
!A1 U+00A1 exclamdown
|
||||
!A2 U+00A2 cent
|
||||
!A3 U+00A3 sterling
|
||||
!A4 U+00A4 currency
|
||||
!A5 U+00A5 yen
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+00AA ordfeminine
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+00AF macron
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+00B2 twosuperior
|
||||
!B3 U+00B3 threesuperior
|
||||
!B4 U+00B4 acute
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+00B8 cedilla
|
||||
!B9 U+00B9 onesuperior
|
||||
!BA U+00BA ordmasculine
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+00BC onequarter
|
||||
!BD U+00BD onehalf
|
||||
!BE U+00BE threequarters
|
||||
!BF U+00BF questiondown
|
||||
!C0 U+00C0 Agrave
|
||||
!C1 U+00C1 Aacute
|
||||
!C2 U+00C2 Acircumflex
|
||||
!C3 U+0102 Abreve
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+00C5 Aring
|
||||
!C6 U+00C6 AE
|
||||
!C7 U+00C7 Ccedilla
|
||||
!C8 U+00C8 Egrave
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+00CA Ecircumflex
|
||||
!CB U+00CB Edieresis
|
||||
!CC U+0300 gravecomb
|
||||
!CD U+00CD Iacute
|
||||
!CE U+00CE Icircumflex
|
||||
!CF U+00CF Idieresis
|
||||
!D0 U+0110 Dcroat
|
||||
!D1 U+00D1 Ntilde
|
||||
!D2 U+0309 hookabovecomb
|
||||
!D3 U+00D3 Oacute
|
||||
!D4 U+00D4 Ocircumflex
|
||||
!D5 U+01A0 Ohorn
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+00D7 multiply
|
||||
!D8 U+00D8 Oslash
|
||||
!D9 U+00D9 Ugrave
|
||||
!DA U+00DA Uacute
|
||||
!DB U+00DB Ucircumflex
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+01AF Uhorn
|
||||
!DE U+0303 tildecomb
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+00E0 agrave
|
||||
!E1 U+00E1 aacute
|
||||
!E2 U+00E2 acircumflex
|
||||
!E3 U+0103 abreve
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+00E5 aring
|
||||
!E6 U+00E6 ae
|
||||
!E7 U+00E7 ccedilla
|
||||
!E8 U+00E8 egrave
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+00EA ecircumflex
|
||||
!EB U+00EB edieresis
|
||||
!EC U+0301 acutecomb
|
||||
!ED U+00ED iacute
|
||||
!EE U+00EE icircumflex
|
||||
!EF U+00EF idieresis
|
||||
!F0 U+0111 dcroat
|
||||
!F1 U+00F1 ntilde
|
||||
!F2 U+0323 dotbelowcomb
|
||||
!F3 U+00F3 oacute
|
||||
!F4 U+00F4 ocircumflex
|
||||
!F5 U+01A1 ohorn
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+00F7 divide
|
||||
!F8 U+00F8 oslash
|
||||
!F9 U+00F9 ugrave
|
||||
!FA U+00FA uacute
|
||||
!FB U+00FB ucircumflex
|
||||
!FC U+00FC udieresis
|
||||
!FD U+01B0 uhorn
|
||||
!FE U+20AB dong
|
||||
!FF U+00FF ydieresis
|
225
includes/fpdf/font/makefont/cp874.map
Executable file
225
includes/fpdf/font/makefont/cp874.map
Executable file
@ -0,0 +1,225 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+20AC Euro
|
||||
!85 U+2026 ellipsis
|
||||
!91 U+2018 quoteleft
|
||||
!92 U+2019 quoteright
|
||||
!93 U+201C quotedblleft
|
||||
!94 U+201D quotedblright
|
||||
!95 U+2022 bullet
|
||||
!96 U+2013 endash
|
||||
!97 U+2014 emdash
|
||||
!A0 U+00A0 space
|
||||
!A1 U+0E01 kokaithai
|
||||
!A2 U+0E02 khokhaithai
|
||||
!A3 U+0E03 khokhuatthai
|
||||
!A4 U+0E04 khokhwaithai
|
||||
!A5 U+0E05 khokhonthai
|
||||
!A6 U+0E06 khorakhangthai
|
||||
!A7 U+0E07 ngonguthai
|
||||
!A8 U+0E08 chochanthai
|
||||
!A9 U+0E09 chochingthai
|
||||
!AA U+0E0A chochangthai
|
||||
!AB U+0E0B sosothai
|
||||
!AC U+0E0C chochoethai
|
||||
!AD U+0E0D yoyingthai
|
||||
!AE U+0E0E dochadathai
|
||||
!AF U+0E0F topatakthai
|
||||
!B0 U+0E10 thothanthai
|
||||
!B1 U+0E11 thonangmonthothai
|
||||
!B2 U+0E12 thophuthaothai
|
||||
!B3 U+0E13 nonenthai
|
||||
!B4 U+0E14 dodekthai
|
||||
!B5 U+0E15 totaothai
|
||||
!B6 U+0E16 thothungthai
|
||||
!B7 U+0E17 thothahanthai
|
||||
!B8 U+0E18 thothongthai
|
||||
!B9 U+0E19 nonuthai
|
||||
!BA U+0E1A bobaimaithai
|
||||
!BB U+0E1B poplathai
|
||||
!BC U+0E1C phophungthai
|
||||
!BD U+0E1D fofathai
|
||||
!BE U+0E1E phophanthai
|
||||
!BF U+0E1F fofanthai
|
||||
!C0 U+0E20 phosamphaothai
|
||||
!C1 U+0E21 momathai
|
||||
!C2 U+0E22 yoyakthai
|
||||
!C3 U+0E23 roruathai
|
||||
!C4 U+0E24 ruthai
|
||||
!C5 U+0E25 lolingthai
|
||||
!C6 U+0E26 luthai
|
||||
!C7 U+0E27 wowaenthai
|
||||
!C8 U+0E28 sosalathai
|
||||
!C9 U+0E29 sorusithai
|
||||
!CA U+0E2A sosuathai
|
||||
!CB U+0E2B hohipthai
|
||||
!CC U+0E2C lochulathai
|
||||
!CD U+0E2D oangthai
|
||||
!CE U+0E2E honokhukthai
|
||||
!CF U+0E2F paiyannoithai
|
||||
!D0 U+0E30 saraathai
|
||||
!D1 U+0E31 maihanakatthai
|
||||
!D2 U+0E32 saraaathai
|
||||
!D3 U+0E33 saraamthai
|
||||
!D4 U+0E34 saraithai
|
||||
!D5 U+0E35 saraiithai
|
||||
!D6 U+0E36 sarauethai
|
||||
!D7 U+0E37 saraueethai
|
||||
!D8 U+0E38 sarauthai
|
||||
!D9 U+0E39 sarauuthai
|
||||
!DA U+0E3A phinthuthai
|
||||
!DF U+0E3F bahtthai
|
||||
!E0 U+0E40 saraethai
|
||||
!E1 U+0E41 saraaethai
|
||||
!E2 U+0E42 saraothai
|
||||
!E3 U+0E43 saraaimaimuanthai
|
||||
!E4 U+0E44 saraaimaimalaithai
|
||||
!E5 U+0E45 lakkhangyaothai
|
||||
!E6 U+0E46 maiyamokthai
|
||||
!E7 U+0E47 maitaikhuthai
|
||||
!E8 U+0E48 maiekthai
|
||||
!E9 U+0E49 maithothai
|
||||
!EA U+0E4A maitrithai
|
||||
!EB U+0E4B maichattawathai
|
||||
!EC U+0E4C thanthakhatthai
|
||||
!ED U+0E4D nikhahitthai
|
||||
!EE U+0E4E yamakkanthai
|
||||
!EF U+0E4F fongmanthai
|
||||
!F0 U+0E50 zerothai
|
||||
!F1 U+0E51 onethai
|
||||
!F2 U+0E52 twothai
|
||||
!F3 U+0E53 threethai
|
||||
!F4 U+0E54 fourthai
|
||||
!F5 U+0E55 fivethai
|
||||
!F6 U+0E56 sixthai
|
||||
!F7 U+0E57 seventhai
|
||||
!F8 U+0E58 eightthai
|
||||
!F9 U+0E59 ninethai
|
||||
!FA U+0E5A angkhankhuthai
|
||||
!FB U+0E5B khomutthai
|
256
includes/fpdf/font/makefont/iso-8859-1.map
Executable file
256
includes/fpdf/font/makefont/iso-8859-1.map
Executable file
@ -0,0 +1,256 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+0080 .notdef
|
||||
!81 U+0081 .notdef
|
||||
!82 U+0082 .notdef
|
||||
!83 U+0083 .notdef
|
||||
!84 U+0084 .notdef
|
||||
!85 U+0085 .notdef
|
||||
!86 U+0086 .notdef
|
||||
!87 U+0087 .notdef
|
||||
!88 U+0088 .notdef
|
||||
!89 U+0089 .notdef
|
||||
!8A U+008A .notdef
|
||||
!8B U+008B .notdef
|
||||
!8C U+008C .notdef
|
||||
!8D U+008D .notdef
|
||||
!8E U+008E .notdef
|
||||
!8F U+008F .notdef
|
||||
!90 U+0090 .notdef
|
||||
!91 U+0091 .notdef
|
||||
!92 U+0092 .notdef
|
||||
!93 U+0093 .notdef
|
||||
!94 U+0094 .notdef
|
||||
!95 U+0095 .notdef
|
||||
!96 U+0096 .notdef
|
||||
!97 U+0097 .notdef
|
||||
!98 U+0098 .notdef
|
||||
!99 U+0099 .notdef
|
||||
!9A U+009A .notdef
|
||||
!9B U+009B .notdef
|
||||
!9C U+009C .notdef
|
||||
!9D U+009D .notdef
|
||||
!9E U+009E .notdef
|
||||
!9F U+009F .notdef
|
||||
!A0 U+00A0 space
|
||||
!A1 U+00A1 exclamdown
|
||||
!A2 U+00A2 cent
|
||||
!A3 U+00A3 sterling
|
||||
!A4 U+00A4 currency
|
||||
!A5 U+00A5 yen
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+00AA ordfeminine
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+00AF macron
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+00B2 twosuperior
|
||||
!B3 U+00B3 threesuperior
|
||||
!B4 U+00B4 acute
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+00B8 cedilla
|
||||
!B9 U+00B9 onesuperior
|
||||
!BA U+00BA ordmasculine
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+00BC onequarter
|
||||
!BD U+00BD onehalf
|
||||
!BE U+00BE threequarters
|
||||
!BF U+00BF questiondown
|
||||
!C0 U+00C0 Agrave
|
||||
!C1 U+00C1 Aacute
|
||||
!C2 U+00C2 Acircumflex
|
||||
!C3 U+00C3 Atilde
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+00C5 Aring
|
||||
!C6 U+00C6 AE
|
||||
!C7 U+00C7 Ccedilla
|
||||
!C8 U+00C8 Egrave
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+00CA Ecircumflex
|
||||
!CB U+00CB Edieresis
|
||||
!CC U+00CC Igrave
|
||||
!CD U+00CD Iacute
|
||||
!CE U+00CE Icircumflex
|
||||
!CF U+00CF Idieresis
|
||||
!D0 U+00D0 Eth
|
||||
!D1 U+00D1 Ntilde
|
||||
!D2 U+00D2 Ograve
|
||||
!D3 U+00D3 Oacute
|
||||
!D4 U+00D4 Ocircumflex
|
||||
!D5 U+00D5 Otilde
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+00D7 multiply
|
||||
!D8 U+00D8 Oslash
|
||||
!D9 U+00D9 Ugrave
|
||||
!DA U+00DA Uacute
|
||||
!DB U+00DB Ucircumflex
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+00DD Yacute
|
||||
!DE U+00DE Thorn
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+00E0 agrave
|
||||
!E1 U+00E1 aacute
|
||||
!E2 U+00E2 acircumflex
|
||||
!E3 U+00E3 atilde
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+00E5 aring
|
||||
!E6 U+00E6 ae
|
||||
!E7 U+00E7 ccedilla
|
||||
!E8 U+00E8 egrave
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+00EA ecircumflex
|
||||
!EB U+00EB edieresis
|
||||
!EC U+00EC igrave
|
||||
!ED U+00ED iacute
|
||||
!EE U+00EE icircumflex
|
||||
!EF U+00EF idieresis
|
||||
!F0 U+00F0 eth
|
||||
!F1 U+00F1 ntilde
|
||||
!F2 U+00F2 ograve
|
||||
!F3 U+00F3 oacute
|
||||
!F4 U+00F4 ocircumflex
|
||||
!F5 U+00F5 otilde
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+00F7 divide
|
||||
!F8 U+00F8 oslash
|
||||
!F9 U+00F9 ugrave
|
||||
!FA U+00FA uacute
|
||||
!FB U+00FB ucircumflex
|
||||
!FC U+00FC udieresis
|
||||
!FD U+00FD yacute
|
||||
!FE U+00FE thorn
|
||||
!FF U+00FF ydieresis
|
248
includes/fpdf/font/makefont/iso-8859-11.map
Executable file
248
includes/fpdf/font/makefont/iso-8859-11.map
Executable file
@ -0,0 +1,248 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+0080 .notdef
|
||||
!81 U+0081 .notdef
|
||||
!82 U+0082 .notdef
|
||||
!83 U+0083 .notdef
|
||||
!84 U+0084 .notdef
|
||||
!85 U+0085 .notdef
|
||||
!86 U+0086 .notdef
|
||||
!87 U+0087 .notdef
|
||||
!88 U+0088 .notdef
|
||||
!89 U+0089 .notdef
|
||||
!8A U+008A .notdef
|
||||
!8B U+008B .notdef
|
||||
!8C U+008C .notdef
|
||||
!8D U+008D .notdef
|
||||
!8E U+008E .notdef
|
||||
!8F U+008F .notdef
|
||||
!90 U+0090 .notdef
|
||||
!91 U+0091 .notdef
|
||||
!92 U+0092 .notdef
|
||||
!93 U+0093 .notdef
|
||||
!94 U+0094 .notdef
|
||||
!95 U+0095 .notdef
|
||||
!96 U+0096 .notdef
|
||||
!97 U+0097 .notdef
|
||||
!98 U+0098 .notdef
|
||||
!99 U+0099 .notdef
|
||||
!9A U+009A .notdef
|
||||
!9B U+009B .notdef
|
||||
!9C U+009C .notdef
|
||||
!9D U+009D .notdef
|
||||
!9E U+009E .notdef
|
||||
!9F U+009F .notdef
|
||||
!A0 U+00A0 space
|
||||
!A1 U+0E01 kokaithai
|
||||
!A2 U+0E02 khokhaithai
|
||||
!A3 U+0E03 khokhuatthai
|
||||
!A4 U+0E04 khokhwaithai
|
||||
!A5 U+0E05 khokhonthai
|
||||
!A6 U+0E06 khorakhangthai
|
||||
!A7 U+0E07 ngonguthai
|
||||
!A8 U+0E08 chochanthai
|
||||
!A9 U+0E09 chochingthai
|
||||
!AA U+0E0A chochangthai
|
||||
!AB U+0E0B sosothai
|
||||
!AC U+0E0C chochoethai
|
||||
!AD U+0E0D yoyingthai
|
||||
!AE U+0E0E dochadathai
|
||||
!AF U+0E0F topatakthai
|
||||
!B0 U+0E10 thothanthai
|
||||
!B1 U+0E11 thonangmonthothai
|
||||
!B2 U+0E12 thophuthaothai
|
||||
!B3 U+0E13 nonenthai
|
||||
!B4 U+0E14 dodekthai
|
||||
!B5 U+0E15 totaothai
|
||||
!B6 U+0E16 thothungthai
|
||||
!B7 U+0E17 thothahanthai
|
||||
!B8 U+0E18 thothongthai
|
||||
!B9 U+0E19 nonuthai
|
||||
!BA U+0E1A bobaimaithai
|
||||
!BB U+0E1B poplathai
|
||||
!BC U+0E1C phophungthai
|
||||
!BD U+0E1D fofathai
|
||||
!BE U+0E1E phophanthai
|
||||
!BF U+0E1F fofanthai
|
||||
!C0 U+0E20 phosamphaothai
|
||||
!C1 U+0E21 momathai
|
||||
!C2 U+0E22 yoyakthai
|
||||
!C3 U+0E23 roruathai
|
||||
!C4 U+0E24 ruthai
|
||||
!C5 U+0E25 lolingthai
|
||||
!C6 U+0E26 luthai
|
||||
!C7 U+0E27 wowaenthai
|
||||
!C8 U+0E28 sosalathai
|
||||
!C9 U+0E29 sorusithai
|
||||
!CA U+0E2A sosuathai
|
||||
!CB U+0E2B hohipthai
|
||||
!CC U+0E2C lochulathai
|
||||
!CD U+0E2D oangthai
|
||||
!CE U+0E2E honokhukthai
|
||||
!CF U+0E2F paiyannoithai
|
||||
!D0 U+0E30 saraathai
|
||||
!D1 U+0E31 maihanakatthai
|
||||
!D2 U+0E32 saraaathai
|
||||
!D3 U+0E33 saraamthai
|
||||
!D4 U+0E34 saraithai
|
||||
!D5 U+0E35 saraiithai
|
||||
!D6 U+0E36 sarauethai
|
||||
!D7 U+0E37 saraueethai
|
||||
!D8 U+0E38 sarauthai
|
||||
!D9 U+0E39 sarauuthai
|
||||
!DA U+0E3A phinthuthai
|
||||
!DF U+0E3F bahtthai
|
||||
!E0 U+0E40 saraethai
|
||||
!E1 U+0E41 saraaethai
|
||||
!E2 U+0E42 saraothai
|
||||
!E3 U+0E43 saraaimaimuanthai
|
||||
!E4 U+0E44 saraaimaimalaithai
|
||||
!E5 U+0E45 lakkhangyaothai
|
||||
!E6 U+0E46 maiyamokthai
|
||||
!E7 U+0E47 maitaikhuthai
|
||||
!E8 U+0E48 maiekthai
|
||||
!E9 U+0E49 maithothai
|
||||
!EA U+0E4A maitrithai
|
||||
!EB U+0E4B maichattawathai
|
||||
!EC U+0E4C thanthakhatthai
|
||||
!ED U+0E4D nikhahitthai
|
||||
!EE U+0E4E yamakkanthai
|
||||
!EF U+0E4F fongmanthai
|
||||
!F0 U+0E50 zerothai
|
||||
!F1 U+0E51 onethai
|
||||
!F2 U+0E52 twothai
|
||||
!F3 U+0E53 threethai
|
||||
!F4 U+0E54 fourthai
|
||||
!F5 U+0E55 fivethai
|
||||
!F6 U+0E56 sixthai
|
||||
!F7 U+0E57 seventhai
|
||||
!F8 U+0E58 eightthai
|
||||
!F9 U+0E59 ninethai
|
||||
!FA U+0E5A angkhankhuthai
|
||||
!FB U+0E5B khomutthai
|
256
includes/fpdf/font/makefont/iso-8859-15.map
Executable file
256
includes/fpdf/font/makefont/iso-8859-15.map
Executable file
@ -0,0 +1,256 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+0080 .notdef
|
||||
!81 U+0081 .notdef
|
||||
!82 U+0082 .notdef
|
||||
!83 U+0083 .notdef
|
||||
!84 U+0084 .notdef
|
||||
!85 U+0085 .notdef
|
||||
!86 U+0086 .notdef
|
||||
!87 U+0087 .notdef
|
||||
!88 U+0088 .notdef
|
||||
!89 U+0089 .notdef
|
||||
!8A U+008A .notdef
|
||||
!8B U+008B .notdef
|
||||
!8C U+008C .notdef
|
||||
!8D U+008D .notdef
|
||||
!8E U+008E .notdef
|
||||
!8F U+008F .notdef
|
||||
!90 U+0090 .notdef
|
||||
!91 U+0091 .notdef
|
||||
!92 U+0092 .notdef
|
||||
!93 U+0093 .notdef
|
||||
!94 U+0094 .notdef
|
||||
!95 U+0095 .notdef
|
||||
!96 U+0096 .notdef
|
||||
!97 U+0097 .notdef
|
||||
!98 U+0098 .notdef
|
||||
!99 U+0099 .notdef
|
||||
!9A U+009A .notdef
|
||||
!9B U+009B .notdef
|
||||
!9C U+009C .notdef
|
||||
!9D U+009D .notdef
|
||||
!9E U+009E .notdef
|
||||
!9F U+009F .notdef
|
||||
!A0 U+00A0 space
|
||||
!A1 U+00A1 exclamdown
|
||||
!A2 U+00A2 cent
|
||||
!A3 U+00A3 sterling
|
||||
!A4 U+20AC Euro
|
||||
!A5 U+00A5 yen
|
||||
!A6 U+0160 Scaron
|
||||
!A7 U+00A7 section
|
||||
!A8 U+0161 scaron
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+00AA ordfeminine
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+00AF macron
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+00B2 twosuperior
|
||||
!B3 U+00B3 threesuperior
|
||||
!B4 U+017D Zcaron
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+017E zcaron
|
||||
!B9 U+00B9 onesuperior
|
||||
!BA U+00BA ordmasculine
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+0152 OE
|
||||
!BD U+0153 oe
|
||||
!BE U+0178 Ydieresis
|
||||
!BF U+00BF questiondown
|
||||
!C0 U+00C0 Agrave
|
||||
!C1 U+00C1 Aacute
|
||||
!C2 U+00C2 Acircumflex
|
||||
!C3 U+00C3 Atilde
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+00C5 Aring
|
||||
!C6 U+00C6 AE
|
||||
!C7 U+00C7 Ccedilla
|
||||
!C8 U+00C8 Egrave
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+00CA Ecircumflex
|
||||
!CB U+00CB Edieresis
|
||||
!CC U+00CC Igrave
|
||||
!CD U+00CD Iacute
|
||||
!CE U+00CE Icircumflex
|
||||
!CF U+00CF Idieresis
|
||||
!D0 U+00D0 Eth
|
||||
!D1 U+00D1 Ntilde
|
||||
!D2 U+00D2 Ograve
|
||||
!D3 U+00D3 Oacute
|
||||
!D4 U+00D4 Ocircumflex
|
||||
!D5 U+00D5 Otilde
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+00D7 multiply
|
||||
!D8 U+00D8 Oslash
|
||||
!D9 U+00D9 Ugrave
|
||||
!DA U+00DA Uacute
|
||||
!DB U+00DB Ucircumflex
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+00DD Yacute
|
||||
!DE U+00DE Thorn
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+00E0 agrave
|
||||
!E1 U+00E1 aacute
|
||||
!E2 U+00E2 acircumflex
|
||||
!E3 U+00E3 atilde
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+00E5 aring
|
||||
!E6 U+00E6 ae
|
||||
!E7 U+00E7 ccedilla
|
||||
!E8 U+00E8 egrave
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+00EA ecircumflex
|
||||
!EB U+00EB edieresis
|
||||
!EC U+00EC igrave
|
||||
!ED U+00ED iacute
|
||||
!EE U+00EE icircumflex
|
||||
!EF U+00EF idieresis
|
||||
!F0 U+00F0 eth
|
||||
!F1 U+00F1 ntilde
|
||||
!F2 U+00F2 ograve
|
||||
!F3 U+00F3 oacute
|
||||
!F4 U+00F4 ocircumflex
|
||||
!F5 U+00F5 otilde
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+00F7 divide
|
||||
!F8 U+00F8 oslash
|
||||
!F9 U+00F9 ugrave
|
||||
!FA U+00FA uacute
|
||||
!FB U+00FB ucircumflex
|
||||
!FC U+00FC udieresis
|
||||
!FD U+00FD yacute
|
||||
!FE U+00FE thorn
|
||||
!FF U+00FF ydieresis
|
256
includes/fpdf/font/makefont/iso-8859-16.map
Executable file
256
includes/fpdf/font/makefont/iso-8859-16.map
Executable file
@ -0,0 +1,256 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+0080 .notdef
|
||||
!81 U+0081 .notdef
|
||||
!82 U+0082 .notdef
|
||||
!83 U+0083 .notdef
|
||||
!84 U+0084 .notdef
|
||||
!85 U+0085 .notdef
|
||||
!86 U+0086 .notdef
|
||||
!87 U+0087 .notdef
|
||||
!88 U+0088 .notdef
|
||||
!89 U+0089 .notdef
|
||||
!8A U+008A .notdef
|
||||
!8B U+008B .notdef
|
||||
!8C U+008C .notdef
|
||||
!8D U+008D .notdef
|
||||
!8E U+008E .notdef
|
||||
!8F U+008F .notdef
|
||||
!90 U+0090 .notdef
|
||||
!91 U+0091 .notdef
|
||||
!92 U+0092 .notdef
|
||||
!93 U+0093 .notdef
|
||||
!94 U+0094 .notdef
|
||||
!95 U+0095 .notdef
|
||||
!96 U+0096 .notdef
|
||||
!97 U+0097 .notdef
|
||||
!98 U+0098 .notdef
|
||||
!99 U+0099 .notdef
|
||||
!9A U+009A .notdef
|
||||
!9B U+009B .notdef
|
||||
!9C U+009C .notdef
|
||||
!9D U+009D .notdef
|
||||
!9E U+009E .notdef
|
||||
!9F U+009F .notdef
|
||||
!A0 U+00A0 space
|
||||
!A1 U+0104 Aogonek
|
||||
!A2 U+0105 aogonek
|
||||
!A3 U+0141 Lslash
|
||||
!A4 U+20AC Euro
|
||||
!A5 U+201E quotedblbase
|
||||
!A6 U+0160 Scaron
|
||||
!A7 U+00A7 section
|
||||
!A8 U+0161 scaron
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+0218 Scommaaccent
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+0179 Zacute
|
||||
!AD U+00AD hyphen
|
||||
!AE U+017A zacute
|
||||
!AF U+017B Zdotaccent
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+010C Ccaron
|
||||
!B3 U+0142 lslash
|
||||
!B4 U+017D Zcaron
|
||||
!B5 U+201D quotedblright
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+017E zcaron
|
||||
!B9 U+010D ccaron
|
||||
!BA U+0219 scommaaccent
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+0152 OE
|
||||
!BD U+0153 oe
|
||||
!BE U+0178 Ydieresis
|
||||
!BF U+017C zdotaccent
|
||||
!C0 U+00C0 Agrave
|
||||
!C1 U+00C1 Aacute
|
||||
!C2 U+00C2 Acircumflex
|
||||
!C3 U+0102 Abreve
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+0106 Cacute
|
||||
!C6 U+00C6 AE
|
||||
!C7 U+00C7 Ccedilla
|
||||
!C8 U+00C8 Egrave
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+00CA Ecircumflex
|
||||
!CB U+00CB Edieresis
|
||||
!CC U+00CC Igrave
|
||||
!CD U+00CD Iacute
|
||||
!CE U+00CE Icircumflex
|
||||
!CF U+00CF Idieresis
|
||||
!D0 U+0110 Dcroat
|
||||
!D1 U+0143 Nacute
|
||||
!D2 U+00D2 Ograve
|
||||
!D3 U+00D3 Oacute
|
||||
!D4 U+00D4 Ocircumflex
|
||||
!D5 U+0150 Ohungarumlaut
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+015A Sacute
|
||||
!D8 U+0170 Uhungarumlaut
|
||||
!D9 U+00D9 Ugrave
|
||||
!DA U+00DA Uacute
|
||||
!DB U+00DB Ucircumflex
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+0118 Eogonek
|
||||
!DE U+021A Tcommaaccent
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+00E0 agrave
|
||||
!E1 U+00E1 aacute
|
||||
!E2 U+00E2 acircumflex
|
||||
!E3 U+0103 abreve
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+0107 cacute
|
||||
!E6 U+00E6 ae
|
||||
!E7 U+00E7 ccedilla
|
||||
!E8 U+00E8 egrave
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+00EA ecircumflex
|
||||
!EB U+00EB edieresis
|
||||
!EC U+00EC igrave
|
||||
!ED U+00ED iacute
|
||||
!EE U+00EE icircumflex
|
||||
!EF U+00EF idieresis
|
||||
!F0 U+0111 dcroat
|
||||
!F1 U+0144 nacute
|
||||
!F2 U+00F2 ograve
|
||||
!F3 U+00F3 oacute
|
||||
!F4 U+00F4 ocircumflex
|
||||
!F5 U+0151 ohungarumlaut
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+015B sacute
|
||||
!F8 U+0171 uhungarumlaut
|
||||
!F9 U+00F9 ugrave
|
||||
!FA U+00FA uacute
|
||||
!FB U+00FB ucircumflex
|
||||
!FC U+00FC udieresis
|
||||
!FD U+0119 eogonek
|
||||
!FE U+021B tcommaaccent
|
||||
!FF U+00FF ydieresis
|
256
includes/fpdf/font/makefont/iso-8859-2.map
Executable file
256
includes/fpdf/font/makefont/iso-8859-2.map
Executable file
@ -0,0 +1,256 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+0080 .notdef
|
||||
!81 U+0081 .notdef
|
||||
!82 U+0082 .notdef
|
||||
!83 U+0083 .notdef
|
||||
!84 U+0084 .notdef
|
||||
!85 U+0085 .notdef
|
||||
!86 U+0086 .notdef
|
||||
!87 U+0087 .notdef
|
||||
!88 U+0088 .notdef
|
||||
!89 U+0089 .notdef
|
||||
!8A U+008A .notdef
|
||||
!8B U+008B .notdef
|
||||
!8C U+008C .notdef
|
||||
!8D U+008D .notdef
|
||||
!8E U+008E .notdef
|
||||
!8F U+008F .notdef
|
||||
!90 U+0090 .notdef
|
||||
!91 U+0091 .notdef
|
||||
!92 U+0092 .notdef
|
||||
!93 U+0093 .notdef
|
||||
!94 U+0094 .notdef
|
||||
!95 U+0095 .notdef
|
||||
!96 U+0096 .notdef
|
||||
!97 U+0097 .notdef
|
||||
!98 U+0098 .notdef
|
||||
!99 U+0099 .notdef
|
||||
!9A U+009A .notdef
|
||||
!9B U+009B .notdef
|
||||
!9C U+009C .notdef
|
||||
!9D U+009D .notdef
|
||||
!9E U+009E .notdef
|
||||
!9F U+009F .notdef
|
||||
!A0 U+00A0 space
|
||||
!A1 U+0104 Aogonek
|
||||
!A2 U+02D8 breve
|
||||
!A3 U+0141 Lslash
|
||||
!A4 U+00A4 currency
|
||||
!A5 U+013D Lcaron
|
||||
!A6 U+015A Sacute
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+0160 Scaron
|
||||
!AA U+015E Scedilla
|
||||
!AB U+0164 Tcaron
|
||||
!AC U+0179 Zacute
|
||||
!AD U+00AD hyphen
|
||||
!AE U+017D Zcaron
|
||||
!AF U+017B Zdotaccent
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+0105 aogonek
|
||||
!B2 U+02DB ogonek
|
||||
!B3 U+0142 lslash
|
||||
!B4 U+00B4 acute
|
||||
!B5 U+013E lcaron
|
||||
!B6 U+015B sacute
|
||||
!B7 U+02C7 caron
|
||||
!B8 U+00B8 cedilla
|
||||
!B9 U+0161 scaron
|
||||
!BA U+015F scedilla
|
||||
!BB U+0165 tcaron
|
||||
!BC U+017A zacute
|
||||
!BD U+02DD hungarumlaut
|
||||
!BE U+017E zcaron
|
||||
!BF U+017C zdotaccent
|
||||
!C0 U+0154 Racute
|
||||
!C1 U+00C1 Aacute
|
||||
!C2 U+00C2 Acircumflex
|
||||
!C3 U+0102 Abreve
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+0139 Lacute
|
||||
!C6 U+0106 Cacute
|
||||
!C7 U+00C7 Ccedilla
|
||||
!C8 U+010C Ccaron
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+0118 Eogonek
|
||||
!CB U+00CB Edieresis
|
||||
!CC U+011A Ecaron
|
||||
!CD U+00CD Iacute
|
||||
!CE U+00CE Icircumflex
|
||||
!CF U+010E Dcaron
|
||||
!D0 U+0110 Dcroat
|
||||
!D1 U+0143 Nacute
|
||||
!D2 U+0147 Ncaron
|
||||
!D3 U+00D3 Oacute
|
||||
!D4 U+00D4 Ocircumflex
|
||||
!D5 U+0150 Ohungarumlaut
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+00D7 multiply
|
||||
!D8 U+0158 Rcaron
|
||||
!D9 U+016E Uring
|
||||
!DA U+00DA Uacute
|
||||
!DB U+0170 Uhungarumlaut
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+00DD Yacute
|
||||
!DE U+0162 Tcommaaccent
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+0155 racute
|
||||
!E1 U+00E1 aacute
|
||||
!E2 U+00E2 acircumflex
|
||||
!E3 U+0103 abreve
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+013A lacute
|
||||
!E6 U+0107 cacute
|
||||
!E7 U+00E7 ccedilla
|
||||
!E8 U+010D ccaron
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+0119 eogonek
|
||||
!EB U+00EB edieresis
|
||||
!EC U+011B ecaron
|
||||
!ED U+00ED iacute
|
||||
!EE U+00EE icircumflex
|
||||
!EF U+010F dcaron
|
||||
!F0 U+0111 dcroat
|
||||
!F1 U+0144 nacute
|
||||
!F2 U+0148 ncaron
|
||||
!F3 U+00F3 oacute
|
||||
!F4 U+00F4 ocircumflex
|
||||
!F5 U+0151 ohungarumlaut
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+00F7 divide
|
||||
!F8 U+0159 rcaron
|
||||
!F9 U+016F uring
|
||||
!FA U+00FA uacute
|
||||
!FB U+0171 uhungarumlaut
|
||||
!FC U+00FC udieresis
|
||||
!FD U+00FD yacute
|
||||
!FE U+0163 tcommaaccent
|
||||
!FF U+02D9 dotaccent
|
256
includes/fpdf/font/makefont/iso-8859-4.map
Executable file
256
includes/fpdf/font/makefont/iso-8859-4.map
Executable file
@ -0,0 +1,256 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+0080 .notdef
|
||||
!81 U+0081 .notdef
|
||||
!82 U+0082 .notdef
|
||||
!83 U+0083 .notdef
|
||||
!84 U+0084 .notdef
|
||||
!85 U+0085 .notdef
|
||||
!86 U+0086 .notdef
|
||||
!87 U+0087 .notdef
|
||||
!88 U+0088 .notdef
|
||||
!89 U+0089 .notdef
|
||||
!8A U+008A .notdef
|
||||
!8B U+008B .notdef
|
||||
!8C U+008C .notdef
|
||||
!8D U+008D .notdef
|
||||
!8E U+008E .notdef
|
||||
!8F U+008F .notdef
|
||||
!90 U+0090 .notdef
|
||||
!91 U+0091 .notdef
|
||||
!92 U+0092 .notdef
|
||||
!93 U+0093 .notdef
|
||||
!94 U+0094 .notdef
|
||||
!95 U+0095 .notdef
|
||||
!96 U+0096 .notdef
|
||||
!97 U+0097 .notdef
|
||||
!98 U+0098 .notdef
|
||||
!99 U+0099 .notdef
|
||||
!9A U+009A .notdef
|
||||
!9B U+009B .notdef
|
||||
!9C U+009C .notdef
|
||||
!9D U+009D .notdef
|
||||
!9E U+009E .notdef
|
||||
!9F U+009F .notdef
|
||||
!A0 U+00A0 space
|
||||
!A1 U+0104 Aogonek
|
||||
!A2 U+0138 kgreenlandic
|
||||
!A3 U+0156 Rcommaaccent
|
||||
!A4 U+00A4 currency
|
||||
!A5 U+0128 Itilde
|
||||
!A6 U+013B Lcommaaccent
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+0160 Scaron
|
||||
!AA U+0112 Emacron
|
||||
!AB U+0122 Gcommaaccent
|
||||
!AC U+0166 Tbar
|
||||
!AD U+00AD hyphen
|
||||
!AE U+017D Zcaron
|
||||
!AF U+00AF macron
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+0105 aogonek
|
||||
!B2 U+02DB ogonek
|
||||
!B3 U+0157 rcommaaccent
|
||||
!B4 U+00B4 acute
|
||||
!B5 U+0129 itilde
|
||||
!B6 U+013C lcommaaccent
|
||||
!B7 U+02C7 caron
|
||||
!B8 U+00B8 cedilla
|
||||
!B9 U+0161 scaron
|
||||
!BA U+0113 emacron
|
||||
!BB U+0123 gcommaaccent
|
||||
!BC U+0167 tbar
|
||||
!BD U+014A Eng
|
||||
!BE U+017E zcaron
|
||||
!BF U+014B eng
|
||||
!C0 U+0100 Amacron
|
||||
!C1 U+00C1 Aacute
|
||||
!C2 U+00C2 Acircumflex
|
||||
!C3 U+00C3 Atilde
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+00C5 Aring
|
||||
!C6 U+00C6 AE
|
||||
!C7 U+012E Iogonek
|
||||
!C8 U+010C Ccaron
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+0118 Eogonek
|
||||
!CB U+00CB Edieresis
|
||||
!CC U+0116 Edotaccent
|
||||
!CD U+00CD Iacute
|
||||
!CE U+00CE Icircumflex
|
||||
!CF U+012A Imacron
|
||||
!D0 U+0110 Dcroat
|
||||
!D1 U+0145 Ncommaaccent
|
||||
!D2 U+014C Omacron
|
||||
!D3 U+0136 Kcommaaccent
|
||||
!D4 U+00D4 Ocircumflex
|
||||
!D5 U+00D5 Otilde
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+00D7 multiply
|
||||
!D8 U+00D8 Oslash
|
||||
!D9 U+0172 Uogonek
|
||||
!DA U+00DA Uacute
|
||||
!DB U+00DB Ucircumflex
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+0168 Utilde
|
||||
!DE U+016A Umacron
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+0101 amacron
|
||||
!E1 U+00E1 aacute
|
||||
!E2 U+00E2 acircumflex
|
||||
!E3 U+00E3 atilde
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+00E5 aring
|
||||
!E6 U+00E6 ae
|
||||
!E7 U+012F iogonek
|
||||
!E8 U+010D ccaron
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+0119 eogonek
|
||||
!EB U+00EB edieresis
|
||||
!EC U+0117 edotaccent
|
||||
!ED U+00ED iacute
|
||||
!EE U+00EE icircumflex
|
||||
!EF U+012B imacron
|
||||
!F0 U+0111 dcroat
|
||||
!F1 U+0146 ncommaaccent
|
||||
!F2 U+014D omacron
|
||||
!F3 U+0137 kcommaaccent
|
||||
!F4 U+00F4 ocircumflex
|
||||
!F5 U+00F5 otilde
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+00F7 divide
|
||||
!F8 U+00F8 oslash
|
||||
!F9 U+0173 uogonek
|
||||
!FA U+00FA uacute
|
||||
!FB U+00FB ucircumflex
|
||||
!FC U+00FC udieresis
|
||||
!FD U+0169 utilde
|
||||
!FE U+016B umacron
|
||||
!FF U+02D9 dotaccent
|
256
includes/fpdf/font/makefont/iso-8859-5.map
Executable file
256
includes/fpdf/font/makefont/iso-8859-5.map
Executable file
@ -0,0 +1,256 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+0080 .notdef
|
||||
!81 U+0081 .notdef
|
||||
!82 U+0082 .notdef
|
||||
!83 U+0083 .notdef
|
||||
!84 U+0084 .notdef
|
||||
!85 U+0085 .notdef
|
||||
!86 U+0086 .notdef
|
||||
!87 U+0087 .notdef
|
||||
!88 U+0088 .notdef
|
||||
!89 U+0089 .notdef
|
||||
!8A U+008A .notdef
|
||||
!8B U+008B .notdef
|
||||
!8C U+008C .notdef
|
||||
!8D U+008D .notdef
|
||||
!8E U+008E .notdef
|
||||
!8F U+008F .notdef
|
||||
!90 U+0090 .notdef
|
||||
!91 U+0091 .notdef
|
||||
!92 U+0092 .notdef
|
||||
!93 U+0093 .notdef
|
||||
!94 U+0094 .notdef
|
||||
!95 U+0095 .notdef
|
||||
!96 U+0096 .notdef
|
||||
!97 U+0097 .notdef
|
||||
!98 U+0098 .notdef
|
||||
!99 U+0099 .notdef
|
||||
!9A U+009A .notdef
|
||||
!9B U+009B .notdef
|
||||
!9C U+009C .notdef
|
||||
!9D U+009D .notdef
|
||||
!9E U+009E .notdef
|
||||
!9F U+009F .notdef
|
||||
!A0 U+00A0 space
|
||||
!A1 U+0401 afii10023
|
||||
!A2 U+0402 afii10051
|
||||
!A3 U+0403 afii10052
|
||||
!A4 U+0404 afii10053
|
||||
!A5 U+0405 afii10054
|
||||
!A6 U+0406 afii10055
|
||||
!A7 U+0407 afii10056
|
||||
!A8 U+0408 afii10057
|
||||
!A9 U+0409 afii10058
|
||||
!AA U+040A afii10059
|
||||
!AB U+040B afii10060
|
||||
!AC U+040C afii10061
|
||||
!AD U+00AD hyphen
|
||||
!AE U+040E afii10062
|
||||
!AF U+040F afii10145
|
||||
!B0 U+0410 afii10017
|
||||
!B1 U+0411 afii10018
|
||||
!B2 U+0412 afii10019
|
||||
!B3 U+0413 afii10020
|
||||
!B4 U+0414 afii10021
|
||||
!B5 U+0415 afii10022
|
||||
!B6 U+0416 afii10024
|
||||
!B7 U+0417 afii10025
|
||||
!B8 U+0418 afii10026
|
||||
!B9 U+0419 afii10027
|
||||
!BA U+041A afii10028
|
||||
!BB U+041B afii10029
|
||||
!BC U+041C afii10030
|
||||
!BD U+041D afii10031
|
||||
!BE U+041E afii10032
|
||||
!BF U+041F afii10033
|
||||
!C0 U+0420 afii10034
|
||||
!C1 U+0421 afii10035
|
||||
!C2 U+0422 afii10036
|
||||
!C3 U+0423 afii10037
|
||||
!C4 U+0424 afii10038
|
||||
!C5 U+0425 afii10039
|
||||
!C6 U+0426 afii10040
|
||||
!C7 U+0427 afii10041
|
||||
!C8 U+0428 afii10042
|
||||
!C9 U+0429 afii10043
|
||||
!CA U+042A afii10044
|
||||
!CB U+042B afii10045
|
||||
!CC U+042C afii10046
|
||||
!CD U+042D afii10047
|
||||
!CE U+042E afii10048
|
||||
!CF U+042F afii10049
|
||||
!D0 U+0430 afii10065
|
||||
!D1 U+0431 afii10066
|
||||
!D2 U+0432 afii10067
|
||||
!D3 U+0433 afii10068
|
||||
!D4 U+0434 afii10069
|
||||
!D5 U+0435 afii10070
|
||||
!D6 U+0436 afii10072
|
||||
!D7 U+0437 afii10073
|
||||
!D8 U+0438 afii10074
|
||||
!D9 U+0439 afii10075
|
||||
!DA U+043A afii10076
|
||||
!DB U+043B afii10077
|
||||
!DC U+043C afii10078
|
||||
!DD U+043D afii10079
|
||||
!DE U+043E afii10080
|
||||
!DF U+043F afii10081
|
||||
!E0 U+0440 afii10082
|
||||
!E1 U+0441 afii10083
|
||||
!E2 U+0442 afii10084
|
||||
!E3 U+0443 afii10085
|
||||
!E4 U+0444 afii10086
|
||||
!E5 U+0445 afii10087
|
||||
!E6 U+0446 afii10088
|
||||
!E7 U+0447 afii10089
|
||||
!E8 U+0448 afii10090
|
||||
!E9 U+0449 afii10091
|
||||
!EA U+044A afii10092
|
||||
!EB U+044B afii10093
|
||||
!EC U+044C afii10094
|
||||
!ED U+044D afii10095
|
||||
!EE U+044E afii10096
|
||||
!EF U+044F afii10097
|
||||
!F0 U+2116 afii61352
|
||||
!F1 U+0451 afii10071
|
||||
!F2 U+0452 afii10099
|
||||
!F3 U+0453 afii10100
|
||||
!F4 U+0454 afii10101
|
||||
!F5 U+0455 afii10102
|
||||
!F6 U+0456 afii10103
|
||||
!F7 U+0457 afii10104
|
||||
!F8 U+0458 afii10105
|
||||
!F9 U+0459 afii10106
|
||||
!FA U+045A afii10107
|
||||
!FB U+045B afii10108
|
||||
!FC U+045C afii10109
|
||||
!FD U+00A7 section
|
||||
!FE U+045E afii10110
|
||||
!FF U+045F afii10193
|
250
includes/fpdf/font/makefont/iso-8859-7.map
Executable file
250
includes/fpdf/font/makefont/iso-8859-7.map
Executable file
@ -0,0 +1,250 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+0080 .notdef
|
||||
!81 U+0081 .notdef
|
||||
!82 U+0082 .notdef
|
||||
!83 U+0083 .notdef
|
||||
!84 U+0084 .notdef
|
||||
!85 U+0085 .notdef
|
||||
!86 U+0086 .notdef
|
||||
!87 U+0087 .notdef
|
||||
!88 U+0088 .notdef
|
||||
!89 U+0089 .notdef
|
||||
!8A U+008A .notdef
|
||||
!8B U+008B .notdef
|
||||
!8C U+008C .notdef
|
||||
!8D U+008D .notdef
|
||||
!8E U+008E .notdef
|
||||
!8F U+008F .notdef
|
||||
!90 U+0090 .notdef
|
||||
!91 U+0091 .notdef
|
||||
!92 U+0092 .notdef
|
||||
!93 U+0093 .notdef
|
||||
!94 U+0094 .notdef
|
||||
!95 U+0095 .notdef
|
||||
!96 U+0096 .notdef
|
||||
!97 U+0097 .notdef
|
||||
!98 U+0098 .notdef
|
||||
!99 U+0099 .notdef
|
||||
!9A U+009A .notdef
|
||||
!9B U+009B .notdef
|
||||
!9C U+009C .notdef
|
||||
!9D U+009D .notdef
|
||||
!9E U+009E .notdef
|
||||
!9F U+009F .notdef
|
||||
!A0 U+00A0 space
|
||||
!A1 U+2018 quoteleft
|
||||
!A2 U+2019 quoteright
|
||||
!A3 U+00A3 sterling
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+00A9 copyright
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AF U+2015 afii00208
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+00B2 twosuperior
|
||||
!B3 U+00B3 threesuperior
|
||||
!B4 U+0384 tonos
|
||||
!B5 U+0385 dieresistonos
|
||||
!B6 U+0386 Alphatonos
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+0388 Epsilontonos
|
||||
!B9 U+0389 Etatonos
|
||||
!BA U+038A Iotatonos
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+038C Omicrontonos
|
||||
!BD U+00BD onehalf
|
||||
!BE U+038E Upsilontonos
|
||||
!BF U+038F Omegatonos
|
||||
!C0 U+0390 iotadieresistonos
|
||||
!C1 U+0391 Alpha
|
||||
!C2 U+0392 Beta
|
||||
!C3 U+0393 Gamma
|
||||
!C4 U+0394 Delta
|
||||
!C5 U+0395 Epsilon
|
||||
!C6 U+0396 Zeta
|
||||
!C7 U+0397 Eta
|
||||
!C8 U+0398 Theta
|
||||
!C9 U+0399 Iota
|
||||
!CA U+039A Kappa
|
||||
!CB U+039B Lambda
|
||||
!CC U+039C Mu
|
||||
!CD U+039D Nu
|
||||
!CE U+039E Xi
|
||||
!CF U+039F Omicron
|
||||
!D0 U+03A0 Pi
|
||||
!D1 U+03A1 Rho
|
||||
!D3 U+03A3 Sigma
|
||||
!D4 U+03A4 Tau
|
||||
!D5 U+03A5 Upsilon
|
||||
!D6 U+03A6 Phi
|
||||
!D7 U+03A7 Chi
|
||||
!D8 U+03A8 Psi
|
||||
!D9 U+03A9 Omega
|
||||
!DA U+03AA Iotadieresis
|
||||
!DB U+03AB Upsilondieresis
|
||||
!DC U+03AC alphatonos
|
||||
!DD U+03AD epsilontonos
|
||||
!DE U+03AE etatonos
|
||||
!DF U+03AF iotatonos
|
||||
!E0 U+03B0 upsilondieresistonos
|
||||
!E1 U+03B1 alpha
|
||||
!E2 U+03B2 beta
|
||||
!E3 U+03B3 gamma
|
||||
!E4 U+03B4 delta
|
||||
!E5 U+03B5 epsilon
|
||||
!E6 U+03B6 zeta
|
||||
!E7 U+03B7 eta
|
||||
!E8 U+03B8 theta
|
||||
!E9 U+03B9 iota
|
||||
!EA U+03BA kappa
|
||||
!EB U+03BB lambda
|
||||
!EC U+03BC mu
|
||||
!ED U+03BD nu
|
||||
!EE U+03BE xi
|
||||
!EF U+03BF omicron
|
||||
!F0 U+03C0 pi
|
||||
!F1 U+03C1 rho
|
||||
!F2 U+03C2 sigma1
|
||||
!F3 U+03C3 sigma
|
||||
!F4 U+03C4 tau
|
||||
!F5 U+03C5 upsilon
|
||||
!F6 U+03C6 phi
|
||||
!F7 U+03C7 chi
|
||||
!F8 U+03C8 psi
|
||||
!F9 U+03C9 omega
|
||||
!FA U+03CA iotadieresis
|
||||
!FB U+03CB upsilondieresis
|
||||
!FC U+03CC omicrontonos
|
||||
!FD U+03CD upsilontonos
|
||||
!FE U+03CE omegatonos
|
256
includes/fpdf/font/makefont/iso-8859-9.map
Executable file
256
includes/fpdf/font/makefont/iso-8859-9.map
Executable file
@ -0,0 +1,256 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+0080 .notdef
|
||||
!81 U+0081 .notdef
|
||||
!82 U+0082 .notdef
|
||||
!83 U+0083 .notdef
|
||||
!84 U+0084 .notdef
|
||||
!85 U+0085 .notdef
|
||||
!86 U+0086 .notdef
|
||||
!87 U+0087 .notdef
|
||||
!88 U+0088 .notdef
|
||||
!89 U+0089 .notdef
|
||||
!8A U+008A .notdef
|
||||
!8B U+008B .notdef
|
||||
!8C U+008C .notdef
|
||||
!8D U+008D .notdef
|
||||
!8E U+008E .notdef
|
||||
!8F U+008F .notdef
|
||||
!90 U+0090 .notdef
|
||||
!91 U+0091 .notdef
|
||||
!92 U+0092 .notdef
|
||||
!93 U+0093 .notdef
|
||||
!94 U+0094 .notdef
|
||||
!95 U+0095 .notdef
|
||||
!96 U+0096 .notdef
|
||||
!97 U+0097 .notdef
|
||||
!98 U+0098 .notdef
|
||||
!99 U+0099 .notdef
|
||||
!9A U+009A .notdef
|
||||
!9B U+009B .notdef
|
||||
!9C U+009C .notdef
|
||||
!9D U+009D .notdef
|
||||
!9E U+009E .notdef
|
||||
!9F U+009F .notdef
|
||||
!A0 U+00A0 space
|
||||
!A1 U+00A1 exclamdown
|
||||
!A2 U+00A2 cent
|
||||
!A3 U+00A3 sterling
|
||||
!A4 U+00A4 currency
|
||||
!A5 U+00A5 yen
|
||||
!A6 U+00A6 brokenbar
|
||||
!A7 U+00A7 section
|
||||
!A8 U+00A8 dieresis
|
||||
!A9 U+00A9 copyright
|
||||
!AA U+00AA ordfeminine
|
||||
!AB U+00AB guillemotleft
|
||||
!AC U+00AC logicalnot
|
||||
!AD U+00AD hyphen
|
||||
!AE U+00AE registered
|
||||
!AF U+00AF macron
|
||||
!B0 U+00B0 degree
|
||||
!B1 U+00B1 plusminus
|
||||
!B2 U+00B2 twosuperior
|
||||
!B3 U+00B3 threesuperior
|
||||
!B4 U+00B4 acute
|
||||
!B5 U+00B5 mu
|
||||
!B6 U+00B6 paragraph
|
||||
!B7 U+00B7 periodcentered
|
||||
!B8 U+00B8 cedilla
|
||||
!B9 U+00B9 onesuperior
|
||||
!BA U+00BA ordmasculine
|
||||
!BB U+00BB guillemotright
|
||||
!BC U+00BC onequarter
|
||||
!BD U+00BD onehalf
|
||||
!BE U+00BE threequarters
|
||||
!BF U+00BF questiondown
|
||||
!C0 U+00C0 Agrave
|
||||
!C1 U+00C1 Aacute
|
||||
!C2 U+00C2 Acircumflex
|
||||
!C3 U+00C3 Atilde
|
||||
!C4 U+00C4 Adieresis
|
||||
!C5 U+00C5 Aring
|
||||
!C6 U+00C6 AE
|
||||
!C7 U+00C7 Ccedilla
|
||||
!C8 U+00C8 Egrave
|
||||
!C9 U+00C9 Eacute
|
||||
!CA U+00CA Ecircumflex
|
||||
!CB U+00CB Edieresis
|
||||
!CC U+00CC Igrave
|
||||
!CD U+00CD Iacute
|
||||
!CE U+00CE Icircumflex
|
||||
!CF U+00CF Idieresis
|
||||
!D0 U+011E Gbreve
|
||||
!D1 U+00D1 Ntilde
|
||||
!D2 U+00D2 Ograve
|
||||
!D3 U+00D3 Oacute
|
||||
!D4 U+00D4 Ocircumflex
|
||||
!D5 U+00D5 Otilde
|
||||
!D6 U+00D6 Odieresis
|
||||
!D7 U+00D7 multiply
|
||||
!D8 U+00D8 Oslash
|
||||
!D9 U+00D9 Ugrave
|
||||
!DA U+00DA Uacute
|
||||
!DB U+00DB Ucircumflex
|
||||
!DC U+00DC Udieresis
|
||||
!DD U+0130 Idotaccent
|
||||
!DE U+015E Scedilla
|
||||
!DF U+00DF germandbls
|
||||
!E0 U+00E0 agrave
|
||||
!E1 U+00E1 aacute
|
||||
!E2 U+00E2 acircumflex
|
||||
!E3 U+00E3 atilde
|
||||
!E4 U+00E4 adieresis
|
||||
!E5 U+00E5 aring
|
||||
!E6 U+00E6 ae
|
||||
!E7 U+00E7 ccedilla
|
||||
!E8 U+00E8 egrave
|
||||
!E9 U+00E9 eacute
|
||||
!EA U+00EA ecircumflex
|
||||
!EB U+00EB edieresis
|
||||
!EC U+00EC igrave
|
||||
!ED U+00ED iacute
|
||||
!EE U+00EE icircumflex
|
||||
!EF U+00EF idieresis
|
||||
!F0 U+011F gbreve
|
||||
!F1 U+00F1 ntilde
|
||||
!F2 U+00F2 ograve
|
||||
!F3 U+00F3 oacute
|
||||
!F4 U+00F4 ocircumflex
|
||||
!F5 U+00F5 otilde
|
||||
!F6 U+00F6 odieresis
|
||||
!F7 U+00F7 divide
|
||||
!F8 U+00F8 oslash
|
||||
!F9 U+00F9 ugrave
|
||||
!FA U+00FA uacute
|
||||
!FB U+00FB ucircumflex
|
||||
!FC U+00FC udieresis
|
||||
!FD U+0131 dotlessi
|
||||
!FE U+015F scedilla
|
||||
!FF U+00FF ydieresis
|
256
includes/fpdf/font/makefont/koi8-r.map
Executable file
256
includes/fpdf/font/makefont/koi8-r.map
Executable file
@ -0,0 +1,256 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+2500 SF100000
|
||||
!81 U+2502 SF110000
|
||||
!82 U+250C SF010000
|
||||
!83 U+2510 SF030000
|
||||
!84 U+2514 SF020000
|
||||
!85 U+2518 SF040000
|
||||
!86 U+251C SF080000
|
||||
!87 U+2524 SF090000
|
||||
!88 U+252C SF060000
|
||||
!89 U+2534 SF070000
|
||||
!8A U+253C SF050000
|
||||
!8B U+2580 upblock
|
||||
!8C U+2584 dnblock
|
||||
!8D U+2588 block
|
||||
!8E U+258C lfblock
|
||||
!8F U+2590 rtblock
|
||||
!90 U+2591 ltshade
|
||||
!91 U+2592 shade
|
||||
!92 U+2593 dkshade
|
||||
!93 U+2320 integraltp
|
||||
!94 U+25A0 filledbox
|
||||
!95 U+2219 periodcentered
|
||||
!96 U+221A radical
|
||||
!97 U+2248 approxequal
|
||||
!98 U+2264 lessequal
|
||||
!99 U+2265 greaterequal
|
||||
!9A U+00A0 space
|
||||
!9B U+2321 integralbt
|
||||
!9C U+00B0 degree
|
||||
!9D U+00B2 twosuperior
|
||||
!9E U+00B7 periodcentered
|
||||
!9F U+00F7 divide
|
||||
!A0 U+2550 SF430000
|
||||
!A1 U+2551 SF240000
|
||||
!A2 U+2552 SF510000
|
||||
!A3 U+0451 afii10071
|
||||
!A4 U+2553 SF520000
|
||||
!A5 U+2554 SF390000
|
||||
!A6 U+2555 SF220000
|
||||
!A7 U+2556 SF210000
|
||||
!A8 U+2557 SF250000
|
||||
!A9 U+2558 SF500000
|
||||
!AA U+2559 SF490000
|
||||
!AB U+255A SF380000
|
||||
!AC U+255B SF280000
|
||||
!AD U+255C SF270000
|
||||
!AE U+255D SF260000
|
||||
!AF U+255E SF360000
|
||||
!B0 U+255F SF370000
|
||||
!B1 U+2560 SF420000
|
||||
!B2 U+2561 SF190000
|
||||
!B3 U+0401 afii10023
|
||||
!B4 U+2562 SF200000
|
||||
!B5 U+2563 SF230000
|
||||
!B6 U+2564 SF470000
|
||||
!B7 U+2565 SF480000
|
||||
!B8 U+2566 SF410000
|
||||
!B9 U+2567 SF450000
|
||||
!BA U+2568 SF460000
|
||||
!BB U+2569 SF400000
|
||||
!BC U+256A SF540000
|
||||
!BD U+256B SF530000
|
||||
!BE U+256C SF440000
|
||||
!BF U+00A9 copyright
|
||||
!C0 U+044E afii10096
|
||||
!C1 U+0430 afii10065
|
||||
!C2 U+0431 afii10066
|
||||
!C3 U+0446 afii10088
|
||||
!C4 U+0434 afii10069
|
||||
!C5 U+0435 afii10070
|
||||
!C6 U+0444 afii10086
|
||||
!C7 U+0433 afii10068
|
||||
!C8 U+0445 afii10087
|
||||
!C9 U+0438 afii10074
|
||||
!CA U+0439 afii10075
|
||||
!CB U+043A afii10076
|
||||
!CC U+043B afii10077
|
||||
!CD U+043C afii10078
|
||||
!CE U+043D afii10079
|
||||
!CF U+043E afii10080
|
||||
!D0 U+043F afii10081
|
||||
!D1 U+044F afii10097
|
||||
!D2 U+0440 afii10082
|
||||
!D3 U+0441 afii10083
|
||||
!D4 U+0442 afii10084
|
||||
!D5 U+0443 afii10085
|
||||
!D6 U+0436 afii10072
|
||||
!D7 U+0432 afii10067
|
||||
!D8 U+044C afii10094
|
||||
!D9 U+044B afii10093
|
||||
!DA U+0437 afii10073
|
||||
!DB U+0448 afii10090
|
||||
!DC U+044D afii10095
|
||||
!DD U+0449 afii10091
|
||||
!DE U+0447 afii10089
|
||||
!DF U+044A afii10092
|
||||
!E0 U+042E afii10048
|
||||
!E1 U+0410 afii10017
|
||||
!E2 U+0411 afii10018
|
||||
!E3 U+0426 afii10040
|
||||
!E4 U+0414 afii10021
|
||||
!E5 U+0415 afii10022
|
||||
!E6 U+0424 afii10038
|
||||
!E7 U+0413 afii10020
|
||||
!E8 U+0425 afii10039
|
||||
!E9 U+0418 afii10026
|
||||
!EA U+0419 afii10027
|
||||
!EB U+041A afii10028
|
||||
!EC U+041B afii10029
|
||||
!ED U+041C afii10030
|
||||
!EE U+041D afii10031
|
||||
!EF U+041E afii10032
|
||||
!F0 U+041F afii10033
|
||||
!F1 U+042F afii10049
|
||||
!F2 U+0420 afii10034
|
||||
!F3 U+0421 afii10035
|
||||
!F4 U+0422 afii10036
|
||||
!F5 U+0423 afii10037
|
||||
!F6 U+0416 afii10024
|
||||
!F7 U+0412 afii10019
|
||||
!F8 U+042C afii10046
|
||||
!F9 U+042B afii10045
|
||||
!FA U+0417 afii10025
|
||||
!FB U+0428 afii10042
|
||||
!FC U+042D afii10047
|
||||
!FD U+0429 afii10043
|
||||
!FE U+0427 afii10041
|
||||
!FF U+042A afii10044
|
256
includes/fpdf/font/makefont/koi8-u.map
Executable file
256
includes/fpdf/font/makefont/koi8-u.map
Executable file
@ -0,0 +1,256 @@
|
||||
!00 U+0000 .notdef
|
||||
!01 U+0001 .notdef
|
||||
!02 U+0002 .notdef
|
||||
!03 U+0003 .notdef
|
||||
!04 U+0004 .notdef
|
||||
!05 U+0005 .notdef
|
||||
!06 U+0006 .notdef
|
||||
!07 U+0007 .notdef
|
||||
!08 U+0008 .notdef
|
||||
!09 U+0009 .notdef
|
||||
!0A U+000A .notdef
|
||||
!0B U+000B .notdef
|
||||
!0C U+000C .notdef
|
||||
!0D U+000D .notdef
|
||||
!0E U+000E .notdef
|
||||
!0F U+000F .notdef
|
||||
!10 U+0010 .notdef
|
||||
!11 U+0011 .notdef
|
||||
!12 U+0012 .notdef
|
||||
!13 U+0013 .notdef
|
||||
!14 U+0014 .notdef
|
||||
!15 U+0015 .notdef
|
||||
!16 U+0016 .notdef
|
||||
!17 U+0017 .notdef
|
||||
!18 U+0018 .notdef
|
||||
!19 U+0019 .notdef
|
||||
!1A U+001A .notdef
|
||||
!1B U+001B .notdef
|
||||
!1C U+001C .notdef
|
||||
!1D U+001D .notdef
|
||||
!1E U+001E .notdef
|
||||
!1F U+001F .notdef
|
||||
!20 U+0020 space
|
||||
!21 U+0021 exclam
|
||||
!22 U+0022 quotedbl
|
||||
!23 U+0023 numbersign
|
||||
!24 U+0024 dollar
|
||||
!25 U+0025 percent
|
||||
!26 U+0026 ampersand
|
||||
!27 U+0027 quotesingle
|
||||
!28 U+0028 parenleft
|
||||
!29 U+0029 parenright
|
||||
!2A U+002A asterisk
|
||||
!2B U+002B plus
|
||||
!2C U+002C comma
|
||||
!2D U+002D hyphen
|
||||
!2E U+002E period
|
||||
!2F U+002F slash
|
||||
!30 U+0030 zero
|
||||
!31 U+0031 one
|
||||
!32 U+0032 two
|
||||
!33 U+0033 three
|
||||
!34 U+0034 four
|
||||
!35 U+0035 five
|
||||
!36 U+0036 six
|
||||
!37 U+0037 seven
|
||||
!38 U+0038 eight
|
||||
!39 U+0039 nine
|
||||
!3A U+003A colon
|
||||
!3B U+003B semicolon
|
||||
!3C U+003C less
|
||||
!3D U+003D equal
|
||||
!3E U+003E greater
|
||||
!3F U+003F question
|
||||
!40 U+0040 at
|
||||
!41 U+0041 A
|
||||
!42 U+0042 B
|
||||
!43 U+0043 C
|
||||
!44 U+0044 D
|
||||
!45 U+0045 E
|
||||
!46 U+0046 F
|
||||
!47 U+0047 G
|
||||
!48 U+0048 H
|
||||
!49 U+0049 I
|
||||
!4A U+004A J
|
||||
!4B U+004B K
|
||||
!4C U+004C L
|
||||
!4D U+004D M
|
||||
!4E U+004E N
|
||||
!4F U+004F O
|
||||
!50 U+0050 P
|
||||
!51 U+0051 Q
|
||||
!52 U+0052 R
|
||||
!53 U+0053 S
|
||||
!54 U+0054 T
|
||||
!55 U+0055 U
|
||||
!56 U+0056 V
|
||||
!57 U+0057 W
|
||||
!58 U+0058 X
|
||||
!59 U+0059 Y
|
||||
!5A U+005A Z
|
||||
!5B U+005B bracketleft
|
||||
!5C U+005C backslash
|
||||
!5D U+005D bracketright
|
||||
!5E U+005E asciicircum
|
||||
!5F U+005F underscore
|
||||
!60 U+0060 grave
|
||||
!61 U+0061 a
|
||||
!62 U+0062 b
|
||||
!63 U+0063 c
|
||||
!64 U+0064 d
|
||||
!65 U+0065 e
|
||||
!66 U+0066 f
|
||||
!67 U+0067 g
|
||||
!68 U+0068 h
|
||||
!69 U+0069 i
|
||||
!6A U+006A j
|
||||
!6B U+006B k
|
||||
!6C U+006C l
|
||||
!6D U+006D m
|
||||
!6E U+006E n
|
||||
!6F U+006F o
|
||||
!70 U+0070 p
|
||||
!71 U+0071 q
|
||||
!72 U+0072 r
|
||||
!73 U+0073 s
|
||||
!74 U+0074 t
|
||||
!75 U+0075 u
|
||||
!76 U+0076 v
|
||||
!77 U+0077 w
|
||||
!78 U+0078 x
|
||||
!79 U+0079 y
|
||||
!7A U+007A z
|
||||
!7B U+007B braceleft
|
||||
!7C U+007C bar
|
||||
!7D U+007D braceright
|
||||
!7E U+007E asciitilde
|
||||
!7F U+007F .notdef
|
||||
!80 U+2500 SF100000
|
||||
!81 U+2502 SF110000
|
||||
!82 U+250C SF010000
|
||||
!83 U+2510 SF030000
|
||||
!84 U+2514 SF020000
|
||||
!85 U+2518 SF040000
|
||||
!86 U+251C SF080000
|
||||
!87 U+2524 SF090000
|
||||
!88 U+252C SF060000
|
||||
!89 U+2534 SF070000
|
||||
!8A U+253C SF050000
|
||||
!8B U+2580 upblock
|
||||
!8C U+2584 dnblock
|
||||
!8D U+2588 block
|
||||
!8E U+258C lfblock
|
||||
!8F U+2590 rtblock
|
||||
!90 U+2591 ltshade
|
||||
!91 U+2592 shade
|
||||
!92 U+2593 dkshade
|
||||
!93 U+2320 integraltp
|
||||
!94 U+25A0 filledbox
|
||||
!95 U+2022 bullet
|
||||
!96 U+221A radical
|
||||
!97 U+2248 approxequal
|
||||
!98 U+2264 lessequal
|
||||
!99 U+2265 greaterequal
|
||||
!9A U+00A0 space
|
||||
!9B U+2321 integralbt
|
||||
!9C U+00B0 degree
|
||||
!9D U+00B2 twosuperior
|
||||
!9E U+00B7 periodcentered
|
||||
!9F U+00F7 divide
|
||||
!A0 U+2550 SF430000
|
||||
!A1 U+2551 SF240000
|
||||
!A2 U+2552 SF510000
|
||||
!A3 U+0451 afii10071
|
||||
!A4 U+0454 afii10101
|
||||
!A5 U+2554 SF390000
|
||||
!A6 U+0456 afii10103
|
||||
!A7 U+0457 afii10104
|
||||
!A8 U+2557 SF250000
|
||||
!A9 U+2558 SF500000
|
||||
!AA U+2559 SF490000
|
||||
!AB U+255A SF380000
|
||||
!AC U+255B SF280000
|
||||
!AD U+0491 afii10098
|
||||
!AE U+255D SF260000
|
||||
!AF U+255E SF360000
|
||||
!B0 U+255F SF370000
|
||||
!B1 U+2560 SF420000
|
||||
!B2 U+2561 SF190000
|
||||
!B3 U+0401 afii10023
|
||||
!B4 U+0404 afii10053
|
||||
!B5 U+2563 SF230000
|
||||
!B6 U+0406 afii10055
|
||||
!B7 U+0407 afii10056
|
||||
!B8 U+2566 SF410000
|
||||
!B9 U+2567 SF450000
|
||||
!BA U+2568 SF460000
|
||||
!BB U+2569 SF400000
|
||||
!BC U+256A SF540000
|
||||
!BD U+0490 afii10050
|
||||
!BE U+256C SF440000
|
||||
!BF U+00A9 copyright
|
||||
!C0 U+044E afii10096
|
||||
!C1 U+0430 afii10065
|
||||
!C2 U+0431 afii10066
|
||||
!C3 U+0446 afii10088
|
||||
!C4 U+0434 afii10069
|
||||
!C5 U+0435 afii10070
|
||||
!C6 U+0444 afii10086
|
||||
!C7 U+0433 afii10068
|
||||
!C8 U+0445 afii10087
|
||||
!C9 U+0438 afii10074
|
||||
!CA U+0439 afii10075
|
||||
!CB U+043A afii10076
|
||||
!CC U+043B afii10077
|
||||
!CD U+043C afii10078
|
||||
!CE U+043D afii10079
|
||||
!CF U+043E afii10080
|
||||
!D0 U+043F afii10081
|
||||
!D1 U+044F afii10097
|
||||
!D2 U+0440 afii10082
|
||||
!D3 U+0441 afii10083
|
||||
!D4 U+0442 afii10084
|
||||
!D5 U+0443 afii10085
|
||||
!D6 U+0436 afii10072
|
||||
!D7 U+0432 afii10067
|
||||
!D8 U+044C afii10094
|
||||
!D9 U+044B afii10093
|
||||
!DA U+0437 afii10073
|
||||
!DB U+0448 afii10090
|
||||
!DC U+044D afii10095
|
||||
!DD U+0449 afii10091
|
||||
!DE U+0447 afii10089
|
||||
!DF U+044A afii10092
|
||||
!E0 U+042E afii10048
|
||||
!E1 U+0410 afii10017
|
||||
!E2 U+0411 afii10018
|
||||
!E3 U+0426 afii10040
|
||||
!E4 U+0414 afii10021
|
||||
!E5 U+0415 afii10022
|
||||
!E6 U+0424 afii10038
|
||||
!E7 U+0413 afii10020
|
||||
!E8 U+0425 afii10039
|
||||
!E9 U+0418 afii10026
|
||||
!EA U+0419 afii10027
|
||||
!EB U+041A afii10028
|
||||
!EC U+041B afii10029
|
||||
!ED U+041C afii10030
|
||||
!EE U+041D afii10031
|
||||
!EF U+041E afii10032
|
||||
!F0 U+041F afii10033
|
||||
!F1 U+042F afii10049
|
||||
!F2 U+0420 afii10034
|
||||
!F3 U+0421 afii10035
|
||||
!F4 U+0422 afii10036
|
||||
!F5 U+0423 afii10037
|
||||
!F6 U+0416 afii10024
|
||||
!F7 U+0412 afii10019
|
||||
!F8 U+042C afii10046
|
||||
!F9 U+042B afii10045
|
||||
!FA U+0417 afii10025
|
||||
!FB U+0428 afii10042
|
||||
!FC U+042D afii10047
|
||||
!FD U+0429 afii10043
|
||||
!FE U+0427 afii10041
|
||||
!FF U+042A afii10044
|
419
includes/fpdf/font/makefont/makefont.php
Executable file
419
includes/fpdf/font/makefont/makefont.php
Executable file
@ -0,0 +1,419 @@
|
||||
<?php
|
||||
/*******************************************************************************
|
||||
* Utility to generate font definition files *
|
||||
* *
|
||||
* Version: 1.14 *
|
||||
* Date: 2008-08-03 *
|
||||
* Author: Olivier PLATHEY *
|
||||
*******************************************************************************/
|
||||
|
||||
function ReadMap($enc)
|
||||
{
|
||||
//Read a map file
|
||||
$file=dirname(__FILE__).'/'.strtolower($enc).'.map';
|
||||
$a=file($file);
|
||||
if(empty($a))
|
||||
die('<b>Error:</b> encoding not found: '.$enc);
|
||||
$cc2gn=array();
|
||||
foreach($a as $l)
|
||||
{
|
||||
if($l[0]=='!')
|
||||
{
|
||||
$e=preg_split('/[ \\t]+/',rtrim($l));
|
||||
$cc=hexdec(substr($e[0],1));
|
||||
$gn=$e[2];
|
||||
$cc2gn[$cc]=$gn;
|
||||
}
|
||||
}
|
||||
for($i=0;$i<=255;$i++)
|
||||
{
|
||||
if(!isset($cc2gn[$i]))
|
||||
$cc2gn[$i]='.notdef';
|
||||
}
|
||||
return $cc2gn;
|
||||
}
|
||||
|
||||
function ReadAFM($file, &$map)
|
||||
{
|
||||
//Read a font metric file
|
||||
$a=file($file);
|
||||
if(empty($a))
|
||||
die('File not found');
|
||||
$widths=array();
|
||||
$fm=array();
|
||||
$fix=array('Edot'=>'Edotaccent','edot'=>'edotaccent','Idot'=>'Idotaccent','Zdot'=>'Zdotaccent','zdot'=>'zdotaccent',
|
||||
'Odblacute'=>'Ohungarumlaut','odblacute'=>'ohungarumlaut','Udblacute'=>'Uhungarumlaut','udblacute'=>'uhungarumlaut',
|
||||
'Gcedilla'=>'Gcommaaccent','gcedilla'=>'gcommaaccent','Kcedilla'=>'Kcommaaccent','kcedilla'=>'kcommaaccent',
|
||||
'Lcedilla'=>'Lcommaaccent','lcedilla'=>'lcommaaccent','Ncedilla'=>'Ncommaaccent','ncedilla'=>'ncommaaccent',
|
||||
'Rcedilla'=>'Rcommaaccent','rcedilla'=>'rcommaaccent','Scedilla'=>'Scommaaccent','scedilla'=>'scommaaccent',
|
||||
'Tcedilla'=>'Tcommaaccent','tcedilla'=>'tcommaaccent','Dslash'=>'Dcroat','dslash'=>'dcroat','Dmacron'=>'Dcroat','dmacron'=>'dcroat',
|
||||
'combininggraveaccent'=>'gravecomb','combininghookabove'=>'hookabovecomb','combiningtildeaccent'=>'tildecomb',
|
||||
'combiningacuteaccent'=>'acutecomb','combiningdotbelow'=>'dotbelowcomb','dongsign'=>'dong');
|
||||
foreach($a as $l)
|
||||
{
|
||||
$e=explode(' ',rtrim($l));
|
||||
if(count($e)<2)
|
||||
continue;
|
||||
$code=$e[0];
|
||||
$param=$e[1];
|
||||
if($code=='C')
|
||||
{
|
||||
//Character metrics
|
||||
$cc=(int)$e[1];
|
||||
$w=$e[4];
|
||||
$gn=$e[7];
|
||||
if(substr($gn,-4)=='20AC')
|
||||
$gn='Euro';
|
||||
if(isset($fix[$gn]))
|
||||
{
|
||||
//Fix incorrect glyph name
|
||||
foreach($map as $c=>$n)
|
||||
{
|
||||
if($n==$fix[$gn])
|
||||
$map[$c]=$gn;
|
||||
}
|
||||
}
|
||||
if(empty($map))
|
||||
{
|
||||
//Symbolic font: use built-in encoding
|
||||
$widths[$cc]=$w;
|
||||
}
|
||||
else
|
||||
{
|
||||
$widths[$gn]=$w;
|
||||
if($gn=='X')
|
||||
$fm['CapXHeight']=$e[13];
|
||||
}
|
||||
if($gn=='.notdef')
|
||||
$fm['MissingWidth']=$w;
|
||||
}
|
||||
elseif($code=='FontName')
|
||||
$fm['FontName']=$param;
|
||||
elseif($code=='Weight')
|
||||
$fm['Weight']=$param;
|
||||
elseif($code=='ItalicAngle')
|
||||
$fm['ItalicAngle']=(double)$param;
|
||||
elseif($code=='Ascender')
|
||||
$fm['Ascender']=(int)$param;
|
||||
elseif($code=='Descender')
|
||||
$fm['Descender']=(int)$param;
|
||||
elseif($code=='UnderlineThickness')
|
||||
$fm['UnderlineThickness']=(int)$param;
|
||||
elseif($code=='UnderlinePosition')
|
||||
$fm['UnderlinePosition']=(int)$param;
|
||||
elseif($code=='IsFixedPitch')
|
||||
$fm['IsFixedPitch']=($param=='true');
|
||||
elseif($code=='FontBBox')
|
||||
$fm['FontBBox']=array($e[1],$e[2],$e[3],$e[4]);
|
||||
elseif($code=='CapHeight')
|
||||
$fm['CapHeight']=(int)$param;
|
||||
elseif($code=='StdVW')
|
||||
$fm['StdVW']=(int)$param;
|
||||
}
|
||||
if(!isset($fm['FontName']))
|
||||
die('FontName not found');
|
||||
if(!empty($map))
|
||||
{
|
||||
if(!isset($widths['.notdef']))
|
||||
$widths['.notdef']=600;
|
||||
if(!isset($widths['Delta']) && isset($widths['increment']))
|
||||
$widths['Delta']=$widths['increment'];
|
||||
//Order widths according to map
|
||||
for($i=0;$i<=255;$i++)
|
||||
{
|
||||
if(!isset($widths[$map[$i]]))
|
||||
{
|
||||
echo '<b>Warning:</b> character '.$map[$i].' is missing<br>';
|
||||
$widths[$i]=$widths['.notdef'];
|
||||
}
|
||||
else
|
||||
$widths[$i]=$widths[$map[$i]];
|
||||
}
|
||||
}
|
||||
$fm['Widths']=$widths;
|
||||
return $fm;
|
||||
}
|
||||
|
||||
function MakeFontDescriptor($fm, $symbolic)
|
||||
{
|
||||
//Ascent
|
||||
$asc=(isset($fm['Ascender']) ? $fm['Ascender'] : 1000);
|
||||
$fd="array('Ascent'=>".$asc;
|
||||
//Descent
|
||||
$desc=(isset($fm['Descender']) ? $fm['Descender'] : -200);
|
||||
$fd.=",'Descent'=>".$desc;
|
||||
//CapHeight
|
||||
if(isset($fm['CapHeight']))
|
||||
$ch=$fm['CapHeight'];
|
||||
elseif(isset($fm['CapXHeight']))
|
||||
$ch=$fm['CapXHeight'];
|
||||
else
|
||||
$ch=$asc;
|
||||
$fd.=",'CapHeight'=>".$ch;
|
||||
//Flags
|
||||
$flags=0;
|
||||
if(isset($fm['IsFixedPitch']) && $fm['IsFixedPitch'])
|
||||
$flags+=1<<0;
|
||||
if($symbolic)
|
||||
$flags+=1<<2;
|
||||
if(!$symbolic)
|
||||
$flags+=1<<5;
|
||||
if(isset($fm['ItalicAngle']) && $fm['ItalicAngle']!=0)
|
||||
$flags+=1<<6;
|
||||
$fd.=",'Flags'=>".$flags;
|
||||
//FontBBox
|
||||
if(isset($fm['FontBBox']))
|
||||
$fbb=$fm['FontBBox'];
|
||||
else
|
||||
$fbb=array(0,$desc-100,1000,$asc+100);
|
||||
$fd.=",'FontBBox'=>'[".$fbb[0].' '.$fbb[1].' '.$fbb[2].' '.$fbb[3]."]'";
|
||||
//ItalicAngle
|
||||
$ia=(isset($fm['ItalicAngle']) ? $fm['ItalicAngle'] : 0);
|
||||
$fd.=",'ItalicAngle'=>".$ia;
|
||||
//StemV
|
||||
if(isset($fm['StdVW']))
|
||||
$stemv=$fm['StdVW'];
|
||||
elseif(isset($fm['Weight']) && preg_match('/bold|black/i',$fm['Weight']))
|
||||
$stemv=120;
|
||||
else
|
||||
$stemv=70;
|
||||
$fd.=",'StemV'=>".$stemv;
|
||||
//MissingWidth
|
||||
if(isset($fm['MissingWidth']))
|
||||
$fd.=",'MissingWidth'=>".$fm['MissingWidth'];
|
||||
$fd.=')';
|
||||
return $fd;
|
||||
}
|
||||
|
||||
function MakeWidthArray($fm)
|
||||
{
|
||||
//Make character width array
|
||||
$s="array(\n\t";
|
||||
$cw=$fm['Widths'];
|
||||
for($i=0;$i<=255;$i++)
|
||||
{
|
||||
if(chr($i)=="'")
|
||||
$s.="'\\''";
|
||||
elseif(chr($i)=="\\")
|
||||
$s.="'\\\\'";
|
||||
elseif($i>=32 && $i<=126)
|
||||
$s.="'".chr($i)."'";
|
||||
else
|
||||
$s.="chr($i)";
|
||||
$s.='=>'.$fm['Widths'][$i];
|
||||
if($i<255)
|
||||
$s.=',';
|
||||
if(($i+1)%22==0)
|
||||
$s.="\n\t";
|
||||
}
|
||||
$s.=')';
|
||||
return $s;
|
||||
}
|
||||
|
||||
function MakeFontEncoding($map)
|
||||
{
|
||||
//Build differences from reference encoding
|
||||
$ref=ReadMap('cp1252');
|
||||
$s='';
|
||||
$last=0;
|
||||
for($i=32;$i<=255;$i++)
|
||||
{
|
||||
if($map[$i]!=$ref[$i])
|
||||
{
|
||||
if($i!=$last+1)
|
||||
$s.=$i.' ';
|
||||
$last=$i;
|
||||
$s.='/'.$map[$i].' ';
|
||||
}
|
||||
}
|
||||
return rtrim($s);
|
||||
}
|
||||
|
||||
function SaveToFile($file, $s, $mode)
|
||||
{
|
||||
$f=fopen($file,'w'.$mode);
|
||||
if(!$f)
|
||||
die('Can\'t write to file '.$file);
|
||||
fwrite($f,$s,strlen($s));
|
||||
fclose($f);
|
||||
}
|
||||
|
||||
function ReadShort($f)
|
||||
{
|
||||
$a=unpack('n1n',fread($f,2));
|
||||
return $a['n'];
|
||||
}
|
||||
|
||||
function ReadLong($f)
|
||||
{
|
||||
$a=unpack('N1N',fread($f,4));
|
||||
return $a['N'];
|
||||
}
|
||||
|
||||
function CheckTTF($file)
|
||||
{
|
||||
//Check if font license allows embedding
|
||||
$f=fopen($file,'rb');
|
||||
if(!$f)
|
||||
die('<b>Error:</b> Can\'t open '.$file);
|
||||
//Extract number of tables
|
||||
fseek($f,4,SEEK_CUR);
|
||||
$nb=ReadShort($f);
|
||||
fseek($f,6,SEEK_CUR);
|
||||
//Seek OS/2 table
|
||||
$found=false;
|
||||
for($i=0;$i<$nb;$i++)
|
||||
{
|
||||
if(fread($f,4)=='OS/2')
|
||||
{
|
||||
$found=true;
|
||||
break;
|
||||
}
|
||||
fseek($f,12,SEEK_CUR);
|
||||
}
|
||||
if(!$found)
|
||||
{
|
||||
fclose($f);
|
||||
return;
|
||||
}
|
||||
fseek($f,4,SEEK_CUR);
|
||||
$offset=ReadLong($f);
|
||||
fseek($f,$offset,SEEK_SET);
|
||||
//Extract fsType flags
|
||||
fseek($f,8,SEEK_CUR);
|
||||
$fsType=ReadShort($f);
|
||||
$rl=($fsType & 0x02)!=0;
|
||||
$pp=($fsType & 0x04)!=0;
|
||||
$e=($fsType & 0x08)!=0;
|
||||
fclose($f);
|
||||
if($rl && !$pp && !$e)
|
||||
echo '<b>Warning:</b> font license does not allow embedding';
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* fontfile: path to TTF file (or empty string if not to be embedded) *
|
||||
* afmfile: path to AFM file *
|
||||
* enc: font encoding (or empty string for symbolic fonts) *
|
||||
* patch: optional patch for encoding *
|
||||
* type: font type if fontfile is empty *
|
||||
*******************************************************************************/
|
||||
function MakeFont($fontfile, $afmfile, $enc='cp1252', $patch=array(), $type='TrueType')
|
||||
{
|
||||
//Generate a font definition file
|
||||
if(get_magic_quotes_runtime())
|
||||
@set_magic_quotes_runtime(0);
|
||||
ini_set('auto_detect_line_endings','1');
|
||||
if($enc)
|
||||
{
|
||||
$map=ReadMap($enc);
|
||||
foreach($patch as $cc=>$gn)
|
||||
$map[$cc]=$gn;
|
||||
}
|
||||
else
|
||||
$map=array();
|
||||
if(!file_exists($afmfile))
|
||||
die('<b>Error:</b> AFM file not found: '.$afmfile);
|
||||
$fm=ReadAFM($afmfile,$map);
|
||||
if($enc)
|
||||
$diff=MakeFontEncoding($map);
|
||||
else
|
||||
$diff='';
|
||||
$fd=MakeFontDescriptor($fm,empty($map));
|
||||
//Find font type
|
||||
if($fontfile)
|
||||
{
|
||||
$ext=strtolower(substr($fontfile,-3));
|
||||
if($ext=='ttf')
|
||||
$type='TrueType';
|
||||
elseif($ext=='pfb')
|
||||
$type='Type1';
|
||||
else
|
||||
die('<b>Error:</b> unrecognized font file extension: '.$ext);
|
||||
}
|
||||
else
|
||||
{
|
||||
if($type!='TrueType' && $type!='Type1')
|
||||
die('<b>Error:</b> incorrect font type: '.$type);
|
||||
}
|
||||
//Start generation
|
||||
$s='<?php'."\n";
|
||||
$s.='$type=\''.$type."';\n";
|
||||
$s.='$name=\''.$fm['FontName']."';\n";
|
||||
$s.='$desc='.$fd.";\n";
|
||||
if(!isset($fm['UnderlinePosition']))
|
||||
$fm['UnderlinePosition']=-100;
|
||||
if(!isset($fm['UnderlineThickness']))
|
||||
$fm['UnderlineThickness']=50;
|
||||
$s.='$up='.$fm['UnderlinePosition'].";\n";
|
||||
$s.='$ut='.$fm['UnderlineThickness'].";\n";
|
||||
$w=MakeWidthArray($fm);
|
||||
$s.='$cw='.$w.";\n";
|
||||
$s.='$enc=\''.$enc."';\n";
|
||||
$s.='$diff=\''.$diff."';\n";
|
||||
$basename=substr(basename($afmfile),0,-4);
|
||||
if($fontfile)
|
||||
{
|
||||
//Embedded font
|
||||
if(!file_exists($fontfile))
|
||||
die('<b>Error:</b> font file not found: '.$fontfile);
|
||||
if($type=='TrueType')
|
||||
CheckTTF($fontfile);
|
||||
$f=fopen($fontfile,'rb');
|
||||
if(!$f)
|
||||
die('<b>Error:</b> Can\'t open '.$fontfile);
|
||||
$file=fread($f,filesize($fontfile));
|
||||
fclose($f);
|
||||
if($type=='Type1')
|
||||
{
|
||||
//Find first two sections and discard third one
|
||||
$header=(ord($file[0])==128);
|
||||
if($header)
|
||||
{
|
||||
//Strip first binary header
|
||||
$file=substr($file,6);
|
||||
}
|
||||
$pos=strpos($file,'eexec');
|
||||
if(!$pos)
|
||||
die('<b>Error:</b> font file does not seem to be valid Type1');
|
||||
$size1=$pos+6;
|
||||
if($header && ord($file[$size1])==128)
|
||||
{
|
||||
//Strip second binary header
|
||||
$file=substr($file,0,$size1).substr($file,$size1+6);
|
||||
}
|
||||
$pos=strpos($file,'00000000');
|
||||
if(!$pos)
|
||||
die('<b>Error:</b> font file does not seem to be valid Type1');
|
||||
$size2=$pos-$size1;
|
||||
$file=substr($file,0,$size1+$size2);
|
||||
}
|
||||
if(function_exists('gzcompress'))
|
||||
{
|
||||
$cmp=$basename.'.z';
|
||||
SaveToFile($cmp,gzcompress($file),'b');
|
||||
$s.='$file=\''.$cmp."';\n";
|
||||
echo 'Font file compressed ('.$cmp.')<br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$s.='$file=\''.basename($fontfile)."';\n";
|
||||
echo '<b>Notice:</b> font file could not be compressed (zlib extension not available)<br>';
|
||||
}
|
||||
if($type=='Type1')
|
||||
{
|
||||
$s.='$size1='.$size1.";\n";
|
||||
$s.='$size2='.$size2.";\n";
|
||||
}
|
||||
else
|
||||
$s.='$originalsize='.filesize($fontfile).";\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
//Not embedded font
|
||||
$s.='$file='."'';\n";
|
||||
}
|
||||
$s.="?>\n";
|
||||
SaveToFile($basename.'.php',$s,'t');
|
||||
echo 'Font definition file generated ('.$basename.'.php'.')<br>';
|
||||
}
|
||||
?>
|
15
includes/fpdf/font/symbol.php
Executable file
15
includes/fpdf/font/symbol.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
$fpdf_charwidths['symbol']=array(
|
||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549,
|
||||
','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722,
|
||||
'B'=>667,'C'=>722,'D'=>612,'E'=>611,'F'=>763,'G'=>603,'H'=>722,'I'=>333,'J'=>631,'K'=>722,'L'=>686,'M'=>889,'N'=>722,'O'=>722,'P'=>768,'Q'=>741,'R'=>556,'S'=>592,'T'=>611,'U'=>690,'V'=>439,'W'=>768,
|
||||
'X'=>645,'Y'=>795,'Z'=>611,'['=>333,'\\'=>863,']'=>333,'^'=>658,'_'=>500,'`'=>500,'a'=>631,'b'=>549,'c'=>549,'d'=>494,'e'=>439,'f'=>521,'g'=>411,'h'=>603,'i'=>329,'j'=>603,'k'=>549,'l'=>549,'m'=>576,
|
||||
'n'=>521,'o'=>549,'p'=>549,'q'=>521,'r'=>549,'s'=>603,'t'=>439,'u'=>576,'v'=>713,'w'=>686,'x'=>493,'y'=>686,'z'=>494,'{'=>480,'|'=>200,'}'=>480,'~'=>549,chr(127)=>0,chr(128)=>0,chr(129)=>0,chr(130)=>0,chr(131)=>0,
|
||||
chr(132)=>0,chr(133)=>0,chr(134)=>0,chr(135)=>0,chr(136)=>0,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>0,chr(141)=>0,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
|
||||
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>750,chr(161)=>620,chr(162)=>247,chr(163)=>549,chr(164)=>167,chr(165)=>713,chr(166)=>500,chr(167)=>753,chr(168)=>753,chr(169)=>753,chr(170)=>753,chr(171)=>1042,chr(172)=>987,chr(173)=>603,chr(174)=>987,chr(175)=>603,
|
||||
chr(176)=>400,chr(177)=>549,chr(178)=>411,chr(179)=>549,chr(180)=>549,chr(181)=>713,chr(182)=>494,chr(183)=>460,chr(184)=>549,chr(185)=>549,chr(186)=>549,chr(187)=>549,chr(188)=>1000,chr(189)=>603,chr(190)=>1000,chr(191)=>658,chr(192)=>823,chr(193)=>686,chr(194)=>795,chr(195)=>987,chr(196)=>768,chr(197)=>768,
|
||||
chr(198)=>823,chr(199)=>768,chr(200)=>768,chr(201)=>713,chr(202)=>713,chr(203)=>713,chr(204)=>713,chr(205)=>713,chr(206)=>713,chr(207)=>713,chr(208)=>768,chr(209)=>713,chr(210)=>790,chr(211)=>790,chr(212)=>890,chr(213)=>823,chr(214)=>549,chr(215)=>250,chr(216)=>713,chr(217)=>603,chr(218)=>603,chr(219)=>1042,
|
||||
chr(220)=>987,chr(221)=>603,chr(222)=>987,chr(223)=>603,chr(224)=>494,chr(225)=>329,chr(226)=>790,chr(227)=>790,chr(228)=>786,chr(229)=>713,chr(230)=>384,chr(231)=>384,chr(232)=>384,chr(233)=>384,chr(234)=>384,chr(235)=>384,chr(236)=>494,chr(237)=>494,chr(238)=>494,chr(239)=>494,chr(240)=>0,chr(241)=>329,
|
||||
chr(242)=>274,chr(243)=>686,chr(244)=>686,chr(245)=>686,chr(246)=>384,chr(247)=>384,chr(248)=>384,chr(249)=>384,chr(250)=>384,chr(251)=>384,chr(252)=>494,chr(253)=>494,chr(254)=>494,chr(255)=>0);
|
||||
?>
|
15
includes/fpdf/font/times.php
Executable file
15
includes/fpdf/font/times.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
$fpdf_charwidths['times']=array(
|
||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564,
|
||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722,
|
||||
'B'=>667,'C'=>667,'D'=>722,'E'=>611,'F'=>556,'G'=>722,'H'=>722,'I'=>333,'J'=>389,'K'=>722,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>556,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>722,'W'=>944,
|
||||
'X'=>722,'Y'=>722,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>469,'_'=>500,'`'=>333,'a'=>444,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
|
||||
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>333,'s'=>389,'t'=>278,'u'=>500,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>480,'|'=>200,'}'=>480,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
||||
chr(132)=>444,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>889,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>444,chr(148)=>444,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>980,
|
||||
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>200,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>564,chr(173)=>333,chr(174)=>760,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>564,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>453,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>444,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
||||
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>564,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>722,chr(222)=>556,chr(223)=>500,chr(224)=>444,chr(225)=>444,chr(226)=>444,chr(227)=>444,chr(228)=>444,chr(229)=>444,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
|
||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>564,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>500,chr(254)=>500,chr(255)=>500);
|
||||
?>
|
15
includes/fpdf/font/timesb.php
Executable file
15
includes/fpdf/font/timesb.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
$fpdf_charwidths['timesB']=array(
|
||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722,
|
||||
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>778,'I'=>389,'J'=>500,'K'=>778,'L'=>667,'M'=>944,'N'=>722,'O'=>778,'P'=>611,'Q'=>778,'R'=>722,'S'=>556,'T'=>667,'U'=>722,'V'=>722,'W'=>1000,
|
||||
'X'=>722,'Y'=>722,'Z'=>667,'['=>333,'\\'=>278,']'=>333,'^'=>581,'_'=>500,'`'=>333,'a'=>500,'b'=>556,'c'=>444,'d'=>556,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>333,'k'=>556,'l'=>278,'m'=>833,
|
||||
'n'=>556,'o'=>500,'p'=>556,'q'=>556,'r'=>444,'s'=>389,'t'=>333,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>394,'|'=>220,'}'=>394,'~'=>520,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
||||
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>667,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>300,chr(171)=>500,chr(172)=>570,chr(173)=>333,chr(174)=>747,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>556,chr(182)=>540,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>330,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>570,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>722,chr(222)=>611,chr(223)=>556,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
|
||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
||||
?>
|
15
includes/fpdf/font/timesbi.php
Executable file
15
includes/fpdf/font/timesbi.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
$fpdf_charwidths['timesBI']=array(
|
||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667,
|
||||
'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889,
|
||||
'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
|
||||
'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
||||
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
||||
chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
|
||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444);
|
||||
?>
|
15
includes/fpdf/font/timesi.php
Executable file
15
includes/fpdf/font/timesi.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
$fpdf_charwidths['timesI']=array(
|
||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675,
|
||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611,
|
||||
'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833,
|
||||
'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722,
|
||||
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
||||
chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980,
|
||||
chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611,
|
||||
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
|
||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444);
|
||||
?>
|
15
includes/fpdf/font/zapfdingbats.php
Executable file
15
includes/fpdf/font/zapfdingbats.php
Executable file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
$fpdf_charwidths['zapfdingbats']=array(
|
||||
chr(0)=>0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0,
|
||||
chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939,
|
||||
','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692,
|
||||
'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776,
|
||||
'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873,
|
||||
'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317,
|
||||
chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
|
||||
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788,
|
||||
chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788,
|
||||
chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918,
|
||||
chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874,
|
||||
chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0);
|
||||
?>
|
1732
includes/fpdf/fpdf.php
Executable file
1732
includes/fpdf/fpdf.php
Executable file
File diff suppressed because it is too large
Load Diff
6
includes/fpdf/license.txt
Executable file
6
includes/fpdf/license.txt
Executable file
@ -0,0 +1,6 @@
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software to use, copy, modify, distribute, sublicense, and/or sell
|
||||
copies of the software, and to permit persons to whom the software is furnished
|
||||
to do so.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
|
@ -1,254 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
|
||||
AgileBill - Base class for all PDF invoice generation
|
||||
(C) 2006 Agileco LLC. All rights reserved.
|
||||
|
||||
File orginally written by Joseph Benden on 1/9/2006
|
||||
|
||||
$Id:$
|
||||
|
||||
*/
|
||||
|
||||
class pdf_invoice_base extends fpdi
|
||||
{
|
||||
var $iteration;
|
||||
var $show_service_range=false;
|
||||
|
||||
function load_setup(&$rs)
|
||||
{
|
||||
if(!$rs) {
|
||||
$db =& DB();
|
||||
$rs = $db->Execute(sqlSelect($db,"setup_invoice","*",""));
|
||||
}
|
||||
$this->billToCompany = $rs->fields['bill_to_company'];
|
||||
$this->invoiceCurrency = $rs->fields['invoice_currency'];
|
||||
$this->invoiceDecimals = $rs->fields['invoice_decimals'];
|
||||
$this->itemsSummaryMax = $rs->fields['items_summary_max'];
|
||||
$this->news = $rs->fields['news'];
|
||||
$this->pageType = $rs->fields['page_type'];
|
||||
$this->show_itemized = $rs->fields['invoice_show_itemized'];
|
||||
$this->show_service_range = $rs->fields['invoice_show_service_dates'];
|
||||
$this->contact_us_url = $rs->fields['contact_us_url'];
|
||||
$this->contact_us_phone = $rs->fields['contact_us_phone'];
|
||||
#$this->currency;
|
||||
$this->currency = $rs->fields['invoice_currency'];
|
||||
}
|
||||
|
||||
function drawCustom() {
|
||||
}
|
||||
|
||||
function getTemplate() {
|
||||
return PATH_INCLUDES."pdf/invoice.pdf";
|
||||
}
|
||||
|
||||
function drawCompanyLogo() {
|
||||
}
|
||||
|
||||
function drawCompanyAddress() {
|
||||
}
|
||||
|
||||
function drawAccountMailing() {
|
||||
}
|
||||
|
||||
function drawAccountId() {
|
||||
}
|
||||
|
||||
function drawAccountName() {
|
||||
}
|
||||
|
||||
function drawAccountUsername() {
|
||||
}
|
||||
|
||||
function drawAccountAddress() {
|
||||
}
|
||||
|
||||
function drawInvoiceNo() {
|
||||
}
|
||||
|
||||
function drawInvoiceCreatedDate() {
|
||||
}
|
||||
|
||||
function drawInvoiceRange() {
|
||||
}
|
||||
|
||||
function drawInvoiceDueDate() {
|
||||
}
|
||||
|
||||
function drawInvoiceTotalAmt() {
|
||||
}
|
||||
|
||||
function drawInvoicePaidAmt() {
|
||||
}
|
||||
|
||||
function drawInvoiceDueAmt() {
|
||||
}
|
||||
|
||||
function drawInvoiceDiscountAmt() {
|
||||
}
|
||||
|
||||
function drawInvoiceDueNotice() {
|
||||
}
|
||||
|
||||
function drawInvoicePaidNotice() {
|
||||
}
|
||||
|
||||
function drawInvoiceTaxAmt() {
|
||||
}
|
||||
|
||||
function drawInvoiceShippingAmt() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Actual second plus pages of details. This is the constructor.
|
||||
*/
|
||||
function drawLineItems_pre($iteration) {
|
||||
}
|
||||
|
||||
/**
|
||||
* This is called for each line item on the second plus pages of details.
|
||||
*/
|
||||
function drawLineItems(&$db, &$line) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Draws the summary on the first page
|
||||
*/
|
||||
function drawSummaryLineItems($items) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns the invoice fields to this object.
|
||||
*/
|
||||
function setInvoiceFields($flds) {
|
||||
$this->invoice = $flds;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns the account fields to this object.
|
||||
*/
|
||||
function setAccountFields($flds) {
|
||||
$this->account = $flds;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns the item summary fields to this object.
|
||||
*/
|
||||
function setItemsSummary($items) {
|
||||
$this->itemsSummary = $items;
|
||||
}
|
||||
|
||||
function setItemsFull($items) {
|
||||
$this->itemsFull = $items;
|
||||
}
|
||||
|
||||
function setDateRange($periodStart, $periodEnd) {
|
||||
$this->dateRange = date(UNIX_DATE_FORMAT, $periodStart) . ' - ' . date(UNIX_DATE_FORMAT, $periodEnd);
|
||||
}
|
||||
|
||||
function setCurrency($currency) {
|
||||
$this->invoiceCurrency = $currency;
|
||||
}
|
||||
|
||||
function setDecimals($decimals) {
|
||||
$this->invoiceDecimals = $decimals;
|
||||
}
|
||||
|
||||
function setLateFeeNotice() {
|
||||
}
|
||||
|
||||
function setDueAmt($amt) {
|
||||
$this->invoiceDueAmt=$amt;
|
||||
}
|
||||
|
||||
function setNetTerms($terms) {
|
||||
$this->netTerms=$terms;
|
||||
}
|
||||
|
||||
function _currency($num) {
|
||||
global $C_list;
|
||||
if($this->invoiceDecimals>3)
|
||||
return $this->invoiceCurrency . number_format($num, $this->invoiceDecimals);
|
||||
else
|
||||
return $C_list->format_currency_num($num, $this->invoice['actual_billed_currency_id']);
|
||||
}
|
||||
|
||||
|
||||
function _putpages() {
|
||||
$nb=$this->page;
|
||||
if(!empty($this->AliasNbPages))
|
||||
{
|
||||
//Replace number of pages
|
||||
for($n=1;$n<=$nb;$n++)
|
||||
$this->pages[$n]=($this->compress) ? gzcompress(str_replace($this->AliasNbPages,$nb,gzuncompress($this->pages[$n]))) : str_replace($this->AliasNbPages,$nb,$this->pages[$n]) ;
|
||||
}
|
||||
if($this->DefOrientation=='P')
|
||||
{
|
||||
$wPt=$this->fwPt;
|
||||
$hPt=$this->fhPt;
|
||||
}
|
||||
else
|
||||
{
|
||||
$wPt=$this->fhPt;
|
||||
$hPt=$this->fwPt;
|
||||
}
|
||||
$filter=($this->compress) ? '/Filter /FlateDecode ' : '';
|
||||
for($n=1;$n<=$nb;$n++)
|
||||
{
|
||||
//Page
|
||||
$this->_newobj();
|
||||
$this->_out('<</Type /Page');
|
||||
$this->_out('/Parent 1 0 R');
|
||||
if(isset($this->OrientationChanges[$n]))
|
||||
$this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$hPt,$wPt));
|
||||
$this->_out('/Resources 2 0 R');
|
||||
if(isset($this->PageLinks[$n]))
|
||||
{
|
||||
//Links
|
||||
$annots='/Annots [';
|
||||
foreach($this->PageLinks[$n] as $pl)
|
||||
{
|
||||
$rect=sprintf('%.2f %.2f %.2f %.2f',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]);
|
||||
$annots.='<</Type /Annot /Subtype /Link /Rect ['.$rect.'] /Border [0 0 0] ';
|
||||
if(is_string($pl[4]))
|
||||
$annots.='/A <</S /URI /URI '.$this->_textstring($pl[4]).'>>>>';
|
||||
else
|
||||
{
|
||||
$l=$this->links[$pl[4]];
|
||||
$h=isset($this->OrientationChanges[$l[0]]) ? $wPt : $hPt;
|
||||
$annots.=sprintf('/Dest [%d 0 R /XYZ 0 %.2f null]>>',1+2*$l[0],$h-$l[1]*$this->k);
|
||||
}
|
||||
}
|
||||
$this->_out($annots.']');
|
||||
}
|
||||
$this->_out('/Contents '.($this->n+1).' 0 R>>');
|
||||
$this->_out('endobj');
|
||||
//Page content
|
||||
$this->_newobj();
|
||||
$this->_out('<<'.$filter.'/Length '.strlen($this->pages[$n]).'>>');
|
||||
$this->_putstream($this->pages[$n]);
|
||||
$this->_out('endobj');
|
||||
}
|
||||
//Pages root
|
||||
$this->offsets[1]=strlen($this->buffer);
|
||||
$this->_out('1 0 obj');
|
||||
$this->_out('<</Type /Pages');
|
||||
$kids='/Kids [';
|
||||
for($i=0;$i<$nb;$i++)
|
||||
$kids.=(3+2*$i).' 0 R ';
|
||||
$this->_out($kids.']');
|
||||
$this->_out('/Count '.$nb);
|
||||
$this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$wPt,$hPt));
|
||||
$this->_out('>>');
|
||||
$this->_out('endobj');
|
||||
}
|
||||
|
||||
function _endpage() {
|
||||
//End of page contents
|
||||
$this->pages[$this->page] = ($this->compress) ? gzcompress($this->pages[$this->page]) : $this->pages[$this->page];
|
||||
$this->state=1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
@ -1,278 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
|
||||
AgileBill - Default PDF invoice with summary detail
|
||||
(C) 2006 Agileco LLC. All rights reserved.
|
||||
|
||||
$Id:$
|
||||
|
||||
*/
|
||||
require_once PATH_INCLUDES.'pdf/invoice_base.inc.php';
|
||||
|
||||
class pdf_invoice_overview extends pdf_invoice_base
|
||||
{
|
||||
var $billToCompany = true;
|
||||
var $invoiceDueAmt = 0;
|
||||
var $invoiceCurrency = '$';
|
||||
var $invoiceDecimals = '2';
|
||||
var $itemsSummary;
|
||||
var $itemsSummaryMax=6;
|
||||
var $itemsFull;
|
||||
var $news = '';
|
||||
var $v, $i, $y;
|
||||
var $pageType = 1;
|
||||
var $show_itemized = 1;
|
||||
|
||||
// draw the logo
|
||||
function drawCompanyLogo() {
|
||||
$x = 10;
|
||||
$y = 10;
|
||||
$width = 50;
|
||||
if(is_file(PATH_THEMES.'default/images/invoice_logo.jpg'))
|
||||
$this->Image(PATH_THEMES.'default/images/invoice_logo.jpg',$x,$y,$width);
|
||||
}
|
||||
|
||||
// draw the company address
|
||||
function drawCompanyAddress() {
|
||||
// add the company address on the payment stub (1)
|
||||
$this->SetFont('times','B', 10);
|
||||
$this->SetXY(18,202); $this->Cell(50,10, $this->companyName);
|
||||
$this->SetXY(18,206); $this->Cell(50,10, $this->companyAddress);
|
||||
$this->SetXY(18,210); $this->Cell(50,10, $this->companyCity. ", ". $this->companyState . " " . $this->companyZip);
|
||||
}
|
||||
|
||||
function drawAccountMailing() {
|
||||
// add the company address on the payment stub (2)
|
||||
$this->SetFont('times','B', 10);
|
||||
|
||||
if($this->billToCompany && !empty($this->account['company']))
|
||||
$name = $this->account['company'];
|
||||
else
|
||||
$name = $this->account['first_name'].' '.$this->account['last_name'];
|
||||
|
||||
$this->SetXY(120,240); $this->Cell(10,10, html_entity_decode($name,ENT_NOQUOTES));
|
||||
$this->SetXY(120,244); $this->Cell(50,10, $this->account['address1'] .' '. $this->account['address2']);
|
||||
$this->SetXY(120,248); $this->Cell(50,10, $this->account['city'] . ", ". $this->account['state'] . " " . $this->account['zip']);
|
||||
}
|
||||
|
||||
function drawAccountId() {
|
||||
$this->SetFont('times','B',11);
|
||||
$this->SetXY(28, 39.5);
|
||||
$this->Cell(10,10, $this->account['id']); // add to top of invoice
|
||||
|
||||
}
|
||||
|
||||
function drawAccountName() {
|
||||
$this->SetFont('times','B',11);
|
||||
$this->SetXY(36, 44);
|
||||
if($this->billToCompany && !empty($this->account['company']))
|
||||
$this->Cell(10,10, html_entity_decode($this->account['company'],ENT_NOQUOTES));
|
||||
else
|
||||
$this->Cell(10,10, html_entity_decode($this->account['first_name'].' '.$this->account['last_name'],ENT_NOQUOTES));
|
||||
}
|
||||
|
||||
function drawAccountUsername() {
|
||||
$this->SetFont('times','B',11);
|
||||
$this->SetXY(161, 44);
|
||||
$this->Cell(10,10, $this->account['username']);
|
||||
}
|
||||
|
||||
function drawAccountAddress() {
|
||||
$this->SetFont('times','B',11);
|
||||
}
|
||||
|
||||
function drawInvoiceNo() {
|
||||
$this->SetFont('times','',11);
|
||||
$this->SetXY(180, 222);
|
||||
$this->Cell(10,10, $this->invoice["id"]); // draw at the bottom of invoice
|
||||
}
|
||||
|
||||
function drawInvoiceRange() {
|
||||
if($this->show_service_range) {
|
||||
global $C_translate;
|
||||
$this->SetFont('times','B',11);
|
||||
$this->SetXY(8,85.5);
|
||||
$this->Cell(50,10, $C_translate->translate('pdf_service_range_month','setup_invoice') . " {$this->dateRange}");
|
||||
}
|
||||
}
|
||||
|
||||
function drawInvoiceDueDate() {
|
||||
$this->SetFont('times','B',11);
|
||||
$this->SetXY(161, 39.5);
|
||||
$this->Cell(10,10, date(UNIX_DATE_FORMAT, $this->invoice['due_date'])); // draw at top of invoice
|
||||
|
||||
$this->SetFont('times','',11);
|
||||
$this->SetXY(151, 222);
|
||||
$this->Cell(10,10, date(UNIX_DATE_FORMAT, $this->invoice['due_date']),0,0,'C'); // draw at the bottom of invoice
|
||||
}
|
||||
|
||||
function drawInvoiceTotalAmt() {
|
||||
$this->SetXY(147.5,72);
|
||||
$this->Cell(10,10, $this->_currency($this->invoice['total_amt']),0,0,'C'); // draw at the top
|
||||
}
|
||||
|
||||
function drawInvoicePaidAmt() {
|
||||
$this->SetFont('times','',11);
|
||||
$this->SetXY(47,72);
|
||||
$this->Cell(10,10, $this->_currency($this->invoice['billed_amt']), 0,0,'C');
|
||||
}
|
||||
|
||||
function drawInvoiceDueAmt() {
|
||||
$this->SetFont('times','',11);
|
||||
|
||||
$this->SetXY(114,72);
|
||||
$this->Cell(10,10, $this->_currency($this->invoiceDueAmt),0,0,'C'); // draw at the top
|
||||
|
||||
$this->SetXY(181,72);
|
||||
$this->Cell(10,10, $this->_currency($this->invoiceDueAmt),0,0,'C'); // draw at the top
|
||||
|
||||
$this->SetXY(123, 222);
|
||||
$this->Cell(10,10, $this->_currency($this->invoiceDueAmt),0,0,'C'); // draw at the bottom
|
||||
}
|
||||
|
||||
function drawInvoiceDiscountAmt() {
|
||||
$this->SetXY(80.5, 72);
|
||||
$this->Cell(10,10, $this->_currency($this->invoice['discount_amt']), 0,0,'C');
|
||||
}
|
||||
|
||||
function drawInvoiceTaxAmt() {
|
||||
$this->SetFont('times','',11);
|
||||
$this->SetXY(16,72);
|
||||
$this->Cell(10,10, $this->_currency($this->invoice['tax_amt']),0,0,'C'); // draw at the top
|
||||
}
|
||||
|
||||
/**
|
||||
* Called before begining to loop the invoice_item table. Used to set initial values.
|
||||
*/
|
||||
function drawLineItems_pre($iteration) {
|
||||
$this->iteration = $iteration;
|
||||
if($iteration>0)
|
||||
return false;
|
||||
$this->i = 0;
|
||||
$this->y = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called once per line item to add to the PDF invoice.
|
||||
*/
|
||||
function drawSubLineItems(&$db, $line) {
|
||||
global $C_translate;
|
||||
if ($this->i == 0 || $this->i%51 == 0) {
|
||||
$this->AddPage();
|
||||
|
||||
$this->SetFont('times','B',12);
|
||||
$this->SetXY(3,10); $this->Cell(0,0,$C_translate->translate('pdf_itemized_charges','setup_invoice'));
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_page','setup_invoice').$this->PageNo(),0,0,'R');
|
||||
$this->SetXY(3,10); $this->Cell(0,0,$C_translate->translate('pdf_invoice_number_small','setup_invoice').$this->invoice['id'],0,0,'C');
|
||||
|
||||
# Draw table headers
|
||||
$this->SetFont('times','B',8);
|
||||
$this->SetXY(9,20);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_description','setup_invoice'));
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_quantity','setup_invoice'));
|
||||
$this->SetX(170);
|
||||
$this->Cell(10,0,$C_translate->translate('pdf_item_cost','setup_invoice'),0,0,'R');
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_amount','setup_invoice'),0,0,'R');
|
||||
$this->Line(9,21,200,21);
|
||||
$this->y = 24;
|
||||
$this->SetY($this->y);
|
||||
}
|
||||
|
||||
$this->SetFont('times','',8);
|
||||
$this->SetX(18);
|
||||
$this->Cell(0,0, $line);
|
||||
|
||||
$this->y += 5;
|
||||
$this->SetY($this->y);
|
||||
$this->i++;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called once per line item to add to the PDF invoice.
|
||||
*/
|
||||
function drawLineItems(&$db, &$line) {
|
||||
global $C_translate;
|
||||
if ($this->i == 0 || $this->i%51 == 0) {
|
||||
$this->AddPage();
|
||||
|
||||
$this->SetFont('times','B',12);
|
||||
$this->SetXY(3,10); $this->Cell(0,0,$C_translate->translate('pdf_itemized_charges','setup_invoice'));
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_page','setup_invoice').$this->PageNo(),0,0,'R');
|
||||
$this->SetXY(3,10); $this->Cell(0,0,$C_translate->translate('pdf_invoice_number_small','setup_invoice').$this->invoice['id'],0,0,'C');
|
||||
|
||||
# Draw table headers
|
||||
$this->SetFont('times','B',8);
|
||||
$this->SetXY(9,20);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_description','setup_invoice'));
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_quantity','setup_invoice'));
|
||||
$this->SetX(170);
|
||||
$this->Cell(10,0,$C_translate->translate('pdf_item_cost','setup_invoice'),0,0,'R');
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_amount','setup_invoice'),0,0,'R');
|
||||
$this->Line(9,21,200,21);
|
||||
$this->y = 24;
|
||||
$this->SetY($this->y);
|
||||
}
|
||||
|
||||
$this->SetFont('times','',8);
|
||||
$this->SetX(9);
|
||||
$this->Cell(0,0, $line['name']);
|
||||
$this->SetX(170);
|
||||
$this->Cell(10,0, $this->_currency($line['amount']/$line['qty']),0,0,'R');
|
||||
$this->SetX(145);
|
||||
$this->Cell(10,0, $line['qty'],0,0,'R');
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0, $this->_currency($line['amount']), 0,0,'R');
|
||||
$this->y += 5;
|
||||
$this->SetY($this->y);
|
||||
$this->i++;
|
||||
|
||||
# Draw attributes if they are present
|
||||
if (strlen($line['attr'])) {
|
||||
$atrs = preg_split("/\r\n/", str_replace('\r\n',"\r\n",$line['attr']));
|
||||
foreach ($atrs as $a) {
|
||||
$parts = preg_split("/==/", $a);
|
||||
switch ($parts[0]) {
|
||||
default:
|
||||
if(strlen($parts[0]))
|
||||
$this->drawSubLineItems($db, $parts[0].": ".$parts[1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function drawSummaryLineItems($items) {
|
||||
global $C_translate;
|
||||
if (!$this->show_itemized) return;
|
||||
|
||||
$y = 105;
|
||||
$this->SetY($y);
|
||||
$this->SetFont('times','',11);
|
||||
|
||||
$i=0;
|
||||
if(is_array($items)) {
|
||||
foreach($items as $line) {
|
||||
$val = $line['name'];
|
||||
$this->SetX(9);
|
||||
$this->Cell(0,0, $val);
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0, $this->_currency($line['amount']), 0,0,'R');
|
||||
$y += 5;
|
||||
$this->SetY($y);
|
||||
$i++;
|
||||
if($i > $this->itemsSummaryMax) {
|
||||
$this->SetFont('times','B',11);
|
||||
$this->SetX(9);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_summary','setup_invoice'));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,406 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
|
||||
AgileVoice - Highly detailed PDF invoice
|
||||
(C) 2006 Agileco LLC. All rights reserved.
|
||||
|
||||
$Id:$
|
||||
|
||||
*/
|
||||
require_once PATH_INCLUDES.'pdf/invoice_base.inc.php';
|
||||
|
||||
class pdf_invoice_overview extends pdf_invoice_base
|
||||
{
|
||||
var $billToCompany = true;
|
||||
var $invoiceDueAmt = 0;
|
||||
var $invoiceCurrency = '$';
|
||||
var $invoiceDecimals = '5';
|
||||
var $itemsSummary;
|
||||
var $itemsSummaryMax=16;
|
||||
var $itemsFull;
|
||||
var $news = 'News you can use!\n\n';
|
||||
var $v, $i, $y;
|
||||
var $pageType = 2;
|
||||
var $show_itemized = 1;
|
||||
|
||||
function getTemplate() {
|
||||
if ($this->pageType == 2)
|
||||
return PATH_INCLUDES."pdf/invoice2.pdf";
|
||||
return PATH_INCLUDES."pdf/invoice1.pdf";
|
||||
}
|
||||
|
||||
// draw the logo
|
||||
function drawCompanyLogo() {
|
||||
$x = 9;
|
||||
$y = 7;
|
||||
$width = 50;
|
||||
if(is_file(PATH_THEMES.DEFAULT_THEME.'/images/invoice_logo.png'))
|
||||
$this->Image(PATH_THEMES.DEFAULT_THEME.'/images/invoice_logo.png',$x,$y,$width);
|
||||
}
|
||||
|
||||
// draw the company address
|
||||
function drawCompanyAddress() {
|
||||
global $C_translate;
|
||||
|
||||
// add the company address on the payment stub (1)
|
||||
$this->SetFont('arial','B', 13);
|
||||
$this->SetXY(18,202); $this->Cell(0,0,$C_translate->translate('pdf_payment_coupon','setup_invoice'));
|
||||
$this->SetFont('arial','', 8);
|
||||
$this->SetXY(18,206); $this->Cell(0,0,$C_translate->translate('pdf_return1','setup_invoice'));
|
||||
$this->SetXY(18,209); $this->Cell(0,0,$C_translate->translate('pdf_return2','setup_invoice').$this->companyName);
|
||||
|
||||
$this->SetFont('arial','', 10);
|
||||
$x = 18; $y = 216;
|
||||
if ($this->pageType == 2) {
|
||||
$y = 230;
|
||||
}
|
||||
$this->SetXY(18,$y); $this->Cell(0,0, $this->companyName); $y += 4;
|
||||
$this->SetXY(18,$y); $this->Cell(0,0, $this->companyAddress); $y += 4;
|
||||
$this->SetXY(18,$y); $this->Cell(0,0, $this->companyCity. ", ". $this->companyState . " " . $this->companyZip); $y += 4;
|
||||
}
|
||||
|
||||
function drawAccountMailing() {
|
||||
// add the company address on the payment stub (2)
|
||||
$this->SetFont('arial','B', 10);
|
||||
|
||||
if($this->billToCompany && !empty($this->account['company']))
|
||||
$name = $this->account['company'];
|
||||
else
|
||||
$name = $this->account['first_name'].' '.$this->account['last_name'];
|
||||
|
||||
$x = 110; $y = 248;
|
||||
if ($this->pageType == 2) {
|
||||
$x = 18; $y = 268;
|
||||
}
|
||||
$this->SetXY($x,$y); $this->Cell(0,0, html_entity_decode($name,ENT_NOQUOTES)); $y += 4;
|
||||
$this->SetXY($x,$y); $this->Cell(0,0, $this->account['address1'] .' '. $this->account['address2']); $y += 4;
|
||||
$this->SetXY($x,$y); $this->Cell(0,0, $this->account['city'] . ", ". $this->account['state'] . " " . $this->account['zip']); $y += 4;
|
||||
}
|
||||
|
||||
function drawAccountId() {
|
||||
global $C_translate;
|
||||
$this->SetFont('arial','',11);
|
||||
$this->SetXY(110, 205); $this->Cell(0,0,$C_translate->translate('pdf_account_number','setup_invoice'));
|
||||
$this->SetXY(150, 205);
|
||||
$this->Cell(0,0, $this->account['id']); // add to bottom of invoice
|
||||
|
||||
}
|
||||
|
||||
function drawAccountUsername() {
|
||||
global $C_translate;
|
||||
$this->SetFont('arial','B',11);
|
||||
$this->SetXY(95, 18); $this->Cell(0,0,$C_translate->translate('pdf_account_username','setup_invoice'));
|
||||
$this->SetXY(201,18); $this->Cell(0,0,$this->account['username'],0,0,'R');
|
||||
|
||||
$this->SetFont('arial','',11);
|
||||
$this->SetXY(95,30);
|
||||
$contact = $C_translate->translate('pdf_contact','setup_invoice')."\n";
|
||||
$contact .= $C_translate->translate('pdf_contact_online','setup_invoice').$this->contact_us_url."\n";
|
||||
$contact .= $C_translate->translate('pdf_contact_phone','setup_invoice').$this->contact_us_phone;
|
||||
$this->MultiCell(0,4,$contact);
|
||||
|
||||
$this->SetXY(9,170);
|
||||
$this->MultiCell(0, 4, str_replace('\n',"\n",$this->news));
|
||||
}
|
||||
|
||||
function drawAccountAddress() {
|
||||
$this->SetFont('times','B',11);
|
||||
}
|
||||
|
||||
function drawInvoiceNo() {
|
||||
global $C_translate;
|
||||
$this->SetFont('arial','B',11);
|
||||
$this->SetXY(95, 14); $this->Cell(0,0,$C_translate->translate('pdf_invoice_number','setup_invoice'));
|
||||
$this->SetXY(201, 14); $this->Cell(0,0, $this->invoice['id'],0,0,'R'); // add to bottom of invoice
|
||||
|
||||
$this->SetFont('arial','',11);
|
||||
$this->SetXY(110, 210); $this->Cell(0,0,$C_translate->translate('pdf_invoice_number','setup_invoice'));
|
||||
$this->SetXY(150, 210); $this->Cell(0,0, $this->invoice['id']); // add to bottom of invoice
|
||||
}
|
||||
|
||||
function drawInvoiceDueDate() {
|
||||
global $C_translate;
|
||||
$this->SetFont('arial','B',11);
|
||||
$this->SetXY(95,10); $this->Cell(0,0,$C_translate->translate('pdf_billing_date','setup_invoice'));
|
||||
$this->SetXY(201,10); $this->Cell(0,0, date(UNIX_DATE_FORMAT, $this->invoice['due_date']),0,0,'R'); // draw at top of invoice
|
||||
|
||||
$this->SetFont('arial','',11);
|
||||
$this->SetXY(110, 200); $this->Cell(0,0,$C_translate->translate('pdf_bill_date','setup_invoice'));
|
||||
$this->SetXY(150, 200);
|
||||
$this->Cell(0,0, date(UNIX_DATE_FORMAT, $this->invoice['due_date'])); // draw at the bottom of invoice
|
||||
}
|
||||
|
||||
function drawInvoiceTotalAmt() {
|
||||
global $C_translate;
|
||||
$this->SetFont('arial','B',11);
|
||||
$this->SetXY(95, 22); $this->Cell(0,0,$C_translate->translate('pdf_current_charges','setup_invoice'));
|
||||
$this->SetXY(201, 22); $this->Cell(0,0, $this->_currency($this->invoice['total_amt']),0,0,'R'); // draw at the top
|
||||
|
||||
$this->SetFont('arial','',9);
|
||||
$this->SetXY(110, 222); $this->Cell(0,0,$C_translate->translate('pdf_current_charges','setup_invoice'));
|
||||
$this->SetXY(201, 222); $this->Cell(0,0, $this->_currency($this->invoice['total_amt']),0,0,'R'); // draw at the top
|
||||
}
|
||||
|
||||
function drawInvoiceDueAmt() {
|
||||
global $C_translate;
|
||||
$this->SetFont('times','',11);
|
||||
|
||||
$this->SetFont('arial','',9);
|
||||
$this->SetXY(110, 226); $this->Cell(0,0,$C_translate->translate('pdf_amount_due_by','setup_invoice').date(UNIX_DATE_FORMAT, $this->invoice['due_date']));
|
||||
$this->SetXY(201, 226); $this->Cell(0,0, $this->_currency($this->invoiceDueAmt),0,0,'R');
|
||||
|
||||
$this->SetXY(110, 230); $this->Cell(0,0,$C_translate->translate('pdf_make_check','setup_invoice'));
|
||||
$this->SetXY(110, 234); $this->Cell(0,0,$this->companyName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called before begining to loop the invoice_item table. Used to set initial values.
|
||||
*/
|
||||
function drawLineItems_pre($iteration) {
|
||||
$this->iteration = $iteration;
|
||||
if($iteration>1)
|
||||
return false;
|
||||
|
||||
# Include the voip class
|
||||
include_once(PATH_MODULES.'voip/voip.inc.php');
|
||||
$this->v = new voip;
|
||||
$this->i = 0;
|
||||
$this->y = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called once per line item to add to the PDF invoice. This function serves to
|
||||
* direct each iteration to a different function which handles a specific piece
|
||||
* of the PDF building puzzle.
|
||||
*/
|
||||
function drawLineItems(&$db, &$line) {
|
||||
switch($this->iteration) {
|
||||
case 0:
|
||||
$this->drawLineItems_0($db, $line);
|
||||
break;
|
||||
case 1:
|
||||
$this->drawLineItems_1($db, $line);
|
||||
break;
|
||||
default:
|
||||
echo 'Unknown PDF iteration encountered. Halting.';
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Draws the non-VoIP related items for iteration 0.
|
||||
*/
|
||||
function drawLineItems_0(&$db, &$line) {
|
||||
global $C_translate;
|
||||
if ($line['price_type'] == 0 && $line['item_type']==5)
|
||||
return;
|
||||
|
||||
if ($this->i == 0 || $this->i%51 == 0) {
|
||||
$this->AddPage();
|
||||
|
||||
$this->SetFont('arial','B',12);
|
||||
$this->SetXY(3,10); $this->Cell(0,0,$C_translate->translate('pdf_itemized_charges','setup_invoice'));
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_page','setup_invoice').$this->PageNo(),0,0,'R');
|
||||
$this->SetXY(3,10); $this->Cell(0,0,$C_translate->translate('pdf_invoice_number_small','setup_invoice').$this->invoice['id'],0,0,'C');
|
||||
|
||||
# Draw table headers
|
||||
$this->SetFont('arial','B',8);
|
||||
$this->SetXY(9,20);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_description','setup_invoice'));
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_quantity','setup_invoice'));
|
||||
$this->SetX(170);
|
||||
$this->Cell(10,0,$C_translate->translate('pdf_item_cost','setup_invoice'),0,0,'R');
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_amount','setup_invoice'),0,0,'R');
|
||||
$this->Line(9,21,200,21);
|
||||
$this->y = 24;
|
||||
$this->SetY($this->y);
|
||||
}
|
||||
|
||||
$this->SetFont('arial','',8);
|
||||
$this->SetX(9);
|
||||
$this->Cell(0,0, $line['name']);
|
||||
$this->SetX(170);
|
||||
$this->Cell(10,0, $this->_currency($line['price_base']),0,0,'R');
|
||||
$this->SetX(145);
|
||||
$this->Cell(10,0, $line['qty'],0,0,'R');
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0, $this->_currency($line['total_amt']), 0,0,'R');
|
||||
$this->y += 5;
|
||||
$this->SetY($this->y);
|
||||
$this->i++;
|
||||
}
|
||||
|
||||
/**
|
||||
* Draws the VoIP Calling Detail for Iteration 1.
|
||||
*/
|
||||
function drawLineItems_1(&$db, &$line) {
|
||||
global $C_translate;
|
||||
if($this->show_itemized != 1) return;
|
||||
if($line['price_type'] != 0 || $line['item_type'] != 5)
|
||||
return;
|
||||
|
||||
if ($this->i == 0 || $this->i%51 == 0) {
|
||||
$this->AddPage();
|
||||
|
||||
$this->SetFont('arial','B',12);
|
||||
$this->SetXY(3,10); $this->Cell(0,0,$C_translate->translate('pdf_itemized_calls','setup_invoice'));
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_page','setup_invoice').$this->PageNo(),0,0,'R');
|
||||
$this->SetXY(3,10); $this->Cell(0,0,$C_translate->translate('pdf_invoice_number_small','setup_invoice').$this->invoice['id'],0,0,'C');
|
||||
|
||||
# Draw table headers
|
||||
$this->SetFont('arial','B',8);
|
||||
$this->SetXY(9,20);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_from','setup_invoice'));
|
||||
$this->SetX(69);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_to','setup_invoice'));
|
||||
$this->SetX(119);
|
||||
$this->Cell(0,0,'Date & Time');
|
||||
$this->SetX(160);
|
||||
$this->Cell(10,0,'Seconds' /*$C_translate->translate('pdf_item_min','setup_invoice')*/,0,0,'R');
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_amount','setup_invoice'),0,0,'R');
|
||||
$this->Line(9,21,200,21);
|
||||
$this->y = 24;
|
||||
$this->SetY($this->y);
|
||||
}
|
||||
|
||||
if ($line['price_type'] != 0) {
|
||||
$this->SetFont('arial','I',6);
|
||||
} else {
|
||||
$this->SetFont('arial','',6);
|
||||
}
|
||||
|
||||
$val = $line['name'];
|
||||
if (strlen($line['attr'])) {
|
||||
$val = "";
|
||||
$atrs = preg_split("/\r\n/", str_replace('\r\n',"\r\n",$line['attr']));
|
||||
foreach ($atrs as $a) {
|
||||
$parts = preg_split("/==/", $a);
|
||||
switch ($parts[0]) {
|
||||
case "Destination":
|
||||
$this->SetX(69);
|
||||
$this->Cell(0,0,$parts[1]);
|
||||
$cc = ""; $npa = ""; $nxx = ""; $e164 = "";
|
||||
if ($this->v->e164($parts[1], $e164, $cc, $npa, $nxx)) {
|
||||
$this->SetX(89);
|
||||
$this->Cell(0,0,substr($this->v->where_is($db, $cc, $npa, $nxx), 0, 20));
|
||||
}
|
||||
break;
|
||||
case "Source":
|
||||
$this->SetX(9);
|
||||
$this->Cell(0,0,$parts[1]);
|
||||
$cc = ""; $npa = ""; $nxx = ""; $e164 = "";
|
||||
if ($this->v->e164($parts[1], $e164, $cc, $npa, $nxx)) {
|
||||
$this->SetX(29);
|
||||
$this->Cell(0,0,substr($this->v->where_is($db, $cc, $npa, $nxx), 0, 20));
|
||||
}
|
||||
break;
|
||||
case "parent_service_id":
|
||||
$sql = sqlSelect($db,"service","prod_attr","id=::".$parts[1]."::");
|
||||
$rstmp = $db->Execute($sql);
|
||||
$atrs2 = split("\r\n", $rstmp->fields['prod_attr']);
|
||||
foreach ($atrs2 as $a2) {
|
||||
$parts2 = split("==", $a2);
|
||||
switch ($parts2[0]) {
|
||||
case "station":
|
||||
case "ported":
|
||||
$val = $line['name']." for ".$parts2[1];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "station":
|
||||
case "ported":
|
||||
$val = $line['name']." for ".$parts[1];
|
||||
break;
|
||||
case "date_orig":
|
||||
$this->SetX(119);
|
||||
$this->Cell(0,0,date(UNIX_DATE_FORMAT." H:i:s",$parts[1]));
|
||||
break;
|
||||
case "voip_cdr_id":
|
||||
$sql = "SELECT billsec, amount FROM ".AGILE_DB_PREFIX."voip_cdr WHERE site_id=".DEFAULT_SITE." AND id=".$parts[1];
|
||||
$row = $db->GetRow($sql);
|
||||
$this->SetX(160);
|
||||
$this->Cell(10,0,$row[0],0,0,'R');
|
||||
$this->SetX(160);
|
||||
$this->Cell(0,0,$this->_currency($row[1]),0,0,'R');
|
||||
$val = "";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->SetX(9);
|
||||
$this->Cell(0,0, $val);
|
||||
if ($line['price_type'] == 0) {
|
||||
$this->SetX(160);
|
||||
//$this->Cell(10,0, $line['qty']." M",0,0,'R');
|
||||
} else {
|
||||
$q = $line['qty'];
|
||||
if(empty($q)) $q = 1;
|
||||
$this->SetX(160);
|
||||
$this->Cell(10,0, $line['qty'],0,0,'R');
|
||||
// }
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0, $this->_currency($line['amount']), 0,0,'R');
|
||||
}
|
||||
$this->y += 5;
|
||||
$this->SetY($this->y);
|
||||
$this->i++;
|
||||
}
|
||||
|
||||
function drawSummaryLineItems($items) {
|
||||
global $C_translate;
|
||||
#if (!$this->show_itemized) return;
|
||||
|
||||
# Include the voip class
|
||||
include_once(PATH_MODULES.'voip/voip.inc.php');
|
||||
$v = new voip;
|
||||
$db = &DB();
|
||||
|
||||
$this->SetFont('arial','B',11);
|
||||
$y = 70;
|
||||
$this->SetY($y);
|
||||
|
||||
$this->SetX(9); $this->Cell(0,0,$C_translate->translate('pdf_cur_charge_summary','setup_invoice').$this->dateRange);
|
||||
$y += 5;
|
||||
$this->SetY($y);
|
||||
|
||||
$this->SetFont('arial','',9);
|
||||
|
||||
$i=0;
|
||||
if(is_array($items)) {
|
||||
foreach($items as $line) {
|
||||
$val = $line['name'];
|
||||
$this->SetX(9);
|
||||
if (@$line['item_type'] == 5) {
|
||||
$val = $line['quantity'].$C_translate->translate('pdf_combine_minutes','setup_invoice');
|
||||
}
|
||||
$q = $line['quantity'];
|
||||
if(empty($q)) $q = 1;
|
||||
$this->Cell(0,0, $q);
|
||||
$this->SetX(18);
|
||||
$this->Cell(0,0, $val);
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0, $this->_currency($line['amount']), 0,0,'R');
|
||||
$y += 5;
|
||||
$this->SetY($y);
|
||||
$i++;
|
||||
if($i > $this->itemsSummaryMax) {
|
||||
$this->SetFont('arial','B',11);
|
||||
$this->SetX(9);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_summary','setup_invoice'));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -1,321 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
|
||||
AgileVoice - Detailed PDF invoice with CDR detail
|
||||
(C) 2006 Agileco LLC. All rights reserved.
|
||||
|
||||
$Id:$
|
||||
|
||||
*/
|
||||
require_once PATH_INCLUDES.'pdf/invoice_base.inc.php';
|
||||
|
||||
class pdf_invoice_overview extends pdf_invoice_base
|
||||
{
|
||||
var $billToCompany = true;
|
||||
var $invoiceDueAmt = 0;
|
||||
var $invoiceCurrency = '$';
|
||||
var $invoiceDecimals = '5';
|
||||
var $itemsSummary;
|
||||
var $itemsSummaryMax=16;
|
||||
var $itemsFull;
|
||||
var $news = '';
|
||||
var $v, $i, $y;
|
||||
var $pageType = 2;
|
||||
var $show_itemized = 1;
|
||||
|
||||
function getTemplate() {
|
||||
if ($this->pageType == 2)
|
||||
return PATH_INCLUDES."pdf/invoice2.pdf";
|
||||
return PATH_INCLUDES."pdf/invoice1.pdf";
|
||||
}
|
||||
|
||||
// draw the logo
|
||||
function drawCompanyLogo() {
|
||||
$x = 9;
|
||||
$y = 7;
|
||||
$width = 50;
|
||||
if(is_file(PATH_THEMES.DEFAULT_THEME.'/images/invoice_logo.png'))
|
||||
$this->Image(PATH_THEMES.DEFAULT_THEME.'/images/invoice_logo.png',$x,$y,$width);
|
||||
}
|
||||
|
||||
// draw the company address
|
||||
function drawCompanyAddress() {
|
||||
global $C_translate;
|
||||
// add the company address on the payment stub (1)
|
||||
$this->SetFont('arial','B', 13);
|
||||
$this->SetXY(18,202); $this->Cell(0,0,$C_translate->translate('pdf_payment_coupon','setup_invoice'));
|
||||
$this->SetFont('arial','', 8);
|
||||
$this->SetXY(18,206); $this->Cell(0,0,$C_translate->translate('pdf_return1','setup_invoice'));
|
||||
$this->SetXY(18,209); $this->Cell(0,0,$C_translate->translate('pdf_return2','setup_invoice').$this->companyName);
|
||||
|
||||
$this->SetFont('arial','', 10);
|
||||
$x = 18; $y = 216;
|
||||
if ($this->pageType == 2) {
|
||||
$y = 230;
|
||||
}
|
||||
$this->SetXY(18,$y); $this->Cell(0,0, $this->companyName); $y += 4;
|
||||
$this->SetXY(18,$y); $this->Cell(0,0, $this->companyAddress); $y += 4;
|
||||
$this->SetXY(18,$y); $this->Cell(0,0, $this->companyCity. ", ". $this->companyState . " " . $this->companyZip); $y += 4;
|
||||
}
|
||||
|
||||
function drawAccountMailing() {
|
||||
// add the company address on the payment stub (2)
|
||||
$this->SetFont('arial','B', 10);
|
||||
|
||||
if($this->billToCompany && !empty($this->account['company']))
|
||||
$name = $this->account['company'];
|
||||
else
|
||||
$name = $this->account['first_name'].' '.$this->account['last_name'];
|
||||
|
||||
$x = 110; $y = 248;
|
||||
if ($this->pageType == 2) {
|
||||
$x = 18; $y = 268;
|
||||
}
|
||||
$this->SetXY($x,$y); $this->Cell(0,0, html_entity_decode($name,ENT_NOQUOTES)); $y += 4;
|
||||
$this->SetXY($x,$y); $this->Cell(0,0, $this->account['address1'] .' '. $this->account['address2']); $y += 4;
|
||||
$this->SetXY($x,$y); $this->Cell(0,0, $this->account['city'] . ", ". $this->account['state'] . " " . $this->account['zip']); $y += 4;
|
||||
}
|
||||
|
||||
function drawAccountId() {
|
||||
global $C_translate;
|
||||
$this->SetFont('arial','',11);
|
||||
$this->SetXY(110, 205); $this->Cell(0,0,$C_translate->translate('pdf_account_number','setup_invoice'));
|
||||
$this->SetXY(150, 205);
|
||||
$this->Cell(0,0, $this->account['id']); // add to bottom of invoice
|
||||
|
||||
}
|
||||
|
||||
function drawAccountUsername() {
|
||||
global $C_translate;
|
||||
$this->SetFont('arial','B',11);
|
||||
$this->SetXY(95, 18); $this->Cell(0,0,$C_translate->translate('pdf_account_username','setup_invoice'));
|
||||
$this->SetXY(201,18); $this->Cell(0,0,$this->account['username'],0,0,'R');
|
||||
|
||||
$this->SetFont('arial','',11);
|
||||
$this->SetXY(95,30);
|
||||
$contact = $C_translate->translate('pdf_contact','setup_invoice')."\n";
|
||||
$contact .= $C_translate->translate('pdf_contact_online','setup_invoice').$this->contact_us_url."\n";
|
||||
$contact .= $C_translate->translate('pdf_contact_phone','setup_invoice').$this->contact_us_phone;
|
||||
$this->MultiCell(0,4,$contact);
|
||||
|
||||
$this->SetXY(9,170);
|
||||
$this->MultiCell(0, 4, str_replace('\n',"\n",$this->news));
|
||||
}
|
||||
|
||||
function drawAccountAddress() {
|
||||
$this->SetFont('times','B',11);
|
||||
}
|
||||
|
||||
function drawInvoiceNo() {
|
||||
global $C_translate;
|
||||
$this->SetFont('arial','B',11);
|
||||
$this->SetXY(95, 14); $this->Cell(0,0,$C_translate->translate('pdf_invoice_number','setup_invoice'));
|
||||
$this->SetXY(201, 14); $this->Cell(0,0, $this->invoice['id'],0,0,'R'); // add to bottom of invoice
|
||||
|
||||
$this->SetFont('arial','',11);
|
||||
$this->SetXY(110, 210); $this->Cell(0,0,$C_translate->translate('pdf_invoice_number','setup_invoice'));
|
||||
$this->SetXY(150, 210); $this->Cell(0,0, $this->invoice['id']); // add to bottom of invoice
|
||||
}
|
||||
|
||||
function drawInvoiceDueDate() {
|
||||
global $C_translate;
|
||||
$this->SetFont('arial','B',11);
|
||||
$this->SetXY(95,10); $this->Cell(0,0,$C_translate->translate('pdf_billing_date','setup_invoice'));
|
||||
$this->SetXY(201,10); $this->Cell(0,0, date(UNIX_DATE_FORMAT, $this->invoice['due_date']),0,0,'R'); // draw at top of invoice
|
||||
|
||||
$this->SetFont('arial','',11);
|
||||
$this->SetXY(110, 200); $this->Cell(0,0,$C_translate->translate('pdf_bill_date','setup_invoice'));
|
||||
$this->SetXY(150, 200);
|
||||
$this->Cell(0,0, date(UNIX_DATE_FORMAT, $this->invoice['due_date'])); // draw at the bottom of invoice
|
||||
}
|
||||
|
||||
function drawInvoiceTotalAmt() {
|
||||
global $C_translate;
|
||||
$this->SetFont('arial','B',11);
|
||||
$this->SetXY(95, 22); $this->Cell(0,0,$C_translate->translate('pdf_current_charges','setup_invoice'));
|
||||
$this->SetXY(201, 22); $this->Cell(0,0, $this->_currency($this->invoice['total_amt']),0,0,'R'); // draw at the top
|
||||
|
||||
$this->SetFont('arial','',9);
|
||||
$this->SetXY(110, 222); $this->Cell(0,0,$C_translate->translate('pdf_current_charges','setup_invoice'));
|
||||
$this->SetXY(201, 222); $this->Cell(0,0, $this->_currency($this->invoice['total_amt']),0,0,'R'); // draw at the top
|
||||
}
|
||||
|
||||
function drawInvoiceDueAmt() {
|
||||
global $C_translate;
|
||||
$this->SetFont('times','',11);
|
||||
|
||||
$this->SetFont('arial','',9);
|
||||
$this->SetXY(110, 226); $this->Cell(0,0,$C_translate->translate('pdf_amount_due_by','setup_invoice').date(UNIX_DATE_FORMAT, $this->invoice['due_date']));
|
||||
$this->SetXY(201, 226); $this->Cell(0,0, $this->_currency($this->invoiceDueAmt),0,0,'R');
|
||||
|
||||
$this->SetXY(110, 230); $this->Cell(0,0,$C_translate->translate('pdf_make_check','setup_invoice'));
|
||||
$this->SetXY(110, 234); $this->Cell(0,0,$this->companyName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called before begining to loop the invoice_item table. Used to set initial values.
|
||||
*/
|
||||
function drawLineItems_pre($iteration) {
|
||||
$this->iteration = $iteration;
|
||||
if($iteration>0)
|
||||
return false;
|
||||
# Include the voip class
|
||||
include_once(PATH_MODULES.'voip/voip.inc.php');
|
||||
$this->v = new voip;
|
||||
$this->i = 0;
|
||||
$this->y = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called once per line item to add to the PDF invoice.
|
||||
*/
|
||||
function drawLineItems(&$db, &$line) {
|
||||
global $C_translate;
|
||||
if ($this->i == 0 || $this->i%51 == 0) {
|
||||
$this->AddPage();
|
||||
|
||||
$this->SetFont('arial','B',12);
|
||||
$this->SetXY(3,10); $this->Cell(0,0,$C_translate->translate('pdf_itemized_calls','setup_invoice'));
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_page','setup_invoice').$this->PageNo(),0,0,'R');
|
||||
$this->SetXY(3,10); $this->Cell(0,0,$C_translate->translate('pdf_invoice_number_small','setup_invoice').$this->invoice['id'],0,0,'C');
|
||||
|
||||
# Draw table headers
|
||||
$this->SetFont('arial','B',8);
|
||||
$this->SetXY(9,20);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_from','setup_invoice'));
|
||||
$this->SetX(75);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_to','setup_invoice'));
|
||||
$this->SetX(160);
|
||||
$this->Cell(10,0,$C_translate->translate('pdf_item_min','setup_invoice'),0,0,'R');
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_item_amount','setup_invoice'),0,0,'R');
|
||||
$this->Line(9,21,200,21);
|
||||
$this->y = 24;
|
||||
$this->SetY($this->y);
|
||||
}
|
||||
|
||||
if ($line['price_type'] != 0) {
|
||||
$this->SetFont('arial','I',8);
|
||||
} else {
|
||||
$this->SetFont('arial','',8);
|
||||
}
|
||||
|
||||
$val = $line['name'];
|
||||
if (strlen($line['attr'])) {
|
||||
$val = "";
|
||||
$atrs = preg_split("/\r\n/", str_replace('\r\n',"\r\n",$line['attr']));
|
||||
foreach ($atrs as $a) {
|
||||
$parts = preg_split("/==/", $a);
|
||||
switch ($parts[0]) {
|
||||
case "Destination":
|
||||
$this->SetX(75);
|
||||
$this->Cell(0,0,$parts[1]);
|
||||
$cc = ""; $npa = ""; $nxx = ""; $e164 = "";
|
||||
if ($this->v->e164($parts[1], $e164, $cc, $npa, $nxx)) {
|
||||
$this->SetX(115);
|
||||
$this->Cell(0,0,substr($this->v->where_is($db, $cc, $npa, $nxx), 0, 20));
|
||||
}
|
||||
break;
|
||||
case "Source":
|
||||
$this->SetX(9);
|
||||
$this->Cell(0,0,$parts[1]);
|
||||
$cc = ""; $npa = ""; $nxx = ""; $e164 = "";
|
||||
if ($this->v->e164($parts[1], $e164, $cc, $npa, $nxx)) {
|
||||
$this->SetX(39);
|
||||
$this->Cell(0,0,substr($this->v->where_is($db, $cc, $npa, $nxx), 0, 20));
|
||||
}
|
||||
break;
|
||||
case "parent_service_id":
|
||||
$sql = sqlSelect($db,"service","prod_attr","id=::".$parts[1]."::");
|
||||
$rstmp = $db->Execute($sql);
|
||||
$atrs2 = preg_split("/\r\n/", $rstmp->fields['prod_attr']);
|
||||
foreach ($atrs2 as $a2) {
|
||||
$parts2 = preg_split("/==/", $a2);
|
||||
switch ($parts2[0]) {
|
||||
case "station":
|
||||
case "ported":
|
||||
$val = $line['name']." for ".$parts2[1];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "station":
|
||||
case "ported":
|
||||
$val = $line['name']." for ".$parts[1];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->SetX(9);
|
||||
$this->Cell(0,0, $val);
|
||||
if ($line['price_type'] == 0) {
|
||||
$this->SetX(160);
|
||||
$this->Cell(10,0, $line['qty']." M",0,0,'R');
|
||||
} else {
|
||||
$q = $line['qty'];
|
||||
if(empty($q)) $q = 1;
|
||||
$this->SetX(160);
|
||||
$this->Cell(10,0, $line['qty'],0,0,'R');
|
||||
}
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0, $this->_currency($line['total_amt']), 0,0,'R');
|
||||
$this->y += 5;
|
||||
$this->SetY($this->y);
|
||||
$this->i++;
|
||||
}
|
||||
|
||||
function drawSummaryLineItems($items) {
|
||||
global $C_translate;
|
||||
if (!$this->show_itemized) return;
|
||||
|
||||
# Include the voip class
|
||||
include_once(PATH_MODULES.'voip/voip.inc.php');
|
||||
$v = new voip;
|
||||
$db = &DB();
|
||||
|
||||
$this->SetFont('arial','B',11);
|
||||
$y = 70;
|
||||
$this->SetY($y);
|
||||
|
||||
$this->SetX(9); $this->Cell(0,0,$C_translate->translate('pdf_cur_charge_summary','setup_invoice').$this->dateRange);
|
||||
$y += 5;
|
||||
$this->SetY($y);
|
||||
|
||||
$this->SetFont('arial','',9);
|
||||
|
||||
$i=0;
|
||||
if(is_array($items)) {
|
||||
foreach($items as $line) {
|
||||
$val = $line['name'];
|
||||
$this->SetX(9);
|
||||
if (@$line['item_type'] == 5) {
|
||||
$val = $line['quantity'].$C_translate->translate('pdf_combine_minutes','setup_invoice');
|
||||
}
|
||||
$q = $line['quantity'];
|
||||
if(empty($q)) $q = 1;
|
||||
$this->Cell(0,0, $q);
|
||||
$this->SetX(18);
|
||||
$this->Cell(0,0, $val);
|
||||
$this->SetX(145);
|
||||
$this->Cell(0,0, $this->_currency($line['amount']), 0,0,'R');
|
||||
$y += 5;
|
||||
$this->SetY($y);
|
||||
$i++;
|
||||
if($i > $this->itemsSummaryMax) {
|
||||
$this->SetFont('arial','B',11);
|
||||
$this->SetX(9);
|
||||
$this->Cell(0,0,$C_translate->translate('pdf_summary','setup_invoice'));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -1,20 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: block.account.php
|
||||
* Type: block
|
||||
* Name: account
|
||||
* Purpose: display an account field
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_block_account($params, $resource, &$smarty)
|
||||
{
|
||||
$resource = trim($resource);
|
||||
if ($resource != '')
|
||||
{
|
||||
global $C_list;
|
||||
echo $C_list->account($resource);
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,38 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: block.group.php
|
||||
* Type: block
|
||||
* Name: group
|
||||
* Purpose: display content to authenticated groups only
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_block_group($params, $resource, &$smarty)
|
||||
{
|
||||
if(empty($resource)) return;
|
||||
|
||||
@$id = $params["id"];
|
||||
$do = false;
|
||||
$db = &DB();
|
||||
$sql = 'SELECT status,group_avail FROM ' . AGILE_DB_PREFIX . 'htaccess WHERE
|
||||
site_id = ' . $db->qstr(DEFAULT_SITE) . ' AND
|
||||
status = ' . $db->qstr('1') . ' AND
|
||||
id = ' . $db->qstr($id);
|
||||
@$result = $db->Execute($sql);
|
||||
$do = false;
|
||||
if(@$result->RecordCount() > 0) {
|
||||
global $C_auth;
|
||||
@$arr = unserialize($result->fields['group_avail']);
|
||||
for($i=0; $i<count($arr); $i++)
|
||||
if($do == false && $C_auth->auth_group_by_id($arr[$i]))
|
||||
$do = true;
|
||||
}
|
||||
|
||||
if($do) {
|
||||
echo $resource;
|
||||
} else {
|
||||
echo @$params["msg"];
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,55 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: block.htmlarea.php
|
||||
* Type: block
|
||||
* Name: htmlarea
|
||||
* Purpose: display a WYSIWYG html editor form
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_block_htmlarea($params, $resource, &$smarty)
|
||||
{
|
||||
/* passed params:
|
||||
field = name of the textarea field
|
||||
width = width ie '100'
|
||||
height = height ie '200'
|
||||
*/
|
||||
|
||||
|
||||
if(isset($resource))
|
||||
{
|
||||
if(empty($params['width']))
|
||||
$width = '550';
|
||||
else
|
||||
$width = $params['width'];
|
||||
|
||||
if(empty($params['height']))
|
||||
$height = '350';
|
||||
else
|
||||
$height = $params['height'];
|
||||
|
||||
echo '
|
||||
<textarea id="'.$params['field'].'" name="'.$params['field'].'">'.$resource.'</textarea>
|
||||
<script type="text/javascript" defer="1">
|
||||
var config = new HTMLArea.Config();
|
||||
config.width = \''.$width .'px\';
|
||||
config.height = \''.$height .'px\';
|
||||
config.toolbar = [
|
||||
[ "fontname", "space",
|
||||
"fontsize", "space",
|
||||
"formatblock", "space",
|
||||
"strikethrough", "subscript", "superscript", "separator",
|
||||
"copy", "cut", "paste", "space", "undo", "redo" ],
|
||||
|
||||
[ "bold", "italic", "underline", "separator",
|
||||
"justifyleft", "justifycenter", "justifyright", "justifyfull", "separator",
|
||||
"insertorderedlist", "insertunorderedlist", "outdent", "indent", "separator",
|
||||
"forecolor", "hilitecolor", "textindicator", "separator",
|
||||
"inserthorizontalrule", "createlink", "insertimage", "inserttable", "htmlmode"]
|
||||
];
|
||||
HTMLArea.replace("'.$params['field'].'", config);
|
||||
</script>';
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,23 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: block.is_auth.php
|
||||
* Type: block
|
||||
* Name: is_auth
|
||||
* Purpose: display content to authenticated groups based on module & method
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_block_is_auth($params, $resource, &$smarty)
|
||||
{
|
||||
if(empty($resource)) return;
|
||||
|
||||
global $C_auth;
|
||||
if(!is_object($C_auth)) return false;
|
||||
|
||||
if($C_auth->auth_method_by_name($params["module"], $params["method"]))
|
||||
echo $resource;
|
||||
else
|
||||
echo $params["alt"];
|
||||
}
|
||||
?>
|
@ -1,25 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: block.is_auth_method.php
|
||||
* Type: block
|
||||
* Name: is_auth_method
|
||||
* Purpose: display content to authenticated groups based on authentication to module/method
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_block_is_auth_method($params, $resource, &$smarty)
|
||||
{
|
||||
if(empty($resource)) return;
|
||||
|
||||
if(!empty($params['logged']) && !SESS_LOGGED) return false;
|
||||
|
||||
global $C_auth;
|
||||
if(!is_object($C_auth)) return false;
|
||||
|
||||
if($C_auth->auth_method_by_name($params["module"], $params["method"]))
|
||||
echo $resource;
|
||||
else if(!empty($params["alt"]))
|
||||
echo $params["alt"];
|
||||
}
|
||||
?>
|
@ -1,39 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: block.panel.php
|
||||
* Type: block
|
||||
* Name: panel
|
||||
* Purpose: Creates a div/span element around html / text
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_block_panel($params, $resource, &$smarty)
|
||||
{
|
||||
|
||||
$type = 'div';
|
||||
$show = true;
|
||||
|
||||
$_ignore['show'] = true;
|
||||
$_ignore['type'] = true;
|
||||
|
||||
$vals='';
|
||||
foreach($params as $_key => $_val)
|
||||
if(empty($_ignore["$_key"]))
|
||||
$vals .= " $_key=\"$_val\"";
|
||||
else
|
||||
$$_key = $_val;
|
||||
|
||||
$pre = "<{$type}";
|
||||
if(!$show)
|
||||
$pre .= " style=\"display:none\"";
|
||||
$pre .= $vals;
|
||||
$pre .= ">\r\n";
|
||||
|
||||
$pre .= $resource;
|
||||
|
||||
$pre .= "\r\n</$type>";
|
||||
|
||||
return $pre;
|
||||
}
|
||||
?>
|
@ -1,38 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: block.translate.php
|
||||
* Type: block
|
||||
* Name: translate
|
||||
* Purpose: translate a block of text
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_block_translate($params, $resource, &$smarty)
|
||||
{
|
||||
global $C_translate;
|
||||
|
||||
if($params["module"] != '')
|
||||
{
|
||||
$module = $params["module"];
|
||||
}
|
||||
else
|
||||
{
|
||||
$module = 'CORE';
|
||||
}
|
||||
|
||||
|
||||
while(list ($key, $val) = each ($params))
|
||||
{
|
||||
$C_translate->value["$module"]["$key"] = $val;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$resource = trim($resource);
|
||||
if ($resource != '') {
|
||||
# strip whitespaces from the resouce identifier
|
||||
echo $C_translate->translate($resource,$module,'');
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: ab_version
|
||||
* Purpose: display current AB version
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_ab_version($params, &$smarty)
|
||||
{
|
||||
include_once(PATH_CORE.'version.inc.php');
|
||||
$ver = new CORE_version;
|
||||
$ver->smarty();
|
||||
|
||||
}
|
||||
|
||||
?>
|
@ -1,30 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: assign
|
||||
* Purpose: assign a value to a template variable
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_assign($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
|
||||
if (empty($var)) {
|
||||
$smarty->trigger_error("assign: missing 'var' parameter");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!in_array('value', array_keys($params))) {
|
||||
$smarty->trigger_error("assign: missing 'value' parameter");
|
||||
return;
|
||||
}
|
||||
|
||||
$smarty->assign($var, $value);
|
||||
}
|
||||
|
||||
/* vim: set expandtab: */
|
||||
|
||||
?>
|
@ -1,29 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: block
|
||||
* Purpose: display an agilebill block
|
||||
* Usage: {block module=? block=?}
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_block($params, &$this)
|
||||
{
|
||||
extract($params);
|
||||
|
||||
if($module == 'TEMPLATE') {
|
||||
$this->display('file:' . PATH_THEMES . '' . THEME_NAME . '/' . $smarty->template_dir . '' . $block . '.tpl');
|
||||
} else {
|
||||
if(is_file(PATH_THEMES . '' . THEME_NAME . '/blocks/' . $module . '/' . $block . '.tpl'))
|
||||
$this->display('file:'. PATH_THEMES . '' . THEME_NAME . '/blocks/' . $module . '/' . $block . '.tpl' );
|
||||
elseif (is_file(PATH_THEMES . '' . DEF_THEME_N . '/blocks/' . $module . '/' . $block . '.tpl'))
|
||||
$this->display('file:' . PATH_THEMES . '' . DEF_THEME_N . '/blocks/' . $module . '/' . $block . '.tpl');
|
||||
elseif (is_file(PATH_THEMES . 'default/blocks/' . $module . '/' . $block . '.tpl'))
|
||||
$this->display('file:' . PATH_THEMES . 'default/blocks/' . $module . '/' . $block . '.tpl');
|
||||
else
|
||||
$this->display('file:'. PATH_THEMES . '' . DEF_THEME_N . '/blocks/core/invalid_page.tpl');
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,16 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: function.date
|
||||
* Type: function
|
||||
* Name: date
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_date($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
echo date(UNIX_DATE_FORMAT,$date);
|
||||
}
|
||||
?>
|
@ -1,18 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: function.date_time
|
||||
* Type: function
|
||||
* Name: date_time
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_date_time($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
echo date(UNIX_DATE_FORMAT,$time);
|
||||
echo " ";
|
||||
echo date(DEFAULT_TIME_FORMAT,$time);
|
||||
}
|
||||
?>
|
@ -1,33 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: db_lookup
|
||||
* Purpose: get a field value from the database for a given id
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_db_lookup($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
|
||||
if (empty($id)) {
|
||||
$smarty->trigger_error("db_lookup: attribute 'id' required");
|
||||
return false;
|
||||
}
|
||||
if (empty($table)) {
|
||||
$smarty->trigger_error("db_lookup: attribute 'table' required");
|
||||
return false;
|
||||
}
|
||||
if (empty($field)) {
|
||||
$smarty->trigger_error("db_lookup: attribute 'field' required");
|
||||
return false;
|
||||
}
|
||||
|
||||
$db =& DB();
|
||||
$rs = $db->Execute(sqlSelect($db, $table, $field, "id=::".$id."::"));
|
||||
return $rs->fields[0];
|
||||
}
|
||||
|
||||
?>
|
@ -1,22 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: function.exe.php
|
||||
* Type: function
|
||||
* Name: exe
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_exe($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
include_once(PATH_CORE.'method.inc.php');
|
||||
$m = new CORE_method;
|
||||
|
||||
if(!empty($noauth))
|
||||
$m->exe_noauth($module,$method);
|
||||
else
|
||||
echo $m->exe($module,$method);
|
||||
}
|
||||
?>
|
@ -1,41 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: graph
|
||||
* Purpose: displays a specific flash graph
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_graph($params, &$this)
|
||||
{
|
||||
$width = 500;
|
||||
$height = 300;
|
||||
$color = "FFFFFF";
|
||||
$transparency = true;
|
||||
|
||||
extract($params);
|
||||
if(empty($module) || empty($method)) return false;
|
||||
|
||||
include_once (PATH_INCLUDES .'charts/charts.php');
|
||||
|
||||
if($title) {
|
||||
global $C_translate;
|
||||
$trans = $C_translate->translate($title,$module);
|
||||
if(!empty($trans)) $title = $trans;
|
||||
}
|
||||
|
||||
if($show === false) $display = 'style="display:none"';
|
||||
|
||||
global $VAR;
|
||||
$vars = '';
|
||||
foreach($VAR as $a => $b) $vars .= "&{$a}={$b}";
|
||||
|
||||
|
||||
echo "<div id=\"{$id}\" class=\"graph\" $display>";
|
||||
echo "<h3>$title</h3>";
|
||||
echo InsertChart ( "includes/charts/charts.swf", "includes/charts/charts_library", URL."ajax.php?do[]={$module}:{$method}{$vars}", $width, $height, $color, $transparency);
|
||||
echo "</div>";
|
||||
}
|
||||
?>
|
@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: grid_boo
|
||||
* Purpose: Formats boolean fields to translated true/false value
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_grid_bool($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
|
||||
if(!empty($bool))
|
||||
echo translate('true');
|
||||
else
|
||||
echo translate('false');
|
||||
}
|
||||
?>
|
@ -1,31 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: grid_column_heading
|
||||
* Purpose: display grid column heading
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_grid_column_heading($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
|
||||
if($column == '_checkbox') {
|
||||
echo '<input type="checkbox" id="'.$module.'_check_main" onclick="'.$module.'_grid.switchCheck(this.checked)" />';
|
||||
return;
|
||||
}
|
||||
|
||||
echo '<span style="float:right;display:none;overflow:hidden" id="'.$module.'_grid_'.$column.'_asc"><img src="images/asc.gif" alt="ASC" /></span>';
|
||||
echo '<span style="float:right;display:none;overflow:hidden" id="'.$module.'_grid_'.$column.'_desc"><img src="images/desc.gif" alt="DESC" /></span>';
|
||||
|
||||
global $C_translate;
|
||||
|
||||
if($column == 'id')
|
||||
echo '<span class="nobr"><?smarty:translate?>'.$C_translate->translate("id").'<?smarty:/translate?></span>';
|
||||
else
|
||||
echo '<span class="nobr"><?smarty:translate module='.$module.'?>'.$C_translate->translate("field_".$column,$module).'<?smarty:/translate?></span>';
|
||||
}
|
||||
|
||||
?>
|
@ -1,26 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: grid_column_refine
|
||||
* Purpose: display grid columns for refine search
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_grid_column_refine($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
|
||||
if(empty($expr)) $expr = 'LIKE';
|
||||
|
||||
echo '<input type="hidden" name="'.$module.'[conditions]['.$column.'][exp][]" value="'.$expr.'" />';
|
||||
echo '<input type="hidden" name="'.$module.'[conditions]['.$column.'][col][]" value="'.$column.'" />';
|
||||
|
||||
if($column == 'id')
|
||||
echo '<input type="text" name="'.$module.'[conditions]['.$column.'][val][]" onclick="this.value=\'\'" size="4" />';
|
||||
else
|
||||
echo '<input type="text" name="'.$module.'[conditions]['.$column.'][val][]" onclick="this.value=\'\'" />';
|
||||
}
|
||||
|
||||
?>
|
@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: function.html_bool
|
||||
* Type: function
|
||||
* Name: html_bool
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_bool($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
|
||||
if(empty($id)) $id = $field;
|
||||
if(empty($value)) $value = '1';
|
||||
|
||||
$extra=' ';
|
||||
if(!empty($onclick)) $extra .= ' onClick="'.$onclick.'" ';
|
||||
|
||||
if($default == $value) $extra .= 'checked ';
|
||||
|
||||
$ret = '<input type="checkbox" name="'.$field.'" id="'.$id.'" value="'.$value.'"'.$extra.'/>';
|
||||
|
||||
return $ret;
|
||||
|
||||
}
|
||||
?>
|
@ -1,58 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: function.html_button.php
|
||||
* Type: function
|
||||
* Name: html_checkboxes
|
||||
* Version: 1.0
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_button($params, &$smarty)
|
||||
{
|
||||
$allowdclick = true;
|
||||
$name = 'submit';
|
||||
$module = 'CORE';
|
||||
foreach($params as $_key => $_val) $$_key = $_val;
|
||||
|
||||
# translate name
|
||||
global $C_translate;
|
||||
$trans = $C_translate->translate($name, $module);
|
||||
if(!empty($trans)) $name = $trans;
|
||||
|
||||
# allow multiple clicks?
|
||||
if(!$allowdclick) $action = "this.disabled=true; this.value='". $C_translate->translate('processing') ."';" . $action;
|
||||
|
||||
# change state(s)
|
||||
$t = 0;
|
||||
if($hide) {
|
||||
$e = 'Fade';
|
||||
if(ereg(',', $hide)) $hides = explode(',', $hide); else $hides = Array($hide);
|
||||
foreach($hides as $element) {
|
||||
if(ereg('\|', $element)) {
|
||||
$el = explode('|', $element);
|
||||
$action .= " new Effect.{$el[2]}('{$el[0]}', {duration: {$el[1]}}); ";
|
||||
} else {
|
||||
$action .= " $('{$element}').style.display='none'; ";
|
||||
}
|
||||
}
|
||||
}
|
||||
if($show) {
|
||||
$e = 'Appear';
|
||||
if(ereg(',', $show)) $shows = explode(',', $show); else $shows = Array($show);
|
||||
foreach($shows as $element) {
|
||||
if(ereg('\|', $element)) {
|
||||
$el = explode('|', $element);
|
||||
$action .= " new Effect.{$el[2]}('{$el[0]}', {duration: {$el[1]}}); ";
|
||||
} else {
|
||||
$action .= " $('{$element}').style.display='block'; ";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$html = "<input id=\"{$id}\" type=\"submit\" name=\"{$name}\" value=\"{$name}\" onclick=\"{$action} \">";
|
||||
|
||||
return $html;
|
||||
}
|
||||
?>
|
@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: function.html_date
|
||||
* Type: function
|
||||
* Name: html_date
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_date($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
|
||||
if($disabled) return '<input type="text" id="'.$id.'" name="'.$field.'" value="'.$default.'" disabled />';
|
||||
|
||||
# set the date to current date if 'now' is set as default
|
||||
if($default == 'now') $default = date(UNIX_DATE_FORMAT);
|
||||
|
||||
if(empty($id)) $id = $field;
|
||||
if(empty($trigger)) $trigger = $id;
|
||||
|
||||
$ret = '<input type="text" id="'.$id.'" name="'.$field.'" value="'.$default.'" />';
|
||||
$ret .= '<script type="text/javascript"> Calendar.setup({inputField: "'.$id.'", ifFormat: "'.DEFAULT_DATE_FORMAT.'", button: "'.$trigger.'"}); </script> ';
|
||||
return $ret;
|
||||
|
||||
}
|
||||
?>
|
@ -1,77 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: function.html_link.php
|
||||
* Type: function
|
||||
* Name: html_link
|
||||
* Version: 1.0
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_link($params, &$smarty)
|
||||
{
|
||||
|
||||
$name = 'submit';
|
||||
$module = 'CORE';
|
||||
|
||||
$_ignore['show'] = true;
|
||||
$_ignore['hide'] = true;
|
||||
$_ignore['name'] = true;
|
||||
|
||||
# Get the values passed...
|
||||
$vals='';
|
||||
foreach($params as $_key => $_val)
|
||||
if(empty($_ignore["$_key"]))
|
||||
$vals .= " $_key=\"$_val\"";
|
||||
else
|
||||
$$_key = $_val;
|
||||
|
||||
foreach($params as $_key => $_val) $$_key = $_val;
|
||||
|
||||
|
||||
# change state(s) (hide)
|
||||
$t = 0;
|
||||
if($hide) {
|
||||
$e = 'Fade';
|
||||
if(ereg(',', $hide)) $hides = explode(',', $hide); else $hides = Array($hide);
|
||||
foreach($hides as $element) {
|
||||
if(ereg('\|', $element)) {
|
||||
$el = explode('|', $element);
|
||||
$action .= " new Effect.{$el[2]}('{$el[0]}', {duration: {$el[1]}}); ";
|
||||
} else {
|
||||
$action .= " $('{$element}').style.display='none'; ";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# change state(s) (show)
|
||||
if($show) {
|
||||
$e = 'Appear';
|
||||
if(ereg(',', $show)) $shows = explode(',', $show); else $shows = Array($show);
|
||||
foreach($shows as $element) {
|
||||
if(ereg('\|', $element)) {
|
||||
$el = explode('|', $element);
|
||||
$action .= " new Effect.{$el[2]}('{$el[0]}', {duration: {$el[1]}}); ";
|
||||
} else {
|
||||
$action .= " $('{$element}').style.display='block'; ";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# translate name
|
||||
global $C_translate;
|
||||
$trans = $C_translate->translate($name, $module);
|
||||
if(!empty($trans)) $name = $trans;
|
||||
|
||||
if(empty($link)) $link = "#";
|
||||
|
||||
$html = "<a href=\"$link\"";
|
||||
$html .= $vals;
|
||||
if($action) $html .= " onclick=\"{$action}\">";
|
||||
$html .= $name;
|
||||
$html .= "</a>";
|
||||
|
||||
return $html;
|
||||
}
|
||||
?>
|
@ -1,41 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: html_menu
|
||||
* Purpose: Get creates a html menu for associated records
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_menu($params, &$smarty)
|
||||
{
|
||||
$conditions='';
|
||||
extract($params);
|
||||
if(empty($field)) $field = $name;
|
||||
if(empty($id)) $id = $field;
|
||||
|
||||
$db = &DB();
|
||||
$rs = & $db->Execute( $sql = sqlSelect($db, $assoc_table, "id,".$assoc_field, $conditions, $assoc_field));
|
||||
|
||||
#echo $sql;
|
||||
|
||||
$return = '<select id="'.$id.'" name="'. $field .'">';
|
||||
if($default == "all" || $blank) $return .= '<option value="" selected></option>';
|
||||
if($rs && $rs->RecordCount() > 0)
|
||||
{
|
||||
while(!$rs->EOF)
|
||||
{
|
||||
$return .= '<option value="' . $rs->fields['id'] . '"';
|
||||
if($default == $rs->fields['id']) $return .= "selected";
|
||||
$return .= '>' . $rs->fields["$assoc_field"] . '</option>';
|
||||
$rs->MoveNext();
|
||||
}
|
||||
} else {
|
||||
if( $default != "all") $return .= '<option value=""></option>';
|
||||
}
|
||||
|
||||
$return .= '</select>';
|
||||
echo $return;
|
||||
}
|
||||
?>
|
@ -1,80 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: html_menu_files
|
||||
* Purpose: Get list of files from the filesystem
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_menu_files($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
if(empty($field)) $field = $name;
|
||||
if(empty($path)) $path = $dir;
|
||||
if(empty($id)) $id = $field;
|
||||
|
||||
|
||||
if($path == 'product_cat') { $path = PATH_THEMES . '' . DEF_THEME_N . '/blocks/product_cat/'; }
|
||||
elseif($path == 'product') { $path = PATH_PLUGINS . '/product/'; }
|
||||
elseif($path == 'theme') { $path = PATH_THEMES; }
|
||||
elseif($path == 'static_template') { $path = PATH_THEMES . '/default/blocks/static_page/'; $ext = "_template.tpl"; $cap=1; }
|
||||
elseif($path == 'language') { $path = PATH_LANGUAGE. '/core/'; $ext = "_core.xml"; $cap=1; }
|
||||
elseif($path == 'whois_plugin') { $path = PATH_PLUGINS . '/whois/'; }
|
||||
elseif($path == 'provision_plugin') { $path = PATH_PLUGINS . '/provision/'; }
|
||||
elseif($path == 'affiliate_plugin') { $path = PATH_PLUGINS . '/affiliate/'; }
|
||||
elseif($path == 'checkout_plugin') { $path = PATH_PLUGINS . '/checkout/'; }
|
||||
elseif($path == 'voip_did') { $path = PATH_PLUGINS . '/voip_did/'; $ext = ".php"; }
|
||||
elseif($path == 'invoice_pdf') { $path = PATH_INCLUDES. '/pdf/'; $ext = ".inc.php"; $pre = "pdf_invoice_"; }
|
||||
|
||||
$count = 0;
|
||||
chdir($path);
|
||||
$dir = opendir($path);
|
||||
while ($file_name = readdir($dir))
|
||||
{
|
||||
$display = true;
|
||||
if($file_name != '..' && $file_name != '.')
|
||||
{
|
||||
if(!empty($ext))
|
||||
{
|
||||
$cute = eregi_replace($ext.'$', "", $file_name);
|
||||
if(!eregi($ext.'$', $file_name)) $display = false;
|
||||
}
|
||||
if(!empty($pre))
|
||||
{
|
||||
$cute = eregi_replace('^'.$pre, "", $cute);
|
||||
if(!eregi('^'.$pre, $file_name)) $display = false;
|
||||
}
|
||||
if($display)
|
||||
{
|
||||
$arr[] = $cute;
|
||||
$cute = eregi_replace("_"," ",$cute);
|
||||
$cute = eregi_replace("-"," ",$cute);
|
||||
|
||||
if($cap==1) $cute = ucfirst(strtolower($cute));
|
||||
elseif($cap==2) $cute = ucwords(strtolower($cute));
|
||||
elseif($cap) $cute = strtoupper($cute);
|
||||
|
||||
$arrc[] = $cute;
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
$return = '<select id="'.$id.'" name="'. $field .'" value="'.$default.'">';
|
||||
if($default == "all")
|
||||
$return .= '<option value="" selected></option>';
|
||||
$i = 0;
|
||||
for($i=0; $i<$count; $i++)
|
||||
{
|
||||
$return .= '<option value="' . $arr[$i] . '"';
|
||||
if($default == $arr[$i])
|
||||
$return .= "selected";
|
||||
$return .= '>' . $arrc[$i] . '</option>';
|
||||
}
|
||||
if($count==0 && $default != 'all') $return .= '<option value=""></option>';
|
||||
$return .= '</select>';
|
||||
|
||||
echo $return;
|
||||
}
|
||||
?>
|
@ -1,51 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: html_menu_multi
|
||||
* Purpose: Get creates a html menu for associated records (multi-select)
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_menu_multi($params, &$smarty)
|
||||
{
|
||||
$conditions='';
|
||||
extract($params);
|
||||
if(empty($field)) $field = $name;
|
||||
if(empty($id)) $id = $field;
|
||||
if(empty($size)) $size = '4';
|
||||
|
||||
|
||||
|
||||
$db = &DB();
|
||||
$rs = & $db->Execute( $sql = sqlSelect($db, $assoc_table, "id,".$assoc_field, $conditions, $assoc_field));
|
||||
|
||||
if(empty($default)) $default = Array('');
|
||||
elseif (is_array($default)) $default = $default;
|
||||
elseif (is_numeric($default)) $default[] = $default;
|
||||
elseif (is_string($default)) $default = unserialize($default);
|
||||
else $default = Array('');
|
||||
|
||||
|
||||
if($default == "all") $return .= '<option value="" selected></option>';
|
||||
$i=0;
|
||||
if($rs && $rs->RecordCount() > 0) {
|
||||
while(!$rs->EOF) {
|
||||
$return .= '<option value="' . $rs->fields['id'] . '"';
|
||||
foreach($default as $def) { if($def == $rs->fields["id"]) $return .= " selected"; break; }
|
||||
$return .= '>' . $rs->fields["$assoc_field"] . '</option>';
|
||||
$i++;
|
||||
$rs->MoveNext();
|
||||
}
|
||||
} else {
|
||||
if( $default != "all") $return .= '<option value=""></option>';
|
||||
}
|
||||
|
||||
$return .= '</select>';
|
||||
|
||||
if($i < $size) $size = $i++;
|
||||
echo '<select id="'.$id.'" name="'. $field .'[]" size="'.$size.'" value="" multiple>' . $return;
|
||||
|
||||
}
|
||||
?>
|
@ -1,41 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: html_menu_product_host
|
||||
* Purpose: Autoselect for all active hosting plans
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_menu_product_host($params, &$smarty)
|
||||
{
|
||||
$id = $params['id'];
|
||||
$name = $params['name'];
|
||||
$default = unserialize($params['default']);
|
||||
$size = $params['size'];
|
||||
$exclude = $params['exclude'];
|
||||
if(empty($id)) $id = $name;
|
||||
|
||||
$db = &DB();
|
||||
$p = AGILE_DB_PREFIX;
|
||||
$q = "SELECT id,sku FROM {$p}product
|
||||
WHERE host = 1
|
||||
AND active = 1
|
||||
AND price_type = 1
|
||||
AND id != $exclude
|
||||
AND site_id = " . DEFAULT_SITE;
|
||||
$result = $db->Execute($q);
|
||||
if($result && $result->RecordCount() > 0)
|
||||
{
|
||||
echo "<select id=\"$id\" name=\"{$name}[]\" size=\"$size\" multiple>";
|
||||
while(!$result->EOF) {
|
||||
$sel='';
|
||||
foreach($default as $cur) if ($cur == $result->fields['id']) $sel = "selected";
|
||||
echo "<option value=\"{$result->fields['id']}\"$sel>{$result->fields['sku']}</option>";
|
||||
$result->MoveNext();
|
||||
}
|
||||
echo "</select>";
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,42 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: html_menu_product_subscription
|
||||
* Purpose: Autoselect for all active non-hosting subscriptions
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_menu_product_subscription($params, &$smarty)
|
||||
{
|
||||
$id = $params['id'];
|
||||
$name = $params['name'];
|
||||
$default = unserialize($params['default']);
|
||||
$size = $params['size'];
|
||||
$exclude = $params['exclude'];
|
||||
if(empty($id)) $id = $name;
|
||||
|
||||
$db = &DB();
|
||||
$p = AGILE_DB_PREFIX;
|
||||
$q = "SELECT id,sku FROM {$p}product
|
||||
WHERE
|
||||
( host = 0 OR host IS NULL )
|
||||
AND active = 1
|
||||
AND price_type = 1
|
||||
AND id != $exclude
|
||||
AND site_id = " . DEFAULT_SITE;
|
||||
$result = $db->Execute($q);
|
||||
if($result && $result->RecordCount() > 0)
|
||||
{
|
||||
echo "<select id=\"$id\" name=\"{$name}[]\" size=\"$size\" multiple>";
|
||||
while(!$result->EOF) {
|
||||
$sel='';
|
||||
foreach($default as $cur) if ($cur == $result->fields['id']) $sel = "selected";
|
||||
echo "<option value=\"{$result->fields['id']}\"$sel>{$result->fields['sku']}</option>";
|
||||
$result->MoveNext();
|
||||
}
|
||||
echo "</select>";
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,63 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: html_menu_search_expr
|
||||
* Purpose: display search form expression menu
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_menu_search_expr($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
|
||||
// Types: exact, date, dateex, number, fulltext, text (default)
|
||||
|
||||
switch($type) {
|
||||
case 'exact':
|
||||
$options = Array('EQ', 'NULL', 'NNULL');
|
||||
break;
|
||||
|
||||
case 'date':
|
||||
$options = Array('GTEQ', 'LTEQ', 'GT', 'LT');
|
||||
break;
|
||||
|
||||
case 'dateex':
|
||||
$options = Array('EQ', 'GTEQ', 'LTEQ', 'GT', 'LT');
|
||||
break;
|
||||
|
||||
case 'number':
|
||||
$options = Array('EQ', 'GTEQ', 'LTEQ', 'GT', 'LT', 'NULL', 'NNULL');
|
||||
break;
|
||||
|
||||
case 'fulltext':
|
||||
$options = Array('FT');
|
||||
break;
|
||||
|
||||
case 'text':
|
||||
$options = Array('LIKE','NLIKE', 'EQ', 'NOT', 'NULL', 'NNULL');
|
||||
break;
|
||||
}
|
||||
|
||||
if(empty($options)) $options = Array('LIKE','NLIKE', 'EQ', 'NOT', 'NULL', 'NNULL');
|
||||
|
||||
$optionsTxt["EQ"] = 'IS EXACT';
|
||||
$optionsTxt["LIKE"] = 'IS LIKE';
|
||||
$optionsTxt["NOT"] = 'IS NOT';
|
||||
$optionsTxt["NLIKE"] = 'IS NOT LIKE';
|
||||
$optionsTxt["GT"] = 'IS >';
|
||||
$optionsTxt["LT"] = 'IS <';
|
||||
$optionsTxt["GTEQ"] = 'IS >=';
|
||||
$optionsTxt["LTEQ"] = 'IS <=';
|
||||
$optionsTxt["NULL"] = 'IS NULL';
|
||||
$optionsTxt["NNULL"] = 'IS NOT NULL';
|
||||
$optionsTxt["FT"] = 'FULL TEXT';
|
||||
|
||||
echo '<select name="'.$module.'[conditions]['.$field.'][exp][]">';
|
||||
foreach($options as $opt) echo '<option value="'.$opt.'">'.$optionsTxt["$opt"].'</option>';
|
||||
echo '</select>';
|
||||
|
||||
echo '<input type="hidden" name="'.$module.'[conditions]['.$field.'][col][]" value="'.$field.'" />';
|
||||
}
|
||||
?>
|
@ -1,96 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: html_menu_sub
|
||||
* Purpose: Creates a html menu for associated records w/sub-record support
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_menu_sub($params, &$smarty)
|
||||
{
|
||||
$conditions='';
|
||||
$actions='';
|
||||
extract($params);
|
||||
if(empty($field)) $field = $name;
|
||||
if(empty($id)) $select_id = $field; else $select_id = $id;
|
||||
if(empty($parent_id)) $parent_id = 'parent_id';
|
||||
if(!empty($onchange)) $actions .= " onchange=\"$onchange\" ";
|
||||
|
||||
$db = &DB();
|
||||
$result = $db->Execute( sqlSelect($db,$assoc_table,"id,$parent_id,".$assoc_field, $conditions, "$parent_id,$assoc_field"));
|
||||
|
||||
# Get current id
|
||||
if(!empty($VAR['id'])) $cid = ereg_replace(",","", $VAR['id']); else $current = '';
|
||||
|
||||
# Loop and put in array
|
||||
while(!$result->EOF) {
|
||||
if($result->fields["$parent_id"] == "" || $result->fields["$parent_id"] == 0 || $result->fields["$parent_id"] == $result->fields['id']) {
|
||||
$arr[0][] = $result->fields;
|
||||
} else {
|
||||
$arr["{$result->fields["$parent_id"]}"][] = $result->fields;
|
||||
}
|
||||
|
||||
# get current parent_id
|
||||
if($cid > 0 && $result->fields['id'] == $cid)
|
||||
$current = $result->fields["$parent_id"];
|
||||
$result->MoveNext();
|
||||
}
|
||||
|
||||
$option = '';
|
||||
$dirpre = ' \\ ';
|
||||
|
||||
for($i=0; $i<count($arr[0]); $i++) {
|
||||
$id = $arr[0][$i]["id"];
|
||||
if($id == $current) $sel = 'selected'; else $sel = '';
|
||||
$dir = $dirpre.$dir.$arr[0][$i]["$assoc_field"];
|
||||
$option .= '<option value="'.$id.'" '.$sel.'>'.$dir.'</option>';
|
||||
|
||||
# get the sub-records # (LEVEL 2)
|
||||
if(isset($arr[$id])) {
|
||||
for($ii=0; $ii<count($arr[$id]); $ii++) {
|
||||
$idx = $arr[$id][$ii]["id"];
|
||||
if($idx == $current) $sel = 'selected'; else $sel = '';
|
||||
$dir .= $dirpre.$arr[$id][$ii]["$assoc_field"];
|
||||
$option .= '<option value="'.$idx.'" '.$sel.'>'.$dir.'</option>';
|
||||
}
|
||||
|
||||
# get the sub-records # (LEVEL 3)
|
||||
if(isset($arr[$idx])) {
|
||||
for($iii=0; $iii<count($arr[$idx]); $iii++) {
|
||||
$idx2 = $arr[$idx][$iii]["id"];
|
||||
if($idx2 == $current) $sel = 'selected'; else $sel = '';
|
||||
$dir .= $dirpre.$arr[$idx][$iii]["$assoc_field"];
|
||||
$option .= '<option value="'.$idx2.'" '.$sel.'>'.$dir.'</option>';
|
||||
}
|
||||
|
||||
# get the sub-records # (LEVEL 4)
|
||||
if(isset($arr[$idx2])) {
|
||||
for($iiii=0; $iiii<count($arr[$idx2]); $iiii++) {
|
||||
$idx3 = $arr[$idx2][$iiii]["id"];
|
||||
if($idx3 == $current) $sel = 'selected'; else $sel = '';
|
||||
$dir .= $dirpre.$arr[$idx2][$iiii]["$assoc_field"];
|
||||
$option .= '<option value="'.$idx3.'" '.$sel.'>'.$dir.'</option>';
|
||||
}
|
||||
|
||||
# get the sub-records # (LEVEL 5)
|
||||
if(isset($arr[$idx3])) {
|
||||
for($iiiii=0; $iiiii<count($arr[$idx3]); $iiiii++) {
|
||||
$idx4 = $arr[$idx3][$iiiii]["id"];
|
||||
if($idx4 == $current) $sel = 'selected'; else $sel = '';
|
||||
$dir .= $dirpre.$arr[$idx3][$iiiii]["$assoc_field"];
|
||||
$option .= '<option value="'.$idx4.'" '.$sel.'>'.$dir.'</option>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo "<select id=\"$select_id\" name=\"$field\"$actions\>";
|
||||
echo "<option value=\"0\">\\</option>";
|
||||
echo $option;
|
||||
echo '</select>';
|
||||
}
|
||||
?>
|
@ -1,49 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: html_select_account
|
||||
* Purpose: Autoselect for accounts in AgileBill
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_select_account($params, &$smarty)
|
||||
{
|
||||
$id = $params['id'];
|
||||
$name = $params['name'];
|
||||
$default = $params['default'];
|
||||
$type = $params['type'];
|
||||
if(empty($id)) $id = $name."_id";
|
||||
|
||||
if(!empty($default)) {
|
||||
$db = &DB();
|
||||
$p = AGILE_DB_PREFIX;
|
||||
$q = "SELECT id,first_name,middle_name,last_name FROM {$p}account
|
||||
WHERE id = {$default}
|
||||
AND site_id = " . DEFAULT_SITE;
|
||||
$result = $db->Execute($q);
|
||||
if($result->RecordCount() > 0)
|
||||
$val = $result->fields['first_name'].' '.$result->fields['last_name'];
|
||||
|
||||
if(!empty($val)) {
|
||||
# Get
|
||||
|
||||
}
|
||||
} else {
|
||||
$val = '';
|
||||
}
|
||||
|
||||
if(empty($val)) {
|
||||
echo '
|
||||
<input type="hidden" id="'.$id.'_hidden" name="'.$name.'" value="'.$default.'" />
|
||||
<input type="text" autocomplete="off" id="'.$id.'" name="account_search" size="35" value="'.$val.'" />
|
||||
<div class="auto_complete" id="'.$id.'_auto_complete"></div>
|
||||
<script type="text/javascript">new Ajax.Autocompleter("'.$id.'", "'.$id.'_auto_complete", "ajax.php?do[]=account_admin:autoselect", { })</script>
|
||||
';
|
||||
} else {
|
||||
echo "<a href=\"#\" onClick=\"window.open('?_page=account_admin:view&id={$default}', 'mainFrame', '')\"><u>{$val}</u></a>";
|
||||
echo "<input value=\"{$default}\" id=\"{$id}\" name=\"{$name}\" type=\"hidden\">";
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,56 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: html_select_affiliate
|
||||
* Purpose: Autoselect for affiliate accounts in AgileBill
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_select_affiliate($params, &$smarty)
|
||||
{
|
||||
$id = $params['id'];
|
||||
$name = $params['name'];
|
||||
$default = $params['default'];
|
||||
$type = $params['type'];
|
||||
|
||||
if(empty($id)) $id = $name."_id";
|
||||
|
||||
if(!empty($default)) {
|
||||
$db = &DB();
|
||||
$p = AGILE_DB_PREFIX;
|
||||
$q = "SELECT DISTINCT
|
||||
{$p}affiliate.id,
|
||||
{$p}account.first_name,
|
||||
{$p}account.last_name,
|
||||
{$p}account.username
|
||||
FROM
|
||||
{$p}account
|
||||
LEFT JOIN
|
||||
{$p}affiliate
|
||||
ON
|
||||
{$p}account.id = {$p}affiliate.account_id
|
||||
WHERE
|
||||
{$p}affiliate.id = '{$default}' AND
|
||||
{$p}affiliate.site_id = " . DEFAULT_SITE . " AND
|
||||
{$p}account.site_id = " . DEFAULT_SITE;
|
||||
$result = $db->Execute($q);
|
||||
if($result != false && $result->RecordCount() > 0) $val = $result->fields['first_name'].' '.$result->fields['last_name'];
|
||||
} else {
|
||||
$val = '';
|
||||
}
|
||||
|
||||
echo '
|
||||
<input type="hidden" id="'.$id.'_hidden" name="'.$name.'" value="'.$default.'" />
|
||||
<input type="text" autocomplete="off" id="'.$id.'" name="affiliate_search" size="35" value="'.$val.'" />
|
||||
<div class="auto_complete" id="'.$id.'_auto_complete"></div>
|
||||
<script type="text/javascript">new Ajax.Autocompleter("'.$id.'", "'.$id.'_auto_complete", "ajax.php?do[]=affiliate:autoselect", { })</script>
|
||||
';
|
||||
|
||||
if(!empty($val)) {
|
||||
// display unselect option
|
||||
echo '<a href="#" OnClick="document.getElementById(\''.$id.'\').value=\'\'; document.getElementById(\''.$id.'_hidden\').value=\'\'"> - </a>';
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,21 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: function.input_text.php
|
||||
* Type: function
|
||||
* Name: input_text
|
||||
* Purpose: display a text form with the proper css & onchange settings
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_input_text($params, &$this)
|
||||
{
|
||||
extract($params);
|
||||
$c_class = $class ? $class : 'form_field';
|
||||
$s_size = $size ? $size : '12';
|
||||
$s_id = $id ? $id : $name;
|
||||
|
||||
echo "<input type=\"text\" name=\"{$name}\" id=\"{$id}\" class=\"{$c_class}\" value=\"{$value}\" size=\"{$s_size}\" onFocus=\"class_change(this.id,'form_field_focus')\" onBlur=\"class_change(this.id,'form_field')\">";
|
||||
}
|
||||
?>
|
445
includes/smarty/plugins/function.osb.php
Normal file
445
includes/smarty/plugins/function.osb.php
Normal file
@ -0,0 +1,445 @@
|
||||
<?php
|
||||
/**
|
||||
* Smarty Open Source Billing Plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: block.osb.php
|
||||
* Type: block
|
||||
* Name: osb
|
||||
* Purpose: Hooks into OSB
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_osb($params,&$smarty) {
|
||||
if (! isset($params['f']) || ! ($f=$params['f'])) {
|
||||
echo 'NO Function name used in call?';
|
||||
return;
|
||||
}
|
||||
|
||||
unset($params['f']);
|
||||
|
||||
$f = 'osb_'.$f;
|
||||
|
||||
if (! function_exists($f)) {
|
||||
printf('Unknown Function [%s]?',$f);
|
||||
return;
|
||||
}
|
||||
|
||||
eval(sprintf('%s($params,$smarty);',$f));
|
||||
}
|
||||
|
||||
function osb_html_select($val,$id,$name,$default,$module) {
|
||||
if (! $val) {
|
||||
printf('<input type="hidden" id="%s_hidden" name="id" value="%s"/>',$id,$default);
|
||||
printf('<input type="text" id="%s" name="%s_search" size="35" value="%s" autocomplete="off"/>',$name,'account',$val);
|
||||
printf('<div class="auto_complete" id="%s_auto_complete"></div>',$id);
|
||||
printf('<script type="text/javascript">new Ajax.Autocompleter("%s","%s_auto_complete","ajax.php?do[]=%s:autoselect",{});</script>',$name,$id,$module);
|
||||
|
||||
} else {
|
||||
printf('<div style="text-decoration: underline;"><a href="#" onclick="window.open(\'?_page=%s:view&id=%s\',\'mainFrame\',\'\')">%s</a></div>',$module,$default,$val);
|
||||
printf('<input type="hidden" id="%s" name="%s" value="%s"/>',$id,$name,$default);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* HTML Account Selector
|
||||
*
|
||||
* If passed a default ID (and it exists), that will be rendered, otherwise a javascript selection box is rendered.
|
||||
*/
|
||||
function osb_html_select_account($params,&$smarty) {
|
||||
if (! $params['name']) {
|
||||
printf('MISSING name:%s',__METHOD__);
|
||||
return;
|
||||
}
|
||||
|
||||
$module = isset($params['module']) ? $params['module'] : 'account';
|
||||
$default = isset($params['default']) ? $params['default'] : '';
|
||||
$id = isset($params['id']) ? $params['id'] : sprintf('%s_id',$params['name']);
|
||||
$val = '';
|
||||
|
||||
if ($default) {
|
||||
$db = &DB();
|
||||
$result = $db->Execute(sqlSelect($db,'account','first_name,last_name',array('id'=>$default)));
|
||||
|
||||
if ($result->RecordCount() > 0)
|
||||
$val = sprintf('%s %s',$result->fields['first_name'],$result->fields['last_name']);
|
||||
}
|
||||
|
||||
return osb_html_select($val,$id,$params['name'],$default,$module);
|
||||
}
|
||||
|
||||
/**
|
||||
* HTML Affiliate Selector
|
||||
*
|
||||
* If passed a default ID (and it exists), that will be rendered, otherwise a javascript selection box is rendered.
|
||||
* @todo need to create autoselect();
|
||||
*/
|
||||
function osb_html_select_affiliate($params,&$smarty) {
|
||||
if (! $params['name']) {
|
||||
printf('MISSING name:%s',__METHOD__);
|
||||
return;
|
||||
}
|
||||
|
||||
$module = isset($params['module']) ? $params['module'] : 'affiliate';
|
||||
$default = isset($params['default']) ? $params['default'] : '';
|
||||
$id = isset($params['id']) ? $params['id'] : sprintf('%s_id',$params['name']);
|
||||
$val = '';
|
||||
|
||||
if ($default) {
|
||||
$db = &DB();
|
||||
$sql = sprintf('SELECT DISTINCT {p}affiliate.id,{p}account.first_name,{p}account.last_name,{p}account.username
|
||||
FROM {p}account LEFT JOIN {p}affiliate ON {p}account.id={p}affiliate.account_id
|
||||
WHERE {p}affiliate.id=%s AND {p}affiliate.site_id=%s AND {p}account.site_id=%s',$db->qstr($default),DEFAULT_SITE,DEFAULT_SITE);
|
||||
|
||||
$result = $db->Execute(str_replace('{p}',AGILE_DB_PREFIX,$sql));
|
||||
|
||||
if ($result->RecordCount() > 0)
|
||||
$val = sprintf('%s %s',$result->fields['first_name'],$result->fields['last_name']);
|
||||
}
|
||||
|
||||
return osb_html_select($val,$id,$params['name'],$default,$module);
|
||||
}
|
||||
|
||||
function osb_html_select_name($params,&$smarty) {
|
||||
if (! $params['name']) {
|
||||
printf('MISSING name:%s',__METHOD__);
|
||||
return;
|
||||
}
|
||||
|
||||
$module = isset($params['module']) ? $params['module'] : '';
|
||||
$table = isset($params['table']) ? $params['table'] : '';
|
||||
$default = isset($params['default']) ? $params['default'] : '';
|
||||
$id = isset($params['id']) ? $params['id'] : sprintf('%s_id',$params['name']);
|
||||
$val = '';
|
||||
|
||||
if ($default) {
|
||||
$db = &DB();
|
||||
$result = $db->Execute($q=sqlSelect($db,$table,'name',array('id'=>$default)));
|
||||
|
||||
if ($result && $result->RecordCount() > 0)
|
||||
$val = $result->fields['name'];
|
||||
}
|
||||
|
||||
return osb_html_select($val,$id,$params['name'],$default,$module);
|
||||
}
|
||||
|
||||
function osb_autoselect($params,&$smarty) {
|
||||
$module = isset($params['module']) ? $params['module'] : (isset($smarty->_tpl_vars['meth'][0]) ? $smarty->_tpl_vars['meth'][0] : '');
|
||||
$field = isset($params['field']) ? $params['field'] : '';
|
||||
$return = isset($params['return']) ? $params['return'] : '';
|
||||
$default = isset($params['default']) ? $params['default'] : '';
|
||||
$val = '';
|
||||
|
||||
if (! $module || ! $field || ! $return) {
|
||||
printf('MISSING module (%s),field (%s) OR return (%s):%s',$module,$field,$return,__METHOD__);
|
||||
return;
|
||||
}
|
||||
|
||||
if ($default) {
|
||||
$db = &DB();
|
||||
$result = $db->Execute($q=sqlSelect($db,$module,$return.',first_name,last_name',array($return=>$default)));
|
||||
|
||||
if ($result && $result->RecordCount() == 1)
|
||||
$val = sprintf('%s %s',$result->fields['first_name'],$result->fields['last_name']);
|
||||
}
|
||||
|
||||
printf('<input type="hidden" id="autoselect_%s_hidden" name="%s" size="35" value="%s"/>',$field,$field,$default);
|
||||
printf('<input type="text" id="autoselect_%s" name="autosearch_%s" size="35" value="%s" autocomplete="off"/>',$field,$field,$val);
|
||||
printf('<div class="auto_complete" id="%s_auto_complete"></div>',$field);
|
||||
echo '<script type="text/javascript"><!--'."\n";
|
||||
printf('new Ajax.Autocompleter("autoselect_%s","%s_auto_complete","ajax.php?do[]=%s:autoselect&return=%s&field=%s",{});',$field,$field,$module,$return,$field);
|
||||
echo "\n";
|
||||
echo '//--></script>'."\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of files from the filesystem, and present in a select list
|
||||
*/
|
||||
function osb_html_menu_files($params,&$smarty) {
|
||||
if (! $params['name'] || ! $params['path']) {
|
||||
printf('MISSING name OR path:%s',__METHOD__);
|
||||
return;
|
||||
}
|
||||
|
||||
$id = isset($params['id']) ? $params['id'] : $params['name'];
|
||||
$ext = '';
|
||||
|
||||
switch ($params['path']) {
|
||||
case 'affiliate_plugin': $path = sprintf('%s/affiliate/',PATH_PLUGINS); break;
|
||||
case 'checkout_plugin': $path = sprintf('%s/checkout/',PATH_PLUGINS); break;
|
||||
case 'invoice_pdf': $path = sprintf('%s/invoice/PDF/',PATH_MODULES); $ext = '.inc.php'; $pre = 'pdf_invoice_'; break;
|
||||
case 'invoice_pagetype': $path = sprintf('%s%s/invoice/',PATH_THEMES,DEF_THEME_N); $ext = '.pdf'; $pre = 'invoice-'; break;
|
||||
case 'language': $path = sprintf('%s/core/',PATH_LANGUAGE); $ext = '_core.xml'; $cap=1; break;
|
||||
case 'product' : $path = sprintf('%s/product',PATH_PLUGINS); break;
|
||||
case 'product_cat' : $path = sprintf('%s%s/blocks/product_cat',PATH_THEMES,DEF_THEME_N); break;
|
||||
case 'provision_plugin': $path = sprintf('%s/provision/',PATH_PLUGINS); break;
|
||||
case 'static_template': $path = sprintf('%s/default/blocks/static_page/',PATH_THEMES); $ext = '_template.tpl'; $cap=1; break;
|
||||
case 'theme' : $path = PATH_THEMES; break;
|
||||
case 'whois_plugin': $path = sprintf('%s/whois/',PATH_PLUGINS); break;
|
||||
|
||||
default:
|
||||
printf('Unkonwn path: %s',$params['path']);
|
||||
return;
|
||||
}
|
||||
|
||||
$count = 0;
|
||||
$arr = array();
|
||||
$dir = opendir($path);
|
||||
while ($file_name = readdir($dir)) {
|
||||
$display = true;
|
||||
|
||||
if (! in_array($file_name,array('.','..'))) {
|
||||
if ($ext) {
|
||||
$cute = preg_replace("/{$ext}$/",'',$file_name);
|
||||
|
||||
if (! preg_match("/{$ext}$/",$file_name))
|
||||
$display = false;
|
||||
}
|
||||
|
||||
if ($pre) {
|
||||
$cute = preg_replace("/^{$pre}/",'',$cute);
|
||||
|
||||
if (! preg_match("/^{$pre}/",$file_name))
|
||||
$display = false;
|
||||
|
||||
}
|
||||
|
||||
if ($display) {
|
||||
$value = str_replace('_',' ',str_replace('-',' ',$cute));
|
||||
|
||||
if ($cap==1)
|
||||
$value = ucfirst(strtolower($value));
|
||||
elseif ($cap==2)
|
||||
$value = ucwords(strtolower($value));
|
||||
elseif($cap)
|
||||
$value = strtoupper($value);
|
||||
|
||||
$arr[$cute] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$return = sprintf('<select id="%s" name="%s">',$id,$params['name']);
|
||||
|
||||
if ($params['default'] == 'all')
|
||||
$return .= '<option value="" selected> </option>';
|
||||
|
||||
if (count($arr))
|
||||
foreach ($arr as $index => $value)
|
||||
$return .= sprintf('<option value="%s"%s>%s</option>',$index,($params['default'] == $index) ? ' selected' : '',$value);
|
||||
|
||||
$return .= '</select>';
|
||||
|
||||
echo $return;
|
||||
}
|
||||
|
||||
function osb_html_link($params,&$smarty) {
|
||||
$name = 'submit';
|
||||
$module = 'CORE';
|
||||
|
||||
$_ignore['show'] = true;
|
||||
$_ignore['hide'] = true;
|
||||
$_ignore['name'] = true;
|
||||
|
||||
# Get the values passed...
|
||||
$vals = '';
|
||||
foreach ($params as $_key => $_val)
|
||||
if (empty($_ignore[$_key]))
|
||||
$vals .= sprintf(' %s="%s"',$_key,$_val);
|
||||
else
|
||||
$$_key = $_val;
|
||||
|
||||
foreach ($params as $_key => $_val)
|
||||
$$_key = $_val;
|
||||
|
||||
# Change state(s) (hide)
|
||||
$t = 0;
|
||||
if ($hide) {
|
||||
if (preg_match('/,/',$hide))
|
||||
$hides = explode(',',$hide);
|
||||
else
|
||||
$hides = array($hide);
|
||||
|
||||
foreach ($hides as $element)
|
||||
if (preg_match('/\|/',$element)) {
|
||||
$el = explode('|',$element);
|
||||
$action .= sprintf("new Effect.%s('%s',{duration: %s});",$el[2],$el[0],$el[1]);
|
||||
} else {
|
||||
$action .= sprintf("$('%s').style.display='none';",$element);
|
||||
}
|
||||
}
|
||||
|
||||
# Change state(s) (show)
|
||||
if ($show) {
|
||||
if (preg_match('/,/',$show))
|
||||
$shows = explode(',',$show);
|
||||
else
|
||||
$shows = array($show);
|
||||
|
||||
foreach ($shows as $element) {
|
||||
if (preg_match('/\|/',$element)) {
|
||||
$el = explode('|',$element);
|
||||
$action .= sprintf("new Effect.%s('%s',{duration: %s});",$el[2],$el[0],$el[1]);
|
||||
} else {
|
||||
$action .= sprintf("$('%s').style.display='block';",$element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# translate name
|
||||
global $C_translate;
|
||||
$trans = $C_translate->translate($name,$module);
|
||||
if (! empty($trans))
|
||||
$name = $trans;
|
||||
|
||||
if (empty($link))
|
||||
$link = '#';
|
||||
|
||||
return sprintf('<a href="%s"%s%s>%s</a>',$link,$vals,$action ? sprintf(' onclick="%s"',$action) : '',$name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Hides a div/span element without disabling the view
|
||||
*/
|
||||
function osb_style_hide($params,&$smarty) {
|
||||
echo 'style="display:none;"';
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays & Populates an Plug In template
|
||||
* @todo change this to be dynmaic, ie: defined by the instalation of a module and calling a method.
|
||||
*/
|
||||
function osb_plugin($params,&$smarty) {
|
||||
# Some Validation
|
||||
if ((! isset($params['type']) || ! trim($params['type'])) || (! isset($params['name']) || ! trim($params['name'])))
|
||||
return;
|
||||
|
||||
if (! isset($params['name_prefix']))
|
||||
$params['name_prefix'] = '';
|
||||
|
||||
if (! isset($params['data']) && $params['data'])
|
||||
$smarty->assign('plugin',unserialize($params['data']));
|
||||
|
||||
# Pass any other vars to smarty
|
||||
foreach ($params as $var=>$val)
|
||||
$smarty->assign($var,$val);
|
||||
|
||||
# Get full template file-path:
|
||||
switch ($params['type']) {
|
||||
case 'affiliate':
|
||||
$meth = 'affiliate:plugin';
|
||||
break;
|
||||
|
||||
case 'checkout':
|
||||
$meth = 'checkout_plugin:plugin';
|
||||
break;
|
||||
|
||||
case 'import':
|
||||
$meth = ''; // @todo
|
||||
break;
|
||||
|
||||
case 'product':
|
||||
$meth = 'product_plugin:plugin';
|
||||
break;
|
||||
|
||||
case 'provision':
|
||||
$meth = 'host_provision_plugin:plugin';
|
||||
break;
|
||||
|
||||
case 'registrar':
|
||||
$meth = 'host_registrar_plugin:plugin';
|
||||
break;
|
||||
|
||||
case 'whois':
|
||||
$meth = 'host_whois_plugin:plugin';
|
||||
break;
|
||||
|
||||
case 'voip_did':
|
||||
$meth = 'voip_did_plugin:config';
|
||||
break;
|
||||
}
|
||||
|
||||
$_tpl = sprintf('%s_%s%s',$meth,$params['name_prefix'],$params['name']);
|
||||
|
||||
# Check if file exists:
|
||||
$_template_full = sprintf('%s%s/blocks/%s.tpl',PATH_THEMES,DEF_THEME_N,str_replace(':','/',$_tpl));
|
||||
|
||||
if (! is_file($_template_full)) {
|
||||
$_template_full = sprintf('%s%s/blocks/%s.tpl',PATH_THEMES,'default',str_replace(':','/',$_tpl));
|
||||
|
||||
if (! is_file($_template_full)) {
|
||||
if ($debug)
|
||||
printf('Error loading plugin template: %s',$_template_full);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Load file
|
||||
$smarty->display(sprintf('file:%s',$_template_full));
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a table title
|
||||
*/
|
||||
function osb_tt($params,&$smarty) {
|
||||
require_once(PATH_CORE.'translate.inc.php');
|
||||
$C_translate = new CORE_translate;
|
||||
|
||||
echo $C_translate->tt($params,$smarty);
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a table field
|
||||
*/
|
||||
function osb_tf($params,&$smarty) {
|
||||
require_once(PATH_CORE.'translate.inc.php');
|
||||
$C_translate = new CORE_translate;
|
||||
|
||||
echo $C_translate->tf($params,$smarty);
|
||||
}
|
||||
|
||||
function osb_html_menu_product_host($params,&$smarty) {
|
||||
$id = $params['id'];
|
||||
$default = unserialize($params['default']);
|
||||
if (empty($id))
|
||||
$id = $params['name'];
|
||||
|
||||
$db = &DB();
|
||||
$result = $db->Execute(sqlSelect($db,'product','id,sku',sprintf('host=1 AND active=1 AND price_type=1 AND id!%s',$params['exclude'])));
|
||||
if ($result && $result->RecordCount()) {
|
||||
printf('<select id="%s" name="%s[]" size="%s" multiple="multiple">',$id,$params['name'],$params['size']);
|
||||
while(!$result->EOF) {
|
||||
$sel = '';
|
||||
foreach ($default as $cur)
|
||||
if ($cur == $result->fields['id'])
|
||||
$sel = ' selected="selected"';
|
||||
|
||||
printf('<option value="%s"%s>%s</option>',$result->fields['id'],$sel,$result->fields['sku']);
|
||||
$result->MoveNext();
|
||||
}
|
||||
echo '</select>';
|
||||
}
|
||||
}
|
||||
|
||||
function osb_html_menu_product_subscription($params,&$smarty) {
|
||||
$id = $params['id'];
|
||||
$default = unserialize($params['default']);
|
||||
if (empty($id))
|
||||
$id = $params['name'];
|
||||
|
||||
$db = &DB();
|
||||
$result = $db->Execute(sqlSelect($db,'product','id,sku',sprintf('(host=0 OR host IS NULL) AND active=1 AND price_type=1 AND id!=%s',$params['exclude']),'sku'));
|
||||
if ($result && $result->RecordCount()) {
|
||||
printf('<select id="%s" name="%s[]" size="%s" multiple="multiple">',$id,$params['name'],$params['size']);
|
||||
while (! $result->EOF) {
|
||||
$sel = '';
|
||||
foreach ($default as $cur)
|
||||
if ($cur == $result->fields['id'])
|
||||
$sel = ' selected="selected"';
|
||||
|
||||
printf('<option value="%s"%s>%s</option>',$result->fields['id'],$sel,$result->fields['sku']);
|
||||
$result->MoveNext();
|
||||
}
|
||||
echo '</select>';
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: plugin
|
||||
* Purpose: Displays & Populates an AB plugin template
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_plugin($params, &$smarty)
|
||||
{
|
||||
$conditions='';
|
||||
extract($params);
|
||||
if(empty($type)) return;
|
||||
if(empty($name)) return;
|
||||
if(empty($name_prefix)) $name_prefix='';
|
||||
|
||||
if(!empty($data)) $smarty->assign('plugin', unserialize($data));
|
||||
|
||||
// pass any other vars to smarty
|
||||
foreach($params as $var=>$val) $smarty->assign($var,$val);
|
||||
|
||||
// get full template file-path:
|
||||
switch($type) {
|
||||
case 'affiliate':
|
||||
$_tpl = "affiliate:plugin_{$name_prefix}{$name}";
|
||||
break;
|
||||
case 'checkout':
|
||||
$_tpl = "checkout_plugin:plugin_{$name_prefix}{$name}";
|
||||
break;
|
||||
case 'db_mapping':
|
||||
$_tpl = "db_mapping:group_map_{$name_prefix}{$name}";
|
||||
break;
|
||||
case 'import':
|
||||
$_tpl = ""; // todo
|
||||
break;
|
||||
case 'product':
|
||||
$_tpl = "product_plugin:plugin_{$name_prefix}{$name}";
|
||||
break;
|
||||
case 'provision':
|
||||
$_tpl = "host_provision_plugin:plugin_{$name_prefix}{$name}";
|
||||
break;
|
||||
case 'registrar':
|
||||
$_tpl = "host_registrar_plugin:plugin_{$name_prefix}{$name}";
|
||||
break;
|
||||
case 'whois':
|
||||
$_tpl = "host_whois_plugin:plugin_{$name_prefix}{$name}";
|
||||
break;
|
||||
case 'voip_did':
|
||||
$_tpl = "voip_did_plugin:config_{$name_prefix}{$name}";
|
||||
break;
|
||||
}
|
||||
|
||||
// check if file exists:
|
||||
$_template_full = PATH_THEMES.DEF_THEME_N."/blocks/". ereg_replace(":", "/", $_tpl).".tpl";
|
||||
|
||||
if(!is_file($_template_full)) {
|
||||
$_template_full = PATH_THEMES."default/blocks/". ereg_replace(":", "/", $_tpl).".tpl";
|
||||
if(!is_file($_template_full)) {
|
||||
if($debug) echo "Error loading plugin template: $_template_full";
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// load file
|
||||
$smarty->display("file:$_template_full");
|
||||
|
||||
}
|
||||
?>
|
@ -1,17 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: function.style_hide.php
|
||||
* Type: function
|
||||
* Name: style_hide
|
||||
* Version: 1.0
|
||||
* Purpose: Hides a div/span element without disabling the view in dreamweaver
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_style_hide($params, &$smarty)
|
||||
{
|
||||
return 'style="display:none"';
|
||||
}
|
||||
?>
|
@ -1,7 +0,0 @@
|
||||
<?php
|
||||
|
||||
function smarty_modifier_date($string, $format="%b %e, %Y", $default_date=null)
|
||||
{
|
||||
echo timestampToDate($string);
|
||||
}
|
||||
?>
|
@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: modifier
|
||||
* Name: linkalize
|
||||
* Version: 1.0
|
||||
* Purpose: parse a string and turn text links into clickable links...
|
||||
* Input: string to catenate
|
||||
* Example: {$var|linkalize}
|
||||
* Notes: make sure there is an http:// on all URLs
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
|
||||
function smarty_modifier_linkalize($string)
|
||||
{
|
||||
return linkalize($string);
|
||||
}
|
||||
|
||||
function linkalize($text)
|
||||
{
|
||||
$text = preg_replace("/([^\w\/])(www\.[a-z0-9\-]+\.[a-z0-9\-]+)/i", "$1http://$2", $text);
|
||||
$text = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i", "<A TARGET=\"_blank\" HREF=\"$1\">$1</A>", $text); //make all URLs links
|
||||
$text = preg_replace("/[\w-\.]+@(\w+[\w-]+\.){0,3}\w+[\w-]+\.[a-zA-Z]{2,4}\b/i","<ahref=\"mailto:$0\">$0</a>",$text);
|
||||
return $text;
|
||||
}
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -1,854 +0,0 @@
|
||||
<?php
|
||||
|
||||
#
|
||||
# SmartyPants - Smart punctuation for web sites
|
||||
#
|
||||
# by John Gruber
|
||||
# <http://daringfireball.net>
|
||||
#
|
||||
# PHP port by Michel Fortin
|
||||
# <http://www.michelf.com/>
|
||||
#
|
||||
# Copyright (c) 2003-2004 John Gruber
|
||||
# Copyright (c) 2004-2005 Michel Fortin
|
||||
#
|
||||
|
||||
|
||||
global $SmartyPantsPHPVersion, $SmartyPantsSyntaxVersion,
|
||||
$smartypants_attr, $sp_tags_to_skip;
|
||||
|
||||
$SmartyPantsPHPVersion = '1.5.1d'; # Mon 6 Jun 2005
|
||||
$SmartyPantsSyntaxVersion = '1.5.1'; # Fri 12 Mar 2004
|
||||
|
||||
|
||||
# Configurable variables:
|
||||
$smartypants_attr = "1"; # Change this to configure.
|
||||
# 1 => "--" for em-dashes; no en-dash support
|
||||
# 2 => "---" for em-dashes; "--" for en-dashes
|
||||
# 3 => "--" for em-dashes; "---" for en-dashes
|
||||
# See docs for more configuration options.
|
||||
|
||||
# Globals:
|
||||
$sp_tags_to_skip = '<(/?)(?:pre|code|kbd|script|math)[\s>]';
|
||||
|
||||
|
||||
# -- WordPress plugin interface -----------------------------------------------
|
||||
/*
|
||||
Plugin Name: SmartyPants
|
||||
Plugin URI: http://www.michelf.com/projects/php-smartypants/
|
||||
Description: SmartyPants is a web publishing utility that translates plain ASCII punctuation characters into “smart” typographic punctuation HTML entities. This plugin <strong>replace the default WordPress Texturize algorithm</strong> for the content and the title of your posts, the comments body and author name, and everywhere else Texturize normally apply. Based on the original Perl version by <a href="http://daringfireball.net/">John Gruber</a>.
|
||||
Version: 1.5.1c
|
||||
Author: Michel Fortin
|
||||
Author URI: http://www.michelf.com/
|
||||
*/
|
||||
if (isset($wp_version)) {
|
||||
# Remove default Texturize filter that would conflict with SmartyPants.
|
||||
remove_filter('category_description', 'wptexturize');
|
||||
remove_filter('list_cats', 'wptexturize');
|
||||
remove_filter('comment_author', 'wptexturize');
|
||||
remove_filter('comment_text', 'wptexturize');
|
||||
remove_filter('single_post_title', 'wptexturize');
|
||||
remove_filter('the_title', 'wptexturize');
|
||||
remove_filter('the_content', 'wptexturize');
|
||||
remove_filter('the_excerpt', 'wptexturize');
|
||||
# Add SmartyPants filter with priority 10 (same as Texturize).
|
||||
add_filter('category_description', 'SmartyPants', 10);
|
||||
add_filter('list_cats', 'SmartyPants', 10);
|
||||
add_filter('comment_author', 'SmartyPants', 10);
|
||||
add_filter('comment_text', 'SmartyPants', 10);
|
||||
add_filter('single_post_title', 'SmartyPants', 10);
|
||||
add_filter('the_title', 'SmartyPants', 10);
|
||||
add_filter('the_content', 'SmartyPants', 10);
|
||||
add_filter('the_excerpt', 'SmartyPants', 10);
|
||||
}
|
||||
|
||||
# -- Smarty Modifier Interface ------------------------------------------------
|
||||
function smarty_modifier_smartypants($text, $attr = NULL) {
|
||||
return SmartyPants($text, $attr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function SmartyPants($text, $attr = NULL, $ctx = NULL) {
|
||||
global $smartypants_attr, $sp_tags_to_skip;
|
||||
# Paramaters:
|
||||
$text; # text to be parsed
|
||||
$attr; # value of the smart_quotes="" attribute
|
||||
$ctx; # MT context object (unused)
|
||||
if ($attr == NULL) $attr = $smartypants_attr;
|
||||
|
||||
# Options to specify which transformations to make:
|
||||
$do_stupefy = FALSE;
|
||||
$convert_quot = 0; # should we translate " entities into normal quotes?
|
||||
|
||||
# Parse attributes:
|
||||
# 0 : do nothing
|
||||
# 1 : set all
|
||||
# 2 : set all, using old school en- and em- dash shortcuts
|
||||
# 3 : set all, using inverted old school en and em- dash shortcuts
|
||||
#
|
||||
# q : quotes
|
||||
# b : backtick quotes (``double'' only)
|
||||
# B : backtick quotes (``double'' and `single')
|
||||
# d : dashes
|
||||
# D : old school dashes
|
||||
# i : inverted old school dashes
|
||||
# e : ellipses
|
||||
# w : convert " entities to " for Dreamweaver users
|
||||
|
||||
if ($attr == "0") {
|
||||
# Do nothing.
|
||||
return $text;
|
||||
}
|
||||
else if ($attr == "1") {
|
||||
# Do everything, turn all options on.
|
||||
$do_quotes = 1;
|
||||
$do_backticks = 1;
|
||||
$do_dashes = 1;
|
||||
$do_ellipses = 1;
|
||||
}
|
||||
else if ($attr == "2") {
|
||||
# Do everything, turn all options on, use old school dash shorthand.
|
||||
$do_quotes = 1;
|
||||
$do_backticks = 1;
|
||||
$do_dashes = 2;
|
||||
$do_ellipses = 1;
|
||||
}
|
||||
else if ($attr == "3") {
|
||||
# Do everything, turn all options on, use inverted old school dash shorthand.
|
||||
$do_quotes = 1;
|
||||
$do_backticks = 1;
|
||||
$do_dashes = 3;
|
||||
$do_ellipses = 1;
|
||||
}
|
||||
else if ($attr == "-1") {
|
||||
# Special "stupefy" mode.
|
||||
$do_stupefy = 1;
|
||||
}
|
||||
else {
|
||||
$chars = preg_split('//', $attr);
|
||||
foreach ($chars as $c){
|
||||
if ($c == "q") { $do_quotes = 1; }
|
||||
else if ($c == "b") { $do_backticks = 1; }
|
||||
else if ($c == "B") { $do_backticks = 2; }
|
||||
else if ($c == "d") { $do_dashes = 1; }
|
||||
else if ($c == "D") { $do_dashes = 2; }
|
||||
else if ($c == "i") { $do_dashes = 3; }
|
||||
else if ($c == "e") { $do_ellipses = 1; }
|
||||
else if ($c == "w") { $convert_quot = 1; }
|
||||
else {
|
||||
# Unknown attribute option, ignore.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$tokens = _TokenizeHTML($text);
|
||||
$result = '';
|
||||
$in_pre = 0; # Keep track of when we're inside <pre> or <code> tags.
|
||||
|
||||
$prev_token_last_char = ""; # This is a cheat, used to get some context
|
||||
# for one-character tokens that consist of
|
||||
# just a quote char. What we do is remember
|
||||
# the last character of the previous text
|
||||
# token, to use as context to curl single-
|
||||
# character quote tokens correctly.
|
||||
|
||||
foreach ($tokens as $cur_token) {
|
||||
if ($cur_token[0] == "tag") {
|
||||
# Don't mess with quotes inside tags.
|
||||
$result .= $cur_token[1];
|
||||
if (preg_match("@$sp_tags_to_skip@", $cur_token[1], $matches)) {
|
||||
$in_pre = isset($matches[1]) && $matches[1] == '/' ? 0 : 1;
|
||||
}
|
||||
} else {
|
||||
$t = $cur_token[1];
|
||||
$last_char = substr($t, -1); # Remember last char of this token before processing.
|
||||
if (! $in_pre) {
|
||||
$t = ProcessEscapes($t);
|
||||
|
||||
if ($convert_quot) {
|
||||
$t = preg_replace('/"/', '"', $t);
|
||||
}
|
||||
|
||||
if ($do_dashes) {
|
||||
if ($do_dashes == 1) $t = EducateDashes($t);
|
||||
if ($do_dashes == 2) $t = EducateDashesOldSchool($t);
|
||||
if ($do_dashes == 3) $t = EducateDashesOldSchoolInverted($t);
|
||||
}
|
||||
|
||||
if ($do_ellipses) $t = EducateEllipses($t);
|
||||
|
||||
# Note: backticks need to be processed before quotes.
|
||||
if ($do_backticks) {
|
||||
$t = EducateBackticks($t);
|
||||
if ($do_backticks == 2) $t = EducateSingleBackticks($t);
|
||||
}
|
||||
|
||||
if ($do_quotes) {
|
||||
if ($t == "'") {
|
||||
# Special case: single-character ' token
|
||||
if (preg_match('/\S/', $prev_token_last_char)) {
|
||||
$t = "’";
|
||||
}
|
||||
else {
|
||||
$t = "‘";
|
||||
}
|
||||
}
|
||||
else if ($t == '"') {
|
||||
# Special case: single-character " token
|
||||
if (preg_match('/\S/', $prev_token_last_char)) {
|
||||
$t = "”";
|
||||
}
|
||||
else {
|
||||
$t = "“";
|
||||
}
|
||||
}
|
||||
else {
|
||||
# Normal case:
|
||||
$t = EducateQuotes($t);
|
||||
}
|
||||
}
|
||||
|
||||
if ($do_stupefy) $t = StupefyEntities($t);
|
||||
}
|
||||
$prev_token_last_char = $last_char;
|
||||
$result .= $t;
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
function SmartQuotes($text, $attr = NULL, $ctx = NULL) {
|
||||
global $smartypants_attr, $sp_tags_to_skip;
|
||||
# Paramaters:
|
||||
$text; # text to be parsed
|
||||
$attr; # value of the smart_quotes="" attribute
|
||||
$ctx; # MT context object (unused)
|
||||
if ($attr == NULL) $attr = $smartypants_attr;
|
||||
|
||||
$do_backticks; # should we educate ``backticks'' -style quotes?
|
||||
|
||||
if ($attr == 0) {
|
||||
# do nothing;
|
||||
return $text;
|
||||
}
|
||||
else if ($attr == 2) {
|
||||
# smarten ``backticks'' -style quotes
|
||||
$do_backticks = 1;
|
||||
}
|
||||
else {
|
||||
$do_backticks = 0;
|
||||
}
|
||||
|
||||
# Special case to handle quotes at the very end of $text when preceded by
|
||||
# an HTML tag. Add a space to give the quote education algorithm a bit of
|
||||
# context, so that it can guess correctly that it's a closing quote:
|
||||
$add_extra_space = 0;
|
||||
if (preg_match("/>['\"]\\z/", $text)) {
|
||||
$add_extra_space = 1; # Remember, so we can trim the extra space later.
|
||||
$text .= " ";
|
||||
}
|
||||
|
||||
$tokens = _TokenizeHTML($text);
|
||||
$result = '';
|
||||
$in_pre = 0; # Keep track of when we're inside <pre> or <code> tags
|
||||
|
||||
$prev_token_last_char = ""; # This is a cheat, used to get some context
|
||||
# for one-character tokens that consist of
|
||||
# just a quote char. What we do is remember
|
||||
# the last character of the previous text
|
||||
# token, to use as context to curl single-
|
||||
# character quote tokens correctly.
|
||||
|
||||
foreach ($tokens as $cur_token) {
|
||||
if ($cur_token[0] == "tag") {
|
||||
# Don't mess with quotes inside tags
|
||||
$result .= $cur_token[1];
|
||||
if (preg_match("@$sp_tags_to_skip@", $cur_token[1], $matches)) {
|
||||
$in_pre = isset($matches[1]) && $matches[1] == '/' ? 0 : 1;
|
||||
}
|
||||
} else {
|
||||
$t = $cur_token[1];
|
||||
$last_char = substr($t, -1); # Remember last char of this token before processing.
|
||||
if (! $in_pre) {
|
||||
$t = ProcessEscapes($t);
|
||||
if ($do_backticks) {
|
||||
$t = EducateBackticks($t);
|
||||
}
|
||||
|
||||
if ($t == "'") {
|
||||
# Special case: single-character ' token
|
||||
if (preg_match('/\S/', $prev_token_last_char)) {
|
||||
$t = "’";
|
||||
}
|
||||
else {
|
||||
$t = "‘";
|
||||
}
|
||||
}
|
||||
else if ($t == '"') {
|
||||
# Special case: single-character " token
|
||||
if (preg_match('/\S/', $prev_token_last_char)) {
|
||||
$t = "”";
|
||||
}
|
||||
else {
|
||||
$t = "“";
|
||||
}
|
||||
}
|
||||
else {
|
||||
# Normal case:
|
||||
$t = EducateQuotes($t);
|
||||
}
|
||||
|
||||
}
|
||||
$prev_token_last_char = $last_char;
|
||||
$result .= $t;
|
||||
}
|
||||
}
|
||||
|
||||
if ($add_extra_space) {
|
||||
preg_replace('/ \z/', '', $result); # Trim trailing space if we added one earlier.
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
function SmartDashes($text, $attr = NULL, $ctx = NULL) {
|
||||
global $smartypants_attr, $sp_tags_to_skip;
|
||||
# Paramaters:
|
||||
$text; # text to be parsed
|
||||
$attr; # value of the smart_dashes="" attribute
|
||||
$ctx; # MT context object (unused)
|
||||
if ($attr == NULL) $attr = $smartypants_attr;
|
||||
|
||||
# reference to the subroutine to use for dash education, default to EducateDashes:
|
||||
$dash_sub_ref = 'EducateDashes';
|
||||
|
||||
if ($attr == 0) {
|
||||
# do nothing;
|
||||
return $text;
|
||||
}
|
||||
else if ($attr == 2) {
|
||||
# use old smart dash shortcuts, "--" for en, "---" for em
|
||||
$dash_sub_ref = 'EducateDashesOldSchool';
|
||||
}
|
||||
else if ($attr == 3) {
|
||||
# inverse of 2, "--" for em, "---" for en
|
||||
$dash_sub_ref = 'EducateDashesOldSchoolInverted';
|
||||
}
|
||||
|
||||
$tokens;
|
||||
$tokens = _TokenizeHTML($text);
|
||||
|
||||
$result = '';
|
||||
$in_pre = 0; # Keep track of when we're inside <pre> or <code> tags
|
||||
foreach ($tokens as $cur_token) {
|
||||
if ($cur_token[0] == "tag") {
|
||||
# Don't mess with quotes inside tags
|
||||
$result .= $cur_token[1];
|
||||
if (preg_match("@$sp_tags_to_skip@", $cur_token[1], $matches)) {
|
||||
$in_pre = isset($matches[1]) && $matches[1] == '/' ? 0 : 1;
|
||||
}
|
||||
} else {
|
||||
$t = $cur_token[1];
|
||||
if (! $in_pre) {
|
||||
$t = ProcessEscapes($t);
|
||||
$t = $dash_sub_ref($t);
|
||||
}
|
||||
$result .= $t;
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
function SmartEllipses($text, $attr = NULL, $ctx = NULL) {
|
||||
# Paramaters:
|
||||
$text; # text to be parsed
|
||||
$attr; # value of the smart_ellipses="" attribute
|
||||
$ctx; # MT context object (unused)
|
||||
if ($attr == NULL) $attr = $smartypants_attr;
|
||||
|
||||
if ($attr == 0) {
|
||||
# do nothing;
|
||||
return $text;
|
||||
}
|
||||
|
||||
$tokens;
|
||||
$tokens = _TokenizeHTML($text);
|
||||
|
||||
$result = '';
|
||||
$in_pre = 0; # Keep track of when we're inside <pre> or <code> tags
|
||||
foreach ($tokens as $cur_token) {
|
||||
if ($cur_token[0] == "tag") {
|
||||
# Don't mess with quotes inside tags
|
||||
$result .= $cur_token[1];
|
||||
if (preg_match("@$sp_tags_to_skip@", $cur_token[1], $matches)) {
|
||||
$in_pre = isset($matches[1]) && $matches[1] == '/' ? 0 : 1;
|
||||
}
|
||||
} else {
|
||||
$t = $cur_token[1];
|
||||
if (! $in_pre) {
|
||||
$t = ProcessEscapes($t);
|
||||
$t = EducateEllipses($t);
|
||||
}
|
||||
$result .= $t;
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
function EducateQuotes($_) {
|
||||
#
|
||||
# Parameter: String.
|
||||
#
|
||||
# Returns: The string, with "educated" curly quote HTML entities.
|
||||
#
|
||||
# Example input: "Isn't this fun?"
|
||||
# Example output: “Isn’t this fun?”
|
||||
#
|
||||
# Make our own "punctuation" character class, because the POSIX-style
|
||||
# [:PUNCT:] is only available in Perl 5.6 or later:
|
||||
$punct_class = "[!\"#\\$\\%'()*+,-.\\/:;<=>?\\@\\[\\\\\]\\^_`{|}~]";
|
||||
|
||||
# Special case if the very first character is a quote
|
||||
# followed by punctuation at a non-word-break. Close the quotes by brute force:
|
||||
$_ = preg_replace(
|
||||
array("/^'(?=$punct_class\\B)/", "/^\"(?=$punct_class\\B)/"),
|
||||
array('’', '”'), $_);
|
||||
|
||||
|
||||
# Special case for double sets of quotes, e.g.:
|
||||
# <p>He said, "'Quoted' words in a larger quote."</p>
|
||||
$_ = preg_replace(
|
||||
array("/\"'(?=\w)/", "/'\"(?=\w)/"),
|
||||
array('“‘', '‘“'), $_);
|
||||
|
||||
# Special case for decade abbreviations (the '80s):
|
||||
$_ = preg_replace("/'(?=\\d{2}s)/", '’', $_);
|
||||
|
||||
$close_class = '[^\ \t\r\n\[\{\(\-]';
|
||||
$dec_dashes = '&\#8211;|&\#8212;';
|
||||
|
||||
# Get most opening single quotes:
|
||||
$_ = preg_replace("{
|
||||
(
|
||||
\\s | # a whitespace char, or
|
||||
| # a non-breaking space entity, or
|
||||
-- | # dashes, or
|
||||
&[mn]dash; | # named dash entities
|
||||
$dec_dashes | # or decimal entities
|
||||
&\\#x201[34]; # or hex
|
||||
)
|
||||
' # the quote
|
||||
(?=\\w) # followed by a word character
|
||||
}x", '\1‘', $_);
|
||||
# Single closing quotes:
|
||||
$_ = preg_replace("{
|
||||
($close_class)?
|
||||
'
|
||||
(?(1)| # If $1 captured, then do nothing;
|
||||
(?=\\s | s\\b) # otherwise, positive lookahead for a whitespace
|
||||
) # char or an 's' at a word ending position. This
|
||||
# is a special case to handle something like:
|
||||
# \"<i>Custer</i>'s Last Stand.\"
|
||||
}xi", '\1’', $_);
|
||||
|
||||
# Any remaining single quotes should be opening ones:
|
||||
$_ = str_replace("'", '‘', $_);
|
||||
|
||||
|
||||
# Get most opening double quotes:
|
||||
$_ = preg_replace("{
|
||||
(
|
||||
\\s | # a whitespace char, or
|
||||
| # a non-breaking space entity, or
|
||||
-- | # dashes, or
|
||||
&[mn]dash; | # named dash entities
|
||||
$dec_dashes | # or decimal entities
|
||||
&\\#x201[34]; # or hex
|
||||
)
|
||||
\" # the quote
|
||||
(?=\\w) # followed by a word character
|
||||
}x", '\1“', $_);
|
||||
|
||||
# Double closing quotes:
|
||||
$_ = preg_replace("{
|
||||
($close_class)?
|
||||
\"
|
||||
(?(1)|(?=\\s)) # If $1 captured, then do nothing;
|
||||
# if not, then make sure the next char is whitespace.
|
||||
}x", '\1”', $_);
|
||||
|
||||
# Any remaining quotes should be opening ones.
|
||||
$_ = str_replace('"', '“', $_);
|
||||
|
||||
return $_;
|
||||
}
|
||||
|
||||
|
||||
function EducateBackticks($_) {
|
||||
#
|
||||
# Parameter: String.
|
||||
# Returns: The string, with ``backticks'' -style double quotes
|
||||
# translated into HTML curly quote entities.
|
||||
#
|
||||
# Example input: ``Isn't this fun?''
|
||||
# Example output: “Isn't this fun?”
|
||||
#
|
||||
|
||||
$_ = str_replace(array("``", "''",),
|
||||
array('“', '”'), $_);
|
||||
return $_;
|
||||
}
|
||||
|
||||
|
||||
function EducateSingleBackticks($_) {
|
||||
#
|
||||
# Parameter: String.
|
||||
# Returns: The string, with `backticks' -style single quotes
|
||||
# translated into HTML curly quote entities.
|
||||
#
|
||||
# Example input: `Isn't this fun?'
|
||||
# Example output: ‘Isn’t this fun?’
|
||||
#
|
||||
|
||||
$_ = str_replace(array("`", "'",),
|
||||
array('‘', '’'), $_);
|
||||
return $_;
|
||||
}
|
||||
|
||||
|
||||
function EducateDashes($_) {
|
||||
#
|
||||
# Parameter: String.
|
||||
#
|
||||
# Returns: The string, with each instance of "--" translated to
|
||||
# an em-dash HTML entity.
|
||||
#
|
||||
|
||||
$_ = str_replace('--', '—', $_);
|
||||
return $_;
|
||||
}
|
||||
|
||||
|
||||
function EducateDashesOldSchool($_) {
|
||||
#
|
||||
# Parameter: String.
|
||||
#
|
||||
# Returns: The string, with each instance of "--" translated to
|
||||
# an en-dash HTML entity, and each "---" translated to
|
||||
# an em-dash HTML entity.
|
||||
#
|
||||
|
||||
# em en
|
||||
$_ = str_replace(array("---", "--",),
|
||||
array('—', '–'), $_);
|
||||
return $_;
|
||||
}
|
||||
|
||||
|
||||
function EducateDashesOldSchoolInverted($_) {
|
||||
#
|
||||
# Parameter: String.
|
||||
#
|
||||
# Returns: The string, with each instance of "--" translated to
|
||||
# an em-dash HTML entity, and each "---" translated to
|
||||
# an en-dash HTML entity. Two reasons why: First, unlike the
|
||||
# en- and em-dash syntax supported by
|
||||
# EducateDashesOldSchool(), it's compatible with existing
|
||||
# entries written before SmartyPants 1.1, back when "--" was
|
||||
# only used for em-dashes. Second, em-dashes are more
|
||||
# common than en-dashes, and so it sort of makes sense that
|
||||
# the shortcut should be shorter to type. (Thanks to Aaron
|
||||
# Swartz for the idea.)
|
||||
#
|
||||
|
||||
# en em
|
||||
$_ = str_replace(array("---", "--",),
|
||||
array('–', '—'), $_);
|
||||
return $_;
|
||||
}
|
||||
|
||||
|
||||
function EducateEllipses($_) {
|
||||
#
|
||||
# Parameter: String.
|
||||
# Returns: The string, with each instance of "..." translated to
|
||||
# an ellipsis HTML entity. Also converts the case where
|
||||
# there are spaces between the dots.
|
||||
#
|
||||
# Example input: Huh...?
|
||||
# Example output: Huh…?
|
||||
#
|
||||
|
||||
$_ = str_replace(array("...", ". . .",), '…', $_);
|
||||
return $_;
|
||||
}
|
||||
|
||||
|
||||
function StupefyEntities($_) {
|
||||
#
|
||||
# Parameter: String.
|
||||
# Returns: The string, with each SmartyPants HTML entity translated to
|
||||
# its ASCII counterpart.
|
||||
#
|
||||
# Example input: “Hello — world.”
|
||||
# Example output: "Hello -- world."
|
||||
#
|
||||
|
||||
# en-dash em-dash
|
||||
$_ = str_replace(array('–', '—'),
|
||||
array('-', '--'), $_);
|
||||
|
||||
# single quote open close
|
||||
$_ = str_replace(array('‘', '’'), "'", $_);
|
||||
|
||||
# double quote open close
|
||||
$_ = str_replace(array('“', '”'), '"', $_);
|
||||
|
||||
$_ = str_replace('…', '...', $_); # ellipsis
|
||||
|
||||
return $_;
|
||||
}
|
||||
|
||||
|
||||
function ProcessEscapes($_) {
|
||||
#
|
||||
# Parameter: String.
|
||||
# Returns: The string, with after processing the following backslash
|
||||
# escape sequences. This is useful if you want to force a "dumb"
|
||||
# quote or other character to appear.
|
||||
#
|
||||
# Escape Value
|
||||
# ------ -----
|
||||
# \\ \
|
||||
# \" "
|
||||
# \' '
|
||||
# \. .
|
||||
# \- -
|
||||
# \` `
|
||||
#
|
||||
$_ = str_replace(
|
||||
array('\\', '\"', "\'", '\.', '\-', '\`'),
|
||||
array('\', '"', ''', '.', '-', '`'), $_);
|
||||
|
||||
return $_;
|
||||
}
|
||||
|
||||
|
||||
# _TokenizeHTML is shared between PHP SmartyPants and PHP Markdown.
|
||||
# We only define it if it is not already defined.
|
||||
if (!function_exists('_TokenizeHTML')) :
|
||||
function _TokenizeHTML($str) {
|
||||
#
|
||||
# Parameter: String containing HTML markup.
|
||||
# Returns: An array of the tokens comprising the input
|
||||
# string. Each token is either a tag (possibly with nested,
|
||||
# tags contained therein, such as <a href="<MTFoo>">, or a
|
||||
# run of text between tags. Each element of the array is a
|
||||
# two-element array; the first is either 'tag' or 'text';
|
||||
# the second is the actual value.
|
||||
#
|
||||
#
|
||||
# Regular expression derived from the _tokenize() subroutine in
|
||||
# Brad Choate's MTRegex plugin.
|
||||
# <http://www.bradchoate.com/past/mtregex.php>
|
||||
#
|
||||
$index = 0;
|
||||
$tokens = array();
|
||||
|
||||
$match = '(?s:<!(?:--.*?--\s*)+>)|'. # comment
|
||||
'(?s:<\?.*?\?>)|'. # processing instruction
|
||||
# regular tags
|
||||
'(?:<[/!$]?[-a-zA-Z0-9:]+\b(?>[^"\'>]+|"[^"]*"|\'[^\']*\')*>)';
|
||||
|
||||
$parts = preg_split("{($match)}", $str, -1, PREG_SPLIT_DELIM_CAPTURE);
|
||||
|
||||
foreach ($parts as $part) {
|
||||
if (++$index % 2 && $part != '')
|
||||
$tokens[] = array('text', $part);
|
||||
else
|
||||
$tokens[] = array('tag', $part);
|
||||
}
|
||||
return $tokens;
|
||||
}
|
||||
endif;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
PHP SmartyPants
|
||||
===============
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This is a PHP translation of the original SmartyPants quote educator written in
|
||||
Perl by John Gruber.
|
||||
|
||||
SmartyPants is a web publishing utility that translates plain ASCII
|
||||
punctuation characters into "smart" typographic punctuation HTML
|
||||
entities. SmartyPants can perform the following transformations:
|
||||
|
||||
* Straight quotes (`"` and `'`) into "curly" quote HTML entities
|
||||
* Backticks-style quotes (` ``like this'' `) into "curly" quote HTML
|
||||
entities
|
||||
* Dashes (`--` and `---`) into en- and em-dash entities
|
||||
* Three consecutive dots (`...`) into an ellipsis entity
|
||||
|
||||
SmartyPants does not modify characters within `<pre>`, `<code>`, `<kbd>`,
|
||||
`<script>`, or `<math>` tag blocks. Typically, these tags are used to
|
||||
display text where smart quotes and other "smart punctuation" would not
|
||||
be appropriate, such as source code or example markup.
|
||||
|
||||
|
||||
### Backslash Escapes ###
|
||||
|
||||
If you need to use literal straight quotes (or plain hyphens and
|
||||
periods), SmartyPants accepts the following backslash escape sequences
|
||||
to force non-smart punctuation. It does so by transforming the escape
|
||||
sequence into a decimal-encoded HTML entity:
|
||||
|
||||
Escape Value Character
|
||||
------ ----- ---------
|
||||
\\ \ \
|
||||
\" " "
|
||||
\' ' '
|
||||
\. . .
|
||||
\- - -
|
||||
\` ` `
|
||||
|
||||
This is useful, for example, when you want to use straight quotes as
|
||||
foot and inch marks: 6'2" tall; a 17" iMac.
|
||||
|
||||
|
||||
Bugs
|
||||
----
|
||||
|
||||
To file bug reports or feature requests (other than topics listed in the
|
||||
Caveats section above) please send email to:
|
||||
|
||||
<michel.fortin@michelf.com>
|
||||
|
||||
If the bug involves quotes being curled the wrong way, please send example
|
||||
text to illustrate.
|
||||
|
||||
|
||||
### Algorithmic Shortcomings ###
|
||||
|
||||
One situation in which quotes will get curled the wrong way is when
|
||||
apostrophes are used at the start of leading contractions. For example:
|
||||
|
||||
'Twas the night before Christmas.
|
||||
|
||||
In the case above, SmartyPants will turn the apostrophe into an opening
|
||||
single-quote, when in fact it should be a closing one. I don't think
|
||||
this problem can be solved in the general case -- every word processor
|
||||
I've tried gets this wrong as well. In such cases, it's best to use the
|
||||
proper HTML entity for closing single-quotes (`’`) by hand.
|
||||
|
||||
|
||||
Version History
|
||||
---------------
|
||||
|
||||
1.5.1d (25 May 2005)
|
||||
|
||||
* Corrected a small bug in `_TokenizeHTML` where a Doctype declaration
|
||||
was not seen as HTML (smart quotes where applied inside).
|
||||
|
||||
|
||||
1.5.1c (13 Dec 2004)
|
||||
|
||||
* Changed a regular expression in `_TokenizeHTML` that could lead to
|
||||
a segmentation fault with PHP 4.3.8 on Linux.
|
||||
|
||||
|
||||
1.5.1b (6 Sep 2004)
|
||||
|
||||
* Corrected a problem with quotes immediately following a dash
|
||||
with no space between: `Text--"quoted text"--text.`
|
||||
|
||||
* PHP SmartyPants can now be used as a modifier by the Smarty
|
||||
template engine. Rename the file to "modifier.smartypants.php"
|
||||
and put it in your smarty plugins folder.
|
||||
|
||||
* Replaced a lot of space characters by tabs, saving about 4 KB.
|
||||
|
||||
|
||||
1.5.1a (30 Jun 2004)
|
||||
|
||||
* PHP Markdown and PHP Smartypants now share the same `_TokenizeHTML`
|
||||
function when loaded simultanously.
|
||||
|
||||
* Changed the internals of `_TokenizeHTML` to lower the PHP version
|
||||
requirement to PHP 4.0.5.
|
||||
|
||||
|
||||
1.5.1 (6 Jun 2004)
|
||||
|
||||
* Initial release of PHP SmartyPants, based on version 1.5.1 of the
|
||||
original SmartyPants written in Perl.
|
||||
|
||||
|
||||
Author
|
||||
------
|
||||
|
||||
John Gruber
|
||||
<http://daringfireball.net/>
|
||||
|
||||
Ported to PHP by Michel Fortin
|
||||
<http://www.michelf.com/>
|
||||
|
||||
|
||||
Additional Credits
|
||||
------------------
|
||||
|
||||
Portions of this plug-in are based on Brad Choate's nifty MTRegex plug-in.
|
||||
Brad Choate also contributed a few bits of source code to this plug-in.
|
||||
Brad Choate is a fine hacker indeed. (<http://bradchoate.com/>)
|
||||
|
||||
Jeremy Hedley (<http://antipixel.com/>) and Charles Wiltgen
|
||||
(<http://playbacktime.com/>) deserve mention for exemplary beta testing.
|
||||
|
||||
|
||||
Copyright and License
|
||||
---------------------
|
||||
|
||||
Copyright (c) 2003 John Gruber
|
||||
<http://daringfireball.net/>
|
||||
All rights reserved.
|
||||
|
||||
Copyright (c) 2004 Michel Fortin
|
||||
<http://www.michelf.com>
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name "SmartyPants" nor the names of its contributors may
|
||||
be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
This software is provided by the copyright holders and contributors "as is"
|
||||
and any express or implied warranties, including, but not limited to, the
|
||||
implied warranties of merchantability and fitness for a particular purpose
|
||||
are disclaimed. In no event shall the copyright owner or contributors be
|
||||
liable for any direct, indirect, incidental, special, exemplary, or
|
||||
consequential damages (including, but not limited to, procurement of
|
||||
substitute goods or services; loss of use, data, or profits; or business
|
||||
interruption) however caused and on any theory of liability, whether in
|
||||
contract, strict liability, or tort (including negligence or otherwise)
|
||||
arising in any way out of the use of this software, even if advised of the
|
||||
possibility of such damage.
|
||||
|
||||
*/
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -1,37 +0,0 @@
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* File: postfilter.lang.php
|
||||
* Type: postfilter
|
||||
* Name: lang
|
||||
* Version: 1.0
|
||||
* Date: August 12, 2002
|
||||
* Purpose: Parses the intermediate tags left by compiler.lang
|
||||
* and replaces them with the translated strings,
|
||||
* according to the $compile_id value (language code).
|
||||
*
|
||||
* Install: Drop into the plugin directory, call
|
||||
* $smarty->load_filter('post','lang');
|
||||
* or
|
||||
* $smarty->autoload_filters = array('post' => array('lang'));
|
||||
* from application.
|
||||
* Author: Alejandro Sarco <ale@sarco.com.ar>
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_postfilter_lang1($tpl, &$smarty) {
|
||||
|
||||
//Include your own respective translation strings here
|
||||
//include('path/to/your/languages/directory/'.$smarty->compile_id.'/.your_language_file.php');
|
||||
|
||||
$offset = 0;
|
||||
while ( $start = strpos($tpl, '<?php ($lang.', $offset )) {
|
||||
$end = strpos($tpl, ') ?>', $start );
|
||||
$rplstr = substr($tpl, $start + 13, $end - ($start + 13));
|
||||
$tpl = substr_replace($tpl, $lang[$rplstr], $start, $end - ($start - 4));
|
||||
$offset = $end + 4;
|
||||
}
|
||||
|
||||
return $tpl;
|
||||
}
|
||||
|
||||
?>
|
126
includes/tcpdf/2dbarcodes.php
Normal file
126
includes/tcpdf/2dbarcodes.php
Normal file
@ -0,0 +1,126 @@
|
||||
<?php
|
||||
//============================================================+
|
||||
// File name : 2dbarcodes.php
|
||||
// Begin : 2009-04-07
|
||||
// Last Update : 2009-08-17
|
||||
// Version : 1.0.000
|
||||
// License : GNU LGPL (http://www.gnu.org/copyleft/lesser.html)
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright (C) 2008-2009 Nicola Asuni - Tecnick.com S.r.l.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as published by
|
||||
// the Free Software Foundation, either version 2.1 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// See LICENSE.TXT file for more information.
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Description : PHP class to creates array representations for
|
||||
// 2D barcodes to be used with TCPDF.
|
||||
//
|
||||
// Author: Nicola Asuni
|
||||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com S.r.l.
|
||||
// Via della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
||||
/**
|
||||
* PHP class to creates array representations for 2D barcodes to be used with TCPDF.
|
||||
* @package com.tecnick.tcpdf
|
||||
* @abstract Functions for generating string representation of 2D barcodes.
|
||||
* @author Nicola Asuni
|
||||
* @copyright 2008-2009 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
|
||||
* @link http://www.tcpdf.org
|
||||
* @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
* @version 1.0.000
|
||||
*/
|
||||
|
||||
/**
|
||||
* PHP class to creates array representations for 2D barcodes to be used with TCPDF (http://www.tcpdf.org).<br>
|
||||
* @name TCPDFBarcode
|
||||
* @package com.tecnick.tcpdf
|
||||
* @version 1.0.000
|
||||
* @author Nicola Asuni
|
||||
* @link http://www.tcpdf.org
|
||||
* @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
*/
|
||||
class TCPDF2DBarcode {
|
||||
|
||||
/**
|
||||
* @var array representation of barcode.
|
||||
* @access protected
|
||||
*/
|
||||
protected $barcode_array;
|
||||
|
||||
/**
|
||||
* This is the class constructor.
|
||||
* Return an array representations for 2D barcodes:<ul>
|
||||
* <li>$arrcode['code'] code to be printed on text label</li>
|
||||
* <li>$arrcode['num_rows'] required number of rows</li>
|
||||
* <li>$arrcode['num_cols'] required number of columns</li>
|
||||
* <li>$arrcode['bcode'][$r][$c] value of the cell is $r row and $c column (0 = transparent, 1 = black)</li></ul>
|
||||
* @param string $code code to print
|
||||
* @param string $type type of barcode: <ul><li>TEST</li><li>...TO BE IMPLEMENTED</li></ul>
|
||||
*/
|
||||
public function __construct($code, $type) {
|
||||
$this->setBarcode($code, $type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an array representations of barcode.
|
||||
* @return array
|
||||
*/
|
||||
public function getBarcodeArray() {
|
||||
return $this->barcode_array;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the barcode.
|
||||
* @param string $code code to print
|
||||
* @param string $type type of barcode: <ul><li>TEST</li><li>...TO BE IMPLEMENTED</li></ul>
|
||||
* @return array
|
||||
*/
|
||||
public function setBarcode($code, $type) {
|
||||
$mode = explode(',', $type);
|
||||
switch (strtoupper($mode[0])) {
|
||||
case 'TEST': { // TEST MODE
|
||||
$this->barcode_array['num_rows'] = 5;
|
||||
$this->barcode_array['num_cols'] = 15;
|
||||
$this->barcode_array['bcode'] = array(
|
||||
array(1,1,1,0,1,1,1,0,1,1,1,0,1,1,1),
|
||||
array(0,1,0,0,1,0,0,0,1,0,0,0,0,1,0),
|
||||
array(0,1,0,0,1,1,0,0,1,1,1,0,0,1,0),
|
||||
array(0,1,0,0,1,0,0,0,0,0,1,0,0,1,0),
|
||||
array(0,1,0,0,1,1,1,0,1,1,1,0,0,1,0)
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
// ... Add here real 2D barcodes ...
|
||||
|
||||
default: {
|
||||
$this->barcode_array = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
} // end of class
|
||||
|
||||
//============================================================+
|
||||
// END OF FILE
|
||||
//============================================================+
|
||||
?>
|
504
includes/tcpdf/LICENSE.TXT
Normal file
504
includes/tcpdf/LICENSE.TXT
Normal file
@ -0,0 +1,504 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
|
||||
|
1978
includes/tcpdf/barcodes.php
Normal file
1978
includes/tcpdf/barcodes.php
Normal file
File diff suppressed because it is too large
Load Diff
50
includes/tcpdf/config/lang/eng.php
Normal file
50
includes/tcpdf/config/lang/eng.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
//============================================================+
|
||||
// File name : eng.php
|
||||
// Begin : 2004-03-03
|
||||
// Last Update : 2009-09-30
|
||||
//
|
||||
// Description : Language module for TCPDF
|
||||
// (contains translated texts)
|
||||
//
|
||||
// Author: Nicola Asuni
|
||||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
||||
/**
|
||||
* TCPDF language file (contains translated texts).
|
||||
* @package com.tecnick.tcpdf
|
||||
* @abstract TCPDF language file.
|
||||
* @author Nicola Asuni
|
||||
* @copyright 2004-2009 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
|
||||
* @link http://tcpdf.sourceforge.net
|
||||
* @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
* @since 2004-03-03
|
||||
*/
|
||||
|
||||
// ENGLISH
|
||||
|
||||
global $l;
|
||||
$l = Array();
|
||||
|
||||
// PAGE META DESCRIPTORS --------------------------------------
|
||||
|
||||
$l['a_meta_charset'] = 'UTF-8';
|
||||
$l['a_meta_dir'] = 'ltr';
|
||||
$l['a_meta_language'] = 'en';
|
||||
|
||||
// TRANSLATIONS --------------------------------------
|
||||
$l['w_page'] = 'page';
|
||||
|
||||
//============================================================+
|
||||
// END OF FILE
|
||||
//============================================================+
|
||||
?>
|
50
includes/tcpdf/config/lang/ita.php
Normal file
50
includes/tcpdf/config/lang/ita.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
//============================================================+
|
||||
// File name : ita.php
|
||||
// Begin : 2004-03-03
|
||||
// Last Update : 2009-09-30
|
||||
//
|
||||
// Description : Language module for TCPDF
|
||||
// (contains translated texts)
|
||||
//
|
||||
// Author: Nicola Asuni
|
||||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
||||
/**
|
||||
* TCPDF language file (contains translated texts).
|
||||
* @package com.tecnick.tcpdf
|
||||
* @abstract TCPDF language file.
|
||||
* @author Nicola Asuni
|
||||
* @copyright 2004-2009 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
|
||||
* @link http://tcpdf.sourceforge.net
|
||||
* @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
* @since 2004-03-03
|
||||
*/
|
||||
|
||||
// ENGLISH
|
||||
|
||||
global $l;
|
||||
$l = Array();
|
||||
|
||||
// PAGE META DESCRIPTORS --------------------------------------
|
||||
|
||||
$l['a_meta_charset'] = 'UTF-8';
|
||||
$l['a_meta_dir'] = 'ltr';
|
||||
$l['a_meta_language'] = 'it';
|
||||
|
||||
// TRANSLATIONS --------------------------------------
|
||||
$l['w_page'] = 'pagina';
|
||||
|
||||
//============================================================+
|
||||
// END OF FILE
|
||||
//============================================================+
|
||||
?>
|
232
includes/tcpdf/config/tcpdf_config.php
Normal file
232
includes/tcpdf/config/tcpdf_config.php
Normal file
@ -0,0 +1,232 @@
|
||||
<?php
|
||||
//============================================================+
|
||||
// File name : tcpdf_config.php
|
||||
// Begin : 2004-06-11
|
||||
// Last Update : 2009-09-30
|
||||
//
|
||||
// Description : Configuration file for TCPDF.
|
||||
//
|
||||
// Author: Nicola Asuni
|
||||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
||||
/**
|
||||
* Configuration file for TCPDF.
|
||||
* @author Nicola Asuni
|
||||
* @copyright 2004-2008 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
|
||||
* @package com.tecnick.tcpdf
|
||||
* @version 4.0.014
|
||||
* @link http://tcpdf.sourceforge.net
|
||||
* @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
* @since 2004-10-27
|
||||
*/
|
||||
|
||||
// If you define the constant K_TCPDF_EXTERNAL_CONFIG, the following settings will be ignored.
|
||||
|
||||
if (!defined('K_TCPDF_EXTERNAL_CONFIG')) {
|
||||
|
||||
// DOCUMENT_ROOT fix for IIS Webserver
|
||||
if ((!isset($_SERVER['DOCUMENT_ROOT'])) OR (empty($_SERVER['DOCUMENT_ROOT']))) {
|
||||
if(isset($_SERVER['SCRIPT_FILENAME'])) {
|
||||
$_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF'])));
|
||||
} elseif(isset($_SERVER['PATH_TRANSLATED'])) {
|
||||
$_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0-strlen($_SERVER['PHP_SELF'])));
|
||||
} else {
|
||||
// define here your DOCUMENT_ROOT path if the previous fails
|
||||
$_SERVER['DOCUMENT_ROOT'] = '/var/www';
|
||||
}
|
||||
}
|
||||
|
||||
// Automatic calculation for the following K_PATH_MAIN constant
|
||||
$k_path_main = str_replace( '\\', '/', realpath(substr(dirname(__FILE__), 0, 0-strlen('config'))));
|
||||
if (substr($k_path_main, -1) != '/') {
|
||||
$k_path_main .= '/';
|
||||
}
|
||||
|
||||
/**
|
||||
* Installation path (/var/www/tcpdf/).
|
||||
* By default it is automatically calculated but you can also set it as a fixed string to improve performances.
|
||||
*/
|
||||
define ('K_PATH_MAIN', $k_path_main);
|
||||
|
||||
// Automatic calculation for the following K_PATH_URL constant
|
||||
if (isset($_SERVER['HTTP_HOST']) AND (!empty($_SERVER['HTTP_HOST']))) {
|
||||
if(isset($_SERVER['HTTPS']) AND (!empty($_SERVER['HTTPS'])) AND strtolower($_SERVER['HTTPS'])!='off') {
|
||||
$k_path_url = 'https://';
|
||||
} else {
|
||||
$k_path_url = 'http://';
|
||||
}
|
||||
$k_path_url .= $_SERVER['HTTP_HOST'];
|
||||
$k_path_url .= str_replace( '\\', '/', substr($_SERVER['PHP_SELF'], 0, -24));
|
||||
}
|
||||
|
||||
/**
|
||||
* URL path to tcpdf installation folder (http://localhost/tcpdf/).
|
||||
* By default it is automatically calculated but you can also set it as a fixed string to improve performances.
|
||||
*/
|
||||
define ('K_PATH_URL', $k_path_url);
|
||||
|
||||
/**
|
||||
* path for PDF fonts
|
||||
* use K_PATH_MAIN.'fonts/old/' for old non-UTF8 fonts
|
||||
*/
|
||||
define ('K_PATH_FONTS', K_PATH_MAIN.'fonts/');
|
||||
|
||||
/**
|
||||
* cache directory for temporary files (full path)
|
||||
*/
|
||||
define ('K_PATH_CACHE', K_PATH_MAIN.'cache/');
|
||||
|
||||
/**
|
||||
* cache directory for temporary files (url path)
|
||||
*/
|
||||
define ('K_PATH_URL_CACHE', K_PATH_URL.'cache/');
|
||||
|
||||
/**
|
||||
*images directory
|
||||
*/
|
||||
define ('K_PATH_IMAGES', K_PATH_MAIN.'images/');
|
||||
|
||||
/**
|
||||
* blank image
|
||||
*/
|
||||
define ('K_BLANK_IMAGE', K_PATH_IMAGES.'_blank.png');
|
||||
|
||||
/**
|
||||
* page format
|
||||
*/
|
||||
define ('PDF_PAGE_FORMAT', 'A4');
|
||||
|
||||
/**
|
||||
* page orientation (P=portrait, L=landscape)
|
||||
*/
|
||||
define ('PDF_PAGE_ORIENTATION', 'P');
|
||||
|
||||
/**
|
||||
* document creator
|
||||
*/
|
||||
define ('PDF_CREATOR', 'TCPDF');
|
||||
|
||||
/**
|
||||
* document author
|
||||
*/
|
||||
define ('PDF_AUTHOR', 'TCPDF');
|
||||
|
||||
/**
|
||||
* header title
|
||||
*/
|
||||
define ('PDF_HEADER_TITLE', 'TCPDF Example');
|
||||
|
||||
/**
|
||||
* header description string
|
||||
*/
|
||||
define ('PDF_HEADER_STRING', "by Nicola Asuni - Tecnick.com\nwww.tcpdf.org");
|
||||
|
||||
/**
|
||||
* image logo
|
||||
*/
|
||||
define ('PDF_HEADER_LOGO', 'tcpdf_logo.jpg');
|
||||
|
||||
/**
|
||||
* header logo image width [mm]
|
||||
*/
|
||||
define ('PDF_HEADER_LOGO_WIDTH', 30);
|
||||
|
||||
/**
|
||||
* document unit of measure [pt=point, mm=millimeter, cm=centimeter, in=inch]
|
||||
*/
|
||||
define ('PDF_UNIT', 'mm');
|
||||
|
||||
/**
|
||||
* header margin
|
||||
*/
|
||||
define ('PDF_MARGIN_HEADER', 5);
|
||||
|
||||
/**
|
||||
* footer margin
|
||||
*/
|
||||
define ('PDF_MARGIN_FOOTER', 10);
|
||||
|
||||
/**
|
||||
* top margin
|
||||
*/
|
||||
define ('PDF_MARGIN_TOP', 27);
|
||||
|
||||
/**
|
||||
* bottom margin
|
||||
*/
|
||||
define ('PDF_MARGIN_BOTTOM', 25);
|
||||
|
||||
/**
|
||||
* left margin
|
||||
*/
|
||||
define ('PDF_MARGIN_LEFT', 15);
|
||||
|
||||
/**
|
||||
* right margin
|
||||
*/
|
||||
define ('PDF_MARGIN_RIGHT', 15);
|
||||
|
||||
/**
|
||||
* default main font name
|
||||
*/
|
||||
define ('PDF_FONT_NAME_MAIN', 'helvetica');
|
||||
|
||||
/**
|
||||
* default main font size
|
||||
*/
|
||||
define ('PDF_FONT_SIZE_MAIN', 10);
|
||||
|
||||
/**
|
||||
* default data font name
|
||||
*/
|
||||
define ('PDF_FONT_NAME_DATA', 'helvetica');
|
||||
|
||||
/**
|
||||
* default data font size
|
||||
*/
|
||||
define ('PDF_FONT_SIZE_DATA', 8);
|
||||
|
||||
/**
|
||||
* default monospaced font name
|
||||
*/
|
||||
define ('PDF_FONT_MONOSPACED', 'courier');
|
||||
|
||||
/**
|
||||
* ratio used to adjust the conversion of pixels to user units
|
||||
*/
|
||||
define ('PDF_IMAGE_SCALE_RATIO', 1);
|
||||
|
||||
/**
|
||||
* magnification factor for titles
|
||||
*/
|
||||
define('HEAD_MAGNIFICATION', 1.1);
|
||||
|
||||
/**
|
||||
* height of cell repect font height
|
||||
*/
|
||||
define('K_CELL_HEIGHT_RATIO', 1.25);
|
||||
|
||||
/**
|
||||
* title magnification respect main font size
|
||||
*/
|
||||
define('K_TITLE_MAGNIFICATION', 1.3);
|
||||
|
||||
/**
|
||||
* reduction factor for small font
|
||||
*/
|
||||
define('K_SMALL_RATIO', 2/3);
|
||||
}
|
||||
|
||||
//============================================================+
|
||||
// END OF FILE
|
||||
//============================================================+
|
||||
?>
|
227
includes/tcpdf/config/tcpdf_config_alt.php
Normal file
227
includes/tcpdf/config/tcpdf_config_alt.php
Normal file
@ -0,0 +1,227 @@
|
||||
<?php
|
||||
//============================================================+
|
||||
// File name : tcpdf_config.php
|
||||
// Begin : 2004-06-11
|
||||
// Last Update : 2009-09-30
|
||||
//
|
||||
// Description : Alternative configuration file for TCPDF.
|
||||
//
|
||||
// Author: Nicola Asuni
|
||||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
||||
/**
|
||||
* Alternative configuration file for TCPDF.
|
||||
* @author Nicola Asuni
|
||||
* @copyright 2004-2008 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
|
||||
* @package com.tecnick.tcpdf
|
||||
* @version 4.0.014
|
||||
* @link http://tcpdf.sourceforge.net
|
||||
* @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
* @since 2004-10-27
|
||||
*/
|
||||
|
||||
// DOCUMENT_ROOT fix for IIS Webserver
|
||||
if ((!isset($_SERVER['DOCUMENT_ROOT'])) OR (empty($_SERVER['DOCUMENT_ROOT']))) {
|
||||
if(isset($_SERVER['SCRIPT_FILENAME'])) {
|
||||
$_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF'])));
|
||||
} elseif(isset($_SERVER['PATH_TRANSLATED'])) {
|
||||
$_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0-strlen($_SERVER['PHP_SELF'])));
|
||||
} else {
|
||||
// define here your DOCUMENT_ROOT path if the previous fails
|
||||
$_SERVER['DOCUMENT_ROOT'] = '/var/www';
|
||||
}
|
||||
}
|
||||
|
||||
// Automatic calculation for the following K_PATH_MAIN constant
|
||||
$k_path_main = str_replace( '\\', '/', realpath(substr(dirname(__FILE__), 0, 0-strlen('config'))));
|
||||
if (substr($k_path_main, -1) != '/') {
|
||||
$k_path_main .= '/';
|
||||
}
|
||||
|
||||
/**
|
||||
* Installation path (/var/www/tcpdf/).
|
||||
* By default it is automatically calculated but you can also set it as a fixed string to improve performances.
|
||||
*/
|
||||
define ('K_PATH_MAIN', $k_path_main);
|
||||
|
||||
// Automatic calculation for the following K_PATH_URL constant
|
||||
if (isset($_SERVER['HTTP_HOST']) AND (!empty($_SERVER['HTTP_HOST']))) {
|
||||
if(isset($_SERVER['HTTPS']) AND (!empty($_SERVER['HTTPS'])) AND strtolower($_SERVER['HTTPS'])!='off') {
|
||||
$k_path_url = 'https://';
|
||||
} else {
|
||||
$k_path_url = 'http://';
|
||||
}
|
||||
$k_path_url .= $_SERVER['HTTP_HOST'];
|
||||
$k_path_url .= str_replace( '\\', '/', substr($_SERVER['PHP_SELF'], 0, -24));
|
||||
}
|
||||
|
||||
/**
|
||||
* URL path to tcpdf installation folder (http://localhost/tcpdf/).
|
||||
* By default it is automatically calculated but you can also set it as a fixed string to improve performances..
|
||||
*/
|
||||
define ('K_PATH_URL', $k_path_url);
|
||||
|
||||
/**
|
||||
* path for PDF fonts
|
||||
* use K_PATH_MAIN.'fonts/old/' for old non-UTF8 fonts
|
||||
*/
|
||||
define ('K_PATH_FONTS', K_PATH_MAIN.'fonts/');
|
||||
|
||||
/**
|
||||
* cache directory for temporary files (full path)
|
||||
*/
|
||||
define ('K_PATH_CACHE', K_PATH_MAIN.'cache/');
|
||||
|
||||
/**
|
||||
* cache directory for temporary files (url path)
|
||||
*/
|
||||
define ('K_PATH_URL_CACHE', K_PATH_URL.'cache/');
|
||||
|
||||
/**
|
||||
*images directory
|
||||
*/
|
||||
define ('K_PATH_IMAGES', K_PATH_MAIN.'images/');
|
||||
|
||||
/**
|
||||
* blank image
|
||||
*/
|
||||
define ('K_BLANK_IMAGE', K_PATH_IMAGES.'_blank.png');
|
||||
|
||||
/**
|
||||
* page format
|
||||
*/
|
||||
define ('PDF_PAGE_FORMAT', 'A4');
|
||||
|
||||
/**
|
||||
* page orientation (P=portrait, L=landscape)
|
||||
*/
|
||||
define ('PDF_PAGE_ORIENTATION', 'P');
|
||||
|
||||
/**
|
||||
* document creator
|
||||
*/
|
||||
define ('PDF_CREATOR', 'TCPDF');
|
||||
|
||||
/**
|
||||
* document author
|
||||
*/
|
||||
define ('PDF_AUTHOR', 'TCPDF');
|
||||
|
||||
/**
|
||||
* header title
|
||||
*/
|
||||
define ('PDF_HEADER_TITLE', 'TCPDF Example');
|
||||
|
||||
/**
|
||||
* header description string
|
||||
*/
|
||||
define ('PDF_HEADER_STRING', "by Nicola Asuni - Tecnick.com\nwww.tcpdf.org");
|
||||
|
||||
/**
|
||||
* image logo
|
||||
*/
|
||||
define ('PDF_HEADER_LOGO', 'tcpdf_logo.jpg');
|
||||
|
||||
/**
|
||||
* header logo image width [mm]
|
||||
*/
|
||||
define ('PDF_HEADER_LOGO_WIDTH', 30);
|
||||
|
||||
/**
|
||||
* document unit of measure [pt=point, mm=millimeter, cm=centimeter, in=inch]
|
||||
*/
|
||||
define ('PDF_UNIT', 'mm');
|
||||
|
||||
/**
|
||||
* header margin
|
||||
*/
|
||||
define ('PDF_MARGIN_HEADER', 5);
|
||||
|
||||
/**
|
||||
* footer margin
|
||||
*/
|
||||
define ('PDF_MARGIN_FOOTER', 10);
|
||||
|
||||
/**
|
||||
* top margin
|
||||
*/
|
||||
define ('PDF_MARGIN_TOP', 27);
|
||||
|
||||
/**
|
||||
* bottom margin
|
||||
*/
|
||||
define ('PDF_MARGIN_BOTTOM', 25);
|
||||
|
||||
/**
|
||||
* left margin
|
||||
*/
|
||||
define ('PDF_MARGIN_LEFT', 15);
|
||||
|
||||
/**
|
||||
* right margin
|
||||
*/
|
||||
define ('PDF_MARGIN_RIGHT', 15);
|
||||
|
||||
/**
|
||||
* default main font name
|
||||
*/
|
||||
define ('PDF_FONT_NAME_MAIN', 'helvetica');
|
||||
|
||||
/**
|
||||
* default main font size
|
||||
*/
|
||||
define ('PDF_FONT_SIZE_MAIN', 10);
|
||||
|
||||
/**
|
||||
* default data font name
|
||||
*/
|
||||
define ('PDF_FONT_NAME_DATA', 'helvetica');
|
||||
|
||||
/**
|
||||
* default data font size
|
||||
*/
|
||||
define ('PDF_FONT_SIZE_DATA', 8);
|
||||
|
||||
/**
|
||||
* default monospaced font name
|
||||
*/
|
||||
define ('PDF_FONT_MONOSPACED', 'courier');
|
||||
|
||||
/**
|
||||
* ratio used to adjust the conversion of pixels to user units
|
||||
*/
|
||||
define ('PDF_IMAGE_SCALE_RATIO', 1);
|
||||
|
||||
/**
|
||||
* magnification factor for titles
|
||||
*/
|
||||
define('HEAD_MAGNIFICATION', 1.1);
|
||||
|
||||
/**
|
||||
* height of cell repect font height
|
||||
*/
|
||||
define('K_CELL_HEIGHT_RATIO', 1.25);
|
||||
|
||||
/**
|
||||
* title magnification respect main font size
|
||||
*/
|
||||
define('K_TITLE_MAGNIFICATION', 1.3);
|
||||
|
||||
/**
|
||||
* reduction factor for small font
|
||||
*/
|
||||
define('K_SMALL_RATIO', 2/3);
|
||||
|
||||
//============================================================+
|
||||
// END OF FILE
|
||||
//============================================================+
|
||||
?>
|
3
includes/tcpdf/fonts/README.TXT
Executable file
3
includes/tcpdf/fonts/README.TXT
Executable file
@ -0,0 +1,3 @@
|
||||
This folder contains fonts descriptions for TCPDF.
|
||||
All fonts names must be in lowercase.
|
||||
Please read the documentation on subfolders for copyright, license and other information.
|
BIN
includes/tcpdf/fonts/ZarBold.ctg.z
Executable file
BIN
includes/tcpdf/fonts/ZarBold.ctg.z
Executable file
Binary file not shown.
BIN
includes/tcpdf/fonts/ZarBold.z
Executable file
BIN
includes/tcpdf/fonts/ZarBold.z
Executable file
Binary file not shown.
BIN
includes/tcpdf/fonts/almohanad.ctg.z
Executable file
BIN
includes/tcpdf/fonts/almohanad.ctg.z
Executable file
Binary file not shown.
102
includes/tcpdf/fonts/almohanad.php
Executable file
102
includes/tcpdf/fonts/almohanad.php
Executable file
@ -0,0 +1,102 @@
|
||||
<?php
|
||||
$type='TrueTypeUnicode';
|
||||
$name='AlMohanad';
|
||||
$desc=array('Ascent'=>1093,'Descent'=>-509,'CapHeight'=>1093,'Flags'=>32,'FontBBox'=>'[-278 -507 1124 1093]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>600);
|
||||
$up=-136;
|
||||
$ut=64;
|
||||
$dw=600;
|
||||
$cw=array(
|
||||
0=>0,32=>139,33=>185,34=>308,35=>278,36=>278,37=>556,38=>463,39=>154,40=>185,41=>185,42=>278,43=>317,44=>139,45=>185,46=>139,
|
||||
47=>154,48=>278,49=>278,50=>278,51=>278,52=>278,53=>278,54=>278,55=>278,56=>278,57=>278,58=>185,59=>185,60=>317,61=>317,62=>317,
|
||||
63=>278,64=>517,65=>401,66=>371,67=>401,68=>402,69=>371,70=>339,71=>432,72=>430,73=>214,74=>278,75=>424,76=>369,77=>524,78=>401,
|
||||
79=>432,80=>339,81=>432,82=>396,83=>309,84=>371,85=>401,86=>401,87=>556,88=>401,89=>401,90=>371,91=>185,92=>154,93=>185,94=>323,
|
||||
95=>278,96=>185,97=>278,98=>309,99=>247,100=>309,101=>247,102=>185,103=>278,104=>309,105=>154,106=>185,107=>309,108=>154,109=>463,110=>309,
|
||||
111=>278,112=>309,113=>309,114=>247,115=>216,116=>185,117=>309,118=>278,119=>401,120=>278,121=>278,122=>247,123=>219,124=>122,125=>219,126=>289,
|
||||
8364=>278,1027=>339,8218=>185,1107=>254,8222=>278,8230=>556,8224=>278,8225=>278,710=>185,8240=>556,352=>309,8249=>185,338=>556,1036=>432,381=>371,1039=>432,
|
||||
8216=>185,8217=>185,8220=>278,8221=>278,8226=>194,8211=>278,8212=>556,732=>185,8482=>556,353=>216,8250=>185,339=>401,1116=>297,382=>247,376=>401,161=>185,
|
||||
162=>278,163=>278,164=>278,165=>278,166=>122,167=>278,168=>185,169=>415,170=>167,171=>278,172=>317,174=>415,175=>185,176=>222,177=>317,178=>167,
|
||||
179=>167,180=>185,181=>309,182=>300,183=>139,184=>185,185=>167,186=>183,187=>278,188=>417,189=>417,190=>417,191=>278,192=>401,193=>401,194=>401,
|
||||
195=>401,196=>401,197=>401,198=>556,199=>401,200=>371,201=>371,202=>371,203=>371,204=>216,205=>216,206=>216,207=>216,208=>401,209=>401,210=>432,
|
||||
211=>432,212=>432,213=>432,214=>432,215=>317,216=>432,217=>401,218=>401,219=>401,220=>401,221=>401,222=>339,223=>309,224=>278,225=>278,226=>278,
|
||||
227=>278,228=>278,229=>278,230=>401,231=>247,232=>247,233=>247,234=>247,235=>247,236=>154,237=>154,238=>154,239=>154,240=>278,241=>309,242=>278,
|
||||
243=>278,244=>278,245=>278,246=>278,247=>317,248=>278,249=>309,250=>309,251=>309,252=>309,253=>278,254=>309,255=>278,256=>401,257=>278,258=>401,
|
||||
259=>278,260=>401,261=>278,262=>401,263=>247,264=>401,265=>247,266=>401,267=>247,268=>401,269=>247,270=>401,271=>309,272=>401,273=>309,274=>371,
|
||||
275=>247,276=>371,277=>247,278=>371,279=>247,280=>371,281=>247,282=>371,283=>247,284=>432,285=>278,286=>432,287=>278,288=>432,289=>278,290=>432,
|
||||
291=>278,292=>432,293=>309,294=>432,295=>309,296=>216,297=>154,298=>216,299=>154,300=>216,301=>154,302=>216,303=>154,304=>216,305=>154,306=>490,
|
||||
307=>270,308=>278,309=>185,310=>432,311=>309,312=>297,313=>371,314=>154,315=>371,316=>154,317=>371,318=>154,319=>371,320=>293,321=>371,322=>154,
|
||||
323=>401,324=>309,325=>401,326=>309,327=>401,328=>309,329=>391,330=>401,331=>309,332=>432,333=>278,334=>432,335=>278,336=>432,337=>278,340=>401,
|
||||
341=>247,342=>401,343=>247,344=>401,345=>247,346=>309,347=>216,348=>309,349=>216,350=>309,351=>216,354=>371,355=>185,356=>371,357=>185,358=>371,
|
||||
359=>185,360=>401,361=>309,362=>401,363=>309,364=>401,365=>309,366=>401,367=>309,368=>401,369=>309,370=>401,371=>309,372=>556,373=>401,374=>401,
|
||||
375=>278,377=>371,378=>247,379=>371,380=>247,383=>185,450=>317,477=>247,484=>432,485=>278,536=>309,537=>216,538=>371,539=>185,658=>282,711=>185,
|
||||
728=>185,729=>185,730=>185,731=>185,733=>185,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,
|
||||
779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,
|
||||
795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,
|
||||
811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,
|
||||
827=>0,828=>0,829=>0,830=>0,831=>0,864=>0,865=>0,884=>111,885=>111,890=>0,894=>185,900=>100,901=>183,902=>401,903=>139,904=>451,
|
||||
905=>532,906=>316,908=>451,910=>501,911=>451,912=>183,913=>401,914=>371,915=>339,916=>422,917=>371,918=>371,919=>432,920=>432,921=>216,922=>432,
|
||||
923=>401,924=>524,925=>401,926=>361,927=>432,928=>451,929=>339,931=>361,932=>371,933=>401,934=>482,935=>401,936=>482,937=>451,938=>0,939=>401,
|
||||
940=>336,941=>244,942=>336,943=>183,944=>306,945=>336,946=>306,947=>306,948=>306,949=>244,950=>275,951=>336,952=>306,953=>183,954=>338,955=>275,
|
||||
956=>336,957=>275,958=>275,959=>306,960=>336,961=>306,962=>244,963=>306,964=>244,965=>306,966=>367,967=>275,968=>397,969=>397,970=>183,971=>306,
|
||||
972=>306,973=>306,974=>397,976=>306,977=>306,978=>401,979=>401,980=>401,981=>367,982=>336,986=>283,987=>237,988=>339,989=>261,1024=>371,1025=>371,
|
||||
1026=>371,1028=>401,1029=>309,1030=>216,1031=>216,1032=>278,1033=>573,1034=>573,1035=>449,1037=>432,1038=>401,1040=>401,1041=>371,1042=>371,1043=>328,1044=>432,
|
||||
1045=>371,1046=>615,1047=>313,1048=>429,1049=>429,1050=>424,1051=>432,1052=>524,1053=>432,1054=>432,1055=>430,1056=>339,1057=>401,1058=>371,1059=>401,1060=>444,
|
||||
1061=>401,1062=>429,1063=>432,1064=>618,1065=>618,1066=>482,1067=>539,1068=>350,1069=>401,1070=>619,1071=>408,1072=>278,1073=>278,1074=>279,1075=>246,1076=>309,
|
||||
1077=>247,1078=>417,1079=>227,1080=>319,1081=>319,1082=>297,1083=>302,1084=>376,1085=>309,1086=>278,1087=>309,1088=>309,1089=>247,1090=>274,1091=>278,1092=>458,
|
||||
1093=>278,1094=>309,1095=>309,1096=>454,1097=>454,1098=>340,1099=>423,1100=>284,1101=>247,1102=>439,1103=>284,1104=>247,1105=>247,1106=>309,1108=>247,1109=>216,
|
||||
1110=>154,1111=>154,1112=>185,1113=>440,1114=>437,1115=>309,1117=>309,1118=>278,1119=>309,1164=>339,1165=>284,1166=>339,1167=>309,1168=>339,1169=>254,1170=>339,
|
||||
1171=>254,1172=>339,1173=>254,1174=>615,1175=>417,1176=>322,1177=>216,1178=>432,1179=>297,1180=>432,1181=>297,1182=>432,1183=>297,1184=>537,1185=>352,1186=>432,
|
||||
1187=>309,1188=>563,1189=>408,1190=>432,1191=>461,1192=>401,1193=>247,1194=>401,1195=>247,1196=>371,1197=>274,1198=>401,1199=>278,1200=>401,1201=>278,1202=>401,
|
||||
1203=>278,1204=>581,1205=>432,1206=>432,1207=>309,1208=>432,1209=>309,1210=>432,1211=>309,1212=>367,1213=>247,1214=>367,1215=>247,1216=>216,1217=>615,1218=>417,
|
||||
1219=>432,1220=>297,1223=>432,1224=>309,1227=>432,1228=>309,1232=>401,1233=>278,1234=>401,1235=>278,1236=>556,1237=>401,1238=>371,1239=>247,1240=>367,1241=>247,
|
||||
1242=>367,1243=>247,1244=>615,1245=>417,1246=>313,1247=>227,1248=>322,1249=>216,1250=>432,1251=>309,1252=>432,1253=>309,1254=>432,1255=>278,1256=>432,1257=>278,
|
||||
1258=>432,1259=>278,1260=>401,1261=>247,1262=>401,1263=>278,1264=>401,1265=>278,1266=>401,1267=>278,1268=>432,1269=>309,1272=>548,1273=>423,1488=>280,1489=>280,
|
||||
1490=>174,1491=>280,1492=>280,1493=>158,1494=>158,1495=>280,1496=>280,1497=>158,1498=>287,1499=>280,1500=>280,1501=>280,1502=>280,1503=>156,1504=>158,1505=>280,
|
||||
1506=>280,1507=>292,1508=>280,1509=>273,1510=>280,1511=>305,1512=>285,1513=>299,1514=>280,1548=>195,1563=>246,1567=>340,1569=>392,1570=>306,1571=>247,1572=>447,
|
||||
1573=>247,1574=>602,1575=>192,1576=>635,1577=>369,1578=>635,1579=>635,1580=>548,1581=>1173,1582=>548,1583=>363,1584=>363,1585=>439,1586=>442,1587=>875,1588=>875,
|
||||
1589=>1061,1590=>1061,1591=>811,1592=>811,1593=>549,1594=>547,1600=>389,1601=>755,1602=>574,1603=>717,1604=>555,1605=>423,1606=>532,1607=>371,1608=>454,1609=>633,
|
||||
1610=>643,1611=>-19,1612=>-26,1613=>-20,1614=>-19,1615=>-18,1616=>-19,1617=>-19,1618=>-15,1632=>383,1633=>383,1634=>383,1635=>383,1636=>383,1637=>383,1638=>383,
|
||||
1639=>383,1640=>383,1641=>383,1642=>383,1645=>398,7936=>336,7937=>336,7938=>336,7939=>336,7940=>336,7941=>336,7942=>336,7943=>336,7944=>401,7945=>401,7946=>401,
|
||||
7947=>401,7948=>401,7949=>401,7950=>401,7951=>401,7952=>244,7953=>244,7954=>244,7955=>244,7956=>244,7957=>244,7960=>371,7961=>371,7962=>371,7963=>371,7964=>371,
|
||||
7965=>371,7968=>336,7969=>336,7970=>336,7971=>336,7972=>336,7973=>336,7974=>336,7975=>336,7976=>432,7977=>432,7978=>432,7979=>432,7980=>432,7981=>432,7982=>432,
|
||||
7983=>432,7984=>183,7985=>183,7986=>183,7987=>183,7988=>183,7989=>183,7990=>183,7991=>183,7992=>216,7993=>216,7994=>216,7995=>216,7996=>216,7997=>216,7998=>216,
|
||||
7999=>216,8000=>306,8001=>306,8002=>306,8003=>306,8004=>306,8005=>306,8008=>432,8009=>432,8010=>432,8011=>432,8012=>432,8013=>432,8016=>306,8017=>306,8018=>306,
|
||||
8019=>306,8020=>306,8021=>306,8022=>306,8023=>306,8025=>401,8027=>401,8029=>401,8031=>401,8032=>397,8033=>397,8034=>397,8035=>397,8036=>397,8037=>397,8038=>397,
|
||||
8039=>397,8040=>451,8041=>451,8042=>451,8043=>451,8044=>451,8045=>451,8046=>451,8047=>451,8048=>336,8049=>336,8050=>244,8051=>244,8052=>336,8053=>336,8054=>183,
|
||||
8055=>183,8056=>306,8057=>306,8058=>306,8059=>306,8060=>397,8061=>397,8064=>336,8065=>336,8066=>336,8067=>336,8068=>336,8069=>336,8070=>336,8071=>336,8072=>401,
|
||||
8073=>401,8074=>401,8075=>401,8076=>401,8077=>401,8078=>401,8079=>401,8080=>336,8081=>336,8082=>336,8083=>336,8084=>336,8085=>336,8086=>336,8087=>336,8088=>432,
|
||||
8089=>432,8090=>432,8091=>432,8092=>432,8093=>432,8094=>432,8095=>432,8096=>397,8097=>397,8098=>397,8099=>397,8100=>397,8101=>397,8102=>397,8103=>397,8104=>451,
|
||||
8105=>451,8106=>451,8107=>451,8108=>451,8109=>451,8110=>451,8111=>451,8112=>336,8113=>336,8114=>336,8115=>336,8116=>336,8118=>336,8119=>336,8120=>401,8121=>401,
|
||||
8122=>401,8123=>401,8124=>401,8125=>278,8126=>0,8127=>278,8128=>278,8129=>306,8130=>336,8131=>336,8132=>336,8134=>336,8135=>336,8136=>371,8137=>371,8138=>432,
|
||||
8139=>432,8140=>432,8141=>278,8142=>278,8143=>278,8144=>183,8145=>183,8146=>183,8147=>183,8150=>183,8151=>183,8152=>216,8153=>216,8154=>216,8155=>216,8157=>278,
|
||||
8158=>278,8159=>278,8160=>306,8161=>306,8162=>306,8163=>306,8164=>306,8165=>306,8166=>306,8167=>306,8168=>401,8169=>401,8170=>401,8171=>401,8172=>339,8173=>306,
|
||||
8174=>306,8175=>278,8178=>397,8179=>397,8180=>397,8182=>397,8183=>397,8184=>432,8185=>432,8186=>451,8187=>451,8188=>451,8189=>278,8190=>278,8208=>185,8209=>185,
|
||||
8219=>185,8223=>278,8227=>311,8241=>1011,8248=>261,8251=>404,8253=>386,8255=>529,8256=>529,8257=>188,8258=>517,8259=>185,8260=>93,8261=>184,8262=>184,8267=>300,
|
||||
8308=>167,8309=>556,8321=>167,8322=>167,8323=>167,8324=>167,8352=>394,8353=>401,8354=>435,8355=>339,8356=>278,8357=>463,8358=>401,8359=>389,8361=>556,8470=>530,
|
||||
8471=>415,8479=>401,8483=>401,8486=>451,8487=>451,8494=>306,8498=>339,8543=>417,8706=>274,8710=>340,8721=>396,8722=>317,8730=>305,8734=>418,8800=>317,8804=>317,
|
||||
8805=>317,9674=>274,12353=>556,12354=>556,12355=>556,12356=>556,12357=>556,12358=>556,12359=>556,12360=>556,12361=>556,12362=>556,12363=>556,12364=>556,12365=>556,12366=>556,
|
||||
12367=>556,12368=>556,12369=>556,12370=>556,12371=>556,12372=>556,12373=>556,12374=>556,12375=>556,12376=>556,12377=>556,12378=>556,12379=>556,12380=>556,12381=>556,12382=>556,
|
||||
12383=>556,12384=>556,12385=>556,12386=>556,12387=>556,12388=>556,12389=>556,12390=>556,12391=>556,12392=>556,12393=>556,12394=>556,12395=>556,12396=>556,12397=>556,12398=>556,
|
||||
12399=>556,12400=>556,12401=>556,12402=>556,12403=>556,12404=>556,12405=>556,12406=>556,12407=>556,12408=>556,12409=>556,12410=>556,12411=>556,12412=>556,12413=>556,12414=>556,
|
||||
12415=>556,12416=>556,12417=>556,12418=>556,12419=>556,12420=>556,12421=>556,12422=>556,12423=>556,12424=>556,12425=>556,12426=>556,12427=>556,12428=>556,12429=>556,12430=>556,
|
||||
12431=>556,12432=>556,12433=>556,12434=>556,12435=>556,12449=>556,12450=>556,12451=>556,12452=>556,12453=>556,12454=>556,12455=>556,12456=>556,12457=>556,12458=>556,12459=>556,
|
||||
12460=>556,12461=>556,12462=>556,12463=>556,12464=>556,12465=>556,12466=>556,12467=>556,12468=>556,12469=>556,12470=>556,12471=>556,12472=>556,12473=>556,12474=>556,12475=>556,
|
||||
12476=>556,12477=>556,12478=>556,12479=>556,12480=>556,12481=>556,12482=>556,12483=>556,12484=>556,12485=>556,12486=>556,12487=>556,12488=>556,12489=>556,12490=>556,12491=>556,
|
||||
12492=>556,12493=>556,12494=>556,12495=>556,12496=>556,12497=>556,12498=>556,12499=>556,12500=>556,12501=>556,12502=>556,12503=>556,12504=>556,12505=>556,12506=>556,12507=>556,
|
||||
12508=>556,12509=>556,12510=>556,12511=>556,12512=>556,12513=>556,12514=>556,12515=>556,12516=>556,12517=>556,12518=>556,12519=>556,12520=>556,12521=>556,12522=>556,12523=>556,
|
||||
12524=>556,12525=>556,12526=>556,12527=>556,12528=>556,12529=>556,12530=>556,12531=>556,12532=>556,12533=>556,12534=>556,63033=>278,63034=>278,63035=>278,63036=>278,63037=>278,
|
||||
63038=>278,63039=>278,63040=>278,63041=>278,63171=>185,63196=>278,64256=>309,64257=>309,64258=>309,64259=>463,64260=>463,64262=>402,64606=>0,64607=>0,64608=>0,64609=>0,
|
||||
64610=>0,64830=>467,64831=>467,65010=>814,65152=>392,65153=>306,65154=>281,65155=>247,65156=>250,65157=>447,65158=>412,65159=>247,65160=>222,65161=>602,65162=>535,65163=>360,
|
||||
65164=>329,65165=>192,65166=>220,65167=>635,65168=>644,65169=>338,65170=>321,65171=>369,65172=>419,65173=>635,65174=>644,65175=>345,65176=>336,65177=>635,65178=>644,65179=>393,
|
||||
65180=>345,65181=>548,65182=>553,65183=>637,65184=>652,65185=>548,65186=>546,65187=>637,65188=>656,65189=>548,65190=>544,65191=>637,65192=>656,65193=>363,65194=>439,65195=>363,
|
||||
65196=>439,65197=>440,65198=>471,65199=>439,65200=>474,65201=>875,65202=>871,65203=>608,65204=>588,65205=>875,65206=>871,65207=>609,65208=>587,65209=>1061,65210=>1033,65211=>794,
|
||||
65212=>758,65213=>1061,65214=>1033,65215=>794,65216=>761,65217=>811,65218=>793,65219=>659,65220=>647,65221=>811,65222=>793,65223=>659,65224=>642,65225=>549,65226=>481,65227=>512,
|
||||
65228=>409,65229=>547,65230=>476,65231=>512,65232=>409,65233=>755,65234=>748,65235=>416,65236=>442,65237=>574,65238=>550,65239=>416,65240=>442,65241=>717,65242=>687,65243=>883,
|
||||
65244=>409,65245=>555,65246=>511,65247=>338,65248=>297,65249=>423,65250=>478,65251=>489,65252=>476,65253=>532,65254=>548,65255=>336,65256=>326,65257=>371,65258=>391,65259=>524,
|
||||
65260=>412,65261=>454,65262=>412,65263=>633,65264=>566,65265=>643,65266=>560,65267=>357,65268=>333,65269=>623,65270=>617,65271=>603,65272=>621,65273=>576,65274=>617,65275=>576,
|
||||
65276=>625);
|
||||
$enc='';
|
||||
$diff='';
|
||||
$file='almohanad.z';
|
||||
$ctg='almohanad.ctg.z';
|
||||
$originalsize=227760;
|
||||
?>
|
BIN
includes/tcpdf/fonts/almohanad.z
Executable file
BIN
includes/tcpdf/fonts/almohanad.z
Executable file
Binary file not shown.
1768
includes/tcpdf/fonts/arialunicid0.php
Executable file
1768
includes/tcpdf/fonts/arialunicid0.php
Executable file
File diff suppressed because it is too large
Load Diff
33
includes/tcpdf/fonts/courier.php
Executable file
33
includes/tcpdf/fonts/courier.php
Executable file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
// core font definition file for TCPDF (www.tcpdf.org)
|
||||
$type='core';
|
||||
$dw=600;
|
||||
$cw=array(0=>600,1=>600,2=>600,3=>600,4=>600,5=>600,6=>600,7=>600,8=>600,9=>600,
|
||||
10=>600,11=>600,12=>600,13=>600,14=>600,15=>600,16=>600,17=>600,18=>600,19=>600,
|
||||
20=>600,21=>600,22=>600,23=>600,24=>600,25=>600,26=>600,27=>600,28=>600,29=>600,
|
||||
30=>600,31=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,
|
||||
40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,
|
||||
50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,
|
||||
60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,
|
||||
70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,
|
||||
80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,
|
||||
90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,
|
||||
100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,
|
||||
109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,
|
||||
118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,
|
||||
127=>600,128=>600,129=>600,130=>600,131=>600,132=>600,133=>600,134=>600,135=>600,
|
||||
136=>600,137=>600,138=>600,139=>600,140=>600,141=>600,142=>600,143=>600,144=>600,
|
||||
145=>600,146=>600,147=>600,148=>600,149=>600,150=>600,151=>600,152=>600,153=>600,
|
||||
154=>600,155=>600,156=>600,157=>600,158=>600,159=>600,160=>600,161=>600,162=>600,
|
||||
163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,
|
||||
172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,
|
||||
181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,
|
||||
190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,
|
||||
199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,
|
||||
208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,
|
||||
217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,
|
||||
226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,
|
||||
235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,
|
||||
244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,
|
||||
253=>600,254=>600,255=>600);
|
||||
?>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user