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]

Reply via email to