(FILECREATED " 5-Dec-85 19:41:31" {ERIS}<LANE>COURIERIMAGESTREAM.;41 37798  

      changes to:  (COURIERPROGRAMS IMAGESTREAM)
		   (FNS \COURIER.FONT \FONT.COURIER)
		   (VARS COURIERIMAGESTREAMCOMS)

      previous date: " 3-Dec-85 17:49:37" {ERIS}<LANE>COURIERIMAGESTREAM.;38)


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT COURIERIMAGESTREAMCOMS)

(RPAQQ COURIERIMAGESTREAMCOMS ((* * ImageOp Functions)
	(FNS \BACKCOLOR.COURIER \BITBLT.COURIER \BLTSHADE.COURIER \BOTTOMMARGIN.COURIER 
	     \CHARSET.COURIER \CHARWIDTH.COURIER \CHARWIDTHY.COURIER \CLIPPINGREGION.COURIER 
	     \CLOSEFN.COURIER \COLOR.COURIER \COURIERIMAGESTREAM.BOUT \DRAWCIRCLE.COURIER 
	     \DRAWCURVE.COURIER \DRAWELLIPSE.COURIER \DRAWLINE.COURIER \DRAWPOLYGON.COURIER 
	     \FILLCIRCLE.COURIER \FILLPOLYGON.COURIER \FONT.COURIER \LEFTMARGIN.COURIER 
	     \LINEFEED.COURIER \MOVETO.COURIER \NEWPAGE.COURIER \OPENIMAGESTREAM.COURIER 
	     \OPERATION.COURIER \RESET.COURIER \RIGHTMARGIN.COURIER \SCALE.COURIER 
	     \SCALEDBITBLT.COURIER \SPACEFACTOR.COURIER \STRINGWIDTH.COURIER \TERPRI.COURIER 
	     \TOPMARGIN.COURIER \XPOSITION.COURIER \YPOSITION.COURIER \OUTCHAR.COURIER)
	(* * Courier Server Functions)
	(FNS \COURIER.BACKCOLOR \COURIER.BITBLT \COURIER.BLTSHADE \COURIER.BOTTOMMARGIN 
	     \COURIER.CHARSET \COURIER.CHARWIDTH \COURIER.CHARWIDTHY \COURIER.CLIPPINGREGION 
	     \COURIER.CLOSEIMAGESTREAM \COURIER.COLOR \COURIER.DRAWCIRCLE \COURIER.DRAWCURVE 
	     \COURIER.DRAWELLIPSE \COURIER.DRAWLINE \COURIER.DRAWPOLYGON \COURIER.FILLCIRCLE 
	     \COURIER.FILLPOLYGON \COURIER.FONT \COURIER.FONTTYPE \COURIER.LEFTMARGIN 
	     \COURIER.LINEFEED \COURIER.MOVETO \COURIER.NEWPAGE \COURIER.OPERATION 
	     \COURIER.OPENIMAGESTREAM \COURIER.OUTCHAR \COURIER.RESET \COURIER.RIGHTMARGIN 
	     \COURIER.SCALE \COURIER.SCALEDBITBLT \COURIER.SPACEFACTOR \COURIER.STRINGWIDTH 
	     \COURIER.TERPRI \COURIER.TOPMARGIN \COURIER.XPOSITION \COURIER.YPOSITION)
	(* * etc.)
	(FNS \INITCOURIERIMAGESTREAM READSTREAMHANDLE WRITESTREAMHANDLE)
	(COURIERPROGRAMS IMAGESTREAM)
	[INITVARS \COURIERIMAGEOPS \NULLFDEV (IMAGESTREAMALST ' ((0 . 0]
	(PROP COURIERDEF STREAMHANDLE)
	(GLOBALVARS \COURIERIMAGEOPS \NULLFDEV IMAGESTREAMALST)
	(DECLARE: DONTCOPY (RECORDS COURIERIMAGEDATA))
	[ADDVARS (IMAGESTREAMTYPES (COURIER (OPENSTREAM \OPENIMAGESTREAM.COURIER]
	(FILES COURIERDEFS BITMAPFNS)
	(P (\INITCOURIERIMAGESTREAM))))
(* * ImageOp Functions)

(DEFINEQ

(\BACKCOLOR.COURIER
  [LAMBDA (STREAM COLOR)                                     (* cdl "10-Oct-85 20:56")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE BACKCOLOR)
			    CIS.IMAGESTREAM COLOR])

(\BITBLT.COURIER
  [LAMBDA (SOURCE SOURCELEFT SOURCEBOTTOM STREAM DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT 
		  SOURCETYPE OPERATION TEXTURE CLIPPINGREGION)
                                                             (* cdl "13-Nov-85 19:44")
    (LET (BULK.DATA.STREAM (BITMAP (BITMAPCREATE WIDTH HEIGHT)))
         (BITBLT SOURCE SOURCELEFT SOURCEBOTTOM BITMAP)
         (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
		 (SETQ BULK.DATA.STREAM (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
							  (QUOTE BITBLT)
							  CIS.IMAGESTREAM NIL DESTINATIONLEFT 
							  DESTINATIONBOTTOM WIDTH HEIGHT SOURCETYPE 
							  OPERATION TEXTURE CLIPPINGREGION))
		 (WRITEBINARYBITMAP BITMAP BULK.DATA.STREAM)
		 (CLOSEF BULK.DATA.STREAM))
     NIL])

(\BLTSHADE.COURIER
  [LAMBDA (TEXTURE STREAM LEFT BOTTOM WIDTH HEIGHT OPERATION CLIPPINGREGION)
                                                             (* cdl "30-Oct-85 20:59")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE BLTSHADE)
			    (SELECTQ TEXTURE
				       (NIL WHITESHADE)
				       (T BLACKSHADE)
				       TEXTURE)
			    CIS.IMAGESTREAM LEFT BOTTOM WIDTH HEIGHT OPERATION CLIPPINGREGION])

(\BOTTOMMARGIN.COURIER
  [LAMBDA (STREAM YPOSITION)                                 (* cdl "10-Oct-85 20:33")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE BOTTOMMARGIN)
			    CIS.IMAGESTREAM YPOSITION])

(\CHARSET.COURIER
  [LAMBDA (STREAM CHARACTERSET)                              (* cdl " 7-Nov-85 20:01")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE CHARSET)
			    CIS.IMAGESTREAM CHARACTERSET])

(\CHARWIDTH.COURIER
  [LAMBDA (STREAM CHARCODE)                                  (* cdl "26-Nov-85 17:33")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (if CIS.LOCALFONTS?
		then (CHARWIDTH CHARCODE CIS.FONT)
	      else (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
				     (QUOTE CHARWIDTH)
				     CIS.IMAGESTREAM CHARCODE))])

(\CHARWIDTHY.COURIER
  [LAMBDA (STREAM CHARCODE)                                  (* cdl "26-Nov-85 17:55")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (if CIS.LOCALFONTS?
		then (CHARWIDTHY CHARCODE CIS.FONT)
	      else (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
				     (QUOTE CHARWIDTHY)
				     CIS.IMAGESTREAM CHARCODE))])

(\CLIPPINGREGION.COURIER
  [LAMBDA (STREAM REGION)                                    (* cdl "10-Oct-85 20:50")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE CLIPPINGREGION)
			    CIS.IMAGESTREAM REGION])

(\CLOSEFN.COURIER
  [LAMBDA (STREAM)                                           (* cdl "10-Oct-85 19:01")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE CLOSE)
			    CIS.IMAGESTREAM])

(\COLOR.COURIER
  [LAMBDA (STREAM COLOR)                                     (* cdl "10-Oct-85 19:08")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE COLOR)
			    CIS.IMAGESTREAM COLOR])

