%!PS-Adobe-3.0 EPSF-3.0 feg8-7n.EPS 220401 %%BoundingBox: 70 82 415 320 %START PDFDE011.EPS /pdfmark07 where {pop} {userdict /pdfmark07 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [/Title (PostScript pictures: farbe.li.tu-berlin.de/BEV1/BEV1.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2021040112000) /ModDate (D:20210401112000) /DOCINFO pdfmark07 [ /View [ /Fit ] /DOCVIEW pdfmark07 %END PDFDE011 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TS {170 /Times-ISOL1 FS} bind def /TK {220 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {320 /Times-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIK {220 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBK {220 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIK {220 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBK {220 /CourierB-ISOL1 FS} bind def /CBM {250 /CourierB-ISOL1 FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /TSS {170 /Symbol FS} bind def /TSK {220 /Symbol FS} bind def /TSM {250 /Symbol FS} bind def /TSG {320 /Symbol FS} bind def %%EndProlog /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 1 def /lanind2 1 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def /xcolorm xcolor2f xcolor1f sub 1 add def} {/xcolor1 0 def /xcolor2 0 def /xcolorm 1 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchart2 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (dm) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (em) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (ddm) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (dem) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output %LANINDL2 END /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop}%/IMES IMES def {/IMES 0 def} ifelse /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 8 string cvs show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show} def /cvsshow6 {1000000 mul cvi 0.000001 mul 10 string cvs show} def /cvsshow7 {10000000 mul cvi 0.0000001 mul 11 string cvs show} def /cvsshow8 {100000000 mul cvi 0.00000001 mul 12 string cvs show} def /cvsshow9 {1000000000 mul cvi 0.000000001 mul 13 string cvs show} def /cvsshow10 {10000000000 mul cvi 0.0000000001 mul 14 string cvs show} def gsave %xcolor1 1 xcolor2 {/xcolor exch def %xcolor=0,1 gsave 72 90 translate 0.01 MM dup scale 20 setlinewidth 1 1 1 setrgbcolor 0 0 moveto 12000 0 rlineto 0 8000 rlineto 12000 neg 0 rlineto closepath fill 0 0 0 setrgbcolor 0 0 moveto 12000 0 rlineto 0 8000 rlineto 12000 neg 0 rlineto closepath stroke /YB_GM 1 def %YB:3N, GM:7N /iYAB 0 def %YAB:0-, Lab*:1-, YAB1:2, YAB2:3 /xchart8 1 def %Pxx:0, Dxx:1 TK 0 setgray 100 -200 moveto (feg80-7n) show iYAB 0 eq {( YAB) show} if iYAB 1 eq {( Lab*) show} if iYAB 2 eq {( YAB1) show} if iYAB 3 eq {( YAB2) show} if YB_GM 0 eq {(, YB) show} {(, GM) show} ifelse xchart8 0 eq {(, Pxx) show} if xchart8 1 eq {(, Dxx) show} if xcolor 0 eq {(, 2\260\255CIE) show} {(, 10\260\255CIE) show} ifelse /SD65 82 array def %380 bis 775 mit deltalambda=05 /SD50 82 array def %380 bis 775 mit deltalambda=05 /SP40 82 array def %380 bis 775 mit deltalambda=05 /SA00 82 array def %380 bis 775 mit deltalambda=05 /SE00 82 array def %380 bis 775 mit deltalambda=05 /SC00 82 array def %380 bis 775 mit deltalambda=05 /SP00 82 array def %380 bis 775 mit deltalambda=05 /SQ00 82 array def %380 bis 775 mit deltalambda=05 /SDAK 82 array def %380 bis 775 mit deltalambda=05 /RA 82 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %/F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 82 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 82 array def xchart8 1 eq {%xchart8=1 Dxx /TNC 4000 def %******************************************** 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } if %xchart8=1 Dxx %****************************************** xchart8 0 eq {%xchart8=0 Pxx %defined only for xchart8=0 Pxx /TNCj 8 array def /TNCj [6500 6000 5500 5000 4500 4000 3500 3000] def /SP65 82 array def %380 bis 775 mit deltalambda=05 /SP60 82 array def %380 bis 775 mit deltalambda=05 /SP55 82 array def %380 bis 775 mit deltalambda=05 /SP50 82 array def %380 bis 775 mit deltalambda=05 /SP45 82 array def %380 bis 775 mit deltalambda=05 /SP40 82 array def %380 bis 775 mit deltalambda=05 /SP35 82 array def %380 bis 775 mit deltalambda=05 /SP30 82 array def %380 bis 775 mit deltalambda=05 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP65 i} if j 1 eq {SP60 i} if j 2 eq {SP55 i} if j 3 eq {SP50 i} if j 4 eq {SP45 i} if j 5 eq {SP40 i} if j 6 eq {SP35 i} if j 7 eq {SP30 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } if %xchart8=0 %************************************************* /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def %calculation of transformation data /FARBE 30 array def /FARBE [(R) (m) ( 570_775) %00 (Y) (m) ( 520_775) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_570) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (M) (o) ( 570_520) %07 (W) (0) ( 380_775) %08 (N) (0) ( 380_775) %09 ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 720 array def %9x80 /RX0 [ %(%Rm 00 570_775) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 0999 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %(%Ym 01 565_575) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0500 0999 0500 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Gm 02 518_523) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0800 0200 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0999 0999 0999 0999 0999 0999 0999 0999 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0999 0999 0999 0999 0999 0999 0999 0999 0500 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0999 0999 0999 0999 0999 0999 0999 0999 0500 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 0999 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 0999 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0999 0999 0999 0999 0999 0999 0999 0999 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Mo 07 570_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0999 0999 0999 0999 0999 0999 0999 0999 0500 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 0999 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %(%W0(r=1,000) 08 380_775) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0999 0999 0999 0999 0999 0999 0999 0999 0999 0999 %(%N0(r=0,000) 09 380_775) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 ] def /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %*************************************************** %special wavelength range with complementary colours for E? /FXD 82 array def /FYD 82 array def /FZD 82 array def /DOW 82 array def /proc_FXYZD_KNP_FWERTiX {%BEG FXYZD_KNP_FWERTiX %input FXYZD, KNP %output FWERTiX/Y/Z (i=1,4) /FWERT1X FXD kNP 1 sub get def /FWERT1Y FYD kNP 1 sub get def /FWERT1Z FZD kNP 1 sub get def /FWERT2X FXD kNP get def /FWERT2Y FYD kNP get def /FWERT2Z FZD kNP get def /FWERT3X FXD kNP 1 add get def /FWERT3Y FYD kNP 1 add get def /FWERT3Z FZD kNP 1 add get def /FWERT4X FXD kNP 2 add get def /FWERT4Y FYD kNP 2 add get def /FWERT4Z FZD kNP 2 add get def } bind def %END proc_FXYZD_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %*************************************************** /TELi 8 array def xchart8 0 eq {%xchart8=0 /TELi [(P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30)] def }%xchart8=0 {%xchart8=1 /TELi [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def } ifelse %xchart8=1 /Xi 79 array def %max 6 device colour + 4 elementary colours /Yi 79 array def /Zi 79 array def /XANi 79 array def /YANi 79 array def /ZANi 79 array def xcolor 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 0 1 050 {/i exch def %i=0,50 F02Z i F10Z i get put } for %i=0,50 } if /xchartl 0 def 0 1 7 {/xchartl exch def %xchartl=0,7 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 xchart8 1 eq {%xchart8=1 SDAK i xchartl 0 eq {SD65 i get} if xchartl 1 eq {SD50 i get} if xchartl 2 eq {SP40 i get} if xchartl 3 eq {SA00 i get} if xchartl 4 eq {SE00 i get} if xchartl 5 eq {SC00 i get} if xchartl 6 eq {SP00 i get} if xchartl 7 eq {SQ00 i get} if put } if %xchart8=1 xchart8 0 eq {%xchart8=0 SDAK i xchartl 0 eq {SP65 i get} if xchartl 1 eq {SP60 i get} if xchartl 2 eq {SP55 i get} if xchartl 3 eq {SP50 i get} if xchartl 4 eq {SP45 i get} if xchartl 5 eq {SP40 i get} if xchartl 6 eq {SP35 i get} if xchartl 7 eq {SP30 i get} if put } if %xchart8=0 } for %i=0,79 /YESUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YESUM YESUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YESUM div 100 mul put F2N 80 i add F2 80 i add get YESUM div 100 mul put F2N 160 i add F2 160 i add get YESUM div 100 mul put } for %i=0,1,79 /FXN 82 array def /FYN 82 array def /FZN 82 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZ i F02Z 00 i add get 100 mul YESUM div 100 mul put FYNZ i F02Z 17 i add get 100 mul YESUM div 100 mul put FZNZ i F02Z 34 i add get 100 mul YESUM div 100 mul put } for %i=0,16 /YKSUM 0 def %For CIE any Illuminant SDAK 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2N 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 FXN i SDAK i get F2N 00 i add get mul YKSUM div 100 mul put FYN i SDAK i get F2N 80 i add get mul YKSUM div 100 mul put FZN i SDAK i get F2N 160 i add get mul YKSUM div 100 mul put } for %i=0,79 FXN 80 FXN 79 get put FYN 80 FYN 79 get put FZN 80 FZN 79 get put DOW 80 DOW 79 get put %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXN i get add def /YW YW FYN i get add def /ZW ZW FZN i get add def } for %i=0,79 /SUMW XW YW add ZW add 0.0001 add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def /XANc 0.110 def /Bc 0.800 def /AW 0 def /BW 0 def /CABW 0 def /AANW XANW YANW div def /BANW ZANW YANW div 0.4 mul neg def /hABW 0 def /AW1 0 def /BW1 0 def /CABW1 0 def /AANW1 XANW XANc sub YANW div 2.5 mul def /BANW1 ZANW YANW div 0.4 mul neg 2.5 mul def /hABW1 0 def /AW2 0 def /BW2 0 def /CABW2 0 def /AANW2 XANW XANc sub YANW div 2.5 mul Bc mul def /BANW2 ZANW YANW div 0.4 mul neg 2.5 mul Bc mul def /hABW2 0 def /D13 1 3 div def /D841_108 841 108 div def /D16_116 16 116 div def /D24_116 24 116 div 3 exp def /a2 1 XW div D13 exp def /b2 1 ZW div D13 exp -0.4 mul def /a2D65 0.2191 def /b2D65 -0.08376 def /AASW XW YW 0.0001 add div D13 exp a2 mul def /BASW ZW YW 0.0001 add div D13 exp b2 mul def %CIE 15 definition XW XW div D24_116 gt {/FXXN XW XW div 0.0001 add D13 exp def} {/FXXN D841_108 XW XW div mul D16_116 add def} ifelse YW YW div D24_116 gt {/FYYN YW YW div 0.0001 add D13 exp def} {/FYYN D841_108 YW YW div mul D16_116 add def} ifelse ZW ZW div D24_116 gt {/FZZN ZW ZW div 0.0001 add D13 exp def} {/FZZN D841_108 ZW YW div mul D16_116 add def} ifelse /L*W 116. FYYN mul 16. sub def /a*W 500. FXXN FYYN sub mul def /b*W 200. FYYN FZZN sub mul def /C*abW a*W dup mul b*W dup mul add 0.0001 add sqrt def /habW b*W a*W 0.0001 add atan def FXD 0 FXN 0 get put FYD 0 FYN 0 get put FZD 0 FZN 0 get put DOW 0 380 put 00 1 64 {/i exch def %i=0,60 %range 380..700nm FXD i 1 add FXN i get put FYD i 1 add FYN i get put FZD i 1 add FZN i get put DOW i 1 add 380 i 5 mul add put %range 380 to 700 } for %i=0,60 /S705_775X 0 def /S705_775Y 0 def /S705_775Z 0 def 0 1 14 {/i exch def %i=0,14 %705_775 /S705_775X S705_775X FXN 65 i add get add def /S705_775Y S705_775Y FYN 65 i add get add def /S705_775Z S705_775Z FZN 65 i add get add def } for %i=0,4 FXD 66 S705_775X put %705 FYD 66 S705_775Y put FZD 66 S705_775Z put DOW 66 (705_75) put FXD 67 S705_775X put %710 FYD 67 S705_775Y put FZD 67 S705_775Z put DOW 67 (705_75) put %********************************************************* /ix0 250 def /ixd 750 def /iyd 260 def /iymax 7400 xchartl 960 mul sub def /iymaxP iymax iyd 1 mul add 40 add def /iymax1 iymax iyd 1 mul sub def TM 20 setlinewidth /ishowd {TK 0 -40 rmoveto (d) show 0 40 rmoveto TIM} def /ishowc {TK 0 -40 rmoveto (c) show 0 40 rmoveto TIM} def xcolor 0 eq {%xcolor=0,1 /ishowi {TK 0 -40 rmoveto () show 0 40 rmoveto TIM} def /ishowAB {TK 0 -40 rmoveto (AB) show 0 40 rmoveto TIM} def /ishowab {TK 0 -40 rmoveto (ab) show 0 40 rmoveto TIM} def /ishowi1 {TK 0 -40 rmoveto (1) show 0 40 rmoveto TIM} def /ishowAB1 {TK 0 -40 rmoveto (AB1) show 0 40 rmoveto TIM} def /ishowab1 {TK 0 -40 rmoveto (ab1) show 0 40 rmoveto TIM} def /ishowi2 {TK 0 -40 rmoveto (2) show 0 40 rmoveto TIM} def /ishowAB2 {TK 0 -40 rmoveto (AB2) show 0 40 rmoveto TIM} def /ishowab2 {TK 0 -40 rmoveto (ab2) show 0 40 rmoveto TIM} def }%xcolor=0 {%xcolor=1 /ishowi {TK 0 -40 rmoveto (10) show 0 40 rmoveto TIM} def /ishowAB {TK 0 -40 rmoveto (AB,10) show 0 40 rmoveto TIM} def /ishowab {TK 0 -40 rmoveto (ab,10) show 0 40 rmoveto TIM} def /ishowi1 {TK 0 -40 rmoveto (1,10) show 0 40 rmoveto TIM} def /ishowAB1 {TK 0 -40 rmoveto (AB1,10) show 0 40 rmoveto TIM} def /ishowab1 {TK 0 -40 rmoveto (ab1,10) show 0 40 rmoveto TIM} def /ishowi2 {TK 0 -40 rmoveto (2,10) show 0 40 rmoveto TIM} def /ishowAB2 {TK 0 -40 rmoveto (AB2,10) show 0 40 rmoveto TIM} def /ishowab2 {TK 0 -40 rmoveto (ab2,10) show 0 40 rmoveto TIM} def } ifelse %xcolor=1 xchartl 0 eq {%xchartl=0 TIM ix0 200 sub ixd 0 mul add iymaxP moveto (Code) show 1 1 11 {/i exch def %i=0,11 i 11 eq {/ixd11 100 def}{/ixd11 0 def} ifelse ix0 ixd i mul add ixd11 add iymaxP moveto i 01 eq {(X) show ishowi} if i 02 eq {(Y) show ishowi} if i 03 eq {(Z) show ishowi} if i 04 eq {(x) show ishowi} if i 05 eq {(y) show ishowi} if xcolor 1 eq i 08 eq i 11 eq or and {-200 0 rmoveto} if iYAB 0 eq {%YAB i 06 eq {(A) show ishowi} if i 07 eq {(B) show ishowi} if i 08 eq {(C) show ishowAB} if i 09 eq {(a) show ishowi} if i 10 eq {(b) show ishowi} if i 11 eq {(h) show ishowAB} if } if %YAB iYAB 1 eq {%Lab* i 06 eq {(a*) show ishowi} if i 07 eq {(b*) show ishowi} if i 08 eq {(C*) show ishowab} if i 09 eq {(a') show ishowi} if i 10 eq {(b') show ishowi} if i 11 eq {(h) show ishowab} if } if %Lab* iYAB 2 eq {%YAB1 i 06 eq {(A) show ishowi1} if i 07 eq {(B) show ishowi1} if i 08 eq {(C) show ishowAB1} if i 09 eq {(a) show ishowi1} if i 10 eq {(b) show ishowi1} if i 11 eq {(h) show ishowAB1} if } if %YAB1 iYAB 3 eq {%YAB2 i 06 eq {(A) show ishowi2} if i 07 eq {(B) show ishowi2} if i 08 eq {(C) show ishowAB2} if i 09 eq {(a) show ishowi2} if i 10 eq {(b) show ishowi2} if i 11 eq {(h) show ishowAB2} if } if %YAB2 } for %i=0,11 ix0 ixd 12 mul add iymaxP moveto (i) show ishowd ix0 ixd 14 mul add iymaxP moveto (i) show ishowc ix0 ixd 13 mul add iymaxP moveto TSM (l) show ishowd ix0 ixd 15 mul add iymaxP moveto TSM (l) show ishowc } if %xchartl=0 TM ix0 200 sub ixd 00 mul add iymax moveto TELi xchartl get show ix0 ixd 01 mul add iymax moveto XW cvsshow2 ix0 ixd 02 mul add iymax moveto YW cvsshow2 ix0 ixd 03 mul add iymax moveto ZW cvsshow2 ix0 ixd 04 mul add iymax moveto XANW cvsshow3 ix0 ixd 05 mul add iymax moveto YANW cvsshow3 iYAB 0 eq {%YAB ix0 ixd 06 mul add iymax moveto AW cvsshow2 ix0 ixd 07 mul add iymax moveto BW cvsshow2 ix0 ixd 08 mul add iymax moveto CABW cvsshow2 ix0 ixd 09 mul add iymax moveto AANW cvsshow3 ix0 ixd 10 mul add iymax moveto BANW cvsshow3 ix0 ixd 11 mul add 100 add iymax moveto hABW cvishow } if %YAB iYAB 1 eq {%Lab* ix0 ixd 06 mul add iymax moveto a*W cvsshow2 ix0 ixd 07 mul add iymax moveto b*W cvsshow2 ix0 ixd 08 mul add iymax moveto C*abW cvsshow2 ix0 ixd 09 mul add iymax moveto AASW cvsshow3 ix0 ixd 10 mul add iymax moveto BASW cvsshow3 ix0 ixd 11 mul add 100 add iymax moveto habW cvishow } if %Lab* iYAB 2 eq {%YAB1 ix0 ixd 06 mul add iymax moveto AW1 cvsshow2 ix0 ixd 07 mul add iymax moveto BW1 cvsshow2 ix0 ixd 08 mul add iymax moveto CABW1 cvsshow2 ix0 ixd 09 mul add iymax moveto AANW1 cvsshow3 ix0 ixd 10 mul add iymax moveto BANW1 cvsshow3 ix0 ixd 11 mul add 100 add iymax moveto hABW1 cvishow } if %YAB1 iYAB 3 eq {%YAB2 ix0 ixd 06 mul add iymax moveto AW2 cvsshow2 ix0 ixd 07 mul add iymax moveto BW2 cvsshow2 ix0 ixd 08 mul add iymax moveto CABW2 cvsshow2 ix0 ixd 09 mul add iymax moveto AANW2 cvsshow3 ix0 ixd 10 mul add iymax moveto BANW2 cvsshow3 ix0 ixd 11 mul add 100 add iymax moveto hABW2 cvishow } if %YAB2 %************************************************************** %example1 520_775 %(520-380)/5=28, %(705-380)/5=65 %example2 470_570 %(470-380)/5=18, %(570-380)/5=38 /dc 0 def /iout 1 def 00 1 01 {/dc exch def %dc=0,1 iout 0 eq {%iout=0 /XF 0 def /YF 0 def /ZF 0 def YB_GM 0 eq {/i1 28 def /i2 65 def} {/i1 18 def /i2 38 def} ifelse i1 1 i2 {/i exch def %i=i1,i2 /XF XF FXD i get i i1 eq {0.5 mul} if i i2 eq i 38 eq and {0.5 mul} if add def /YF YF FYD i get i i1 eq {0.5 mul} if i i2 eq i 38 eq and {0.5 mul} if add def /ZF ZF FZD i get i i1 eq {0.5 mul} if i i2 eq i 38 eq and {0.5 mul} if add def } for %i=i1,i1 dc 1 eq {%dc=1 /XF XW XF sub def /YF YW YF sub def /ZF ZW ZF sub def } if %dc=1 } if %iout=0 iout 1 eq {%iout=1 calculate XF,YF,ZF with spectral data RX0 %************************************************ %XYZRj for 10 reflections /RAk 82 array def /XRj 10 array def %10 spectral or max 10 device colours /YRj 10 array def /ZRj 10 array def /XANRj 10 array def /YANRj 10 array def /ZANRj 10 array def 0 1 09 {/j exch def %j=0,9 %10 Reflections /jx j 80 mul def 0 1 79 {/i exch def %i=0,79 RAk i RX0 jx i add get 1000 div put } for %i=0,79 /XR 0 def /YR 0 def /ZR 0 def 0 1 079 {/i exch def %i=0,79 /XR XR FXN i get RAk i get mul add def /YR YR FYN i get RAk i get mul add def /ZR ZR FZN i get RAk i get mul add def } for %i=0,79 XRj j XR put YRj j YR put ZRj j ZR put /SUMR XR YR add ZR add def XANRj j XR SUMR 0.0001 add div put YANRj j YR SUMR 0.0001 add div put ZANRj j ZR SUMR 0.0001 add div put } for %j=0,9 %FARBE (R) (m) ( 570_775) %00 % (Y) (m) ( 565_575) %01 Test % (G) (m) ( 518_523) %02 Test % (C) (m) ( 380_570) %03 % (B) (m) ( 380_520) %04 % (M) (m) ( 570_470) %05 % (G) (o) ( 520_570) %06 % (M) (o) ( 570_520) %07 % (W) (0) ( 380_775) %08 % (N) (0) ( 380_775) %09 %******************************************* /j 8 def /XW XRj j get def /YW YRj j get def /ZW ZRj j get def /SUM XW YW add ZW add 0.0001 add def /XANW XW SUM div def /YANW YW SUM div def /ZANW ZW SUM div def YB_GM 0 eq {%YB /j 1 def dc 0 eq {%dc=0 /XF XRj j get def /YF YRj j get def /ZF ZRj j get def } if %dc=0 dc 1 eq {%dc=1 /XF XW XRj j get sub def /YF YW YRj j get sub def /ZF ZW ZRj j get sub def } if %dc=1 } if %YB YB_GM 1 eq {%GM /j 2 def dc 0 eq {%dc=0 /XF XRj j get def /YF YRj j get def /ZF ZRj j get def } if %dc=0 dc 1 eq {%dc=1 /XF XW XRj j get sub def /YF YW YRj j get sub def /ZF ZW ZRj j get sub def } if %dc=1 } if %GM } if %iout=1 %****************************************************** /SUMF XF YF add ZF add def %for D65, D50, P40, A00, E00 /XANF XF SUMF div def /YANF YF SUMF div def /ZANF ZF SUMF div def /AANF XANF YANF div def /BANF ZANF YANF div 0.4 mul neg def /AF AANF AANW sub YF mul def /BF BANF BANW sub YF mul def /CABF AF dup mul BF dup mul add 0.0001 add sqrt def /hABF BF AF 0.0001 add atan def /AANF1 XANF XANc sub YANF div 2.5 mul def /BANF1 ZANF YANF div 0.4 mul neg 2.5 mul def /AF1 AANF1 AANW1 sub YF mul def /BF1 BANF1 BANW1 sub YF mul def /CABF1 AF1 dup mul BF1 dup mul add 0.0001 add sqrt def /hABF1 BF1 AF1 0.0001 add atan def /AANF2 XANF XANc sub YANF div 2.5 mul Bc mul def /BANF2 ZANF YANF div 0.4 mul neg 2.5 mul Bc mul def /AF2 AANF2 AANW2 sub YF mul def /BF2 BANF2 BANW2 sub YF mul def /CABF2 AF2 dup mul BF2 dup mul add 0.0001 add sqrt def /hABF2 BF2 AF2 0.0001 add atan def %CIE 15 definition XF XW div D24_116 gt {/FXXN XF XW div 0.0001 add D13 exp def} {/FXXN D841_108 XF XW div mul D16_116 add def} ifelse YF YW div D24_116 gt {/FYYN YF YW div 0.0001 add D13 exp def} {/FYYN D841_108 YF YW div mul D16_116 add def} ifelse ZF ZW div D24_116 gt {/FZZN ZF ZW div 0.0001 add D13 exp def} {/FZZN D841_108 ZF YW div mul D16_116 add def} ifelse /L*F 116. FYYN mul 16. sub def /a*F 500. FXXN FYYN sub mul def /b*F 200. FYYN FZZN sub mul def /C*abF a*F dup mul b*F dup mul add 0.0001 add sqrt def /habF b*F a*F 0.0001 add atan def /AASF XF YF 0.0001 add div D13 exp a2 mul def /BASF ZF YF 0.0001 add div D13 exp b2 mul def /U1 XW def /U2 YW def /U3 ZW def /FXU1 YF U3 mul ZF U2 mul sub def /FXU2 ZF U1 mul XF U3 mul sub def /FXU3 XF U2 mul YF U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 1 1 65 {/i exch def %i=1,65 /TN FXD i get FXU1 mul FYD i get FXU2 mul add FZD i get FXU3 mul add def /TP FXD i 1 add get FXU1 mul FYD i 1 add get FXU2 mul add FZD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,65 1 1 65 {/i exch def %i=1,65 /TN FXD i get FXU1 mul FYD i get FXU2 mul add FZD i get FXU3 mul add neg def /TP FXD i 1 add get FXU1 mul FYD i 1 add get FXU2 mul add FZD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,65 TM /id1 INP def /ic1 IPN def /iymax1 iymax iyd dc 1 add mul sub def /iymax2 iymax iyd dc 2 add mul sub def ix0 200 sub ixd 00 mul add iymax1 moveto YB_GM 0 eq {%YB_GM=0,1 dc 0 eq {(565_575) show}{(565_75c) show} ifelse }%YB_GM=0 {%YB_GM=1 dc 0 eq {(518_523) show}{(518_23c) show} ifelse } ifelse TM ix0 ixd 01 mul add iymax1 moveto XF cvsshow2 ix0 ixd 02 mul add iymax1 moveto YF cvsshow2 ix0 ixd 03 mul add iymax1 moveto ZF cvsshow2 ix0 ixd 04 mul add iymax1 moveto XANF cvsshow3 ix0 ixd 05 mul add iymax1 moveto YANF cvsshow3 iYAB 0 eq {%YAB ix0 6 ixd mul add iymax1 moveto AF cvsshow2 ix0 7 ixd mul add iymax1 moveto BF cvsshow2 ix0 8 ixd mul add iymax1 moveto CABF cvsshow2 ix0 9 ixd mul add iymax1 moveto AANF cvsshow3 ix0 10 ixd mul add iymax1 moveto BANF cvsshow3 ix0 11 ixd mul add 100 add iymax1 moveto hABF cvishow } if %YAB iYAB 1 eq {%Lab* ix0 6 ixd mul add iymax1 moveto a*F cvsshow2 ix0 7 ixd mul add iymax1 moveto b*F cvsshow2 ix0 8 ixd mul add iymax1 moveto C*abF cvsshow2 ix0 9 ixd mul add iymax1 moveto AASF cvsshow3 ix0 10 ixd mul add iymax1 moveto BASF cvsshow3 ix0 11 ixd mul add 100 add iymax1 moveto habF cvishow } if %Lab* iYAB 2 eq {%YAB1 ix0 6 ixd mul add iymax1 moveto AF1 cvsshow2 ix0 7 ixd mul add iymax1 moveto BF1 cvsshow2 ix0 8 ixd mul add iymax1 moveto CABF1 cvsshow2 ix0 9 ixd mul add iymax1 moveto AANF1 cvsshow3 ix0 10 ixd mul add iymax1 moveto BANF1 cvsshow3 ix0 11 ixd mul add 100 add iymax1 moveto hABF1 cvishow } if %YAB1 iYAB 3 eq {%YAB2 ix0 6 ixd mul add iymax1 moveto AF2 cvsshow2 ix0 7 ixd mul add iymax1 moveto BF2 cvsshow2 ix0 8 ixd mul add iymax1 moveto CABF2 cvsshow2 ix0 9 ixd mul add iymax1 moveto AANF2 cvsshow3 ix0 10 ixd mul add iymax1 moveto BANF2 cvsshow3 ix0 11 ixd mul add 100 add iymax1 moveto hABF2 cvishow } if %YAB2 ix0 ixd 12 mul add iymax1 moveto INP cvishow ix0 ixd 14 mul add iymax1 moveto IPN cvishow %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_FXYZD_KNP_FWERTiX %input FXYZD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_FXYZD_KNP_FWERTiX %input FXYZD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %STOP2 %********************************************************* /wd 0 def /wc 0 def /wdc (o) def /wcc (o) def INP 0 ge {%INP>=0,-1 /wd DOWXIE1 def /wdc () def }%INP>=0 {%INP=-1 /wd DOWXIE2 def /wdc (c) def } ifelse %INP>=0,-1 IPN 0 ge {%IPN>=0,-1 /wc DOWXIE2 def /wcc () def }%IPN>=0 {%IPN=-1 /wc DOWXIE1 def /wcc (c) def } ifelse %IPN>=0,-1 TM ix0 ixd 13 mul add iymax1 moveto wd cvishow wdc show ix0 ixd 15 mul add iymax1 moveto wc cvishow wcc show } for %dc=0,1 } for %xchartl=0,7 showpage grestore %} for %xcolor=0,1 %%Trailer