29 lines
526 B
PostScript
29 lines
526 B
PostScript
|
%
|
||
|
% Unbind the operators in an executable array or packedarray. Leaves the
|
||
|
% unbound array or the original object on the stack.
|
||
|
%
|
||
|
|
||
|
/unbind {
|
||
|
0 index xcheck
|
||
|
1 index type /arraytype eq
|
||
|
2 index type /packedarraytype eq or and {
|
||
|
dup length array copy cvx
|
||
|
dup 0 exch {
|
||
|
dup type /operatortype eq {
|
||
|
( ) cvs cvn cvx
|
||
|
} if
|
||
|
|
||
|
0 index xcheck
|
||
|
1 index type /arraytype eq
|
||
|
2 index type /packedarraytype eq or and {
|
||
|
unbind
|
||
|
} if
|
||
|
|
||
|
3 copy put pop
|
||
|
1 add
|
||
|
} forall
|
||
|
pop
|
||
|
} if
|
||
|
} def
|
||
|
|