(\COURIERIMAGESTREAM.BOUT
  [LAMBDA (STREAM BYTE)                                      (* cdl "26-Nov-85 16:50")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE OUTCHAR)
			    CIS.IMAGESTREAM BYTE])

(\DRAWCIRCLE.COURIER
  [LAMBDA (STREAM CENTERX CENTERY RADIUS BRUSH DASHING)      (* cdl "10-Oct-85 18:28")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE DRAWCIRCLE)
			    CIS.IMAGESTREAM CENTERX CENTERY RADIUS BRUSH DASHING])

(\DRAWCURVE.COURIER
  [LAMBDA (STREAM KNOTS CLOSED BRUSH DASHING)                (* cdl "21-Nov-85 18:51")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE DRAWCURVE)
			    CIS.IMAGESTREAM KNOTS CLOSED BRUSH DASHING])

(\DRAWELLIPSE.COURIER
  [LAMBDA (STREAM CENTERX CENTERY SEMIMINORRADIUS SEMIMAJORRADIUS ORIENTATION BRUSH DASHING)
                                                             (* cdl "10-Oct-85 20:23")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE DRAWELLIPSE)
			    CIS.IMAGESTREAM CENTERX CENTERY SEMIMINORRADIUS SEMIMAJORRADIUS 
			    ORIENTATION BRUSH DASHING])

(\DRAWLINE.COURIER
  [LAMBDA (STREAM X1 Y1 X2 Y2 WIDTH OPERATION COLOR DASHING)
                                                             (* cdl "10-Nov-85 17:56")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE DRAWLINE)
			    CIS.IMAGESTREAM X1 Y1 X2 Y2 WIDTH OPERATION COLOR DASHING])

(\DRAWPOLYGON.COURIER
  [LAMBDA (STREAM POINTS CLOSED BRUSH DASHING)               (* cdl "21-Nov-85 18:52")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE DRAWPOLYGON)
			    CIS.IMAGESTREAM POINTS CLOSED BRUSH DASHING])

(\FILLCIRCLE.COURIER
  [LAMBDA (STREAM CENTERX CENTERY RADIUS TEXTURE)            (* cdl "10-Oct-85 19:11")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE FILLCIRCLE)
			    CIS.IMAGESTREAM CENTERX CENTERY RADIUS TEXTURE])

(\FILLPOLYGON.COURIER
  [LAMBDA (STREAM POINTS TEXTURE)                            (* cdl "26-Nov-85 16:25")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE FILLPOLYGON)
			    CIS.IMAGESTREAM POINTS TEXTURE])

(\FONT.COURIER
  [LAMBDA (STREAM FONT)                                      (* cdl " 5-Dec-85 19:15")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (PROG1 CIS.FONT (if (AND FONT (NEQ FONT CIS.FONT))
				  then (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
							 (QUOTE FONT)
							 CIS.IMAGESTREAM FONT)
					 (SETQ CIS.FONT FONT])

(\LEFTMARGIN.COURIER
  [LAMBDA (STREAM XPOSITION)                                 (* cdl "10-Oct-85 19:42")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE LEFTMARGIN)
			    CIS.IMAGESTREAM XPOSITION])

(\LINEFEED.COURIER
  [LAMBDA (STREAM DELTAY)                                    (* cdl "10-Oct-85 19:54")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE LINEFEED)
			    CIS.IMAGESTREAM DELTAY])

(\MOVETO.COURIER
  [LAMBDA (STREAM X Y)                                       (* cdl "10-Oct-85 19:14")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE MOVETO)
			    CIS.IMAGESTREAM X Y])

(\NEWPAGE.COURIER
  [LAMBDA (STREAM)                                           (* cdl "10-Oct-85 20:29")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE NEWPAGE)
			    CIS.IMAGESTREAM])

