V následujícím textu se podíváme na instalaci nejpoužívanějších XSL FO procesorů. Budeme se věnovat především jejich úpravě pro české prostředí – přidání podpory pro české fonty a české dělení slov.
FO procesor od firmy RenderX, napsaný v Javě. Ze stránek firmy si lze zdarma stáhnout osobní verzi, která je určena pro nekomerční účely a na konec každé stránky vloží krátký propagační text. Plně funkční verze lze zakoupit na http://www.renderx.com/download/shop.html. Pro použití v akademickém prostředí je plně funkční verze k dispozici rovněž zdarma.
Standardní distribuce XEPu nepodporuje všechny české znaky, protože nejsou obsaženy ve sadě základních písem používaných ve formátu PDF. Je proto potřeba do XEPu doplnit písma, která tyto znaky obsahují. Mezi taková písma patří například většina TrueType/OpenType fontů, které jsou součástí OS Windows. Pokud používáte jiný systém než Windows, můžete si tyto fonty stáhnout z adresy http://corefonts.sf.net/.
V konfiguračním souboru xep.xml
musí být
definována všechna písma, která XEP vidí.
<font-group xml:base="file:/C:/Windows/Fonts/" label="Windows TrueType" embed="true" subset="true"> <font-family name="Arial"> <font><font-data ttf="arial.ttf"/></font> <font style="oblique"><font-data ttf="ariali.ttf"/></font> <font weight="bold"><font-data ttf="arialbd.ttf"/></font> <font weight="bold" style="oblique"><font-data ttf="arialbi.ttf"/></font> </font-family> …
Důležité je nastavit správně cestu k adresáři s fonty (atribut
xml:base
) a pro české fonty
musíme zapnout jejich vkládání do PDF
(embed="true"
). Volba
subset="true"
zajistí, že se font nebude vkládat
celý, ale jen obrysy skutečně použitých písmen, a tím se zmenší
velikost PDF souboru.
XEP používá stejné popisy dělení slov jako TeX. Jejich přidání je velmi jednoduché.
Na adrese http://www.kosek.cz/sw/xep/xep4.zip je k dispozici ukázkový konfigurační soubor, který obsahuje definici základních českých písem i definici českých vzorů dělení slov. Archiv stačí rozbalit do adresáře s instalací XEPu a případně opravit cestu k adresáři s českými TTF písmy.
České vzory dělení slov jsou definovány v souboru
hyphen/czhyphen.il2
. Aby XEP tyto vzory načetl
musíme na ně přidat odkaz do konfiguračního souboru
xep.xml
:
<languages> … <language name="Czech" codes="cs cze"> <hyphenation pattern="czhyphen.il2" encoding="iso-8859-2"/> </language> … </languages>
Definice říká, že pro pro češtinu (jazykový kód
cs
) se použijí vzory dělení ze souboru
czhyphen.il2
, který je v kódování
iso-8859-2.
FOP je open-source procesor od sdružení Apache – http://xml.apache.org/fop/ napsaný v Javě.
Stáhneme binární distribuci FOPu z adresy http://xmlgraphics.apache.org/fop/download.html
– soubor fop-0.95-bin.zip
.
Soubor fop-0.95-bin.zip
rozbalíme do
nějakého adresáře, třeba c:\xslfo\fop
.
FOP nyní můžeme spouštět pomocí příkazu
c:\xslfo\fop\fop. Pro časté používání je vhodné přidat
adresář c:\xslfo\fop
do cesty, aby šlo FOP spouštět
přímo příkazem fop.
Standardní verze podobně jako XEP neobsahuje podporu pro sazbu českých znaků. Kvůli licenčním omezením jsou vzory dělení distribuovány seperátně na adrese http://sourceforge.net/projects/offo.
Stáhněte si soubor http://www.kosek.cz/sw/fop/fop-cs2.zip a
rozbalte jej do adresáře, ve kterém je nainstalován FOP (typicky např.
c:\xslfo\fop
).
Soubor obsahuje metriky pro základní české TTF fonty.
Při spouštění FOPu musíte určit cestu ke konfiguračnímu souboru
s odkazy na metriky českých fontů. FOP je nutné spouštět
s parametrem -c c:\xslfo\fop\conf\myfop.xconf
(adresář c:\xslfo\fop
upravte podle skutečného umístění
FOPu).
V souboru conf/myfop.xconf
upravte
cesty na začátku souboru tak, aby ukazovaly na adresář
s instalací FOPu a na adresář, kde máte TTF fonty:
<!ENTITY fop.home "file:///c:/xslfo/fop"> <!ENTITY fonts.dir "file:///c:/windows/fonts">
Pokud používáte Linux a nemáte české TTF fonty, můžete si je stáhnout z adresy http://corefonts.sourceforge.net/.
Opět komerční FO procesor, který ve své zkušební verzi doplní na každou stránku reklamní odkaz. Standardně podporuje zobrazování českých znaků. K dispozici je na adrese http://www.antennahouse.com/.
Chceme-li, aby AXF i slova dělilo, můžeme si pořídit speciální plugin pro dělení slov.
Ibex je komerční procesor FO. Instalace a spuštění je velice jednoduché, jedná se o jeden JAR archiv.
Ibex neumí dělit slova, informace o konfiguraci fontů je možné
uloži do souboru ibexconfig.xml
v následujícím
tvaru:
<?xml version="1.0" encoding="UTF-8"?> <ibexconfig> <font bold="false" italic="false" file="c:/windows/fonts/times.ttf" name="TimesNewRoman"/> <font bold="false" italic="false" file="c:/windows/fonts/times.ttf" name="serif"/> <font bold="false" italic="true" file="c:/windows/fonts/timesi.ttf" name="TimesNewRoman"/> <font bold="false" italic="true" file="c:/windows/fonts/timesi.ttf" name="serif"/> <font bold="true" italic="true" file="c:/windows/fonts/timesbi.ttf" name="TimesNewRoman"/> <font bold="true" italic="true" file="c:/windows/fonts/timesbi.ttf" name="serif"/> <font bold="true" italic="false" file="c:/windows/fonts/timesbd.ttf" name="TimesNewRoman"/> <font bold="true" italic="false" file="c:/windows/fonts/timesbd.ttf" name="serif"/> … </ibexconfig>
Cestu ke konfiguračnímu souboru musíme pak určit při spouštění programu:
java -cp c:\xslfo\ibex\ibex-4.5.4.jar -Dibexconfig=c:\xslfo\ibex\ibexconfig.xml ibex.Run parametry
Komerční formátovač Xinc pro generování PDF používá FOP, takže asi není moc důvodů jej používat. Konfigurace češtiny je podobná jako pro FOP.
Komerční formátovač Xml2PDF standardně obsahuje české a slovenské vzory dělení slov, sám umí najít i české TTF fonty.