%!PS-Adobe-3.0 EPSF-3.0 DE110-6X 20180701 %%BoundingBox: 70 83 226 206 %START PDFDE011.EPS /pdfmark06 where {pop} {userdict /pdfmark06 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DE11/DE11.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018070112000) /ModDate (D:20180701112000) /DOCINFO pdfmark06 [ /View [ /Fit ] /DOCVIEW pdfmark06 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /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 /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 %%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 5 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 /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 % %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 %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 /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %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 kx 3 eq {Xxi i X3i i get put Yxi i Y3i i get put Zxi i Z3i i get put Axi i A3i i get put Bxi i B3i i get put L*xi i L*3i i get put a*xi i a*3i i get put b*xi i b*3i i get put AANxi i AAN3i i get put BANxi i BAN3i i get put CANxi i CAN3i i get put idxi i id3i i get put wdxi i wd3i i get put hABxi i hAB3i i get put h*abxi i h*ab3i i get put } if kx 4 eq {Xxi i X4i i get put Yxi i Y4i i get put Zxi i Z4i i get put Axi i A4i i get put Bxi i B4i i get put L*xi i L*4i i get put a*xi i a*4i i get put b*xi i b*4i i get put AANxi i AAN4i i get put BANxi i BAN4i i get put CANxi i CAN4i i get put idxi i id4i i get put wdxi i wd4i i get put hABxi i hAB4i i get put h*abxi i h*ab4i 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_h*ab_min {%BEG proc_h*ab_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 h*abxi i get h*abxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 h*abxi i get h*abxi 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 (h*abxi=) show h*abxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (h*abxi1=) show h*abxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_h*ab_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_h*ab_tab {%BEG proc_h*ab_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 h*abxi 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 h*abxin 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_h*ab_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 1 0 0 setrgbcolor %X 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 icur 0 eq {Xxin i get} {100 Xxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 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 icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %Z 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 icur 0 eq {Zxin i get} {100 Zxin i get sub} ifelse fakty mul 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_XYZ_cur2 %******************************************************** /proc_hABw_ABCY_cur2 {%BEG proc_hABw_ABCY_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 1 0 0 setrgbcolor %A 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 Axin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %B 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 Bxin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 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 icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %y-shift 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 icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %CAB 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 Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt fakty 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 %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_ABCY_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 1 0 0 setrgbcolor %a* 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 a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 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 b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 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 icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %y-shift 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 icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 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 a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty 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 %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_LabC*_cur2 %******************************************************** /proc_h*ab_LabC*_cur2 {%BEG proc_h*ab_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 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %yshift 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 icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty 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 %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_h*ab_LabC*_cur2 %******************************************************** /proc_wd_abcY_cur2 {%BEG proc_wd_abcY_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 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul BANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %yshift 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 icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get dup mul BANxin i get dup mul add 0.0001 add sqrt faktz 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 %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_wd_abcY_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 /BnY BnY0 yYLC 1 eq {3 mul} if fakty mul yshift add def 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 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 %**************************************************** /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 /KN 0 def %for KN=normalization 1 %/KN 1 def %for KN=normalization 0,886 /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 /F2N 240 array def 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 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %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 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 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 /FAD 63 array def /FBD 63 array def /FCD 63 array def /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 /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 /X3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y3i 99 array def /Z3i 99 array def /hxy3i 99 array def /XAN3i 99 array def /YAN3i 99 array def /ZAN3i 99 array def /A3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B3i 99 array def /CAB3i 99 array def /hAB3i 99 array def /AAN3i 99 array def /BAN3i 99 array def /CAN3i 99 array def /L*3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*3i 99 array def /b*3i 99 array def /C*ab3i 99 array def /h*ab3i 99 array def /a'3i 99 array def /b'3i 99 array def /c'3i 99 array def /i13i 99 array def /i23i 99 array def /id3i 99 array def /ic3i 99 array def /w13i 99 array def /w23i 99 array def /w1c3i 99 array def /w2c3i 99 array def /wd3i 99 array def /wc3i 99 array def /wdc3i 99 array def /wcc3i 99 array def /X3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y3in 99 array def /Z3in 99 array def /hxy3in 99 array def /XAN3in 99 array def /YAN3in 99 array def /ZAN3in 99 array def /A3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B3in 99 array def /CAB3in 99 array def /hAB3in 99 array def /AAN3in 99 array def /BAN3in 99 array def /CAN3in 99 array def /L*3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*3in 99 array def /b*3in 99 array def /C*ab3in 99 array def /h*ab3in 99 array def /a'3in 99 array def /b'3in 99 array def /c'3in 99 array def /i13in 99 array def /i23in 99 array def /id3in 99 array def /ic3in 99 array def /w13in 99 array def /w23in 99 array def /w1c3in 99 array def /w2c3in 99 array def /wd3in 99 array def /wc3in 99 array def /wdc3in 99 array def /wcc3in 99 array def /X4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y4i 99 array def /Z4i 99 array def /hxy4i 99 array def /XAN4i 99 array def /YAN4i 99 array def /ZAN4i 99 array def /A4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B4i 99 array def /CAB4i 99 array def /hAB4i 99 array def /AAN4i 99 array def /BAN4i 99 array def /CAN4i 99 array def /L*4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*4i 99 array def /b*4i 99 array def /C*ab4i 99 array def /h*ab4i 99 array def /a'4i 99 array def /b'4i 99 array def /c'4i 99 array def /i14i 99 array def /i24i 99 array def /id4i 99 array def /ic4i 99 array def /w14i 99 array def /w24i 99 array def /w1c4i 99 array def /w2c4i 99 array def /wd4i 99 array def /wc4i 99 array def /wdc4i 99 array def /wcc4i 99 array def /X4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y4in 99 array def /Z4in 99 array def /hxy4in 99 array def /XAN4in 99 array def /YAN4in 99 array def /ZAN4in 99 array def /A4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B4in 99 array def /CAB4in 99 array def /hAB4in 99 array def /AAN4in 99 array def /BAN4in 99 array def /CAN4in 99 array def /L*4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*4in 99 array def /b*4in 99 array def /C*ab4in 99 array def /h*ab4in 99 array def /a'4in 99 array def /b'4in 99 array def /c'4in 99 array def /i14in 99 array def /i24in 99 array def /id4in 99 array def /ic4in 99 array def /w14in 99 array def /w24in 99 array def /w1c4in 99 array def /w2c4in 99 array def /wd4in 99 array def /wc4in 99 array def /wdc4in 99 array def /wcc4in 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 0 1 98 {/i exch def wd3i i 0 put id3i i 0 put } for /FARBEda 79 array def /FARBEca 79 array def /FARBEd 79 array def /FARBEc 79 array def 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 /xchart4 5 def %xchart4=0 to 7 for 8 pictures %0 1 7 {/xchart4 exch def %xchart4=0,7 %gsave /xchart14 1 def %for a=x/y (0) and a=(x-0.171)/y (1) /xchartl xchart def %0 1 7 {/xchartl exch def %xchartl=0,7 gsave /iacol 23 def 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def 75 85 moveto lanind cvishow (-) show colorm cvishow deintp cvishow xcolorl cvishow xchart cvishow pchart cvishow colsep cvishow (-L) show pmetam cvishow 5 /Times-ISOL1 FS 185 85 moveto (DE110-6) show xchart 0 ge {(N) show} if (_) show xchart4 1 add cvishow (_) show xchartl 1 add cvishow 72 90 translate 0.010 MM dup scale 20 setlinewidth 0 0 1 0 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath fill 0 0 0 1 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath stroke %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 xchartl 0 eq {SX00 i SP60 i get put} if xchartl 1 eq {SX01 i SP55 i get put} if xchartl 2 eq {SX02 i SP50 i get put} if xchartl 3 eq {SX03 i SP45 i get put} if xchartl 4 eq {SX04 i SP40 i get put} if xchartl 5 eq {SX05 i SP35 i get put} if xchartl 6 eq {SX06 i SP30 i get put} if xchartl 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartl 0 eq {SX00 i SD65 i get put} if xchartl 1 eq {SX01 i SD50 i get put} if xchartl 2 eq {SX02 i SP40 i get put} if xchartl 3 eq {SX03 i SA00 i get put} if xchartl 4 eq {SX04 i SE00 i get put} if xchartl 5 eq {SX05 i SC00 i get put} if xchartl 6 eq {SX06 i SP00 i get put} if xchartl 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 xchartl 0 eq {SX00 i get} if xchartl 1 eq {SX01 i get} if xchartl 2 eq {SX02 i get} if xchartl 3 eq {SX03 i get} if xchartl 4 eq {SX04 i get} if xchartl 5 eq {SX05 i get} if xchartl 6 eq {SX06 i get} if xchartl 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 xchartl 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 KN 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 1 setcmyk_olvcolor %********************************************************* 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 KN 1 eq {%KN=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 %KN=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 %********************************************************* %0 1 1 0 setcmyk_olvcolor 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 %1 0 1 0 setcmyk_olvcolor 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 1 setcmyk_olvcolor } for %k=0,57 } for %Icom=0,1 only for part 1 %************************************************************* /RGB*16 16 array def /RGB*16 [(1.00 0.00 0.00) (1.00 0.25 0.00) (1.00 0.50 0.00) (1.00 0.75 0.00) (1.00 1.00 0.00) (0.75 1.00 0.00) (0.50 1.00 0.00) (0.25 1.00 0.00) (0.00 1.00 0.00) (0.00 1.00 0.50) (0.00 1.00 1.00) (0.00 0.50 1.00) (0.00 0.00 1.00) (0.50 0.00 1.00) (1.00 0.00 1.00) (1.00 0.00 0.50) ] def /RGBNM*16 16 array def /RGBNW*16 [(1.00 0.00 0.00) (0.50 0.00 0.00) (1.00 0.50 0.50) () (1.00 1.00 0.00) (0.50 0.50 0.00) (1.00 1.00 0.50) () (0.00 1.00 0.00) (0.00 0.50 0.00) (0.50 1.00 0.50) () (0.00 0.00 1.00) (0.00 0.00 0.50) (0.50 0.50 1.00) ()] def /RGB*005 05 array def /RGB*005 [(0.00 0.00 0.00) (0.25 0.25 0.25) (0.50 0.50 0.50) (0.75 0.75 0.75) (1.00 1.00 1.00)] def /RGB*009 09 array def /RGB*009 [ (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000)] def /RGBOLV*73tx 73 array def /RGBOLV*73tx [ (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) (0.000 1.000 0.000) (0.000 1.000 0.125) (0.000 1.000 0.250) (0.000 1.000 0.375) %L-C (0.000 1.000 0.500) (0.000 1.000 0.625) (0.000 1.000 0.750) (0.000 1.000 0.875) (0.000 1.000 1.000) (0.000 0.875 1.000) (0.000 0.750 1.000) (0.000 0.625 1.000) %C-V (0.000 0.500 1.000) (0.000 0.375 1.000) (0.000 0.250 1.000) (0.000 0.125 1.000) (0.000 0.000 1.000) (0.125 0.000 1.000) (0.250 0.000 1.000) (0.375 0.000 1.000) %V-M (0.500 0.000 1.000) (0.625 0.000 1.000) (0.750 0.000 1.000) (0.875 0.000 1.000) (1.000 0.000 1.000) (1.000 0.000 0.875) (1.000 0.000 0.750) (1.000 0.000 0.625) %M-O (1.000 0.000 0.500) (1.000 0.000 0.375) (1.000 0.000 0.250) (1.000 0.000 0.125) %repeat for range >360 degree (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) %N-W (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000) ] def /RGBOLV*219 219 array def /RGBOLV*219 [1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 %L-C 0.000 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 %C-V 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 1.000 %V-M 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 %M-O 1.000 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 %repeat for range >360 degree 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 %N-W 0.000 0.000 0.000 0.125 0.125 0.125 0.250 0.250 0.250 0.375 0.375 0.375 0.500 0.500 0.500 0.625 0.625 0.625 0.750 0.750 0.750 0.875 0.875 0.875 1.000 1.000 1.000 ] def %************************************************************************** /RGB0i_XYZi { %BEG procedure RGB0i_XYZj %transfers standard sRGB data (IEC 61966-2-1) to XYZ data %for 9x9x9=729 colours or 64+9=73 colours=48+16+9 colours %normalized XYZ data with Y=88.59 for display white, compare ISO 9241-306:2008. /IM0 73 def /IM1 IM0 1 sub def /iN 64 def /iW 72 def /Xi089 729 array def /Yi089 729 array def /Zi089 729 array def /Xi100 729 array def /Yi100 729 array def /Zi100 729 array def /R0i 729 array def /G0i 729 array def /B0i 729 array def %row no.1 and 2: 9xrgb %/imax 08 def %/jmax 08 def %/kmax 08 def %0 1 kmax {/k exch def %beg k=0,08 %0 1 jmax {/j exch def %beg j=0,jmax %0 1 imax {/i exch def %beg i=0,imax % /n i j 9 mul add k 81 mul add def % R0i n k kmax div 1000 mul put % G0i n j jmax div 1000 mul put % B0i n i imax div 1000 mul put % } for %end i=0,jmax % } for %end j=0,jmax % } for %end k=0,kmax 0 1 IM1 {/i exch def %i=0,IM1 /i3 i 3 mul def R0i i RGBOLV*219 i3 0 add get 1000 mul put G0i i RGBOLV*219 i3 1 add get 1000 mul put B0i i RGBOLV*219 i3 2 add get 1000 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 R0i i get 0.04045 le %equations of IEC 61966-2-1:2003 {/RsRGB R0i i get 12.92 div def} {/RsRGB R0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse G0i i get 0.04045 le {/GsRGB G0i i get 12.92 div def} {/GsRGB G0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse B0i i get 0.04045 le {/BsRGB B0i i get 12.92 div def} {/BsRGB B0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse Xi100 i 0.4124 RsRGB mul 0.3576 GsRGB mul add 0.1805 BsRGB mul add 100 mul put Yi100 i 0.2126 RsRGB mul 0.7152 GsRGB mul add 0.0722 BsRGB mul add 100 mul put Zi100 i 0.0193 RsRGB mul 0.1192 GsRGB mul add 0.9505 BsRGB mul add 100 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 Xi089 i Xi100 i get 0.8859 mul put Yi089 i Yi100 i get 0.8859 mul put Zi089 i Zi100 i get 0.8859 mul put } for %i=0,IM1 /XLN100 Xi100 iN get def /YLN100 Yi100 iN get def /ZLN100 Zi100 iN get def /XLW100 Xi100 iW get def /YLW100 Yi100 iW get def /ZLW100 Zi100 iW get def /XLN089 Xi089 iN get def /YLN089 Yi089 iN get def /ZLN089 Zi089 iN get def /XLW089 Xi089 iW get def /YLW089 Yi089 iW get def /ZLW089 Zi089 iW get def % achromatic (D65) colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLWD65089 95.04 0.8859 mul def /YLWD65089 100.00 0.8859 mul def /ZLWD65089 108.88 0.8859 mul def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def } bind def %END procedure RGB0i_XYZi for 729 colours %********************************************************************** /XYZi_Lab*i { %BEG Procedure XYZi_Lab*i %transfer from XYZi data to Lab*i CIELAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /L*i089,a*i089,b*i089 729 array def %max 729 %new /L*i100,a*i100,b*i100 729 array def %max 729 /L*i100 729 array def /a*i100 729 array def /b*i100 729 array def /L*i089 729 array def /a*i089 729 array def /b*i089 729 array def 0 1 IM1 {/i exch def %i=0,IM1 /XQ Xi089 i get XLWD65100 div def /YQ Yi089 i get YLWD65100 div def /ZQ Zi089 i get ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if L*i089 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i089 i XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put b*i089 i YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put /XQ Xi100 i get XLWD65100 div def /YQ Yi100 i get YLWD65100 div def /ZQ Zi100 i get ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if L*i100 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i100 i XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put b*i100 i YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put } for %i=0,IM1 /L*N100 L*i100 iN get def /a*N100 a*i100 iN get def /b*N100 b*i100 iN get def /L*W100 L*i100 iW get def /a*W100 a*i100 iW get def /b*W100 b*i100 iW get def /L*N089 L*i089 iN get def /a*N089 a*i089 iN get def /b*N089 b*i089 iN get def /L*W089 L*i089 iW get def /a*W089 a*i089 iW get def /b*W089 b*i089 iW get def } bind def %END XYZi_Lab*i %********************************************************************** /XYZi_ABi { %BEG Procedure XYZj_ABi %transfer from XYZj data to ABi YAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /Ai089,Bi089 729 array def %max 729 %new /Ai100,Bi100 729 array def %max 729 /Ai100 729 array def /Bi100 729 array def /Ai089 729 array def /Bi089 729 array def /XW100 XLWD65100 def /YW100 YLWD65100 def /ZW100 ZLWD65100 def 0 1 IM1 {/i exch def %i=0,IM1 Ai100 i Xi100 i get Yi100 i get 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul put Bi100 i Zi100 i get Yi100 i get 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul 0.4 mul neg put Ai089 i Ai100 i get 0.8859 mul put Bi089 i Bi100 i get 0.8859 mul put } for %i=0,IM1 /AN100 Ai100 iN get def /BN100 Bi100 iN get def /AW100 Ai100 iW get def /BW100 Bi100 iW get def /AN089 Ai089 iN get def /BN089 Bi089 iN get def /AW089 Ai089 iW get def /BW089 Bi089 iW get def } bind def %END XYZi_ABi %********************************************************************** /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 /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 c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def %72 90 translate %0.01 MM dup scale %TK %100 -180 moveto %(DE110-6N, ) show %(NCS colours) showea %(NCS\255Farben) showde %TK %(, normalized:) showea %(, normiert:) showde %TIK %( Yn = Yw) show %TK %( = 100) show %STOP1 RGB0i_XYZi %STOP2 XYZi_Lab*i %STOP3 XYZi_ABi %STOP /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 /F2N 240 array def 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 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %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 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 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 /FAD 63 array def /FBD 63 array def /FCD 63 array def /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 /D13 1 3 div def /a2D65 1 XLWD65100 0.0001 add div D13 exp def /b2D65 1 ZLWD65100 0.0001 add div D13 exp neg def TK %20000 15000 moveto a2D65 cvsshow3r (,) b2D65 cvsshow3r /aWD65100 XLWD65100 YLWD65100 0.0001 add div def /bWD65100 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def /aWD65089 XLWD65100 YLWD65100 0.0001 add div def /bWD65089 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def %20000 14000 moveto aWD65100 cvsshow3r (,) bWD65100 cvsshow3r /a'WD65100 XLWD65100 YLWD65100 0.0001 add div D13 exp a2D65 mul def /b'WD65100 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2D65 mul def /a'WD65089 XLWD65100 YLWD65100 0.0001 add div D13 exp a2D65 mul def /b'WD65089 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2D65 mul def %20000 13000 moveto a'WD65100 cvsshow3r (,) b'WD65100 cvsshow3r /itx -0.8 def 0 1 IM1 {/i exch def %i=0,IM1 % i IM1 ne {%i#IM1 % i i 8 idiv 8 mul eq {/itx itx 0.8 add def} if % } if %i#IM1 % /iy i itx add def %ix0 ixd 0 mul add iymax iy idy mul sub moveto %RGBOLV*73tx i get show %ix1 ixd 0 mul add 150 add iymax iy idy mul sub moveto %i 9 le {(0) show} if i cvishow /XD65100 Xi100 i get def /YD65100 Yi100 i get def /ZD65100 Zi100 i get def /SUM XD65100 YD65100 add ZD65100 add def /xD65100 XD65100 SUM 0.0001 add div def /yD65100 YD65100 SUM 0.0001 add div def %ix1 ixd 1 mul add iymax iy idy mul sub moveto XD65100 cvsshow1r %ix1 ixd 2 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r %ix1 ixd 3 mul add iymax iy idy mul sub moveto ZD65100 cvsshow1r %ix1 ixd 4 mul add iymax iy idy mul sub moveto xD65100 cvsshow3r %ix1 ixd 5 mul add iymax iy idy mul sub moveto yD65100 cvsshow3r X3i i XD65100 put Y3i i YD65100 put Z3i i ZD65100 put %XAN3i i xD65100 put %YAN3i i yD65100 put /a'D65100 XD65100 YD65100 0.0001 add div D13 exp a2D65 mul def /b'D65100 ZD65100 YD65100 0.0001 add div D13 exp b2D65 mul def /c'D65100 a'D65100 a'WD65100 sub dup mul b'D65100 b'WD65100 sub dup mul add 0.0001 add sqrt def /L*D65100 L*i100 i get def /a*D65100 a*i100 i get def /b*D65100 b*i100 i get def /C*D65100 a*D65100 dup mul b*D65100 dup mul add 0.0001 add sqrt def /h*D65100 b*D65100 a*D65100 0.0001 add atan def %ix1 ixd 06 mul add iymax iy idy mul sub moveto L*D65100 cvsshow1r %ix1 ixd 07 mul add iymax iy idy mul sub moveto a*D65100 cvsshow1r %ix1 ixd 08 mul add iymax iy idy mul sub moveto b*D65100 cvsshow1r %ix1 ixd 09 mul add iymax iy idy mul sub moveto C*D65100 cvsshow1r %ix1 ixd 10 mul add iymax iy idy mul sub moveto h*D65100 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65100 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65100 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65100 cvsshow3r L*3i i L*D65100 put a*3i i a*D65100 put b*3i i b*D65100 put C*ab3i i C*D65100 put h*ab3i i h*D65100 put %a'3i i a'D65100 put %b'3i i b'D65100 put %c'3i i c'D65100 put /aD65100 XD65100 YD65100 0.0001 add div def /bD65100 ZD65100 YD65100 0.0001 add div 0.4 mul neg def /cD65100 aD65100 aWD65100 sub dup mul bD65100 bWD65100 sub dup mul add 0.0001 add sqrt def /AD65100 XD65100 YD65100 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub YD65100 mul def /BD65100 ZD65100 YD65100 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub YD65100 mul 0.4 mul neg def /CD65100 AD65100 dup mul BD65100 dup mul add 0.0001 add sqrt def /hD65100 BD65100 AD65100 0.0001 add atan def %ix1 ixd 14 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r %ix1 ixd 15 mul add iymax iy idy mul sub moveto AD65100 cvsshow1r %ix1 ixd 16 mul add iymax iy idy mul sub moveto BD65100 cvsshow1r %ix1 ixd 17 mul add iymax iy idy mul sub moveto CD65100 cvsshow1r %ix1 ixd 18 mul add iymax iy idy mul sub moveto hD65100 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65100 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65100 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65100 cvsshow3r A3i i AD65100 put B3i i BD65100 put CAB3i i CD65100 put hAB3i i hD65100 put AAN3i i aD65100 put BAN3i i bD65100 put CAN3i i cD65100 put %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 XD65100 def /FF2 YD65100 def /FF3 ZD65100 def /U1 XLWD65100 def /U2 YLWD65100 def /U3 ZLWD65100 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 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP j def exit} if } for %j=1,60 0 1 60 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add neg def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN j def exit} if } for %j=1,60 /Icom 0 def %Icom=0 only for part 2 TM Icom 0 eq {%Icom=0,1 id3i i INP put ic3i i IPN put }%Icom=0 {%Icom=1 id4i i INP put ic4i i IPN put } ifelse %Icom=0,1 TLL %ix1 ixd 22 mul add iymax iy idy mul sub moveto INP cvishow %ix1 ixd 23 mul add iymax iy idy mul sub moveto IPN cvishow %********************************************************* /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 %********************************************************* %0 1 1 0 setcmyk_olvcolor INP 0 ge {%INP>=0,-1 % ix1 ixd 24 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 cvishow Icom 0 eq {%Icom=0,1 wd3i i DOWXIE1 0.03 add cvi put wdc3i i () put }%Icom=0 {%Icom=1 wd4i i DOWXIE1 0.03 add cvi put wdc4i i () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % ix1 ixd 24 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 cvishow (c) show Icom 0 eq {%Icom=0,1 wd3i i DOWXIE2 0.03 add cvi put wdc3i i (c) put }%Icom=0 {%Icom=1 wd4i i DOWXIE2 0.03 add cvi put wdc4i i (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 %1 0 1 0 setcmyk_olvcolor IPN 0 ge {%IPN>=0,-1 % ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 cvishow Icom 0 eq {%Icom=0,1 wc3i i DOWXIE2 0.03 add cvi put wcc3i i () put }%Icom=0 {%Icom=1 wc4i i DOWXIE2 0.03 add cvi put wcc4i i () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 cvishow (c) show Icom 0 eq {%Icom=0,1 wc3i i DOWXIE1 0.03 add cvi put wcc3i i (c) put }%Icom=0 {%Icom=1 wc4i i DOWXIE1 0.03 add cvi put wcc4i i (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 %********************************************************************** /XD65089 Xi089 i get def /YD65089 Yi089 i get def /ZD65089 Zi089 i get def %ix1 ixd 26 mul add iymax iy idy mul sub moveto XD65089 cvsshow1r %ix1 ixd 27 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r %ix1 ixd 28 mul add iymax iy idy mul sub moveto ZD65089 cvsshow1r X4i i XD65089 put Y4i i YD65089 put Z4i i ZD65089 put %XAN4i i xD65089 put %YAN4i i yD65089 put /a'D65089 XD65089 YD65089 0.0001 add div D13 exp a2D65 mul def /b'D65089 ZD65089 YD65089 0.0001 add div D13 exp b2D65 mul def /c'D65089 a'D65089 a'WD65089 sub dup mul b'D65089 b'WD65089 sub dup mul add 0.0001 add sqrt def /L*D65089 L*i089 i get def /a*D65089 a*i089 i get def /b*D65089 b*i089 i get def /C*D65089 a*D65089 dup mul b*D65089 dup mul add 0.0001 add sqrt def /h*D65089 b*D65089 a*D65089 0.0001 add atan def %ix1 ixd 29 mul add iymax iy idy mul sub moveto L*D65089 cvsshow1r %ix1 ixd 30 mul add iymax iy idy mul sub moveto a*D65089 cvsshow1r %ix1 ixd 31 mul add iymax iy idy mul sub moveto b*D65089 cvsshow1r %ix1 ixd 32 mul add iymax iy idy mul sub moveto C*D65089 cvsshow1r %ix1 ixd 33 mul add iymax iy idy mul sub moveto h*D65089 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65089 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65089 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65089 cvsshow3r L*4i i L*D65089 put a*4i i a*D65089 put b*4i i b*D65089 put C*ab4i i C*D65089 put h*ab4i i h*D65089 put %a'4i i a'D65089 put %b'4i i b'D65089 put %c'4i i c'D65089 put /aD65089 XD65089 YD65089 0.0001 add div def /bD65089 ZD65089 YD65089 0.0001 add div 0.4 mul neg def /cD65089 aD65089 aWD65089 sub dup mul bD65089 bWD65089 sub dup mul add 0.0001 add sqrt def /AD65089 XD65089 YD65089 0.0001 add div XLWD65089 YLWD65089 0.0001 add div sub YD65089 mul def /BD65089 ZD65089 YD65089 0.0001 add div ZLWD65089 YLWD65089 0.0001 add div sub YD65089 mul 0.4 mul neg def /CD65089 AD65089 dup mul BD65089 dup mul add 0.0001 add sqrt def /hD65089 BD65089 AD65089 0.0001 add atan def %ix1 ixd 34 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r %ix1 ixd 35 mul add iymax iy idy mul sub moveto AD65089 cvsshow1r %ix1 ixd 36 mul add iymax iy idy mul sub moveto BD65089 cvsshow1r %ix1 ixd 37 mul add iymax iy idy mul sub moveto CD65089 cvsshow1r %ix1 ixd 38 mul add iymax iy idy mul sub moveto hD65089 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65089 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65089 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65089 cvsshow3r A4i i AD65089 put B4i i BD65089 put CAB4i i CD65089 put hAB4i i hD65089 put %a4i i aD65089 put %b4i i bD65089 put %c4i i cD65089 put } for %i=0,IM1 %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 %************************************************************* %xchart4=0-0 %STOP0-0 %BEG X,Y,Z = f(hAB) xchart4 0 eq {%xchart4=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 /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] 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 txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1800 add 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 -350 iyt moveto tye 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 (Normfarbwerte) showde (CIE tristimulus values) showea TBIS 1 0 0 setrgbcolor ( X) show 0 setgray (,) show 0 1 0 setrgbcolor ( Y) show 0 setgray (,) show 0 0 1 setrgbcolor ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=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 proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP0-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 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 -1200 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 proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 } if %iout2x=1 %************************************************************ %STOP0-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ 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 0 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 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_XYZ_cur2 [] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout3x=1 } if %xchart4=0 %END X,Y,Z = f(hAB) %STOP0-4 %************************************************************* %xchart4=1-0 %STOP1-0 %BEG A,B,CAB = f(hAB) xchart4 1 eq {%xchart4=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 1200 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 /tye [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] 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 txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add 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 %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -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 (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show TBS ( und) showde (, and) showea TBS ( Buntwerte) showde ( chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (, ) show TBIS (C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP1-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /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 -1200 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 -1200 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 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP1-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 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 0 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 -1200 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 -1200 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 proc_hABw_ABCY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 0 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP1-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ 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 0 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 -1200 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 -1200 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_ABCY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=1 %END A,B,CAB = f(hAB) %STOP1-4 %************************************************************* %xchart4=2-0 %STOP2-0 %BEG L*,a*,b*,C*ab = f(hAB) xchart4 2 eq {%xchart4=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 1200 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 /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] 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 txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add 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 %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -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 (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP2-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /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 -1200 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 -1200 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 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP2-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 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 0 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 -1200 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 -1200 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 proc_hABw_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 0 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP2-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ 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 0 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 -1200 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 -1200 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=2 %END L*,a*,b*,C*ab = f(hAB) %STOP2-4 %************************************************************* %xchart4=3-0 %STOP3-0 %BEG L*,a*,b*,C*ab = f(h*ab) xchart4 3 eq {%xchart4=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 1200 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 /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] 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 txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 200 sub iytt moveto TBIS (h*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -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 (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP3-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /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 -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_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 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 1 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP3-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 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 0 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 -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_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 proc_h*ab_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 1 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP3-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ 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 0 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 -1200 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 -1200 def proc_h*ab_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=3 %END L*,a*,b*,C*ab = f(h*ab) %STOP3-4 %************************************************************* %xchart4=4-0 %STOP4-0 %BEG X,Y,Z = f(wd) xchart4 4 eq {%xchart4=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 %!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 % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 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 -350 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for %no axis right /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (Normfarbwerte) showde (CIE tristimulus values) showea 1 0 0 setrgbcolor TBIS ( X) show TBS 0 setgray (,) show 0 1 0 setrgbcolor TBIS ( Y) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=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 proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP4-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 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 0 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 -1200 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 proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samRMB proc_tab_Ocolors2 } if %stext=1 } if %iout2x=1 %************************************************************ %STOP4-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv 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 0 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 0000 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_XYZ_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout3x=1 } if %xchart4=4 %END X,Y,Z = f(wd) %STOP4-4 %************************************************************* %xchart4=5-0 %STOP5-0 %BEG A,B,CAB = f(wd) xchart4 5 eq {%xchart4=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 1200 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 [( ) ( 20) ( 40) ( 60) ( 80) (100) ] 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 % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 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 -350 iyt moveto tyA i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -320 3000 120 add moveto (A) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (B) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-60 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 300 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Buntwerte) showde (, and chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP5-1 380 280 1200 add translate %shift of cero point by 1200 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 -1200 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 -1200 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 proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP5-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 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 0 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 -1200 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 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 proc_hABw_ABCY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP5-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv 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 0 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 -1200 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 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_ABCY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=5 %END A,B,CAB = f(wd) %STOP5-4 %************************************************************* %xchart4=6-0 %STOP6-0 %BEG L*,a*,b*,C*ab = f(wd) xchart4 6 eq {%xchart4=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 1200 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* [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] 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 % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 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 -350 iyt moveto tya* i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a*) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b*) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 250 sub 3000 250 add moveto (L*) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (CIELAB\255Helligkeiten) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b*) show TBS 0 setgray (,) show TBIS ( C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %****************************************************** %STOP6-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /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 -1200 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 -1200 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 proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP6-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 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 0 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 -1200 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 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 proc_hABw_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP6-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv 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 0 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 -1200 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 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=6 %END L*,a*,b*,C*ab = f(wd) %STOP6-4 %************************************************************* %xchart4=7-0 %STOP7-0 %BEG Y/100, a, b, cab = f(wd) xchart4 7 eq {%xchart4=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 1200 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 [( ) ( 20) ( 40) ( 60) ( 80) (100) ] 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 % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 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 -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a) show 20 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 250 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill 0 setgray /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwert) showde (tristimulus value) showea 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Farbarten) showde (, and chromaticities) showea 1 0 0 setrgbcolor TBIS ( a) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( c) show 0 -30 rmoveto TBL xchart14 0 eq {(ab0)}{(ab1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%K=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %K=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************** %STOP7-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /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, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 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 -1200 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 proc_wd_abcY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP7-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 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 0 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, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %%used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 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 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 proc_wd_abcY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP7-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv 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 0 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, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %%used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 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 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_wd_abcY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=7 %END a,b,c,Y = f(fw) %STOP7-4 %*************************************************************** showpage grestore %} for %xchartl=0,7 %showpage %grestore %} for %xchart4=0,7 %showpage %grestore %} for %xcolorl=0,0 %%Trailer