(我不知道我使用的是哪个FOP版本。我仅对该服务具有API / HTTP访问权限。)
我正在使用Apache FOP制作PDF。它包含带有<text>
的SVG。 SVG内部和外部都有一些保加利亚/西里尔文字。
在网络浏览器中,保加利亚语不需要编码:
<table>
中:<td class="label">Спортуване</td>
<svg>
中:<text x="153" y="91">Спортуване</text>
在Apache FOP输入XML中,它需要编码:
<fop:block>Спортуване</fop:block>
�
<svg:text x="153" y="91" >Спортуване</svg:text>
svg
)因此,唯一无效的部分是SVG中的文本。外面的文字效果很好。
不是字体。我可以将内部和外部SVG字体更改为Times
(the default),新字体也会发生同样的情况:可以在SVG外部使用,而不能在内部。
Web浏览器结果:
PDF结果:
PDF,SVG之外:
我的美学特殊拼写(aëstéthics
)在PDF SVG中可以使用。由于某些字符是安全的ASCII:<svg:text x="436" y="218">aëstéthics</svg:text>
,因此仅部分编码。 Ӓ
编码的字符可以正常工作,就像它们在SVG以外的西里尔字母一样。
如何在FOP的SVG中添加Unicode <text>
?
同一服务器上CLI上的“新”版本(1.1):
没有字体配置,没有unicode起作用,所有文本均为#####
,在SVG内部和外部。
使用字体配置(从Windows复制的TTF字体):
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 omg 2.1在另一台服务器上有效!
即使出现怪异的Java错误:
[警告] / usr / bin / fop:JVM风格的'sun'无法理解
如果正确的服务器上只有2.1版可用,并且具有http api acces ...