Afegir fonts TrueType al FPDF
El primer que hem de fer és convertir la Font TrueType a Type1, ho podem fer amb el programa TrueType Font to Postcrip Tye1
Descarreguem i descomprimim i compilem el programa:
wget http://prdownloads.sourceforge.net/ttf2pt1/ttf2pt1-3.4.4.tgz
tar xzf ttf2pt1-3.4.4.tgz
cd ttf2pt1
make all
make
Copiem la font dins el directori i executem:
ttf2pt1 -a font.ttf font
S'ens han creat 2 fitxers, el font.t1a ja el podem eliminar. El segon és el fitxer de definició de mides, font.afm. Per fer-ho més fàcil podem copiar aquest fitxer i la font en format TTF al directori "font" de la llibreria FPDF ja que el següent pas és crear un fitxer de definició de la font mitjançant una script php que la mateixa llibreria ja porta incorporat al directori font/makefont/makefont.php
En el mateix directori on hem copiat la font crearem un fitxer PHP, per exemple creacioFont.php amb les línies:
require("fpdf/font/makefont/makefont.php");
MakeFont('font.ttf','font.afm', 'cp1252');
L'últim paràmetre és la codificació. cp1252 és europa occidental. Executem aquest fitxer, des e la url pertinenr del servidro web o bé si tenim la llibreria CLI del PHP l'executarem des de una consola:
php creacoFont.php
Això haurà creat en primer lloc el fitxer font.php que és el fitxer de definició. I en segon lloc si tenim la llibreria Zlib n'haurà creat un altre el font.z, la font comprimida.
Arribat aquest pun només necessitem els fitxers font.php i el font.z o en substitució si no teni, la llibreria Zlib el font.ttf. Podem deixar-ho en aquest directori o posar-los en un altre perquè quedi mes clar.
Ara al crear un PDF si volem posar-hi aquesta nova tipologia, n'hi haurà prou en afegir al fitxer PHP que crea el PDF:
$pdf->AddFont('Font','','font.php');
$pdf->SetFont('Font','',15);
$pdf->Cell(10,10,'Hello world',0,0,'C');