Introduction/layout Where to find help SIPB office Red book, Blue book What's a PS file? remember "%!" using lpr Using gs Stack stuff %%% include diagrams pop, exch, dup, roll, arithmetic clear (and why not to use) Defining stuff procs, vars, "exch def" trick Basic graphics Coordinates moveto, lineto *what the current path is* stroke, fill *why showpage is needed* showpage rmoveto, rlineto setgray, setlinewitch, closepath Text findfont, scalefont, setfont explanation of string quoting rules show list of common fonts More graphics %%% illustrate recursive nature of bezier curves curveto, arc, arcn, arcto gsave, grestore charpath, clip, strokepath even-odd rule vs. non-zero-winding eofill, eoclip setlinejoin, setmiterlimit, setlinecap setdash flattenpath Control constructs for, repeat, loop, exit exec booleans if, ifelse DSC and EPSF "%!PS-Adobe-3.0", etc. "%%BoundingBox:" page independence header/prolog/script separation verboten operators %%% Deep wizardy follows Data structures Composite vs. simple objects Polymorphic operators copy get, put, getinterval, putinterval length, maxlength Arrays [ and ], what is a mark, array what executable arrays really are Strings string, () syntax Dictionaries dict, begin, end, what def really does load and other fun systemdict, userdict currentdict Names literal vs. executable Conversion operators cvx, cvlit, cvs, cvn, cvi, cvr, cvrs, cvs Generalized linear transforms matrix, currentmatrix, concat transform, itransform