(v13) Summary of operators for files

This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.

The following are the file operators in [RB2] (mostly listed):

  • Opening and closing files: file, filter, closefile, and run (which is exactly equivalent to (r) file cvx exec)

  • Reading files: read, readhexstring, readline, readstring, and token 

  • Writing files: write , writehexstring, writestring, print, flus , flushfile, printobject, and writeobject

  • Positioning files: resetfile, setfileposition

  • Queries: bytesavailable, status, currentfile, fileposition 

  • Manipulating files: d eletefile, renamefile

  • Shortcuts for printing: = , == , stack , pstack (These are procedures that ultimately use the print operator.)

  • Interpreter and scanner: setobjectformat, currentobjectformat

fileposition and setfileposition are only supported for file offsets less than 2 GiB. An error is triggered if an attempt is made to use larger offsets.

Three additional filing operators in statusdict are extensions: filelinenumber, filename, and filekind, which are described in (v13) Device and file operator definitions. Also, =print is not documented by Adobe but widely used—again, see (v13) Device and file operator definitions.

Aditionally, a large number of other operators and procedures have side effects that result in filing calls from the Harlequin RIP. Notable are:

  • exec (applied to a file object) reads from a file or filter to obtain its data, closing it on encountering end-of-file.

  • restore closes files going out of scope (that is, opened since the corresponding save).

  • resource operators (such as findresource and findfont) use combinations of file, exec, closefile, and others.

  • showpage uses a variety of calls especially on the %pagebuffer% file, which implements the delivery of raster data to the printer.

  • The main server loop uses a variety of calls, especially on the %config% device to obtain another job to run.