Skip to main content
Skip table of contents

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 [RB3]:

  • Opening and closing files: file, filter, closefile, and run
  • 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: deletefile, renamefile
  • Shortcuts for printing: = , == , stack, pstack (These are procedures that ultimately use the print operator.)
  • Interpreter and scanner: setobjectformat, currentobjectformat

fileposition and setfileposition can represent file offsets larger than 2 GiB as reals. There's still a limit of 1 TiB, above which an error is triggered.

Three additional filing operators in statusdict are extensions: filelinenumber, filename, and filekind, which are described in Device and file operator definitions. Also, =print is not documented by Adobe but widely used—again, see 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.
  • 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.