Skip to main content
Skip table of contents

(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.
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.