/tags/v4.0/api/fpdf/install.txt |
---|
New file |
0,0 → 1,29 |
FPDF est constitué des éléments suivants : |
- le fichier principal fpdf.php contenant la classe |
- les fichiers de métrique des polices (contenus dans le répertoire font de cette archive) |
Les fichiers de métrique sont indispensables dès que l'on veut écrire du texte dans un document. |
Ils peuvent se trouver en trois endroits différents : |
- dans le répertoire courant (celui du script en cours d'exécution) |
- dans un des répertoires définis par le paramètre include_path |
- dans le répertoire défini par la constante FPDF_FONTPATH |
Voici un exemple pour le dernier cas (notez le slash final obligatoire) : |
define('FPDF_FONTPATH','/home/www/font/'); |
require('fpdf.php'); |
Si ces fichiers ne sont pas accessibles, la méthode SetFont() produira l'erreur suivante : |
FPDF error: Could not include font metric file |
Vérifiez alors que vous avez correctement défini la constante. |
Remarques : |
- Vous pouvez aussi définir FPDF_FONTPATH directement au début de fpdf.php |
- Seuls les fichiers correspondant aux polices effectivement utilisées sont nécessaires |
Les tutoriels fournis dans l'archive sont prêts à être exécutés. |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/fpdf.php |
---|
New file |
0,0 → 1,1567 |
<?php |
/**************************************************************************** |
* Logiciel : FPDF * |
* Version : 1.51 * |
* Date : 03/08/2002 * |
* Auteur : Olivier PLATHEY * |
* Licence : Freeware * |
* * |
* Vous pouvez utiliser et modifier ce logiciel comme vous le souhaitez. * |
****************************************************************************/ |
define('FPDF_VERSION','1.51'); |
class FPDF |
{ |
//Private properties |
var $page; //current page number |
var $n; //current object number |
var $offsets; //array of object offsets |
var $buffer; //buffer holding in-memory PDF |
var $pages; //array containing pages |
var $state; //current document state |
var $compress; //compression flag |
var $DefOrientation; //default orientation |
var $CurOrientation; //current orientation |
var $OrientationChanges; //array indicating orientation changes |
var $fwPt,$fhPt; //dimensions of page format in points |
var $fw,$fh; //dimensions of page format in user unit |
var $wPt,$hPt; //current dimensions of page in points |
var $k; //scale factor (number of points in user unit) |
var $w,$h; //current dimensions of page in user unit |
var $lMargin; //left margin |
var $tMargin; //top margin |
var $rMargin; //right margin |
var $bMargin; //page break margin |
var $cMargin; //cell margin |
var $x,$y; //current position in user unit for cell positionning |
var $lasth; //height of last cell printed |
var $LineWidth; //line width in user unit |
var $CoreFonts; //array of standard font names |
var $fonts; //array of used fonts |
var $FontFiles; //array of font files |
var $diffs; //array of encoding differences |
var $images; //array of used images |
var $PageLinks; //array of links in pages |
var $links; //array of internal links |
var $FontFamily; //current font family |
var $FontStyle; //current font style |
var $underline; //underlining flag |
var $CurrentFont; //current font info |
var $FontSizePt; //current font size in points |
var $FontSize; //current font size in user unit |
var $DrawColor; //commands for drawing color |
var $FillColor; //commands for filling color |
var $TextColor; //commands for text color |
var $ColorFlag; //indicates whether fill and text colors are different |
var $ws; //word spacing |
var $AutoPageBreak; //automatic page breaking |
var $PageBreakTrigger; //threshold used to trigger page breaks |
var $InFooter; //flag set when processing footer |
var $ZoomMode; //zoom display mode |
var $LayoutMode; //layout display mode |
var $title; //title |
var $subject; //subject |
var $author; //author |
var $keywords; //keywords |
var $creator; //creator |
var $AliasNbPages; //alias for total number of pages |
/**************************************************************************** |
* * |
* Public methods * |
* * |
****************************************************************************/ |
function FPDF($orientation='P',$unit='mm',$format='A4') |
{ |
//Check for PHP locale-related bug |
if(1.1==1) |
$this->Error('Don\'t alter the locale before including class file'); |
//Initialization of properties |
$this->page=0; |
$this->n=2; |
$this->buffer=''; |
$this->pages=array(); |
$this->OrientationChanges=array(); |
$this->state=0; |
$this->fonts=array(); |
$this->FontFiles=array(); |
$this->diffs=array(); |
$this->images=array(); |
$this->links=array(); |
$this->InFooter=false; |
$this->FontFamily=''; |
$this->FontStyle=''; |
$this->FontSizePt=12; |
$this->underline=false; |
$this->DrawColor='0 G'; |
$this->FillColor='0 g'; |
$this->TextColor='0 g'; |
$this->ColorFlag=false; |
$this->ws=0; |
//Standard fonts |
$this->CoreFonts['courier']='Courier'; |
$this->CoreFonts['courierB']='Courier-Bold'; |
$this->CoreFonts['courierI']='Courier-Oblique'; |
$this->CoreFonts['courierBI']='Courier-BoldOblique'; |
$this->CoreFonts['helvetica']='Helvetica'; |
$this->CoreFonts['helveticaB']='Helvetica-Bold'; |
$this->CoreFonts['helveticaI']='Helvetica-Oblique'; |
$this->CoreFonts['helveticaBI']='Helvetica-BoldOblique'; |
$this->CoreFonts['times']='Times-Roman'; |
$this->CoreFonts['timesB']='Times-Bold'; |
$this->CoreFonts['timesI']='Times-Italic'; |
$this->CoreFonts['timesBI']='Times-BoldItalic'; |
$this->CoreFonts['symbol']='Symbol'; |
$this->CoreFonts['zapfdingbats']='ZapfDingbats'; |
//Scale factor |
if($unit=='pt') |
$this->k=1; |
elseif($unit=='mm') |
$this->k=72/25.4; |
elseif($unit=='cm') |
$this->k=72/2.54; |
elseif($unit=='in') |
$this->k=72; |
else |
$this->Error('Incorrect unit: '.$unit); |
//Page format |
if(is_string($format)) |
{ |
$format=strtolower($format); |
if($format=='a3') |
$format=array(841.89,1190.55); |
elseif($format=='a4') |
$format=array(595.28,841.89); |
elseif($format=='a5') |
$format=array(420.94,595.28); |
elseif($format=='letter') |
$format=array(612,792); |
elseif($format=='legal') |
$format=array(612,1008); |
else |
$this->Error('Unknown page format: '.$format); |
$this->fwPt=$format[0]; |
$this->fhPt=$format[1]; |
} |
else |
{ |
$this->fwPt=$format[0]*$this->k; |
$this->fhPt=$format[1]*$this->k; |
} |
$this->fw=$this->fwPt/$this->k; |
$this->fh=$this->fhPt/$this->k; |
//Page orientation |
$orientation=strtolower($orientation); |
if($orientation=='p' or $orientation=='portrait') |
{ |
$this->DefOrientation='P'; |
$this->wPt=$this->fwPt; |
$this->hPt=$this->fhPt; |
} |
elseif($orientation=='l' or $orientation=='landscape') |
{ |
$this->DefOrientation='L'; |
$this->wPt=$this->fhPt; |
$this->hPt=$this->fwPt; |
} |
else |
$this->Error('Incorrect orientation: '.$orientation); |
$this->CurOrientation=$this->DefOrientation; |
$this->w=$this->wPt/$this->k; |
$this->h=$this->hPt/$this->k; |
//Page margins (1 cm) |
$margin=28.35/$this->k; |
$this->SetMargins($margin,$margin); |
//Interior cell margin (1 mm) |
$this->cMargin=$margin/10; |
//Line width (0.2 mm) |
$this->LineWidth=.567/$this->k; |
//Automatic page break |
$this->SetAutoPageBreak(true,2*$margin); |
//Full width display mode |
$this->SetDisplayMode('fullwidth'); |
//Compression |
$this->SetCompression(true); |
} |
function SetMargins($left,$top,$right=-1) |
{ |
//Set left, top and right margins |
$this->lMargin=$left; |
$this->tMargin=$top; |
if($right==-1) |
$right=$left; |
$this->rMargin=$right; |
} |
function SetLeftMargin($margin) |
{ |
//Set left margin |
$this->lMargin=$margin; |
if($this->page>0 and $this->x<$margin) |
$this->x=$margin; |
} |
function SetTopMargin($margin) |
{ |
//Set top margin |
$this->tMargin=$margin; |
} |
function SetRightMargin($margin) |
{ |
//Set right margin |
$this->rMargin=$margin; |
} |
function SetAutoPageBreak($auto,$margin=0) |
{ |
//Set auto page break mode and triggering margin |
$this->AutoPageBreak=$auto; |
$this->bMargin=$margin; |
$this->PageBreakTrigger=$this->h-$margin; |
} |
function SetDisplayMode($zoom,$layout='continuous') |
{ |
//Set display mode in viewer |
if($zoom=='fullpage' or $zoom=='fullwidth' or $zoom=='real' or $zoom=='default' or !is_string($zoom)) |
$this->ZoomMode=$zoom; |
elseif($zoom=='zoom') |
$this->ZoomMode=$layout; |
else |
$this->Error('Incorrect zoom display mode: '.$zoom); |
if($layout=='single' or $layout=='continuous' or $layout=='two' or $layout=='default') |
$this->LayoutMode=$layout; |
elseif($zoom!='zoom') |
$this->Error('Incorrect layout display mode: '.$layout); |
} |
function SetCompression($compress) |
{ |
//Set page compression |
if(function_exists('gzcompress')) |
$this->compress=$compress; |
else |
$this->compress=false; |
} |
function SetTitle($title) |
{ |
//Title of document |
$this->title=$title; |
} |
function SetSubject($subject) |
{ |
//Subject of document |
$this->subject=$subject; |
} |
function SetAuthor($author) |
{ |
//Author of document |
$this->author=$author; |
} |
function SetKeywords($keywords) |
{ |
//Keywords of document |
$this->keywords=$keywords; |
} |
function SetCreator($creator) |
{ |
//Creator of document |
$this->creator=$creator; |
} |
function AliasNbPages($alias='{nb}') |
{ |
//Define an alias for total number of pages |
$this->AliasNbPages=$alias; |
} |
function Error($msg) |
{ |
//Fatal error |
die('<B>FPDF error: </B>'.$msg); |
} |
function Open() |
{ |
//Begin document |
$this->_begindoc(); |
} |
function Close() |
{ |
//Terminate document |
if($this->page==0) |
$this->AddPage(); |
//Page footer |
$this->InFooter=true; |
$this->Footer(); |
$this->InFooter=false; |
//Close page |
$this->_endpage(); |
//Close document |
$this->_enddoc(); |
} |
function AddPage($orientation='') |
{ |
//Start a new page |
$family=$this->FontFamily; |
$style=$this->FontStyle.($this->underline ? 'U' : ''); |
$size=$this->FontSizePt; |
$lw=$this->LineWidth; |
$dc=$this->DrawColor; |
$fc=$this->FillColor; |
$tc=$this->TextColor; |
$cf=$this->ColorFlag; |
if($this->page>0) |
{ |
//Page footer |
$this->InFooter=true; |
$this->Footer(); |
$this->InFooter=false; |
//Close page |
$this->_endpage(); |
} |
//Start new page |
$this->_beginpage($orientation); |
//Set line cap style to square |
$this->_out('2 J'); |
//Set line width |
$this->LineWidth=$lw; |
$this->_out(sprintf('%.2f w',$lw*$this->k)); |
//Set font |
if($family) |
$this->SetFont($family,$style,$size); |
//Set colors |
$this->DrawColor=$dc; |
if($dc!='0 G') |
$this->_out($dc); |
$this->FillColor=$fc; |
if($fc!='0 g') |
$this->_out($fc); |
$this->TextColor=$tc; |
$this->ColorFlag=$cf; |
//Page header |
$this->Header(); |
//Restore line width |
if($this->LineWidth!=$lw) |
{ |
$this->LineWidth=$lw; |
$this->_out(sprintf('%.2f w',$lw*$this->k)); |
} |
//Restore font |
if($family) |
$this->SetFont($family,$style,$size); |
//Restore colors |
if($this->DrawColor!=$dc) |
{ |
$this->DrawColor=$dc; |
$this->_out($dc); |
} |
if($this->FillColor!=$fc) |
{ |
$this->FillColor=$fc; |
$this->_out($fc); |
} |
$this->TextColor=$tc; |
$this->ColorFlag=$cf; |
} |
function Header() |
{ |
//To be implemented in your own inherited class |
} |
function Footer() |
{ |
//To be implemented in your own inherited class |
} |
function PageNo() |
{ |
//Get current page number |
return $this->page; |
} |
function SetDrawColor($r,$g=-1,$b=-1) |
{ |
//Set color for all stroking operations |
if(($r==0 and $g==0 and $b==0) or $g==-1) |
$this->DrawColor=sprintf('%.3f G',$r/255); |
else |
$this->DrawColor=sprintf('%.3f %.3f %.3f RG',$r/255,$g/255,$b/255); |
if($this->page>0) |
$this->_out($this->DrawColor); |
} |
function SetFillColor($r,$g=-1,$b=-1) |
{ |
//Set color for all filling operations |
if(($r==0 and $g==0 and $b==0) or $g==-1) |
$this->FillColor=sprintf('%.3f g',$r/255); |
else |
$this->FillColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255); |
$this->ColorFlag=($this->FillColor!=$this->TextColor); |
if($this->page>0) |
$this->_out($this->FillColor); |
} |
function SetTextColor($r,$g=-1,$b=-1) |
{ |
//Set color for text |
if(($r==0 and $g==0 and $b==0) or $g==-1) |
$this->TextColor=sprintf('%.3f g',$r/255); |
else |
$this->TextColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255); |
$this->ColorFlag=($this->FillColor!=$this->TextColor); |
} |
function GetStringWidth($s) |
{ |
//Get width of a string in the current font |
$s=(string)$s; |
$cw=&$this->CurrentFont['cw']; |
$w=0; |
$l=strlen($s); |
for($i=0;$i<$l;$i++) |
$w+=$cw[$s{$i}]; |
return $w*$this->FontSize/1000; |
} |
function SetLineWidth($width) |
{ |
//Set line width |
$this->LineWidth=$width; |
if($this->page>0) |
$this->_out(sprintf('%.2f w',$width*$this->k)); |
} |
function Line($x1,$y1,$x2,$y2) |
{ |
//Draw a line |
$this->_out(sprintf('%.2f %.2f m %.2f %.2f l S',$x1*$this->k,($this->h-$y1)*$this->k,$x2*$this->k,($this->h-$y2)*$this->k)); |
} |
function Rect($x,$y,$w,$h,$style='') |
{ |
//Draw a rectangle |
if($style=='F') |
$op='f'; |
elseif($style=='FD' or $style=='DF') |
$op='B'; |
else |
$op='S'; |
$this->_out(sprintf('%.2f %.2f %.2f %.2f re %s',$x*$this->k,($this->h-$y)*$this->k,$w*$this->k,-$h*$this->k,$op)); |
} |
function AddFont($family,$style='',$file='') |
{ |
//Add a TrueType or Type1 font |
$family=strtolower($family); |
if($family=='arial') |
$family='helvetica'; |
$style=strtoupper($style); |
if($style=='IB') |
$style='BI'; |
if(isset($this->fonts[$family.$style])) |
$this->Error('Font already added: '.$family.' '.$style); |
if($file=='') |
$file=str_replace(' ','',$family).strtolower($style).'.php'; |
if(defined('FPDF_FONTPATH')) |
$file=FPDF_FONTPATH.$file; |
include($file); |
if(!isset($name)) |
$this->Error('Could not include font definition file'); |
$i=count($this->fonts)+1; |
$this->fonts[$family.$style]=array('i'=>$i,'type'=>$type,'name'=>$name,'desc'=>$desc,'up'=>$up,'ut'=>$ut,'cw'=>$cw,'enc'=>$enc,'file'=>$file); |
if($diff) |
{ |
//Search existing encodings |
$d=0; |
$nb=count($this->diffs); |
for($i=1;$i<=$nb;$i++) |
if($this->diffs[$i]==$diff) |
{ |
$d=$i; |
break; |
} |
if($d==0) |
{ |
$d=$nb+1; |
$this->diffs[$d]=$diff; |
} |
$this->fonts[$family.$style]['diff']=$d; |
} |
if($file) |
{ |
if($type=='TrueType') |
$this->FontFiles[$file]=array('length1'=>$originalsize); |
else |
$this->FontFiles[$file]=array('length1'=>$size1,'length2'=>$size2); |
} |
} |
function SetFont($family,$style='',$size=0) |
{ |
//Select a font; size given in points |
global $fpdf_charwidths; |
$family=strtolower($family); |
if($family=='') |
$family=$this->FontFamily; |
if($family=='arial') |
$family='helvetica'; |
elseif($family=='symbol' or $family=='zapfdingbats') |
$style=''; |
$style=strtoupper($style); |
if(is_int(strpos($style,'U'))) |
{ |
$this->underline=true; |
$style=str_replace('U','',$style); |
} |
else |
$this->underline=false; |
if($style=='IB') |
$style='BI'; |
if($size==0) |
$size=$this->FontSizePt; |
//Test if font is already selected |
if($this->FontFamily==$family and $this->FontStyle==$style and $this->FontSizePt==$size) |
return; |
//Test if used for the first time |
$fontkey=$family.$style; |
if(!isset($this->fonts[$fontkey])) |
{ |
//Check if one of the standard fonts |
if(isset($this->CoreFonts[$fontkey])) |
{ |
if(!isset($fpdf_charwidths[$fontkey])) |
{ |
//Load metric file |
$file=$family; |
if($family=='times' or $family=='helvetica') |
$file.=strtolower($style); |
$file.='.php'; |
if(defined('FPDF_FONTPATH')) |
$file=FPDF_FONTPATH.$file; |
include($file); |
if(!isset($fpdf_charwidths[$fontkey])) |
$this->Error('Could not include font metric file'); |
} |
$i=count($this->fonts)+1; |
$this->fonts[$fontkey]=array('i'=>$i,'type'=>'core','name'=>$this->CoreFonts[$fontkey],'up'=>-100,'ut'=>50,'cw'=>$fpdf_charwidths[$fontkey]); |
} |
else |
$this->Error('Undefined font: '.$family.' '.$style); |
} |
//Select it |
$this->FontFamily=$family; |
$this->FontStyle=$style; |
$this->FontSizePt=$size; |
$this->FontSize=$size/$this->k; |
$this->CurrentFont=&$this->fonts[$fontkey]; |
if($this->page>0) |
$this->_out(sprintf('BT /F%d %.2f Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); |
} |
function SetFontSize($size) |
{ |
//Set font size in points |
if($this->FontSizePt==$size) |
return; |
$this->FontSizePt=$size; |
$this->FontSize=$size/$this->k; |
if($this->page>0) |
$this->_out(sprintf('BT /F%d %.2f Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); |
} |
function AddLink() |
{ |
//Create a new internal link |
$n=count($this->links)+1; |
$this->links[$n]=array(0,0); |
return $n; |
} |
function SetLink($link,$y=0,$page=-1) |
{ |
//Set destination of internal link |
if($y==-1) |
$y=$this->y; |
if($page==-1) |
$page=$this->page; |
$this->links[$link]=array($page,$y); |
} |
function Link($x,$y,$w,$h,$link) |
{ |
//Put a link on the page |
$this->PageLinks[$this->page][]=array($x*$this->k,$this->hPt-$y*$this->k,$w*$this->k,$h*$this->k,$link); |
} |
function Text($x,$y,$txt) |
{ |
//Output a string |
$txt=str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$txt))); |
$s=sprintf('BT %.2f %.2f Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$txt); |
if($this->underline and $txt!='') |
$s.=' '.$this->_dounderline($x,$y,$txt); |
if($this->ColorFlag) |
$s='q '.$this->TextColor.' '.$s.' Q'; |
$this->_out($s); |
} |
function AcceptPageBreak() |
{ |
//Accept automatic page break or not |
return $this->AutoPageBreak; |
} |
function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='') |
{ |
//Output a cell |
$k=$this->k; |
if($this->y+$h>$this->PageBreakTrigger and !$this->InFooter and $this->AcceptPageBreak()) |
{ |
$x=$this->x; |
$ws=$this->ws; |
if($ws>0) |
{ |
$this->ws=0; |
$this->_out('0 Tw'); |
} |
$this->AddPage($this->CurOrientation); |
$this->x=$x; |
if($ws>0) |
{ |
$this->ws=$ws; |
$this->_out(sprintf('%.3f Tw',$ws*$k)); |
} |
} |
if($w==0) |
$w=$this->w-$this->rMargin-$this->x; |
$s=''; |
if($fill==1 or $border==1) |
{ |
if($fill==1) |
$op=($border==1) ? 'B' : 'f'; |
else |
$op='S'; |
$s=sprintf('%.2f %.2f %.2f %.2f re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op); |
} |
if(is_string($border)) |
{ |
$x=$this->x; |
$y=$this->y; |
if(is_int(strpos($border,'L'))) |
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k); |
if(is_int(strpos($border,'T'))) |
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k); |
if(is_int(strpos($border,'R'))) |
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k); |
if(is_int(strpos($border,'B'))) |
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k); |
} |
if($txt!='') |
{ |
if($align=='R') |
$dx=$w-$this->cMargin-$this->GetStringWidth($txt); |
elseif($align=='C') |
$dx=($w-$this->GetStringWidth($txt))/2; |
else |
$dx=$this->cMargin; |
$txt=str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$txt))); |
if($this->ColorFlag) |
$s.='q '.$this->TextColor.' '; |
$s.=sprintf('BT %.2f %.2f Td (%s) Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$txt); |
if($this->underline) |
$s.=' '.$this->_dounderline($this->x+$dx,$this->y+.5*$h+.3*$this->FontSize,$txt); |
if($this->ColorFlag) |
$s.=' Q'; |
if($link) |
$this->Link($this->x+$dx,$this->y+.5*$h-.5*$this->FontSize,$this->GetStringWidth($txt),$this->FontSize,$link); |
} |
if($s) |
$this->_out($s); |
$this->lasth=$h; |
if($ln>0) |
{ |
//Go to next line |
$this->y+=$h; |
if($ln==1) |
$this->x=$this->lMargin; |
} |
else |
$this->x+=$w; |
} |
function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0) |
{ |
//Output text with automatic or explicit line breaks |
$cw=&$this->CurrentFont['cw']; |
if($w==0) |
$w=$this->w-$this->rMargin-$this->x; |
$wmax=($w-2*$this->cMargin)*1000/$this->FontSize; |
$s=str_replace("\r",'',$txt); |
$nb=strlen($s); |
if($nb>0 and $s[$nb-1]=="\n") |
$nb--; |
$b=0; |
if($border) |
{ |
if($border==1) |
{ |
$border='LTRB'; |
$b='LRT'; |
$b2='LR'; |
} |
else |
{ |
$b2=''; |
if(is_int(strpos($border,'L'))) |
$b2.='L'; |
if(is_int(strpos($border,'R'))) |
$b2.='R'; |
$b=is_int(strpos($border,'T')) ? $b2.'T' : $b2; |
} |
} |
$sep=-1; |
$i=0; |
$j=0; |
$l=0; |
$ns=0; |
$nl=1; |
while($i<$nb) |
{ |
//Get next character |
$c=$s[$i]; |
if($c=="\n") |
{ |
//Explicit line break |
if($this->ws>0) |
{ |
$this->ws=0; |
$this->_out('0 Tw'); |
} |
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); |
$i++; |
$sep=-1; |
$j=$i; |
$l=0; |
$ns=0; |
$nl++; |
if($border and $nl==2) |
$b=$b2; |
continue; |
} |
if($c==' ') |
{ |
$sep=$i; |
$ls=$l; |
$ns++; |
} |
$l+=$cw[$c]; |
if($l>$wmax) |
{ |
//Automatic line break |
if($sep==-1) |
{ |
if($i==$j) |
$i++; |
if($this->ws>0) |
{ |
$this->ws=0; |
$this->_out('0 Tw'); |
} |
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); |
} |
else |
{ |
if($align=='J') |
{ |
$this->ws=($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0; |
$this->_out(sprintf('%.3f Tw',$this->ws*$this->k)); |
} |
$this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill); |
$i=$sep+1; |
} |
$sep=-1; |
$j=$i; |
$l=0; |
$ns=0; |
$nl++; |
if($border and $nl==2) |
$b=$b2; |
} |
else |
$i++; |
} |
//Last chunk |
if($this->ws>0) |
{ |
$this->ws=0; |
$this->_out('0 Tw'); |
} |
if($border and is_int(strpos($border,'B'))) |
$b.='B'; |
$this->Cell($w,$h,substr($s,$j,$i),$b,2,$align,$fill); |
$this->x=$this->lMargin; |
} |
function Write($h,$txt,$link='') |
{ |
//Output text in flowing mode |
$cw=&$this->CurrentFont['cw']; |
$w=$this->w-$this->rMargin-$this->x; |
$wmax=($w-2*$this->cMargin)*1000/$this->FontSize; |
$s=str_replace("\r",'',$txt); |
$nb=strlen($s); |
$sep=-1; |
$i=0; |
$j=0; |
$l=0; |
$nl=1; |
while($i<$nb) |
{ |
//Get next character |
$c=$s{$i}; |
if($c=="\n") |
{ |
//Explicit line break |
$this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link); |
$i++; |
$sep=-1; |
$j=$i; |
$l=0; |
if($nl==1) |
{ |
$this->x=$this->lMargin; |
$w=$this->w-$this->rMargin-$this->x; |
$wmax=($w-2*$this->cMargin)*1000/$this->FontSize; |
} |
$nl++; |
continue; |
} |
if($c==' ') |
{ |
$sep=$i; |
$ls=$l; |
} |
$l+=$cw[$c]; |
if($l>$wmax) |
{ |
//Automatic line break |
if($sep==-1) |
{ |
if($this->x>$this->lMargin) |
{ |
//Move to next line |
$this->x=$this->lMargin; |
$this->y+=$h; |
$w=$this->w-$this->rMargin-$this->x; |
$wmax=($w-2*$this->cMargin)*1000/$this->FontSize; |
$i++; |
$nl++; |
continue; |
} |
if($i==$j) |
$i++; |
$this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',0,$link); |
} |
else |
{ |
$this->Cell($w,$h,substr($s,$j,$sep-$j),0,2,'',0,$link); |
$i=$sep+1; |
} |
$sep=-1; |
$j=$i; |
$l=0; |
if($nl==1) |
{ |
$this->x=$this->lMargin; |
$w=$this->w-$this->rMargin-$this->x; |
$wmax=($w-2*$this->cMargin)*1000/$this->FontSize; |
} |
$nl++; |
} |
else |
$i++; |
} |
//Last chunk |
if($i!=$j) |
$this->Cell($l/1000*$this->FontSize,$h,substr($s,$j,$i),0,0,'',0,$link); |
} |
function Image($file,$x,$y,$w,$h=0,$type='',$link='') |
{ |
//Put an image on the page |
if(!isset($this->images[$file])) |
{ |
//First use of image, get info |
if($type=='') |
{ |
$pos=strrpos($file,'.'); |
if(!$pos) |
$this->Error('Image file has no extension and no type was specified: '.$file); |
$type=substr($file,$pos+1); |
} |
$type=strtolower($type); |
$mqr=get_magic_quotes_runtime(); |
set_magic_quotes_runtime(0); |
if($type=='jpg' or $type=='jpeg') |
$info=$this->_parsejpg($file); |
elseif($type=='png') |
$info=$this->_parsepng($file); |
else |
$this->Error('Unsupported image file type: '.$type); |
set_magic_quotes_runtime($mqr); |
$info['i']=count($this->images)+1; |
$this->images[$file]=$info; |
} |
else |
$info=$this->images[$file]; |
//Automatic width or height calculation |
if($w==0) |
$w=$h*$info['w']/$info['h']; |
if($h==0) |
$h=$w*$info['h']/$info['w']; |
$this->_out(sprintf('q %.2f 0 0 %.2f %.2f %.2f cm /I%d Do Q',$w*$this->k,$h*$this->k,$x*$this->k,($this->h-($y+$h))*$this->k,$info['i'])); |
if($link) |
$this->Link($x,$y,$w,$h,$link); |
} |
function Ln($h='') |
{ |
//Line feed; default value is last cell height |
$this->x=$this->lMargin; |
if(is_string($h)) |
$this->y+=$this->lasth; |
else |
$this->y+=$h; |
} |
function GetX() |
{ |
//Get x position |
return $this->x; |
} |
function SetX($x) |
{ |
//Set x position |
if($x>=0) |
$this->x=$x; |
else |
$this->x=$this->w+$x; |
} |
function GetY() |
{ |
//Get y position |
return $this->y; |
} |
function SetY($y) |
{ |
//Set y position and reset x |
$this->x=$this->lMargin; |
if($y>=0) |
$this->y=$y; |
else |
$this->y=$this->h+$y; |
} |
function SetXY($x,$y) |
{ |
//Set x and y positions |
$this->SetY($y); |
$this->SetX($x); |
} |
function Output($file='',$download=false) |
{ |
//Output PDF to file or browser |
global $HTTP_ENV_VARS; |
if($this->state<3) |
$this->Close(); |
if($file=='') |
{ |
//Send to browser |
Header('Content-Type: application/pdf'); |
if(headers_sent()) |
$this->Error('Some data has already been output to browser, can\'t send PDF file'); |
Header('Content-Length: '.strlen($this->buffer)); |
Header('Content-disposition: inline; filename=doc.pdf'); |
echo $this->buffer; |
} |
else |
{ |
if($download) |
{ |
//Download file |
if(isset($HTTP_ENV_VARS['HTTP_USER_AGENT']) and strpos($HTTP_ENV_VARS['HTTP_USER_AGENT'],'MSIE 5.5')) |
Header('Content-Type: application/dummy'); |
else |
Header('Content-Type: application/octet-stream'); |
if(headers_sent()) |
$this->Error('Some data has already been output to browser, can\'t send PDF file'); |
Header('Content-Length: '.strlen($this->buffer)); |
Header('Content-disposition: attachment; filename='.$file); |
echo $this->buffer; |
} |
else |
{ |
//Save file locally |
$f=fopen($file,'wb'); |
if(!$f) |
$this->Error('Unable to create output file: '.$file); |
fwrite($f,$this->buffer,strlen($this->buffer)); |
fclose($f); |
} |
} |
} |
/**************************************************************************** |
* * |
* Private methods * |
* * |
****************************************************************************/ |
function _begindoc() |
{ |
//Start document |
$this->state=1; |
$this->_out('%PDF-1.3'); |
} |
function _putpages() |
{ |
$nb=$this->page; |
if(!empty($this->AliasNbPages)) |
{ |
//Replace number of pages |
for($n=1;$n<=$nb;$n++) |
$this->pages[$n]=str_replace($this->AliasNbPages,$nb,$this->pages[$n]); |
} |
if($this->DefOrientation=='P') |
{ |
$wPt=$this->fwPt; |
$hPt=$this->fhPt; |
} |
else |
{ |
$wPt=$this->fhPt; |
$hPt=$this->fwPt; |
} |
$filter=($this->compress) ? '/Filter /FlateDecode ' : ''; |
for($n=1;$n<=$nb;$n++) |
{ |
//Page |
$this->_newobj(); |
$this->_out('<</Type /Page'); |
$this->_out('/Parent 1 0 R'); |
if(isset($this->OrientationChanges[$n])) |
$this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$hPt,$wPt)); |
$this->_out('/Resources 2 0 R'); |
if(isset($this->PageLinks[$n])) |
{ |
//Links |
$annots='/Annots ['; |
foreach($this->PageLinks[$n] as $pl) |
{ |
$rect=sprintf('%.2f %.2f %.2f %.2f',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]); |
$annots.='<</Type /Annot /Subtype /Link /Rect ['.$rect.'] /Border [0 0 0] '; |
if(is_string($pl[4])) |
$annots.='/A <</S /URI /URI '.$this->_textstring($pl[4]).'>>>>'; |
else |
{ |
$l=$this->links[$pl[4]]; |
$h=isset($this->OrientationChanges[$l[0]]) ? $wPt : $hPt; |
$annots.=sprintf('/Dest [%d 0 R /XYZ 0 %.2f null]>>',1+2*$l[0],$h-$l[1]*$this->k); |
} |
} |
$this->_out($annots.']'); |
} |
$this->_out('/Contents '.($this->n+1).' 0 R>>'); |
$this->_out('endobj'); |
//Page content |
$p=($this->compress) ? gzcompress($this->pages[$n]) : $this->pages[$n]; |
$this->_newobj(); |
$this->_out('<<'.$filter.'/Length '.strlen($p).'>>'); |
$this->_putstream($p); |
$this->_out('endobj'); |
} |
//Pages root |
$this->offsets[1]=strlen($this->buffer); |
$this->_out('1 0 obj'); |
$this->_out('<</Type /Pages'); |
$kids='/Kids ['; |
for($i=0;$i<$nb;$i++) |
$kids.=(3+2*$i).' 0 R '; |
$this->_out($kids.']'); |
$this->_out('/Count '.$nb); |
$this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$wPt,$hPt)); |
$this->_out('>>'); |
$this->_out('endobj'); |
} |
function _putfonts() |
{ |
$nf=$this->n; |
foreach($this->diffs as $diff) |
{ |
//Encodings |
$this->_newobj(); |
$this->_out('<</Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences ['.$diff.']>>'); |
$this->_out('endobj'); |
} |
$mqr=get_magic_quotes_runtime(); |
set_magic_quotes_runtime(0); |
foreach($this->FontFiles as $file=>$info) |
{ |
//Font file embedding |
$this->_newobj(); |
$this->FontFiles[$file]['n']=$this->n; |
if(defined('FPDF_FONTPATH')) |
$file=FPDF_FONTPATH.$file; |
$size=filesize($file); |
if(!$size) |
$this->Error('Font file not found'); |
$this->_out('<</Length '.$size); |
if(substr($file,-2)=='.z') |
$this->_out('/Filter /FlateDecode'); |
$this->_out('/Length1 '.$info['length1']); |
if(isset($info['length2'])) |
$this->_out('/Length2 '.$info['length2'].' /Length3 0'); |
$this->_out('>>'); |
$f=fopen($file,'rb'); |
$this->_putstream(fread($f,$size)); |
fclose($f); |
$this->_out('endobj'); |
} |
set_magic_quotes_runtime($mqr); |
foreach($this->fonts as $k=>$font) |
{ |
//Font objects |
$this->_newobj(); |
$this->fonts[$k]['n']=$this->n; |
$name=$font['name']; |
$this->_out('<</Type /Font'); |
$this->_out('/BaseFont /'.$name); |
if($font['type']=='core') |
{ |
//Standard font |
$this->_out('/Subtype /Type1'); |
if($name!='Symbol' and $name!='ZapfDingbats') |
$this->_out('/Encoding /WinAnsiEncoding'); |
} |
else |
{ |
//Additional font |
$this->_out('/Subtype /'.$font['type']); |
$this->_out('/FirstChar 32'); |
$this->_out('/LastChar 255'); |
$this->_out('/Widths '.($this->n+1).' 0 R'); |
$this->_out('/FontDescriptor '.($this->n+2).' 0 R'); |
if($font['enc']) |
{ |
if(isset($font['diff'])) |
$this->_out('/Encoding '.($nf+$font['diff']).' 0 R'); |
else |
$this->_out('/Encoding /WinAnsiEncoding'); |
} |
} |
$this->_out('>>'); |
$this->_out('endobj'); |
if($font['type']!='core') |
{ |
//Widths |
$this->_newobj(); |
$cw=&$font['cw']; |
$s='['; |
for($i=32;$i<=255;$i++) |
$s.=$cw[chr($i)].' '; |
$this->_out($s.']'); |
$this->_out('endobj'); |
//Descriptor |
$this->_newobj(); |
$s='<</Type /FontDescriptor /FontName /'.$name; |
foreach($font['desc'] as $k=>$v) |
$s.=' /'.$k.' '.$v; |
$file=$font['file']; |
if($file) |
$s.=' /FontFile'.($font['type']=='Type1' ? '' : '2').' '.$this->FontFiles[$file]['n'].' 0 R'; |
$this->_out($s.'>>'); |
$this->_out('endobj'); |
} |
} |
} |
function _putimages() |
{ |
$filter=($this->compress) ? '/Filter /FlateDecode ' : ''; |
foreach($this->images as $file=>$info) |
{ |
$this->_newobj(); |
$this->images[$file]['n']=$this->n; |
$this->_out('<</Type /XObject'); |
$this->_out('/Subtype /Image'); |
$this->_out('/Width '.$info['w']); |
$this->_out('/Height '.$info['h']); |
if($info['cs']=='Indexed') |
$this->_out('/ColorSpace [/Indexed /DeviceRGB '.(strlen($info['pal'])/3-1).' '.($this->n+1).' 0 R]'); |
else |
{ |
$this->_out('/ColorSpace /'.$info['cs']); |
if($info['cs']=='DeviceCMYK') |
$this->_out('/Decode [1 0 1 0 1 0 1 0]'); |
} |
$this->_out('/BitsPerComponent '.$info['bpc']); |
$this->_out('/Filter /'.$info['f']); |
if(isset($info['parms'])) |
$this->_out($info['parms']); |
if(isset($info['trns']) and is_array($info['trns'])) |
{ |
$trns=''; |
for($i=0;$i<count($info['trns']);$i++) |
$trns.=$info['trns'][$i].' '.$info['trns'][$i].' '; |
$this->_out('/Mask ['.$trns.']'); |
} |
$this->_out('/Length '.strlen($info['data']).'>>'); |
$this->_putstream($info['data']); |
$this->_out('endobj'); |
//Palette |
if($info['cs']=='Indexed') |
{ |
$this->_newobj(); |
$pal=($this->compress) ? gzcompress($info['pal']) : $info['pal']; |
$this->_out('<<'.$filter.'/Length '.strlen($pal).'>>'); |
$this->_putstream($pal); |
$this->_out('endobj'); |
} |
} |
} |
function _putresources() |
{ |
$this->_putfonts(); |
$this->_putimages(); |
//Resource dictionary |
$this->offsets[2]=strlen($this->buffer); |
$this->_out('2 0 obj'); |
$this->_out('<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]'); |
$this->_out('/Font <<'); |
foreach($this->fonts as $font) |
$this->_out('/F'.$font['i'].' '.$font['n'].' 0 R'); |
$this->_out('>>'); |
if(count($this->images)) |
{ |
$this->_out('/XObject <<'); |
foreach($this->images as $image) |
$this->_out('/I'.$image['i'].' '.$image['n'].' 0 R'); |
$this->_out('>>'); |
} |
$this->_out('>>'); |
$this->_out('endobj'); |
} |
function _putinfo() |
{ |
$this->_out('/Producer '.$this->_textstring('FPDF '.FPDF_VERSION)); |
if(!empty($this->title)) |
$this->_out('/Title '.$this->_textstring($this->title)); |
if(!empty($this->subject)) |
$this->_out('/Subject '.$this->_textstring($this->subject)); |
if(!empty($this->author)) |
$this->_out('/Author '.$this->_textstring($this->author)); |
if(!empty($this->keywords)) |
$this->_out('/Keywords '.$this->_textstring($this->keywords)); |
if(!empty($this->creator)) |
$this->_out('/Creator '.$this->_textstring($this->creator)); |
$this->_out('/CreationDate '.$this->_textstring('D:'.date('YmdHis'))); |
} |
function _putcatalog() |
{ |
$this->_out('/Type /Catalog'); |
$this->_out('/Pages 1 0 R'); |
if($this->ZoomMode=='fullpage') |
$this->_out('/OpenAction [3 0 R /Fit]'); |
elseif($this->ZoomMode=='fullwidth') |
$this->_out('/OpenAction [3 0 R /FitH null]'); |
elseif($this->ZoomMode=='real') |
$this->_out('/OpenAction [3 0 R /XYZ null null 1]'); |
elseif(!is_string($this->ZoomMode)) |
$this->_out('/OpenAction [3 0 R /XYZ null null '.($this->ZoomMode/100).']'); |
if($this->LayoutMode=='single') |
$this->_out('/PageLayout /SinglePage'); |
elseif($this->LayoutMode=='continuous') |
$this->_out('/PageLayout /OneColumn'); |
elseif($this->LayoutMode=='two') |
$this->_out('/PageLayout /TwoColumnLeft'); |
} |
function _puttrailer() |
{ |
$this->_out('/Size '.($this->n+1)); |
$this->_out('/Root '.$this->n.' 0 R'); |
$this->_out('/Info '.($this->n-1).' 0 R'); |
} |
function _enddoc() |
{ |
$this->_putpages(); |
$this->_putresources(); |
//Info |
$this->_newobj(); |
$this->_out('<<'); |
$this->_putinfo(); |
$this->_out('>>'); |
$this->_out('endobj'); |
//Catalog |
$this->_newobj(); |
$this->_out('<<'); |
$this->_putcatalog(); |
$this->_out('>>'); |
$this->_out('endobj'); |
//Cross-ref |
$o=strlen($this->buffer); |
$this->_out('xref'); |
$this->_out('0 '.($this->n+1)); |
$this->_out('0000000000 65535 f '); |
for($i=1;$i<=$this->n;$i++) |
$this->_out(sprintf('%010d 00000 n ',$this->offsets[$i])); |
//Trailer |
$this->_out('trailer'); |
$this->_out('<<'); |
$this->_puttrailer(); |
$this->_out('>>'); |
$this->_out('startxref'); |
$this->_out($o); |
$this->_out('%%EOF'); |
$this->state=3; |
} |
function _beginpage($orientation) |
{ |
$this->page++; |
$this->pages[$this->page]=''; |
$this->state=2; |
$this->x=$this->lMargin; |
$this->y=$this->tMargin; |
$this->lasth=0; |
$this->FontFamily=''; |
//Page orientation |
if(!$orientation) |
$orientation=$this->DefOrientation; |
else |
{ |
$orientation=strtoupper($orientation{0}); |
if($orientation!=$this->DefOrientation) |
$this->OrientationChanges[$this->page]=true; |
} |
if($orientation!=$this->CurOrientation) |
{ |
//Change orientation |
if($orientation=='P') |
{ |
$this->wPt=$this->fwPt; |
$this->hPt=$this->fhPt; |
$this->w=$this->fw; |
$this->h=$this->fh; |
} |
else |
{ |
$this->wPt=$this->fhPt; |
$this->hPt=$this->fwPt; |
$this->w=$this->fh; |
$this->h=$this->fw; |
} |
$this->PageBreakTrigger=$this->h-$this->bMargin; |
$this->CurOrientation=$orientation; |
} |
} |
function _endpage() |
{ |
//End of page contents |
$this->state=1; |
} |
function _newobj() |
{ |
//Begin a new object |
$this->n++; |
$this->offsets[$this->n]=strlen($this->buffer); |
$this->_out($this->n.' 0 obj'); |
} |
function _dounderline($x,$y,$txt) |
{ |
//Underline text |
$up=$this->CurrentFont['up']; |
$ut=$this->CurrentFont['ut']; |
$w=$this->GetStringWidth($txt)+$this->ws*substr_count($txt,' '); |
return sprintf('%.2f %.2f %.2f %.2f re f',$x*$this->k,($this->h-($y-$up/1000*$this->FontSize))*$this->k,$w*$this->k,-$ut/1000*$this->FontSizePt); |
} |
function _parsejpg($file) |
{ |
//Extract info from a JPEG file |
$a=GetImageSize($file); |
if(!$a) |
$this->Error('Missing or incorrect image file: '.$file); |
if($a[2]!=2) |
$this->Error('Not a JPEG file: '.$file); |
if(!isset($a['channels']) or $a['channels']==3) |
$colspace='DeviceRGB'; |
elseif($a['channels']==4) |
$colspace='DeviceCMYK'; |
else |
$colspace='DeviceGray'; |
$bpc=isset($a['bits']) ? $a['bits'] : 8; |
//Read whole file |
$f=fopen($file,'rb'); |
$data=fread($f,filesize($file)); |
fclose($f); |
return array('w'=>$a[0],'h'=>$a[1],'cs'=>$colspace,'bpc'=>$bpc,'f'=>'DCTDecode','data'=>$data); |
} |
function _parsepng($file) |
{ |
//Extract info from a PNG file |
$f=fopen($file,'rb'); |
if(!$f) |
$this->Error('Can\'t open image file: '.$file); |
//Check signature |
if(fread($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) |
$this->Error('Not a PNG file: '.$file); |
//Read header chunk |
fread($f,4); |
if(fread($f,4)!='IHDR') |
$this->Error('Incorrect PNG file: '.$file); |
$w=$this->_freadint($f); |
$h=$this->_freadint($f); |
$bpc=ord(fread($f,1)); |
if($bpc>8) |
$this->Error('16-bit depth not supported: '.$file); |
$ct=ord(fread($f,1)); |
if($ct==0) |
$colspace='DeviceGray'; |
elseif($ct==2) |
$colspace='DeviceRGB'; |
elseif($ct==3) |
$colspace='Indexed'; |
else |
$this->Error('Alpha channel not supported: '.$file); |
if(ord(fread($f,1))!=0) |
$this->Error('Unknown compression method: '.$file); |
if(ord(fread($f,1))!=0) |
$this->Error('Unknown filter method: '.$file); |
if(ord(fread($f,1))!=0) |
$this->Error('Interlacing not supported: '.$file); |
fread($f,4); |
$parms='/DecodeParms <</Predictor 15 /Colors '.($ct==2 ? 3 : 1).' /BitsPerComponent '.$bpc.' /Columns '.$w.'>>'; |
//Scan chunks looking for palette, transparency and image data |
$pal=''; |
$trns=''; |
$data=''; |
do |
{ |
$n=$this->_freadint($f); |
$type=fread($f,4); |
if($type=='PLTE') |
{ |
//Read palette |
$pal=fread($f,$n); |
fread($f,4); |
} |
elseif($type=='tRNS') |
{ |
//Read transparency info |
$t=fread($f,$n); |
if($ct==0) |
$trns=array(ord(substr($t,1,1))); |
elseif($ct==2) |
$trns=array(ord(substr($t,1,1)),ord(substr($t,3,1)),ord(substr($t,5,1))); |
else |
{ |
$pos=strpos($t,chr(0)); |
if(is_int($pos)) |
$trns=array($pos); |
} |
fread($f,4); |
} |
elseif($type=='IDAT') |
{ |
//Read image data block |
$data.=fread($f,$n); |
fread($f,4); |
} |
elseif($type=='IEND') |
break; |
else |
fread($f,$n+4); |
} |
while($n); |
if($colspace=='Indexed' and empty($pal)) |
$this->Error('Missing palette in '.$file); |
fclose($f); |
return array('w'=>$w,'h'=>$h,'cs'=>$colspace,'bpc'=>$bpc,'f'=>'FlateDecode','parms'=>$parms,'pal'=>$pal,'trns'=>$trns,'data'=>$data); |
} |
function _freadint($f) |
{ |
//Read a 4-byte integer from file |
$i=ord(fread($f,1))<<24; |
$i+=ord(fread($f,1))<<16; |
$i+=ord(fread($f,1))<<8; |
$i+=ord(fread($f,1)); |
return $i; |
} |
function _textstring($s) |
{ |
//Format a text string |
return '('.$this->_escape($s).')'; |
} |
function _escape($s) |
{ |
//Add \ before \, ( and ) |
return str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$s))); |
} |
function _putstream($s) |
{ |
$this->_out('stream'); |
$this->_out($s); |
$this->_out('endstream'); |
} |
function _out($s) |
{ |
//Add a line to the document |
if($this->state==2) |
$this->pages[$this->page].=$s."\n"; |
else |
$this->buffer.=$s."\n"; |
} |
//End of class |
} |
//Handle silly IE contype request |
if(isset($HTTP_ENV_VARS['HTTP_USER_AGENT']) and $HTTP_ENV_VARS['HTTP_USER_AGENT']=='contype') |
{ |
Header('Content-Type: application/pdf'); |
exit; |
} |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/courier.php |
---|
New file |
0,0 → 1,7 |
<?php |
for($i=0;$i<=255;$i++) |
$fpdf_charwidths['courier'][chr($i)]=600; |
$fpdf_charwidths['courierB']=$fpdf_charwidths['courier']; |
$fpdf_charwidths['courierI']=$fpdf_charwidths['courier']; |
$fpdf_charwidths['courierBI']=$fpdf_charwidths['courier']; |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/timesi.php |
---|
New file |
0,0 → 1,15 |
<?php |
$fpdf_charwidths['timesI']=array( |
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, |
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675, |
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611, |
'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833, |
'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722, |
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, |
chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980, |
chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333, |
chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611, |
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, |
chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500, |
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444); |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/timesbi.php |
---|
New file |
0,0 → 1,15 |
<?php |
$fpdf_charwidths['timesBI']=array( |
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, |
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570, |
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667, |
'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889, |
'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778, |
'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, |
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, |
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333, |
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, |
chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, |
chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556, |
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444); |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/zapfdingbats.php |
---|
New file |
0,0 → 1,15 |
<?php |
$fpdf_charwidths['zapfdingbats']=array( |
chr(0)=>0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0, |
chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939, |
','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692, |
'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776, |
'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873, |
'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317, |
chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0, |
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788, |
chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788, |
chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918, |
chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874, |
chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0); |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/helveticai.php |
---|
New file |
0,0 → 1,15 |
<?php |
$fpdf_charwidths['helveticaI']=array( |
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, |
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584, |
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667, |
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, |
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833, |
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556, |
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, |
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, |
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, |
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, |
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556, |
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/iso-8859-15.map |
---|
New file |
0,0 → 1,256 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+0080 .notdef |
!81 U+0081 .notdef |
!82 U+0082 .notdef |
!83 U+0083 .notdef |
!84 U+0084 .notdef |
!85 U+0085 .notdef |
!86 U+0086 .notdef |
!87 U+0087 .notdef |
!88 U+0088 .notdef |
!89 U+0089 .notdef |
!8A U+008A .notdef |
!8B U+008B .notdef |
!8C U+008C .notdef |
!8D U+008D .notdef |
!8E U+008E .notdef |
!8F U+008F .notdef |
!90 U+0090 .notdef |
!91 U+0091 .notdef |
!92 U+0092 .notdef |
!93 U+0093 .notdef |
!94 U+0094 .notdef |
!95 U+0095 .notdef |
!96 U+0096 .notdef |
!97 U+0097 .notdef |
!98 U+0098 .notdef |
!99 U+0099 .notdef |
!9A U+009A .notdef |
!9B U+009B .notdef |
!9C U+009C .notdef |
!9D U+009D .notdef |
!9E U+009E .notdef |
!9F U+009F .notdef |
!A0 U+00A0 space |
!A1 U+00A1 exclamdown |
!A2 U+00A2 cent |
!A3 U+00A3 sterling |
!A4 U+20AC Euro |
!A5 U+00A5 yen |
!A6 U+0160 Scaron |
!A7 U+00A7 section |
!A8 U+0161 scaron |
!A9 U+00A9 copyright |
!AA U+00AA ordfeminine |
!AB U+00AB guillemotleft |
!AC U+00AC logicalnot |
!AD U+00AD hyphen |
!AE U+00AE registered |
!AF U+00AF macron |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+00B2 twosuperior |
!B3 U+00B3 threesuperior |
!B4 U+017D Zcaron |
!B5 U+00B5 mu |
!B6 U+00B6 paragraph |
!B7 U+00B7 periodcentered |
!B8 U+017E zcaron |
!B9 U+00B9 onesuperior |
!BA U+00BA ordmasculine |
!BB U+00BB guillemotright |
!BC U+0152 OE |
!BD U+0153 oe |
!BE U+0178 Ydieresis |
!BF U+00BF questiondown |
!C0 U+00C0 Agrave |
!C1 U+00C1 Aacute |
!C2 U+00C2 Acircumflex |
!C3 U+00C3 Atilde |
!C4 U+00C4 Adieresis |
!C5 U+00C5 Aring |
!C6 U+00C6 AE |
!C7 U+00C7 Ccedilla |
!C8 U+00C8 Egrave |
!C9 U+00C9 Eacute |
!CA U+00CA Ecircumflex |
!CB U+00CB Edieresis |
!CC U+00CC Igrave |
!CD U+00CD Iacute |
!CE U+00CE Icircumflex |
!CF U+00CF Idieresis |
!D0 U+00D0 Eth |
!D1 U+00D1 Ntilde |
!D2 U+00D2 Ograve |
!D3 U+00D3 Oacute |
!D4 U+00D4 Ocircumflex |
!D5 U+00D5 Otilde |
!D6 U+00D6 Odieresis |
!D7 U+00D7 multiply |
!D8 U+00D8 Oslash |
!D9 U+00D9 Ugrave |
!DA U+00DA Uacute |
!DB U+00DB Ucircumflex |
!DC U+00DC Udieresis |
!DD U+00DD Yacute |
!DE U+00DE Thorn |
!DF U+00DF germandbls |
!E0 U+00E0 agrave |
!E1 U+00E1 aacute |
!E2 U+00E2 acircumflex |
!E3 U+00E3 atilde |
!E4 U+00E4 adieresis |
!E5 U+00E5 aring |
!E6 U+00E6 ae |
!E7 U+00E7 ccedilla |
!E8 U+00E8 egrave |
!E9 U+00E9 eacute |
!EA U+00EA ecircumflex |
!EB U+00EB edieresis |
!EC U+00EC igrave |
!ED U+00ED iacute |
!EE U+00EE icircumflex |
!EF U+00EF idieresis |
!F0 U+00F0 eth |
!F1 U+00F1 ntilde |
!F2 U+00F2 ograve |
!F3 U+00F3 oacute |
!F4 U+00F4 ocircumflex |
!F5 U+00F5 otilde |
!F6 U+00F6 odieresis |
!F7 U+00F7 divide |
!F8 U+00F8 oslash |
!F9 U+00F9 ugrave |
!FA U+00FA uacute |
!FB U+00FB ucircumflex |
!FC U+00FC udieresis |
!FD U+00FD yacute |
!FE U+00FE thorn |
!FF U+00FF ydieresis |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/iso-8859-16.map |
---|
New file |
0,0 → 1,256 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+0080 .notdef |
!81 U+0081 .notdef |
!82 U+0082 .notdef |
!83 U+0083 .notdef |
!84 U+0084 .notdef |
!85 U+0085 .notdef |
!86 U+0086 .notdef |
!87 U+0087 .notdef |
!88 U+0088 .notdef |
!89 U+0089 .notdef |
!8A U+008A .notdef |
!8B U+008B .notdef |
!8C U+008C .notdef |
!8D U+008D .notdef |
!8E U+008E .notdef |
!8F U+008F .notdef |
!90 U+0090 .notdef |
!91 U+0091 .notdef |
!92 U+0092 .notdef |
!93 U+0093 .notdef |
!94 U+0094 .notdef |
!95 U+0095 .notdef |
!96 U+0096 .notdef |
!97 U+0097 .notdef |
!98 U+0098 .notdef |
!99 U+0099 .notdef |
!9A U+009A .notdef |
!9B U+009B .notdef |
!9C U+009C .notdef |
!9D U+009D .notdef |
!9E U+009E .notdef |
!9F U+009F .notdef |
!A0 U+00A0 space |
!A1 U+0104 Aogonek |
!A2 U+0105 aogonek |
!A3 U+0141 Lslash |
!A4 U+20AC Euro |
!A5 U+201E quotedblbase |
!A6 U+0160 Scaron |
!A7 U+00A7 section |
!A8 U+0161 scaron |
!A9 U+00A9 copyright |
!AA U+0218 Scommaaccent |
!AB U+00AB guillemotleft |
!AC U+0179 Zacute |
!AD U+00AD hyphen |
!AE U+017A zacute |
!AF U+017B Zdotaccent |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+010C Ccaron |
!B3 U+0142 lslash |
!B4 U+017D Zcaron |
!B5 U+201D quotedblright |
!B6 U+00B6 paragraph |
!B7 U+00B7 periodcentered |
!B8 U+017E zcaron |
!B9 U+010D ccaron |
!BA U+0219 scommaaccent |
!BB U+00BB guillemotright |
!BC U+0152 OE |
!BD U+0153 oe |
!BE U+0178 Ydieresis |
!BF U+017C zdotaccent |
!C0 U+00C0 Agrave |
!C1 U+00C1 Aacute |
!C2 U+00C2 Acircumflex |
!C3 U+0102 Abreve |
!C4 U+00C4 Adieresis |
!C5 U+0106 Cacute |
!C6 U+00C6 AE |
!C7 U+00C7 Ccedilla |
!C8 U+00C8 Egrave |
!C9 U+00C9 Eacute |
!CA U+00CA Ecircumflex |
!CB U+00CB Edieresis |
!CC U+00CC Igrave |
!CD U+00CD Iacute |
!CE U+00CE Icircumflex |
!CF U+00CF Idieresis |
!D0 U+0110 Dcroat |
!D1 U+0143 Nacute |
!D2 U+00D2 Ograve |
!D3 U+00D3 Oacute |
!D4 U+00D4 Ocircumflex |
!D5 U+0150 Ohungarumlaut |
!D6 U+00D6 Odieresis |
!D7 U+015A Sacute |
!D8 U+0170 Uhungarumlaut |
!D9 U+00D9 Ugrave |
!DA U+00DA Uacute |
!DB U+00DB Ucircumflex |
!DC U+00DC Udieresis |
!DD U+0118 Eogonek |
!DE U+021A Tcommaaccent |
!DF U+00DF germandbls |
!E0 U+00E0 agrave |
!E1 U+00E1 aacute |
!E2 U+00E2 acircumflex |
!E3 U+0103 abreve |
!E4 U+00E4 adieresis |
!E5 U+0107 cacute |
!E6 U+00E6 ae |
!E7 U+00E7 ccedilla |
!E8 U+00E8 egrave |
!E9 U+00E9 eacute |
!EA U+00EA ecircumflex |
!EB U+00EB edieresis |
!EC U+00EC igrave |
!ED U+00ED iacute |
!EE U+00EE icircumflex |
!EF U+00EF idieresis |
!F0 U+0111 dcroat |
!F1 U+0144 nacute |
!F2 U+00F2 ograve |
!F3 U+00F3 oacute |
!F4 U+00F4 ocircumflex |
!F5 U+0151 ohungarumlaut |
!F6 U+00F6 odieresis |
!F7 U+015B sacute |
!F8 U+0171 uhungarumlaut |
!F9 U+00F9 ugrave |
!FA U+00FA uacute |
!FB U+00FB ucircumflex |
!FC U+00FC udieresis |
!FD U+0119 eogonek |
!FE U+021B tcommaaccent |
!FF U+00FF ydieresis |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/iso-8859-1.map |
---|
New file |
0,0 → 1,256 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+0080 .notdef |
!81 U+0081 .notdef |
!82 U+0082 .notdef |
!83 U+0083 .notdef |
!84 U+0084 .notdef |
!85 U+0085 .notdef |
!86 U+0086 .notdef |
!87 U+0087 .notdef |
!88 U+0088 .notdef |
!89 U+0089 .notdef |
!8A U+008A .notdef |
!8B U+008B .notdef |
!8C U+008C .notdef |
!8D U+008D .notdef |
!8E U+008E .notdef |
!8F U+008F .notdef |
!90 U+0090 .notdef |
!91 U+0091 .notdef |
!92 U+0092 .notdef |
!93 U+0093 .notdef |
!94 U+0094 .notdef |
!95 U+0095 .notdef |
!96 U+0096 .notdef |
!97 U+0097 .notdef |
!98 U+0098 .notdef |
!99 U+0099 .notdef |
!9A U+009A .notdef |
!9B U+009B .notdef |
!9C U+009C .notdef |
!9D U+009D .notdef |
!9E U+009E .notdef |
!9F U+009F .notdef |
!A0 U+00A0 space |
!A1 U+00A1 exclamdown |
!A2 U+00A2 cent |
!A3 U+00A3 sterling |
!A4 U+00A4 currency |
!A5 U+00A5 yen |
!A6 U+00A6 brokenbar |
!A7 U+00A7 section |
!A8 U+00A8 dieresis |
!A9 U+00A9 copyright |
!AA U+00AA ordfeminine |
!AB U+00AB guillemotleft |
!AC U+00AC logicalnot |
!AD U+00AD hyphen |
!AE U+00AE registered |
!AF U+00AF macron |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+00B2 twosuperior |
!B3 U+00B3 threesuperior |
!B4 U+00B4 acute |
!B5 U+00B5 mu |
!B6 U+00B6 paragraph |
!B7 U+00B7 periodcentered |
!B8 U+00B8 cedilla |
!B9 U+00B9 onesuperior |
!BA U+00BA ordmasculine |
!BB U+00BB guillemotright |
!BC U+00BC onequarter |
!BD U+00BD onehalf |
!BE U+00BE threequarters |
!BF U+00BF questiondown |
!C0 U+00C0 Agrave |
!C1 U+00C1 Aacute |
!C2 U+00C2 Acircumflex |
!C3 U+00C3 Atilde |
!C4 U+00C4 Adieresis |
!C5 U+00C5 Aring |
!C6 U+00C6 AE |
!C7 U+00C7 Ccedilla |
!C8 U+00C8 Egrave |
!C9 U+00C9 Eacute |
!CA U+00CA Ecircumflex |
!CB U+00CB Edieresis |
!CC U+00CC Igrave |
!CD U+00CD Iacute |
!CE U+00CE Icircumflex |
!CF U+00CF Idieresis |
!D0 U+00D0 Eth |
!D1 U+00D1 Ntilde |
!D2 U+00D2 Ograve |
!D3 U+00D3 Oacute |
!D4 U+00D4 Ocircumflex |
!D5 U+00D5 Otilde |
!D6 U+00D6 Odieresis |
!D7 U+00D7 multiply |
!D8 U+00D8 Oslash |
!D9 U+00D9 Ugrave |
!DA U+00DA Uacute |
!DB U+00DB Ucircumflex |
!DC U+00DC Udieresis |
!DD U+00DD Yacute |
!DE U+00DE Thorn |
!DF U+00DF germandbls |
!E0 U+00E0 agrave |
!E1 U+00E1 aacute |
!E2 U+00E2 acircumflex |
!E3 U+00E3 atilde |
!E4 U+00E4 adieresis |
!E5 U+00E5 aring |
!E6 U+00E6 ae |
!E7 U+00E7 ccedilla |
!E8 U+00E8 egrave |
!E9 U+00E9 eacute |
!EA U+00EA ecircumflex |
!EB U+00EB edieresis |
!EC U+00EC igrave |
!ED U+00ED iacute |
!EE U+00EE icircumflex |
!EF U+00EF idieresis |
!F0 U+00F0 eth |
!F1 U+00F1 ntilde |
!F2 U+00F2 ograve |
!F3 U+00F3 oacute |
!F4 U+00F4 ocircumflex |
!F5 U+00F5 otilde |
!F6 U+00F6 odieresis |
!F7 U+00F7 divide |
!F8 U+00F8 oslash |
!F9 U+00F9 ugrave |
!FA U+00FA uacute |
!FB U+00FB ucircumflex |
!FC U+00FC udieresis |
!FD U+00FD yacute |
!FE U+00FE thorn |
!FF U+00FF ydieresis |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/iso-8859-2.map |
---|
New file |
0,0 → 1,256 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+0080 .notdef |
!81 U+0081 .notdef |
!82 U+0082 .notdef |
!83 U+0083 .notdef |
!84 U+0084 .notdef |
!85 U+0085 .notdef |
!86 U+0086 .notdef |
!87 U+0087 .notdef |
!88 U+0088 .notdef |
!89 U+0089 .notdef |
!8A U+008A .notdef |
!8B U+008B .notdef |
!8C U+008C .notdef |
!8D U+008D .notdef |
!8E U+008E .notdef |
!8F U+008F .notdef |
!90 U+0090 .notdef |
!91 U+0091 .notdef |
!92 U+0092 .notdef |
!93 U+0093 .notdef |
!94 U+0094 .notdef |
!95 U+0095 .notdef |
!96 U+0096 .notdef |
!97 U+0097 .notdef |
!98 U+0098 .notdef |
!99 U+0099 .notdef |
!9A U+009A .notdef |
!9B U+009B .notdef |
!9C U+009C .notdef |
!9D U+009D .notdef |
!9E U+009E .notdef |
!9F U+009F .notdef |
!A0 U+00A0 space |
!A1 U+0104 Aogonek |
!A2 U+02D8 breve |
!A3 U+0141 Lslash |
!A4 U+00A4 currency |
!A5 U+013D Lcaron |
!A6 U+015A Sacute |
!A7 U+00A7 section |
!A8 U+00A8 dieresis |
!A9 U+0160 Scaron |
!AA U+015E Scedilla |
!AB U+0164 Tcaron |
!AC U+0179 Zacute |
!AD U+00AD hyphen |
!AE U+017D Zcaron |
!AF U+017B Zdotaccent |
!B0 U+00B0 degree |
!B1 U+0105 aogonek |
!B2 U+02DB ogonek |
!B3 U+0142 lslash |
!B4 U+00B4 acute |
!B5 U+013E lcaron |
!B6 U+015B sacute |
!B7 U+02C7 caron |
!B8 U+00B8 cedilla |
!B9 U+0161 scaron |
!BA U+015F scedilla |
!BB U+0165 tcaron |
!BC U+017A zacute |
!BD U+02DD hungarumlaut |
!BE U+017E zcaron |
!BF U+017C zdotaccent |
!C0 U+0154 Racute |
!C1 U+00C1 Aacute |
!C2 U+00C2 Acircumflex |
!C3 U+0102 Abreve |
!C4 U+00C4 Adieresis |
!C5 U+0139 Lacute |
!C6 U+0106 Cacute |
!C7 U+00C7 Ccedilla |
!C8 U+010C Ccaron |
!C9 U+00C9 Eacute |
!CA U+0118 Eogonek |
!CB U+00CB Edieresis |
!CC U+011A Ecaron |
!CD U+00CD Iacute |
!CE U+00CE Icircumflex |
!CF U+010E Dcaron |
!D0 U+0110 Dcroat |
!D1 U+0143 Nacute |
!D2 U+0147 Ncaron |
!D3 U+00D3 Oacute |
!D4 U+00D4 Ocircumflex |
!D5 U+0150 Ohungarumlaut |
!D6 U+00D6 Odieresis |
!D7 U+00D7 multiply |
!D8 U+0158 Rcaron |
!D9 U+016E Uring |
!DA U+00DA Uacute |
!DB U+0170 Uhungarumlaut |
!DC U+00DC Udieresis |
!DD U+00DD Yacute |
!DE U+0162 Tcommaaccent |
!DF U+00DF germandbls |
!E0 U+0155 racute |
!E1 U+00E1 aacute |
!E2 U+00E2 acircumflex |
!E3 U+0103 abreve |
!E4 U+00E4 adieresis |
!E5 U+013A lacute |
!E6 U+0107 cacute |
!E7 U+00E7 ccedilla |
!E8 U+010D ccaron |
!E9 U+00E9 eacute |
!EA U+0119 eogonek |
!EB U+00EB edieresis |
!EC U+011B ecaron |
!ED U+00ED iacute |
!EE U+00EE icircumflex |
!EF U+010F dcaron |
!F0 U+0111 dcroat |
!F1 U+0144 nacute |
!F2 U+0148 ncaron |
!F3 U+00F3 oacute |
!F4 U+00F4 ocircumflex |
!F5 U+0151 ohungarumlaut |
!F6 U+00F6 odieresis |
!F7 U+00F7 divide |
!F8 U+0159 rcaron |
!F9 U+016F uring |
!FA U+00FA uacute |
!FB U+0171 uhungarumlaut |
!FC U+00FC udieresis |
!FD U+00FD yacute |
!FE U+0163 tcommaaccent |
!FF U+02D9 dotaccent |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/iso-8859-4.map |
---|
New file |
0,0 → 1,256 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+0080 .notdef |
!81 U+0081 .notdef |
!82 U+0082 .notdef |
!83 U+0083 .notdef |
!84 U+0084 .notdef |
!85 U+0085 .notdef |
!86 U+0086 .notdef |
!87 U+0087 .notdef |
!88 U+0088 .notdef |
!89 U+0089 .notdef |
!8A U+008A .notdef |
!8B U+008B .notdef |
!8C U+008C .notdef |
!8D U+008D .notdef |
!8E U+008E .notdef |
!8F U+008F .notdef |
!90 U+0090 .notdef |
!91 U+0091 .notdef |
!92 U+0092 .notdef |
!93 U+0093 .notdef |
!94 U+0094 .notdef |
!95 U+0095 .notdef |
!96 U+0096 .notdef |
!97 U+0097 .notdef |
!98 U+0098 .notdef |
!99 U+0099 .notdef |
!9A U+009A .notdef |
!9B U+009B .notdef |
!9C U+009C .notdef |
!9D U+009D .notdef |
!9E U+009E .notdef |
!9F U+009F .notdef |
!A0 U+00A0 space |
!A1 U+0104 Aogonek |
!A2 U+0138 kgreenlandic |
!A3 U+0156 Rcommaaccent |
!A4 U+00A4 currency |
!A5 U+0128 Itilde |
!A6 U+013B Lcommaaccent |
!A7 U+00A7 section |
!A8 U+00A8 dieresis |
!A9 U+0160 Scaron |
!AA U+0112 Emacron |
!AB U+0122 Gcommaaccent |
!AC U+0166 Tbar |
!AD U+00AD hyphen |
!AE U+017D Zcaron |
!AF U+00AF macron |
!B0 U+00B0 degree |
!B1 U+0105 aogonek |
!B2 U+02DB ogonek |
!B3 U+0157 rcommaaccent |
!B4 U+00B4 acute |
!B5 U+0129 itilde |
!B6 U+013C lcommaaccent |
!B7 U+02C7 caron |
!B8 U+00B8 cedilla |
!B9 U+0161 scaron |
!BA U+0113 emacron |
!BB U+0123 gcommaaccent |
!BC U+0167 tbar |
!BD U+014A Eng |
!BE U+017E zcaron |
!BF U+014B eng |
!C0 U+0100 Amacron |
!C1 U+00C1 Aacute |
!C2 U+00C2 Acircumflex |
!C3 U+00C3 Atilde |
!C4 U+00C4 Adieresis |
!C5 U+00C5 Aring |
!C6 U+00C6 AE |
!C7 U+012E Iogonek |
!C8 U+010C Ccaron |
!C9 U+00C9 Eacute |
!CA U+0118 Eogonek |
!CB U+00CB Edieresis |
!CC U+0116 Edotaccent |
!CD U+00CD Iacute |
!CE U+00CE Icircumflex |
!CF U+012A Imacron |
!D0 U+0110 Dcroat |
!D1 U+0145 Ncommaaccent |
!D2 U+014C Omacron |
!D3 U+0136 Kcommaaccent |
!D4 U+00D4 Ocircumflex |
!D5 U+00D5 Otilde |
!D6 U+00D6 Odieresis |
!D7 U+00D7 multiply |
!D8 U+00D8 Oslash |
!D9 U+0172 Uogonek |
!DA U+00DA Uacute |
!DB U+00DB Ucircumflex |
!DC U+00DC Udieresis |
!DD U+0168 Utilde |
!DE U+016A Umacron |
!DF U+00DF germandbls |
!E0 U+0101 amacron |
!E1 U+00E1 aacute |
!E2 U+00E2 acircumflex |
!E3 U+00E3 atilde |
!E4 U+00E4 adieresis |
!E5 U+00E5 aring |
!E6 U+00E6 ae |
!E7 U+012F iogonek |
!E8 U+010D ccaron |
!E9 U+00E9 eacute |
!EA U+0119 eogonek |
!EB U+00EB edieresis |
!EC U+0117 edotaccent |
!ED U+00ED iacute |
!EE U+00EE icircumflex |
!EF U+012B imacron |
!F0 U+0111 dcroat |
!F1 U+0146 ncommaaccent |
!F2 U+014D omacron |
!F3 U+0137 kcommaaccent |
!F4 U+00F4 ocircumflex |
!F5 U+00F5 otilde |
!F6 U+00F6 odieresis |
!F7 U+00F7 divide |
!F8 U+00F8 oslash |
!F9 U+0173 uogonek |
!FA U+00FA uacute |
!FB U+00FB ucircumflex |
!FC U+00FC udieresis |
!FD U+0169 utilde |
!FE U+016B umacron |
!FF U+02D9 dotaccent |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/iso-8859-5.map |
---|
New file |
0,0 → 1,256 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+0080 .notdef |
!81 U+0081 .notdef |
!82 U+0082 .notdef |
!83 U+0083 .notdef |
!84 U+0084 .notdef |
!85 U+0085 .notdef |
!86 U+0086 .notdef |
!87 U+0087 .notdef |
!88 U+0088 .notdef |
!89 U+0089 .notdef |
!8A U+008A .notdef |
!8B U+008B .notdef |
!8C U+008C .notdef |
!8D U+008D .notdef |
!8E U+008E .notdef |
!8F U+008F .notdef |
!90 U+0090 .notdef |
!91 U+0091 .notdef |
!92 U+0092 .notdef |
!93 U+0093 .notdef |
!94 U+0094 .notdef |
!95 U+0095 .notdef |
!96 U+0096 .notdef |
!97 U+0097 .notdef |
!98 U+0098 .notdef |
!99 U+0099 .notdef |
!9A U+009A .notdef |
!9B U+009B .notdef |
!9C U+009C .notdef |
!9D U+009D .notdef |
!9E U+009E .notdef |
!9F U+009F .notdef |
!A0 U+00A0 space |
!A1 U+0401 afii10023 |
!A2 U+0402 afii10051 |
!A3 U+0403 afii10052 |
!A4 U+0404 afii10053 |
!A5 U+0405 afii10054 |
!A6 U+0406 afii10055 |
!A7 U+0407 afii10056 |
!A8 U+0408 afii10057 |
!A9 U+0409 afii10058 |
!AA U+040A afii10059 |
!AB U+040B afii10060 |
!AC U+040C afii10061 |
!AD U+00AD hyphen |
!AE U+040E afii10062 |
!AF U+040F afii10145 |
!B0 U+0410 afii10017 |
!B1 U+0411 afii10018 |
!B2 U+0412 afii10019 |
!B3 U+0413 afii10020 |
!B4 U+0414 afii10021 |
!B5 U+0415 afii10022 |
!B6 U+0416 afii10024 |
!B7 U+0417 afii10025 |
!B8 U+0418 afii10026 |
!B9 U+0419 afii10027 |
!BA U+041A afii10028 |
!BB U+041B afii10029 |
!BC U+041C afii10030 |
!BD U+041D afii10031 |
!BE U+041E afii10032 |
!BF U+041F afii10033 |
!C0 U+0420 afii10034 |
!C1 U+0421 afii10035 |
!C2 U+0422 afii10036 |
!C3 U+0423 afii10037 |
!C4 U+0424 afii10038 |
!C5 U+0425 afii10039 |
!C6 U+0426 afii10040 |
!C7 U+0427 afii10041 |
!C8 U+0428 afii10042 |
!C9 U+0429 afii10043 |
!CA U+042A afii10044 |
!CB U+042B afii10045 |
!CC U+042C afii10046 |
!CD U+042D afii10047 |
!CE U+042E afii10048 |
!CF U+042F afii10049 |
!D0 U+0430 afii10065 |
!D1 U+0431 afii10066 |
!D2 U+0432 afii10067 |
!D3 U+0433 afii10068 |
!D4 U+0434 afii10069 |
!D5 U+0435 afii10070 |
!D6 U+0436 afii10072 |
!D7 U+0437 afii10073 |
!D8 U+0438 afii10074 |
!D9 U+0439 afii10075 |
!DA U+043A afii10076 |
!DB U+043B afii10077 |
!DC U+043C afii10078 |
!DD U+043D afii10079 |
!DE U+043E afii10080 |
!DF U+043F afii10081 |
!E0 U+0440 afii10082 |
!E1 U+0441 afii10083 |
!E2 U+0442 afii10084 |
!E3 U+0443 afii10085 |
!E4 U+0444 afii10086 |
!E5 U+0445 afii10087 |
!E6 U+0446 afii10088 |
!E7 U+0447 afii10089 |
!E8 U+0448 afii10090 |
!E9 U+0449 afii10091 |
!EA U+044A afii10092 |
!EB U+044B afii10093 |
!EC U+044C afii10094 |
!ED U+044D afii10095 |
!EE U+044E afii10096 |
!EF U+044F afii10097 |
!F0 U+2116 afii61352 |
!F1 U+0451 afii10071 |
!F2 U+0452 afii10099 |
!F3 U+0453 afii10100 |
!F4 U+0454 afii10101 |
!F5 U+0455 afii10102 |
!F6 U+0456 afii10103 |
!F7 U+0457 afii10104 |
!F8 U+0458 afii10105 |
!F9 U+0459 afii10106 |
!FA U+045A afii10107 |
!FB U+045B afii10108 |
!FC U+045C afii10109 |
!FD U+00A7 section |
!FE U+045E afii10110 |
!FF U+045F afii10193 |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/iso-8859-7.map |
---|
New file |
0,0 → 1,250 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+0080 .notdef |
!81 U+0081 .notdef |
!82 U+0082 .notdef |
!83 U+0083 .notdef |
!84 U+0084 .notdef |
!85 U+0085 .notdef |
!86 U+0086 .notdef |
!87 U+0087 .notdef |
!88 U+0088 .notdef |
!89 U+0089 .notdef |
!8A U+008A .notdef |
!8B U+008B .notdef |
!8C U+008C .notdef |
!8D U+008D .notdef |
!8E U+008E .notdef |
!8F U+008F .notdef |
!90 U+0090 .notdef |
!91 U+0091 .notdef |
!92 U+0092 .notdef |
!93 U+0093 .notdef |
!94 U+0094 .notdef |
!95 U+0095 .notdef |
!96 U+0096 .notdef |
!97 U+0097 .notdef |
!98 U+0098 .notdef |
!99 U+0099 .notdef |
!9A U+009A .notdef |
!9B U+009B .notdef |
!9C U+009C .notdef |
!9D U+009D .notdef |
!9E U+009E .notdef |
!9F U+009F .notdef |
!A0 U+00A0 space |
!A1 U+2018 quoteleft |
!A2 U+2019 quoteright |
!A3 U+00A3 sterling |
!A6 U+00A6 brokenbar |
!A7 U+00A7 section |
!A8 U+00A8 dieresis |
!A9 U+00A9 copyright |
!AB U+00AB guillemotleft |
!AC U+00AC logicalnot |
!AD U+00AD hyphen |
!AF U+2015 afii00208 |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+00B2 twosuperior |
!B3 U+00B3 threesuperior |
!B4 U+0384 tonos |
!B5 U+0385 dieresistonos |
!B6 U+0386 Alphatonos |
!B7 U+00B7 periodcentered |
!B8 U+0388 Epsilontonos |
!B9 U+0389 Etatonos |
!BA U+038A Iotatonos |
!BB U+00BB guillemotright |
!BC U+038C Omicrontonos |
!BD U+00BD onehalf |
!BE U+038E Upsilontonos |
!BF U+038F Omegatonos |
!C0 U+0390 iotadieresistonos |
!C1 U+0391 Alpha |
!C2 U+0392 Beta |
!C3 U+0393 Gamma |
!C4 U+0394 Delta |
!C5 U+0395 Epsilon |
!C6 U+0396 Zeta |
!C7 U+0397 Eta |
!C8 U+0398 Theta |
!C9 U+0399 Iota |
!CA U+039A Kappa |
!CB U+039B Lambda |
!CC U+039C Mu |
!CD U+039D Nu |
!CE U+039E Xi |
!CF U+039F Omicron |
!D0 U+03A0 Pi |
!D1 U+03A1 Rho |
!D3 U+03A3 Sigma |
!D4 U+03A4 Tau |
!D5 U+03A5 Upsilon |
!D6 U+03A6 Phi |
!D7 U+03A7 Chi |
!D8 U+03A8 Psi |
!D9 U+03A9 Omega |
!DA U+03AA Iotadieresis |
!DB U+03AB Upsilondieresis |
!DC U+03AC alphatonos |
!DD U+03AD epsilontonos |
!DE U+03AE etatonos |
!DF U+03AF iotatonos |
!E0 U+03B0 upsilondieresistonos |
!E1 U+03B1 alpha |
!E2 U+03B2 beta |
!E3 U+03B3 gamma |
!E4 U+03B4 delta |
!E5 U+03B5 epsilon |
!E6 U+03B6 zeta |
!E7 U+03B7 eta |
!E8 U+03B8 theta |
!E9 U+03B9 iota |
!EA U+03BA kappa |
!EB U+03BB lambda |
!EC U+03BC mu |
!ED U+03BD nu |
!EE U+03BE xi |
!EF U+03BF omicron |
!F0 U+03C0 pi |
!F1 U+03C1 rho |
!F2 U+03C2 sigma1 |
!F3 U+03C3 sigma |
!F4 U+03C4 tau |
!F5 U+03C5 upsilon |
!F6 U+03C6 phi |
!F7 U+03C7 chi |
!F8 U+03C8 psi |
!F9 U+03C9 omega |
!FA U+03CA iotadieresis |
!FB U+03CB upsilondieresis |
!FC U+03CC omicrontonos |
!FD U+03CD upsilontonos |
!FE U+03CE omegatonos |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/koi8-r.map |
---|
New file |
0,0 → 1,256 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+2500 SF100000 |
!81 U+2502 SF110000 |
!82 U+250C SF010000 |
!83 U+2510 SF030000 |
!84 U+2514 SF020000 |
!85 U+2518 SF040000 |
!86 U+251C SF080000 |
!87 U+2524 SF090000 |
!88 U+252C SF060000 |
!89 U+2534 SF070000 |
!8A U+253C SF050000 |
!8B U+2580 upblock |
!8C U+2584 dnblock |
!8D U+2588 block |
!8E U+258C lfblock |
!8F U+2590 rtblock |
!90 U+2591 ltshade |
!91 U+2592 shade |
!92 U+2593 dkshade |
!93 U+2320 integraltp |
!94 U+25A0 filledbox |
!95 U+2219 periodcentered |
!96 U+221A radical |
!97 U+2248 approxequal |
!98 U+2264 lessequal |
!99 U+2265 greaterequal |
!9A U+00A0 space |
!9B U+2321 integralbt |
!9C U+00B0 degree |
!9D U+00B2 twosuperior |
!9E U+00B7 periodcentered |
!9F U+00F7 divide |
!A0 U+2550 SF430000 |
!A1 U+2551 SF240000 |
!A2 U+2552 SF510000 |
!A3 U+0451 afii10071 |
!A4 U+2553 SF520000 |
!A5 U+2554 SF390000 |
!A6 U+2555 SF220000 |
!A7 U+2556 SF210000 |
!A8 U+2557 SF250000 |
!A9 U+2558 SF500000 |
!AA U+2559 SF490000 |
!AB U+255A SF380000 |
!AC U+255B SF280000 |
!AD U+255C SF270000 |
!AE U+255D SF260000 |
!AF U+255E SF360000 |
!B0 U+255F SF370000 |
!B1 U+2560 SF420000 |
!B2 U+2561 SF190000 |
!B3 U+0401 afii10023 |
!B4 U+2562 SF200000 |
!B5 U+2563 SF230000 |
!B6 U+2564 SF470000 |
!B7 U+2565 SF480000 |
!B8 U+2566 SF410000 |
!B9 U+2567 SF450000 |
!BA U+2568 SF460000 |
!BB U+2569 SF400000 |
!BC U+256A SF540000 |
!BD U+256B SF530000 |
!BE U+256C SF440000 |
!BF U+00A9 copyright |
!C0 U+044E afii10096 |
!C1 U+0430 afii10065 |
!C2 U+0431 afii10066 |
!C3 U+0446 afii10088 |
!C4 U+0434 afii10069 |
!C5 U+0435 afii10070 |
!C6 U+0444 afii10086 |
!C7 U+0433 afii10068 |
!C8 U+0445 afii10087 |
!C9 U+0438 afii10074 |
!CA U+0439 afii10075 |
!CB U+043A afii10076 |
!CC U+043B afii10077 |
!CD U+043C afii10078 |
!CE U+043D afii10079 |
!CF U+043E afii10080 |
!D0 U+043F afii10081 |
!D1 U+044F afii10097 |
!D2 U+0440 afii10082 |
!D3 U+0441 afii10083 |
!D4 U+0442 afii10084 |
!D5 U+0443 afii10085 |
!D6 U+0436 afii10072 |
!D7 U+0432 afii10067 |
!D8 U+044C afii10094 |
!D9 U+044B afii10093 |
!DA U+0437 afii10073 |
!DB U+0448 afii10090 |
!DC U+044D afii10095 |
!DD U+0449 afii10091 |
!DE U+0447 afii10089 |
!DF U+044A afii10092 |
!E0 U+042E afii10048 |
!E1 U+0410 afii10017 |
!E2 U+0411 afii10018 |
!E3 U+0426 afii10040 |
!E4 U+0414 afii10021 |
!E5 U+0415 afii10022 |
!E6 U+0424 afii10038 |
!E7 U+0413 afii10020 |
!E8 U+0425 afii10039 |
!E9 U+0418 afii10026 |
!EA U+0419 afii10027 |
!EB U+041A afii10028 |
!EC U+041B afii10029 |
!ED U+041C afii10030 |
!EE U+041D afii10031 |
!EF U+041E afii10032 |
!F0 U+041F afii10033 |
!F1 U+042F afii10049 |
!F2 U+0420 afii10034 |
!F3 U+0421 afii10035 |
!F4 U+0422 afii10036 |
!F5 U+0423 afii10037 |
!F6 U+0416 afii10024 |
!F7 U+0412 afii10019 |
!F8 U+042C afii10046 |
!F9 U+042B afii10045 |
!FA U+0417 afii10025 |
!FB U+0428 afii10042 |
!FC U+042D afii10047 |
!FD U+0429 afii10043 |
!FE U+0427 afii10041 |
!FF U+042A afii10044 |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/cp1250.map |
---|
New file |
0,0 → 1,251 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+20AC Euro |
!82 U+201A quotesinglbase |
!84 U+201E quotedblbase |
!85 U+2026 ellipsis |
!86 U+2020 dagger |
!87 U+2021 daggerdbl |
!89 U+2030 perthousand |
!8A U+0160 Scaron |
!8B U+2039 guilsinglleft |
!8C U+015A Sacute |
!8D U+0164 Tcaron |
!8E U+017D Zcaron |
!8F U+0179 Zacute |
!91 U+2018 quoteleft |
!92 U+2019 quoteright |
!93 U+201C quotedblleft |
!94 U+201D quotedblright |
!95 U+2022 bullet |
!96 U+2013 endash |
!97 U+2014 emdash |
!99 U+2122 trademark |
!9A U+0161 scaron |
!9B U+203A guilsinglright |
!9C U+015B sacute |
!9D U+0165 tcaron |
!9E U+017E zcaron |
!9F U+017A zacute |
!A0 U+00A0 space |
!A1 U+02C7 caron |
!A2 U+02D8 breve |
!A3 U+0141 Lslash |
!A4 U+00A4 currency |
!A5 U+0104 Aogonek |
!A6 U+00A6 brokenbar |
!A7 U+00A7 section |
!A8 U+00A8 dieresis |
!A9 U+00A9 copyright |
!AA U+015E Scedilla |
!AB U+00AB guillemotleft |
!AC U+00AC logicalnot |
!AD U+00AD hyphen |
!AE U+00AE registered |
!AF U+017B Zdotaccent |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+02DB ogonek |
!B3 U+0142 lslash |
!B4 U+00B4 acute |
!B5 U+00B5 mu |
!B6 U+00B6 paragraph |
!B7 U+00B7 periodcentered |
!B8 U+00B8 cedilla |
!B9 U+0105 aogonek |
!BA U+015F scedilla |
!BB U+00BB guillemotright |
!BC U+013D Lcaron |
!BD U+02DD hungarumlaut |
!BE U+013E lcaron |
!BF U+017C zdotaccent |
!C0 U+0154 Racute |
!C1 U+00C1 Aacute |
!C2 U+00C2 Acircumflex |
!C3 U+0102 Abreve |
!C4 U+00C4 Adieresis |
!C5 U+0139 Lacute |
!C6 U+0106 Cacute |
!C7 U+00C7 Ccedilla |
!C8 U+010C Ccaron |
!C9 U+00C9 Eacute |
!CA U+0118 Eogonek |
!CB U+00CB Edieresis |
!CC U+011A Ecaron |
!CD U+00CD Iacute |
!CE U+00CE Icircumflex |
!CF U+010E Dcaron |
!D0 U+0110 Dcroat |
!D1 U+0143 Nacute |
!D2 U+0147 Ncaron |
!D3 U+00D3 Oacute |
!D4 U+00D4 Ocircumflex |
!D5 U+0150 Ohungarumlaut |
!D6 U+00D6 Odieresis |
!D7 U+00D7 multiply |
!D8 U+0158 Rcaron |
!D9 U+016E Uring |
!DA U+00DA Uacute |
!DB U+0170 Uhungarumlaut |
!DC U+00DC Udieresis |
!DD U+00DD Yacute |
!DE U+0162 Tcommaaccent |
!DF U+00DF germandbls |
!E0 U+0155 racute |
!E1 U+00E1 aacute |
!E2 U+00E2 acircumflex |
!E3 U+0103 abreve |
!E4 U+00E4 adieresis |
!E5 U+013A lacute |
!E6 U+0107 cacute |
!E7 U+00E7 ccedilla |
!E8 U+010D ccaron |
!E9 U+00E9 eacute |
!EA U+0119 eogonek |
!EB U+00EB edieresis |
!EC U+011B ecaron |
!ED U+00ED iacute |
!EE U+00EE icircumflex |
!EF U+010F dcaron |
!F0 U+0111 dcroat |
!F1 U+0144 nacute |
!F2 U+0148 ncaron |
!F3 U+00F3 oacute |
!F4 U+00F4 ocircumflex |
!F5 U+0151 ohungarumlaut |
!F6 U+00F6 odieresis |
!F7 U+00F7 divide |
!F8 U+0159 rcaron |
!F9 U+016F uring |
!FA U+00FA uacute |
!FB U+0171 uhungarumlaut |
!FC U+00FC udieresis |
!FD U+00FD yacute |
!FE U+0163 tcommaaccent |
!FF U+02D9 dotaccent |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/cp1251.map |
---|
New file |
0,0 → 1,255 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+0402 afii10051 |
!81 U+0403 afii10052 |
!82 U+201A quotesinglbase |
!83 U+0453 afii10100 |
!84 U+201E quotedblbase |
!85 U+2026 ellipsis |
!86 U+2020 dagger |
!87 U+2021 daggerdbl |
!88 U+20AC Euro |
!89 U+2030 perthousand |
!8A U+0409 afii10058 |
!8B U+2039 guilsinglleft |
!8C U+040A afii10059 |
!8D U+040C afii10061 |
!8E U+040B afii10060 |
!8F U+040F afii10145 |
!90 U+0452 afii10099 |
!91 U+2018 quoteleft |
!92 U+2019 quoteright |
!93 U+201C quotedblleft |
!94 U+201D quotedblright |
!95 U+2022 bullet |
!96 U+2013 endash |
!97 U+2014 emdash |
!99 U+2122 trademark |
!9A U+0459 afii10106 |
!9B U+203A guilsinglright |
!9C U+045A afii10107 |
!9D U+045C afii10109 |
!9E U+045B afii10108 |
!9F U+045F afii10193 |
!A0 U+00A0 space |
!A1 U+040E afii10062 |
!A2 U+045E afii10110 |
!A3 U+0408 afii10057 |
!A4 U+00A4 currency |
!A5 U+0490 afii10050 |
!A6 U+00A6 brokenbar |
!A7 U+00A7 section |
!A8 U+0401 afii10023 |
!A9 U+00A9 copyright |
!AA U+0404 afii10053 |
!AB U+00AB guillemotleft |
!AC U+00AC logicalnot |
!AD U+00AD hyphen |
!AE U+00AE registered |
!AF U+0407 afii10056 |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+0406 afii10055 |
!B3 U+0456 afii10103 |
!B4 U+0491 afii10098 |
!B5 U+00B5 mu |
!B6 U+00B6 paragraph |
!B7 U+00B7 periodcentered |
!B8 U+0451 afii10071 |
!B9 U+2116 afii61352 |
!BA U+0454 afii10101 |
!BB U+00BB guillemotright |
!BC U+0458 afii10105 |
!BD U+0405 afii10054 |
!BE U+0455 afii10102 |
!BF U+0457 afii10104 |
!C0 U+0410 afii10017 |
!C1 U+0411 afii10018 |
!C2 U+0412 afii10019 |
!C3 U+0413 afii10020 |
!C4 U+0414 afii10021 |
!C5 U+0415 afii10022 |
!C6 U+0416 afii10024 |
!C7 U+0417 afii10025 |
!C8 U+0418 afii10026 |
!C9 U+0419 afii10027 |
!CA U+041A afii10028 |
!CB U+041B afii10029 |
!CC U+041C afii10030 |
!CD U+041D afii10031 |
!CE U+041E afii10032 |
!CF U+041F afii10033 |
!D0 U+0420 afii10034 |
!D1 U+0421 afii10035 |
!D2 U+0422 afii10036 |
!D3 U+0423 afii10037 |
!D4 U+0424 afii10038 |
!D5 U+0425 afii10039 |
!D6 U+0426 afii10040 |
!D7 U+0427 afii10041 |
!D8 U+0428 afii10042 |
!D9 U+0429 afii10043 |
!DA U+042A afii10044 |
!DB U+042B afii10045 |
!DC U+042C afii10046 |
!DD U+042D afii10047 |
!DE U+042E afii10048 |
!DF U+042F afii10049 |
!E0 U+0430 afii10065 |
!E1 U+0431 afii10066 |
!E2 U+0432 afii10067 |
!E3 U+0433 afii10068 |
!E4 U+0434 afii10069 |
!E5 U+0435 afii10070 |
!E6 U+0436 afii10072 |
!E7 U+0437 afii10073 |
!E8 U+0438 afii10074 |
!E9 U+0439 afii10075 |
!EA U+043A afii10076 |
!EB U+043B afii10077 |
!EC U+043C afii10078 |
!ED U+043D afii10079 |
!EE U+043E afii10080 |
!EF U+043F afii10081 |
!F0 U+0440 afii10082 |
!F1 U+0441 afii10083 |
!F2 U+0442 afii10084 |
!F3 U+0443 afii10085 |
!F4 U+0444 afii10086 |
!F5 U+0445 afii10087 |
!F6 U+0446 afii10088 |
!F7 U+0447 afii10089 |
!F8 U+0448 afii10090 |
!F9 U+0449 afii10091 |
!FA U+044A afii10092 |
!FB U+044B afii10093 |
!FC U+044C afii10094 |
!FD U+044D afii10095 |
!FE U+044E afii10096 |
!FF U+044F afii10097 |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/iso-8859-9.map |
---|
New file |
0,0 → 1,256 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+0080 .notdef |
!81 U+0081 .notdef |
!82 U+0082 .notdef |
!83 U+0083 .notdef |
!84 U+0084 .notdef |
!85 U+0085 .notdef |
!86 U+0086 .notdef |
!87 U+0087 .notdef |
!88 U+0088 .notdef |
!89 U+0089 .notdef |
!8A U+008A .notdef |
!8B U+008B .notdef |
!8C U+008C .notdef |
!8D U+008D .notdef |
!8E U+008E .notdef |
!8F U+008F .notdef |
!90 U+0090 .notdef |
!91 U+0091 .notdef |
!92 U+0092 .notdef |
!93 U+0093 .notdef |
!94 U+0094 .notdef |
!95 U+0095 .notdef |
!96 U+0096 .notdef |
!97 U+0097 .notdef |
!98 U+0098 .notdef |
!99 U+0099 .notdef |
!9A U+009A .notdef |
!9B U+009B .notdef |
!9C U+009C .notdef |
!9D U+009D .notdef |
!9E U+009E .notdef |
!9F U+009F .notdef |
!A0 U+00A0 space |
!A1 U+00A1 exclamdown |
!A2 U+00A2 cent |
!A3 U+00A3 sterling |
!A4 U+00A4 currency |
!A5 U+00A5 yen |
!A6 U+00A6 brokenbar |
!A7 U+00A7 section |
!A8 U+00A8 dieresis |
!A9 U+00A9 copyright |
!AA U+00AA ordfeminine |
!AB U+00AB guillemotleft |
!AC U+00AC logicalnot |
!AD U+00AD hyphen |
!AE U+00AE registered |
!AF U+00AF macron |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+00B2 twosuperior |
!B3 U+00B3 threesuperior |
!B4 U+00B4 acute |
!B5 U+00B5 mu |
!B6 U+00B6 paragraph |
!B7 U+00B7 periodcentered |
!B8 U+00B8 cedilla |
!B9 U+00B9 onesuperior |
!BA U+00BA ordmasculine |
!BB U+00BB guillemotright |
!BC U+00BC onequarter |
!BD U+00BD onehalf |
!BE U+00BE threequarters |
!BF U+00BF questiondown |
!C0 U+00C0 Agrave |
!C1 U+00C1 Aacute |
!C2 U+00C2 Acircumflex |
!C3 U+00C3 Atilde |
!C4 U+00C4 Adieresis |
!C5 U+00C5 Aring |
!C6 U+00C6 AE |
!C7 U+00C7 Ccedilla |
!C8 U+00C8 Egrave |
!C9 U+00C9 Eacute |
!CA U+00CA Ecircumflex |
!CB U+00CB Edieresis |
!CC U+00CC Igrave |
!CD U+00CD Iacute |
!CE U+00CE Icircumflex |
!CF U+00CF Idieresis |
!D0 U+011E Gbreve |
!D1 U+00D1 Ntilde |
!D2 U+00D2 Ograve |
!D3 U+00D3 Oacute |
!D4 U+00D4 Ocircumflex |
!D5 U+00D5 Otilde |
!D6 U+00D6 Odieresis |
!D7 U+00D7 multiply |
!D8 U+00D8 Oslash |
!D9 U+00D9 Ugrave |
!DA U+00DA Uacute |
!DB U+00DB Ucircumflex |
!DC U+00DC Udieresis |
!DD U+0130 Idotaccent |
!DE U+015E Scedilla |
!DF U+00DF germandbls |
!E0 U+00E0 agrave |
!E1 U+00E1 aacute |
!E2 U+00E2 acircumflex |
!E3 U+00E3 atilde |
!E4 U+00E4 adieresis |
!E5 U+00E5 aring |
!E6 U+00E6 ae |
!E7 U+00E7 ccedilla |
!E8 U+00E8 egrave |
!E9 U+00E9 eacute |
!EA U+00EA ecircumflex |
!EB U+00EB edieresis |
!EC U+00EC igrave |
!ED U+00ED iacute |
!EE U+00EE icircumflex |
!EF U+00EF idieresis |
!F0 U+011F gbreve |
!F1 U+00F1 ntilde |
!F2 U+00F2 ograve |
!F3 U+00F3 oacute |
!F4 U+00F4 ocircumflex |
!F5 U+00F5 otilde |
!F6 U+00F6 odieresis |
!F7 U+00F7 divide |
!F8 U+00F8 oslash |
!F9 U+00F9 ugrave |
!FA U+00FA uacute |
!FB U+00FB ucircumflex |
!FC U+00FC udieresis |
!FD U+0131 dotlessi |
!FE U+015F scedilla |
!FF U+00FF ydieresis |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/cp1252.map |
---|
New file |
0,0 → 1,251 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+20AC Euro |
!82 U+201A quotesinglbase |
!83 U+0192 florin |
!84 U+201E quotedblbase |
!85 U+2026 ellipsis |
!86 U+2020 dagger |
!87 U+2021 daggerdbl |
!88 U+02C6 circumflex |
!89 U+2030 perthousand |
!8A U+0160 Scaron |
!8B U+2039 guilsinglleft |
!8C U+0152 OE |
!8E U+017D Zcaron |
!91 U+2018 quoteleft |
!92 U+2019 quoteright |
!93 U+201C quotedblleft |
!94 U+201D quotedblright |
!95 U+2022 bullet |
!96 U+2013 endash |
!97 U+2014 emdash |
!98 U+02DC tilde |
!99 U+2122 trademark |
!9A U+0161 scaron |
!9B U+203A guilsinglright |
!9C U+0153 oe |
!9E U+017E zcaron |
!9F U+0178 Ydieresis |
!A0 U+00A0 space |
!A1 U+00A1 exclamdown |
!A2 U+00A2 cent |
!A3 U+00A3 sterling |
!A4 U+00A4 currency |
!A5 U+00A5 yen |
!A6 U+00A6 brokenbar |
!A7 U+00A7 section |
!A8 U+00A8 dieresis |
!A9 U+00A9 copyright |
!AA U+00AA ordfeminine |
!AB U+00AB guillemotleft |
!AC U+00AC logicalnot |
!AD U+00AD hyphen |
!AE U+00AE registered |
!AF U+00AF macron |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+00B2 twosuperior |
!B3 U+00B3 threesuperior |
!B4 U+00B4 acute |
!B5 U+00B5 mu |
!B6 U+00B6 paragraph |
!B7 U+00B7 periodcentered |
!B8 U+00B8 cedilla |
!B9 U+00B9 onesuperior |
!BA U+00BA ordmasculine |
!BB U+00BB guillemotright |
!BC U+00BC onequarter |
!BD U+00BD onehalf |
!BE U+00BE threequarters |
!BF U+00BF questiondown |
!C0 U+00C0 Agrave |
!C1 U+00C1 Aacute |
!C2 U+00C2 Acircumflex |
!C3 U+00C3 Atilde |
!C4 U+00C4 Adieresis |
!C5 U+00C5 Aring |
!C6 U+00C6 AE |
!C7 U+00C7 Ccedilla |
!C8 U+00C8 Egrave |
!C9 U+00C9 Eacute |
!CA U+00CA Ecircumflex |
!CB U+00CB Edieresis |
!CC U+00CC Igrave |
!CD U+00CD Iacute |
!CE U+00CE Icircumflex |
!CF U+00CF Idieresis |
!D0 U+00D0 Eth |
!D1 U+00D1 Ntilde |
!D2 U+00D2 Ograve |
!D3 U+00D3 Oacute |
!D4 U+00D4 Ocircumflex |
!D5 U+00D5 Otilde |
!D6 U+00D6 Odieresis |
!D7 U+00D7 multiply |
!D8 U+00D8 Oslash |
!D9 U+00D9 Ugrave |
!DA U+00DA Uacute |
!DB U+00DB Ucircumflex |
!DC U+00DC Udieresis |
!DD U+00DD Yacute |
!DE U+00DE Thorn |
!DF U+00DF germandbls |
!E0 U+00E0 agrave |
!E1 U+00E1 aacute |
!E2 U+00E2 acircumflex |
!E3 U+00E3 atilde |
!E4 U+00E4 adieresis |
!E5 U+00E5 aring |
!E6 U+00E6 ae |
!E7 U+00E7 ccedilla |
!E8 U+00E8 egrave |
!E9 U+00E9 eacute |
!EA U+00EA ecircumflex |
!EB U+00EB edieresis |
!EC U+00EC igrave |
!ED U+00ED iacute |
!EE U+00EE icircumflex |
!EF U+00EF idieresis |
!F0 U+00F0 eth |
!F1 U+00F1 ntilde |
!F2 U+00F2 ograve |
!F3 U+00F3 oacute |
!F4 U+00F4 ocircumflex |
!F5 U+00F5 otilde |
!F6 U+00F6 odieresis |
!F7 U+00F7 divide |
!F8 U+00F8 oslash |
!F9 U+00F9 ugrave |
!FA U+00FA uacute |
!FB U+00FB ucircumflex |
!FC U+00FC udieresis |
!FD U+00FD yacute |
!FE U+00FE thorn |
!FF U+00FF ydieresis |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/cp1253.map |
---|
New file |
0,0 → 1,239 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+20AC Euro |
!82 U+201A quotesinglbase |
!83 U+0192 florin |
!84 U+201E quotedblbase |
!85 U+2026 ellipsis |
!86 U+2020 dagger |
!87 U+2021 daggerdbl |
!89 U+2030 perthousand |
!8B U+2039 guilsinglleft |
!91 U+2018 quoteleft |
!92 U+2019 quoteright |
!93 U+201C quotedblleft |
!94 U+201D quotedblright |
!95 U+2022 bullet |
!96 U+2013 endash |
!97 U+2014 emdash |
!99 U+2122 trademark |
!9B U+203A guilsinglright |
!A0 U+00A0 space |
!A1 U+0385 dieresistonos |
!A2 U+0386 Alphatonos |
!A3 U+00A3 sterling |
!A4 U+00A4 currency |
!A5 U+00A5 yen |
!A6 U+00A6 brokenbar |
!A7 U+00A7 section |
!A8 U+00A8 dieresis |
!A9 U+00A9 copyright |
!AB U+00AB guillemotleft |
!AC U+00AC logicalnot |
!AD U+00AD hyphen |
!AE U+00AE registered |
!AF U+2015 afii00208 |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+00B2 twosuperior |
!B3 U+00B3 threesuperior |
!B4 U+0384 tonos |
!B5 U+00B5 mu |
!B6 U+00B6 paragraph |
!B7 U+00B7 periodcentered |
!B8 U+0388 Epsilontonos |
!B9 U+0389 Etatonos |
!BA U+038A Iotatonos |
!BB U+00BB guillemotright |
!BC U+038C Omicrontonos |
!BD U+00BD onehalf |
!BE U+038E Upsilontonos |
!BF U+038F Omegatonos |
!C0 U+0390 iotadieresistonos |
!C1 U+0391 Alpha |
!C2 U+0392 Beta |
!C3 U+0393 Gamma |
!C4 U+0394 Delta |
!C5 U+0395 Epsilon |
!C6 U+0396 Zeta |
!C7 U+0397 Eta |
!C8 U+0398 Theta |
!C9 U+0399 Iota |
!CA U+039A Kappa |
!CB U+039B Lambda |
!CC U+039C Mu |
!CD U+039D Nu |
!CE U+039E Xi |
!CF U+039F Omicron |
!D0 U+03A0 Pi |
!D1 U+03A1 Rho |
!D3 U+03A3 Sigma |
!D4 U+03A4 Tau |
!D5 U+03A5 Upsilon |
!D6 U+03A6 Phi |
!D7 U+03A7 Chi |
!D8 U+03A8 Psi |
!D9 U+03A9 Omega |
!DA U+03AA Iotadieresis |
!DB U+03AB Upsilondieresis |
!DC U+03AC alphatonos |
!DD U+03AD epsilontonos |
!DE U+03AE etatonos |
!DF U+03AF iotatonos |
!E0 U+03B0 upsilondieresistonos |
!E1 U+03B1 alpha |
!E2 U+03B2 beta |
!E3 U+03B3 gamma |
!E4 U+03B4 delta |
!E5 U+03B5 epsilon |
!E6 U+03B6 zeta |
!E7 U+03B7 eta |
!E8 U+03B8 theta |
!E9 U+03B9 iota |
!EA U+03BA kappa |
!EB U+03BB lambda |
!EC U+03BC mu |
!ED U+03BD nu |
!EE U+03BE xi |
!EF U+03BF omicron |
!F0 U+03C0 pi |
!F1 U+03C1 rho |
!F2 U+03C2 sigma1 |
!F3 U+03C3 sigma |
!F4 U+03C4 tau |
!F5 U+03C5 upsilon |
!F6 U+03C6 phi |
!F7 U+03C7 chi |
!F8 U+03C8 psi |
!F9 U+03C9 omega |
!FA U+03CA iotadieresis |
!FB U+03CB upsilondieresis |
!FC U+03CC omicrontonos |
!FD U+03CD upsilontonos |
!FE U+03CE omegatonos |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/cp1254.map |
---|
New file |
0,0 → 1,249 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+20AC Euro |
!82 U+201A quotesinglbase |
!83 U+0192 florin |
!84 U+201E quotedblbase |
!85 U+2026 ellipsis |
!86 U+2020 dagger |
!87 U+2021 daggerdbl |
!88 U+02C6 circumflex |
!89 U+2030 perthousand |
!8A U+0160 Scaron |
!8B U+2039 guilsinglleft |
!8C U+0152 OE |
!91 U+2018 quoteleft |
!92 U+2019 quoteright |
!93 U+201C quotedblleft |
!94 U+201D quotedblright |
!95 U+2022 bullet |
!96 U+2013 endash |
!97 U+2014 emdash |
!98 U+02DC tilde |
!99 U+2122 trademark |
!9A U+0161 scaron |
!9B U+203A guilsinglright |
!9C U+0153 oe |
!9F U+0178 Ydieresis |
!A0 U+00A0 space |
!A1 U+00A1 exclamdown |
!A2 U+00A2 cent |
!A3 U+00A3 sterling |
!A4 U+00A4 currency |
!A5 U+00A5 yen |
!A6 U+00A6 brokenbar |
!A7 U+00A7 section |
!A8 U+00A8 dieresis |
!A9 U+00A9 copyright |
!AA U+00AA ordfeminine |
!AB U+00AB guillemotleft |
!AC U+00AC logicalnot |
!AD U+00AD hyphen |
!AE U+00AE registered |
!AF U+00AF macron |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+00B2 twosuperior |
!B3 U+00B3 threesuperior |
!B4 U+00B4 acute |
!B5 U+00B5 mu |
!B6 U+00B6 paragraph |
!B7 U+00B7 periodcentered |
!B8 U+00B8 cedilla |
!B9 U+00B9 onesuperior |
!BA U+00BA ordmasculine |
!BB U+00BB guillemotright |
!BC U+00BC onequarter |
!BD U+00BD onehalf |
!BE U+00BE threequarters |
!BF U+00BF questiondown |
!C0 U+00C0 Agrave |
!C1 U+00C1 Aacute |
!C2 U+00C2 Acircumflex |
!C3 U+00C3 Atilde |
!C4 U+00C4 Adieresis |
!C5 U+00C5 Aring |
!C6 U+00C6 AE |
!C7 U+00C7 Ccedilla |
!C8 U+00C8 Egrave |
!C9 U+00C9 Eacute |
!CA U+00CA Ecircumflex |
!CB U+00CB Edieresis |
!CC U+00CC Igrave |
!CD U+00CD Iacute |
!CE U+00CE Icircumflex |
!CF U+00CF Idieresis |
!D0 U+011E Gbreve |
!D1 U+00D1 Ntilde |
!D2 U+00D2 Ograve |
!D3 U+00D3 Oacute |
!D4 U+00D4 Ocircumflex |
!D5 U+00D5 Otilde |
!D6 U+00D6 Odieresis |
!D7 U+00D7 multiply |
!D8 U+00D8 Oslash |
!D9 U+00D9 Ugrave |
!DA U+00DA Uacute |
!DB U+00DB Ucircumflex |
!DC U+00DC Udieresis |
!DD U+0130 Idotaccent |
!DE U+015E Scedilla |
!DF U+00DF germandbls |
!E0 U+00E0 agrave |
!E1 U+00E1 aacute |
!E2 U+00E2 acircumflex |
!E3 U+00E3 atilde |
!E4 U+00E4 adieresis |
!E5 U+00E5 aring |
!E6 U+00E6 ae |
!E7 U+00E7 ccedilla |
!E8 U+00E8 egrave |
!E9 U+00E9 eacute |
!EA U+00EA ecircumflex |
!EB U+00EB edieresis |
!EC U+00EC igrave |
!ED U+00ED iacute |
!EE U+00EE icircumflex |
!EF U+00EF idieresis |
!F0 U+011F gbreve |
!F1 U+00F1 ntilde |
!F2 U+00F2 ograve |
!F3 U+00F3 oacute |
!F4 U+00F4 ocircumflex |
!F5 U+00F5 otilde |
!F6 U+00F6 odieresis |
!F7 U+00F7 divide |
!F8 U+00F8 oslash |
!F9 U+00F9 ugrave |
!FA U+00FA uacute |
!FB U+00FB ucircumflex |
!FC U+00FC udieresis |
!FD U+0131 dotlessi |
!FE U+015F scedilla |
!FF U+00FF ydieresis |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/makefont.php |
---|
New file |
0,0 → 1,395 |
<?php |
/**************************************************************************** |
* Utilitaire de génération de fichier de définition de police * |
* Version: 1.11 * |
* Date: 02/11/2002 * |
****************************************************************************/ |
function ReadMap($enc) |
{ |
//Read a map file |
$file=dirname(__FILE__).'/'.strtolower($enc).'.map'; |
$a=file($file); |
if(empty($a)) |
die('<B>Error:</B> encoding not found: '.$enc); |
$cc2gn=array(); |
foreach($a as $l) |
{ |
$e=explode(' ',chop($l)); |
$cc=hexdec(substr($e[0],1)); |
$gn=$e[2]; |
$cc2gn[$cc]=$gn; |
} |
for($i=0;$i<=255;$i++) |
if(!isset($cc2gn[$i])) |
$cc2gn[$i]='.notdef'; |
return $cc2gn; |
} |
function ReadAFM($file,&$map) |
{ |
//Read a font metric file |
$a=file($file); |
if(empty($a)) |
die('File not found'); |
$widths=array(); |
$fm=array(); |
$fix=array('Edot'=>'Edotaccent','edot'=>'edotaccent','Idot'=>'Idotaccent','Zdot'=>'Zdotaccent','zdot'=>'zdotaccent', |
'Odblacute'=>'Ohungarumlaut','odblacute'=>'ohungarumlaut','Udblacute'=>'Uhungarumlaut','udblacute'=>'uhungarumlaut', |
'Gcedilla'=>'Gcommaaccent','gcedilla'=>'gcommaaccent','Kcedilla'=>'Kcommaaccent','kcedilla'=>'kcommaaccent', |
'Lcedilla'=>'Lcommaaccent','lcedilla'=>'lcommaaccent','Ncedilla'=>'Ncommaaccent','ncedilla'=>'ncommaaccent', |
'Rcedilla'=>'Rcommaaccent','rcedilla'=>'rcommaaccent','Scedilla'=>'Scommaaccent','scedilla'=>'scommaaccent', |
'Tcedilla'=>'Tcommaaccent','tcedilla'=>'tcommaaccent','Dslash'=>'Dcroat','dslash'=>'dcroat','Dmacron'=>'Dcroat','dmacron'=>'dcroat'); |
foreach($a as $l) |
{ |
$e=explode(' ',chop($l)); |
if(count($e)<2) |
continue; |
$code=$e[0]; |
$param=$e[1]; |
if($code=='C') |
{ |
//Character metrics |
$cc=(int)$e[1]; |
$w=$e[4]; |
$gn=$e[7]; |
if(substr($gn,-4)=='20AC') |
$gn='Euro'; |
if(isset($fix[$gn])) |
{ |
//Fix incorrect glyph name |
foreach($map as $c=>$n) |
if($n==$fix[$gn]) |
$map[$c]=$gn; |
} |
if(empty($map)) |
{ |
//Symbolic font: use built-in encoding |
$widths[$cc]=$w; |
} |
else |
{ |
$widths[$gn]=$w; |
if($gn=='X') |
$fm['CapXHeight']=$e[13]; |
} |
if($gn=='.notdef') |
$fm['MissingWidth']=$w; |
} |
elseif($code=='FontName') |
$fm['FontName']=$param; |
elseif($code=='Weight') |
$fm['Weight']=$param; |
elseif($code=='ItalicAngle') |
$fm['ItalicAngle']=(double)$param; |
elseif($code=='Ascender') |
$fm['Ascender']=(int)$param; |
elseif($code=='Descender') |
$fm['Descender']=(int)$param; |
elseif($code=='UnderlineThickness') |
$fm['UnderlineThickness']=(int)$param; |
elseif($code=='UnderlinePosition') |
$fm['UnderlinePosition']=(int)$param; |
elseif($code=='IsFixedPitch') |
$fm['IsFixedPitch']=($param=='true'); |
elseif($code=='FontBBox') |
$fm['FontBBox']=array($e[1],$e[2],$e[3],$e[4]); |
elseif($code=='CapHeight') |
$fm['CapHeight']=(int)$param; |
elseif($code=='StdVW') |
$fm['StdVW']=(int)$param; |
} |
if(!isset($fm['FontName'])) |
die('FontName not found'); |
if(!empty($map)) |
{ |
if(!isset($widths['.notdef'])) |
$widths['.notdef']=600; |
if(!isset($widths['Delta']) and isset($widths['increment'])) |
$widths['Delta']=$widths['increment']; |
//Order widths according to map |
for($i=0;$i<=255;$i++) |
{ |
if(!isset($widths[$map[$i]])) |
{ |
echo '<B>Warning:</B> character '.$map[$i].' is missing<BR>'; |
$widths[$i]=$widths['.notdef']; |
} |
else |
$widths[$i]=$widths[$map[$i]]; |
} |
} |
$fm['Widths']=$widths; |
return $fm; |
} |
function MakeFontDescriptor($fm,$symbolic) |
{ |
//Ascent |
$asc=(isset($fm['Ascender']) ? $fm['Ascender'] : 1000); |
$fd="array('Ascent'=>".$asc; |
//Descent |
$desc=(isset($fm['Descender']) ? $fm['Descender'] : -200); |
$fd.=",'Descent'=>".$desc; |
//CapHeight |
if(isset($fm['CapHeight'])) |
$ch=$fm['CapHeight']; |
elseif(isset($fm['CapXHeight'])) |
$ch=$fm['CapXHeight']; |
else |
$ch=$asc; |
$fd.=",'CapHeight'=>".$ch; |
//Flags |
$flags=0; |
if(isset($fm['IsFixedPitch']) and $fm['IsFixedPitch']) |
$flags+=1<<0; |
if($symbolic) |
$flags+=1<<2; |
if(!$symbolic) |
$flags+=1<<5; |
if(isset($fm['ItalicAngle']) and $fm['ItalicAngle']!=0) |
$flags+=1<<6; |
$fd.=",'Flags'=>".$flags; |
//FontBBox |
if(isset($fm['FontBBox'])) |
$fbb=$fm['FontBBox']; |
else |
$fbb=array(0,$des-100,1000,$asc+100); |
$fd.=",'FontBBox'=>'[".$fbb[0].' '.$fbb[1].' '.$fbb[2].' '.$fbb[3]."]'"; |
//ItalicAngle |
$ia=(isset($fm['ItalicAngle']) ? $fm['ItalicAngle'] : 0); |
$fd.=",'ItalicAngle'=>".$ia; |
//StemV |
if(isset($fm['StdVW'])) |
$stemv=$fm['StdVW']; |
elseif(isset($fm['Weight']) and eregi('(bold|black)',$fm['Weight'])) |
$stemv=120; |
else |
$stemv=70; |
$fd.=",'StemV'=>".$stemv; |
//MissingWidth |
if(isset($fm['MissingWidth'])) |
$fd.=",'MissingWidth'=>".$fm['MissingWidth']; |
$fd.=')'; |
return $fd; |
} |
function MakeWidthArray($fm) |
{ |
//Make character width array |
$s="array(\n\t"; |
$cw=$fm['Widths']; |
for($i=0;$i<=255;$i++) |
{ |
if(chr($i)=="'") |
$s.="'\\''"; |
elseif(chr($i)=="\\") |
$s.="'\\\\'"; |
elseif($i>=32 and $i<=126) |
$s.="'".chr($i)."'"; |
else |
$s.="chr($i)"; |
$s.="=>".$fm['Widths'][$i]; |
if($i<255) |
$s.=","; |
if(($i+1)%22==0) |
$s.="\n\t"; |
} |
$s.=")"; |
return $s; |
} |
function MakeFontEncoding($map) |
{ |
//Build differences from reference encoding |
$ref=ReadMap('cp1252'); |
$s=''; |
$last=0; |
for($i=32;$i<=255;$i++) |
{ |
if($map[$i]!=$ref[$i]) |
{ |
if($i!=$last+1) |
$s.=$i.' '; |
$last=$i; |
$s.='/'.$map[$i].' '; |
} |
} |
return chop($s); |
} |
function SaveToFile($file,$s,$mode='t') |
{ |
$f=fopen($file,'w'.$mode); |
if(!$f) |
die('Can\'t write to file '.$file); |
fwrite($f,$s,strlen($s)); |
fclose($f); |
} |
function ReadShort($f) |
{ |
$a=unpack('n1n',fread($f,2)); |
return $a['n']; |
} |
function ReadLong($f) |
{ |
$a=unpack('N1N',fread($f,4)); |
return $a['N']; |
} |
function CheckTTF($file) |
{ |
//Check if font license allows embedding |
$f=fopen($file,'rb'); |
if(!$f) |
die('<B>Error:</B> Can\'t open '.$file); |
//Extract number of tables |
fseek($f,4,SEEK_CUR); |
$nb=ReadShort($f); |
fseek($f,6,SEEK_CUR); |
//Seek OS/2 table |
$found=false; |
for($i=0;$i<$nb;$i++) |
{ |
if(fread($f,4)=='OS/2') |
{ |
$found=true; |
break; |
} |
fseek($f,12,SEEK_CUR); |
} |
if(!$found) |
{ |
fclose($f); |
return; |
} |
fseek($f,4,SEEK_CUR); |
$offset=ReadLong($f); |
fseek($f,$offset,SEEK_SET); |
//Extract fsType flags |
fseek($f,8,SEEK_CUR); |
$fsType=ReadShort($f); |
$rl=($fsType & 0x02)!=0; |
$pp=($fsType & 0x04)!=0; |
$e=($fsType & 0x08)!=0; |
fclose($f); |
if($rl and !$pp and !$e) |
echo '<B>Warning:</B> font license does not allow embedding'; |
} |
/**************************************************************************** |
* $fontfile : chemin du fichier TTF (ou chaîne vide si pas d'incorporation) * |
* $afmfile : chemin du fichier AFM * |
* $enc : encodage (ou chaîne vide si la police est symbolique) * |
* $patch : patch optionnel pour l'encodage * |
* $type : type de la police si $fontfile est vide * |
****************************************************************************/ |
function MakeFont($fontfile,$afmfile,$enc='cp1252',$patch=array(),$type='TrueType') |
{ |
//Generate a font definition file |
set_magic_quotes_runtime(0); |
if($enc) |
{ |
$map=ReadMap($enc); |
foreach($patch as $cc=>$gn) |
$map[$cc]=$gn; |
} |
else |
$map=array(); |
if(!file_exists($afmfile)) |
die('<B>Error:</B> AFM file not found: '.$afmfile); |
$fm=ReadAFM($afmfile,$map); |
if($enc) |
$diff=MakeFontEncoding($map); |
else |
$diff=''; |
$fd=MakeFontDescriptor($fm,empty($map)); |
//Find font type |
if($fontfile) |
{ |
$ext=strtolower(substr($fontfile,-3)); |
if($ext=='ttf') |
$type='TrueType'; |
elseif($ext=='pfb') |
$type='Type1'; |
else |
die('<B>Error:</B> unrecognized font file extension: '.$ext); |
} |
else |
{ |
if($type!='TrueType' and $type!='Type1') |
die('<B>Error:</B> incorrect font type: '.$type); |
} |
//Start generation |
$s='<?php'."\n"; |
$s.='$type=\''.$type."';\n"; |
$s.='$name=\''.$fm['FontName']."';\n"; |
$s.='$desc='.$fd.";\n"; |
if(!isset($fm['UnderlinePosition'])) |
$fm['UnderlinePosition']=-100; |
if(!isset($fm['UnderlineThickness'])) |
$fm['UnderlineThickness']=50; |
$s.='$up='.$fm['UnderlinePosition'].";\n"; |
$s.='$ut='.$fm['UnderlineThickness'].";\n"; |
$w=MakeWidthArray($fm); |
$s.='$cw='.$w.";\n"; |
$s.='$enc=\''.$enc."';\n"; |
$s.='$diff=\''.$diff."';\n"; |
$basename=substr(basename($afmfile),0,-4); |
if($fontfile) |
{ |
//Embedded font |
if(!file_exists($fontfile)) |
die('<B>Error:</B> font file not found: '.$fontfile); |
if($type=='TrueType') |
CheckTTF($fontfile); |
$f=fopen($fontfile,'rb'); |
if(!$f) |
die('<B>Error:</B> Can\'t open '.$fontfile); |
$file=fread($f,filesize($fontfile)); |
fclose($f); |
if($type=='Type1') |
{ |
//Find first two sections and discard third one |
$pos=strpos($file,'eexec'); |
if(!$pos) |
die('<B>Error:</B> font file does not seem to be valid Type1'); |
$size1=$pos+6; |
$pos=strpos($file,'00000000'); |
if(!$pos) |
die('<B>Error:</B> font file does not seem to be valid Type1'); |
$size2=$pos-$size1; |
$file=substr($file,0,$size1+$size2); |
} |
if(function_exists('gzcompress')) |
{ |
$cmp=$basename.'.z'; |
SaveToFile($cmp,gzcompress($file),'b'); |
$s.='$file=\''.$cmp."';\n"; |
echo 'Font file compressed ('.$cmp.')<BR>'; |
} |
else |
{ |
$s.='$file=\''.basename($fontfile)."';\n"; |
echo '<B>Notice:</B> font file could not be compressed (gzcompress not available)<BR>'; |
} |
if($type=='Type1') |
{ |
$s.='$size1='.$size1.";\n"; |
$s.='$size2='.$size2.";\n"; |
} |
else |
$s.='$originalsize='.filesize($fontfile).";\n"; |
} |
else |
{ |
//Not embedded font |
$s.='$file='."'';\n"; |
} |
$s.="?>\n"; |
SaveToFile($basename.'.php',$s); |
echo 'Font definition file generated ('.$basename.'.php'.')<BR>'; |
} |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/makefont/cp1257.map |
---|
New file |
0,0 → 1,244 |
!00 U+0000 .notdef |
!01 U+0001 .notdef |
!02 U+0002 .notdef |
!03 U+0003 .notdef |
!04 U+0004 .notdef |
!05 U+0005 .notdef |
!06 U+0006 .notdef |
!07 U+0007 .notdef |
!08 U+0008 .notdef |
!09 U+0009 .notdef |
!0A U+000A .notdef |
!0B U+000B .notdef |
!0C U+000C .notdef |
!0D U+000D .notdef |
!0E U+000E .notdef |
!0F U+000F .notdef |
!10 U+0010 .notdef |
!11 U+0011 .notdef |
!12 U+0012 .notdef |
!13 U+0013 .notdef |
!14 U+0014 .notdef |
!15 U+0015 .notdef |
!16 U+0016 .notdef |
!17 U+0017 .notdef |
!18 U+0018 .notdef |
!19 U+0019 .notdef |
!1A U+001A .notdef |
!1B U+001B .notdef |
!1C U+001C .notdef |
!1D U+001D .notdef |
!1E U+001E .notdef |
!1F U+001F .notdef |
!20 U+0020 space |
!21 U+0021 exclam |
!22 U+0022 quotedbl |
!23 U+0023 numbersign |
!24 U+0024 dollar |
!25 U+0025 percent |
!26 U+0026 ampersand |
!27 U+0027 quotesingle |
!28 U+0028 parenleft |
!29 U+0029 parenright |
!2A U+002A asterisk |
!2B U+002B plus |
!2C U+002C comma |
!2D U+002D hyphen |
!2E U+002E period |
!2F U+002F slash |
!30 U+0030 zero |
!31 U+0031 one |
!32 U+0032 two |
!33 U+0033 three |
!34 U+0034 four |
!35 U+0035 five |
!36 U+0036 six |
!37 U+0037 seven |
!38 U+0038 eight |
!39 U+0039 nine |
!3A U+003A colon |
!3B U+003B semicolon |
!3C U+003C less |
!3D U+003D equal |
!3E U+003E greater |
!3F U+003F question |
!40 U+0040 at |
!41 U+0041 A |
!42 U+0042 B |
!43 U+0043 C |
!44 U+0044 D |
!45 U+0045 E |
!46 U+0046 F |
!47 U+0047 G |
!48 U+0048 H |
!49 U+0049 I |
!4A U+004A J |
!4B U+004B K |
!4C U+004C L |
!4D U+004D M |
!4E U+004E N |
!4F U+004F O |
!50 U+0050 P |
!51 U+0051 Q |
!52 U+0052 R |
!53 U+0053 S |
!54 U+0054 T |
!55 U+0055 U |
!56 U+0056 V |
!57 U+0057 W |
!58 U+0058 X |
!59 U+0059 Y |
!5A U+005A Z |
!5B U+005B bracketleft |
!5C U+005C backslash |
!5D U+005D bracketright |
!5E U+005E asciicircum |
!5F U+005F underscore |
!60 U+0060 grave |
!61 U+0061 a |
!62 U+0062 b |
!63 U+0063 c |
!64 U+0064 d |
!65 U+0065 e |
!66 U+0066 f |
!67 U+0067 g |
!68 U+0068 h |
!69 U+0069 i |
!6A U+006A j |
!6B U+006B k |
!6C U+006C l |
!6D U+006D m |
!6E U+006E n |
!6F U+006F o |
!70 U+0070 p |
!71 U+0071 q |
!72 U+0072 r |
!73 U+0073 s |
!74 U+0074 t |
!75 U+0075 u |
!76 U+0076 v |
!77 U+0077 w |
!78 U+0078 x |
!79 U+0079 y |
!7A U+007A z |
!7B U+007B braceleft |
!7C U+007C bar |
!7D U+007D braceright |
!7E U+007E asciitilde |
!7F U+007F .notdef |
!80 U+20AC Euro |
!82 U+201A quotesinglbase |
!84 U+201E quotedblbase |
!85 U+2026 ellipsis |
!86 U+2020 dagger |
!87 U+2021 daggerdbl |
!89 U+2030 perthousand |
!8B U+2039 guilsinglleft |
!8D U+00A8 dieresis |
!8E U+02C7 caron |
!8F U+00B8 cedilla |
!91 U+2018 quoteleft |
!92 U+2019 quoteright |
!93 U+201C quotedblleft |
!94 U+201D quotedblright |
!95 U+2022 bullet |
!96 U+2013 endash |
!97 U+2014 emdash |
!99 U+2122 trademark |
!9B U+203A guilsinglright |
!9D U+00AF macron |
!9E U+02DB ogonek |
!A0 U+00A0 space |
!A2 U+00A2 cent |
!A3 U+00A3 sterling |
!A4 U+00A4 currency |
!A6 U+00A6 brokenbar |
!A7 U+00A7 section |
!A8 U+00D8 Oslash |
!A9 U+00A9 copyright |
!AA U+0156 Rcommaaccent |
!AB U+00AB guillemotleft |
!AC U+00AC logicalnot |
!AD U+00AD hyphen |
!AE U+00AE registered |
!AF U+00C6 AE |
!B0 U+00B0 degree |
!B1 U+00B1 plusminus |
!B2 U+00B2 twosuperior |
!B3 U+00B3 threesuperior |
!B4 U+00B4 acute |
!B5 U+00B5 mu |
!B6 U+00B6 paragraph |
!B7 U+00B7 periodcentered |
!B8 U+00F8 oslash |
!B9 U+00B9 onesuperior |
!BA U+0157 rcommaaccent |
!BB U+00BB guillemotright |
!BC U+00BC onequarter |
!BD U+00BD onehalf |
!BE U+00BE threequarters |
!BF U+00E6 ae |
!C0 U+0104 Aogonek |
!C1 U+012E Iogonek |
!C2 U+0100 Amacron |
!C3 U+0106 Cacute |
!C4 U+00C4 Adieresis |
!C5 U+00C5 Aring |
!C6 U+0118 Eogonek |
!C7 U+0112 Emacron |
!C8 U+010C Ccaron |
!C9 U+00C9 Eacute |
!CA U+0179 Zacute |
!CB U+0116 Edotaccent |
!CC U+0122 Gcommaaccent |
!CD U+0136 Kcommaaccent |
!CE U+012A Imacron |
!CF U+013B Lcommaaccent |
!D0 U+0160 Scaron |
!D1 U+0143 Nacute |
!D2 U+0145 Ncommaaccent |
!D3 U+00D3 Oacute |
!D4 U+014C Omacron |
!D5 U+00D5 Otilde |
!D6 U+00D6 Odieresis |
!D7 U+00D7 multiply |
!D8 U+0172 Uogonek |
!D9 U+0141 Lslash |
!DA U+015A Sacute |
!DB U+016A Umacron |
!DC U+00DC Udieresis |
!DD U+017B Zdotaccent |
!DE U+017D Zcaron |
!DF U+00DF germandbls |
!E0 U+0105 aogonek |
!E1 U+012F iogonek |
!E2 U+0101 amacron |
!E3 U+0107 cacute |
!E4 U+00E4 adieresis |
!E5 U+00E5 aring |
!E6 U+0119 eogonek |
!E7 U+0113 emacron |
!E8 U+010D ccaron |
!E9 U+00E9 eacute |
!EA U+017A zacute |
!EB U+0117 edotaccent |
!EC U+0123 gcommaaccent |
!ED U+0137 kcommaaccent |
!EE U+012B imacron |
!EF U+013C lcommaaccent |
!F0 U+0161 scaron |
!F1 U+0144 nacute |
!F2 U+0146 ncommaaccent |
!F3 U+00F3 oacute |
!F4 U+014D omacron |
!F5 U+00F5 otilde |
!F6 U+00F6 odieresis |
!F7 U+00F7 divide |
!F8 U+0173 uogonek |
!F9 U+0142 lslash |
!FA U+015B sacute |
!FB U+016B umacron |
!FC U+00FC udieresis |
!FD U+017C zdotaccent |
!FE U+017E zcaron |
!FF U+02D9 dotaccent |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/helveticabi.php |
---|
New file |
0,0 → 1,15 |
<?php |
$fpdf_charwidths['helveticaBI']=array( |
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, |
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584, |
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722, |
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, |
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889, |
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556, |
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, |
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, |
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, |
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, |
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611, |
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556); |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/times.php |
---|
New file |
0,0 → 1,15 |
<?php |
$fpdf_charwidths['times']=array( |
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, |
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564, |
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722, |
'B'=>667,'C'=>667,'D'=>722,'E'=>611,'F'=>556,'G'=>722,'H'=>722,'I'=>333,'J'=>389,'K'=>722,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>556,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>722,'W'=>944, |
'X'=>722,'Y'=>722,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>469,'_'=>500,'`'=>333,'a'=>444,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778, |
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>333,'s'=>389,'t'=>278,'u'=>500,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>480,'|'=>200,'}'=>480,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, |
chr(132)=>444,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>889,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>444,chr(148)=>444,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>980, |
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>200,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>564,chr(173)=>333,chr(174)=>760,chr(175)=>333, |
chr(176)=>400,chr(177)=>564,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>453,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>444,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, |
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>564,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, |
chr(220)=>722,chr(221)=>722,chr(222)=>556,chr(223)=>500,chr(224)=>444,chr(225)=>444,chr(226)=>444,chr(227)=>444,chr(228)=>444,chr(229)=>444,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500, |
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>564,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>500,chr(254)=>500,chr(255)=>500); |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/timesb.php |
---|
New file |
0,0 → 1,15 |
<?php |
$fpdf_charwidths['timesB']=array( |
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, |
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570, |
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722, |
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>778,'I'=>389,'J'=>500,'K'=>778,'L'=>667,'M'=>944,'N'=>722,'O'=>778,'P'=>611,'Q'=>778,'R'=>722,'S'=>556,'T'=>667,'U'=>722,'V'=>722,'W'=>1000, |
'X'=>722,'Y'=>722,'Z'=>667,'['=>333,'\\'=>278,']'=>333,'^'=>581,'_'=>500,'`'=>333,'a'=>500,'b'=>556,'c'=>444,'d'=>556,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>333,'k'=>556,'l'=>278,'m'=>833, |
'n'=>556,'o'=>500,'p'=>556,'q'=>556,'r'=>444,'s'=>389,'t'=>333,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>394,'|'=>220,'}'=>394,'~'=>520,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, |
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>667,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, |
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>300,chr(171)=>500,chr(172)=>570,chr(173)=>333,chr(174)=>747,chr(175)=>333, |
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>556,chr(182)=>540,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>330,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, |
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>570,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, |
chr(220)=>722,chr(221)=>722,chr(222)=>611,chr(223)=>556,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556, |
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/helvetica.php |
---|
New file |
0,0 → 1,15 |
<?php |
$fpdf_charwidths['helvetica']=array( |
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, |
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584, |
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667, |
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, |
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833, |
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556, |
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, |
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, |
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, |
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, |
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556, |
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/symbol.php |
---|
New file |
0,0 → 1,15 |
<?php |
$fpdf_charwidths['symbol']=array( |
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, |
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549, |
','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722, |
'B'=>667,'C'=>722,'D'=>612,'E'=>611,'F'=>763,'G'=>603,'H'=>722,'I'=>333,'J'=>631,'K'=>722,'L'=>686,'M'=>889,'N'=>722,'O'=>722,'P'=>768,'Q'=>741,'R'=>556,'S'=>592,'T'=>611,'U'=>690,'V'=>439,'W'=>768, |
'X'=>645,'Y'=>795,'Z'=>611,'['=>333,'\\'=>863,']'=>333,'^'=>658,'_'=>500,'`'=>500,'a'=>631,'b'=>549,'c'=>549,'d'=>494,'e'=>439,'f'=>521,'g'=>411,'h'=>603,'i'=>329,'j'=>603,'k'=>549,'l'=>549,'m'=>576, |
'n'=>521,'o'=>549,'p'=>549,'q'=>521,'r'=>549,'s'=>603,'t'=>439,'u'=>576,'v'=>713,'w'=>686,'x'=>493,'y'=>686,'z'=>494,'{'=>480,'|'=>200,'}'=>480,'~'=>549,chr(127)=>0,chr(128)=>0,chr(129)=>0,chr(130)=>0,chr(131)=>0, |
chr(132)=>0,chr(133)=>0,chr(134)=>0,chr(135)=>0,chr(136)=>0,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>0,chr(141)=>0,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0, |
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>750,chr(161)=>620,chr(162)=>247,chr(163)=>549,chr(164)=>167,chr(165)=>713,chr(166)=>500,chr(167)=>753,chr(168)=>753,chr(169)=>753,chr(170)=>753,chr(171)=>1042,chr(172)=>987,chr(173)=>603,chr(174)=>987,chr(175)=>603, |
chr(176)=>400,chr(177)=>549,chr(178)=>411,chr(179)=>549,chr(180)=>549,chr(181)=>713,chr(182)=>494,chr(183)=>460,chr(184)=>549,chr(185)=>549,chr(186)=>549,chr(187)=>549,chr(188)=>1000,chr(189)=>603,chr(190)=>1000,chr(191)=>658,chr(192)=>823,chr(193)=>686,chr(194)=>795,chr(195)=>987,chr(196)=>768,chr(197)=>768, |
chr(198)=>823,chr(199)=>768,chr(200)=>768,chr(201)=>713,chr(202)=>713,chr(203)=>713,chr(204)=>713,chr(205)=>713,chr(206)=>713,chr(207)=>713,chr(208)=>768,chr(209)=>713,chr(210)=>790,chr(211)=>790,chr(212)=>890,chr(213)=>823,chr(214)=>549,chr(215)=>250,chr(216)=>713,chr(217)=>603,chr(218)=>603,chr(219)=>1042, |
chr(220)=>987,chr(221)=>603,chr(222)=>987,chr(223)=>603,chr(224)=>494,chr(225)=>329,chr(226)=>790,chr(227)=>790,chr(228)=>786,chr(229)=>713,chr(230)=>384,chr(231)=>384,chr(232)=>384,chr(233)=>384,chr(234)=>384,chr(235)=>384,chr(236)=>494,chr(237)=>494,chr(238)=>494,chr(239)=>494,chr(240)=>0,chr(241)=>329, |
chr(242)=>274,chr(243)=>686,chr(244)=>686,chr(245)=>686,chr(246)=>384,chr(247)=>384,chr(248)=>384,chr(249)=>384,chr(250)=>384,chr(251)=>384,chr(252)=>494,chr(253)=>494,chr(254)=>494,chr(255)=>0); |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/font/helveticab.php |
---|
New file |
0,0 → 1,15 |
<?php |
$fpdf_charwidths['helveticaB']=array( |
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, |
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584, |
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722, |
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, |
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889, |
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556, |
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, |
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, |
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, |
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, |
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611, |
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556); |
?> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/fpdf.css |
---|
New file |
0,0 → 1,11 |
BODY {font-family:times new roman,serif} |
H2 {color:#4000A0} |
P.demo {text-align:center; margin-top:-10px} |
A.demo {text-decoration:none; font-weight:bold; color:#0000CC} |
A.demo:link {text-decoration:none; font-weight:bold; color:#0000CC} |
A.demo:hover {text-decoration:none; font-weight:bold; color:#0000FF} |
A.demo:active {text-decoration:none; font-weight:bold; color:#0000FF} |
.st {font-weight:bold; color:#900000} |
.kw {color:#000080; font-weight:bold} |
.str {color:#CC0000} |
.cmt {color:#008000} |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/histo.htm |
---|
New file |
0,0 → 1,91 |
<HTML> |
<HEAD> |
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> |
<TITLE>Historique</TITLE> |
<LINK TYPE="text/css" REL="stylesheet" HREF="fpdf.css"> |
</HEAD> |
<BODY> |
<H2>Historique</H2> |
<B>v1.51</B> (03/08/2002) |
<BLOCKQUOTE> |
- Support des polices Type1.<BR> |
- Ajout des encodages pour les pays baltes.<BR> |
- La classe travaille maintenant en interne en points avec l'origine en bas afin d'éviter deux bugs avec Acrobat 5 :<BR> * L'épaisseur des traits était trop importante lors des impressions sous Windows 98 SE et ME.<BR> * Les polices TrueType n'apparaissaient pas immédiatement avec le plug-in, il fallait provoquer un rafraîchissement de la fenêtre pour les voir apparaître.<BR> |
- Il n'est plus nécessaire que le séparateur décimal soit le point pour générer des documents valides.<BR> |
- La zone cliquable dans une cellule était toujours positionnée à gauche indépendamment de l'alignement du texte.<BR> |
- Les images JPEG en mode CMYK apparaissaient en couleurs inversées.<BR> |
- Les images PNG transparentes en niveaux de gris ou couleurs vraies étaient incorrectement traitées.<BR> |
- L'ajout de nouvelles polices fonctionne maintenant correctement même avec l'option magic_quotes_runtime à on.<BR> |
</BLOCKQUOTE> |
<B>v1.5</B> (28/05/2002) |
<BLOCKQUOTE> |
- Support des polices TrueType (AddFont()) et des encodages (Europe de l'Ouest, de l'Est, cyrillique et grec).<BR> |
- Ajout de la méthode Write().<BR> |
- Ajout du style souligné.<BR> |
- Support des liens internes et externes (AddLink(), SetLink(), Link()).<BR> |
- Gestion de la marge droite et ajout des méthodes SetRightMargin() et SetTopMargin().<BR> |
- Modification de SetDisplayMode() pour sélectionner un affichage continu ou en colonnes.<BR> |
- Le paramètre border de MultiCell() permet de choisir les bords à tracer comme Cell().<BR> |
- Lorsqu'un document ne contient aucune page, Close() appelle maintenant AddPage() au lieu de provoquer une erreur fatale.<BR> |
</BLOCKQUOTE> |
<B>v1.41</B> (13/03/2002) |
<BLOCKQUOTE> |
- Correction de SetDisplayMode() qui ne fonctionnait plus (le visualiseur PDF utilisait l'affichage par défaut).<BR> |
</BLOCKQUOTE> |
<B>v1.4</B> (02/03/2002) |
<BLOCKQUOTE> |
- PHP3 n'est plus supporté.<BR> |
- Compression des pages (SetCompression()).<BR> |
- Choix du format des pages et possibilité de changer l'orientation en cours de document.<BR> |
- Ajout de la méthode AcceptPageBreak().<BR> |
- Ajout de la méthode SetLeftMargin().<BR> |
- Possibilité d'imprimer le nombre total de pages (AliasNbPages()).<BR> |
- Choix des bords des cellules à tracer.<BR> |
- Nouveau mode pour la méthode Cell() : la position courante se déplace sous la cellule.<BR> |
- Possibilité d'inclure une image en n'indiquant que la hauteur (la largeur est déterminée automatiquement).<BR> |
- Correction d'un bug : lorsqu'une ligne justifiée provoquait un saut de page, le pied de page héritait de l'espacement inter-mot correspondant.<BR> |
</BLOCKQUOTE> |
<B>v1.31</B> (12/01/2002) |
<BLOCKQUOTE> |
- Correction d'un bug dans le tracé du cadre avec MultiCell() : la dernière ligne partait toujours de la marge gauche.<BR> |
- Suppression de l'en-tête HTTP Expires (pose des problèmes dans certains cas).<BR> |
- Ajout de l'en-tête HTTP Content-disposition (semble aider dans certains cas).<BR> |
</BLOCKQUOTE> |
<B>v1.3</B> (03/12/2001) |
<BLOCKQUOTE> |
- Gestion des sauts de ligne avec justification du texte (MultiCell()).<BR> |
- Ajout du support de la couleur (SetDrawColor(), SetFillColor(), SetTextColor()). Possibilité de dessiner des rectangles pleins et de colorer le fond des cellules.<BR> |
- Une cellule dont la largeur est déclarée nulle s'étend jusqu'à la marge droite de la page.<BR> |
- L'épaisseur des traits est maintenant conservée de page en page et vaut 0,2 mm par défaut.<BR> |
- Ajout de la méthode SetXY().<BR> |
- Correction d'un passage par référence effectué d'une manière obsolète en PHP4.<BR> |
</BLOCKQUOTE> |
<B>v1.2</B> (11/11/2001) |
<BLOCKQUOTE> |
- Ajout des fichiers de métrique des polices et de la méthode GetStringWidth().<BR> |
- Possibilité de centrer et d'aligner à droite le texte dans les cellules.<BR> |
- Réglage du mode d'affichage (SetDisplayMode()).<BR> |
- Ajout des méthodes de propriété du document (SetAuthor(), SetCreator(), SetKeywords(), SetSubject(), SetTitle()).<BR> |
- Possibilité de forcer le téléchargement du PDF.<BR> |
- Ajout des méthodes SetX() et GetX().<BR> |
- Lors du saut de page automatique, l'abscisse courante est maintenant conservée.<BR> |
</BLOCKQUOTE> |
<B>v1.11</B> (20/10/2001) |
<BLOCKQUOTE> |
- L'utilisation des PNG ne nécessite plus PHP4 et l'extension Zlib. Les données sont intégrées directement dans le document PDF sans étape de décompression/recompression.<BR> |
- L'insertion d'image fonctionne maintenant correctement même avec l'option magic_quotes_runtime à on.<BR> |
</BLOCKQUOTE> |
<B>v1.1</B> (07/10/2001) |
<BLOCKQUOTE> |
- Support des images JPEG et PNG.<BR> |
</BLOCKQUOTE> |
<B>v1.01</B> (03/10/2001) |
<BLOCKQUOTE> |
- Correction d'un bug lors du saut de page : dans le cas où la méthode Header() ne spécifiait pas de police, celle de la page précédente n'était pas restaurée et produisait un document incorrect.<BR> |
</BLOCKQUOTE> |
<B>v1.0</B> (17/09/2001) |
<BLOCKQUOTE> |
- Première version.<BR> |
</BLOCKQUOTE> |
</BODY> |
</HTML> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/tags/v4.0/api/fpdf/FAQ.htm |
---|
New file |
0,0 → 1,310 |
<HTML> |
<HEAD> |
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> |
<TITLE>FAQ</TITLE> |
<LINK TYPE="text/css" REL="stylesheet" HREF="fpdf.css"> |
</HEAD> |
<BODY> |
<H2>FAQ</H2> |
<B>1.</B> <A HREF='#1'>Quelle est exactement la licence de FPDF ? Y a-t-il des restrictions d'utilisation ?</A><BR> |
<B>2.</B> <A HREF='#2'>Lorsque j'essaie de créer un PDF, plein de caractères bizarres s'affichent à l'écran.</A><BR> |
<B>3.</B> <A HREF='#3'>J'essaie de générer un PDF et IE m'affiche une page blanche. Que se passe-t-il ?</A><BR> |
<B>4.</B> <A HREF='#4'>J'envoie des paramètres en utilisant la méthode POST et les valeurs n'apparaissent pas dans le PDF.</A><BR> |
<B>5.</B> <A HREF='#5'>Lorsque j'utilise une session PHP, IE n'affiche plus mon PDF mais propose de le télécharger.</A><BR> |
<B>6.</B> <A HREF='#6'>Quand je suis en SSL, IE n'arrive pas à ouvrir le PDF.</A><BR> |
<B>7.</B> <A HREF='#7'>Quand j'exécute un script j'obtiens le message "FPDF error: Don't alter the locale before including class file".</A><BR> |
<B>8.</B> <A HREF='#8'>J'essaie de mettre un PNG et Acrobat me dit "Une erreur est survenue lors du traitement d'une page. Une erreur d'affichage est survenue".</A><BR> |
<B>9.</B> <A HREF='#9'>J'essaie de mettre une image et Acrobat me dit "Une erreur est survenue lors du traitement d'une page. Type d'opérande incorrect".</A><BR> |
<B>10.</B> <A HREF='#10'>Je voudrais mettre mon image en taille réelle dans mon PDF. Comment convertir les pixels en mm ?</A><BR> |
<B>11.</B> <A HREF='#11'>J'ai l'erreur suivante quand j'essaie de générer un PDF : Warning: Cannot add header information - headers already sent by (output started at script.php:X)</A><BR> |
<B>12.</B> <A HREF='#12'>J'essaie d'afficher une variable dans la méthode Header mais rien ne s'imprime.</A><BR> |
<B>13.</B> <A HREF='#13'>J'ai défini les méthodes Header et Footer dans ma classe PDF mais rien ne s'affiche.</A><BR> |
<B>14.</B> <A HREF='#14'>Je n'arrive pas à faire de retour à la ligne. J'ai bien mis \n dans la chaîne imprimée par MultiCell mais ça ne marche pas.</A><BR> |
<B>15.</B> <A HREF='#15'>J'essaie de mettre le caractère euro mais je n'y arrive pas.</A><BR> |
<B>16.</B> <A HREF='#16'>Je dessine un cadre avec des dimensions très précises, mais à l'impression je constate des écarts.</A><BR> |
<B>17.</B> <A HREF='#17'>Je voudrais utiliser toute la surface de la page mais à l'impression j'ai toujours des marges. Comment les enlever ?</A><BR> |
<B>18.</B> <A HREF='#18'>Quelle est la taille limite des fichiers que je peux générer avec FPDF ?</A><BR> |
<B>19.</B> <A HREF='#19'>Est-ce que je peux modifier un PDF avec FPDF ?</A><BR> |
<B>20.</B> <A HREF='#20'>Je voudrais faire un moteur de recherche en PHP et indexer des PDF. Est-ce que je peux le faire avec FPDF ?</A><BR> |
<B>21.</B> <A HREF='#21'>Est-ce que je peux transformer une page HTML en PDF avec FPDF ?</A><BR> |
<B>22.</B> <A HREF='#22'>Est-ce que je peux concaténer des PDF avec FPDF ?</A><BR> |
<B>23.</B> <A HREF='#23'>Comment faire pour activer les protections sur un PDF ? Je voudrais empêcher qu'on puisse copier-coller le texte ou modifier le document.</A><BR> |
<BR><BR> |
<A NAME='1'></A><B>1.</B> <FONT CLASS='st'>Quelle est exactement la licence de FPDF ? Y a-t-il des restrictions d'utilisation ?</FONT> |
<P>FPDF est Freeware (c'est indiqué au début du fichier source). Il n'y a pas de restriction |
d'usage. Vous pouvez l'incorporer librement dans votre application (commerciale ou non), avec |
ou sans modification.</P> |
<A NAME='2'></A><B>2.</B> <FONT CLASS='st'>Lorsque j'essaie de créer un PDF, plein de caractères bizarres s'affichent à l'écran.</FONT> |
<P>Ces caractères "bizarres" sont en fait le contenu réel du PDF. Ce comportement est un bug d'IE. |
Lorsqu'il reçoit d'abord une page HTML, puis un PDF à partir de la même URL, il l'affiche |
directement sans lancer le plug-in Acrobat. Cela arrive fréquemment en cours de développement : |
à la moindre erreur de script, une page HTML est envoyée, et après correction, le PDF arrive. |
<BR> |
Pour résoudre le problème, il suffit de fermer IE et de le relancer. On peut aussi aller sur |
une autre URL et revenir. |
<BR> |
Pour éviter ce genre de désagrément durant le développement, on peut générer le PDF directement |
dans un fichier et l'ouvrir via l'explorateur.</P> |
<A NAME='3'></A><B>3.</B> <FONT CLASS='st'>J'essaie de générer un PDF et IE m'affiche une page blanche. Que se passe-t-il ?</FONT> |
<P>Tout d'abord, vérifiez que vous n'envoyez rien au navigateur après le PDF (même pas un espace |
ou un retour-chariot). Vous pouvez mettre un exit juste après l'appel à la méthode Output() |
pour en être sûr. |
<BR> |
Si ce n'est pas ça, c'est que vous êtes victime du syndrome de la "page blanche". IE utilisé |
en conjonction avec le plug-in Acrobat souffre de très nombreux bugs, quelles que soient les |
versions. Essayez de tester votre application avec le plus de versions d'IE possible (en tout cas |
si elle est sur Internet). Le problème survient surtout lorsqu'on utilise la méthode POST, c'est |
pourquoi il est fortement déconseillé de l'utiliser (d'autant qu'elle pose d'autres problèmes, |
voir la question suivante). Le GET marche mieux mais peut échouer lorsque l'URL devient trop |
longue : il ne faut pas dépasser 45 caractères pour la query string. Il existe cependant une |
astuce pour dépasser cette limite : terminer l'URL par .pdf, ce qui trompe IE. Si vous utilisez |
un formulaire, il suffit de rajouter un champ caché en dernière position : |
<BR> |
<BR> |
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD> |
<TT> |
<INPUT TYPE="HIDDEN" NAME="ext" VALUE=".pdf"> |
</TT> |
</TD></TR></TABLE><BR> |
L'utilisation de session PHP cause également souvent des dysfonctionnements (il faut éviter |
d'envoyer des en-têtes HTTP empêchant la mise en cache). Voir la question 5 pour un moyen |
de résoudre le problème. |
<BR> |
<BR> |
Pour éviter tous ces problèmes de manière fiable, il existe deux principales techniques : |
<BR> |
<BR> |
- Désactiver le plug-in et utiliser Acrobat comme application externe. Pour cela, lancez |
Acrobat ; dans le menu Fichier, Préférences, Générales, désactivez l'option "Intégrer au |
navigateur Web" (pour Acrobat 5 : Edition, Préférences, Options, "Afficher dans le navigateur"). |
Puis, lorsque vous récupérez un PDF dans IE, ce dernier affiche la boîte "Ouvrir ce fichier" ou |
"Enregistrer ce fichier". Décochez la case "Toujours demander avant d'ouvrir ce type de fichier" |
et choisissez Ouvrir. Dorénavant les PDF s'ouvriront automatiquement dans une fenêtre Acrobat |
indépendante. |
<BR> |
L'inconvénient de la méthode est qu'il faut toucher à la configuration du poste client, ce |
qu'on peut faire en intranet mais pas pour Internet. |
<BR> |
<BR> |
- Utiliser une technique de redirection. Le principe consiste à générer le PDF dans un fichier |
temporaire sur le serveur et à rediriger le client dessus (en utilisant du JavaScript, pas |
l'en-tête HTTP Location qui pose aussi des problèmes). Par exemple, à la fin du script, on |
peut mettre : |
<BR> |
<BR> |
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD> |
<TT> |
//Détermination d'un nom de fichier temporaire dans le répertoire courant<BR> |
$file=basename(tempnam(getcwd(),'tmp'));<BR> |
//Sauvegarde du PDF dans le fichier<BR> |
$pdf->Output($file);<BR> |
//Redirection JavaScript<BR> |
echo "<HTML><SCRIPT>document.location='getpdf.php?f=$file';</SCRIPT></HTML>"; |
</TT> |
</TD></TR></TABLE><BR> |
Puis ceci dans getpdf.php : |
<BR> |
<BR> |
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD> |
<TT> |
<?php<BR> |
$f=$HTTP_GET_VARS['f'];<BR> |
//Contrôle du fichier (à ne pas oublier !)<BR> |
if(substr($f,0,3)!='tmp' or strpos($f,'/') or strpos($f,'\\'))<BR> |
die("Nom de fichier incorrect");<BR> |
if(!file_exists($f))<BR> |
die("Le fichier n'existe pas");<BR> |
//Traitement de la requête spéciale IE au cas où<BR> |
if($HTTP_SERVER_VARS['HTTP_USER_AGENT']=='contype')<BR> |
{<BR> |
Header('Content-Type: application/pdf');<BR> |
exit;<BR> |
}<BR> |
//Envoi du PDF<BR> |
Header('Content-Type: application/pdf');<BR> |
Header('Content-Length: '.filesize($f));<BR> |
readfile($f);<BR> |
//Suppression du fichier<BR> |
unlink($f);<BR> |
exit;<BR> |
?> |
</TT> |
</TD></TR></TABLE><BR> |
Cette méthode fonctionne dans la plupart des cas, mais pose encore des problèmes avec IE6. La |
méthode "ultime" consiste à rediriger directement sur le fichier temporaire. Ce dernier doit |
donc avoir l'extension .pdf : |
<BR> |
<BR> |
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD> |
<TT> |
//Détermination d'un nom de fichier temporaire dans le répertoire courant<BR> |
$file=basename(tempnam(getcwd(),'tmp'));<BR> |
rename($file,$file.'.pdf');<BR> |
$file.='.pdf';<BR> |
//Sauvegarde du PDF dans le fichier<BR> |
$pdf->Output($file);<BR> |
//Redirection JavaScript<BR> |
echo "<HTML><SCRIPT>document.location='$file';</SCRIPT></HTML>"; |
</TT> |
</TD></TR></TABLE><BR> |
Cette méthode transforme un PDF dynamique en PDF statique et évite ainsi tous les ennuis. |
Par contre, il faut prévoir une procédure de nettoyage pour effacer les fichiers temporaires. |
Par exemple : |
<BR> |
<BR> |
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD> |
<TT> |
function CleanFiles($dir)<BR> |
{<BR> |
//Efface les fichiers temporaires<BR> |
$t=time();<BR> |
$h=opendir($dir);<BR> |
while($file=readdir($h))<BR> |
{<BR> |
if(substr($file,0,3)=='tmp' and substr($file,-4)=='.pdf')<BR> |
{<BR> |
$path=$dir.'/'.$file;<BR> |
if($t-filemtime($path)>3600)<BR> |
@unlink($path);<BR> |
}<BR> |
}<BR> |
closedir($h);<BR> |
} |
</TT> |
</TD></TR></TABLE><BR> |
Cette fonction efface tous les fichiers de la forme tmp*.pdf dans le répertoire spécifié qui |
datent de plus d'une heure. Vous pouvez l'appeler où vous voulez, par exemple dans le script |
qui génère le PDF. |
<BR> |
<BR> |
Remarque : il est nécessaire d'ouvrir une nouvelle fenêtre pour le PDF, car on ne peut plus |
revenir en arrière à cause de la redirection.</P> |
<A NAME='4'></A><B>4.</B> <FONT CLASS='st'>J'envoie des paramètres en utilisant la méthode POST et les valeurs n'apparaissent pas dans le PDF.</FONT> |
<P>C'est un problème qui affecte certaines versions d'IE (en particulier la première 5.5). Voir la |
question précédente pour les moyens de le contourner.</P> |
<A NAME='5'></A><B>5.</B> <FONT CLASS='st'>Lorsque j'utilise une session PHP, IE n'affiche plus mon PDF mais propose de le télécharger.</FONT> |
<P>C'est un problème qui affecte certaines versions d'IE. Pour le contourner, ajoutez la ligne |
suivante avant session_start() :<BR> |
<BR> |
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD> |
<TT> |
session_cache_limiter('private'); |
</TT> |
</TD></TR></TABLE><BR> |
ou bien faites une redirection comme expliqué à la question 3.</P> |
<A NAME='6'></A><B>6.</B> <FONT CLASS='st'>Quand je suis en SSL, IE n'arrive pas à ouvrir le PDF.</FONT> |
<P>Le problème peut être résolu en ajoutant cette ligne :<BR> |
<BR> |
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD> |
<TT> |
Header('Pragma: public'); |
</TT> |
</TD></TR></TABLE><BR> |
</P> |
<A NAME='7'></A><B>7.</B> <FONT CLASS='st'>Quand j'exécute un script j'obtiens le message "FPDF error: Don't alter the locale before including class file".</FONT> |
<P>Lorsqu'on configure le séparateur décimal comme virgule avant d'inclure un fichier, il y a un |
<A HREF="http://bugs.php.net/bug.php?id=17105" TARGET="_blank">bug</A> dans PHP et les nombres |
décimaux sont tronqués. Il ne faut donc pas faire d'appel à setlocale() avant d'inclure la |
classe. Sous Unix, il ne faut pas non plus définir la variable d'environnement LC_ALL, car cela |
est équivalent à faire un appel à setlocale().</P> |
<A NAME='8'></A><B>8.</B> <FONT CLASS='st'>J'essaie de mettre un PNG et Acrobat me dit "Une erreur est survenue lors du traitement d'une page. Une erreur d'affichage est survenue".</FONT> |
<P>Acrobat 5 a un bug et ne peut pas afficher les images transparentes monochromes (i.e. avec 1 bit par pixel). |
Enlevez la transparence ou passez votre image en 16 couleurs (4 bits par pixel) ou plus.</P> |
<A NAME='9'></A><B>9.</B> <FONT CLASS='st'>J'essaie de mettre une image et Acrobat me dit "Une erreur est survenue lors du traitement d'une page. Type d'opérande incorrect".</FONT> |
<P>Il faut donner au moins une dimension à l'image ; la hauteur et la largeur ne peuvent être nulles |
en même temps.</P> |
<A NAME='10'></A><B>10.</B> <FONT CLASS='st'>Je voudrais mettre mon image en taille réelle dans mon PDF. Comment convertir les pixels en mm ?</FONT> |
<P>Une image n'a pas de "taille réelle". La dimension qu'on lui donne dans le document est |
arbitraire. A moins que vous ne vouliez imposer une résolution particulière (par exemple 72 dpi, |
ce qui correspond à l'affichage sur un écran), auquel cas le rapport entre la taille en pixels et |
la résolution donne la longueur.</P> |
<A NAME='11'></A><B>11.</B> <FONT CLASS='st'>J'ai l'erreur suivante quand j'essaie de générer un PDF : Warning: Cannot add header information - headers already sent by (output started at script.php:X)</FONT> |
<P>Il ne faut rien envoyer d'autre au navigateur que le PDF lui-même : pas d'HTML, pas d'espace, pas |
de retour-chariot, ni avant ni après. Le script envoie quelque chose à la ligne X.</P> |
<A NAME='12'></A><B>12.</B> <FONT CLASS='st'>J'essaie d'afficher une variable dans la méthode Header mais rien ne s'imprime.</FONT> |
<P>Il faut utiliser le mot-clé <TT>global</TT>, par exemple : |
<BR> |
<BR> |
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD> |
<TT> |
function Header()<BR> |
{<BR> |
global $titre;<BR> |
<BR> |
$this->SetFont('Arial','B',15);<BR> |
$this->Cell(0,10,$titre,1,1,'C');<BR> |
} |
</TT> |
</TD></TR></TABLE><BR> |
</P> |
<A NAME='13'></A><B>13.</B> <FONT CLASS='st'>J'ai défini les méthodes Header et Footer dans ma classe PDF mais rien ne s'affiche.</FONT> |
<P>Il faut créer un objet de la classe PDF et non pas FPDF :<BR> |
<BR> |
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD> |
<TT> |
$pdf=new PDF(); |
</TT> |
</TD></TR></TABLE><BR> |
</P> |
<A NAME='14'></A><B>14.</B> <FONT CLASS='st'>Je n'arrive pas à faire de retour à la ligne. J'ai bien mis \n dans la chaîne imprimée par MultiCell mais ça ne marche pas.</FONT> |
<P>Il faut mettre la chaîne entre guillemets et non pas entre apostrophes.</P> |
<A NAME='15'></A><B>15.</B> <FONT CLASS='st'>J'essaie de mettre le caractère euro mais je n'y arrive pas.</FONT> |
<P>Pour les polices standard, le caractère euro a pour code 128. Vous pouvez par commodité définir |
une constante comme suit : |
<BR> |
<BR> |
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD> |
<TT> |
define('EURO',chr(128)); |
</TT> |
</TD></TR></TABLE><BR> |
Note : Acrobat 4 ou supérieur est requis pour afficher l'euro.</P> |
<A NAME='16'></A><B>16.</B> <FONT CLASS='st'>Je dessine un cadre avec des dimensions très précises, mais à l'impression je constate des écarts.</FONT> |
<P>Pour respecter les dimensions, il faut décocher la case "Ajuster" dans la boîte de dialogue |
d'impression.</P> |
<A NAME='17'></A><B>17.</B> <FONT CLASS='st'>Je voudrais utiliser toute la surface de la page mais à l'impression j'ai toujours des marges. Comment les enlever ?</FONT> |
<P>Les imprimantes ont toutes des marges physiques (variables en fonction du modèle), il est donc |
impossible de les supprimer et d'imprimer sur la totalité de la page.</P> |
<A NAME='18'></A><B>18.</B> <FONT CLASS='st'>Quelle est la taille limite des fichiers que je peux générer avec FPDF ?</FONT> |
<P>Il n'y a pas de limite particulière. Il existe cependant certaines contraintes : |
<BR> |
<BR> |
- La taille mémoire allouée par défaut aux scripts PHP est de 8 Mo. Pour de très gros |
documents, en particulier avec des images, cette limite peut être atteinte (le fichier étant |
construit en mémoire). Elle est paramétrée dans php.ini. |
<BR> |
<BR> |
- Le temps d'exécution alloué par défaut est de 30 secondes. Cette limite peut bien entendu |
être facilement dépassée. Elle est paramétrée dans php.ini et peut être éventuellement modifiée |
à l'exécution par set_time_limit(). |
<BR> |
<BR> |
- Les navigateurs ont généralement un time-out de 5 minutes. Si vous envoyez le PDF directement |
au navigateur et que vous dépassez cette limite, il sera perdu. Il est donc conseillé pour les |
très gros documents de les générer dans un fichier, et d'envoyer des données de temps en temps |
au navigateur (par exemple page 1, page 2... en utilisant flush() pour forcer l'envoi). |
Lorsque le fichier est terminé, vous pouvez effectuer une redirection dessus avec JavaScript |
ou bien créer un lien. |
<BR> |
Remarque : même lorsque le navigateur part en time-out, il est possible que le script continue |
à s'exécuter sur le serveur.</P> |
<A NAME='19'></A><B>19.</B> <FONT CLASS='st'>Est-ce que je peux modifier un PDF avec FPDF ?</FONT> |
<P>Non.</P> |
<A NAME='20'></A><B>20.</B> <FONT CLASS='st'>Je voudrais faire un moteur de recherche en PHP et indexer des PDF. Est-ce que je peux le faire avec FPDF ?</FONT> |
<P>Non. Par contre il existe un utilitaire GPL en C, pdftotext, capable d'extraire le contenu |
textuel d'un PDF. Il est fourni avec l'archive de Xpdf :<BR> |
<BR> |
<A HREF="http://www.foolabs.com/xpdf/" TARGET="_blank">http://www.foolabs.com/xpdf/</A></P> |
<A NAME='21'></A><B>21.</B> <FONT CLASS='st'>Est-ce que je peux transformer une page HTML en PDF avec FPDF ?</FONT> |
<P>Non, on ne peut convertir que de l'HTML très simple, pas des pages complètes. Par contre il |
existe un utilitaire GPL en C, htmldoc, qui permet de le faire et qui donne de bons résultats :<BR> |
<BR> |
<A HREF="http://www.easysw.com/htmldoc/" TARGET="_blank">http://www.easysw.com/htmldoc/</A></P> |
<A NAME='22'></A><B>22.</B> <FONT CLASS='st'>Est-ce que je peux concaténer des PDF avec FPDF ?</FONT> |
<P>Non. Par contre il existe un utilitaire gratuit en C, mbtPdfAsm, capable de le faire :<BR> |
<BR> |
<A HREF="http://thierry.schmit.free.fr/dev/mbtPdfAsm/mbtPdfAsm2.html" TARGET="_blank">http://thierry.schmit.free.fr/dev/mbtPdfAsm/mbtPdfAsm2.html</A></P> |
<A NAME='23'></A><B>23.</B> <FONT CLASS='st'>Comment faire pour activer les protections sur un PDF ? Je voudrais empêcher qu'on puisse copier-coller le texte ou modifier le document.</FONT> |
<P>On ne peut pas actuellement. La fonctionnalité sera implémentée à l'avenir.</P> |
</BODY> |
</HTML> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |