

Čeština ve FOPu
Generuji v javě z xml pomocí fopu pdfko. Pokud spustím fop přímo z příkazové řádky s parametrem
-c "conf\myfop.xconf"
tak je čeština OK. Když se ale pdfko pokouším generovat přímo z javy, tak se místo českých znaků tisknou # a to i když se snažím Transformeru vnutit svůj konfigurační soubor pomocí návodu na http://old.nabble.com/Embed-Fonts-in-PDF-using-Jav a-td26112969.html#a26114832:
final FopFactory fopFactory = FopFactory.newInstance();
DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder();
File fConf = new File("C:\\Program files\\Fop-1.0\\conf\\myfop.xconf");
FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
FileOutputStreams).OutputStream out = null;
try {
out = new BufferedOutputStream (new FileOutputStream(new File("C:\\Documents and Settings\\Anička\\workspace\\Objekty2010\\auto.pdf")));
Source xsltSrc = new StreamSource(new File("C:\\Documents and Settings\\Anička\\workspace\\Objekty2010\\auto-fo.xsl"));
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(xsltSrc);
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);
Configuration cfg = cfgBuilder.buildFromFile(fConf);
fopFactory.setUserConfig(cfg);
Source src = new StreamSource(new File(this.sXml));
Result res = new SAXResult(fop.getDefaultHandler());
transformer.transform(src, res);
}
Program vypíše varování:
org.apache.fop.events.LoggingEventListener processEvent
WARNING: Glyph "č" (0x10d, ccaron) not available in font "Helvetica"
Soubor myfop.xconf obsahuje mj.:
<!DOCTYPE fop [
<!ENTITY fop.home "file:///c:/Program Files/Fop-1.0/">
<!ENTITY fonts.dir "file:///c:/windows/fonts">
]>
Nevíte jak ho donutit, aby používal české fonty? Jedná se o ttf fonty.
Už jsem to vyřešila
Příkaz
musí být před
.