(Я не знаю, какую версию FOP я использую. У меня есть только API / HTTP доступ к сервису. Я спрашиваю.)
Я делаю PDF с Apache FOP. Содержит SVG с <text>
. Некоторый текст болгарский / кириллический, внутри и снаружи SVG.
В веб-браузере болгарский язык не нуждается в кодировке:
- В
<table>
: <td class="label">Спортуване</td>
- В
<svg>
: <text x="153" y="91">Спортуване</text>
Во входном XML-коде Apache FOP требуется кодировка:
- Вне SVG:
<fop:block>Спортуване</fop:block>
- Каждый символ кодируется в
�
- Это работает, снаружи SVG
- Внутри SVG:
<svg:text x="153" y="91" >Спортуване</svg:text>
- (локальное пространство имен
svg
)
- Точно такая же кодировка
- не работает = (
Так что единственная часть, которая не работает, это текст внутри SVG. Текст снаружи отлично работает.
Это не шрифт. Я могу изменить внутренние и внешние шрифты SVG на Times
( по умолчанию ), и то же самое происходит с новым шрифтом: работает вне SVG, не внутри.
Результат браузера:
PDF результат:
PDF, вне SVG:
Мое специальное написание Aesthetics (aëstéthics
) работает в формате PDF SVG. Это только частично закодировано, так как некоторые символы безопасны ASCII: <svg:text x="436" y="218">aëstéthics</svg:text>
. Символы Ӓ
работают так же, как и вне SVG для кириллицы.
Как мне добавить Unicode <text>
в SVG в FOP ??
«Новая» версия (1.1) на том же сервере, в CLI:
Без конфигурации шрифтов, Unicode не работает, весь текст #####
, внутри и снаружи SVG.
С настройкой шрифтов (шрифты TTF, скопированные из Windows):
fop -fo input.xml -c fop.conf.xml -pdf output-1.pdf
Куча этих предупреждений:
Следующая функция еще не реализована в Apache FOP: table-layout = "auto" (в fo: table) (см. Положение 29:34)
и некоторые из них:
Символ "И" (0x418, Iicyrillic) отсутствует в шрифте "Helvetica".
но результат очень приличный. Так же, как и в версии 0.9. Внутри SVG нет Unicode, но снаружи работает.
OMG OMG OMG версии 2.1 на другом сервере работает !!
Даже со странной ошибкой Java:
[предупреждение] / usr / bin / fop: аромат JVM 'sun' не понят
Если на нужном сервере была доступна только версия 2.1 с http api acces ...