Oto krótki tutorial jak tworzyć polskie czcionki i jak z nich korzystać w dokumentach
PDF, tworzonych przez darmową klasę (
FPDF). Użyjemy do tego narzędzia (
Makefont) zawartego w dystrybucji
FPDF. Służy ono do generowania czcionki, którą później będziemy wykorzystywać w naszym dokumencie
PDF.
Najpopularniejsze formaty czcionek to:
Type1 i
TrueType.
Są typowymi czcionkami wektorowymi stosowanymi w środowiskach graficznych niezależnie od platformy. Twórcą formatu
Type1 jest firma
Adobe, a formatu
TrueType firmy
Apple i
Microsoft. Aby uzyskać polskie ogonki w PDF'ie należy przekonwertować czcionkę z formatu
TrueType do formatu
Type1.
_______________________________
1. Krok pierwszy (generowanie metrycznego pliku *.afm).
Aby wygenerować plik *.afm przydatne będzie darmowe narzędzie
ttf2pt1 konwertujące czcionkę w formacie TrueType do formatu Adobe Type1.
Dostępne jest pod adresem:
http://ttf2pt1.sourceforge.net/download.html
Binaria Windows dostępne są pod adresem:
http://www.fpdf.org/fr/dl.php?id=22
W linii poleceń wpisujemy:
Cytat
ttf2pt1 –a nazwa_czcionki.ttf nazwa_pliku_afm
np. dla czcionki arial.ttf
Cytat
ttf2pt1 –a arial.ttf arialpl
Powinieneś otrzymać pliki:
arialpl.afm i
arialpl.t1a.
To najważniejszy moment w budowaniu czcionek. Ponieważ są one dołączane do pliku
PDF w tym momencie musimy zadbać o rozmiar generowanych plików. Aby ograniczyć czcionkę do konkretnego kodowania można użyć zawartych w katalogu /font/makefont/ plików
*.map zawierających mapę znaków dla konkretnego kodowania.
Generowanie czcionki arialpl dla kodowania ISO-8859-2:
Cytat
ttf2pt1 –b -L iso-8859-2.map arial.ttf arialpl
Można również usunąć z pliku mapy znaki, których nie będziemy używali. To również spowoduje zminiejszenie rozmiaru wynikowego pliku czcionki, ale ta metoda nie jest polecana zwłaszcza przy dynamicznym generowaniu PDF'ów.
_______________________________
2. Krok drugi (generowanie pliku czcionki za pomocą narzędzia
Makefont)
Tworzymy krótki skrypt php.
[php:1:b5574f368e]<?php
require('sciezka_do_narzedzia_makefont/makefont.php');
Makefont('nazwa_czcionki.ttf', 'nazwa_pliku_afm.afm', 'kodowanie');
?>[/php:1:b5574f368e]
np. dla czcionki arial.ttf i utworzonego wczesniej pliku arialpl.afm
[php:1:b5574f368e]<?php
require('sciezka_do_narzedzia_makefont/makefont.php');
Makefont('arial.ttf', 'arial.afm', 'iso-8859-2');
?>[/php:1:b5574f368e]
Powinieneś otrzymać pliki:
arialpl.php i
arialpl.z.
Oba pliki tworzą czcionkę, która możesz wykorzystywać w dokumencie PDF.
Należy pamiętać, że stylem wygenerowanej czcionki
arialpl jest REGULAR.
Dla stylu BOLD i ITALIC istnieja inne pliki ttf:
-- arialbd.ttf (BOLD)
-- ariali.ttf (ITALIC),
-- arialbi.ttf (ITALIC BOLD),
_______________________________
3. Krok trzeci (Instalacja czcionki).
Przekopiuj wcześniej utworzone pliki
*.php i
*.z do katalogu z fontami (domyślnie w FPDF to 'font/'):
[php:1:b5574f368e]<?php
define('FPDF_FONTPATH','font/');
require('fpdf.php');
$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->AddFont('nazwa_czcionki','styl_czcionki','plik_czcionki.php');
$pdf->SetFont('nazwa_czcionki','styl_czcionki', rozmiar);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>[/php:1:b5574f368e]
przykład dla naszej czcionki arialpl:
[php:1:b5574f368e]<?php
define('FPDF_FONTPATH','font/');
require('fpdf.php');
$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->AddFont('arialpl', '', 'arialpl.php');
$pdf->SetFont('arialpl', '', 12);
$pdf->Cell(40, 10, 'Hello World!');
$pdf->Output();
?>[/php:1:b5574f368e]
Od tego momentu każdy wypisany tekst w dokumencie PDF, będzie używał czcionki arialpl o rozmiarze 12.
PAMIĘTAJ: Jeśli ustalisz kodowanie na ISO-8859-2, tekst przekazywany do PDF'a również musi być w formacie ISO-8859-2.
_______________________________
A oto efekt:
test.pdf
Wykorzystałem czcionkę
Verdana: REGULAR, BOLD i ITALIC
Do ściągnięcia:
tutaj.
Inne czcionki to wasze zadanie domowe :wink: