I generate jasper report using the code below which works fine under windows. The fonts in the jasper report are embedded. The fonts are imported to the app using the maven dependency jasperreports-fonts. Specifically DeJaVu Sans.
JasperDesign jasperDesign = JRXmlLoader.load(jasperStream);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, jrDataSource);
JasperViewer.viewReport(jasperPrint, false);
However, when deploying the app in linux environment it displays the error below;
java.lang.ExceptionInInitializerError
Caused by: net.sf.jasperreports.engine.JRRuntimeException: java.io.IOException: Problem reading font data.
at net.sf.jasperreports.engine.fonts.SimpleFontFace.<init>(SimpleFontFace.java:108)
at net.sf.jasperreports.engine.fonts.SimpleFontFace.<init>(SimpleFontFace.java:128)
at net.sf.jasperreports.engine.fonts.SimpleFontFace.getInstance(SimpleFontFace.java:67)
at net.sf.jasperreports.engine.fonts.SimpleFontFamily.setNormal(SimpleFontFamily.java:99)
Caused by: java.io.IOException: Problem reading font data.
at java.awt.Font.createFont0(Font.java:1000)
at java.awt.Font.createFont(Font.java:877)