1
0
mirror of synced 2026-01-25 20:06:44 +00:00

Fix POSTSCRIPTSTREAM to refine or default values for COLOR. (#2177)

* Fix POSTSCRIPTSTREAM to accept SMALLP values 0 and 1 as COLOR.
(Don't require them to be FLOATP.)

* Changed handling when color values are not directly interpretable without other context (e.g., as an index into a color map).

POSTSCRIPTSTREAM should behave similar to INTERPRESS and just ignore a BRUSHCOLOR if it is a SMALLP that's neither 0 nor 1, and use the current DSPCOLOR of the stream.
If someone wants a specific color, or grayscale, they can use the color descriptions as documented in POSTSCRIPTSTREAM.TEDIT.

* Update documentation to better describe allowed COLOR specification.
This commit is contained in:
Matt Heffron
2025-06-16 20:49:27 -07:00
committed by GitHub
parent 87fafe901e
commit 72032afdde
3 changed files with 159 additions and 153 deletions

View File

@@ -1,29 +1,15 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "28-Apr-2025 00:17:24" {DSK}<home>matt>Interlisp>medley>library>POSTSCRIPTSTREAM.;14 257549
(FILECREATED " 5-Jun-2025 16:12:21" {DSK}<home>matt>Interlisp>medley>library>POSTSCRIPTSTREAM.;5 258146
:EDIT-BY "mth"
:CHANGES-TO (FNS \DRAWLINE.PSC POSTSCRIPT.PUTRGBCOLOR \PSC.COLOR.TO.RGB \BLTSHADE.PSC
\DRAWARC.PSC \DRAWCIRCLE.PSC \DRAWCURVE.PSC \DRAWELLIPSE.PSC \DRAWPOLYGON.PSC
\FILLCIRCLE.PSC \FILLPOLYGON.PSC POSTSCRIPT.COLORSTRING POSTSCRIPT.OUTSTR
\DSPCOLOR.PSC POSTSCRIPT.PUTCOLOR \DRAWPOINT.PSC \POSTSCRIPT.CHANGECHARSET
POSTSCRIPT.HARDCOPYW POSTSCRIPT.CLOSESTRING POSTSCRIPT.ENDPAGE
POSTSCRIPT.PUTCOMMAND POSTSCRIPT.SET-FAKE-LANDSCAPE POSTSCRIPT.SHOWACCUM
POSTSCRIPT.STARTPAGE \POSTSCRIPTTAB \PS.BOUTFIXP \PS.SCALEHACK
\SCALEDBITBLT.PSC \SETPOS.PSC \SETXFORM.PSC \STRINGWIDTH.PSC \SWITCHFONTS.PSC
\TERPRI.PSC \CHARWIDTH.PSC \DSPBOTTOMMARGIN.PSC \DSPCLIPPINGREGION.PSC
\DSPFONT.PSC \DSPLEFTMARGIN.PSC \DSPLINEFEED.PSC \DSPPUSHSTATE.PSC
\DSPPOPSTATE.PSC \DSPRESET.PSC \DSPRIGHTMARGIN.PSC \DSPROTATE.PSC
\DSPSCALE.PSC \DSPSCALE2.PSC \DSPSPACEFACTOR.PSC \DSPTOPMARGIN.PSC
\DSPTRANSLATE.PSC \DSPXPOSITION.PSC \DSPYPOSITION.PSC \FIXLINELENGTH.PSC
\MOVETO.PSC \POSTSCRIPT.OUTCHARFN \POSTSCRIPT.PRINTSLUG
\POSTSCRIPT.SPECIALOUTCHARFN \UPDATE.PSC \POSTSCRIPT.ACCENTFN
\POSTSCRIPT.ACCENTPAIR OPENPOSTSCRIPTSTREAM)
(VARS POSTSCRIPTSTREAMCOMS)
(RECORDS \POSTSCRIPTDATA)
:CHANGES-TO (FNS \BLTSHADE.PSC \PSC.COLOR.TO.RGB \DRAWLINE.PSC \DRAWARC.PSC POSTSCRIPTSEND
\TERPRI.PSC POSTSCRIPT.PUTCOMMAND POSTSCRIPT.PUTRGBCOLOR \DSPCOLOR.PSC
\DRAWCIRCLE.PSC \DRAWELLIPSE.PSC \DRAWPOINT.PSC \DRAWPOLYGON.PSC
\FILLCIRCLE.PSC \FILLPOLYGON.PSC POSTSCRIPT.TEDIT \BITBLT.PSC)
:PREVIOUS-DATE "10-Dec-2024 15:16:36"
:PREVIOUS-DATE "28-Apr-2025 00:17:24"
{DSK}<home>matt>Interlisp>medley>library>POSTSCRIPTSTREAM.;1)
@@ -502,47 +488,71 @@
(\POSTSCRIPT.NSHASH *POSTSCRIPT-NS-TRANSLATIONS*])
(POSTSCRIPT.PUTRGBCOLOR
[LAMBDA (STREAM COLOR EOL?) (* ; "Edited 28-Apr-2025 00:02 by mth")
[LAMBDA (STREAM COLOR EOL?) (* ; "Edited 5-Jun-2025 14:06 by mth")
(* ; "Edited 28-Apr-2025 00:02 by mth")
(* ; "Edited 26-Apr-2025 17:16 by mth")
(AND COLOR (CL:MULTIPLE-VALUE-BIND (RGB GRAY COLORSTR)
(\PSC.COLOR.TO.RGB COLOR)
(POSTSCRIPT.PUTCOMMAND STREAM COLORSTR (OR (AND GRAY " setgray ")
" setrgbcolor ")
(AND EOL? :EOL])
(\PSC.COLOR.TO.RGB COLOR (fetch (\POSTSCRIPTDATA POSTSCRIPTCOLOR)
of (fetch IMAGEDATA of STREAM)))
(CL:WHEN RGB (* ; "A valid color designation")
(POSTSCRIPT.PUTCOMMAND STREAM COLORSTR (OR (AND GRAY " setgray ")
" setrgbcolor ")
(AND EOL? :EOL)))
(* ;; "Return the RGB color")
RGB])
(\PSC.COLOR.TO.RGB
[LAMBDA (COLOR NOERRORFLG?) (* ; "Edited 28-Apr-2025 00:10 by mth")
(* ; "Edited 26-Apr-2025 17:06 by mth")
[LAMBDA (COLOR DEFAULTRGB NOERRORFLG?) (* ; "Edited 5-Jun-2025 16:03 by mth")
(* ; "Edited 31-May-2025 17:20 by mth")
(* ; "Edited 28-Apr-2025 00:10 by mth")
(LET (RGB STR)
(COND
[(AND (FLOATP COLOR)
(<= 0.0 COLOR 1.0)
(SETQ RGB (FIX (FTIMES COLOR 255)))
(SETQ RGB (LIST RGB RGB RGB))
(SETQ STR (CL:FORMAT NIL "~F "]
[(SETQ RGB (ENSURE.RGB COLOR NOERRORFLG?))
(SETQ STR (IF (AND (EQ (CAR RGB)
(CADR RGB))
(EQ (CAR RGB)
(CADDR RGB)))
THEN
(* ;; "They're all equal, this is gray.")
((OR (EQ COLOR 0)
(EQ COLOR 1)
(AND (FLOATP COLOR)
(<= 0.0 COLOR 1.0)))
(CL:FORMAT NIL "~F " (SETQ COLOR (FQUOTIENT (CAR RGB)
255.0)))
ELSE (SETQ COLOR NIL) (* ; "Means NOT gray")
(CL:FORMAT NIL "~D ~D ~D " (CAR RGB)
(CADR RGB)
(CADDR RGB]
(* ;; "The SMALLP values 0 and 1 can be checked with EQ")
(SETQ RGB (FIX (FTIMES COLOR 255)))
(SETQ STR (CL:FORMAT NIL "~F " RGB))
(SETQ RGB (LIST RGB RGB RGB)))
([OR (NULL COLOR)
(AND (FIXP COLOR)
(<= 2 COLOR (CONSTANT (MAXIMUMCOLOR 24]
(* ;; "Ignore any other FIXP that could be a COLORNUMBER")
(* ;;
 "or an RGB encoded as a single FIXP. Just use the DEFAULTRGB which MUST be a valid RGB!")
(SETQ RGB DEFAULTRGB))
((SETQ RGB (ENSURE.RGB COLOR NOERRORFLG?)))
(T
(* ;; " Shouldn't ever get here.")
(* ;; " ENSURE.RGB above handled the color name or number, RGB, and HLS cases.")
(* ;; " ENSURE.RGB above handled the color name, RGB, and HLS cases.")
(* ;; "Depending on NOERRORFLG?, it will give the error for anything else invalid")
NIL))
(CL:VALUES RGB COLOR STR])
(CL:WHEN RGB
[SETQ STR (OR STR (IF (AND (EQ (CAR RGB)
(CADR RGB))
(EQ (CAR RGB)
(CADDR RGB)))
THEN
(* ;; "They're all equal, this is gray.")
(CL:FORMAT NIL "~F " (SETQ COLOR (FQUOTIENT (CAR RGB)
255.0)))
ELSE (SETQ COLOR NIL) (* ; "Means NOT gray")
(CL:FORMAT NIL "~D ~D ~D " (CAR RGB)
(CADR RGB)
(CADDR RGB])
(CL:VALUES RGB COLOR STR (NOT (EQUAL RGB DEFAULTRGB])
)
(ADDTOVAR DEFAULTFILETYPELIST (PS . BINARY)
@@ -1380,7 +1390,7 @@
(FULLNAME STREAM])
(POSTSCRIPT.TEDIT
[LAMBDA (FILE PFILE) (* ; "Edited 18-Sep-91 18:16 by jds")
[LAMBDA (FILE PFILE) (* ; "Edited 18-Sep-91 18:16 by jds")
(* ;; "Make a PS file from a TEdit document. If FILE is a string, make it into a symbol for the file-name. If it's a STREAM, use that stream.")
@@ -2193,12 +2203,13 @@
[LAMBDA (SOURCEBITMAP SOURCELEFT SOURCEBOTTOM STREAM DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT
SOURCETYPE OPERATION TEXTURE CLIPPINGREGION CLIPPEDSOURCELEFT CLIPPEDSOURCEBOTTOM)
(* ; "Edited 7-Apr-89 19:53 by TAL")
(\SCALEDBITBLT.PSC SOURCEBITMAP SOURCELEFT SOURCEBOTTOM STREAM DESTINATIONLEFT
DESTINATIONBOTTOM WIDTH HEIGHT SOURCETYPE OPERATION TEXTURE CLIPPINGREGION
CLIPPEDSOURCELEFT CLIPPEDSOURCEBOTTOM 1])
(\SCALEDBITBLT.PSC SOURCEBITMAP SOURCELEFT SOURCEBOTTOM STREAM DESTINATIONLEFT DESTINATIONBOTTOM
WIDTH HEIGHT SOURCETYPE OPERATION TEXTURE CLIPPINGREGION CLIPPEDSOURCELEFT
CLIPPEDSOURCEBOTTOM 1])
(\BLTSHADE.PSC
[LAMBDA (TEXTURE STREAM DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT OPERATION CLIPPINGREGION)
(* ; "Edited 5-Jun-2025 16:11 by mth")
(* ; "Edited 28-Apr-2025 00:05 by mth")
(* ;
 "Edited 20-Nov-92 15:12 by sybalsky:mv:envos")
@@ -2237,7 +2248,8 @@
(SETQ TEXTUREBM (BITMAPCREATE TEXTUREWIDTH TEXTUREWIDTH 1))
(BITBLT TEXTURE 0 0 TEXTUREBM 0 0 TEXTUREWIDTH TEXTUREWIDTH 'INPUT 'REPLACE))
(T (CL:MULTIPLE-VALUE-BIND (COLOR GRAY COLORSTR)
(\PSC.COLOR.TO.RGB (OR TEXTURE (\DSPCOLOR.PSC STREAM NIL)))
(\PSC.COLOR.TO.RGB TEXTURE (fetch (\POSTSCRIPTDATA POSTSCRIPTCOLOR)
of IMAGEDATA))
(* ;; "Default to the current stream color")
@@ -2506,46 +2518,50 @@
(\MOVETO.PSC STREAM CENTERX CENTERY])
(\DRAWLINE.PSC
[LAMBDA (STREAM X1 Y1 X2 Y2 WIDTH OPERATION COLOR DASHING) (* ; "Edited 28-Apr-2025 00:11 by mth")
[LAMBDA (STREAM X1 Y1 X2 Y2 WIDTH OPERATION COLOR DASHING) (* ; "Edited 5-Jun-2025 14:19 by mth")
(* ; "Edited 28-Apr-2025 00:11 by mth")
(* ;
 "Edited 20-Nov-92 15:12 by sybalsky:mv:envos")
(* ;; "DRAWLINE method for postscript streams.")
(LET ((IMAGEDATA (fetch (STREAM IMAGEDATA) of STREAM)))
[COND
((NOT (NUMBERP WIDTH))
(CL:WHEN (LESSP X2 X1)
(* ;; "The WIDTH = NIL should have been handled before here, but just in case!")
(* ;; "For Syntelligence, make all lines move from left to right, to defeat a bug in SPARCPrinter PS decoder.")
(SETQ WIDTH (fetch (\POSTSCRIPTDATA POSTSCRIPTSCALE) of IMAGEDATA]
[COND
((NOT (ZEROP WIDTH))
(CL:MULTIPLE-VALUE-BIND (RGB GRAY COLORSTR)
(\PSC.COLOR.TO.RGB COLOR T)
(COND
((LESSP X2 X1)
(CL:PSETQ X1 X2 X2 X1 Y1 Y2 Y2 Y1))
(LET* ((IMAGEDATA (fetch (STREAM IMAGEDATA) of STREAM))
(CURRENTCOLOR (fetch (\POSTSCRIPTDATA POSTSCRIPTCOLOR) of IMAGEDATA)))
[COND
((NOT (NUMBERP WIDTH))
(* ;; "For Syntelligence, make all lines move from left to right, to defeat a bug in SPARCPrinter PS decoder.")
(* ;; "The WIDTH = NIL should have been handled before here, but just in case!")
(\DRAWLINE.PSC STREAM X2 Y2 X1 Y1 WIDTH OPERATION COLOR DASHING))
((NOT (OR COLOR (LISTP DASHING))) (* ; "Simple case, no dash or color")
(POSTSCRIPT.PUTCOMMAND STREAM X2 " " Y2 " " X1 " " Y1 " " WIDTH " L" :EOL))
(T (POSTSCRIPT.PUTCOMMAND STREAM X2 " " Y2 " " X1 " " Y1 " " WIDTH " ")
(POSTSCRIPT.PUTCOMMAND STREAM COLORSTR " [")
(POSTSCRIPT.PUTCOMMAND STREAM)
(for D in (LISTP DASHING) do
(* ;;
(SETQ WIDTH (fetch (\POSTSCRIPTDATA POSTSCRIPTSCALE) of IMAGEDATA]
[COND
((NOT (ZEROP WIDTH))
(CL:MULTIPLE-VALUE-BIND (RGB GRAY COLORSTR DIFFERENT)
(\PSC.COLOR.TO.RGB COLOR CURRENTCOLOR T)
(COND
((NOT (OR DIFFERENT (LISTP DASHING)))(* ;
 "Simple case, no dash or color change")
(POSTSCRIPT.PUTCOMMAND STREAM X2 " " Y2 " " X1 " " Y1 " " WIDTH " L" :EOL))
(T (POSTSCRIPT.PUTCOMMAND STREAM X2 " " Y2 " " X1 " " Y1 " " WIDTH " ")
(POSTSCRIPT.PUTCOMMAND STREAM COLORSTR " [")
(POSTSCRIPT.PUTCOMMAND STREAM)
(for D in (LISTP DASHING) do
(* ;;
 "Interlisp DASHING is in terms of BRUSH units, so multiply by the brush size.")
(POSTSCRIPT.PUTCOMMAND STREAM (TIMES D WIDTH)
" "))
(POSTSCRIPT.PUTCOMMAND STREAM "]" (OR (AND GRAY " L1G")
" L1")
:EOL]
(replace (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA with X2)
(freplace (\POSTSCRIPTDATA POSTSCRIPTY) of IMAGEDATA with Y2)
(freplace (\POSTSCRIPTDATA POSTSCRIPTMOVEFLG) of IMAGEDATA with NIL])
(POSTSCRIPT.PUTCOMMAND STREAM
(TIMES D WIDTH)
" "))
(POSTSCRIPT.PUTCOMMAND STREAM "]" (OR (AND GRAY " L1G")
" L1")
:EOL]
(replace (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA with X2)
(freplace (\POSTSCRIPTDATA POSTSCRIPTY) of IMAGEDATA with Y2)
(freplace (\POSTSCRIPTDATA POSTSCRIPTMOVEFLG) of IMAGEDATA with NIL])
(\DRAWPOINT.PSC
[LAMBDA (STREAM X Y BRUSH OPERATION) (* ; "Edited 30-Mar-90 17:53 by Matt Heffron")
@@ -2648,7 +2664,8 @@
OLDCLIP])
(\DSPCOLOR.PSC
[LAMBDA (STREAM COLOR) (* ; "Edited 26-Apr-2025 17:03 by mth")
[LAMBDA (STREAM COLOR) (* ; "Edited 4-Jun-2025 23:51 by mth")
(* ; "Edited 26-Apr-2025 17:03 by mth")
(* ; "Edited 14-Jan-93 17:14 by jds")
(* ;; " Code below adapted from 7-Oct-1989 version by DJVB")
@@ -2657,12 +2674,10 @@
 " All postscript printers accept color RGB info, though most just pick a gray based on values")
(LET* ((PSDATA (fetch IMAGEDATA of STREAM))
(CURRENT (fetch (\POSTSCRIPTDATA POSTSCRIPTCOLOR) of PSDATA))
RGB)
(CURRENT (fetch (\POSTSCRIPTDATA POSTSCRIPTCOLOR) of PSDATA)))
(if COLOR
then (SETQ RGB (\PSC.COLOR.TO.RGB COLOR))
(replace (\POSTSCRIPTDATA POSTSCRIPTCOLOR) of PSDATA with RGB)
(POSTSCRIPT.PUTRGBCOLOR STREAM RGB))
then (replace (\POSTSCRIPTDATA POSTSCRIPTCOLOR) of PSDATA with (POSTSCRIPT.PUTRGBCOLOR
STREAM COLOR)))
CURRENT])
(\DSPFONT.PSC
@@ -4302,21 +4317,13 @@
(DEFINEQ
(POSTSCRIPTSEND
[LAMBDA (HOST FILE PRINTOPTIONS) (* ; "Edited 20-Nov-95 11:29 by ")
(* ; "Edited 20-Nov-95 11:26 by ")
[LAMBDA (HOST FILE PRINTOPTIONS) (* ; "Edited 20-Nov-95 11:29 by ")
(* ; "Edited 20-Nov-95 11:26 by ")
(* ;; "This is the send function for generic POSTSCRIPT printers. It branches on the architecture-specific function. The theory is that the send method is really a property of the operating system, not a property of specific postscript printers. These functions are contained in separate library files (or defined by user).")
(* ;; "This is the send function for generic POSTSCRIPT printers. It branches on the architecture-specific function. The theory is that the send method is really a property of the operating system, not a property of specific postscript printers. These functions are contained in separate library files (or defined by user).")
(SELECTQ (MKATOM (UNIX-GETPARM "ARCH"))
(dos (DOSPRINT HOST FILE PRINTOPTIONS))
(UnixPrint HOST FILE PRINTOPTIONS])
)
@@ -4394,38 +4401,38 @@
(ADDTOVAR LAMA POSTSCRIPT.PUTCOMMAND)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (23920 33221 (POSTSCRIPT.INIT 23930 . 31022) (POSTSCRIPT.PUTRGBCOLOR 31024 . 31600) (
\PSC.COLOR.TO.RGB 31602 . 33219)) (34207 68991 (PSCFONT.READFONT 34217 . 36125) (PSCFONT.SPELLFILE
36127 . 36705) (PSCFONT.COERCEFILE 36707 . 38279) (PSCFONTFROMCACHE.SPELLFILE 38281 . 39266) (
PSCFONTFROMCACHE.COERCEFILE 39268 . 40920) (PSCFONT.WRITEFONT 40922 . 41937) (READ-AFM-FILE 41939 .
47810) (CONVERT-AFM-FILES 47812 . 49024) (POSTSCRIPT.GETFONTID 49026 . 50421) (POSTSCRIPT.FONTCREATE
50423 . 62822) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 62824 . 65221) (POSTSCRIPT.FONTSAVAILABLE 65223
. 68989)) (69546 78831 (OPENPOSTSCRIPTSTREAM 69556 . 78497) (CLOSEPOSTSCRIPTSTREAM 78499 . 78829)) (
78876 84926 (POSTSCRIPT.HARDCOPYW 78886 . 81993) (POSTSCRIPT.TEDIT 81995 . 82475) (POSTSCRIPT.TEXT
82477 . 82768) (POSTSCRIPTFILEP 82770 . 83877) (MAKEEPSFILE 83879 . 84924)) (84927 128501 (
POSTSCRIPT.BITMAPSCALE 84937 . 87393) (POSTSCRIPT.CLOSESTRING 87395 . 87948) (POSTSCRIPT.ENDPAGE 87950
. 88841) (POSTSCRIPT.OUTSTR 88843 . 90060) (POSTSCRIPT.PUTBITMAPBYTES 90062 . 98533) (
POSTSCRIPT.PUTCOMMAND 98535 . 99524) (POSTSCRIPT.SET-FAKE-LANDSCAPE 99526 . 104046) (
POSTSCRIPT.SHOWACCUM 104048 . 106203) (POSTSCRIPT.STARTPAGE 106205 . 108737) (\POSTSCRIPTTAB 108739 .
109536) (\PS.BOUTFIXP 109538 . 110818) (\PS.SCALEHACK 110820 . 113463) (\PS.SCALEREGION 113465 .
114025) (\SCALEDBITBLT.PSC 114027 . 118337) (\SETPOS.PSC 118339 . 118820) (\SETXFORM.PSC 118822 .
121406) (\STRINGWIDTH.PSC 121408 . 121881) (\SWITCHFONTS.PSC 121883 . 127375) (\TERPRI.PSC 127377 .
128499)) (128536 182026 (\BITBLT.PSC 128546 . 129099) (\BLTSHADE.PSC 129101 . 133566) (\CHARWIDTH.PSC
133568 . 134075) (\CREATECHARSET.PSC 134077 . 135775) (\DRAWARC.PSC 135777 . 138155) (\DRAWCIRCLE.PSC
138157 . 140408) (\DRAWCURVE.PSC 140410 . 144254) (\DRAWELLIPSE.PSC 144256 . 146620) (\DRAWLINE.PSC
146622 . 149058) (\DRAWPOINT.PSC 149060 . 149636) (\DRAWPOLYGON.PSC 149638 . 152767) (
\DSPBOTTOMMARGIN.PSC 152769 . 153456) (\DSPCLIPPINGREGION.PSC 153458 . 154833) (\DSPCOLOR.PSC 154835
. 155675) (\DSPFONT.PSC 155677 . 159196) (\DSPLEFTMARGIN.PSC 159198 . 159884) (\DSPLINEFEED.PSC
159886 . 160476) (\DSPPUSHSTATE.PSC 160478 . 161938) (\DSPPOPSTATE.PSC 161940 . 165425) (\DSPRESET.PSC
165427 . 166092) (\DSPRIGHTMARGIN.PSC 166094 . 166783) (\DSPROTATE.PSC 166785 . 167784) (
\DSPSCALE.PSC 167786 . 168738) (\DSPSCALE2.PSC 168740 . 169580) (\DSPSPACEFACTOR.PSC 169582 . 170503)
(\DSPTOPMARGIN.PSC 170505 . 171076) (\DSPTRANSLATE.PSC 171078 . 173109) (\DSPXPOSITION.PSC 173111 .
173675) (\DSPYPOSITION.PSC 173677 . 174268) (\FILLCIRCLE.PSC 174270 . 176495) (\FILLPOLYGON.PSC 176497
. 179734) (\FIXLINELENGTH.PSC 179736 . 181055) (\MOVETO.PSC 181057 . 181827) (\NEWPAGE.PSC 181829 .
182024)) (182082 204105 (\POSTSCRIPT.CHANGECHARSET 182092 . 182829) (\POSTSCRIPT.OUTCHARFN 182831 .
194959) (\POSTSCRIPT.PRINTSLUG 194961 . 196685) (\POSTSCRIPT.SPECIALOUTCHARFN 196687 . 199038) (
\UPDATE.PSC 199040 . 200286) (\POSTSCRIPT.ACCENTFN 200288 . 201230) (\POSTSCRIPT.ACCENTPAIR 201232 .
204103)) (204203 205848 (\PSC.SPACEDISP 204213 . 204492) (\PSC.SPACEWID 204494 . 205113) (\PSC.SYMBOLS
205115 . 205846)) (205957 208948 (\POSTSCRIPT.NSHASH 205967 . 208946)) (253722 254436 (POSTSCRIPTSEND
253732 . 254434)))))
(FILEMAP (NIL (22736 33232 (POSTSCRIPT.INIT 22746 . 29838) (POSTSCRIPT.PUTRGBCOLOR 29840 . 30862) (
\PSC.COLOR.TO.RGB 30864 . 33230)) (34218 69002 (PSCFONT.READFONT 34228 . 36136) (PSCFONT.SPELLFILE
36138 . 36716) (PSCFONT.COERCEFILE 36718 . 38290) (PSCFONTFROMCACHE.SPELLFILE 38292 . 39277) (
PSCFONTFROMCACHE.COERCEFILE 39279 . 40931) (PSCFONT.WRITEFONT 40933 . 41948) (READ-AFM-FILE 41950 .
47821) (CONVERT-AFM-FILES 47823 . 49035) (POSTSCRIPT.GETFONTID 49037 . 50432) (POSTSCRIPT.FONTCREATE
50434 . 62833) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 62835 . 65232) (POSTSCRIPT.FONTSAVAILABLE 65234
. 69000)) (69557 78842 (OPENPOSTSCRIPTSTREAM 69567 . 78508) (CLOSEPOSTSCRIPTSTREAM 78510 . 78840)) (
78887 84941 (POSTSCRIPT.HARDCOPYW 78897 . 82004) (POSTSCRIPT.TEDIT 82006 . 82490) (POSTSCRIPT.TEXT
82492 . 82783) (POSTSCRIPTFILEP 82785 . 83892) (MAKEEPSFILE 83894 . 84939)) (84942 128516 (
POSTSCRIPT.BITMAPSCALE 84952 . 87408) (POSTSCRIPT.CLOSESTRING 87410 . 87963) (POSTSCRIPT.ENDPAGE 87965
. 88856) (POSTSCRIPT.OUTSTR 88858 . 90075) (POSTSCRIPT.PUTBITMAPBYTES 90077 . 98548) (
POSTSCRIPT.PUTCOMMAND 98550 . 99539) (POSTSCRIPT.SET-FAKE-LANDSCAPE 99541 . 104061) (
POSTSCRIPT.SHOWACCUM 104063 . 106218) (POSTSCRIPT.STARTPAGE 106220 . 108752) (\POSTSCRIPTTAB 108754 .
109551) (\PS.BOUTFIXP 109553 . 110833) (\PS.SCALEHACK 110835 . 113478) (\PS.SCALEREGION 113480 .
114040) (\SCALEDBITBLT.PSC 114042 . 118352) (\SETPOS.PSC 118354 . 118835) (\SETXFORM.PSC 118837 .
121421) (\STRINGWIDTH.PSC 121423 . 121896) (\SWITCHFONTS.PSC 121898 . 127390) (\TERPRI.PSC 127392 .
128514)) (128551 182631 (\BITBLT.PSC 128561 . 129113) (\BLTSHADE.PSC 129115 . 133776) (\CHARWIDTH.PSC
133778 . 134285) (\CREATECHARSET.PSC 134287 . 135985) (\DRAWARC.PSC 135987 . 138365) (\DRAWCIRCLE.PSC
138367 . 140618) (\DRAWCURVE.PSC 140620 . 144464) (\DRAWELLIPSE.PSC 144466 . 146830) (\DRAWLINE.PSC
146832 . 149572) (\DRAWPOINT.PSC 149574 . 150150) (\DRAWPOLYGON.PSC 150152 . 153281) (
\DSPBOTTOMMARGIN.PSC 153283 . 153970) (\DSPCLIPPINGREGION.PSC 153972 . 155347) (\DSPCOLOR.PSC 155349
. 156280) (\DSPFONT.PSC 156282 . 159801) (\DSPLEFTMARGIN.PSC 159803 . 160489) (\DSPLINEFEED.PSC
160491 . 161081) (\DSPPUSHSTATE.PSC 161083 . 162543) (\DSPPOPSTATE.PSC 162545 . 166030) (\DSPRESET.PSC
166032 . 166697) (\DSPRIGHTMARGIN.PSC 166699 . 167388) (\DSPROTATE.PSC 167390 . 168389) (
\DSPSCALE.PSC 168391 . 169343) (\DSPSCALE2.PSC 169345 . 170185) (\DSPSPACEFACTOR.PSC 170187 . 171108)
(\DSPTOPMARGIN.PSC 171110 . 171681) (\DSPTRANSLATE.PSC 171683 . 173714) (\DSPXPOSITION.PSC 173716 .
174280) (\DSPYPOSITION.PSC 174282 . 174873) (\FILLCIRCLE.PSC 174875 . 177100) (\FILLPOLYGON.PSC 177102
. 180339) (\FIXLINELENGTH.PSC 180341 . 181660) (\MOVETO.PSC 181662 . 182432) (\NEWPAGE.PSC 182434 .
182629)) (182687 204710 (\POSTSCRIPT.CHANGECHARSET 182697 . 183434) (\POSTSCRIPT.OUTCHARFN 183436 .
195564) (\POSTSCRIPT.PRINTSLUG 195566 . 197290) (\POSTSCRIPT.SPECIALOUTCHARFN 197292 . 199643) (
\UPDATE.PSC 199645 . 200891) (\POSTSCRIPT.ACCENTFN 200893 . 201835) (\POSTSCRIPT.ACCENTPAIR 201837 .
204708)) (204808 206453 (\PSC.SPACEDISP 204818 . 205097) (\PSC.SPACEWID 205099 . 205718) (\PSC.SYMBOLS
205720 . 206451)) (206562 209553 (\POSTSCRIPT.NSHASH 206572 . 209551)) (254327 255033 (POSTSCRIPTSEND
254337 . 255031)))))
STOP