(\OPENIMAGESTREAM.COURIER
  [LAMBDA (COURIERSTREAM OPTIONS)                            (* cdl " 3-Dec-85 17:48")
                                                             (* DECLARATIONS: (RECORD PAIR 
							     (KEY VALUE)))
    (LET (FILE TYPE IMAGESTREAM IMAGEOPS STREAM)
         [if (NULL \NULLFDEV)
	     then (SETQ \NULLFDEV (create FDEV
						CLOSEFILE ←(FUNCTION NILL]
         [SETQ OPTIONS (for PAIR on OPTIONS by (CDDR PAIR)
			    when (with PAIR PAIR (SELECTQ KEY
								(FILE (SETQ FILE VALUE)
								      NIL)
								(TYPE (SETQ TYPE VALUE)
								      NIL)
								T))
			    join (with PAIR PAIR (LIST KEY VALUE]
         (if (NULL TYPE)
	     then (SETQ TYPE (QUOTE DISPLAY)))
         (SETQ IMAGESTREAM (COURIER.CALL COURIERSTREAM (QUOTE IMAGESTREAM)
					     (QUOTE OPEN)
					     FILE TYPE (MKSTRING OPTIONS T)))
         (SETQ IMAGEOPS (create IMAGEOPS
				    IMFONTCREATE ←(COURIER.CALL COURIERSTREAM (QUOTE IMAGESTREAM)
								  (QUOTE FONTTYPE)
								  IMAGESTREAM)
			     reusing \COURIERIMAGEOPS))
         (SETQ STREAM (create STREAM
				  IMAGEDATA ←(create COURIERIMAGEDATA
						       CIS.COURIERSTREAM ← COURIERSTREAM
						       CIS.IMAGESTREAM ← IMAGESTREAM
						       CIS.FONT ←(FONTCLASSCOMPONENT DEFAULTFONT
										       (with 
											 IMAGEOPS 
											 IMAGEOPS 
										     IMFONTCREATE)))
				  IMAGEOPS ← IMAGEOPS
				  OUTCHARFN ←(FUNCTION \OUTCHAR.COURIER)
				  ACCESS ←(QUOTE OUTPUT)
				  DEVICE ← \NULLFDEV))
         (with STREAM STREAM (SETQ STRMBOUTFN (FUNCTION \COURIERIMAGESTREAM.BOUT)))
     STREAM])

(\OPERATION.COURIER
  [LAMBDA (STREAM OPERATION)                                 (* cdl "10-Oct-85 20:41")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE OPERATION)
			    CIS.IMAGESTREAM OPERATION])

(\RESET.COURIER
  [LAMBDA (STREAM)                                           (* cdl "26-Nov-85 16:42")
    (with STREAM STREAM (SETQ CHARPOSITION 0)
	    (with COURIERIMAGEDATA IMAGEDATA (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
							       (QUOTE RESET)
							       CIS.IMAGESTREAM])

(\RIGHTMARGIN.COURIER
  [LAMBDA (STREAM XPOSITION)                                 (* cdl "10-Oct-85 19:42")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE RIGHTMARGIN)
			    CIS.IMAGESTREAM XPOSITION])

(\SCALE.COURIER
  [LAMBDA (STREAM SCALE)                                     (* cdl "10-Oct-85 18:47")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE SCALE)
			    CIS.IMAGESTREAM SCALE])

(\SCALEDBITBLT.COURIER
  [LAMBDA (SOURCE SOURCELEFT SOURCEBOTTOM STREAM DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT 
		  SOURCETYPE OPERATION TEXTURE CLIPPINGREGION CLIPPEDSOURCELEFT CLIPPEDSOURCEBOTTOM 
		  SCALE)                                     (* cdl "13-Nov-85 19:48")
    (LET (BULK.DATA.STREAM (BITMAP (BITMAPCREATE WIDTH HEIGHT)))
         (BITBLT SOURCE SOURCELEFT SOURCEBOTTOM BITMAP)
         (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
		 (SETQ BULK.DATA.STREAM (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
							  (QUOTE SCALEDBITBLT)
							  CIS.IMAGESTREAM NIL DESTINATIONLEFT 
							  DESTINATIONBOTTOM WIDTH HEIGHT SOURCETYPE 
							  OPERATION TEXTURE CLIPPINGREGION SCALE))
		 (WRITEBINARYBITMAP BITMAP BULK.DATA.STREAM)
		 (CLOSEF BULK.DATA.STREAM))
     NIL])

(\SPACEFACTOR.COURIER
  [LAMBDA (STREAM FACTOR)                                    (* cdl "10-Oct-85 20:43")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE SPACEFACTOR)
			    CIS.IMAGESTREAM FACTOR])

(\STRINGWIDTH.COURIER
  [LAMBDA (STREAM STRING RDTBL)                              (* cdl "26-Nov-85 17:32")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (if CIS.LOCALFONTS?
		then (STRINGWIDTH STRING CIS.FONT)
	      else (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
				     (QUOTE STRINGWIDTH)
				     CIS.IMAGESTREAM STRING))])

(\TERPRI.COURIER
  [LAMBDA (STREAM)                                           (* cdl "26-Nov-85 16:35")
    (with STREAM STREAM (SETQ CHARPOSITION 0)
	    (with COURIERIMAGEDATA IMAGEDATA (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
							       (QUOTE TERPRI)
							       CIS.IMAGESTREAM])

(\TOPMARGIN.COURIER
  [LAMBDA (STREAM YPOSITION)                                 (* cdl "10-Oct-85 20:32")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE TOPMARGIN)
			    CIS.IMAGESTREAM YPOSITION])

(\XPOSITION.COURIER
  [LAMBDA (STREAM XPOSITION)                                 (* cdl "10-Oct-85 18:43")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE XPOSITION)
			    CIS.IMAGESTREAM XPOSITION])

(\YPOSITION.COURIER
  [LAMBDA (STREAM YPOSITION)                                 (* cdl "10-Oct-85 18:45")
    (with COURIERIMAGEDATA (with STREAM STREAM IMAGEDATA)
	    (COURIER.CALL CIS.COURIERSTREAM (QUOTE IMAGESTREAM)
			    (QUOTE YPOSITION)
			    CIS.IMAGESTREAM YPOSITION])

(\OUTCHAR.COURIER
  [LAMBDA (STREAM CHARCODE)                                  (* cdl " 3-Dec-85 17:47")
    [if (EQ CHARCODE (CHARCODE EOL))
	then (with STREAM STREAM (SETQ CHARPOSITION 0))
      else (freplace CHARPOSITION of STREAM with (PROGN 
                                                             (* Ugh. Don't overflow)
								  (\LOLOC (\ADDBASE (ffetch
											  
										     CHARPOSITION
											   of
											    STREAM)
											1]
    (BOUT STREAM CHARCODE])
)
(* * Courier Server Functions)

(DEFINEQ

(\COURIER.BACKCOLOR
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM COLOR)
                                                             (* cdl "10-Nov-85 16:35")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMBACKCOLOR)
				   IMAGESTREAM IMAGESTREAM COLOR])

(\COURIER.BITBLT
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM BULK.DATA.STREAM DESTINATIONLEFT 
			 DESTINATIONBOTTOM WIDTH HEIGHT SOURCETYPE OPERATION TEXTURE CLIPPINGREGION)
                                                             (* cdl "21-Nov-85 19:20")
    (BITBLT (READBINARYBITMAP WIDTH HEIGHT BULK.DATA.STREAM)
	      NIL NIL IMAGESTREAM DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT SOURCETYPE OPERATION 
	      TEXTURE CLIPPINGREGION)
    (QUOTE (RETURN])

(\COURIER.BLTSHADE
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE TEXTURE IMAGESTREAM LEFT BOTTOM WIDTH HEIGHT OPERATION 
			 CLIPPINGREGION)                     (* cdl "10-Nov-85 16:36")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMBLTSHADE)
	     IMAGESTREAM TEXTURE IMAGESTREAM LEFT BOTTOM WIDTH HEIGHT OPERATION CLIPPINGREGION)
    NIL])

(\COURIER.BOTTOMMARGIN
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM YPOSITION)
                                                             (* cdl "10-Nov-85 16:37")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMBOTTOMMARGIN)
				   IMAGESTREAM IMAGESTREAM YPOSITION])

(\COURIER.CHARSET
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM CHARACTERSET)
                                                             (* cdl "10-Nov-85 16:37")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMCHARSET)
				   IMAGESTREAM IMAGESTREAM CHARACTERSET])

(\COURIER.CHARWIDTH
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM CHARCODE)
                                                             (* cdl "10-Nov-85 16:56")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMCHARWIDTH)
				   IMAGESTREAM IMAGESTREAM CHARCODE])

