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 theprint
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 correspondingsave
).- resource operators (such as
findresource
andfindfont
) 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.