在 Postscript 文本周围使用 "buffer" 进行裁剪

Clipping with a "buffer" around text in Postscript

(这是从另一个角度逼近this question。)

我在画地图。这些可以被视为具有三层:在底部,有代表森林和水之类的纯色,以及代表分类的道路上的“光晕”之类的低对比度线条。然后是高对比度的线条,例如代表道路中心线的黑线和代表路径的黑色虚线。最后是标签,一般是黑色的。

我希望黑色线条在文本周围有空隙,底层的颜色和线条从那里闪耀。

在 SVG 中,这可以通过在线条上设置遮罩并在该遮罩中绘制具有非常宽的笔触(以创建间隙)的文本来完成。

有没有办法在 Postscript 中表达这一点,而不是编写我自己的字体渲染器来将“缓冲”文本渲染为贝塞尔曲线路径?我可以通过在页面周围绘制一个矩形、charpath:ing 文本然后执行 eoclip 来创建一个一直延伸到文本边缘的剪辑蒙版,但是如何获取缓冲区?

PostScrtipt 没有任何透明度的概念(模数某些特殊情况,如套印、图像遮罩和色度键控图像)。 PostScript 程序也没有标准的方法来影响已经呈现的任何东西,除了在它上面绘制。

如果您的意思是从页面缓冲区取回像素以进行您自己的合成,则不能'get the buffer'。

我能看到做你想做的事情的唯一方法是画出黑色线条,并留有空隙。