initial move to git (subversion history dropped intentionally)
This commit is contained in:
17
CHANGELOG.txt
Normal file
17
CHANGELOG.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
TRUNK
|
||||
-----
|
||||
|
||||
SAFE 0.3
|
||||
--------
|
||||
* Change amount to float datatype (allow for billing of partial amounts, i.e. hours)
|
||||
|
||||
SAFE 0.2
|
||||
--------
|
||||
* Bugfix to avoid multiple companies in one invoice (important!)
|
||||
* Clean up column names in listings
|
||||
* Adjust sorting options
|
||||
|
||||
SAFE 0.1
|
||||
--------
|
||||
* Initial release
|
||||
|
||||
74
LICENSE.txt
Normal file
74
LICENSE.txt
Normal file
@@ -0,0 +1,74 @@
|
||||
Artistic License 2.0
|
||||
|
||||
Copyright (c) 2000-2006, The Perl Foundation.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
|
||||
Preamble
|
||||
|
||||
This license establishes the terms under which a given free software Package may be copied, modified, distributed, and/or redistributed. The intent is that the Copyright Holder maintains some artistic control over the development of that Package while still keeping the Package available as open source and free software.
|
||||
|
||||
You are always permitted to make arrangements wholly outside of this license directly with the Copyright Holder of a given Package. If the terms of this license do not permit the full use that you propose to make of the Package, you should contact the Copyright Holder and seek a different licensing arrangement.
|
||||
Definitions
|
||||
|
||||
"Copyright Holder" means the individual(s) or organization(s) named in the copyright notice for the entire Package.
|
||||
|
||||
"Contributor" means any party that has contributed code or other material to the Package, in accordance with the Copyright Holder's procedures.
|
||||
|
||||
"You" and "your" means any person who would like to copy, distribute, or modify the Package.
|
||||
|
||||
"Package" means the collection of files distributed by the Copyright Holder, and derivatives of that collection and/or of those files. A given Package may consist of either the Standard Version, or a Modified Version.
|
||||
|
||||
"Distribute" means providing a copy of the Package or making it accessible to anyone else, or in the case of a company or organization, to others outside of your company or organization.
|
||||
|
||||
"Distributor Fee" means any fee that you charge for Distributing this Package or providing support for this Package to another party. It does not mean licensing fees.
|
||||
|
||||
"Standard Version" refers to the Package if it has not been modified, or has been modified only in ways explicitly requested by the Copyright Holder.
|
||||
|
||||
"Modified Version" means the Package, if it has been changed, and such changes were not explicitly requested by the Copyright Holder.
|
||||
|
||||
"Original License" means this Artistic License as Distributed with the Standard Version of the Package, in its current version or as it may be modified by The Perl Foundation in the future.
|
||||
|
||||
"Source" form means the source code, documentation source, and configuration files for the Package.
|
||||
|
||||
"Compiled" form means the compiled bytecode, object code, binary, or any other form resulting from mechanical transformation or translation of the Source form.
|
||||
Permission for Use and Modification Without Distribution
|
||||
|
||||
(1) You are permitted to use the Standard Version and create and use Modified Versions for any purpose without restriction, provided that you do not Distribute the Modified Version.
|
||||
Permissions for Redistribution of the Standard Version
|
||||
|
||||
(2) You may Distribute verbatim copies of the Source form of the Standard Version of this Package in any medium without restriction, either gratis or for a Distributor Fee, provided that you duplicate all of the original copyright notices and associated disclaimers. At your discretion, such verbatim copies may or may not include a Compiled form of the Package.
|
||||
|
||||
(3) You may apply any bug fixes, portability changes, and other modifications made available from the Copyright Holder. The resulting Package will still be considered the Standard Version, and as such will be subject to the Original License.
|
||||
Distribution of Modified Versions of the Package as Source
|
||||
|
||||
(4) You may Distribute your Modified Version as Source (either gratis or for a Distributor Fee, and with or without a Compiled form of the Modified Version) provided that you clearly document how it differs from the Standard Version, including, but not limited to, documenting any non-standard features, executables, or modules, and provided that you do at least ONE of the following:
|
||||
|
||||
(a) make the Modified Version available to the Copyright Holder of the Standard Version, under the Original License, so that the Copyright Holder may include your modifications in the Standard Version.
|
||||
(b) ensure that installation of your Modified Version does not prevent the user installing or running the Standard Version. In addition, the Modified Version must bear a name that is different from the name of the Standard Version.
|
||||
(c) allow anyone who receives a copy of the Modified Version to make the Source form of the Modified Version available to others under
|
||||
(i) the Original License or
|
||||
(ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version using the same licensing terms that apply to the copy that the licensee received, and requires that the Source form of the Modified Version, and of any works derived from it, be made freely available in that license fees are prohibited but Distributor Fees are allowed.
|
||||
Distribution of Compiled Forms of the Standard Version or Modified Versions without the Source
|
||||
|
||||
(5) You may Distribute Compiled forms of the Standard Version without the Source, provided that you include complete instructions on how to get the Source of the Standard Version. Such instructions must be valid at the time of your distribution. If these instructions, at any time while you are carrying out such distribution, become invalid, you must provide new instructions on demand or cease further distribution. If you provide valid instructions or cease distribution within thirty days after you become aware that the instructions are invalid, then you do not forfeit any of your rights under this license.
|
||||
|
||||
(6) You may Distribute a Modified Version in Compiled form without the Source, provided that you comply with Section 4 with respect to the Source of the Modified Version.
|
||||
Aggregating or Linking the Package
|
||||
|
||||
(7) You may aggregate the Package (either the Standard Version or Modified Version) with other packages and Distribute the resulting aggregation provided that you do not charge a licensing fee for the Package. Distributor Fees are permitted, and licensing fees for other components in the aggregation are permitted. The terms of this license apply to the use and Distribution of the Standard or Modified Versions as included in the aggregation.
|
||||
|
||||
(8) You are permitted to link Modified and Standard Versions with other works, to embed the Package in a larger work of your own, or to build stand-alone binary or bytecode versions of applications that include the Package, and Distribute the result without restriction, provided the result does not expose a direct interface to the Package.
|
||||
Items That are Not Considered Part of a Modified Version
|
||||
|
||||
(9) Works (including, but not limited to, modules and scripts) that merely extend or make use of the Package, do not, by themselves, cause the Package to be a Modified Version. In addition, such works are not considered parts of the Package itself, and are not subject to the terms of this license.
|
||||
General Provisions
|
||||
|
||||
(10) Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license.
|
||||
|
||||
(11) If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license.
|
||||
|
||||
(12) This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder.
|
||||
|
||||
(13) This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed.
|
||||
|
||||
(14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
35
README.txt
Normal file
35
README.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
Service Administration Front End
|
||||
SAFE is written by F. Overkamp, ObSimRef BV (C) 2009
|
||||
|
||||
For latest updates, see: http://www.obsimref.com/en/safe/
|
||||
|
||||
SAFE stands for Service and Administration Front End. It is a basic web-based application that allows small companies to perform invoicing tasks, both one-off invoices and recurring services (subscriptions). Subscriptions can be entered with a price per month, per quarter or per year. Invoice lines can be joined together by your company administrator into an invoice. That invoice can then be downloaded in PDF format, printed and sent to the customer. SAFE is meant to allow non-techical people to work with the invoicing system so simplicity is key.
|
||||
|
||||
Obtaining the latest sources: svn co http://pkg.obsimref.com/svn/safe/trunk safe
|
||||
|
||||
Why SAFE and not SugarCRM/PHPAGA/.... ?
|
||||
|
||||
We experimented with a number of publicly available open source applications. The main problem with all of them is that they are not purely administrative in function, and therefore present the users with many many other functions that will never be used. Ofcourse there is also the number of issues that we feel is not really done conveniently, but the clutter in the interface is really the primary issue.
|
||||
Current state and roadmap
|
||||
|
||||
* Working basic setup, based on phpMyEdit pages, expanded with PDF download and cron-scripts
|
||||
* Next version will replace phpMyEdit pages with proper Zend framework usage
|
||||
|
||||
Features
|
||||
|
||||
* Basic multilingual support
|
||||
* VAT and EU Intracom rules
|
||||
* Multiple subscriptions in 1 invoice or separate invoices per service: You decide
|
||||
* Processing of Call Detail Records in standard formats (i.e. to add voip services)
|
||||
* ...
|
||||
|
||||
Requirements
|
||||
|
||||
* PHP5
|
||||
* MySQL (working on other database abstraction)
|
||||
* Cron to enable automatic invoice-line creation
|
||||
|
||||
Licensing
|
||||
|
||||
SAFE is provided AS-IS without any warranty. It may be used, modified and redistributed under the Artistic License v2.
|
||||
|
||||
1
cache/placeholder.txt
vendored
Normal file
1
cache/placeholder.txt
vendored
Normal file
@@ -0,0 +1 @@
|
||||
Your webserver should be able to write in this directory to allow caching WHOIS data
|
||||
35
createinvoice.php
Normal file
35
createinvoice.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?
|
||||
|
||||
require_once("service-admin.inc.php");
|
||||
|
||||
$opts['tb'] = 'subscriptions';
|
||||
$opts['sv'] = 'services';
|
||||
$opts['in'] = 'invoicelines';
|
||||
|
||||
// Connect to database
|
||||
mysql_connect($opts['hn'], $opts['un'], $opts['pw']);
|
||||
mysql_select_db($opts['db']);
|
||||
|
||||
if(isset($_POST["create"])) {
|
||||
// apparently we have been submitted, so lets update some records
|
||||
$combine = $_POST["submitlines"];
|
||||
$invnr = $_POST["invnr"];
|
||||
|
||||
// In previous versions, the same invoicenumber could be used for two companies
|
||||
// Obviously this is wrong, so:
|
||||
// For safety, find the first customer for who an invoiceline is requested
|
||||
$qry = "SELECT distinct(customerid) FROM invoicelines WHERE invoiceid IS NULL AND invoicelineid IN (".implode(",",$combine).") LIMIT 1";
|
||||
$result = mysql_query($qry) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $qry . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
$customerset = mysql_fetch_array($result);
|
||||
$onecustomer = $customerset["customerid"];
|
||||
|
||||
// Okay, update the selected customer
|
||||
$qry = "UPDATE ".$opts['in']." SET invoiceid=$invnr, invoicelinedate=NOW() WHERE invoiceid IS NULL AND customerid=$onecustomer AND invoicelineid IN (".implode(",",$combine).")";
|
||||
$result = mysql_query($qry) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $qry . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
|
||||
header('Location: invoicelist.php');
|
||||
} else {
|
||||
header('Location: itemstoinvoice.php');
|
||||
}
|
||||
|
||||
?>
|
||||
121
cron-domains.php
Normal file
121
cron-domains.php
Normal file
@@ -0,0 +1,121 @@
|
||||
<?
|
||||
|
||||
$neutralnameserver = "toffee.snt.utwente.nl";
|
||||
|
||||
require_once("service-admin.inc.php");
|
||||
require_once("lib/zonecheck.class.php");
|
||||
|
||||
$opts['tb'] = 'domains';
|
||||
|
||||
// Connect to database
|
||||
mysql_connect($opts['hn'], $opts['un'], $opts['pw']);
|
||||
mysql_select_db($opts['db']);
|
||||
|
||||
// Get all subscriptions
|
||||
$qry = "SELECT * FROM ".$opts['tb']." WHERE domain= 'vanommeren.biz'";
|
||||
|
||||
$result = mysql_query($qry) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $qry . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
|
||||
header("Content-Type: text/plain");
|
||||
|
||||
// Loop through them
|
||||
while ($domain = mysql_fetch_array($result)) {
|
||||
// Check domain parameters
|
||||
$domainname = $domain['domain'];
|
||||
echo $domainname.": ";
|
||||
|
||||
// Check Whois NS records
|
||||
if(empty($zonecheck)) {
|
||||
$zonecheck = new zonecheck($domainname);
|
||||
} else {
|
||||
$zonecheck->lookup($domainname);
|
||||
}
|
||||
echo $zonecheck->registrar;
|
||||
echo " / ";
|
||||
echo $zonecheck->rsp;
|
||||
echo " / ";
|
||||
$nstxt = implode(",", $zonecheck->ns);
|
||||
echo $nstxt;
|
||||
echo " / ";
|
||||
|
||||
if(!empty($zonecheck->registrar) && ($domain['registrar'] != $zonecheck->registrar)) {
|
||||
$updqry = "UPDATE ".$opts['tb']." SET registrar='".$zonecheck->registrar."' WHERE domain='$domainname'";
|
||||
$updres = mysql_query($updqry) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $updqry . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
}
|
||||
if(!empty($zonecheck->rsp) && ($domain['rsp'] != $zonecheck->rsp)) {
|
||||
$updqry = "UPDATE ".$opts['tb']." SET rsp='".$zonecheck->rsp."' WHERE domain='$domainname'";
|
||||
$updres = mysql_query($updqry) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $updqry . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
}
|
||||
if(!empty($nstxt) && ($domain['whoisglue'] != $nstxt)) {
|
||||
$updqry = "UPDATE ".$opts['tb']." SET whoisglue='$nstxt' WHERE domain='$domainname'";
|
||||
$updres = mysql_query($updqry) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $updqry . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
}
|
||||
|
||||
// Check DNS NS records
|
||||
$output = array();
|
||||
$nshosts = array();
|
||||
$cmd = "host -t NS $domainname $neutralnameserver";
|
||||
$retcode = exec($cmd, $output);
|
||||
foreach($output as $nsline) {
|
||||
$tok = strtok($nsline, " \n\t");
|
||||
while($tok !== false) {
|
||||
$host = $tok;
|
||||
$tok = strtok(" \n\t");
|
||||
}
|
||||
$nshosts[] = $host;
|
||||
}
|
||||
sort($nshosts);
|
||||
$nstxt = implode(",",$nshosts);
|
||||
echo $nstxt;
|
||||
echo " / ";
|
||||
if($domain['dnshosts'] != $nstxt) {
|
||||
$updqry = "UPDATE ".$opts['tb']." SET dnshosts='$nstxt' WHERE domain='$domainname'";
|
||||
$updres = mysql_query($updqry) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $updqry . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
}
|
||||
|
||||
// Check DNS MX records
|
||||
$output = array();
|
||||
$mxhosts = array();
|
||||
$cmd = "host -t MX $domainname $neutralnameserver";
|
||||
$retcode = exec($cmd, $output);
|
||||
foreach($output as $mxline) {
|
||||
$tok = strtok($mxline, " \n\t");
|
||||
while($tok !== false) {
|
||||
$host = $tok;
|
||||
$tok = strtok(" \n\t");
|
||||
}
|
||||
$mxhosts[] = $host;
|
||||
}
|
||||
sort($mxhosts);
|
||||
$mxtxt = implode(",",$mxhosts);
|
||||
echo $mxtxt;
|
||||
echo " / ";
|
||||
if($domain['mxhosts'] != $mxtxt) {
|
||||
$updqry = "UPDATE ".$opts['tb']." SET mxhosts='$mxtxt' WHERE domain='$domainname'";
|
||||
$updres = mysql_query($updqry) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $updqry . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
}
|
||||
|
||||
// Check DNS www record
|
||||
$output = array();
|
||||
unset($host);
|
||||
$cmd = "host www.$domainname $neutralnameserver | grep -v 'CNAME'";
|
||||
$retcode = exec($cmd, $output);
|
||||
$tok = strtok($output[count($output)-1], " \n\t");
|
||||
// Gets only the last line of output (which holds the host IP)
|
||||
while($tok !== false) {
|
||||
$host = $tok;
|
||||
$tok = strtok(" \n\t");
|
||||
}
|
||||
switch($host) {
|
||||
case "217.114.110.194": $host = "clio"; break;
|
||||
case "217.114.110.195": $host = "toledo"; break;
|
||||
}
|
||||
echo $host;
|
||||
if($domain['web'] != $host) {
|
||||
$updqry = "UPDATE ".$opts['tb']." SET web='$host' WHERE domain='$domainname'";
|
||||
$updres = mysql_query($updqry) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $updqry . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
}
|
||||
|
||||
echo "\n";
|
||||
}
|
||||
?>
|
||||
90
cron-items.php
Normal file
90
cron-items.php
Normal file
@@ -0,0 +1,90 @@
|
||||
<?
|
||||
|
||||
require_once("service-admin.inc.php");
|
||||
|
||||
$opts['tb'] = 'subscriptions';
|
||||
$opts['sv'] = 'services';
|
||||
$opts['in'] = 'invoicelines';
|
||||
|
||||
// Connect to database
|
||||
mysql_connect($opts['hn'], $opts['un'], $opts['pw']);
|
||||
mysql_select_db($opts['db']);
|
||||
|
||||
// Get all subscriptions
|
||||
$qry = "SELECT * FROM ".$opts['tb']." LEFT JOIN ".$opts['sv']." ";
|
||||
$qry .= "ON ".$opts['tb'].".serviceid = ".$opts['sv'].".serviceid";
|
||||
|
||||
$result = mysql_query($qry) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $qry . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
|
||||
header("Content-Type: text/plain");
|
||||
|
||||
// Loop through them
|
||||
while ($subscription = mysql_fetch_array($result)) {
|
||||
// Process the subscription
|
||||
$subid = $subscription['subscriptionid'];
|
||||
$custid = $subscription['customerid'];
|
||||
$description = $subscription['servicename']." ".$subscription['description'];
|
||||
$amount = $subscription['amount'];
|
||||
$nrc = $subscription['nrc'];
|
||||
$yrc = $subscription['yrc'];
|
||||
$qrc = $subscription['qrc'];
|
||||
$mrc = $subscription['mrc'];
|
||||
// $substart = $subscription['startdate'];
|
||||
$lastinv = $subscription['lastinvoiced'];
|
||||
$lastinvtime = strtotime($lastinv);
|
||||
$yearseconds = 60*60*24*365;
|
||||
$today = date("Y-m-d");
|
||||
$updated = false;
|
||||
if($lastinv == "0000-00-00") {
|
||||
$firsttime = true;
|
||||
} else {
|
||||
$firsttime = false;
|
||||
}
|
||||
|
||||
// Test for NRC
|
||||
if(($lastinv == "0000-00-00") && ($nrc != 0)) {
|
||||
// Invoice the NRC
|
||||
$ins = "INSERT INTO ".$opts['in']." (customerid, subscriptionid, description, invoicelinedate, amount, charge) ";
|
||||
$ins .= "VALUES ($custid, $subid, '$NRC: $description', NOW(), $amount, $nrc)";
|
||||
$insres = mysql_query($ins) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $ins . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
$updated = true;
|
||||
$firsttime = true;
|
||||
echo "Invoiced $NRC $description $amount x $nrc\n";
|
||||
}
|
||||
|
||||
// Test for MRC
|
||||
if((($MRC != strtolower(date('F', $lastinvtime))) || $firsttime) && ($mrc != 0)) {
|
||||
// Invoice the MRC
|
||||
$ins = "INSERT INTO ".$opts['in']." (customerid, subscriptionid, description, invoicelinedate, amount, charge) ";
|
||||
$ins .= "VALUES ($custid, $subid, '$description $MRC', NOW(), $amount, $mrc)";
|
||||
$insres = mysql_query($ins) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $ins . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
$updated = true;
|
||||
echo "Invoiced $description $MRC $amount x $mrc\n";
|
||||
}
|
||||
|
||||
// Test for QRC
|
||||
if((($QRC != 'Q'.ceil(date('n', $lastinvtime)/3)) || $firsttime) && ($qrc != 0)) {
|
||||
// Invoice the QRC
|
||||
$ins = "INSERT INTO ".$opts['in']." (customerid, subscriptionid, description, invoicelinedate, amount, charge) ";
|
||||
$ins .= "VALUES ($custid, $subid, '$description $QRC', NOW(), $amount, $qrc)";
|
||||
$insres = mysql_query($ins) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $ins . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
$updated = true;
|
||||
echo "Invoiced $description $QRC $amount x $qrc\n";
|
||||
}
|
||||
|
||||
// Test for YRC
|
||||
if((($YRC != date('Y', $lastinvtime)) || $firsttime) && ($yrc != 0)) {
|
||||
// Invoice the YRC
|
||||
$ins = "INSERT INTO ".$opts['in']." (customerid, subscriptionid, description, invoicelinedate, amount, charge) ";
|
||||
$ins .= "VALUES ($custid, $subid, '$description $YRC', NOW(), $amount, $yrc)";
|
||||
$insres = mysql_query($ins) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $ins . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
$updated = true;
|
||||
echo "Invoiced $description $YRC $amount x $yrc\n";
|
||||
}
|
||||
|
||||
if($updated) {
|
||||
$upd = "UPDATE ".$opts['tb']." SET lastinvoiced=NOW() WHERE subscriptionid=$subid";
|
||||
$updres = mysql_query($upd) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $upd . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
|
||||
}
|
||||
}
|
||||
?>
|
||||
203
customers.php
Normal file
203
customers.php
Normal file
@@ -0,0 +1,203 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Customers</title>
|
||||
<style type="text/css">
|
||||
hr.pme-hr { border: 0px solid; padding: 0px; margin: 0px; border-top-width: 1px; height: 1px; }
|
||||
table.pme-main { border: #004d9c 1px solid; border-collapse: collapse; border-spacing: 0px; width: 100%; }
|
||||
table.pme-navigation { border: #004d9c 0px solid; border-collapse: collapse; border-spacing: 0px; width: 100%; }
|
||||
td.pme-navigation-0, td.pme-navigation-1 { white-space: nowrap; }
|
||||
th.pme-header { border: #004d9c 1px solid; padding: 4px; background: #add8e6; }
|
||||
td.pme-key-0, td.pme-value-0, td.pme-help-0, td.pme-navigation-0, td.pme-cell-0,
|
||||
td.pme-key-1, td.pme-value-1, td.pme-help-0, td.pme-navigation-1, td.pme-cell-1,
|
||||
td.pme-sortinfo, td.pme-filter { border: #004d9c 1px solid; padding: 3px; }
|
||||
td.pme-buttons { text-align: left; }
|
||||
td.pme-message { text-align: center; }
|
||||
td.pme-stats { text-align: right; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h3>Customers</h3>
|
||||
<?php
|
||||
|
||||
/*
|
||||
* IMPORTANT NOTE: This generated file contains only a subset of huge amount
|
||||
* of options that can be used with phpMyEdit. To get information about all
|
||||
* features offered by phpMyEdit, check official documentation. It is available
|
||||
* online and also for download on phpMyEdit project management page:
|
||||
*
|
||||
* http://platon.sk/projects/main_page.php?project_id=5
|
||||
*
|
||||
* This file was generated by:
|
||||
*
|
||||
* phpMyEdit version: 5.7.1
|
||||
* phpMyEdit.class.php core class: 1.204
|
||||
* phpMyEditSetup.php script: 1.50
|
||||
* generating setup script: 1.50
|
||||
*/
|
||||
|
||||
// MySQL host name, user name, password, database, and table
|
||||
require_once("service-admin.inc.php");
|
||||
$opts['tb'] = 'customers';
|
||||
|
||||
// Name of field which is the unique key
|
||||
$opts['key'] = 'customerid';
|
||||
|
||||
// Type of key field (int/real/string/date etc.)
|
||||
$opts['key_type'] = 'int';
|
||||
|
||||
// Sorting field(s)
|
||||
$opts['sort_field'] = array('customerid');
|
||||
|
||||
// Number of records to display on the screen
|
||||
// Value of -1 lists all records in a table
|
||||
$opts['inc'] = 15;
|
||||
|
||||
// Options you wish to give the users
|
||||
// A - add, C - change, P - copy, V - view, D - delete,
|
||||
// F - filter, I - initial sort suppressed
|
||||
$opts['options'] = 'ACPVDF';
|
||||
|
||||
// Number of lines to display on multiple selection filters
|
||||
$opts['multiple'] = '4';
|
||||
|
||||
// Navigation style: B - buttons (default), T - text links, G - graphic links
|
||||
// Buttons position: U - up, D - down (default)
|
||||
$opts['navigation'] = 'DB';
|
||||
|
||||
// Display special page elements
|
||||
$opts['display'] = array(
|
||||
'form' => true,
|
||||
'query' => true,
|
||||
'sort' => true,
|
||||
'time' => true,
|
||||
'tabs' => true
|
||||
);
|
||||
|
||||
// Set default prefixes for variables
|
||||
$opts['js']['prefix'] = 'PME_js_';
|
||||
$opts['dhtml']['prefix'] = 'PME_dhtml_';
|
||||
$opts['cgi']['prefix']['operation'] = 'PME_op_';
|
||||
$opts['cgi']['prefix']['sys'] = 'PME_sys_';
|
||||
$opts['cgi']['prefix']['data'] = 'PME_data_';
|
||||
|
||||
/* Get the user's default language and use it if possible or you can
|
||||
specify particular one you want to use. Refer to official documentation
|
||||
for list of available languages. */
|
||||
$opts['language'] = $_SERVER['HTTP_ACCEPT_LANGUAGE'] . '-UTF8';
|
||||
|
||||
/* Table-level filter capability. If set, it is included in the WHERE clause
|
||||
of any generated SELECT statement in SQL query. This gives you ability to
|
||||
work only with subset of data from table.
|
||||
|
||||
$opts['filters'] = "column1 like '%11%' AND column2<17";
|
||||
$opts['filters'] = "section_id = 9";
|
||||
$opts['filters'] = "PMEtable0.sessions_count > 200";
|
||||
*/
|
||||
|
||||
/* Field definitions
|
||||
|
||||
Fields will be displayed left to right on the screen in the order in which they
|
||||
appear in generated list. Here are some most used field options documented.
|
||||
|
||||
['name'] is the title used for column headings, etc.;
|
||||
['maxlen'] maximum length to display add/edit/search input boxes
|
||||
['trimlen'] maximum length of string content to display in row listing
|
||||
['width'] is an optional display width specification for the column
|
||||
e.g. ['width'] = '100px';
|
||||
['mask'] a string that is used by sprintf() to format field output
|
||||
['sort'] true or false; means the users may sort the display on this column
|
||||
['strip_tags'] true or false; whether to strip tags from content
|
||||
['nowrap'] true or false; whether this field should get a NOWRAP
|
||||
['select'] T - text, N - numeric, D - drop-down, M - multiple selection
|
||||
['options'] optional parameter to control whether a field is displayed
|
||||
L - list, F - filter, A - add, C - change, P - copy, D - delete, V - view
|
||||
Another flags are:
|
||||
R - indicates that a field is read only
|
||||
W - indicates that a field is a password field
|
||||
H - indicates that a field is to be hidden and marked as hidden
|
||||
['URL'] is used to make a field 'clickable' in the display
|
||||
e.g.: 'mailto:$value', 'http://$value' or '$page?stuff';
|
||||
['URLtarget'] HTML target link specification (for example: _blank)
|
||||
['textarea']['rows'] and/or ['textarea']['cols']
|
||||
specifies a textarea is to be used to give multi-line input
|
||||
e.g. ['textarea']['rows'] = 5; ['textarea']['cols'] = 10
|
||||
['values'] restricts user input to the specified constants,
|
||||
e.g. ['values'] = array('A','B','C') or ['values'] = range(1,99)
|
||||
['values']['table'] and ['values']['column'] restricts user input
|
||||
to the values found in the specified column of another table
|
||||
['values']['description'] = 'desc_column'
|
||||
The optional ['values']['description'] field allows the value(s) displayed
|
||||
to the user to be different to those in the ['values']['column'] field.
|
||||
This is useful for giving more meaning to column values. Multiple
|
||||
descriptions fields are also possible. Check documentation for this.
|
||||
*/
|
||||
|
||||
$opts['fdd']['customerid'] = array(
|
||||
'name' => 'Customerid',
|
||||
'select' => 'T',
|
||||
'options' => 'AVCPDR', // auto increment
|
||||
'maxlen' => 20,
|
||||
'default' => '0',
|
||||
'sort' => false
|
||||
);
|
||||
$opts['fdd']['customername'] = array(
|
||||
'name' => 'Customer',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['attn'] = array(
|
||||
'name' => 'Attn',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => false
|
||||
);
|
||||
$opts['fdd']['street'] = array(
|
||||
'name' => 'Street',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => false
|
||||
);
|
||||
$opts['fdd']['zipcode'] = array(
|
||||
'name' => 'Zipcode',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => false
|
||||
);
|
||||
$opts['fdd']['city'] = array(
|
||||
'name' => 'City',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['country'] = array(
|
||||
'name' => 'Country',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['vatnr'] = array(
|
||||
'name' => 'VATnr',
|
||||
'select' => 'T',
|
||||
'maxlen' => 20,
|
||||
'sort' => false
|
||||
);
|
||||
$opts['fdd']['language'] = array(
|
||||
'name' => 'Language',
|
||||
'select' => 'T',
|
||||
'maxlen' => 5,
|
||||
'sort' => true
|
||||
);
|
||||
|
||||
// Now important call to phpMyEdit
|
||||
require_once 'phpMyEdit.class.php';
|
||||
new phpMyEdit($opts);
|
||||
|
||||
?>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
17
doc/AUTHORS
Normal file
17
doc/AUTHORS
Normal file
@@ -0,0 +1,17 @@
|
||||
John McCreesh <jpmcc@users.sourceforge.net>
|
||||
Founded project and developed all versions 0.x, 1.x, 2.x and 3.x.
|
||||
|
||||
Jim Kraai <jkraai@users.sourceforge.net>
|
||||
Maintains phpMyEdit versions 4.x.
|
||||
|
||||
Ondrej Jombik <nepto@platon.sk>
|
||||
Current project maintainer. Develops version 5.0 and laters.
|
||||
|
||||
Many thanks to various project contributors. See doc/ChangeLog file
|
||||
for credits.
|
||||
|
||||
Please do not write previous maintainers support questions,
|
||||
suggestions, bug reports or patches. Use Platon.SK bug-tracking
|
||||
system, support forum or phpMyEdit mailinglist for these purposes.
|
||||
|
||||
|
||||
340
doc/COPYING
Normal file
340
doc/COPYING
Normal file
@@ -0,0 +1,340 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 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.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, 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 or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
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 give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
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 Program or any portion
|
||||
of it, thus forming a work based on the Program, 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) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
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 Program, 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 Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) 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; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, 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 executable. However, as a
|
||||
special exception, the source code 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.
|
||||
|
||||
If distribution of executable or 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 counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program 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.
|
||||
|
||||
5. 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 Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program 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 to
|
||||
this License.
|
||||
|
||||
7. 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 Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program 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 Program.
|
||||
|
||||
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.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program 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.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the 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 Program
|
||||
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 Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, 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
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "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 PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. 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 PROGRAM 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 PROGRAM (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 PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), 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 Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. 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 program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; 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.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
938
doc/ChangeLog
Normal file
938
doc/ChangeLog
Normal file
@@ -0,0 +1,938 @@
|
||||
2007-09-16 release 5.7.1 (official)
|
||||
- finalizations, README & Makefile updates
|
||||
- added support for various language encodings
|
||||
(default one is backward compatible and this
|
||||
will be changed later to UTF-8 for all languages)
|
||||
|
||||
2007-09-12
|
||||
- joining virtual column to other table now works
|
||||
|
||||
2007-09-08
|
||||
- refixed bug #446
|
||||
- refixed limit clause
|
||||
- updated PT-BR language file (Victor Zucarino)
|
||||
|
||||
2007-09-03 release 5.7 (official)
|
||||
- finalizations, README & Makefile updates
|
||||
- removed unneccessary obsolete extensions,
|
||||
others extensions were fixed
|
||||
|
||||
2007-07-03
|
||||
- allow to pass an array to $opts['filters']
|
||||
- fixed #446: default value in pull-down not working
|
||||
|
||||
2007-05-05
|
||||
- fixed numeric/integer fields with UTF-8 strings
|
||||
concatenation (nepto)
|
||||
|
||||
2007-04-15
|
||||
- possibility for db abstraction added (michal)
|
||||
- fixed long term bug on quoting of column names, which added
|
||||
possibility for usage of reserved words as column names
|
||||
(bugs #94, #126, #146, ...) (michal)
|
||||
- fixed several small bugs #409, #437, #430, #426
|
||||
|
||||
2006-01-30
|
||||
- japanese language file added
|
||||
- indonesian language file added
|
||||
|
||||
2006-11-26
|
||||
- fixed #424: Available Languages doc: Czech should be CZ
|
||||
- several tiny bugs fixed: #421, #422, #416, #412
|
||||
(thanks to Doug Hockinson)
|
||||
|
||||
2006-09-17 release 5.6 (official)
|
||||
- finalizations, README & Makefile updates
|
||||
|
||||
2006-09-09
|
||||
- implemented #258: Add version info to generated files
|
||||
|
||||
2006-09-08
|
||||
- fixed #402, options for database and table in setup script
|
||||
- fixed #391, Addition to XHTML Compliancy (thanks to DeanS)
|
||||
- fixed #327, values with values2 work also in LFV modes
|
||||
(thanks to mmikrut@cyberone.com.au)
|
||||
- fixed #384, escape option not working in AC modes
|
||||
please check your configuration if option 'escape' => false
|
||||
should not be set 'escape|LFVD' => false
|
||||
- fixed #387, special characters in javascript hints
|
||||
(thanks to Doug Hockinson)
|
||||
- implemented #401: innoDB field contrains
|
||||
(thanks to Ryan Wade - wryan <Wade.Ryan@acxiom.com>)
|
||||
|
||||
2006-08-30
|
||||
- implemented #393: added support for 'php' feature (michal)
|
||||
- implemented #296: checkboxes / flags support (+ radios)
|
||||
|
||||
2006-09-02
|
||||
- changed phpMyEdit action icons to more nice ones
|
||||
(contribution by Alexandros Vellis <avel@noc.uoa.gr>,
|
||||
icons are from http://www.famfamfam.com/lab/icons/ website)
|
||||
|
||||
2006-08-05
|
||||
- added greek hellenic (EL) translation
|
||||
(contribution from Alexandros Vellis <avel@noc.uoa.gr>)
|
||||
|
||||
2006-06-07
|
||||
- alternate phpMyEdit icons added to distribution
|
||||
(contributed Victor Zucarino <vffzbr@yahoo.com.br>)
|
||||
|
||||
2006-05-29
|
||||
- improved Portugese translation
|
||||
(contribution by S<>rgio Sanches <ssanches@dcc.online.pt>)
|
||||
|
||||
2006-03-19
|
||||
- fixed #380: $join_table and others not working in 'filters'
|
||||
- listall fixed, division by zero prevented
|
||||
- fixed #326: "Go to" button page selector does not change page
|
||||
|
||||
2006-03-04
|
||||
- record radio button on list/filter page is set accodring
|
||||
to the last manipulated record (thanks to Enis Pilavdzic)
|
||||
|
||||
2006-02-20
|
||||
- fixed #355: column looking from another table
|
||||
- fixed #375: HR tag is output before TABLE tag (doug)
|
||||
|
||||
2006-02-16
|
||||
- language codes are not truncated to 5 characters now
|
||||
|
||||
2006-01-24
|
||||
- fixed #368: PDF and long line (long lines were wrapped)
|
||||
- fixed #365, #369, #370: xhtml compliant (thanks to lcapronnier)
|
||||
- fixed #337: $HTTP_SERVER_VAR no longer works with php 5.04
|
||||
|
||||
2006-01-23 release 5.5 (official)
|
||||
- updated copyright dates and copyright holder
|
||||
- added extensions to distribution package
|
||||
- finalizations, TODO update, etc.
|
||||
|
||||
2006-01-04
|
||||
- closed #197: Dutch language file (thanks to Mardek)
|
||||
|
||||
2005-11-13
|
||||
- improved turkish translation
|
||||
(thanks to Kadan Kongar <kagan.kongar@tsrsb.org.tr>)
|
||||
|
||||
2005-09-14
|
||||
- added #345: phpMyEdit Estonian translation
|
||||
(thanks to Alexia Death <alexiadeath@hotmail.com>)
|
||||
|
||||
2005-04-26
|
||||
- added #332: Czech language file
|
||||
(thanks to Jan Cinert <ion_lord@seznam.cz>)
|
||||
|
||||
2005-04-03
|
||||
- applied #152: button display order
|
||||
(many thanks to michal for the patch and docs)
|
||||
|
||||
2005-03-24
|
||||
- fixed #295: linefeed and persistent connect
|
||||
(thanks to Doug Hockinson for the contribution)
|
||||
|
||||
2005-03-12
|
||||
- fixed #254: password field not working (on the add page)
|
||||
|
||||
2005-03-05
|
||||
- fixed #311: setup script and cgi prefixes
|
||||
- fixed #303: filter broken after view
|
||||
(thanks to michal and hbernard for these updates)
|
||||
|
||||
2004-12-26
|
||||
- added #292: Translation into Romanian language
|
||||
(thanks to Sebastian Proksch <sproksch@yahoo.com>)
|
||||
- added static method get_default_cgi_prefix();
|
||||
made get_*_cgi_var() methods work statically as well
|
||||
- fixed #262: modifications to $newvals not in TUB triggers
|
||||
(thanks to several contributors for the ideas and patches)
|
||||
|
||||
2004-12-08
|
||||
- fixed #288: wrong default value of hidden fields in add mode
|
||||
- fixed #231: array of trigger and event processing
|
||||
(thanks to hbernard for working on these issues)
|
||||
|
||||
2004-11-27
|
||||
- new documentation chapter "Hints & Tips" was created
|
||||
- fixed #259: Standard STYLE commands cause clashes
|
||||
(thanks to ajh for pointing on this and initial patch)
|
||||
|
||||
2004-11-20
|
||||
- implemented #158: Internal CGI name prefixing
|
||||
- implemented #279: Making selected TAB persistent
|
||||
(thanks to hbernard for patching both issues)
|
||||
|
||||
2004-11-09
|
||||
- implemented #277: number_format option
|
||||
|
||||
2004-11-02
|
||||
- all preg_match() scans for number now use \d+ instead of \d*
|
||||
- fixed #271: no posibility to suppress initial sort
|
||||
|
||||
2004-10-18
|
||||
- fixed #270: error in PME.lang.ZH.inc
|
||||
(thanks to Manix Sio <manixsio@gmail.com> for corrections)
|
||||
|
||||
2004-07-15
|
||||
- fixed #253: introducing $opts['dbh'] option
|
||||
|
||||
2004-07-13
|
||||
- fixed #233: Sort order is reversed after 'more' button used
|
||||
|
||||
2004-05-17
|
||||
- added basqe language file
|
||||
(thanks to Ibon Igartua <ibon@zuhar.net>)
|
||||
|
||||
2004-04-21
|
||||
- fixed #178: get value of the key field after an insert
|
||||
(thanks to mariano for the patch)
|
||||
- fixed #235: Apply broken when KEY value was changed
|
||||
(a patch was provided by hbernard)
|
||||
|
||||
2004-04-20
|
||||
- fixed #185: creating of insert/update query
|
||||
(thanks to michal and hbernard)
|
||||
- fixed #229: cancel triggers (thanks to michal for the patch)
|
||||
- fixed #194: TABs improvement suggestions
|
||||
(thanks to hbernard for the patch)
|
||||
- fixed #188: language unspecific operations
|
||||
(implementation of $opts['cgi']['prefix']['operation'])
|
||||
|
||||
2004-04-17
|
||||
- fixed #176: 'values' JOIN with multiple from same table crashes
|
||||
- fixed #205: Delete button creates a jscript runtime error
|
||||
- fixed #25: tons of errors when display_errors set to ON
|
||||
(an error_reporting() function did nothing when called
|
||||
with @ prepended; all the issues was fixed by hbernard)
|
||||
|
||||
2004-04-14
|
||||
- fix related to #121: during insert/update/delete actions
|
||||
page type is according to page from which was from submitted
|
||||
(thanks to hbernard for the initial patch)
|
||||
|
||||
2004-04-11
|
||||
- fixed #219: Check "HTML header & footer", setup generates
|
||||
NO php code (thanks to brycen for reporting)
|
||||
|
||||
2004-04-04
|
||||
- fixed #155: New Translate values for spanish
|
||||
(thanks to Eduardo Diaz <ediaz@pk25.com>)
|
||||
- fixed #161: js regexp input validation
|
||||
(thanks to hbernard for the patch)
|
||||
|
||||
2004-03-31
|
||||
- italian translation update (thanks to Keatch)
|
||||
- fixed #134: joining tables with weird result
|
||||
(thanks to michal for the idea and patch)
|
||||
- fixed #208: title="" attributes for A HREF in text navigation
|
||||
and did also some cleanup in code where these links are created
|
||||
|
||||
2004-03-20
|
||||
- display plain text also for readonly URLs on the change page
|
||||
- fixed #203: Calendar extension broken with jscalendar 0.9.6
|
||||
(thanks to ajh for the patch)
|
||||
- fixed #190: URLdisp cannot show images
|
||||
(URLdisp is now escaped according to field's ['escape'])
|
||||
|
||||
2004-03-08
|
||||
- fixed division by zero when doing listall
|
||||
- fixed #0000195: listall broken with mysql alpha 4.1.1
|
||||
(thanks to hbernard for providing a solution)
|
||||
|
||||
2004-02-19 release 5.4 (official)
|
||||
- finalizations, TODO update, etc.
|
||||
|
||||
2004-02-08
|
||||
- swedish language file update (thanks to stefanl)
|
||||
- spanish (AR) language file update (thanks to mariano)
|
||||
- fixed #0000174: "Striping tags" should be "Stripping trags"
|
||||
|
||||
2004-01-21
|
||||
- swedish language file added into distribution
|
||||
(thanks to Bj<42>rn Hammarb<72>ck <bjorn@hammarback.se>)
|
||||
|
||||
2004-01-20
|
||||
- operation handling simplyfication (related to #112)
|
||||
- do not show navigation buttons when doing "listall"
|
||||
(thanks to hbernard for the patch)
|
||||
- fixed #0000131; this means, that ['width'] field attribute was
|
||||
completelly removed and documentation was updated as well
|
||||
- added basis of field's ['input'] option; BC with ['options']
|
||||
will be preserved for some time, at least in 5.4 release
|
||||
|
||||
2004-01-12
|
||||
- fixed #0000033: Fast moving between list pages
|
||||
(thanks to hbernard & others for the patches)
|
||||
note, that with this change three new keys "First",
|
||||
"Last" and "Go to" were added into language files
|
||||
|
||||
2004-01-02
|
||||
- fixed #0000154: CGI values shouldn't be slash-stripped
|
||||
(thanks to hbernard for the pointing on this issue)
|
||||
- fixed #0000125: cancel buttons should be reset buttons
|
||||
(again thanks to hbernard for the patch)
|
||||
- fixed #0000114: Pre/after Edit/View trigger
|
||||
(and finally thanks to hbernard for the idea & patch)
|
||||
- fixed #0000112: Pressing Enter to perform a Query
|
||||
|
||||
2003-12-30
|
||||
- fixed #0000156: Filter enabled even if 'F" not specified
|
||||
- fixed names of SQL field aliases used internally by phpMyEdit
|
||||
- fixed #0000153: Field size cannot be specified
|
||||
(thanks to Feike for idea and patch)
|
||||
- function create_javascripts() renamed to form_begin()
|
||||
and new function form_end() was created
|
||||
- added phpMyEdit-calpopup extension into repository
|
||||
(thanks to Adam Hammond <php@pixolet.co.uk> from London)
|
||||
|
||||
2003-12-22
|
||||
- fixed #0000034: enum fields with " ' " come out wrong
|
||||
|
||||
2003-12-18
|
||||
- fixed #0000150: Trimlen breaks URL linkages (thanks to ajh)
|
||||
- fixed #0000147: $opts[page_name] can't be declared correctly
|
||||
(thanks to Feike for the patch)
|
||||
|
||||
2003-12-15
|
||||
- removed all eval() calls from the code; simple and secure
|
||||
variable substitution function is used instead
|
||||
|
||||
2003-12-11
|
||||
- date mask options are not applied also when timestamp is 0
|
||||
- implemented ['escape'] field option to control HTML
|
||||
characters esaping; when not present, default value is "true"
|
||||
- implemented ['display']['form'] global option to control whether
|
||||
HTML <FORM> tag should be written to output by phpMyEdit; if not
|
||||
present, default value is considered as "true"
|
||||
|
||||
2003-12-08
|
||||
- write SQL expressions via ['sqlw'] option implemented
|
||||
- basis of virtual properties
|
||||
- options ['datemask'] and ['strftimemask'] are not applied
|
||||
to empty strings or NULLs
|
||||
|
||||
2003-11-22
|
||||
- fixed #0000143: Field name not displayed (thanks to d-rap)
|
||||
|
||||
2003-11-12
|
||||
- applied #0000135: patch to add dropdown and hiding fields
|
||||
(this affects phpMyEdit-report extension; thanks to "iplayfast")
|
||||
- finished CSS classing policy in phpMyEdit-report extension
|
||||
|
||||
2003-10-24
|
||||
- Turkish language file added
|
||||
(thanks to Nuri Akman <nuri.akman@hazine.gov.tr>)
|
||||
|
||||
2003-08-15
|
||||
- implemented general control of TAB feature
|
||||
via $opts['display']['tabs'] variable
|
||||
- read ['sql'] option now works in all modes
|
||||
|
||||
2003-07-29
|
||||
- fixed #0000119: readonly time/date field with datemask display
|
||||
|
||||
2003-07-25
|
||||
- fixed #0000118: $key value is not save in Changelog
|
||||
- fixed several weird 'H' (hidden) flag behaviours
|
||||
- added chinese (Singapore) language file
|
||||
|
||||
2003-06-30
|
||||
- added new chinese traditional language file
|
||||
(thanks to Pao-Hsi Huang <doggy@miniasp.com>)
|
||||
- polish language file update
|
||||
|
||||
2003-06-21
|
||||
- initial commit regarding to TABs support in phpMyEdit
|
||||
(this is based on the request #0000063: Notebook display)
|
||||
|
||||
2003-05-30
|
||||
- field is no longer forced to readonly when ['sql'] option is used
|
||||
- phpMyEdit-messages extension modifications:
|
||||
- added CSS classes policy
|
||||
- added upper article pulldown box on add/change/view pages
|
||||
- some methods reorganized
|
||||
|
||||
2003-05-14
|
||||
- fixed #0000062: special mysql type handling should be documented
|
||||
(generated code now contains comments near read-only fields)
|
||||
|
||||
2003-05-12
|
||||
- substitued "Table0" with "PMEtable0" in setup script
|
||||
- fixed #0000085, documentation problem regarding extensions usage
|
||||
- added htmlArea extension usage notes into documentation
|
||||
- reviewed and documented field's ['sql'] option
|
||||
|
||||
2003-05-09
|
||||
- extension phpMyEdit-htmlarea.class.php added into repository
|
||||
(thanks to Ezudin <kezudin@bih.net.ba> for this contribution)
|
||||
|
||||
2003-05-02
|
||||
- column option ['colattrs'] implemented (based on the original
|
||||
cell ['align'] patch by Raffaele Spangaro" <spangarox@yahoo.it>)
|
||||
|
||||
2003-05-01
|
||||
- removed unneccessary string concatenations from echo() calls
|
||||
- various fixes in phpMyEdit-report extension:
|
||||
- made extension work with register_globals turned off
|
||||
- added labels to language files
|
||||
- use button for "Select fields"
|
||||
- use table name in cookie names
|
||||
(this will save preferences for various report pages)
|
||||
- optional and warning-free cookie memory implemented
|
||||
- code cleanups
|
||||
|
||||
2003-04-27
|
||||
- improved validity of HTML output
|
||||
- yet another fix for already "fixed" #0000047 and all things around
|
||||
(this need a lot of testing)
|
||||
|
||||
2003-04-20
|
||||
- every occurence of "choose" changed to "select" in setup script
|
||||
- properly classified Query button ("pme-filter" -> "pme-query")
|
||||
|
||||
2003-04-12
|
||||
- fixed #76 again, patch was not correct, thought idea was good
|
||||
- italian language file update
|
||||
(thanks to Keatch <spangarox@yahoo.it>)
|
||||
- try to fix issue related to striping tags and escaping values
|
||||
in html selections; this will be surely improved in future
|
||||
|
||||
2003-04-10
|
||||
- fixed #0000076: mask attribute does not work properly
|
||||
(thanks to Mariano <mvassallo at ciudad dot com dot ar>)
|
||||
- fixed #0000074: "alt"-tag should be a "title"-tag
|
||||
(thanks to Gerd)
|
||||
|
||||
2003-04-08 release 5.3 (official)
|
||||
- finalizations, TODO update, etc.
|
||||
|
||||
2003-04-07
|
||||
- error reporting handling added into core class constructor
|
||||
- fixed CSS postfix appending in display_change_field()
|
||||
- improved setup script to ask user for additional option
|
||||
(page header, HTML header, HTML footer, CSS basic sheet, etc.)
|
||||
|
||||
2003-04-05
|
||||
- $opts['fdd']['col_name']['css']['postfix'] implementation
|
||||
- other tiny improvements related to CSS handling
|
||||
- fixed #0000064: no javascript validation during 'Copy' Operation
|
||||
(thanks to Hugues Bernard <hbernard@gynov.org>)
|
||||
- fixed #0000067: when field type is "auto_increment" mark field
|
||||
'required' => false and read-only
|
||||
|
||||
2003-04-02
|
||||
- improved array syntax of generated PHP code
|
||||
- removed 'nowrap' field option from generated code
|
||||
- CSS stylesheet typo fixed
|
||||
- fixed #0000047: values2 not interpreted in list table when SET field
|
||||
|
||||
2003-03-31
|
||||
- ability to have selects, multiple selects and textareas readonly
|
||||
|
||||
2003-03-30
|
||||
- ['URLprefix'] and ['URLpostfix'] are added only if missing
|
||||
- added URL displaying on delete/view pages
|
||||
- standardize do_*_record() function to have $newvals and $oldvals
|
||||
available in trigger files
|
||||
- implemented ['datemask'] and ['strftimemask'] to format date and time
|
||||
fields (currently done only for fields displaying; entering using
|
||||
these masks is still missing)
|
||||
- $changed array of changed keys is now also available in all triggers
|
||||
- ['URLprefix'] and ['URLpostfix'] may be arrays
|
||||
- fixed bug in htmlDisplay() when $disallow_empty and !$escape are set
|
||||
- method encode() was removed
|
||||
|
||||
2003-03-29
|
||||
- field type parameter is no longer needed and used; all occurences were
|
||||
removed from core class and setup script as well
|
||||
- default hostname "localhost" present in setup script
|
||||
- a lot of redunacy and unneccessary code was removed
|
||||
- class constructor cleanup
|
||||
- SQL table aliases changed from "TableN" to "phpMyEdit_table_alias_N"
|
||||
or something similar
|
||||
- patch from Shaun Johnston extended by adding divs[-1] to implement
|
||||
prefix and divs[$n + 1] to implement postfix
|
||||
- CSS improvements in setup file
|
||||
|
||||
|
||||
2003-03-26
|
||||
- several improvements in setup scripts:
|
||||
- output source code contains basic CSS
|
||||
- by default is page title empty and not written
|
||||
- added info about usage of MySQL reserved word as primary key name
|
||||
- etc.
|
||||
- message cell is not printed if message is empty
|
||||
|
||||
2003-03-19
|
||||
- applied improvement #0000052 - default value for drop down boxes
|
||||
in add record page (thanks to hereq)
|
||||
- tags are stripped in HTML selects values
|
||||
- Clear button does not hide the filter now
|
||||
- fixed filtering regarding to "0", "", "*" and similar strings
|
||||
- several improvements regarding to "qfn" stuff
|
||||
- code cleanup: short functions were moved to the top and some
|
||||
unneccessary commets were remvoed or moved to the TODO file
|
||||
- danish language file was added
|
||||
(thanks to Henrik Nielsen <kontakt@innovapage.dk>)
|
||||
|
||||
2003-03-18
|
||||
- in do_add_record() changed $vals_ori to $values and $vals
|
||||
to $vals_quoted, $values are now also available also in "before" trigger
|
||||
- read only and hidden fields are automaticaly counted as not required;
|
||||
this prevents JavaScript checks for these fields
|
||||
- fixed sequences in CSS
|
||||
- better signature for sent e-mail messages
|
||||
|
||||
2003-03-17
|
||||
- moving on CSS classes policy matter
|
||||
- various optimalizations to avoid string concatenations
|
||||
|
||||
2003-03-6
|
||||
- several tiny improvements in setup script; many code cleanups was also
|
||||
done there
|
||||
|
||||
2003-02-18
|
||||
- starting with CSS classes policy implementation (all items are currently
|
||||
marked with "TODO-class")
|
||||
|
||||
2003-02-15
|
||||
- a lot of unnecessary code removal (gather_*(), plain2web(), web2plain())
|
||||
- fixed multiple selects usage on add and edit pages
|
||||
|
||||
2003-02-14
|
||||
- timer.class file removed, class integrated into phpMyEdit core file
|
||||
- fixed searching/filtering in text inputs of table lookup fields
|
||||
|
||||
2003-02-12
|
||||
- fixed #0000023: Change/Save doesn't work with Mozilla
|
||||
|
||||
2003-01-27
|
||||
- improved javascript empty fields protection; string is now trimed before
|
||||
check if it is empty
|
||||
- fixed set datatype storage into changelog during update action
|
||||
(actually Array was written instead val1,val2,...)
|
||||
|
||||
2003-01-12
|
||||
- multiple select can be forced now by ['select'] = 'M'
|
||||
- added JavaScript validation support for select and multiple select fields
|
||||
|
||||
2002-12-23
|
||||
- added portuguese (brazilian) language file
|
||||
(thanks to Roberto Cohen <roberto.cohen@fireman.com.br>)
|
||||
- fixed SQL query error check in list_table()
|
||||
- improved error() method
|
||||
|
||||
2002-12-22
|
||||
- fixed security bug - updating/adding/deleting record without particular
|
||||
flag present in $opts['option'] option
|
||||
|
||||
2002-12-18
|
||||
- fixed hidden field behaviour on add record page
|
||||
|
||||
2002-12-14
|
||||
- improvemets of e-mail notifying and changelog saving
|
||||
- all do_*_record() methods rewritten
|
||||
- fixed hidden field behaviour (but it needs to be consulted with users)
|
||||
- removed possibility of sorting according to hidden or password field
|
||||
- get_server_var() method added
|
||||
|
||||
2002-12-13
|
||||
- error message printing when language files could not be located
|
||||
- persistent (session) CGI variables implemented via $opts['cgi']['persist']
|
||||
- fixed password field behaviour
|
||||
- fixed readonly field behaviour
|
||||
- rewritten logging changes into changelog table
|
||||
- rewritten e-mail notification of changes
|
||||
- some method simplification, huge code cleanup
|
||||
|
||||
2002-12-12
|
||||
- fixed bug with multiple rows printing when using ['column'] without
|
||||
['description']; old behaviour can be reached using the same column for
|
||||
both options (in example ['column'] = ['description'] = 'column_name')
|
||||
|
||||
2002-12-10 release 5.2 (official)
|
||||
- section "Documentation" of README file was updated
|
||||
|
||||
2002-12-02
|
||||
- reimplemented input field sizes in filter
|
||||
- fixed bug, when sorting according to non-displayed field
|
||||
($this->fqn($field) is used instead of "qf$field")
|
||||
- fixed usage of real/double key types
|
||||
- generated script will have all special page elements turned on by default
|
||||
|
||||
2002-11-24
|
||||
- added russian language file (thanks to Lev Zabudkin <zabudkin@mail.ru>)
|
||||
- fixed superfluous cells printing in add record action
|
||||
- fixed empty field bug for read only fields on add page
|
||||
- rewritten size/maxlength input field issues
|
||||
|
||||
2002-11-22
|
||||
- fixed bad column saves for particular field definitions and "Apply" action
|
||||
- added database connection closing at the end of phpMyEdit execution
|
||||
- explicit MySQL query performing using stored database handle
|
||||
|
||||
2002-11-18
|
||||
- fixed undesirable <tr> printing in display_add_record() method
|
||||
- fixed bad hidden input tags position on diplay record pages; they were
|
||||
moved before table declaration, so they are not inside anymore
|
||||
|
||||
2002-11-14
|
||||
- add "Apply" functionality into change record page
|
||||
- removed get_http_*() methods; only get_cgi_var() is used for safe CGI
|
||||
variables retrieval
|
||||
- informational message is also printed in display record page if neccessary
|
||||
- options "default_sort_columns" removed and its functionality assigned to
|
||||
"sort_field" option; due to complete rewrite of sorting system, other
|
||||
features are:
|
||||
- "sort_field" initialization by column name or field number
|
||||
- "sort_field" initialization by one element or array of elements
|
||||
- cumulative sorting (more sorting column selection on the fly)
|
||||
- fixed nasty bug: after "More" or "Apply" operation was wrong columns
|
||||
and/or column names displayed
|
||||
|
||||
2002-11-12
|
||||
- HTML tags and attributes generation improvements such as quoting 'align'
|
||||
attribute, removing 'nowrap', etc. (thanks to <Alan@ridersite.org>)
|
||||
- fixed 'sort_field' behaviour; now works fine
|
||||
|
||||
2002-11-01
|
||||
- fixed undefined index warings in $HTTP_GET_VARS[] array in setup file
|
||||
- improved connect() method and others slight improvements
|
||||
- created phpMyEdit class error handler via method error(); it could be used
|
||||
by extensions as well
|
||||
- fixed bug with recreate_fdd() call in class constructor
|
||||
- fixed JavaScript empty form fields validation; JavaScript is now generated
|
||||
only if field with ['required'] turned on exists
|
||||
- fixed bug using htmlDisplay() when displaying empty data
|
||||
for input/textarea fields
|
||||
- added extensions/phpMyEdit-report.class.php extension
|
||||
|
||||
2002-10-30
|
||||
- methods simplyfication and split (connect(), recreate_displayed(),
|
||||
recreate_fdd() was added); it should bring better and easier phpMyEdit
|
||||
extensions implementation
|
||||
- added extensions/phpMyEdit-slide.class.php extension
|
||||
|
||||
2002-10-29
|
||||
- fixed language inclusion stuff
|
||||
- added default true parameter for disallowing empty fields
|
||||
into htmlDisplay() method
|
||||
- fixed all occurences of possible empty fields
|
||||
- changed invalid HTML attribute `maxwidth' to `maxlength' in `input' tag
|
||||
(fixes #629942)
|
||||
|
||||
2002-10-23
|
||||
- set default sorting when using ['divs'] in ['values']['description'] and
|
||||
['orderby'] is not specified
|
||||
- intelligent usage of Search/Hide/Query labels; if there is space, long
|
||||
labels are used, short ones otherwise
|
||||
- changed default language from English-US to classical English
|
||||
- added Clear label with appropriate filter clear action
|
||||
- forced graphics/text links and radio buttons to get minimum screen size
|
||||
- fixed bug, when doing add/copy/change/delete action under filter enabled;
|
||||
not proper fields were displayed due to quering according filter flag, not
|
||||
according performed action flag
|
||||
- ['strip_tags'] option for field implemented
|
||||
|
||||
2002-10-20
|
||||
- fixed flag collision between copy opration and password field
|
||||
- fixed bug with preserving descending sorting during record display
|
||||
|
||||
2002-10-19
|
||||
- URL option implemented, now works for images location
|
||||
- fixed division by zero; listing all is now also in inc equal to 0
|
||||
- improved ['values2'] support
|
||||
- added support for ['cgi']['append'] and ['cgi']['overwrite'] CGI variables
|
||||
- added support for ['execute']
|
||||
|
||||
2002-10-18
|
||||
- fixed bug with filter displaying, moving across various pages and
|
||||
performing actions with filter enabled
|
||||
- added feature to have ability to define special options connected
|
||||
with particular phpMyEdit actions for items in $fdd array
|
||||
|
||||
2002-10-17 release 5.1 (official)
|
||||
- added support for ['values2'] which can be used in addition to table
|
||||
lookup done by ['values']['table'] and similar options
|
||||
- fixed save/change/delete bug, which updates bad fields not according
|
||||
to performed action
|
||||
- added copyright headers into PHP files
|
||||
- file doc/COPYING file added into distribution
|
||||
|
||||
2002-10-12
|
||||
- clearification of URL stuff; better examples in generated files
|
||||
and also ['URLprefix'] and ['URLpostfix'] options was added; first
|
||||
one gives old 3.5 ['URL'] bahaviour
|
||||
- fixed selection and multiple selection filter behaviour
|
||||
- some internal methods were modified, fe. fqn(), web2plain() and others
|
||||
|
||||
2002-10-01
|
||||
- added polish language file (thanks to Piotr Walesiuk <piotrw@uwb.edu.pl>)
|
||||
|
||||
2002-09-30 release 5.0 (official)
|
||||
- improved setup script with appropriate changes in class file; more clear
|
||||
comments, cleaner code, grouped options and added missing functionality
|
||||
(see `display' key), etc.
|
||||
- huge code and HTML output cosmetic changes
|
||||
- fixed colspan errors
|
||||
|
||||
2002-09-29
|
||||
- removed `actionStyle' configuration parameter, `navigation' was added
|
||||
to get more flexibility of navigation style configuration
|
||||
|
||||
2002-09-24
|
||||
- doc/ changes: README heavily updated, AUTHORS added
|
||||
- Makefile added into CVS; use "make dist" for phpMyEdit
|
||||
distribution creation
|
||||
|
||||
2002-08-23
|
||||
- applied patch from Bill Sparkman <sparky@epiphanydev.com> containing
|
||||
possibility to have navigation buttons also on top of page
|
||||
- fixed buggy more operation functionality
|
||||
- fixed set datatype behaviour during add operation
|
||||
- removed empty initialization item in combo boxes during add operation
|
||||
- new HTML (table) code for navigation buttons and output message printing
|
||||
- following new language keys are now accepted: of, Search, Hide, Go;
|
||||
default values are initialized if they are not set
|
||||
- Diplay to View language key changes
|
||||
|
||||
2002-08-09
|
||||
- applied patch from Shaun Johnston <shaun@compverse.com.au> to have
|
||||
ability to select more than one description column from another table;
|
||||
backward compatibility with 'description' field of 'values' array
|
||||
is preserved
|
||||
- corrected display vs. view operation confusion; only view now exists,
|
||||
display was removed; use 'V' flag for this
|
||||
- array_merge() calls completelly removed due to its strange behaviour;
|
||||
see also #575090 and similar
|
||||
- fixed phpMyEditSetup.php file to work with register globals turned off
|
||||
(see #556553); also messages were updated and code was a little bit
|
||||
cleanified
|
||||
|
||||
2002-08-08
|
||||
- fixed set SQL data type manipulation (works fine, yeah!)
|
||||
- fixed proper column displaying in table list after record update
|
||||
- fixed copy/change bug when lookup for data in other table is done
|
||||
- unneccessary variables removed from display_change_field()
|
||||
- pretty HTML output is no longer supported
|
||||
|
||||
2002-08-07
|
||||
- new transparent PNG icons added into distribution
|
||||
- fixed bug with action links
|
||||
- fixed set handling (see #531091)
|
||||
- fixed register_globals turned off behaviour; should works fine
|
||||
- fixed URL/eval() parse error bug
|
||||
- fixed bug in htmlSelect(); closing </option> tag was added
|
||||
- changed HTTP-ACCEPT-LANGUAGE to HTTP_ACCEPT_LANGUAGE
|
||||
- german language file according to #524371 changed
|
||||
- PGPMyEdit to phpMyedit change
|
||||
|
||||
2002-07-29
|
||||
- directory structure and files reorganization file names, variables
|
||||
and PHP tags changed to match convention
|
||||
- changed all occurences of htmlentities() to htmlspecialchars()
|
||||
- view functionality letter changed from E to V
|
||||
- some HTML fixes and code cleanups
|
||||
|
||||
2002-07-28
|
||||
- OK guys, after few months of project inactivity, we are going to move
|
||||
this thing on; my name is Ondrej Jombik, I'm from Slovakia and I believe
|
||||
in productive cooperation
|
||||
|
||||
+-+-+-+-+ Changes by Jim Kraai & John McCreesh follow
|
||||
|
||||
2002-02-07
|
||||
Added support for $fdd['field']['values']['db']
|
||||
Replace call to mysql_fetch_assoc with mysql_fetch_array in PME Setup
|
||||
05-Feb-02
|
||||
Tore explicit date support from PME out of frustration
|
||||
(will tackle this later)
|
||||
timestamps are still read-only
|
||||
|
||||
04-Feb-02
|
||||
Fixed logtable schema in PHPMyEditSetup.php
|
||||
|
||||
30-Jan-02
|
||||
Changed filters to use strings instead of arrays
|
||||
|
||||
29-Jan-02
|
||||
Added support for $fdd[col][values]['filters'] when selecting
|
||||
values from another table
|
||||
Added support for 'graphic' links
|
||||
|
||||
28-Jan-02
|
||||
Added ability to turn off displaying current sort and/or filters
|
||||
in generated include file
|
||||
Added nowrap to action (first) column if 'link' style is used
|
||||
|
||||
25-Jan-02
|
||||
Added support for MySQL enum type
|
||||
Added support for MySQL set type
|
||||
Fixed bug with sort field number zero
|
||||
Fixed bug in PME Setup w/ wrong name to support language labels
|
||||
in generated .inc file
|
||||
Fixed bug in PME Setup where generated file was including non-existent
|
||||
header/footer files
|
||||
Added support in PME Setup for default values MySQL derived
|
||||
from MySQL table description
|
||||
Fixed date edit form display bug
|
||||
Added another action--Display Detail.
|
||||
In $opts['options'], it's an 'E' and is on by default
|
||||
|
||||
24-Jan-02 - 4.001b1 Many Changes
|
||||
Added support for a calculated column requires:
|
||||
$fdd['other']['name']='Col Header';
|
||||
$fdd['other']['expression']='onHand-ordered';
|
||||
$fdd['other']['sort']='T:!';
|
||||
$fdd['other']['select']='T';
|
||||
$fdd['other']['type']='int';
|
||||
'other' can be anything, but multiple ones in a single
|
||||
file need to be unique
|
||||
'expression' can be any valid MySQL expression
|
||||
'type' should reflect the results of the expression,
|
||||
e.g. 'int' or 'string'
|
||||
all other options work as with other, normal columns
|
||||
this kind of column is always read-only
|
||||
Most of these changes were motivated by using PME in two
|
||||
medium sized projects.
|
||||
Setup renamed to PHPMyEditSetup.php
|
||||
Setup Added functionality:
|
||||
Ascertains field type from mysql database
|
||||
Setup displays and attempts to write two files.
|
||||
These files are written to a configurable directory.
|
||||
PHPMyEdit.inc Added functionality:
|
||||
Date and Number filter fields now have in/equality operators
|
||||
Major date handling changes:
|
||||
Dates now handled with multiple input fields
|
||||
Specifiable date ranges (within year ranges only)
|
||||
see 'daterange' option
|
||||
|
||||
Can set listing limit to -1 (all rows on page)
|
||||
Can have multiple initial sort fields which are retained
|
||||
as secondary/tertiary/quaternary/etc sort fields during normal usage
|
||||
'format' option is deprecated in favor of two new options:
|
||||
'datemask' is a PHP date style date format that supports
|
||||
a few of the date macros
|
||||
'mask' is processed by printf() before displaying
|
||||
'daterange' accepts a range of years
|
||||
'maxwidth' is a new option that limits the width of filter fields
|
||||
'URL' options have been expanded, maybe too far for security comfort
|
||||
'options' have been expanded to recognize additional params
|
||||
R -- read-only
|
||||
P -- password field
|
||||
H -- hidden field
|
||||
Not for the faint of heart, trigger support has been added,
|
||||
see discussion in home page docs.
|
||||
Initial filters capability has been added, also not for the faint
|
||||
of heart. Flexibility was chosen at the cost of ease of use
|
||||
Default field values are now supported
|
||||
Updates to a table can now be logged to another table
|
||||
Call to $MyForm -> execute() moved to end of the PME class initializer
|
||||
because it always gets executed then anyway
|
||||
Previously unidentified bug fixed where if the coder had referred
|
||||
to the same ['values']['table'] for two different fields would pull
|
||||
(and update) based on the last use of the referenced table.
|
||||
Changed all implicit joins to LEFT OUTER JOINs.
|
||||
Bug fix where addslashes() wasn't complimented by strip
|
||||
Bug fix where filtering didn't work where there were slashes
|
||||
in the data
|
||||
Started moving to single function which generates SELECT statements
|
||||
|
||||
06-May-01 - 3.5 multilingual version - you can now change all
|
||||
the displayed text to your local language.
|
||||
Limited ability to customise the format used for displaying and
|
||||
entering dates (d/m/y, m/d/y, d.m.y etc). However, dates in filters
|
||||
must still be entered in MySQL format.
|
||||
Fixed some bugs introduced when support of column names containing
|
||||
special characters or reserved words was added (e.g. using 'Date' as
|
||||
a column name). Note - database and table names may not contain
|
||||
special characters or reserved words.
|
||||
Changed handling of 'Cancel' button
|
||||
(thanks Bret <mogul@gealtinous.com>)
|
||||
|
||||
23-Apr-01 - 3.4 added 'More' button to 'Add' screen to make it easier
|
||||
to enter multiple records.
|
||||
|
||||
23-Apr-01 - 3.3 fixed bug which prevented 'Next' button working
|
||||
when filter had been activated (oops).
|
||||
|
||||
18-Apr-01 - 3.2 added ['select'] = 'M' to allow Multiple values
|
||||
to be selected in a drop-down list in a filter. The number of values
|
||||
displayed is set by $multiple (default = 4).
|
||||
|
||||
NOTE - $multiple has been added to the call to PHPMyEdit, so this
|
||||
release is not compatible with calling programs produced by earlier
|
||||
releases of SETUP.PHP (sorry).
|
||||
|
||||
20-Mar-01 - 3.1 added ['options'] to provide full control over
|
||||
which fields appear on the List, Add, Change, and Delete screens.
|
||||
This replaces 'listview', which no longer works with this release
|
||||
- i.e. ['options']='ACD' has the same effect as ['listview']=true.
|
||||
|
||||
27-Feb-01 - 3.0 PHPMyEdit converted to PHP classes
|
||||
by Pau Aliagas <pau@newtral.com>.
|
||||
This new version will not work with calling programs created by older
|
||||
versions of SETUP.PHP - you will need to run SETUP.PHP again (sorry).
|
||||
Added $options='I' - to display records from the table with the
|
||||
Initial sort suppressed (useful if you have a very large table with
|
||||
no indexes).
|
||||
|
||||
14-Feb-01 - 2.3 added ['description'] option to ['values'].
|
||||
This considerably enhances PHPMyEdit's ability to handle multiple
|
||||
tables in a seamless manner. It also involved a lot of new code,
|
||||
so 2.3 should be considered as more risky than the well-tested 2.2.
|
||||
|
||||
10-Feb-01 - 2.2 generate javascript to ensure user enters values
|
||||
for fields marked as 'required'. SETUP.PHP now marks 'not_null'
|
||||
fields as 'required' by default.
|
||||
(by Yusuf Kursat Tuncel <kursat@ttnet.net.tr>)
|
||||
PHPMyEdit.PHP now no longer requires 'sort_open_tag' to be set to
|
||||
false.
|
||||
|
||||
NOTE - to use the filter functionality, you must now have 'F' in
|
||||
$OPTIONS in your calling program. This is set automatically by
|
||||
SETUP.PHP in version 2.2, BUT IS NOT BACKWARDS COMPATIBLE (sorry).
|
||||
|
||||
02-Feb-01 - 2.1 suppress display of selected fields from the list
|
||||
display but still allow editing with "listview" property.
|
||||
(by Linas Jakucionis <linas@rl.lt>)
|
||||
|
||||
12-Jan-01 - 2.0 added filter functionality based on an idea from Chris.
|
||||
|
||||
02-Jan-00 - 1.9 fixed minor bug in display of blank fields as textareas
|
||||
|
||||
21-Dec-00 - 1.8 clicking a second time on a column heading causes
|
||||
the sort order to be reversed
|
||||
(thanks to Paolo Petrini <paolo.petrini@gib.it>)
|
||||
Support multi-line textareas (thanks again to Chris Navas)
|
||||
|
||||
19-Dec-00 - 1.7 removed restriction that key field must be numeric
|
||||
with $key_type parameter. Also fixed that not all browsers let you
|
||||
get away with <input disabled...>.
|
||||
|
||||
17-Dec-00 - 1.6 split out php and php3 versions.
|
||||
SETUP.PHP now prompts for the field to be used as a key.
|
||||
PHPMyEdit can now populate drop down lists from a field in a table.
|
||||
|
||||
11-Dec-00 - 1.5 included a local version of an in_array function
|
||||
so PHP Version 3 users can use the program
|
||||
(thanks to <ivo@ibuildings.nl> for the code).
|
||||
|
||||
10-Dec-00 - 1.4 Added support for textareas to SETUP.PHP and PHPMyEdit.
|
||||
Merci beaucoup Chris Navas <chris@arbo.com> pour ce petit truc.
|
||||
|
||||
08-Dec-00 - 1.3 SETUP is now a bit prettier to look at. PHPMyEdit.PHP
|
||||
now allows you to store HTML etc inside a table (previously it
|
||||
stripped out anything that looked like code). Note that it displays
|
||||
HTML as HTML - e.g. if you store <b>this</b> in a table, that's how
|
||||
it will appear on the screen - not 'this' in bold type.
|
||||
|
||||
03-Dec-00 - 1.2 rather more elegant solution to SETUP.PHP problem already
|
||||
fixed temporarily in 1.1.
|
||||
Added warning to SETUP.PHP if PHP is not configured correctly for XML.
|
||||
Added support for "URL" parameter to SETP.PHP and PHPMyEdit.PHP,
|
||||
to allow 'clickable' links to email, web, ftp, etc. addresses.
|
||||
Improved handling of magic_quotes within PHPMyEdit.PHP.
|
||||
|
||||
29-Nov-00 - 1.1 temporary fix to glaring bug which prevented SETUP.PHP
|
||||
working with protected MySQL databases
|
||||
|
||||
105
doc/README
Normal file
105
doc/README
Normal file
@@ -0,0 +1,105 @@
|
||||
phpMyEdit
|
||||
---------
|
||||
|
||||
1. Overview
|
||||
|
||||
How many times have you hand coded a MySQL table editor in PHP?
|
||||
phpMyEdit application provides an instant table editor.
|
||||
|
||||
phpMyEdit generates PHP code for displaying/editing MySQL tables
|
||||
in HTML. All you need to do is to write a simple calling program
|
||||
(a utility to do this is included). It includes a huge set of
|
||||
table manipulation functions (record adition, change, view, copy,
|
||||
and remove), table sorting, filtering, table lookups, and more.
|
||||
|
||||
2. Installation
|
||||
|
||||
For quick installation follow these steps:
|
||||
|
||||
1. Extract phpMyEdit distribution archive.
|
||||
2. Copy/ftp/whatever them to your development web site.
|
||||
3. Using a browser, run phpMyEditSetup.php to log on
|
||||
to your MySQL server.
|
||||
4. Select a database, table and table key.
|
||||
5. Script phpMyEditSetup.php will attempt to write one file
|
||||
and it will also display that file on the screen.
|
||||
6. If the file write to the directory where the files were to be
|
||||
written fails, copy it into your PHP editor, save it to a file,
|
||||
and then run it in the same directory that you used for
|
||||
phpMyEdit.class.php file.
|
||||
|
||||
Portions of the generated PHP file are commented and described.
|
||||
However phpMyEdit has amount of available features, so if there is
|
||||
anything you do not understand, look into official phpMyEdit
|
||||
documentation.
|
||||
|
||||
3. Documentation
|
||||
|
||||
phpMyEdit comes with extensive and exhaustive documentation in SGML,
|
||||
HTML and PDF format with huge amount of options, possibilities and
|
||||
information described. It is available for download as a separate
|
||||
package from phpMyEdit homepage or its project management page.
|
||||
|
||||
4. Homepage and download
|
||||
|
||||
The official phpMyEdit homepage is:
|
||||
http://www.phpMyEdit.org
|
||||
|
||||
The phpMyEdit project management page is:
|
||||
http://platon.sk/projects/main_page.php?project_id=5
|
||||
|
||||
You can download the latest version in "Download" sections
|
||||
of these pages.
|
||||
|
||||
5. Bug reporting and support
|
||||
|
||||
I'm happy to accept bug reports, feature requests, suggestions for
|
||||
improvement, or improved code, preferably via our Platon.SK project
|
||||
management interface where everyone can see them.
|
||||
|
||||
If you are submitting a bug report, please include the main table
|
||||
schema (mysqldump -d [database_name] [table_name]), schema for
|
||||
supporting ['values']['table'] tables, and the contents of the
|
||||
generated PHP file in your bug report. Also be sure to strip out
|
||||
database host/user/password info from the generated file.
|
||||
|
||||
There is also discussion forum available for asking support
|
||||
questions or brainstorming about new features. phpMyEdit has also
|
||||
its own mailinglist and CVS repository. All these issues are
|
||||
described in official documentation.
|
||||
|
||||
Commercial support is also available; see http://phpMyEdit.org
|
||||
for more detailed information.
|
||||
|
||||
6. Developers
|
||||
|
||||
This project was the brain child of John McCreesh who has now moved
|
||||
on to other, more pressing projects. Mr. McCreesh had the foresight
|
||||
and fortitude to put together an excellent framework. Second project
|
||||
maintainer was Jim Kraai who puts a lot of wonderful feature basis
|
||||
and continues development in created framework.
|
||||
|
||||
Many thanks to all those who have contributed code, notes or bug
|
||||
reports. Special thanks belongs to Pau Aliagas <pau@newtral.com>
|
||||
who converted phpMyEdit to PHP class in version 3.0.
|
||||
|
||||
Current maintainer is Ondrej Jombik with help from various phpMyEdit
|
||||
community contributors. See doc/ChangeLog for credits.
|
||||
|
||||
7. License
|
||||
|
||||
phpMyEdit is open-source released under GNU: General Public License;
|
||||
see doc/COPYING file for more information.
|
||||
|
||||
Commercial licensing for closed source projects is also possible;
|
||||
see http://phpMyEdit.org website for more information.
|
||||
|
||||
8. Other information
|
||||
|
||||
This README file was initialy written by John McCreesh, updated by
|
||||
Jim Kraai in 3rd December 2001 and updated by Ondrej Jombik in 24th
|
||||
September 2002 and 12th February 2003.
|
||||
|
||||
If you find any typo or grammar mistake in this document, feel free
|
||||
to send me notice and correction.
|
||||
|
||||
13
doc/TESTS
Normal file
13
doc/TESTS
Normal file
@@ -0,0 +1,13 @@
|
||||
If you have some time, I will appreciate if you could perform some tests to
|
||||
ensure that phpMyEdit is working right with every table.
|
||||
|
||||
[1] Access generated script. Press "Search". Remember number of displayed
|
||||
records and the whole look of the page. Now press "Query". The page should look
|
||||
the same (of course except thing, that filter is opened) and the number of
|
||||
displayed record should not change.
|
||||
|
||||
[2] Ensure you have $opts['display']['query'] enabled. Access generated script.
|
||||
Make some filtering. Click on the "Clear" link in the query line. You will be
|
||||
purpously moved to the first page. Click on the "Next". You should get the page
|
||||
no. 2.
|
||||
|
||||
136
doc/TODO
Normal file
136
doc/TODO
Normal file
@@ -0,0 +1,136 @@
|
||||
phpMyEdit TODO list
|
||||
-------------------
|
||||
|
||||
* change SQL table aliases from "TableN" to "phpMyEdit_table_alias_N" or
|
||||
something similar
|
||||
- done with "PMEtableN" and "PMEjoinN" for lookup tables
|
||||
* filter should be allowed only if $opts['options'] contains 'F'
|
||||
- multi-part date handling
|
||||
- finish converting date handling to internal date handling functions
|
||||
- abstract date field gathering to get rid of _many_ redundant lines of code
|
||||
- there was some kludged fix for dateformat'ting where '%'s are removed
|
||||
- better support for more date format macros
|
||||
- better documentation for valid date format macros
|
||||
- aggregates - firstly make specification and than implement such feature(s)
|
||||
- data validation: expand JS field validation to match JS regexes
|
||||
- data validation: create PHP field validation to match PHP regexes
|
||||
|
||||
* do_add_record() triggers - change $vals_ori to $vals and $vals to $vals_quoted
|
||||
- $vals_ori changed to $values
|
||||
* do_add_record() triggers - make $vals available also in "before" trigger
|
||||
|
||||
- template based control of add/change/copy/view/delete record page; maybe also
|
||||
control of list page
|
||||
* add ['display']['form'] parameter to control HTML <FORM> and </FORM> tag;
|
||||
policy for this: if missing => display form, if not and true => display form,
|
||||
if not missing and false => do not display form
|
||||
|
||||
* array compatible "sort_field" option to have possibility of default sorting
|
||||
according to more than one table column
|
||||
* fix sorting problem when using table lookup with divs (separator)
|
||||
* if picture/text links enabled, use texts for filter/search/hide buttons
|
||||
* create URL links also in record view/delete
|
||||
|
||||
- fix this: `filters' option works fine, but when there is column with the same
|
||||
name in main table and also in join table, it must be prefixed by table alias
|
||||
(TableX.); prefixation with table name of course does not work; maybe note
|
||||
should be added into this option to use aliases, because this is difficult to
|
||||
fix without CPU expensive SQL parser
|
||||
* add original variables which will persist whole session support
|
||||
- implemented via ['cgi']['persist']
|
||||
* reimplement actionStyle to have possibility spefify where you want navigation
|
||||
buttons (up, down or both) and/or image/text action links
|
||||
* implement repeating save in change operation (after repeating save is change
|
||||
record displayed again instead of table listing)
|
||||
- "Apply" function works fine
|
||||
* extend patch from Shaun Johnston and add divs['-1'] to implement prefix and
|
||||
divs[$n + 1] to implement postfix
|
||||
|
||||
|
||||
* what is difference between default_sort_columns and sort_field
|
||||
- not important now, default_sort_columns remove and sort_field brings amount
|
||||
of usable features, check doc/ChangeLog file for more information
|
||||
* after save of records, fields are incorrectly displayed (in example
|
||||
Description field in Authors is showed)
|
||||
- nasty bug created in 4.x, fixed and works fine
|
||||
* URLtarget to specify URL target
|
||||
|
||||
* links and buttons - booth used for records manipulating is not good
|
||||
idea?
|
||||
- good idea, implemented, use `navigation' option key for this
|
||||
* when using images or links instead of buttons, change and delete links
|
||||
are constructed with English words (not national):
|
||||
http://example.com/authors.php?sfn=0&fl=0&fm=0&operation=Change&rec=1
|
||||
http://example.com/authors.php?sfn=0&fl=0&fm=0&operation=Delete&rec=1
|
||||
Than it is impossible to change or delete record via links. Other
|
||||
functions such as view and copy works well.
|
||||
- fixed, works fine
|
||||
|
||||
* images should be transparent, and not GIFs but PNGs
|
||||
+ path prefix specification to graphic image styles
|
||||
+ default sort columns are cool, but is there a way to specify
|
||||
descending ordering? In this case empty strings goes first and
|
||||
I want them at the end of list
|
||||
|
||||
* value of 0 in number of records to display on the screen will cause
|
||||
"Division by zero" error; so this should have the same functionality
|
||||
as -1 (display all records)
|
||||
- fixed
|
||||
|
||||
* according to language uand settings use htmlentities()
|
||||
or htmlspecialchars()
|
||||
- problematic htmlentities() is not used anymore
|
||||
|
||||
+ abbility to take more than one column from external table when using
|
||||
optional description field;
|
||||
Example:
|
||||
I have a table of authors with surname and firstname fields.
|
||||
I have also table of articles with author_id field.
|
||||
I want during adding new article to select from authors, but not only
|
||||
by surname, but by both, surname and firstname.
|
||||
Posible solutions:
|
||||
1. specify one field '@concat(surname, ', ', firstname)
|
||||
2. specify by array
|
||||
Although this seems to be difficult to implement.
|
||||
|
||||
+ ability to resize set of values from external table about value 'not set'
|
||||
Example:
|
||||
I have table of organizations.
|
||||
I have table of users with organization_id field.
|
||||
Every user may be in organization, but he/she mustn't.
|
||||
So I wanted to select from organization table names or select nothing and
|
||||
than organization_id will be 0.
|
||||
- implemented via ['values2']
|
||||
|
||||
+ security hole with View (remove View ability and use operation=View, it will
|
||||
also give you a view ability)
|
||||
- should be checked
|
||||
+ the same with Change (after saving, records will be surprisingly added)
|
||||
- should be fixed
|
||||
|
||||
* allow to set CSS's clases for <td> (odd and even), <th>, <table>, <a>, etc
|
||||
- multiple primary key support
|
||||
- M:N joins support and similary sets support
|
||||
+ allow to select any combination of description columns when makes join; eval()
|
||||
should be used for this purpose to allow also some simple data transforming
|
||||
- implemented via ['description']['columns'] and ['description']['divs']
|
||||
but should be re-thought and changed
|
||||
* $inc sets to 0 means unlimited
|
||||
|
||||
* implementation of view action - requires change of $labels, but it is
|
||||
neccessary
|
||||
* column ability to be showed and read-only in add/edit screen
|
||||
(example of use: description column of property/config table)
|
||||
+ fix page number after search (that means: I'm on page 4/50, I search for
|
||||
some records and result is a few in example 5 records, all of these 5 records
|
||||
are able to fill 1 page, but I will be after search on page 4/1 - that's
|
||||
really strange)
|
||||
- need testing
|
||||
* fast moving between list pages (pulldown menu with page numbers)
|
||||
+ $where variable in options to specify where clausule for working only
|
||||
with subset of data
|
||||
- to have ability of setting up particular filter anc do not need to enter
|
||||
filtering value in add or other forms
|
||||
- data removing protection - delete will only mark record as deleted
|
||||
- hint: can be handled in triggers, however no one have this tested yet
|
||||
|
||||
1
doc/VERSION
Normal file
1
doc/VERSION
Normal file
@@ -0,0 +1 @@
|
||||
5.7.1
|
||||
184
domains.php
Normal file
184
domains.php
Normal file
@@ -0,0 +1,184 @@
|
||||
<style type="text/css">
|
||||
hr.pme-hr { border: 0px solid; padding: 0px; margin: 0px; border-top-width: 1px; height: 1px; }
|
||||
table.pme-main { border: #004d9c 1px solid; border-collapse: collapse; border-spacing: 0px; width: 100%; }
|
||||
table.pme-navigation { border: #004d9c 0px solid; border-collapse: collapse; border-spacing: 0px; width: 100%; }
|
||||
td.pme-navigation-0, td.pme-navigation-1 { white-space: nowrap; }
|
||||
th.pme-header { border: #004d9c 1px solid; padding: 4px; background: #add8e6; }
|
||||
td.pme-key-0, td.pme-value-0, td.pme-help-0, td.pme-navigation-0, td.pme-cell-0,
|
||||
td.pme-key-1, td.pme-value-1, td.pme-help-0, td.pme-navigation-1, td.pme-cell-1,
|
||||
td.pme-sortinfo, td.pme-filter { border: #004d9c 1px solid; padding: 3px; }
|
||||
td.pme-buttons { text-align: left; }
|
||||
td.pme-message { text-align: center; }
|
||||
td.pme-stats { text-align: right; }
|
||||
</style><?php
|
||||
|
||||
/*
|
||||
* IMPORTANT NOTE: This generated file contains only a subset of huge amount
|
||||
* of options that can be used with phpMyEdit. To get information about all
|
||||
* features offered by phpMyEdit, check official documentation. It is available
|
||||
* online and also for download on phpMyEdit project management page:
|
||||
*
|
||||
* http://platon.sk/projects/main_page.php?project_id=5
|
||||
*
|
||||
* This file was generated by:
|
||||
*
|
||||
* phpMyEdit version: 5.7.1
|
||||
* phpMyEdit.class.php core class: 1.204
|
||||
* phpMyEditSetup.php script: 1.50
|
||||
* generating setup script: 1.50
|
||||
*/
|
||||
|
||||
// MySQL host name, user name, password, database, and table
|
||||
require_once("service-admin.inc.php");
|
||||
$opts['tb'] = 'domains';
|
||||
|
||||
// Name of field which is the unique key
|
||||
$opts['key'] = 'domainid';
|
||||
|
||||
// Type of key field (int/real/string/date etc.)
|
||||
$opts['key_type'] = 'int';
|
||||
|
||||
// Sorting field(s)
|
||||
$opts['sort_field'] = array('domainid');
|
||||
|
||||
// Number of records to display on the screen
|
||||
// Value of -1 lists all records in a table
|
||||
$opts['inc'] = 15;
|
||||
|
||||
// Options you wish to give the users
|
||||
// A - add, C - change, P - copy, V - view, D - delete,
|
||||
// F - filter, I - initial sort suppressed
|
||||
$opts['options'] = 'ACPVDF';
|
||||
|
||||
// Number of lines to display on multiple selection filters
|
||||
$opts['multiple'] = '4';
|
||||
|
||||
// Navigation style: B - buttons (default), T - text links, G - graphic links
|
||||
// Buttons position: U - up, D - down (default)
|
||||
$opts['navigation'] = 'DB';
|
||||
|
||||
// Display special page elements
|
||||
$opts['display'] = array(
|
||||
'form' => true,
|
||||
'query' => true,
|
||||
'sort' => true,
|
||||
'time' => true,
|
||||
'tabs' => true
|
||||
);
|
||||
|
||||
// Set default prefixes for variables
|
||||
$opts['js']['prefix'] = 'PME_js_';
|
||||
$opts['dhtml']['prefix'] = 'PME_dhtml_';
|
||||
$opts['cgi']['prefix']['operation'] = 'PME_op_';
|
||||
$opts['cgi']['prefix']['sys'] = 'PME_sys_';
|
||||
$opts['cgi']['prefix']['data'] = 'PME_data_';
|
||||
|
||||
/* Get the user's default language and use it if possible or you can
|
||||
specify particular one you want to use. Refer to official documentation
|
||||
for list of available languages. */
|
||||
$opts['language'] = $_SERVER['HTTP_ACCEPT_LANGUAGE'] . '-UTF8';
|
||||
|
||||
/* Table-level filter capability. If set, it is included in the WHERE clause
|
||||
of any generated SELECT statement in SQL query. This gives you ability to
|
||||
work only with subset of data from table.
|
||||
|
||||
$opts['filters'] = "column1 like '%11%' AND column2<17";
|
||||
$opts['filters'] = "section_id = 9";
|
||||
$opts['filters'] = "PMEtable0.sessions_count > 200";
|
||||
*/
|
||||
|
||||
/* Field definitions
|
||||
|
||||
Fields will be displayed left to right on the screen in the order in which they
|
||||
appear in generated list. Here are some most used field options documented.
|
||||
|
||||
['name'] is the title used for column headings, etc.;
|
||||
['maxlen'] maximum length to display add/edit/search input boxes
|
||||
['trimlen'] maximum length of string content to display in row listing
|
||||
['width'] is an optional display width specification for the column
|
||||
e.g. ['width'] = '100px';
|
||||
['mask'] a string that is used by sprintf() to format field output
|
||||
['sort'] true or false; means the users may sort the display on this column
|
||||
['strip_tags'] true or false; whether to strip tags from content
|
||||
['nowrap'] true or false; whether this field should get a NOWRAP
|
||||
['select'] T - text, N - numeric, D - drop-down, M - multiple selection
|
||||
['options'] optional parameter to control whether a field is displayed
|
||||
L - list, F - filter, A - add, C - change, P - copy, D - delete, V - view
|
||||
Another flags are:
|
||||
R - indicates that a field is read only
|
||||
W - indicates that a field is a password field
|
||||
H - indicates that a field is to be hidden and marked as hidden
|
||||
['URL'] is used to make a field 'clickable' in the display
|
||||
e.g.: 'mailto:$value', 'http://$value' or '$page?stuff';
|
||||
['URLtarget'] HTML target link specification (for example: _blank)
|
||||
['textarea']['rows'] and/or ['textarea']['cols']
|
||||
specifies a textarea is to be used to give multi-line input
|
||||
e.g. ['textarea']['rows'] = 5; ['textarea']['cols'] = 10
|
||||
['values'] restricts user input to the specified constants,
|
||||
e.g. ['values'] = array('A','B','C') or ['values'] = range(1,99)
|
||||
['values']['table'] and ['values']['column'] restricts user input
|
||||
to the values found in the specified column of another table
|
||||
['values']['description'] = 'desc_column'
|
||||
The optional ['values']['description'] field allows the value(s) displayed
|
||||
to the user to be different to those in the ['values']['column'] field.
|
||||
This is useful for giving more meaning to column values. Multiple
|
||||
descriptions fields are also possible. Check documentation for this.
|
||||
*/
|
||||
|
||||
$opts['fdd']['domainid'] = array(
|
||||
'name' => 'Domainid',
|
||||
'select' => 'T',
|
||||
'options' => 'AVCPDR', // auto increment
|
||||
'maxlen' => 20,
|
||||
'default' => '0',
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['domain'] = array(
|
||||
'name' => 'Domain',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['rsp'] = array(
|
||||
'name' => 'Rsp',
|
||||
'select' => 'T',
|
||||
'maxlen' => 20,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['registrar'] = array(
|
||||
'name' => 'Registrar',
|
||||
'select' => 'T',
|
||||
'maxlen' => 20,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['whoisglue'] = array(
|
||||
'name' => 'Whoisglue',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['dnshosts'] = array(
|
||||
'name' => 'Dnshosts',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['mxhosts'] = array(
|
||||
'name' => 'Mxhosts',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['web'] = array(
|
||||
'name' => 'Web',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => true
|
||||
);
|
||||
|
||||
// Now important call to phpMyEdit
|
||||
require_once 'phpMyEdit.class.php';
|
||||
new phpMyEdit($opts);
|
||||
|
||||
?>
|
||||
|
||||
208
editinvoicelines.php
Normal file
208
editinvoicelines.php
Normal file
@@ -0,0 +1,208 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Items to invoice</title>
|
||||
<style type="text/css">
|
||||
hr.pme-hr { border: 0px solid; padding: 0px; margin: 0px; border-top-width: 1px; height: 1px; }
|
||||
table.pme-main { border: #004d9c 1px solid; border-collapse: collapse; border-spacing: 0px; width: 100%; }
|
||||
table.pme-navigation { border: #004d9c 0px solid; border-collapse: collapse; border-spacing: 0px; width: 100%; }
|
||||
td.pme-navigation-0, td.pme-navigation-1 { white-space: nowrap; }
|
||||
th.pme-header { border: #004d9c 1px solid; padding: 4px; background: #add8e6; }
|
||||
td.pme-key-0, td.pme-value-0, td.pme-help-0, td.pme-navigation-0, td.pme-cell-0,
|
||||
td.pme-key-1, td.pme-value-1, td.pme-help-0, td.pme-navigation-1, td.pme-cell-1,
|
||||
td.pme-sortinfo, td.pme-filter { border: #004d9c 1px solid; padding: 3px; }
|
||||
td.pme-buttons { text-align: left; }
|
||||
td.pme-message { text-align: center; }
|
||||
td.pme-stats { text-align: right; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h3>Items to invoice</h3>
|
||||
<?php
|
||||
|
||||
/*
|
||||
* IMPORTANT NOTE: This generated file contains only a subset of huge amount
|
||||
* of options that can be used with phpMyEdit. To get information about all
|
||||
* features offered by phpMyEdit, check official documentation. It is available
|
||||
* online and also for download on phpMyEdit project management page:
|
||||
*
|
||||
* http://platon.sk/projects/main_page.php?project_id=5
|
||||
*
|
||||
* This file was generated by:
|
||||
*
|
||||
* phpMyEdit version: 5.7.1
|
||||
* phpMyEdit.class.php core class: 1.204
|
||||
* phpMyEditSetup.php script: 1.50
|
||||
* generating setup script: 1.50
|
||||
*/
|
||||
|
||||
// MySQL host name, user name, password, database, and table
|
||||
require_once("service-admin.inc.php");
|
||||
$opts['tb'] = 'invoicelines';
|
||||
|
||||
// Name of field which is the unique key
|
||||
$opts['key'] = 'invoicelineid';
|
||||
|
||||
// Type of key field (int/real/string/date etc.)
|
||||
$opts['key_type'] = 'int';
|
||||
|
||||
// Filter out invoicelines already invoiced
|
||||
$opts['filters'] = 'invoiceid IS NULL';
|
||||
|
||||
// Sorting field(s)
|
||||
$opts['sort_field'] = array('-invoiceid', 'customerid', 'invoicelinedate');
|
||||
|
||||
// Number of records to display on the screen
|
||||
// Value of -1 lists all records in a table
|
||||
$opts['inc'] = -1;
|
||||
|
||||
// Options you wish to give the users
|
||||
// A - add, C - change, P - copy, V - view, D - delete,
|
||||
// F - filter, I - initial sort suppressed
|
||||
$opts['options'] = 'ACPVDF';
|
||||
|
||||
// Number of lines to display on multiple selection filters
|
||||
$opts['multiple'] = '4';
|
||||
|
||||
// Navigation style: B - buttons (default), T - text links, G - graphic links
|
||||
// Buttons position: U - up, D - down (default)
|
||||
$opts['navigation'] = 'DB';
|
||||
|
||||
// Display special page elements
|
||||
$opts['display'] = array(
|
||||
'form' => true,
|
||||
'query' => true,
|
||||
'sort' => true,
|
||||
'time' => true,
|
||||
'tabs' => true
|
||||
);
|
||||
|
||||
// Set default prefixes for variables
|
||||
$opts['js']['prefix'] = 'PME_js_';
|
||||
$opts['dhtml']['prefix'] = 'PME_dhtml_';
|
||||
$opts['cgi']['prefix']['operation'] = 'PME_op_';
|
||||
$opts['cgi']['prefix']['sys'] = 'PME_sys_';
|
||||
$opts['cgi']['prefix']['data'] = 'PME_data_';
|
||||
|
||||
/* Get the user's default language and use it if possible or you can
|
||||
specify particular one you want to use. Refer to official documentation
|
||||
for list of available languages. */
|
||||
$opts['language'] = $_SERVER['HTTP_ACCEPT_LANGUAGE'] . '-UTF8';
|
||||
|
||||
/* Table-level filter capability. If set, it is included in the WHERE clause
|
||||
of any generated SELECT statement in SQL query. This gives you ability to
|
||||
work only with subset of data from table.
|
||||
|
||||
$opts['filters'] = "column1 like '%11%' AND column2<17";
|
||||
$opts['filters'] = "section_id = 9";
|
||||
$opts['filters'] = "PMEtable0.sessions_count > 200";
|
||||
*/
|
||||
|
||||
/* Field definitions
|
||||
|
||||
Fields will be displayed left to right on the screen in the order in which they
|
||||
appear in generated list. Here are some most used field options documented.
|
||||
|
||||
['name'] is the title used for column headings, etc.;
|
||||
['maxlen'] maximum length to display add/edit/search input boxes
|
||||
['trimlen'] maximum length of string content to display in row listing
|
||||
['width'] is an optional display width specification for the column
|
||||
e.g. ['width'] = '100px';
|
||||
['mask'] a string that is used by sprintf() to format field output
|
||||
['sort'] true or false; means the users may sort the display on this column
|
||||
['strip_tags'] true or false; whether to strip tags from content
|
||||
['nowrap'] true or false; whether this field should get a NOWRAP
|
||||
['select'] T - text, N - numeric, D - drop-down, M - multiple selection
|
||||
['options'] optional parameter to control whether a field is displayed
|
||||
L - list, F - filter, A - add, C - change, P - copy, D - delete, V - view
|
||||
Another flags are:
|
||||
R - indicates that a field is read only
|
||||
W - indicates that a field is a password field
|
||||
H - indicates that a field is to be hidden and marked as hidden
|
||||
['URL'] is used to make a field 'clickable' in the display
|
||||
e.g.: 'mailto:$value', 'http://$value' or '$page?stuff';
|
||||
['URLtarget'] HTML target link specification (for example: _blank)
|
||||
['textarea']['rows'] and/or ['textarea']['cols']
|
||||
specifies a textarea is to be used to give multi-line input
|
||||
e.g. ['textarea']['rows'] = 5; ['textarea']['cols'] = 10
|
||||
['values'] restricts user input to the specified constants,
|
||||
e.g. ['values'] = array('A','B','C') or ['values'] = range(1,99)
|
||||
['values']['table'] and ['values']['column'] restricts user input
|
||||
to the values found in the specified column of another table
|
||||
['values']['description'] = 'desc_column'
|
||||
The optional ['values']['description'] field allows the value(s) displayed
|
||||
to the user to be different to those in the ['values']['column'] field.
|
||||
This is useful for giving more meaning to column values. Multiple
|
||||
descriptions fields are also possible. Check documentation for this.
|
||||
*/
|
||||
|
||||
$opts['fdd']['invoicelineid'] = array(
|
||||
'name' => 'Invoicelineid',
|
||||
'select' => 'C',
|
||||
'options' => 'AVCPDR', // auto increment
|
||||
'maxlen' => 20,
|
||||
'default' => '0',
|
||||
'sort' => false
|
||||
);
|
||||
$opts['fdd']['invoiceid'] = array(
|
||||
'name' => 'Invoice',
|
||||
'select' => 'N',
|
||||
'options' => 'LFAVCPDR',
|
||||
'maxlen' => 20,
|
||||
'sqlw' => 'IF(CAST($val_qas AS DECIMAL) = 0, NULL, CAST($val_qas AS DECIMAL))', // Only store value if it is a value
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['customerid'] = array(
|
||||
'name' => 'Customer',
|
||||
'select' => 'T',
|
||||
'maxlen' => 20,
|
||||
'values' => array(
|
||||
'table' => 'customers',
|
||||
'column' => 'customerid',
|
||||
'description' => 'customername'
|
||||
),
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['subscriptionid'] = array(
|
||||
'name' => 'Subscription',
|
||||
'input' => 'R',
|
||||
'select' => 'T',
|
||||
'maxlen' => 20,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['description'] = array(
|
||||
'name' => 'Description',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['invoicelinedate'] = array(
|
||||
'name' => 'Invoicelinedate',
|
||||
'select' => 'T',
|
||||
'maxlen' => 10,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['amount'] = array(
|
||||
'name' => 'Amount',
|
||||
'select' => 'T',
|
||||
'maxlen' => 12,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['charge'] = array(
|
||||
'name' => 'Charge',
|
||||
'select' => 'T',
|
||||
'maxlen' => 12,
|
||||
'sort' => true
|
||||
);
|
||||
|
||||
// Now important call to phpMyEdit
|
||||
require_once 'phpMyEdit.class.php';
|
||||
new phpMyEdit($opts);
|
||||
|
||||
?>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
209
editinvoices.php
Normal file
209
editinvoices.php
Normal file
@@ -0,0 +1,209 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Items to invoice</title>
|
||||
<style type="text/css">
|
||||
hr.pme-hr { border: 0px solid; padding: 0px; margin: 0px; border-top-width: 1px; height: 1px; }
|
||||
table.pme-main { border: #004d9c 1px solid; border-collapse: collapse; border-spacing: 0px; width: 100%; }
|
||||
table.pme-navigation { border: #004d9c 0px solid; border-collapse: collapse; border-spacing: 0px; width: 100%; }
|
||||
td.pme-navigation-0, td.pme-navigation-1 { white-space: nowrap; }
|
||||
th.pme-header { border: #004d9c 1px solid; padding: 4px; background: #add8e6; }
|
||||
td.pme-key-0, td.pme-value-0, td.pme-help-0, td.pme-navigation-0, td.pme-cell-0,
|
||||
td.pme-key-1, td.pme-value-1, td.pme-help-0, td.pme-navigation-1, td.pme-cell-1,
|
||||
td.pme-sortinfo, td.pme-filter { border: #004d9c 1px solid; padding: 3px; }
|
||||
td.pme-buttons { text-align: left; }
|
||||
td.pme-message { text-align: center; }
|
||||
td.pme-stats { text-align: right; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h3>Generated invoices</h3>
|
||||
<?php
|
||||
|
||||
/*
|
||||
* IMPORTANT NOTE: This generated file contains only a subset of huge amount
|
||||
* of options that can be used with phpMyEdit. To get information about all
|
||||
* features offered by phpMyEdit, check official documentation. It is available
|
||||
* online and also for download on phpMyEdit project management page:
|
||||
*
|
||||
* http://platon.sk/projects/main_page.php?project_id=5
|
||||
*
|
||||
* This file was generated by:
|
||||
*
|
||||
* phpMyEdit version: 5.7.1
|
||||
* phpMyEdit.class.php core class: 1.204
|
||||
* phpMyEditSetup.php script: 1.50
|
||||
* generating setup script: 1.50
|
||||
*/
|
||||
|
||||
// MySQL host name, user name, password, database, and table
|
||||
require_once("service-admin.inc.php");
|
||||
$opts['tb'] = 'invoicelines';
|
||||
|
||||
// Name of field which is the unique key
|
||||
$opts['key'] = 'invoicelineid';
|
||||
|
||||
// Type of key field (int/real/string/date etc.)
|
||||
$opts['key_type'] = 'int';
|
||||
|
||||
// Filter out invoicelines already invoiced
|
||||
$opts['filters'] = 'invoiceid IS NOT NULL';
|
||||
|
||||
// Sorting field(s)
|
||||
$opts['sort_field'] = array('-invoiceid', 'customerid', 'invoicelinedate');
|
||||
|
||||
// Number of records to display on the screen
|
||||
// Value of -1 lists all records in a table
|
||||
$opts['inc'] = -1;
|
||||
|
||||
// Options you wish to give the users
|
||||
// A - add, C - change, P - copy, V - view, D - delete,
|
||||
// F - filter, I - initial sort suppressed
|
||||
$opts['options'] = 'ACPVDF';
|
||||
|
||||
// Number of lines to display on multiple selection filters
|
||||
$opts['multiple'] = '4';
|
||||
|
||||
// Navigation style: B - buttons (default), T - text links, G - graphic links
|
||||
// Buttons position: U - up, D - down (default)
|
||||
$opts['navigation'] = 'DB';
|
||||
|
||||
// Display special page elements
|
||||
$opts['display'] = array(
|
||||
'form' => true,
|
||||
'query' => true,
|
||||
'sort' => true,
|
||||
'time' => true,
|
||||
'tabs' => true
|
||||
);
|
||||
|
||||
// Set default prefixes for variables
|
||||
$opts['js']['prefix'] = 'PME_js_';
|
||||
$opts['dhtml']['prefix'] = 'PME_dhtml_';
|
||||
$opts['cgi']['prefix']['operation'] = 'PME_op_';
|
||||
$opts['cgi']['prefix']['sys'] = 'PME_sys_';
|
||||
$opts['cgi']['prefix']['data'] = 'PME_data_';
|
||||
|
||||
/* Get the user's default language and use it if possible or you can
|
||||
specify particular one you want to use. Refer to official documentation
|
||||
for list of available languages. */
|
||||
$opts['language'] = $_SERVER['HTTP_ACCEPT_LANGUAGE'] . '-UTF8';
|
||||
|
||||
/* Table-level filter capability. If set, it is included in the WHERE clause
|
||||
of any generated SELECT statement in SQL query. This gives you ability to
|
||||
work only with subset of data from table.
|
||||
|
||||
$opts['filters'] = "column1 like '%11%' AND column2<17";
|
||||
$opts['filters'] = "section_id = 9";
|
||||
$opts['filters'] = "PMEtable0.sessions_count > 200";
|
||||
*/
|
||||
|
||||
/* Field definitions
|
||||
|
||||
Fields will be displayed left to right on the screen in the order in which they
|
||||
appear in generated list. Here are some most used field options documented.
|
||||
|
||||
['name'] is the title used for column headings, etc.;
|
||||
['maxlen'] maximum length to display add/edit/search input boxes
|
||||
['trimlen'] maximum length of string content to display in row listing
|
||||
['width'] is an optional display width specification for the column
|
||||
e.g. ['width'] = '100px';
|
||||
['mask'] a string that is used by sprintf() to format field output
|
||||
['sort'] true or false; means the users may sort the display on this column
|
||||
['strip_tags'] true or false; whether to strip tags from content
|
||||
['nowrap'] true or false; whether this field should get a NOWRAP
|
||||
['select'] T - text, N - numeric, D - drop-down, M - multiple selection
|
||||
['options'] optional parameter to control whether a field is displayed
|
||||
L - list, F - filter, A - add, C - change, P - copy, D - delete, V - view
|
||||
Another flags are:
|
||||
R - indicates that a field is read only
|
||||
W - indicates that a field is a password field
|
||||
H - indicates that a field is to be hidden and marked as hidden
|
||||
['URL'] is used to make a field 'clickable' in the display
|
||||
e.g.: 'mailto:$value', 'http://$value' or '$page?stuff';
|
||||
['URLtarget'] HTML target link specification (for example: _blank)
|
||||
['textarea']['rows'] and/or ['textarea']['cols']
|
||||
specifies a textarea is to be used to give multi-line input
|
||||
e.g. ['textarea']['rows'] = 5; ['textarea']['cols'] = 10
|
||||
['values'] restricts user input to the specified constants,
|
||||
e.g. ['values'] = array('A','B','C') or ['values'] = range(1,99)
|
||||
['values']['table'] and ['values']['column'] restricts user input
|
||||
to the values found in the specified column of another table
|
||||
['values']['description'] = 'desc_column'
|
||||
The optional ['values']['description'] field allows the value(s) displayed
|
||||
to the user to be different to those in the ['values']['column'] field.
|
||||
This is useful for giving more meaning to column values. Multiple
|
||||
descriptions fields are also possible. Check documentation for this.
|
||||
*/
|
||||
|
||||
$opts['fdd']['invoicelineid'] = array(
|
||||
'name' => 'Invoicelineid',
|
||||
'select' => 'C',
|
||||
'options' => 'AVCPDR', // auto increment
|
||||
'maxlen' => 20,
|
||||
'default' => '0',
|
||||
'sort' => false
|
||||
);
|
||||
$opts['fdd']['invoiceid'] = array(
|
||||
'name' => 'Invoice',
|
||||
'select' => 'N',
|
||||
'options' => 'LFAVCPDR',
|
||||
'maxlen' => 20,
|
||||
'sqlw' => 'IF(CAST($val_qas AS DECIMAL) = 0, NULL, CAST($val_qas AS DECIMAL))', // Only store value if it is a value
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['customerid'] = array(
|
||||
'name' => 'Customer',
|
||||
'select' => 'T',
|
||||
'maxlen' => 20,
|
||||
'values' => array(
|
||||
'table' => 'customers',
|
||||
'column' => 'customerid',
|
||||
'description' => 'customername'
|
||||
),
|
||||
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['subscriptionid'] = array(
|
||||
'name' => 'Subscription',
|
||||
'input' => 'R',
|
||||
'select' => 'T',
|
||||
'maxlen' => 20,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['description'] = array(
|
||||
'name' => 'Description',
|
||||
'select' => 'T',
|
||||
'maxlen' => 80,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['invoicelinedate'] = array(
|
||||
'name' => 'Invoicelinedate',
|
||||
'select' => 'T',
|
||||
'maxlen' => 10,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['amount'] = array(
|
||||
'name' => 'Amount',
|
||||
'select' => 'T',
|
||||
'maxlen' => 12,
|
||||
'sort' => true
|
||||
);
|
||||
$opts['fdd']['charge'] = array(
|
||||
'name' => 'Charge',
|
||||
'select' => 'T',
|
||||
'maxlen' => 12,
|
||||
'sort' => true
|
||||
);
|
||||
|
||||
// Now important call to phpMyEdit
|
||||
require_once 'phpMyEdit.class.php';
|
||||
new phpMyEdit($opts);
|
||||
|
||||
?>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
509
extensions/phpMyEdit-mce-cal.class.php
Normal file
509
extensions/phpMyEdit-mce-cal.class.php
Normal file
@@ -0,0 +1,509 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* phpMyEdit - instant MySQL table editor and code generator
|
||||
*
|
||||
* extensions/phpMyEdit-mce-cal.class.php - phpMyEdit html area & calendar popup extension
|
||||
* ____________________________________________________________
|
||||
*
|
||||
* Contribution of Adam Hammond <php@pixolet.co.uk>, London, UK
|
||||
* Contribution of Ezudin Kurtowich <ekurtovic@ieee.org>, Sarajevo
|
||||
* Copyright (c) 2003-2006 Platon Group, http://platon.sk/
|
||||
* All rights reserved.
|
||||
*
|
||||
* Updated 28th Jul 2005
|
||||
*
|
||||
* Updated to use TinyMCE instead of HTMLArea
|
||||
* Updated to handle multiple tabs and to use PME prefixes.
|
||||
* Updated to include sub-form patch
|
||||
*
|
||||
*
|
||||
*
|
||||
* See README file for more information about this software.
|
||||
* See COPYING file for license information.
|
||||
*
|
||||
* Download the latest version from
|
||||
* http://platon.sk/projects/phpMyEdit/
|
||||
*/
|
||||
|
||||
/* $Platon: phpMyEdit/extensions/phpMyEdit-mce-cal.class.php,v 1.6 2006-09-16 18:43:47 nepto Exp $ */
|
||||
|
||||
/*
|
||||
OVERVIEW
|
||||
--------
|
||||
|
||||
mce_cal extends the standard phpMyEdit class to allow
|
||||
a calendar popup helper to be put on any text field and for any textarea
|
||||
field to turned into an HTML editor.
|
||||
This extension uses the free jsCalendar from http://dynarch.com/mishoo
|
||||
and the TinyMCE code from http://tinymce.moxiecode.com/
|
||||
|
||||
REQUIREMENTS
|
||||
------------
|
||||
|
||||
The requirement is a properly installed jsCalendar and TinyMCE script.
|
||||
All browsers supported by these scripts are supported by this
|
||||
extension. Note that version 1.44 or later for TinyMCE is required.
|
||||
|
||||
USAGE
|
||||
-----
|
||||
|
||||
For both features:
|
||||
|
||||
1. Call to phpMyEdit-mce-cal.class.php instead
|
||||
of phpMyEdit.class.php.
|
||||
|
||||
Example:
|
||||
|
||||
require_once 'extensions/phpMyEdit-mce-cal.class.php';
|
||||
new phpMyEdit_mce_cal($opts);
|
||||
|
||||
|
||||
|
||||
HTML TextArea
|
||||
|
||||
This enables WYSIWYG editing of a textarea field.
|
||||
In order to use it, you should:
|
||||
|
||||
1. Load TinyMCE script in the <head>...</head> section of your
|
||||
phpMyEdit calling program as described in the htmlarea manual.
|
||||
|
||||
<!-- tinyMCE -->
|
||||
<script language="javascript" type="text/javascript" src="js/<path to TinyMCE>"></script>
|
||||
<script language="javascript" type="text/javascript">
|
||||
tinyMCE.init({
|
||||
mode : "specific_textareas",
|
||||
auto_reset_designmode : true
|
||||
});
|
||||
</script>
|
||||
<!-- /tinyMCE -->
|
||||
|
||||
where 'js/<path to TinyMCE>' is the path to the javascript code
|
||||
|
||||
NOTES:
|
||||
A. The PME implementation uses the "specific_textareas" mode - this
|
||||
must always be set
|
||||
|
||||
B. Due to a bug in Mozilla, if any of the textareas being used as HTML
|
||||
editors are in tabs and are initially hidden, the width and height
|
||||
need to be specified in the tinyMCE initialization and
|
||||
'auto_reset_designmode' must be set to 'true':
|
||||
|
||||
tinyMCE.init({
|
||||
mode : "specific_textareas",
|
||||
auto_reset_designmode : true,
|
||||
width: "800",
|
||||
height: "200"
|
||||
});
|
||||
|
||||
2. Add 'html'=>true parameter to the textarea field definition
|
||||
in your phpMyEdit calling program.
|
||||
|
||||
Example:
|
||||
|
||||
$opts['fdd']['col_name'] = array(
|
||||
'name' => 'Column',
|
||||
'select' => 'T',
|
||||
'options' => 'ACPVD',
|
||||
'required' => true,
|
||||
'textarea' => array(
|
||||
'html' => true,
|
||||
'rows' => 11,
|
||||
'cols' => 81)
|
||||
);
|
||||
|
||||
3. It is also possible to have multiple text area formats on the same
|
||||
form. This is done by specifying a text tag for the textarea:
|
||||
|
||||
$opts['fdd']['col_name'] = array(
|
||||
'name' => 'Column',
|
||||
'select' => 'T',
|
||||
'options' => 'ACPVD',
|
||||
'required' => true,
|
||||
'textarea' => array(
|
||||
'html' => 'format1',
|
||||
'rows' => 11,
|
||||
'cols' => 81)
|
||||
);
|
||||
|
||||
You then need to initialize TinyMCE in the header to recognize all of
|
||||
the tags used in the textareas.
|
||||
|
||||
EXAMPLE
|
||||
In the following, two formats of tinyMCE editor are defined.
|
||||
|
||||
This example is the default, and will be used for any fields where
|
||||
'html' is set to true.
|
||||
|
||||
tinyMCE.init({
|
||||
mode : "specific_textareas",
|
||||
auto_reset_designmode : true
|
||||
});
|
||||
|
||||
This second example has an extra parameter, 'textarea_trigger', which is
|
||||
set to the text tag given to the textarea in PME with 'mce_' prepended
|
||||
to it.
|
||||
|
||||
tinyMCE.init({
|
||||
mode : "specific_textareas",
|
||||
auto_reset_designmode : true,
|
||||
textarea_trigger : "mce_format1",
|
||||
theme : "advanced",
|
||||
width: "800",
|
||||
height: "200",
|
||||
plugins : "table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,zoom,flash,searchreplace,print",
|
||||
theme_advanced_buttons1_add_before : "save,separator",
|
||||
theme_advanced_buttons1_add : "fontselect,fontsizeselect",
|
||||
theme_advanced_buttons2_add : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor",
|
||||
theme_advanced_buttons2_add_before: "cut,copy,paste,separator,search,replace,separator",
|
||||
theme_advanced_buttons3_add_before : "tablecontrols,separator",
|
||||
theme_advanced_buttons3_add : "emotions,iespell,flash,advhr,separator,print",
|
||||
theme_advanced_toolbar_location : "top",
|
||||
theme_advanced_toolbar_align : "left",
|
||||
theme_advanced_path_location : "bottom",
|
||||
content_css : "example_full.css",
|
||||
plugin_insertdate_dateFormat : "%Y-%m-%d",
|
||||
plugin_insertdate_timeFormat : "%H:%M:%S",
|
||||
extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]"
|
||||
|
||||
});
|
||||
|
||||
So:
|
||||
'html' => 'format1' maps to textarea_trigger : "mce_format1"
|
||||
'html' => 'foo' maps to textarea_trigger : "mce_foo"
|
||||
'html' => 'bar' maps to textarea_trigger : "mce_bar"
|
||||
|
||||
You can initialize TinyMCE as many times as you need to give you as many
|
||||
editor formats as you need.
|
||||
|
||||
CALENDAR
|
||||
|
||||
This extension enables the display of a popup calendar selection
|
||||
against selected fields.
|
||||
|
||||
In order to use it, you should:
|
||||
|
||||
1. Load the jsCalendar scripts in the <head>...</head> section of
|
||||
your phpMyEdit calling program, substituting the correct paths:
|
||||
|
||||
<script type="text/javascript" src="js/jscalendar/calendar.js"></script>
|
||||
<script type="text/javascript" src="js/jscalendar/lang/calendar-en.js"></script>
|
||||
<script type="text/javascript" src="js/jscalendar/calendar-setup.js"></script>
|
||||
|
||||
2. Choose your preferred jsCalendar CSS file (see jsCalendar
|
||||
documentation) and add the following in the <head>...</head>
|
||||
section of your phpMyEdit calling program, substituting the
|
||||
correct path:
|
||||
|
||||
<link rel="stylesheet" type="text/css" media="screen"
|
||||
href="js/jscalendar/calendar-system.css">
|
||||
|
||||
3. Add 'calendar' parameter to the field definitions where you
|
||||
want a calendar popup in your phpMyEdit calling program.
|
||||
|
||||
Example:
|
||||
|
||||
$opts['fdd']['col_name'] = array(
|
||||
'name' => 'Column',
|
||||
'select' => 'T',
|
||||
'options' => 'ACPVD',
|
||||
'required' => true,
|
||||
'calendar' => true
|
||||
);
|
||||
|
||||
This is will display a button next to the field which pops up
|
||||
a calendar when clicked. If that field has a 'strftimemask'
|
||||
parameter set, it will use this for the date format.
|
||||
|
||||
For more advanced usage, you can set the 'calendar' parameter
|
||||
to an array of valid jsCalendar Calendar.setup options
|
||||
(see jSCalendar document for details). Note that not all
|
||||
of these options make sense to use in phpMyEdit, and some
|
||||
of them will actively break the function.
|
||||
|
||||
Example:
|
||||
|
||||
$opts['fdd']['col_name'] = array(
|
||||
'name' => 'Column',
|
||||
'select' => 'T',
|
||||
'options' => 'ACPVD',
|
||||
'required' => true,
|
||||
'calendar' => array(
|
||||
'ifFormat' => '%Y/%m/%d', // defaults to the ['strftimemask']
|
||||
'firstDay' => 1, // 0 = Sunday, 1 = Monday
|
||||
'singleClick' => true, // single or double click to close
|
||||
'weekNumbers' => true, // Show week numbers
|
||||
'showsTime' => false, // Show time as well as date
|
||||
'timeFormat' => '24', // 12 or 24 hour clock
|
||||
'button' => true, // Display button (rather then clickable area)
|
||||
'label' => '...', // button label (used by phpMyEdit)
|
||||
'date' => '2003-12-19 10:00' // Initial date/time for popup
|
||||
// (see notes below)
|
||||
)
|
||||
);
|
||||
|
||||
NOTES
|
||||
-----
|
||||
|
||||
1. The popup will normally set the initial value to the current
|
||||
field value or to current date/time. 'date' option will always
|
||||
override this, even if there is a current date/time value
|
||||
in the field. If you want a default value only if the field
|
||||
is currently empty, use the phpMyEdit 'default' option.
|
||||
|
||||
2. Only the options listed above may be set by the user, any other
|
||||
options will be ignored.
|
||||
|
||||
3. The 'label' option can contain HTML markup which will be displayed as
|
||||
the button/clickable area to pull up the calendar
|
||||
|
||||
SEARCH KEYWORD
|
||||
--------------
|
||||
|
||||
Search for "htmlcal" string in this source code,
|
||||
to find all extension related modifications.
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__).'/../phpMyEdit.class.php';
|
||||
|
||||
class phpMyEdit_mce_cal extends phpMyEdit
|
||||
{
|
||||
/* calendar mod start */
|
||||
|
||||
var $calendars; // Array for collecting list of fields with calendar popups
|
||||
|
||||
/* Array of valid options for passing to Calendar.setup */
|
||||
var $valid_opts = array(
|
||||
'button','ifFormat','singleClick','firstDay',
|
||||
'weekNumbers','showsTime','timeFormat','date'
|
||||
);
|
||||
|
||||
/**
|
||||
* Checks to see if the calendar parameter is set on the field
|
||||
*
|
||||
* @param k current field name
|
||||
* @param curval current value of field (set to null for default)
|
||||
*
|
||||
* If the calendar parameter is set on the field, this function displays
|
||||
* the button. It then pushes the Calendar.setup parameters into an array,
|
||||
* including the user specified ones in the calling program is they exist.
|
||||
* This array is then added to the $calendars array indexed by the field
|
||||
* name. This allows for multiple fields with calendar popups.
|
||||
*/
|
||||
function calPopup_helper($k, $curval) /* {{{ */
|
||||
{
|
||||
if (@$this->fdd[$k]['calendar']) {
|
||||
$cal_ar['ifFormat'] = '%Y-%m-%d %H:%M';
|
||||
$cal_ar['showsTime'] = true;
|
||||
$cal_ar['singleClick'] = false;
|
||||
if (isset($curval)) {
|
||||
if (substr($curval, 0, 4) != '0000')
|
||||
$cal_ar['date'] = $curval;
|
||||
}
|
||||
if (isset($this->fdd[$k]['strftimemask'])) {
|
||||
$cal_ar['ifFormat'] = $this->fdd[$k]['strftimemask'];
|
||||
}
|
||||
if (is_array($this->fdd[$k]['calendar'])) {
|
||||
foreach($this->fdd[$k]['calendar'] as $ck => $cv) {
|
||||
$cal_ar[$ck] = $cv;
|
||||
}
|
||||
}
|
||||
$cal_ar['button'] = $this->dhtml['prefix'].'calbutton_'.$this->fds[$k];
|
||||
$this->calendars[$this->fds[$k]] = $cal_ar;
|
||||
|
||||
$label = @$this->fdd[$k]['calendar']['label'];
|
||||
strlen($label) || $label = '...';
|
||||
|
||||
$do_button = true;
|
||||
if (isset($this->fdd[$k]['calendar']['button'])) {
|
||||
$do_button = $this->fdd[$k]['calendar']['button'];
|
||||
};
|
||||
|
||||
if ($do_button) {
|
||||
echo '<button id="',$cal_ar['button'],'">',$label,'</button>';
|
||||
} else {
|
||||
echo '<span style="cursor: pointer" id="',$cal_ar['button'],'">',$label,'</span>';
|
||||
}
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
/* calendar mod end */
|
||||
|
||||
function display_add_record() /* {{{ */
|
||||
{
|
||||
for ($tab = 0, $k = 0; $k < $this->num_fds; $k++) {
|
||||
if (isset($this->fdd[$k]['tab']) && $this->tabs_enabled() && $k > 0) {
|
||||
$tab++;
|
||||
echo '</table>',"\n";
|
||||
echo '</div>',"\n";
|
||||
echo '<div id="'.$this->dhtml['prefix'].'tab',$tab,'">',"\n";
|
||||
echo '<table class="',$this->getCSSclass('main'),'" summary="',$this->tb,'">',"\n";
|
||||
}
|
||||
if (! $this->displayed[$k]) {
|
||||
continue;
|
||||
}
|
||||
if ($this->hidden($k)) {
|
||||
echo $this->htmlHiddenData($this->fds[$k], $this->fdd[$k]['default']);
|
||||
continue;
|
||||
}
|
||||
$css_postfix = @$this->fdd[$k]['css']['postfix'];
|
||||
$css_class_name = $this->getCSSclass('input', null, 'next', $css_postfix);
|
||||
echo '<tr class="',$this->getCSSclass('row', null, true, $css_postfix),'">',"\n";
|
||||
echo '<td class="',$this->getCSSclass('key', null, true, $css_postfix),'">';
|
||||
echo $this->fdd[$k]['name'],'</td>',"\n";
|
||||
echo '<td class="',$this->getCSSclass('value', null, true, $css_postfix),'"';
|
||||
echo $this->getColAttributes($k),">\n";
|
||||
if ($this->col_has_values($k)) {
|
||||
$vals = $this->set_values($k);
|
||||
$selected = @$this->fdd[$k]['default'];
|
||||
$multiple = $this->col_has_multiple_select($k);
|
||||
$readonly = $this->readonly($k);
|
||||
$strip_tags = true;
|
||||
$escape = true;
|
||||
echo $this->htmlSelect($this->cgi['prefix']['data'].$this->fds[$k], $css_class_name,
|
||||
$vals, $selected, $multiple, $readonly, $strip_tags, $escape);
|
||||
} elseif (isset ($this->fdd[$k]['textarea'])) {
|
||||
echo '<textarea class="',$css_class_name,'" name="',$this->cgi['prefix']['data'].$this->fds[$k],'"';
|
||||
echo ($this->readonly($k) ? ' disabled' : '');
|
||||
if (intval($this->fdd[$k]['textarea']['rows']) > 0) {
|
||||
echo ' rows="',$this->fdd[$k]['textarea']['rows'],'"';
|
||||
}
|
||||
if (intval($this->fdd[$k]['textarea']['cols']) > 0) {
|
||||
echo ' cols="',$this->fdd[$k]['textarea']['cols'],'"';
|
||||
}
|
||||
if (isset($this->fdd[$k]['textarea']['wrap'])) {
|
||||
echo ' wrap="',$this->fdd[$k]['textarea']['wrap'],'"';
|
||||
} else {
|
||||
echo ' wrap="virtual"';
|
||||
};
|
||||
// mce mod start
|
||||
if (isset($this->fdd[$k]['textarea']['html'])) {
|
||||
$mce_tag = 'editable';
|
||||
if (is_string($this->fdd[$k]['textarea']['html'])) {
|
||||
$mce_tag = $this->fdd[$k]['textarea']['html'];
|
||||
};
|
||||
echo ' mce_'.$mce_tag.'=true ';
|
||||
};
|
||||
// mce mod end
|
||||
echo '>',htmlspecialchars($this->fdd[$k]['default']),'</textarea>',"\n";
|
||||
} else {
|
||||
// Simple edit box required
|
||||
$size_ml_props = '';
|
||||
$maxlen = intval($this->fdd[$k]['maxlen']);
|
||||
$size = isset($this->fdd[$k]['size']) ? $this->fdd[$k]['size'] : min($maxlen, 60);
|
||||
$size && $size_ml_props .= ' size="'.$size.'"';
|
||||
$maxlen && $size_ml_props .= ' maxlength="'.$maxlen.'"';
|
||||
echo '<input class="',$css_class_name,'" ';
|
||||
echo ($this->password($k) ? 'type="password"' : 'type="text"');
|
||||
echo ($this->readonly($k) ? ' disabled' : '');
|
||||
/* calendar mod start */
|
||||
echo ' id="',$this->dhtml['prefix'].'fld_'.$this->fds[$k],'"';
|
||||
/* calendar mod end */
|
||||
echo ' name="',$this->cgi['prefix']['data'].$this->fds[$k],'"';
|
||||
echo $size_ml_props,' value="';
|
||||
echo htmlspecialchars($this->fdd[$k]['default']),'">';
|
||||
/* calendar mod start */
|
||||
/* Call htmlcal helper function */
|
||||
$this->calPopup_helper($k, null);
|
||||
/* calendar mod end */
|
||||
}
|
||||
echo '</td>',"\n";
|
||||
if ($this->guidance) {
|
||||
$css_class_name = $this->getCSSclass('help', null, true, $css_postfix);
|
||||
$cell_value = $this->fdd[$k]['help'] ? $this->fdd[$k]['help'] : ' ';
|
||||
echo '<td class="',$css_class_name,'">',$cell_value,'</td>',"\n";
|
||||
}
|
||||
echo '</tr>',"\n";
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
function display_change_field($row, $k) /* {{{ */
|
||||
{
|
||||
$css_postfix = @$this->fdd[$k]['css']['postfix'];
|
||||
$css_class_name = $this->getCSSclass('input', null, true, $css_postfix);
|
||||
echo '<td class="',$this->getCSSclass('value', null, true, $css_postfix),'"';
|
||||
echo $this->getColAttributes($k),">\n";
|
||||
if ($this->col_has_values($k)) {
|
||||
$vals = $this->set_values($k);
|
||||
$multiple = $this->col_has_multiple_select($k);
|
||||
$readonly = $this->readonly($k);
|
||||
$strip_tags = true;
|
||||
$escape = true;
|
||||
echo $this->htmlSelect($this->cgi['prefix']['data'].$this->fds[$k], $css_class_name,
|
||||
$vals, $row["qf$k"], $multiple, $readonly, $strip_tags, $escape);
|
||||
} elseif (isset($this->fdd[$k]['textarea'])) {
|
||||
echo '<textarea class="',$css_class_name,'" name="',$this->cgi['prefix']['data'].$this->fds[$k],'"';
|
||||
echo ($this->readonly($k) ? ' disabled' : '');
|
||||
if (intval($this->fdd[$k]['textarea']['rows']) > 0) {
|
||||
echo ' rows="',$this->fdd[$k]['textarea']['rows'],'"';
|
||||
}
|
||||
if (intval($this->fdd[$k]['textarea']['cols']) > 0) {
|
||||
echo ' cols="',$this->fdd[$k]['textarea']['cols'],'"';
|
||||
}
|
||||
if (isset($this->fdd[$k]['textarea']['wrap'])) {
|
||||
echo ' wrap="',$this->fdd[$k]['textarea']['wrap'],'"';
|
||||
} else {
|
||||
echo ' wrap="virtual"';
|
||||
};
|
||||
// mce mod start
|
||||
if (isset($this->fdd[$k]['textarea']['html'])) {
|
||||
$mce_tag = 'editable';
|
||||
if (is_string($this->fdd[$k]['textarea']['html'])) {
|
||||
$mce_tag = $this->fdd[$k]['textarea']['html'];
|
||||
};
|
||||
echo ' mce_'.$mce_tag.'=true ';
|
||||
};
|
||||
// mce mod end
|
||||
echo '>',htmlspecialchars($row["qf$k"]),'</textarea>',"\n";
|
||||
} else {
|
||||
$size_ml_props = '';
|
||||
$maxlen = intval($this->fdd[$k]['maxlen']);
|
||||
$size = isset($this->fdd[$k]['size']) ? $this->fdd[$k]['size'] : min($maxlen, 60);
|
||||
$size && $size_ml_props .= ' size="'.$size.'"';
|
||||
$maxlen && $size_ml_props .= ' maxlength="'.$maxlen.'"';
|
||||
echo '<input class="',$css_class_name,'" type="text" ';
|
||||
echo ($this->readonly($k) ? 'disabled ' : '');
|
||||
/* calendar mod start */
|
||||
echo ' id="',$this->dhtml['prefix'].'fld_'.$this->fds[$k],'"';
|
||||
/* calendar mod end */
|
||||
echo 'name="',$this->cgi['prefix']['data'].$this->fds[$k],'" value="';
|
||||
echo htmlspecialchars($row["qf$k"]),'" ',$size_ml_props,'>',"\n";
|
||||
/* calendar mod start */
|
||||
/* Call calPopup helper function */
|
||||
$this->calPopup_helper($k, htmlspecialchars($row["qf$k"]));
|
||||
/* calendar mod end */
|
||||
}
|
||||
echo '</td>',"\n";
|
||||
} /* }}} */
|
||||
|
||||
function form_end() /* {{{ */
|
||||
{
|
||||
if ($this->display['form']) {
|
||||
echo '</form>',"\n";
|
||||
|
||||
/* calendar mod start */
|
||||
|
||||
/* Add script calls to the end of the form for all fields
|
||||
with calendar popups. */
|
||||
if (isset($this->calendars)) {
|
||||
echo '<script type="text/javascript"><!--',"\n";
|
||||
foreach($this->calendars as $ck => $cv) {
|
||||
echo 'Calendar.setup({',"\n";
|
||||
foreach ($cv as $ck1 => $cv1) {
|
||||
if (in_array($ck1, $this->valid_opts)) {
|
||||
echo "\t",str_pad($ck1, 15),' : "',$cv1,'",',"\n";
|
||||
}
|
||||
}
|
||||
echo "\t",str_pad('inputField', 15),' : "',$this->dhtml['prefix'].'fld_'.$ck,'"',"\n";
|
||||
echo '});',"\n";
|
||||
};
|
||||
echo '// -->',"\n";
|
||||
echo '</script>',"\n";
|
||||
};
|
||||
/* calendar mod end */
|
||||
};
|
||||
} /* }}} */
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
319
extensions/phpMyEdit-report.class.php
Normal file
319
extensions/phpMyEdit-report.class.php
Normal file
@@ -0,0 +1,319 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* phpMyEdit - instant MySQL table editor and code generator
|
||||
*
|
||||
* extensions/phpMyEdit-report.class.php - phpMyEdit report extension
|
||||
* ____________________________________________________________
|
||||
*
|
||||
* Developed by Ondrej Jombik <nepto@platon.sk>
|
||||
* Copyright (c) 2002-2006 Platon Group, http://platon.sk/
|
||||
* All rights reserved.
|
||||
*
|
||||
* See README file for more information about this software.
|
||||
* See COPYING file for license information.
|
||||
*
|
||||
* Download the latest version from
|
||||
* http://platon.sk/projects/phpMyEdit/
|
||||
*/
|
||||
|
||||
/* $Platon: phpMyEdit/extensions/phpMyEdit-report.class.php,v 1.11 2004/12/30 19:59:00 nepto Exp $ */
|
||||
|
||||
/* Extension TODO:
|
||||
|
||||
- allow user to enable/disable particular field in reporting (maybe 'X' flag
|
||||
for indicating that field is forbidden is good idea)
|
||||
- support for ['help'] in select fields screen
|
||||
- make extension's option for selecting "Select fields" link or button
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__).'/../phpMyEdit.class.php';
|
||||
|
||||
class phpMyEdit_report extends phpMyEdit
|
||||
{
|
||||
|
||||
function phpMyEdit_report($opts) /* {{{ */
|
||||
{
|
||||
$opts['options'] = 'L';
|
||||
$execute = 1;
|
||||
isset($opts['execute']) && $execute = $opts['execute'];
|
||||
$opts['execute'] = 0;
|
||||
parent::phpMyEdit($opts);
|
||||
$execute && $this->execute();
|
||||
} /* }}} */
|
||||
|
||||
function make_language_labels($language) /* {{{ */
|
||||
{
|
||||
$ret = parent::make_language_labels($language);
|
||||
strlen($ret['Make report']) <= 0 && $ret['Make report'] = 'Make report';
|
||||
strlen($ret['Select fields']) <= 0 && $ret['Select fields'] = 'Select fields';
|
||||
strlen($ret['Records per screen']) <= 0 && $ret['Records per screen'] = 'Records per screen';
|
||||
return $ret;
|
||||
} /* }}} */
|
||||
|
||||
function get_cgi_cookie_var($name, $default_value = null) /* {{{ */
|
||||
{
|
||||
$ret = $this->get_cgi_var($name, null);
|
||||
if ($ret === null) {
|
||||
global $HTTP_COOKIE_VARS;
|
||||
$ret = @$HTTP_COOKIE_VARS[$name.'_'.$this->tb.'_cookie'];
|
||||
if (! isset($ret)) {
|
||||
$ret = $default_value;
|
||||
}
|
||||
}
|
||||
return $ret;
|
||||
} /* }}} */
|
||||
|
||||
function display_list_table_buttons($total_recs, $position) /* {{{ */
|
||||
{ /* This is mostly copy/paste from core class. */
|
||||
$listall = $this->inc <= 0; // Are we doing a listall?
|
||||
echo '<table class="',$this->getCSSclass('navigation', $position),'">',"\n";
|
||||
echo '<tr class="',$this->getCSSclass('navigation', $position),'">',"\n";
|
||||
echo '<td class="',$this->getCSSclass('buttons', $position),'">',"\n";
|
||||
echo '<input class="',$this->getCSSclass('fields-select', $position);
|
||||
echo '" type="submit" name="fields_select" value="',$this->labels['Select fields'],'"> ';
|
||||
// Note that <input disabled isn't valid HTML, but most browsers support it
|
||||
$disabled = ($this->fm > 0 && ! $listall) ? '' : ' disabled';
|
||||
echo '<input',$disabled,' class="',$this->getCSSclass('prev', $position);
|
||||
echo '" type="submit" name="',ltrim($disabled),'prev" value="',$this->labels['Prev'],'"> ';
|
||||
$disabled = ($this->fm + $this->inc < $total_recs && ! $listall) ? '' : ' disabled';
|
||||
echo '<input',$disabled,' class="',$this->getCSSclass('next', $position);
|
||||
echo '" type="submit" name="',ltrim($disabled),'next" value="',$this->labels['Next'],'">';
|
||||
// Message is now written here
|
||||
echo '</td>',"\n";
|
||||
if (strlen(@$this->message) > 0) {
|
||||
echo '<td class="',$this->getCSSclass('message', $position),'">',$this->message,'</td>',"\n";
|
||||
}
|
||||
// Display page and records statistics
|
||||
echo '<td class="',$this->getCSSclass('stats', $position),'">',"\n";
|
||||
if ($listall) {
|
||||
echo $this->labels['Page'],': 1 ',$this->labels['of'],' 1';
|
||||
} else {
|
||||
echo $this->labels['Page'],': ',($this->fm / $this->inc) + 1;
|
||||
echo ' ',$this->labels['of'],' ',max(1, ceil($total_recs / abs($this->inc)));
|
||||
}
|
||||
echo ' ',$this->labels['Records'],': ',$total_recs;
|
||||
echo '</td></tr></table>',"\n";
|
||||
} /* }}} */
|
||||
|
||||
function display_report_selection_buttons($position) /* {{{ */
|
||||
{
|
||||
echo '<table class="',$this->getCSSclass('navigation', $position),'">',"\n";
|
||||
echo '<tr class="',$this->getCSSclass('navigation', $position),'">',"\n";
|
||||
echo '<td class="',$this->getCSSclass('buttons', $position),'">',"\n";
|
||||
echo '<input class="',$this->getCSSclass('make-report', $position);
|
||||
echo '" type="submit" name="prepare_filter" value="',$this->labels['Make report'],'">',"\n";
|
||||
echo '</td></tr></table>',"\n";
|
||||
} /* }}} */
|
||||
|
||||
function get_select_fields_link() /* {{{ */
|
||||
{
|
||||
$link = '<a href="'.htmlspecialchars($this->page_name).'?fields_select=1';
|
||||
for ($i = 0; $i < count($table_cols); $i++) {
|
||||
$varname = 'qf'.$i;
|
||||
$value = $this->get_cgi_cookie_var($varname);
|
||||
if (! empty($value)) {
|
||||
$link .= htmlspecialchars(
|
||||
'&'.rawurlencode($varname).
|
||||
'='.rawurlencode($value));
|
||||
}
|
||||
}
|
||||
$link .= htmlspecialchars($this->cgi['persist']);
|
||||
$link .= '">'.$this->labels['Select fields'].'</a>';
|
||||
return $link;
|
||||
} /* }}} */
|
||||
|
||||
function execute() /* {{{ */
|
||||
{
|
||||
global $HTTP_GET_VARS;
|
||||
global $HTTP_POST_VARS;
|
||||
|
||||
/*
|
||||
* Extracting field names
|
||||
*/
|
||||
|
||||
$table_cols = array();
|
||||
$all_table_cols = array();
|
||||
|
||||
if ($this->connect() == false) {
|
||||
return false;
|
||||
}
|
||||
$query_parts = array(
|
||||
'type' => 'select',
|
||||
'select' => '*',
|
||||
'from' => $this->tb,
|
||||
'limit' => '1');
|
||||
$result = $this->myquery($this->get_SQL_query($query_parts), __LINE__);
|
||||
$all_table_cols = array_keys(@mysql_fetch_array($result, MYSQL_ASSOC));
|
||||
if (count($all_table_cols) <= 0) {
|
||||
$this->error('database fetch error');
|
||||
return false;
|
||||
}
|
||||
foreach (array_keys($this->fdd) as $field_name) {
|
||||
if (preg_match('/^\d*$/', $field_name))
|
||||
continue;
|
||||
if (($idx = array_search($field_name, $all_table_cols)) !== false)
|
||||
$table_cols[$field_name] = mysql_field_len($result, $idx);
|
||||
}
|
||||
@mysql_free_result($result);
|
||||
unset($all_table_cols);
|
||||
|
||||
/*
|
||||
* Preparing variables
|
||||
*/
|
||||
|
||||
$fields_select = $this->get_cgi_var('fields_select');
|
||||
$filter = $this->get_cgi_var('filter');
|
||||
$prepare_filter = $this->get_cgi_var('prepare_filter');
|
||||
$this->inc = intval($this->get_cgi_cookie_var('inc'));
|
||||
$force_select = true;
|
||||
$none_displayed = true;
|
||||
$expire_time = time() + (3600 * 24 * 30 * 12 * 5); // five years
|
||||
$headers_sent = @headers_sent();
|
||||
|
||||
foreach (array_merge(array('@inc'), array_keys($table_cols)) as $col) {
|
||||
$varname = ($col[0] == '@' ? substr($col, 1) : 'have_'.$col);
|
||||
if (isset($HTTP_POST_VARS[$varname]) || isset($HTTP_GET_VARS[$varname])) {
|
||||
$value = $HTTP_POST_VARS[$varname];
|
||||
if (isset($HTTP_GET_VARS[$varname])) {
|
||||
$value = $HTTP_GET_VARS[$varname];
|
||||
}
|
||||
if ($varname != 'inc' && ! empty($value)) {
|
||||
$force_select = false;
|
||||
}
|
||||
$headers_sent || setcookie($varname.'_'.$this->tb.'_cookie', $value, $expire_time);
|
||||
$this->cgi['persist'] .= '&'.urlencode($varname);
|
||||
$this->cgi['persist'] .= '='.urlencode($value);
|
||||
} else {
|
||||
$headers_sent || setcookie($varname.'_'.$this->tb.'_cookie', '', time() - 10000);
|
||||
}
|
||||
}
|
||||
|
||||
$i = -1;
|
||||
foreach (array_keys($this->fdd) as $key) {
|
||||
$i++;
|
||||
if (preg_match('/^\d*$/', $key))
|
||||
continue;
|
||||
$varname = 'have_'.$key;
|
||||
$value = @$this->get_cgi_cookie_var($varname, '');
|
||||
$options = @$value ? 'LV' : '';
|
||||
$this->fdd[$i]['options'] = $options;
|
||||
$this->fdd[$key]['options'] = $options;
|
||||
$this->displayed[$i] = @$value ? true : false;
|
||||
$value && $none_displayed = false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Redirecting when neccessary
|
||||
* (hackity hack with unregistering/unchecking fields)
|
||||
*/
|
||||
|
||||
if ($prepare_filter && ! $headers_sent) {
|
||||
$this->execute_redirect();
|
||||
exit;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if field selection report screen has to be displayed
|
||||
*/
|
||||
|
||||
if (isset($fields_select) || $force_select || $none_displayed) {
|
||||
$this->execute_report_screen($table_cols);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (0) {
|
||||
$this->message .= $this->get_select_fields_link();
|
||||
}
|
||||
|
||||
// parent class call
|
||||
return parent::execute();
|
||||
} /* }}} */
|
||||
|
||||
function execute_redirect() /* {{{ */
|
||||
{
|
||||
global $HTTP_SERVER_VARS;
|
||||
global $HTTP_GET_VARS;
|
||||
global $HTTP_POST_VARS;
|
||||
$redirect_url = 'http://'.$HTTP_SERVER_VARS['HTTP_HOST'].$HTTP_SERVER_VARS['SCRIPT_NAME'];
|
||||
$delim = '?';
|
||||
foreach ($HTTP_POST_VARS + $HTTP_GET_VARS as $cgi_var_name => $cgi_var_value) {
|
||||
$cgi_var_name == 'prepare_filter' && $cgi_var_name = 'filter';
|
||||
$redirect_url .= $delim;
|
||||
$redirect_url .= rawurlencode($cgi_var_name).'='.rawurlencode($cgi_var_value);
|
||||
$delim == '?' && $delim = '&';
|
||||
}
|
||||
$redirect_url .= $this->cgi['persist'];
|
||||
header('Location: '.$redirect_url);
|
||||
exit;
|
||||
} /* }}} */
|
||||
|
||||
function execute_report_screen($table_cols) /* {{{ */
|
||||
{
|
||||
echo '<form class="',$this->getCSSclass('form'),'" action="';
|
||||
echo htmlspecialchars($this->page_name),'" method="POST">',"\n";
|
||||
if ($this->nav_up()) {
|
||||
$this->display_report_selection_buttons('up');
|
||||
echo '<hr class="',$this->getCSSclass('hr', 'up'),'">',"\n";
|
||||
}
|
||||
echo '<table class="',$this->getCSSclass('main'),'" summary="',$this->tb,'">',"\n";
|
||||
|
||||
$i = 0;
|
||||
foreach ($table_cols as $key => $val) {
|
||||
$css_postfix = @$this->fdd[$key]['css']['postfix'];
|
||||
$css_class_name = $this->getCSSclass('input', null, true, $css_postfix);
|
||||
$varname = 'have_'.$key;
|
||||
$value = $this->get_cgi_cookie_var($varname);
|
||||
$checked = @$value ? ' checked' : '';
|
||||
echo '<tr class="',$this->getCSSclass('row', null, 'next', $css_postfix),'">',"\n";
|
||||
echo '<td class="',$this->getCSSclass('key', null, true, $css_postfix),'">';
|
||||
echo $this->fdd[$i]['name'],'</td>',"\n";
|
||||
echo '<td class="',$this->getCSSclass('check', null, true, $css_postfix),'">';
|
||||
echo '<input class="',$css_class_name,'" type="checkbox" name="';
|
||||
echo htmlspecialchars($varname),'"',$checked,'>';
|
||||
echo '</td>',"\n";
|
||||
echo '<td class="',$this->getCSSclass('value', null, true, $css_postfix),'"';
|
||||
echo $this->getColAttributes($key),">\n";
|
||||
$varname = 'qf'.$i;
|
||||
$value = $this->get_cgi_cookie_var($varname);
|
||||
if ($this->fdd[$key]['select'] == 'D' || $this->fdd[$key]['select'] == 'M') {
|
||||
$from_table = ! $this->col_has_values($key) || isset($this->fdd[$key]['values']['table']);
|
||||
$selected = $value;
|
||||
$value = $this->set_values($key, array('*' => '*'), null, $from_table);
|
||||
$multiple = $this->col_has_multiple_select($key);
|
||||
$multiple |= $this->fdd[$key]['select'] == 'M';
|
||||
$readonly = false;
|
||||
$strip_tags = true;
|
||||
$escape = true;
|
||||
echo $this->htmlSelect($varname.'_id', $css_class_name, $value, $selected,
|
||||
$multiple, $readonly, $strip_tags, $escape);
|
||||
} else {
|
||||
echo '<input class="',$css_class_name,'" type=text name="';
|
||||
echo htmlspecialchars($varname),'" value="',htmlspecialchars($value),'" size="';
|
||||
echo min(40, $val),'" maxlength="',min(40, max(10, $val)),'">';
|
||||
}
|
||||
echo '</td>',"\n",'</tr>',"\n";
|
||||
$i++;
|
||||
}
|
||||
echo '<tr class="',$this->getCSSclass('row', null, 'next', $css_postfix),'">',"\n";
|
||||
echo '<td class="',$this->getCSSclass('key', null, true, $css_postfix),'" colspan="2">';
|
||||
echo $this->labels['Records per screen'],'</td>';
|
||||
echo '<td class="',$this->getCSSclass('value', null, true, $css_postfix),'">';
|
||||
echo '<input class="',$css_class_name,'" type="text" name="inc" value="',$this->inc.'">';
|
||||
echo '</td></tr>',"\n";
|
||||
echo '</table>',"\n";
|
||||
if ($this->nav_down()) {
|
||||
echo '<hr class="',$this->getCSSclass('hr', 'down'),'">',"\n";
|
||||
$this->display_report_selection_buttons('down');
|
||||
}
|
||||
echo '</form>';
|
||||
} /* }}} */
|
||||
|
||||
}
|
||||
|
||||
/* Modeline for ViM {{{
|
||||
* vim:set ts=4:
|
||||
* vim600:fdm=marker fdl=0 fdc=0:
|
||||
* }}} */
|
||||
|
||||
?>
|
||||
121
extensions/phpMyEdit-slide.class.php
Normal file
121
extensions/phpMyEdit-slide.class.php
Normal file
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* phpMyEdit - instant MySQL table editor and code generator
|
||||
*
|
||||
* extensions/phpMyEdit-slide.class.php - slide show extension for phpMyEdit
|
||||
* ____________________________________________________________
|
||||
*
|
||||
* Developed by Ondrej Jombik <nepto@platon.sk>
|
||||
* Copyright (c) 2002-2006 Platon Group, http://platon.sk/
|
||||
* All rights reserved.
|
||||
*
|
||||
* See README file for more information about this software.
|
||||
* See COPYING file for license information.
|
||||
*
|
||||
* Download the latest version from
|
||||
* http://platon.sk/projects/phpMyEdit/
|
||||
*/
|
||||
|
||||
/* $Platon: phpMyEdit/extensions/phpMyEdit-slide.class.php,v 1.11 2007-09-02 22:30:00 nepto Exp $ */
|
||||
|
||||
/*
|
||||
* Coding elapsed time: from 8:30 to 10:30 at 30th October 2002
|
||||
* with heavy patching phpMyEdit core class.
|
||||
*
|
||||
* Music used: E-Type (Campione, This is the Way and others)
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__).'/../phpMyEdit.class.php';
|
||||
|
||||
class phpMyEdit_slide extends phpMyEdit
|
||||
{
|
||||
// Extension options array
|
||||
var $ext;
|
||||
|
||||
function phpMyEdit_slide($opts) /* {{{ */
|
||||
{
|
||||
$execute = 1;
|
||||
isset($opts['execute']) && $execute = $opts['execute'];
|
||||
$opts['execute'] = 0;
|
||||
parent::phpMyEdit($opts);
|
||||
|
||||
$this->ext = $opts['ext'];
|
||||
|
||||
$execute && $this->execute($opts);
|
||||
} /* }}} */
|
||||
|
||||
function execute($opts) /* {{{ */
|
||||
{
|
||||
if ($this->get_sys_cgi_var('rec_change')
|
||||
&& ($this->next_operation() || $this->prev_operation())) {
|
||||
$this->operation = $this->labels['Change'];
|
||||
}
|
||||
if (! $this->change_operation()) {
|
||||
$this->operation = $this->labels['View'];
|
||||
}
|
||||
if ($this->prev_operation()) {
|
||||
! $this->ext['prev_disabled'] && $this->rec = $this->get_sys_cgi_var('rec_prev');
|
||||
$this->prev = '';
|
||||
}
|
||||
if ($this->next_operation()) {
|
||||
! $this->ext['next_disabled'] && $this->rec = $this->get_sys_cgi_var('rec_next');
|
||||
$this->next = '';
|
||||
}
|
||||
if (! $this->rec) {
|
||||
$this->rec = $this->ext['rec'];
|
||||
}
|
||||
|
||||
if (! $this->rec
|
||||
|| (! $this->ext['prev_disable'] && ! $this->ext['prev'])
|
||||
|| (! $this->ext['next_disable'] && ! $this->ext['next'])) {
|
||||
if ($this->connect() == false) {
|
||||
return false;
|
||||
}
|
||||
$query_parts = array(
|
||||
'type' => 'select',
|
||||
// XXX FIXME - simplify query
|
||||
'select' => 'PMEtable0.'.$this->key,
|
||||
'from' => $this->get_SQL_join_clause(),
|
||||
'where' => $this->get_SQL_where_from_query_opts());
|
||||
// TODO: order by clausule according to default sort order options
|
||||
$res = $this->myquery($this->get_SQL_query($query_parts), __LINE__);
|
||||
$ids = array();
|
||||
while (($row = @mysql_fetch_array($res, MYSQL_NUM)) !== false) {
|
||||
$ids[] = $row[0];
|
||||
}
|
||||
@mysql_free_result($res);
|
||||
if ($this->rec) {
|
||||
$idx = array_search($this->rec, $ids);
|
||||
$idx === false && $idx = 0;
|
||||
} else {
|
||||
$idx = 0;
|
||||
}
|
||||
|
||||
$this->rec = $ids[$idx];
|
||||
! $this->ext['prev'] && $this->ext['prev'] = $ids[$idx - 1];
|
||||
! $this->ext['next'] && $this->ext['next'] = $ids[$idx + 1];
|
||||
}
|
||||
|
||||
$this->default_buttons['V'] = array('change', 'cancel',
|
||||
(isset($this->ext['prev']) ? '+prev' : 'prev'),
|
||||
(isset($this->ext['next']) ? '+next' : 'next'),
|
||||
array('code'=>'<input type="hidden" name="'
|
||||
.$this->cgi['prefix']['sys'].'rec_prev" value="'.$this->ext['prev'].'">'),
|
||||
array('code'=>'<input type="hidden" name="'
|
||||
.$this->cgi['prefix']['sys'].'rec_next" value="'.$this->ext['next'].'">')
|
||||
);
|
||||
|
||||
$this->recreate_fdd();
|
||||
$this->recreate_displayed();
|
||||
parent::execute();
|
||||
} /* }}} */
|
||||
|
||||
}
|
||||
|
||||
/* Modeline for ViM {{{
|
||||
* vim:set ts=4:
|
||||
* vim600:fdm=marker fdl=0 fdc=0:
|
||||
* }}} */
|
||||
|
||||
?>
|
||||
6
font/makefont.php
Normal file
6
font/makefont.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?
|
||||
require_once("../fpdf16/fpdf.php");
|
||||
require_once("../fpdf16/font/makefont/makefont.php");
|
||||
|
||||
MakeFont("perpetuai.ttf", "perpetuai.afm", "cp1252");
|
||||
?>
|
||||
339
fpdf16/FAQ.htm
Executable file
339
fpdf16/FAQ.htm
Executable file
@@ -0,0 +1,339 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>FAQ</title>
|
||||
<link type="text/css" rel="stylesheet" href="fpdf.css">
|
||||
<style type="text/css">
|
||||
ul {list-style-type:none; margin:0; padding:0}
|
||||
ul#answers li {margin-top:1.8em}
|
||||
.question {font-weight:bold; color:#900000}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FAQ</h1>
|
||||
<ul>
|
||||
<li><b>1.</b> <a href='#q1'>What's exactly the license of FPDF? Are there any usage restrictions?</a></li>
|
||||
<li><b>2.</b> <a href='#q2'>When I try to create a PDF, a lot of weird characters show on the screen. Why?</a></li>
|
||||
<li><b>3.</b> <a href='#q3'>I try to generate a PDF and IE displays a blank page. What happens?</a></li>
|
||||
<li><b>4.</b> <a href='#q4'>I can't make line breaks work. I put \n in the string printed by MultiCell but it doesn't work.</a></li>
|
||||
<li><b>5.</b> <a href='#q5'>I try to display a variable in the Header method but nothing prints.</a></li>
|
||||
<li><b>6.</b> <a href='#q6'>I defined the Header and Footer methods in my PDF class but nothing appears.</a></li>
|
||||
<li><b>7.</b> <a href='#q7'>Accented characters are replaced by some strange characters like é.</a></li>
|
||||
<li><b>8.</b> <a href='#q8'>I try to display the Euro symbol but it doesn't work.</a></li>
|
||||
<li><b>9.</b> <a href='#q9'>I get the following error when I try to generate a PDF: Some data has already been output, can't send PDF file</a></li>
|
||||
<li><b>10.</b> <a href='#q10'>I draw a frame with very precise dimensions, but when printed I notice some differences.</a></li>
|
||||
<li><b>11.</b> <a href='#q11'>I'd like to use the whole surface of the page, but when printed I always have some margins. How can I get rid of them?</a></li>
|
||||
<li><b>12.</b> <a href='#q12'>How can I put a background in my PDF?</a></li>
|
||||
<li><b>13.</b> <a href='#q13'>How can I set a specific header or footer on the first page?</a></li>
|
||||
<li><b>14.</b> <a href='#q14'>I'd like to use extensions provided by different scripts. How can I combine them?</a></li>
|
||||
<li><b>15.</b> <a href='#q15'>How can I send the PDF by email?</a></li>
|
||||
<li><b>16.</b> <a href='#q16'>What's the limit of the file sizes I can generate with FPDF?</a></li>
|
||||
<li><b>17.</b> <a href='#q17'>Can I modify a PDF with FPDF?</a></li>
|
||||
<li><b>18.</b> <a href='#q18'>I'd like to make a search engine in PHP and index PDF files. Can I do it with FPDF?</a></li>
|
||||
<li><b>19.</b> <a href='#q19'>Can I convert an HTML page to PDF with FPDF?</a></li>
|
||||
<li><b>20.</b> <a href='#q20'>Can I concatenate PDF files with FPDF?</a></li>
|
||||
</ul>
|
||||
|
||||
<ul id='answers'>
|
||||
<li id='q1'>
|
||||
<p><b>1.</b> <span class='question'>What's exactly the license of FPDF? Are there any usage restrictions?</span></p>
|
||||
FPDF is released under a permissive license: there is no usage restriction. You may embed it
|
||||
freely in your application (commercial or not), with or without modifications.
|
||||
</li>
|
||||
|
||||
<li id='q2'>
|
||||
<p><b>2.</b> <span class='question'>When I try to create a PDF, a lot of weird characters show on the screen. Why?</span></p>
|
||||
These "weird" characters are in fact the actual content of your PDF. This behavior is a bug of
|
||||
IE6. When it first receives an HTML page, then a PDF from the same URL, it displays it directly
|
||||
without launching Acrobat. This happens frequently during the development stage: on the least
|
||||
script error, an HTML page is sent, and after correction, the PDF arrives.
|
||||
<br>
|
||||
To solve the problem, simply quit and restart IE. You can also go to another URL and come
|
||||
back.
|
||||
<br>
|
||||
To avoid this kind of inconvenience during the development, you can generate the PDF directly
|
||||
to a file and open it through the explorer.
|
||||
</li>
|
||||
|
||||
<li id='q3'>
|
||||
<p><b>3.</b> <span class='question'>I try to generate a PDF and IE displays a blank page. What happens?</span></p>
|
||||
First of all, check that you send nothing to the browser after the PDF (not even a space or a
|
||||
carriage return). You can put an exit statement just after the call to the Output() method to
|
||||
be sure. If it still doesn't work, it means you're a victim of the "blank page syndrome". IE
|
||||
used in conjunction with the Acrobat plug-in suffers from many bugs. To avoid these problems
|
||||
in a reliable manner, two main techniques exist:
|
||||
<br>
|
||||
<br>
|
||||
- Disable the plug-in and use Acrobat as a helper application. To do this, launch Acrobat, go
|
||||
to the Edit menu, Preferences, Internet, and uncheck "Display PDF in browser". Then, the next
|
||||
time you load a PDF in IE, it displays the dialog box "Open it" or "Save it to disk". Uncheck
|
||||
the option "Always ask before opening this type of file" and choose Open. From now on, PDF files
|
||||
will open automatically in an external Acrobat window.
|
||||
<br>
|
||||
The drawback of the method is that you need to alter the client configuration, which you can do
|
||||
in an intranet environment but not for the Internet.
|
||||
<br>
|
||||
<br>
|
||||
- Use a redirection technique. It consists in generating the PDF in a temporary file on the server
|
||||
and redirect the client to it. For example, at the end of the script, you can put the following:
|
||||
<div class="doc-source">
|
||||
<pre><code>//Determine a temporary file name in the current directory
|
||||
$file = basename(tempnam('.', 'tmp'));
|
||||
rename($file, $file.'.pdf');
|
||||
$file .= '.pdf';
|
||||
//Save PDF to file
|
||||
$pdf->Output($file, 'F');
|
||||
//Redirect
|
||||
header('Location: '.$file);</code></pre>
|
||||
</div>
|
||||
This method turns the dynamic PDF into a static one and avoids all troubles. But you have to do
|
||||
some cleaning in order to delete the temporary files. For example:
|
||||
<div class="doc-source">
|
||||
<pre><code>function CleanFiles($dir)
|
||||
{
|
||||
//Delete temporary files
|
||||
$t = time();
|
||||
$h = opendir($dir);
|
||||
while($file=readdir($h))
|
||||
{
|
||||
if(substr($file,0,3)=='tmp' and substr($file,-4)=='.pdf')
|
||||
{
|
||||
$path = $dir.'/'.$file;
|
||||
if($t-filemtime($path)>3600)
|
||||
@unlink($path);
|
||||
}
|
||||
}
|
||||
closedir($h);
|
||||
}</code></pre>
|
||||
</div>
|
||||
This function deletes all files of the form tmp*.pdf older than an hour in the specified
|
||||
directory. You may call it where you want, for example in the script which generates the PDF.
|
||||
</li>
|
||||
|
||||
<li id='q4'>
|
||||
<p><b>4.</b> <span class='question'>I can't make line breaks work. I put \n in the string printed by MultiCell but it doesn't work.</span></p>
|
||||
You have to enclose your string with double quotes, not single ones.
|
||||
</li>
|
||||
|
||||
<li id='q5'>
|
||||
<p><b>5.</b> <span class='question'>I try to display a variable in the Header method but nothing prints.</span></p>
|
||||
You have to use the <code>global</code> keyword to access global variables, for example:
|
||||
<div class="doc-source">
|
||||
<pre><code>function Header()
|
||||
{
|
||||
global $title;
|
||||
|
||||
$this->SetFont('Arial', 'B', 15);
|
||||
$this->Cell(0, 10, $title, 1, 1, 'C');
|
||||
}
|
||||
|
||||
$title = 'My title';</code></pre>
|
||||
</div>
|
||||
Alternatively, you can use an object property:
|
||||
<div class="doc-source">
|
||||
<pre><code>function Header()
|
||||
{
|
||||
$this->SetFont('Arial', 'B', 15);
|
||||
$this->Cell(0, 10, $this->title, 1, 1, 'C');
|
||||
}
|
||||
|
||||
$pdf->title = 'My title';</code></pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li id='q6'>
|
||||
<p><b>6.</b> <span class='question'>I defined the Header and Footer methods in my PDF class but nothing appears.</span></p>
|
||||
You have to create an object from the PDF class, not FPDF:
|
||||
<div class="doc-source">
|
||||
<pre><code>$pdf = new PDF();</code></pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li id='q7'>
|
||||
<p><b>7.</b> <span class='question'>Accented characters are replaced by some strange characters like é.</span></p>
|
||||
Don't use UTF-8 encoding. Standard FPDF fonts use ISO-8859-1 or Windows-1252.
|
||||
It is possible to perform a conversion to ISO-8859-1 with utf8_decode():
|
||||
<div class="doc-source">
|
||||
<pre><code>$str = utf8_decode($str);</code></pre>
|
||||
</div>
|
||||
But some characters such as Euro won't be translated correctly. If the iconv extension is available, the
|
||||
right way to do it is the following:
|
||||
<div class="doc-source">
|
||||
<pre><code>$str = iconv('UTF-8', 'windows-1252', $str);</code></pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li id='q8'>
|
||||
<p><b>8.</b> <span class='question'>I try to display the Euro symbol but it doesn't work.</span></p>
|
||||
The standard fonts have the Euro character at position 128. You can define a constant like this
|
||||
for convenience:
|
||||
<div class="doc-source">
|
||||
<pre><code>define('EURO', chr(128));</code></pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li id='q9'>
|
||||
<p><b>9.</b> <span class='question'>I get the following error when I try to generate a PDF: Some data has already been output, can't send PDF file</span></p>
|
||||
You must send nothing to the browser except the PDF itself: no HTML, no space, no carriage return.
|
||||
You may have this other message just before:<br>
|
||||
<br>
|
||||
<b>Warning:</b> Cannot modify header information - headers already sent by (output started at script.php:X)<br>
|
||||
<br>
|
||||
It means that script.php outputs something at line X. Go to this line and fix it.
|
||||
In case the warning doesn't show, add this at the very beginning of your script:
|
||||
<div class="doc-source">
|
||||
<pre><code>ob_end_clean();</code></pre>
|
||||
</div>
|
||||
If you still don't see it, disable zlib.output_compression in your php.ini.
|
||||
</li>
|
||||
|
||||
<li id='q10'>
|
||||
<p><b>10.</b> <span class='question'>I draw a frame with very precise dimensions, but when printed I notice some differences.</span></p>
|
||||
To respect dimensions, select "None" for the Page Scaling setting instead of "Shrink to Printable Area" in the print dialog box.
|
||||
</li>
|
||||
|
||||
<li id='q11'>
|
||||
<p><b>11.</b> <span class='question'>I'd like to use the whole surface of the page, but when printed I always have some margins. How can I get rid of them?</span></p>
|
||||
Printers have physical margins (different depending on the models); it is therefore impossible to remove
|
||||
them and print on the whole surface of the paper.
|
||||
</li>
|
||||
|
||||
<li id='q12'>
|
||||
<p><b>12.</b> <span class='question'>How can I put a background in my PDF?</span></p>
|
||||
For a picture, call Image() in the Header() method, before any other output. To set a background color, use Rect().
|
||||
</li>
|
||||
|
||||
<li id='q13'>
|
||||
<p><b>13.</b> <span class='question'>How can I set a specific header or footer on the first page?</span></p>
|
||||
Simply test the page number:
|
||||
<div class="doc-source">
|
||||
<pre><code>function Header()
|
||||
{
|
||||
if($this->PageNo()==1)
|
||||
{
|
||||
//First page
|
||||
...
|
||||
}
|
||||
else
|
||||
{
|
||||
//Other pages
|
||||
...
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li id='q14'>
|
||||
<p><b>14.</b> <span class='question'>I'd like to use extensions provided by different scripts. How can I combine them?</span></p>
|
||||
Use an inheritance chain. If you have two classes, say A in a.php:
|
||||
<div class="doc-source">
|
||||
<pre><code>require('fpdf.php');
|
||||
|
||||
class A extends FPDF
|
||||
{
|
||||
...
|
||||
}</code></pre>
|
||||
</div>
|
||||
and B in b.php:
|
||||
<div class="doc-source">
|
||||
<pre><code>require('fpdf.php');
|
||||
|
||||
class B extends FPDF
|
||||
{
|
||||
...
|
||||
}</code></pre>
|
||||
</div>
|
||||
then make B extend A:
|
||||
<div class="doc-source">
|
||||
<pre><code>require('a.php');
|
||||
|
||||
class B extends A
|
||||
{
|
||||
...
|
||||
}</code></pre>
|
||||
</div>
|
||||
and make your own class extend B:
|
||||
<div class="doc-source">
|
||||
<pre><code>require('b.php');
|
||||
|
||||
class PDF extends B
|
||||
{
|
||||
...
|
||||
}
|
||||
|
||||
$pdf = new PDF();</code></pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li id='q15'>
|
||||
<p><b>15.</b> <span class='question'>How can I send the PDF by email?</span></p>
|
||||
As any other file, but an easy way is to use <a href="http://phpmailer.codeworxtech.com">PHPMailer</a> and
|
||||
its in-memory attachment:
|
||||
<div class="doc-source">
|
||||
<pre><code>$mail = new PHPMailer();
|
||||
...
|
||||
$doc = $pdf->Output('', 'S');
|
||||
$mail->AddStringAttachment($doc, 'doc.pdf', 'base64', 'application/pdf');
|
||||
$mail->Send();</code></pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li id='q16'>
|
||||
<p><b>16.</b> <span class='question'>What's the limit of the file sizes I can generate with FPDF?</span></p>
|
||||
There is no particular limit. There are some constraints, however:
|
||||
<br>
|
||||
<br>
|
||||
- The maximum memory size allocated to PHP scripts is usually 8MB. For very big documents,
|
||||
especially with images, this limit may be reached (the file being built into memory). The
|
||||
parameter is configured in the php.ini file.
|
||||
<br>
|
||||
<br>
|
||||
- The maximum execution time allocated defaults to 30 seconds. This limit can of course be easily
|
||||
reached. It is configured in php.ini and may be altered dynamically with set_time_limit().
|
||||
<br>
|
||||
<br>
|
||||
- Browsers generally have a 5 minute time-out. If you send the PDF directly to the browser and
|
||||
reach the limit, it will be lost. It is therefore advised for very big documents to
|
||||
generate them in a file, and to send some data to the browser from time to time (with a call
|
||||
to flush() to force the output). When the document is finished, you can send a redirection to
|
||||
it or create a link.
|
||||
<br>
|
||||
Remark: even if the browser times out, the script may continue to run on the server.
|
||||
</li>
|
||||
|
||||
<li id='q17'>
|
||||
<p><b>17.</b> <span class='question'>Can I modify a PDF with FPDF?</span></p>
|
||||
It is possible to import pages from an existing PDF document thanks to the FPDI extension:<br>
|
||||
<br>
|
||||
<a href="http://www.setasign.de/products/pdf-php-solutions/fpdi/" target="_blank">http://www.setasign.de/products/pdf-php-solutions/fpdi/</a><br>
|
||||
<br>
|
||||
You can then add some content to them.
|
||||
</li>
|
||||
|
||||
<li id='q18'>
|
||||
<p><b>18.</b> <span class='question'>I'd like to make a search engine in PHP and index PDF files. Can I do it with FPDF?</span></p>
|
||||
No. But a GPL C utility does exist, pdftotext, which is able to extract the textual content from
|
||||
a PDF. It is provided with the Xpdf package:<br>
|
||||
<br>
|
||||
<a href="http://www.foolabs.com/xpdf/" target="_blank">http://www.foolabs.com/xpdf/</a>
|
||||
</li>
|
||||
|
||||
<li id='q19'>
|
||||
<p><b>19.</b> <span class='question'>Can I convert an HTML page to PDF with FPDF?</span></p>
|
||||
Not real-world pages. But a GPL C utility does exist, htmldoc, which allows to do it and gives good results:<br>
|
||||
<br>
|
||||
<a href="http://www.htmldoc.org" target="_blank">http://www.htmldoc.org</a>
|
||||
</li>
|
||||
|
||||
<li id='q20'>
|
||||
<p><b>20.</b> <span class='question'>Can I concatenate PDF files with FPDF?</span></p>
|
||||
Not directly, but it is possible to use <a href="http://www.setasign.de/products/pdf-php-solutions/fpdi/demos/concatenate-fake/" target="_blank">FPDI</a>
|
||||
to perform this task. Some free command-line tools also exist:<br>
|
||||
<br>
|
||||
<a href="http://thierry.schmit.free.fr/spip/spip.php?article15&lang=en" target="_blank">mbtPdfAsm</a><br>
|
||||
<a href="http://www.accesspdf.com/pdftk/" target="_blank">pdftk</a>
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
63
fpdf16/doc/acceptpagebreak.htm
Executable file
63
fpdf16/doc/acceptpagebreak.htm
Executable file
@@ -0,0 +1,63 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>AcceptPageBreak</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>AcceptPageBreak</h1>
|
||||
<code><b>boolean</b> AcceptPageBreak()</code>
|
||||
<h2>Description</h2>
|
||||
Whenever a page break condition is met, the method is called, and the break is issued or not
|
||||
depending on the returned value. The default implementation returns a value according to the
|
||||
mode selected by SetAutoPageBreak().
|
||||
<br>
|
||||
This method is called automatically and should not be called directly by the application.
|
||||
<h2>Example</h2>
|
||||
The method is overriden in an inherited class in order to obtain a 3 column layout:
|
||||
<div class="doc-source">
|
||||
<pre><code>class PDF extends FPDF
|
||||
{
|
||||
var $col=0;
|
||||
|
||||
function SetCol($col)
|
||||
{
|
||||
//Move position to a column
|
||||
$this->col=$col;
|
||||
$x=10+$col*65;
|
||||
$this->SetLeftMargin($x);
|
||||
$this->SetX($x);
|
||||
}
|
||||
|
||||
function AcceptPageBreak()
|
||||
{
|
||||
if($this->col<2)
|
||||
{
|
||||
//Go to next column
|
||||
$this->SetCol($this->col+1);
|
||||
$this->SetY(10);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Go back to first column and issue page break
|
||||
$this->SetCol(0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$pdf=new PDF();
|
||||
$pdf->AddPage();
|
||||
$pdf->SetFont('Arial','',12);
|
||||
for($i=1;$i<=300;$i++)
|
||||
$pdf->Cell(0,5,"Line $i",0,1);
|
||||
$pdf->Output();</code></pre>
|
||||
</div>
|
||||
<h2>See also</h2>
|
||||
<a href="setautopagebreak.htm">SetAutoPageBreak()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
55
fpdf16/doc/addfont.htm
Executable file
55
fpdf16/doc/addfont.htm
Executable file
@@ -0,0 +1,55 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>AddFont</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>AddFont</h1>
|
||||
<code>AddFont(<b>string</b> family [, <b>string</b> style [, <b>string</b> file]])</code>
|
||||
<h2>Description</h2>
|
||||
Imports a TrueType or Type1 font and makes it available. It is necessary to generate a font
|
||||
definition file first with the makefont.php utility.
|
||||
<br>
|
||||
The definition file (and the font file itself when embedding) must be present in the font directory.
|
||||
If it is not found, the error "Could not include font definition file" is generated.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>family</code></dt>
|
||||
<dd>
|
||||
Font family. The name can be chosen arbitrarily. If it is a standard family name, it will
|
||||
override the corresponding font.
|
||||
</dd>
|
||||
<dt><code>style</code></dt>
|
||||
<dd>
|
||||
Font style. Possible values are (case insensitive):
|
||||
<ul>
|
||||
<li>empty string: regular</li>
|
||||
<li><code>B</code>: bold</li>
|
||||
<li><code>I</code>: italic</li>
|
||||
<li><code>BI</code> or <code>IB</code>: bold italic</li>
|
||||
</ul>
|
||||
The default value is regular.
|
||||
</dd>
|
||||
<dt><code>file</code></dt>
|
||||
<dd>
|
||||
The font definition file.
|
||||
<br>
|
||||
By default, the name is built from the family and style, in lower case with no space.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>Example</h2>
|
||||
<div class="doc-source">
|
||||
<pre><code>$pdf->AddFont('Comic','I');</code></pre>
|
||||
</div>
|
||||
is equivalent to:
|
||||
<div class="doc-source">
|
||||
<pre><code>$pdf->AddFont('Comic','I','comici.php');</code></pre>
|
||||
</div>
|
||||
<h2>See also</h2>
|
||||
<a href="setfont.htm">SetFont()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
26
fpdf16/doc/addlink.htm
Executable file
26
fpdf16/doc/addlink.htm
Executable file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>AddLink</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>AddLink</h1>
|
||||
<code><b>int</b> AddLink()</code>
|
||||
<h2>Description</h2>
|
||||
Creates a new internal link and returns its identifier. An internal link is a clickable area
|
||||
which directs to another place within the document.
|
||||
<br>
|
||||
The identifier can then be passed to Cell(), Write(), Image() or Link(). The destination is
|
||||
defined with SetLink().
|
||||
<h2>See also</h2>
|
||||
<a href="cell.htm">Cell()</a>,
|
||||
<a href="write.htm">Write()</a>,
|
||||
<a href="image.htm">Image()</a>,
|
||||
<a href="link.htm">Link()</a>,
|
||||
<a href="setlink.htm">SetLink()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
56
fpdf16/doc/addpage.htm
Executable file
56
fpdf16/doc/addpage.htm
Executable file
@@ -0,0 +1,56 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>AddPage</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>AddPage</h1>
|
||||
<code>AddPage([<b>string</b> orientation ,[ <b>mixed</b> format]])</code>
|
||||
<h2>Description</h2>
|
||||
Adds a new page to the document. If a page is already present, the Footer() method is called
|
||||
first to output the footer. Then the page is added, the current position set to the top-left
|
||||
corner according to the left and top margins, and Header() is called to display the header.
|
||||
<br>
|
||||
The font which was set before calling is automatically restored. There is no need to call
|
||||
SetFont() again if you want to continue with the same font. The same is true for colors and
|
||||
line width.
|
||||
<br>
|
||||
The origin of the coordinate system is at the top-left corner and increasing ordinates go
|
||||
downwards.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>orientation</code></dt>
|
||||
<dd>
|
||||
Page orientation. Possible values are (case insensitive):
|
||||
<ul>
|
||||
<li><code>P</code> or <code>Portrait</code></li>
|
||||
<li><code>L</code> or <code>Landscape</code></li>
|
||||
</ul>
|
||||
The default value is the one passed to the constructor.
|
||||
</dd>
|
||||
<dt><code>format</code></dt>
|
||||
<dd>
|
||||
Page format. It can be either one of the following values (case insensitive):
|
||||
<ul>
|
||||
<li><code>A3</code></li>
|
||||
<li><code>A4</code></li>
|
||||
<li><code>A5</code></li>
|
||||
<li><code>Letter</code></li>
|
||||
<li><code>Legal</code></li>
|
||||
</ul>
|
||||
or an array containing the width and the height (expressed in user unit).<br>
|
||||
<br>
|
||||
The default value is the one passed to the constructor.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="fpdf.htm">FPDF()</a>,
|
||||
<a href="header.htm">Header()</a>,
|
||||
<a href="footer.htm">Footer()</a>,
|
||||
<a href="setmargins.htm">SetMargins()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
45
fpdf16/doc/aliasnbpages.htm
Executable file
45
fpdf16/doc/aliasnbpages.htm
Executable file
@@ -0,0 +1,45 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>AliasNbPages</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>AliasNbPages</h1>
|
||||
<code>AliasNbPages([<b>string</b> alias])</code>
|
||||
<h2>Description</h2>
|
||||
Defines an alias for the total number of pages. It will be substituted as the document is
|
||||
closed.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>alias</code></dt>
|
||||
<dd>
|
||||
The alias. Default value: <code>{nb}</code>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>Example</h2>
|
||||
<div class="doc-source">
|
||||
<pre><code>class PDF extends FPDF
|
||||
{
|
||||
function Footer()
|
||||
{
|
||||
//Go to 1.5 cm from bottom
|
||||
$this->SetY(-15);
|
||||
//Select Arial italic 8
|
||||
$this->SetFont('Arial','I',8);
|
||||
//Print current and total page numbers
|
||||
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
|
||||
}
|
||||
}
|
||||
|
||||
$pdf=new PDF();
|
||||
$pdf->AliasNbPages();</code></pre>
|
||||
</div>
|
||||
<h2>See also</h2>
|
||||
<a href="pageno.htm">PageNo()</a>,
|
||||
<a href="footer.htm">Footer()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
104
fpdf16/doc/cell.htm
Executable file
104
fpdf16/doc/cell.htm
Executable file
@@ -0,0 +1,104 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Cell</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Cell</h1>
|
||||
<code>Cell(<b>float</b> w [, <b>float</b> h [, <b>string</b> txt [, <b>mixed</b> border [, <b>int</b> ln [, <b>string</b> align [, <b>boolean</b> fill [, <b>mixed</b> link]]]]]]])</code>
|
||||
<h2>Description</h2>
|
||||
Prints a cell (rectangular area) with optional borders, background color and character string.
|
||||
The upper-left corner of the cell corresponds to the current position. The text can be aligned
|
||||
or centered. After the call, the current position moves to the right or to the next line. It is
|
||||
possible to put a link on the text.
|
||||
<br>
|
||||
If automatic page breaking is enabled and the cell goes beyond the limit, a page break is
|
||||
done before outputting.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>w</code></dt>
|
||||
<dd>
|
||||
Cell width. If <code>0</code>, the cell extends up to the right margin.
|
||||
</dd>
|
||||
<dt><code>h</code></dt>
|
||||
<dd>
|
||||
Cell height.
|
||||
Default value: <code>0</code>.
|
||||
</dd>
|
||||
<dt><code>txt</code></dt>
|
||||
<dd>
|
||||
String to print.
|
||||
Default value: empty string.
|
||||
</dd>
|
||||
<dt><code>border</code></dt>
|
||||
<dd>
|
||||
Indicates if borders must be drawn around the cell. The value can be either a number:
|
||||
<ul>
|
||||
<li><code>0</code>: no border</li>
|
||||
<li><code>1</code>: frame</li>
|
||||
</ul>
|
||||
or a string containing some or all of the following characters (in any order):
|
||||
<ul>
|
||||
<li><code>L</code>: left</li>
|
||||
<li><code>T</code>: top</li>
|
||||
<li><code>R</code>: right</li>
|
||||
<li><code>B</code>: bottom</li>
|
||||
</ul>
|
||||
Default value: <code>0</code>.
|
||||
</dd>
|
||||
<dt><code>ln</code></dt>
|
||||
<dd>
|
||||
Indicates where the current position should go after the call. Possible values are:
|
||||
<ul>
|
||||
<li><code>0</code>: to the right</li>
|
||||
<li><code>1</code>: to the beginning of the next line</li>
|
||||
<li><code>2</code>: below</li>
|
||||
</ul>
|
||||
Putting <code>1</code> is equivalent to putting <code>0</code> and calling Ln() just after.
|
||||
Default value: <code>0</code>.
|
||||
</dd>
|
||||
<dt><code>align</code></dt>
|
||||
<dd>
|
||||
Allows to center or align the text. Possible values are:
|
||||
<ul>
|
||||
<li><code>L</code> or empty string: left align (default value)</li>
|
||||
<li><code>C</code>: center</li>
|
||||
<li><code>R</code>: right align</li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt><code>fill</code></dt>
|
||||
<dd>
|
||||
Indicates if the cell background must be painted (<code>true</code>) or transparent (<code>false</code>).
|
||||
Default value: <code>false</code>.
|
||||
</dd>
|
||||
<dt><code>link</code></dt>
|
||||
<dd>
|
||||
URL or identifier returned by AddLink().
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>Example</h2>
|
||||
<div class="doc-source">
|
||||
<pre><code>//Set font
|
||||
$pdf->SetFont('Arial','B',16);
|
||||
//Move to 8 cm to the right
|
||||
$pdf->Cell(80);
|
||||
//Centered text in a framed 20*10 mm cell and line break
|
||||
$pdf->Cell(20,10,'Title',1,1,'C');</code></pre>
|
||||
</div>
|
||||
<h2>See also</h2>
|
||||
<a href="setfont.htm">SetFont()</a>,
|
||||
<a href="setdrawcolor.htm">SetDrawColor()</a>,
|
||||
<a href="setfillcolor.htm">SetFillColor()</a>,
|
||||
<a href="settextcolor.htm">SetTextColor()</a>,
|
||||
<a href="setlinewidth.htm">SetLineWidth()</a>,
|
||||
<a href="addlink.htm">AddLink()</a>,
|
||||
<a href="ln.htm">Ln()</a>,
|
||||
<a href="multicell.htm">MultiCell()</a>,
|
||||
<a href="write.htm">Write()</a>,
|
||||
<a href="setautopagebreak.htm">SetAutoPageBreak()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
21
fpdf16/doc/close.htm
Executable file
21
fpdf16/doc/close.htm
Executable file
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Close</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Close</h1>
|
||||
<code>Close()</code>
|
||||
<h2>Description</h2>
|
||||
Terminates the PDF document. It is not necessary to call this method explicitly because Output()
|
||||
does it automatically.
|
||||
<br>
|
||||
If the document contains no page, AddPage() is called to prevent from getting an invalid document.
|
||||
<h2>See also</h2>
|
||||
<a href="output.htm">Output()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
25
fpdf16/doc/error.htm
Executable file
25
fpdf16/doc/error.htm
Executable file
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Error</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Error</h1>
|
||||
<code>Error(<b>string</b> msg)</code>
|
||||
<h2>Description</h2>
|
||||
This method is automatically called in case of fatal error; it simply outputs the message
|
||||
and halts the execution. An inherited class may override it to customize the error handling
|
||||
but should always halt the script, or the resulting document would probably be invalid.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>msg</code></dt>
|
||||
<dd>
|
||||
The error message.
|
||||
</dd>
|
||||
</dl>
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
35
fpdf16/doc/footer.htm
Executable file
35
fpdf16/doc/footer.htm
Executable file
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Footer</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Footer</h1>
|
||||
<code>Footer()</code>
|
||||
<h2>Description</h2>
|
||||
This method is used to render the page footer. It is automatically called by AddPage() and
|
||||
Close() and should not be called directly by the application. The implementation in FPDF is
|
||||
empty, so you have to subclass it and override the method if you want a specific processing.
|
||||
<h2>Example</h2>
|
||||
<div class="doc-source">
|
||||
<pre><code>class PDF extends FPDF
|
||||
{
|
||||
function Footer()
|
||||
{
|
||||
//Go to 1.5 cm from bottom
|
||||
$this->SetY(-15);
|
||||
//Select Arial italic 8
|
||||
$this->SetFont('Arial','I',8);
|
||||
//Print centered page number
|
||||
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
<h2>See also</h2>
|
||||
<a href="header.htm">Header()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
63
fpdf16/doc/fpdf.htm
Executable file
63
fpdf16/doc/fpdf.htm
Executable file
@@ -0,0 +1,63 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>FPDF</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FPDF</h1>
|
||||
<code>FPDF([<b>string</b> orientation [, <b>string</b> unit [, <b>mixed</b> format]]])</code>
|
||||
<h2>Description</h2>
|
||||
This is the class constructor. It allows to set up the page format, the orientation and the
|
||||
unit of measure used in all methods (except for font sizes).
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>orientation</code></dt>
|
||||
<dd>
|
||||
Default page orientation. Possible values are (case insensitive):
|
||||
<ul>
|
||||
<li><code>P</code> or <code>Portrait</code></li>
|
||||
<li><code>L</code> or <code>Landscape</code></li>
|
||||
</ul>
|
||||
Default value is <code>P</code>.
|
||||
</dd>
|
||||
<dt><code>unit</code></dt>
|
||||
<dd>
|
||||
User unit. Possible values are:
|
||||
<ul>
|
||||
<li><code>pt</code>: point</li>
|
||||
<li><code>mm</code>: millimeter</li>
|
||||
<li><code>cm</code>: centimeter</li>
|
||||
<li><code>in</code>: inch</li>
|
||||
</ul>
|
||||
A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This
|
||||
is a very common unit in typography; font sizes are expressed in that unit.
|
||||
<br>
|
||||
<br>
|
||||
Default value is <code>mm</code>.
|
||||
</dd>
|
||||
<dt><code>format</code></dt>
|
||||
<dd>
|
||||
The format used for pages. It can be either one of the following values (case insensitive):
|
||||
<ul>
|
||||
<li><code>A3</code></li>
|
||||
<li><code>A4</code></li>
|
||||
<li><code>A5</code></li>
|
||||
<li><code>Letter</code></li>
|
||||
<li><code>Legal</code></li>
|
||||
</ul>
|
||||
or an array containing the width and the height (expressed in the unit given by <code>unit</code>).<br>
|
||||
<br>
|
||||
Default value is <code>A4</code>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>Example</h2>
|
||||
Example with a custom 100x150 mm page format:
|
||||
<div class="doc-source">
|
||||
<pre><code>$pdf = new FPDF('P', 'mm', array(100,150));</code></pre>
|
||||
</div>
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
23
fpdf16/doc/getstringwidth.htm
Executable file
23
fpdf16/doc/getstringwidth.htm
Executable file
@@ -0,0 +1,23 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>GetStringWidth</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>GetStringWidth</h1>
|
||||
<code><b>float</b> GetStringWidth(<b>string</b> s)</code>
|
||||
<h2>Description</h2>
|
||||
Returns the length of a string in user unit. A font must be selected.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>s</code></dt>
|
||||
<dd>
|
||||
The string whose length is to be computed.
|
||||
</dd>
|
||||
</dl>
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
20
fpdf16/doc/getx.htm
Executable file
20
fpdf16/doc/getx.htm
Executable file
@@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>GetX</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>GetX</h1>
|
||||
<code><b>float</b> GetX()</code>
|
||||
<h2>Description</h2>
|
||||
Returns the abscissa of the current position.
|
||||
<h2>See also</h2>
|
||||
<a href="setx.htm">SetX()</a>,
|
||||
<a href="gety.htm">GetY()</a>,
|
||||
<a href="sety.htm">SetY()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
20
fpdf16/doc/gety.htm
Executable file
20
fpdf16/doc/gety.htm
Executable file
@@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>GetY</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>GetY</h1>
|
||||
<code><b>float</b> GetY()</code>
|
||||
<h2>Description</h2>
|
||||
Returns the ordinate of the current position.
|
||||
<h2>See also</h2>
|
||||
<a href="sety.htm">SetY()</a>,
|
||||
<a href="getx.htm">GetX()</a>,
|
||||
<a href="setx.htm">SetX()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
37
fpdf16/doc/header.htm
Executable file
37
fpdf16/doc/header.htm
Executable file
@@ -0,0 +1,37 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Header</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Header</h1>
|
||||
<code>Header()</code>
|
||||
<h2>Description</h2>
|
||||
This method is used to render the page header. It is automatically called by AddPage() and
|
||||
should not be called directly by the application. The implementation in FPDF is empty, so
|
||||
you have to subclass it and override the method if you want a specific processing.
|
||||
<h2>Example</h2>
|
||||
<div class="doc-source">
|
||||
<pre><code>class PDF extends FPDF
|
||||
{
|
||||
function Header()
|
||||
{
|
||||
//Select Arial bold 15
|
||||
$this->SetFont('Arial','B',15);
|
||||
//Move to the right
|
||||
$this->Cell(80);
|
||||
//Framed title
|
||||
$this->Cell(30,10,'Title',1,0,'C');
|
||||
//Line break
|
||||
$this->Ln(20);
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
<h2>See also</h2>
|
||||
<a href="footer.htm">Footer()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
86
fpdf16/doc/image.htm
Executable file
86
fpdf16/doc/image.htm
Executable file
@@ -0,0 +1,86 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Image</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Image</h1>
|
||||
<code>Image(<b>string</b> file [, <b>float</b> x [, <b>float</b> y [, <b>float</b> w [, <b>float</b> h [, <b>string</b> type [, <b>mixed</b> link]]]]]])</code>
|
||||
<h2>Description</h2>
|
||||
Puts an image. The size it will take on the page can be specified in different ways:
|
||||
<ul>
|
||||
<li>explicit width and height (expressed in user unit)</li>
|
||||
<li>one explicit dimension, the other being calculated automatically in order to keep the original proportions</li>
|
||||
<li>no explicit dimension, in which case the image is put at 72 dpi</li>
|
||||
</ul>
|
||||
Supported formats are JPEG, PNG and GIF. The GD extension is required for GIF.
|
||||
<br>
|
||||
<br>
|
||||
For JPEGs, all flavors are allowed:
|
||||
<ul>
|
||||
<li>gray scales</li>
|
||||
<li>true colors (24 bits)</li>
|
||||
<li>CMYK (32 bits)</li>
|
||||
</ul>
|
||||
For PNGs, are allowed:
|
||||
<ul>
|
||||
<li>gray scales on at most 8 bits (256 levels)</li>
|
||||
<li>indexed colors</li>
|
||||
<li>true colors (24 bits)</li>
|
||||
</ul>
|
||||
but are not supported:
|
||||
<ul>
|
||||
<li>Interlacing</li>
|
||||
<li>Alpha channel</li>
|
||||
</ul>
|
||||
For GIFs: in case of an animated GIF, only the first frame is used.<br>
|
||||
<br>
|
||||
If a transparent color is defined, it is taken into account.<br>
|
||||
<br>
|
||||
The format can be specified explicitly or inferred from the file extension.<br>
|
||||
It is possible to put a link on the image.<br>
|
||||
<br>
|
||||
Remark: if an image is used several times, only one copy is embedded in the file.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>file</code></dt>
|
||||
<dd>
|
||||
Path or URL of the image.
|
||||
</dd>
|
||||
<dt><code>x</code></dt>
|
||||
<dd>
|
||||
Abscissa of the upper-left corner. If not specified or equal to <code>null</code>, the current abscissa
|
||||
is used.
|
||||
</dd>
|
||||
<dt><code>y</code></dt>
|
||||
<dd>
|
||||
Ordinate of the upper-left corner. If not specified or equal to <code>null</code>, the current ordinate
|
||||
is used; moreover, a page break is triggered first if necessary (in case automatic page breaking is enabled)
|
||||
and, after the call, the current ordinate is moved to the bottom of the image.
|
||||
</dd>
|
||||
<dt><code>w</code></dt>
|
||||
<dd>
|
||||
Width of the image in the page. If not specified or equal to zero, it is automatically calculated.
|
||||
</dd>
|
||||
<dt><code>h</code></dt>
|
||||
<dd>
|
||||
Height of the image in the page. If not specified or equal to zero, it is automatically calculated.
|
||||
</dd>
|
||||
<dt><code>type</code></dt>
|
||||
<dd>
|
||||
Image format. Possible values are (case insensitive): <code>JPG</code>, <code>JPEG</code>, <code>PNG</code> and <code>GIF</code>.
|
||||
If not specified, the type is inferred from the file extension.
|
||||
</dd>
|
||||
<dt><code>link</code></dt>
|
||||
<dd>
|
||||
URL or identifier returned by AddLink().
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="addlink.htm">AddLink()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
57
fpdf16/doc/index.htm
Executable file
57
fpdf16/doc/index.htm
Executable file
@@ -0,0 +1,57 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>FPDF 1.6 Reference Manual</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FPDF 1.6 Reference Manual</h1>
|
||||
<a href="acceptpagebreak.htm">AcceptPageBreak</a> - accept or not automatic page break<br>
|
||||
<a href="addfont.htm">AddFont</a> - add a new font<br>
|
||||
<a href="addlink.htm">AddLink</a> - create an internal link<br>
|
||||
<a href="addpage.htm">AddPage</a> - add a new page<br>
|
||||
<a href="aliasnbpages.htm">AliasNbPages</a> - define an alias for number of pages<br>
|
||||
<a href="cell.htm">Cell</a> - print a cell<br>
|
||||
<a href="close.htm">Close</a> - terminate the document<br>
|
||||
<a href="error.htm">Error</a> - fatal error<br>
|
||||
<a href="footer.htm">Footer</a> - page footer<br>
|
||||
<a href="fpdf.htm">FPDF</a> - constructor<br>
|
||||
<a href="getstringwidth.htm">GetStringWidth</a> - compute string length<br>
|
||||
<a href="getx.htm">GetX</a> - get current x position<br>
|
||||
<a href="gety.htm">GetY</a> - get current y position<br>
|
||||
<a href="header.htm">Header</a> - page header<br>
|
||||
<a href="image.htm">Image</a> - output an image<br>
|
||||
<a href="line.htm">Line</a> - draw a line<br>
|
||||
<a href="link.htm">Link</a> - put a link<br>
|
||||
<a href="ln.htm">Ln</a> - line break<br>
|
||||
<a href="multicell.htm">MultiCell</a> - print text with line breaks<br>
|
||||
<a href="output.htm">Output</a> - save or send the document<br>
|
||||
<a href="pageno.htm">PageNo</a> - page number<br>
|
||||
<a href="rect.htm">Rect</a> - draw a rectangle<br>
|
||||
<a href="setauthor.htm">SetAuthor</a> - set the document author<br>
|
||||
<a href="setautopagebreak.htm">SetAutoPageBreak</a> - set the automatic page breaking mode<br>
|
||||
<a href="setcompression.htm">SetCompression</a> - turn compression on or off<br>
|
||||
<a href="setcreator.htm">SetCreator</a> - set document creator<br>
|
||||
<a href="setdisplaymode.htm">SetDisplayMode</a> - set display mode<br>
|
||||
<a href="setdrawcolor.htm">SetDrawColor</a> - set drawing color<br>
|
||||
<a href="setfillcolor.htm">SetFillColor</a> - set filling color<br>
|
||||
<a href="setfont.htm">SetFont</a> - set font<br>
|
||||
<a href="setfontsize.htm">SetFontSize</a> - set font size<br>
|
||||
<a href="setkeywords.htm">SetKeywords</a> - associate keywords with document<br>
|
||||
<a href="setleftmargin.htm">SetLeftMargin</a> - set left margin<br>
|
||||
<a href="setlinewidth.htm">SetLineWidth</a> - set line width<br>
|
||||
<a href="setlink.htm">SetLink</a> - set internal link destination<br>
|
||||
<a href="setmargins.htm">SetMargins</a> - set margins<br>
|
||||
<a href="setrightmargin.htm">SetRightMargin</a> - set right margin<br>
|
||||
<a href="setsubject.htm">SetSubject</a> - set document subject<br>
|
||||
<a href="settextcolor.htm">SetTextColor</a> - set text color<br>
|
||||
<a href="settitle.htm">SetTitle</a> - set document title<br>
|
||||
<a href="settopmargin.htm">SetTopMargin</a> - set top margin<br>
|
||||
<a href="setx.htm">SetX</a> - set current x position<br>
|
||||
<a href="setxy.htm">SetXY</a> - set current x and y positions<br>
|
||||
<a href="sety.htm">SetY</a> - set current y position<br>
|
||||
<a href="text.htm">Text</a> - print a string<br>
|
||||
<a href="write.htm">Write</a> - print flowing text<br>
|
||||
</body>
|
||||
</html>
|
||||
38
fpdf16/doc/line.htm
Executable file
38
fpdf16/doc/line.htm
Executable file
@@ -0,0 +1,38 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Line</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Line</h1>
|
||||
<code>Line(<b>float</b> x1, <b>float</b> y1, <b>float</b> x2, <b>float</b> y2)</code>
|
||||
<h2>Description</h2>
|
||||
Draws a line between two points.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>x1</code></dt>
|
||||
<dd>
|
||||
Abscissa of first point.
|
||||
</dd>
|
||||
<dt><code>y1</code></dt>
|
||||
<dd>
|
||||
Ordinate of first point.
|
||||
</dd>
|
||||
<dt><code>x2</code></dt>
|
||||
<dd>
|
||||
Abscissa of second point.
|
||||
</dd>
|
||||
<dt><code>y2</code></dt>
|
||||
<dd>
|
||||
Ordinate of second point.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setlinewidth.htm">SetLineWidth()</a>,
|
||||
<a href="setdrawcolor.htm">SetDrawColor()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
46
fpdf16/doc/link.htm
Executable file
46
fpdf16/doc/link.htm
Executable file
@@ -0,0 +1,46 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Link</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Link</h1>
|
||||
<code>Link(<b>float</b> x, <b>float</b> y, <b>float</b> w, <b>float</b> h, <b>mixed</b> link)</code>
|
||||
<h2>Description</h2>
|
||||
Puts a link on a rectangular area of the page. Text or image links are generally put via Cell(),
|
||||
Write() or Image(), but this method can be useful for instance to define a clickable area inside
|
||||
an image.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>x</code></dt>
|
||||
<dd>
|
||||
Abscissa of the upper-left corner of the rectangle.
|
||||
</dd>
|
||||
<dt><code>y</code></dt>
|
||||
<dd>
|
||||
Ordinate of the upper-left corner of the rectangle.
|
||||
</dd>
|
||||
<dt><code>w</code></dt>
|
||||
<dd>
|
||||
Width of the rectangle.
|
||||
</dd>
|
||||
<dt><code>h</code></dt>
|
||||
<dd>
|
||||
Height of the rectangle.
|
||||
</dd>
|
||||
<dt><code>link</code></dt>
|
||||
<dd>
|
||||
URL or identifier returned by AddLink().
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="addlink.htm">AddLink()</a>,
|
||||
<a href="cell.htm">Cell()</a>,
|
||||
<a href="write.htm">Write()</a>,
|
||||
<a href="image.htm">Image()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
28
fpdf16/doc/ln.htm
Executable file
28
fpdf16/doc/ln.htm
Executable file
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Ln</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Ln</h1>
|
||||
<code>Ln([<b>float</b> h])</code>
|
||||
<h2>Description</h2>
|
||||
Performs a line break. The current abscissa goes back to the left margin and the ordinate
|
||||
increases by the amount passed in parameter.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>h</code></dt>
|
||||
<dd>
|
||||
The height of the break.
|
||||
<br>
|
||||
By default, the value equals the height of the last printed cell.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="cell.htm">Cell()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
76
fpdf16/doc/multicell.htm
Executable file
76
fpdf16/doc/multicell.htm
Executable file
@@ -0,0 +1,76 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>MultiCell</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>MultiCell</h1>
|
||||
<code>MultiCell(<b>float</b> w, <b>float</b> h, <b>string</b> txt [, <b>mixed</b> border [, <b>string</b> align [, <b>boolean</b> fill]]])</code>
|
||||
<h2>Description</h2>
|
||||
This method allows printing text with line breaks. They can be automatic (as soon as the
|
||||
text reaches the right border of the cell) or explicit (via the \n character). As many cells
|
||||
as necessary are output, one below the other.
|
||||
<br>
|
||||
Text can be aligned, centered or justified. The cell block can be framed and the background
|
||||
painted.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>w</code></dt>
|
||||
<dd>
|
||||
Width of cells. If <code>0</code>, they extend up to the right margin of the page.
|
||||
</dd>
|
||||
<dt><code>h</code></dt>
|
||||
<dd>
|
||||
Height of cells.
|
||||
</dd>
|
||||
<dt><code>txt</code></dt>
|
||||
<dd>
|
||||
String to print.
|
||||
</dd>
|
||||
<dt><code>border</code></dt>
|
||||
<dd>
|
||||
Indicates if borders must be drawn around the cell block. The value can be either a number:
|
||||
<ul>
|
||||
<li><code>0</code>: no border</li>
|
||||
<li><code>1</code>: frame</li>
|
||||
</ul>
|
||||
or a string containing some or all of the following characters (in any order):
|
||||
<ul>
|
||||
<li><code>L</code>: left</li>
|
||||
<li><code>T</code>: top</li>
|
||||
<li><code>R</code>: right</li>
|
||||
<li><code>B</code>: bottom</li>
|
||||
</ul>
|
||||
Default value: <code>0</code>.
|
||||
</dd>
|
||||
<dt><code>align</code></dt>
|
||||
<dd>
|
||||
Sets the text alignment. Possible values are:
|
||||
<ul>
|
||||
<li><code>L</code>: left alignment</li>
|
||||
<li><code>C</code>: center</li>
|
||||
<li><code>R</code>: right alignment</li>
|
||||
<li><code>J</code>: justification (default value)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt><code>fill</code></dt>
|
||||
<dd>
|
||||
Indicates if the cell background must be painted (<code>true</code>) or transparent (<code>false</code>).
|
||||
Default value: <code>false</code>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setfont.htm">SetFont()</a>,
|
||||
<a href="setdrawcolor.htm">SetDrawColor()</a>,
|
||||
<a href="setfillcolor.htm">SetFillColor()</a>,
|
||||
<a href="settextcolor.htm">SetTextColor()</a>,
|
||||
<a href="setlinewidth.htm">SetLineWidth()</a>,
|
||||
<a href="cell.htm">Cell()</a>,
|
||||
<a href="write.htm">Write()</a>,
|
||||
<a href="setautopagebreak.htm">SetAutoPageBreak()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
42
fpdf16/doc/output.htm
Executable file
42
fpdf16/doc/output.htm
Executable file
@@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Output</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Output</h1>
|
||||
<code><b>string</b> Output([<b>string</b> name, <b>string</b> dest])</code>
|
||||
<h2>Description</h2>
|
||||
Send the document to a given destination: browser, file or string. In the case of browser, the
|
||||
plug-in may be used (if present) or a download ("Save as" dialog box) may be forced.
|
||||
<br>
|
||||
The method first calls Close() if necessary to terminate the document.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>name</code></dt>
|
||||
<dd>
|
||||
The name of the file. If not specified, the document will be sent to the browser
|
||||
(destination <code>I</code>) with the name <code>doc.pdf</code>.
|
||||
</dd>
|
||||
<dt><code>dest</code></dt>
|
||||
<dd>
|
||||
Destination where to send the document. It can take one of the following values:
|
||||
<ul>
|
||||
<li><code>I</code>: send the file inline to the browser. The plug-in is used if available.
|
||||
The name given by <code>name</code> is used when one selects the "Save as" option on the
|
||||
link generating the PDF.</li>
|
||||
<li><code>D</code>: send to the browser and force a file download with the name given by
|
||||
<code>name</code>.</li>
|
||||
<li><code>F</code>: save to a local file with the name given by <code>name</code> (may include a path).</li>
|
||||
<li><code>S</code>: return the document as a string. <code>name</code> is ignored.</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="close.htm">Close()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
18
fpdf16/doc/pageno.htm
Executable file
18
fpdf16/doc/pageno.htm
Executable file
@@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>PageNo</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>PageNo</h1>
|
||||
<code><b>int</b> PageNo()</code>
|
||||
<h2>Description</h2>
|
||||
Returns the current page number.
|
||||
<h2>See also</h2>
|
||||
<a href="aliasnbpages.htm">AliasNbPages()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
48
fpdf16/doc/rect.htm
Executable file
48
fpdf16/doc/rect.htm
Executable file
@@ -0,0 +1,48 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Rect</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Rect</h1>
|
||||
<code>Rect(<b>float</b> x, <b>float</b> y, <b>float</b> w, <b>float</b> h [, <b>string</b> style])</code>
|
||||
<h2>Description</h2>
|
||||
Outputs a rectangle. It can be drawn (border only), filled (with no border) or both.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>x</code></dt>
|
||||
<dd>
|
||||
Abscissa of upper-left corner.
|
||||
</dd>
|
||||
<dt><code>y</code></dt>
|
||||
<dd>
|
||||
Ordinate of upper-left corner.
|
||||
</dd>
|
||||
<dt><code>w</code></dt>
|
||||
<dd>
|
||||
Width.
|
||||
</dd>
|
||||
<dt><code>h</code></dt>
|
||||
<dd>
|
||||
Height.
|
||||
</dd>
|
||||
<dt><code>style</code></dt>
|
||||
<dd>
|
||||
Style of rendering. Possible values are:
|
||||
<ul>
|
||||
<li><code>D</code> or empty string: draw. This is the default value.</li>
|
||||
<li><code>F</code>: fill</li>
|
||||
<li><code>DF</code> or <code>FD</code>: draw and fill</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setlinewidth.htm">SetLineWidth()</a>,
|
||||
<a href="setdrawcolor.htm">SetDrawColor()</a>,
|
||||
<a href="setfillcolor.htm">SetFillColor()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
33
fpdf16/doc/setauthor.htm
Executable file
33
fpdf16/doc/setauthor.htm
Executable file
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetAuthor</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetAuthor</h1>
|
||||
<code>SetAuthor(<b>string</b> author [, <b>boolean</b> isUTF8])</code>
|
||||
<h2>Description</h2>
|
||||
Defines the author of the document.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>author</code></dt>
|
||||
<dd>
|
||||
The name of the author.
|
||||
</dd>
|
||||
<dt><code>isUTF8</code></dt>
|
||||
<dd>
|
||||
Indicates if the string is encoded in ISO-8859-1 (<code>false</code>) or UTF-8 (<code>true</code>).<br>
|
||||
Default value: <code>false</code>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setcreator.htm">SetCreator()</a>,
|
||||
<a href="setkeywords.htm">SetKeywords()</a>,
|
||||
<a href="setsubject.htm">SetSubject()</a>,
|
||||
<a href="settitle.htm">SetTitle()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
33
fpdf16/doc/setautopagebreak.htm
Executable file
33
fpdf16/doc/setautopagebreak.htm
Executable file
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetAutoPageBreak</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetAutoPageBreak</h1>
|
||||
<code>SetAutoPageBreak(<b>boolean</b> auto [, <b>float</b> margin])</code>
|
||||
<h2>Description</h2>
|
||||
Enables or disables the automatic page breaking mode. When enabling, the second parameter is
|
||||
the distance from the bottom of the page that defines the triggering limit. By default, the
|
||||
mode is on and the margin is 2 cm.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>auto</code></dt>
|
||||
<dd>
|
||||
Boolean indicating if mode should be on or off.
|
||||
</dd>
|
||||
<dt><code>margin</code></dt>
|
||||
<dd>
|
||||
Distance from the bottom of the page.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="cell.htm">Cell()</a>,
|
||||
<a href="multicell.htm">MultiCell()</a>,
|
||||
<a href="acceptpagebreak.htm">AcceptPageBreak()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
31
fpdf16/doc/setcompression.htm
Executable file
31
fpdf16/doc/setcompression.htm
Executable file
@@ -0,0 +1,31 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetCompression</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetCompression</h1>
|
||||
<code>SetCompression(<b>boolean</b> compress)</code>
|
||||
<h2>Description</h2>
|
||||
Activates or deactivates page compression. When activated, the internal representation of
|
||||
each page is compressed, which leads to a compression ratio of about 2 for the resulting
|
||||
document.
|
||||
<br>
|
||||
Compression is on by default.
|
||||
<br>
|
||||
<br>
|
||||
<strong>Note:</strong> the Zlib extension is required for this feature. If not present, compression
|
||||
will be turned off.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>compress</code></dt>
|
||||
<dd>
|
||||
Boolean indicating if compression must be enabled.
|
||||
</dd>
|
||||
</dl>
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
34
fpdf16/doc/setcreator.htm
Executable file
34
fpdf16/doc/setcreator.htm
Executable file
@@ -0,0 +1,34 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetCreator</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetCreator</h1>
|
||||
<code>SetCreator(<b>string</b> creator [, <b>boolean</b> isUTF8])</code>
|
||||
<h2>Description</h2>
|
||||
Defines the creator of the document. This is typically the name of the application that
|
||||
generates the PDF.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>creator</code></dt>
|
||||
<dd>
|
||||
The name of the creator.
|
||||
</dd>
|
||||
<dt><code>isUTF8</code></dt>
|
||||
<dd>
|
||||
Indicates if the string is encoded in ISO-8859-1 (<code>false</code>) or UTF-8 (<code>true</code>).<br>
|
||||
Default value: <code>false</code>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setauthor.htm">SetAuthor()</a>,
|
||||
<a href="setkeywords.htm">SetKeywords()</a>,
|
||||
<a href="setsubject.htm">SetSubject()</a>,
|
||||
<a href="settitle.htm">SetTitle()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
47
fpdf16/doc/setdisplaymode.htm
Executable file
47
fpdf16/doc/setdisplaymode.htm
Executable file
@@ -0,0 +1,47 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetDisplayMode</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetDisplayMode</h1>
|
||||
<code>SetDisplayMode(<b>mixed</b> zoom [, <b>string</b> layout])</code>
|
||||
<h2>Description</h2>
|
||||
Defines the way the document is to be displayed by the viewer. The zoom level can be set: pages can be
|
||||
displayed entirely on screen, occupy the full width of the window, use real size, be scaled by a
|
||||
specific zooming factor or use viewer default (configured in the Preferences menu of Acrobat).
|
||||
The page layout can be specified too: single at once, continuous display, two columns or viewer
|
||||
default.
|
||||
<br>
|
||||
By default, documents use the full width mode with continuous display.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>zoom</code></dt>
|
||||
<dd>
|
||||
The zoom to use. It can be one of the following string values:
|
||||
<ul>
|
||||
<li><code>fullpage</code>: displays the entire page on screen</li>
|
||||
<li><code>fullwidth</code>: uses maximum width of window</li>
|
||||
<li><code>real</code>: uses real size (equivalent to 100% zoom)</li>
|
||||
<li><code>default</code>: uses viewer default mode</li>
|
||||
</ul>
|
||||
or a number indicating the zooming factor to use.
|
||||
</dd>
|
||||
<dt><code>layout</code></dt>
|
||||
<dd>
|
||||
The page layout. Possible values are:
|
||||
<ul>
|
||||
<li><code>single</code>: displays one page at once</li>
|
||||
<li><code>continuous</code>: displays pages continuously</li>
|
||||
<li><code>two</code>: displays two pages on two columns</li>
|
||||
<li><code>default</code>: uses viewer default mode</li>
|
||||
</ul>
|
||||
Default value is <code>continuous</code>.
|
||||
</dd>
|
||||
</dl>
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
41
fpdf16/doc/setdrawcolor.htm
Executable file
41
fpdf16/doc/setdrawcolor.htm
Executable file
@@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetDrawColor</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetDrawColor</h1>
|
||||
<code>SetDrawColor(<b>int</b> r [, <b>int</b> g, <b>int</b> b])</code>
|
||||
<h2>Description</h2>
|
||||
Defines the color used for all drawing operations (lines, rectangles and cell borders). It
|
||||
can be expressed in RGB components or gray scale. The method can be called before the first
|
||||
page is created and the value is retained from page to page.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>r</code></dt>
|
||||
<dd>
|
||||
If <code>g</code> et <code>b</code> are given, red component; if not, indicates the gray level.
|
||||
Value between 0 and 255.
|
||||
</dd>
|
||||
<dt><code>g</code></dt>
|
||||
<dd>
|
||||
Green component (between 0 and 255).
|
||||
</dd>
|
||||
<dt><code>b</code></dt>
|
||||
<dd>
|
||||
Blue component (between 0 and 255).
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setfillcolor.htm">SetFillColor()</a>,
|
||||
<a href="settextcolor.htm">SetTextColor()</a>,
|
||||
<a href="line.htm">Line()</a>,
|
||||
<a href="rect.htm">Rect()</a>,
|
||||
<a href="cell.htm">Cell()</a>,
|
||||
<a href="multicell.htm">MultiCell()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
40
fpdf16/doc/setfillcolor.htm
Executable file
40
fpdf16/doc/setfillcolor.htm
Executable file
@@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetFillColor</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetFillColor</h1>
|
||||
<code>SetFillColor(<b>int</b> r [, <b>int</b> g, <b>int</b> b])</code>
|
||||
<h2>Description</h2>
|
||||
Defines the color used for all filling operations (filled rectangles and cell backgrounds).
|
||||
It can be expressed in RGB components or gray scale. The method can be called before the first
|
||||
page is created and the value is retained from page to page.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>r</code></dt>
|
||||
<dd>
|
||||
If <code>g</code> and <code>b</code> are given, red component; if not, indicates the gray level.
|
||||
Value between 0 and 255.
|
||||
</dd>
|
||||
<dt><code>g</code></dt>
|
||||
<dd>
|
||||
Green component (between 0 and 255).
|
||||
</dd>
|
||||
<dt><code>b</code></dt>
|
||||
<dd>
|
||||
Blue component (between 0 and 255).
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setdrawcolor.htm">SetDrawColor()</a>,
|
||||
<a href="settextcolor.htm">SetTextColor()</a>,
|
||||
<a href="rect.htm">Rect()</a>,
|
||||
<a href="cell.htm">Cell()</a>,
|
||||
<a href="multicell.htm">MultiCell()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
92
fpdf16/doc/setfont.htm
Executable file
92
fpdf16/doc/setfont.htm
Executable file
@@ -0,0 +1,92 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetFont</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetFont</h1>
|
||||
<code>SetFont(<b>string</b> family [, <b>string</b> style [, <b>float</b> size]])</code>
|
||||
<h2>Description</h2>
|
||||
Sets the font used to print character strings. It is mandatory to call this method
|
||||
at least once before printing text or the resulting document would not be valid.
|
||||
<br>
|
||||
The font can be either a standard one or a font added via the AddFont() method. Standard fonts
|
||||
use Windows encoding cp1252 (Western Europe).
|
||||
<br>
|
||||
The method can be called before the first page is created and the font is retained from page
|
||||
to page.
|
||||
<br>
|
||||
If you just wish to change the current font size, it is simpler to call SetFontSize().
|
||||
<br>
|
||||
<br>
|
||||
<strong>Note:</strong> the font metric files must be accessible. They are searched successively in:
|
||||
<ul>
|
||||
<li>The directory defined by the <code>FPDF_FONTPATH</code> constant (if this constant is defined)</li>
|
||||
<li>The <code>font</code> directory located in the directory containing <code>fpdf.php</code> (if it exists)</li>
|
||||
<li>The directories accessible through <code>include()</code></li>
|
||||
</ul>
|
||||
Example defining <code>FPDF_FONTPATH</code> (note the mandatory trailing slash):
|
||||
<div class="doc-source">
|
||||
<pre><code>define('FPDF_FONTPATH','/home/www/font/');
|
||||
require('fpdf.php');</code></pre>
|
||||
</div>
|
||||
If the file corresponding to the requested font is not found, the error "Could not include
|
||||
font metric file" is issued.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>family</code></dt>
|
||||
<dd>
|
||||
Family font. It can be either a name defined by AddFont() or one of the standard families (case
|
||||
insensitive):
|
||||
<ul>
|
||||
<li><code>Courier</code> (fixed-width)</li>
|
||||
<li><code>Helvetica</code> or <code>Arial</code> (synonymous; sans serif)</li>
|
||||
<li><code>Times</code> (serif)</li>
|
||||
<li><code>Symbol</code> (symbolic)</li>
|
||||
<li><code>ZapfDingbats</code> (symbolic)</li>
|
||||
</ul>
|
||||
It is also possible to pass an empty string. In that case, the current family is retained.
|
||||
</dd>
|
||||
<dt><code>style</code></dt>
|
||||
<dd>
|
||||
Font style. Possible values are (case insensitive):
|
||||
<ul>
|
||||
<li>empty string: regular</li>
|
||||
<li><code>B</code>: bold</li>
|
||||
<li><code>I</code>: italic</li>
|
||||
<li><code>U</code>: underline</li>
|
||||
</ul>
|
||||
or any combination. The default value is regular.
|
||||
Bold and italic styles do not apply to <code>Symbol</code> and <code>ZapfDingbats</code>.
|
||||
</dd>
|
||||
<dt><code>size</code></dt>
|
||||
<dd>
|
||||
Font size in points.
|
||||
<br>
|
||||
The default value is the current size. If no size has been specified since the beginning of
|
||||
the document, the value taken is 12.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>Example</h2>
|
||||
<div class="doc-source">
|
||||
<pre><code>//Times regular 12
|
||||
$pdf->SetFont('Times');
|
||||
//Arial bold 14
|
||||
$pdf->SetFont('Arial','B',14);
|
||||
//Removes bold
|
||||
$pdf->SetFont('');
|
||||
//Times bold, italic and underlined 14
|
||||
$pdf->SetFont('Times','BIU');</code></pre>
|
||||
</div>
|
||||
<h2>See also</h2>
|
||||
<a href="addfont.htm">AddFont()</a>,
|
||||
<a href="setfontsize.htm">SetFontSize()</a>,
|
||||
<a href="cell.htm">Cell()</a>,
|
||||
<a href="multicell.htm">MultiCell()</a>,
|
||||
<a href="write.htm">Write()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
25
fpdf16/doc/setfontsize.htm
Executable file
25
fpdf16/doc/setfontsize.htm
Executable file
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetFontSize</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetFontSize</h1>
|
||||
<code>SetFontSize(<b>float</b> size)</code>
|
||||
<h2>Description</h2>
|
||||
Defines the size of the current font.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>size</code></dt>
|
||||
<dd>
|
||||
The size (in points).
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setfont.htm">SetFont()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
33
fpdf16/doc/setkeywords.htm
Executable file
33
fpdf16/doc/setkeywords.htm
Executable file
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetKeywords</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetKeywords</h1>
|
||||
<code>SetKeywords(<b>string</b> keywords [, <b>boolean</b> isUTF8])</code>
|
||||
<h2>Description</h2>
|
||||
Associates keywords with the document, generally in the form 'keyword1 keyword2 ...'.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>keywords</code></dt>
|
||||
<dd>
|
||||
The list of keywords.
|
||||
</dd>
|
||||
<dt><code>isUTF8</code></dt>
|
||||
<dd>
|
||||
Indicates if the string is encoded in ISO-8859-1 (<code>false</code>) or UTF-8 (<code>true</code>).<br>
|
||||
Default value: <code>false</code>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setauthor.htm">SetAuthor()</a>,
|
||||
<a href="setcreator.htm">SetCreator()</a>,
|
||||
<a href="setsubject.htm">SetSubject()</a>,
|
||||
<a href="settitle.htm">SetTitle()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
30
fpdf16/doc/setleftmargin.htm
Executable file
30
fpdf16/doc/setleftmargin.htm
Executable file
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetLeftMargin</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetLeftMargin</h1>
|
||||
<code>SetLeftMargin(<b>float</b> margin)</code>
|
||||
<h2>Description</h2>
|
||||
Defines the left margin. The method can be called before creating the first page.
|
||||
<br>
|
||||
If the current abscissa gets out of page, it is brought back to the margin.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>margin</code></dt>
|
||||
<dd>
|
||||
The margin.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="settopmargin.htm">SetTopMargin()</a>,
|
||||
<a href="setrightmargin.htm">SetRightMargin()</a>,
|
||||
<a href="setautopagebreak.htm">SetAutoPageBreak()</a>,
|
||||
<a href="setmargins.htm">SetMargins()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
29
fpdf16/doc/setlinewidth.htm
Executable file
29
fpdf16/doc/setlinewidth.htm
Executable file
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetLineWidth</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetLineWidth</h1>
|
||||
<code>SetLineWidth(<b>float</b> width)</code>
|
||||
<h2>Description</h2>
|
||||
Defines the line width. By default, the value equals 0.2 mm. The method can be called before
|
||||
the first page is created and the value is retained from page to page.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>width</code></dt>
|
||||
<dd>
|
||||
The width.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="line.htm">Line()</a>,
|
||||
<a href="rect.htm">Rect()</a>,
|
||||
<a href="cell.htm">Cell()</a>,
|
||||
<a href="multicell.htm">MultiCell()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
34
fpdf16/doc/setlink.htm
Executable file
34
fpdf16/doc/setlink.htm
Executable file
@@ -0,0 +1,34 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetLink</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetLink</h1>
|
||||
<code>SetLink(<b>int</b> link [, <b>float</b> y [, <b>int</b> page]])</code>
|
||||
<h2>Description</h2>
|
||||
Defines the page and position a link points to.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>link</code></dt>
|
||||
<dd>
|
||||
The link identifier returned by AddLink().
|
||||
</dd>
|
||||
<dt><code>y</code></dt>
|
||||
<dd>
|
||||
Ordinate of target position; <code>-1</code> indicates the current position.
|
||||
The default value is <code>0</code> (top of page).
|
||||
</dd>
|
||||
<dt><code>page</code></dt>
|
||||
<dd>
|
||||
Number of target page; <code>-1</code> indicates the current page. This is the default value.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="addlink.htm">AddLink()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
37
fpdf16/doc/setmargins.htm
Executable file
37
fpdf16/doc/setmargins.htm
Executable file
@@ -0,0 +1,37 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetMargins</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetMargins</h1>
|
||||
<code>SetMargins(<b>float</b> left, <b>float</b> top [, <b>float</b> right])</code>
|
||||
<h2>Description</h2>
|
||||
Defines the left, top and right margins. By default, they equal 1 cm. Call this method to change
|
||||
them.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>left</code></dt>
|
||||
<dd>
|
||||
Left margin.
|
||||
</dd>
|
||||
<dt><code>top</code></dt>
|
||||
<dd>
|
||||
Top margin.
|
||||
</dd>
|
||||
<dt><code>right</code></dt>
|
||||
<dd>
|
||||
Right margin. Default value is the left one.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setleftmargin.htm">SetLeftMargin()</a>,
|
||||
<a href="settopmargin.htm">SetTopMargin()</a>,
|
||||
<a href="setrightmargin.htm">SetRightMargin()</a>,
|
||||
<a href="setautopagebreak.htm">SetAutoPageBreak()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
28
fpdf16/doc/setrightmargin.htm
Executable file
28
fpdf16/doc/setrightmargin.htm
Executable file
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetRightMargin</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetRightMargin</h1>
|
||||
<code>SetRightMargin(<b>float</b> margin)</code>
|
||||
<h2>Description</h2>
|
||||
Defines the right margin. The method can be called before creating the first page.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>margin</code></dt>
|
||||
<dd>
|
||||
The margin.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setleftmargin.htm">SetLeftMargin()</a>,
|
||||
<a href="settopmargin.htm">SetTopMargin()</a>,
|
||||
<a href="setautopagebreak.htm">SetAutoPageBreak()</a>,
|
||||
<a href="setmargins.htm">SetMargins()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
33
fpdf16/doc/setsubject.htm
Executable file
33
fpdf16/doc/setsubject.htm
Executable file
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetSubject</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetSubject</h1>
|
||||
<code>SetSubject(<b>string</b> subject [, <b>boolean</b> isUTF8])</code>
|
||||
<h2>Description</h2>
|
||||
Defines the subject of the document.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>subject</code></dt>
|
||||
<dd>
|
||||
The subject.
|
||||
</dd>
|
||||
<dt><code>isUTF8</code></dt>
|
||||
<dd>
|
||||
Indicates if the string is encoded in ISO-8859-1 (<code>false</code>) or UTF-8 (<code>true</code>).<br>
|
||||
Default value: <code>false</code>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setauthor.htm">SetAuthor()</a>,
|
||||
<a href="setcreator.htm">SetCreator()</a>,
|
||||
<a href="setkeywords.htm">SetKeywords()</a>,
|
||||
<a href="settitle.htm">SetTitle()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
40
fpdf16/doc/settextcolor.htm
Executable file
40
fpdf16/doc/settextcolor.htm
Executable file
@@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetTextColor</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetTextColor</h1>
|
||||
<code>SetTextColor(<b>int</b> r [, <b>int</b> g, <b>int</b> b])</code>
|
||||
<h2>Description</h2>
|
||||
Defines the color used for text. It can be expressed in RGB components or gray scale. The
|
||||
method can be called before the first page is created and the value is retained from page to
|
||||
page.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>r</code></dt>
|
||||
<dd>
|
||||
If <code>g</code> et <code>b</code> are given, red component; if not, indicates the gray level.
|
||||
Value between 0 and 255.
|
||||
</dd>
|
||||
<dt><code>g</code></dt>
|
||||
<dd>
|
||||
Green component (between 0 and 255).
|
||||
</dd>
|
||||
<dt><code>b</code></dt>
|
||||
<dd>
|
||||
Blue component (between 0 and 255).
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setdrawcolor.htm">SetDrawColor()</a>,
|
||||
<a href="setfillcolor.htm">SetFillColor()</a>,
|
||||
<a href="text.htm">Text()</a>,
|
||||
<a href="cell.htm">Cell()</a>,
|
||||
<a href="multicell.htm">MultiCell()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
33
fpdf16/doc/settitle.htm
Executable file
33
fpdf16/doc/settitle.htm
Executable file
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetTitle</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetTitle</h1>
|
||||
<code>SetTitle(<b>string</b> title [, <b>boolean</b> isUTF8])</code>
|
||||
<h2>Description</h2>
|
||||
Defines the title of the document.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>title</code></dt>
|
||||
<dd>
|
||||
The title.
|
||||
</dd>
|
||||
<dt><code>isUTF8</code></dt>
|
||||
<dd>
|
||||
Indicates if the string is encoded in ISO-8859-1 (<code>false</code>) or UTF-8 (<code>true</code>).<br>
|
||||
Default value: <code>false</code>.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setauthor.htm">SetAuthor()</a>,
|
||||
<a href="setcreator.htm">SetCreator()</a>,
|
||||
<a href="setkeywords.htm">SetKeywords()</a>,
|
||||
<a href="setsubject.htm">SetSubject()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
28
fpdf16/doc/settopmargin.htm
Executable file
28
fpdf16/doc/settopmargin.htm
Executable file
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetTopMargin</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetTopMargin</h1>
|
||||
<code>SetTopMargin(<b>float</b> margin)</code>
|
||||
<h2>Description</h2>
|
||||
Defines the top margin. The method can be called before creating the first page.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>margin</code></dt>
|
||||
<dd>
|
||||
The margin.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setleftmargin.htm">SetLeftMargin()</a>,
|
||||
<a href="setrightmargin.htm">SetRightMargin()</a>,
|
||||
<a href="setautopagebreak.htm">SetAutoPageBreak()</a>,
|
||||
<a href="setmargins.htm">SetMargins()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
29
fpdf16/doc/setx.htm
Executable file
29
fpdf16/doc/setx.htm
Executable file
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetX</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetX</h1>
|
||||
<code>SetX(<b>float</b> x)</code>
|
||||
<h2>Description</h2>
|
||||
Defines the abscissa of the current position. If the passed value is negative, it is relative
|
||||
to the right of the page.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>x</code></dt>
|
||||
<dd>
|
||||
The value of the abscissa.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="getx.htm">GetX()</a>,
|
||||
<a href="gety.htm">GetY()</a>,
|
||||
<a href="sety.htm">SetY()</a>,
|
||||
<a href="setxy.htm">SetXY()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
31
fpdf16/doc/setxy.htm
Executable file
31
fpdf16/doc/setxy.htm
Executable file
@@ -0,0 +1,31 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetXY</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetXY</h1>
|
||||
<code>SetXY(<b>float</b> x, <b>float</b> y)</code>
|
||||
<h2>Description</h2>
|
||||
Defines the abscissa and ordinate of the current position. If the passed values are negative,
|
||||
they are relative respectively to the right and bottom of the page.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>x</code></dt>
|
||||
<dd>
|
||||
The value of the abscissa.
|
||||
</dd>
|
||||
<dt><code>y</code></dt>
|
||||
<dd>
|
||||
The value of the ordinate.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setx.htm">SetX()</a>,
|
||||
<a href="sety.htm">SetY()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
29
fpdf16/doc/sety.htm
Executable file
29
fpdf16/doc/sety.htm
Executable file
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>SetY</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>SetY</h1>
|
||||
<code>SetY(<b>float</b> y)</code>
|
||||
<h2>Description</h2>
|
||||
Moves the current abscissa back to the left margin and sets the ordinate. If the passed value
|
||||
is negative, it is relative to the bottom of the page.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>y</code></dt>
|
||||
<dd>
|
||||
The value of the ordinate.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="getx.htm">GetX()</a>,
|
||||
<a href="gety.htm">GetY()</a>,
|
||||
<a href="setx.htm">SetX()</a>,
|
||||
<a href="setxy.htm">SetXY()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
39
fpdf16/doc/text.htm
Executable file
39
fpdf16/doc/text.htm
Executable file
@@ -0,0 +1,39 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Text</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Text</h1>
|
||||
<code>Text(<b>float</b> x, <b>float</b> y, <b>string</b> txt)</code>
|
||||
<h2>Description</h2>
|
||||
Prints a character string. The origin is on the left of the first character, on the baseline.
|
||||
This method allows to place a string precisely on the page, but it is usually easier to use
|
||||
Cell(), MultiCell() or Write() which are the standard methods to print text.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>x</code></dt>
|
||||
<dd>
|
||||
Abscissa of the origin.
|
||||
</dd>
|
||||
<dt><code>y</code></dt>
|
||||
<dd>
|
||||
Ordinate of the origin.
|
||||
</dd>
|
||||
<dt><code>txt</code></dt>
|
||||
<dd>
|
||||
String to print.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>See also</h2>
|
||||
<a href="setfont.htm">SetFont()</a>,
|
||||
<a href="settextcolor.htm">SetTextColor()</a>,
|
||||
<a href="cell.htm">Cell()</a>,
|
||||
<a href="multicell.htm">MultiCell()</a>,
|
||||
<a href="write.htm">Write()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
51
fpdf16/doc/write.htm
Executable file
51
fpdf16/doc/write.htm
Executable file
@@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Write</title>
|
||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Write</h1>
|
||||
<code>Write(<b>float</b> h, <b>string</b> txt [, <b>mixed</b> link])</code>
|
||||
<h2>Description</h2>
|
||||
This method prints text from the current position. When the right margin is reached (or the \n
|
||||
character is met) a line break occurs and text continues from the left margin. Upon method exit,
|
||||
the current position is left just at the end of the text.
|
||||
<br>
|
||||
It is possible to put a link on the text.
|
||||
<h2>Parameters</h2>
|
||||
<dl class="param">
|
||||
<dt><code>h</code></dt>
|
||||
<dd>
|
||||
Line height.
|
||||
</dd>
|
||||
<dt><code>txt</code></dt>
|
||||
<dd>
|
||||
String to print.
|
||||
</dd>
|
||||
<dt><code>link</code></dt>
|
||||
<dd>
|
||||
URL or identifier returned by AddLink().
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>Example</h2>
|
||||
<div class="doc-source">
|
||||
<pre><code>//Begin with regular font
|
||||
$pdf->SetFont('Arial','',14);
|
||||
$pdf->Write(5,'Visit ');
|
||||
//Then put a blue underlined link
|
||||
$pdf->SetTextColor(0,0,255);
|
||||
$pdf->SetFont('','U');
|
||||
$pdf->Write(5,'www.fpdf.org','http://www.fpdf.org');</code></pre>
|
||||
</div>
|
||||
<h2>See also</h2>
|
||||
<a href="setfont.htm">SetFont()</a>,
|
||||
<a href="settextcolor.htm">SetTextColor()</a>,
|
||||
<a href="addlink.htm">AddLink()</a>,
|
||||
<a href="multicell.htm">MultiCell()</a>,
|
||||
<a href="setautopagebreak.htm">SetAutoPageBreak()</a>.
|
||||
<hr style="margin-top:1.5em">
|
||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||
</body>
|
||||
</html>
|
||||
7
fpdf16/font/courier.php
Executable file
7
fpdf16/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
fpdf16/font/desktop.ini
Executable file
4
fpdf16/font/desktop.ini
Executable file
@@ -0,0 +1,4 @@
|
||||
[ViewState]
|
||||
Mode=
|
||||
Vid=
|
||||
FolderType=NotSpecified
|
||||
15
fpdf16/font/helvetica.php
Executable file
15
fpdf16/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
fpdf16/font/helveticab.php
Executable file
15
fpdf16/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
fpdf16/font/helveticabi.php
Executable file
15
fpdf16/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
fpdf16/font/helveticai.php
Executable file
15
fpdf16/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
fpdf16/font/makefont/cp1250.map
Executable file
251
fpdf16/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
fpdf16/font/makefont/cp1251.map
Executable file
255
fpdf16/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
fpdf16/font/makefont/cp1252.map
Executable file
251
fpdf16/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
fpdf16/font/makefont/cp1253.map
Executable file
239
fpdf16/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
fpdf16/font/makefont/cp1254.map
Executable file
249
fpdf16/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
fpdf16/font/makefont/cp1255.map
Executable file
233
fpdf16/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
fpdf16/font/makefont/cp1257.map
Executable file
244
fpdf16/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
fpdf16/font/makefont/cp1258.map
Executable file
247
fpdf16/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
fpdf16/font/makefont/cp874.map
Executable file
225
fpdf16/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
fpdf16/font/makefont/iso-8859-1.map
Executable file
256
fpdf16/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
fpdf16/font/makefont/iso-8859-11.map
Executable file
248
fpdf16/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
fpdf16/font/makefont/iso-8859-15.map
Executable file
256
fpdf16/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
fpdf16/font/makefont/iso-8859-16.map
Executable file
256
fpdf16/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
fpdf16/font/makefont/iso-8859-2.map
Executable file
256
fpdf16/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
fpdf16/font/makefont/iso-8859-4.map
Executable file
256
fpdf16/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
fpdf16/font/makefont/iso-8859-5.map
Executable file
256
fpdf16/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
fpdf16/font/makefont/iso-8859-7.map
Executable file
250
fpdf16/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
fpdf16/font/makefont/iso-8859-9.map
Executable file
256
fpdf16/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
fpdf16/font/makefont/koi8-r.map
Executable file
256
fpdf16/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
fpdf16/font/makefont/koi8-u.map
Executable file
256
fpdf16/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
fpdf16/font/makefont/makefont.php
Executable file
419
fpdf16/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
fpdf16/font/symbol.php
Executable file
15
fpdf16/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
fpdf16/font/times.php
Executable file
15
fpdf16/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
fpdf16/font/timesb.php
Executable file
15
fpdf16/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);
|
||||
?>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user