Postscript/EPS 围绕文本绘制矩形

Postscript/EPS Drawing rectangle around text

我有以下后记代码

1448 2069 /moveto 
(Comparator) {show newpath}

我想在文本(比较器)周围画一个矩形,因为我需要提供一个超链接以将其重定向到缩写 page.But 我正在努力寻找其余的 2 个坐标。有哪位大侠指教一下吗

你的朋友是

string bool charpath

pathbbox llx lly urx ury

来自 Postscript 语言。

也一样

1448 2069 moveto 
(Comparator) false charpath pathbbox newpath

将在堆栈中给出左 x、下 y、右 x 和上 y。您可以 subtract/add 一些常数值在文本周围给出一点 space 然后计算宽度和高度而不是 right/upper 值并执行 rectstroke

编辑小样本

%!PS
/Helvetica findfont 20 scalefont setfont
20 dup moveto (Link on page1) show newpath
[ /Rect [ 20 dup moveto (Link on page1) false charpath pathbbox 
 2 add 4 1 roll 2 add 4 1 roll 2 sub 4 1 roll 2 sub 4 1 roll
 newpath ] /Page 2 /Color [.7 0 0] /Subtype /Link /ANN  pdfmark
showpage
20 dup moveto (Target on page2) show
showpage

2 add 4 1 roll ... 行在每边增加了 2 个边距。您可以省略整行。