(v13) internaldict file and device operators
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
The _hqxrun operator
filename
_hqxrun -
This operator, a RIP extension, has the same effect as run
, except that the file to be run is expected to be encrypted according to GGS’s proprietary encryption scheme, which ties the file to a particular security device (dongle) or OEM. The operator decrypts the file as it is running it.
filename is a string which identifies the file to be decrypted and executed. The string must include the path of the file. Note that you cannot reference a file using currentfile
.
The code in the encrypted file must take into account that _hqxrun
adds systemdict
onto the dictionary stack when it starts, which is read only. Otherwise, some operations requiring write-access may fail when the file is executed. For example, you could add end
at the beginning of the file and systemdict begin
at the end to restore the situation.
_hqxrun
should also be run in a stopped context and you should perform appropriate error handling. For example, you could detect if the dongle number is incorrect or if the file is a properly encrypted file.
See (v13) Encryption using filters for more details.