Mantis - Quercus
Viewing Issue Advanced Details
4099 minor always 07-01-10 05:23 10-15-13 10:04
Oliver  
domdorn  
normal  
closed 4.0.9  
fixed  
none    
none  
0004099: com.caucho.quercus.QuercusModuleException: java.io.FileNotFoundException: Can't find font Helvetica
Using PDFlib in a PHP-App running under Quercus 4.0.3 on a Glassfish v3.1 on Windows XP:
PHP-Code:
$font = PDF_load_font($p, "Helvetica", "winansi", "");

leads to:
Caused by: java.io.FileNotFoundException: Can't find font Helvetica
    at com.caucho.quercus.lib.pdf.AfmParser.parse(AfmParser.java:62)
    at com.caucho.quercus.lib.pdf.PDF.loadFont(PDF.java:294)
    at com.caucho.quercus.lib.pdf.PDF.load_font(PDF.java:269)
    at com.caucho.quercus.lib.pdf.PDFModule.pdf_load_font(PDFModule.java:1187)

Source found in Resin:
\resin-4.0.7\modules\resin\src\com\caucho\quercus\lib\pdf

AfmParser:
Path path = mergePath.lookup("com/caucho/quercus/lib/pdf/font/" + name + ".afm");

I have got no idea, why this exception happens.

Notes
(0004651)
Oliver   
07-01-10 07:28   
mergePath.addClassPath() is not working correctly... I guess
(0004653)
domdorn   
07-02-10 08:43   
it happens because no "Helvetica.afm" file is found in the classpath in the directory com/caucho/quercus/lib/pdf/font/
(0004654)
Oliver   
07-05-10 01:54   
Yes, exactly. But are you going to fix it?
It doesn't work on Tomcat, eihter. Same error message.
It works on the resin AS, but that's it.
I have already tried to put the resin.jar in a shared directory, but it didn't help.
(0004655)
domdorn   
07-05-10 11:51   
Are you using Quercus Open Source or Quercus Pro?

Have you tried with 4.0.8?
http://caucho.com/download/quercus-4.0.8.war [^]

you could try copying the pdf-lib files from
the resin source to your project and see if it
works with tomcat.
(0004659)
domdorn   
07-06-10 13:13   
We'll be fixing that. Will work on it tomorrow.
(0004660)
Oliver   
07-07-10 00:19   
Thank you a lot. Good service.
Please, let me know where I can find the patch.
(0004661)
domdorn   
07-07-10 06:23   
I've did the relevant changes.
Please checkout the source from svn
svn://svn.caucho.com/resin/trunk/ [^]

build the stuff there with a simple

ant

and copy
lib/resin-kernel.jar
lib/quercus.jar
lib/inject-16.jar
lib/jcache-16.jar

to your
WEB-INF/lib
directory.

please tell me if you encounter any issues.
(0004663)
Oliver   
07-08-10 00:41   
I get a build error:
resin-compile:

module:
     [copy] Copying 111 files to E:\resin-src\modules\resin\classes
    [javac] E:\resin-src\build-common.xml:182: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 2625 source files to E:\resin-src\modules\resin\classes
    [javac] E:\resin-src\modules\resin\src\com\caucho\jsp\PageContextImpl.java:96: cannot access VariableResolver
    [javac] class file for VariableResolver not found
    [javac] public class PageContextImpl extends PageContext
    [javac] ^

Can you tell which jar is missing.

Thanks
(0004664)
domdorn   
07-09-10 04:48   
Please checkout Revision 7299 by typing

cd resin
svn up -r7299

then clean and build by typing

ant clean
ant

this works on my box.
(0004685)
Oliver   
07-28-10 03:17   
Sorry for my delayed answer, have been on an IT-free holiday.

Build works, but I still have the same error message, although I exchanged the jars.

It is strange URL says: http://localhost:8080/quercus-4.0.8/ [^]
and the welcome page says:
Quercus? Open Source 4.0.7
(0004698)
domdorn   
08-04-10 02:41   
we released 4.0.9 recently
http://caucho.com/download/quercus-4.0.9.war [^]

could you try with that one?

If it does not work, could you provide a small example project (maven or simple .war)

thqnks
(0004699)
Oliver   
08-04-10 04:38   
Have tried the new war.
The error remains:

It is just a PHP-file containing:

$font = PDF_load_font($p, "Helvetica", "winansi", "");

That's all.
The PHP-file is directly placed in sges-v3\glassfish\domains\domain1\applications\quercus-4.0.9
(0004757)
domdorn   
09-28-10 06:18   
fixed in current SVN r7554.
Should be in the next release, probably today.