Текст в формате SVG в PNG отображается неправильно - шрифт Arial

У меня проблема конвертированного PNG с использованием Apache Batik, когда есть текст с другим семейством шрифтов, например, Arial. Эта проблема возникает в среде, где Cent OS 6 работает с Tomcat 7 и Java 6.

Java-код, используемый для преобразования SVG в PNG:

// Convert the SVG image to png and send back
PNGTranscoder transcoder = new PNGTranscoder();
// 
TranscoderInput input = new TranscoderInput(new ByteArrayInputStream(svgImage));
outStream = new ByteArrayOutputStream();
TranscoderOutput output = new TranscoderOutput(outStream);

// Transcode the given SVG
transcoder.transcode(input, output);

outStream.flush();

pngImage = outStream.toByteArray();

Файл SVG, который я собираюсь преобразовать в PNG:

<svg version="1.1" x="0" y="0" id="hjtqebzv1" width="610" height="240" xmlns="http://www.w3.org/2000/svg" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <linearGradient id="LFFFFFF0" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:#FFFFFF;stop-opacity:0.8"/>
      <stop offset="100%" style="stop-color:#FAFAFA;stop-opacity:1"/>
    </linearGradient>
  </defs>
  <g id="hjtqebzv-o1" transform="translate(5,5)">
      <rect x="1" y="1" width="578" height="20" fill="url(#LFFFFFF0)" stroke="#5e5ca7" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"/>
      <text x="1" y="1" width="578" height="19" >
        <tspan x="2" y="14" style="font-family:Arial;font-size:12px;fill:#000000;">This is a test text for testing text overlapping in the rectangle when convert the svg to PNG using SVG-Batik</tspan>
      </text>
  </g>
</svg>

Когда я открываю файл SVG в браузере Firefox, он отображается правильно, как показано на рисунке ниже:

Но когда я конвертирую SVG с помощью Apache Batik, преобразованное изображение выглядит иначе. Apache Batik преобразовал PNG:

В Windows 7 под управлением Tomcat 7 и Java 7 сгенерированный образ идентичен исходному SVG.

Поскольку сервер Cent OS предоставляет изображение в виде текста, я считаю, что шрифт Arial недоступен для приложения tomcat / java, и его необходимо загрузить вручную. Если это так, я предпочитаю посоветовать загружать их обычным способом из расположения базовой ОС (расположения шрифтов ОС) без каких-либо изменений в файле SVG.

Ответы на вопрос(1)

Ваш ответ на вопрос