Искажение текста во время рендеринга PNG в Apache Batik

Есть некоторые очень странные искажения в изображениях, которые визуализируются через Apache Batik. Эта проблема не является временной, так как искажение происходит каждый раз, когда делается вызов, в одних и тех же координатах для одного и того же svg. Это происходит в средах Linux, и я не могу воспроизвести эту проблему в средах Mac OS. Я использую пользовательский шрифт Oswald (из шрифтов Google), и используются атрибуты преобразования, такие как интервал между буквами, функция поворота.

Пробовал многие из предложений, таких как: 1) Проверено, зарегистрирован ли шрифт Oswald в графической среде.

2) Удалены атрибуты преобразования текста, такие как межбуквенный интервал, поворот, но искажение все еще происходит. Мы также заменили атрибуты межбуквенного интервала на кернинг. Попытки с shape-rendering="geometricPrecision" также не увенчались успехом.

3) Пробовал с другими шрифтами и не столкнулся с искажением с пользовательским шрифтом Arial, но с Oswald, Roboto искажение все еще существует. Наш вариант использования требует шрифта Oswald, поэтому мы не можем использовать шрифт Arial.

4) Пробовал шрифты SVG, встраивая шрифты svg в файл svg - безуспешно.

5) Пробовал функциональность обрезки, но безуспешно.

6) Заменены символы, где происходит искажение и проблема решена, но я не могу ничего из этого вывести.

7) Увеличил и уменьшил размер шрифта на 1px там, где происходит искажение и проблема решена, но я не могу ничего из этого вывести.

Я нашел несколько тем, в которых упоминалась причина того, что рендеринг Batik зависит от среды ОС, но не смог найти никакого решения. Кто-нибудь смог решить это?


person Nammu    schedule 14.05.2020    source источник
comment
Не могли бы вы сравнить версии java JDK, которые вы используете в macOS и Linux? Какие JDK вы используете?   -  person matrejek    schedule 03.07.2020
comment
MacOS: 1.8.0_231 Linux: 1.8.0_252   -  person Nammu    schedule 12.07.2020


Ответы (1)


Обновление JDK с 8 до 11 решило проблему.

person Nammu    schedule 25.03.2021