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, andrun - Reading files:
read,readhexstring,readline,readstring, andtoken - Writing files:
write,writehexstring,writestring,print,flus,flushfile,printobject, andwriteobject - Positioning files:
resetfile,setfileposition - Queries:
bytesavailable,status,currentfile,fileposition - Manipulating files:
deletefile,renamefile - Shortcuts for printing:
=,==,stack,pstack(These are procedures that ultimately use theprintoperator.) - 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.restorecloses files going out of scope (that is, opened since the correspondingsave).- resource operators (such as
findresourceandfindfont) use combinations offile,exec,closefile, and others. - The main server loop uses a variety of calls, especially on the
%config%device to obtain another job to run.