fhiiqm/tool/fpdf.php
author Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
Fri, 21 Dec 2012 15:31:50 +0100
changeset 33 f1a8785434e4
permissions -rw-r--r--
+ MA-Telefon-Liste, Edit MA, Telefon + Report dezentrale Anlagen + Report MA - Beziehungen
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     1
<?php
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     2
/*******************************************************************************
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     3
* FPDF                                                                         *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     4
*                                                                              *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     5
* Version: 1.7                                                                 *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     6
* Date:    2011-06-18                                                          *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     7
* Author:  Olivier PLATHEY                                                     *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     8
*******************************************************************************/
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     9
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    10
define('FPDF_VERSION','1.7');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    11
define('FPDF_FONTPATH',$_SERVER['DOCUMENT_ROOT'].'/fhiiqm/css/fpdf_font/');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    12
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    13
class FPDF
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    14
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    15
var $page;               // current page number
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    16
var $n;                  // current object number
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    17
var $offsets;            // array of object offsets
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    18
var $buffer;             // buffer holding in-memory PDF
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    19
var $pages;              // array containing pages
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    20
var $state;              // current document state
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    21
var $compress;           // compression flag
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    22
var $k;                  // scale factor (number of points in user unit)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    23
var $DefOrientation;     // default orientation
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    24
var $CurOrientation;     // current orientation
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    25
var $StdPageSizes;       // standard page sizes
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    26
var $DefPageSize;        // default page size
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    27
var $CurPageSize;        // current page size
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    28
var $PageSizes;          // used for pages with non default sizes or orientations
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    29
var $wPt, $hPt;          // dimensions of current page in points
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    30
var $w, $h;              // dimensions of current page in user unit
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    31
var $lMargin;            // left margin
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    32
var $tMargin;            // top margin
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    33
var $rMargin;            // right margin
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    34
var $bMargin;            // page break margin
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    35
var $cMargin;            // cell margin
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    36
var $x, $y;              // current position in user unit
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    37
var $lasth;              // height of last printed cell
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    38
var $LineWidth;          // line width in user unit
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    39
var $fontpath;           // path containing fonts
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    40
var $CoreFonts;          // array of core font names
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    41
var $fonts;              // array of used fonts
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    42
var $FontFiles;          // array of font files
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    43
var $diffs;              // array of encoding differences
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    44
var $FontFamily;         // current font family
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    45
var $FontStyle;          // current font style
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    46
var $underline;          // underlining flag
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    47
var $CurrentFont;        // current font info
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    48
var $FontSizePt;         // current font size in points
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    49
var $FontSize;           // current font size in user unit
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    50
var $DrawColor;          // commands for drawing color
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    51
var $FillColor;          // commands for filling color
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    52
var $TextColor;          // commands for text color
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    53
var $ColorFlag;          // indicates whether fill and text colors are different
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    54
var $ws;                 // word spacing
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    55
var $images;             // array of used images
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    56
var $PageLinks;          // array of links in pages
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    57
var $links;              // array of internal links
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    58
var $AutoPageBreak;      // automatic page breaking
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    59
var $PageBreakTrigger;   // threshold used to trigger page breaks
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    60
var $InHeader;           // flag set when processing header
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    61
var $InFooter;           // flag set when processing footer
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    62
var $ZoomMode;           // zoom display mode
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    63
var $LayoutMode;         // layout display mode
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    64
var $title;              // title
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    65
var $subject;            // subject
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    66
var $author;             // author
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    67
var $keywords;           // keywords
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    68
var $creator;            // creator
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    69
var $AliasNbPages;       // alias for total number of pages
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    70
var $PDFVersion;         // PDF version number
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    71
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    72
/*******************************************************************************
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    73
*                                                                              *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    74
*                               Public methods                                 *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    75
*                                                                              *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    76
*******************************************************************************/
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    77
function FPDF($orientation='P', $unit='mm', $size='A4')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    78
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    79
	// Some checks
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    80
	$this->_dochecks();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    81
	// Initialization of properties
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    82
	$this->page = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    83
	$this->n = 2;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    84
	$this->buffer = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    85
	$this->pages = array();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    86
	$this->PageSizes = array();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    87
	$this->state = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    88
	$this->fonts = array();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    89
	$this->FontFiles = array();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    90
	$this->diffs = array();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    91
	$this->images = array();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    92
	$this->links = array();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    93
	$this->InHeader = false;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    94
	$this->InFooter = false;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    95
	$this->lasth = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    96
	$this->FontFamily = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    97
	$this->FontStyle = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    98
	$this->FontSizePt = 12;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    99
	$this->underline = false;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   100
	$this->DrawColor = '0 G';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   101
	$this->FillColor = '0 g';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   102
	$this->TextColor = '0 g';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   103
	$this->ColorFlag = false;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   104
	$this->ws = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   105
	// Font path
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   106
	if(defined('FPDF_FONTPATH'))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   107
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   108
		$this->fontpath = FPDF_FONTPATH;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   109
		if(substr($this->fontpath,-1)!='/' && substr($this->fontpath,-1)!='\\')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   110
			$this->fontpath .= '/';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   111
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   112
	elseif(is_dir(dirname(__FILE__).'/font'))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   113
		$this->fontpath = dirname(__FILE__).'/font/';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   114
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   115
		$this->fontpath = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   116
	// Core fonts
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   117
	$this->CoreFonts = array('courier', 'helvetica', 'times', 'symbol', 'zapfdingbats');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   118
	// Scale factor
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   119
	if($unit=='pt')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   120
		$this->k = 1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   121
	elseif($unit=='mm')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   122
		$this->k = 72/25.4;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   123
	elseif($unit=='cm')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   124
		$this->k = 72/2.54;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   125
	elseif($unit=='in')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   126
		$this->k = 72;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   127
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   128
		$this->Error('Incorrect unit: '.$unit);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   129
	// Page sizes
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   130
	$this->StdPageSizes = array('a3'=>array(841.89,1190.55), 'a4'=>array(595.28,841.89), 'a5'=>array(420.94,595.28),
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   131
		'letter'=>array(612,792), 'legal'=>array(612,1008));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   132
	$size = $this->_getpagesize($size);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   133
	$this->DefPageSize = $size;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   134
	$this->CurPageSize = $size;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   135
	// Page orientation
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   136
	$orientation = strtolower($orientation);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   137
	if($orientation=='p' || $orientation=='portrait')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   138
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   139
		$this->DefOrientation = 'P';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   140
		$this->w = $size[0];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   141
		$this->h = $size[1];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   142
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   143
	elseif($orientation=='l' || $orientation=='landscape')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   144
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   145
		$this->DefOrientation = 'L';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   146
		$this->w = $size[1];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   147
		$this->h = $size[0];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   148
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   149
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   150
		$this->Error('Incorrect orientation: '.$orientation);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   151
	$this->CurOrientation = $this->DefOrientation;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   152
	$this->wPt = $this->w*$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   153
	$this->hPt = $this->h*$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   154
	// Page margins (1 cm)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   155
	$margin = 28.35/$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   156
	$this->SetMargins($margin,$margin);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   157
	// Interior cell margin (1 mm)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   158
	$this->cMargin = $margin/10;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   159
	// Line width (0.2 mm)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   160
	$this->LineWidth = .567/$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   161
	// Automatic page break
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   162
	$this->SetAutoPageBreak(true,2*$margin);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   163
	// Default display mode
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   164
	$this->SetDisplayMode('default');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   165
	// Enable compression
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   166
	$this->SetCompression(true);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   167
	// Set default PDF version number
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   168
	$this->PDFVersion = '1.3';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   169
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   170
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   171
function SetMargins($left, $top, $right=null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   172
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   173
	// Set left, top and right margins
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   174
	$this->lMargin = $left;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   175
	$this->tMargin = $top;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   176
	if($right===null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   177
		$right = $left;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   178
	$this->rMargin = $right;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   179
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   180
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   181
function SetLeftMargin($margin)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   182
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   183
	// Set left margin
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   184
	$this->lMargin = $margin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   185
	if($this->page>0 && $this->x<$margin)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   186
		$this->x = $margin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   187
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   188
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   189
function SetTopMargin($margin)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   190
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   191
	// Set top margin
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   192
	$this->tMargin = $margin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   193
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   194
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   195
function SetRightMargin($margin)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   196
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   197
	// Set right margin
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   198
	$this->rMargin = $margin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   199
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   200
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   201
function SetAutoPageBreak($auto, $margin=0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   202
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   203
	// Set auto page break mode and triggering margin
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   204
	$this->AutoPageBreak = $auto;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   205
	$this->bMargin = $margin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   206
	$this->PageBreakTrigger = $this->h-$margin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   207
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   208
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   209
function SetDisplayMode($zoom, $layout='default')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   210
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   211
	// Set display mode in viewer
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   212
	if($zoom=='fullpage' || $zoom=='fullwidth' || $zoom=='real' || $zoom=='default' || !is_string($zoom))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   213
		$this->ZoomMode = $zoom;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   214
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   215
		$this->Error('Incorrect zoom display mode: '.$zoom);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   216
	if($layout=='single' || $layout=='continuous' || $layout=='two' || $layout=='default')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   217
		$this->LayoutMode = $layout;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   218
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   219
		$this->Error('Incorrect layout display mode: '.$layout);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   220
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   221
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   222
function SetCompression($compress)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   223
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   224
	// Set page compression
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   225
	if(function_exists('gzcompress'))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   226
		$this->compress = $compress;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   227
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   228
		$this->compress = false;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   229
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   230
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   231
function SetTitle($title, $isUTF8=false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   232
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   233
	// Title of document
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   234
	if($isUTF8)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   235
		$title = $this->_UTF8toUTF16($title);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   236
	$this->title = $title;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   237
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   238
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   239
function SetSubject($subject, $isUTF8=false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   240
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   241
	// Subject of document
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   242
	if($isUTF8)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   243
		$subject = $this->_UTF8toUTF16($subject);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   244
	$this->subject = $subject;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   245
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   246
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   247
function SetAuthor($author, $isUTF8=false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   248
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   249
	// Author of document
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   250
	if($isUTF8)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   251
		$author = $this->_UTF8toUTF16($author);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   252
	$this->author = $author;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   253
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   254
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   255
function SetKeywords($keywords, $isUTF8=false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   256
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   257
	// Keywords of document
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   258
	if($isUTF8)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   259
		$keywords = $this->_UTF8toUTF16($keywords);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   260
	$this->keywords = $keywords;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   261
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   262
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   263
function SetCreator($creator, $isUTF8=false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   264
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   265
	// Creator of document
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   266
	if($isUTF8)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   267
		$creator = $this->_UTF8toUTF16($creator);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   268
	$this->creator = $creator;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   269
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   270
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   271
function AliasNbPages($alias='{nb}')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   272
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   273
	// Define an alias for total number of pages
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   274
	$this->AliasNbPages = $alias;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   275
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   276
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   277
function Error($msg)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   278
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   279
	// Fatal error
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   280
	die('<b>FPDF error:</b> '.$msg);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   281
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   282
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   283
function Open()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   284
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   285
	// Begin document
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   286
	$this->state = 1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   287
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   288
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   289
function Close()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   290
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   291
	// Terminate document
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   292
	if($this->state==3)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   293
		return;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   294
	if($this->page==0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   295
		$this->AddPage();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   296
	// Page footer
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   297
	$this->InFooter = true;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   298
	$this->Footer();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   299
	$this->InFooter = false;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   300
	// Close page
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   301
	$this->_endpage();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   302
	// Close document
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   303
	$this->_enddoc();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   304
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   305
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   306
function AddPage($orientation='', $size='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   307
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   308
	// Start a new page
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   309
	if($this->state==0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   310
		$this->Open();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   311
	$family = $this->FontFamily;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   312
	$style = $this->FontStyle.($this->underline ? 'U' : '');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   313
	$fontsize = $this->FontSizePt;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   314
	$lw = $this->LineWidth;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   315
	$dc = $this->DrawColor;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   316
	$fc = $this->FillColor;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   317
	$tc = $this->TextColor;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   318
	$cf = $this->ColorFlag;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   319
	if($this->page>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   320
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   321
		// Page footer
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   322
		$this->InFooter = true;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   323
		$this->Footer();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   324
		$this->InFooter = false;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   325
		// Close page
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   326
		$this->_endpage();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   327
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   328
	// Start new page
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   329
	$this->_beginpage($orientation,$size);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   330
	// Set line cap style to square
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   331
	$this->_out('2 J');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   332
	// Set line width
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   333
	$this->LineWidth = $lw;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   334
	$this->_out(sprintf('%.2F w',$lw*$this->k));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   335
	// Set font
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   336
	if($family)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   337
		$this->SetFont($family,$style,$fontsize);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   338
	// Set colors
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   339
	$this->DrawColor = $dc;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   340
	if($dc!='0 G')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   341
		$this->_out($dc);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   342
	$this->FillColor = $fc;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   343
	if($fc!='0 g')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   344
		$this->_out($fc);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   345
	$this->TextColor = $tc;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   346
	$this->ColorFlag = $cf;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   347
	// Page header
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   348
	$this->InHeader = true;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   349
	$this->Header();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   350
	$this->InHeader = false;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   351
	// Restore line width
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   352
	if($this->LineWidth!=$lw)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   353
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   354
		$this->LineWidth = $lw;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   355
		$this->_out(sprintf('%.2F w',$lw*$this->k));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   356
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   357
	// Restore font
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   358
	if($family)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   359
		$this->SetFont($family,$style,$fontsize);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   360
	// Restore colors
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   361
	if($this->DrawColor!=$dc)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   362
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   363
		$this->DrawColor = $dc;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   364
		$this->_out($dc);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   365
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   366
	if($this->FillColor!=$fc)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   367
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   368
		$this->FillColor = $fc;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   369
		$this->_out($fc);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   370
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   371
	$this->TextColor = $tc;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   372
	$this->ColorFlag = $cf;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   373
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   374
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   375
function Header()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   376
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   377
	// To be implemented in your own inherited class
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   378
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   379
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   380
function Footer()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   381
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   382
	// To be implemented in your own inherited class
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   383
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   384
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   385
function PageNo()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   386
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   387
	// Get current page number
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   388
	return $this->page;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   389
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   390
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   391
function SetDrawColor($r, $g=null, $b=null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   392
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   393
	// Set color for all stroking operations
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   394
	if(($r==0 && $g==0 && $b==0) || $g===null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   395
		$this->DrawColor = sprintf('%.3F G',$r/255);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   396
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   397
		$this->DrawColor = sprintf('%.3F %.3F %.3F RG',$r/255,$g/255,$b/255);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   398
	if($this->page>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   399
		$this->_out($this->DrawColor);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   400
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   401
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   402
function SetFillColor($r, $g=null, $b=null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   403
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   404
	// Set color for all filling operations
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   405
	if(($r==0 && $g==0 && $b==0) || $g===null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   406
		$this->FillColor = sprintf('%.3F g',$r/255);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   407
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   408
		$this->FillColor = sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   409
	$this->ColorFlag = ($this->FillColor!=$this->TextColor);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   410
	if($this->page>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   411
		$this->_out($this->FillColor);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   412
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   413
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   414
function SetTextColor($r, $g=null, $b=null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   415
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   416
	// Set color for text
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   417
	if(($r==0 && $g==0 && $b==0) || $g===null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   418
		$this->TextColor = sprintf('%.3F g',$r/255);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   419
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   420
		$this->TextColor = sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   421
	$this->ColorFlag = ($this->FillColor!=$this->TextColor);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   422
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   423
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   424
function GetStringWidth($s)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   425
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   426
	// Get width of a string in the current font
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   427
	$s = (string)$s;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   428
	$cw = &$this->CurrentFont['cw'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   429
	$w = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   430
	$l = strlen($s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   431
	for($i=0;$i<$l;$i++)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   432
		$w += $cw[$s[$i]];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   433
	return $w*$this->FontSize/1000;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   434
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   435
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   436
function SetLineWidth($width)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   437
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   438
	// Set line width
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   439
	$this->LineWidth = $width;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   440
	if($this->page>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   441
		$this->_out(sprintf('%.2F w',$width*$this->k));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   442
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   443
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   444
function Line($x1, $y1, $x2, $y2)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   445
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   446
	// Draw a line
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   447
	$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));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   448
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   449
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   450
function Rect($x, $y, $w, $h, $style='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   451
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   452
	// Draw a rectangle
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   453
	if($style=='F')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   454
		$op = 'f';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   455
	elseif($style=='FD' || $style=='DF')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   456
		$op = 'B';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   457
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   458
		$op = 'S';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   459
	$this->_out(sprintf('%.2F %.2F %.2F %.2F re %s',$x*$this->k,($this->h-$y)*$this->k,$w*$this->k,-$h*$this->k,$op));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   460
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   461
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   462
function AddFont($family, $style='', $file='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   463
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   464
	// Add a TrueType, OpenType or Type1 font
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   465
	$family = strtolower($family);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   466
	if($file=='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   467
		$file = str_replace(' ','',$family).strtolower($style).'.php';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   468
	$style = strtoupper($style);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   469
	if($style=='IB')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   470
		$style = 'BI';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   471
	$fontkey = $family.$style;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   472
	if(isset($this->fonts[$fontkey]))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   473
		return;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   474
	$info = $this->_loadfont($file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   475
	$info['i'] = count($this->fonts)+1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   476
	if(!empty($info['diff']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   477
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   478
		// Search existing encodings
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   479
		$n = array_search($info['diff'],$this->diffs);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   480
		if(!$n)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   481
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   482
			$n = count($this->diffs)+1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   483
			$this->diffs[$n] = $info['diff'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   484
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   485
		$info['diffn'] = $n;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   486
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   487
	if(!empty($info['file']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   488
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   489
		// Embedded font
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   490
		if($info['type']=='TrueType')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   491
			$this->FontFiles[$info['file']] = array('length1'=>$info['originalsize']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   492
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   493
			$this->FontFiles[$info['file']] = array('length1'=>$info['size1'], 'length2'=>$info['size2']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   494
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   495
	$this->fonts[$fontkey] = $info;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   496
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   497
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   498
function SetFont($family, $style='', $size=0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   499
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   500
	// Select a font; size given in points
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   501
	if($family=='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   502
		$family = $this->FontFamily;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   503
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   504
		$family = strtolower($family);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   505
	$style = strtoupper($style);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   506
	if(strpos($style,'U')!==false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   507
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   508
		$this->underline = true;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   509
		$style = str_replace('U','',$style);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   510
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   511
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   512
		$this->underline = false;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   513
	if($style=='IB')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   514
		$style = 'BI';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   515
	if($size==0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   516
		$size = $this->FontSizePt;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   517
	// Test if font is already selected
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   518
	if($this->FontFamily==$family && $this->FontStyle==$style && $this->FontSizePt==$size)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   519
		return;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   520
	// Test if font is already loaded
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   521
	$fontkey = $family.$style;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   522
	if(!isset($this->fonts[$fontkey]))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   523
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   524
		// Test if one of the core fonts
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   525
		if($family=='arial')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   526
			$family = 'helvetica';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   527
		if(in_array($family,$this->CoreFonts))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   528
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   529
			if($family=='symbol' || $family=='zapfdingbats')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   530
				$style = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   531
			$fontkey = $family.$style;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   532
			if(!isset($this->fonts[$fontkey]))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   533
				$this->AddFont($family,$style);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   534
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   535
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   536
			$this->Error('Undefined font: '.$family.' '.$style);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   537
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   538
	// Select it
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   539
	$this->FontFamily = $family;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   540
	$this->FontStyle = $style;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   541
	$this->FontSizePt = $size;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   542
	$this->FontSize = $size/$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   543
	$this->CurrentFont = &$this->fonts[$fontkey];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   544
	if($this->page>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   545
		$this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   546
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   547
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   548
function SetFontSize($size)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   549
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   550
	// Set font size in points
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   551
	if($this->FontSizePt==$size)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   552
		return;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   553
	$this->FontSizePt = $size;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   554
	$this->FontSize = $size/$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   555
	if($this->page>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   556
		$this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   557
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   558
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   559
function AddLink()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   560
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   561
	// Create a new internal link
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   562
	$n = count($this->links)+1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   563
	$this->links[$n] = array(0, 0);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   564
	return $n;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   565
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   566
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   567
function SetLink($link, $y=0, $page=-1)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   568
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   569
	// Set destination of internal link
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   570
	if($y==-1)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   571
		$y = $this->y;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   572
	if($page==-1)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   573
		$page = $this->page;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   574
	$this->links[$link] = array($page, $y);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   575
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   576
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   577
function Link($x, $y, $w, $h, $link)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   578
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   579
	// Put a link on the page
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   580
	$this->PageLinks[$this->page][] = array($x*$this->k, $this->hPt-$y*$this->k, $w*$this->k, $h*$this->k, $link);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   581
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   582
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   583
function Text($x, $y, $txt)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   584
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   585
	// Output a string
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   586
	$s = sprintf('BT %.2F %.2F Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   587
	if($this->underline && $txt!='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   588
		$s .= ' '.$this->_dounderline($x,$y,$txt);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   589
	if($this->ColorFlag)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   590
		$s = 'q '.$this->TextColor.' '.$s.' Q';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   591
	$this->_out($s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   592
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   593
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   594
function AcceptPageBreak()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   595
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   596
	// Accept automatic page break or not
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   597
	return $this->AutoPageBreak;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   598
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   599
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   600
function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   601
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   602
	// Output a cell
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   603
	$k = $this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   604
	if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak())
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   605
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   606
		// Automatic page break
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   607
		$x = $this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   608
		$ws = $this->ws;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   609
		if($ws>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   610
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   611
			$this->ws = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   612
			$this->_out('0 Tw');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   613
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   614
		$this->AddPage($this->CurOrientation,$this->CurPageSize);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   615
		$this->x = $x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   616
		if($ws>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   617
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   618
			$this->ws = $ws;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   619
			$this->_out(sprintf('%.3F Tw',$ws*$k));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   620
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   621
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   622
	if($w==0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   623
		$w = $this->w-$this->rMargin-$this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   624
	$s = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   625
	if($fill || $border==1)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   626
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   627
		if($fill)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   628
			$op = ($border==1) ? 'B' : 'f';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   629
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   630
			$op = 'S';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   631
		$s = sprintf('%.2F %.2F %.2F %.2F re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   632
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   633
	if(is_string($border))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   634
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   635
		$x = $this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   636
		$y = $this->y;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   637
		if(strpos($border,'L')!==false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   638
			$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   639
		if(strpos($border,'T')!==false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   640
			$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   641
		if(strpos($border,'R')!==false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   642
			$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   643
		if(strpos($border,'B')!==false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   644
			$s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   645
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   646
	if($txt!=='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   647
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   648
		if($align=='R')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   649
			$dx = $w-$this->cMargin-$this->GetStringWidth($txt);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   650
		elseif($align=='C')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   651
			$dx = ($w-$this->GetStringWidth($txt))/2;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   652
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   653
			$dx = $this->cMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   654
		if($this->ColorFlag)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   655
			$s .= 'q '.$this->TextColor.' ';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   656
		$txt2 = str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$txt)));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   657
		$s .= sprintf('BT %.2F %.2F Td (%s) Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$txt2);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   658
		if($this->underline)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   659
			$s .= ' '.$this->_dounderline($this->x+$dx,$this->y+.5*$h+.3*$this->FontSize,$txt);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   660
		if($this->ColorFlag)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   661
			$s .= ' Q';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   662
		if($link)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   663
			$this->Link($this->x+$dx,$this->y+.5*$h-.5*$this->FontSize,$this->GetStringWidth($txt),$this->FontSize,$link);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   664
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   665
	if($s)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   666
		$this->_out($s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   667
	$this->lasth = $h;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   668
	if($ln>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   669
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   670
		// Go to next line
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   671
		$this->y += $h;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   672
		if($ln==1)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   673
			$this->x = $this->lMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   674
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   675
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   676
		$this->x += $w;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   677
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   678
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   679
function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   680
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   681
	// Output text with automatic or explicit line breaks
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   682
	$cw = &$this->CurrentFont['cw'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   683
	if($w==0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   684
		$w = $this->w-$this->rMargin-$this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   685
	$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   686
	$s = str_replace("\r",'',$txt);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   687
	$nb = strlen($s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   688
	if($nb>0 && $s[$nb-1]=="\n")
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   689
		$nb--;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   690
	$b = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   691
	if($border)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   692
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   693
		if($border==1)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   694
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   695
			$border = 'LTRB';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   696
			$b = 'LRT';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   697
			$b2 = 'LR';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   698
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   699
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   700
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   701
			$b2 = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   702
			if(strpos($border,'L')!==false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   703
				$b2 .= 'L';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   704
			if(strpos($border,'R')!==false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   705
				$b2 .= 'R';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   706
			$b = (strpos($border,'T')!==false) ? $b2.'T' : $b2;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   707
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   708
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   709
	$sep = -1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   710
	$i = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   711
	$j = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   712
	$l = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   713
	$ns = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   714
	$nl = 1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   715
	while($i<$nb)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   716
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   717
		// Get next character
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   718
		$c = $s[$i];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   719
		if($c=="\n")
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   720
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   721
			// Explicit line break
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   722
			if($this->ws>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   723
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   724
				$this->ws = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   725
				$this->_out('0 Tw');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   726
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   727
			$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   728
			$i++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   729
			$sep = -1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   730
			$j = $i;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   731
			$l = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   732
			$ns = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   733
			$nl++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   734
			if($border && $nl==2)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   735
				$b = $b2;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   736
			continue;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   737
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   738
		if($c==' ')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   739
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   740
			$sep = $i;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   741
			$ls = $l;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   742
			$ns++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   743
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   744
		$l += $cw[$c];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   745
		if($l>$wmax)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   746
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   747
			// Automatic line break
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   748
			if($sep==-1)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   749
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   750
				if($i==$j)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   751
					$i++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   752
				if($this->ws>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   753
				{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   754
					$this->ws = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   755
					$this->_out('0 Tw');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   756
				}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   757
				$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   758
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   759
			else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   760
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   761
				if($align=='J')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   762
				{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   763
					$this->ws = ($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   764
					$this->_out(sprintf('%.3F Tw',$this->ws*$this->k));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   765
				}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   766
				$this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   767
				$i = $sep+1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   768
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   769
			$sep = -1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   770
			$j = $i;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   771
			$l = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   772
			$ns = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   773
			$nl++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   774
			if($border && $nl==2)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   775
				$b = $b2;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   776
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   777
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   778
			$i++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   779
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   780
	// Last chunk
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   781
	if($this->ws>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   782
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   783
		$this->ws = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   784
		$this->_out('0 Tw');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   785
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   786
	if($border && strpos($border,'B')!==false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   787
		$b .= 'B';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   788
	$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   789
	$this->x = $this->lMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   790
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   791
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   792
function Write($h, $txt, $link='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   793
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   794
	// Output text in flowing mode
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   795
	$cw = &$this->CurrentFont['cw'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   796
	$w = $this->w-$this->rMargin-$this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   797
	$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   798
	$s = str_replace("\r",'',$txt);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   799
	$nb = strlen($s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   800
	$sep = -1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   801
	$i = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   802
	$j = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   803
	$l = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   804
	$nl = 1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   805
	while($i<$nb)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   806
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   807
		// Get next character
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   808
		$c = $s[$i];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   809
		if($c=="\n")
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   810
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   811
			// Explicit line break
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   812
			$this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   813
			$i++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   814
			$sep = -1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   815
			$j = $i;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   816
			$l = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   817
			if($nl==1)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   818
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   819
				$this->x = $this->lMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   820
				$w = $this->w-$this->rMargin-$this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   821
				$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   822
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   823
			$nl++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   824
			continue;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   825
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   826
		if($c==' ')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   827
			$sep = $i;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   828
		$l += $cw[$c];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   829
		if($l>$wmax)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   830
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   831
			// Automatic line break
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   832
			if($sep==-1)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   833
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   834
				if($this->x>$this->lMargin)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   835
				{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   836
					// Move to next line
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   837
					$this->x = $this->lMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   838
					$this->y += $h;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   839
					$w = $this->w-$this->rMargin-$this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   840
					$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   841
					$i++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   842
					$nl++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   843
					continue;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   844
				}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   845
				if($i==$j)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   846
					$i++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   847
				$this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   848
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   849
			else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   850
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   851
				$this->Cell($w,$h,substr($s,$j,$sep-$j),0,2,'',0,$link);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   852
				$i = $sep+1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   853
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   854
			$sep = -1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   855
			$j = $i;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   856
			$l = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   857
			if($nl==1)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   858
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   859
				$this->x = $this->lMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   860
				$w = $this->w-$this->rMargin-$this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   861
				$wmax = ($w-2*$this->cMargin)*1000/$this->FontSize;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   862
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   863
			$nl++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   864
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   865
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   866
			$i++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   867
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   868
	// Last chunk
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   869
	if($i!=$j)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   870
		$this->Cell($l/1000*$this->FontSize,$h,substr($s,$j),0,0,'',0,$link);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   871
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   872
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   873
function Ln($h=null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   874
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   875
	// Line feed; default value is last cell height
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   876
	$this->x = $this->lMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   877
	if($h===null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   878
		$this->y += $this->lasth;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   879
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   880
		$this->y += $h;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   881
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   882
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   883
function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   884
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   885
	// Put an image on the page
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   886
	if(!isset($this->images[$file]))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   887
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   888
		// First use of this image, get info
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   889
		if($type=='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   890
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   891
			$pos = strrpos($file,'.');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   892
			if(!$pos)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   893
				$this->Error('Image file has no extension and no type was specified: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   894
			$type = substr($file,$pos+1);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   895
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   896
		$type = strtolower($type);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   897
		if($type=='jpeg')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   898
			$type = 'jpg';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   899
		$mtd = '_parse'.$type;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   900
		if(!method_exists($this,$mtd))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   901
			$this->Error('Unsupported image type: '.$type);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   902
		$info = $this->$mtd($file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   903
		$info['i'] = count($this->images)+1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   904
		$this->images[$file] = $info;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   905
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   906
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   907
		$info = $this->images[$file];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   908
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   909
	// Automatic width and height calculation if needed
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   910
	if($w==0 && $h==0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   911
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   912
		// Put image at 96 dpi
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   913
		$w = -96;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   914
		$h = -96;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   915
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   916
	if($w<0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   917
		$w = -$info['w']*72/$w/$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   918
	if($h<0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   919
		$h = -$info['h']*72/$h/$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   920
	if($w==0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   921
		$w = $h*$info['w']/$info['h'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   922
	if($h==0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   923
		$h = $w*$info['h']/$info['w'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   924
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   925
	// Flowing mode
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   926
	if($y===null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   927
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   928
		if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak())
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   929
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   930
			// Automatic page break
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   931
			$x2 = $this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   932
			$this->AddPage($this->CurOrientation,$this->CurPageSize);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   933
			$this->x = $x2;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   934
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   935
		$y = $this->y;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   936
		$this->y += $h;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   937
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   938
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   939
	if($x===null)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   940
		$x = $this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   941
	$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']));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   942
	if($link)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   943
		$this->Link($x,$y,$w,$h,$link);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   944
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   945
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   946
function GetX()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   947
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   948
	// Get x position
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   949
	return $this->x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   950
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   951
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   952
function SetX($x)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   953
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   954
	// Set x position
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   955
	if($x>=0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   956
		$this->x = $x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   957
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   958
		$this->x = $this->w+$x;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   959
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   960
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   961
function GetY()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   962
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   963
	// Get y position
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   964
	return $this->y;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   965
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   966
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   967
function SetY($y)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   968
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   969
	// Set y position and reset x
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   970
	$this->x = $this->lMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   971
	if($y>=0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   972
		$this->y = $y;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   973
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   974
		$this->y = $this->h+$y;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   975
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   976
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   977
function SetXY($x, $y)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   978
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   979
	// Set x and y positions
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   980
	$this->SetY($y);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   981
	$this->SetX($x);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   982
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   983
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   984
function Output($name='', $dest='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   985
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   986
	// Output PDF to some destination
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   987
	if($this->state<3)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   988
		$this->Close();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   989
	$dest = strtoupper($dest);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   990
	if($dest=='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   991
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   992
		if($name=='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   993
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   994
			$name = 'doc.pdf';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   995
			$dest = 'I';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   996
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   997
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   998
			$dest = 'F';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   999
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1000
	switch($dest)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1001
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1002
		case 'I':
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1003
			// Send to standard output
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1004
			$this->_checkoutput();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1005
			if(PHP_SAPI!='cli')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1006
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1007
				// We send to a browser
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1008
				header('Content-Type: application/pdf');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1009
				header('Content-Disposition: inline; filename="'.$name.'"');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1010
				header('Cache-Control: private, max-age=0, must-revalidate');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1011
				header('Pragma: public');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1012
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1013
			echo $this->buffer;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1014
			break;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1015
		case 'D':
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1016
			// Download file
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1017
			$this->_checkoutput();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1018
			header('Content-Type: application/x-download');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1019
			header('Content-Disposition: attachment; filename="'.$name.'"');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1020
			header('Cache-Control: private, max-age=0, must-revalidate');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1021
			header('Pragma: public');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1022
			echo $this->buffer;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1023
			break;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1024
		case 'F':
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1025
			// Save to local file
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1026
			$f = fopen($name,'wb');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1027
			if(!$f)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1028
				$this->Error('Unable to create output file: '.$name);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1029
			fwrite($f,$this->buffer,strlen($this->buffer));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1030
			fclose($f);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1031
			break;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1032
		case 'S':
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1033
			// Return as a string
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1034
			return $this->buffer;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1035
		default:
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1036
			$this->Error('Incorrect output destination: '.$dest);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1037
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1038
	return '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1039
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1040
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1041
/*******************************************************************************
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1042
*                                                                              *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1043
*                              Protected methods                               *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1044
*                                                                              *
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1045
*******************************************************************************/
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1046
function _dochecks()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1047
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1048
	// Check availability of %F
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1049
	if(sprintf('%.1F',1.0)!='1.0')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1050
		$this->Error('This version of PHP is not supported');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1051
	// Check mbstring overloading
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1052
	if(ini_get('mbstring.func_overload') & 2)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1053
		$this->Error('mbstring overloading must be disabled');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1054
	// Ensure runtime magic quotes are disabled
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1055
	if(get_magic_quotes_runtime())
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1056
		@set_magic_quotes_runtime(0);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1057
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1058
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1059
function _checkoutput()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1060
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1061
	if(PHP_SAPI!='cli')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1062
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1063
		if(headers_sent($file,$line))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1064
			$this->Error("Some data has already been output, can't send PDF file (output started at $file:$line)");
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1065
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1066
	if(ob_get_length())
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1067
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1068
		// The output buffer is not empty
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1069
		if(preg_match('/^(\xEF\xBB\xBF)?\s*$/',ob_get_contents()))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1070
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1071
			// It contains only a UTF-8 BOM and/or whitespace, let's clean it
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1072
			ob_clean();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1073
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1074
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1075
			$this->Error("Some data has already been output, can't send PDF file");
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1076
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1077
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1078
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1079
function _getpagesize($size)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1080
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1081
	if(is_string($size))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1082
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1083
		$size = strtolower($size);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1084
		if(!isset($this->StdPageSizes[$size]))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1085
			$this->Error('Unknown page size: '.$size);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1086
		$a = $this->StdPageSizes[$size];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1087
		return array($a[0]/$this->k, $a[1]/$this->k);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1088
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1089
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1090
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1091
		if($size[0]>$size[1])
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1092
			return array($size[1], $size[0]);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1093
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1094
			return $size;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1095
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1096
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1097
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1098
function _beginpage($orientation, $size)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1099
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1100
	$this->page++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1101
	$this->pages[$this->page] = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1102
	$this->state = 2;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1103
	$this->x = $this->lMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1104
	$this->y = $this->tMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1105
	$this->FontFamily = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1106
	// Check page size and orientation
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1107
	if($orientation=='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1108
		$orientation = $this->DefOrientation;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1109
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1110
		$orientation = strtoupper($orientation[0]);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1111
	if($size=='')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1112
		$size = $this->DefPageSize;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1113
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1114
		$size = $this->_getpagesize($size);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1115
	if($orientation!=$this->CurOrientation || $size[0]!=$this->CurPageSize[0] || $size[1]!=$this->CurPageSize[1])
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1116
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1117
		// New size or orientation
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1118
		if($orientation=='P')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1119
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1120
			$this->w = $size[0];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1121
			$this->h = $size[1];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1122
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1123
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1124
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1125
			$this->w = $size[1];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1126
			$this->h = $size[0];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1127
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1128
		$this->wPt = $this->w*$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1129
		$this->hPt = $this->h*$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1130
		$this->PageBreakTrigger = $this->h-$this->bMargin;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1131
		$this->CurOrientation = $orientation;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1132
		$this->CurPageSize = $size;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1133
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1134
	if($orientation!=$this->DefOrientation || $size[0]!=$this->DefPageSize[0] || $size[1]!=$this->DefPageSize[1])
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1135
		$this->PageSizes[$this->page] = array($this->wPt, $this->hPt);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1136
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1137
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1138
function _endpage()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1139
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1140
	$this->state = 1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1141
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1142
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1143
function _loadfont($font)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1144
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1145
	// Load a font definition file from the font directory
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1146
	include($this->fontpath.$font);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1147
	$a = get_defined_vars();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1148
	if(!isset($a['name']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1149
		$this->Error('Could not include font definition file');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1150
	return $a;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1151
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1152
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1153
function _escape($s)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1154
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1155
	// Escape special characters in strings
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1156
	$s = str_replace('\\','\\\\',$s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1157
	$s = str_replace('(','\\(',$s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1158
	$s = str_replace(')','\\)',$s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1159
	$s = str_replace("\r",'\\r',$s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1160
	return $s;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1161
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1162
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1163
function _textstring($s)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1164
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1165
	// Format a text string
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1166
	return '('.$this->_escape($s).')';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1167
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1168
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1169
function _UTF8toUTF16($s)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1170
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1171
	// Convert UTF-8 to UTF-16BE with BOM
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1172
	$res = "\xFE\xFF";
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1173
	$nb = strlen($s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1174
	$i = 0;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1175
	while($i<$nb)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1176
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1177
		$c1 = ord($s[$i++]);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1178
		if($c1>=224)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1179
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1180
			// 3-byte character
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1181
			$c2 = ord($s[$i++]);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1182
			$c3 = ord($s[$i++]);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1183
			$res .= chr((($c1 & 0x0F)<<4) + (($c2 & 0x3C)>>2));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1184
			$res .= chr((($c2 & 0x03)<<6) + ($c3 & 0x3F));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1185
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1186
		elseif($c1>=192)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1187
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1188
			// 2-byte character
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1189
			$c2 = ord($s[$i++]);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1190
			$res .= chr(($c1 & 0x1C)>>2);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1191
			$res .= chr((($c1 & 0x03)<<6) + ($c2 & 0x3F));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1192
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1193
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1194
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1195
			// Single-byte character
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1196
			$res .= "\0".chr($c1);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1197
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1198
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1199
	return $res;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1200
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1201
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1202
function _dounderline($x, $y, $txt)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1203
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1204
	// Underline text
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1205
	$up = $this->CurrentFont['up'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1206
	$ut = $this->CurrentFont['ut'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1207
	$w = $this->GetStringWidth($txt)+$this->ws*substr_count($txt,' ');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1208
	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);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1209
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1210
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1211
function _parsejpg($file)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1212
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1213
	// Extract info from a JPEG file
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1214
	$a = getimagesize($file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1215
	if(!$a)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1216
		$this->Error('Missing or incorrect image file: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1217
	if($a[2]!=2)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1218
		$this->Error('Not a JPEG file: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1219
	if(!isset($a['channels']) || $a['channels']==3)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1220
		$colspace = 'DeviceRGB';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1221
	elseif($a['channels']==4)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1222
		$colspace = 'DeviceCMYK';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1223
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1224
		$colspace = 'DeviceGray';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1225
	$bpc = isset($a['bits']) ? $a['bits'] : 8;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1226
	$data = file_get_contents($file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1227
	return array('w'=>$a[0], 'h'=>$a[1], 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'DCTDecode', 'data'=>$data);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1228
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1229
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1230
function _parsepng($file)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1231
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1232
	// Extract info from a PNG file
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1233
	$f = fopen($file,'rb');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1234
	if(!$f)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1235
		$this->Error('Can\'t open image file: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1236
	$info = $this->_parsepngstream($f,$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1237
	fclose($f);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1238
	return $info;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1239
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1240
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1241
function _parsepngstream($f, $file)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1242
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1243
	// Check signature
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1244
	if($this->_readstream($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1245
		$this->Error('Not a PNG file: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1246
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1247
	// Read header chunk
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1248
	$this->_readstream($f,4);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1249
	if($this->_readstream($f,4)!='IHDR')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1250
		$this->Error('Incorrect PNG file: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1251
	$w = $this->_readint($f);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1252
	$h = $this->_readint($f);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1253
	$bpc = ord($this->_readstream($f,1));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1254
	if($bpc>8)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1255
		$this->Error('16-bit depth not supported: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1256
	$ct = ord($this->_readstream($f,1));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1257
	if($ct==0 || $ct==4)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1258
		$colspace = 'DeviceGray';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1259
	elseif($ct==2 || $ct==6)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1260
		$colspace = 'DeviceRGB';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1261
	elseif($ct==3)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1262
		$colspace = 'Indexed';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1263
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1264
		$this->Error('Unknown color type: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1265
	if(ord($this->_readstream($f,1))!=0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1266
		$this->Error('Unknown compression method: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1267
	if(ord($this->_readstream($f,1))!=0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1268
		$this->Error('Unknown filter method: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1269
	if(ord($this->_readstream($f,1))!=0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1270
		$this->Error('Interlacing not supported: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1271
	$this->_readstream($f,4);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1272
	$dp = '/Predictor 15 /Colors '.($colspace=='DeviceRGB' ? 3 : 1).' /BitsPerComponent '.$bpc.' /Columns '.$w;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1273
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1274
	// Scan chunks looking for palette, transparency and image data
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1275
	$pal = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1276
	$trns = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1277
	$data = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1278
	do
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1279
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1280
		$n = $this->_readint($f);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1281
		$type = $this->_readstream($f,4);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1282
		if($type=='PLTE')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1283
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1284
			// Read palette
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1285
			$pal = $this->_readstream($f,$n);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1286
			$this->_readstream($f,4);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1287
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1288
		elseif($type=='tRNS')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1289
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1290
			// Read transparency info
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1291
			$t = $this->_readstream($f,$n);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1292
			if($ct==0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1293
				$trns = array(ord(substr($t,1,1)));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1294
			elseif($ct==2)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1295
				$trns = array(ord(substr($t,1,1)), ord(substr($t,3,1)), ord(substr($t,5,1)));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1296
			else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1297
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1298
				$pos = strpos($t,chr(0));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1299
				if($pos!==false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1300
					$trns = array($pos);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1301
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1302
			$this->_readstream($f,4);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1303
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1304
		elseif($type=='IDAT')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1305
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1306
			// Read image data block
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1307
			$data .= $this->_readstream($f,$n);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1308
			$this->_readstream($f,4);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1309
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1310
		elseif($type=='IEND')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1311
			break;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1312
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1313
			$this->_readstream($f,$n+4);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1314
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1315
	while($n);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1316
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1317
	if($colspace=='Indexed' && empty($pal))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1318
		$this->Error('Missing palette in '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1319
	$info = array('w'=>$w, 'h'=>$h, 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'FlateDecode', 'dp'=>$dp, 'pal'=>$pal, 'trns'=>$trns);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1320
	if($ct>=4)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1321
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1322
		// Extract alpha channel
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1323
		if(!function_exists('gzuncompress'))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1324
			$this->Error('Zlib not available, can\'t handle alpha channel: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1325
		$data = gzuncompress($data);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1326
		$color = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1327
		$alpha = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1328
		if($ct==4)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1329
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1330
			// Gray image
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1331
			$len = 2*$w;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1332
			for($i=0;$i<$h;$i++)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1333
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1334
				$pos = (1+$len)*$i;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1335
				$color .= $data[$pos];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1336
				$alpha .= $data[$pos];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1337
				$line = substr($data,$pos+1,$len);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1338
				$color .= preg_replace('/(.)./s','$1',$line);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1339
				$alpha .= preg_replace('/.(.)/s','$1',$line);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1340
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1341
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1342
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1343
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1344
			// RGB image
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1345
			$len = 4*$w;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1346
			for($i=0;$i<$h;$i++)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1347
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1348
				$pos = (1+$len)*$i;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1349
				$color .= $data[$pos];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1350
				$alpha .= $data[$pos];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1351
				$line = substr($data,$pos+1,$len);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1352
				$color .= preg_replace('/(.{3})./s','$1',$line);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1353
				$alpha .= preg_replace('/.{3}(.)/s','$1',$line);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1354
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1355
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1356
		unset($data);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1357
		$data = gzcompress($color);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1358
		$info['smask'] = gzcompress($alpha);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1359
		if($this->PDFVersion<'1.4')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1360
			$this->PDFVersion = '1.4';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1361
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1362
	$info['data'] = $data;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1363
	return $info;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1364
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1365
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1366
function _readstream($f, $n)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1367
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1368
	// Read n bytes from stream
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1369
	$res = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1370
	while($n>0 && !feof($f))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1371
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1372
		$s = fread($f,$n);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1373
		if($s===false)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1374
			$this->Error('Error while reading stream');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1375
		$n -= strlen($s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1376
		$res .= $s;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1377
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1378
	if($n>0)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1379
		$this->Error('Unexpected end of stream');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1380
	return $res;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1381
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1382
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1383
function _readint($f)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1384
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1385
	// Read a 4-byte integer from stream
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1386
	$a = unpack('Ni',$this->_readstream($f,4));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1387
	return $a['i'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1388
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1389
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1390
function _parsegif($file)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1391
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1392
	// Extract info from a GIF file (via PNG conversion)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1393
	if(!function_exists('imagepng'))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1394
		$this->Error('GD extension is required for GIF support');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1395
	if(!function_exists('imagecreatefromgif'))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1396
		$this->Error('GD has no GIF read support');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1397
	$im = imagecreatefromgif($file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1398
	if(!$im)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1399
		$this->Error('Missing or incorrect image file: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1400
	imageinterlace($im,0);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1401
	$f = @fopen('php://temp','rb+');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1402
	if($f)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1403
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1404
		// Perform conversion in memory
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1405
		ob_start();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1406
		imagepng($im);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1407
		$data = ob_get_clean();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1408
		imagedestroy($im);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1409
		fwrite($f,$data);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1410
		rewind($f);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1411
		$info = $this->_parsepngstream($f,$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1412
		fclose($f);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1413
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1414
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1415
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1416
		// Use temporary file
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1417
		$tmp = tempnam('.','gif');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1418
		if(!$tmp)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1419
			$this->Error('Unable to create a temporary file');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1420
		if(!imagepng($im,$tmp))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1421
			$this->Error('Error while saving to temporary file');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1422
		imagedestroy($im);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1423
		$info = $this->_parsepng($tmp);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1424
		unlink($tmp);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1425
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1426
	return $info;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1427
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1428
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1429
function _newobj()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1430
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1431
	// Begin a new object
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1432
	$this->n++;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1433
	$this->offsets[$this->n] = strlen($this->buffer);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1434
	$this->_out($this->n.' 0 obj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1435
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1436
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1437
function _putstream($s)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1438
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1439
	$this->_out('stream');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1440
	$this->_out($s);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1441
	$this->_out('endstream');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1442
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1443
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1444
function _out($s)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1445
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1446
	// Add a line to the document
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1447
	if($this->state==2)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1448
		$this->pages[$this->page] .= $s."\n";
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1449
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1450
		$this->buffer .= $s."\n";
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1451
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1452
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1453
function _putpages()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1454
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1455
	$nb = $this->page;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1456
	if(!empty($this->AliasNbPages))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1457
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1458
		// Replace number of pages
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1459
		for($n=1;$n<=$nb;$n++)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1460
			$this->pages[$n] = str_replace($this->AliasNbPages,$nb,$this->pages[$n]);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1461
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1462
	if($this->DefOrientation=='P')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1463
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1464
		$wPt = $this->DefPageSize[0]*$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1465
		$hPt = $this->DefPageSize[1]*$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1466
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1467
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1468
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1469
		$wPt = $this->DefPageSize[1]*$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1470
		$hPt = $this->DefPageSize[0]*$this->k;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1471
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1472
	$filter = ($this->compress) ? '/Filter /FlateDecode ' : '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1473
	for($n=1;$n<=$nb;$n++)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1474
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1475
		// Page
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1476
		$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1477
		$this->_out('<</Type /Page');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1478
		$this->_out('/Parent 1 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1479
		if(isset($this->PageSizes[$n]))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1480
			$this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]',$this->PageSizes[$n][0],$this->PageSizes[$n][1]));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1481
		$this->_out('/Resources 2 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1482
		if(isset($this->PageLinks[$n]))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1483
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1484
			// Links
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1485
			$annots = '/Annots [';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1486
			foreach($this->PageLinks[$n] as $pl)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1487
			{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1488
				$rect = sprintf('%.2F %.2F %.2F %.2F',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1489
				$annots .= '<</Type /Annot /Subtype /Link /Rect ['.$rect.'] /Border [0 0 0] ';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1490
				if(is_string($pl[4]))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1491
					$annots .= '/A <</S /URI /URI '.$this->_textstring($pl[4]).'>>>>';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1492
				else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1493
				{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1494
					$l = $this->links[$pl[4]];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1495
					$h = isset($this->PageSizes[$l[0]]) ? $this->PageSizes[$l[0]][1] : $hPt;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1496
					$annots .= sprintf('/Dest [%d 0 R /XYZ 0 %.2F null]>>',1+2*$l[0],$h-$l[1]*$this->k);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1497
				}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1498
			}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1499
			$this->_out($annots.']');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1500
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1501
		if($this->PDFVersion>'1.3')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1502
			$this->_out('/Group <</Type /Group /S /Transparency /CS /DeviceRGB>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1503
		$this->_out('/Contents '.($this->n+1).' 0 R>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1504
		$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1505
		// Page content
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1506
		$p = ($this->compress) ? gzcompress($this->pages[$n]) : $this->pages[$n];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1507
		$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1508
		$this->_out('<<'.$filter.'/Length '.strlen($p).'>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1509
		$this->_putstream($p);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1510
		$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1511
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1512
	// Pages root
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1513
	$this->offsets[1] = strlen($this->buffer);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1514
	$this->_out('1 0 obj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1515
	$this->_out('<</Type /Pages');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1516
	$kids = '/Kids [';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1517
	for($i=0;$i<$nb;$i++)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1518
		$kids .= (3+2*$i).' 0 R ';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1519
	$this->_out($kids.']');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1520
	$this->_out('/Count '.$nb);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1521
	$this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]',$wPt,$hPt));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1522
	$this->_out('>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1523
	$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1524
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1525
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1526
function _putfonts()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1527
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1528
	$nf = $this->n;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1529
	foreach($this->diffs as $diff)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1530
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1531
		// Encodings
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1532
		$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1533
		$this->_out('<</Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences ['.$diff.']>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1534
		$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1535
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1536
	foreach($this->FontFiles as $file=>$info)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1537
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1538
		// Font file embedding
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1539
		$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1540
		$this->FontFiles[$file]['n'] = $this->n;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1541
		$font = file_get_contents($this->fontpath.$file,true);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1542
		if(!$font)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1543
			$this->Error('Font file not found: '.$file);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1544
		$compressed = (substr($file,-2)=='.z');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1545
		if(!$compressed && isset($info['length2']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1546
			$font = substr($font,6,$info['length1']).substr($font,6+$info['length1']+6,$info['length2']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1547
		$this->_out('<</Length '.strlen($font));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1548
		if($compressed)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1549
			$this->_out('/Filter /FlateDecode');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1550
		$this->_out('/Length1 '.$info['length1']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1551
		if(isset($info['length2']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1552
			$this->_out('/Length2 '.$info['length2'].' /Length3 0');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1553
		$this->_out('>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1554
		$this->_putstream($font);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1555
		$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1556
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1557
	foreach($this->fonts as $k=>$font)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1558
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1559
		// Font objects
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1560
		$this->fonts[$k]['n'] = $this->n+1;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1561
		$type = $font['type'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1562
		$name = $font['name'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1563
		if($type=='Core')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1564
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1565
			// Core font
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1566
			$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1567
			$this->_out('<</Type /Font');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1568
			$this->_out('/BaseFont /'.$name);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1569
			$this->_out('/Subtype /Type1');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1570
			if($name!='Symbol' && $name!='ZapfDingbats')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1571
				$this->_out('/Encoding /WinAnsiEncoding');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1572
			$this->_out('>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1573
			$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1574
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1575
		elseif($type=='Type1' || $type=='TrueType')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1576
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1577
			// Additional Type1 or TrueType/OpenType font
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1578
			$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1579
			$this->_out('<</Type /Font');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1580
			$this->_out('/BaseFont /'.$name);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1581
			$this->_out('/Subtype /'.$type);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1582
			$this->_out('/FirstChar 32 /LastChar 255');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1583
			$this->_out('/Widths '.($this->n+1).' 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1584
			$this->_out('/FontDescriptor '.($this->n+2).' 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1585
			if(isset($font['diffn']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1586
				$this->_out('/Encoding '.($nf+$font['diffn']).' 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1587
			else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1588
				$this->_out('/Encoding /WinAnsiEncoding');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1589
			$this->_out('>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1590
			$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1591
			// Widths
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1592
			$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1593
			$cw = &$font['cw'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1594
			$s = '[';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1595
			for($i=32;$i<=255;$i++)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1596
				$s .= $cw[chr($i)].' ';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1597
			$this->_out($s.']');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1598
			$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1599
			// Descriptor
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1600
			$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1601
			$s = '<</Type /FontDescriptor /FontName /'.$name;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1602
			foreach($font['desc'] as $k=>$v)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1603
				$s .= ' /'.$k.' '.$v;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1604
			if(!empty($font['file']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1605
				$s .= ' /FontFile'.($type=='Type1' ? '' : '2').' '.$this->FontFiles[$font['file']]['n'].' 0 R';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1606
			$this->_out($s.'>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1607
			$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1608
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1609
		else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1610
		{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1611
			// Allow for additional types
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1612
			$mtd = '_put'.strtolower($type);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1613
			if(!method_exists($this,$mtd))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1614
				$this->Error('Unsupported font type: '.$type);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1615
			$this->$mtd($font);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1616
		}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1617
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1618
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1619
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1620
function _putimages()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1621
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1622
	foreach(array_keys($this->images) as $file)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1623
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1624
		$this->_putimage($this->images[$file]);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1625
		unset($this->images[$file]['data']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1626
		unset($this->images[$file]['smask']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1627
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1628
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1629
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1630
function _putimage(&$info)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1631
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1632
	$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1633
	$info['n'] = $this->n;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1634
	$this->_out('<</Type /XObject');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1635
	$this->_out('/Subtype /Image');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1636
	$this->_out('/Width '.$info['w']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1637
	$this->_out('/Height '.$info['h']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1638
	if($info['cs']=='Indexed')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1639
		$this->_out('/ColorSpace [/Indexed /DeviceRGB '.(strlen($info['pal'])/3-1).' '.($this->n+1).' 0 R]');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1640
	else
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1641
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1642
		$this->_out('/ColorSpace /'.$info['cs']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1643
		if($info['cs']=='DeviceCMYK')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1644
			$this->_out('/Decode [1 0 1 0 1 0 1 0]');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1645
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1646
	$this->_out('/BitsPerComponent '.$info['bpc']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1647
	if(isset($info['f']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1648
		$this->_out('/Filter /'.$info['f']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1649
	if(isset($info['dp']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1650
		$this->_out('/DecodeParms <<'.$info['dp'].'>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1651
	if(isset($info['trns']) && is_array($info['trns']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1652
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1653
		$trns = '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1654
		for($i=0;$i<count($info['trns']);$i++)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1655
			$trns .= $info['trns'][$i].' '.$info['trns'][$i].' ';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1656
		$this->_out('/Mask ['.$trns.']');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1657
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1658
	if(isset($info['smask']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1659
		$this->_out('/SMask '.($this->n+1).' 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1660
	$this->_out('/Length '.strlen($info['data']).'>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1661
	$this->_putstream($info['data']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1662
	$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1663
	// Soft mask
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1664
	if(isset($info['smask']))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1665
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1666
		$dp = '/Predictor 15 /Colors 1 /BitsPerComponent 8 /Columns '.$info['w'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1667
		$smask = array('w'=>$info['w'], 'h'=>$info['h'], 'cs'=>'DeviceGray', 'bpc'=>8, 'f'=>$info['f'], 'dp'=>$dp, 'data'=>$info['smask']);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1668
		$this->_putimage($smask);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1669
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1670
	// Palette
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1671
	if($info['cs']=='Indexed')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1672
	{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1673
		$filter = ($this->compress) ? '/Filter /FlateDecode ' : '';
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1674
		$pal = ($this->compress) ? gzcompress($info['pal']) : $info['pal'];
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1675
		$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1676
		$this->_out('<<'.$filter.'/Length '.strlen($pal).'>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1677
		$this->_putstream($pal);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1678
		$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1679
	}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1680
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1681
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1682
function _putxobjectdict()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1683
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1684
	foreach($this->images as $image)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1685
		$this->_out('/I'.$image['i'].' '.$image['n'].' 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1686
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1687
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1688
function _putresourcedict()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1689
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1690
	$this->_out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1691
	$this->_out('/Font <<');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1692
	foreach($this->fonts as $font)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1693
		$this->_out('/F'.$font['i'].' '.$font['n'].' 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1694
	$this->_out('>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1695
	$this->_out('/XObject <<');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1696
	$this->_putxobjectdict();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1697
	$this->_out('>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1698
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1699
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1700
function _putresources()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1701
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1702
	$this->_putfonts();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1703
	$this->_putimages();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1704
	// Resource dictionary
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1705
	$this->offsets[2] = strlen($this->buffer);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1706
	$this->_out('2 0 obj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1707
	$this->_out('<<');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1708
	$this->_putresourcedict();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1709
	$this->_out('>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1710
	$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1711
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1712
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1713
function _putinfo()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1714
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1715
	$this->_out('/Producer '.$this->_textstring('FPDF '.FPDF_VERSION));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1716
	if(!empty($this->title))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1717
		$this->_out('/Title '.$this->_textstring($this->title));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1718
	if(!empty($this->subject))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1719
		$this->_out('/Subject '.$this->_textstring($this->subject));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1720
	if(!empty($this->author))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1721
		$this->_out('/Author '.$this->_textstring($this->author));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1722
	if(!empty($this->keywords))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1723
		$this->_out('/Keywords '.$this->_textstring($this->keywords));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1724
	if(!empty($this->creator))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1725
		$this->_out('/Creator '.$this->_textstring($this->creator));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1726
	$this->_out('/CreationDate '.$this->_textstring('D:'.@date('YmdHis')));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1727
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1728
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1729
function _putcatalog()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1730
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1731
	$this->_out('/Type /Catalog');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1732
	$this->_out('/Pages 1 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1733
	if($this->ZoomMode=='fullpage')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1734
		$this->_out('/OpenAction [3 0 R /Fit]');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1735
	elseif($this->ZoomMode=='fullwidth')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1736
		$this->_out('/OpenAction [3 0 R /FitH null]');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1737
	elseif($this->ZoomMode=='real')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1738
		$this->_out('/OpenAction [3 0 R /XYZ null null 1]');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1739
	elseif(!is_string($this->ZoomMode))
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1740
		$this->_out('/OpenAction [3 0 R /XYZ null null '.sprintf('%.2F',$this->ZoomMode/100).']');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1741
	if($this->LayoutMode=='single')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1742
		$this->_out('/PageLayout /SinglePage');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1743
	elseif($this->LayoutMode=='continuous')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1744
		$this->_out('/PageLayout /OneColumn');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1745
	elseif($this->LayoutMode=='two')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1746
		$this->_out('/PageLayout /TwoColumnLeft');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1747
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1748
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1749
function _putheader()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1750
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1751
	$this->_out('%PDF-'.$this->PDFVersion);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1752
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1753
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1754
function _puttrailer()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1755
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1756
	$this->_out('/Size '.($this->n+1));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1757
	$this->_out('/Root '.$this->n.' 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1758
	$this->_out('/Info '.($this->n-1).' 0 R');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1759
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1760
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1761
function _enddoc()
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1762
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1763
	$this->_putheader();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1764
	$this->_putpages();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1765
	$this->_putresources();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1766
	// Info
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1767
	$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1768
	$this->_out('<<');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1769
	$this->_putinfo();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1770
	$this->_out('>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1771
	$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1772
	// Catalog
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1773
	$this->_newobj();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1774
	$this->_out('<<');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1775
	$this->_putcatalog();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1776
	$this->_out('>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1777
	$this->_out('endobj');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1778
	// Cross-ref
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1779
	$o = strlen($this->buffer);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1780
	$this->_out('xref');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1781
	$this->_out('0 '.($this->n+1));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1782
	$this->_out('0000000000 65535 f ');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1783
	for($i=1;$i<=$this->n;$i++)
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1784
		$this->_out(sprintf('%010d 00000 n ',$this->offsets[$i]));
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1785
	// Trailer
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1786
	$this->_out('trailer');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1787
	$this->_out('<<');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1788
	$this->_puttrailer();
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1789
	$this->_out('>>');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1790
	$this->_out('startxref');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1791
	$this->_out($o);
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1792
	$this->_out('%%EOF');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1793
	$this->state = 3;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1794
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1795
// End of class
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1796
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1797
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1798
// Handle special IE contype request
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1799
if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']=='contype')
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1800
{
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1801
	header('Content-Type: application/pdf');
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1802
	exit;
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1803
}
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1804
f1a8785434e4 + MA-Telefon-Liste, Edit MA, Telefon
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
  1805
?>