There are upcoming maintenance events which may impact our services. Learn more

Fixing java.lang.ArrayIndexOutOfBoundsException at sun.font.CompositeFont.getSlotFont Errors Print

  • 2



FULL ERROR:

java.lang.ArrayIndexOutOfBoundsException: 0
at sun.font.CompositeFont.getSlotFont(CompositeFont.java:351)
at sun.font.CompositeGlyphMapper.initMapper(CompositeGlyphMapper.java:81)
at sun.font.CompositeGlyphMapper.<init>(CompositeGlyphMapper.java:62)
at sun.font.CompositeFont.getMapper(CompositeFont.java:409)
at sun.font.CompositeFont.canDisplay(CompositeFont.java:435)
at java.awt.Font.canDisplayUpTo(Font.java:2063)
at java.awt.font.TextLayout.singleFont(TextLayout.java:470)
at java.awt.font.TextLayout.<init>(TextLayout.java:531)
at org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:254)
at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:229)
at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:214)
at org.apache.poi.xssf.usermodel.XSSFSheet.autoSizeColumn(XSSFSheet.java:489)
at org.apache.poi.xssf.usermodel.XSSFSheet.autoSizeColumn(XSSFSheet.java:471)
at com.informatica.bg.core.importexport.utils.ExcelWriter.getExcelFile(ExcelWriter.java:68)
at com.informatica.bg.core.importexport.BGExportManager.writeObjects(BGExportManager.java:682)
at com.informatica.bg.core.importexport.BGExportManager.export(BGExportManager.java:223



SOLUTION

​Create the following file /etc/fonts/local.conf on your web server with the following content:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<alias>
<family>serif</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>dialog</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>dialoginput</family>
<prefer><family>Utopia</family></prefer>
</alias>
</fontconfig>

When you have the file in place restart your server or virtual machine. This will ensure all settings take affect within the JAVA services.


Was this answer helpful?

« Back