%!PS-Adobe-3.0 EPSF-3.0 www.ps.bam.de/XE38/10L/L38E00XX.PS 20061001 %%BoundingBox: 00 00 414 292 /pdfmark where {pop} {userdict /pdfmark /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: www.ps.bam.de/XE38/XE38.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: www.ps.bam.de or http://o2.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.Richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark [ /View [ /Fit ] /DOCVIEW pdfmark %BEG XE38/10L/L38N00ZED NO Output Linearization LAB* -> cmyolvnw* 20030101 %BEG OUTLIN10.PS /MTLoutaS0g 21 array def /MTLoutaS0g [18.01 23.17 28.33 33.49 38.65 43.81 48.97 54.13 59.29 64.45 69.61 74.77 79.93 85.09 90.25 95.41 18.01 37.36 56.71 76.06 95.41] def %FILE PREPARED FOR MIXED MODE, e. g. input ORS and output TLS /IMES 0 def %0=LAB* used, no reflection factor necessary %/IMES 1 def /Yre 2.52 def %1=XYZ measurement and standard device reflection %/i*ptrsc 0 def %LAB* setcolor to cmy0* / 000n* setcmykcolor /i*ptrsc 1 def %LAB* setcolor to olv* setrgbcolor / w* setgray %/i*ptrsc 2 def %LAB* setcolor to cmy0* / nnn0* setcmykcolor %/i*ptrsc 3 def %LAB* setcolor to olv* / www* setrgbcolor %/i*ptrsc 4 def %LAB* setcolor to lab* setcolor %/i*ptrsc 5 def %LAB* setcolor to LAB* setcolor %/i*ptrsc 6 def %LAB* setcolor to 000n* setcmykcolor %/i*ptrsc 7 def %LAB* setcolor to w* setgray /ISYSLAB 0 def %default input for Offset Reflective System (ORS18) /ISYSTEM 0 def %default output for Offset Reflective System (ORS18) %/ISYSLAB 1 def %input for Television Luminous System (TLS00) %/ISYSTEM 1 def %output for Television Luminous System (TLS00) %/ISYSLAB 2 def %input for Device Reflective measurement system (DRSXX) %/ISYSTEM 2 def %output for Device Reflective measurement system (DRSXX) %/ISYSLAB 3 def %input for Television Luminous Reflection System (TLS18) %/ISYSTEM 3 def %output for Television Luminous Reflection System (TLS18) %/ISYSLAB 4 def %input for Device Luminous measurement system (DLSXX) %/ISYSTEM 4 def %output for Device Luminous measurement system (DLSXX) /iLAB 0 def % for preparing input-output system data only once %END XE38/10L/EARLY BINDING %END XE38/10L/L38N00ZED NO Output Linearisation (OL) LAB* -> cmyolvnw* 20030101 %BEG XE38/10L/OUTLIN1XNA.PS MXYZ_to_LAB* 20030101 %BEG XE38/10L/EARLY BINDING AND SYSTEM (ONLY USED IN CASE OF OL) /sggray {setgray} bind def /sgrgbcolor {setrgbcolor} bind def /sgcmykcolor {setcmykcolor} bind def /sgtransfer {settransfer} bind def /sgcolortransfer {setcolortransfer} bind def /sgcolor {setcolor} bind def %END XE38/10L/EARLY BINDING AND SYSTEM (ONLY USED IN CASE OF OL) %INTENDED, START and LINEARIZED OUTPUT OF 16 STEP GREY (GLOBAL TO BE CHANGED) /MTLoutaS0g 21 array def /MTLoutaS1g 16 array def /MTLoutaS2g 16 array def %absolute lightness L* output %theoretical standard absolute linear L* output: no change of output %do not change the following two lines of output data /MTLoutaS0g [18.01 23.17 28.33 33.49 38.65 43.81 48.97 54.13 59.29 64.45 69.61 74.77 79.93 85.09 90.25 95.41 18.01 37.36 56.71 76.06 95.41] def %theoretical absolute square root (Exp. 0.5) L* output %/MTLoutaS1g [18.0 38.0 46.3 52.6 58.0 62.7 67.0 70.9 % 74.5 78.0 81.2 83.4 87.2 90.1 92.8 95.4] def %change the following two lines for the 16 start grey CIELAB L* output data /MTLoutaS1g [18.01 23.17 28.33 33.49 38.65 43.81 48.97 54.13 59.29 64.45 69.61 74.77 79.93 85.09 90.25 95.41] def %theoretical absolute half square (Exp. 1.5) L* output %/MTLoutaS2g [18.0 19.3 21.8 24.9 28.7 32.9 37.6 42.7 % 48.1 54.0 60.1 66.6 74.3 80.4 87.8 95.4] def %change the following two lines for the 16 linearized grey CIELAB L* output data /MTLoutaS2g [18.01 23.17 28.33 33.49 38.65 43.81 48.97 54.13 59.29 64.45 69.61 74.77 79.93 85.09 90.25 95.41] def %BEG Procedure special input XYZ to be transferred to LAB* /MXYZ_to_LAB* {%BEG MXYZ_to_LAB* /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /Xwref XD65 0.8859 mul def %wref=white reference /Ywref YD65 0.8859 mul def /Zwref ZD65 0.8859 mul def /Xnref XD65 Yre 100 div mul def %nref=black reference /Ynref YD65 Yre 100 div mul def /Znref ZD65 Yre 100 div mul def 0 16 240 {/j exch def %j=0,112,16 %Asumption END point "white" /i10 j 4 mul 1 add def /i20 i10 15 4 mul add def 0 1 15 {/i exch def %i=0,15 /i2i1 i10 i 4 mul add def /i2i2 i2i1 1 add def /i2i3 i2i1 2 add def /XQ MISO_S1gXYZ i2i1 get MISO_S1gXYZ i20 0 add get div Xwref mul Xnref add XD65 div def /YQ MISO_S1gXYZ i2i2 get MISO_S1gXYZ i20 1 add get div Ywref mul Ynref add YD65 div def /ZQ MISO_S1gXYZ i2i3 get MISO_S1gXYZ i20 2 add get div Zwref mul Znref add ZD65 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 MISO_S1g i2i1 YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put MISO_S1g i2i2 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 MISO_S1g i2i3 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,15 } for %j=0,240,16 } bind def %END Procedure MXYZ_to_LAB* %END XE38/10L/OUTLIN1XNA.PS MXYZ_to_LAB* 20030101 /CFilenameS1g %START output of step S1g (www.ps.bam.de/XE38/10L/L38E00N) def %Link file name for data /CDateS1g (2004-05-01, Name) def %Date of calculation, Tester /CDeviceS1g (unknown ) def %Device name /CMeasS1g (XE38/10L/L38E00N) def %File name measured in step S1g %change scount2g from 2 to 10 for 10 series %change pcount2g from 8 to 240 for 240 pages of each series /scount1g 1 def /scount2g 1 def /scountg 1 def /pcount1g 1 def /pcount2g 1 def /pcountg 1 def /xchart1g 0 def /xchart2g 1 def /xchartg 0 def /BeginEPSF { % def % Prepare for EPS file /b4_Inc_state save def % Save state for cleanup /dict_count countdictstack def /op_count count 1 sub def % Count objects on op stack userdict begin % Make userdict current dict /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath /languagelevel where % If level not equal to 1 then {pop languagelevel where % If level not equal to 1 then 1 ne {false setstrokeadjust false setoverprint } if } if } bind def /EndEPSF { % def count op_count sub {pop} repeat countdictstack dict_count sub {end} repeat % Clean up dict stack b4_Inc_state restore } 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 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIK {250 /TimesI-ISOL1 FS} bind def /TIM {300 /TimesI-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TBK {250 /TimesB-ISOL1 FS} bind def /TBM {300 /TimesB-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBIK {250 /TimesBI-ISOL1 FS} bind def /TBIM {300 /TimesBI-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def %ANFA CMYKDEF %CMYKDEA0 (A0=Standard-Drucker-CMYKDEF) 15.3.97 /tzac [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzam [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzay [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzan [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tza0 [0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000] def /tza1 [1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000] def %ENDE CMYKD /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 /colrecfiLAB* %x y width heigth LAB* { setcolor rec fill} bind def /colrecstLAB* %x y width heigth LAB* { setcolor rec stroke} bind def /colrecficmyn* %x y width heigth cmy0* or 000n* { setcmykcolor rec fill} bind def /colrecstcmyn* %x y width heigth cmy0* or 000n* { setcmykcolor rec stroke} bind def /colrecfiw* %x y width heigth w* { setgray rec fill} bind def /colrecstw* %x y width heigth w* { setgray rec stroke} bind def /colrecfiolv* %x y width heigth olv* { setrgbcolor rec fill} bind def /colrecstolv* %x y width heigth olv* { setrgbcolor rec stroke} bind def /tzocmy0* {0.0 1.0 1.0 0.0} bind def %Reproduction colours /tzlcmy0* {1.0 0.0 1.0 0.0} bind def %cmyn* setcmykcolor /tzvcmy0* {1.0 1.0 0.0 0.0} bind def /tzccmy0* {1.0 0.0 0.0 0.0} bind def /tzmcmy0* {0.0 1.0 0.0 0.0} bind def /tzycmy0* {0.0 0.0 1.0 0.0} bind def /tzoolv* {1.0 0.0 0.0} bind def %Reproduction colours /tzlolv* {0.0 1.0 0.0} bind def %olv* setrgbcolor /tzvolv* {0.0 0.0 1.0} bind def /tzcolv* {0.0 1.0 1.0} bind def /tzmolv* {1.0 0.0 1.0} bind def /tzyolv* {1.0 1.0 0.0} bind def /tzoLAB* [53.34 72.46 50.66] def %Reproduction colours /tzlLAB* [84.93 -79.83 74.80] def %LAB* setcolor /tzvLAB* [32.20 24.88 -37.89] def /tzcLAB* [88.10 -44.88 -13.36] def /tzmLAB* [59.66 90.32 -19.65] def /tzyLAB* [93.76 -20.24 85.93] def /tzncmy0* {1.00 1.00 1.00 0.00} bind def %grey series /tzdcmy0* {0.75 0.75 0.75 0.00} bind def %cmy0* setcmykcolor /tzzcmy0* {0.50 0.50 0.50 0.00} bind def /tzhcmy0* {0.25 0.25 0.25 0.00} bind def /tzwcmy0* {0.00 0.00 0.00 0.00} bind def /tzn000n* {0.00 0.00 0.00 1.00} bind def %grey series 000n* /tzd000n* {0.00 0.00 0.00 0.75} bind def %000n* setcmykcolor /tzz000n* {0.00 0.00 0.00 0.50} bind def /tzh000n* {0.00 0.00 0.00 0.25} bind def /tzw000n* {0.00 0.00 0.00 0.00} bind def /tznw* {0.00} bind def %grey series /tzdw* {0.25} bind def %w* setgray /tzzw* {0.50} bind def /tzhw* {0.75} bind def /tzww* {1.00} bind def /tznolv* {0.00 0.00 0.00} bind def %grey series /tzdolv* {0.25 0.25 0.25} bind def %olv* setrgbcolor /tzzolv* {0.50 0.50 0.50} bind def /tzholv* {0.75 0.75 0.75} bind def /tzwolv* {1.00 1.00 1.00} bind def /tznLAB* [18.01 0.00 0.00] def %grey series /tzdLAB* [37.36 0.00 0.00] def %LAB* setcolor /tzzLAB* [56.71 0.00 0.00] def /tzhLAB* [76.06 0.00 0.00] def /tzwLAB* [95.41 0.00 0.00] def /tfn {0 setgray} bind def /tfw {1 setgray} bind def /A4quer {598 0 translate 90 rotate} def %0 %1 /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 /tzank [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def %picturetransfer from standard locations (8 pictures, 5 test charts) /xpic5458 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %x for chartg=0 0.0 0.0 0.0 -12 0.0 0.0 0.0 0.0 %x for chartg=1 0.0 0.0 0.0 -25 0.0 0.0 0.0 0.0 %x for chartg=2 0.0 0.0 0.0 -12 0.0 0.0 0.0 0.0 %x for chartg=3 0.0 0.0 0.0 -20 0.0 0.0 0.0 0.0] def %x for chartg=4 /ypic5458 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %y for chartg=0 0.0 0.0 0.0 -05 0.0 0.0 0.0 0.0 %y for chartg=1 0.0 0.0 0.0 -12 0.0 0.0 0.0 0.0 %y for chartg=2 0.0 0.0 0.0 -05 0.0 0.0 0.0 0.0 %y for chartg=3 0.0 0.0 0.0 -20 0.0 0.0 0.0 0.0] def %y for chartg=4 %BEG 61 lines comment or new PS operators possible %02 %03 %04 %05 %06 %07 %08 %09 %11 %END 38 lines comment or new PS operators possible %%EndProlog %%BeginPageSetup /#copies 1 def %A4quer 0.5 0.5 scale /pgsave save def %%EndPageSetup 0.0 MM 0.0 MM translate %Verschiebung nach oben und links fuer Belichter gsave /SS$ [(G) (E) (S) (F) (I) (J) (M)] def /SC$ [(N) (F) (S) (D) (T) (E) (C)] def /SX$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def /SY$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def % 0 1 2 3 4 5 % 6 7 8 /EX$ [(1.PS/.TXT) (B.PS/.BMP) (G.PS/.GIF) (H.PS/.HTM) (I.PS/.HTM) (J.PS/.JPE) (P.PS/.PDF) (T.PS/.TIF)] def /EY$ [(1.DAT) (B.DAT) (G.DAT) (H.DAT) (I.DAT) (J.DAT) (P.DAT) (T.DAT)] def /lanindg1 1 def /lanindg2 1 def /colormg1 0 def /colormg2 0 def /xcolorg1 0 def /xcolorg2 0 def /xchartg1 0 def /xchartg2 0 def /lanindg lanindg1 def %no loops /colormg colormg1 def /xcolorg xcolorg1 def /xchartg xchartg1 def /pcount2x pcount2g xchart2g sub 2 add def 1 1 1 {/scountg exch def %s=serie, e. g. 1,1,10 1 1 1 {/pcountg exch def %p=page, e. g. 1,1,250 pcountg pcount1g eq {/xchart10 0 def /xchart20 0 def} {/xchart10 1 def /xchart20 1 def} ifelse %%pcountg pcount2x eq {/xchart10 0 def /xchart20 0 def} if 0 1 0 {/xchartg exch def %2 MM /Times-Roman FS %274 MM 82 MM moveto -90 rotate (/XE38/ ) show (Form: ) show %xchartg 1 add cvi 6 string cvs show (/) show %xchart2g 1 add cvi 6 string cvs show (,) show 90 rotate %274 MM 65 MM moveto -90 rotate (Serie: ) show %scountg cvi 6 string cvs show (/) show %scount2g cvi 6 string cvs show (,) show 90 rotate %274 MM 55 MM moveto -90 rotate %lanindg 0 eq {(Seite: )}{(Page: )} ifelse show %pcountg xchartg xchart10 sub add cvi 6 string cvs show 90 rotate %274 MM 45 MM moveto %-90 rotate %lanindg 0 eq {(Seitenz\344hlung )}{(Page: count: )} ifelse show %scountg 1 sub pcount2g mul pcountg add %pcountg pcount2x eq {xchartg add pcount1g pcount2x ne {2 sub } if} if %cvi 6 string cvs show %90 rotate /GSS$ SS$ lanindg get def /GSC$ SC$ colormg get def /GSX$ SX$ xcolorg get def /GSY$ SY$ xchartg get def /GEX$ EX$ 0 get def /GEY$ EY$ 0 get def /xcha801 xchartg 8 mul 0 add def /xcha803 xchartg 8 mul 1 add def /xcha805 xchartg 8 mul 2 add def /xcha807 xchartg 8 mul 3 add def /xcha811 xchartg 8 mul 4 add def /xcha813 xchartg 8 mul 5 add def /xcha815 xchartg 8 mul 6 add def /xcha817 xchartg 8 mul 7 add def %gsave BeginEPSF 28 MM 197 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 10 %line 329 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 11 %line 339 %!PS-Adobe-3.0 EPSF-3.0 XE380-1 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [0 0 0 1 0 0 1 1 0 0 0 0] def /KURVA2 [0 0 0 1 0 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 525 575 475 600 ] def /XRG$I [(525) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE380-1 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 0 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def /YEXU {YIXU i get} def /YEXP {YIXP i get} def %YP1 sub YUN1 add} def /YEXD {YIXD i get} def %YD1 sub YUN1 add} def /YEXT {YIXT i get} def %YT2 sub YUN2 add} def /YEXN {YIXN i get} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 1800 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0o D0o T0o %P0a D0a T0a U0a N0a W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %special 200 3525 moveto ( ) bshowM ILS 0 eq {%iLS=0,1 tfw (Cone sensitivity) showen (Zapfenempfindlichkeit) showde} {tfw (Cone exitation ) showen (Zapfenerregbarkeit ) showde (e) bishowM IKOM 0 eq {(U) ishowK} if IKOM 1 eq {(N) ishowK} if IKOM 2 eq {(H) ishowK} if IKOM 3 eq {(W) ishowK} if } ifelse %ILS=0,1 200 3250 moveto tfw ( ) bshowM ILS 0 eq {%iLS=0,1 (normalized to one) showen (normiert auf eins) showde % (normalized to cone) showen % (normiert auf Zapfen\255) showde % (increased to cone) showen % (verst\344rkt auf Zapfen\255) showde } {( ) showen ( ) showde } ifelse %ILS=0,1 200 2975 moveto tfw ( ) bshowM ILS 0 eq {%iLS=0,1 % (ratio P:D:T=1:2:16) showen % (verh\344ltnis P:D:T=1:2:16) showde } {( ) showen ( ) showde } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def X435 200 add 2600 moveto T0o X540 200 add 2600 moveto D0o X570 200 add 2600 moveto P0o %210 3525 moveto %special U0a,N0a %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 %210 3250 moveto %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 % } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram 2900 3800 moveto tfw (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto ( = \050) bshowM (l) outSM ( - 555\051 / 50) bshowM 2900 3525 moveto tfw (log) bshowM 30 0 rmoveto P0o 50 0 rmoveto tfw (= -0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM tfo (570) ishowK (]) TBM tfw show (2) ebshowM 2900 3250 moveto tfw (log) bshowM 30 0 rmoveto D0o 50 0 rmoveto tfw (= -0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM tfl (540) ishowK (]) TBM tfw show (2) ebshowM 2900 2975 moveto tfw (log) bshowM 30 0 rmoveto T0o 50 0 rmoveto tfw (= -0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM tfv (435) ishowK (]) TBM tfw show (2) ebshowM %text always %3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto %tfw (= log) bshowM 50 0 rmoveto P0o tfw %YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow %3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto %tfw (= log) bshowM 50 0 rmoveto D0o tfw %YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow %special for 475nm/575nm %3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto %tfw (= log) bshowM 50 0 rmoveto T0o tfw %/YDTW YT2 neg YI2 add def %YDTW 0 ge {( + )} {( - )} ifelse bshowM %YDTW abs troshow %y-arrow 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( 1) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke %X700 0 moveto 0 2160 rlineto stroke %X400c 0 moveto 0 2160 rlineto stroke X435 0 moveto 0 2160 rlineto stroke X540 0 moveto 0 2160 rlineto stroke X570 0 moveto 0 2160 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show %xchart 2 ge {%xchart>=2 % X475 0 moveto 0 2160 rlineto stroke % X575 0 moveto 0 2160 rlineto stroke % X475 20 add 100 moveto (475) show % X575 20 add 100 moveto (575) show X435 220 add 100 moveto (435) show X540 420 sub 100 moveto (540) show X570 20 add 100 moveto (570) show % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 12 %line 349 %!PS-Adobe-3.0 EPSF-3.0 XE380-2 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [0 0 0 1 0 0 1 1 0 0 0 0] def /KURVA2 [0 0 0 1 0 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 525 575 475 600 ] def /XRG$I [(525) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE380-2 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 0 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def /YEXU {YIXU i get} def /YEXP {YIXP i get} def %YP1 sub YUN1 add} def /YEXD {YIXD i get 2 log sub} def %YD1 sub YUN1 add} def /YEXT {YIXT i get 16 log sub} def %YT2 sub YUN2 add} def /YEXN {YIXN i get} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 1800 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0o D0a T0a %U0a N0a W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %special 200 3525 moveto ( ) bshowM ILS 0 eq {%iLS=0,1 tfw (Retinal sensitivity) showen (Retinaempfindlichkeit) showde} {tfw (Cone exitation ) showen (Zapfenerregbarkeit ) showde (e) bishowM IKOM 0 eq {(U) ishowK} if IKOM 1 eq {(N) ishowK} if IKOM 2 eq {(H) ishowK} if IKOM 3 eq {(W) ishowK} if } ifelse %ILS=0,1 200 3250 moveto tfw ( ) bshowM ILS 0 eq {%iLS=0,1 % (normalized to one) showen % (normiert auf eins) showde (adapted to cone) showen (adaptiert auf Zapfen\255) showde % (increased for cone) showen % (verst\344rkt f\374r Zapfen\255) showde } {( ) showen ( ) showde } ifelse %ILS=0,1 200 2975 moveto tfw ( ) bshowM ILS 0 eq {%iLS=0,1 (ratio P:D:T=1:2:16) showen (verh\344ltnis P:D:T=1:2:16) showde} {( ) showen ( ) showde } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def X435 200 add 2600 moveto T0a X540 200 add 2600 moveto D0a X570 200 add 2600 moveto P0o %210 3525 moveto %special U0a,N0a %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 %210 3250 moveto %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 % } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw %YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow ( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw %YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow /ALOG2 2 log def ( - ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw %/YDTW YT2 neg YI2 add def %YDTW 0 ge {( + )} {( - )} ifelse bshowM %YDTW abs troshow /ALOG16 16 log def ( - ) bshowM ALOG16 troshow %y-arrow 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( 1) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke %X700 0 moveto 0 2160 rlineto stroke %X400c 0 moveto 0 2160 rlineto stroke X435 0 moveto 0 2160 rlineto stroke X540 0 moveto 0 2160 rlineto stroke X570 0 moveto 0 2160 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show %xchart 2 ge {%xchart>=2 % X475 0 moveto 0 2160 rlineto stroke % X575 0 moveto 0 2160 rlineto stroke % X475 20 add 100 moveto (475) show % X575 20 add 100 moveto (575) show X435 220 add 100 moveto (435) show X540 20 add 100 moveto (540) show X570 20 add 100 moveto (570) show % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 13 %line 359 %!PS-Adobe-3.0 EPSF-3.0 XE380-3 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [0 0 0 1 0 0 1 1 0 0 0 0] def /KURVA2 [0 0 0 1 0 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 525 575 475 600 ] def /XRG$I [(525) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE380-3 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 0 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def /YEXU {YIXU i get} def /YEXP {YIXP i get} def %YP1 sub YUN1 add} def /YEXD {YIXD i get 2 log add} def %YD1 sub YUN1 add} def /YEXT {YIXT i get 16 log add} def %YT2 sub YUN2 add} def /YEXN {YIXN i get} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 1800 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: natural) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0o D0a T0a %U0a N0a W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a %U0a N0a W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %special 1325 3800 moveto ( ) bshowM ILS 0 eq {%iLS=0,1 tfw (Cone sensitivity) showen (Empfindlichkeit) showde} {tfw (Cone exitation ) showen (Erregbarkeit ) showde (e) bishowM IKOM 0 eq {(U) ishowK} if IKOM 1 eq {(N) ishowK} if IKOM 2 eq {(H) ishowK} if IKOM 3 eq {(W) ishowK} if } ifelse %ILS=0,1 1375 3525 moveto tfw ( ) bshowM ILS 0 eq {%iLS=0,1 % (normalized to one) showen % (normiert auf eins) showde % (normalized to cone) showen % (normiert auf Zapfen\255) showde (increased) showen (verst\344rkt) showde } {( ) showen ( ) showde } ifelse %ILS=0,1 1375 3250 moveto tfw ( ) bshowM ILS 0 eq {%iLS=0,1 (P:D:T=1:2:16) showen (P:D:T=1:2:16) showde} {( ) showen ( ) showde } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def X435 200 add 2600 moveto T0a X540 200 add 2800 moveto D0a X570 200 add 2800 moveto P0o %210 3525 moveto %special U0a,N0a %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 %210 3250 moveto %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 % } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw %YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow ( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw %YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow /ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw %/YDTW YT2 neg YI2 add def %YDTW 0 ge {( + )} {( - )} ifelse bshowM %YDTW abs troshow /ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( 1) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke %X700 0 moveto 0 2160 rlineto stroke %X400c 0 moveto 0 2160 rlineto stroke X435 0 moveto 0 2160 rlineto stroke X540 0 moveto 0 2460 rlineto stroke X570 0 moveto 0 2160 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show %xchart 2 ge {%xchart>=2 % X475 0 moveto 0 2160 rlineto stroke % X575 0 moveto 0 2160 rlineto stroke % X475 20 add 100 moveto (475) show % X575 20 add 100 moveto (575) show X435 220 add 100 moveto (435) show X540 320 sub 100 moveto (540) show X570 320 sub 100 moveto (570) show % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if %ILS 0 eq {/Y1C 2900 def} if ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 14 %line 369 %!PS-Adobe-3.0 EPSF-3.0 XE380-4 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [2 0 0 1 2 0 1 1 0 0 0 0] def /KURVA2 [2 0 0 1 2 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 575 575 475 600 ] def /XRG$I [(575) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE380-4 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 0 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def % /YEXU {YIXU i get} def /YEXP {YIXP i get} def %YP1 sub YUN1 add} def /YEXD {YIXD i get 2 log add} def %YD1 sub YUN1 add} def /YEXT {YIXT i get 16 log add} def %YT2 sub YUN2 add} def % /YEXN {YIXN i get} def /YEXU {YEXP YEXD add 0.5 mul} def /YEXN {YEXT YEXU add 0.5 mul} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 3000 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: ) bshowM tfw (l) outSM tfo (R) ishowK tfl (G) ishowK tfw (=) bshowM (590) bshowM %XRG$I ILK get bshowM %special; first part not visible 2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM tfw (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0o D0a T0a %U0a N0a W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def /X495 000 0.95 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X555 000 1.55 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def /X590 000 1.90 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def X435 100 add 2600 moveto T0a X540 200 add 2825 moveto D0a 30 -50 rmoveto U0a 30 -50 rmoveto P0o %X570 200 add 2800 moveto P0a X495 200 add 2700 moveto N0a 210 3525 moveto %special U0a,N0a ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM U0a tfw ( = 0,5 [log) bshowM P0o tfw (+log) bshowM D0a tfw (]) bshowM } { tfw (log) bshowM U0a tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } ifelse %ILN=5,#5 210 3250 moveto ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0a tfw (]) bshowM } { tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0a tfw (]) bshowM } ifelse %ILN=5,#5 } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw %YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow ( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw %YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow /ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw %/YDTW YT2 neg YI2 add def %YDTW 0 ge {( + )} {( - )} ifelse bshowM %YDTW abs troshow /ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( 1) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2400 rlineto stroke X400c 0 moveto 0 2400 rlineto stroke %X435 0 moveto 0 2760 rlineto stroke %X540 0 moveto 0 2260 rlineto stroke %X570 0 moveto 0 2060 rlineto stroke %X495 0 moveto 0 2160 rlineto stroke %X555 0 moveto 0 2100 rlineto stroke X525 0 moveto 0 2400 rlineto stroke X590 0 moveto 0 2400 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show %xchart 2 ge {%xchart>=2 % X475 0 moveto 0 2160 rlineto stroke % X575 0 moveto 0 2160 rlineto stroke % X475 20 add 100 moveto (475) show % X575 20 add 100 moveto (575) show %X435 100 sub -200 moveto (435) show %X495 320 sub 100 moveto (495) show %X540 320 sub 100 moveto (540) show %X555 270 sub -200 moveto (555 570) show X525 300 sub 0400 moveto tfw (l) outSK tfy (J) ishowK tfv (B) ishowK X525 320 sub 150 moveto tfw TBK (525) show X590 450 sub 0300 moveto tfw (l) outSK tfo (R) ishowK tfl (G) ishowK X590 420 sub 0050 moveto tfw TBK (590) show [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if %ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 15 %line 379 %!PS-Adobe-3.0 EPSF-3.0 XE380-5 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [2 0 0 1 2 0 1 1 0 0 0 0] def /KURVA2 [2 0 0 1 2 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 575 575 475 600 ] def /XRG$I [(575) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE380-5 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 0 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def % /YEXU {YIXU i get} def /YEXP {YIXP i get YP1 sub YUN1 add} def /YEXD {YIXD i get YD1 sub YUN1 add} def /YEXT {YIXT i get YT2 sub YUN2 add} def % /YEXN {YIXN i get} def /YEXU {YEXP YEXD add 0.5 mul} def /YEXN {YEXT YEXU add 0.5 mul} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 3000 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: ) bshowM tfw (l) outSM tfo (R) ishowK tfl (G) ishowK tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible 2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM tfw (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0a D0a T0a U0o N0o %W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0o N0o %W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0o N0o %W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def /X495 000 0.95 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X555 000 1.55 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def X435 100 add 2600 moveto T0a X540 200 add 2700 moveto D0a 30 -50 rmoveto U0o 30 -50 rmoveto P0a %X570 200 add 2800 moveto P0a X495 200 add 2600 moveto N0o %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM 210 3525 moveto %special U0a,N0a ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } { tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } ifelse %ILN=5,#5 210 3250 moveto ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } { tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0a tfw (]) bshowM } ifelse %ILN=5,#5 } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow %( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow %/ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw /YDTW YT2 neg YI2 add def YDTW 0 ge {( + )} {( - )} ifelse bshowM YDTW abs troshow %/ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( 1) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2160 rlineto stroke X400c 0 moveto 0 2160 rlineto stroke X435 0 moveto 0 2760 rlineto stroke X540 0 moveto 0 2260 rlineto stroke X570 0 moveto 0 2060 rlineto stroke X495 0 moveto 0 2160 rlineto stroke X555 0 moveto 0 2100 rlineto stroke X525 300 moveto 0 1860 rlineto stroke X575 0 moveto 0 2100 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show %xchart 2 ge {%xchart>=2 % X475 0 moveto 0 2160 rlineto stroke % X575 0 moveto 0 2160 rlineto stroke % X475 20 add 100 moveto (475) show % X575 20 add 100 moveto (575) show X435 100 sub -200 moveto (435) show X495 320 sub 100 moveto (495) show X540 320 sub 100 moveto (540) show X555 270 sub -200 moveto (555 570) show X525 300 sub 1100 moveto tfw (l) outSK tfy (J) ishowK tfv (B) ishowK X525 320 sub 850 moveto tfw TBK (525) show X575 30 add 1550 moveto tfw (l) outSK tfo (R) ishowK tfl (G) ishowK X575 30 add 1300 moveto tfw TBK (575) show % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if %ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 16 %line 389 %!PS-Adobe-3.0 EPSF-3.0 XE380-6 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [2 0 0 1 2 0 1 1 0 0 0 0] def /KURVA2 [2 0 0 1 2 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 525 575 475 600 ] def /XRG$I [(525) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE380-6 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 0 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def % /YEXU {YIXU i get} def /YEXP {YIXP i get YP1 sub YUN1 add} def /YEXD {YIXD i get YD1 sub YUN1 add} def /YEXT {YIXT i get YT2 sub YUN2 add} def % /YEXN {YIXN i get} def /YEXU {YEXP YEXD add 0.5 mul} def /YEXN {YEXT YEXU add 0.5 mul} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 3000 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: ) bshowM tfw (l) outSM tfo (R) ishowK tfl (G) ishowK tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible 2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM tfw (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0a D0a T0a U0o N0o %W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0o N0o %W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0o N0o %W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def /X495 000 0.95 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X555 000 1.55 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def X435 100 add 2600 moveto T0a X540 200 add 2630 moveto D0a 20 50 rmoveto U0o 20 50 rmoveto P0a %X570 200 add 2800 moveto P0a X495 200 add 2600 moveto N0o %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM 210 3525 moveto %special U0a,N0a ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } { tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } ifelse %ILN=5,#5 210 3250 moveto ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } { tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } ifelse %ILN=5,#5 } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow %( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow %/ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw /YDTW YT2 neg YI2 add def YDTW 0 ge {( + )} {( - )} ifelse bshowM YDTW abs troshow %/ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( 1) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2160 rlineto stroke X400c 0 moveto 0 2160 rlineto stroke X435 0 moveto 0 2760 rlineto stroke X540 0 moveto 0 2060 rlineto stroke X570 0 moveto 0 2260 rlineto stroke X495 0 moveto 0 2160 rlineto stroke X555 0 moveto 0 2100 rlineto stroke X525 300 moveto 0 1860 rlineto stroke %X575 0 moveto 0 2100 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show %xchart 2 ge {%xchart>=2 % X475 0 moveto 0 2160 rlineto stroke % X575 0 moveto 0 2160 rlineto stroke % X475 20 add 100 moveto (475) show % X575 20 add 100 moveto (575) show X435 100 sub -200 moveto (435) show X495 320 sub 100 moveto (495) show X540 320 sub 100 moveto (540) show X555 270 sub -200 moveto (555 570) show X525 300 sub 1100 moveto tfw (l) outSK tfy (J) ishowK tfv (B) ishowK X525 330 sub 850 moveto tfw (l) outSK tfo (R) ishowK tfl (G) ishowK X525 320 sub 600 moveto tfw TBK (525) show % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if %ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 020 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 17 %line 399 %!PS-Adobe-3.0 EPSF-3.0 XE380-7 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [2 0 0 1 2 2 1 1 0 0 0 0] def /KURVA2 [2 0 0 1 2 2 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 525 575 475 600 ] def /XRG$I [(525) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE380-7 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 0 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def % /YEXU {YIXU i get} def /YEXP {YIXP i get YP1 sub YUN1 add} def /YEXD {YIXD i get YD1 sub YUN1 add} def /YEXT {YIXT i get YT2 sub YUN2 add} def % /YEXN {YIXN i get} def /YEXU {YEXP YEXD add 0.5 mul} def /YEXN {YEXT YEXU add 0.5 mul} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 3000 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: ) bshowM tfw (l) outSM tfo (R) ishowK tfl (G) ishowK tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible 2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM tfw (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 % tfw (log [) bshowM P0a D0a T0a U0a N0a W0a tfw (log [) bshowM P0a T0a U0o N0o W0a tfw (]) bshowM} % {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0a N0a W0a {INE 0 eq {tfw (log[) bshowM P0a T0a U0o N0o W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0o N0o W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def /X495 000 0.95 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X555 000 1.55 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def X435 100 add 2600 moveto T0a X540 50 add 2630 moveto W0a 20 50 rmoveto D0a 20 50 rmoveto U0o 20 50 rmoveto P0a %X570 200 add 2800 moveto P0a X495 200 add 2600 moveto N0o %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM 210 3525 moveto %special U0a,N0a ILN 5 ge {%ILN=5,#5 tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM % tfw (log) bshowM U0a tfw ( = 0,5 [log) bshowM P0a % tfw (+log) bshowM D0a tfw (]) bshowM } { tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } ifelse %ILN=5,#5 210 3250 moveto ILN 5 ge {%ILN=5,#5 tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0o tfw (+log) bshowM U0o tfw (]) bshowM % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM } { tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } ifelse %ILN=5,#5 } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow %( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow %/ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw /YDTW YT2 neg YI2 add def YDTW 0 ge {( + )} {( - )} ifelse bshowM YDTW abs troshow %/ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( 1) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2160 rlineto stroke X400c 0 moveto 0 2160 rlineto stroke X435 0 moveto 0 2760 rlineto stroke X540 0 moveto 0 2060 rlineto stroke X570 0 moveto 0 2260 rlineto stroke X495 0 moveto 0 2160 rlineto stroke X555 0 moveto 0 2100 rlineto stroke X525 300 moveto 0 1860 rlineto stroke %X575 0 moveto 0 2100 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show %xchart 2 ge {%xchart>=2 % X475 0 moveto 0 2160 rlineto stroke % X575 0 moveto 0 2160 rlineto stroke % X475 20 add 100 moveto (475) show % X575 20 add 100 moveto (575) show X435 100 sub -200 moveto (435) show X495 320 sub 100 moveto (495) show X540 320 sub 100 moveto (540) show X555 270 sub -200 moveto (555 570) show X525 300 sub 1100 moveto tfw (l) outSK tfy (J) ishowK tfv (B) ishowK X525 330 sub 850 moveto tfw (l) outSK tfo (R) ishowK tfl (G) ishowK X525 320 sub 600 moveto tfw TBK (525) show % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if %ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM moveto ( ) show 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 18 %line 409 %!PS-Adobe-3.0 EPSF-3.0 XE380-8 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [2 0 0 1 2 2 1 1 0 0 0 0] def /KURVA2 [2 0 0 1 2 2 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 575 575 475 600 ] def /XRG$I [(575) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE380-8 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 0 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def % /YEXU {YIXU i get} def /YEXP {YIXP i get YP1 sub YUN1 add} def /YEXD {YIXD i get YD1 sub YUN1 add} def /YEXT {YIXT i get YT2 sub YUN2 add} def % /YEXN {YIXN i get} def /YEXU {YEXP YEXD add 0.5 mul} def /YEXN {YEXT YEXU add 0.5 mul} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 3000 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: ) bshowM tfw (l) outSM tfo (R) ishowK tfl (G) ishowK tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible 2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM tfw (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0a D0a T0a U0o N0o W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0o N0o W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0o N0o W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def /X495 000 0.95 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X555 000 1.55 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def X435 100 add 2600 moveto T0a X540 200 add 2700 moveto D0a 30 -50 rmoveto U0o 30 -50 rmoveto P0a %X570 200 add 2800 moveto P0a X495 200 add 2600 moveto N0o %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM 210 3525 moveto %special U0a,N0a ILN 5 ge {%ILN=5,#5 tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM % tfw (log) bshowM U0a tfw ( = 0,5 [log) bshowM P0a % tfw (+log) bshowM D0a tfw (]) bshowM } { tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } ifelse %ILN=5,#5 210 3250 moveto ILN 5 ge {%ILN=5,#5 tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0o tfw (+log) bshowM U0o tfw (]) bshowM % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM } { tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } ifelse %ILN=5,#5 } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow %( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow %/ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw /YDTW YT2 neg YI2 add def YDTW 0 ge {( + )} {( - )} ifelse bshowM YDTW abs troshow %/ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( 1) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2160 rlineto stroke X400c 0 moveto 0 2160 rlineto stroke X435 0 moveto 0 2760 rlineto stroke X540 0 moveto 0 2260 rlineto stroke X570 0 moveto 0 2060 rlineto stroke X495 0 moveto 0 2160 rlineto stroke X555 0 moveto 0 2100 rlineto stroke X525 300 moveto 0 1860 rlineto stroke X575 0 moveto 0 2100 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show %xchart 2 ge {%xchart>=2 % X475 0 moveto 0 2160 rlineto stroke % X575 0 moveto 0 2160 rlineto stroke % X475 20 add 100 moveto (475) show % X575 20 add 100 moveto (575) show X435 100 sub -200 moveto (435) show X495 320 sub 100 moveto (495) show X540 320 sub 100 moveto (540) show X555 270 sub -200 moveto (555 570) show X525 300 sub 1100 moveto tfw (l) outSK tfy (J) ishowK tfv (B) ishowK X525 320 sub 850 moveto tfw TBK (525) show %X575 050 sub 0725 moveto tfw (l) outSK tfo (R) ishowK tfl (G) ishowK X575 010 add 0475 moveto tfw TBK (575) show % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if %ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 197 MM translate 10 /Times-ISOL1 FS 1 1 scale -77 -91 translate %%BeginDocument: Bild 12 %line 419 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 21 %line 429 %!PS-Adobe-3.0 EPSF-3.0 XE381-1 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [0 0 0 1 0 0 1 1 0 0 0 0] def /KURVA2 [0 0 0 1 0 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 525 575 475 600 ] def /XRG$I [(525) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE381-1 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def /YEXU {YIXU i get} def /YEXP {YIXP i get} def %YP1 sub YUN1 add} def /YEXD {YIXD i get} def %YD1 sub YUN1 add} def /YEXT {YIXT i get} def %YT2 sub YUN2 add} def /YEXN {YIXN i get} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 1800 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0o D0o T0o %P0a D0a T0a U0a N0a W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0o D0o T0o %U0a N0a W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def /X590 000 1.90 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def %210 3525 moveto %special U0a,N0a %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 %210 3250 moveto %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 % } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram 2900 3800 moveto tfw (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto ( = \050) bshowM (l) outSM ( - 555\051 / 50) bshowM 2900 3525 moveto tfw (log) bshowM 30 0 rmoveto P0o 50 0 rmoveto tfw (= -0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM tfo (570) ishowK (]) TBM tfw show (2) ebshowM 2900 3250 moveto tfw (log) bshowM 30 0 rmoveto D0o 50 0 rmoveto tfw (= -0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM tfl (540) ishowK (]) TBM tfw show (2) ebshowM 2900 2975 moveto tfw (log) bshowM 30 0 rmoveto T0o 50 0 rmoveto tfw (= -0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM tfv (435) ishowK (]) TBM tfw show (2) ebshowM %text always %3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto %tfw (= log) bshowM 50 0 rmoveto P0o tfw %YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow %3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto %tfw (= log) bshowM 50 0 rmoveto D0o tfw %YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow %special for 475nm/575nm %3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto %tfw (= log) bshowM 50 0 rmoveto T0o tfw %/YDTW YT2 neg YI2 add def %YDTW 0 ge {( + )} {( - )} ifelse bshowM %YDTW abs troshow %y-arrow tfw 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if %special %tfz % 0 1700 moveto 0 300 rlineto stroke %tfw TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( ) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2400 rlineto stroke X400c 0 moveto 0 2400 rlineto stroke X435 0 moveto 0 1950 rlineto stroke X540 0 moveto 0 1950 rlineto stroke X570 0 moveto 0 1950 rlineto stroke X435 100 sub 2000 moveto T0o X540 100 sub 2000 moveto D0o X570 100 sub 2000 moveto P0o tfw TBK %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show X435 320 sub 100 moveto (435) show X540 320 sub 100 moveto (540) show X570 050 add 200 moveto (570) show X435 200 sub 2450 moveto tfw (log\050) bshowM T0o tfw (/) bshowM YAa tfw (\051) bshowM X590 050 add 2200 moveto tfw (log\050) bshowM P0a tfw (/) bshowM YAa tfw (\051) bshowM X590 050 add 1000 moveto tfw (log\050) bshowM D0a tfw (/) bshowM YAa tfw (\051) bshowM [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 22 %line 439 %!PS-Adobe-3.0 EPSF-3.0 XE381-2 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [0 0 0 1 0 0 1 1 0 0 0 0] def /KURVA2 [0 0 0 1 0 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 525 575 475 600 ] def /XRG$I [(525) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE381-2 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def /YEXU {YIXU i get} def /YEXP {YIXP i get} def %YP1 sub YUN1 add} def /YEXD {YIXD i get 2 log sub} def %YD1 sub YUN1 add} def /YEXT {YIXT i get 16 log sub} def %YT2 sub YUN2 add} def /YEXN {YIXN i get} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 1800 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0a D0a T0a %U0a N0a W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a %U0a N0a W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def /X590 000 1.90 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def %210 3525 moveto %special U0a,N0a %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 %210 3250 moveto %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 % } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw %YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow ( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw %YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow /ALOG2 2 log def ( - ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw %/YDTW YT2 neg YI2 add def %YDTW 0 ge {( + )} {( - )} ifelse bshowM %YDTW abs troshow /ALOG16 16 log def ( - ) bshowM ALOG16 troshow %y-arrow tfw 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if %special %tfz % 0 1700 moveto 0 300 rlineto stroke %tfw TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( ) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2400 rlineto stroke X400c 0 moveto 0 2400 rlineto stroke X435 0 moveto 0 1950 rlineto stroke X540 0 moveto 0 1950 rlineto stroke X570 0 moveto 0 1950 rlineto stroke X435 100 sub 2000 moveto T0a X540 100 sub 2000 moveto D0a X570 100 sub 2000 moveto P0a tfw TBK %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show X435 020 add 100 moveto (435) show X540 020 add 100 moveto (540) show X570 020 add 100 moveto (570) show X435 200 sub 2450 moveto tfw (log\050) bshowM T0a tfw (/) bshowM YAa tfw (\051) bshowM X590 050 add 2200 moveto tfw (log\050) bshowM P0a tfw (/) bshowM YAa tfw (\051) bshowM X590 050 add 1000 moveto tfw (log\050) bshowM D0a tfw (/) bshowM YAa tfw (\051) bshowM [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 23 %line 449 %!PS-Adobe-3.0 EPSF-3.0 XE381-3 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [0 0 0 1 0 0 1 1 0 0 0 0] def /KURVA2 [0 0 0 1 0 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 525 575 475 600 ] def /XRG$I [(525) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE381-3 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def /YEXU {YIXU i get} def /YEXP {YIXP i get} def %YP1 sub YUN1 add} def /YEXD {YIXD i get 2 log add} def %YD1 sub YUN1 add} def /YEXT {YIXT i get 16 log add} def %YT2 sub YUN2 add} def /YEXN {YIXN i get} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 1800 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: natural) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0a D0a T0a %U0a N0a W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a %U0a N0a W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def /X590 000 1.90 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def %210 3525 moveto %special U0a,N0a %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 %210 3250 moveto %ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } % { % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM % } ifelse %ILN=5,#5 % } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw %YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow ( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw %YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow /ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw %/YDTW YT2 neg YI2 add def %YDTW 0 ge {( + )} {( - )} ifelse bshowM %YDTW abs troshow /ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow tfw 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if %special %tfz % 0 1700 moveto 0 300 rlineto stroke %tfw TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( ) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2400 rlineto stroke X400c 0 moveto 0 2400 rlineto stroke X435 0 moveto 0 1950 rlineto stroke X540 0 moveto 0 1950 rlineto stroke X570 0 moveto 0 1950 rlineto stroke X435 100 sub 2000 moveto T0a X540 100 sub 2000 moveto D0a X570 100 sub 2000 moveto P0a tfw TBK %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show X435 320 sub 100 moveto (435) show X540 320 sub 100 moveto (540) show X570 320 sub 100 moveto (570) show X435 200 sub 2450 moveto tfw (log\050) bshowM T0a tfw (/) bshowM YAa tfw (\051) bshowM X590 050 add 2200 moveto tfw (log\050) bshowM P0a tfw (/) bshowM YAa tfw (\051) bshowM X590 050 add 1000 moveto tfw (log\050) bshowM D0a tfw (/) bshowM YAa tfw (\051) bshowM [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if %ILS 0 eq {/Y1C 2900 def} if ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 24 %line 459 %!PS-Adobe-3.0 EPSF-3.0 XE381-4 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [2 0 0 1 2 0 1 1 0 0 0 0] def /KURVA2 [2 0 0 1 2 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 575 575 475 600 ] def /XRG$I [(575) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE381-4 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def % /YEXU {YIXU i get} def /YEXP {YIXP i get} def %YP1 sub YUN1 add} def /YEXD {YIXD i get 2 log add} def %YD1 sub YUN1 add} def /YEXT {YIXT i get 16 log add} def %YT2 sub YUN2 add} def % /YEXN {YIXN i get} def /YEXU {YEXP YEXD add 0.5 mul} def /YEXN {YEXT YEXU add 0.5 mul} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 3000 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: ) bshowM tfw (l) outSM tfo (R) ishowK tfl (G) ishowK tfw (=) bshowM (590) bshowM %XRG$I ILK get bshowM %special; first part not visible 2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM tfw (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0a D0a T0a %U0a N0a W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0a N0a %W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0a N0a W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def /X495 000 0.95 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X555 000 1.55 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def /X590 000 1.90 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def %X435 100 add 2600 moveto T0a %X540 200 add 2825 moveto D0a 30 -50 rmoveto U0a 30 -50 rmoveto P0a %X570 200 add 2800 moveto P0a %X495 200 add 2700 moveto N0a 210 3525 moveto %special U0a,N0a ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM U0a tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } { tfw (log) bshowM U0a tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } ifelse %ILN=5,#5 210 3250 moveto ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0a tfw (]) bshowM } { tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0a tfw (]) bshowM } ifelse %ILN=5,#5 } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw %YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow ( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw %YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow /ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw %/YDTW YT2 neg YI2 add def %YDTW 0 ge {( + )} {( - )} ifelse bshowM %YDTW abs troshow /ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow tfw 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if %special tfz 0 1700 moveto 0 300 rlineto stroke tfw TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( ) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2400 rlineto stroke X400c 0 moveto 0 2400 rlineto stroke %X435 0 moveto 0 2760 rlineto stroke %X540 0 moveto 0 2260 rlineto stroke %X570 0 moveto 0 2060 rlineto stroke %X495 0 moveto 0 2160 rlineto stroke %X555 0 moveto 0 2100 rlineto stroke X525 0 moveto 0 2400 rlineto stroke X590 0 moveto 0 2400 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show X525 300 sub 0400 moveto tfw (l) outSK tfy (J) ishowK tfv (B) ishowK X525 320 sub 150 moveto tfw TBK (525) show X590 350 sub 0300 moveto tfw (l) outSK tfo (R) ishowK tfl (G) ishowK X590 320 sub 0050 moveto tfw TBK (590) show X435 200 sub 2450 moveto tfw (log\050) bshowM T0a tfw (/) bshowM YAa tfw (\051) bshowM X590 050 add 2450 moveto tfw (log\050) bshowM P0a tfw (/) bshowM YAa tfw (\051) bshowM X590 050 add 2175 moveto tfw (log\050) bshowM U0a tfw (/) bshowM YAa tfw (\051) bshowM X400 350 sub 1775 moveto tfw (log\050) bshowM N0a tfw (/) bshowM YAa tfw (\051) bshowM X590 050 add 1100 moveto tfw (log\050) bshowM D0a tfw (/) bshowM YAa tfw (\051) bshowM [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if %ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 25 %line 469 %!PS-Adobe-3.0 EPSF-3.0 XE381-5 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [2 0 0 1 2 0 1 1 0 0 0 0] def /KURVA2 [2 0 0 1 2 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 575 575 475 600 ] def /XRG$I [(575) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE381-5 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 0 def} if %W xchart 4 ge xchart 7 le and {/IKOM 0 def} if %W xchart 8 ge xchart 11 le and {/IKOM 0 def} if %W xchart 12 ge xchart 15 le and {/IKOM 0 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (o) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (o) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (o) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (o) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def % /YEXU {YIXU i get} def /YEXP {YIXP i get YP1 sub YUN1 add} def /YEXD {YIXD i get YD1 sub YUN1 add} def /YEXT {YIXT i get YT2 sub YUN2 add} def % /YEXN {YIXN i get} def /YEXU {YEXP YEXD add 0.5 mul} def /YEXN {YEXT YEXU add 0.5 mul} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 3000 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: ) bshowM tfw (l) outSM tfo (R) ishowK tfl (G) ishowK tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible 2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM tfw (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0a D0a T0a U0o N0o %W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0o N0o %W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0o N0o %W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def /X495 000 0.95 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X555 000 1.55 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def %X435 100 add 2600 moveto T0a %X540 200 add 2700 moveto D0a 30 -50 rmoveto U0a 30 -50 rmoveto P0a %X570 200 add 2800 moveto P0a %X495 200 add 2600 moveto N0a %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM 210 3525 moveto %special U0a,N0a ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } { tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } ifelse %ILN=5,#5 210 3250 moveto ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } { tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } ifelse %ILN=5,#5 } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow %( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow %/ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw /YDTW YT2 neg YI2 add def YDTW 0 ge {( + )} {( - )} ifelse bshowM YDTW abs troshow %/ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow tfw 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if %special %tfz % 0 1700 moveto 0 300 rlineto stroke tfw TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( ) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2400 rlineto stroke X400c 0 moveto 0 2400 rlineto stroke X525 0 moveto 0 2400 rlineto stroke X575 0 moveto 0 2400 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show X525 300 sub 0400 moveto tfw (l) outSK tfy (J) ishowK tfv (B) ishowK X525 320 sub 150 moveto tfw TBK (525) show X575 350 sub 0300 moveto tfw (l) outSK tfo (R) ishowK tfl (G) ishowK X575 320 sub 0050 moveto tfw TBK (575) show X435 200 sub 2450 moveto tfw (log\050) bshowM T0a tfw (/) bshowM YAa tfw (\051) bshowM X575 050 add 2175 moveto tfw (log\050) bshowM P0a tfw (/) bshowM YAa tfw (\051) bshowM X575 050 add 1900 moveto tfw (log\050) bshowM U0o tfw (/) bshowM YAa tfw (\051) bshowM X575 050 add 1625 moveto tfw (log\050) bshowM D0a tfw (/) bshowM YAa tfw (\051) bshowM X575 350 add 0600 moveto tfw (log\050) bshowM N0o tfw (/) bshowM YAa tfw (\051) bshowM % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if %ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 26 %line 479 %!PS-Adobe-3.0 EPSF-3.0 XE381-6 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [2 0 0 1 2 0 1 1 0 0 0 0] def /KURVA2 [2 0 0 1 2 0 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 525 575 475 600 ] def /XRG$I [(525) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE381-6 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 0 def} if %W xchart 4 ge xchart 7 le and {/IKOM 0 def} if %W xchart 8 ge xchart 11 le and {/IKOM 0 def} if %W xchart 12 ge xchart 15 le and {/IKOM 0 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (o) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (o) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (o) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (o) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def % /YEXU {YIXU i get} def /YEXP {YIXP i get YP1 sub YUN1 add} def /YEXD {YIXD i get YD1 sub YUN1 add} def /YEXT {YIXT i get YT2 sub YUN2 add} def % /YEXN {YIXN i get} def /YEXU {YEXP YEXD add 0.5 mul} def /YEXN {YEXT YEXU add 0.5 mul} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 3000 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: ) bshowM tfw (l) outSM tfo (R) ishowK tfl (G) ishowK tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible 2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM tfw (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0a D0a T0a U0o N0o %W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0o N0o %W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0o N0o %W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def /X495 000 0.95 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X555 000 1.55 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def %X435 100 add 2600 moveto T0a %X540 200 add 2630 moveto D0a 20 50 rmoveto U0a 20 50 rmoveto P0a %X570 200 add 2800 moveto P0a %X495 200 add 2600 moveto N0a %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM 210 3525 moveto %special U0a,N0a ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } { tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } ifelse %ILN=5,#5 210 3250 moveto ILN 5 ge {%ILN=5,#5 % tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0a % tfw (+log) bshowM U0a tfw (]) bshowM tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } { tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } ifelse %ILN=5,#5 } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow %( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow %/ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw /YDTW YT2 neg YI2 add def YDTW 0 ge {( + )} {( - )} ifelse bshowM YDTW abs troshow %/ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow tfw 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if %special %tfz % 0 1700 moveto 0 300 rlineto stroke tfw TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( ) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash X700 0 moveto 0 2400 rlineto stroke X400c 0 moveto 0 2400 rlineto stroke X525 0 moveto 0 2400 rlineto stroke X700 320 sub 100 moveto (700) show X525 300 sub 0650 moveto tfw (l) outSK tfy (J) ishowK tfv (B) ishowK X525 350 sub 0400 moveto tfw (l) outSK tfo (R) ishowK tfl (G) ishowK X525 320 sub 0150 moveto tfw TBK (525) show X435 200 sub 2450 moveto tfw (log\050) bshowM T0a tfw (/) bshowM YAa tfw (\051) bshowM X575 050 add 2175 moveto tfw (log\050) bshowM P0a tfw (/) bshowM YAa tfw (\051) bshowM X575 050 add 1900 moveto tfw (log\050) bshowM U0o tfw (/) bshowM YAa tfw (\051) bshowM X575 050 add 1625 moveto tfw (log\050) bshowM D0a tfw (/) bshowM YAa tfw (\051) bshowM X575 350 add 0600 moveto tfw (log\050) bshowM N0o tfw (/) bshowM YAa tfw (\051) bshowM % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if %ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 020 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 27 %line 489 %!PS-Adobe-3.0 EPSF-3.0 XE381-7 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [2 0 0 1 2 2 1 1 0 0 0 0] def /KURVA2 [2 0 0 1 2 2 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 525 575 475 600 ] def /XRG$I [(525) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE381-7 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def % /YEXU {YIXU i get} def /YEXP {YIXP i get YP1 sub YUN1 add} def /YEXD {YIXD i get YD1 sub YUN1 add} def /YEXT {YIXT i get YT2 sub YUN2 add} def % /YEXN {YIXN i get} def /YEXU {YEXP YEXD add 0.5 mul} def /YEXN {YEXT YEXU add 0.5 mul} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 3000 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: ) bshowM tfw (l) outSM tfo (R) ishowK tfl (G) ishowK tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible 2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM tfw (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0o tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 % tfw (log [) bshowM P0a D0a T0a U0a N0a W0a tfw (log [) bshowM P0a T0a U0o N0o W0a tfw (]) bshowM} % {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0a N0a W0a {INE 0 eq {tfw (log[) bshowM P0a T0a U0o N0o W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0o N0o W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def /X495 000 0.95 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X555 000 1.55 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def %X435 100 add 2600 moveto T0a %X540 200 add 2630 moveto W0a 20 50 rmoveto U0a 20 50 rmoveto P0a %X570 200 add 2800 moveto P0a %X495 200 add 2600 moveto N0a %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM 210 3525 moveto %special U0a,N0a ILN 5 ge {%ILN=5,#5 tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM % tfw (log) bshowM U0a tfw ( = 0,5 [log) bshowM P0a % tfw (+log) bshowM D0a tfw (]) bshowM } { tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } ifelse %ILN=5,#5 210 3250 moveto ILN 5 ge {%ILN=5,#5 tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0o tfw (+log) bshowM U0o tfw (]) bshowM % tfw (log) bshowM N0a tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM } { tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } ifelse %ILN=5,#5 } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow %( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow %/ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw /YDTW YT2 neg YI2 add def YDTW 0 ge {( + )} {( - )} ifelse bshowM YDTW abs troshow %/ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow tfw 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if %special %tfz % 0 1700 moveto 0 300 rlineto stroke tfw TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( ) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2160 rlineto stroke X400c 0 moveto 0 2160 rlineto stroke %X435 0 moveto 0 2760 rlineto stroke %X540 0 moveto 0 2060 rlineto stroke %X570 0 moveto 0 2260 rlineto stroke %X495 0 moveto 0 2160 rlineto stroke %X555 0 moveto 0 2100 rlineto stroke X525 0 moveto 0 2400 rlineto stroke %X575 0 moveto 0 2400 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show %xchart 2 ge {%xchart>=2 % X475 0 moveto 0 2160 rlineto stroke % X575 0 moveto 0 2160 rlineto stroke % X475 20 add 100 moveto (475) show % X575 20 add 100 moveto (575) show %X435 100 sub -200 moveto (435) show %X495 320 sub 100 moveto (495) show %X540 320 sub 100 moveto (540) show %X555 270 sub -200 moveto (555 570) show X525 300 sub 0650 moveto tfw (l) outSK tfy (J) ishowK tfv (B) ishowK X525 350 sub 0400 moveto tfw (l) outSK tfo (R) ishowK tfl (G) ishowK X525 320 sub 0150 moveto tfw TBK (525) show X435 200 sub 2450 moveto tfw (log\050) bshowM T0a tfw (/) bshowM YAa tfw (\051) bshowM X575 050 add 2450 moveto tfw (log\050) bshowM P0a tfw (/) bshowM YAa tfw (\051) bshowM X575 050 add 2175 moveto tfw (log\050) bshowM U0o tfw (/) bshowM YAa tfw (\051) bshowM X400 350 sub 1775 moveto tfw (log\050) bshowM N0o tfw (/) bshowM YAa tfw (\051) bshowM % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if %ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM moveto ( ) show 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 28 %line 499 %!PS-Adobe-3.0 EPSF-3.0 XE381-8 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark2 where {pop} {userdict /pdfmark2 /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: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2006100112000) /ModDate (D:2006100112000) /DOCINFO pdfmark2 [ /View [ /FitB ] /DOCVIEW pdfmark2 %END PDFDE011 % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TKi {160 /Times-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBKe {160 /TimesB-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -50 rmoveto show 0 50 rmoveto} bind def /ebshowG {TBM 0 160 rmoveto show 0 -160 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowM {TBK 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TKi 0 -25 rmoveto show 0 25 rmoveto} bind def /ebshowK {TBKe 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /W 12 array def % U P D T N W P D T U N W /W [555 570 540 435 495 525 570 540 435 555 495 525] def /WS 12 array def 0 1 11 {/j exch def %j=0,11 WS j 525 W j get 525 sub sub put } for %j=0,11 /YIXU 88 array def /YIXP 88 array def /YIXD 88 array def /YIXT 88 array def /YIXN 88 array def /YIXI 88 array def /YIXE 88 array def /YIXF 88 array def /YIXW 88 array def /YIXH 88 array def /YIXUS 88 array def /YIXPS 88 array def /YIXDS 88 array def /YIXTS 88 array def /YIXNS 88 array def /YIXIS 88 array def /YIXES 88 array def /YIXFS 88 array def /YIXWS 88 array def /YIXHS 88 array def /YEXP0 88 array def /YEXP1 88 array def /YEXP2 88 array def /YEXP3 88 array def /YEXP4 88 array def /YEXP5 88 array def /YEXP6 88 array def /YEXP7 88 array def /YEXP8 88 array def /YEXP9 88 array def /YEXP10 88 array def /YEXP11 88 array def /YEXP0S 88 array def /YEXP1S 88 array def /YEXP2S 88 array def /YEXP3S 88 array def /YEXP4S 88 array def /YEXP5S 88 array def /YEXP6S 88 array def /YEXP7S 88 array def /YEXP8S 88 array def /YEXP9S 88 array def /YEXP10S 88 array def /YEXP11S 88 array def /Yix 88 array def /Yiy 88 array def /Xi 88 array def /Yi 88 array def /YixS 88 array def /YiyS 88 array def /XiS 88 array def /YiS 88 array def /KURVA 12 array def %12 actual curves /KURVA1 12 array def %12 curves, Sensitivity, one or two colours /KURVA2 12 array def %12 curves, Saturation, one or two colours % U P D T N W P D T E F H /KURVA1 [2 0 0 1 2 2 1 1 0 0 0 0] def /KURVA2 [2 0 0 1 2 2 1 1 0 0 0 0] def /IDAI1 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI01 [100 000 000 000 100 100 100 100 100 300 300 300] def /IDAI10 [100 000 000 000 100 100 100 100 100 100 100 100] def /IDAI11 [100 000 000 000 100 100 100 100 100 300 300 300] def /FKUC1 12 array def %Actual colour C, Sensitivity /FKUC2 12 array def %Actual colour C, Saturation /FKUM1 12 array def %Actual colour M, Sensitivity /FKUM2 12 array def %Actual colour M, Saturation /FKUY1 12 array def %Actual colour Y, Sensitivity /FKUY2 12 array def %Actual colour Y, Saturation /FKUN1 12 array def %Actual colour N, Sensitivity /FKUN2 12 array def %Actual colour N, Saturation /FKUCI00 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10 12 array def %Cyan, Colour 1, Saturation /FKUCI11 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUCI10 [0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11 [0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0] def /FKUMI00 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10 12 array def %Magenta, Colour 1, Saturation /FKUMI11 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUMI10 [0.0 1.0 0.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11 [0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0] def /FKUYI00 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10 12 array def %Yellow, Colour 1, Saturation /FKUYI11 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUYI10 [0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11 [1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0] def /FKUNI00 12 array def %Black, Colour 1, Sensitivity /FKUNI01 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10 12 array def %Black, Colour 1, Saturation /FKUNI11 12 array def %Black, Colour 2 on top, Saturation /FKUNI00 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI01 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI10 [1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0] def /FKUNI11 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /XRGAI 4 array def /XRG$I 4 array def /XJBAI 4 array def /XBJ$I 4 array def /XRGAI [ 575 575 475 600 ] def /XRG$I [(575) (575) (475) (600)] def /XJBAI [ 525 575 475 600 ] def /XBJ$I [(525) (575) (475) (600)] def /KURVAS 12 array def %12 actual curves /KURVA1S 12 array def %12 curves, Sensitivity, one or two colours /KURVA2S 12 array def %12 curves, Saturation, one or two colours % U'P'D'T'N'W'P'D'T'E'F'H' /KURVA1S [0 0 0 0 0 0 0 0 0 0 0 0] def /KURVA2S [0 0 0 0 0 0 0 0 0 0 0 0] def /IDAI1S 12 array def %12 curves, Sensitivity, actual setdash data, first curve /IDAI2S 12 array def %12 curves, Saturation, actual setdash data, second curve /IDAI00S 12 array def %12 curves, Sensitivity, setdash data, first curve /IDAI01S 12 array def %12 curves, Saturation, setdash data, first curve /IDAI10S 12 array def %12 curves, Sensitivity, setdash data, second curve /IDAI11S 12 array def %12 curves, Saturation, setdash data, second curve /IDAI00S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI01S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI10S [100 100 100 100 100 100 100 100 100 100 100 100] def /IDAI11S [100 100 100 100 100 100 100 100 100 100 100 100] def /FKUC1S 12 array def %Actual colour C, Sensitivity /FKUC2S 12 array def %Actual colour C, Saturation /FKUM1S 12 array def %Actual colour M, Sensitivity /FKUM2S 12 array def %Actual colour M, Saturation /FKUY1S 12 array def %Actual colour Y, Sensitivity /FKUY2S 12 array def %Actual colour Y, Saturation /FKUN1S 12 array def %Actual colour N, Sensitivity /FKUN2S 12 array def %Actual colour N, Saturation /FKUCI00S 12 array def %Cyan, Colour 1, Sensitivity /FKUCI01S 12 array def %Cyan, Colour 2 on top, Sensitivity /FKUCI10S 12 array def %Cyan, Colour 1, Saturation /FKUCI11S 12 array def %Cyan, Colour 2 on top, Saturation /FKUCI00S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI01S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUCI10S [0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0] def /FKUCI11S [0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI00S 12 array def %Magenta, Colour 1, Sensitivity /FKUMI01S 12 array def %Magenta, Colour 2 on top, Sensitivity /FKUMI10S 12 array def %Magenta, Colour 1, Saturation /FKUMI11S 12 array def %Magenta, Colour 2 on top, Saturation /FKUMI00S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI01S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUMI10S [0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0] def /FKUMI11S [0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI00S 12 array def %Yellow, Colour 1, Sensitivity /FKUYI01S 12 array def %Yellow, Colour 2 on top, Sensitivity /FKUYI10S 12 array def %Yellow, Colour 1, Saturation /FKUYI11S 12 array def %Yellow, Colour 2 on top, Saturation /FKUYI00S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI01S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUYI10S [0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0] def /FKUYI11S [1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI00S 12 array def %Black, Colour 1, Sensitivity /FKUNI01S 12 array def %Black, Colour 2 on top, Sensitivity /FKUNI10S 12 array def %Black, Colour 1, Saturation /FKUNI11S 12 array def %Black, Colour 2 on top, Saturation /FKUNI00S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI01S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /FKUNI10S [1.0 0.0 0.0 0.5 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0] def /FKUNI11S [0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0] def /XRGAIS 4 array def /XRG$IS 4 array def /XJBAIS 4 array def /XBJ$IS 4 array def 0 1 3 {/j exch def %j=0,3 XRGAIS j 525 XRGAI j get 525 sub sub put XJBAIS j 525 XJBAI j get 525 sub sub put XRG$IS j XRGAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put XBJ$IS j XJBAIS j get 0.005 add 100 mul truncate 100 div 10 string cvs put } for %j=0,3 /JPPM 4 def /CY 0.35 def /CX 50 def %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchart 0 def} {/xchart 0 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE381-8 ) show %(Change of PDT (LMS) in volour vision; Adaptation) showen %(\304nderung von PDT (LMS) beim Farbensehen; Adaptation) showde 72 90 translate %/xchart 02 def %0 1 15 {/xchart exch def %xchart=0,15 gsave xchart 0 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if %ILT=0 NO threshold xchart 1 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 2 eq {/ILK 1 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 3 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 4 eq {/ILK 2 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 5 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 6 eq {/ILK 3 def /ILS 0 def /INE 0 def /ILF 0 def} if xchart 7 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 0 def} if xchart 8 eq {/ILK 0 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 9 eq {/ILK 0 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 10 eq {/ILK 1 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 11 eq {/ILK 1 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 12 eq {/ILK 2 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 13 eq {/ILK 2 def /ILS 1 def /INE 0 def /ILF 1 def} if xchart 14 eq {/ILK 3 def /ILS 2 def /INE 0 def /ILF 0 def} if xchart 15 eq {/ILK 3 def /ILS 1 def /INE 0 def /ILF 1 def} if /ILT 0 def %Threshold %/ILF 1 def %/IKOM 0 def %0=U, 1=N/G, 2=W/R, 3=V xchart 0 ge xchart 3 le and {/IKOM 2 def} if %W xchart 4 ge xchart 7 le and {/IKOM 2 def} if %W xchart 8 ge xchart 11 le and {/IKOM 2 def} if %W xchart 12 ge xchart 15 le and {/IKOM 2 def} if %W %/ILN 4 def %L&M, L&S, M&S, UVW&S %/ILN 5 def %L&M, L&S, M&S, UGR&S %/ILN 6 def %L&M, L&S, M&S, UNW /ILN 7 def %L&M, L&S, M&S, UNW, EFH ILN 5 eq {/JPPM 6 def} {/JPPM 5 def} ifelse ILN 6 eq {/JPPM 8 def} if ILN 7 eq {/JPPM 11 def} if ILF 1 eq {/JPPM 1 def} if %JPPM=0,5:without/with R+G chromaticity diagram ILS 2 eq {/JPPM 5 def} if /FAKJB 1.0 def /IED 0 def %IED=0,1 without/with Evans G0-data IKOM 0 eq {/RGX1 1.0 def /RGX2 0.5 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 1 eq {/RGX1 0.5 def /RGX2 0.5 def /JBY1 0.5 def /JBY2 0.5 def} if IKOM 2 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if IKOM 3 eq {/RGX1 1.0 def /RGX2 1.0 def /JBY1 1.0 def /JBY2 1.0 def} if /ILU 0 def %NO u scale ILT 0 eq {/ta 0.0 def /logta -6 def} if ILT 1 eq {/ta 0.007 def /logta ta log def} if ILT 2 eq {/ta 0.002 def /logta ta log def} if /MULX 0600 def /MULY 1200 0.8 mul def ILS 1 eq {/MULY 1200 0.4 mul def} if /MULF 1200 0.8 mul def 0.01 MM 0.01 MM scale 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill /Xa {(a) ishowM} def /Xo {(o) ishowM} def /P0o {tfo (P) bishowM tfo (o) ishowM} def /D0o {tfl (D) bishowM tfl (o) ishowM} def /T0o {tfv (T) bishowM tfv (o) ishowM} def /P0a {tfo (P) bishowM tfo (a) ishowM} def /D0a {tfl (D) bishowM tfl (a) ishowM} def /T0a {tfv (T) bishowM tfv (a) ishowM} def /U0a {tfn (U) bishowM tfy (a) ishowM} def /N0a {tfn (N) bishowM tfc (a) ishowM} def /W0a {tfn (W) bishowM tfm (a) ishowM} def /U0o {tfn (U) bishowM tfy (o) ishowM} def /N0o {tfn (N) bishowM tfc (o) ishowM} def /W0o {tfn (W) bishowM tfm (o) ishowM} def /H0a {tfn (H) bishowM tfm (a) ishowM} def /I0a {tfn (I) bishowM tfm (a) ishowM} def /P0oS {tfo (P') bishowM tfo (o) ishowM} def /D0oS {tfl (D') bishowM tfl (o) ishowM} def /T0oS {tfv (T') bishowM tfv (o) ishowM} def /P0aS {tfo (P') bishowM tfo (a) ishowM} def /D0aS {tfl (D') bishowM tfl (a) ishowM} def /T0aS {tfv (T') bishowM tfv (a) ishowM} def /U0aS {tfn (U') bishowM tfy (a) ishowM} def /N0aS {tfn (N') bishowM tfc (a) ishowM} def /W0aS {tfn (W') bishowM tfm (a) ishowM} def /H0aS {tfn (H') bishowM tfm (a) ishowM} def /I0aS {tfn (I') bishowM tfm (a) ishowM} def /YAa {IKOM 0 eq {tfn (U) bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N) bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H) bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W) bishowM tfm (a) ishowM} if} def /YAaS {IKOM 0 eq {tfn (U') bishowM tfy (a) ishowM} if IKOM 1 eq {tfn (N') bishowM tfc (a) ishowM} if IKOM 2 eq {tfn (H') bishowM tfm (a) ishowM} if IKOM 3 eq {tfn (W') bishowM tfm (a) ishowM} if} def /AF1 0.5 def /AF2 0.5 def /XRGA {XRGAI ILK get} def /XJBA {XJBAI ILK get} def /XRG$ {XRG$I ILK get} def /XBJ$ {XBJ$I ILK get} def /XRGAS {XRGAIS ILK get} def /XJBAS {XJBAIS ILK get} def /XRG$S {XRG$IS ILK get} def /XBJ$S {XBJ$IS ILK get} def /W0 {W 0 get} def /W1 {W 1 get} def /W2 {W 2 get} def /W3 {W 3 get} def /W4 {W 4 get} def /W5 {W 5 get} def /W6 {W 6 get} def /W7 {W 7 get} def /W8 {W 8 get} def /W9 {W 9 get} def /W10 {W 10 get} def /W11 {W 11 get} def /W0S {WS 0 get} def /W1S {WS 1 get} def /W2S {WS 2 get} def /W3S {WS 3 get} def /W4S {WS 4 get} def /W5S {WS 5 get} def /W6S {WS 6 get} def /W7S {WS 7 get} def /W8S {WS 8 get} def /W9S {WS 9 get} def /W10S {WS 10 get} def /W11S {WS 11 get} def %function value for curve U normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1 {XRGA W0 sub CX div dup mul CY mul neg} def /YU2 {XJBA W0 sub CX div dup mul CY mul neg} def /YUU {0.0} def /YUP {W1 W0 sub CX div dup mul CY mul neg} def /YUD {W2 W0 sub CX div dup mul CY mul neg} def /YUT {W3 W0 sub CX div dup mul CY mul neg} def /YUN {W4 W0 sub CX div dup mul CY mul neg} def /YUI {W5 W0 sub CX div dup mul CY mul neg} def /YUW {YUU YUN add 0.5 mul} def %function value for curve P normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1 {XRGA XRGA 525 sub 0 ge {W1} {W1S} ifelse sub CX div dup mul CY mul neg} def /YP2 {XJBA W1 sub CX div dup mul CY mul neg} def /YPU {W0 W1 sub CX div dup mul CY mul neg} def /YPP {0.0} def /YPD {W2 W1 sub CX div dup mul CY mul neg} def /YPT {W3 W1 sub CX div dup mul CY mul neg} def /YPN {W4 W1 sub CX div dup mul CY mul neg} def /YPI {W5 W1 sub CX div dup mul CY mul neg} def /YPW {YPU YPN add 0.5 mul} def %function value for curve D normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5), % 450(V=6), 475(B=6), 575(J=7), 600(O=8) /YD1 {XRGA XRGA 525 sub 0 ge {W2} {W2S} ifelse sub CX div dup mul CY mul neg} def /YD2 {XJBA W2 sub CX div dup mul CY mul neg} def /YDU {W0 W2 sub CX div dup mul CY mul neg} def /YDP {W1 W2 sub CX div dup mul CY mul neg} def /YDD {0.0} def /YDT {W3 W2 sub CX div dup mul CY mul neg} def /YDN {W4 W2 sub CX div dup mul CY mul neg} def /YDI {W5 W2 sub CX div dup mul CY mul neg} def /YDW {YDU YDN add 0.5 mul} def %function value for curve T normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1 {XRGA W3 sub CX div dup mul CY mul neg} def /YT2 {XJBA XJBA 525 sub 0 le {W3} {W3S} ifelse sub CX div dup mul CY mul neg} def /YTU {W0 W3 sub CX div dup mul CY mul neg} def /YTP {W1 W3 sub CX div dup mul CY mul neg} def /YTD {W2 W3 sub CX div dup mul CY mul neg} def /YTT {0.0} def /YTN {W4 W3 sub CX div dup mul CY mul neg} def /YTI {W5 W3 sub CX div dup mul CY mul neg} def /YTW {YTU YTN add 0.5 mul} def %function value for curve N normalized to 1 at 5 wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1 {XRGA W4 sub CX div dup mul CY mul neg} def /YN2 {XJBA W4 sub CX div dup mul CY mul neg} def /YNU {W0 W4 sub CX div dup mul CY mul neg} def /YNP {W1 W4 sub CX div dup mul CY mul neg} def /YND {W2 W4 sub CX div dup mul CY mul neg} def /YNT {W3 W4 sub CX div dup mul CY mul neg} def /YNN {0.0} def /YNI {W5 W4 sub CX div dup mul CY mul neg} def /YNW {YNU YNN add 0.5 mul} def %function value for curve W normalized to 1 at 5 wavelengths 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1 {XRGA W5 sub CX div dup mul CY mul neg} def /YI2 {XJBA W5 sub CX div dup mul CY mul neg} def /YIU {W0 W5 sub CX div dup mul CY mul neg} def /YIP {W1 W5 sub CX div dup mul CY mul neg} def /YID {W2 W5 sub CX div dup mul CY mul neg} def /YIT {W3 W5 sub CX div dup mul CY mul neg} def /YIN {W4 W5 sub CX div dup mul CY mul neg} def /YII {0.0} def /YIW {YIU YIN add 0.5 mul} def %function value for curve U normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YU1S {XRGAS W0S sub CX div dup mul CY mul neg} def /YU2S {XJBAS W0S sub CX div dup mul CY mul neg} def /YUUS {0} def /YUPS {W1S W0S sub CX div dup mul CY mul neg} def /YUDS {W2S W0S sub CX div dup mul CY mul neg} def /YUTS {W3S W0S sub CX div dup mul CY mul neg} def /YUNS {W4S W0S sub CX div dup mul CY mul neg} def /YUIS {W5S W0S sub CX div dup mul CY mul neg} def /YUWS {YUUS YUNS add 0.5 mul} def %function value for curve P normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YP1S {XRGAS XRGAS 525 sub 0 le {W1S} {W1} ifelse sub CX div dup mul CY mul neg} def /YP2S {XJBAS W1S sub CX div dup mul CY mul neg} def /YPUS {W0S W1S sub CX div dup mul CY mul neg} def /YPPS {0} def /YPDS {W2S W1S sub CX div dup mul CY mul neg} def /YPTS {W3S W1S sub CX div dup mul CY mul neg} def /YPNS {W4S W1S sub CX div dup mul CY mul neg} def /YPIS {W5S W1S sub CX div dup mul CY mul neg} def /YPWS {YPUS YPNS add 0.5 mul} def %function value for curve D normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YD1S {XRGAS XRGAS 525 sub 0 le {W2S} {W2} ifelse sub CX div dup mul CY mul neg} def /YD2S {XJBAS W2S sub CX div dup mul CY mul neg} def /YDUS {W0S W2S sub CX div dup mul CY mul neg} def /YDPS {W1S W2S sub CX div dup mul CY mul neg} def /YDDS {0} def /YDTS {W3S W2S sub CX div dup mul CY mul neg} def /YDNS {W4S W2S sub CX div dup mul CY mul neg} def /YDIS {W5S W2S sub CX div dup mul CY mul neg} def /YDWS {YDUS YDNS add 0.5 mul} def %function value for curve T normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YT1S {XRGAS W3S sub CX div dup mul CY mul neg} def /YT2S {XJBAS XJBAS 525 sub 0 ge {W3S} {W3} ifelse sub CX div dup mul CY mul neg} def /YTUS {W0S W3S sub CX div dup mul CY mul neg} def /YTPS {W1S W3S sub CX div dup mul CY mul neg} def /YTDS {W2S W3S sub CX div dup mul CY mul neg} def /YTTS {0} def /YTNS {W4S W3S sub CX div dup mul CY mul neg} def /YTIS {W5S W3S sub CX div dup mul CY mul neg} def /YTWS {YTUS YTNS add 0.5 mul} def %function value for curve N normalized to 1 at 5S Wavelength 1 to 5 %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YN1S {XRGAS W4S sub CX div dup mul CY mul neg} def /YN2S {XJBAS W4S sub CX div dup mul CY mul neg} def /YNUS {W0S W4S sub CX div dup mul CY mul neg} def /YNPS {W1S W4S sub CX div dup mul CY mul neg} def /YNDS {W2S W4S sub CX div dup mul CY mul neg} def /YNTS {W3S W4S sub CX div dup mul CY mul neg} def /YNNS {0} def /YNIS {W5S W4S sub CX div dup mul CY mul neg} def /YNWS {YNUS YNNS add 0.5 mul} def %function value for curve W normalized to 1 at 9 wavelengths %XRGA, XJBA, 570(P=1), 540(D=2), 435(T=3), 495(N=4), 525(I=5) /YI1S {XRGAS W5S sub CX div dup mul CY mul neg} def /YI2S {XJBAS W5S sub CX div dup mul CY mul neg} def /YIUS {W0S W5S sub CX div dup mul CY mul neg} def /YIPS {W1S W5S sub CX div dup mul CY mul neg} def /YIDS {W2S W5S sub CX div dup mul CY mul neg} def /YITS {W3S W5S sub CX div dup mul CY mul neg} def /YINS {W4S W5S sub CX div dup mul CY mul neg} def /YIIS {0} def /YIWS {YWUS YWNS add 0.5 mul} def /YUN1 {XRGA 525 sub 0 ge {YU1} {YN1} ifelse} def /YUN2 {XJBA 525 sub 0 ge {YU2} {YN2} ifelse} def /YNU1S {XRGAS 525 sub 0 ge {YN1S} {YU1S} ifelse} def /YNU2S {XJBAS 525 sub 0 ge {YN2S} {YU2S} ifelse} def %i=0,85: 400_500_600_700_400(81) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXU i XEXI W 0 get sub CX div dup mul CY mul neg put YIXP i XEXI W 1 get sub CX div dup mul CY mul neg put YIXD i XEXI W 2 get sub CX div dup mul CY mul neg put YIXT i XEXI W 3 get sub CX div dup mul CY mul neg put YIXN i XEXI W 4 get sub CX div dup mul CY mul neg put YIXI i XEXI W 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXU i YIXU 60 get 1malp mul YIXU 0 get alpha mul add put YIXP i YIXP 60 get 1malp mul YIXP 0 get alpha mul add put YIXD i YIXD 60 get 1malp mul YIXD 0 get alpha mul add put YIXT i YIXT 60 get 1malp mul YIXT 0 get alpha mul add put YIXN i YIXN 60 get 1malp mul YIXN 0 get alpha mul add put YIXI i YIXI 60 get 1malp mul YIXI 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXU i YIXU i 80 sub get put YIXP i YIXP i 80 sub get put YIXD i YIXD i 80 sub get put YIXT i YIXT i 80 sub get put YIXN i YIXN i 80 sub get put YIXI i YIXI i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXE i YIXU i get put YIXF i YIXN i get put YIXW i YIXU i get YIXN i get add 0.5 mul put YIXH i YIXI i get YI2 sub YUN2 add put } for %i=0,85: 400_700_400(85) 0 1 60 {/i exch def %i=0,60: 400_700(61) /XEXI i 5 mul 400 add def YIXUS i XEXI WS 0 get sub CX div dup mul CY mul neg put YIXPS i XEXI WS 1 get sub CX div dup mul CY mul neg put YIXDS i XEXI WS 2 get sub CX div dup mul CY mul neg put YIXTS i XEXI WS 3 get sub CX div dup mul CY mul neg put YIXNS i XEXI WS 4 get sub CX div dup mul CY mul neg put YIXIS i XEXI WS 5 get sub CX div dup mul CY mul neg put } for %i=0,60: 400_700(61) 61 1 80 {/i exch def %i=61,80: 700_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def YIXUS i YIXUS 60 get 1malp mul YIXUS 0 get alpha mul add put YIXPS i YIXPS 60 get 1malp mul YIXPS 0 get alpha mul add put YIXDS i YIXDS 60 get 1malp mul YIXDS 0 get alpha mul add put YIXTS i YIXTS 60 get 1malp mul YIXTS 0 get alpha mul add put YIXNS i YIXNS 60 get 1malp mul YIXNS 0 get alpha mul add put YIXIS i YIXIS 60 get 1malp mul YIXIS 0 get alpha mul add put } for %i=61,80: 700_400(20) 81 1 85 {/i exch def %i=81,85: 405_425(5) YIXUS i YIXUS i 80 sub get put YIXPS i YIXPS i 80 sub get put YIXDS i YIXDS i 80 sub get put YIXTS i YIXTS i 80 sub get put YIXNS i YIXNS i 80 sub get put YIXIS i YIXIS i 80 sub get put } for %i=81,85: 405_425(5) 0 1 85 {/i exch def %i=0,85: 400_700_400(85) YIXES i YIXUS i get put YIXFS i YIXNS i get put YIXWS i YIXUS i get YIXNS i get add 0.5 mul put YIXHS i YIXIS i get YI2S sub YNU2S add put } for %i=0,85: 400_700_400(85) 0 1 85 {/i exch def % /YEXU {YIXU i get} def /YEXP {YIXP i get YP1 sub YUN1 add} def /YEXD {YIXD i get YD1 sub YUN1 add} def /YEXT {YIXT i get YT2 sub YUN2 add} def % /YEXN {YIXN i get} def /YEXU {YEXP YEXD add 0.5 mul} def /YEXN {YEXT YEXU add 0.5 mul} def /YEXI {YIXI i get} def /YEXW {YEXU YEXN add 0.5 mul} def /YEXE YEXU def /YEXF YEXN def /YEXH {YIXI i get YI2 sub YUN2 add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXA YEXU def} if IKOM 1 eq {/YEXA YEXN def} if IKOM 2 eq {/YEXA YEXH def} if IKOM 3 eq {/YEXA YEXW def} if %begin for ILS=1 j 0 eq {/YD YEXU YEXA sub fneg def YDchange YEXP0 i YD put} if j 1 eq {/YD YEXP YEXA sub fneg def YDchange YEXP1 i YD put} if j 2 eq {/YD YEXD YEXA sub fneg def YDchange YEXP2 i YD put} if j 3 eq {/YD YEXT YEXA sub fneg def YDchange YEXP3 i YD put} if j 4 eq {/YD YEXN YEXA sub fneg def YDchange YEXP4 i YD put} if j 5 eq {/YD YEXW YEXA sub fneg def YDchange YEXP5 i YD put} if j 6 eq {/YD YEXP YEXA sub fneg def YDchange YEXP6 i YD put} if j 7 eq {/YD YEXD YEXA sub fneg def YDchange YEXP7 i YD put} if j 8 eq {/YD YEXT YEXA sub fneg def YDchange YEXP8 i YD put} if j 9 eq {/YD YEXE YEXA sub fneg def YDchange YEXP9 i YD put} if j 10 eq {/YD YEXF YEXA sub fneg def YDchange YEXP10 i YD put} if j 11 eq {/YD YEXH YEXA sub fneg def YDchange YEXP11 i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0 i get YEXA add def YEXP0 i YE put} if j 1 eq {/YE YEXP1 i get YEXA add def YEXP1 i YE put} if j 2 eq {/YE YEXP2 i get YEXA add def YEXP2 i YE put} if j 3 eq {/YE YEXP3 i get YEXA add def YEXP3 i YE put} if j 4 eq {/YE YEXP4 i get YEXA add def YEXP4 i YE put} if j 5 eq {/YE YEXP5 i get YEXA add def YEXP5 i YE put} if j 6 eq {/YE YEXP6 i get YEXA add def YEXP6 i YE put} if j 7 eq {/YE YEXP7 i get YEXA add def YEXP7 i YE put} if j 8 eq {/YE YEXP8 i get YEXA add def YEXP8 i YE put} if j 9 eq {/YE YEXP9 i get YEXA add def YEXP9 i YE put} if j 10 eq {/YE YEXP10 i get YEXA add def YEXP10 i YE put} if j 11 eq {/YE YEXP11 i get YEXA add def YEXP11 i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) /YEXUS {YIXUS i get} def %identical YEXN /YEXPS {YIXPS i get YP1S sub YNU1S add} def /YEXDS {YIXDS i get YD1S sub YNU1S add} def /YEXTS {YIXTS i get YT2S sub YNU2S add} def /YEXNS {YIXNS i get} def %identical YEXU /YEXWS {YIXUS i get YIXNS i get add 0.5 mul} def /YEXES YEXUS def /YEXFS YEXNS def /YEXHS {YIXWS i get YI2S sub YNU2S add} def /YD 0 def /YDchange {YD abs logta abs gt {YD 0 lt {/YD logta def} {/YD logta neg def} ifelse } if } bind def INE 0 eq {/fneg {} def} {/fneg {neg} def} ifelse 0 1 11 {/j exch def %j=0,11 %JPPM calculate all IKOM 0 eq {/YEXAS YEXNS def} if IKOM 1 eq {/YEXAS YEXUS def} if IKOM 2 eq {/YEXAS YEXHS def} if IKOM 3 eq {/YEXAS YEXWS def} if %begin for ILS=1 j 0 eq {/YD YEXUS YEXAS sub fneg def YDchange YEXP0S i YD put} if j 1 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP1S i YD put} if j 2 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP2S i YD put} if j 3 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP3S i YD put} if j 4 eq {/YD YEXNS YEXAS sub fneg def YDchange YEXP4S i YD put} if j 5 eq {/YD YEXWS YEXAS sub fneg def YDchange YEXP5S i YD put} if j 6 eq {/YD YEXPS YEXAS sub fneg def YDchange YEXP6S i YD put} if j 7 eq {/YD YEXDS YEXAS sub fneg def YDchange YEXP7S i YD put} if j 8 eq {/YD YEXTS YEXAS sub fneg def YDchange YEXP8S i YD put} if j 9 eq {/YD YEXES YEXAS sub fneg def YDchange YEXP9S i YD put} if j 10 eq {/YD YEXFS YEXAS sub fneg def YDchange YEXP10S i YD put} if j 11 eq {/YD YEXHS YEXAS sub fneg def YDchange YEXP11S i YD put} if %end for ILS=1 ILS 0 eq {%ILS=0 j 0 eq {/YE YEXP0S i get YEXAS add def YEXP0S i YE put} if j 1 eq {/YE YEXP1S i get YEXAS add def YEXP1S i YE put} if j 2 eq {/YE YEXP2S i get YEXAS add def YEXP2S i YE put} if j 3 eq {/YE YEXP3S i get YEXAS add def YEXP3S i YE put} if j 4 eq {/YE YEXP4S i get YEXAS add def YEXP4S i YE put} if j 5 eq {/YE YEXP5S i get YEXAS add def YEXP5S i YE put} if j 6 eq {/YE YEXP6S i get YEXAS add def YEXP6S i YE put} if j 7 eq {/YE YEXP7S i get YEXAS add def YEXP7S i YE put} if j 8 eq {/YE YEXP8S i get YEXAS add def YEXP8S i YE put} if j 9 eq {/YE YEXP9S i get YEXAS add def YEXP9S i YE put} if j 10 eq {/YE YEXP10S i get YEXAS add def YEXP10S i YE put} if j 11 eq {/YE YEXP11S i get YEXAS add def YEXP11S i YE put} if } if %ILS=0 } for %j=0,11 %calculate all } for %i=0,85: 400_700_400(81) %61 1 80 {/i exch def %i=61,80: 700_400(20) % /alpha i 60 sub 20 div def % /1malp 1 alpha sub def % YEXP0 i YEXP0 60 get 1malp mul YEXP0 0 get alpha mul add put % YEXP1 i YEXP1 60 get 1malp mul YEXP1 0 get alpha mul add put % YEXP2 i YEXP2 60 get 1malp mul YEXP2 0 get alpha mul add put % YEXP3 i YEXP3 60 get 1malp mul YEXP3 0 get alpha mul add put % YEXP4 i YEXP4 60 get 1malp mul YEXP4 0 get alpha mul add put % YEXP5 i YEXP5 60 get 1malp mul YEXP5 0 get alpha mul add put % YEXP6 i YEXP6 60 get 1malp mul YEXP6 0 get alpha mul add put % YEXP7 i YEXP7 60 get 1malp mul YEXP7 0 get alpha mul add put % YEXP8 i YEXP8 60 get 1malp mul YEXP8 0 get alpha mul add put % YEXP9 i YEXP9 60 get 1malp mul YEXP9 0 get alpha mul add put % YEXP10 i YEXP10 60 get 1malp mul YEXP10 0 get alpha mul add put % YEXP11 i YEXP11 60 get 1malp mul YEXP11 0 get alpha mul add put % YEXP0S i YEXP0S 60 get 1malp mul YEXP0S 0 get alpha mul add put % YEXP1S i YEXP1S 60 get 1malp mul YEXP1S 0 get alpha mul add put % YEXP2S i YEXP2S 60 get 1malp mul YEXP2S 0 get alpha mul add put % YEXP3S i YEXP3S 60 get 1malp mul YEXP3S 0 get alpha mul add put % YEXP4S i YEXP4S 60 get 1malp mul YEXP4S 0 get alpha mul add put % YEXP5S i YEXP5S 60 get 1malp mul YEXP5S 0 get alpha mul add put % YEXP6S i YEXP6S 60 get 1malp mul YEXP6S 0 get alpha mul add put % YEXP7S i YEXP7S 60 get 1malp mul YEXP7S 0 get alpha mul add put % YEXP8S i YEXP8S 60 get 1malp mul YEXP8S 0 get alpha mul add put % YEXP9S i YEXP9S 60 get 1malp mul YEXP9S 0 get alpha mul add put % YEXP10S i YEXP10S 60 get 1malp mul YEXP10S 0 get alpha mul add put % YEXP11S i YEXP11S 60 get 1malp mul YEXP11S 0 get alpha mul add put %} for %i=61,80: 700_400(20) ILF 0 eq {%ILF=0 3000 050 moveto tfw (l) outSK (d) ishowK 30 0 rmoveto (/nm) nshowK 4200 050 moveto tfw (l) outSK (c) ishowK 30 0 rmoveto (/nm) nshowK ILU 1 eq {4900 550 moveto (u) bishowM} if } if %ILF=0 2800 2975 moveto tfw (Adaptation: ) bshowM tfw (l) outSM tfo (R) ishowK tfl (G) ishowK tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible 2800 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM tfw (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (=) bshowM XBJ$I ILK get bshowM %ILS 1 eq ILF 0 eq and {%ILS=1, ILF=0 %saturation diagram % 0800 2975 moveto TBM (Threshold: ) showen (Schwelle: ) showde % (t) bshowM (s) ishowK (=) bshowM ta trushow4} % {3400 2725 moveto (t) bshowM (s) ishowK (=) bshowM ta trushow4 % } ifelse %ILS=1, ILF=0 ILS 2 eq {%ILS=2, text purity function %text 0010 3800 moveto tfw (-) bshowM RGX1 cvishow (|log[) bshowM P0aS tfw (/) bshowM N0a tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0a tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0a tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0a tfw (/) bshowM H0a tfw (]|) bshowM 0210 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (<525nm\051) bshowM 1600 2975 moveto tfw (\050) bshowM (l) outSM tfy (J) ishowK tfv (B) ishowK tfw (>=525nm\051) bshowM } if %ILS=2, text purity function ILF 1 eq {%ILF=1 text chomaticity diagram IKOM 0 eq {%IKOM=0,#0 %IKOM=0 Xx525 0 ge {Yix i XUND RGX2 mul abs put} % {Yix i XUND RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i 0.00 put} % {Yiy i XUND JBY1 mul put} ifelse % %IKOM=123(NHW):W Xx525 0 ge {Yix i XUWD RGX2 mul abs put} % {Yix i XUWD RGX1 mul abs put} ifelse % Xx525 0 ge {Yiy i XUWD JBY2 mul put} % {Yiy i XUWD JBY1 mul put} ifelse 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM Na0 tfw (]=0) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM N0a tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } { 0010 3800 moveto tfw TBM JBY1 cvsshow2 (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 1600 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0a tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM 3600 1900 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 1625 moveto (\050) bshowM U0a tfw (<) bshowM N0a tfw (\051) bshowM 3600 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0a tfw (/) bshowM YAa tfw (]|) bshowM 3800 0875 moveto (\050) bshowM U0a tfw (>=) bshowM N0a tfw (\051) bshowM } ifelse %IKOM=0,#0 } if %ILF=1 text chomaticity diagram ILF 1 ne ILS 2 ne and {%ILF#1, ISL#2 %no text if chromaticity or purity diagram 010 3800 moveto ILS 0 eq {%iLS=0,1 tfw (log [) bshowM P0a D0a T0a U0o N0o W0a tfw (]) bshowM} {INE 0 eq {tfw (log[) bshowM P0a D0a T0a U0o N0o W0a tfw (]-log) bshowM YAa} {tfw (log) bshowM YAa tfw (-log[) bshowM P0a D0a T0a U0o N0o W0a tfw (]) bshowM } ifelse } ifelse %ILS=0,1 %400nm /X400 000 0.00 1200 mul add def %425nm /X435 000 0.35 1200 mul add def %475nm /X475 000 0.75 1200 mul add def /X495 000 0.95 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /X540 000 1.40 1200 mul add def /X555 000 1.55 1200 mul add def /X570 000 1.70 1200 mul add def /X575 000 1.75 1200 mul add def %625nm /X625 000 2.25 1200 mul add def %675nm /X675 000 2.75 1200 mul add def %375cnm /X700 000 3.00 1200 mul add def %395cnm /X400c 000 4.00 1200 mul add def %3100 2975 moveto tfw (Adaptation: ) bshowM %tfw (l) outSM tfo (R) ishowK tfl (G) ishowK %tfw (=) bshowM XRG$I ILK get bshowM %special; first part not visible %3100 2725 moveto 0.0 0.0 0.0 0.5 setcmykcolor (Adaptation: ) bshowM %tfw (l) outSM tfy (J) ishowK tfv (B) ishowK %tfw (=) bshowM XBJ$I ILK get bshowM 210 3525 moveto %special U0a,N0a ILN 5 ge {%ILN=5,#5 tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM % tfw (log) bshowM U0a tfw ( = 0,5 [log) bshowM P0a % tfw (+log) bshowM D0a tfw (]) bshowM } { tfw (log) bshowM U0o tfw ( = 0,5 [log) bshowM P0a tfw (+log) bshowM D0a tfw (]) bshowM } ifelse %ILN=5,#5 210 3250 moveto ILN 5 ge {%ILN=5,#5 tfw (log) bshowM W0a tfw ( = 0,5 [log) bshowM N0o tfw (+log) bshowM U0o tfw (]) bshowM % tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a % tfw (+log) bshowM U0a tfw (]) bshowM } { tfw (log) bshowM N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o tfw (]) bshowM } ifelse %ILN=5,#5 } if %ILF#1, ISL#2 %no text if chromaticity or purity diagram %text always 3100 3800 moveto tfw (log) bshowM 30 0 rmoveto P0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto P0o tfw YU1 YP1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YP1 sub abs troshow %( + 0.00) bshowM 3100 3525 moveto tfw (log) bshowM 30 0 rmoveto D0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto D0o tfw YU1 YD1 sub 0 ge {( + )} {( - )} ifelse bshowM YU1 YD1 sub abs troshow %/ALOG2 2 log def ( + ) bshowM ALOG2 troshow %special for 475nm/575nm 3100 3250 moveto tfw (log) bshowM 30 0 rmoveto T0a 50 0 rmoveto tfw (= log) bshowM 50 0 rmoveto T0o tfw /YDTW YT2 neg YI2 add def YDTW 0 ge {( + )} {( - )} ifelse bshowM YDTW abs troshow %/ALOG16 16 log def ( + ) bshowM ALOG16 troshow %y-arrow tfw 100 3400 moveto 0 300 rlineto -50 -150 rlineto 50 150 rlineto 50 -150 rlineto stroke tfw 380 280 translate 50 setlinewidth ILF 0 eq {%ILF=0 sensitivity or saturation 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 ILS 0 eq ILS 2 eq or {3300} {3600} ifelse 0.8 mul rlineto stroke ILS 0 eq ILS 2 eq or {0 2700 0.8 mul moveto 400 12 mul 0 rlineto stroke} if %special %tfz % 0 1700 moveto 0 300 rlineto stroke tfw TBK /tx [ (400) (500) (600) (700) (400)] def /tye [(-2) () (-1) () ( 0) () (-2)] def /tys [(-2) (-1) ( 0) ( ) ( 2) ( 3) (-2)] def /tu [ ( -3,1) (-1,1) ( 0,9) ( 2,9) ( -3,1)] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten ILU 1 eq {%ILU=1 0 1 4 {/i exch def /ixt {-180 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 150 moveto tu i get exec show } for % 555 nm; u=0.0 /ixt -180 1.55 1200 mul add def /ixl 240 1.55 1200 mul add def 0.25 0.0 1.0 0.0 setcmykcolor ixt 150 moveto ( 0.0) show /ixt 20 1860 add def ixt -320 moveto (555) show ixl 75 moveto 0 -150 rlineto stroke } if %ILU=1 %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def ixt -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten TBK 0 1 5 {/i exch def /iyt {200 i 0480 mul add} def /iyl {240 i 0480 mul add} def -300 iyt moveto ILS 0 eq ILS 2 eq or {tye} {tys} ifelse i get exec show -75 iyl moveto 150 0 rlineto stroke } for TBK 30 setlinewidth %ymax = 240 + 4 * 480 = 2160 [100 100] 0 setdash %X525 0 moveto 0 2160 rlineto stroke X700 0 moveto 0 2400 rlineto stroke X400c 0 moveto 0 2400 rlineto stroke %X435 0 moveto 0 2760 rlineto stroke %X540 0 moveto 0 2260 rlineto stroke %X570 0 moveto 0 2060 rlineto stroke %X495 0 moveto 0 2160 rlineto stroke %X555 0 moveto 0 2100 rlineto stroke X525 0 moveto 0 2400 rlineto stroke X575 0 moveto 0 2400 rlineto stroke %X525 20 add 100 moveto (525) show X700 20 add 100 moveto (700) show %X400c 20 add 100 moveto (400) show %xchart 2 ge {%xchart>=2 % X475 0 moveto 0 2160 rlineto stroke % X575 0 moveto 0 2160 rlineto stroke % X475 20 add 100 moveto (475) show % X575 20 add 100 moveto (575) show %X435 100 sub -200 moveto (435) show %X495 320 sub 100 moveto (495) show %X540 320 sub 100 moveto (540) show %X555 270 sub -200 moveto (555 570) show X525 300 sub 0400 moveto tfw (l) outSK tfy (J) ishowK tfv (B) ishowK X525 320 sub 150 moveto tfw TBK (525) show X575 350 sub 0400 moveto tfw (l) outSK tfo (R) ishowK tfl (G) ishowK X575 320 sub 0150 moveto tfw TBK (575) show X435 200 sub 2450 moveto tfw (log\050) bshowM T0a tfw (/) bshowM YAa tfw (\051) bshowM X575 050 add 2450 moveto tfw (log\050) bshowM P0a tfw (/) bshowM YAa tfw (\051) bshowM X575 050 add 2175 moveto tfw (log\050) bshowM U0o tfw (/) bshowM YAa tfw (\051) bshowM X400 350 sub 1775 moveto tfw (log\050) bshowM N0o tfw (/) bshowM YAa tfw (\051) bshowM % } if %xchart>=2 [ ] 0 setdash TBM 50 setlinewidth %Cero point at 555 nm /X0t {555 400 sub 12 mul} def X0t 0 translate } if %ILF=0 sensitivity or saturation ILF 1 eq {%ILF=1 axis chromaticity diagram TBK /ix00 000 def IKOM 0 eq {/ty [(-4) (-3) (-2) (-1) ( 0) ( 1)] def} if IKOM 1 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 2 eq {/ty [(-2) (-1) ( 0) ( 1) ( 2) ( 3)] def} if IKOM 3 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if tfw 50 setlinewidth 0 0 moveto 400 12 mul 0 rlineto stroke 0 0 moveto 0 2400 rlineto stroke /tx [(-1) ( 0) ( 1) ( 2) ( 3) ( 4) ( 5) ( 6)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 6 {/i exch def /ix00 000 def /ixt { ix00 -280 add i 0600 mul add} def /ixl { ix00 000 add i 0600 mul add} def ixt 100 add -250 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten 0 1 4 {/i exch def /iyt {-100 i 0600 mul add} def /iyl { 000 i 0600 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for %Nullpunkt-Achsenkreuz 30 setlinewidth tfn IKOM 0 eq {/IORX 0600 def /IORY 2400 def} if IKOM 1 eq {/IORX 0600 def /IORY 1200 def} if IKOM 2 eq {/IORX 0600 def /IORY 1200 def} if IKOM 3 eq {/IORX 0600 def /IORY 1200 def} if IORX 0000 moveto 0000 2350 rlineto stroke 0000 IORY moveto 5000 0000 rlineto stroke 50 setlinewidth tfw } if %ILF=1 axis chomaticity diagram ILF 0 eq {%ILF=0 for clip 0 setlinewidth /Y0C 0000 def /Y1C 2400 def ILU 1 eq {/Y0C 0450 def} if ILS 0 eq {/Y1C 2900 def} if %ILS 0 eq {/Y1C 3400 def} if 0.0 0.0 0.0 0.0 setcmykcolor X0t neg Y0C moveto 4800 0 rlineto 0 Y1C rlineto -4800 0 rlineto 0 Y1C neg rlineto clip stroke } if %ILF=0 for clip ILS 0 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %response diagram ILS 1 eq ILF 0 eq and {/IORY 1500 0.8 mul def} if %saturation diagram ILS 2 eq ILF 0 eq and {/IORY 2700 0.8 mul def} if %purity diagram %begin only for %j=1,2,8=P',D',T' 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) XiS i i 5 mul 400 add put j 0 eq {YiS i YEXP0S i get put} if j 1 eq {YiS i YEXP1S i get put} if j 2 eq {YiS i YEXP2S i get put} if j 3 eq {YiS i YEXP3S i get put} if j 4 eq {YiS i YEXP4S i get put} if j 5 eq {YiS i YEXP5S i get put} if j 6 eq {YiS i YEXP6S i get put} if j 7 eq {YiS i YEXP7S i get put} if j 8 eq {YiS i YEXP8S i get put} if j 9 eq {YiS i YEXP9S i get put} if j 10 eq {YiS i YEXP10S i get put} if j 11 eq {YiS i YEXP11S i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1S j FKUCI00S j get put FKUM1S j FKUMI00S j get put FKUY1S j FKUYI00S j get put FKUN1S j FKUNI00S j get put FKUC2S j FKUCI01S j get put FKUM2S j FKUMI01S j get put FKUY2S j FKUYI01S j get put FKUN2S j FKUNI01S j get put IDAI1S j IDAI00S j get put IDAI2S j IDAI01S j get put KURVAS j KURVA1S j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1S j FKUCI10S j get put FKUM1S j FKUMI10S j get put FKUY1S j FKUYI10S j get put FKUN1S j FKUNI10S j get put FKUC2S j FKUCI11S j get put FKUM2S j FKUMI11S j get put FKUY2S j FKUYI11S j get put FKUN2S j FKUNI11S j get put IDAI1S j IDAI10S j get put IDAI2S j IDAI11S j get put KURVAS j KURVA2S j get put } if %ILS=1 /KURVMS {KURVAS j get} def KURVMS 0 gt {%if KURVMS>0 then KURVE 1 1 KURVMS {/KURVS exch def %KURVS=1,KURVMS /IDA1S {IDAI1S j get cvi} def /IDA2S {IDAI2S j get cvi} def KURVS 1 eq {[ ] 0 setdash} if KURVS 2 eq {%KURVS=2 %special for 475nm curve j=3 /IDA1S {IDAI1S j get} def /IDA2S {IDAI2S j get} def [ IDA1S IDA2S] 0 setdash } if %KURVS=2 KURVS 1 eq {%KURVS=1 /jadd 0 def % ILS 1 ge j 1 eq and {/jadd 3 def} if /FKUCS {FKUC1S j jadd add get} def /FKUMS {FKUM1S j jadd add get} def /FKUYS {FKUY1S j jadd add get} def /FKUNS {FKUN1S j jadd add get} def } if %KURV=1 KURVS 2 eq {%KURVS=2 /FKUCS {FKUC2S j get} def /FKUMS {FKUM2S j get} def /FKUYS {FKUY2S j get} def /FKUNS {FKUN2S j get} def } if %KURVS=2 FKUCS FKUMS FKUYS FKUNS setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 1 eq j 2 eq or {%j=1,2=P',D' /K0 0 def /K1 0 def /K2 80 def /xst {XiS K0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=1,2=P',D' j 8 eq {%j=8=T' /J0 0 def /J1 0 def /J2 80 def /xst {XiS J0 get 555 sub CX div MULX mul} bind def /yst {IORY YiS J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85: 400_700_400(81) /xst {XiS i get 555 sub CX div MULX mul} bind def /yst {IORY YiS i get MULY mul add} bind def /x20 {XiS i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY YiS i 1 add get MULY mul add} bind def /x21 {XiS i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY YiS i 2 add get MULY mul add} bind def /x22 {XiS i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY YiS i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85: 400_700_400(81) stroke } if %j=8=T } if %ILF=0 sensitivity or saturation } if %ILS#2 } for %KURVS=1,KURVMS } if %if KURVMS>0 then KURVES } for %j=0,JPPM %end only for %j=1,2,8=P',D',T' %begin only for %j=3,6,7=T,P,D 0 1 JPPM {/j exch def %j=0,JPPM %only ILF=0 ILF 0 eq {%ILF=0 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILS 2 ne {%ILS#2 ILF 0 eq {%ILF=0 sensitivity or saturation, not purity 50 setlinewidth j 3 eq {%j=3=T /K0 0 def /K1 0 def /K2 80 def /xst {Xi K0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi K0 get MULY mul add} bind def xst yst moveto K1 3 K2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=3 j 6 eq j 7 eq or{%j=6,7=P,D /J0 0 def /J1 0 def /J2 80 def /xst {Xi J0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi J0 get MULY mul add} bind def xst yst moveto J1 3 J2 {/i exch def %i=0,85 400_700_400(81) /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=0,85 400_700_400(81) stroke } if %j=6,7=P,D } if %ILF=0 sensitivity or saturation, not purity } if %ILS#2 } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=3,6,7=T,P,D %begin only for %j=9,10,11=E,F,H 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation 50 setlinewidth j 9 eq j 10 eq or j 11 eq or {%j=9,10,11=E,F,H /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=9,10,11=E,F,H } if %ILF=0 sensitivity or saturation } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=9,10,11=E,F,H %begin only for %j=0,4,5=U,N,W 0 1 JPPM {/j exch def %j=0,JPPM ILF 0 eq {%ILF=0 (for ILS=0,1,2) 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put j 0 eq {Yi i YEXP0 i get put} if j 1 eq {Yi i YEXP1 i get put} if j 2 eq {Yi i YEXP2 i get put} if j 3 eq {Yi i YEXP3 i get put} if j 4 eq {Yi i YEXP4 i get put} if j 5 eq {Yi i YEXP5 i get put} if j 6 eq {Yi i YEXP6 i get put} if j 7 eq {Yi i YEXP7 i get put} if j 8 eq {Yi i YEXP8 i get put} if j 9 eq {Yi i YEXP9 i get put} if j 10 eq {Yi i YEXP10 i get put} if j 11 eq {Yi i YEXP11 i get put} if } for %i=0,85: 400_700_400(81) } if %ILF=0 ILS 2 eq {%ILS=2 correction for j=0,4,5 %purity functions j 0 eq j 4 eq or j 5 eq or {%ILS=2 correction for j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def Xx525 0 ge {%lambda>=525 %identical P0-P5/P5S-P0S /XRG YEXP1 i get YEXP0 i get sub RGX2 mul def} {/XRG YEXP1S i get YEXP0S i get sub RGX1 mul def } ifelse %lambda>=525 XJBA 525 ge {%XJBA>=525 /XJB YEXP0 i get YEXP11 i get sub def} {/XJB YEXP4 i get YEXP11 i get sub def } ifelse %XJBA>=525 j 0 eq {Yi i 0 put} if j 4 eq {Yi i XJB abs neg put} if j 5 eq {Yi i XRG abs neg put} if } for %i=0,85: 400_700_400(81) } if %ILS=2 correction for j=0,4,5 } if %ILS=2 correction for j=0,4,5 %purity functions ILF 1 eq {%ILF=1 %chromaticity diagram j 0 eq j 4 eq or j 5 eq or {%j=0,4,5 0 1 85 {/i exch def %i=0,85: 400_700_400(81) Xi i i 5 mul 400 add put /Xx525 Xi i get 525 sub def /XPXD2 0 def /XPXD1 0 def XJBA 525 ge {%XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXUS i get sub YP1S sub YU1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXU i get sub YP1 sub YU1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } %XJBA>=525 { %XJBA>=525 j 4 eq j 5 eq or { i 0 ge i 25 le and {/XPXD1 YIXPS i get YIXNS i get sub YP1S sub YN1S add def} if i 26 ge i 60 le and {/XPXD2 YIXP i get YIXN i get sub YP1 sub YN1 add def} if j 5 eq {/XPXD1 XPXD1 neg def /XPXD2 XPXD2 neg def} if } if } ifelse %XJBA>=525 /XUND YIXU i get YIXN i get sub def %IKOM=1 /XUHD YIXU i get YIXH i get sub def %IKOM=2 H adaptiertes W /XUWD YIXU i get YIXW i get sub def %IKOM=3 W=(U+N)*0.5 IKOM 0 eq {%IKOM=0 %U Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i 0.00 put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N Xx525 0 ge {Yix i XUND RGX2 mul abs put} {Yix i XUND RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUND JBY2 mul put} {Yiy i XUND JBY1 mul put} ifelse } if %IKOM=1 IKOM 2 eq {%IKOM=2 %H=adaptiertes W Xx525 0 ge {Yix i XUHD RGX2 mul abs put} {Yix i XUHD RGX1 mul abs put} ifelse Xx525 0 ge {Yiy i XUHD JBY2 mul put} {Yiy i XUHD JBY1 mul put} ifelse } if %IKOM=2 IKOM 3 eq {%IKOM=3 %W=(U+N)*0.5 Xx525 0 ge {Yix i XUWD abs XPXD2 add RGX2 mul put} {Yix i XUWD abs XPXD1 add RGX1 mul put} ifelse Xx525 0 ge {Yiy i XUWD JBY2 mul put} {Yiy i XUWD JBY1 mul put} ifelse } if %IKOM=3 } for %i=0,85: 400_700_400(81) %correction for purple colours 61 1 80 {/i exch def %i=61,80: 700+_400(20) /alpha i 60 sub 20 div def /1malp 1 alpha sub def Yix i Yix 60 get 1malp mul Yix 0 get alpha mul add put Yiy i Yiy 60 get 1malp mul Yiy 0 get alpha mul add put } for %i=61,80: 700+_400(81) } if %j=0,4,5 } if %ILF=1 %chromaticity diagram ILS 0 eq {%ILS=0 FKUC1 j FKUCI00 j get put FKUM1 j FKUMI00 j get put FKUY1 j FKUYI00 j get put FKUN1 j FKUNI00 j get put FKUC2 j FKUCI01 j get put FKUM2 j FKUMI01 j get put FKUY2 j FKUYI01 j get put FKUN2 j FKUNI01 j get put IDAI1 j IDAI00 j get put IDAI2 j IDAI01 j get put KURVA j KURVA1 j get put } if %ILS=0 ILS 1 ge {%ILS>=1 FKUC1 j FKUCI10 j get put FKUM1 j FKUMI10 j get put FKUY1 j FKUYI10 j get put FKUN1 j FKUNI10 j get put FKUC2 j FKUCI11 j get put FKUM2 j FKUMI11 j get put FKUY2 j FKUYI11 j get put FKUN2 j FKUNI11 j get put IDAI1 j IDAI10 j get put IDAI2 j IDAI11 j get put KURVA j KURVA2 j get put } if %ILS=1 /KURVM {KURVA j get} def KURVM 0 gt {%if KURVM>0 then KURVE 1 1 KURVM {/KURV exch def %KURV=1,KURVM /IDA1 {IDAI1 j get cvi} def /IDA2 {IDAI2 j get cvi} def KURV 1 eq {[ ] 0 setdash} if KURV 2 eq {%KURV=2 %special for 475nm curve j=3 /IDA1 {IDAI1 j get} def /IDA2 {IDAI2 j get} def [IDA1 IDA2] 0 setdash } if %KURV=2 KURV 1 eq {%KURV=1 /jadd 0 def /FKUC {FKUC1 j jadd add get} def /FKUM {FKUM1 j jadd add get} def /FKUY {FKUY1 j jadd add get} def /FKUN {FKUN1 j jadd add get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 0 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %Y ILS 2 eq j 5 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=1 KURV 2 eq {%KURV=2 /FKUC {FKUC2 j get} def /FKUM {FKUM2 j get} def /FKUY {FKUY2 j get} def /FKUN {FKUN2 j get} def ILS 2 eq j 0 eq and {/FKUC 0 def /FKUM 0 def /FKUY 0 def /FKUN 0 def} if %W ILS 2 eq j 4 eq and {/FKUC 1 def /FKUM 1 def /FKUY 0 def /FKUN 0 def} if %V ILS 2 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O ILF 1 eq j 4 eq and {/FKUC 1 def /FKUM 0 def /FKUY 1 def /FKUN 0 def} if %L ILF 1 eq j 5 eq and {/FKUC 0 def /FKUM 1 def /FKUY 1 def /FKUN 0 def} if %O } if %KURV=2 FKUC FKUM FKUY FKUN setcmykcolor ILF 0 eq {%ILF=0 sensitivity or saturation or purity 50 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,N,W /I0 0 def /I1 0 def /I2 80 def /xst {Xi I0 get 555 sub CX div MULX mul} bind def /yst {IORY Yi I0 get MULY mul add} bind def xst yst moveto I1 3 I2 {/i exch def %i=1,80: 405_400 /xst {Xi i get 555 sub CX div MULX mul} bind def /yst {IORY Yi i get MULY mul add} bind def /x20 {Xi i 1 add get 555 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MULY mul add} bind def /x21 {Xi i 2 add get 555 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MULY mul add} bind def /x22 {Xi i 3 add get 555 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MULY mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_400 stroke } if %j=0,4,5=U,N,W IED 1 eq {%IED=1 with Evans G0-data ILS 2 eq {%ILS=2 purity function xchart 8 eq xchart 12 eq or xchart 14 eq or {%15 Evans-G0-data %"The perception of Colour", page 134, backgrounds 475, 528, 608nm /XiALL 15 array def /Yi475 15 array def /Yi528 15 array def /Yi608 15 array def /Xip 15 array def /Yip 15 array def /XiALL [440 475 480 500 528 555 575 585 590 608 650 700 720 760 800] def /Yi475 [0.5 0.0 0.3 0.3 0.4 0.2 0.2 0.4 0.6 0.6 0.8 1.0 1.0 1.0 0.6] def /Yi528 [1.6 0.7 0.6 0.3 0.0 0.2 0.5 0.4 0.6 0.7 1.0 1.0 1.0 1.1 1.3] def /Yi608 [1.0 1.1 0.4 0.5 0.6 0.7 0.6 0.4 0.1 0.0 0.5 0.7 0.6 1.2 1.6] def 0 1 14 {/i exch def %i=0,14 Xip i XiALL i get 555 sub CX div MULX mul put xchart 8 eq {Yip i Yi528 i get neg put} if xchart 12 eq {Yip i Yi475 i get neg put} if xchart 14 eq {Yip i Yi608 i get neg put} if } for %i=0,14 0 setgray [ ] 0 setdash 0 1 14 {/i exch def %i=0,14 /xst {Xip i get} bind def /yst {IORY Yip i get MULY mul add} bind def newpath xst 50 sub yst 50 sub moveto 100 100 rlineto stroke xst 50 sub yst 50 add moveto 100 -100 rlineto stroke % xst yst 40 0 360 arc fill newpath } for %i=0,14 } if %IED=1 with Evans G0-data } if %xchart=8,12,14 } if %ILS=2 correction for j=0,4,5 %purity functions %} if %j=0,4,5=U,N,W } if %ILF=0 sensitivity or saturation or purity ILF 1 ge {%ILF=1 chromaticity diagram 30 setlinewidth j 0 eq j 4 eq or j 5 eq or {%j=0,4,5=U,U+P,U+D /xst {IORX Yix 0 get MULF mul add} bind def /yst {IORY Yiy 0 get MULF mul add} bind def xst yst moveto 0 3 80 {/i exch def %i=1,80: 405_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def /x20 {IORX Yix i 1 add get MULF mul add} bind def /y20 {IORY Yiy i 1 add get MULF mul add} bind def /x21 {IORX Yix i 2 add get MULF mul add} bind def /y21 {IORY Yiy i 2 add get MULF mul add} bind def /x22 {IORX Yix i 3 add get MULF mul add} bind def /y22 {IORY Yiy i 3 add get MULF mul add} bind def x21 y21 x21 y21 x22 y22 curveto } for %i=1,80: 405_700_400 stroke TBK 0 10 70 {/i exch def %i=0,10,85: 400_700_400 /xst {IORX Yix i get MULF mul add} bind def /yst {IORY Yiy i get MULF mul add} bind def newpath xst yst 40 0 360 arc fill newpath %wavelength text IKOM 0 eq i 30 ge and {/xstc -200 def /ystc 100 def} {/xstc -400 def /ystc -100 def} ifelse i 0 eq {/xstc 100 def /ystc -100 def} if %400nm i 60 eq {/xstc 100 def /ystc -150 def} if %700nm i 70 eq {/xstc 100 def /ystc -100 def} if %525cnm j 0 eq {%nm-text only once xst xstc add yst ystc add moveto i 60 le {400 i 5 mul add cvishow} {(525c) show} ifelse } if %nm-text only once } for %i=0,10,85: 400_700_400 IKOM 0 eq {%IKOM=0 %U /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {0.00 def} {XUND JBY1 mul def} ifelse } if %IKOM=0 IKOM 1 eq {%IKOM=1 %N /XUND YU1 YN1 sub def /Yixs YU1 YN1 ge {XUND RGX2 mul abs def} {XUND RGX1 mul abs def} ifelse /Yiys YU1 YN1 ge {XUND JBY2 mul def} {XUND JBY1 mul def} ifelse } if %IKOM=1 %N IKOM 2 eq {%IKOM=2 %H /YH1m YI1 YI2 sub YUN2 add def /XUHD YU1 YH1m sub def /Yixs YU1 YH1m ge {XUHD RGX2 mul abs def} {XUHD RGX1 mul abs def} ifelse /Yiys YU1 YH1m ge {XUHD JBY2 mul def} {XUHD JBY1 mul def} ifelse } if %IKOM=2 %H IKOM 3 eq {%IKOM=0 %W /YW1m YU1 YN1 add 0.5 mul def /XUWD YU1 YW1m sub def /Yixs YU1 YW1m ge {XUWD RGX2 mul abs def} {XUWD RGX1 mul abs def} ifelse /Yiys YU1 YW1m ge {XUWD JBY2 mul def} {XUWD JBY1 mul def} ifelse } if %IKOM=3 1 setgray /TRANX Yixs def /TRANY Yiys def /TRANXF TRANX MULF mul def /TRANYF TRANY MULF mul def /IXYM 1.0 MULF mul def IORX TRANXF add IORY TRANYF add moveto 0 IXYM rlineto stroke IORX TRANXF add IORY TRANYF add moveto 0 IXYM neg rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM 0 rlineto stroke IORX TRANXF add IORY TRANYF add moveto IXYM neg 0 rlineto stroke } if %j=0,4,5=U,U+P,U+D } if %ILF=1 chromaticity diagram } for %KURV=1,KURVM } if %if KURVM>0 then KURVE } for %j=0,JPPM %end only for %j=0,4,5=U,N,W ILF 0 eq {X0t neg 0 translate} if -380 -280 translate showpage grestore %} for %xchart=0,15 %%Trailor %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 080 MM add 008 MM translate %80 MM Breite von TestStreifen 10 /Times-ISOL1 FS 53 MM 1 MM moveto () show 1 1 scale -77 21 MM sub -91 translate %%BeginDocument: Bild 29 Teststreifen Ueberlaenge %line 509 %%EndDocument EndEPSF grestore gsave BeginEPSF -0.0 MM -0.0 MM translate %xy-Verschiebung Rechteckrahmen nach innen% %%BeginDocument: Bild 30 %Rechteckrahmen %line 519 %!PS-Adobe-3.0 EPSF-3.0 Frame arround with Internet text DG02 20061001 %%BoundingBox: 0 0 598 845 %%EndProlog gsave /lanind 1 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /i*ptrsc where {pop %/i*ptrsc i*ptrsc def } {/i*ptrsc 0 def} ifelse gsave /xchartg where {pop /xchart xchartg def} {/xchart 0 def} ifelse /scountg where {pop /scount scountg def} {/scount 1 def} ifelse %xchart 0 eq {%beg if xchart=0 0 setgray 1.0 1.0 scale 0.0 MM 0.0 MM translate 0.15 MM setlinewidth /x 20 array def /y 20 array def /d 20 array def /x [000 296 296 000 002 294 294 002 005 291 291 005 %speziell 006 290 290 006 008 288 288 008 ] def /y [000 000 210 210 002 002 208 208 005 005 205 205 %speziell 006 006 204 204 008 008 202 202 ] def /d [060 017 -60 -17 058 015 -58 -15 056 013 -56 -13 054 011 -54 -11 052 009 -52 -09 ] def /xlu 017 MM def /ylu 017 MM def /xro 279 MM def /yro 193 MM def /xlo 017 MM def /ylo 193 MM def /xru 279 MM def /yru 017 MM def xlu 8 MM sub ylu moveto 16 MM 0 rlineto stroke xlu ylu 8 MM sub moveto 0 58 MM rlineto stroke xro 8 MM add yro moveto -58 MM 0 rlineto stroke xro yro 8 MM add moveto 0 -16 MM rlineto stroke xru 8 MM sub yru moveto 16 MM 0 rlineto stroke xru yru 8 MM sub moveto 0 16 MM rlineto stroke xlo 8 MM add ylo moveto -16 MM 0 rlineto stroke xlo ylo 8 MM add moveto 0 -16 MM rlineto stroke 1 2 7 {/i exch def %Zentrierkreise xlu ylu i MM 0 360 arc stroke xro yro i MM 0 360 arc stroke xru yru i MM 0 360 arc stroke xlo ylo i MM 0 360 arc stroke } for %i 12 4 16 {/i exch def /i0 i def %i=0,16 %0 4 16 {/i exch def /i0 i def %i=0,16 /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def i 16 eq {0.30 MM setlinewidth} {0.15 MM setlinewidth} ifelse 0 setgray x i0 get MM y i0 get MM moveto x i1 get MM y i1 get MM lineto x i2 get MM y i2 get MM lineto x i3 get MM y i3 get MM lineto x i0 get MM y i0 get MM lineto stroke i 16 eq {6 /Times-ISOL1 FS /x00 67 def /xdif 32 def /y0o 202.3 def /y0u 6.3 def /x0l 6.1 def /x0r 288 def /y00 22 def /ydif 32 def x00 xdif 0 mul add MM y0o MM moveto (V) show x00 xdif 0 mul add MM y0u MM moveto (C) show x00 xdif 1 mul add MM y0o MM moveto (L) show x00 xdif 1 mul add MM y0u MM moveto (M) show x00 xdif 2 mul add MM y0o MM moveto (O) show x00 xdif 2 mul add MM y0u MM moveto (Y) show x00 xdif 3 mul add MM y0o MM moveto (Y) show x00 xdif 3 mul add MM y0u MM moveto (O) show x00 xdif 4 mul add MM y0o MM moveto (M) show x00 xdif 4 mul add MM y0u MM moveto (L) show x00 xdif 5 mul add MM y0o MM moveto (C) show x00 xdif 5 mul add MM y0u MM moveto (V) show x0l MM y00 ydif 0 mul add MM moveto (V) show x0r MM y00 ydif 0 mul add MM moveto (C) show x0l MM y00 ydif 1 mul add MM moveto (L) show x0r MM y00 ydif 1 mul add MM moveto (M) show x0l MM y00 ydif 2 mul add MM moveto (O) show x0r MM y00 ydif 2 mul add MM moveto (Y) show x0l MM y00 ydif 3 mul add MM moveto (Y) show x0r MM y00 ydif 3 mul add MM moveto (O) show x0l MM y00 ydif 4 mul add MM moveto (M) show x0r MM y00 ydif 4 mul add MM moveto (L) show x0l MM y00 ydif 5 mul add MM moveto (C) show x0r MM y00 ydif 5 mul add MM moveto (V) show } if } for %i=0,16 0 1 10 {/j0 exch def /j1 j0 1 add def %j0 j0 0 eq {tzccmy0* setcmykcolor} if j0 1 eq {0 setgray} if j0 2 eq {tzmcmy0* setcmykcolor} if j0 3 eq {0 setgray} if j0 4 eq {tzycmy0* setcmykcolor} if j0 5 eq {0 setgray} if j0 6 eq {tzocmy0* setcmykcolor} if j0 7 eq {0 setgray} if j0 8 eq {tzlcmy0* setcmykcolor} if j0 9 eq {0 setgray} if j0 10 eq {tzvcmy0* setcmykcolor} if 12 4 16 {/i exch def /i0 i def %i=0,16 %0 4 16 {/i exch def /i0 i def %i=0,16 /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def i 16 eq {0.30 MM setlinewidth} {0.15 MM setlinewidth} ifelse x i0 get d i0 get add 16 j0 mul add MM y i0 get MM moveto x i0 get d i0 get add 16 j1 mul add MM y i0 get MM lineto stroke x i1 get MM y i1 get d i1 get add 16 j0 mul add MM moveto x i1 get MM y i1 get d i1 get add 16 j1 mul add MM lineto stroke x i2 get d i2 get add 16 j0 mul sub MM y i2 get MM moveto x i2 get d i2 get add 16 j1 mul sub MM y i2 get MM lineto stroke x i3 get MM y i3 get d i3 get add 16 j0 mul sub MM moveto x i3 get MM y i3 get d i3 get add 16 j1 mul sub MM lineto stroke } for %i=0,16 } for %j0 0.15 MM setlinewidth /s 7 MM def /s1 8 MM def /s5 36 MM def 16 1 20 {/j exch def /j0 j 16 sub def %j=16,20 /ix0 xlu 8 MM add j0 7 MM mul add def /iy0 ylu 8 MM sub def 0 1 3 {/ij exch def %ij=0,3 ij 0 eq {/ix0 xlu 8 MM add j0 7 MM mul add def /iy0 ylu 8 MM sub def} if ij 1 eq {/ix0 xru 43 MM sub j0 7 MM mul add def /iy0 yru 8 MM sub def} if ij 2 eq {/ix0 xlo 8 MM add j0 7 MM mul add def /iy0 ylo 1 MM add def} if ij 3 eq {/ix0 xro 43 MM sub j0 7 MM mul add def /iy0 yro 1 MM add def} if i*ptrsc 0 eq i*ptrsc 2 eq or {%i*ptrsc=0,2 cmy0* setcmykcolor j 16 eq {tzan j get dup dup 0 setcmykcolor ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if tzan j get dup dup 0 setcmykcolor ix0 iy0 s s rec fill } if %i*ptrsc=0,2 i*ptrsc 1 eq i*ptrsc 3 eq or {%i*ptrsc=1,3 www* setrgbcolor j 16 eq {1 tzan j get 1 sub dup dup setrgbcolor %N ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if 1 tzan j get sub dup dup setrgbcolor %N ix0 iy0 s s rec fill } if %i*ptrsc=1,3 i*ptrsc 4 eq i*ptrsc 5 eq or {%i*ptrsc=4,5 [/CIEBasedABC << %Farbraum und Grenzen fuer D65 /RangeABC [0 100 -128 127 -128 127] /DecodeABC [{16 add 116 div} bind {500 div} bind {200 div} bind] /MatrixABC [1 1 1 1 0 0 0 0 -1] /DecodeLMN [{dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse 0.9505 mul} bind {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse 1.0890 mul} bind] /WhitePoint [0.9505 1 1.089] %CIEXYZ fuer D65 >>] setcolorspace j 16 eq {tznLAB* 0 get tzwLAB* 0 get tznLAB* 0 get sub 0.25 j0 mul mul add tznLAB* 1 get tzwLAB* 1 get tznLAB* 1 get sub 0.25 j0 mul mul add tznLAB* 2 get tzwLAB* 2 get tznLAB* 2 get sub 0.25 j0 mul mul add setcolor %N ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if tznLAB* 0 get tzwLAB* 0 get tznLAB* 0 get sub 0.25 j0 mul mul add tznLAB* 1 get tzwLAB* 1 get tznLAB* 1 get sub 0.25 j0 mul mul add tznLAB* 2 get tzwLAB* 2 get tznLAB* 2 get sub 0.25 j0 mul mul add setcolor %N ix0 iy0 s s rec fill } if %i*ptrsc=4,5 i*ptrsc 6 eq {%i*ptrsc=6 000n* setcmykcolor j 16 eq {0 0 0 tzan j get setcmykcolor ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if 0 0 0 tzan j get setcmykcolor ix0 iy0 s s rec fill } if %i*ptrsc=6 i*ptrsc 7 eq {%i*ptrsc=7 w* setgray j 16 eq {1 tzan j get sub setgray ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if 1 tzan j get sub setgray ix0 iy0 s s rec fill } if %i*ptrsc=7 } for %ij=0,3 } for %j=16,20 0 setgray 018 MM 008.2 MM moveto 6 /Times-Roman FS (-8) show 018 MM 006.2 MM moveto 6 /Times-Roman FS (-6) show 276 MM 008.2 MM moveto 6 /Times-Roman FS (-8) show 276 MM 006.2 MM moveto 6 /Times-Roman FS (-6) show 018 MM 202.2 MM moveto 6 /Times-Roman FS (-8) show 018 MM 204.2 MM moveto 6 /Times-Roman FS (-6) show 276 MM 202.2 MM moveto 6 /Times-Roman FS (-8) show 276 MM 204.2 MM moveto 6 /Times-Roman FS (-6) show 0 setgray 12 /Times-ISOL1 FS 61 MM 09 MM moveto (Log. Zapfen\255Empfindlichkeit und Quotienten) showde ( / Differenzen) showde (Logarithmic cone sensitivity and ratios or differences) showen 12 /Times-ISOL1 FS 61 MM 13 MM moveto (BAM\255Pr\374fvorlage Nr. XE38; Farbensehen und Adaptation) showde (BAM\255test chart no. XE38; colour vision and adaptation) showen 172 MM 13 MM moveto (input: ) showen (Eingabe: ) showde 12 /Times-Italic FS (cmy0* setcmykcolor) showen (cmy0* setcmykcolor) showde 12 /Times-ISOL1 FS 172 MM 9 MM moveto (output: ) showen (Ausgabe: ) showde LSC$ (N) eq { (no change compared to input) showen (keine Eingabe\344nderung) showde } if LSC$ (S) eq { (Startup (S) data dependend) showen (Startup(S)Daten abh\344ngig) showde } if LSC$ (F) eq { 12 /Times-Italic FS i*ptrsc 0 eq {(cmy0* / 000n* setcmykcolor) show} if i*ptrsc 1 eq {(olv* setrgbcolor / w* setgray) show} if i*ptrsc 2 eq {(cmy0* / nnn0* setcmykcolor) show} if i*ptrsc 3 eq {(olv* / www* setrgbcolor) show} if i*ptrsc 4 eq {(lab* setcolor) show} if i*ptrsc 5 eq {(LAB* setcolor) show} if i*ptrsc 6 eq {(000n* setcmykcolor) show} if i*ptrsc 7 eq {(w* setgray) show} if } if %0 setgray %end white and unvisible 12 /Times-ISOL1 FS 62 MM 198.5 MM moveto (www.ps.bam.de/XE38/L38) show LSS$ show (00) show LSC$ show LEX$ show %1 setgray %start white and unvisible (; ) show LSC$ (N) eq { (Start\255Ausgabe) showde (start output) showen (start output) showes (start output) showfr (start output) showit (start output) showjp (start output) showm } if LSC$ (C) eq { (Start\255Ausgabe) showde (start output) showen (start output) showes (start output) showfr (start output) showit (start output) showjp (start output) showm } if LSC$ (F) eq { (Linearisierte\255Ausgabe) showde (linearized output) showen (linearized output) showes (linearized output) showfr (linearized output) showit (linearized output) showjp (linearized output) showm } if 62 MM 194 MM moveto LSC$ (N) eq LSC$ (C) eq or { (N: Keine Ausgabe\255Linearisierung (OL) in Datei (F), Startup (S), Ger\344t (D)) showde (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showen (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showes (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showfr (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showit (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showjp (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showm } {LSC$ show (: ) show (Ausgabe\255Linearisierung (OL\255Daten) ) showde (Output Linearization (OL) data ) showen (Output Linearization (OL) data ) showes (Output Linearization (OL) data ) showfr (Output Linearization (OL) data ) showit (Output Linearization (OL) data ) showjp (Output Linearization (OL) data ) showm (XE38/L38) show LSS$ show (00) show LSC$ show LEY$ show } ifelse LSC$ (F) eq { ( in der Datei (F)) showde ( in File (F)) showen ( in File (F)) showes ( in File (F)) showfr ( in File (F)) showit ( in File (F)) showjp ( in File (F)) showm } if LSC$ (S) eq { ( im Distiller Startup (S) Directory) showde ( in Distiller Startup (S) Directory) showen ( in Distiller Startup (S) Directory) showes ( in Distiller Startup (S) Directory) showfr ( in Distiller Startup (S) Directory) showit ( in Distiller Startup (S) Directory) showjp ( in Distiller Startup (S) Directory) showm } if LSC$ (D) eq { ( in PostScript Device (D)) showde ( in PostScript Device (D)) showen ( in PostScript Device (D)) showes ( in PostScript Device (D)) showfr ( in PostScript Device (D)) showit ( in PostScript Device (D)) showjp ( in PostScript Device (D)) showm } if LSC$ (T) eq { ( von Distiller Startup (S) Directory) showde ( of Distiller Startup (S) Directory) showen ( of Distiller Startup (S) Directory) showes ( of Distiller Startup (S) Directory) showfr ( of Distiller Startup (S) Directory) showit ( of Distiller Startup (S) Directory) showjp ( of Distiller Startup (S) Directory) showm } if LSC$ (E) eq { ( von PostScript Device (D)) showde ( of PostScript Device (D)) showen ( of PostScript Device (D)) showes ( of PostScript Device (D)) showfr ( of PostScript Device (D)) showit ( of PostScript Device (D)) showjp ( of PostScript Device (D)) showm } if %0 setgray %end white and unvisible 16 MM 185 MM moveto -90 rotate (Siehe \344hnliche Dateien: ) showde (See for similar files: ) showen (See for similar files: ) showes (See for similar files: ) showfr (See for similar files: ) showit (See for similar files: ) showjp (See for similar files: ) showm (http://www.ps.bam.de/XE38/) show 90 rotate 12 MM 185 MM moveto -90 rotate (Technische Information: ) showde (Technical information: ) showen (Informaci\363n t\351cnica en: ) showes (Technical information: ) showfr (Technical information: ) showit (Technical information: ) showjp (Technical information: ) showm (http://www.ps.bam.de) show 90 rotate 12 MM 103 MM moveto -90 rotate (Version 2.1, io=1,) show LSC$ (N) eq {(1) show} if LSC$ (S) eq {(1?) show} if LSC$ (D) eq {(1?) show} if LSC$ (F) eq {i*ptrsc cvishow ISYSLAB 0 eq {IMES 0 eq {(; iORS) show} {(; iLRS) show} ifelse} if ISYSLAB 1 eq {IMES 0 eq {(; iTLS) show} {(; iTRS) show} ifelse} if ISYSLAB 2 eq {IMES 0 eq {(; iDLS) show} {(; iDRS) show} ifelse} if ISYSLAB 3 eq {IMES 0 eq {(; iTLR) show} {(; iTLS) show} ifelse} if ISYSLAB 4 eq {IMES 0 eq {(; iDRS) show} {(; iDLS) show} ifelse} if ISYSTEM 0 eq {IMES 0 eq {(; oORS) show} {(; oLRS) show} ifelse} if ISYSTEM 1 eq {IMES 0 eq {(; oTLS) show} {(; oTRS) show} ifelse} if ISYSTEM 2 eq {IMES 0 eq {(; oDLS) show} {(; oDRS) show} ifelse} if ISYSTEM 3 eq {IMES 0 eq {(; oTLR) show} {(; oTLS) show} ifelse} if ISYSTEM 4 eq {IMES 0 eq {(; oDRS) show} {(; oDLS) show} ifelse} if IMES 0 eq {(, CIELAB) show} {(, CIEXYZ) show} ifelse } if 90 rotate 281 MM 185 MM moveto -90 rotate (BAM\255Registrierung: 20061001\255XE38/L38) showde (BAM registration: 20061001\255XE38/L38) showen (BAM registration: 20061001\255XE38/L38) showes (BAM registration: 20061001\255XE38/L38) showfr (BAM registration: 20061001\255XE38/L38) showit (BAM registration: 20061001\255XE38/L38) showjp (BAM registration: 20061001\255XE38/L38) showm LSS$ show (00) show LSC$ show LEX$ show 90 rotate 281 MM 74 MM moveto -90 rotate (BAM\255Material: Code=rha4ta) showde (BAM material: code=rha4ta) showen (BAM material: code=rha4ta) showes (BAM material: code=rha4ta) showfr (BAM material: code=rha4ta) showit (BAM material: code=rha4ta) showjp (BAM material: code=rha4ta) showm 90 rotate 277 MM 185 MM moveto -90 rotate /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def ( Anwendung f\374r Messung von Drucker- oder Monitorsystemen) showde ( application for measurement of printer or monitor systems) showen ( application for measurement of printer or monitor systems) showes ( application for measurement of printer or monitor systems) showfr ( application for measurement of printer or monitor systems) showit ( application for measurement of printer or monitor systems) showjp ( application for measurement of printer or monitor systems) showm IMES 1 eq LSC$ (N) ne and { %IMES=1 (, Yr=) show Yre cvsshow1 (, XYZ) show } if %IMES=1 90 rotate /i0 8 def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def 0.30 MM setlinewidth 0 setgray x i0 get MM y i0 get MM moveto x i1 get MM y i1 get MM lineto x i2 get MM y i2 get MM lineto x i3 get MM y i3 get MM lineto x i0 get MM y i0 get MM lineto stroke %} if %end if xchart=0 /xlu1 013 MM def /ylu1 010 MM def /xro1 283 MM def /yro1 200 MM def /xlo1 013 MM def /ylo1 200 MM def /xru1 283 MM def /yru1 010 MM def xlu1 4 MM sub ylu1 moveto 8 MM 0 rlineto stroke xlu1 ylu1 4 MM sub moveto 0 8 MM rlineto stroke xro1 4 MM add yro1 moveto -8 MM 0 rlineto stroke xro1 yro1 4 MM add moveto 0 -8 MM rlineto stroke xru1 4 MM sub yru1 moveto 8 MM 0 rlineto stroke xru1 yru1 4 MM sub moveto 0 8 MM rlineto stroke xlo1 4 MM add ylo1 moveto -8 MM 0 rlineto stroke xlo1 ylo1 4 MM add moveto 0 -8 MM rlineto stroke %} for %output with xchart end %} for %output with colorm end %} for %output with xcolor end %} for %output with lanind end %%Trailer %%EndDocument EndEPSF grestore gsave showpage grestore } for %end for xchartg=xchartg1,xchartg2 } for %end for pcountg=pcountg1,pcount2g } for %end for scountg=scountg1,scount2g %%Trailer