%ColorSeps.jam %For the folks in Fremont (JaMImager) .run (Griffin) .run (.maskparityfill) {.maskfill}.cvx .def (screenFreq) 85 .def (.sethsvcolor) {docolor}.cvx .def (.setgray) {1 .exch .sub 0 0 3 2 .roll docolor}.cvx .def (name) (color-prtr) .def (DoIt) { {72.0 2540 .div .dup .scale 0 0 .translate name .run}.cvx .dosave }.cvx .def (mil) {.072 .mul}.cvx .def (units) {3 mil .mul}.cvx .def (unit) {units}.cvx .def (ll) {50 mil}.cvx .def (bPattern3) {400 mil 0 .translate 3 {bPattern ll 2 .mul 20 units .add 0 .translate}.cvx .rept}.cvx .def (cPattern3) {400 mil 0 .translate magenta cPattern ll 2 .mul 20 units .add 0 .translate cyan cPattern ll 2 .mul 20 units .add 0 .translate yellow cPattern ll 2 .mul 20 units .add 0 .translate }.cvx .def (doL) {0 0 ll 1 unit .maskrectangle 0 0 1 unit ll .maskrectangle}.cvx .def (bPattern) { {3 units 3 units .setcp .trans doL}.cvx .dosave {-2 units 3 units .setcp .trans -1 1 .scale doL}.cvx .dosave {-2 units -2 units .setcp .trans -1 -1 .scale doL}.cvx .dosave {3 units -2 units .setcp .trans 1 -1 .scale doL}.cvx .dosave }.cvx .def (cPattern) { (nll) ll 8 units .add .def {nll .neg 0 .setcp .trans 0 0 nll 1 unit .maskrectangle}.cvx .dosave {0 nll .neg .setcp .trans 0 0 1 unit nll .maskrectangle}.cvx .dosave (nll) nll 1 unit .add .def {0 0 .setcp .trans 0 0 nll 1 unit .maskrectangle}.cvx .dosave {0 0 .setcp .trans 0 0 1 unit nll .maskrectangle}.cvx .dosave }.cvx .def (target) { .5 .setstrokewidth -0.25 -20 0.25 20 .drawbox -20 -0.25 20 0.25 .drawbox -15 0 .moveto 15 0 -15 0 .arcto .maskstrokeclosed -8 0 .moveto 8 0 -8 0 .arcto .maskstrokeclosed }.cvx .def (lowerLeft) {25 25 .translate}.cvx .def (upperLeft) {25 10.7 72 .mul .translate}.cvx .def (lowerRight) {7.5 72 .mul 25 .translate}.cvx .def (upperRight) {7.5 72 .mul 10.7 72 .mul .translate}.cvx .def (doTargets) { 7.0 72 .mul 10 .setcp .drawtext {lowerLeft target}.cvx .dosave {upperLeft target}.cvx .dosave {upperRight target}.cvx .dosave {lowerRight target}.cvx .dosave }.cvx .def (doBPattern) { {lowerLeft bPattern3}.cvx .dosave {upperLeft bPattern3}.cvx .dosave {upperRight bPattern3}.cvx .dosave {lowerRight bPattern3}.cvx .dosave }.cvx .def (doCPattern) { {lowerLeft cPattern3}.cvx .dosave {upperLeft cPattern3}.cvx .dosave {upperRight cPattern3}.cvx .dosave {lowerRight cPattern3}.cvx .dosave }.cvx .def (makeBlack) { name (-black.pd) .ropeconcat .openplatemakerpd (black . . . ) .print 0.55 screenFreq 75 .setdotscreen Griffin.BlackPass black (black) doTargets doBPattern DoIt (closing) .print .closepd }.cvx .def (makeCyan){ name (-cyan.pd) .ropeconcat .openplatemakerpd (cyan . . . ) .print 0.55 screenFreq 60 .setdotscreen Griffin.CyanPass cyan (cyan) doTargets doCPattern DoIt (closing) .print .closepd }.cvx .def (makeMagenta){ name (-magenta.pd) .ropeconcat .openplatemakerpd (magenta . . . ) .print 0.55 screenFreq 30 .setdotscreen Griffin.MagentaPass magenta (magenta) doTargets doCPattern DoIt (closing) .print .closepd }.cvx .def (makeYellow){ name (-yellow.pd) .ropeconcat .openplatemakerpd (yellow . . . ) .print 0.55 screenFreq 0 .setdotscreen Griffin.YellowPass yellow (yellow) doTargets doCPattern DoIt (closing) .print .closepd }.cvx .def (makeseps) { (name) .exch .def (Screening at ) .print screenFreq .print ( lines per inch) = makeBlack makeCyan makeMagenta makeYellow Griffin.FullColor } .cvx .def