(\COURIER.CHARWIDTHY
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM CHARCODE)
                                                             (* cdl "10-Nov-85 16:56")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMCHARWIDTHY)
				   IMAGESTREAM IMAGESTREAM CHARCODE])

(\COURIER.CLIPPINGREGION
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM REGION)
                                                             (* cdl "10-Nov-85 16:56")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMCLIPPINGREGION)
				   IMAGESTREAM IMAGESTREAM REGION])

(\COURIER.CLOSEIMAGESTREAM
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE HANDLE)           (* cdl "13-Nov-85 20:23")
                                                             (* DECLARATIONS: (RECORD PAIR 
							     (KEY . VALUE)))
    [LET ((PAIR (ASSOC HANDLE IMAGESTREAMALST)))
         (SETQ IMAGESTREAMALST (DREMOVE PAIR IMAGESTREAMALST))
         (with PAIR PAIR (if (IMAGESTREAMTYPEP VALUE (QUOTE DISPLAY))
			       then (CLOSEW VALUE)
			     else (CLOSEF? VALUE]
    (QUOTE (RETURN])

(\COURIER.COLOR
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM COLOR)
                                                             (* cdl "10-Nov-85 16:39")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMCOLOR)
				   IMAGESTREAM IMAGESTREAM COLOR])

(\COURIER.DRAWCIRCLE
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM X Y RADIUS BRUSH DASHING)
                                                             (* cdl "10-Nov-85 16:40")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMDRAWCIRCLE)
	     IMAGESTREAM IMAGESTREAM X Y RADIUS BRUSH DASHING)
    NIL])

(\COURIER.DRAWCURVE
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM KNOTS CLOSED BRUSH DASHING)
                                                             (* cdl "21-Nov-85 19:14")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMDRAWCURVE)
	     IMAGESTREAM IMAGESTREAM KNOTS CLOSED BRUSH DASHING)
    NIL])

(\COURIER.DRAWELLIPSE
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM CENTERX CENTERY SEMIMINORRADIUS 
			 SEMIMAJORRADIUS ORIENTATION BRUSH DASHING)
                                                             (* cdl "10-Nov-85 16:42")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMDRAWELLIPSE)
	     IMAGESTREAM IMAGESTREAM CENTERX CENTERY SEMIMINORRADIUS SEMIMAJORRADIUS ORIENTATION 
	     BRUSH DASHING)
    NIL])

(\COURIER.DRAWLINE
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM X Y X2 Y2 WIDTH OPERATION COLOR DASHING)
                                                             (* cdl "10-Nov-85 17:58")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMDRAWLINE)
	     IMAGESTREAM IMAGESTREAM X Y X2 Y2 WIDTH OPERATION COLOR DASHING)
    NIL])

