IReport font not available to JVM net.sf.jasperreports.awt.ignore.missing.font=true has no effect.

fontsireportjasper-reports

I'm trying to preview a Jasper report in iReport and am getting this error.

Error filling print… Font 'Helvetica' is not available to the JVM. See the Javadoc for more details.

net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Helvetica' is not available to the JVM. See the Javadoc for more details.
    at net.sf.jasperreports.engine.util.JRFontUtil.checkAwtFont(JRFontUtil.java:358)
    at net.sf.jasperreports.engine.fill.TextMeasurer.measureSimpleText(TextMeasurer.java:537)
    at net.sf.jasperreports.engine.fill.TextMeasurer.measure(TextMeasurer.java:341)
    at net.sf.jasperreports.engine.fill.JRFillTextElement.chopTextElement(JRFillTextElement.java:511)
    at net.sf.jasperreports.engine.fill.JRFillStaticText.prepare(JRFillStaticText.java:183)
    at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:328)
    at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:393)
    at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:352)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:323)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:257)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
    at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:879)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

I have found here Jasper stops finding one font instructions to set net.sf.jasperreports.awt.ignore.missing.font=true in the default.jasperreports.properties inside modules/etc/jasperreports-4.5.0.jar.

But this has had no effect. Is that the correct properties file, that iReport uses when compiling a preview?

Best Answer

First: the ignore missing font property stopped working in JR 4.5.0. It's a bug. It's already fixed in trunk. You can either get that or wait for 4.5.1.

Second: ignoring the missing font is (obviously) a non-ideal solution compared to actually finding the font that you want. If your report needs Helvetica, then you should use font extensions to include Helvetica on your server. If your report doesn't really need Helvetica, then just change your report to use a logical font like 'Serif' and let the JVM use whatever its default serif font is.

Related Topic