%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 430 510 %%Creator: Gernot Hoffmann %%Title: ColCalc %%CreationDate: December 4 / 2006 %%DocumentNeededResources: font Helvetica %%+ Helvetica-Bold % Disable setpagedevice /setpagedevice {pop} def % Color Calculator /mm {2.834646 mul} def %--Global linewidth multiplier /Lw 1.0 def %--Clipping for Lab diagram /LClip false def %--Last PostScript font set is valid /FontN { /Courier findfont fh scalefont setfont } def /FontB { /Courier-Bold findfont fh scalefont setfont } def /FontN { /ArialMT findfont fh scalefont setfont } def /FontB { /Arial-BoldMT findfont fh scalefont setfont } def /FontN { /Helvetica findfont fh scalefont setfont } def /FontB { /Helvetica-Bold findfont fh scalefont setfont } def /ci [ 380 0.1741 0.0050 385 0.1740 0.0050 390 0.1738 0.0049 395 0.1736 0.0049 400 0.1733 0.0048 405 0.1730 0.0048 410 0.1726 0.0048 415 0.1721 0.0048 420 0.1714 0.0051 425 0.1703 0.0058 430 0.1689 0.0069 435 0.1669 0.0086 440 0.1644 0.0109 445 0.1611 0.0138 450 0.1566 0.0177 455 0.1510 0.0227 460 0.1440 0.0297 465 0.1355 0.0399 470 0.1241 0.0578 475 0.1096 0.0868 480 0.0913 0.1327 485 0.0686 0.2007 490 0.0454 0.2950 495 0.0235 0.4127 500 0.0082 0.5384 505 0.0039 0.6548 510 0.0139 0.7502 515 0.0389 0.8120 520 0.0743 0.8338 525 0.1142 0.8262 530 0.1547 0.8059 535 0.1929 0.7816 540 0.2296 0.7543 545 0.2658 0.7243 550 0.3016 0.6923 555 0.3373 0.6589 560 0.3731 0.6245 565 0.4087 0.5896 570 0.4441 0.5547 575 0.4788 0.5202 580 0.5125 0.4866 585 0.5448 0.4544 590 0.5752 0.4242 595 0.6029 0.3965 600 0.6270 0.3725 605 0.6482 0.3514 610 0.6658 0.3340 615 0.6801 0.3197 620 0.6915 0.3083 625 0.7006 0.2993 630 0.7079 0.2920 635 0.7140 0.2859 640 0.7190 0.2809 645 0.7230 0.2770 650 0.7260 0.2740 655 0.7283 0.2717 660 0.7300 0.2700 665 0.7311 0.2689 670 0.7320 0.2680 675 0.7327 0.2673 680 0.7334 0.2666 685 0.7340 0.2660 690 0.7344 0.2656 695 0.7346 0.2654 700 0.7347 0.2653 ] def %--Wavelengths /ck [ 380 460 470 475 480 485 490 495 500 505 510 515 520 525 530 535 540 545 550 555 560 565 570 575 580 585 590 595 600 605 610 620 635 700 ] def %--Vertical shift in graphic in CieNote /cy [ 2 0 0 -2 0 +4 0 0 0 0 0 -4 +5 +2 0 0 0 0 0 0 0 -3 0 0 -2 0 0 0 0 0 0 0 0 0 ] def /cp [ 435.8 0.1665 0.0090 546.1 0.2738 0.7173 700.0 0.7347 0.2653 ] def /ct [ 2000 0.52669 0.41331 1.33101 2105 0.51541 0.41465 1.39021 2222 0.50338 0.41525 1.45962 2353 0.49059 0.41498 1.54240 2500 0.47701 0.41368 1.64291 2677 0.463 0.41121 1.76811 % error in table, estimated values 2857 0.446 0.40742 1.92863 3077 0.43156 0.40216 2.14300 3333 0.41502 0.39535 2.44455 3636 0.39792 0.38690 2.90309 4000 0.38045 0.37676 3.68730 4444 0.36276 0.36496 5.34398 5000 0.34510 0.35162 11.17883 5714 0.32775 0.33690 -39.34888 6667 0.31101 0.32116 -6.18336 8000 0.29518 0.30477 -3.08425 10000 0.28063 0.28828 -1.93507 11111 0.27524 0.28182 -1.65981 12500 0.27011 0.27547 -1.44313 14286 0.26526 0.26930 -1.26959 16667 0.26070 0.26333 -1.12891 20000 0.25645 0.25763 -1.01403 25000 0.25251 0.25222 -0.91976 ] def /clen ct length 4 idiv 1 sub def % all /cmax 16 def % 2000..10000 /cw [ 50 0.3457 0.3585 65 0.3127 0.3290 93 0.2857 0.2941 ] def /c0 1 3 div def /c1 0.008856 def /c2 7.787 def /c3 16 116 div def /c4 0.206893 def /sx 100 mm def /sy 100 mm def /bx 140 mm def /by 120 mm def /x0 8 mm def /y0 8 mm def /xtxs 0.00 def % start of text block /ytxs 1.65 def /BBox {0 0 0 1 setcmykcolor 0.5 Lw mul setlinewidth % points /bbx 430 1 sub def /bby 510 1 sub def 1 1 moveto bbx 0 rlineto 0 bby rlineto bbx neg 0 rlineto closepath stroke } def /PrimsCie {/txtP (CIE) def /xr 0.73467 def /yr 0.26533 def /xg 0.27376 def /yg 0.71741 def /xb 0.16658 def /yb 0.00886 def } def /Prims709 {/txtP (Rec.709) def /xr 0.64000 def /yr 0.33000 def /xg 0.30000 def /yg 0.60000 def /xb 0.15000 def /yb 0.06000 def } def /PrimsNTSC {/txtP (NTSC) def /xr 0.67000 def /yr 0.33000 def /xg 0.21000 def /yg 0.71000 def /xb 0.14000 def /yb 0.08000 def } def /PrimsWide {/txtP (WideGamut) def /xr 0.734700 def /yr 0.265299 def /xg 0.115173 def /yg 0.826432 def /xb 0.156608 def /yb 0.017658 def } def /PrimsProp {/txtP (ProPhoto) def /xr 0.734698 def /yr 0.265302 def /xg 0.159599 def /yg 0.840401 def /xb 0.036600 def /yb 0.000107 def } def /PrimsAd98 {/txtP (AdobeRGB) def /xr 0.64000 def /yr 0.33000 def /xg 0.21000 def /yg 0.71000 def /xb 0.15000 def /yb 0.06000 def } def /PrimsOpti {/txtP (OptiRGB) def /xr 0.6658 def /yr 0.3340 def %610 /xg 0.1929 def /yg 0.7816 def %535 /xb 0.1355 def /yb 0.0399 def %465 } def /WhiteEqE {/xw 0.3333 def /yw 0.3333 def /txtW (Eq.Energy ) def } def /WhiteD65 {/xw 0.3127 def /yw 0.3290 def /txtW (D65) def } def /WhiteNTSC % Illuminant C {/xw 0.3100 def /yw 0.3160 def /txtW (NTSC) def } def /White3000K % R.W.G.Hunt, Measuring Colours {/xw 0.4368 def /yw 0.4041 def /txtW (3000K) def } def /White4000K {/xw 0.3804 def /yw 0.3767 def /txtW (4000K) def } def /WhiteD50 {/xw 0.3457 def /yw 0.3585 def /txtW (D50) def } def /White6000K {/xw 0.3220 def /yw 0.3318 def /txtW (6000K) def } def /White7000K {/xw 0.3063 def /yw 0.3165 def /txtW (7000K) def } def /White8000K {/xw 0.2952 def /yw 0.3048 def /txtW (8000K) def } def % D93: Wyszecki+Stiles interpolated/adjusted /White9300K {/xw 0.2850 def /yw 0.2931 def /txtW (9300K) def } def /RefEqE {/xn 0.3333 def /yn 0.3333 def /txtN (Eq.Energy ) def } def /RefD65 {/xn 0.3127 def /yn 0.3290 def /txtN (D65) def } def /RefNTSC {/xn 0.3100 def /yn 0.3160 def /txtN (NTSC) def } def /RefD50 {/xn 0.3457 def /yn 0.3585 def /txtN (D50) def } def /Gam10 { /gam 1.0 def /txtG (1.0) def} def /Gam18 { /gam 1.8 def /txtG (1.8) def} def /Gam22 { /gam 2.2 def /txtG (2.2) def} def /Gam24 { /gam 2.4 def /txtG (sRGB) def} def /BradT { /Brad true def /txtB (Yes) def} def /BradF { /Brad false def /txtB (No ) def} def /RendR { /txtI (RelCol) def } def /RendA { /txtI (AbsCol) def } def /XYZMode { /txtM (XYZ) def } def /xyYMode { /txtM (xyY) def } def /LabMode { /txtM (Lab) def } def /RGBMode { /txtM (RGB') def } def /RGBModeLinear { /txtM (RGB-linear) def } def /MakeBrad {% ICC-Spec p.110 % Cone = CX*X; X = XC*Cone % Cone Response /CX11 0.8951 def /CX12 0.2664 def /CX13 -0.1614 def /CX21 -0.7502 def /CX22 1.7135 def /CX23 0.0367 def /CX31 0.0389 def /CX32 -0.0685 def /CX33 1.0296 def % Inverse Cone Response /D CX22 CX33 mul CX23 CX32 mul sub CX11 mul CX21 CX33 mul CX23 CX31 mul sub CX12 mul sub CX21 CX32 mul CX22 CX31 mul sub CX13 mul add def /XC11 CX22 CX33 mul CX23 CX32 mul sub D div def /XC12 CX12 CX33 mul CX13 CX32 mul sub D div neg def /XC13 CX12 CX23 mul CX13 CX22 mul sub D div def /XC21 CX21 CX33 mul CX23 CX31 mul sub D div neg def /XC22 CX11 CX33 mul CX13 CX31 mul sub D div def /XC23 CX11 CX23 mul CX13 CX21 mul sub D div neg def /XC31 CX21 CX32 mul CX22 CX31 mul sub D div def /XC32 CX11 CX32 mul CX12 CX31 mul sub D div neg def /XC33 CX11 CX22 mul CX12 CX21 mul sub D div def % Source /Yws 1 def /zw 1 xw sub yw sub def /Xws xw yw div Yws mul def /Zws zw yw div Yws mul def % PCS /Ywp 1 def /zn 1 xn sub yn sub def /Xwp xn yn div Ywp mul def /Zwp zn yn div Ywp mul def % Cone Source /Rs CX11 Xws mul CX12 Yws mul add CX13 Zws mul add def /Gs CX21 Xws mul CX22 Yws mul add CX23 Zws mul add def /Bs CX31 Xws mul CX32 Yws mul add CX33 Zws mul add def % Cone PCS /Rp CX11 Xwp mul CX12 Ywp mul add CX13 Zwp mul add def /Gp CX21 Xwp mul CX22 Ywp mul add CX23 Zwp mul add def /Bp CX31 Xwp mul CX32 Ywp mul add CX33 Zwp mul add def /a11 Rp Rs div def /a22 Gp Gs div def /a33 Bp Bs div def % Diag(aii)*CX /X11 a11 CX11 mul def /X12 a11 CX12 mul def /X13 a11 CX13 mul def /X21 a22 CX21 mul def /X22 a22 CX22 mul def /X23 a22 CX23 mul def /X31 a33 CX31 mul def /X32 a33 CX32 mul def /X33 a33 CX33 mul def % Bradford % BM = XC*Diag(aii)*CX /BM11 XC11 X11 mul XC12 X21 mul add XC13 X31 mul add def /BM12 XC11 X12 mul XC12 X22 mul add XC13 X32 mul add def /BM13 XC11 X13 mul XC12 X23 mul add XC13 X33 mul add def /BM21 XC21 X11 mul XC22 X21 mul add XC23 X31 mul add def /BM22 XC21 X12 mul XC22 X22 mul add XC23 X32 mul add def /BM23 XC21 X13 mul XC22 X23 mul add XC23 X33 mul add def /BM31 XC31 X11 mul XC32 X21 mul add XC33 X31 mul add def /BM32 XC31 X12 mul XC32 X22 mul add XC33 X32 mul add def /BM33 XC31 X13 mul XC32 X23 mul add XC33 X33 mul add def % Inverse Bradford /D BM22 BM33 mul BM23 BM32 mul sub BM11 mul BM21 BM33 mul BM23 BM31 mul sub BM12 mul sub BM21 BM32 mul BM22 BM31 mul sub BM13 mul add def /MB11 BM22 BM33 mul BM23 BM32 mul sub D div def /MB12 BM12 BM33 mul BM13 BM32 mul sub D div neg def /MB13 BM12 BM23 mul BM13 BM22 mul sub D div def /MB21 BM21 BM33 mul BM23 BM31 mul sub D div neg def /MB22 BM11 BM33 mul BM13 BM31 mul sub D div def /MB23 BM11 BM23 mul BM13 BM21 mul sub D div neg def /MB31 BM21 BM32 mul BM22 BM31 mul sub D div def /MB32 BM11 BM32 mul BM12 BM31 mul sub D div neg def /MB33 BM11 BM22 mul BM12 BM21 mul sub D div def % Bradford matrix XYZ(D50)=BM*XYZ(D65) %/BM11 1.0479 def /BM12 0.0229 def /BM13 -0.0502 def %/BM21 0.0296 def /BM22 0.9904 def /BM23 -0.0171 def %/BM31 -0.0092 def /BM32 0.0151 def /BM33 0.7519 def % XYZ(D50)=BM*XYZ(D65) } def /PrimToMat { % matrix CR for XYZ(WP)=CR*RGB(WP) /zr 1 xr sub yr sub def /zg 1 xg sub yg sub def /zb 1 xb sub yb sub def /zw 1 xw sub yw sub def /zn 1 xn sub yn sub def /D xr xb sub yg yb sub mul yr yb sub xg xb sub mul sub def /U xw xb sub yg yb sub mul yw yb sub xg xb sub mul sub def /V xr xb sub yw yb sub mul yr yb sub xw xb sub mul sub def /u U D div def /v V D div def /w 1 u sub v sub def % XYZ(WP)=CR(WP)*RGB(WP) /CR11 u xr mul yw div def /CR12 v xg mul yw div def /CR13 w xb mul yw div def /CR21 u yr mul yw div def /CR22 v yg mul yw div def /CR23 w yb mul yw div def /CR31 u zr mul yw div def /CR32 v zg mul yw div def /CR33 w zb mul yw div def Brad {% XR(D50)=BM*CR(D65) /XR11 BM11 CR11 mul BM12 CR21 mul add BM13 CR31 mul add def /XR12 BM11 CR12 mul BM12 CR22 mul add BM13 CR32 mul add def /XR13 BM11 CR13 mul BM12 CR23 mul add BM13 CR33 mul add def /XR21 BM21 CR11 mul BM22 CR21 mul add BM23 CR31 mul add def /XR22 BM21 CR12 mul BM22 CR22 mul add BM23 CR32 mul add def /XR23 BM21 CR13 mul BM22 CR23 mul add BM23 CR33 mul add def /XR31 BM31 CR11 mul BM32 CR21 mul add BM33 CR31 mul add def /XR32 BM31 CR12 mul BM32 CR22 mul add BM33 CR32 mul add def /XR33 BM31 CR13 mul BM32 CR23 mul add BM33 CR33 mul add def } {% XR(D65)=CR(D65) /XR11 CR11 def /XR12 CR12 def /XR13 CR13 def /XR21 CR21 def /XR22 CR22 def /XR23 CR23 def /XR31 CR31 def /XR32 CR32 def /XR33 CR33 def } ifelse % Inverse of XR /D XR22 XR33 mul XR23 XR32 mul sub XR11 mul XR21 XR33 mul XR23 XR31 mul sub XR12 mul sub XR21 XR32 mul XR22 XR31 mul sub XR13 mul add def /RX11 XR22 XR33 mul XR23 XR32 mul sub D div def /RX12 XR12 XR33 mul XR13 XR32 mul sub D div neg def /RX13 XR12 XR23 mul XR13 XR22 mul sub D div def /RX21 XR21 XR33 mul XR23 XR31 mul sub D div neg def /RX22 XR11 XR33 mul XR13 XR31 mul sub D div def /RX23 XR11 XR23 mul XR13 XR21 mul sub D div neg def /RX31 XR21 XR32 mul XR22 XR31 mul sub D div def /RX32 XR11 XR32 mul XR12 XR31 mul sub D div neg def /RX33 XR11 XR22 mul XR12 XR21 mul sub D div def /Yw 1 def /Xw xw yw div Yw mul def /Zw zw yw div Yw mul def /Yn 1 def /Xn xn yn div Yn mul def /Zn zn yn div Yn mul def } def /XYZtoRGB {/R X RX11 mul Y RX12 mul add Z RX13 mul add def /G X RX21 mul Y RX22 mul add Z RX23 mul add def /B X RX31 mul Y RX32 mul add Z RX33 mul add def /Rlin R def /Glin G def /Blin B def } def /RGBtoXYZ {/X R XR11 mul G XR12 mul add B XR13 mul add def /Y R XR21 mul G XR22 mul add B XR23 mul add def /Z R XR31 mul G XR32 mul add B XR33 mul add def } def /LABtoXYZ {%/c0 1 3 div def Actual definition in main program %/c1 0.008856 def %/c2 7.787 def %/c3 16 116 div def %/c4 0.206893 def /Y1 L* 16 add 116 div def /X1 a* 500 div Y1 add def /Z1 Y1 b* 200 div sub def /X X1 c4 le {X1 c3 sub c2 div }{ X1 3 exp } ifelse Xn mul def % X1 3 exp /Y Y1 c4 le {Y1 c3 sub c2 div }{ Y1 3 exp } ifelse Yn mul def /Z Z1 c4 le {Z1 c3 sub c2 div }{ Z1 3 exp } ifelse Zn mul def } def /XYZtoLAB {%/c0 1 3 div def Actual definition in main program %/c1 0.008856 def %/c2 7.787 def %/c3 16 116 div def %/c4 0.206893 def /X1 X Xn div dup c1 le { c2 mul c3 add }{ c0 exp } ifelse def /Y1 Y Yn div dup c1 le { c2 mul c3 add }{ c0 exp } ifelse def /Z1 Z Zn div dup c1 le { c2 mul c3 add }{ c0 exp } ifelse def /L* 116 Y1 mul 16 sub def /a* X1 Y1 sub 500 mul def /b* Y1 Z1 sub 200 mul def } def /LABtoRGB { LABtoXYZ XYZtoRGB } def /RGBtoLAB { RGBtoXYZ XYZtoLab } def /IGamma { /iga 1 gam div def /lim1 -0.00196 def /lim2 +1.00196 def /og false def % out of gamut /R1 R def R1 lim1 lt R1 lim2 gt or {/og true def} if /G1 G def G1 lim1 lt G1 lim2 gt or {/og true def} if /B1 B def B1 lim1 lt B1 lim2 gt or {/og true def} if R1 lim1 lt {/R1 0 def} if R1 lim2 gt {/R1 1 def} if G1 lim1 lt {/G1 0 def} if G1 lim2 gt {/G1 1 def} if B1 lim1 lt {/B1 0 def} if B1 lim2 gt {/B1 1 def} if gam 2.4 ne {/R2 R1 iga exp def /G2 G1 iga exp def /B2 B1 iga exp def } {/R2 R1 dup 0.00304 lt {12.92 mul }{iga exp 1.055 mul 0.055 sub } ifelse def /G2 G1 dup 0.00304 lt {12.92 mul }{iga exp 1.055 mul 0.055 sub } ifelse def /B2 B1 dup 0.00304 lt {12.92 mul }{iga exp 1.055 mul 0.055 sub } ifelse def } ifelse /R R2 def /G G2 def /B B2 def } def /Gamma { /og false def R 0 lt { /R 0 def } if G 0 lt { /G 0 def } if B 0 lt { /B 0 def } if R 1 gt { /R 1 def } if G 1 gt { /G 1 def } if B 1 gt { /B 1 def } if gam 2.4 ne {/R R gam exp def /G G gam exp def /B B gam exp def } {/R R dup 0.03928 lt {12.92 div }{0.055 add 1.055 div gam exp } ifelse def /G G dup 0.03928 lt {12.92 div }{0.055 add 1.055 div gam exp } ifelse def /B B dup 0.03928 lt {12.92 div }{0.055 add 1.055 div gam exp } ifelse def } ifelse } def /XYZtoxyY { /D X Y add Z add def D abs 1E-8 gt {/x X D div def /y Y D div def /z Z D div def} {/x xn def /y yn def /z zn def } ifelse } def /xyYtoXYZ { /z 1 x sub y sub def /X x y div Y mul def /Z z y div Y mul def } def /CieGrid { newpath 0 0 0 1 setcmykcolor 0.1 mm sx div Lw mul setlinewidth /gx 0 def /gdx 0.1 def /gy 0 def /gdy 0.1 def { gx gy moveto gx 1 add gy lineto stroke /gy gy gdy add def gy 1.01 gt {exit}if } loop /gy 0 def { gx gy moveto gx gy 1 add lineto stroke /gx gx gdx add def gx 1.01 gt {exit}if } loop 0 setlinecap newpath 0 0 moveto 1 0 lineto 0 0 moveto 0 1 lineto 0.3 mm sx div Lw mul setlinewidth 0 0 0 1 setcmykcolor stroke } def /LabGrid { newpath 0 0 0 1 setcmykcolor 0.1 mm sx div Lw mul setlinewidth /gx 0.5 def /gdx 0.05 def /gy 0.5 def /gdy 0.05 def { gx gy moveto gx 0.5 add gy lineto stroke /gy gy gdy add def gy 1.01 gt {exit}if } loop /gy 0.5 def { gx gy moveto gx gy 0.5 add lineto stroke /gx gx gdx add def gx 1.01 gt {exit}if } loop 0 0 0 1 setcmykcolor 0.2 mm sx div Lw mul setlinewidth 0.50 0.75 moveto 0.5 0 rlineto stroke 0.75 0.50 moveto 0 0.5 rlineto stroke /fh 6 sx div def FontN 0 0 0 0 setcmykcolor 0.925 0.726 moveto 0.07 0 rlineto 0 0.02 rlineto -0.07 0 rlineto closepath fill 0.705 0.943 moveto 0.04 0 rlineto 0 0.02 rlineto -0.04 0 rlineto closepath fill 0 0 0 1 setcmykcolor 0.927 0.728 moveto (100 a*) show 0.706 0.945 moveto (100) show 0.725 0.975 moveto (b*) show } def /LabDot {/bt exch def /at exch def /xt at 0.002 mul 0.75 add def /yt bt 0.002 mul 0.75 add def gsave newpath 0.5 0.5 moveto 0.5 0 rlineto 0 0.5 rlineto -0.5 0 rlineto closepath LClip {clip} if /ds 0.02 def newpath xt ds 0.5 mul sub yt ds 0.5 mul sub moveto ds 0 rlineto 0 ds rlineto ds neg 0 rlineto closepath R G B setrgbcolor fill xt ds 0.5 mul sub yt ds 0.5 mul sub moveto ds 0 rlineto 0 ds rlineto ds neg 0 rlineto closepath 0 0 0 1 setcmykcolor stroke grestore } def /CieDot {/yt exch def /xt exch def /ra 0.008 def 0.1 mm sx div Lw mul setlinewidth gsave newpath 0 0 moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto closepath LClip {clip} if newpath xt yt ra 0 360 arc R G B setrgbcolor fill newpath xt yt ra 0 360 arc 0 0 0 1 setcmykcolor stroke grestore } def /WDots % draw circle for white points {/fh 5 sx div def FontN /buf 10 string def 0.1 mm sx div Lw mul setlinewidth /ra 0.5 mm sx div def 0 1 cw length 3 idiv 1 sub { /k exch 3 mul def /xt cw k 1 add get def /yt cw k 2 add get def xt ra add yt moveto xt yt ra 0 360 arc gsave 0 0 0 0 setcmykcolor fill grestore 0 0 0 1 setcmykcolor stroke 0 0 0 0.10 setcmykcolor xt 0.014 sub yt 0.016 add moveto 0.02 0 rlineto 0 0.04 rlineto -0.02 0 rlineto closepath fill 0 0 0 1 setcmykcolor xt 0.002 add yt 0.018 add moveto +90 rotate (D) show cw k get buf cvs show -90 rotate } for } def /MakeSpline {/fu spa array def /mi spa array def /re spa array def /yy spa array def /xx spa array def /n fp 1 sub def /hh mult def /hd6 hh 6 div def /hm6 hh 6 mul def /h6h -6 hh dup mul div def pxy 1 eq {0 1 fp {/k exch def fu k hh mul ci k 3 mul 1 add get put} for} if pxy 2 eq {0 1 fp {/k exch def fu k hh mul ci k 3 mul 2 add get put} for} if mi 1 0.25 put 1 1 n 1 sub {/j exch def mi j 1 add 1 4 mi j get sub div put} for 1 1 n {/j exch def /jh j hh mul def re j fu jh hh add get fu jh get 2 mul sub fu jh hh sub get add h6h mul put} for yy 1 re 1 get put 2 1 n {/j exch def yy j re j get yy j 1 sub get mi j 1 sub get mul sub put} for xx 0 0 put xx n yy n get mi n get mul neg put xx n 1 add 0 put n 1 sub -1 1{/j exch def xx j yy j get xx j 1 add get add mi j get mul neg put} for /i 0 def 0 1 n {/j exch def /jh j hh mul def /a3 xx j 1 add get xx j get sub hm6 div def /a2 xx j get 0.5 mul def /a1 fu jh hh add get fu jh get sub hh div xx j 1 add get xx j get 2 mul add hd6 mul sub def /a0 fu jh get def 1 1 hh 1 sub {/k exch def /i i 1 add def fu i a3 k mul a2 add k mul a1 add k mul a0 add put} for /i i 1 add def} for pxy 1 eq {fu vecx copy} if pxy 2 eq {fu vecy copy} if } def /CieHorse { 0.2 mm sx div Lw mul setlinewidth /mult 5 def /fp ci length 3 idiv 1 sub def /spl fp mult mul def /spa spl 1 add def /vecx spa array def /vecy spa array def newpath /pxy 1 def MakeSpline /pxy 2 def MakeSpline vecx 0 get vecy 0 get moveto 1 1 spl {/k exch def vecx k get vecy k get lineto } for closepath stroke } def /CieDots % draw circle for ck lambdas {/col { 0 0 0 1 setcmykcolor } def 0.1 mm sx div Lw mul setlinewidth /ra 0.5 mm sx div def /k 0 def /i 0 def 1 1 ck length { pop /lam ck k get def { ci i get lam eq { /xt ci i 1 add get def /yt ci i 2 add get def xt yt ra 0 360 arc gsave 0 0 0 0 setcmykcolor fill grestore col stroke exit } {/i i 3 add def } ifelse } loop /k k 1 add def } for } def /CieList % write list for ck lambdas { 0 0 0 1 setcmykcolor /fh 7 sx div def FontN /txt 3 string def /xt 1.55 def /yt 1.0 fh sub def /dy fh 1.2 mul def /k 0 def /i 0 def 1 1 ck length { pop /lam ck k get def { ci i get lam eq { xt yt moveto lam txt cvs txt show /yt yt dy sub def exit } {/i i 3 add def } ifelse } loop /k k 1 add def } for } def /CieNote % write notation for ck lambdas { 0 0 0 1 setcmykcolor /fh 6 sx div def FontN /txt 3 string def /dx fh 2.0 mul def /dy fh def /k 0 def /i 0 def 1 1 ck length { pop /lam ck k get round def { ci i get round lam eq { /xt ci i 1 add get fh 0.40 mul add def /yt ci i 2 add get fh 0.18 mul sub cy k get 1000 div add def col xt yt moveto lam txt cvs txt show exit } {/i i 3 add def } ifelse } loop /k k 1 add def } for } def /Triangle % draw circle for white points { 0.2 mm sx div Lw mul setlinewidth 0 0 0 0.5 setcmykcolor xr yr moveto xg yg lineto xb yb lineto closepath stroke } def /Shownum % Draw number by string % Version May 15 2004 / uses rounding % % tx0 ty0 nu :on stack % % tx0 Position not overwritten % ty0 % nu Input number not overwritten nu =+-999999 % fh Font height not overwritten % tms Mantissa number of characters tms=0...6 Global % tms=3 Example % input -23.56789 -999.99 0.4567 9999.123456 % result -23.568 -999.990 0.467 9999.123 % Postscript number to string is not well defined % e.g. 1E-5 instead of 0.00001 % We use a straightforward BCD conversion. % This is always affected by round-off errors % because of 32-bit arithmetic % Results are different, depending on the interpreter { /nu exch def /ty0 exch def /tx0 exch def /tfw fh 0.6 mul def % character distance /tna nu abs 10 tms neg exp 0.500001 mul add def /tdec 1E5 def /tchr 1 string def tna 999999.1 lt % larger number replaced by # /tmm true def % sign {/tx0 tx0 tfw 6 mul sub def /tz 0 def 1 1 5 % first 5 digits, no leading 0 { pop /tk 0 def { tna tdec gt {/tna tna tdec sub def /tk tk 1 add def}{exit} ifelse } loop tk 0 ne {/tz tz 1 add def} if tz 0 ne { tx0 ty0 moveto tk tchr cvs show } if tz 1 eq nu 0 lt and tmm and % minus Correction 28/03/2005 { tx0 tfw 0.7 mul sub ty0 moveto (-) show /tmm false def } if /tdec tdec 0.1 mul def /tx0 tx0 tfw add def } for /tk 0 def % leading 0 { tna tdec gt {/tna tna tdec sub def /tk tk 1 add def}{exit} ifelse } loop tmm nu 0 lt and % minus { tx0 tfw 0.7 mul sub ty0 moveto (-) show } if tx0 ty0 moveto tk tchr cvs show /tdec tdec 0.1 mul def /tx0 tx0 tfw add def tms 0 gt % for float { tx0 ty0 moveto (.) show /tx0 tx0 tfw 0.5 mul add def 1 1 tms { pop /tk 0 def { tna tdec gt {/tna tna tdec sub def /tk tk 1 add def}{exit} ifelse } loop tx0 ty0 moveto tk tchr cvs show /tdec tdec 0.1 mul def /tx0 tx0 tfw add def } for } if }{ tx0 tfw sub ty0 moveto (#) show} ifelse } def /CieText {/num [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 ] def /tx 3 string def /fh 8 sx div def FontN /xtxt fh -0.1 mul def /ytxt fh 1.2 mul neg def /tms 1 def 0 0 0 1 setcmykcolor 0 1 10 {/k exch def /nu num k get def xtxt ytxt nu Shownum /xtxt xtxt 0.1 add def } for /xtxt fh 1.3 mul neg def /ytxt fh 0.2 mul neg def 0 1 10 {/k exch def /nu num k get def xtxt ytxt nu Shownum /ytxt ytxt 0.1 add def } for FontB 0.945 fh 1.2 mul neg moveto (x) show -0.04 0.95 moveto (y) show } def /CTCurve {/fh 6 sx div def FontN /buf 10 string def /r 0.02 def 0 0 0 1 setcmykcolor 0.1 mm sx div Lw mul setlinewidth newpath /k 0 def /xt ct k 1 add get def /yt ct k 2 add get def xt yt moveto 0 1 clen {/k exch 4 mul def /xt ct k 1 add get def /yt ct k 2 add get def xt yt lineto /t ct k 3 add get def /w t dup mul 1 add sqrt def /c 1 w div def /s t w div def t 0 gt {/dx r c mul def /dy r s mul def } {/dx r c mul neg def /dy r s mul neg def } ifelse xt dx add yt dy add lineto xt yt moveto } for stroke } def /CTText {/fh 4.5 sx div def FontN /buf 10 string def /r 0.02 def 0 0 0 1 setcmykcolor /k 0 def /xt ct k 1 add get def /yt ct k 2 add get def xt yt moveto 0 1 clen {/k exch 4 mul def /xt ct k 1 add get def /yt ct k 2 add get def /t ct k get def t 10001 lt t 25000 eq or { xt 0.007 add t 2000 eq { 0.001 add } if yt 0.044 sub t 9999 gt { 0.007 sub } if moveto 90 rotate t buf cvs show -90 rotate xt yt moveto } if } for } def /ScaLab {/y exch def /x exch def /Y 1 def xyYtoXYZ XYZtoLAB /xt a* 0.002 mul 0.75 add def /yt b* 0.002 mul 0.75 add def } def /CTCurveLab {/fh 6 sx div def /r 0.02 def 0 0 0 1 setcmykcolor 0.1 mm sx div Lw mul setlinewidth newpath /k 0 def /x ct k 1 add get def /y ct k 2 add get def x y ScaLab xt yt moveto 0 1 clen {/k exch 4 mul def /x ct k 1 add get def /y ct k 2 add get def x y ScaLab xt yt lineto /t ct k 3 add get def /w t dup mul 1 add sqrt def /c 1 w div def /s t w div def t 0 gt {/dx r c mul def /dy r s mul def } {/dx r c mul neg def /dy r s mul neg def } ifelse /xold x def /yold y def /x x dx add def /y y dy add def x y ScaLab xt yt lineto xold yold ScaLab xt yt moveto } for stroke } def /CTTextLab {/fh 4.5 sx div def FontN /buf 10 string def 0 0 0 1 setcmykcolor 0 1 clen {/k exch 4 mul def /x ct k 1 add get def /y ct k 2 add get def /t ct k get def t 10001 lt t 25000 eq or {x y ScaLab xt 0.005 add yt 0.008 sub moveto t buf cvs show } if } for } def /ColTemp % input x,y % output T % q=(x,y) % r=q-p1 % d=(r x s) % d=rx*sy-ry*sx % T=T1+(T2-T1)*d1/(d1+d2) % s=(1,t)/Sqrt(1+t*t) % {/lent ct length 4 idiv 1 sub def /k 0 def /T2 ct k get def /x2 ct k 1 add get def /y2 ct k 2 add get def /t2 ct k 3 add get def /den 1 t2 dup mul add sqrt def /sx2 1 den div def /sy2 t2 den div def /rx2 x x2 sub def /ry2 y y2 sub def /d2 rx2 sy2 mul ry2 sx2 mul sub def 1 1 lent { pop /val true def /k k 4 add def /T1 T2 def /x1 x2 def /y1 y2 def /t1 t2 def /d1 d2 def /T2 ct k get def /x2 ct k 1 add get def /y2 ct k 2 add get def /t2 ct k 3 add get def /den 1 t2 dup mul add sqrt def /sx2 1 den div def /sy2 t2 den div def t2 0 lt { /sx2 sx2 neg def /sy2 sy2 neg def } if /rx2 x x2 sub def /ry2 y y2 sub def /d2 rx2 sy2 mul ry2 sx2 mul sub def /dis d1 d2 mul def dis 0 le {exit} if /val false def } for val {/d1 d1 abs def /d2 d1 d2 abs add def /den d1 d2 div def /T1 1 T1 div def /T2 1 T2 div def /T 1 T1 T2 T1 sub den mul add div def /T T round cvi def CTDist } {/T 0 def } ifelse } def /CTDist { % No CT if too far away, T=0 /dis1 9999 def 0 1 clen {/k exch 4 mul def /xt ct k 1 add get def /yt ct k 2 add get def /dis2 x xt sub dup mul y yt sub dup mul add def dis2 dis1 lt { /dis1 dis2 def } if } for /dis1 dis1 sqrt def dis1 0.05 gt {/T 0 def } if } def /LF { /ytx1 ytx1 fh 0.98 mul sub def } def /OutHead { 0 0 0 1 setcmykcolor /fh 7 sx div def FontB /ytx1 ytxs def /xtx1 xtxs def xtx1 ytx1 moveto head (ColorCalc) show LF xtx1 ytx1 moveto (G.Hoffmann) show LF xtx1 ytx1 moveto head show /ytx1 ytxs def /xtx1 xtxs def /dd 0.15 def /xtx2 xtx1 0.235 add def /xtx3 xtx2 dd add def /xtx4 xtx3 dd add def /xtx5 xtx4 dd add def /xtx6 xtx5 dd add def /xtx7 xtx6 dd add def xtx2 ytx1 moveto (Med.White:) show xtx3 ytx1 moveto txtW show LF xtx2 ytx1 moveto (Ref.White:) show xtx3 ytx1 moveto txtN show LF xtx2 ytx1 moveto (Input:) show xtx3 ytx1 moveto txtM show LF /ytx1 ytxs def xtx4 ytx1 moveto (Primaries:) show xtx5 ytx1 moveto txtP show LF xtx4 ytx1 moveto (Trc:) show xtx5 ytx1 moveto txtG show LF xtx4 ytx1 moveto (Bradford:) show xtx5 ytx1 moveto txtB show LF /ytx1 ytxs def xtx6 ytx1 moveto (Intent:) show xtx7 ytx1 moveto txtI show LF LF /buf 20 string def /txtS Set buf cvs def xtx6 ytx1 moveto (Set:) show xtx7 ytx1 moveto txtS show LF } def /OutList { /fh 7 sx div def FontN /tms 6 def /ytx1 ytxs def 4 {LF} repeat xtx1 ytx1 moveto (X) show LF xtx1 ytx1 moveto (Y) show LF xtx1 ytx1 moveto (Z) show LF LF xtx1 ytx1 moveto (x) show LF xtx1 ytx1 moveto (y) show LF xtx1 ytx1 moveto (z) show LF LF xtx1 ytx1 moveto (L*) show LF xtx1 ytx1 moveto (a*) show LF xtx1 ytx1 moveto (b*) show LF LF xtx1 ytx1 moveto (R) show LF xtx1 ytx1 moveto (G) show LF xtx1 ytx1 moveto (B) show LF LF xtx1 ytx1 moveto (R') show LF xtx1 ytx1 moveto (G') show LF xtx1 ytx1 moveto (B') show LF LF xtx1 ytx1 moveto (CCT) show LF xtx1 ytx1 moveto (RGB) show LF LF 0.1 mm sx div setlinewidth } def /OutData { /buf 10 string def /fh 7 sx div def FontN /Out1 { /tms 6 def xtx2 ytx1 X Shownum LF xtx2 ytx1 Y Shownum LF xtx2 ytx1 Z Shownum LF LF xtx2 ytx1 x Shownum LF xtx2 ytx1 y Shownum LF xtx2 ytx1 z Shownum LF LF /tms 4 def xtx2 ytx1 L* Shownum LF xtx2 ytx1 a* Shownum LF xtx2 ytx1 b* Shownum LF LF /tms 4 def xtx2 ytx1 Rlin 255 mul Shownum R 1.002 gt R -0.0019 lt or {( !) show} if LF xtx2 ytx1 Glin 255 mul Shownum G 1.002 gt G -0.0019 lt or {( !) show} if LF xtx2 ytx1 Blin 255 mul Shownum B 1.002 gt B -0.0019 lt or {( !) show} if LF LF /tms 4 def xtx2 ytx1 R 255 mul Shownum LF xtx2 ytx1 G 255 mul Shownum LF xtx2 ytx1 B 255 mul Shownum LF LF /tms 0 def xtx2 0.015 sub ytx1 moveto T 0 ne {T buf cvs show ( K) show }{(none) show} ifelse LF xtx2 0.015 sub ytx1 moveto og {(out-gam)}{(in-gam)} ifelse show LF LF } def /ytx1 ytxs def 4 {LF} repeat /xtx1 xtxs 0.1 add def /dd 0.15 def /dx dd NCi 1 sub mul def /xtx2 xtx1 dx add def Out1 } def /ShowRX {/ytx1 0.25 def /xtx1 1.025 def /x1 1.04 def /x2 1.19 def /x3 1.32 def /tms 6 def /fh 7 sx div def FontB Brad {/mtxt (Matrix Mrx) def}{/mtxt (Matrix Crx) def} ifelse xtx1 ytx1 moveto mtxt show LF FontN LF x1 ytx1 RX11 Shownum x2 ytx1 RX12 Shownum x3 ytx1 RX13 Shownum LF x1 ytx1 RX21 Shownum x2 ytx1 RX22 Shownum x3 ytx1 RX23 Shownum LF x1 ytx1 RX31 Shownum x2 ytx1 RX32 Shownum x3 ytx1 RX33 Shownum LF LF FontB Brad {/mtxt (Matrix Mxr) def}{/mtxt (Matrix Cxr) def} ifelse xtx1 ytx1 moveto mtxt show LF LF FontN x1 ytx1 XR11 Shownum x2 ytx1 XR12 Shownum x3 ytx1 XR13 Shownum LF x1 ytx1 XR21 Shownum x2 ytx1 XR22 Shownum x3 ytx1 XR23 Shownum LF x1 ytx1 XR31 Shownum x2 ytx1 XR32 Shownum x3 ytx1 XR33 Shownum LF } def /DrawTrc {/fh 8 sx div def FontN newpath 0.5 0 moveto 0.5 0 rlineto 0 0.5 rlineto -0.5 0 rlineto closepath clip 0.2 mm sx div setlinewidth /Nt 100 def /dx 1 Nt div def /R 0 def /G 0 def /B 0 def /xt 0 def Gamma /yt R 0.5 mul def newpath xt 0.5 mul 0.5 add yt 0.5 mul moveto 1 1 Nt { pop /xt xt dx add def /R xt def Gamma /yt R def xt 0.5 mul 0.5 add yt 0.5 mul lineto } for stroke 0.91 0.26 moveto (Trc) show } def /MainProc { MakeBrad PrimToMat Triangle CieGrid CieHorse CieDots CieNote CieText CTCurve CTText WDots LabGrid CTLab 1 eq { CTCurveLab CTTextLab } if OutHead Mode 1 eq {/NC XYZ length 3 idiv def} if Mode 2 eq {/NC xyY length 3 idiv def} if Mode 3 eq {/NC LAB length 3 idiv def} if Mode 4 eq {/NC RGB length 3 idiv def} if Mode 5 eq {/NC RGB length 3 idiv def} if OutList Mode 1 eq % XYZ input { /kc 0 def 1 1 NC {/NCi exch def /X XYZ kc get def /Y XYZ kc 1 add get def /Z XYZ kc 2 add get def /kc kc 3 add def XYZtoxyY XYZtoLAB XYZtoRGB IGamma x y CieDot a* b* LabDot ColTemp OutData } for } if Mode 2 eq % xyY input { /kc 0 def 1 1 NC {/NCi exch def /x xyY kc get def /y xyY kc 1 add get def /Y xyY kc 2 add get def /kc kc 3 add def xyYtoXYZ XYZtoLAB XYZtoRGB IGamma x y CieDot a* b* LabDot ColTemp OutData } for } if Mode 3 eq % Lab input { /kc 0 def 1 1 NC {/NCi exch def /L* LAB kc get def /a* LAB kc 1 add get def /b* LAB kc 2 add get def /kc kc 3 add def LABtoXYZ XYZtoxyY XYZtoRGB IGamma x y CieDot a* b* LabDot ColTemp OutData } for } if Mode 4 eq % RGB' input { /kc 0 def 1 1 NC {/NCi exch def /R RGB kc get def /G RGB kc 1 add get def /B RGB kc 2 add get def /kc kc 3 add def /R R 255 div def /G G 255 div def /B B 255 div def /Rold R def /Gold G def /Bold B def Gamma /Rlin R def /Glin G def /Blin B def RGBtoXYZ XYZtoxyY XYZtoLAB /R Rold def /G Gold def /B Bold def x y CieDot a* b* LabDot ColTemp OutData } for } if Mode 5 eq % linear RGB input { /kc 0 def 1 1 NC {/NCi exch def /R RGB kc get def /G RGB kc 1 add get def /B RGB kc 2 add get def /kc kc 3 add def /R R 255 div def /G G 255 div def /B B 255 div def /Rold R def /Gold G def /Bold B def % Gamma /Rlin R def /Glin G def /Blin B def RGBtoXYZ XYZtoxyY XYZtoLAB /R Rold def /G Gold def /B Bold def x y CieDot a* b* LabDot ColTemp IGamma OutData } for } if ShowRX 0 setgray DrawTrc } def % MainProc BBox /Set 0 def /Mode 0 def /TRGB 0 def /TXYZ 0 def /TxyY 0 def /TLab 0 def /head () def true setstrokeadjust 2 setlinecap x0 y0 translate sx sy scale %--Choose Gamma /G 3 def G 1 eq { Gam18 } if G 2 eq { Gam22 } if G 3 eq { Gam24 } if % sRGB %--Choose one /P 1 def P 0 eq { PrimsCie } if P 1 eq { Prims709 } if P 2 eq { PrimsNTSC } if P 3 eq { PrimsWide } if P 4 eq { PrimsAd98 } if P 5 eq { PrimsProp } if P 6 eq { PrimsOpti } if %--Choose one /W 1 def W 0 eq { WhiteEqE } if W 1 eq { WhiteD65 } if W 2 eq { WhiteNTSC } if W 3 eq { White3000K } if W 4 eq { White4000K } if W 5 eq { WhiteD50 } if % also Wide Gamut and ProPhoto W 6 eq { White6000K } if W 7 eq { White7000K } if W 8 eq { White8000K } if W 9 eq { White9300K } if %--Choose one /N 5 def N 0 eq { RefEqE } if N 1 eq { RefD65 } if N 2 eq { RefNTSC} if N 5 eq { RefD50 } if %--Choose one /B 1 def B 0 eq { BradF } if B 1 eq { BradT } if %--Standard inputs--------------------------------------------------------------- /Settings { %--Choose one standard set Set 0 eq {} if % None, use settings above Set 1 eq { Prims709 WhiteD65 RefD65 Gam24 BradF RendA } if % sRGB AbsCol Set 2 eq { PrimsAd98 WhiteD65 RefD65 Gam22 BradF RendA } if % AdobeRGB(98) AbsCol Set 3 eq { PrimsOpti WhiteD65 RefD65 Gam22 BradF RendA } if % OptiRGB AbsCol Set 4 eq { PrimsProp WhiteD50 RefD50 Gam18 BradF RendA } if % ProPhoto AbsCol Set 5 eq { Prims709 WhiteD65 RefD50 Gam24 BradT RendR } if % sRGB RelCol Set 6 eq { PrimsAd98 WhiteD65 RefD50 Gam22 BradT RendR } if % AdobeRGB(98) RelCol Set 7 eq { PrimsOpti WhiteD65 RefD50 Gam22 BradT RendR } if % OptiRGB RelCol Set 8 eq { PrimsProp WhiteD50 RefD50 Gam18 BradT RendR } if % ProPhoto RelCol Set 9 eq { Prims709 WhiteD65 RefD50 Gam24 BradF RendA } if % sRGB AbsCol Set 10 eq { PrimsAd98 WhiteD65 RefD50 Gam22 BradF RendA } if % AdobeRGB(98) AbsCol Set 11 eq { PrimsOpti WhiteD65 RefD50 Gam22 BradF RendA } if % OptiRGB AbsCol Set 12 eq { PrimsProp WhiteD50 RefD50 Gam18 BradF RendA } if % ProPhoto AbsCol %--Choose one input mode Mode 1 eq { XYZMode } if Mode 2 eq { xyYMode } if Mode 3 eq { LabMode } if Mode 4 eq { RGBMode } if Mode 5 eq { RGBModeLinear } if %--Define 1 to 9 colors, one row each TXYZ 1 eq {%-- Mutoh 950S WP %-- ISO Coated WP /XYZ [ 0.86783 0.89743 0.78069 0.84808 0.87618 0.80035 ] def } if TXYZ 2 eq {%--sRGB NoCAT /XYZ [ 0.950456 1.0 1.089058 0.412391 0.212639 0.019331 0.357584 0.715169 0.119195 0.180481 0.072192 0.950532 ] def } if TXYZ 3 eq {%-- sRGB CAT /XYZ [ 0.964295 1.0 0.825105 0.436066 0.222493 0.013924 0.385151 0.716887 0.097081 0.143078 0.060620 0.714099 ] def } if TxyY 1 eq {%--Test only /xyY [ 0.2 0.2 0.8 0.3 0.3 0.8 0.4 0.4 0.8 ] def } if TLab 1 eq {%--Light gray /LAB [ 100 0 0 99 0 0 98 0 0 97 0 0 96 0 0 95 0 0 94 0 0 93 0 0 ] def } if TLab 2 eq {%--Blue to yellow /LAB [ 60 0 -100 60 0 -75 60 0 -50 60 0 -25 75 0 0 90 0 +25 90 0 +50 90 0 +75 90 0 +100 ] def } if TLab 3 eq {%--Green to red /LAB [ 60 -100 0 60 -75 0 60 -50 0 60 -25 0 60 0 0 60 +25 0 60 +50 0 60 +75 0 60 +100 0 ] def } if TRGB 1 eq {%--Primaries /RGB [ 255 255 255 255 0 0 0 255 0 0 0 255 ] def } if TRGB 2 eq {%--Primaries and secondaries /RGB [ 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 0 255 255 255 0 ] def } if TRGB 3 eq {%--One Primary /RGB [ 1 0 0 32 0 0 64 0 0 96 0 0 128 0 0 160 0 0 192 0 0 224 0 0 255 0 0 ] def } if TRGB 4 eq {%--One Primary /RGB [ 0 1 0 0 32 0 0 64 0 0 96 0 0 128 0 0 160 0 0 192 0 0 224 0 0 255 0 ] def } if TRGB 5 eq {%--One Primary /RGB [ 0 0 1 0 0 32 0 0 64 0 0 96 0 0 128 0 0 160 0 0 192 0 0 224 0 0 255 ] def } if } def %--Job-definition /Job01 {/Set 1 def /Mode 4 def /head (Dec.04 / 2006) def /TXYZ 1 def /TxyY 1 def /TLab 1 def /TRGB 2 def /CTLab 1 def } def /Job02 {/Set 5 def /Mode 4 def /head (Dec.04 / 2006) def /TXYZ 1 def /TxyY 1 def /TLab 1 def /TRGB 2 def /CTLab 0 def } def /Job03 {/Set 1 def /Mode 1 def /head (Dec.04 / 2006) def /TXYZ 2 def /TxyY 1 def /TLab 1 def /TRGB 1 def /CTLab 0 def } def /Job04 {/Set 5 def /Mode 4 def /head (Dec.04 / 2006) def /TXYZ 2 def /TxyY 1 def /TLab 1 def /TRGB 1 def /CTLab 0 def } def /Job05 {/Set 6 def /Mode 3 def /head (Dec.04 / 2006) def /TXYZ 1 def /TxyY 1 def /TLab 2 def /TRGB 1 def /CTLab 0 def } def /Job06 {/Set 6 def /Mode 3 def /head (Dec.04 / 2006) def /TXYZ 1 def /TxyY 1 def /TLab 3 def /TRGB 1 def /CTLab 0 def } def /Job07 {/Set 9 def /Mode 3 def /head (Dec.04 / 2006) def /TXYZ 1 def /TxyY 1 def /TLab 1 def /TRGB 1 def /CTLab 0 def } def /Job08 {/Set 4 def /Mode 4 def /head (Dec.04 / 2006) def /TXYZ 1 def /TxyY 1 def /TLab 1 def /TRGB 3 def /CTLab 0 def } def /Job09 {/Set 4 def /Mode 4 def /head (Dec.04 / 2006) def /TXYZ 1 def /TxyY 1 def /TLab 1 def /TRGB 4 def /CTLab 0 def } def /Job10 {/Set 4 def /Mode 4 def /head (Dec.04 / 2006) def /TXYZ 1 def /TxyY 1 def /TLab 1 def /TRGB 5 def /CTLab 0 def } def Job01 %--End standard inputs------------------------------------------------------------- Settings MainProc showpage %%EndDocument