postscript:如何在显示之前剪切一定宽度的字符串?

时间:2015-05-14 12:39:43

标签: postscript eps

我需要打印一个字符串直到某个宽度,例如:

(abcd efgh)节目 我只需打印36个字符串,在这种情况下我只想打印abcd和半个e。 我怎样才能做到这一点? 或者至少只打印到e或之前?

2 个答案:

答案 0 :(得分:3)

如果你想要部分'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 )

答案 1 :(得分:2)

设置剪辑。剪辑和rectclip会做 工作。请记住gsave和grestore,否则剪辑将持续存在。