%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 430 510 %%Creator: Gernot Hoffmann %%Title: SpectroCalc-Master %%CreationDate: December 6 / 2006 %%DocumentNeededResources: font Helvetica %%+ Helvetica-Bold % Disable setpagedevice /setpagedevice {pop} def % Color Calculator for Spectra /mm {2.834646 mul} def %--Global linewidth multiplier /Lw 1.0 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 % Dummy variables for Spectrocam data file /Nr 0 def /X 0 def /Y 0 def /Z 0 def /L 0 def /a 0 def /b 0 def /C 0 def /hue 0 def /Y 0 def /M 0 def /C 0 def /Vis 0 def /x 0 def /y 0 def /u 0 def /v 0 def /Illuminant 0 def /Observer 0 def /Density 0 def /status 0 def /A1 0 def /D50 0 def /D65 0 def /E 0 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 % lam A B C D50 D55 D65 D75 /CI1 [ 380 9.80 22.40 33.00 24.49 32.58 49.98 66.70 385 10.90 26.85 39.92 27.18 35.34 52.31 68.33 390 12.09 31.30 47.40 29.87 38.09 54.65 69.96 395 13.35 36.18 55.17 39.59 49.52 68.70 85.95 400 14.71 41.30 63.30 49.31 60.95 82.75 101.93 405 16.15 46.62 71.81 52.91 64.75 87.12 106.91 410 17.68 52.10 80.60 56.51 68.55 91.49 111.89 415 19.29 57.70 89.53 58.27 70.07 92.46 112.35 420 20.99 63.20 98.10 60.03 71.58 93.43 112.80 425 22.79 68.37 105.80 58.93 69.75 90.06 107.94 430 24.67 73.10 112.40 57.82 67.91 86.68 103.09 435 26.64 77.31 117.75 66.32 76.76 95.77 112.14 440 28.70 80.80 121.50 74.82 85.61 104.86 121.20 445 30.85 83.44 123.45 81.04 91.80 110.94 127.10 450 33.09 85.40 124.00 87.25 97.99 117.01 133.01 455 35.41 86.88 123.60 88.93 99.23 117.41 132.68 460 37.81 88.30 123.10 90.61 100.46 117.81 132.36 465 40.30 90.08 123.30 90.99 100.19 116.34 129.84 470 42.87 92.00 123.80 91.37 99.91 114.86 127.32 475 45.52 93.75 124.09 93.24 101.33 115.39 127.06 480 48.24 95.20 123.90 95.11 102.74 115.92 126.80 485 51.04 96.23 122.92 93.54 100.41 112.37 122.29 490 53.91 96.50 120.70 91.96 98.08 108.81 117.78 495 56.85 95.71 116.90 93.84 99.38 109.08 117.19 500 59.86 94.20 112.10 95.72 100.68 109.35 116.59 505 62.93 92.37 106.98 96.17 100.69 108.58 115.15 510 66.06 90.70 102.30 96.61 100.70 107.80 113.70 515 69.25 89.65 98.81 96.87 100.34 106.30 111.18 520 72.50 89.50 96.90 97.13 99.99 104.79 108.66 525 75.79 90.43 96.78 99.61 102.10 106.24 109.55 530 79.13 92.20 98.00 102.10 104.21 107.69 110.44 535 82.52 94.46 99.94 101.43 103.16 106.05 108.37 540 85.95 96.90 102.10 100.75 102.10 104.41 106.29 545 89.41 99.16 103.95 101.54 102.53 104.23 105.60 550 92.91 101.00 105.20 102.32 102.97 104.05 104.90 555 96.44 102.20 105.67 101.16 101.48 102.02 102.45 560 100.00 102.80 105.30 100.00 100.00 100.00 100.00 565 103.58 102.92 104.11 98.87 98.61 98.17 97.81 570 107.18 102.60 102.30 97.74 97.22 96.33 95.62 575 110.80 101.90 100.15 98.33 97.48 96.06 94.91 580 114.44 101.00 97.80 98.92 97.75 95.79 94.21 585 118.08 100.07 95.43 96.21 94.59 92.24 90.60 590 121.73 99.20 93.20 93.50 91.43 88.69 87.00 595 125.39 98.44 91.22 95.59 92.93 89.35 87.11 600 129.04 98.00 89.70 97.69 94.42 90.01 87.23 605 132.70 98.08 88.83 98.48 94.78 89.80 86.68 610 136.35 98.50 88.40 99.27 95.14 89.60 86.14 615 139.99 99.06 88.19 99.16 94.68 88.65 84.86 620 143.62 99.70 88.10 99.04 94.22 87.70 83.58 625 147.24 100.36 88.06 97.38 92.33 85.49 81.16 630 150.84 101.00 88.00 95.72 90.45 83.29 78.75 635 154.42 101.56 87.86 97.29 91.39 83.49 78.59 640 157.98 102.20 87.80 98.86 92.33 83.70 78.43 645 161.52 103.05 87.99 97.26 90.59 81.86 76.61 650 165.03 103.90 88.20 95.67 88.85 80.03 74.80 655 168.51 104.59 88.20 96.93 89.59 80.12 74.56 660 171.96 105.00 87.90 98.19 90.32 80.21 74.32 665 175.38 105.08 87.22 100.60 92.13 81.25 74.87 670 178.77 104.90 86.30 103.00 93.95 82.28 75.42 675 182.12 104.55 85.30 101.07 91.95 80.28 73.50 680 185.43 103.90 84.00 99.13 89.96 78.28 71.58 685 188.70 102.84 82.21 93.26 84.82 74.00 67.71 690 191.93 101.60 80.20 87.38 79.68 69.72 63.85 695 195.12 100.38 78.24 89.49 81.26 70.67 64.46 700 198.26 99.10 76.30 91.60 82.84 71.61 65.08 705 201.36 97.70 74.36 92.25 83.84 72.98 66.57 710 204.41 96.20 72.40 92.89 84.84 74.35 68.07 715 207.41 94.60 70.40 84.87 77.54 67.98 62.26 720 210.36 92.90 68.30 76.85 70.24 61.60 56.44 725 213.27 91.10 66.30 81.68 74.77 65.74 60.34 730 216.12 89.40 64.40 86.51 79.30 69.89 64.24 735 218.92 88.00 62.80 89.55 82.15 72.49 66.70 740 221.67 86.90 61.50 92.58 84.99 75.09 69.15 745 224.36 85.90 60.20 85.40 78.44 69.34 63.89 750 227.00 85.20 59.20 78.23 71.88 63.59 58.63 755 229.59 84.80 58.50 67.96 62.34 55.01 50.62 760 232.12 84.70 58.10 57.69 52.79 46.42 42.62 765 234.59 84.90 58.00 70.31 64.36 56.61 51.98 770 237.01 85.40 58.20 82.92 75.93 66.81 61.35 775 239.37 86.10 58.50 80.60 73.87 65.09 59.84 780 241.68 87.00 59.10 78.27 71.82 63.38 58.32 ] def /CI2 % F1 *F2 F3 F4 F5 F6 *F7 F8 F9 F10 *F11 F12 [ 380 1.87 1.18 0.82 0.57 1.87 1.05 2.56 1.21 0.90 1.11 0.91 0.96 385 2.36 1.48 1.02 0.70 2.35 1.31 3.18 1.50 1.12 0.80 0.63 0.64 390 2.94 1.84 1.26 0.87 2.92 1.63 3.84 1.81 1.36 0.62 0.46 0.45 395 3.47 2.15 1.44 0.98 3.45 1.90 4.53 2.13 1.60 0.57 0.37 0.33 400 5.17 3.44 2.57 2.01 5.10 3.11 6.15 3.17 2.59 1.48 1.29 1.19 405 19.49 15.69 14.36 13.75 18.91 14.80 19.37 13.08 12.80 12.16 12.68 12.48 410 6.13 3.85 2.70 1.95 6.00 3.43 7.37 3.83 3.05 2.12 1.59 1.12 415 6.24 3.74 2.45 1.59 6.11 3.30 7.05 3.45 2.56 2.70 1.79 0.94 420 7.01 4.19 2.73 1.76 6.85 3.68 7.71 3.86 2.86 3.74 2.46 1.08 425 7.79 4.62 3.00 1.93 7.58 4.07 8.41 4.42 3.30 5.14 3.38 1.37 430 8.56 5.06 3.28 2.10 8.31 4.45 9.15 5.09 3.82 6.75 4.49 1.78 435 43.67 34.98 31.85 30.28 40.76 32.61 44.14 34.10 32.62 34.39 33.94 29.05 440 16.94 11.81 9.47 8.03 16.06 10.74 17.52 12.42 10.77 14.86 12.13 7.90 445 10.72 6.27 4.02 2.55 10.32 5.48 11.35 7.68 5.84 10.40 6.95 2.65 450 11.35 6.63 4.25 2.70 10.91 5.78 12.00 8.60 6.57 10.76 7.19 2.71 455 11.89 6.93 4.44 2.82 11.40 6.03 12.58 9.46 7.25 10.67 7.12 2.65 460 12.37 7.19 4.59 2.91 11.83 6.25 13.08 10.24 7.86 10.11 6.72 2.49 465 12.75 7.40 4.72 2.99 12.17 6.41 13.45 10.84 8.35 9.27 6.13 2.33 470 13.00 7.54 4.80 3.04 12.40 6.52 13.71 11.33 8.75 8.29 5.46 2.10 475 13.15 7.62 4.86 3.08 12.54 6.58 13.88 11.71 9.06 7.29 4.79 1.91 480 13.23 7.65 4.87 3.09 12.58 6.59 13.95 11.98 9.31 7.91 5.66 3.01 485 13.17 7.62 4.85 3.09 12.52 6.56 13.93 12.17 9.48 16.64 14.29 10.83 490 13.13 7.62 4.88 3.14 12.47 6.56 13.82 12.28 9.61 16.73 14.96 11.88 495 12.85 7.45 4.77 3.06 12.20 6.42 13.64 12.32 9.68 10.44 8.97 6.88 500 12.52 7.28 4.67 3.00 11.89 6.28 13.43 12.35 9.74 5.94 4.72 3.43 505 12.20 7.15 4.62 2.98 11.61 6.20 13.25 12.44 9.88 3.34 2.33 1.49 510 11.83 7.05 4.62 3.01 11.33 6.19 13.08 12.55 10.04 2.35 1.47 0.92 515 11.50 7.04 4.73 3.14 11.10 6.30 12.93 12.68 10.26 1.88 1.10 0.71 520 11.22 7.16 4.99 3.41 10.96 6.60 12.78 12.77 10.48 1.59 0.89 0.60 525 11.05 7.47 5.48 3.90 10.97 7.12 12.60 12.72 10.63 1.47 0.83 0.63 530 11.03 8.04 6.25 4.69 11.16 7.94 12.44 12.60 10.78 1.80 1.18 1.10 535 11.18 8.88 7.34 5.81 11.54 9.07 12.33 12.43 10.96 5.71 4.90 4.56 540 11.53 10.01 8.78 7.32 12.12 10.49 12.26 12.22 11.18 40.98 39.59 34.40 545 27.74 24.88 23.82 22.59 27.78 25.22 29.52 28.96 27.71 73.69 72.84 65.40 550 17.05 16.64 16.14 15.11 17.73 17.46 17.05 16.51 16.29 33.61 32.61 29.48 555 13.55 14.59 14.59 13.88 14.47 15.63 12.44 11.79 12.28 8.24 7.52 7.16 560 14.33 16.16 16.63 16.33 15.20 17.22 12.58 11.76 12.74 3.38 2.83 3.08 565 15.01 17.56 18.49 18.68 15.77 18.53 12.72 11.77 13.21 2.47 1.96 2.47 570 15.52 18.62 19.95 20.64 16.10 19.43 12.83 11.84 13.65 2.14 1.67 2.27 575 18.29 21.47 23.11 24.28 18.54 21.97 15.46 14.61 16.57 4.86 4.43 5.09 580 19.55 22.79 24.69 26.26 19.50 23.01 16.75 16.11 18.14 11.45 11.28 11.96 585 15.48 19.29 21.41 23.28 15.39 19.41 12.83 12.34 14.55 14.79 14.76 15.32 590 14.91 18.66 20.85 22.94 14.64 18.56 12.67 12.53 14.65 12.16 12.73 14.27 595 14.15 17.73 19.93 22.14 13.72 17.42 12.45 12.72 14.66 8.97 9.74 11.86 600 13.22 16.54 18.67 20.91 12.69 16.09 12.19 12.92 14.61 6.52 7.33 9.28 605 12.19 15.21 17.22 19.43 11.57 14.64 11.89 13.12 14.50 8.31 9.72 12.31 610 11.12 13.80 15.65 17.74 10.45 13.15 11.60 13.34 14.39 44.12 55.27 68.53 615 10.03 12.36 14.04 16.00 9.35 11.68 11.35 13.61 14.40 34.55 42.58 53.02 620 8.95 10.95 12.45 14.42 8.29 10.25 11.12 13.87 14.47 12.09 13.18 14.67 625 7.96 9.65 10.95 12.56 7.32 8.95 10.95 14.07 14.62 12.15 13.16 14.38 630 7.02 8.40 9.51 10.93 6.41 7.74 10.76 14.20 14.72 10.52 12.26 14.71 635 6.20 7.32 8.27 9.52 5.63 6.69 10.42 14.16 14.55 4.43 5.11 6.46 640 5.42 6.31 7.11 8.18 4.90 5.71 10.11 14.13 14.40 1.95 2.07 2.57 645 4.73 5.43 6.09 7.01 4.26 4.87 10.04 14.34 14.58 2.19 2.34 2.75 650 4.15 4.68 5.22 6.00 3.72 4.16 10.02 14.50 14.88 3.19 3.58 4.18 655 3.64 4.02 4.45 5.11 3.25 3.55 10.11 14.46 15.51 2.77 3.01 3.44 660 3.20 3.45 3.80 4.36 2.83 3.02 9.87 14.00 15.47 2.29 2.48 2.81 665 2.81 2.99 3.23 3.69 2.49 2.57 8.65 12.58 13.20 2.00 2.14 2.42 670 2.47 2.55 2.75 3.13 2.19 2.20 7.27 10.99 10.57 1.52 1.54 1.64 675 2.18 2.19 2.33 2.64 1.93 1.87 6.44 9.98 9.18 1.35 1.33 1.36 680 1.93 1.89 1.99 2.24 1.71 1.60 5.83 9.22 8.25 1.47 1.46 1.49 685 1.72 1.64 1.70 1.91 1.52 1.37 5.41 8.62 7.57 1.79 1.94 2.14 690 1.67 1.53 1.55 1.70 1.48 1.29 5.04 8.07 7.03 1.74 2.00 2.34 695 1.43 1.27 1.27 1.39 1.26 1.05 4.57 7.39 6.35 1.02 1.20 1.42 700 1.29 1.10 1.09 1.18 1.13 0.91 4.12 6.71 5.72 1.14 1.35 1.61 705 1.19 0.99 0.96 1.03 1.05 0.81 3.77 6.16 5.25 3.32 4.10 5.04 710 1.08 0.88 0.83 0.88 0.96 0.71 3.46 5.63 4.80 4.49 5.58 6.98 715 0.96 0.76 0.71 0.74 0.85 0.61 3.08 5.03 4.29 2.05 2.51 3.19 720 0.88 0.68 0.62 0.64 0.78 0.54 2.73 4.46 3.80 0.49 0.57 0.71 725 0.81 0.61 0.54 0.54 0.72 0.48 2.47 4.02 3.43 0.24 0.27 0.30 730 0.77 0.56 0.49 0.49 0.68 0.44 2.25 3.66 3.12 0.21 0.23 0.26 735 0.75 0.54 0.46 0.46 0.67 0.43 2.06 3.36 2.86 0.21 0.21 0.23 740 0.73 0.51 0.43 0.42 0.65 0.40 1.90 3.09 2.64 0.24 0.24 0.28 745 0.68 0.47 0.39 0.37 0.61 0.37 1.75 2.85 2.43 0.24 0.24 0.28 750 0.69 0.47 0.39 0.37 0.62 0.38 1.62 2.65 2.26 0.21 0.20 0.21 755 0.64 0.43 0.35 0.33 0.59 0.35 1.54 2.51 2.14 0.17 0.24 0.17 760 0.68 0.46 0.38 0.35 0.62 0.39 1.45 2.37 2.02 0.21 0.32 0.21 765 0.69 0.47 0.39 0.36 0.64 0.41 1.32 2.15 1.83 0.22 0.26 0.19 770 0.61 0.40 0.33 0.31 0.55 0.33 1.17 1.89 1.61 0.17 0.16 0.15 775 0.52 0.33 0.28 0.26 0.47 0.26 0.99 1.61 1.38 0.12 0.12 0.10 780 0.43 0.27 0.21 0.19 0.40 0.21 0.81 1.32 1.12 0.09 0.09 0.05 ] def /CMF % lam xbar ybar zbar [ 380 0.001368 0.000039 0.006450 381 0.001502 0.000042 0.007083 382 0.001642 0.000046 0.007745 383 0.001802 0.000051 0.008501 384 0.001995 0.000057 0.009414 385 0.002236 0.000064 0.010549 386 0.002535 0.000072 0.011965 387 0.002892 0.000082 0.013655 388 0.003300 0.000093 0.015588 389 0.003753 0.000106 0.017730 390 0.004243 0.000120 0.020050 391 0.004762 0.000349 0.022511 392 0.005330 0.000151 0.025202 393 0.005978 0.000170 0.028279 394 0.006741 0.000191 0.031897 395 0.007650 0.000217 0.036210 396 0.008751 0.000246 0.041437 397 0.010028 0.000281 0.047503 398 0.014217 0.000318 0.054119 399 0.012869 0.000357 0.060998 400 0.014310 0.000396 0.067850 401 0.015704 0.000433 0.074486 402 0.017147 0.000473 0.081361 403 0.018781 0.000517 0.089153 404 0.020748 0.000572 0.098540 405 0.023190 0.000640 0.110200 406 0.026207 0.000724 0.124613 407 0.029782 0.000825 0.141701 408 0.033880 0.000941 0.161303 409 0.038468 0.001069 0.183256 410 0.043510 0.001210 0.207400 411 0.048995 0.001362 0.233692 412 0.055022 0.001530 0.262611 413 0.061718 0.001720 0.294774 414 0.069212 0.001935 0.330798 415 0.077630 0.002180 0.371300 416 0.086958 0.002454 0.416209 417 0.097176 0.002764 0.465464 418 0.108406 0.003117 0.519694 419 0.120767 0.003526 0.579530 420 0.134380 0.004000 0.645600 421 0.149358 0.004546 0.718483 422 0.165395 0.005159 0.796713 423 0.181983 0.005829 0.877845 424 0.198611 0.006546 0.959439 425 0.214770 0.007300 1.039050 426 0.230186 0.008086 1.115367 427 0.244879 0.008908 1.188497 428 0.258777 0.009767 1.258123 429 0.271807 0.010664 1.323929 430 0.283900 0.011600 1.385600 431 0.294943 0.012573 1.442635 432 0.304896 0.013582 1.494803 433 0.313787 0.014629 1.542190 434 0.321645 0.015715 1.584880 435 0.328500 0.016840 1.622960 436 0.334351 0.018007 1.656404 437 0.339210 0.019214 1.685295 438 0.343121 0.020453 1.709874 439 0.346129 0.021718 1.730382 440 0.348280 0.023000 1.747060 441 0.349599 0.024294 1.760044 442 0.350147 0.025610 1.769623 443 0.350013 0.026958 1.776263 444 0.349287 0.028351 1.780433 445 0.348060 0.029800 1.782600 446 0.346373 0.031310 1.782968 447 0.344262 0.032883 1.781699 448 0.341808 0.034521 1.779198 449 0.339094 0.036225 1.775867 450 0.336200 0.038000 1.772110 451 0.333197 0.039846 1.768258 452 0.330041 0.041768 1.764039 453 0.326635 0.043766 1.758943 454 0.322886 0.045842 1.752466 455 0.318700 0.048000 1.744100 456 0.314025 0.050243 1.733559 457 0.308884 0.052573 1.720858 458 0.303290 0.054980 1.705936 459 0.297257 0.057458 1.688737 460 0.290800 0.060000 1.669200 461 0.283970 0.062601 1.647528 462 0.276721 0.065277 1.623412 463 0.268917 0.068042 1.596022 464 0.260422 0.070911 1.564528 465 0.251100 0.073900 1.528100 466 0.240847 0.077016 1.486111 467 0.229851 0.080266 1.439521 468 0.218407 0.083666 1.389879 469 0.206811 0.087232 1.338736 470 0.195360 0.090980 1.287640 471 0.184213 0.094917 1.237422 472 0.173327 0.099045 1.187824 473 0.162688 0.103367 1.138761 474 0.152283 0.107884 1.090148 475 0.142100 0.112600 1.041900 476 0.132178 0.117532 0.994197 477 0.122569 0.122674 0.947347 478 0.113275 0.127992 0.901453 479 0.104297 0.133452 0.856619 480 0.095640 0.139020 0.812950 481 0.087299 0.144676 0.770517 482 0.079308 0.150469 0.729444 483 0.071717 0.156461 0.689913 484 0.064580 0.162717 0.652104 485 0.057950 0.169300 0.616200 486 0.051862 0.176243 0.582328 487 0.046281 0.183558 0.550416 488 0.041150 0.191273 0.520337 489 0.036412 0.199418 0.491967 490 0.032010 0.208020 0.465180 491 0.027917 0.217119 0.439924 492 0.024144 0.226734 0.416183 493 0.020687 0.236857 0.393882 494 0.017540 0.247481 0.372945 495 0.014700 0.258600 0.353300 496 0.012161 0.270184 0.334857 497 0.009919 0.282293 0.317552 498 0.007967 0.295050 0.301337 499 0.006296 0.308578 0.286168 500 0.004900 0.323000 0.272000 501 0.003777 0.338402 0.258817 502 0.002945 0.354685 0.246483 503 0.002424 0.371698 0.234771 504 0.002236 0.389287 0.223453 505 0.002400 0.407300 0.212300 506 0.002925 0.425629 0.201169 507 0.003836 0.444309 0.190119 508 0.005174 0.463394 0.179225 509 0.006982 0.482939 0.168560 510 0.009300 0.503000 0.158200 511 0.012149 0.523569 0.148138 512 0.015535 0.544512 0.138375 513 0.019477 0.565690 0.128994 514 0.023992 0.586965 0.120075 515 0.029100 0.608200 0.111700 516 0.034814 0.629345 0.103904 517 0.041120 0.650306 0.096667 518 0.047985 0.670875 0.089982 519 0.055378 0.690842 0.083845 520 0.063270 0.710000 0.078249 521 0.071635 0.728185 0.073208 522 0.080462 0.745463 0.068678 523 0.089739 0.761969 0.064567 524 0.099456 0.777836 0.060788 525 0.109600 0.793200 0.057250 526 0.120167 0.808110 0.053904 527 0.131114 0.822496 0.050746 528 0.142367 0.836306 0.047752 529 0.153854 0.849491 0.044898 530 0.165500 0.862000 0.042160 531 0.177257 0.873810 0.039507 532 0.189140 0.884962 0.036935 533 0.201169 0.895493 0.034458 534 0.213365 0.905443 0.032088 535 0.225749 0.914850 0.029840 536 0.238320 0.923734 0.027711 537 0.251066 0.932092 0.025694 538 0.263992 0.939922 0.023787 539 0.277101 0.947225 0.021989 540 0.290400 0.954000 0.020300 541 0.303891 0.960256 0.018718 542 0.317572 0.966007 0.017240 543 0.331438 0.971260 0.015863 544 0.345482 0.976022 0.014584 545 0.359700 0.980300 0.013400 546 0.374083 0.984092 0.012307 547 0.388639 0.987481 0.011301 548 0.403378 0.990312 0.010377 549 0.418311 0.992811 0.009529 550 0.433449 0.994950 0.008749 551 0.448795 0.996710 0.008035 552 0.464336 0.998098 0.007381 553 0.480064 0.999112 0.006785 554 0.495971 0.999748 0.006242 555 0.512050 1.000000 0.005749 556 0.528295 0.999856 0.005303 557 0.544691 0.999304 0.004899 558 0.561209 0.998325 0.004534 559 0.577821 0.996898 0.004202 560 0.594500 0.995000 0.003900 561 0.611220 0.992600 0.003623 562 0.627975 0.989742 0.003370 563 0.644760 0.986444 0.003440 564 0.661569 0.982724 0.002934 565 0.678400 0.978600 0.002749 566 0.695239 0.974083 0.002585 567 0.712058 0.969171 0.002438 568 0.728828 0.963856 0.002309 569 0.745518 0.958134 0.002196 570 0.762100 0.952000 0.002100 571 0.778543 0.945450 0.002017 572 0.794825 0.938499 0.001948 573 0.810926 0.931162 0.001889 574 0.826824 0.923457 0.001840 575 0.842500 0.915400 0.001800 576 0.857932 0.907006 0.001766 577 0.873081 0.898277 0.001737 578 0.887894 0.889204 0.001711 579 0.902318 0.879781 0.001683 580 0.916300 0.870000 0.001650 581 0.929799 0.859861 0.001610 582 0.942798 0.849392 0.001564 583 0.955277 0.838622 0.001513 584 0.967217 0.827581 0.001458 585 0.978600 0.816300 0.001400 586 0.989385 0.804794 0.001336 587 0.999548 0.793082 0.001270 588 1.009089 0.781192 0.001205 589 1.018006 0.769154 0.001146 590 1.026300 0.757000 0.001100 591 1.033982 0.744754 0.001068 592 1.040986 0.732422 0.001049 593 1.047188 0.720003 0.001035 594 1.052466 0.707496 0.001021 595 1.056700 0.694900 0.001000 596 1.059794 0.682219 0.000968 597 1.061799 0.669471 0.000929 598 1.062806 0.656674 0.000886 599 1.062909 0.643844 0.000842 600 1.062200 0.631000 0.000800 601 1.060735 0.618155 0.000760 602 1.058443 0.605314 0.000723 603 1.055224 0.592475 0.000685 604 1.050976 0.579637 0.000645 605 1.045600 0.566800 0.000600 606 1.039036 0.553961 0.000547 607 1.031360 0.541137 0.000491 608 1.022666 0.528352 0.000435 609 1.013047 0.515632 0.000383 610 1.002600 0.503000 0.000340 611 0.991367 0.490468 0.000307 612 0.979331 0.478030 0.000283 613 0.966491 0.465677 0.000265 614 0.952847 0.453403 0.000251 615 0.938400 0.441200 0.000240 616 0.923194 0.429080 0.000229 617 0.907244 0.417036 0.000220 618 0.890502 0.405032 0.000211 619 0.872920 0.393032 0.000202 620 0.854449 0.381000 0.000190 621 0.835084 0.368918 0.000174 622 0.814946 0.356827 0.000155 623 0.794186 0.344776 0.000135 624 0.772954 0.332817 0.000116 625 0.751400 0.321000 0.000000 626 0.729583 0.309338 0.000086 627 0.707588 0.297850 0.000074 628 0.685602 0.286593 0.000065 629 0.663810 0.275624 0.000056 630 0.642400 0.265000 0.000049 631 0.621514 0.254763 0.000044 632 0.601113 0.244889 0.000039 633 0.581105 0.235334 0.000035 634 0.561397 0.226052 0.000032 635 0.541900 0.217000 0.000030 636 0.522599 0.208161 0.000027 637 0.503546 0.199548 0.000025 638 0.484743 0.191155 0.000023 639 0.466193 0.182974 0.000021 640 0.447900 0.175000 0.000020 641 0.429861 0.167223 0.000018 642 0.412098 0.159646 0.000016 643 0.394644 0.152277 0.000014 644 0.377533 0.145125 0.000012 645 0.360800 0.138200 0.000010 646 0.344456 0.131500 0.000007 647 0.328516 0.125024 0.000005 648 0.313019 0.118779 0.000003 649 0.298001 0.112769 0.000001 650 0.283500 0.107000 0.000000 651 0.269544 0.101476 0.0 652 0.256118 0.096188 0.0 653 0.243189 0.091122 0.0 654 0.230727 0.086264 0.0 655 0.218700 0.081600 0.0 656 0.207097 0.077120 0.0 657 0.195923 0.072825 0.0 658 0.185170 0.068710 0.0 659 0.174832 0.064769 0.0 660 0.164900 0.061000 0.0 661 0.155366 0.057396 0.0 662 0.146230 0.053955 0.0 663 0.137490 0.050673 0.0 664 0.129146 0.047549 0.0 665 0.121200 0.044580 0.0 666 0.113639 0.041758 0.0 667 0.106465 0.039084 0.0 668 0.099690 0.036563 0.0 669 0.093330 0.034200 0.0 670 0.087400 0.032000 0.0 671 0.081900 0.029962 0.0 672 0.076804 0.028076 0.0 673 0.072077 0.026329 0.0 674 0.067686 0.024708 0.0 675 0.063600 0.023200 0.0 676 0.059806 0.021800 0.0 677 0.056282 0.020501 0.0 678 0.052971 0.019281 0.0 679 0.049818 0.018120 0.0 680 0.046770 0.017000 0.0 681 0.043784 0.015903 0.0 682 0.040873 0.014837 0.0 683 0.038072 0.013810 0.0 684 0.034046 0.012834 0.0 685 0.032900 0.011920 0.0 686 0.030641 0.011068 0.0 687 0.028380 0.010273 0.0 688 0.026344 0.009333 0.0 689 0.024427 0.008846 0.0 690 0.022700 0.008210 0.0 691 0.021084 0.007623 0.0 692 0.019998 0.007084 0.0 693 0.018237 0.006914 0.0 694 0.016987 0.006138 0.0 695 0.01584 0.005723 0.0 696 0.014790 0.005343 0.0 697 0.013831 0.004995 0.0 698 0.012948 0.004676 0.0 699 0.012129 0.004380 0.0 700 0.011359 0.004102 0.0 701 0.010629 0.003838 0.0 702 0.009938 0.003589 0.0 703 0.009288 0.003354 0.0 704 0.008678 0.003134 0.0 705 0.008110 0.002929 0.0 706 0.007582 0.002738 0.0 707 0.007088 0.002559 0.0 708 0.006627 0.002393 0.0 709 0.006195 0.002237 0.0 710 0.005790 0.002091 0.0 711 0.005409 0.001953 0.0 712 0.005052 0.001824 0.0 713 0.004717 0.001703 0.0 714 0.004403 0.001590 0.0 715 0.004109 0.001484 0.0 716 0.003833 0.001384 0.0 717 0.003575 0.001291 0.0 718 0.003334 0.001204 0.0 719 0.003109 0.001122 0.0 720 0.002899 0.001047 0.0 721 0.002704 0.000976 0.0 722 0.002523 0.000911 0.0 723 0.002354 0.000850 0.0 724 0.002196 0.000793 0.0 725 0.002049 0.000740 0.0 726 0.001910 0.000690 0.0 717 0.001781 0.000643 0.0 728 0.001660 0.000599 0.0 729 0.001546 0.000558 0.0 730 0.001439 0.000520 0.0 731 0.001340 0.000483 0.0 732 0.001246 0.000450 0.0 733 0.001158 0.000418 0.0 734 0.001076 0.000388 0.0 735 0.000999 0.000361 0.0 736 0.000928 0.000335 0.0 737 0.000862 0.000311 0.0 738 0.000800 0.000289 0.0 739 0.000743 0.000268 0.0 740 0.000690 0.000249 0.0 741 0.000640 0.000231 0.0 742 0.000594 0.000214 0.0 743 0.000551 0.000199 0.0 744 0.000512 0.000185 0.0 745 0.000476 0.000171 0.0 746 0.000442 0.000159 0.0 747 0.000411 0.000148 0.0 748 0.000382 0.000138 0.0 749 0.000356 0.000128 0.0 750 0.000332 0.000120 0.0 751 0.000309 0.000111 0.0 752 0.000288 0.000104 0.0 753 0.000269 0.000097 0.0 754 0.000251 0.000090 0.0 755 0.000234 0.000084 0.0 756 0.000219 0.000079 0.0 757 0.000204 0.000073 0.0 758 0.000190 0.000068 0.0 759 0.000178 0.000064 0.0 760 0.000166 0.000060 0.0 761 0.000155 0.000055 0.0 762 0.000144 0.000052 0.0 763 0.000134 0.000048 0.0 764 0.000125 0.000045 0.0 765 0.000117 0.000042 0.0 766 0.000109 0.000039 0.0 767 0.000102 0.000036 0.0 768 0.000095 0.000034 0.0 769 0.000089 0.000032 0.0 770 0.000083 0.000030 0.0 771 0.000077 0.000027 0.0 772 0.000072 0.000026 0.0 773 0.000067 0.000024 0.0 774 0.000062 0.000022 0.0 775 0.000058 0.000021 0.0 776 0.000054 0.000019 0.0 777 0.000051 0.000018 0.0 778 0.000047 0.000017 0.0 779 0.000044 0.000016 0.0 780 0.000041 0.000014 0.0 ] 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 /x0 8 mm def /y0 8 mm 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(98)) 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 /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 /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 /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 /Rlin R def /Glin G def /Blin B def } 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 0 lt {/R1 0 def} if R1 1 gt {/R1 1 def} if G1 0 lt {/G1 0 def} if G1 1 gt {/G1 1 def} if B1 0 lt {/B1 0 def} if B1 1 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 newpath 0 setlinecap 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 2 setlinecap } 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 clip /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 clip 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 { /ytxt ytxt fh 0.98 mul sub def } def /OutHead {/fh 7 sx div def FontB /xtx1 1.05 def /xtx2 xtx1 0.13 add def /xtx3 xtx1 0.245 add def /xtx4 xtx3 0.098 add def /ytxt 1.6 def xtx1 ytxt moveto (SpectroCalc) show LF xtx1 ytxt moveto (G.Hoffmann) show LF xtx1 ytxt moveto head show LF LF xtx1 ytxt moveto (Illuminants) show LF FontN xtx1 ytxt moveto (1 red) show xtx2 ytxt moveto txtI1 show Ilu1 100 gt {xtx2 0.05 add ytxt moveto ( zoom ) show Fscale buf cvs show} if LF xtx1 ytxt moveto (2 cyan) show xtx2 ytxt moveto txtI2 show Ilu2 100 gt {xtx2 0.05 add ytxt moveto ( zoom ) show Fscale buf cvs show} if LF LF FontB xtx1 ytxt moveto (RGB space) show LF FontN xtx1 ytxt moveto (Med.White) show xtx2 ytxt moveto txtW show LF xtx1 ytxt moveto (Ref.White) show xtx2 ytxt moveto txtN show LF xtx1 ytxt moveto (Primaries) show xtx2 ytxt moveto txtP show LF xtx1 ytxt moveto (Trc) show xtx2 ytxt moveto txtG show LF xtx1 ytxt moveto (R.Intent) show xtx2 ytxt moveto txtI show Brad {( Cat Bradf.) show }if LF LF FontB xtx1 ytxt moveto (Spectrum generator) show LF FontN xtx1 ytxt moveto SMode 0 eq {(Perfect reflector) show} if SMode 1 eq {(Function) show} if SMode 2 eq {(Table) show} if SMode 3 eq {(Spectrocam) show} if SMode 4 eq {(Eye-One Pro) show} if SMode 5 eq {(DTP-22) show} if LF LF SMode 1 eq { xtx1 ytxt moveto (L1) show LF xtx1 ytxt moveto (S1) show LF xtx1 ytxt moveto (A1) show LF LF xtx1 ytxt moveto (L2) show LF xtx1 ytxt moveto (S2) show LF xtx1 ytxt moveto (A2) show LF LF xtx1 ytxt moveto (L3) show LF xtx1 ytxt moveto (S3) show LF xtx1 ytxt moveto (A3) show LF } {11 {LF} repeat} ifelse LF LF LF FontB xtx1 ytxt moveto (Color) show LF LF FontN xtx1 ytxt moveto (X) show LF xtx1 ytxt moveto (Y) show LF xtx1 ytxt moveto (Z) show LF LF xtx1 ytxt moveto (x) show LF xtx1 ytxt moveto (y) show LF xtx1 ytxt moveto (z) show LF LF xtx1 ytxt moveto (L*) show LF xtx1 ytxt moveto (a*) show LF xtx1 ytxt moveto (b*) show LF LF xtx1 ytxt moveto (R) show LF xtx1 ytxt moveto (G) show LF xtx1 ytxt moveto (B) show LF LF xtx1 ytxt moveto (R') show LF xtx1 ytxt moveto (G') show LF xtx1 ytxt moveto (B') show LF LF xtx1 ytxt moveto (CCT) show LF xtx1 ytxt moveto (RGB) show LF LF xtx1 ytxt moveto (dE) show LF 8 {LF} repeat xtx1 ytxt moveto (Bars) show } def /OutData { /buf 10 string def /fh 7 sx div def FontN 0 0 0 1 setcmykcolor /dd 0.13 def /dx dd NCi 1 sub mul def /xtx1 1.16 def /xtx2 xtx1 dx add def /ytxt 1.6 def 32 {LF} repeat /tms 0 def xtx2 ytxt NCi Shownum LF LF /tms 4 def xtx2 ytxt X Shownum LF xtx2 ytxt Y Shownum LF xtx2 ytxt Z Shownum LF LF xtx2 ytxt x Shownum LF xtx2 ytxt y Shownum LF xtx2 ytxt z Shownum LF LF /tms 4 def xtx2 ytxt L* Shownum LF xtx2 ytxt a* Shownum LF xtx2 ytxt b* Shownum LF LF /tms 4 def xtx2 ytxt Rlin 255 mul Shownum LF xtx2 ytxt Glin 255 mul Shownum LF xtx2 ytxt Blin 255 mul Shownum LF LF /tms 4 def xtx2 ytxt R 255 mul Shownum LF xtx2 ytxt G 255 mul Shownum LF xtx2 ytxt B 255 mul Shownum LF LF /tms 0 def xtx2 0.014 sub ytxt moveto T 0 ne {T buf cvs show ( K) show }{(none) show} ifelse LF xtx2 0.023 sub ytxt moveto og {(out-gam)}{(in-gam)} ifelse show LF LF /tms 4 def NCi 2 eq {xtx1 ytxt delE Shownum}if LF LF /ytxt 1.6 def 18 {LF} repeat NCi 1 eq SMode 1 eq and { /tms 4 def xtx2 ytxt lam1 Shownum LF xtx2 ytxt sig1 Shownum LF xtx2 ytxt amp1 Shownum LF LF xtx2 ytxt lam2 Shownum LF xtx2 ytxt sig2 Shownum LF xtx2 ytxt amp2 Shownum LF LF xtx2 ytxt lam3 Shownum LF xtx2 ytxt sig3 Shownum LF xtx2 ytxt amp3 Shownum LF LF } if NCi 1 eq SMode 2 eq and {/abbr false def /kk CwT length 2 idiv def kk 10 gt {/kk 12 def /abbr true def} if /k 0 def 1 1 kk {/i exch def /tms 0 def xtx2 0.032 add ytxt CwT k get Shownum /tms 4 def xtx2 dd add ytxt CwT k 1 add get Shownum LF /k k 2 add def } for abbr { xtx2 0.01 sub ytxt moveto (...) show } if LF } if }def /MakeCwI {% Illuminant wavelength-value Ilu 0 eq {/k 0 def 1 1 lencd { pop CwI k 1 add 1.0 put /k k 2 add def } for } if Ilu 1 ge Ilu 100 lt and {/i 0 def /k 0 def 1 1 lencd { pop /val CI1 i Ilu add get def CwI k 1 add val 100 div put /i i 8 add def /k k 2 add def } for } if Ilu 100 gt {/i 0 def /k 0 def 1 1 lencd { pop /val CI2 i Ilu add 100 sub get def CwI k 1 add val 100 div put /i i 13 add def /k k 2 add def } for } if } def /SpeGrid { 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.05 def { gx gy moveto gx 1 add gy lineto stroke /gy gy gdy add def gy 0.51 gt {exit}if } loop /gy 0 def { gx gy moveto gx gy 0.5 add lineto stroke /gx gx gdx add def gx 1.01 gt {exit}if } loop newpath 0 0 moveto 1 0 lineto 0 0 moveto 0 0.5 lineto 0.3 mm sx div Lw mul setlinewidth 0 setlinecap 0 0 0 1 setcmykcolor stroke 2 setlinecap } def /DrawCwI { % x = (lam-380)/400 gsave newpath 0 0 moveto 1 0 rlineto 0 0.5 rlineto -1 0 rlineto closepath clip 0.2 mm sx div Lw mul setlinewidth NCi 1 eq {0 1 1 0.2 setcmykcolor} if NCi 2 eq {1 0 0 0.5 setcmykcolor} if newpath Ilu 100 lt { /k 0 def /xs CwI k get 380 sub 400 div def /ys CwI k 1 add get vmax div 0.5 mul def xs ys moveto 2 1 lencd { pop /k k 2 add def /xs CwI k get 380 sub 400 div def /ys CwI k 1 add get vmax div 0.5 mul def xs ys lineto } for } { /k 0 def /xs1 CwI k get 380 sub 400 div def /ys1 CwI k 1 add get vmax div 0.5 mul Fscale mul def xs1 ys1 moveto 2 1 lencd { pop /k k 2 add def /xs2 CwI k get 380 sub 400 div def /ys2 CwI k 1 add get vmax div 0.5 mul Fscale mul def xs2 ys1 lineto xs2 ys2 lineto /xs1 xs2 def /ys1 ys2 def } for } ifelse stroke grestore } def /DrawCwS { % x = (lam-380)/400 gsave newpath 0 0 moveto 1 0 rlineto 0 0.5 rlineto -1 0 rlineto closepath clip 0.2 mm sx div Lw mul setlinewidth 0 0 0 1 setcmykcolor /k 0 def /xs CwS k get 380 sub 400 div def /ys CwS k 1 add get vmax div 0.5 mul def xs ys moveto 2 1 lencd { pop /k k 2 add def /xs CwS k get 380 sub 400 div def /ys CwS k 1 add get vmax div 0.5 mul def xs ys lineto } for stroke grestore } def /DrawCwIS { % x = (lam-380)/400 0.2 mm sx div Lw mul setlinewidth [ 0.015 0.01] 0 setdash 0 0 0 1 setcmykcolor /k 0 def /xs CwS k get 380 sub 400 div def /ys CwS k 1 add get CwI k 1 add get mul vmax div 0.5 mul def xs ys moveto 2 1 lencd { pop /k k 2 add def /xs CwS k get 380 sub 400 div def /ys CwS k 1 add get CwI k 1 add get mul vmax div 0.5 mul def xs ys lineto } for stroke [] 0 setdash } def /SpeText {/num [380 420 460 500 540 580 620 660 700 740 780 ] def /tx 3 string def /fh 8 sx div def FontN /xtxt fh -0.1 mul def /xtxt 0.03 def /ytxt fh 1.2 mul neg def /tms 0 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 /tms 1 def 0 1 10 {/k exch def /nu k 0.2 mul def xtxt ytxt nu Shownum /ytxt ytxt 0.05 add def } for /fh 7.5 sx div def FontB 0.932 fh 1.2 mul neg moveto (lam) show -0.04 0.472 moveto (s) show } def /MakeXYZ-T {% Trapezoid /k 0 def /j 0 def /Xsum 0 def /Ysum 0 def /Zsum 0 def /vald1 CwI k 1 add get def /vals1 CwS k 1 add get def /xbar1 CMF j 1 add get def /ybar1 CMF j 2 add get def /zbar1 CMF j 3 add get def 1 1 lencd 1 sub { /k k 2 add def /j j 4 dlam mul add def /vald2 CwI k 1 add get def /vals2 CwS k 1 add get def /xbar2 CMF j 1 add get def /ybar2 CMF j 2 add get def /zbar2 CMF j 3 add get def /Xsum Xsum vald1 vals1 mul vald2 vals2 mul add xbar1 xbar2 add mul add def /Ysum Ysum vald1 vals1 mul vald2 vals2 mul add ybar1 ybar2 add mul add def /Zsum Zsum vald1 vals1 mul vald2 vals2 mul add zbar1 zbar2 add mul add def /vald1 vald2 def /vals1 vals2 def /xbar2 xbar1 def /ybar2 ybar1 def /zbar2 zbar1 def } for /X Xsum Yref div 2 div def /Y Ysum Yref div 2 div def /Z Zsum Yref div 2 div def } def /MakeXYZ {% Euler /k 0 def /j 0 def /Xsum 0 def /Ysum 0 def /Zsum 0 def 1 1 lencd { /vald CwI k 1 add get def /vals CwS k 1 add get def /xbar CMF j 1 add get def /ybar CMF j 2 add get def /zbar CMF j 3 add get def /dayxx CwI /Xsum Xsum vald vals mul xbar mul add def /Ysum Ysum vald vals mul ybar mul add def /Zsum Zsum vald vals mul zbar mul add def /k k 2 add def /j j 4 dlam mul add def } for /X Xsum Yref div def /Y Ysum Yref div def /Z Zsum Yref div def } def /MakeRef {% Euler /k 0 def /j 0 def /Ysum 0 def 1 1 lencd { /vald CwI k 1 add get def /ybar CMF j 2 add get def /Ysum Ysum vald ybar mul add def /k k 2 add def /j j 4 dlam mul add def } for /Yref Ysum def } def /MakeRef-T {% Trapezoid /k 0 def /j 0 def /Ysum 0 def /vald1 CwI k 1 add get def /ybar1 CMF j 2 add get def 1 1 lencd 1 sub { /k k 2 add def /j j 4 dlam mul add def /vald2 CwI k 1 add get def /ybar2 CMF j 2 add get def /Ysum Ysum vald1 vald2 add ybar1 ybar2 add mul add def /vald1 vald2 def /ybar2 ybar1 def } for /Yref Ysum 2 div def } def /SpeInit { /lencd CI1 length 8 idiv def /CwI lencd 2 mul array def /CwS lencd 2 mul array def /CwI1 lencd 2 mul array def /CwI2 lencd 2 mul array def /i 0 def /k 0 def 1 1 lencd { pop /lam CI1 i get def CwI k lam put CwS k lam put CwS k 1 add 999 put /i i 8 add def /k k 2 add def } for /lamin CwI 0 get def /lamax CwI lencd 2 mul 2 sub get def /dlam lamax lamin sub lencd 1 sub idiv def /vmax 2 def } def /ReflCwS { /lenn lencd 1 sub def /k 0 def 0 1 lenn { pop CwS k 1 add 1.0 put /k k 2 add def } for } def /FillCwS { /eul 2.7182818 def % in previous versions this was 3.0, sorry /ksig1 sig1 400 div def /ksig2 sig2 400 div def /ksig3 sig3 400 div def /ksi1 ksig1 dup mul 2 mul def /ksi2 ksig2 dup mul 2 mul def /ksi3 ksig3 dup mul 2 mul def /k 0 def /lenn lencd 1 sub def 0 1 lenn {/j exch def /xo lam1 380 sub 400 div def /xf j lenn div xo sub dup mul neg ksi1 div def /yf1 eul xf exp amp1 mul def /xo lam2 380 sub 400 div def /xf j lenn div xo sub dup mul neg ksi2 div def /yf2 eul xf exp amp2 mul def /xo lam3 380 sub 400 div def /xf j lenn div xo sub dup mul neg ksi3 div def /yf3 eul xf exp amp3 mul def CwS k 1 add yf1 yf2 add yf3 add put /k k 2 add def } for } def /IntpCwS % Interpolation {/IP {/xi exch def /tb CwT length 1 sub def /ib 0 def {/ib ib 2 add def ib tb gt {exit} if xi CwT ib get le {exit} if } loop xi CwT ib 2 sub get sub CwT ib 1 add get CwT ib 1 sub get sub mul CwT ib get CwT ib 2 sub get sub div CwT ib 1 sub get add } def /k 0 def lamin dlam lamax {/lam exch def /val lam IP def CwS k 1 add val put /k k 2 add def }for } def /SCamCwS { /k 0 def 116 1 190 {/i exch def CwS k 1 add CwC i get 100 div put /k k 2 add def } for 76 1 81 { pop CwS k 1 add 0.0 put /k k 2 add def } for } def /Eye1CwS { /k 0 def /i 0 def 380 10 730 { pop CwS k 1 add CwE i get put /k k 4 add def /i i 1 add def } for 740 5 780 { pop CwS k 1 add 0.0 put /k k 2 add def } for % Interpolation /k 0 def 380 10 730 { pop /s1 CwS k 1 add get def /s2 CwS k 5 add get def CwS k 3 add s1 s2 add 0.5 mul put /k k 4 add def } for } def /DTP22CwS { /k 0 def /i 0 def CwS k 1 add 0.0 put /k k 4 add def 390 10 700 { pop CwS k 1 add CwD i get put /k k 4 add def /i i 1 add def } for 710 5 780 { pop CwS k 1 add 0.0 put /k k 2 add def } for % Interpolation /k 0 def 380 10 700 { pop /s1 CwS k 1 add get def /s2 CwS k 5 add get def CwS k 3 add s1 s2 add 0.5 mul put /k k 4 add def } for } def /IlluName { Ilu1 0 eq {/txtI1 (Equal E.) def } if Ilu1 1 eq {/txtI1 (A) def } if Ilu1 2 eq {/txtI1 (B) def } if Ilu1 3 eq {/txtI1 (C) def } if Ilu1 4 eq {/txtI1 (D50) def } if Ilu1 5 eq {/txtI1 (D55) def } if Ilu1 6 eq {/txtI1 (D65) def } if Ilu1 7 eq {/txtI1 (D75) def } if Ilu1 0 eq {/txtI1 (Equal E.) def } if Ilu2 1 eq {/txtI2 (A) def } if Ilu2 2 eq {/txtI2 (B) def } if Ilu2 3 eq {/txtI2 (C) def } if Ilu2 4 eq {/txtI2 (D50) def } if Ilu2 5 eq {/txtI2 (D55) def } if Ilu2 6 eq {/txtI2 (D65) def } if Ilu2 7 eq {/txtI2 (D75) def } if Ilu1 101 eq {/txtI1 (F1) def } if Ilu1 102 eq {/txtI1 (F2) def } if Ilu1 103 eq {/txtI1 (F3) def } if Ilu1 104 eq {/txtI1 (F4) def } if Ilu1 105 eq {/txtI1 (F5) def } if Ilu1 106 eq {/txtI1 (F6) def } if Ilu1 107 eq {/txtI1 (F7) def } if Ilu1 108 eq {/txtI1 (F8) def } if Ilu1 109 eq {/txtI1 (F9) def } if Ilu1 110 eq {/txtI1 (F10) def } if Ilu1 111 eq {/txtI1 (F11) def } if Ilu1 112 eq {/txtI1 (F12) def } if Ilu2 101 eq {/txtI2 (F1) def } if Ilu2 102 eq {/txtI2 (F2) def } if Ilu2 103 eq {/txtI2 (F3) def } if Ilu2 104 eq {/txtI2 (F4) def } if Ilu2 105 eq {/txtI2 (F5) def } if Ilu2 106 eq {/txtI2 (F6) def } if Ilu2 107 eq {/txtI2 (F7) def } if Ilu2 108 eq {/txtI2 (F8) def } if Ilu2 109 eq {/txtI2 (F9) def } if Ilu2 110 eq {/txtI2 (F10) def } if Ilu2 111 eq {/txtI2 (F11) def } if Ilu2 112 eq {/txtI2 (F12) def } if } def /ColBar { NCi 1 eq {/xc 1.118 def /yc 0 def} if NCi 2 eq {/xc 1.248 def /yc 0 def} if /dx 0.108 def R G B setrgbcolor newpath xc yc moveto dx 0 rlineto 0 0.20 rlineto dx neg 0 rlineto closepath fill } def /deltaE { /delE L1 L2 sub dup mul a1 a2 sub dup mul add b1 b2 sub dup mul add sqrt def } def /MainProc { BBox true setstrokeadjust 2 setlinecap gsave x0 y0 translate sx sy scale XYZMode MakeBrad PrimToMat Triangle CieGrid CieHorse CieDots CieNote CieText CTCurve CTLab 1 eq { CTCurveLab CTTextLab } if CTText WDots LabGrid IlluName SpeInit OutHead SMode 0 eq {ReflCwS} if SMode 1 eq {FillCwS} if SMode 2 eq {IntpCwS} if SMode 3 eq {SCamCwS} if SMode 4 eq {Eye1CwS} if SMode 5 eq {DTP22CwS} if /Ilu Ilu1 def MakeCwI MakeRef CwI CwI1 copy /Yref1 Yref def /Ilu Ilu2 def MakeCwI MakeRef CwI CwI2 copy /Yref2 Yref def CwI1 CwI copy /Yref Yref1 def /NCi 1 def MakeXYZ XYZtoxyY XYZtoLAB /L1 L* def /a1 a* def /b1 b* def XYZtoRGB IGamma x y CieDot a* b* LabDot ColBar ColTemp OutData CwI2 CwI copy /Yref Yref2 def /NCi 2 def MakeXYZ XYZtoxyY XYZtoLAB /L2 L* def /a2 a* def /b2 b* def XYZtoRGB IGamma x y CieDot a* b* LabDot ColBar ColTemp deltaE OutData grestore x0 y0 112 mm add translate sx sy scale SpeGrid SpeText DrawCwS CwI1 CwI copy /Ilu Ilu1 def /NCi 1 def DrawCwI CwI2 CwI copy /Ilu Ilu2 def /NCi 2 def DrawCwI } def %--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--------------------------------------------------------------- %--Choose one standard set /S 5 def S 0 eq {} if % None, use settings above S 1 eq { Prims709 WhiteD65 RefD65 Gam24 BradF RendA } if % sRGB AbsCol S 2 eq { PrimsAd98 WhiteD65 RefD65 Gam22 BradF RendA } if % AdobeRGB(98) AbsCol S 3 eq { PrimsOpti WhiteD65 RefD65 Gam22 BradF RendA } if % OptiRGB AbsCol S 4 eq { PrimsProp WhiteD50 RefD50 Gam18 BradF RendA } if % ProPhoto AbsCol S 5 eq { Prims709 WhiteD65 RefD50 Gam24 BradT RendR } if % sRGB RelCol S 6 eq { PrimsAd98 WhiteD65 RefD50 Gam22 BradT RendR } if % AdobeRGB(98) RelCol S 7 eq { PrimsOpti WhiteD65 RefD50 Gam22 BradT RendR } if % OptiRGB RelCol S 8 eq { PrimsProp WhiteD50 RefD50 Gam18 BradT RendR } if % ProPhoto RelCol S 9 eq { Prims709 WhiteD65 RefD50 Gam24 BradF RendA } if % sRGB AbsCol S 10 eq { PrimsAd98 WhiteD65 RefD50 Gam22 BradF RendA } if % AdobeRGB(98) AbsCol S 11 eq { PrimsOpti WhiteD65 RefD50 Gam22 BradF RendA } if % OptiRGB AbsCol S 12 eq { PrimsProp WhiteD50 RefD50 Gam18 BradF RendA } if % ProPhoto AbsCol %--Define headline /head (Dec.3 / 2006) def %--Choose two illuminants /Ilu1 4 def /Ilu2 6 def % 0 Equal Energy % 1 A % 2 B % 3 C % 4 D50 % 5 D55 % 6 D65 % 7 D75 % 101 F1 % 102 F2 % 103 F3 % 104 F4 % 105 F5 % 106 F6 % 107 F7 % 108 F8 % 109 F9 % 110 F10 % 111 F11 % 112 F12 %--Choose scale factor for fluorescent spectrum graphic /Fscale 4 def %--Choose Show CT-Curve in Lab /CTLab 0 def % 0 No % 1 Yes %--Choose spectrum mode /SMode 1 def % 0 Perfect Reflector % 1 Spectrum Function % 2 Spectrum Table % 3 Spectrum Spectrocam % 4 Spectrum Eye-One Pro % 5 Spectrum DTP22 %--Define spectrum function by three Gaussian bells /lam1 420 def % center in nm /lam2 520 def /lam3 620 def /sig1 20 def % standard deviation in nm /sig2 20 def /sig3 20 def /amp1 0.9 def % peak amplitude 0..1 /amp2 0.3 def /amp3 0.9 def %--Define spectrum by table, steps 5 nm %--Minimal entries: at 380, at any between, at 780 nm /CwT [380 0.2 560 0.8 780 0.2 ] def %--Choose one table /Tab 1 def Tab 1 eq {% Magenta /CwT [380 0.2 420 0.9 520 0.7 620 0.9 780 0.2 ] def }if Tab 2 eq {% Gray1 /CwT [380 0.0 390 0.0 400 0.3511 410 0.4422 420 0.4774 430 0.4644 440 0.4241 450 0.3584 460 0.2804 470 0.1674 480 0.0905 490 0.0687 500 0.0703 510 0.0741 520 0.0773 530 0.0801 540 0.1523 550 0.5803 560 0.6878 570 0.6106 580 0.4845 590 0.3520 600 0.2348 610 0.1409 620 0.0784 630 0.0402 640 0.0173 650 0.0085 660 0.0027 670 0.0014 680 0.0000 690 0.0001 700 0.0060 705 0.0 780 0.0 ] def } if Tab 3 eq {% Gray2 /CwT [380 0.0 390 0.0 400 0.1766 410 0.2278 420 0.2587 430 0.2829 440 0.2957 450 0.2997 460 0.3068 470 0.3021 480 0.3073 490 0.3286 500 0.3534 510 0.3740 520 0.3759 530 0.3644 540 0.3325 550 0.2812 560 0.2096 570 0.1408 580 0.0824 590 0.2357 600 0.6782 610 0.5790 620 0.3622 630 0.2107 640 0.1151 650 0.0574 660 0.0286 670 0.0122 680 0.0040 690 0.0000 700 0.0020 705 0.0 780 0.0 ] def } if %--Choose one table /Spectro 2 def Spectro 1 eq {%--Spectrocam: complete file, rearranged for 10 number columns % Magenta /CwC [ Nr X Y Z L a b C hue Y M C Vis x y u v Illuminant/Observer Density status 380 385 390 395 400 405 410 415 420 425 430 435 440 445 450 455 460 465 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 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 705 710 715 720 725 730 735 740 745 750 A1 37.18 26.30 27.93 58.32 43.58 -11.24 45.01 345.53 0.4406 0.7561 0.2962 0.5776 0.41 0.29 0.29 0.46 D50 2 E 13.28 14.28 15.38 17.02 20.29 24.09 29.48 35.18 39.76 42.33 42.93 42.29 41.18 39.15 36.98 34.79 32.66 30.88 29.65 28.42 27.00 25.78 24.78 24.21 23.82 23.28 22.20 20.47 18.59 16.81 15.55 15.02 15.00 15.26 15.47 15.39 15.09 14.93 15.31 16.84 19.99 24.70 30.41 36.97 43.23 48.91 53.53 56.90 59.45 61.52 63.07 64.33 65.45 66.31 67.11 67.78 68.32 68.52 68.57 68.47 68.34 68.19 68.12 67.93 67.75 67.62 67.65 67.85 68.15 68.46 69.04 70.60 71.74 73.30 75.61 ] def } if Spectro 2 eq {%--Spectrocam: complete data, rearranged for 10 number columns % Yellow /CwC [ Nr X Y Z L a b C hue Y M C Vis x y u v Illuminant/Observer Density status 380 385 390 395 400 405 410 415 420 425 430 435 440 445 450 455 460 465 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 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 705 710 715 720 725 730 735 740 745 750 A1 68.04 69.67 2.93 86.84 1.87 111.58 111.59 89.04 1.7626 0.2110 0.0814 0.1593 0.48 0.50 0.24 0.56 D50 2 E 2.18 2.03 1.94 1.77 1.61 1.61 1.60 1.70 1.68 1.73 1.65 1.64 1.67 1.66 1.77 1.80 1.81 1.81 1.75 1.72 1.65 1.58 1.98 3.81 8.30 16.45 28.08 41.59 54.44 64.22 70.56 74.26 76.20 77.41 78.37 79.14 79.91 80.61 81.09 81.52 81.79 82.24 82.32 82.52 82.67 82.79 82.89 83.03 83.11 83.30 83.47 83.56 83.83 83.93 84.05 84.32 84.34 84.34 84.35 84.22 84.31 84.41 84.60 84.87 85.12 85.46 85.58 85.82 86.02 86.05 86.36 86.68 86.55 86.67 86.69 ] def } if %--Eye-One Pro: use only spectral data from file *.lcp by ColorPicker %--From 380nm to 730nm, step 10nm. Re-arrange for 4 columns. Delete kommas. /CwE [ 0.0170541442930698 0.0158690381795168 0.0147084509953856 0.0141440043225884 0.0137486308813095 0.0138662662357092 0.0139446845278144 0.0143155101686716 0.0146184880286455 0.0150265172123909 0.0169226862490177 0.0271776393055916 0.0787448436021805 0.2387251853942870 0.4879423379898070 0.6712245345115660 0.7550856471061710 0.7915746569633480 0.8096777796745300 0.8240625262260440 0.8303878307342530 0.8356326222419740 0.8380561470985410 0.8414235711097720 0.8443459868431090 0.8456398844718930 0.8489986658096310 0.8527597784996030 0.8562397956848140 0.8583341836929320 0.8615325093269350 0.8655382990837100 0.8712845444679260 0.8773978352546690 0.8816110491752620 0.8868564963340760 ] def %--DTP22: use only spectral data from file *.txt %--From 390nm to 700nm, step 10. Re-arrange for 10 columns % Color Name CIE Lab CIE XYZ % Spectral Data(nm) % 390 400 410 420 430 440 450 460 470 480 % 490 500 510 520 530 540 550 560 570 580 % 590 600 610 620 630 640 650 660 670 680 % 690 700 % Unnamed 87.59 2.56 112.33 69.86 71.22 3.00 /CwD [ 0.0208 0.0200 0.0192 0.0184 0.0175 0.0169 0.0167 0.0170 0.0144 0.0200 0.0289 0.0958 0.3040 0.5351 0.6795 0.7720 0.8134 0.8258 0.8371 0.8434 0.8460 0.8471 0.8499 0.8536 0.8584 0.8629 0.8655 0.8665 0.8647 0.8633 0.8659 0.8713 ] def %--End standard inputs------------------------------------------------------------- MainProc showpage %%EndDocument