提问者:小点点

阿帕奇蜡染PNG渲染过程中的文本失真


在通过Apache Batik渲染的图像中存在一些非常奇怪的失真。这个问题不是暂时的,因为每次调用时都会发生失真,在同一个svg的相同坐标处。这发生在Linux环境中,我无法在macOS环境中重现这个问题。我使用的是奥斯瓦尔德自定义字体(来自谷歌字体),并且使用了转换属性,如字母行间距、旋转功能。

尝试了许多建议,例如:1)验证Owald字体是否已注册到Graphics环境。

2)删除了文本转换属性,如字母-行间距、旋转,但仍然发生失真。我们还用字距替换了字母-行间距属性。尝试使用forme-渲染="几何精度"也没有成功。

3)尝试了其他字体,没有面对Arial自定义字体的失真,但使用Owald、Roboto时失真仍然存在。我们的用户需要Owald Font,因此我们不能使用Arial字体。

4)通过将svg字体嵌入svg文件来尝试SVG字体-没有成功。

5)尝试修剪功能,但没有成功。

6)替换了发生失真并解决问题的字符,但我无法从中推断出任何东西。

7)增加和减少字体大小1px的失真发生和问题得到解决,但我无法从中推断出任何东西。

我发现很少有线程提到蜡染渲染因OS环境而异,但找不到任何解决方案。有人能解决这个问题吗?


共1个答案

匿名用户

将JDK从8升级到11已经解决了这个问题。