%!PS-Adobe-3.0 EPSF-3.0 www.ps.bam.de/XE40/10L/L40E00XX.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/XE40/XE40.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 XE40/10L/L40N00ZED 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 XE40/10L/EARLY BINDING %END XE40/10L/L40N00ZED NO Output Linearisation (OL) LAB* -> cmyolvnw* 20030101 %BEG XE40/10L/OUTLIN1XNA.PS MXYZ_to_LAB* 20030101 %BEG XE40/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 XE40/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 XE40/10L/OUTLIN1XNA.PS MXYZ_to_LAB* 20030101 /CFilenameS1g %START output of step S1g (www.ps.bam.de/XE40/10L/L40E00N) def %Link file name for data /CDateS1g (2004-05-01, Name) def %Date of calculation, Tester /CDeviceS1g (unknown ) def %Device name /CMeasS1g (XE40/10L/L40E00N) 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 (/XE40/ ) 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 XE400-1 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 ( XE400-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE400-2 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 1 def} {/xchart 1 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE400-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE400-3 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 2 def} {/xchart 2 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE400-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE400-4 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 3 def} {/xchart 3 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE400-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE400-5 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 4 def} {/xchart 4 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE400-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE400-6 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 5 def} {/xchart 5 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE400-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE400-7 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 6 def} {/xchart 6 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE400-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE400-8 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 7 def} {/xchart 7 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE400-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE401-1 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 8 def} {/xchart 8 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE401-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE401-2 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 9 def} {/xchart 9 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE401-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE401-3 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 10 def} {/xchart 10 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE401-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE401-4 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 11 def} {/xchart 11 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE401-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE401-5 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 12 def} {/xchart 12 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE401-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE401-6 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 13 def} {/xchart 13 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE401-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE401-7 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 14 def} {/xchart 14 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE401-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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 XE401-8 %%BoundingBox: 70 86 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 2 2 2] def /KURVA2 [2 0 0 1 2 2 1 1 0 2 2 2] 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 2 2 0 2 2 0 0 2 0 0 0] def /KURVA2S [0 2 2 0 2 2 0 0 2 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 15 def} {/xchart 15 def} ifelse 4 /Times-ISOL1 FS 205 86 moveto ( XE401-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 1 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 3 def} if %W xchart 4 ge xchart 7 le and {/IKOM 3 def} if %W xchart 8 ge xchart 11 le and {/IKOM 3 def} if %W xchart 12 ge xchart 15 le and {/IKOM 3 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 1.0 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 /U0oS {tfn (U') bishowM tfy (a) ishowM} def /N0oS {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 /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 N0o tfw (]|) bshowM 1600 3800 moveto tfw (-) bshowM RGX2 cvishow (|log[) bshowM P0a tfw (/) bshowM U0o tfw (]|) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 0010 3250 moveto tfw (-) bshowM JBY1 cvishow (|log[) bshowM N0o tfw (/) bshowM H0a tfw (]|) bshowM 1600 3250 moveto tfw (-) bshowM JBY2 cvishow (|log[) bshowM U0o 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 U0o tfw (/) bshowM N0o tfw (]) bshowM 0210 3525 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 1475 3800 moveto tfw TBM JBY2 cvsshow2 tfw (log[) bshowM U0o tfw (/) bshowM U0o tfw (]=0) bshowM 1475 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM N0o tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 U0o tfw (/) bshowM YAa tfw (]) bshowM 1600 3525 moveto (\050) bshowM U0o tfw (>=) bshowM N0o tfw (\051) bshowM 3800 1875 moveto tfw TBM RGX1 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 1600 moveto (\050) bshowM U0o tfw (<) bshowM N0o tfw (\051) bshowM 3800 1250 moveto tfw TBM RGX2 cvsshow2 (|log[) bshowM U0o tfw (/) bshowM YAa tfw (]|) bshowM 4000 0875 moveto (\050) bshowM U0o tfw (>=) bshowM N0o 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 xchart 2 ge {H0a} if 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 210 3525 moveto %special U0o,N0o 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 N0o tfw ( = 0,5 [log) bshowM T0a tfw (+log) bshowM U0o 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 W0a tfw ( = 0,5 [log) bshowM N0o 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 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 %400nm /X400 000 0.00 1200 mul add def %425nm /X425 000 0.25 1200 mul add def %475nm /X475 000 0.75 1200 mul add def %525nm /X525 000 1.25 1200 mul add def %575nm /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 %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 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 % } 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 [(-3) (-2) (-1) ( 0) ( 1) ( 2)] def} if IKOM 2 eq {/ty [(-3) (-2) (-1) ( 0) ( 1) ( 2)] 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 1800 def} if IKOM 2 eq {/IORX 0600 def /IORY 1800 def} if IKOM 3 eq {/IORX 0600 def /IORY 1800 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) 81 1 85 {/i exch def %i=81,85: 405_425(5) Yix i Yix i 80 sub get put Yiy i Yiy i 80 sub get put } for %i=81,85: 405_425(5) } 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 0.5 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. XE40; Farbensehen und Adaptation) showde (BAM\255test chart no. XE40; 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/XE40/L40) 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 (XE40/L40) 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/XE40/) 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\255XE40/L40) showde (BAM registration: 20061001\255XE40/L40) showen (BAM registration: 20061001\255XE40/L40) showes (BAM registration: 20061001\255XE40/L40) showfr (BAM registration: 20061001\255XE40/L40) showit (BAM registration: 20061001\255XE40/L40) showjp (BAM registration: 20061001\255XE40/L40) 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