Search code examples
postscript

Weird operand (t!) on postscript file


I'm trying to reverse engineer some postscript file and come across this set of commands:

{/@co18
37 59 63 t! (PROMO) eq
not
def}exec

So basically, what I'm confused about is this line:

37 59 63 t! (PROMO) eq

What's this t! stand for? eq operand needs to take 2 objects from the stack and compare them. So from what I understand, t! does some calculation with the 3 numbers coming before it and saves the result in the stack. The result is probably some sort of string since it compares it with 'PROMO' later.

I don't see this t! defined anywhere in the code but it appears in many other places:

{@co3{@st2 setfont
186.71 106.80 moveto
59 22 31 t! sr }if}^ap

(Also, still not sure what's this ^ap operand doing)


Solution

  • So the missing command is 'hidden' in the eexec portion of the code. I decrypted it using Samyak answer on this question: How to "decode" eexec of font file?