%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/DE57/DE570-2A 20180501 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark02 where {pop} {userdict /pdfmark02 /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: http://130.149.60.45/~farbmetrik/DE57/) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://www.ps.bam.de or http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices, colour vision) /Creator (klaus.richter@me.com) /CreationDate (D:2018050112000) /ModDate (D:2018050112000) /DOCINFO pdfmark02 [ /View [ /FitB ] /DOCVIEW pdfmark02 %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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth r g b {setrgbcolor rec fill} bind def /colrecst %x y width heigth r g b {setrgbcolor rec stroke} bind def /TG {320 /Times-ISOL1 FS} bind def /TM {270 /Times-ISOL1 FS} bind def /TK {200 /Times-ISOL1 FS} bind def /TS {170 /Times-ISOL1 FS} bind def /TL {130 /Times-ISOL1 FS} bind def /TLL {100 /Times-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TIM {270 /TimesI-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIL {130 /TimesI-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBM {270 /TimesB-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBL {130 /TimesB-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIL {130 /TimesBI-ISOL1 FS} bind def /SG {320 /Symbol FS} bind def /SM {270 /Symbol FS} bind def /SK {200 /Symbol FS} bind def /SS {170 /Symbol FS} bind def /SL {130 /Symbol FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /CBM {270 /CourierB-ISOL1 FS} bind def /CBK {200 /CourierB-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBL {130 /CourierB-ISOL1 FS} bind def %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 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 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def /FXD 63 array def /FYD 63 array def /FZD 63 array def /FAD 63 array def /FBD 63 array def /FCD 63 array def %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 80 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 /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def %allways 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 {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 /xex 10 2 exp def /yex EE 2 exp def /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 /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /xchart8 1 def % /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def /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 %calculation of transformation data /FARBE 33 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (R) (o) ( 570_780) %07 (N) (0) ( 380_770) %08 (W) (0) ( 380_770) %09 (W) (1) ( 380_770) %10 ] def %/FARBE [(R) (m) ( 565_770) %00 % (Y) (m) ( 495_770) %01 % (G) (m) ( 475_575) %02 % (C) (m) ( 380_565) %03 % (B) (m) ( 380_495) %04 % (M) (m) ( 575_475) %05 % (N) (0) ( 380_770) %06 % (W) (0) ( 380_770) %07 % (W) (1) ( 380_770) %08 % ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 800 array def %10x80 /RX0 [ %(%Ro 00 570_770) %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 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Ym 01 520_770) %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 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Gm 02 470_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 0500 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 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 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 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 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 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 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 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 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%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 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 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 %(%N0(r=0,001) 07 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %(%W1(r=1,000) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%W1(r=1,000) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ] def %************************************************** /proc_ALLi_def {%BEG proc_ALLi_def ij=ix-2 0 1 ij {/i exch def %i=0,ij kx 1 eq {Xxi i X1i i get put Yxi i Y1i i get put Zxi i Z1i i get put Axi i A1i i get put Bxi i B1i i get put L*xi i L*1i i get put a*xi i a*1i i get put b*xi i b*1i i get put AANxi i AAN1i i get put BANxi i BAN1i i get put CANxi i CAN1i i get put idxi i id1i i get put wdxi i wd1i i get put hABxi i hAB1i i get put h*abxi i h*ab1i i get put } if kx 2 eq {Xxi i X2i i get put Yxi i Y2i i get put Zxi i Z2i i get put Axi i A2i i get put Bxi i B2i i get put L*xi i L*2i i get put a*xi i a*2i i get put b*xi i b*2i i get put AANxi i AAN2i i get put BANxi i BAN2i i get put CANxi i CAN2i i get put idxi i id2i i get put wdxi i wd2i i get put hABxi i hAB2i i get put h*abxi i h*ab2i i get put } if } for %i=1,ij } bind def %END proc_ALLi_def %*********************************************************** /proc_ALLi_ALLin {%BEG proc_ALLi_ALLin %new order from front, new data amount ix=ij+2 hABxin 0 hABxi imin get 360 xpn 0 eq {add}{sub} ifelse put %351-360=-9 h*abxin 0 h*abxi imin get 360 xpn 0 eq {add}{sub} ifelse put wdxin 0 wdxi imin get xpn 0 eq {400 sub 769 add}{769 sub 400 add} ifelse put %769=700+564-495 Xxin 0 Xxi imin get put Yxin 0 Yxi imin get put Zxin 0 Zxi imin get put Axin 0 Axi imin get put Bxin 0 Bxi imin get put L*xin 0 L*xi imin get put a*xin 0 a*xi imin get put b*xin 0 b*xi imin get put AANxin 0 AANxi imin get put BANxin 0 BANxi imin get put CANxin 0 CANxi imin get put idxin 0 idxi imin get put imin1 1 ij {/i exch def %32_57 old, imin=31(h=38) imin1=32 /in i imin1 sub 1 add def %i=32_57-32+1=01_26 new hABxin in hABxi i get put %in=1,26=26 values h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for 0 1 imin {/i exch def %0-31 old /in ij imin sub i add 1 add def %in=57-31+i+1=26+i+1=26+31+1 hABxin in hABxi i get put h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for hABxin ix hABxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put %2.4+360 h*abxin ix h*abxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put wdxin ix wdxi imin1 get xpn 0 eq {769 sub 400 add}{400 sub 769 add} ifelse put %769=700+564-495 Xxin ix Xxi imin1 get put Yxin ix Yxi imin1 get put Zxin ix Zxi imin1 get put Axin ix Axi imin1 get put Bxin ix Bxi imin1 get put L*xin ix L*xi imin1 get put a*xin ix a*xi imin1 get put b*xin ix b*xi imin1 get put AANxin ix AANxi imin1 get put BANxin ix BANxi imin1 get put CANxin ix CANxi imin1 get put idxin ix idxi imin1 get put } bind def %END proc_ALLi_ALLin %******************************************************** /proc_hAB_min {%BEG proc_hAB_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 hABxi i get hABxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 hABxi i get hABxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (hABxi=) show hABxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (hABxi1=) show hABxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_hAB_min %******************************************************** /proc_iwd_min {%BEG proc_iwd_min 1 1 ij {/i exch def %i=1,ij idxi i get -1 eq {wdxi i wdxi i get 495 sub 700 add put} if } for %i=1,ij 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 idxi i get 0 gt idxi i 1 add get -1 eq and {/imin i def exit} if }%xpn=0 {%xpn=1 idxi i get -1 eq idxi i 1 add get 0 gt and {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (iwdxi=) show idxi imin get cvishow (, ) show wdxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (iwdxi1=) show idxi imin1 get cvishow (, ) show wdxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_iwd_min %******************************************************** /proc_hAB_tab {%BEG proc_hAB_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxin i get cvsshow1 } for %i=1,ix newpath 180 faktx mul 00 fakty mul 40 0 360 arc fill 180 faktx mul 20 fakty mul 40 0 360 arc fill 180 faktx mul 40 fakty mul 40 0 360 arc fill 0 faktx mul -20 fakty mul 40 0 360 arc fill 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_hAB_tab %******************************************************** /proc_iwd_tab {%BEG proc_iwd_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxi i get cvishow (, ) show wdxi i get cvishow } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxin i get cvishow (, ) show wdxin i get cvishow } for %i=1,ix %newpath %700 400 sub faktx mul 00 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 20 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_iwd_tab %********************************************************** /proc_hABw_XYZ_cur2 {%BEG proc_hABw_XYZ_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse slog 0 eq {%slog=0 icur 0 eq { Yxin i get} {100 Yxin i get sub} ifelse fakty mul } if %slog=0 slog 1 eq {%slog=1 icur 0 eq { Yxin i get 50 div log 1 add} {50 Yxin i get div log 1 add} ifelse fakty mul 50 mul } if %slog=1 slog 2 eq {%slog=2 icur 0 eq { Yxin i get 50 div log 1 add} {50 Yxin i get div log 1 add} ifelse fakty mul 50 mul } if %slog=2 i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix %icurm 1 eq {%icurm=1 0 0 0 setrgbcolor %CAB 0 1 ix {/i exch def %i=0,ix /CAB Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt def hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse slog 0 eq {%slog=0 icur 0 eq { CAB} {100 CAB sub} ifelse fakty mul } if %slog=0 slog 1 eq {%slog=1 icur 0 eq { CAB 30 div log 1 add} {30 CAB div log 1 add} ifelse fakty mul 50 mul } if %slog=1 slog 2 eq {%slog=2 icur 0 eq { CAB 30 div log 1 add} {30 CAB div log 1 add} ifelse fakty mul 50 mul } if %slog=2 i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix %} if %icurm=1 %icurm 1 eq {%icurm=1 1 0 0 setrgbcolor %cab slog 2 eq {%slog=2 0 1 ix {/i exch def %i=0,ix /CAB Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt def hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse % slog 0 eq {%slog=0 % icur 0 eq {CANxin i get} % {100 CANxin i get sub} ifelse % fakty mul % } if %slog=0 % slog 1 eq {%slog=1 % icur 0 eq {CANxin i get log} % {2 CANxin i get log sub} ifelse % fakty mul 50 mul % } if %slog=1 icur 0 eq {CAB 30 div Yxin i get 50 div div log 1 add} {Yxin i get 50 div CAB 30 div div log 1 add} ifelse fakty mul 50 mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %slog=2 %} if %icurm=1 } for %icur=0,icurm [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_XYZ_cur2 %******************************************************** /proc_hABw_LabC*_cur2 {%BEG proc_hABw_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse slog 0 eq {%slog=0 icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul %1200 sub %y-shift } if %slog=0 slog 1 eq {%slog=1 icur 0 eq {L*xin i get log} {2 L*xin i get log sub} ifelse fakty mul 50 mul %1200 sub %y-shift } if %slog=1 slog 2 eq {%slog=2 icur 0 eq {L*xin i get log} {2 L*xin i get log sub} ifelse fakty mul 3 mul 50 mul %1200 sub %y-shift } if %slog=2 i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_LabC*_cur2 %************************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_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 %********************************************************** /tab_Ocolors2 64 array def %8*8 /tab_Ocolors2 %BEG tab_Ocolors2 [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 14 0.0 1.0 0.0 0100 -0050 (G) (O) 17 0.8 1.0 0.0 -0100 0100 (Y) (x) 23 1.0 1.0 0.0 -0100 0100 (Y) (O) 00 1.0 0.0 0.0 -0100 0100 (R) (O) 14 1.0 0.0 1.0 -0350 -0100 (M) (O) 17 0.2 0.0 1.0 -0100 -0250 (V) (n) 23 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors2 %********************************************************** /proc_tab_Ocolors2 {%BEG proc_tab_Ocolors2 %tab_Ocolors2 64 array def %8*8 defined before 0 1 7 {/iO exch def %iO=0,7 /i0 iO 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors2 i0 get def tab_Ocolors2 i1 get tab_Ocolors2 i2 get tab_Ocolors2 i3 get setrgbcolor /AnY0 xhh*w 0 eq {iO 3 le {hAB1i k get} {hAB2i k get} ifelse} if xhh*w 1 eq {iO 3 le {h*ab1i k get} {h*ab2i k get} ifelse} if xhh*w 2 eq {iO 3 le {wd1i k get iO 1 eq {/AnY01 wd1i k get def} if} {wd2i k get iO 5 eq {205 add} if} ifelse} if def /AnY AnY0 xhh*w 2 eq {400 sub} if faktx mul def /BnY0 yYLC 0 eq {iO 3 le {Y1i} {Y2i} ifelse k get} if yYLC 1 eq {iO 3 le {L*1i} {L*2i} ifelse k get} if %3 mul with AB and ab* yYLC 2 eq {iO 3 le {A1i k get dup mul B1i k get dup mul add} {A2i k get dup mul B2i k get dup mul add} ifelse 0.0001 add sqrt } if yYLC 3 eq {iO 3 le {a*1i k get dup mul b*1i k get dup mul add} {a*2i k get dup mul b*2i k get dup mul add} ifelse 0.0001 add sqrt } if def slog 0 eq {%lin /BnY BnY0 yYLC 1 eq {3 mul} if fakty mul yshift add def } if %lin slog 1 eq {%log /BnY BnY0 50 div log 1 add fakty mul 50 mul def } if %log slog 2 eq {%log /BnY BnY0 50 div log 1 add fakty mul 50 mul def } if %log AnY BnY 90 0 360 arc fill 0 0 0 setrgbcolor iO 3 gt {[100] 100 setdash} {[ ] 0 setdash} ifelse AnY BnY 90 0 360 arc stroke [ ] 0 setdash newpath AnY 80 add BnY 50 add moveto TBIL AnY0 cvishow (, ) show BnY0 cvishow (, ) show BnY0 50 sub abs log cvsshow2 xhh*w 2 eq iO 5 eq and {AnY 80 add BnY 150 sub moveto AnY01 cvishow (c) show } if newpath } for %iO=0,7 } bind def %END proc_tab_Ocolors2 /X1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1i 99 array def /Z1i 99 array def /hxy1i 99 array def /XAN1i 99 array def /YAN1i 99 array def /ZAN1i 99 array def /A1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1i 99 array def /CAB1i 99 array def /hAB1i 99 array def /AAN1i 99 array def /BAN1i 99 array def /CAN1i 99 array def /L*1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1i 99 array def /b*1i 99 array def /C*ab1i 99 array def /h*ab1i 99 array def /a'1i 99 array def /b'1i 99 array def /c'1i 99 array def /i11i 99 array def /i21i 99 array def /id1i 99 array def /ic1i 99 array def /w11i 99 array def /w21i 99 array def /w1c1i 99 array def /w2c1i 99 array def /wd1i 99 array def /wc1i 99 array def /wdc1i 99 array def /wcc1i 99 array def /X1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1in 99 array def /Z1in 99 array def /hxy1in 99 array def /XAN1in 99 array def /YAN1in 99 array def /ZAN1in 99 array def /A1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1in 99 array def /CAB1in 99 array def /hAB1in 99 array def /AAN1in 99 array def /BAN1in 99 array def /CAN1in 99 array def /L*1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1in 99 array def /b*1in 99 array def /C*ab1in 99 array def /h*ab1in 99 array def /a'1in 99 array def /b'1in 99 array def /c'1in 99 array def /i11in 99 array def /i21in 99 array def /id1in 99 array def /ic1in 99 array def /w11in 99 array def /w21in 99 array def /w1c1in 99 array def /w2c1in 99 array def /wd1in 99 array def /wc1in 99 array def /wdc1in 99 array def /wcc1in 99 array def /X2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2i 99 array def /Z2i 99 array def /hxy2i 99 array def /XAN2i 99 array def /YAN2i 99 array def /ZAN2i 99 array def /A2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2i 99 array def /CAB2i 99 array def /hAB2i 99 array def /AAN2i 99 array def /BAN2i 99 array def /CAN2i 99 array def /L*2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2i 99 array def /b*2i 99 array def /C*ab2i 99 array def /h*ab2i 99 array def /a'2i 99 array def /b'2i 99 array def /c'2i 99 array def /i12i 99 array def /i22i 99 array def /id2i 99 array def /ic2i 99 array def /w12i 99 array def /w22i 99 array def /w1c2i 99 array def /w2c2i 99 array def /wd2i 99 array def /wc2i 99 array def /wdc2i 99 array def /wcc2i 99 array def /X2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2in 99 array def /Z2in 99 array def /hxy2in 99 array def /XAN2in 99 array def /YAN2in 99 array def /ZAN2in 99 array def /A2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2in 99 array def /CAB2in 99 array def /hAB2in 99 array def /AAN2in 99 array def /BAN2in 99 array def /CAN2in 99 array def /L*2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2in 99 array def /b*2in 99 array def /C*ab2in 99 array def /h*ab2in 99 array def /a'2in 99 array def /b'2in 99 array def /c'2in 99 array def /i12in 99 array def /i22in 99 array def /id2in 99 array def /ic2in 99 array def /w12in 99 array def /w22in 99 array def /w1c2in 99 array def /w2c2in 99 array def /wd2in 99 array def /wc2in 99 array def /wdc2in 99 array def /wcc2in 99 array def %actual possible data (x=1,2,3,4) /Xxi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxi 99 array def /Zxi 99 array def /hxyxi 99 array def /XANxi 99 array def /YANxi 99 array def /ZANxi 99 array def /Axi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxi 99 array def /CABxi 99 array def /hABxi 99 array def /AANxi 99 array def /BANxi 99 array def /CANxi 99 array def /L*xi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xi 99 array def /b*xi 99 array def /C*abxi 99 array def /h*abxi 99 array def /a'xi 99 array def /b'xi 99 array def /c'xi 99 array def /i1xi 99 array def /i2xi 99 array def /idxi 99 array def /icxi 99 array def /w1xi 99 array def /w2xi 99 array def /w1cxi 99 array def /w2cxi 99 array def /wdxi 99 array def /wcxi 99 array def /wdcxi 99 array def /wccxi 99 array def /Xxin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxin 99 array def /Zxin 99 array def /hxyxin 99 array def /XANxin 99 array def /YANxin 99 array def /ZANxin 99 array def /Axin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxin 99 array def /CABxin 99 array def /hABxin 99 array def /AANxin 99 array def /BANxin 99 array def /CANxin 99 array def /L*xin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xin 99 array def /b*xin 99 array def /C*abxin 99 array def /h*abxin 99 array def /a'xin 99 array def /b'xin 99 array def /c'xin 99 array def /i1xin 99 array def /i2xin 99 array def /idxin 99 array def /icxin 99 array def /w1xin 99 array def /w2xin 99 array def /w1cxin 99 array def /w2cxin 99 array def /wdxin 99 array def /wcxin 99 array def /wdcxin 99 array def /wccxin 99 array def /FARBEda 79 array def /FARBEca 79 array def /FARBEd 79 array def /FARBEc 79 array def %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (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} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 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 (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %**************************************************** %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 /xcolorl xcolor def %0 1 0 {/xcolorl exch def %xcolorl=0,0 %gsave xcolorl 1 eq {0 1 79 {/i exch def %i=0,79 F2 i F10 i get put } for %i=0,79 } if /NK 0 def %normalization NK=0 (Y=100), NK=1 (Y=88,6) /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /xdel 1005 def %/ydel 393 def %/ydel 275 def /ydel 175 def /x0 050 def /x1 -150 def /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 FARBEda 00 (Cm=380_561) put FARBEca 00 (Rm=561_770) put FARBEd 00 (C) put FARBEc 00 (R) put FARBEda 13 (Gm=470_570) put FARBEca 13 (Mm=570_470) put FARBEd 13 (G) put FARBEc 13 (M) put FARBEda 23 (Ym=520_770) put FARBEca 23 (Bm=380_520) put FARBEd 23 (Y) put FARBEc 23 (B) put FARBEda 18 (Ym=495_770) put FARBEca 18 (Bm=380_495) put FARBEd 18 (Y) put FARBEc 18 (B) put /iacol 23 def /xchart14 0 def %for a=x/y (0) and a=(x-0.171)/y (1) 0 setgray 5 /Times-ISOL1 FS 175 85 moveto (DE570-2A-R) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale gsave %/xchartx xchart def /xchartx 1 def %only D50 %1 1 1 {/xchartx exch def %xchartx=0,7 gsave /xchartl 0 def %xchartl=0 to 7 for 8 pictures 0 1 07 {/xchartl exch def %xchartl=0,07 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto NK 0 eq {(DE570-) show} {(DE571-) show} ifelse xchartl 1 add cvishow (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 1 1 0 setrgbcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 colrecst %frame black %calculation of XW,YW,ZW for illuminant %D65, D50, P40, A00, E00, C00, P00, Q00 %P60, P55, P50, P45, P40, P35, P30, P25 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 %calculation of XW,YW,ZW for illuminant Pxx, Dxx 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %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 F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 0 1 1 {/Icom exch def %Icom=0,1 only for part 1 Icom 0 eq {/xpos 100 def /xpos1 12100 def} {%/xpos 12100 def /xpos 100 def /xpos1 100 def} ifelse %/ymax 3700 def /ymax 3820 def TBS xpos 50 sub ymax ydel 0 mul sub moveto (CIE\255) show TELi xchartx get show (\255Daten von ) showde ( data of ) showea TBIS (\255Ostwald) showde ( Ostwald) showea TBS (\255Farben von maximalem Buntwert) showde ( colours of maximum chromatic value) showea TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto xpos 50 sub ymax ydel 1 mul sub moveto TBIS (Y) show TBL 0 -60 rmoveto (w) show xcolorl 1 eq {(,10) show} if 0 60 rmoveto TBS NK 0 eq {(=100) show}{(=88,6) show} ifelse TBS (, ) show FARBEda iacol get show TBS (, ) show FARBEca iacol get show /icurm 1 def %0:dominant, 1:and complimentary colours %icurm=1: 1\255minus data (icurm=1) /iout0x 1 def %coordinate system /iout1x 1 def %iout1x=1:Ostwald colours 1 with procedures _cur2 %dominant (icurm=0) and complementary (icurm=1) /iout2x 0 def %iout2x=1:Ostwald colours 2 with procedures _cur2 /iout3x 0 def %sRGB colours, iout3x=1:sRGB data icurm 1 eq {%icurm=1 TBS (, and ) showea ( und ) showde (1\255minus data ( - -)) showea (1\255Minus\255Daten ( - -)) showde } if %icurm=1 iout2x 1 eq {%iout2x=1 TBS (, 2 calculation methods) showea (, 2 Berechnungsmethoden) showde } if %iout2x=1 iout3x 1 eq {%iout3x=1 TBS (, and ) showea ( und ) showde TBIS (sRGB) show TBS ( data ( - -)) showea (\255Daten ( - -)) showde } if %iout3x=1 %********************************************************* /WEL1 120 array def %irregular or regular definition /WEL2 120 array def %irregular or regular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def /WEL1 [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 ] def 0 1 57 {/k exch def %k=0,57 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0 i11i k INP put i21i k IPN put } { i12i k IPN put i22i k INP put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,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_ABC_KNP_FWERTiX %input FAD,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 %********************************************************* Icom 0 eq {%Icom=0 INP 0 ge {%INP>=0 % xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow %includes rounding failure w11i k DOWXIE1 0.03 add cvi put w1c1i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow w21i k DOWXIE2 0.03 add cvi put w2c1i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show w21i k DOWXIE1 0.03 add cvi put w2c1i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 }%Icom=0 {%Icom=1 INP 0 ge {%INP>=0 % xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 0.03 add cvishow w22i k DOWXIE1 0.03 add cvi put w2c2i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE2 0.03 add cvishow w12i k DOWXIE2 0.03 add cvi put w1c2i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 cvishow (c) show w12i k DOWXIE1 0.03 add cvi put w1c2i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 } ifelse %Icom=0,1 0 0 0 setrgbcolor %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RA i1 0.5 put RA i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 NK 1 eq {%NK=1 /faktn 0.8859 def /X X faktn mul def /Y Y faktn mul def /Z Z faktn mul def % /faktw 0.025 faktn div def %approximately 2,8% % /Xc XW X sub def %c=antichromatic % /Yc YW Y sub def % /Zc ZW Z sub def % /X X Xc faktw mul add faktn mul def % /Y Y Yc faktw mul add faktn mul def % /Z Z Zc faktw mul add faktn mul def } if %NK=1 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* Icom 1 eq {%Icom=1 /X XW X sub def /Y YW Y sub def /Z ZW Z sub def /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def } if %Icom=1 /hxy YAN YANW sub XAN XANW sub 0.0001 add atan def Icom 0 eq {%Icom=0,1 X1i k X put Y1i k Y put Z1i k Z put %hxy1i k hxy put XAN1i k XAN put YAN1i k YAN put ZAN1i k ZAN put }%Icom=0 {%Icom=1 X2i k X put Y2i k Y put Z2i k Z put %hxy2i k hxy put XAN2i k XAN put YAN2i k YAN put ZAN2i k ZAN put } ifelse %Icom=0,1 xchart14 0 eq {%xchart14=0 /AAN X Y 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AAN XAN 0.171 sub YAN 0.0001 add div def } if %xchart14=1 /BAN Z Y 0.0001 add div 0.4 mul neg def /CAN AAN AANW sub dup mul BAN BANW sub dup mul add 0.0001 add sqrt def /A AAN AANW sub Y mul def /B BAN BANW sub Y mul def /CAB A dup mul B dup mul add 0.0001 add sqrt def /hAB B A 0.0001 add atan def Icom 0 eq {%Icom=0,1 Y1i k Y put A1i k A put B1i k B put CAB1i k CAB put hAB1i k hAB put AAN1i k AAN put BAN1i k BAN put CAN1i k CAN put }%Icom=0 {%Icom=1 Y2i k Y put A2i k A put B2i k B put CAB2i k CAB put hAB2i k hAB put AAN2i k AAN put BAN2i k BAN put CAN2i k CAN put } ifelse %Icom=0,1 /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 X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def} {/FXXN D841_108 X XW div mul D16_116 add def} ifelse Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def} {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse /L* 116. FYYN mul 16. sub def /a* 500. FXXN FYYN sub mul def /b* 200. FYYN FZZN sub mul def /C*ab a* dup mul b* dup mul add 0.5 exp def /h*ab b* a* 0.000001 add atan def /a' X Y 0.0001 add div D13 exp 0.2191 mul def /b' Z Y 0.0001 add div D13 exp -0.08376 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def Icom 0 eq {%Icom=0,1 L*1i k L* put a*1i k a* put b*1i k b* put C*ab1i k C*ab put h*ab1i k h*ab put a'1i k a' put b'1i k b' put c'1i k c' put }%Icom=0 {%Icom=1 L*2i k L* put a*2i k a* put b*2i k b* put C*ab2i k C*ab put h*ab2i k h*ab put a'2i k a' put b'2i k b' put c'2i k c' put } ifelse %Icom=0,1 %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 X def /FF2 Y def /FF3 Z def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0,1 id1i k INP put ic1i k IPN put }%Icom=0 {%Icom=1 id2i k INP put ic2i k IPN put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,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 } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,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 } if %kNP>=0 %********************************************************* INP 0 ge {%INP>=0,-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow Icom 0 eq {%Icom=0,1 wd1i k DOWXIE1 0.03 add cvi put wdc1i k () put }%Icom=0 {%Icom=1 wd2i k DOWXIE1 0.03 add cvi put wdc2i k () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wd1i k DOWXIE2 0.03 add cvi put wdc1i k (c) put }%Icom=0 {%Icom=1 wd2i k DOWXIE2 0.03 add cvi put wdc2i k (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 IPN 0 ge {%IPN>=0,-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow Icom 0 eq {%Icom=0,1 wc1i k DOWXIE2 0.03 add cvi put wcc1i k () put }%Icom=0 {%Icom=1 wc2i k DOWXIE2 0.03 add cvi put wcc2i k () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wc1i k DOWXIE1 0.03 add cvi put wcc1i k (c) put }%Icom=0 {%Icom=1 wc2i k DOWXIE1 0.03 add cvi put wcc2i k (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 0 0 0 setrgbcolor } for %k=0,57 } for %Icom=0,1 only for part 1 %************************************************************* /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /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 /cvishowb {cvi 6 string cvs show ( ) show} def /cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def /cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def /cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def /cvishowr {0.5 add cvi 6 string cvs show} def /cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /cvi100 {100 mul cvi /xi exch def xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse /xia xi abs def vorz -1 eq {(\255) show} {(0) show} ifelse xia 0 ge xia 9 le {(0000) show} if xia 10 ge xia 99 le and {(000) show} if xia 100 ge xia 999 le and {(00) show} if xia 1000 ge xia 9999 le and {(0) show} if xia cvishow } bind def /cvi1000 {1000 mul cvi /xi exch def xi 0 ge xi 9 le {(000) show} if xi 10 ge xi 99 le and {(00) show} if xi 100 ge xi 999 le and {(0) show} if xi cvishow } bind def /ymax 16600 def /idy 206 def /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %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 F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 /ix0 100 def /ix1 ix0 1400 add def /ixd 600 def /iymax 16550 def /idy 206 def /xtext 0 def xtext 1 eq {%itext=1 TBIK ix0 iymax idy add 50 add moveto (rgb) show TBS 0 -90 rmoveto (i) show 0 90 rmoveto TBK ix1 ixd 0 mul add 150 add iymax idy add 50 add moveto TBK (i) show ix1 ixd 1 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 1 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z, x, y) show TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 6 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 6 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBIK (, a', b', c') show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 14 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 14 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBIK (, a, b, c) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 22 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 22 mul add iymax idy add 50 add moveto TBK ([) show TBIK (i) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TBIK (i) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 26 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 26 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z) show TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 29 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 29 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 34 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 34 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK } if %itext=1 %STOP %************************************************************* /imshow {0 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def /idshow {0 -50 rmoveto TBL (d) show 0 50 rmoveto TBIS} def /ieshow {0 -50 rmoveto TBL (e) show 0 50 rmoveto TBIS} def %************************************************************* %xchartl=0-0 %STOP0-0 %BEG X,Y,Z = f(hAB) xchartl 0 eq {%xchartl=0 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tyY [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def /tyL [(0,0) (0,4) (0,8) (1,2) (1,6) (2,0)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto txw i get exec show ixl 75 moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -300 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS TBIS (Y, ) show TBS (100 - ) show TBIS (Y) show TBS (, ) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (, 100 - ) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ( im Bereich) showde ( in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP0-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def /slog 0 def proc_hABw_XYZ_cur2 /slog 0 def } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def /slog 0 def proc_tab_Ocolors2 /slog 0 def } if %stext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout1x=1 } if %xchartl=0 %END X,Y,Z = f(hAB) %STOP0-4 %************************************************************* %xchartl=1-0 %STOP1-0 %BEG A,B,CAB = f(hAB) xchartl 1 eq {%xchartl=1 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tyY [( 0)( 20)( 40) ( 60) ( 80) (100)] def /tyL [(0,0) (0,4) (0,8) (1,2) (1,6) (2,0)] def /tyM [(-1,0) (-0,2) ( 0,6) ( 1,4) ( 2,2) ( 3,0)] def /tyK [(-1,0) ( 0,0) ( 1,0) ( 2,0) ( 3,0) ( 4,0)] def /tyJ [(-1,0) (-0,5) ( 0,0) ( 0,5) ( 1,0) ( 1,5)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto txw i get exec show ixl 75 moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBL %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten %0 1 5 {/i exch def % /iyt {-50 i 0600 mul add} def % /iyl {000 i 0600 mul add} def % -300 iyt moveto tyL i get show % -75 iyl moveto 150 0 rlineto stroke % } for %!y-Achse: 100 S-Einheiten = 0750 Skalen-Einheiten 0 1 4 {/i exch def %3000:4=750 /iyt {-50 i 0750 mul add} def /iyl {000 i 0750 mul add} def -300 iyt moveto tyJ i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (log[) show TBIS (Y) show TBS (/50], ) show TBS (log[) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (/30] (---)) show ixtt 150 add iytt 80 sub ydel sub moveto TBS (log[50/) show TBIS (Y) show TBS (], ) show TBS (log[30/) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (] (- -)) show 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP1-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth % 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip 0 -0000 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def /slog 1 def proc_hABw_XYZ_cur2 /slog 0 def } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY /slog 1 def proc_tab_Ocolors2 /slog 0 def } if %stext=1 } if %iout1x=1 } if %xchartl=1 %END A,B,CAB = f(hAB) %STOP1-4 %************************************************************* %xchartl=2-0 %STOP2-0 %BEG A,B,CAB = f(hAB) xchartl 2 eq {%xchartl=2 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tyY [( 0)( 20)( 40) ( 60) ( 80) (100)] def /tyL [(0,0) (0,4) (0,8) (1,2) (1,6) (2,0)] def /tyM [(-1,0) (-0,2) ( 0,6) ( 1,4) ( 2,2) ( 3,0)] def /tyK [(-1,0) ( 0,0) ( 1,0) ( 2,0) ( 3,0) ( 4,0)] def /tyJ [(-1,0) (-0,5) ( 0,0) ( 0,5) ( 1,0) ( 1,5)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto txw i get exec show ixl 75 moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBL %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten %0 1 5 {/i exch def % /iyt {-50 i 0600 mul add} def % /iyl {000 i 0600 mul add} def % -300 iyt moveto tyL i get show % -75 iyl moveto 150 0 rlineto stroke % } for %!y-Achse: 100 S-Einheiten = 0750 Skalen-Einheiten 0 1 4 {/i exch def %3000:4=750 /iyt {-50 i 0750 mul add} def /iyl {000 i 0750 mul add} def -300 iyt moveto tyJ i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto ixtt 150 add iytt 80 sub moveto TBS (log[) show TBIS (Y) show TBS (/50], ) show TBS (log[) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (/30] (---)) show ixtt 150 add iytt 80 sub ydel sub moveto TBS (log[50/) show TBIS (Y) show TBS (], ) show TBS (log[30/) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (] (- -)) show 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP2-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth % 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip 0 -0000 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def /slog 2 def proc_hABw_XYZ_cur2 /slog 0 def } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY /slog 2 def proc_tab_Ocolors2 /slog 0 def } if %stext=1 } if %iout1x=1 } if %xchartl=2 %END A,B,CAB = f(hAB) %STOP2-4 %************************************************************* %xchartl=3-0 %STOP3-0 %BEG A,B,CAB = f(hAB) xchartl 3 eq {%xchartl=3 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tyY [( 0)( 20)( 40) ( 60) ( 80) (100)] def /tyL [(0,0) (0,4) (0,8) (1,2) (1,6) (2,0)] def /tyM [(-1,0) (-0,2) ( 0,6) ( 1,4) ( 2,2) ( 3,0)] def /tyK [(-1,0) ( 0,0) ( 1,0) ( 2,0) ( 3,0) ( 4,0)] def /tyJ [(-1,0) (-0,5) ( 0,0) ( 0,5) ( 1,0) ( 1,5)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto txw i get exec show ixl 75 moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBL %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten %0 1 5 {/i exch def % /iyt {-50 i 0600 mul add} def % /iyl {000 i 0600 mul add} def % -300 iyt moveto tyL i get show % -75 iyl moveto 150 0 rlineto stroke % } for %!y-Achse: 100 S-Einheiten = 0750 Skalen-Einheiten 0 1 4 {/i exch def %3000:4=750 /iyt {-50 i 0750 mul add} def /iyl {000 i 0750 mul add} def -300 iyt moveto tyJ i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto ixtt 150 add iytt 80 sub moveto TBS (log[) show TBIS (Y) show TBS (/50], ) show TBS (log[\050) show TBIS (Y) show TBS (/50\051]/\050) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (/30\051] (---)) show ixtt 150 add iytt 80 sub ydel sub moveto TBS (log[50/) show TBIS (Y) show TBS (], ) show TBS (log[\050) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (/30\051/\050) show TBIS (Y) show TBS (/50\051] (- -)) show 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP3-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth % 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip 0 -0000 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def /slog 2 def proc_hABw_XYZ_cur2 /slog 0 def } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY /slog 2 def proc_tab_Ocolors2 /slog 0 def } if %stext=1 } if %iout1x=1 } if %xchartl=3 %END A,B,CAB = f(hAB) %STOP3-4 %************************************************************* %xchartl=4-0 %STOP4-0 %BEG X,Y,Z = f(wd) xchartl 4 eq {%xchartl=4 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( 0)( 20)( 40) ( 60) ( 80) (100)] def /tyL [(0,0) (0,4) (0,8) (1,2) (1,6) (2,0)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show ixl 75 moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -300 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBIS (Y, ) show TBS (100 - ) show TBIS (Y) show TBS (, ) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (, 100 - ) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ( im Bereich) showde ( in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %***************************************************** %STOP4-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def /slog 0 def proc_hABw_XYZ_cur2 /slog 0 def } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY /slog 0 def proc_tab_Ocolors2 /slog 0 def } if %stext=1 } if %iout1x=1 } if %xchartl=4 %END X,Y,Z = f(wd) %STOP4-4 %************************************************************* %xchartl=5-0 %STOP5-0 %BEG A,B,CAB = f(wd) xchartl 5 eq {%xchartl=5 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80) (100)] def /tyL [(0,0) (0,4) (0,8) (1,2) (1,6) (2,0)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show ixl 75 moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -300 iyt moveto tyL i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (log[) show TBIS (Y) show TBS (/50], ) show TBS (log[) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (/30] (---)) show ixtt 150 add iytt 80 sub ydel sub moveto TBS (log[50/) show TBIS (Y) show TBS (], ) show TBS (log[30/) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (] (- -)) show 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP5-1 380 280 0000 add translate %shift of cero point by 0000 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -0000 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -0000 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def /slog 1 def proc_hABw_XYZ_cur2 /slog 0 def %proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY /slog 1 def proc_tab_Ocolors2 /slog 0 def } if %stext=1 } if %iout1x=1 } if %xchartl=5 %END A,B,CAB = f(wd) %STOP5-4 %************************************************************* %xchartl=6-0 %STOP6-0 %BEG A,B,CAB = f(wd) xchartl 6 eq {%xchartl=6 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80) (100)] def /tyL [(0,0) (0,4) (0,8) (1,2) (1,6) (2,0)] def /tyM [(-1,0) (-0,2) ( 0,6) ( 1,4) ( 2,2) ( 3,0)] def /tyK [(-1,0) ( 0,0) ( 1,0) ( 2,0) ( 3,0) ( 4,0)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show ixl 75 moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS TBL %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten %0 1 5 {/i exch def % /iyt {-50 i 0600 mul add} def % /iyl {000 i 0600 mul add} def % -300 iyt moveto tyL i get show % -75 iyl moveto 150 0 rlineto stroke % } for %!y-Achse: 100 S-Einheiten = 0750 Skalen-Einheiten 0 1 4 {/i exch def %3000:4=750 /iyt {-50 i 0750 mul add} def /iyl {000 i 0750 mul add} def -300 iyt moveto tyK i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto ixtt 150 add iytt 80 sub moveto TBS (log[) show TBIS (Y) show TBS (/50], ) show TBS (log[) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (/30] (---)) show ixtt 150 add iytt 80 sub ydel sub moveto TBS (log[50/) show TBIS (Y) show TBS (], ) show TBS (log[30/) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (] (- -)) show 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP6-1 380 280 0000 add translate %shift of cero point by 0000 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -0000 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -0000 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0750 def /slog 2 def proc_hABw_XYZ_cur2 /slog 0 def %proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0750 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY /slog 2 def proc_tab_Ocolors2 /slog 0 def } if %stext=1 } if %iout1x=1 } if %xchartl=6 %END A,B,CAB = f(wd) %STOP6-4 %************************************************************* %xchartl=7-0 %STOP7-0 %BEG A,B,CAB = f(wd) xchartl 7 eq {%xchartl=7 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80) (100)] def /tyL [(0,0) (0,4) (0,8) (1,2) (1,6) (2,0)] def /tyM [(-1,0) (-0,2) ( 0,6) ( 1,4) ( 2,2) ( 3,0)] def /tyK [(-1,0) ( 0,0) ( 1,0) ( 2,0) ( 3,0) ( 4,0)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show ixl 75 moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS TBL %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten %0 1 5 {/i exch def % /iyt {-50 i 0600 mul add} def % /iyl {000 i 0600 mul add} def % -300 iyt moveto tyL i get show % -75 iyl moveto 150 0 rlineto stroke % } for %!y-Achse: 100 S-Einheiten = 0750 Skalen-Einheiten 0 1 4 {/i exch def %3000:4=750 /iyt {-50 i 0750 mul add} def /iyl {000 i 0750 mul add} def -300 iyt moveto tyK i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (log[) show TBIS (Y) show TBS (/50], ) show TBS (log[\050) show TBIS (Y) show TBS (/50\051]/\050) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (/30\051] (---)) show ixtt 150 add iytt 80 sub ydel sub moveto TBS (log[50/) show TBIS (Y) show TBS (], ) show TBS (log[\050) show TBIS (C) show TBL 0 -30 rmoveto xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS (/30\051/\050) show TBIS (Y) show TBS (/50\051] (- -)) show 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP7-1 380 280 0000 add translate %shift of cero point by 0000 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -0000 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -0000 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0750 def /slog 2 def proc_hABw_XYZ_cur2 /slog 0 def %proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0750 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY /slog 2 def proc_tab_Ocolors2 /slog 0 def } if %stext=1 } if %iout1x=1 } if %xchartl=7 %END A,B,CAB = f(wd) %STOP7-4 %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore %} for %xchartx=0,7 %8 illuminants %%Trailer