28 lines · 526 B · Text
RawDownload
%% 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