后记:如何在显示前将字符串切割成一定宽度?
postscript: how to cut a string a certain width before show?
我需要打印一个字符串直到一定宽度,例如:
(abcd efgh) 显示
我只需要打印字符串的 36 点,在这种情况下我只想打印 abcd 和半个 e。
我怎样才能做到这一点?
或者至少只打印到 e 或 e 之前?
设置剪辑。 clip 和 rectclip 就可以了
工作。请记住 gsave 和 grestore,否则剪辑将保留。
如果您想要局部 'e',请采纳 Ken 的建议并使用剪辑。
要完全排除 'e',您可以使用 stringwidth
。此循环将字符串的长度减 1,直到小于指定的最大值。
/Times-Roman 14 selectfont
(abcd efgh) 36 {
1 index stringwidth pop % s max len
2 copy ge {
pop pop exit
}{
pop % s max
exch % max s
0 1 index length 1 sub getinterval % max s[0:n-2]
exch % s' max
} ifelse
} loop
==
输出:
(abcd )
我需要打印一个字符串直到一定宽度,例如:
(abcd efgh) 显示 我只需要打印字符串的 36 点,在这种情况下我只想打印 abcd 和半个 e。 我怎样才能做到这一点? 或者至少只打印到 e 或 e 之前?
设置剪辑。 clip 和 rectclip 就可以了 工作。请记住 gsave 和 grestore,否则剪辑将保留。
如果您想要局部 'e',请采纳 Ken 的建议并使用剪辑。
要完全排除 'e',您可以使用 stringwidth
。此循环将字符串的长度减 1,直到小于指定的最大值。
/Times-Roman 14 selectfont
(abcd efgh) 36 {
1 index stringwidth pop % s max len
2 copy ge {
pop pop exit
}{
pop % s max
exch % max s
0 1 index length 1 sub getinterval % max s[0:n-2]
exch % s' max
} ifelse
} loop
==
输出:
(abcd )