diff --git a/e107_plugins/pdf/admin_pdf_config.php b/e107_plugins/pdf/admin_pdf_config.php
index a75c1c5f5..83d55dcbe 100644
--- a/e107_plugins/pdf/admin_pdf_config.php
+++ b/e107_plugins/pdf/admin_pdf_config.php
@@ -9,9 +9,9 @@
* Plugin Administration - PDF generator
*
* $Source: /cvs_backup/e107_0.8/e107_plugins/pdf/admin_pdf_config.php,v $
- * $Revision: 1.3 $
- * $Date: 2009-11-18 01:05:53 $
- * $Author: e107coders $
+ * $Revision: 1.4 $
+ * $Date: 2009-12-05 12:33:30 $
+ * $Author: e107steved $
*
*/
@@ -63,7 +63,7 @@ function getDefaultPDFPrefs()
$pdfpref['pdf_margin_left'] = '25';
$pdfpref['pdf_margin_right'] = '15';
$pdfpref['pdf_margin_top'] = '15';
- $pdfpref['pdf_font_family'] = 'arial';
+ $pdfpref['pdf_font_family'] = 'helvetica';
$pdfpref['pdf_font_size'] = '8';
$pdfpref['pdf_font_size_sitename'] = '14';
$pdfpref['pdf_font_size_page_url'] = '8';
@@ -125,7 +125,7 @@ $text = "
";
-$fontlist=array("arial","times","courier","helvetica","symbol");
+$fontlist=array('times','courier','helvetica','symbol');
$text .= "
diff --git a/e107_plugins/pdf/e107pdf.php b/e107_plugins/pdf/e107pdf.php
index 9ed406e71..a00876ae3 100644
--- a/e107_plugins/pdf/e107pdf.php
+++ b/e107_plugins/pdf/e107pdf.php
@@ -9,132 +9,158 @@
* Plugin - PDF generator
*
* $Source: /cvs_backup/e107_0.8/e107_plugins/pdf/e107pdf.php,v $
- * $Revision: 1.8 $
- * $Date: 2009-11-18 01:05:53 $
- * $Author: e107coders $
+ * $Revision: 1.9 $
+ * $Date: 2009-12-05 12:33:30 $
+ * $Author: e107steved $
*/
if (!defined('e107_INIT')) { exit; }
+/*
+TODO:
+1. Look at using disc cache
+2. More detailed check on image paths
+*/
+
// Debug option - adds entries to rolling log (only works in 0.8)
//define ('PDF_DEBUG', TRUE);
define ('PDF_DEBUG', FALSE);
-//extend fpdf class from package with custom functions
-class e107PDF extends UFPDF{
+define('K_PATH_MAIN', '');
+define('K_PATH_URL', SITEURL); // Used with forms (TODO: check validity)
- var $temp_counter = 2; // Used for debug
-
- //variables of html parser
- var $B;
- var $I;
- var $U;
- var $HREF;
- var $CENTER='';
- var $ALIGN='';
- var $IMG;
- var $SRC;
- var $WIDTH;
- var $HEIGHT;
- var $fontList;
- var $issetfont;
- var $issetcolor;
- var $iminfo=array(0,0);
- function e107PDF($orientation='P',$unit='mm',$format='A4'){
+/*
+The full tcpdf distribution includes a utility to generate new fonts, as well as lots of other fonts.
+It can be downloaded from: http://sourceforge.net/projects/tcpdf/
+*/
+
+
+
+//extend tcpdf class from package with custom functions
+class e107PDF extends TCPDF
+{
+ protected $pdfPrefs = array(); // Prefs - loaded before creating a pdf
+
+ /**
+ * Constructor
+ * @param string $orientation page orientation. Possible values are (case insensitive):- P or Portrait (default)
- L or Landscape
+ * @param string $unit User measure unit. Possible values are:- pt: point
- mm: millimeter (default)
- cm: centimeter
- in: inch
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.
+ * @param mixed $format The format used for pages. It can be either one of the following values (case insensitive) or a custom format in the form of a two-element array containing the width and the height (expressed in the unit given by unit).- 4A0
- 2A0
- A0
- A1
- A2
- A3
- A4 (default)
- A5
- A6
- A7
- A8
- A9
- A10
- B0
- B1
- B2
- B3
- B4
- B5
- B6
- B7
- B8
- B9
- B10
- C0
- C1
- C2
- C3
- C4
- C5
- C6
- C7
- C8
- C9
- C10
- RA0
- RA1
- RA2
- RA3
- RA4
- SRA0
- SRA1
- SRA2
- SRA3
- SRA4
- LETTER
- LEGAL
- EXECUTIVE
- FOLIO
+ * @param boolean $unicode TRUE means that the input text is unicode (default = true)
+ * @param boolean $diskcache if TRUE reduce the RAM memory usage by caching temporary data on filesystem (slower).
+ * @param String $encoding charset encoding; default is UTF-8
+ */
+ public function __construct($orientation='P',$unit='mm',$format='A4', $unicode = true, $encoding = 'UTF-8', $diskcache = false)
+ {
global $pdfpref;
//Call parent constructor
- $this->UFPDF($orientation,$unit,$format);
+ parent::__construct($orientation,$unit,$format, $unicode, $encoding, $diskcache);
//Initialization
- $this->B=0;
- $this->I=0;
- $this->U=0;
- $this->BLOCKQUOTE='';
- $this->HREF='';
- $this->CENTER='';
- $this->ALIGN='';
- $this->IMG='';
- $this->SRC='';
- $this->WIDTH='';
- $this->HEIGHT='';
- $this->fontlist=array("arial","times","courier","helvetica","symbol");
-
- $this->issetfont=false;
- $this->issetcolor=false;
+ $this->setCellHeightRatio(1.25); // Should already be the default
}
+
+
//default preferences if none present
- function getDefaultPDFPrefs(){
- $pdfpref['pdf_margin_left'] = '25';
- $pdfpref['pdf_margin_right'] = '15';
- $pdfpref['pdf_margin_top'] = '15';
- $pdfpref['pdf_font_family'] = 'arial';
- $pdfpref['pdf_font_size'] = '8';
- $pdfpref['pdf_font_size_sitename'] = '14';
- $pdfpref['pdf_font_size_page_url'] = '8';
- $pdfpref['pdf_font_size_page_number'] = '8';
- $pdfpref['pdf_show_logo'] = true;
- $pdfpref['pdf_show_sitename'] = false;
- $pdfpref['pdf_show_page_url'] = true;
- $pdfpref['pdf_show_page_number'] = true;
- $pdfpref['pdf_error_reporting'] = true;
- return $pdfpref;
+ function getDefaultPDFPrefs()
+ {
+ $pdfpref['pdf_margin_left'] = '25';
+ $pdfpref['pdf_margin_right'] = '15';
+ $pdfpref['pdf_margin_top'] = '15';
+ $pdfpref['pdf_font_family'] = 'helvetica';
+ $pdfpref['pdf_font_size'] = '8';
+ $pdfpref['pdf_font_size_sitename'] = '14';
+ $pdfpref['pdf_font_size_page_url'] = '8';
+ $pdfpref['pdf_font_size_page_number'] = '8';
+ $pdfpref['pdf_show_logo'] = true;
+ $pdfpref['pdf_show_sitename'] = false;
+ $pdfpref['pdf_show_page_url'] = true;
+ $pdfpref['pdf_show_page_number'] = true;
+ $pdfpref['pdf_error_reporting'] = true;
+ return $pdfpref;
}
+
+
+ /**
+ * Set up the e107 PDF prefs - if can't be loaded from the DB, force some sensible defaults
+ */
//get preferences from db
- function getPDFPrefs(){
+ function getPDFPrefs()
+ {
global $sql, $eArrayStorage;
- if(!is_object($eArrayStorage)){
+ if(!is_object($eArrayStorage))
+ {
e107_require_once(e_HANDLER.'arraystorage_class.php');
$eArrayStorage = new ArrayData();
}
if(!is_object($sql)){ $sql = new db; }
- $num_rows = $sql -> db_Select("core", "*", "e107_name='pdf' ");
- if($num_rows == 0){
+ $num_rows = $sql -> db_Select('core', '*', "e107_name='pdf' ");
+ if($num_rows == 0)
+ {
$tmp = $this->getDefaultPDFPrefs();
$tmp2 = $eArrayStorage->WriteArray($tmp);
- $sql -> db_Insert("core", "'pdf', '".$tmp2."' ");
- $sql -> db_Select("core", "*", "e107_name='pdf' ");
+ $sql -> db_Insert('core', "'pdf', '".$tmp2."' ");
+ $sql -> db_Select('core', '*', "e107_name='pdf' ");
}
$row = $sql -> db_Fetch();
- $pdfpref = $eArrayStorage->ReadArray($row['e107_value']);
- return $pdfpref;
+ $pdfPref = $eArrayStorage->ReadArray($row['e107_value']);
+ return $pdfPref;
}
- function toPDF($text){
+
+ /**
+ * Convert e107-encoded text to body text
+ * @param string $text
+ * @return string with various entities replaced with their equivalent characters
+ */
+ function toPDF($text)
+ {
$search = array(''', ''', '$', '"');
$replace = array("'", "'", '$', '"');
$text = str_replace($search, $replace, $text);
return $text;
}
- function toPDFTitle($text){
+
+
+ /**
+ * Convert e107-encoded text to title text
+ * @param string $text
+ * @return string with various characters replaced with '-' TODO: Why?
+ */
+ function toPDFTitle($text)
+ {
$search = array(":", "*", "?", '"', '<', '>', '|');
$replace = array('-', '-', '-', '-', '-', '-', '-');
$text = str_replace($search, $replace, $text);
return $text;
}
- /*
- The makePDF function does all the real parsing and composing
- input argument $text needs to be an array containing the following:
- $text = array($text, $creator, $author, $title, $subject, $keywords, $url);
+
+
+ /**
+ * The makePDF function does all the real parsing and composing
+ * @param array $text needs to be an array containing the following:
+ * $text = array($text, $creator, $author, $title, $subject, $keywords, $url[, $orientation]);
+ * @return - none (the PDF file is output, all being well)
*/
function makePDF($text)
{
- global $tp, $pdfpref;
+ $tp = e107::getParser();
//call get preferences
- $pdfpref = $this->getPDFPrefs();
+ $this->pdfPref = $this->getPDFPrefs();
//define logo and source pageurl (before the parser!)
- if(is_readable(THEME."images/logopdf.png"))
+ if(is_readable(THEME.'images/logopdf.png'))
{
- $logo = THEME."images/logopdf.png";
+ $logo = THEME.'images/logopdf.png';
}
else
{
- $logo = e_IMAGE."logo.png";
+ $logo = e_IMAGE.'logo.png';
}
define('PDFLOGO', $logo); //define logo to add in header
define('PDFPAGEURL', $text[6]); //define page url to add in header
@@ -144,558 +170,153 @@ class e107PDF extends UFPDF{
$text[3] = $this->toPDFTitle($text[3]); //replace some in the title
foreach($text as $k=>$v)
{
- $text[$k] = $tp->toHTML($v, TRUE);
+ $text[$k] = $tp->toHTML($v, TRUE, 'BODY');
}
//set some variables
- $this->SetMargins($pdfpref['pdf_margin_left'],$pdfpref['pdf_margin_top'],$pdfpref['pdf_margin_right']);
- //$this->SetAutoPageBreak(true,25);
+ $this->SetMargins($this->pdfPref['pdf_margin_left'],$this->pdfPref['pdf_margin_top'],$this->pdfPref['pdf_margin_right']);
+ $this->SetAutoPageBreak(true,25); // Force new page break at 25mm from bottom
+ $this->SetPrintHeader(TRUE);
//start creating the pdf and adding the data
$this->DefOrientation=(varset($text[7], 'P') == 'L' ? 'L' : 'P'); // Page orientation - P=portrait, L=landscape
$this->AliasNbPages(); //calculate current page + number of pages
$this->AddPage(); //start page
- $this->SetFont($pdfpref['pdf_font_family'],'',$pdfpref['pdf_font_size']); //set font
- $this->WriteHTML($text[0], true); //write text
+ $this->SetFont($this->pdfPref['pdf_font_family'],'',$this->pdfPref['pdf_font_size']); //set font
+ $this->SetHeaderFont(array($this->pdfPref['pdf_font_family'],'',$this->pdfPref['pdf_font_size']));
+ $this->SetFooterFont(array($this->pdfPref['pdf_font_family'],'',$this->pdfPref['pdf_font_size']));
+
+ $this->WriteHTML($text[0], true); //write text TODO: possibly other parameters
$this->SetCreator($text[1]); //name of creator
$this->SetAuthor($text[2]); //name of author
$this->SetTitle($text[3]); //title
$this->SetSubject($text[4]); //subject
$this->SetKeywords($text[5]); //space/comma separated
- $file = $text[3].".pdf"; //name of the file
+ $file = $text[3].'.pdf'; //name of the file
$this->Output($file, 'D'); //Save PDF to file (D = output to download window)
return;
}
- //create a header; this will be added on each page
- function Header(){
- global $pdfpref;
- $this->SetY(15);
- $y0 = $this->GetY();
- if($pdfpref['pdf_show_logo']){
- $this->SetFont($pdfpref['pdf_font_family'],'',$pdfpref['pdf_font_size']);
- $this->PutImage(PDFLOGO, '1');
- $x1 = $this->GetX();
- $y1 = $this->GetY();
+ /**
+ * Add e107-specific header to each page.
+ * Uses various prefs set in the admin page.
+ * Overrides the tcpdf default header function
+ */
+ function Header()
+ {
+ $pageWidth = $this->getPageWidth(); // Will be 210 for A4 portrait
+ $ormargins = $this->getOriginalMargins();
+ $headerfont = $this->getHeaderFont();
+ $headerdata = $this->getHeaderData();
- $image_wh = getimagesize(PDFLOGO);
- $newx = $x1 + ($image_wh[0]/$this->k);
- $newy = ($image_wh[1]/$this->k);
+ $topMargin = $this->pdfPref['pdf_margin_top'];
+ if($this->pdfPref['pdf_show_logo'])
+ {
+ $this->SetFont($this->pdfPref['pdf_font_family'],'',$this->pdfPref['pdf_font_size']);
+ $this->Image(PDFLOGO, $this->GetX(), $topMargin);
+ $imgx = $this->getImageRBX();
+ $imgy = $this->getImageRBY(); // Coordinates of bottom right of logo
$a=$this->GetStringWidth(SITENAME);
$b=$this->GetStringWidth(PDFPAGEURL);
- if($a>$b){$c=$a;}else{$c=$b;}
- if($x1+$newx+$c > 210){
+ $c = max($a, $b) + $this->rMargin;
+ if(($imgx + $c) > $pageWidth) // See if room for other text to right of logo
+ { // No room - move to underneath
$this->SetX($this->lMargin);
- $this->SetY($y1+2);
- }else{
- if($pdfpref['pdf_show_sitename']){
- $m = 5;
- }
- if($pdfpref['pdf_show_page_url']){
- $m += 5;
- }
- if($pdfpref['pdf_show_page_number']){
- $m += 5;
- }
- $y = $this->GetY();
- $this->SetY($y-$m);
- }
- }
- $cellwidth = 210-$this->lMargin-$this->rMargin;
- $align = "R";
- if($pdfpref['pdf_show_sitename']){
- $this->SetFont($pdfpref['pdf_font_family'],'B',$pdfpref['pdf_font_size_sitename']);
- $this->Cell($cellwidth,5,SITENAME,0,1,$align);
- }
- if($pdfpref['pdf_show_page_url']){
- $this->SetFont($pdfpref['pdf_font_family'],'I',$pdfpref['pdf_font_size_page_url']);
- $this->Cell($cellwidth,5,PDFPAGEURL,0,1,$align,'',PDFPAGEURL);
- }
- if($pdfpref['pdf_show_page_number']){
- $this->SetFont($pdfpref['pdf_font_family'],'I',$pdfpref['pdf_font_size_page_number']);
- $this->Cell($cellwidth,5,PDF_LAN_19.' '.$this->PageNo().'/{nb}',0,1,$align);
- }
- $y = $this->GetY()+2;
- $this->Line($this->lMargin, $y, 210-$this->rMargin, $y);
- $this->Ln(10);
- $this->SetX($this->lMargin);
- $this->SetFont($pdfpref['pdf_font_family'],'',$pdfpref['pdf_font_size']);
- }
-
- function txtentities($html){
- $html = str_replace("\r\n", "\\n", $html);
- $html = str_replace("\r", "", $html);
- $trans_tbl = get_html_translation_table (HTML_ENTITIES);
- $trans_tbl = array_flip ($trans_tbl);
- return strtr ($html, $trans_tbl);
- }
-
- //function hex2dec
- //returns an associative array (keys: R,G,B) from
- //a hex html code (e.g. #3FE5AA)
- function hex2dec($couleur = "#000000"){
- $R = substr($couleur, 1, 2);
- $rouge = hexdec($R);
- $V = substr($couleur, 3, 2);
- $vert = hexdec($V);
- $B = substr($couleur, 5, 2);
- $bleu = hexdec($B);
- $tbl_couleur = array();
- $tbl_couleur['R']=$rouge;
- $tbl_couleur['G']=$vert;
- $tbl_couleur['B']=$bleu;
- return $tbl_couleur;
- }
-
- function WriteHTML($html,$scale)
- {
- global $tp, $pdfpref;
- global $admin_log;
-
- $search = array("\n", "
", "
", '»', 'º', '·', '™', '©', '€', '[', '[', ' ', '‘', '’', ' />', '(', ')', '{', '}', '[', ']', '\', '\');
- $replace = array(" ", "
", "
", '»', 'º', '·', '™', '©', '', '[', '[', ' ', "'", "'", '>', '(', ')', '{', '}', '[',']', '\\\\', '\\\\' );
- //replace carriage returns by spaces, and some html variants
- $html=str_replace($search, $replace, $html);
- $a=preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE); //explodes the string
-
- if (PDF_DEBUG)
- {
-// $admin_log->e_log_event(10,'split_vars',"DEBUG","PDF Trace","Write text: : ".$tp->toHTML('[code]'.$html.'[/code]',TRUE),FALSE,LOG_TO_ROLLING);
- $acc = array();
- foreach ($a as $ef) { $acc[] = strlen($ef); }
- $admin_log->e_log_event(10,'no_vars',"DEBUG","PDF Trace","Lengths:: ".implode(',',$acc),FALSE,LOG_TO_ROLLING);
- }
- foreach($a as $i=>$e)
- {
- if ($this->temp_counter == 0)
- {
-// if (PDF_DEBUG) $admin_log->e_log_event(10,'no_vars',"DEBUG","PDF Trace","Process chunk {$i}: ".$e,FALSE,LOG_TO_ROLLING);
- }
- if($i%2==0)
- {
- //Text between tags
- if($this->HREF)
- {
- $this->PutLink($this->HREF,$e);
- $this->HREF='';
- }
- elseif($this->CENTER){
- $this->Cell(0,5,$e,0,1,'C');
- }elseif($this->ALIGN == 'center'){
- $this->Cell(0,5,$e,0,1,'C');
- }elseif($this->ALIGN == 'right'){
- $this->Cell(0,5,$e,0,1,'R');
- }elseif($this->ALIGN == 'left'){
- $this->Cell(0,5,$e,0,1,'L');
- }
- elseif($this->BLOCKQUOTE == 'BLOCKQUOTE')
- {
- $this->SetFont('Courier','',11);
- $this->SetStyle('B',true);
- $this->SetStyle('I',true);
- $this->Cell(0,5,$e,1,1,'L');
- $this->SetStyle('B',false);
- $this->SetStyle('I',false);
- if ($this->issetcolor==true)
- {
- $this->SetTextColor(0);
- $this->issetcolor=false;
- }
- $this->SetFont($pdfpref['pdf_font_family'],'',$pdfpref['pdf_font_size']);
- }
- else
- {
- // if (PDF_DEBUG) $admin_log->e_log_event(10,debug_backtrace(),"DEBUG","PDF Trace","Write block {$i}: ".$e,FALSE,LOG_TO_ROLLING);
- $this->Write(5,stripslashes($this->txtentities($e)));
- }
+ $this->SetY($imgy+2);
}
else
{
- //Tag
- if($e{0}=='/'){
- $this->CloseTag(strtoupper(substr($e,1)));
- }else{
- //Extract attributes
- $a2=explode(' ',$e);
- $tag=strtoupper(array_shift($a2));
- $attr=array();
- foreach($a2 as $v){
- if(ereg('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$a3)){
- $attr[strtoupper($a3[1])]=$a3[2];
- }
- }
- $this->OpenTag($tag,$attr,$scale);
+ $m = 0;
+ if($this->pdfPref['pdf_show_sitename'])
+ {
+ $m = 5;
}
+ if($this->pdfPref['pdf_show_page_url'])
+ {
+ $m += 5;
+ }
+ if($this->pdfPref['pdf_show_page_number'])
+ {
+ $m += 5;
+ }
+ $this->SetX($imgx); // May not be needed
+ $newY = max($topMargin, $imgy - $m);
+ $this->SetY($newY); //Room to right of logo - calculate space to line up bottom of text with bottom of logo
}
}
- }
-
- function OpenTag($tag,$attr,$scale)
- {
- global $tp, $e107;
- global $admin_log;
-
- $tag = strtoupper($tag);
- //Opening tag
-
- switch($tag)
+ else
{
- case 'STRONG':
- $this->SetStyle('B',true);
- break;
- case 'EM':
- $this->SetStyle('I',true);
- break;
- case 'B':
- case 'I':
- case 'U':
- $this->SetStyle($tag,true);
- break;
- case 'A':
- $this->HREF=$attr['HREF'];
- break;
- case 'P':
- $this->ALIGN=$attr['ALIGN'];
- break;
- case 'SPAN':
- if(isset($attr['STYLE'])){
- if($attr['STYLE'] == 'text-decoration:underline'){
- $this->SetStyle('U',true);
- }
- if(strstr($attr['STYLE'], 'color:')){
- $attr['COLOR'] = substr($attr['STYLE'],6);
- $coul=$this->hex2dec($attr['COLOR']);
- $this->SetTextColor($coul['R'],$coul['G'],$coul['B']);
- $this->issetcolor=true;
- }
- if(strstr($attr['STYLE'], 'font-size:')){
- $attr['FONTSIZE'] = intval(substr($attr['STYLE'],10));
- $this->SetFont('','',$attr['FONTSIZE']);
- $this->issetfont=true;
- }
- break;
- }
- case 'DIV':
- if($attr['STYLE'] == 'text-align:center'){
- $this->ALIGN='center';
- }
- if($attr['STYLE'] == 'text-align:left'){
- $this->ALIGN='left';
- }
- if($attr['STYLE'] == 'text-align:right'){
- $this->ALIGN='right';
- }
- if($attr['CLASS'] == 'indent'){
- // $this->BLOCKQUOTE='BLOCKQUOTE';
- }
- break;
- case 'IMG':
- if (PDF_DEBUG) $admin_log->e_log_event(10,debug_backtrace(),"DEBUG","PDF Trace","Image tag found: ".$attr['SRC'],FALSE,LOG_TO_ROLLING);
- $this->IMG=true;
- $this->SRC= e_BASE.str_replace($e107->http_path,'',$attr['SRC']);
- $this->WIDTH=$attr['WIDTH'];
- $this->HEIGHT=$attr['HEIGHT'];
- // Its a 'closed' tag - so need to process it immediately
-
- if (PDF_DEBUG) $admin_log->e_log_event(10,debug_backtrace(),"DEBUG","PDF Trace","Image tag noted: ".$this->SRC." W={$this->WIDTH}, H={$this->HEIGHT}",FALSE,LOG_TO_ROLLING);
- if(is_readable($this->SRC))
- {
- $file = trim($this->SRC);
- $pos=strrpos($file,'.');
- $type=substr($file,$pos+1);
- $type=strtolower($type);
- if (PDF_DEBUG) $admin_log->e_log_event(10,debug_backtrace(),"DEBUG","PDF Trace","Image file: {$file} Type: {$type}",FALSE,LOG_TO_ROLLING);
- //for now only jpg, jpeg and png are supported
- if($type=='jpg' || $type=='jpeg' || $type=='png')
- {
- if ((strpos($file,'http') !== 0) && (strpos($file,'www.') !== 0))
- { // Its a local file - possibly don't need to do anything at all!
- $url = $tp->replaceConstants($file);
- }
- $this->Ln(); // Newline with 'default' height to avoid overlaying text
- if (PDF_DEBUG) $admin_log->e_log_event(10,debug_backtrace(),"DEBUG","PDF Trace","Process Image file: {$url} Scale: {$scale}",FALSE,LOG_TO_ROLLING);
- $this->PutImage($url,$scale);
- $this->Ln(2);
- $this->SetX($this->lMargin);
- }
- }
- $this->IMG=''; // Clear the parameters - stops further image-related processing
- $this->SRC='';
- $this->WIDTH='';
- $this->HEIGHT='';
- break;
- case 'TR':
- break;
- case 'TD':
- break;
- case 'CODE':
- case 'BLOCKQUOTE':
- case 'PRE':
- $this->Ln(5);
- $this->SetFont('Courier','',11);
- $this->issetcolor=true;
- $this->issetfont=true;
- $this->SetStyle('B',true);
- $this->SetStyle('I',true);
- break;
- case 'LI':
- $this->Write(5,' » ');
- break;
- case 'BR':
- $this->Ln(5);
- break;
- case 'HR':
- if( $attr['WIDTH'] != '' ) $Width = $attr['WIDTH'];
- else $Width = $this->w - $this->lMargin-$this->rMargin;
- $this->Ln(2);
- $x = $this->GetX();
- $y = $this->GetY();
- $this->SetLineWidth(0.4);
- $this->Line($x,$y,$x+$Width,$y);
- $this->SetLineWidth(0.2);
- $this->Ln(2);
- break;
- case 'FONT':
- if (isset($attr['COLOR']) && $attr['COLOR']!='') {
- $coul=$this->hex2dec($attr['COLOR']);
- $this->SetTextColor($coul['R'],$coul['G'],$coul['B']);
- $this->issetcolor=true;
- }
- if (isset($attr['FACE']) && in_array(strtolower($attr['FACE']), $this->fontlist)) {
- $this->SetFont(strtolower($attr['FACE']));
- $this->issetfont=true;
- }
- break;
- case 'H1':
- $this->Ln(5);
- $this->SetFontSize(22);
- $this->issetfont=true;
- break;
- case 'H2':
- $this->Ln(5);
- $this->SetFontSize(18);
- $this->issetfont=true;
- $this->SetStyle('U',true);
- break;
- case 'H3':
- $this->Ln(5);
- $this->SetFontSize(16);
- $this->issetfont=true;
- $this->SetStyle('U',true);
- break;
- case 'H4':
- $this->Ln(5);
- $this->SetFontSize(14);
- $this->issetfont=true;
- $this->SetStyle('B',true);
- break;
-
+ $this->SetY($topMargin);
}
- }
-
- function CloseTag($tag){
- global $pdfpref;
-
- if ($this->issetcolor==true) {
- $this->SetTextColor(0);
- }
- if ($this->issetfont==true) {
- $this->SetFont($pdfpref['pdf_font_family'],'',$pdfpref['pdf_font_size']);
- $this->issetfont=false;
- }
-
- $tag = strtoupper($tag);
- //Closing tag
- if($tag=='SPAN'){
- $tag='U';
- if ($this->issetcolor==true) {
- $this->SetTextColor(0);
- }
- if ($this->issetfont==true) {
- $this->SetFont($pdfpref['pdf_font_family'],'',$pdfpref['pdf_font_size']);
- $this->issetfont=false;
- }
- }
- if($tag=='DIV'){
- $tag='DIV';
- $this->ALIGN='';
- $this->BLOCKQUOTE='';
- }
- if($tag=='STRONG'){
- $tag='B';
- }
- if($tag=='EM'){
- $tag='I';
- }
- if($tag=='B' or $tag=='I' or $tag=='U'){
- $this->SetStyle($tag,false);
- }
- if($tag=='A'){
- $this->HREF='';
- }
- if($tag=='P'){
- $this->ALIGN='';
- }
- if($tag=='IMG'){
- $this->IMG='';
- $this->SRC='';
- $this->WIDTH='';
- $this->HEIGHT='';
- }
- if($tag=='LI'){
- $this->Ln(5);
- }
- if($tag=='TD'){
- $this->Write(5,' ');
- }
- if($tag=='TR' || $tag=='BLOCKQUOTE' || $tag=='CODE' || $tag=='PRE'){
- $this->SetStyle('B',false);
- $this->SetStyle('I',false);
- $this->Ln(5);
- if ($this->issetcolor==true) {
- $this->SetTextColor(0);
- $this->issetcolor=false;
- }
- if ($this->issetfont==true) {
- $this->SetFont($pdfpref['pdf_font_family'],'',$pdfpref['pdf_font_size']);
- $this->issetfont=false;
- }
- }
- if($tag=='FONT'){
- if ($this->issetcolor==true) {
- $this->SetTextColor(0);
- $this->issetcolor=false;
- }
- if ($this->issetfont==true) {
- $this->SetFont($pdfpref['pdf_font_family'],'',$pdfpref['pdf_font_size']);
- $this->issetfont=false;
- }
- }
- if ($tag=='H1' || $tag=='H2' || $tag=='H3' || $tag=='H4'){
- $this->H1='';
- $this->H2='';
- $this->H3='';
- $this->H4='';
- $this->SetStyle('B',false);
- $this->SetStyle('U',false);
- $this->Ln(5);
- if($this->issetfont==true){
- $this->SetFont($pdfpref['pdf_font_family'],'',$pdfpref['pdf_font_size']);
- $this->issetfont=false;
- }
- }
- }
-
- function SetStyle($tag,$enable){
- //Modify style and select corresponding font
- $this->$tag+=($enable ? 1 : -1);
- $style='';
- foreach(array('B','I','U') as $s)
- if($this->$s>0)
- $style.=$s;
- $this->SetFont('',$style);
- }
-
- function PutLink($URL,$txt){
- //remove leading 'http://'
- if(strpos($URL, "http://")!==false){
- $URL = substr($URL, strpos($URL, "http://")+strlen('http://') );
- }
- //Put a hyperlink
- $this->SetTextColor(0,0,255);
- $this->SetStyle('U',true);
- $this->Write(5,$txt,$URL);
- $this->SetStyle('U',false);
- $this->SetTextColor(0);
- }
-
- function px2mm($px){
- return $px*25.4/72;
- }
-
- //put the image in pdf with scaling...
- //width and height-options inside the IMG-Tag are ignored,
- //we get the image info directly from PHP...
- //$scale is the global scaling factor, passing through from WriteHTML()
- //(c)2004/03/12 by St@neCold
- function PutImage($url,$scale)
- {
- global $admin_log;
- if (PDF_DEBUG) $admin_log->e_log_event(10,debug_backtrace(),"DEBUG","PDF Trace","Process image {$url}, scale ".$scale,FALSE,LOG_TO_ROLLING);
-
- if($scale<0) $scale=0;
- //$scale<=0: put NO image inside the pdf!
- if($scale>0)
+
+ // Now print text - 'cursor' positioned in correct start position
+ $cellwidth = $pageWidth - $this->GetX()-$this->rMargin;
+ $align = 'R';
+// echo "imgx: {$imgx} imgy: {$imgy} cellwidth: {$cellwidth} m: {$m}
";
+ if($this->pdfPref['pdf_show_sitename'])
{
- $xsflag=0;
- $ysflag=0;
- $yhflag=0;
- $xscale=1;
- $yscale=1;
- //get image info
- $oposy=$this->GetY();
- $iminfo=@getimagesize($url);
- if($iminfo)
- {
- // Width and height of current drawing page
- $pw = $this->w - $this->lMargin - $this->rMargin;
- $ph = $this->h - $this->tMargin - $this->bMargin;
-
- $iw=$scale * $this->px2mm($iminfo[0]);
- $ih=$scale * $this->px2mm($iminfo[1]);
- $iw = ($iw)?$iw:1; // Initial width
- $ih = ($ih)?$ih:1; // Initial height
- $nw=$iw; // New width
- $nh=$ih; // New height
- //resizing in x-direction
- $xsflag=0;
-// if($iw>150) // Dimensions in mm - so width of portrait A4
- if($iw>$pw) // Dimensions in mm - so width of portrait A4
- {
-// $xscale=150 / $iw;
- $xscale=$pw / $iw;
- $yscale=$xscale;
- $nw=$xscale * $iw;
- $nh=$xscale * $ih;
- $xsflag=1;
- }
- //now eventually resizing in y-direction
- $ysflag=0;
-// if(($oposy+$nh)>250) // See if will fit vertically on current page
- if(($oposy+$nh)>$ph) // See if will fit vertically on current page
- {
-// $yscale=(250-$oposy)/$ih;
- $yscale=($ph-$oposy)/$ih;
- $nw=$yscale * $iw;
- $nh=$yscale * $ih;
- $ysflag=1;
- }
- //uups, if the scaling factor of resized image is < 0.33
- //remark: without(!) the global factor $scale!
- //that's hard -> on the next page please...
- $yhflag=0;
- if($yscale<0.33 and ($xsflag==1 or $ysflag==1))
- {
- $nw=$xscale * $iw;
- $nh=$xscale * $ih;
- $ysflag==0;
- $xsflag==1;
- $yhflag=1;
- }
- if($yhflag==1) $this->AddPage();
- $oposy=$this->GetY();
- $this->Image($url, $this->GetX(), $this->GetY(), $nw, $nh);
- $this->SetY($oposy+$nh);
-// if (PDF_DEBUG) $admin_log->e_log_event(10,debug_backtrace(),"DEBUG","PDF Trace","Original Y={$oposy}, Initial height={$ih}, new height={$nh}. Set Y = ".($oposy+$nh)." after image output",FALSE,LOG_TO_ROLLING);
- if (PDF_DEBUG) $admin_log->e_log_event(10,debug_backtrace(),"DEBUG","PDF Trace","Page width: {$pw}, Height: {$ph}, Image new width={$nw}, new height={$nh}. Set Y = ".($oposy+$nh)." after image output",FALSE,LOG_TO_ROLLING);
-/*
-Original Y=76.166666666667, Initial height=119.23888888889, new height=101.4. Set Y = 177.56666666667 after image output */
- //if($yhflag==0 and $ysflag==1) $this->AddPage();
- if ($this->temp_counter > 0) $this->temp_counter--;
- }
+ $this->SetFont($this->pdfPref['pdf_font_family'],'B',$this->pdfPref['pdf_font_size_sitename']);
+ $this->Cell($cellwidth,5,SITENAME,0,1,$align);
+ }
+ if($this->pdfPref['pdf_show_page_url'])
+ {
+ $this->SetFont($this->pdfPref['pdf_font_family'],'I',$this->pdfPref['pdf_font_size_page_url']);
+ $this->Cell($cellwidth,5,PDFPAGEURL,0,1,$align,'',PDFPAGEURL);
+ }
+ if($this->pdfPref['pdf_show_page_number'])
+ {
+ $this->SetFont($this->pdfPref['pdf_font_family'],'I',$this->pdfPref['pdf_font_size_page_number']);
+ $this->Cell($cellwidth,5,PDF_LAN_19.' '.$this->PageNo().'/{nb}',0,1,$align); // {nb} is an alias for the total number of pages
+ }
+
+ $this->SetFont($this->pdfPref['pdf_font_family'],'',$this->pdfPref['pdf_font_size']);
+
+ // Following cloned from tcpdf header function
+ $this->SetY((2.835 / $this->getScaleFactor()) + max($imgy, $this->GetY())); // 2.835 is number of pixels per mm
+ if ($this->getRTL())
+ {
+ $this->SetX($ormargins['right']);
+ }
+ else
+ {
+ $this->SetX($ormargins['left']);
+ }
+ $this->Cell(0, 0, '', 'T', 0, 'C'); // This puts a line between header and text
+
+ $this->SetTopMargin($this->GetY()+2); // FIXME: Bodge to force main body text to start below header
+ }
+
+
+
+ /**
+ * Override standard function to use our own font directory
+ */
+ protected function _getfontpath()
+ {
+ return str_replace(e_HTTP, e_ROOT, e_PLUGIN_ABS.'pdf/font/');
+ }
+
+
+
+ /**
+ * Called by tcpdf when it encounters a file reference - e.g. source file name in 'img' tag - so we can tweak the source path
+ * (tcpdf modified to check for a class extension which adds this method)
+ * @param string $fileName - name of file as it appears in the 'src' parameter
+ * @param string $source - name of tag which provoked call (might be useful to affect encoding)
+ * @return string - file name adjusted to suit tcpdf
+ */
+ function filePathModify($fileName, $source = '')
+ {
+ if (substr($fileName,0,1) == '/')
+ { // Its an absolute file reference
+ return str_replace(e_HTTP,e_ROOT,$fileName);
+ }
+ else
+ { // Its a relative link
+ return realpath($fileName);
}
}
diff --git a/e107_plugins/pdf/font/courier.php b/e107_plugins/pdf/font/courier.php
index 4c009f39b..1ce3afc8c 100644
--- a/e107_plugins/pdf/font/courier.php
+++ b/e107_plugins/pdf/font/courier.php
@@ -1,7 +1,33 @@
600,1=>600,2=>600,3=>600,4=>600,5=>600,6=>600,7=>600,8=>600,9=>600,
+10=>600,11=>600,12=>600,13=>600,14=>600,15=>600,16=>600,17=>600,18=>600,19=>600,
+20=>600,21=>600,22=>600,23=>600,24=>600,25=>600,26=>600,27=>600,28=>600,29=>600,
+30=>600,31=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,
+40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,
+50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,
+60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,
+70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,
+80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,
+90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,
+100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,
+109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,
+118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,
+127=>600,128=>600,129=>600,130=>600,131=>600,132=>600,133=>600,134=>600,135=>600,
+136=>600,137=>600,138=>600,139=>600,140=>600,141=>600,142=>600,143=>600,144=>600,
+145=>600,146=>600,147=>600,148=>600,149=>600,150=>600,151=>600,152=>600,153=>600,
+154=>600,155=>600,156=>600,157=>600,158=>600,159=>600,160=>600,161=>600,162=>600,
+163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,
+172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,
+181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,
+190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,
+199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,
+208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,
+217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,
+226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,
+235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,
+244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,
+253=>600,254=>600,255=>600);
?>
diff --git a/e107_plugins/pdf/font/helvetica.php b/e107_plugins/pdf/font/helvetica.php
index 8fa7683e7..09ddd5d99 100644
--- a/e107_plugins/pdf/font/helvetica.php
+++ b/e107_plugins/pdf/font/helvetica.php
@@ -1,15 +1,33 @@
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);
+ // core font definition file for TCPDF (www.tcpdf.org)
+$type='core';
+$dw=556;
+$cw=array(0=>278,1=>278,2=>278,3=>278,4=>278,5=>278,6=>278,7=>278,8=>278,9=>278,
+10=>278,11=>278,12=>278,13=>278,14=>278,15=>278,16=>278,17=>278,18=>278,19=>278,
+20=>278,21=>278,22=>278,23=>278,24=>278,25=>278,26=>278,27=>278,28=>278,29=>278,
+30=>278,31=>278,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,
+40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,
+50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,
+60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>667,67=>722,68=>722,69=>667,
+70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>833,78=>722,79=>778,
+80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,
+90=>611,91=>278,92=>278,93=>278,94=>469,95=>556,96=>333,97=>556,98=>556,99=>500,
+100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,
+109=>833,110=>556,111=>556,112=>556,113=>556,114=>333,115=>500,116=>278,117=>556,
+118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,
+127=>350,128=>556,129=>350,130=>222,131=>556,132=>333,133=>1000,134=>556,135=>556,
+136=>333,137=>1000,138=>667,139=>333,140=>1000,141=>350,142=>611,143=>350,144=>350,
+145=>222,146=>222,147=>333,148=>333,149=>350,150=>556,151=>1000,152=>333,153=>1000,
+154=>500,155=>333,156=>944,157=>350,158=>500,159=>667,160=>278,161=>333,162=>556,
+163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>556,
+172=>584,173=>333,174=>737,175=>333,176=>400,177=>584,178=>333,179=>333,180=>333,
+181=>556,182=>537,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,
+190=>834,191=>611,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,
+199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,
+208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,
+217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,
+226=>556,227=>556,228=>556,229=>556,230=>889,231=>500,232=>556,233=>556,234=>556,
+235=>556,236=>278,237=>278,238=>278,239=>278,240=>556,241=>556,242=>556,243=>556,
+244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,
+253=>500,254=>556,255=>500);
?>
diff --git a/e107_plugins/pdf/font/helveticab.php b/e107_plugins/pdf/font/helveticab.php
index a8473c94d..0a8565a65 100644
--- a/e107_plugins/pdf/font/helveticab.php
+++ b/e107_plugins/pdf/font/helveticab.php
@@ -1,15 +1,33 @@
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);
+ // core font definition file for TCPDF (www.tcpdf.org)
+$type='core';
+$dw=556;
+$cw=array(0=>278,1=>278,2=>278,3=>278,4=>278,5=>278,6=>278,7=>278,8=>278,9=>278,
+10=>278,11=>278,12=>278,13=>278,14=>278,15=>278,16=>278,17=>278,18=>278,19=>278,
+20=>278,21=>278,22=>278,23=>278,24=>278,25=>278,26=>278,27=>278,28=>278,29=>278,
+30=>278,31=>278,32=>278,33=>333,34=>474,35=>556,36=>556,37=>889,38=>722,39=>238,
+40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,
+50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>333,59=>333,
+60=>584,61=>584,62=>584,63=>611,64=>975,65=>722,66=>722,67=>722,68=>722,69=>667,
+70=>611,71=>778,72=>722,73=>278,74=>556,75=>722,76=>611,77=>833,78=>722,79=>778,
+80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,
+90=>611,91=>333,92=>278,93=>333,94=>584,95=>556,96=>333,97=>556,98=>611,99=>556,
+100=>611,101=>556,102=>333,103=>611,104=>611,105=>278,106=>278,107=>556,108=>278,
+109=>889,110=>611,111=>611,112=>611,113=>611,114=>389,115=>556,116=>333,117=>611,
+118=>556,119=>778,120=>556,121=>556,122=>500,123=>389,124=>280,125=>389,126=>584,
+127=>350,128=>556,129=>350,130=>278,131=>556,132=>500,133=>1000,134=>556,135=>556,
+136=>333,137=>1000,138=>667,139=>333,140=>1000,141=>350,142=>611,143=>350,144=>350,
+145=>278,146=>278,147=>500,148=>500,149=>350,150=>556,151=>1000,152=>333,153=>1000,
+154=>556,155=>333,156=>944,157=>350,158=>500,159=>667,160=>278,161=>333,162=>556,
+163=>556,164=>556,165=>556,166=>280,167=>556,168=>333,169=>737,170=>370,171=>556,
+172=>584,173=>333,174=>737,175=>333,176=>400,177=>584,178=>333,179=>333,180=>333,
+181=>611,182=>556,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,
+190=>834,191=>611,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1000,
+199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,
+208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,
+217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,
+226=>556,227=>556,228=>556,229=>556,230=>889,231=>556,232=>556,233=>556,234=>556,
+235=>556,236=>278,237=>278,238=>278,239=>278,240=>611,241=>611,242=>611,243=>611,
+244=>611,245=>611,246=>611,247=>584,248=>611,249=>611,250=>611,251=>611,252=>611,
+253=>556,254=>611,255=>556);
?>
diff --git a/e107_plugins/pdf/font/helveticabi.php b/e107_plugins/pdf/font/helveticabi.php
index 41379537d..0a8565a65 100644
--- a/e107_plugins/pdf/font/helveticabi.php
+++ b/e107_plugins/pdf/font/helveticabi.php
@@ -1,15 +1,33 @@
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);
+ // core font definition file for TCPDF (www.tcpdf.org)
+$type='core';
+$dw=556;
+$cw=array(0=>278,1=>278,2=>278,3=>278,4=>278,5=>278,6=>278,7=>278,8=>278,9=>278,
+10=>278,11=>278,12=>278,13=>278,14=>278,15=>278,16=>278,17=>278,18=>278,19=>278,
+20=>278,21=>278,22=>278,23=>278,24=>278,25=>278,26=>278,27=>278,28=>278,29=>278,
+30=>278,31=>278,32=>278,33=>333,34=>474,35=>556,36=>556,37=>889,38=>722,39=>238,
+40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,
+50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>333,59=>333,
+60=>584,61=>584,62=>584,63=>611,64=>975,65=>722,66=>722,67=>722,68=>722,69=>667,
+70=>611,71=>778,72=>722,73=>278,74=>556,75=>722,76=>611,77=>833,78=>722,79=>778,
+80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,
+90=>611,91=>333,92=>278,93=>333,94=>584,95=>556,96=>333,97=>556,98=>611,99=>556,
+100=>611,101=>556,102=>333,103=>611,104=>611,105=>278,106=>278,107=>556,108=>278,
+109=>889,110=>611,111=>611,112=>611,113=>611,114=>389,115=>556,116=>333,117=>611,
+118=>556,119=>778,120=>556,121=>556,122=>500,123=>389,124=>280,125=>389,126=>584,
+127=>350,128=>556,129=>350,130=>278,131=>556,132=>500,133=>1000,134=>556,135=>556,
+136=>333,137=>1000,138=>667,139=>333,140=>1000,141=>350,142=>611,143=>350,144=>350,
+145=>278,146=>278,147=>500,148=>500,149=>350,150=>556,151=>1000,152=>333,153=>1000,
+154=>556,155=>333,156=>944,157=>350,158=>500,159=>667,160=>278,161=>333,162=>556,
+163=>556,164=>556,165=>556,166=>280,167=>556,168=>333,169=>737,170=>370,171=>556,
+172=>584,173=>333,174=>737,175=>333,176=>400,177=>584,178=>333,179=>333,180=>333,
+181=>611,182=>556,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,
+190=>834,191=>611,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1000,
+199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,
+208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,
+217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,
+226=>556,227=>556,228=>556,229=>556,230=>889,231=>556,232=>556,233=>556,234=>556,
+235=>556,236=>278,237=>278,238=>278,239=>278,240=>611,241=>611,242=>611,243=>611,
+244=>611,245=>611,246=>611,247=>584,248=>611,249=>611,250=>611,251=>611,252=>611,
+253=>556,254=>611,255=>556);
?>
diff --git a/e107_plugins/pdf/font/helveticai.php b/e107_plugins/pdf/font/helveticai.php
index d5bb6e094..09ddd5d99 100644
--- a/e107_plugins/pdf/font/helveticai.php
+++ b/e107_plugins/pdf/font/helveticai.php
@@ -1,15 +1,33 @@
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);
+ // core font definition file for TCPDF (www.tcpdf.org)
+$type='core';
+$dw=556;
+$cw=array(0=>278,1=>278,2=>278,3=>278,4=>278,5=>278,6=>278,7=>278,8=>278,9=>278,
+10=>278,11=>278,12=>278,13=>278,14=>278,15=>278,16=>278,17=>278,18=>278,19=>278,
+20=>278,21=>278,22=>278,23=>278,24=>278,25=>278,26=>278,27=>278,28=>278,29=>278,
+30=>278,31=>278,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,
+40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,
+50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,
+60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>667,67=>722,68=>722,69=>667,
+70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>833,78=>722,79=>778,
+80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,
+90=>611,91=>278,92=>278,93=>278,94=>469,95=>556,96=>333,97=>556,98=>556,99=>500,
+100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,
+109=>833,110=>556,111=>556,112=>556,113=>556,114=>333,115=>500,116=>278,117=>556,
+118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,
+127=>350,128=>556,129=>350,130=>222,131=>556,132=>333,133=>1000,134=>556,135=>556,
+136=>333,137=>1000,138=>667,139=>333,140=>1000,141=>350,142=>611,143=>350,144=>350,
+145=>222,146=>222,147=>333,148=>333,149=>350,150=>556,151=>1000,152=>333,153=>1000,
+154=>500,155=>333,156=>944,157=>350,158=>500,159=>667,160=>278,161=>333,162=>556,
+163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>556,
+172=>584,173=>333,174=>737,175=>333,176=>400,177=>584,178=>333,179=>333,180=>333,
+181=>556,182=>537,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,
+190=>834,191=>611,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,
+199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,
+208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,
+217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,
+226=>556,227=>556,228=>556,229=>556,230=>889,231=>500,232=>556,233=>556,234=>556,
+235=>556,236=>278,237=>278,238=>278,239=>278,240=>556,241=>556,242=>556,243=>556,
+244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,
+253=>500,254=>556,255=>500);
?>
diff --git a/e107_plugins/pdf/font/makefont/cp1250.map b/e107_plugins/pdf/font/makefont/cp1250.map
deleted file mode 100644
index ec110af06..000000000
--- a/e107_plugins/pdf/font/makefont/cp1250.map
+++ /dev/null
@@ -1,251 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/cp1251.map b/e107_plugins/pdf/font/makefont/cp1251.map
deleted file mode 100644
index de6a198d9..000000000
--- a/e107_plugins/pdf/font/makefont/cp1251.map
+++ /dev/null
@@ -1,255 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/cp1252.map b/e107_plugins/pdf/font/makefont/cp1252.map
deleted file mode 100644
index dd490e596..000000000
--- a/e107_plugins/pdf/font/makefont/cp1252.map
+++ /dev/null
@@ -1,251 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/cp1253.map b/e107_plugins/pdf/font/makefont/cp1253.map
deleted file mode 100644
index 4bd826fb2..000000000
--- a/e107_plugins/pdf/font/makefont/cp1253.map
+++ /dev/null
@@ -1,239 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/cp1254.map b/e107_plugins/pdf/font/makefont/cp1254.map
deleted file mode 100644
index 829473b28..000000000
--- a/e107_plugins/pdf/font/makefont/cp1254.map
+++ /dev/null
@@ -1,249 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/cp1255.map b/e107_plugins/pdf/font/makefont/cp1255.map
deleted file mode 100644
index 079e10c61..000000000
--- a/e107_plugins/pdf/font/makefont/cp1255.map
+++ /dev/null
@@ -1,233 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/cp1257.map b/e107_plugins/pdf/font/makefont/cp1257.map
deleted file mode 100644
index 2f2ecfa21..000000000
--- a/e107_plugins/pdf/font/makefont/cp1257.map
+++ /dev/null
@@ -1,244 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/cp1258.map b/e107_plugins/pdf/font/makefont/cp1258.map
deleted file mode 100644
index fed915f71..000000000
--- a/e107_plugins/pdf/font/makefont/cp1258.map
+++ /dev/null
@@ -1,247 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/cp874.map b/e107_plugins/pdf/font/makefont/cp874.map
deleted file mode 100644
index 1006e6b17..000000000
--- a/e107_plugins/pdf/font/makefont/cp874.map
+++ /dev/null
@@ -1,225 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/iso-8859-1.map b/e107_plugins/pdf/font/makefont/iso-8859-1.map
deleted file mode 100644
index 61740a38f..000000000
--- a/e107_plugins/pdf/font/makefont/iso-8859-1.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/iso-8859-11.map b/e107_plugins/pdf/font/makefont/iso-8859-11.map
deleted file mode 100644
index 916881206..000000000
--- a/e107_plugins/pdf/font/makefont/iso-8859-11.map
+++ /dev/null
@@ -1,248 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/iso-8859-15.map b/e107_plugins/pdf/font/makefont/iso-8859-15.map
deleted file mode 100644
index 6c2b57127..000000000
--- a/e107_plugins/pdf/font/makefont/iso-8859-15.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/iso-8859-16.map b/e107_plugins/pdf/font/makefont/iso-8859-16.map
deleted file mode 100644
index 202c8fe59..000000000
--- a/e107_plugins/pdf/font/makefont/iso-8859-16.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/iso-8859-2.map b/e107_plugins/pdf/font/makefont/iso-8859-2.map
deleted file mode 100644
index 65ae09f95..000000000
--- a/e107_plugins/pdf/font/makefont/iso-8859-2.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/iso-8859-4.map b/e107_plugins/pdf/font/makefont/iso-8859-4.map
deleted file mode 100644
index a7d87bf3e..000000000
--- a/e107_plugins/pdf/font/makefont/iso-8859-4.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/iso-8859-5.map b/e107_plugins/pdf/font/makefont/iso-8859-5.map
deleted file mode 100644
index f9cd4edcf..000000000
--- a/e107_plugins/pdf/font/makefont/iso-8859-5.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/iso-8859-7.map b/e107_plugins/pdf/font/makefont/iso-8859-7.map
deleted file mode 100644
index e163796b1..000000000
--- a/e107_plugins/pdf/font/makefont/iso-8859-7.map
+++ /dev/null
@@ -1,250 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/iso-8859-9.map b/e107_plugins/pdf/font/makefont/iso-8859-9.map
deleted file mode 100644
index 48c123ae6..000000000
--- a/e107_plugins/pdf/font/makefont/iso-8859-9.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/koi8-r.map b/e107_plugins/pdf/font/makefont/koi8-r.map
deleted file mode 100644
index 6ad5d05d0..000000000
--- a/e107_plugins/pdf/font/makefont/koi8-r.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/koi8-u.map b/e107_plugins/pdf/font/makefont/koi8-u.map
deleted file mode 100644
index 40a7e4fd7..000000000
--- a/e107_plugins/pdf/font/makefont/koi8-u.map
+++ /dev/null
@@ -1,256 +0,0 @@
-!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
diff --git a/e107_plugins/pdf/font/makefont/makefont.php b/e107_plugins/pdf/font/makefont/makefont.php
deleted file mode 100644
index 8354dafbd..000000000
--- a/e107_plugins/pdf/font/makefont/makefont.php
+++ /dev/null
@@ -1,416 +0,0 @@
-Error: 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']) and isset($widths['increment']))
- $widths['Delta']=$widths['increment'];
- //Order widths according to map
- for($i=0;$i<=255;$i++)
- {
- if(!isset($widths[$map[$i]]))
- {
- echo 'Warning: character '.$map[$i].' is missing
';
- $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']) and $fm['IsFixedPitch'])
- $flags+=1<<0;
- if($symbolic)
- $flags+=1<<2;
- if(!$symbolic)
- $flags+=1<<5;
- if(isset($fm['ItalicAngle']) and $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']) and 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 and $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='t')
-{
- $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('Error: 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 and !$pp and !$e)
- echo 'Warning: font license does not allow embedding';
-}
-
-/*******************************************************************************
-* $fontfile : chemin du fichier TTF (ou chaîne vide si pas d'incorporation) *
-* $afmfile : chemin du fichier AFM *
-* $enc : encodage (ou chaîne vide si la police est symbolique) *
-* $patch : patch optionnel pour l'encodage *
-* $type : type de la police si $fontfile est vide *
-*******************************************************************************/
-function MakeFont($fontfile,$afmfile,$enc='cp1252',$patch=array(),$type='TrueType')
-{
- //Generate a font definition file
- set_magic_quotes_runtime(0);
- e107_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('Error: 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('Error: unrecognized font file extension: '.$ext);
- }
- else
- {
- if($type!='TrueType' and $type!='Type1')
- die('Error: incorrect font type: '.$type);
- }
- //Start generation
- $s='Error: font file not found: '.$fontfile);
- if($type=='TrueType')
- CheckTTF($fontfile);
- $f=fopen($fontfile,'rb');
- if(!$f)
- die('Error: 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('Error: font file does not seem to be valid Type1');
- $size1=$pos+6;
- if($header and ord($file{$size1})==128)
- {
- //Strip second binary header
- $file=substr($file,0,$size1).substr($file,$size1+6);
- }
- $pos=strpos($file,'00000000');
- if(!$pos)
- die('Error: 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.')
';
- }
- else
- {
- $s.='$file=\''.basename($fontfile)."';\n";
- echo 'Notice: font file could not be compressed (zlib extension not available)
';
- }
- 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);
- echo 'Font definition file generated ('.$basename.'.php'.')
';
-}
-?>
diff --git a/e107_plugins/pdf/font/symbol.php b/e107_plugins/pdf/font/symbol.php
index b556ed84c..9068a79af 100644
--- a/e107_plugins/pdf/font/symbol.php
+++ b/e107_plugins/pdf/font/symbol.php
@@ -1,15 +1,32 @@
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);
+ // core font definition file for TCPDF (www.tcpdf.org)
+$type='core';
+$dw=500;
+$cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250,
+10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250,
+20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250,
+30=>250,31=>250,32=>250,33=>333,34=>713,35=>500,36=>549,37=>833,38=>778,39=>439,
+40=>333,41=>333,42=>500,43=>549,44=>250,45=>549,46=>250,47=>278,48=>500,49=>500,
+50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>278,59=>278,
+60=>549,61=>549,62=>549,63=>444,64=>549,65=>722,66=>667,67=>722,68=>612,69=>611,
+70=>763,71=>603,72=>722,73=>333,74=>631,75=>722,76=>686,77=>889,78=>722,79=>722,
+80=>768,81=>741,82=>556,83=>592,84=>611,85=>690,86=>439,87=>768,88=>645,89=>795,
+90=>611,91=>333,92=>863,93=>333,94=>658,95=>500,96=>500,97=>631,98=>549,99=>549,
+100=>494,101=>439,102=>521,103=>411,104=>603,105=>329,106=>603,107=>549,108=>549,
+109=>576,110=>521,111=>549,112=>549,113=>521,114=>549,115=>603,116=>439,117=>576,
+118=>713,119=>686,120=>493,121=>686,122=>494,123=>480,124=>200,125=>480,126=>549,
+127=>0,128=>0,129=>0,130=>0,131=>0,132=>0,133=>0,134=>0,135=>0,136=>0,137=>0,
+138=>0,139=>0,140=>0,141=>0,142=>0,143=>0,144=>0,145=>0,146=>0,147=>0,148=>0,
+149=>0,150=>0,151=>0,152=>0,153=>0,154=>0,155=>0,156=>0,157=>0,158=>0,159=>0,
+160=>750,161=>620,162=>247,163=>549,164=>167,165=>713,166=>500,167=>753,168=>753,
+169=>753,170=>753,171=>1042,172=>987,173=>603,174=>987,175=>603,176=>400,177=>549,
+178=>411,179=>549,180=>549,181=>713,182=>494,183=>460,184=>549,185=>549,186=>549,
+187=>549,188=>1000,189=>603,190=>1000,191=>658,192=>823,193=>686,194=>795,195=>987,
+196=>768,197=>768,198=>823,199=>768,200=>768,201=>713,202=>713,203=>713,204=>713,
+205=>713,206=>713,207=>713,208=>768,209=>713,210=>790,211=>790,212=>890,213=>823,
+214=>549,215=>250,216=>713,217=>603,218=>603,219=>1042,220=>987,221=>603,222=>987,
+223=>603,224=>494,225=>329,226=>790,227=>790,228=>786,229=>713,230=>384,231=>384,
+232=>384,233=>384,234=>384,235=>384,236=>494,237=>494,238=>494,239=>494,240=>0,
+241=>329,242=>274,243=>686,244=>686,245=>686,246=>384,247=>384,248=>384,249=>384,
+250=>384,251=>384,252=>494,253=>494,254=>494,255=>0);
?>
diff --git a/e107_plugins/pdf/font/times.php b/e107_plugins/pdf/font/times.php
index b9be1b21d..8cae5a7b5 100644
--- a/e107_plugins/pdf/font/times.php
+++ b/e107_plugins/pdf/font/times.php
@@ -1,15 +1,33 @@
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);
+ // core font definition file for TCPDF (www.tcpdf.org)
+$type='core';
+$dw=500;
+$cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250,
+10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250,
+20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250,
+30=>250,31=>250,32=>250,33=>333,34=>408,35=>500,36=>500,37=>833,38=>778,39=>180,
+40=>333,41=>333,42=>500,43=>564,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,
+50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>278,59=>278,
+60=>564,61=>564,62=>564,63=>444,64=>921,65=>722,66=>667,67=>667,68=>722,69=>611,
+70=>556,71=>722,72=>722,73=>333,74=>389,75=>722,76=>611,77=>889,78=>722,79=>722,
+80=>556,81=>722,82=>667,83=>556,84=>611,85=>722,86=>722,87=>944,88=>722,89=>722,
+90=>611,91=>333,92=>278,93=>333,94=>469,95=>500,96=>333,97=>444,98=>500,99=>444,
+100=>500,101=>444,102=>333,103=>500,104=>500,105=>278,106=>278,107=>500,108=>278,
+109=>778,110=>500,111=>500,112=>500,113=>500,114=>333,115=>389,116=>278,117=>500,
+118=>500,119=>722,120=>500,121=>500,122=>444,123=>480,124=>200,125=>480,126=>541,
+127=>350,128=>500,129=>350,130=>333,131=>500,132=>444,133=>1000,134=>500,135=>500,
+136=>333,137=>1000,138=>556,139=>333,140=>889,141=>350,142=>611,143=>350,144=>350,
+145=>333,146=>333,147=>444,148=>444,149=>350,150=>500,151=>1000,152=>333,153=>980,
+154=>389,155=>333,156=>722,157=>350,158=>444,159=>722,160=>250,161=>333,162=>500,
+163=>500,164=>500,165=>500,166=>200,167=>500,168=>333,169=>760,170=>276,171=>500,
+172=>564,173=>333,174=>760,175=>333,176=>400,177=>564,178=>300,179=>300,180=>333,
+181=>500,182=>453,183=>250,184=>333,185=>300,186=>310,187=>500,188=>750,189=>750,
+190=>750,191=>444,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>889,
+199=>667,200=>611,201=>611,202=>611,203=>611,204=>333,205=>333,206=>333,207=>333,
+208=>722,209=>722,210=>722,211=>722,212=>722,213=>722,214=>722,215=>564,216=>722,
+217=>722,218=>722,219=>722,220=>722,221=>722,222=>556,223=>500,224=>444,225=>444,
+226=>444,227=>444,228=>444,229=>444,230=>667,231=>444,232=>444,233=>444,234=>444,
+235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>500,242=>500,243=>500,
+244=>500,245=>500,246=>500,247=>564,248=>500,249=>500,250=>500,251=>500,252=>500,
+253=>500,254=>500,255=>500);
?>
diff --git a/e107_plugins/pdf/font/timesb.php b/e107_plugins/pdf/font/timesb.php
index c3eb9fa75..68766ca5d 100644
--- a/e107_plugins/pdf/font/timesb.php
+++ b/e107_plugins/pdf/font/timesb.php
@@ -1,15 +1,33 @@
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);
+ // core font definition file for TCPDF (www.tcpdf.org)
+$type='core';
+$dw=500;
+$cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250,
+10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250,
+20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250,
+30=>250,31=>250,32=>250,33=>333,34=>555,35=>500,36=>500,37=>1000,38=>833,39=>278,
+40=>333,41=>333,42=>500,43=>570,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,
+50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>333,59=>333,
+60=>570,61=>570,62=>570,63=>500,64=>930,65=>722,66=>667,67=>722,68=>722,69=>667,
+70=>611,71=>778,72=>778,73=>389,74=>500,75=>778,76=>667,77=>944,78=>722,79=>778,
+80=>611,81=>778,82=>722,83=>556,84=>667,85=>722,86=>722,87=>1000,88=>722,89=>722,
+90=>667,91=>333,92=>278,93=>333,94=>581,95=>500,96=>333,97=>500,98=>556,99=>444,
+100=>556,101=>444,102=>333,103=>500,104=>556,105=>278,106=>333,107=>556,108=>278,
+109=>833,110=>556,111=>500,112=>556,113=>556,114=>444,115=>389,116=>333,117=>556,
+118=>500,119=>722,120=>500,121=>500,122=>444,123=>394,124=>220,125=>394,126=>520,
+127=>350,128=>500,129=>350,130=>333,131=>500,132=>500,133=>1000,134=>500,135=>500,
+136=>333,137=>1000,138=>556,139=>333,140=>1000,141=>350,142=>667,143=>350,144=>350,
+145=>333,146=>333,147=>500,148=>500,149=>350,150=>500,151=>1000,152=>333,153=>1000,
+154=>389,155=>333,156=>722,157=>350,158=>444,159=>722,160=>250,161=>333,162=>500,
+163=>500,164=>500,165=>500,166=>220,167=>500,168=>333,169=>747,170=>300,171=>500,
+172=>570,173=>333,174=>747,175=>333,176=>400,177=>570,178=>300,179=>300,180=>333,
+181=>556,182=>540,183=>250,184=>333,185=>300,186=>330,187=>500,188=>750,189=>750,
+190=>750,191=>500,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1000,
+199=>722,200=>667,201=>667,202=>667,203=>667,204=>389,205=>389,206=>389,207=>389,
+208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>570,216=>778,
+217=>722,218=>722,219=>722,220=>722,221=>722,222=>611,223=>556,224=>500,225=>500,
+226=>500,227=>500,228=>500,229=>500,230=>722,231=>444,232=>444,233=>444,234=>444,
+235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>556,242=>500,243=>500,
+244=>500,245=>500,246=>500,247=>570,248=>500,249=>556,250=>556,251=>556,252=>556,
+253=>500,254=>556,255=>500);
?>
diff --git a/e107_plugins/pdf/font/timesbi.php b/e107_plugins/pdf/font/timesbi.php
index 161f6302c..e2190e07c 100644
--- a/e107_plugins/pdf/font/timesbi.php
+++ b/e107_plugins/pdf/font/timesbi.php
@@ -1,15 +1,33 @@
250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
- chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
- ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667,
- 'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889,
- 'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
- 'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
- chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
- chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333,
- chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
- chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
- chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
- chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444);
+ // core font definition file for TCPDF (www.tcpdf.org)
+$type='core';
+$dw=500;
+$cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250,
+10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250,
+20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250,
+30=>250,31=>250,32=>250,33=>389,34=>555,35=>500,36=>500,37=>833,38=>778,39=>278,
+40=>333,41=>333,42=>500,43=>570,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,
+50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>333,59=>333,
+60=>570,61=>570,62=>570,63=>500,64=>832,65=>667,66=>667,67=>667,68=>722,69=>667,
+70=>667,71=>722,72=>778,73=>389,74=>500,75=>667,76=>611,77=>889,78=>722,79=>722,
+80=>611,81=>722,82=>667,83=>556,84=>611,85=>722,86=>667,87=>889,88=>667,89=>611,
+90=>611,91=>333,92=>278,93=>333,94=>570,95=>500,96=>333,97=>500,98=>500,99=>444,
+100=>500,101=>444,102=>333,103=>500,104=>556,105=>278,106=>278,107=>500,108=>278,
+109=>778,110=>556,111=>500,112=>500,113=>500,114=>389,115=>389,116=>278,117=>556,
+118=>444,119=>667,120=>500,121=>444,122=>389,123=>348,124=>220,125=>348,126=>570,
+127=>350,128=>500,129=>350,130=>333,131=>500,132=>500,133=>1000,134=>500,135=>500,
+136=>333,137=>1000,138=>556,139=>333,140=>944,141=>350,142=>611,143=>350,144=>350,
+145=>333,146=>333,147=>500,148=>500,149=>350,150=>500,151=>1000,152=>333,153=>1000,
+154=>389,155=>333,156=>722,157=>350,158=>389,159=>611,160=>250,161=>389,162=>500,
+163=>500,164=>500,165=>500,166=>220,167=>500,168=>333,169=>747,170=>266,171=>500,
+172=>606,173=>333,174=>747,175=>333,176=>400,177=>570,178=>300,179=>300,180=>333,
+181=>576,182=>500,183=>250,184=>333,185=>300,186=>300,187=>500,188=>750,189=>750,
+190=>750,191=>500,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>944,
+199=>667,200=>667,201=>667,202=>667,203=>667,204=>389,205=>389,206=>389,207=>389,
+208=>722,209=>722,210=>722,211=>722,212=>722,213=>722,214=>722,215=>570,216=>722,
+217=>722,218=>722,219=>722,220=>722,221=>611,222=>611,223=>500,224=>500,225=>500,
+226=>500,227=>500,228=>500,229=>500,230=>722,231=>444,232=>444,233=>444,234=>444,
+235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>556,242=>500,243=>500,
+244=>500,245=>500,246=>500,247=>570,248=>500,249=>556,250=>556,251=>556,252=>556,
+253=>444,254=>500,255=>444);
?>
diff --git a/e107_plugins/pdf/font/timesi.php b/e107_plugins/pdf/font/timesi.php
index de171fd19..19a597391 100644
--- a/e107_plugins/pdf/font/timesi.php
+++ b/e107_plugins/pdf/font/timesi.php
@@ -1,15 +1,33 @@
250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
- chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675,
- ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611,
- 'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833,
- 'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722,
- 'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
- chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980,
- chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333,
- chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611,
- chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
- chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
- chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444);
+ // core font definition file for TCPDF (www.tcpdf.org)
+$type='core';
+$dw=500;
+$cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250,
+10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250,
+20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250,
+30=>250,31=>250,32=>250,33=>333,34=>420,35=>500,36=>500,37=>833,38=>778,39=>214,
+40=>333,41=>333,42=>500,43=>675,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,
+50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>333,59=>333,
+60=>675,61=>675,62=>675,63=>500,64=>920,65=>611,66=>611,67=>667,68=>722,69=>611,
+70=>611,71=>722,72=>722,73=>333,74=>444,75=>667,76=>556,77=>833,78=>667,79=>722,
+80=>611,81=>722,82=>611,83=>500,84=>556,85=>722,86=>611,87=>833,88=>611,89=>556,
+90=>556,91=>389,92=>278,93=>389,94=>422,95=>500,96=>333,97=>500,98=>500,99=>444,
+100=>500,101=>444,102=>278,103=>500,104=>500,105=>278,106=>278,107=>444,108=>278,
+109=>722,110=>500,111=>500,112=>500,113=>500,114=>389,115=>389,116=>278,117=>500,
+118=>444,119=>667,120=>444,121=>444,122=>389,123=>400,124=>275,125=>400,126=>541,
+127=>350,128=>500,129=>350,130=>333,131=>500,132=>556,133=>889,134=>500,135=>500,
+136=>333,137=>1000,138=>500,139=>333,140=>944,141=>350,142=>556,143=>350,144=>350,
+145=>333,146=>333,147=>556,148=>556,149=>350,150=>500,151=>889,152=>333,153=>980,
+154=>389,155=>333,156=>667,157=>350,158=>389,159=>556,160=>250,161=>389,162=>500,
+163=>500,164=>500,165=>500,166=>275,167=>500,168=>333,169=>760,170=>276,171=>500,
+172=>675,173=>333,174=>760,175=>333,176=>400,177=>675,178=>300,179=>300,180=>333,
+181=>500,182=>523,183=>250,184=>333,185=>300,186=>310,187=>500,188=>750,189=>750,
+190=>750,191=>500,192=>611,193=>611,194=>611,195=>611,196=>611,197=>611,198=>889,
+199=>667,200=>611,201=>611,202=>611,203=>611,204=>333,205=>333,206=>333,207=>333,
+208=>722,209=>667,210=>722,211=>722,212=>722,213=>722,214=>722,215=>675,216=>722,
+217=>722,218=>722,219=>722,220=>722,221=>556,222=>611,223=>500,224=>500,225=>500,
+226=>500,227=>500,228=>500,229=>500,230=>667,231=>444,232=>444,233=>444,234=>444,
+235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>500,242=>500,243=>500,
+244=>500,245=>500,246=>500,247=>675,248=>500,249=>500,250=>500,251=>500,252=>500,
+253=>444,254=>500,255=>444);
?>
diff --git a/e107_plugins/pdf/font/zapfdingbats.php b/e107_plugins/pdf/font/zapfdingbats.php
index f2bdfd5c9..d3b7c56c8 100644
--- a/e107_plugins/pdf/font/zapfdingbats.php
+++ b/e107_plugins/pdf/font/zapfdingbats.php
@@ -1,15 +1,32 @@
0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0,
- chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939,
- ','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692,
- 'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776,
- 'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873,
- 'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317,
- chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
- chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788,
- chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788,
- chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918,
- chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874,
- chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0);
+ // core font definition file for TCPDF (www.tcpdf.org)
+$type='core';
+$dw=788;
+$cw=array(0=>0,1=>0,2=>0,3=>0,4=>0,5=>0,6=>0,7=>0,8=>0,9=>0,10=>0,11=>0,12=>0,
+13=>0,14=>0,15=>0,16=>0,17=>0,18=>0,19=>0,20=>0,21=>0,22=>0,23=>0,24=>0,25=>0,
+26=>0,27=>0,28=>0,29=>0,30=>0,31=>0,32=>278,33=>974,34=>961,35=>974,36=>980,
+37=>719,38=>789,39=>790,40=>791,41=>690,42=>960,43=>939,44=>549,45=>855,46=>911,
+47=>933,48=>911,49=>945,50=>974,51=>755,52=>846,53=>762,54=>761,55=>571,56=>677,
+57=>763,58=>760,59=>759,60=>754,61=>494,62=>552,63=>537,64=>577,65=>692,66=>786,
+67=>788,68=>788,69=>790,70=>793,71=>794,72=>816,73=>823,74=>789,75=>841,76=>823,
+77=>833,78=>816,79=>831,80=>923,81=>744,82=>723,83=>749,84=>790,85=>792,86=>695,
+87=>776,88=>768,89=>792,90=>759,91=>707,92=>708,93=>682,94=>701,95=>826,96=>815,
+97=>789,98=>789,99=>707,100=>687,101=>696,102=>689,103=>786,104=>787,105=>713,
+106=>791,107=>785,108=>791,109=>873,110=>761,111=>762,112=>762,113=>759,114=>759,
+115=>892,116=>892,117=>788,118=>784,119=>438,120=>138,121=>277,122=>415,123=>392,
+124=>392,125=>668,126=>668,127=>0,128=>390,129=>390,130=>317,131=>317,132=>276,
+133=>276,134=>509,135=>509,136=>410,137=>410,138=>234,139=>234,140=>334,141=>334,
+142=>0,143=>0,144=>0,145=>0,146=>0,147=>0,148=>0,149=>0,150=>0,151=>0,152=>0,
+153=>0,154=>0,155=>0,156=>0,157=>0,158=>0,159=>0,160=>0,161=>732,162=>544,163=>544,
+164=>910,165=>667,166=>760,167=>760,168=>776,169=>595,170=>694,171=>626,172=>788,
+173=>788,174=>788,175=>788,176=>788,177=>788,178=>788,179=>788,180=>788,181=>788,
+182=>788,183=>788,184=>788,185=>788,186=>788,187=>788,188=>788,189=>788,190=>788,
+191=>788,192=>788,193=>788,194=>788,195=>788,196=>788,197=>788,198=>788,199=>788,
+200=>788,201=>788,202=>788,203=>788,204=>788,205=>788,206=>788,207=>788,208=>788,
+209=>788,210=>788,211=>788,212=>894,213=>838,214=>1016,215=>458,216=>748,217=>924,
+218=>748,219=>918,220=>927,221=>928,222=>928,223=>834,224=>873,225=>828,226=>924,
+227=>924,228=>917,229=>930,230=>931,231=>463,232=>883,233=>836,234=>836,235=>867,
+236=>867,237=>696,238=>696,239=>874,240=>0,241=>874,242=>760,243=>946,244=>771,
+245=>865,246=>771,247=>888,248=>967,249=>888,250=>831,251=>873,252=>927,253=>970,
+254=>918,255=>0);
?>
diff --git a/e107_plugins/pdf/fpdf.css b/e107_plugins/pdf/fpdf.css
deleted file mode 100644
index d979baec2..000000000
--- a/e107_plugins/pdf/fpdf.css
+++ /dev/null
@@ -1,11 +0,0 @@
-BODY {font-family:times new roman,serif}
-H2 {color:#4000A0}
-P.demo {text-align:center; margin-top:-10px}
-A.demo {text-decoration:none; font-weight:bold; color:#0000CC}
-A.demo:link {text-decoration:none; font-weight:bold; color:#0000CC}
-A.demo:hover {text-decoration:none; font-weight:bold; color:#0000FF}
-A.demo:active {text-decoration:none; font-weight:bold; color:#0000FF}
-.st {font-weight:bold; color:#900000}
-.kw {color:#000080; font-weight:bold}
-.str {color:#CC0000}
-.cmt {color:#008000}
diff --git a/e107_plugins/pdf/fpdf.php b/e107_plugins/pdf/fpdf.php
deleted file mode 100644
index e3bd5252b..000000000
--- a/e107_plugins/pdf/fpdf.php
+++ /dev/null
@@ -1,1680 +0,0 @@
-_dochecks();
- //Initialization of properties
- $this->page=0;
- $this->n=2;
- $this->buffer='';
- $this->pages=array();
- $this->OrientationChanges=array();
- $this->state=0;
- $this->fonts=array();
- $this->FontFiles=array();
- $this->diffs=array();
- $this->images=array();
- $this->links=array();
- $this->InFooter=false;
- $this->lasth=0;
- $this->FontFamily='';
- $this->FontStyle='';
- $this->FontSizePt=12;
- $this->underline=false;
- $this->DrawColor='0 G';
- $this->FillColor='0 g';
- $this->TextColor='0 g';
- $this->ColorFlag=false;
- $this->ws=0;
- //Standard fonts
- $this->CoreFonts=array('courier'=>'Courier','courierB'=>'Courier-Bold','courierI'=>'Courier-Oblique','courierBI'=>'Courier-BoldOblique',
- 'helvetica'=>'Helvetica','helveticaB'=>'Helvetica-Bold','helveticaI'=>'Helvetica-Oblique','helveticaBI'=>'Helvetica-BoldOblique',
- 'times'=>'Times-Roman','timesB'=>'Times-Bold','timesI'=>'Times-Italic','timesBI'=>'Times-BoldItalic',
- 'symbol'=>'Symbol','zapfdingbats'=>'ZapfDingbats');
- //Scale factor
- if($unit=='pt')
- $this->k=1;
- elseif($unit=='mm')
- $this->k=72/25.4;
- elseif($unit=='cm')
- $this->k=72/2.54;
- elseif($unit=='in')
- $this->k=72;
- else
- $this->Error('Incorrect unit: '.$unit);
- //Page format
- if(is_string($format))
- {
- $format=strtolower($format);
- if($format=='a3')
- $format=array(841.89,1190.55);
- elseif($format=='a4')
- $format=array(595.28,841.89);
- elseif($format=='a5')
- $format=array(420.94,595.28);
- elseif($format=='letter')
- $format=array(612,792);
- elseif($format=='legal')
- $format=array(612,1008);
- else
- $this->Error('Unknown page format: '.$format);
- $this->fwPt=$format[0];
- $this->fhPt=$format[1];
- }
- else
- {
- $this->fwPt=$format[0]*$this->k;
- $this->fhPt=$format[1]*$this->k;
- }
- $this->fw=$this->fwPt/$this->k;
- $this->fh=$this->fhPt/$this->k;
- //Page orientation
- $orientation=strtolower($orientation);
- if($orientation=='p' || $orientation=='portrait')
- {
- $this->DefOrientation='P';
- $this->wPt=$this->fwPt;
- $this->hPt=$this->fhPt;
- }
- elseif($orientation=='l' || $orientation=='landscape')
- {
- $this->DefOrientation='L';
- $this->wPt=$this->fhPt;
- $this->hPt=$this->fwPt;
- }
- else
- $this->Error('Incorrect orientation: '.$orientation);
- $this->CurOrientation=$this->DefOrientation;
- $this->w=$this->wPt/$this->k;
- $this->h=$this->hPt/$this->k;
- //Page margins (1 cm)
- $margin=28.35/$this->k;
- $this->SetMargins($margin,$margin);
- //Interior cell margin (1 mm)
- $this->cMargin=$margin/10;
- //Line width (0.2 mm)
- $this->LineWidth=.567/$this->k;
- //Automatic page break
- $this->SetAutoPageBreak(true,2*$margin);
- //Full width display mode
- $this->SetDisplayMode('fullwidth');
- //Enable compression
- $this->SetCompression(true);
- //Set default PDF version number
- $this->PDFVersion='1.3';
-}
-
-function SetMargins($left,$top,$right=-1)
-{
- //Set left, top and right margins
- $this->lMargin=$left;
- $this->tMargin=$top;
- if($right==-1)
- $right=$left;
- $this->rMargin=$right;
-}
-
-function SetLeftMargin($margin)
-{
- //Set left margin
- $this->lMargin=$margin;
- if($this->page>0 && $this->x<$margin)
- $this->x=$margin;
-}
-
-function SetTopMargin($margin)
-{
- //Set top margin
- $this->tMargin=$margin;
-}
-
-function SetRightMargin($margin)
-{
- //Set right margin
- $this->rMargin=$margin;
-}
-
-function SetAutoPageBreak($auto,$margin=0)
-{
- //Set auto page break mode and triggering margin
- $this->AutoPageBreak=$auto;
- $this->bMargin=$margin;
- $this->PageBreakTrigger=$this->h-$margin;
-}
-
-function SetDisplayMode($zoom,$layout='continuous')
-{
- //Set display mode in viewer
- if($zoom=='fullpage' || $zoom=='fullwidth' || $zoom=='real' || $zoom=='default' || !is_string($zoom))
- $this->ZoomMode=$zoom;
- else
- $this->Error('Incorrect zoom display mode: '.$zoom);
- if($layout=='single' || $layout=='continuous' || $layout=='two' || $layout=='default')
- $this->LayoutMode=$layout;
- else
- $this->Error('Incorrect layout display mode: '.$layout);
-}
-
-function SetCompression($compress)
-{
- //Set page compression
- if(function_exists('gzcompress'))
- $this->compress=$compress;
- else
- $this->compress=false;
-}
-
-function SetTitle($title)
-{
- //Title of document
- $this->title=$title;
-}
-
-function SetSubject($subject)
-{
- //Subject of document
- $this->subject=$subject;
-}
-
-function SetAuthor($author)
-{
- //Author of document
- $this->author=$author;
-}
-
-function SetKeywords($keywords)
-{
- //Keywords of document
- $this->keywords=$keywords;
-}
-
-function SetCreator($creator)
-{
- //Creator of document
- $this->creator=$creator;
-}
-
-function AliasNbPages($alias='{nb}')
-{
- //Define an alias for total number of pages
- $this->AliasNbPages=$alias;
-}
-
-function Error($msg)
-{
- //Fatal error
- die('FPDF error: '.$msg);
-}
-
-function Open()
-{
- //Begin document
- $this->state=1;
-}
-
-function Close()
-{
- //Terminate document
- if($this->state==3)
- return;
- if($this->page==0)
- $this->AddPage();
- //Page footer
- $this->InFooter=true;
- $this->Footer();
- $this->InFooter=false;
- //Close page
- $this->_endpage();
- //Close document
- $this->_enddoc();
-}
-
-function AddPage($orientation='')
-{
- //Start a new page
- if($this->state==0)
- $this->Open();
- $family=$this->FontFamily;
- $style=$this->FontStyle.($this->underline ? 'U' : '');
- $size=$this->FontSizePt;
- $lw=$this->LineWidth;
- $dc=$this->DrawColor;
- $fc=$this->FillColor;
- $tc=$this->TextColor;
- $cf=$this->ColorFlag;
- if($this->page>0)
- {
- //Page footer
- $this->InFooter=true;
- $this->Footer();
- $this->InFooter=false;
- //Close page
- $this->_endpage();
- }
- //Start new page
- $this->_beginpage($orientation);
- //Set line cap style to square
- $this->_out('2 J');
- //Set line width
- $this->LineWidth=$lw;
- $this->_out(sprintf('%.2f w',$lw*$this->k));
- //Set font
- if($family)
- $this->SetFont($family,$style,$size);
- //Set colors
- $this->DrawColor=$dc;
- if($dc!='0 G')
- $this->_out($dc);
- $this->FillColor=$fc;
- if($fc!='0 g')
- $this->_out($fc);
- $this->TextColor=$tc;
- $this->ColorFlag=$cf;
- //Page header
- $this->Header();
- //Restore line width
- if($this->LineWidth!=$lw)
- {
- $this->LineWidth=$lw;
- $this->_out(sprintf('%.2f w',$lw*$this->k));
- }
- //Restore font
- if($family)
- $this->SetFont($family,$style,$size);
- //Restore colors
- if($this->DrawColor!=$dc)
- {
- $this->DrawColor=$dc;
- $this->_out($dc);
- }
- if($this->FillColor!=$fc)
- {
- $this->FillColor=$fc;
- $this->_out($fc);
- }
- $this->TextColor=$tc;
- $this->ColorFlag=$cf;
-}
-
-function Header()
-{
- //To be implemented in your own inherited class
-}
-
-function Footer()
-{
- //To be implemented in your own inherited class
-}
-
-function PageNo()
-{
- //Get current page number
- return $this->page;
-}
-
-function SetDrawColor($r,$g=-1,$b=-1)
-{
- //Set color for all stroking operations
- if(($r==0 && $g==0 && $b==0) || $g==-1)
- $this->DrawColor=sprintf('%.3f G',$r/255);
- else
- $this->DrawColor=sprintf('%.3f %.3f %.3f RG',$r/255,$g/255,$b/255);
- if($this->page>0)
- $this->_out($this->DrawColor);
-}
-
-function SetFillColor($r,$g=-1,$b=-1)
-{
- //Set color for all filling operations
- if(($r==0 && $g==0 && $b==0) || $g==-1)
- $this->FillColor=sprintf('%.3f g',$r/255);
- else
- $this->FillColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255);
- $this->ColorFlag=($this->FillColor!=$this->TextColor);
- if($this->page>0)
- $this->_out($this->FillColor);
-}
-
-function SetTextColor($r,$g=-1,$b=-1)
-{
- //Set color for text
- if(($r==0 && $g==0 && $b==0) || $g==-1)
- $this->TextColor=sprintf('%.3f g',$r/255);
- else
- $this->TextColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255);
- $this->ColorFlag=($this->FillColor!=$this->TextColor);
-}
-
-function GetStringWidth($s)
-{
- //Get width of a string in the current font
- $s=(string)$s;
- $cw=&$this->CurrentFont['cw'];
- $w=0;
- $l=strlen($s);
- for($i=0;$i<$l;$i++)
- $w+=$cw[$s{$i}];
- return $w*$this->FontSize/1000;
-}
-
-function SetLineWidth($width)
-{
- //Set line width
- $this->LineWidth=$width;
- if($this->page>0)
- $this->_out(sprintf('%.2f w',$width*$this->k));
-}
-
-function Line($x1,$y1,$x2,$y2)
-{
- //Draw a line
- $this->_out(sprintf('%.2f %.2f m %.2f %.2f l S',$x1*$this->k,($this->h-$y1)*$this->k,$x2*$this->k,($this->h-$y2)*$this->k));
-}
-
-function Rect($x,$y,$w,$h,$style='')
-{
- //Draw a rectangle
- if($style=='F')
- $op='f';
- elseif($style=='FD' || $style=='DF')
- $op='B';
- else
- $op='S';
- $this->_out(sprintf('%.2f %.2f %.2f %.2f re %s',$x*$this->k,($this->h-$y)*$this->k,$w*$this->k,-$h*$this->k,$op));
-}
-
-function AddFont($family,$style='',$file='')
-{
- //Add a TrueType or Type1 font
- $family=strtolower($family);
- if($file=='')
- $file=str_replace(' ','',$family).strtolower($style).'.php';
- if($family=='arial')
- $family='helvetica';
- $style=strtoupper($style);
- if($style=='IB')
- $style='BI';
- $fontkey=$family.$style;
- if(isset($this->fonts[$fontkey]))
- $this->Error('Font already added: '.$family.' '.$style);
- include($this->_getfontpath().$file);
- if(!isset($name))
- $this->Error('Could not include font definition file');
- $i=count($this->fonts)+1;
- $this->fonts[$fontkey]=array('i'=>$i,'type'=>$type,'name'=>$name,'desc'=>$desc,'up'=>$up,'ut'=>$ut,'cw'=>$cw,'enc'=>$enc,'file'=>$file);
- if(isset($diff) && $diff)
- {
- //Search existing encodings
- $d=0;
- $nb=count($this->diffs);
- for($i=1;$i<=$nb;$i++)
- {
- if($this->diffs[$i]==$diff)
- {
- $d=$i;
- break;
- }
- }
- if($d==0)
- {
- $d=$nb+1;
- $this->diffs[$d]=$diff;
- }
- $this->fonts[$fontkey]['diff']=$d;
- }
- if($file)
- {
- if($type=='TrueType')
- $this->FontFiles[$file]=array('length1'=>$originalsize);
- else
- $this->FontFiles[$file]=array('length1'=>$size1,'length2'=>$size2);
- }
-}
-
-function SetFont($family,$style='',$size=0)
-{
- //Select a font; size given in points
- global $fpdf_charwidths;
-
- $family=strtolower($family);
- if($family=='')
- $family=$this->FontFamily;
- if($family=='arial')
- $family='helvetica';
- elseif($family=='symbol' || $family=='zapfdingbats')
- $style='';
- $style=strtoupper($style);
- if(strpos($style,'U')!==false)
- {
- $this->underline=true;
- $style=str_replace('U','',$style);
- }
- else
- $this->underline=false;
- if($style=='IB')
- $style='BI';
- if($size==0)
- $size=$this->FontSizePt;
- //Test if font is already selected
- if($this->FontFamily==$family && $this->FontStyle==$style && $this->FontSizePt==$size)
- return;
- //Test if used for the first time
- $fontkey=$family.$style;
- if(!isset($this->fonts[$fontkey]))
- {
- //Check if one of the standard fonts
- if(isset($this->CoreFonts[$fontkey]))
- {
- if(!isset($fpdf_charwidths[$fontkey]))
- {
- //Load metric file
- $file=$family;
- if($family=='times' || $family=='helvetica')
- $file.=strtolower($style);
- include($this->_getfontpath().$file.'.php');
- if(!isset($fpdf_charwidths[$fontkey]))
- $this->Error('Could not include font metric file');
- }
- $i=count($this->fonts)+1;
- $this->fonts[$fontkey]=array('i'=>$i,'type'=>'core','name'=>$this->CoreFonts[$fontkey],'up'=>-100,'ut'=>50,'cw'=>$fpdf_charwidths[$fontkey]);
- }
- else
- $this->Error('Undefined font: '.$family.' '.$style);
- }
- //Select it
- $this->FontFamily=$family;
- $this->FontStyle=$style;
- $this->FontSizePt=$size;
- $this->FontSize=$size/$this->k;
- $this->CurrentFont=&$this->fonts[$fontkey];
- if($this->page>0)
- $this->_out(sprintf('BT /F%d %.2f Tf ET',$this->CurrentFont['i'],$this->FontSizePt));
-}
-
-function SetFontSize($size)
-{
- //Set font size in points
- if($this->FontSizePt==$size)
- return;
- $this->FontSizePt=$size;
- $this->FontSize=$size/$this->k;
- if($this->page>0)
- $this->_out(sprintf('BT /F%d %.2f Tf ET',$this->CurrentFont['i'],$this->FontSizePt));
-}
-
-function AddLink()
-{
- //Create a new internal link
- $n=count($this->links)+1;
- $this->links[$n]=array(0,0);
- return $n;
-}
-
-function SetLink($link,$y=0,$page=-1)
-{
- //Set destination of internal link
- if($y==-1)
- $y=$this->y;
- if($page==-1)
- $page=$this->page;
- $this->links[$link]=array($page,$y);
-}
-
-function Link($x,$y,$w,$h,$link)
-{
- //Put a link on the page
- $this->PageLinks[$this->page][]=array($x*$this->k,$this->hPt-$y*$this->k,$w*$this->k,$h*$this->k,$link);
-}
-
-function Text($x,$y,$txt)
-{
- //Output a string
- $s=sprintf('BT %.2f %.2f Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt));
- if($this->underline && $txt!='')
- $s.=' '.$this->_dounderline($x,$y,$txt);
- if($this->ColorFlag)
- $s='q '.$this->TextColor.' '.$s.' Q';
- $this->_out($s);
-}
-
-function AcceptPageBreak()
-{
- //Accept automatic page break or not
- return $this->AutoPageBreak;
-}
-
-function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='')
-{
- //Output a cell
- $k=$this->k;
- if($this->y+$h>$this->PageBreakTrigger && !$this->InFooter && $this->AcceptPageBreak())
- {
- //Automatic page break
- $x=$this->x;
- $ws=$this->ws;
- if($ws>0)
- {
- $this->ws=0;
- $this->_out('0 Tw');
- }
- $this->AddPage($this->CurOrientation);
- $this->x=$x+$this->lMargin;
- if($ws>0)
- {
- $this->ws=$ws;
- $this->_out(sprintf('%.3f Tw',$ws*$k));
- }
- }
- if($w==0)
- $w=$this->w-$this->rMargin-$this->x;
- $s='';
- if($fill==1 || $border==1)
- {
- if($fill==1)
- $op=($border==1) ? 'B' : 'f';
- else
- $op='S';
- $s=sprintf('%.2f %.2f %.2f %.2f re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op);
- }
- if(is_string($border))
- {
- $x=$this->x;
- $y=$this->y;
- if(strpos($border,'L')!==false)
- $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k);
- if(strpos($border,'T')!==false)
- $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k);
- if(strpos($border,'R')!==false)
- $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
- if(strpos($border,'B')!==false)
- $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
- }
- if($txt!=='')
- {
- if($align=='R')
- $dx=$w-$this->cMargin-$this->GetStringWidth($txt);
- elseif($align=='C')
- $dx=($w-$this->GetStringWidth($txt))/2;
- else
- $dx=$this->cMargin;
- if($this->ColorFlag)
- $s.='q '.$this->TextColor.' ';
- $txt2=str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$txt)));
- $s.=sprintf('BT %.2f %.2f Td (%s) Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$txt2);
- if($this->underline)
- $s.=' '.$this->_dounderline($this->x+$dx,$this->y+.5*$h+.3*$this->FontSize,$txt);
- if($this->ColorFlag)
- $s.=' Q';
- if($link)
- $this->Link($this->x+$dx,$this->y+.5*$h-.5*$this->FontSize,$this->GetStringWidth($txt),$this->FontSize,$link);
- }
- if($s)
- $this->_out($s);
- $this->lasth=$h;
- if($ln>0)
- {
- //Go to next line
- $this->y+=$h;
- if($ln==1)
- $this->x=$this->lMargin;
- }
- else
- $this->x+=$w;
-}
-
-function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0)
-{
- //Output text with automatic or explicit line breaks
- $cw=&$this->CurrentFont['cw'];
- if($w==0)
- $w=$this->w-$this->rMargin-$this->x;
- $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
- $s=str_replace("\r",'',$txt);
- $nb=strlen($s);
- if($nb>0 && $s[$nb-1]=="\n")
- $nb--;
- $b=0;
- if($border)
- {
- if($border==1)
- {
- $border='LTRB';
- $b='LRT';
- $b2='LR';
- }
- else
- {
- $b2='';
- if(strpos($border,'L')!==false)
- $b2.='L';
- if(strpos($border,'R')!==false)
- $b2.='R';
- $b=(strpos($border,'T')!==false) ? $b2.'T' : $b2;
- }
- }
- $sep=-1;
- $i=0;
- $j=0;
- $l=0;
- $ns=0;
- $nl=1;
- while($i<$nb)
- {
- //Get next character
- $c=$s{$i};
- if($c=="\n")
- {
- //Explicit line break
- if($this->ws>0)
- {
- $this->ws=0;
- $this->_out('0 Tw');
- }
- $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
- $i++;
- $sep=-1;
- $j=$i;
- $l=0;
- $ns=0;
- $nl++;
- if($border && $nl==2)
- $b=$b2;
- continue;
- }
- if($c==' ')
- {
- $sep=$i;
- $ls=$l;
- $ns++;
- }
- $l+=$cw[$c];
- if($l>$wmax)
- {
- //Automatic line break
- if($sep==-1)
- {
- if($i==$j)
- $i++;
- if($this->ws>0)
- {
- $this->ws=0;
- $this->_out('0 Tw');
- }
- $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
- }
- else
- {
- if($align=='J')
- {
- $this->ws=($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0;
- $this->_out(sprintf('%.3f Tw',$this->ws*$this->k));
- }
- $this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill);
- $i=$sep+1;
- }
- $sep=-1;
- $j=$i;
- $l=0;
- $ns=0;
- $nl++;
- if($border && $nl==2)
- $b=$b2;
- }
- else
- $i++;
- }
- //Last chunk
- if($this->ws>0)
- {
- $this->ws=0;
- $this->_out('0 Tw');
- }
- if($border && strpos($border,'B')!==false)
- $b.='B';
- $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
- $this->x=$this->lMargin;
-}
-
-function Write($h,$txt,$link='')
-{
- //Output text in flowing mode
- $cw=&$this->CurrentFont['cw'];
- $w=$this->w-$this->rMargin-$this->x;
- $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
- $s=str_replace("\r",'',$txt);
- $nb=strlen($s);
- $sep=-1;
- $i=0;
- $j=0;
- $l=0;
- $nl=1;
- while($i<$nb)
- {
- //Get next character
- $c=$s{$i};
- if($c=="\n")
- {
- //Explicit line break
- $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link);
- $i++;
- $sep=-1;
- $j=$i;
- $l=0;
- if($nl==1)
- {
- $this->x=$this->lMargin;
- $w=$this->w-$this->rMargin-$this->x;
- $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
- }
- $nl++;
- continue;
- }
- if($c==' ')
- $sep=$i;
- $l+=$cw[$c];
- if($l>$wmax)
- {
- //Automatic line break
- if($sep==-1)
- {
- if($this->x>$this->lMargin)
- {
- //Move to next line
- $this->x=$this->lMargin;
- $this->y+=$h;
- $w=$this->w-$this->rMargin-$this->x;
- $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
- $i++;
- $nl++;
- continue;
- }
- if($i==$j)
- $i++;
- $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link);
- }
- else
- {
- $this->Cell($w,$h,substr($s,$j,$sep-$j),0,2,'',0,$link);
- $i=$sep+1;
- }
- $sep=-1;
- $j=$i;
- $l=0;
- if($nl==1)
- {
- $this->x=$this->lMargin;
- $w=$this->w-$this->rMargin-$this->x;
- $wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
- }
- $nl++;
- }
- else
- $i++;
- }
- //Last chunk
- if($i!=$j)
- $this->Cell($l/1000*$this->FontSize,$h,substr($s,$j),0,0,'',0,$link);
-}
-
-function Image($file,$x,$y,$w=0,$h=0,$type='',$link='')
-{
- //Put an image on the page
- if(!isset($this->images[$file]))
- {
- //First use of image, get info
- if($type=='')
- {
- $pos=strrpos($file,'.');
- if(!$pos)
- $this->Error('Image file has no extension and no type was specified: '.$file);
- $type=substr($file,$pos+1);
- }
- $type=strtolower($type);
- $mqr=get_magic_quotes_runtime();
- set_magic_quotes_runtime(0);
- if($type=='jpg' || $type=='jpeg'){
- $info=$this->_parsejpg($file);
- }elseif($type=='png'){
- $info=$this->_parsepng($file);
- }else{
- //Allow for additional formats
- $mtd='_parse'.$type;
- if(!method_exists($this,$mtd))
- $this->Error('Unsupported image type: '.$type);
- $info=$this->$mtd($file);
- }
- if($info){
- set_magic_quotes_runtime($mqr);
- $info['i']=count($this->images)+1;
- $this->images[$file]=$info;
- }
- }
- else
- $info=$this->images[$file];
- if($info){
- //Automatic width and height calculation if needed
- if($w==0 && $h==0)
- {
- //Put image at 72 dpi
- $w=$info['w']/$this->k;
- $h=$info['h']/$this->k;
- }
- if($w==0)
- $w=$h*$info['w']/$info['h'];
- if($h==0)
- $h=$w*$info['h']/$info['w'];
- $this->_out(sprintf('q %.2f 0 0 %.2f %.2f %.2f cm /I%d Do Q',$w*$this->k,$h*$this->k,$x*$this->k,($this->h-($y+$h))*$this->k,$info['i']));
- if($link)
- $this->Link($x,$y,$w,$h,$link);
- }
-}
-
-function Ln($h='')
-{
- //Line feed; default value is last cell height
- $this->x=$this->lMargin;
- if(is_string($h))
- $this->y+=$this->lasth;
- else
- $this->y+=$h;
-}
-
-function GetX()
-{
- //Get x position
- return $this->x;
-}
-
-function SetX($x)
-{
- //Set x position
- if($x>=0)
- $this->x=$x;
- else
- $this->x=$this->w+$x;
-}
-
-function GetY()
-{
- //Get y position
- return $this->y;
-}
-
-function SetY($y)
-{
- //Set y position and reset x
- $this->x=$this->lMargin;
- if($y>=0)
- $this->y=$y;
- else
- $this->y=$this->h+$y;
-}
-
-function SetXY($x,$y)
-{
- //Set x and y positions
- $this->SetY($y);
- $this->SetX($x);
-}
-
-function Output($name='',$dest='')
-{
- //Output PDF to some destination
- //Finish document if necessary
- if($this->state<3)
- $this->Close();
- //Normalize parameters
- if(is_bool($dest))
- $dest=$dest ? 'D' : 'F';
- $dest=strtoupper($dest);
- if($dest=='')
- {
- if($name=='')
- {
- $name='doc.pdf';
- $dest='I';
- }
- else
- $dest='F';
- }
- switch($dest)
- {
- case 'I':
- //Send to standard output
- if(ob_get_contents())
- $this->Error('Some data has already been output, can\'t send PDF file');
- if(php_sapi_name()!='cli')
- {
- //We send to a browser
- //Secure https check
- if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']=='contype'){
- header('Pragma: public');
- }
- header('Content-Type: application/pdf');
- if(headers_sent())
- $this->Error('Some data has already been output to browser, can\'t send PDF file');
- header('Content-Length: '.strlen($this->buffer));
- header('Content-disposition: inline; filename="'.$name.'"');
- }
- echo $this->buffer;
- break;
- case 'D':
- //Download file
- if(ob_get_contents())
- $this->Error('Some data has already been output, can\'t send PDF file');
- //Secure https check
- if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']=='contype')
- header('Pragma: public');
- if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'MSIE'))
- header('Content-Type: application/force-download');
- else
- header('Content-Type: application/octet-stream');
- if(headers_sent())
- $this->Error('Some data has already been output to browser, can\'t send PDF file');
- header('Content-Length: '.strlen($this->buffer));
- header('Content-disposition: attachment; filename="'.$name.'"');
- echo $this->buffer;
- break;
- case 'F':
- //Save to local file
- $f=fopen($name,'wb');
- if(!$f)
- $this->Error('Unable to create output file: '.$name);
- fwrite($f,$this->buffer,strlen($this->buffer));
- fclose($f);
- break;
- case 'S':
- //Return as a string
- return $this->buffer;
- default:
- $this->Error('Incorrect output destination: '.$dest);
- }
- return '';
-}
-
-/*******************************************************************************
-* *
-* Protected methods *
-* *
-*******************************************************************************/
-function _dochecks()
-{
- //Check for locale-related bug
- if(1.1==1)
- $this->Error('Don\'t alter the locale before including class file');
- //Check for decimal separator
- if(sprintf('%.1f',1.0)!='1.0')
- setlocale(LC_NUMERIC,'C');
-}
-
-function _getfontpath()
-{
- if(!defined('FPDF_FONTPATH') && is_dir(dirname(__FILE__).'/font'))
- define('FPDF_FONTPATH',dirname(__FILE__).'/font/');
- return defined('FPDF_FONTPATH') ? FPDF_FONTPATH : '';
-}
-
-function _putpages()
-{
- $nb=$this->page;
- if(!empty($this->AliasNbPages))
- {
- //Replace number of pages
- for($n=1;$n<=$nb;$n++)
- $this->pages[$n]=str_replace($this->AliasNbPages,$nb,$this->pages[$n]);
- }
- if($this->DefOrientation=='P')
- {
- $wPt=$this->fwPt;
- $hPt=$this->fhPt;
- }
- else
- {
- $wPt=$this->fhPt;
- $hPt=$this->fwPt;
- }
- $filter=($this->compress) ? '/Filter /FlateDecode ' : '';
- for($n=1;$n<=$nb;$n++)
- {
- //Page
- $this->_newobj();
- $this->_out('<_out('/Parent 1 0 R');
- if(isset($this->OrientationChanges[$n]))
- $this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$hPt,$wPt));
- $this->_out('/Resources 2 0 R');
- if(isset($this->PageLinks[$n]))
- {
- //Links
- $annots='/Annots [';
- foreach($this->PageLinks[$n] as $pl)
- {
- $rect=sprintf('%.2f %.2f %.2f %.2f',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]);
- $annots.='<_textstring($pl[4]).'>>>>';
- $annots.='/A <_escapetext($pl[4]).'>>>>';
- else
- {
- $l=$this->links[$pl[4]];
- $h=isset($this->OrientationChanges[$l[0]]) ? $wPt : $hPt;
- $annots.=sprintf('/Dest [%d 0 R /XYZ 0 %.2f null]>>',1+2*$l[0],$h-$l[1]*$this->k);
- }
- }
- $this->_out($annots.']');
- }
- $this->_out('/Contents '.($this->n+1).' 0 R>>');
- $this->_out('endobj');
- //Page content
- $p=($this->compress) ? gzcompress($this->pages[$n]) : $this->pages[$n];
- $this->_newobj();
- $this->_out('<<'.$filter.'/Length '.strlen($p).'>>');
- $this->_putstream($p);
- $this->_out('endobj');
- }
- //Pages root
- $this->offsets[1]=strlen($this->buffer);
- $this->_out('1 0 obj');
- $this->_out('<_out($kids.']');
- $this->_out('/Count '.$nb);
- $this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$wPt,$hPt));
- $this->_out('>>');
- $this->_out('endobj');
-}
-
-function _putfonts()
-{
- $nf=$this->n;
- foreach($this->diffs as $diff)
- {
- //Encodings
- $this->_newobj();
- $this->_out('<>');
- $this->_out('endobj');
- }
- $mqr=get_magic_quotes_runtime();
- set_magic_quotes_runtime(0);
- foreach($this->FontFiles as $file=>$info)
- {
- //Font file embedding
- $this->_newobj();
- $this->FontFiles[$file]['n']=$this->n;
- $font='';
- $f=fopen($this->_getfontpath().$file,'rb',1);
- if(!$f)
- $this->Error('Font file not found');
- while(!feof($f))
- $font.=fread($f,8192);
- fclose($f);
- $compressed=(substr($file,-2)=='.z');
- if(!$compressed && isset($info['length2']))
- {
- $header=(ord($font{0})==128);
- if($header)
- {
- //Strip first binary header
- $font=substr($font,6);
- }
- if($header && ord($font{$info['length1']})==128)
- {
- //Strip second binary header
- $font=substr($font,0,$info['length1']).substr($font,$info['length1']+6);
- }
- }
- $this->_out('<_out('/Filter /FlateDecode');
- $this->_out('/Length1 '.$info['length1']);
- if(isset($info['length2']))
- $this->_out('/Length2 '.$info['length2'].' /Length3 0');
- $this->_out('>>');
- $this->_putstream($font);
- $this->_out('endobj');
- }
- set_magic_quotes_runtime($mqr);
- foreach($this->fonts as $k=>$font)
- {
- //Font objects
- $this->fonts[$k]['n']=$this->n+1;
- $type=$font['type'];
- $name=$font['name'];
- if($type=='core')
- {
- //Standard font
- $this->_newobj();
- $this->_out('<_out('/BaseFont /'.$name);
- $this->_out('/Subtype /Type1');
- if($name!='Symbol' && $name!='ZapfDingbats')
- $this->_out('/Encoding /WinAnsiEncoding');
- $this->_out('>>');
- $this->_out('endobj');
- }
- elseif($type=='Type1' || $type=='TrueType')
- {
- //Additional Type1 or TrueType font
- $this->_newobj();
- $this->_out('<_out('/BaseFont /'.$name);
- $this->_out('/Subtype /'.$type);
- $this->_out('/FirstChar 32 /LastChar 255');
- $this->_out('/Widths '.($this->n+1).' 0 R');
- $this->_out('/FontDescriptor '.($this->n+2).' 0 R');
- if($font['enc'])
- {
- if(isset($font['diff']))
- $this->_out('/Encoding '.($nf+$font['diff']).' 0 R');
- else
- $this->_out('/Encoding /WinAnsiEncoding');
- }
- $this->_out('>>');
- $this->_out('endobj');
- //Widths
- $this->_newobj();
- $cw=&$font['cw'];
- $s='[';
- for($i=32;$i<=255;$i++)
- $s.=$cw[chr($i)].' ';
- $this->_out($s.']');
- $this->_out('endobj');
- //Descriptor
- $this->_newobj();
- $s='<$v)
- $s.=' /'.$k.' '.$v;
- $file=$font['file'];
- if($file)
- $s.=' /FontFile'.($type=='Type1' ? '' : '2').' '.$this->FontFiles[$file]['n'].' 0 R';
- $this->_out($s.'>>');
- $this->_out('endobj');
- }
- else
- {
- //Allow for additional types
- $mtd='_put'.strtolower($type);
- if(!method_exists($this,$mtd))
- $this->Error('Unsupported font type: '.$type);
- $this->$mtd($font);
- }
- }
-}
-
-function _putimages()
-{
- $filter=($this->compress) ? '/Filter /FlateDecode ' : '';
- reset($this->images);
- while(list($file,$info)=each($this->images))
- {
- $this->_newobj();
- $this->images[$file]['n']=$this->n;
- $this->_out('<_out('/Subtype /Image');
- $this->_out('/Width '.$info['w']);
- $this->_out('/Height '.$info['h']);
- if($info['cs']=='Indexed')
- $this->_out('/ColorSpace [/Indexed /DeviceRGB '.(strlen($info['pal'])/3-1).' '.($this->n+1).' 0 R]');
- else
- {
- $this->_out('/ColorSpace /'.$info['cs']);
- if($info['cs']=='DeviceCMYK')
- $this->_out('/Decode [1 0 1 0 1 0 1 0]');
- }
- $this->_out('/BitsPerComponent '.$info['bpc']);
- if(isset($info['f']))
- $this->_out('/Filter /'.$info['f']);
- if(isset($info['parms']))
- $this->_out($info['parms']);
- if(isset($info['trns']) && is_array($info['trns']))
- {
- $trns='';
- for($i=0;$i_out('/Mask ['.$trns.']');
- }
- $this->_out('/Length '.strlen($info['data']).'>>');
- $this->_putstream($info['data']);
- unset($this->images[$file]['data']);
- $this->_out('endobj');
- //Palette
- if($info['cs']=='Indexed')
- {
- $this->_newobj();
- $pal=($this->compress) ? gzcompress($info['pal']) : $info['pal'];
- $this->_out('<<'.$filter.'/Length '.strlen($pal).'>>');
- $this->_putstream($pal);
- $this->_out('endobj');
- }
- }
-}
-
-function _putxobjectdict()
-{
- foreach($this->images as $image)
- $this->_out('/I'.$image['i'].' '.$image['n'].' 0 R');
-}
-
-function _putresourcedict()
-{
- $this->_out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]');
- $this->_out('/Font <<');
- foreach($this->fonts as $font)
- $this->_out('/F'.$font['i'].' '.$font['n'].' 0 R');
- $this->_out('>>');
- $this->_out('/XObject <<');
- $this->_putxobjectdict();
- $this->_out('>>');
-}
-
-function _putresources()
-{
- $this->_putfonts();
- $this->_putimages();
- //Resource dictionary
- $this->offsets[2]=strlen($this->buffer);
- $this->_out('2 0 obj');
- $this->_out('<<');
- $this->_putresourcedict();
- $this->_out('>>');
- $this->_out('endobj');
-}
-
-function _putinfo()
-{
- $this->_out('/Producer '.$this->_textstring('FPDF '.FPDF_VERSION));
- if(!empty($this->title))
- $this->_out('/Title '.$this->_textstring($this->title));
- if(!empty($this->subject))
- $this->_out('/Subject '.$this->_textstring($this->subject));
- if(!empty($this->author))
- $this->_out('/Author '.$this->_textstring($this->author));
- if(!empty($this->keywords))
- $this->_out('/Keywords '.$this->_textstring($this->keywords));
- if(!empty($this->creator))
- $this->_out('/Creator '.$this->_textstring($this->creator));
- $this->_out('/CreationDate '.$this->_textstring('D:'.date('YmdHis')));
-}
-
-function _putcatalog()
-{
- $this->_out('/Type /Catalog');
- $this->_out('/Pages 1 0 R');
- if($this->ZoomMode=='fullpage')
- $this->_out('/OpenAction [3 0 R /Fit]');
- elseif($this->ZoomMode=='fullwidth')
- $this->_out('/OpenAction [3 0 R /FitH null]');
- elseif($this->ZoomMode=='real')
- $this->_out('/OpenAction [3 0 R /XYZ null null 1]');
- elseif(!is_string($this->ZoomMode))
- $this->_out('/OpenAction [3 0 R /XYZ null null '.($this->ZoomMode/100).']');
- if($this->LayoutMode=='single')
- $this->_out('/PageLayout /SinglePage');
- elseif($this->LayoutMode=='continuous')
- $this->_out('/PageLayout /OneColumn');
- elseif($this->LayoutMode=='two')
- $this->_out('/PageLayout /TwoColumnLeft');
-}
-
-function _putheader()
-{
- $this->_out('%PDF-'.$this->PDFVersion);
-}
-
-function _puttrailer()
-{
- $this->_out('/Size '.($this->n+1));
- $this->_out('/Root '.$this->n.' 0 R');
- $this->_out('/Info '.($this->n-1).' 0 R');
-}
-
-function _enddoc()
-{
- $this->_putheader();
- $this->_putpages();
- $this->_putresources();
- //Info
- $this->_newobj();
- $this->_out('<<');
- $this->_putinfo();
- $this->_out('>>');
- $this->_out('endobj');
- //Catalog
- $this->_newobj();
- $this->_out('<<');
- $this->_putcatalog();
- $this->_out('>>');
- $this->_out('endobj');
- //Cross-ref
- $o=strlen($this->buffer);
- $this->_out('xref');
- $this->_out('0 '.($this->n+1));
- $this->_out('0000000000 65535 f ');
- for($i=1;$i<=$this->n;$i++)
- $this->_out(sprintf('%010d 00000 n ',$this->offsets[$i]));
- //Trailer
- $this->_out('trailer');
- $this->_out('<<');
- $this->_puttrailer();
- $this->_out('>>');
- $this->_out('startxref');
- $this->_out($o);
- $this->_out('%%EOF');
- $this->state=3;
-}
-
-function _beginpage($orientation)
-{
- $this->page++;
- $this->pages[$this->page]='';
- $this->state=2;
- $this->x=$this->lMargin;
- $this->y=$this->tMargin;
- $this->FontFamily='';
- //Page orientation
- if(!$orientation)
- $orientation=$this->DefOrientation;
- else
- {
- $orientation=strtoupper($orientation{0});
- if($orientation!=$this->DefOrientation)
- $this->OrientationChanges[$this->page]=true;
- }
- if($orientation!=$this->CurOrientation)
- {
- //Change orientation
- if($orientation=='P')
- {
- $this->wPt=$this->fwPt;
- $this->hPt=$this->fhPt;
- $this->w=$this->fw;
- $this->h=$this->fh;
- }
- else
- {
- $this->wPt=$this->fhPt;
- $this->hPt=$this->fwPt;
- $this->w=$this->fh;
- $this->h=$this->fw;
- }
- $this->PageBreakTrigger=$this->h-$this->bMargin;
- $this->CurOrientation=$orientation;
- }
-}
-
-function _endpage()
-{
- //End of page contents
- $this->state=1;
-}
-
-function _newobj()
-{
- //Begin a new object
- $this->n++;
- $this->offsets[$this->n]=strlen($this->buffer);
- $this->_out($this->n.' 0 obj');
-}
-
-function _dounderline($x,$y,$txt)
-{
- //Underline text
- $up=$this->CurrentFont['up'];
- $ut=$this->CurrentFont['ut'];
- $w=$this->GetStringWidth($txt)+$this->ws*substr_count($txt,' ');
- return sprintf('%.2f %.2f %.2f %.2f re f',$x*$this->k,($this->h-($y-$up/1000*$this->FontSize))*$this->k,$w*$this->k,-$ut/1000*$this->FontSizePt);
-}
-
-function _parsejpg($file)
-{
- //Extract info from a JPEG file
- $a=GetImageSize($file);
- if(!$a)
- $this->Error('Missing or incorrect image file: '.$file);
- if($a[2]!=2)
- $this->Error('Not a JPEG file: '.$file);
- if(!isset($a['channels']) || $a['channels']==3)
- $colspace='DeviceRGB';
- elseif($a['channels']==4)
- $colspace='DeviceCMYK';
- else
- $colspace='DeviceGray';
- $bpc=isset($a['bits']) ? $a['bits'] : 8;
- //Read whole file
- $f=fopen($file,'rb');
- $data='';
- while(!feof($f))
- $data.=fread($f,4096);
- fclose($f);
- return array('w'=>$a[0],'h'=>$a[1],'cs'=>$colspace,'bpc'=>$bpc,'f'=>'DCTDecode','data'=>$data);
-}
-
-function _parsepng($file)
-{
- //Extract info from a PNG file
- $f=fopen($file,'rb');
- if(!$f)
- $this->Error('Can\'t open image file: '.$file);
- //Check signature
- if(fread($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10))
- $this->Error('Not a PNG file: '.$file);
- //Read header chunk
- fread($f,4);
- if(fread($f,4)!='IHDR')
- $this->Error('Incorrect PNG file: '.$file);
- $w=$this->_freadint($f);
- $h=$this->_freadint($f);
- $bpc=ord(fread($f,1));
- if($bpc>8)
- $this->Error('16-bit depth not supported: '.$file);
- $ct=ord(fread($f,1));
- if($ct==0)
- $colspace='DeviceGray';
- elseif($ct==2)
- $colspace='DeviceRGB';
- elseif($ct==3)
- $colspace='Indexed';
- else
- $colspace = '';
- //$this->Error('Alpha channel not supported: '.$file);
- if(ord(fread($f,1))!=0)
- $this->Error('Unknown compression method: '.$file);
- if(ord(fread($f,1))!=0)
- $this->Error('Unknown filter method: '.$file);
- if(ord(fread($f,1))!=0)
- $this->Error('Interlacing not supported: '.$file);
- fread($f,4);
- $parms='/DecodeParms <>';
- //Scan chunks looking for palette, transparency and image data
- $pal='';
- $trns='';
- $data='';
- do
- {
- $n=$this->_freadint($f);
- $type=fread($f,4);
- if($type=='PLTE')
- {
- //Read palette
- $pal=fread($f,$n);
- fread($f,4);
- }
- elseif($type=='tRNS')
- {
- //Read transparency info
- $t=fread($f,$n);
- if($ct==0)
- $trns=array(ord(substr($t,1,1)));
- elseif($ct==2)
- $trns=array(ord(substr($t,1,1)),ord(substr($t,3,1)),ord(substr($t,5,1)));
- else
- {
- $pos=strpos($t,chr(0));
- if($pos!==false)
- $trns=array($pos);
- }
- fread($f,4);
- }
- elseif($type=='IDAT')
- {
- //Read image data block
- $data.=fread($f,$n);
- fread($f,4);
- }
- elseif($type=='IEND')
- break;
- else
- fread($f,$n+4);
- }
- while($n);
- if($colspace=='Indexed' && empty($pal))
- $this->Error('Missing palette in '.$file);
- fclose($f);
- if($colspace!=''){
- return array('w'=>$w,'h'=>$h,'cs'=>$colspace,'bpc'=>$bpc,'f'=>'FlateDecode','parms'=>$parms,'pal'=>$pal,'trns'=>$trns,'data'=>$data);
- }else{
- return;
- }
-}
-
-function _freadint($f)
-{
- //Read a 4-byte integer from file
- $a=unpack('Ni',fread($f,4));
- return $a['i'];
-}
-
-function _textstring($s)
-{
- //Format a text string
- return '('.$this->_escape($s).')';
-}
-
-function _escape($s)
-{
- //Add \ before \, ( and )
- return str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$s)));
-}
-
-function _putstream($s)
-{
- $this->_out('stream');
- $this->_out($s);
- $this->_out('endstream');
-}
-
-function _out($s)
-{
- //Add a line to the document
- if($this->state==2)
- $this->pages[$this->page].=$s."\n";
- else
- $this->buffer.=$s."\n";
-}
-//End of class
-}
-
-//Handle special IE contype request
-if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']=='contype')
-{
- Header('Pragma: public');
- header('Content-Type: application/pdf');
- exit;
-}
-
-}
-?>
diff --git a/e107_plugins/pdf/languages/English_admin_pdf.php b/e107_plugins/pdf/languages/English_admin_pdf.php
index 6d0c6f401..b09953255 100644
--- a/e107_plugins/pdf/languages/English_admin_pdf.php
+++ b/e107_plugins/pdf/languages/English_admin_pdf.php
@@ -4,14 +4,14 @@
| e107 website system - Language File.
|
| $Source: /cvs_backup/e107_0.8/e107_plugins/pdf/languages/English_admin_pdf.php,v $
-| $Revision: 1.1 $
-| $Date: 2008-12-21 12:03:28 $
+| $Revision: 1.2 $
+| $Date: 2009-12-05 12:33:30 $
| $Author: e107steved $
+-----------------------------------------------------------------------------+
*/
define("PDF_PLUGIN_LAN_1", "PDF");
-define("PDF_PLUGIN_LAN_2", "PDF creation support");
+define("PDF_PLUGIN_LAN_2", "PDF creation support using TCPDF");
define("PDF_PLUGIN_LAN_3", "PDF");
define("PDF_PLUGIN_LAN_4", "This plugin is now ready to be used.");
diff --git a/e107_plugins/pdf/pdf.php b/e107_plugins/pdf/pdf.php
index a4631a154..e512859ef 100644
--- a/e107_plugins/pdf/pdf.php
+++ b/e107_plugins/pdf/pdf.php
@@ -9,64 +9,60 @@
* Plugin - PDF Generator
*
* $Source: /cvs_backup/e107_0.8/e107_plugins/pdf/pdf.php,v $
- * $Revision: 1.4 $
- * $Date: 2009-11-18 01:05:53 $
- * $Author: e107coders $
+ * $Revision: 1.5 $
+ * $Date: 2009-12-05 12:33:30 $
+ * $Author: e107steved $
*
*/
-require_once("../../class2.php");
-if (!plugInstalled('pdf') || !e_QUERY)
-{
- header("location:".e_BASE."index.php");
- exit;
-}
-$qs = explode(".", e_QUERY,2);
+require_once('../../class2.php');
+$e107 = e107::getInstance();
+if (!$e107->isInstalled('calendar_menu') || !e_QUERY) header('Location: '.e_BASE.'index.php');
+
+$qs = explode('.', e_QUERY,2);
$source = $qs[0];
$parms = varset($qs[1],'');
-include_lan(e_PLUGIN.'pdf/languages/English_admin_pdf.php');
+include_lan(e_PLUGIN.'pdf/languages/'.e_LANGUAGE.'_admin_pdf.php');
-define('FPDF_FONTPATH', 'font/');
-require_once(e_PLUGIN.'pdf/ufpdf.php'); //require the ufpdf class
+require_once(e_PLUGIN.'pdf/tcpdf.php'); //require the ufpdf class
require_once(e_PLUGIN.'pdf/e107pdf.php'); //require the e107pdf class
$pdf = new e107PDF();
if(strpos($source,'plugin:') !== FALSE)
{
$plugin = substr($source,7);
- if(file_exists(e_PLUGIN.$plugin."/e_emailprint.php"))
+ if(file_exists(e_PLUGIN.$plugin.'/e_emailprint.php'))
{
- include_once(e_PLUGIN.$plugin."/e_emailprint.php");
+ include_once(e_PLUGIN.$plugin.'/e_emailprint.php');
$text = print_item_pdf($parms);
$pdf->makePDF($text);
}
else
{
- echo "file missing.";
+ echo 'file missing: '.e_PLUGIN.$plugin.'/e_emailprint.php';
exit;
}
}
else
{
-
if($source == 'news')
{
$con = new convert;
- $sql->db_Select("news", "*", "news_id='".intval($parms)."'");
+ $sql->db_Select('news', '*', 'news_id='.intval($parms));
$row = $sql->db_Fetch();
$news_body = $tp->toHTML($row['news_body'], TRUE);
$news_extended = $tp->toHTML($row['news_extended'], TRUE);
if ($row['news_author'] == 0)
{
- $a_name = "e107";
- $category_name = "e107 welcome message";
+ $a_name = 'e107';
+ $category_name = 'e107 welcome message';
}
else
{
- $sql->db_Select("news_category", "category_id, category_name", "category_id='".intval($row['news_category'])."'");
+ $sql->db_Select('news_category', 'category_id, category_name', 'category_id='.intval($row['news_category']));
list($category_id, $category_name) = $sql->db_Fetch();
- $sql->db_Select("user", "user_id, user_name", "user_id='".intval($row['news_author'])."'");
- list($a_id, $a_name) = $sql->db_Fetch();
+ $sql->db_Select('user', 'user_id, user_name', 'user_id='.intval($row['news_author']));
+ list($a_id, $a_name) = $sql->db_Fetch(MYSQL_NUM);
}
$row['news_datestamp'] = $con->convert_date($row['news_datestamp'], "long");
@@ -104,10 +100,10 @@ else
$author = $a_name; //define author
$title = $row['news_title']; //define title
$subject = $category_name; //define subject
- $keywords = ""; //define keywords
+ $keywords = ''; //define keywords
//define url and logo to use in the header of the pdf file
- $url = SITEURL."news.php?item.".$row['news_id'];
+ $url = SITEURL.'news.php?item.'.$row['news_id'];
//always return an array with the following data:
$text = array($text, $creator, $author, $title, $subject, $keywords, $url);
diff --git a/e107_plugins/pdf/plugin.xml b/e107_plugins/pdf/plugin.xml
index 290bbcbef..b426f130e 100644
--- a/e107_plugins/pdf/plugin.xml
+++ b/e107_plugins/pdf/plugin.xml
@@ -1,9 +1,9 @@
-
+
-
-
+
+
PDF_PLUGIN_LAN_2
Copyright e107 Inc e107.org, Licensed under GPL (http://www.gnu.org/licenses/gpl.txt)
diff --git a/e107_plugins/pdf/ufpdf.php b/e107_plugins/pdf/ufpdf.php
deleted file mode 100644
index 4e44c4e34..000000000
--- a/e107_plugins/pdf/ufpdf.php
+++ /dev/null
@@ -1,510 +0,0 @@
- *
-* License: GPL *
-* *
-* UFPDF is a modification of FPDF to support Unicode through UTF-8. *
-* *
-*******************************************************************************/
-if (!defined('e107_INIT')) { exit; }
-
-if(!class_exists('UFPDF'))
-{
-define('UFPDF_VERSION','0.1');
-
-include_once 'fpdf.php';
-
-class UFPDF extends FPDF
-{
-
-/*******************************************************************************
-* *
-* Public methods *
-* *
-*******************************************************************************/
-function UFPDF($orientation='P',$unit='mm',$format='A4')
-{
- FPDF::FPDF($orientation, $unit, $format);
-}
-
-/*
-function GetStringWidth($s)
-{
- //Get width of a string in the current font
- $s = (string)$s;
- $codepoints=$this->utf8_to_codepoints($s);
- $cw=&$this->CurrentFont['cw'];
- $w=0;
- foreach($codepoints as $cp)
- $w+=$cw[$cp];
- return $w*$this->FontSize/1000;
-}
-*/
-function GetStringWidth($s)
-{
- //Get width of a string in the current font
- $s=(string)$s;
- $cw=&$this->CurrentFont['cw'];
- $w=0;
- $l=strlen($s);
- for($i=0;$i<$l;$i++)
- $w+=$cw[$s{$i}];
- return $w*$this->FontSize/1000;
-}
-function AddFont($family,$style='',$file='')
-{
- //Add a TrueType or Type1 font
- $family=strtolower($family);
- if($family=='arial')
- $family='helvetica';
- $style=strtoupper($style);
- if($style=='IB')
- $style='BI';
- if(isset($this->fonts[$family.$style]))
- $this->Error('Font already added: '.$family.' '.$style);
- if($file=='')
- $file=str_replace(' ','',$family).strtolower($style).'.php';
- if(defined('FPDF_FONTPATH'))
- $file=FPDF_FONTPATH.$file;
- include($file);
- if(!isset($name))
- $this->Error('Could not include font definition file');
- $i=count($this->fonts)+1;
- $this->fonts[$family.$style]=array('i'=>$i,'type'=>$type,'name'=>$name,'desc'=>$desc,'up'=>$up,'ut'=>$ut,'cw'=>$cw,'file'=>$file,'ctg'=>$ctg);
- if($file)
- {
- if($type=='TrueTypeUnicode')
- $this->FontFiles[$file]=array('length1'=>$originalsize);
- else
- $this->FontFiles[$file]=array('length1'=>$size1,'length2'=>$size2);
- }
-}
-
-function Text($x,$y,$txt)
-{
- //Output a string
- $s=sprintf('BT %.2f %.2f Td %s Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escapetext($txt));
- if($this->underline and $txt!='')
- $s.=' '.$this->_dounderline($x,$y,$this->GetStringWidth($txt),$txt);
- if($this->ColorFlag)
- $s='q '.$this->TextColor.' '.$s.' Q';
- $this->_out($s);
-}
-
-function AcceptPageBreak()
-{
- //Accept automatic page break or not
- return $this->AutoPageBreak;
-}
-
-function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='')
-{
- //Output a cell
- $k=$this->k;
- if($this->y+$h>$this->PageBreakTrigger && !$this->InFooter && $this->AcceptPageBreak())
- {
- //Automatic page break
- $x=$this->x;
- $ws=$this->ws;
- if($ws>0)
- {
- $this->ws=0;
- $this->_out('0 Tw');
- }
- $this->AddPage($this->CurOrientation);
- $this->x=$x;
- if($ws>0)
- {
- $this->ws=$ws;
- $this->_out(sprintf('%.3f Tw',$ws*$k));
- }
- }
- if($w==0)
- $w=$this->w-$this->rMargin-$this->x;
- $s='';
- if($fill==1 || $border==1)
- {
- if($fill==1)
- $op=($border==1) ? 'B' : 'f';
- else
- $op='S';
- $s=sprintf('%.2f %.2f %.2f %.2f re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op);
- }
- if(is_string($border))
- {
- $x=$this->x;
- $y=$this->y;
- if(is_int(strpos($border,'L')))
- $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k);
- if(is_int(strpos($border,'T')))
- $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k);
- if(is_int(strpos($border,'R')))
- $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
- if(is_int(strpos($border,'B')))
- $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
- }
- if($txt!='')
- {
- $x=$this->x;
- $y=$this->y;
- $width = $this->GetStringWidth($txt);
- if($align=='R')
- $dx=$w-$this->cMargin-$width;
- elseif($align=='C')
- $dx=($w-$width)/2;
- else
- $dx=$this->cMargin;
- if($this->ColorFlag)
- $s.='q '.$this->TextColor.' ';
- $txtstring=$this->_escapetext($txt);
- $s.=sprintf('BT %.2f %.2f Td %s Tj ET',($x+$dx)*$k,($this->h-($y+.5*$h+.3*$this->FontSize))*$k,$txtstring);
- if($this->underline)
- $s.=' '.$this->_dounderline($x+$dx,$y+.5*$h+.3*$this->FontSize,$width,$txt);
- if($this->ColorFlag)
- $s.=' Q';
- if($link)
- $this->Link($x+$dx,$y+.5*$h-.5*$this->FontSize,$width,$this->FontSize,$link);
- }
-
- if($s)
- $this->_out($s);
- $this->lasth=$h;
- if($ln>0)
- {
- //Go to next line
- $this->y+=$h;
- if($ln==1)
- $this->x=$this->lMargin;
- }
- else
- $this->x+=$w;
-}
-/*******************************************************************************
-* *
-* Protected methods *
-* *
-*******************************************************************************/
-
-function _puttruetypeunicode($font) {
- //Type0 Font
- $this->_newobj();
- $this->_out('<_out('/Subtype /Type0');
- $this->_out('/BaseFont /'. $font['name'] .'-UCS');
- $this->_out('/Encoding /Identity-H');
- $this->_out('/DescendantFonts ['. ($this->n + 1) .' 0 R]');
- $this->_out('>>');
- $this->_out('endobj');
-
- //CIDFont
- $this->_newobj();
- $this->_out('<_out('/Subtype /CIDFontType2');
- $this->_out('/BaseFont /'. $font['name']);
- $this->_out('/CIDSystemInfo <>');
- $this->_out('/FontDescriptor '. ($this->n + 1) .' 0 R');
- $c = 0;
- foreach ($font['cw'] as $i => $w) {
- $widths .= $i .' ['. $w.'] ';
- }
- $this->_out('/W ['. $widths .']');
- $this->_out('/CIDToGIDMap '. ($this->n + 2) .' 0 R');
- $this->_out('>>');
- $this->_out('endobj');
-
- //Font descriptor
- $this->_newobj();
- $this->_out('<_out('/FontName /'.$font['name']);
- foreach ($font['desc'] as $k => $v) {
- $s .= ' /'. $k .' '. $v;
- }
- if ($font['file']) {
- $s .= ' /FontFile2 '. $this->FontFiles[$font['file']]['n'] .' 0 R';
- }
- $this->_out($s);
- $this->_out('>>');
- $this->_out('endobj');
-
- //Embed CIDToGIDMap
- $this->_newobj();
- if(defined('FPDF_FONTPATH'))
- $file=FPDF_FONTPATH.$font['ctg'];
- else
- $file=$font['ctg'];
- $size=filesize($file);
- if(!$size)
- $this->Error('Font file not found');
- $this->_out('<_out('/Filter /FlateDecode');
- $this->_out('>>');
- $f = fopen($file,'rb');
- $this->_putstream(fread($f,$size));
- fclose($f);
- $this->_out('endobj');
-}
-
-function _dounderline($x,$y,$width,$txt)
-{
- //Underline text
- $up=$this->CurrentFont['up'];
- $ut=$this->CurrentFont['ut'];
- $w=$width+$this->ws*substr_count($txt,' ');
- return sprintf('%.2f %.2f %.2f %.2f re f',$x*$this->k,($this->h-($y-$up/1000*$this->FontSize))*$this->k,$w*$this->k,-$ut/1000*$this->FontSizePt);
-}
-
-function _textstring($s, $bom = true)
-{
- //Convert to UTF-16BE
- $s = $this->utf8_to_utf16be($s, $bom);
- //Escape necessary characters
- $trans = array(')' => '\\)', '(' => '\\(', '\\' => '\\\\');
- return '('.strtr($s, $trans).')';
-}
-
-function _escapetext($s)
-{
- //Convert to UTF-16BE
- $s = $this->utf8_to_utf16be($s, false);
- //Escape necessary characters
- $trans = array(')' => '\\)', '(' => '\\(', '\\' => '\\\\');
- return '('.strtr($s, $trans).')';
- //return strtr($s, $trans);
-}
-
-
-function _putinfo()
-{ // If present, all these fields need to be saved without BOM
- $this->_out('/Producer '.$this->_textstring('UFPDF '. UFPDF_VERSION, FALSE));
- if(!empty($this->title))
- $this->_out('/Title '.$this->_textstring($this->title, FALSE));
- if(!empty($this->subject))
- $this->_out('/Subject '.$this->_textstring($this->subject, FALSE));
- if(!empty($this->author))
- $this->_out('/Author '.$this->_textstring($this->author, FALSE));
- if(!empty($this->keywords))
- $this->_out('/Keywords '.$this->_textstring($this->keywords, FALSE));
- if(!empty($this->creator))
- $this->_out('/Creator '.$this->_textstring($this->creator, FALSE));
- $this->_out('/CreationDate '.$this->_textstring('D:'.date('YmdHis'), FALSE));
-}
-
-// UTF-8 to UTF-16BE conversion.
-// Correctly handles all illegal UTF-8 sequences.
-function utf8_to_utf16be(&$txt, $bom = true) {
- $l = strlen($txt);
- $out = $bom ? "\xFE\xFF" : '';
- for ($i = 0; $i < $l; ++$i) {
- $c = ord($txt{$i});
- // ASCII
- if ($c < 0x80) {
- //$out .= "\x00". $txt{$i};
- $out .= $txt{$i};
- }
- // Lost continuation byte
- else if ($c < 0xC0) {
- $out .= "\xFF\xFD";
- continue;
- }
- // Multibyte sequence leading byte
- else {
- if ($c < 0xE0) {
- $s = 2;
- }
- else if ($c < 0xF0) {
- $s = 3;
- }
- else if ($c < 0xF8) {
- $s = 4;
- }
- // 5/6 byte sequences not possible for Unicode.
- else {
- $out .= "\xFF\xFD";
- while (ord($txt{$i + 1}) >= 0x80 && ord($txt{$i + 1}) < 0xC0) { ++$i; }
- continue;
- }
-
- $q = array($c);
- // Fetch rest of sequence
- while (ord($txt{$i + 1}) >= 0x80 && ord($txt{$i + 1}) < 0xC0) { ++$i; $q[] = ord($txt{$i}); }
-
- // Check length
- if (count($q) != $s) {
- $out .= "\xFF\xFD";
- continue;
- }
-
- switch ($s) {
- case 2:
- $cp = (($q[0] ^ 0xC0) << 6) | ($q[1] ^ 0x80);
- // Overlong sequence
- if ($cp < 0x80) {
- $out .= "\xFF\xFD";
- }
- else {
- $out .= chr($cp >> 8);
- $out .= chr($cp & 0xFF);
- }
- continue;
-
- case 3:
- $cp = (($q[0] ^ 0xE0) << 12) | (($q[1] ^ 0x80) << 6) | ($q[2] ^ 0x80);
- // Overlong sequence
- if ($cp < 0x800) {
- $out .= "\xFF\xFD";
- }
- // Check for UTF-8 encoded surrogates (caused by a bad UTF-8 encoder)
- else if ($c > 0xD800 && $c < 0xDFFF) {
- $out .= "\xFF\xFD";
- }
- else {
- $out .= chr($cp >> 8);
- $out .= chr($cp & 0xFF);
- }
- continue;
-
- case 4:
- $cp = (($q[0] ^ 0xF0) << 18) | (($q[1] ^ 0x80) << 12) | (($q[2] ^ 0x80) << 6) | ($q[3] ^ 0x80);
- // Overlong sequence
- if ($cp < 0x10000) {
- $out .= "\xFF\xFD";
- }
- // Outside of the Unicode range
- else if ($cp >= 0x10FFFF) {
- $out .= "\xFF\xFD";
- }
- else {
- // Use surrogates
- $cp -= 0x10000;
- $s1 = 0xD800 | ($cp >> 10);
- $s2 = 0xDC00 | ($cp & 0x3FF);
-
- $out .= chr($s1 >> 8);
- $out .= chr($s1 & 0xFF);
- $out .= chr($s2 >> 8);
- $out .= chr($s2 & 0xFF);
- }
- continue;
- }
- }
- }
- return $out;
-}
-
-// UTF-8 to codepoint array conversion.
-// Correctly handles all illegal UTF-8 sequences.
-function utf8_to_codepoints(&$txt) {
- $l = strlen($txt);
- $out = array();
- for ($i = 0; $i < $l; ++$i) {
- $c = ord($txt{$i});
- // ASCII
- if ($c < 0x80) {
- $out[] = ord($txt{$i});
- }
- // Lost continuation byte
- else if ($c < 0xC0) {
- $out[] = 0xFFFD;
- continue;
- }
- // Multibyte sequence leading byte
- else {
- if ($c < 0xE0) {
- $s = 2;
- }
- else if ($c < 0xF0) {
- $s = 3;
- }
- else if ($c < 0xF8) {
- $s = 4;
- }
- // 5/6 byte sequences not possible for Unicode.
- else {
- $out[] = 0xFFFD;
- while (ord($txt{$i + 1}) >= 0x80 && ord($txt{$i + 1}) < 0xC0) { ++$i; }
- continue;
- }
-
- $q = array($c);
- // Fetch rest of sequence
- while (ord($txt{$i + 1}) >= 0x80 && ord($txt{$i + 1}) < 0xC0) { ++$i; $q[] = ord($txt{$i}); }
-
- // Check length
- if (count($q) != $s) {
- $out[] = 0xFFFD;
- continue;
- }
-
- switch ($s) {
- case 2:
- $cp = (($q[0] ^ 0xC0) << 6) | ($q[1] ^ 0x80);
- // Overlong sequence
- if ($cp < 0x80) {
- $out[] = 0xFFFD;
- }
- else {
- $out[] = $cp;
- }
- continue;
-
- case 3:
- $cp = (($q[0] ^ 0xE0) << 12) | (($q[1] ^ 0x80) << 6) | ($q[2] ^ 0x80);
- // Overlong sequence
- if ($cp < 0x800) {
- $out[] = 0xFFFD;
- }
- // Check for UTF-8 encoded surrogates (caused by a bad UTF-8 encoder)
- else if ($c > 0xD800 && $c < 0xDFFF) {
- $out[] = 0xFFFD;
- }
- else {
- $out[] = $cp;
- }
- continue;
-
- case 4:
- $cp = (($q[0] ^ 0xF0) << 18) | (($q[1] ^ 0x80) << 12) | (($q[2] ^ 0x80) << 6) | ($q[3] ^ 0x80);
- // Overlong sequence
- if ($cp < 0x10000) {
- $out[] = 0xFFFD;
- }
- // Outside of the Unicode range
- else if ($cp >= 0x10FFFF) {
- $out[] = 0xFFFD;
- }
- else {
- $out[] = $cp;
- }
- continue;
- }
- }
- }
- return $out;
-}
-
-//End of class
-}
-
-}
-?>