​Hi,

​I've got rather curious case when using Batik to render SVG texts to PDF.
If following code runs inside plain java program, everything works fine:

public byte[] convert(String svg) throws TranscoderException,
java.io.IOException {
    ByteArrayInputStream instream = new
ByteArrayInputStream(svg.getBytes(StandardCharsets.UTF_8));
    ByteArrayOutputStream outstream = new ByteArrayOutputStream(50 * 1024);

    TranscoderInput input = new TranscoderInput(instream);
    TranscoderOutput output = new TranscoderOutput(outstream);

    Transcoder transcoder = new PDFTranscoder();
    transcoder.transcode(input, output);

    return outstream.toByteArray();
}

However, if same code is called from JRuby 1.7 (same ui-less Linux machine,
using same Oracle 1.8.0_66 64 bit JVM), all texts in SVG are rendered with
a box around each character. To verify it's not ruby-2-java issue, I've
also tried completely isolated method where java code reads in the svg file
and outputs PDF to a file - the issue still remains so there must be
something different how the JVM acts while running jruby. Any ideas what
might cause it?

Urmo

Reply via email to