由 PyX 创建的描边和填充矩形被 Ghostscript 错误地渲染

问题描述

我使用 PyX Python 包创建了一个 PDF 文件,其中显示一个用红色填充的黑色描边矩形。当我使用 Evince 预览 PDF 文件时,它看起来如预期 (Evince screenshot)。但是,当我使用 Ghostscript 预览它时,要么填充没有延伸到矩形的底部,要么底线太粗 (Ghostscript screenshot)。请问这是为什么?

如果我省略黑色轮廓或省略红色填充,那么 Ghostscript 会正确预览图像。我在 Ubuntu 20.10 下使用 PyX 0.15、Python 3.8.6、Ghostscript 9.52 和 Evince 3.38.0。

这是我的 Python 代码

#!/usr/bin/env python3
import pyx
canvas = pyx.canvas.canvas()
canvas.draw(pyx.path.rect(2,1,.5,8),[pyx.deco.stroked(),pyx.deco.filled([pyx.color.rgb(1,0)]),pyx.style.linewidth(0.05)])
page = pyx.document.page(canvas,paperformat = pyx.document.paperformat(10,10))
doc = pyx.document.document([page])
doc.writePDFfile('rectangle.pdf')

解决方法

使用 Ghostscript 9.53.3 为我解决了这个问题,所以正如 @wobsta 所说,我将假设这是一个已修复的 Ghostscript 错误。