Я использую Apache Batik rasterizer (Java, Oracle JRE 7 на Ubuntu) для преобразования SVG в PDF. SVG содержит текст и ссылки TTF шрифтов, который работает хорошо, но шрифт Diehl Deco не делает, как и ожидалось:Почему Rasterizer Apache Batik визуально отображает шрифт TrueType?
Ожидаемые:
Неправильно:
Как вы можете увидеть, что «R» втекает в «A», поэтому кернинг не интерпретируется правильно, так как сам шрифт содержит эту информацию (thx к комментарию от @Jongware): R A -> -660
, T E -> -61
Возможные решения:
1) Я думаю, что если бы мы могли обменять шрифт рендеринга батика, чтобы использовать FreeType он может работать, как он правильно делает в моем Libre Office Writer, которая использует FreeType.
2) Я мог бы преобразовать шрифт ttf в шрифт SVG, который мог бы работать лучше в этом случае при растрировании SVG в PDF. Но пока я не увенчался успехом.
3) Я мог бы преобразовать шрифты внутри SVG в пути, если какие-либо инструменты поддерживают эту функцию.
Любые комментарии или другие решения приветствуются! Благодаря!
Скорее всего, поскольку средство визуализации шрифтов Ubuntu не поддерживает определенные * функции * шрифта. Я не совсем уверен, что эти функции официально называются, но то, что вы смотрите, - это нечто вроде условного кернинга, в котором некоторым комбинациям букв допускается другое. – deceze
Похоже, что кернинг совершенно не прав, предположительно потому, что любой механизм рендеринга текста, на который вы полагаетесь, не имеет полного понимания того, как анализировать и отображать шрифты OpenType. Узнайте, какой текстовый движок вы используете, и измените его для чего-то лучшего. –
Thx guys, ubuntu 14 использует freetype 2, который является тем же самым osx использует afaik. –