(\COURIER.DRAWPOLYGON
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM POINTS CLOSED BRUSH DASHING)
                                                             (* cdl "21-Nov-85 20:20")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMDRAWPOLYGON)
	     IMAGESTREAM IMAGESTREAM POINTS CLOSED BRUSH DASHING)
    NIL])

(\COURIER.FILLCIRCLE
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM X Y RADIUS TEXTURE)
                                                             (* cdl "10-Nov-85 16:43")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMFILLCIRCLE)
	     IMAGESTREAM IMAGESTREAM X Y RADIUS TEXTURE)
    NIL])

(\COURIER.FILLPOLYGON
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM POINTS TEXTURE)
                                                             (* cdl "26-Nov-85 16:25")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMFILLPOLYGON)
	     IMAGESTREAM IMAGESTREAM POINTS TEXTURE)
    NIL])

(\COURIER.FONT
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM FONT)
                                                             (* cdl " 5-Dec-85 19:15")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMFONT)
				   IMAGESTREAM IMAGESTREAM FONT])

(\COURIER.FONTTYPE
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM)      (* cdl "21-Nov-85 19:22")
    (BQUOTE (RETURN , (with IMAGEOPS (with STREAM IMAGESTREAM IMAGEOPS)
				  IMFONTCREATE])

(\COURIER.LEFTMARGIN
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM XPOSITION)
                                                             (* cdl "10-Nov-85 16:45")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMLEFTMARGIN)
				   IMAGESTREAM IMAGESTREAM XPOSITION])

(\COURIER.LINEFEED
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM DELTAY)
                                                             (* cdl "10-Nov-85 16:46")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMLINEFEED)
				   IMAGESTREAM IMAGESTREAM DELTAY])

(\COURIER.MOVETO
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM X Y)
                                                             (* cdl "10-Nov-85 16:46")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMMOVETO)
	     IMAGESTREAM IMAGESTREAM X Y)
    NIL])

(\COURIER.NEWPAGE
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM)      (* cdl "10-Nov-85 16:47")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMNEWPAGE)
	     IMAGESTREAM IMAGESTREAM)
    NIL])

(\COURIER.OPERATION
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM OPERATION)
                                                             (* cdl "10-Nov-85 16:47")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMOPERATION)
				   IMAGESTREAM IMAGESTREAM OPERATION])

(\COURIER.OPENIMAGESTREAM
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE FILE IMAGETYPE OPTIONS)
                                                             (* cdl "13-Nov-85 20:18")
    (LET [STREAM (HANDLE (ADD1 (CAR (in IMAGESTREAMALST largest CAR]
         (DECLARE (SPECVARS STREAM))
         (SETQ STREAM (OPENSTRINGSTREAM OPTIONS (QUOTE INPUT)))
         [SETQ OPTIONS (CAR (NLSETQ (READ STREAM]
         (CLOSEF STREAM)
         (PUTASSOC HANDLE (OPENIMAGESTREAM FILE IMAGETYPE OPTIONS)
		     IMAGESTREAMALST)
         (BQUOTE (RETURN , HANDLE])

(\COURIER.OUTCHAR
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM CHARCODE)
                                                             (* cdl " 7-Nov-85 18:49")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (\OUTCHAR IMAGESTREAM CHARCODE)
    NIL])

(\COURIER.RESET
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM)      (* cdl "10-Nov-85 16:48")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMRESET)
	     IMAGESTREAM IMAGESTREAM)
    NIL])

(\COURIER.RIGHTMARGIN
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM XPOSITION)
                                                             (* cdl "10-Nov-85 16:49")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMRIGHTMARGIN)
				   IMAGESTREAM IMAGESTREAM XPOSITION])

(\COURIER.SCALE
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM SCALE)
                                                             (* cdl "10-Nov-85 16:49")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMSCALE)
				   IMAGESTREAM IMAGESTREAM SCALE])

(\COURIER.SCALEDBITBLT
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM BULK.DATA.STREAM DESTINATIONLEFT 
			 DESTINATIONBOTTOM WIDTH HEIGHT SOURCETYPE OPERATION TEXTURE CLIPPINGREGION 
			 SCALE)                              (* cdl "13-Nov-85 19:46")
    (SCALEDBITBLT (READBINARYBITMAP WIDTH HEIGHT BULK.DATA.STREAM)
		    NIL NIL IMAGESTREAM DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT SOURCETYPE 
		    OPERATION TEXTURE CLIPPINGREGION SCALE)
    (QUOTE (RETURN])

(\COURIER.SPACEFACTOR
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM FACTOR)
                                                             (* cdl "10-Nov-85 16:50")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMSPACEFACTOR)
				   IMAGESTREAM IMAGESTREAM FACTOR])

(\COURIER.STRINGWIDTH
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM STRING)
                                                             (* cdl "10-Nov-85 17:00")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMSTRINGWIDTH)
				   IMAGESTREAM IMAGESTREAM STRING])

(\COURIER.TERPRI
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM)      (* cdl "10-Nov-85 16:52")
    (COURIER.RETURN COURIERSTREAM PROGRAM PROCEDURE)
    (IMAGEOP (QUOTE IMTERPRI)
	     IMAGESTREAM IMAGESTREAM)
    NIL])

(\COURIER.TOPMARGIN
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM YPOSITION)
                                                             (* cdl "21-Nov-85 20:21")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMTOPMARGIN)
				   IMAGESTREAM IMAGESTREAM YPOSITION])

(\COURIER.XPOSITION
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM XPOSITION)
                                                             (* cdl "10-Nov-85 16:53")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMXPOSITION)
				   IMAGESTREAM IMAGESTREAM XPOSITION])

