IPtoPS.mesa
Copyright Ó 1990, 1992 by Xerox Corporation. All rights reserved.
Michael Plass, September 28, 1990 3:45 pm PDT
Jules Bloomenthal June 8, 1993 1:41 pm PDT
DIRECTORY Imager, IO, Rope;
IPtoPS: CEDAR DEFINITIONS
~ BEGIN
Context:      TYPE ~ Imager.Context;
STREAM:      TYPE ~ IO.STREAM;
ROPE:      TYPE ~ Rope.ROPE;
PSFont:      TYPE ~ RECORD [name: ROPE, type: ATOM, scale: REAL];
EncodingVectorType: TYPE ~ {isoLatin1, symbol, expert, standard};
DoWithCodeProc:   TYPE ~ PROC [code: BYTE, encodingVector: EncodingVectorType]
          RETURNS [continue: BOOL ¬ TRUE];
Warn: SIGNAL [reason: ROPE];
Create: PROC [
stream:  STREAM,
nPages:  INT,
creator:  ROPE,
comment:  ROPE ¬ NIL,
compact:  BOOL ¬ FALSE,
debug:  STREAM ¬ NIL]
RETURNS  [Context];
Creates a context that will write JaM, er, Postscript code to the stream.
Close: PROC [context: Imager.Context];
Closes the underlying stream; no-op if context was not created by Create.
DoWithCode: PROC [name: ATOM, action: DoWithCodeProc];
Obtain the PostScript byte code and encoding vector for the given name;
if name is not found, call action with code = 0.
NInvalidChars: PROC [context: Context] RETURNS [INTEGER];
Return number of invalid characters accumulated since Create (each rendered as a space).
PSFontFromImager: PROC [imagerName: ROPE] RETURNS [psFont: PSFont];
Return number of invalid characters accumulated since Create (each rendered as a space).
END.