Thomas DeWeese <[EMAIL PROTECTED]> writes:

> Hi Måns,
>
> Måns Rullgård wrote:
>
>> I'm using Batik to dynamically generate and rasterize some graphics
>> from a tomcat servlet.  I supply my own truetype font to make sure the
>> correct font gets used.
>
>     Just curious how are you providing the font?

As a file in the same directory as my CSS file, and a @font-face
directive naming the font and file.

>> The problem is that something, presumably Batik, is copying this font
>> file to a temporary file (in the tomcat temp directory), and fails to
>> remove it.  Over time, I get hundreds of copies of the same file there
>> (with names like +~JF4554.tmp), and have to delete them manually.
>
>     I'm fairly certain that it is not Batik, we use Font.createFont
> which takes an InputStream.  I would suspect that this method is
> copying the file so it can use some sort of native library to read
> the font...  Not that this helps you, I'm just "passing the buck" to
> the JVM :)

Maybe I should try the latest JVM version, though I'm always a bit on
cautious side when it comes to upgrading the JVM.  Is batik known to
work with Java 1.5?  I'm using 1.4 right now.

>> Am I doing something wrong?  I am certain that I am not telling anyone
>> to do the copying, so I can't see how to make file go away when not
>> needed.
>
>     I have two suggestions.
>       1) Convert your TrueType font to an SVG font (using ttf2svg,
> which is part of the Batik toolkit).  This might be slightly
> slower but most of our bottlenecks are not the font stuff.  The real
> thing you will lose is font hinting, but the JDK doesn't do a great
> job with this right now anyways.

I could always give it a try.  Do I still specify the font in the same
way?

>       2) Add a font cache similar to our Image cache into Batik.
> This way as long as the same URL was used each time for the font, you
> would only create one instance of the font.  This would probably make
> a minor speed improvement.  I could point out the places where changes
> would need to be made (I don't think this would be difficult).

Thanks, but I really don't have the time to start hacking Batik right
now.  The speed isn't terribly important, since I'm anyway caching the
rasterized versions.

>      Even if you decide to go with #1 for now could you file a Bugzilla
> requesting #2 so it's not forgotten (I think it's a good idea).

And of course it requires registration...  Oh well, I'll do it anyway.

-- 
Måns Rullgård
[EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to