(\COURIER.YPOSITION
  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE IMAGESTREAM YPOSITION)
                                                             (* cdl "10-Nov-85 16:54")
    (BQUOTE (RETURN , (IMAGEOP (QUOTE IMYPOSITION)
				   IMAGESTREAM IMAGESTREAM YPOSITION])
)
(* * etc.)

(DEFINEQ

(\INITCOURIERIMAGESTREAM
  [LAMBDA NIL                                                (* cdl " 7-Nov-85 20:03")
    (SETQ \COURIERIMAGEOPS (create IMAGEOPS
				       IMAGETYPE ←(QUOTE COURIER)
				       IMCLOSEFN ←(FUNCTION \CLOSEFN.COURIER)
				       IMXPOSITION ←(FUNCTION \XPOSITION.COURIER)
				       IMYPOSITION ←(FUNCTION \YPOSITION.COURIER)
				       IMFONT ←(FUNCTION \FONT.COURIER)
				       IMLEFTMARGIN ←(FUNCTION \LEFTMARGIN.COURIER)
				       IMRIGHTMARGIN ←(FUNCTION \RIGHTMARGIN.COURIER)
				       IMLINEFEED ←(FUNCTION \LINEFEED.COURIER)
				       IMDRAWLINE ←(FUNCTION \DRAWLINE.COURIER)
				       IMDRAWCURVE ←(FUNCTION \DRAWCURVE.COURIER)
				       IMDRAWCIRCLE ←(FUNCTION \DRAWCIRCLE.COURIER)
				       IMFILLCIRCLE ←(FUNCTION \FILLCIRCLE.COURIER)
				       IMFILLPOLYGON ←(FUNCTION \FILLPOLYGON.COURIER)
				       IMBITBLT ←(FUNCTION \BITBLT.COURIER)
				       IMBLTSHADE ←(FUNCTION \BLTSHADE.COURIER)
				       IMMOVETO ←(FUNCTION \MOVETO.COURIER)
				       IMSCALE ←(FUNCTION \SCALE.COURIER)
				       IMTERPRI ←(FUNCTION \TERPRI.COURIER)
				       IMFONTCREATE ←(QUOTE DISPLAY)
				       IMCOLOR ←(FUNCTION \COLOR.COURIER)
				       IMBACKCOLOR ←(FUNCTION \BACKCOLOR.COURIER)
				       IMSTRINGWIDTH ←(FUNCTION \STRINGWIDTH.COURIER)
				       IMCHARWIDTH ←(FUNCTION \CHARWIDTH.COURIER)
				       IMCHARWIDTHY ←(FUNCTION \CHARWIDTHY.COURIER)
				       IMRESET ←(FUNCTION \RESET.COURIER)
				       IMDRAWPOLYGON ←(FUNCTION \DRAWPOLYGON.COURIER)
				       IMSCALEDBITBLT ←(FUNCTION \SCALEDBITBLT.COURIER)
				       IMTOPMARGIN ←(FUNCTION \TOPMARGIN.COURIER)
				       IMBOTTOMMARGIN ←(FUNCTION \BOTTOMMARGIN.COURIER)
				       IMNEWPAGE ←(FUNCTION \NEWPAGE.COURIER)
				       IMDRAWELLIPSE ←(FUNCTION \DRAWELLIPSE.COURIER)
				       IMCLIPPINGREGION ←(FUNCTION \CLIPPINGREGION.COURIER)
				       IMOPERATION ←(FUNCTION \OPERATION.COURIER)
				       IMSPACEFACTOR ←(FUNCTION \SPACEFACTOR.COURIER)
				       IMCHARSET ←(FUNCTION \CHARSET.COURIER])

(READSTREAMHANDLE
  [LAMBDA (STREAM PROGRAM TYPE)                              (* cdl "10-Nov-85 17:13")
                                                             (* DECLARATIONS: (RECORD ITEM 
							     (TYPENAME VALUE)))
    (CDR (ASSOC (COURIER.READ STREAM PROGRAM (QUOTE UNSPECIFIED))
		    IMAGESTREAMALST])

(WRITESTREAMHANDLE
  [LAMBDA (STREAM ITEM PROGRAM TYPE)                         (* cdl "10-Nov-85 17:13")
    (COURIER.WRITE STREAM ITEM PROGRAM (QUOTE UNSPECIFIED])
)

(COURIERPROGRAM IMAGESTREAM (1111 0)
    TYPES
      ((X NUMBER)
       (Y NUMBER)
       (X2 NUMBER)
       (Y2 NUMBER)
       (COLOR NUMBER)
       (RADIUS CARDINAL)
       (DASHING (SEQUENCE CARDINAL))
       (KNOTS (SEQUENCE POSITION))
       (CLOSED BOOLEAN)
       (SCALE NUMBER)
       (LEFT NUMBER)
       (BOTTOM NUMBER)
       (WIDTH NUMBER)
       (HEIGHT NUMBER)
       (SEMIMINORRADIUS NUMBER)
       (SEMIMAJORRADIUS NUMBER)
       (ORIENTATION NUMBER)
       (FILE ATOM)
       (IMAGETYPE ATOM)
       (OPTIONS STRING))
    INHERITS
      (INTERLISP)
    PROCEDURES
      ((OPEN 0 (FILE IMAGETYPE OPTIONS)
	     RETURNS
	     (CARDINAL)
	     REPORTS NIL IMPLEMENTEDBY \COURIER.OPENIMAGESTREAM)
       (CLOSE 1 (CARDINAL)
	      RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.CLOSEIMAGESTREAM)
       (DRAWLINE 2 (STREAMHANDLE INTEGER INTEGER INTEGER INTEGER CARDINAL OPERATION COLOR DASHING)
		 RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.DRAWLINE)
       (DRAWCIRCLE 3 (STREAMHANDLE X Y RADIUS BRUSH DASHING)
		   RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.DRAWCIRCLE)
       (OUTCHAR 4 (STREAMHANDLE CARDINAL)
		RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.OUTCHAR)
       (DRAWCURVE 5 (STREAMHANDLE KNOTS CLOSED BRUSH DASHING)
		  RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.DRAWCURVE)
       (DRAWPOLYGON 6 (STREAMHANDLE KNOTS CLOSED BRUSH DASHING)
		    RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.DRAWPOLYGON)
       (SCALE 7 (STREAMHANDLE SCALE)
	      RETURNS
	      (CARDINAL)
	      REPORTS NIL IMPLEMENTEDBY \COURIER.SCALE)
       (XPOSITION 8 (STREAMHANDLE NUMBER)
		  RETURNS
		  (CARDINAL)
		  REPORTS NIL IMPLEMENTEDBY \COURIER.XPOSITION)
       (YPOSITION 9 (STREAMHANDLE NUMBER)
		  RETURNS
		  (CARDINAL)
		  REPORTS NIL IMPLEMENTEDBY \COURIER.YPOSITION)
       (COLOR 10 (STREAMHANDLE COLOR)
	      RETURNS
	      (CARDINAL)
	      REPORTS NIL IMPLEMENTEDBY \COURIER.COLOR)
       (FILLCIRCLE 11 (STREAMHANDLE X Y RADIUS TEXTURE)
		   RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.FILLCIRCLE)
       (MOVETO 12 (STREAMHANDLE CARDINAL CARDINAL)
	       RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.MOVETO)
       (RESET 13 (STREAMHANDLE)
	      RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.RESET)
       (BLTSHADE 14 (TEXTURE STREAMHANDLE LEFT BOTTOM WIDTH HEIGHT OPERATION REGION)
		 RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.BLTSHADE)
       (RIGHTMARGIN 15 (STREAMHANDLE NUMBER)
		    RETURNS
		    (X)
		    REPORTS NIL IMPLEMENTEDBY \COURIER.RIGHTMARGIN)
       (LEFTMARGIN 16 (STREAMHANDLE NUMBER)
		   RETURNS
		   (X)
		   REPORTS NIL IMPLEMENTEDBY \COURIER.LEFTMARGIN)
       (TERPRI 17 (STREAMHANDLE)
	       RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.TERPRI)
       (STRINGWIDTH 18 (STREAMHANDLE STRING)
		    RETURNS
		    (WIDTH)
		    REPORTS NIL IMPLEMENTEDBY \COURIER.STRINGWIDTH)
       (LINEFEED 19 (STREAMHANDLE Y)
		 RETURNS
		 (Y)
		 REPORTS NIL IMPLEMENTEDBY \COURIER.LINEFEED)
       (FONT 20 (STREAMHANDLE FONT)
	     RETURNS
	     (FONT)
	     REPORTS NIL IMPLEMENTEDBY \COURIER.FONT)
       (DRAWELLIPSE 21 (STREAMHANDLE X Y SEMIMINORRADIUS SEMIMAJORRADIUS ORIENTATION BRUSH DASHING)
		    RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.DRAWELLIPSE)
       (NEWPAGE 22 (STREAMHANDLE)
		RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.NEWPAGE)
       (TOPMARGIN 23 (STREAMHANDLE Y)
		  RETURNS
		  (Y)
		  REPORTS NIL IMPLEMENTEDBY \COURIER.TOPMARGIN)
       (BOTTOMMARGIN 24 (STREAMHANDLE Y)
		     RETURNS
		     (Y)
		     REPORTS NIL IMPLEMENTEDBY \COURIER.BOTTOMMARGIN)
       (SPACEFACTOR 25 (STREAMHANDLE X)
		    RETURNS
		    (WIDTH)
		    REPORTS NIL IMPLEMENTEDBY \COURIER.SPACEFACTOR)
       (OPERATION 26 (STREAMHANDLE OPERATION)
		  RETURNS
		  (OPERATION)
		  REPORTS NIL IMPLEMENTEDBY \COURIER.OPERATION)
       (CHARWIDTH 27 (STREAMHANDLE CARDINAL)
		  RETURNS
		  (WIDTH)
		  REPORTS NIL IMPLEMENTEDBY \COURIER.CHARWIDTH)
       (CHARWIDTHY 28 (STREAMHANDLE CARDINAL)
		   RETURNS
		   (WIDTH)
		   REPORTS NIL IMPLEMENTEDBY \COURIER.CHARWIDTHY)
       (CLIPPINGREGION 29 (STREAMHANDLE REGION)
		       RETURNS
		       (REGION)
		       REPORTS NIL IMPLEMENTEDBY \COURIER.CLIPPINGREGION)
       (BACKCOLOR 30 (STREAMHANDLE COLOR)
		  RETURNS
		  (COLOR)
		  REPORTS NIL IMPLEMENTEDBY \COURIER.BACKCOLOR)
       (FILLPOLYGON 31 (STREAMHANDLE KNOTS TEXTURE)
		    RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.FILLPOLYGON)
       (BITBLT 32 (STREAMHANDLE BULK.DATA.SOURCE LEFT BOTTOM WIDTH HEIGHT ATOM OPERATION TEXTURE 
				REGION)
	       RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.BITBLT)
       (SCALEDBITBLT 33 (STREAMHANDLE BULK.DATA.SOURCE LEFT BOTTOM WIDTH HEIGHT ATOM OPERATION 
				      TEXTURE REGION NUMBER)
		     RETURNS NIL REPORTS NIL IMPLEMENTEDBY \COURIER.SCALEDBITBLT)
       (CHARSET 34 (STREAMHANDLE NUMBER)
		RETURNS
		(CARDINAL)
		REPORTS NIL IMPLEMENTEDBY \COURIER.CHARSET)
       (FONTTYPE 35 (STREAMHANDLE)
		 RETURNS
		 (ATOM)
		 REPORTS NIL IMPLEMENTEDBY \COURIER.FONTTYPE))
    ERRORS
      NIL)

(RPAQ? \COURIERIMAGEOPS NIL)

(RPAQ? \NULLFDEV NIL)

(RPAQ? IMAGESTREAMALST ' ((0 . 0)))

(PUTPROPS STREAMHANDLE COURIERDEF (READSTREAMHANDLE WRITESTREAMHANDLE))
(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS \COURIERIMAGEOPS \NULLFDEV IMAGESTREAMALST)
)
(DECLARE: DONTCOPY 
[DECLARE: EVAL@COMPILE 

(RECORD COURIERIMAGEDATA (CIS.COURIERSTREAM CIS.IMAGESTREAM CIS.FONT CIS.LOCALFONTS?)
			   CIS.LOCALFONTS? ← T)
]
)

(ADDTOVAR IMAGESTREAMTYPES (COURIER (OPENSTREAM \OPENIMAGESTREAM.COURIER)))
(FILESLOAD COURIERDEFS BITMAPFNS)
(\INITCOURIERIMAGESTREAM)
(PUTPROPS COURIERIMAGESTREAM COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (2468 17400 (\BACKCOLOR.COURIER 2478 . 2783) (\BITBLT.COURIER 2785 . 3598) (
\BLTSHADE.COURIER 3600 . 4126) (\BOTTOMMARGIN.COURIER 4128 . 4443) (\CHARSET.COURIER 4445 . 4753) (
\CHARWIDTH.COURIER 4755 . 5154) (\CHARWIDTHY.COURIER 5156 . 5558) (\CLIPPINGREGION.COURIER 5560 . 5876
) (\CLOSEFN.COURIER 5878 . 6171) (\COLOR.COURIER 6173 . 6470) (\COURIERIMAGESTREAM.BOUT 6472 . 6780) (
\DRAWCIRCLE.COURIER 6782 . 7120) (\DRAWCURVE.COURIER 7122 . 7448) (\DRAWELLIPSE.COURIER 7450 . 7928) (
\DRAWLINE.COURIER 7930 . 8330) (\DRAWPOLYGON.COURIER 8332 . 8663) (\FILLCIRCLE.COURIER 8665 . 8997) (
\FILLPOLYGON.COURIER 8999 . 9317) (\FONT.COURIER 9319 . 9728) (\LEFTMARGIN.COURIER 9730 . 10041) (
\LINEFEED.COURIER 10043 . 10347) (\MOVETO.COURIER 10349 . 10646) (\NEWPAGE.COURIER 10648 . 10943) (
\OPENIMAGESTREAM.COURIER 10945 . 12732) (\OPERATION.COURIER 12734 . 13043) (\RESET.COURIER 13045 . 
13375) (\RIGHTMARGIN.COURIER 13377 . 13690) (\SCALE.COURIER 13692 . 13989) (\SCALEDBITBLT.COURIER 
13991 . 14846) (\SPACEFACTOR.COURIER 14848 . 15158) (\STRINGWIDTH.COURIER 15160 . 15561) (
\TERPRI.COURIER 15563 . 15895) (\TOPMARGIN.COURIER 15897 . 16206) (\XPOSITION.COURIER 16208 . 16517) (
\YPOSITION.COURIER 16519 . 16828) (\OUTCHAR.COURIER 16830 . 17398)) (17438 29353 (\COURIER.BACKCOLOR 
17448 . 17726) (\COURIER.BITBLT 17728 . 18233) (\COURIER.BLTSHADE 18235 . 18618) (
\COURIER.BOTTOMMARGIN 18620 . 18912) (\COURIER.CHARSET 18914 . 19202) (\COURIER.CHARWIDTH 19204 . 
19488) (\COURIER.CHARWIDTHY 19490 . 19776) (\COURIER.CLIPPINGREGION 19778 . 20068) (
\COURIER.CLOSEIMAGESTREAM 20070 . 20633) (\COURIER.COLOR 20635 . 20905) (\COURIER.DRAWCIRCLE 20907 . 
21264) (\COURIER.DRAWCURVE 21266 . 21625) (\COURIER.DRAWELLIPSE 21627 . 22096) (\COURIER.DRAWLINE 
22098 . 22481) (\COURIER.DRAWPOLYGON 22483 . 22848) (\COURIER.FILLCIRCLE 22850 . 23195) (
\COURIER.FILLPOLYGON 23197 . 23536) (\COURIER.FONT 23538 . 23804) (\COURIER.FONTTYPE 23806 . 24028) (
\COURIER.LEFTMARGIN 24030 . 24318) (\COURIER.LINEFEED 24320 . 24598) (\COURIER.MOVETO 24600 . 24907) (
\COURIER.NEWPAGE 24909 . 25154) (\COURIER.OPERATION 25156 . 25442) (\COURIER.OPENIMAGESTREAM 25444 . 
26075) (\COURIER.OUTCHAR 26077 . 26361) (\COURIER.RESET 26363 . 26604) (\COURIER.RIGHTMARGIN 26606 . 
26896) (\COURIER.SCALE 26898 . 27168) (\COURIER.SCALEDBITBLT 27170 . 27670) (\COURIER.SPACEFACTOR 
27672 . 27956) (\COURIER.STRINGWIDTH 27958 . 28242) (\COURIER.TERPRI 28244 . 28487) (
\COURIER.TOPMARGIN 28489 . 28775) (\COURIER.XPOSITION 28777 . 29063) (\COURIER.YPOSITION 29065 . 29351
)) (29371 32074 (\INITCOURIERIMAGESTREAM 29381 . 31538) (READSTREAMHANDLE 31540 . 31889) (
WRITESTREAMHANDLE 31891 . 32072)))))
STOP