David Fisher <dfisher <at> jmlafferty.com> writes:
>
> Hi Steve,
>
> What version of Java and which version of Apache POI?
>
> Where are the JRE fonts in relation to your JAVA_HOME?
>
> Hopefully here: /jre/lib/fonts
>
> Have you set "-Djava.awt.headless=true"?
>
> Regards,
> Dave
>
> > I'm trying to use Apache POI to create a spreadsheet, which i will then
email to
> > users. My program creates the spreadsheet, then reads a file to fill in the
> > rows, then writes the completed spreadsheet to a file. The environment is
unix
> > running on a mainframe. The program works great. but I have problems when i
try
> > to add formatting. then it fails, and i get a confusing message about it
> > not
> > being able to find "fonts".
> >
> > here's the line of code that causes the problem.
> >
> >
> > Workbook wb = new HSSFWorkbook();
> > ......
> > Sheet sheet = wb.createSheet("Sheet1");
> > ..........
> >
> > sheet.autoSizeColumn((short)2);
> >
> > the autoSizeColumn causes the problem. I suppose it needs the font info to
> > calculate the column size, but it can't find it for some reason. I see a
> > directory in the Java JDK that seems to have font info in it
> > (LucidaTypewriterRegular.ttf, etc).
> >
> > the error is below.....I'm pretty new to java, and it's the first time i've
used
> > POI, so i could be missing something very basic. i hope so.... any ideas of
> > where to research would be highly appreciated.
> >
> > thanks
> >
> >
> > java.lang.Error: Probable fatal error:No fonts found.
> > at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1095)
> > at sun.font.FontManager.initialiseDeferredFont(FontManager.java:966)
> > at sun.font.FontManager.initialiseDeferredFonts(FontManager.java:791)
> > at
sun.java2d.SunGraphicsEnvironment.loadFonts(SunGraphicsEnvironment.java:432)
> > at sun.font.FontManager.findFont2D(FontManager.java:1927)
> > at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1078)
> > at sun.font.FontManager.initialiseDeferredFont(FontManager.java:966)
> > at sun.font.FontManager.initialiseDeferredFonts(FontManager.java:791)
> > at
sun.java2d.SunGraphicsEnvironment.loadFonts(SunGraphicsEnvironment.java:432)
> > at sun.font.FontManager.findFont2D(FontManager.java:1927)
> > at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1078)
> > at sun.font.FontManager.initialiseDeferredFont(FontManager.java:966)
> > at sun.font.FontManager.initialiseDeferredFonts(FontManager.java:791)
> > at
sun.java2d.SunGraphicsEnvironment.loadFonts(SunGraphicsEnvironment.java:432)
> > at sun.font.FontManager.findFont2D(FontManager.java:1927)
> > at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1078)
> > at sun.font.FontManager.initialiseDeferredFont(FontManager.java:966)
> > at sun.font.FontManager.initialiseDeferredFonts(FontManager.java:791)
> > at
sun.java2d.SunGraphicsEnvironment.loadFonts(SunGraphicsEnvironment.java:432)
> > at sun.font.FontManager.findFont2D(FontManager.java:1927)
> > at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1078)
> > at sun.font.FontManager.initialiseDeferredFont(FontManager.java:966)
> > at sun.font.FontManager.initialiseDeferredFonts(FontManager.java:791)
> > at
sun.java2d.SunGraphicsEnvironment.loadFonts(SunGraphicsEnvironment.java:432)
> > at sun.font.FontManager.findFont2D(FontManager.java:1927)
> > at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1078)
> > at sun.font.FontManager.initialiseDeferredFont(FontManager.java:966)
> > at sun.font.FontManager.findJREDeferredFont(FontManager.java:878)
> > at sun.font.FontManager.findDeferredFont(FontManager.java:917)
> > at sun.font.FontManager.findFont2D(FontManager.java:1836)
> > at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1078)
> > at sun.font.FontManager.initialiseDeferredFont(FontManager.java:966)
> > at sun.font.FontManager.findJREDeferredFont(FontManager.java:878)
> > at sun.font.FontManager.findDeferredFont(FontManager.java:917)
> > at sun.font.FontManager.findFont2D(FontManager.java:1836)
> > at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1078)
> > at sun.font.FontManager.initialiseDeferredFont(FontManager.java:966)
> > at sun.font.FontManager.findJREDeferredFont(FontManager.java:878)
> > at sun.font.FontManager.findDeferredFont(FontManager.java:917)
> > at sun.font.FontManager.findFont2D(FontManager.java:1836)
> > at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1078)
> > at sun.font.FontManager.initialiseDeferredFont(FontManager.java:966)
> > at sun.font.FontManager.findJREDeferredFont(FontManager.java:825)
> > at sun.font.FontManager.findDeferredFont(FontManager.java:917)
> > at sun.font.FontManager.findFont2D(FontManager.java:1836)
> > at sun.font.FontManager.findFont2D(FontManager.java:1797)
> > at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1078)
> > at sun.font.FontManager.initialiseDeferredFont(FontManager.java:966)
> > at sun.font.FontManager.initialiseDeferredFonts(FontManager.java:791)
> > at
sun.java2d.SunGraphicsEnvironment.loadFonts(SunGraphicsEnvironment.java:432)
> > at
> >
sun.java2d.SunGraphicsEnvironment.getAllInstalledFonts(SunGraphicsEnvironment.ja
> > va:526)
> > at
> >
sun.java2d.SunGraphicsEnvironment.getAllFonts(SunGraphicsEnvironment.java:578)
> > at
> >
sun.java2d.HeadlessGraphicsEnvironment.getAllFonts(HeadlessGraphicsEnvironment.j
> > ava:90)
> > at SimpleExcel.main(SimpleExcel.java:37)
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe <at> poi.apache.org
> > For additional commands, e-mail: user-help <at> poi.apache.org
> >
>
Hi David,
thanks for responding!!
I am using version 3.7.
the JRE fonts are in:
J6.0/lib/fonts
-rw-r--r-- 1 SYSCHAR SYSTEMS 4041 Aug 30 2006 fonts.dir
-rw-r--r-- 1 SYSCHAR SYSTEMS 242700 Aug 30 2006 LucidaTypewriterRegular.tt
f
-rw-r--r-- 1 SYSCHAR SYSTEMS 234068 Aug 30 2006 LucidaTypewriterBold.ttf
-rw-r--r-- 1 SYSCHAR SYSTEMS 698236 Aug 30 2006 LucidaSansRegular.ttf
-rw-r--r-- 1 SYSCHAR SYSTEMS 317896 Aug 30 2006 LucidaSansDemiBold.ttf
-rw-r--r-- 1 SYSCHAR SYSTEMS 344908 Aug 30 2006 LucidaBrightRegular.ttf
-rw-r--r-- 1 SYSCHAR SYSTEMS 80856 Aug 30 2006 LucidaBrightItalic.ttf
-rw-r--r-- 1 SYSCHAR SYSTEMS 75124 Aug 30 2006 LucidaBrightDemiItalic.ttf
-rw-r--r-- 1 SYSCHAR SYSTEMS 75144 Aug 30 2006 LucidaBrightDemiBold.ttf
i DID try to set headless to true in the program (i was wondering if that made
any sense), like so:
System.setProperty("java.awt.headless", "true");
Just tried it from the command line
java -Djava.awt.headless=true SimpleExcel.java
and got the usual error.
steve
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]